Buscar

Diagrama de Classes e Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

1 
Modelagem Estrutural - 
Diagrama de Classes e 
Diagrama de Objetos 
Franklin Ramalho 
Universidade Federal de Campina Grande - 
UFCG 
 SI2-UFCG 
2 
Agenda 
- Diagrama de Classes 
- Classes 
- Atributos 
- Operações 
- Interfaces 
- Relacionamentos 
- Portas 
- Pacotes 
 
- Diagrama de Objetos 
 
- Exercício 
 SI2-UFCG 
3 
Diagrama de Classes 
• É um diagrama que mostra um conjunto de classes, 
interfaces e relacionamentos. 
 
• Responsável por modelar a parte estática do sistema 
 
• Contém: 
- Classes 
- Atributos 
- Operações 
- Interfaces 
- Relacionamentos 
- Portas 
- Pacotes 
- Notas, restrições, etc. 
 SI2-UFCG 
4 
Classes 
• Classe é uma descrição de um conjunto de objetos que 
compartilham os mesmos atributos, operações, relacionamentos e 
semântica 
 
• Propriedades em classes: 
– Leaf „{leaf}‟ após nome da classe 
– Root „{root}‟ após nome da classe 
– Multiplicidade 
Figura
Circulo {leaf} Poligono
6
 SI2-UFCG 
5 
Classes Abstratas 
• Uma classe que não pode ser instanciada 
• Permite refinamentos através de hierarquia 
Figura
Circulo {leaf} Poligono
6
 SI2-UFCG 
6 
Classes 
• Classe concreta 
– atributos + assinatura de operações + Implementação de 
operações 
 
• Classe abstrata 
– atributos + assinatura de operações 
 
2 
 SI2-UFCG 
7 
Classes Ativas 
• Classes associadas com um ou mais thread 
• Classes ativas são importantes para modelar 
objetos com comportamento concorrente 
Supervisor 
 SI2-UFCG 
8 
Atributos 
• Propriedades: 
– Derivado 
– Visibilidade 
• (public, protected, private, 
package) 
– Nome 
– Multiplicidade 
– Tipo 
– Valor inicial default 
– Estereótipo 
– Escopo 
• Instance (default) 
• Classifier (propriedade 
sublinhada) 
 SI2-UFCG 
9 
Atributos 
• Tipo de um atributo - Uma 
outra classe ou um tipo 
primitivo: 
 
– Integer 
– UnlimitedNatural 
– Boolean 
– String 
 SI2-UFCG 
10 
Atributos 
• Propriedades pré-definidas: 
– Changeable (default) 
– addOnly 
– frozen 
Propriedades sobre atributos 
 SI2-UFCG 
11 
Operações 
• Assinatura comum de serviços 
fornecidos por membros da uma 
classe 
• Propriedades: 
– Visibilidade 
– Nome 
– parâmetros 
• Direção 
• nome 
• Tipo 
• Multiplicidade 
• Valor default 
– Tipo de retorno 
• Escopo: 
– Instance 
– Classifier 
 SI2-UFCG 
12 
Operações 
• Propriedades pré-definidas: 
– leaf 
– isQuery 
– sequential 
– guarded 
– concurrent 
Propriedades sobre operações 
3 
 SI2-UFCG 
13 
Interfaces 
• Artefato contendo um conjunto de operações que especificam um 
serviço 
– Em UML, pode possuir propriedades (atributos ou associationEnds) 
• Serviços 
– Oferecidos 
• Interfaces não têm instâncias 
Impressora 
Imprimivel 
Imprimivel Impressora 
+ imprimir() 
 SI2-UFCG 
14 
Interfaces 
• Artefato contendo um conjunto de operações que especificam um 
serviço 
– Em UML, pode possuir propriedades (atributos ou associationEnds) 
• Serviços 
– Requeridos 
Documento 
Imprimivel 
Imprimivel 
Documento 
+ imprimir() 
 SI2-UFCG 
15 
Relacionamentos 
 
• Um relacionamento é uma conexão semântica entre 
elementos de modelagem 
 
• Relacionamentos entre classes: 
 
– Generalização 
 
– Associação 
 
– Dependência 
 
– Realização 
 
 SI2-UFCG 
16 
Generalização 
• Generalização – relacionamento entre um elemento 
mais geral e um mais específico. 
 
• Generalização de classes: uma classe geral (super-
classe) e uma mais específica (sub-classe) 
 SI2-UFCG 
