3. Diagrama de Classes
“Se o protagonista de um sistema desenvolvido sob a
análise orientada a objetos é um objeto, nada mais justo do
que termos onde documentar os objetos encontrados nos
requisitos do sistema.”
Ana Cristina Melo – Desenvolvendo aplicações com UML 2.0
4. Diagrama de Classes
• Permite a visualização das classes que irão compor o sistema com
seus respectivos atributos e métodos, mostram como as classes se
relacionam, complementam e transmitem informações entre si.
“Após extrairmos dos requisitos os objetos da aplicação, precisaremos
separar e classificar suas características, modelando, por conseguinte,
as classes do sistema.
Entretanto, a essência de um sistema não está apenas em suas classes,
mas principalmente nos seus relacionamentos.”
Ana Cristina Melo – Desenvolvendo aplicações com UML 2.0
5. Diagrama de Classes – Modelo Conceitual
• No Modelo Conceitual representamos as informações que o software
necessitará em termos de classes e seus atributos, bem como suas
associações, não modelando, nessa etapa, os métodos que esta
classe terá.
6. Diagrama de Classes – Modelo do Domínio
• Toma-se o modelo conceitual e produz o modelo de domínio que
enfoca a solução do problema.
• Os métodos necessários às classes são descobertos a partir da
modelagem de diagramas de interação como o de sequência.
8. Diagrama de Classes - Visibilidade
Indica o nível de acessibilidade de um elemento, isto é, por quem uma
propriedade (atributo ou método) pode ser utilizada.
+ Pública – O atributo ou método pode ser usado por qualquer
objeto.
# Protegida – O atributo ou método pode ser usado por qualquer
objeto da classe e também por suas subclasses.
~ Pacote – O atributo ou método é visível por qualquer objeto
dentro do pacote.
- Privada – O atributo ou método é visível somente pela classe que
o define.
9. Diagrama de Classes - Multiplicidade
Indica uma faixa de cardinalidade permitida a um elemento, isto é, a
quantidade de instância possíveis em um relacionamento.
0..1 Zero ou um.
1..1 Um e somente um.
0..* Zero ou muitos.
* Muitos.
1..* No mínimo um ou muitos.
3..5 Mínimo de três e máximo de cinco.
10.
11. Diagrama de Classes – Atributos e Métodos
• Atributos são os dados das classes. Os valores dos atributos variam
de uma instância de classe para outra.
• Métodos são as funções que um objeto pode executar.
12. Diagrama de Classes – Exemplo de Atributos
#/ data_encerramento: Date[0..1]
• Atributo do tipo Date (classe), tendo nenhuma (0) ou uma (1) data.
• A barra significa que o atributo sofre algum tipo de cálculo.
#/ saldo: Double = 0
• Atributos com valor inicial de 0 (saldo)
13. Diagrama de Classes – Exemplo de Métodos
+ Extrato_conta (Date, Date): String
• O método é público (+), recebe duas datas como parâmetros (data
inicial e data final do extrato) e retorna uma String.
- Calcular_Digito_Verificador (long) : int
• O método é privado (-), recebe um long como parâmetro (CPF ou
CNPJ, por exemplo) e retorna o dígito verificador (int).
14. Diagrama de Classes – Relacionamentos
• Permitem que as classes compartilhem informações entre si e
colaborem para a execução dos processos executados pelo sistema.
• Descreve um vínculo que ocorre normalmente entre os objetos de
uma ou mais classes.
15. Diagrama de Classes
Tipos de Relacionamentos
• Associação
• Agregação
• Composição
• Generalização/Especialização
17. Diagrama de Classes
Associação Binária
• É a relação mais comum, quando é identificado um
relacionamento entre objetos de duas classes distintas.
18. Diagrama de Classes
Associação Ternária ou N-ária
• Associações que
conectam objetos
de mais de duas
classes.
• São associações
mais complexas e
que demandam
mais atenção para
que seja criado
um bom modelo.
19. Diagrama de Classes
Associação de Agregação
• É um tipo de associação onde se
demonstra que as informações
de um objeto precisam ser
complementadas pelas
informações contidas em um ou
mais objetos de outra classe.
• A função principal da agregação é
identificar a obrigatoriedade de
uma complementação das
informações de objeto-todo para
seus objetos-parte.
20. Diagrama de Classes
Associação de Composição
• É uma variação da agregação
onde é apresentado um
vínculo mais forte entre os
objetos.
• A classe parte pertence só e
somente só à classe todo, num
determinado momento.
• A classe composta é
responsável pela criação e
destruição de suas partes.
21. Diagrama de Classes
Associação de Generalização/Especialização
• É uma variação da agregação
onde é apresentado um
vínculo mais forte entre os
objetos.
• A classe parte pertence só e
somente só à classe todo, num
determinado momento.
• A classe composta é
responsável pela criação e
destruição de suas partes.