Você está na página 1de 50

Diagrama de

Objetos e
Pacotes
UML

PROF. Ms. J FLÁVIO VASCONCELOS ALVES


ASSUNTOS AULA 4

1) Diagrama de Objetos
2) Diagrama de Pacotes

2
DIAGRAMA DE OBJETOS

O diagrama de objetos tem como objetivo


fornecer uma “visão” dos valores
armazenados pelos objetos das classes,
definidas no diagrama de classes, em um
determinado momento do sistema.
Assim, embora o diagrama de classes seja
estático, podem ser criados diagramas de
objetos, onde as possíveis situações pelas
quais os objetos das classes passarão
podem ser simuladas.
3

(GUEDES, 2018)
DIAGRAMA
DE
OBJETOS

4
OBJETO o que é

Um componente objeto é bastante


semelhante a um componente classe, mas
os objetos não apresentam métodos,
somente atributos, e estes armazenam os
valores contidos nos objetos em uma
determinada situação.
Na verdade, também é possível encontrar
diagramas de objetos onde os objetos são
representados contendo somente o nome do
objeto, sem detalhar os valores de seus
atributos.
5

(GUEDES, 2018)
NOMES dos OBJETOs

O nome dos objetos está contido, como nas


classes, na primeira divisão do retângulo que
representa os objetos e pode ser apresentado de
três formas:
• O nome do objeto, com todas as letras
minúsculas, seguido do símbolo de dois pontos (:)
e o nome da classe à qual o objeto pertence, com
as letras iniciais maiúsculas. Este é o formato mais
completo.
• O nome do objeto omitido, mas mantendo o
símbolo de dois-pontos e o nome da classe.
• Somente o nome do objeto, sem dois-pontos.
6

(GUEDES, 2018)
EXEMPLO de OBJETO

(GUEDES, 2018)
NOMES dos OBJETOs

Nesse exemplo, identificamos um objeto individual


pertencente à classe PessoaFísica do sistema de
controle bancário que temos estado a modelar.
O leitor poderá perceber que os atributos do objeto
em questão foram retirados tanto da classe
Pessoa como da classe PessoaFisÍca, uma vez
que a última classe é derivada da primeira,
portanto herda seus atributos. Observe que todos
os atributos do objeto possuem valores que foram
definidos durante sua instanciação ou ao longo do
tempo em que o objeto foi manipulado pelo
sistema.
8

(GUEDES, 2018)
VÍNCULOS

9
VÍNCULOS

Os objetos de um diagrama de objetos apresentam


vínculos entre si (links). Tais vínculos nada mais
são do que instâncias das associações entre as
classes representadas no diagrama de classes,
assim como os objetos são instâncias das próprias
classes. Um vínculo tem exatamente o mesmo
símbolo utilizado pelas associações do diagrama
de classes, mas não apresenta multiplicidade
porque esta especifica justamente o número de
instâncias de uma determinada classe que podem
estar envolvidas em uma associação. Assim, um
vínculo em um diagrama de objetos liga apenas
um único objeto em cada extremidade. 10

(GUEDES, 2018)
VÍNCULOS

11

(GUEDES, 2018)
VÍNCULOS

Nesse exemplo, criamos uma visão por meio do


diagrama de objetos referente ao vínculo entre um
objeto da classe PessoaFísÍca e um objeto da
classe ContaEspecial a ele relacionado.
Percebemos que o objeto pesfis1 está ligado ao
objeto esp1. Observe que os atributos do objeto
ContaEspecial foram retirados tanto da classe
ContaComum como da classe ContaEspecial, por
essa última ser uma especialização da classe
ContaComum. Observe que a situação da conta
está ativa e, por esse motivo, a data de
encerramento da conta não foi informada.
12

(GUEDES, 2018)
DEPENDÊNCIA
com
ESTEREÓTIPO

13
DEPENDÊNCIA com ESTEREOTIPO

É possível representar os objetos


instanciados a partir de classes por
meio de uma associação de
dependência com o estereótipo
<<instanceOf>>.

14

(GUEDES, 2018)
DEPENDÊNCIA com ESTEREOTIPO ex

15

(GUEDES, 2018)
DEPENDÊNCIA com ESTEREOTIPO

Nesse exemplo, representamos a