17 
Generalização 
• Sub-classe herda as características de sua super-classe 
– Atributos 
– Operações 
– Relacionamentos 
– Restrições 
 
• Sub-classes podem adicionar novas características e 
também sobrescrever as já existentes em sua super-
classe 
– respeitando as restrições impostas! 
 
• UML permite herança múltipla 
 
 SI2-UFCG 
18 
Generalização 
 
• Classes e operações abstratas em super-classes são 
usuais 
 
• Uma sub-classe concreta deve implementar todas 
operações abstratas que ele herda 
4 
 SI2-UFCG 
19 
Generalização 
 
• Atributos e operações com visibilidade private (-) não 
são acessíveis de sua sub-classe. 
 
• Atributos com visibilidade protected (#) são 
acessíveis de suas sub-classes, mas não de outras 
classes. 
 
• Atributos com visibilidade package (~) são acessíveis 
de qualquer elemento pertencente ao mesmo pacote 
ou a qualquer outro aninhado a ele. 
 
• Instancias de uma sub-classe devem satisfazer todas as 
restrições da sua super-classe (principle of 
substituability) 
 SI2-UFCG 
20 
Conjuntos de Generalização 
• Uma classe pode ter várias hierarquias 
• Constraints: 
– complete or incomplete 
– overlapping or disjoint 
– Default: {incomplete, disjoint} 
 SI2-UFCG 
21 
Associação 
• Associação é um relacionamento estrutural, que 
especifica que objetos de uma classe são conectados com 
objetos de uma outra classe 
• Propriedades: 
– Nome 
– Direção da navegação 
– Association-ends 
• Multiplicidade 
• papel 
• qualificador 
 SI2-UFCG 
22 
Qualificador 
• Um atributo da associação cujo valor permite achar 
um ou mais objetos de um end da associação a partir 
de um objeto do outro end da associação. 
Banco Cliente NumConta 
* 
Banco Cliente nacionalidade 
* 
 SI2-UFCG 
23 
Qualificador 
 
• Uma qualificador pertence a um associationEnd e não à 
uma classe! 
 
• Usualmente, um qualificador refere-se a um atributo da 
classe cujas instâncias estão sendo filtradas (p.e. classe 
Cliente) 
 SI2-UFCG 
24 
Agregação 
• Associação entre todo-parte é conhecida como 
agregação 
Time Jogador 
* 
5 
 SI2-UFCG 
25 
Composição 
• Composição é um tipo especial de agregação que 
ocorre quando o objeto “todo” é responsável pela 
existência e armazenamento dos objetos “parte” 
• Há uma dependência das partes com relação ao todo 
Corpo 
Vivo 
Coração 
1 
Quadrado Lado 
4 
 SI2-UFCG 
26 
Associações com restrições 
• UML oferece alguns tipos de restrições pré-definidos para seus 
elementos 
• Conjunto limitado de restrições pré-definidas 
 SI2-UFCG 
27 
Realização 
• Realização é um relacionamento entre classificadores 
onde um especifica um contrato e outro garante 
cumpri-lo 
• Classes concretas realize serviços especificados 
por uma interface 
Impressora 
Imprimivel 
Imprimivel Impressora 
+ imprimir() 
 SI2-UFCG 
28 
Dependência 
• Dependência – indica que a mudança na especificação de 
um elemento deve afetar a especificação de outro 
elemento. 
• Entre: pacotes, classes, objetos e classes, etc. 
Documento 
Imprimivel 
Imprimivel 
Documento 
+ imprimir() 
 SI2-UFCG 
29 
Dependência 
• UML prescreve um conjuntode tipos de 
dependências (estereotipadas): 
• <<use>> 
• <<call>> 
• <<parameter>> 
• <<instantiate>> 
• <<trace>>, etc. 
 SI2-UFCG 
30 
Impressora 
Porta 
• Uma propriedade de um classificador que especifica um 
ponto de interação entre: 
– Classificador e o ambiente; 
– Classificador e suas partes. 
– Exemplo: Serviços providos e requeridos por uma classe 
 
• Link entre uma classe e uma ou mais interfaces que ela 
realiza e/ou requer 
Imprimivel 
ServiçosDeImpressão 
Conectavel 
6 
 SI2-UFCG 
31 
Classe-Associação 
• Suponha que uma pessoa possa trabalhar em várias 
empresas 
 
• Uma empresa pode conter vários empregados 
Pessoa Empresa 
* * 
Onde deve ficar o salário? 
 SI2-UFCG 
32 
Classe-Associação 
• Uma associação entre duas classes pode possuir 
propriedades: classes-associação 
Pessoa Empresa 
* * 
Emprego 
+salário: Integer 
 SI2-UFCG 
33 
Pacotes 
• Agrupa um conjunto de elementos UML 
– Namespace 
– PackageableElement 
 
• Cada elemento do modelo deve pertencer, no máximo, a um 
pacote 
 
• Relações entre pacotes: 
– Dependências 
• Aninhamento (sub-pacotes) 
• Import 
• elementImport 
• access (private import) 
• Merge 
 SI2-UFCG 
34 
Pacotes 
 SI2-UFCG 
35 
Merge entre pacotes 
• Integra elementos de dois pacotes em um pacote resultante 
 SI2-UFCG 
36 
Agenda 
- Introdução 
 
- Características de UML 
 
- Diagramas UML 
 
- Diagrama de Classes 
- Classes 
- Atributos 
- Operações 
- Interfaces 
- Relacionamentos 
- Portas 
- Pacotes 
 
- Diagrama de Objetos 
 
- Exercício 
7 
 SI2-UFCG 
37 
Diagrama de Objetos 
• Diagrama de Objetos é um diagrama que mostra um 
conjunto de objetos e seus relacionamentos instanciados 
em um dado momento. 
 
• Fornece uma visão dos valores armazenados pelos 
objetos das classes definidas dos diagramas de classes 
em um determinado momento 
 
• Simulação 
 
• Validação 
 
 SI2-UFCG 
38 
Diagrama de Objetos 
 
• Contém: 
– Instâncias de classes (objetos) 
– Instâncias de relacionamentos (links) entre objetos 
– Detalhes estruturais: 
• Valores de atributos 
• Estados 
 
• Objetos são semelhantes às classes 
– Mas não possuem operações! 
 
• Links não possuem multiplicidades 
– Um link ocorre exatamente entre dois objetos 
 SI2-UFCG 
39 
Diagrama de Objetos 
• Objetos podem ser: 
 
– Rotulados 
 
– Anônimos 
• Não se pode ter 02 objetos anônimos instanciando a mesma classe 
 
– Órfãos 
• Úteis nas análises iniciais 
 
– Ativos 
 SI2-UFCG 
40 
Diagrama de Objetos 
• Um diagrama de objetos é uma instância de um 
diagrama de classes 
joao:Pessoa 
:Pessoa 
joao:Pessoa 
joao 
joao:Pessoa pc1:Computador 
memoria = 128 idade = 19 
[navegando] 
Pessoa Computador 
memoria = integer idade = integer 
 SI2-UFCG 
41 
Estudo de Caso – Sistema de 
Matrícula da UFCG 
 SI2-UFCG 
42 
Atributos não deveriam ser públicos? 
8 
 SI2-UFCG 
43 
Atributos não deveriam ser públicos? 
 SI2-UFCG 
44 
 SI2-UFCG 
45 
 SI2-UFCG 
46 
 SI2-UFCG 
47 
 SI2-UFCG 
48 
9 
 SI2-UFCG 
49 
Exercício 1 
• Construir um diagrama de classes que descreva um 
programa de fidelidade para companhias que oferecem 
vários tipos de bônus para seus clientes. Os clientes 
tornam-se sócios do programa e passam assim a possuir um 
cartão que pode ser usado para efetuar transações, sejam 
de uso ou ganho de pontos. Para cada transação realizada, 
pontos devem ser debitados ou computados na conta do 
sócio. O programa possui parceiros que oferecem serviços. 
Cada serviço tem um nível associado: ouro, prata ou 
bronze. Diferentes sócios podem fazer uso de diferentes 
níveis de serviço, de acordo com a cor de seu cartão: ouro, 
prata ou bronze. 
 
 SI2-UFCG 
50 
Exercício 2 
• Faça um diagrama de objetos para o diagrama de classes 
do exercício 1 
 SI2-UFCG 
51 
Exercício 3 
• Construa um diagrama de classes para: 
 
– Rede social 
 
– Campeonato brasileiro de futebol – Série A 
• Times, jogadores, juizes, turnos, pontuação, classificação, 
rebaixamento, etc. 
 
– Pesquisa da UFCG 
• Projeto, orientador, carga horária, pós-graduação, papers, patentes, 
contrato, etc. 
 
– Locadora 
• Cliente, filmes, dvds, reserva, empréstimo, pagamento, multas, etc. 
 
 
 SI2-UFCG 
52 
Referências 
• Especificação de UML da OMG

Outros materiais