Sunteți pe pagina 1din 21

Domingos Filipe de Oliveira

ENGENHARIA DE
SOFTWARE
Prtica n 05: Diagramas de pacotes

Introduo
2

Uma forma de lidar com a complexidade dos


sistemas atravs da imposio de
estrutura.

A ideia pode passar pela diviso de um


sistema em vrios subsistemas que sero
mais fceis de compreender e manipular.

Tendo como fim o agrupamento de


elementos de modelao UML, foi criado o
pacote.
Domingos Filipe de Oliveira

Pacotes
3

Um pacote um componente UML que


permite agrupar dentro de si vrios
componentes relacionados do ponto de
vista lgico: por exemplo, grupos de
classes ou grupos de diagramas.
Um pacote em UML mais geral que um
pacote em Java que apenas permite
agrupar dentro de si classes.
Um dos usos mais frequentes dos pacotes
de facto o agrupamento de classes.
Domingos Filipe de Oliveira

Pacotes (cont.)
4

No desenvolvimento de grandes sistemas o


nmero de classes pode ser muito grande
(da ordem dos milhares): seria difcil de
gerir sem um mecanismo desta natureza.
Se um diagrama de classes estiver grande
demais (p. ex., no couber numa folha A4)
deve ser subdividido agrupando as classes
em pacotes.
As classes que pertencem a um dado pacote
devem ser semanticamente prximas.
Domingos Filipe de Oliveira

Diagrama de pacotes
5

Tem
o
objectivo
de
demonstrar
como
os
arquivos de um sistema
(classes, imagens, sons
etc.) esto organizadas
em pastas (pacotes);
Permitem armazenar e
separar elementos em
grupos
para
melhor
organizao dos arquivos;
Ainda permite demonstrar
as
dependncias

Domingos Filipe
de Oliveira
existentes
entre
as

Representao grfica
6

O diagrama de pacote um mecanismo que permite agrupar


elementos de um modelao UML (diagramas, classes,
componentes, interfaces, etc.).

Um pacote representado por um rectngulo com um rectngulo


mais pequeno sobre o seu canto superior esquerdo.

No rectngulo mais pequeno colocado o nome do pacote


(normalmente quando se opta por mostrar o contedo do pacote).

O contedo mostrado no rectngulo maior.

Nome do
pacote

Domingos Filipe de Oliveira

Representao grfica
(cont.)

No caso de no se pretender mostar o


contedo, o nome do pacote pode ser escrito
no rectngulo maior (o ArgoUML no permite
esta opo)

Nome do pacote

Domingos Filipe de Oliveira

Caractersticas
8

Os elementos de um pacote devem ser


semanticamente semelhantes de forma a
manipul-los de forma integrada.

Pacotes so similares s classes, so


classificadores, logo os mecanismos de
notao e de relao se aplicam aos
pacotes.

Domingos Filipe de Oliveira

Relaes entre pacotes


9

As relaes entre diferentes pacotes podem ser:


de

dependncia:

quando

existe

uma

relao

de

dependncia entre um elemento de um pacote e outro de


outro pacote.

de hierarquia: um pacote contm outros pacotes.

O tipo de setas a utilizar idntico ao usado nos


diagramas de casos de uso para a dependncia.

Para a hierarquia, os diagramas so representados


uns dentro dos outros.
Domingos Filipe de Oliveira

Exemplo:
10

Controlo de
Acesso

Interfaces
com
utilizador

Dependncia

Nome do
pacote

Nome do
pacote

Domingos Filipe de Oliveira

Relao de dependncia
11

Para utilizar um pacote preciso ter acesso a todos


os pacotes dos quais ele depende.

Alteraes feitas na interface dum pacote exigem


alteraes nos pacotes que dele dependem.

Um pacote que dependa de muitos pacotes pode


ser difcil de reutilizar, pois para o seu uso tero de
ser utilizados todos os pacotes de que ele depende.

importante evitar dependncias circulares entre


pacotes.
Domingos Filipe de Oliveira

Relao de hierarquia
12

A relao de hierarquia entre pacotes usada


para definir nveis sucessivos de estrutura.
Para evitar dificuldade de leitura raramente
se usam mais de 3 nveis de hierarquia.
Nome do pacote
Encomendas
Internet

Encomendas
Telefone

Encomendas
Central

Encomendas
Pizzaria

Domingos Filipe de Oliveira

Visibilidade
13

Semelhante as classes os elementos do


pacote podem utilizar os smbolos #, - e
+;

A visibilidade estabelece quais os


elementos que podem ser vistos por
outros pacotes.

Domingos Filipe de Oliveira

Importar
14

Importar permite que os elementos de


um pacote acesse os elementos de outro
pacote que importado.

Ex: PacoteA :: classeA e PacoteB :: classeB.

Se o PacoteA importa o PacoteB, os


elementos do PacoteA podem acessar os
lementos do PacoteB, mas no o inverso.

Domingos Filipe de Oliveira

Exportar
15

As partes pblicas de um pacote so


consideradas exportadas.

So apenas vistas pelos pacotes que


explicitamente s importam.

Domingos Filipe de Oliveira

Concluso
16

Quando se usam pacotes deve ser usada a verso mais


simples (sem mostrar o contedo) sempre que possvel.

Quando necessrio mostrar o contedo do pacote,


mostrar apenas os elementos necessrios para que
seja possvel compreender o significado do pacote no
contexto onde se encontra.

Temos um diagrama de pacote quando no diagrama


apenas aparecem pacotes, mas possvel que os
pacotes
surjam
integrados
noutros
diagramas,
tipicamente os diagramas de classe.
Domingos Filipe de Oliveira

17

Domingos Filipe de Oliveira

Exerccios: 1

A partir do diagrama de classe abaixo,


construa o respectivo diagrama de
pacotes:

Exerccios: 2

A partir do diagrama de classe abaixo,


construa o respectivo diagrama de
pacotes:

Exerccios: 3

A partir do diagrama de classe abaixo,


construa o respectivo diagrama de
pacotes:

21

1.

Referncias
Nunes, M. ONeil, H Fundamental de UML. FCA
editora 6 ed, 2004

Domingos Filipe de Oliveira

S-ar putea să vă placă și