instanciação do objeto pesfis 1 a partir da
classe PessoaFísica e do objeto especÍatl a
partir da classe ContaEspecial, por meio da
associação de dependencia apoiada pelo
estereótipo <<instanceOf>>.
Observe que a associação entre as classes
é representada por um vínculo entre os
objetos, mas sem multiplicidade, já que,
como foi dito, um vínculo une um único
objeto a outro.
16

(GUEDES, 2018)
EXEMPLO DE
DIAGRAMA DE
OBJETOS

17
CONTAS e MOVIMENTOS PF

Nesse exemplo, percebe—se que o objeto


pesfis1, da classe PessoaFísica, está
vinculado a três objetos: o primeiro da classe
ContaComum, o segundo da classe
ContaEspecial e o terceiro da classe
ContaPoupança, chamados,
respectivamente, de comum, especial e
poupança. Dessa forma, podemos concluir
que a pessoa física representada pelo objeto
pesfis1 possui ou possuiu três contas na
instituição bancária.
18

(GUEDES, 2018)
CONTAS e MOVIMENTOS PF p2

Ao examinar o objeto comum1, percebe-se


que esta conta já se encontra encerrada,
uma vez que o atributo situacaoConta
armazena o valor 2, que, por convenção,
significa que a conta está inativa, e porque o
atributo fechamentoConta tem uma data
definida. Já os outros dois objetos ainda
estão ativos.

19

(GUEDES, 2018)
EXEMP DIAGRAMA DE OBJETOS

20

(GUEDES, 2018)
CONTAS e MOVIMENTOS PF p3

O objeto especial1 está vinculado a quatro objetos


da classe Movimento, mov1, mov2, mov3 e mov4.
Os dois primeiros objetos referem-se a um
depósito de valores, enquanto os dois últimos, a
saques.
Nem todas as classes, estão representadas por
seus objetos neste exemplo, o que é
recomendável. Um diagrama de objetos deve
enfocar o menor conjunto de classes, porque as
classes podem ter um número muito grande de
objetos e representar objetos de todas as classes
em um diagrama tende a deixa-lo muito extenso e
poluído. 21

(GUEDES, 2018)
DIAGRAMA
DE
PACOTES

22
DIAGRAMA DE PACOTES

O diagrama de pacotes descreve como os


elementos do modelo estão organizados em
divisões lógicas, denominadas pacotes, e
demonstra as dependencias entre eles. Esse
diagrama é muito útil para separar as diversas
camadas de um projeto de software, como as de
visão, controle, modelo e persistência. Esse
diagrama também permite a modelagem de
sistemas e/ou subsistemas integrados. Pode ser
utilizado para modelar subdivisões da arquitetura
de uma linguagem ou representar a arquitetura de
um processo de desenvolvimento, entre outras
possibilidades. 23

(GUEDES, 2018)
PACOTES

Pacotes são utilizados para agrupar


elementos e fornecer denominações
para esses grupos.
Um pacote pode representar um
sistema, um subsistema, uma biblioteca
ou uma etapa de um processo de
desenvolvimento, entre outras
alternativas.
Um pacote pode até conter outros
pacotes. 24

(GUEDES, 2018)
PACOTES exemplo

25

(GUEDES, 2018)
PACOTES exemplo

O exemplo apresentado nessa figura


contém um pacote intitulado Sistema de
Controle Bancário, o que significa que
engloba os elementos contidos nesse
sistema. Esse exemplo apresenta
somente o pacote, sem revelar seu
conteúdo. No entanto, é possível
encontrar pacotes com seu conteúdo
ou parte dele explicitamente declarado.
26

(GUEDES, 2018)
PACOTES com conteúdo

27

(GUEDES, 2018)
PACOTES com conteúdo

Nesse exemplo, identificamos os


elementos contidos pelo pacote, em
termos de suas classes. Não se definiu
os atributos, métodos, nem
associações entre as classes. No
entanto, isso é perfeitamente possível.
O problema desta abordagem é o
grande espaço ocupado pelo pacote.

28

(GUEDES, 2018)
CONECTOR de ANINHAMENTO

29

(GUEDES, 2018)
PACOTES com conteúdo

Esta é uma notação alternativa para


identificar os membros do pacote por
meio de conector de aninhamento,
representado por um círculo contendo
uma cruz.

30

(GUEDES, 2018)
PACOTE contendo MODELO COMPLETO

31

(GUEDES, 2018)
PACOTE contendo MODELO COMPLETO

É possível encontrar modelos


