Diagrama de classes
Sumário
• Finalidade dos diagramas de classes
• Objectos, classes, atributos e operações
• Relações entre classes:
– Associação
•
•
•
•
Multiplicidade de associações binárias
Navegabilidade de associações
Classe-Associação
Associações n-árias
– Agregação
• Multiplicidade da agregação
• Hierarquias de objectos
– Generalização
• Hierarquias de classes
• Herança de propriedades
• Polimorfismo
UML - Diagramas de classes
Finalidade dos diagramas de classes
• Um diagrama de classes serve para modelar o vocabulário de um sistema, do ponto de vista do utilizador/problema ou do implementador/solução
– Ponto de vista do utilizador/problema – na fase de captura e análise de requisitos, em paralelo com a identificação dos casos de uso
– Vocabulário do implementador/solução – na fase de projecto (design)
• Construído e refinado ao longo das várias fases do desenvolvimento do software, por analistas, projectistas (designers) e implementadores
• Também serve para:
– Especificar colaborações
– Especificar esquemas lógicos de bases de dados
UML - Diagramas de classes
Objectos do mundo real e objectos computacionais • No desenvolvimento de software orientado por objectos, procurase imitar no computador o mundo real visto como um conjunto de objectos que interagem entre si
• Alguns objectos computacionais são imagens de objectos do mundo
real
• Dependendo do contexto (análise ou projecto) podemos estar a falar em objectos do mundo real, em objectos computacionais ou nas duas coisas em simultâneo
• Exemplos de objectos do mundo real:
– o Sr. João
– o carro com matrícula ES-00-01
– a aula de ES no dia 11/10/2000 às 11 horas
• Exemplos de objectos computacionais:
– o registo que descreve o Sr. João (imagem de objecto do mundo real)
– uma árvore de pesquisa binária (objecto puramente computacional)
UML - Diagramas de classes
Noção de objecto
• Um objecto é algo
– com