SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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 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
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.
DiagramaClasseModelagemSI

Weitere ähnliche Inhalte

Was ist angesagt?

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosFabio Moura Pereira
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação webCentro Paula Souza
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informaçãoimsp2000
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAlexandreLisboadaSil
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQlCezar Souza
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 

Was ist angesagt? (20)

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
 
Algoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e MatrizesAlgoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e Matrizes
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Aula 1
Aula 1Aula 1
Aula 1
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação web
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Aula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computingAula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computing
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptx
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 

Andere mochten auch

Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoPedro De Almeida
 
Como a meditação pode manter nosso cérebro jovem
Como a meditação pode manter nosso cérebro jovem Como a meditação pode manter nosso cérebro jovem
Como a meditação pode manter nosso cérebro jovem Agendor
 
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasSistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasGleyciana Garrido
 
Engenharia de Software - Aula1
Engenharia de Software - Aula1Engenharia de Software - Aula1
Engenharia de Software - Aula1Ismar Silveira
 
1º geração dos computadores
1º geração dos computadores1º geração dos computadores
1º geração dos computadoresLagratinhoemTic
 

Andere mochten auch (6)

Modelagem de Sistemas de Informação 10 Diagrama de Sequência
Modelagem de Sistemas de Informação 10 Diagrama de SequênciaModelagem de Sistemas de Informação 10 Diagrama de Sequência
Modelagem de Sistemas de Informação 10 Diagrama de Sequência
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
 
Como a meditação pode manter nosso cérebro jovem
Como a meditação pode manter nosso cérebro jovem Como a meditação pode manter nosso cérebro jovem
Como a meditação pode manter nosso cérebro jovem
 
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasSistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
 
Engenharia de Software - Aula1
Engenharia de Software - Aula1Engenharia de Software - Aula1
Engenharia de Software - Aula1
 
1º geração dos computadores
1º geração dos computadores1º geração dos computadores
1º geração dos computadores
 

Ähnlich wie DiagramaClasseModelagemSI

Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxCarlos Albuquerque
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classesMarco Coelho
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosmauroladeiafilho
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 
Diagrama de classes1.1
Diagrama de classes1.1Diagrama de classes1.1
Diagrama de classes1.1Maikynata
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 
Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniaoMaria Alice Jovinski
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfssuser6e99cd
 

Ähnlich wie DiagramaClasseModelagemSI (20)

Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Aula 5 uml1 (1)
Aula 5   uml1 (1)Aula 5   uml1 (1)
Aula 5 uml1 (1)
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Trabalho de análise e projeto 2
Trabalho de análise e projeto 2Trabalho de análise e projeto 2
Trabalho de análise e projeto 2
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
Relatório da uml
Relatório da umlRelatório da uml
Relatório da uml
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
8 02
8 028 02
8 02
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Diagrama de classes1.1
Diagrama de classes1.1Diagrama de classes1.1
Diagrama de classes1.1
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
Classes e Estrutura de Dados
Classes e Estrutura de DadosClasses e Estrutura de Dados
Classes e Estrutura de Dados
 
Aula classes abstratas 3º periodo uniao
Aula classes abstratas  3º periodo uniaoAula classes abstratas  3º periodo uniao
Aula classes abstratas 3º periodo uniao
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdf
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 

Mehr von Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT

Mehr von Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT (20)

Curso DNA Básico Thetahealing
Curso DNA Básico ThetahealingCurso DNA Básico Thetahealing
Curso DNA Básico Thetahealing
 
Atendimento ThetaHealing
Atendimento ThetaHealingAtendimento ThetaHealing
Atendimento ThetaHealing
 
Modelagem de Sistemas de Informação 13 maquina_estados
Modelagem de Sistemas de Informação 13 maquina_estadosModelagem de Sistemas de Informação 13 maquina_estados
Modelagem de Sistemas de Informação 13 maquina_estados
 
Análise de Sistemas Orientado a Objetos - 11 - maquina_estados
Análise de Sistemas Orientado a Objetos - 11 - maquina_estadosAnálise de Sistemas Orientado a Objetos - 11 - maquina_estados
Análise de Sistemas Orientado a Objetos - 11 - maquina_estados
 
Modelagem de Sistemas de Informação 12 pacotes
Modelagem de Sistemas de Informação 12 pacotesModelagem de Sistemas de Informação 12 pacotes
Modelagem de Sistemas de Informação 12 pacotes
 
Análise de Sistemas Orientado a Objetos - 10 - pacotes
Análise de Sistemas Orientado a Objetos -  10 - pacotesAnálise de Sistemas Orientado a Objetos -  10 - pacotes
Análise de Sistemas Orientado a Objetos - 10 - pacotes
 
Modelagem de Sistemas de Informação 11 Colaboração
Modelagem de Sistemas de Informação 11 ColaboraçãoModelagem de Sistemas de Informação 11 Colaboração
Modelagem de Sistemas de Informação 11 Colaboração
 
Análise de Sistemas Orientado a Objetos - 09 - colaboracao
Análise de Sistemas Orientado a Objetos - 09 - colaboracaoAnálise de Sistemas Orientado a Objetos - 09 - colaboracao
Análise de Sistemas Orientado a Objetos - 09 - colaboracao
 
Análise de Sistemas Orientado a Objetos - 08 - Diagrama de Sequência
Análise de Sistemas Orientado a Objetos - 08 - Diagrama de SequênciaAnálise de Sistemas Orientado a Objetos - 08 - Diagrama de Sequência
Análise de Sistemas Orientado a Objetos - 08 - Diagrama de Sequência
 
Análise de Sistemas Orientado a Objetos - 07 ISO 9126
Análise de Sistemas Orientado a Objetos - 07 ISO 9126Análise de Sistemas Orientado a Objetos - 07 ISO 9126
Análise de Sistemas Orientado a Objetos - 07 ISO 9126
 
Modelagem de Sistemas de Informação 09 ISO 9126
Modelagem de Sistemas de Informação 09 ISO 9126Modelagem de Sistemas de Informação 09 ISO 9126
Modelagem de Sistemas de Informação 09 ISO 9126
 
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de ClassesAnálise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
 
Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07
 
Modelagem de Sistemas de Informação 06
Modelagem de Sistemas de Informação 06Modelagem de Sistemas de Informação 06
Modelagem de Sistemas de Informação 06
 
Modelagem de Sistemas de Informação 05
Modelagem de Sistemas de Informação 05Modelagem de Sistemas de Informação 05
Modelagem de Sistemas de Informação 05
 
Modelagem de Sistemas de Informação 04
Modelagem de Sistemas de Informação 04Modelagem de Sistemas de Informação 04
Modelagem de Sistemas de Informação 04
 
Modelagem de Sistemas de Informação 03
Modelagem de Sistemas de Informação 03Modelagem de Sistemas de Informação 03
Modelagem de Sistemas de Informação 03
 
Modelagem de Sistema de Informação 02
Modelagem de Sistema de Informação 02Modelagem de Sistema de Informação 02
Modelagem de Sistema de Informação 02
 
Modelagem de Sistemas de Informação 01
Modelagem de Sistemas de Informação 01Modelagem de Sistemas de Informação 01
Modelagem de Sistemas de Informação 01
 
Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05
 

DiagramaClasseModelagemSI

  • 1. Modelagem de Sistemas de Informação Aula 08 – Diagrama de Classes
  • 2. Diagrama de Caso de Uso - Locadora
  • 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.
  • 7. Diagrama de Classes - Objetivo
  • 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
  • 16. Diagrama de Classes Associação Unária (Reflexiva) • Relacionamento de um objeto da classe com objetos da mesma classe.
  • 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.