Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de...
Transcript of Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de...
![Page 1: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/1.jpg)
Análise OO / UML
Renata AraujoRicardo Storino
Núcleo de Computação EletrônicaCurso de Programação de Computadores
Maio a Setembro/2000
Análise e Projeto de Sistemas
![Page 2: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/2.jpg)
2
Ciclo de Vida de Software
Definição dos requisitos
Análise
Projeto
Implementação
Teste/Avaliação
Implantação
Manutenção
Documentos são geradosa cada fase e servem deentrada para a fase seguinte
![Page 3: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/3.jpg)
3
Ciclo de Vida - Modelo Cascata
Intenções
Especificação do
Software
Projetodo
Software
Códigodo
Software
Sistemapronto
para operar
Análise
Projeto
Implementação
Teste
Requisitosdo
Software
Definição de Requisitos
Documentos geradosdurante o ciclo de vida
Transformações
![Page 4: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/4.jpg)
4
Definição de Requisitos
Identificar desejos, intenções, procedimentos
atuais e dados;
Organizá-los de forma coerente
Definir de uma forma geral o que será tratado pelo software interface com o que fica de fora do
software
DesejosIntenções
ProcedimentosDados
Requisitosdo
Software
![Page 5: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/5.jpg)
5
Análise do Software
Entendimento e Representação Domínio do problema Conceitos Funcionalidades Casos de uso
Baseado nos fatores críticos de sucesso do software
Especificaçãodo
Software
Requisitosdo
Software
![Page 6: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/6.jpg)
6
Análise Orientada a Objetos
Objetivos Representar todos os conceitos do mundo real que são
relevantes para o sistema Modelagem do Sistema segundo o paradigma OO Descrever a estrutura de classes do sistema
Produtos Modelo/representação do software Modelo de Análise do Sistema
Representação gráfica do diagrama de classes do Sistema e das interações entre os objetos destas classes
Documentação Detalhamento e complementação do diagrama de classes do
sistema
![Page 7: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/7.jpg)
7
Análise Orientada a Objetos
![Page 8: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/8.jpg)
8
Diagramas da UML
Visão Externa Diagrama de Casos de Uso
Visão Estrutural (Estática) Diagrama de Classes
Visão Comportamental (Dinâmica) Diagrama de Estado Diagrama de Atividade
Visão de Interação Diagrama de Sequência Diagrama de Colaboração
Visão da Arquitetura (Implementação) Diagrama de Componentes Diagrama de Implantação Diagrama de Pacotes
![Page 9: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/9.jpg)
9
Diagramas de Caso de Uso
Especificam a visão externa do sistema Descrevem como o sistema é percebido por seus
usuários Descrevem as interações entre os usuários e o
sistema
Consulta de saldo
Ator
Solicitação de extrato
Interações
![Page 10: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/10.jpg)
10
Diagramas de Classe
Descrevem a parte estática do sistema, ignorando seu processamento
Apresentam Classes (objetos) Atributos Relacionamentos
Herança Agregação Associação
Serviços
![Page 11: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/11.jpg)
11
Diagramas de Estado
Apresentam as sequências de estados que um objeto assume em sua existência em resposta a estímulos recebidos
Complemento das descrições estáticas de classes
Relacionam os possíveis estados que os objetos de uma classe podem ter e quais os eventos que causam mudanças em seu estado.
Pedido Registrado
Pedido em Análise
Pedido para análise requisitado
Pedido enviado
Pedido em Aprovação
Pedido para aprovação
Aprovação emitida
Pedido Aprovado
Pedido será atendido
Classe Pedido
![Page 12: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/12.jpg)
12
Diagramas de Sequência
Apresentam a interação entre os objetos no decorrer do tempo
Mostra a sequência de mensagens entre objetos
Vendedor
Janela Pedido Nota Fiscal Fatura Cliente
1: situação financeira do cliente 2: obter pedidos
(cliente)
3: obter notas fiscais (pedido)
4: obter faturas vencidas (nota fiscal)
5: obter faturas a vencer (nota fiscal)
6: obter limite de crédito (cliente)
![Page 13: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/13.jpg)
13
Diagrama de Classes
Passos para confecção
Identificação de Classes
Identificação de relacionamentos
Definição de atributos
Definição de serviços
![Page 14: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/14.jpg)
14
Identificação de Classes
O domínio do problema Um determinado domínio de problemas inclui informações
relativas ao mundo real
Os requisitos da aplicação Considerados os objetivos da aplicação a ser construída,
apenas um subconjunto dessas informações necessita ser representado
![Page 15: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/15.jpg)
15
Identificação de Classes
Cliente Nome Endereço Altura Peso Idade Sexo Renda Mensal Cor dos Cabelos Número de Dependentes ...
Cliente Nome Endereço Idade Sexo Renda Mensal Número de Dependentes
No mundo real Em uma dada aplicação/sistema
![Page 16: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/16.jpg)
16
Identificação de Classes
No mundo real Numa aplicação/sistema
Cliente
Endereço
Carro Dependentes
Time
Nome
Cliente
Nome
Endereço
![Page 17: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/17.jpg)
17
Identificação de Classes
O que procurar? Objetos
Ex. Pessoas, clientes, turmas, cursos, produtos etc. Agentes
Ex. cliente, atendente etc. Unidades organizacionais
Ex. local para entrega, setor etc. Eventos
Reclamação do cliente, pedido pago etc.
“Quaisquer conceitos que serão armazenados e “lembrados” pelo sistema.”
![Page 18: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/18.jpg)
18
Identificação de Classes
O que Considerar? Armazenamento necessário
O sistema precisará armazenar informações sobre os objetos desta classe?
Mais de um objeto em uma classe É possível identificar facilmente os objetos desta classe? Evite classes que representem um só objeto
Atributos sempre aplicáveis Todos os atributos identificados para a classe são aplicáveis a
todas as suas instâncias?
![Page 19: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/19.jpg)
19
Identificação de Classes
Notação de classe
Nome da Classe
<lista de atributos>
<Lista de serviços/operações>
![Page 20: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/20.jpg)
20
Identificação de Classes
Recomendações Nomenclatura de classes
Nome da classe deve descrever claramente o conceito representado
Uso de termos de conhecimento de todos Evitar abreviaturas Estabelecimento de padrões para nomeação de classes Evitar ambigüidades (dupla interpretação)
Uso Fast CasePrática
![Page 21: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/21.jpg)
21
Definição de Atributos
Objetivo Identificar e formalizar a definição dos atributos de cada
classe presente no diagrama de classes
O que considerar? Necessidade do sistema em armazenar as características das
instâncias das classes
![Page 22: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/22.jpg)
22
Definição de Atributos
Representação gráfica
Nome da Classe
<lista de atributos>
<Lista de serviços/operações>
![Page 23: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/23.jpg)
23
Definição de Atributos
Notação de atributos
Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}
Visibilidade: Critério de acesso ao atributo Opcional
+ visibilidade pública (default) Atributo pode ser acessado por todos, inclusive por serviços de outras classes
# visibilidade protegida Atributo é acessado apenas pelos serviços da própria classe ou por serviços de classes
dentro de um mesmo pacote
- visibilidade privada Atributo é acessado por operações da própria classe
![Page 24: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/24.jpg)
24
Definição de Atributos
Notação de atributos
Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}
Visibilidade:
Aluno
+ Nome# Endereço- Créditos
![Page 25: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/25.jpg)
25
Definição de Atributos
Notação de atributos
Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}
Nome do atributo Obrigatório!!!! Necessidade de padronização Clareza de significado Evitar abreviaturas
Aluno
+ Nome# EndereçoDoAluno- CréditosObtidos
![Page 26: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/26.jpg)
26
Definição de Atributos
Notação de atributos
Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}
Tipo de Expressão Opcional Tipo de implementação do atributo
Inteiro String Real ... Aluno
+ Nome: string# EndereçoDoAluno: string- CréditosObtidos: int
![Page 27: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/27.jpg)
27
Definição de Atributos
Notação de atributos
Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}
Valor Inicial Valor inicial do atributo Opcional
Aluno
+ Nome: string# EndereçoDoAluno: string- CréditosObtidos: int = 0
![Page 28: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/28.jpg)
28
Definição de Atributos
Notação de atributos
Visibilidade Nome do Atributo: Tipo de Expressão = Valor Inicial {Propriedade}
Propriedade Opcional Maior detalhamento do atributo
Descrição Tipo
Estático Constante Variável
Domínio de Valores
Aluno
+ Nome: string# EndereçoDoAluno: string-CréditosObtidos: int = 0-NumMáximoDeCréditos: int = 70 {constant}
![Page 29: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/29.jpg)
29
Definição de Atributos
Notação de atributos Exemplo
Nome da Classe
AtributoAtributo:tipo do dadoAtributo:tipo do dado = valor inicial
Aluno
NomeEndereço:stringCréditos:inteiro = 0
Uso Fast CasePrática
![Page 30: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/30.jpg)
30
Definição de Serviços
Objetivo Identificar e formalizar a definição das operações de cada
classe presente no diagrama de classes
O que considerar? Necessidade de cada classe em realizar operações que
atendam às funcionalidades do sistema
![Page 31: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/31.jpg)
31
Definição de Serviços
Representação Gráfica
Nome da Classe
<lista de atributos>
<Lista de serviços/operações>
![Page 32: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/32.jpg)
32
Definição de Serviços
Notação de serviços
Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}
Visibilidade: Critério de acesso ao serviço Opcional
+ visibilidade pública (default) Serviço pode ser acessado por todos, inclusive por serviços de outras classes
# visibilidade protegida Serviço é acessado apenas pelos serviços da própria classe ou por serviços de classes
dentro de um mesmo pacote
- visibilidade privada Serviço é acessado por operações da própria classe
![Page 33: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/33.jpg)
33
Definição de Serviços
Notação de serviços
Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}
Visibilidade:
Aluno
NomeEndereçoCréditos
+ InformarNome( ):string# InformarEndereço( ):string- CancelarCréditos( códigoCadeira )
![Page 34: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/34.jpg)
34
Definição de Serviços
Notação de serviços
Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}
Nome do serviço Obrigatório!!!! Necessidade de padronização Clareza de significado Evitar abreviaturas
Aluno
NomeEndereçoCréditos
+ InformarNome( ):string# InformarEndereço( ):string- CancelarCréditos( códigoCadeira )
![Page 35: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/35.jpg)
35
Definição de Serviços
Notação de Serviços
Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}
Parâmetros Lista de valores utilizados pelo serviço
Aluno
NomeEndereçoCréditos
+ InformarNome( ):string# InformarEndereço( ):string-CancelarCréditos( códigoCadeira )-AtualizarCréditos( códigoCadeira, ano, número de Créditos )
![Page 36: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/36.jpg)
36
Definição de Serviços
Notação de serviços
Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}
Expressão de tipo de retorno Tipo do valor de retonor do serviço
Aluno
NomeEndereçoCréditos
+ InformarNome( ):string# InformarEndereço( ):string-CancelarCréditos( códigoCadeira )-AtualizarCréditos( códigoCadeira, ano, número de Créditos )
![Page 37: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/37.jpg)
37
Definição de Atributos
Notação de serviços
Visibilidade Nome do Serviço (Parâmetro): Expressão de Tipo de Retorno {Propriedade}
Propriedade Opcional Maior detalhamento do serviço
Classificação Construtor:
incializam/constroem instâncias da classe
Destrutor: destróem instâncias da classe
Modificador de atributos: modificam valores de atributos
Seletor de atributos: utilizam mas não modificam valores de atributos
Prés e pós condições Exceções Propriedades dependentes da
linguagem de programação
Aluno
NomeEndereçoCréditos
+ CriarAluno( nome ) { construtor }+ InformarNome( ):string# InformarEndereço( ):string-CancelarCréditos( códigoCadeira ) { modificador }-AtualizarCréditos( códigoCadeira, ano, número de Créditos )
![Page 38: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/38.jpg)
38
Definição de Serviços
Persistência Objetos Persistentes – armazenado no banco de dados Objetos transientes – em memória
Construtores e Destrutores Coleta automática de lixo
Serviços para acesso a atributos
Uso Fast CasePrática
![Page 39: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/39.jpg)
39
Identificação de Relacionamentos
Objetivo Identificar associações, agregações e relacionamentos de
generalização/ especialização (herança) entre classes
O que considerar? Necessidade do sistema em “lembrar” relacionamentos entre
as classes
O que procurar? Todos os relacionamentos entre instâncias de classes que
sejam relevantes para o sistema
![Page 40: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/40.jpg)
40
Identificação de Relacionamentos
Associação Relacionamentos simples entre instâncias de classes
Descrevem algum vínculo, relacionamento ou interdependência entre instâncias de classes
![Page 41: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/41.jpg)
41
Identificação de Relacionamentos
Associação - Representação Unária
Binária
Pessoa
Aluno
É pai de
0..*
1..2
Cadeira0..* Cursa
0..*
![Page 42: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/42.jpg)
42
Identificação de Relacionamentos
Associação - Representação N-ária
Avaliação
Funcionário Quesito
* *
Projeto
*
![Page 43: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/43.jpg)
43
Identificação de Relacionamentos
Agregação
Relacionamentos com uma semântica bem definida: a de composição
Relacionamentos que representem: montagens e suas partes
Ex. Um carro e suas partes
(motor, chassi, rodas …) recipientes e seus conteúdos
Ex. Vôo e passageiros conjuntos e seus membros
Ex. Turma e alunos
![Page 44: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/44.jpg)
44
Identificação de Relacionamentos
Agregação - notação
EmpresaDepartamento
“Todo”“Parte”
1..*
1
![Page 45: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/45.jpg)
45
Identificação de Relacionamentos
Herança O que procurar?
Diferenças e similaridades entre classes Várias classes com características comuns
Notação Veículo
Ano Cor
Carro Ônibus Caminhão
Ano Cor No de Assentos
Ano Cor Capacidade
Ano Cor No de Portas
![Page 46: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/46.jpg)
46
Generalização / Especialização
O que procurar? (cont.) Uma classe com atributos aplicáveis apenas a subconjuntos de suas
instâncias
Funcionário
NomeNascSalárioProjeto
Funcionário_Maria Nome = ‘Maria’ Nasc = ‘16/02/70’ Salário = 2500
Projeto = ‘’
Funcionário_João Nome = ‘João’ Nasc = ‘10/05/65’ Salário = 3000
Projeto = ‘Call Center’Gerente
Projeto
![Page 47: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/47.jpg)
47
Identificação de Relacionamentos
Nome/Semântica do relacionamento
Multiplicidade 1 somente um * muitos (zero ou mais) 0..* muitos (zero ou mais) 0..1 opcional (zero ou um) 1..* maior ou igual a um M..N sequência específica
Ex. 1..27 (de um a 27), 23..* (acima de 23)
Papéis Navegabilidade Restrições
Uso Fast CasePrática
![Page 48: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/48.jpg)
48
Diagramas de Estado
Objetos de uma classe possuem um “ciclo de vida” São gerados Assumem posições (estados) Dão origem a outros objetos Deixam de existir (são destruídos)
O estudo dos diferentes estados de um objeto de uma classe e das transições entre estes estados permite o levantamento de serviços adicionais a serem incorporados na classe
![Page 49: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/49.jpg)
49
Diagramas de Estado
Notação
Estado: condição ou situação durante a vida de um objeto no qual
satisfaz alguma condição, executa alguma atividade em resposta a um evento ou espera pela ocorrência de algum evento.
<nome do estado>
Início
Fim
![Page 50: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/50.jpg)
50
Diagramas de Estado
Notação
Evento: Ocorrência que deve ser reconhecida e gerar uma reação pelo
sistema em estudo. A ocorrência de um evento provoca a transição entre estados de
instâncias de alguma classe pertencente ao sistema
Estado 1
Estado 2
evento
![Page 51: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/51.jpg)
51
Diagramas de Estado
Exemplo – Classe PedidoDeCompra
Pedido Registrado
Envio de pedido
Pedido cancelado
Pedido em Análise
Requisição de análise de
pedido
Pedido Pendente
Pedido não pode ser atendido neste
momento Pedido já pode ser atendido
Pedido Aprovado
Pedido é aprovado
Pedido cancelado
Pedido cancelado
Pedido cancelado
Pedido Atendido
Atendimento a Pedido
Uso Fast CasePrática
![Page 52: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/52.jpg)
52
Diagramas de Sequência
Objetivo Identificar o envio de mensagens entre os objetos das
diversas classes do diagrama em resposta a cada caso de uso
Um diagrama de sequência mostra interações de objetos organizadas em uma sequência de tempo e de mensagens trocadas
![Page 53: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/53.jpg)
53
Diagrama de Sequência
um objeto
outro objeto
Tempo(top-down)
ativação
Linha de vida
criar
mensagem
retorno
excluir
Símbolo de exclusão
ator
(evento)
![Page 54: Análise OO / UML Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto.](https://reader035.fdocument.pub/reader035/viewer/2022062623/552fc10a497959413d8c0a9f/html5/thumbnails/54.jpg)
54
Diagrama de Sequência
Vendedor
Janela Pedido Nota Fiscal Fatura Cliente
1: situação financeira do cliente 2: obter pedidos
(cliente)
3: obter notas fiscais (pedido)
4: obter faturas vencidas (nota fiscal)
5: obter faturas a vencer (nota fiscal)
6: obter limite de crédito (cliente)
Uso Fast CasePrática