Modelagem de Sistemas de Informação
Aula 08 – Diagrama de Classes
Diagrama de Caso de Uso - Locadora
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
Diagrama de Classes
• Permite a visualização das classes que irão compor o sistema comseus respectivos atributos e métodos, mostram como as classes serelacionam, 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
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á.
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.
Diagrama de Classes - Objetivo
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.
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.
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.
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)
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).
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.
Diagrama de Classes Tipos de Relacionamentos
• Associação• Agregação
• Composição
• Generalização/Especialização
Diagrama de Classes Associação Unária (Reflexiva)
• Relacionamento de um objeto da classe com objetos da mesma classe.
Diagrama de Classes Associação Binária
• É a relação mais comum, quando é identificado um relacionamento entre objetos de duas classes distintas.
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.
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.
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.
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.