completos contidos em pacotes, que
demonstra um pacote contendo o
modelo de domínio do sistema de
controle bancário, incluindo atributos,
métodos e associações entre as
classes.
Essa alternativa ocupa muito espaço.
Pode ser mais útil apresentar somente
o pacote sem detalhar seus membros. 32

(GUEDES, 2018)
DEPENDEN
CIA DE
PACOTES

33
PACOTES DEPENDENTES

Um relacionamento de dependência
informa que o elemento dependente
necessita de alguma forma do elemento
do qual depende, ou seja, algum
elemento interno de um dos pacotes
depende de alguma maneira de
elementos do outro pacote.

34

(GUEDES, 2018)
DEPENDÊNCIA entre PACOTES

35

(GUEDES, 2018)
PACOTES DEPENDENTES EXEMPLO

Nesse exemplo, existem três sistemas integrados: o


sistema de contabilidade, de estoque e de folha de
pagamento. Os pacotes estão associados por meio
de dependências, indicando que os sistemas de
estoque e de folha de pagamento neces5itam do
sistema de contabilidade para lançar suas operações
financeiras. O relacionamento de dependência no
diagrama de pacotes pode ter dois estereótipos:
<<merge>>, significando que os elementos do
pacote que utiliza essa dependência serão unidos
aos elementos do outro pacote, e <<import>>,
significando que o pacote que utiliza essa
dependencia está importando alguma característica
ou elemento do outro pacote. 36

(GUEDES, 2018)
PACOTES
contendo
PACOTES

37
PACOTES contendo PACOTES

38

(GUEDES, 2018)
PACOTES contendo PACOTES

É possível que pacotes contenham pacotes


Nesse exemplo, percebemos que o pacote
Repositório foi inserido dentro do pacote que
representa a camada de domínio do sistema
de controle bancário. Conforme foi explicado
no capítulo 4, classes de repositório
(repository) são representadas na camada
de domínio, no entanto, muitas vezes, em
um pacote interno.
Há uma classe de repositório para cada
classe concreta da camada de domínio.
39

(GUEDES, 2018)
ESTEREÓTI
POS
aplicados a
PACOTES
40
ESTEREÓTIPOS aplicados a PACOTES

É possível aplicar estereótipos aos


pacotes, deixando claro que estes
representam sistemas, subsistemas,
frameworks ou modelos.

41

(GUEDES, 2018)
ESTEREÓTIPOS aplicados a PACOTES

42

(GUEDES, 2018)
ESTEREÓTIPOS aplicados a PACOTES

Nessa figura, apresentamos pacotes


com estereótipos dos quatro tipos
enunciados.
Observe que enquanto os estereótipos
<<system>> e <<framework>> são
estereótipos de texto, <<subsystem>> e
<<mode1>> são estereótipos gráficos
que modificam um pouco o desenho-
padrão do pacote.
43

(GUEDES, 2018)
REPRESEN
TAÇÃO das
CAMADAS
por meio
PACOTES
44
PACOTES representar CAMADAS PROJ

Pacotes frequentemente são utilizadas


para representar as camadas de uma
arquitetura ou as camadas lógicas do
modelo geral de um projeto.

45

(GUEDES, 2018)
46

(GUEDES, 2018)
PACOTES representar CAMADAS PROJ

Neste exemplo, cada pacote representa


uma camada contendo um dos modelos
de classe do sistema de controle
bancário, ou seja, as camadas de
apresentação, controle, domínio e
persistência de dados.

47

(GUEDES, 2018)
PACOTES representar CAMADAS PROJ p2

Assim, o pacote da camada visão


contém as classes de fronteira do
sistema, o pacote da camada de
controle, as classes controladoras e o
pacote da camada de domínio, as
classes da entidade, e o pacote da
camada de persistência, o mapeamento
das classes da entidade em tabelas (ou
classes DAO).
48

(GUEDES, 2018)
PACOTES representar CAMADAS PROJ p3

Os pacotes não estão expandidos, ou seja,


cada pacote apresenta seu conteúdo em
forma de lista, sem detalhar o conteúdo das
classes nela contidas. Essa abordagem é
muito utilizada para diminuir o tamanho dos
diagramas.
Ainda, os pacotes possuem dependência
entre si, conforme as associações de
dependência empregadas.

49

(GUEDES, 2018)
MODIFICANDO DONO ou GRUPO

OBRIGADO !!!
@profjsflavioalves
ZAP 9750-2901

50

Você também pode gostar