modelagem de sistemas de informação 08 - diagrama de classes
DESCRIPTION
Diagrama de ClassesTRANSCRIPT
![Page 1: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/1.jpg)
Modelagem de Sistemas de Informação
Aula 08 – Diagrama de Classes
![Page 2: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/2.jpg)
Diagrama de Caso de Uso - Locadora
![Page 3: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/3.jpg)
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
![Page 4: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/4.jpg)
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
![Page 5: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/5.jpg)
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á.
![Page 6: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/6.jpg)
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.
![Page 7: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/7.jpg)
Diagrama de Classes - Objetivo
![Page 8: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/8.jpg)
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.
![Page 9: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/9.jpg)
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.
![Page 10: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/10.jpg)
![Page 11: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/11.jpg)
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.
![Page 12: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/12.jpg)
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)
![Page 13: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/13.jpg)
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).
![Page 14: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/14.jpg)
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.
![Page 15: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/15.jpg)
Diagrama de Classes Tipos de Relacionamentos
• Associação• Agregação
• Composição
• Generalização/Especialização
![Page 16: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/16.jpg)
Diagrama de Classes Associação Unária (Reflexiva)
• Relacionamento de um objeto da classe com objetos da mesma classe.
![Page 17: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/17.jpg)
Diagrama de Classes Associação Binária
• É a relação mais comum, quando é identificado um relacionamento entre objetos de duas classes distintas.
![Page 18: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/18.jpg)
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.
![Page 19: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/19.jpg)
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.
![Page 20: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/20.jpg)
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.
![Page 21: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/21.jpg)
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.
![Page 22: Modelagem de Sistemas de Informação 08 - Diagrama de Classes](https://reader033.vdocuments.com.br/reader033/viewer/2022052412/558c36e8d8b42a63458b469e/html5/thumbnails/22.jpg)