Você está na página 1de 7

UML – Diagramas de Pacotes (Packages)

e Modelação da Arquitectura Lógica

UML – Diagramas de Pacotes– v.1.1, João Pascoal Faria, 2001 1

Pacotes
n Um pacote (package) em UML é um mecanismo de
agrupamento genérico
n Notação: pasta com o nome no interior ou na pega
n No caso de um pacote contido noutro, o nome completo do
pacote contido inclui o nome do seu contentor

Client
Client Sensors::Vision

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 2


Diagramas de pacotes
n Um diagrama de pacotes mostra pacotes e relações entre
pacotes
n Na realidade, não existem propriamente diagramas de
pacotes em UML; em vez disso, pacotes e relações entre
pacotes aparecem noutros diagramas, de acordo com o tipo
de pacote
• Pacotes de classes (pacotes lógicos) - em diagramas de classes
• Pacotes de componentes – em diagramas de componentes
• Pacotes de nós – em diagramas de distribuição
• Pacotes de casos de utilização – em diagramas de casos de utilização

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 3

Pacotes lógicos
n Um pacote lógico (ou módulo lógico) é um agrupamento lógico de
classes e relações entre essas classes
• divisão de um sistema em pacotes lógicos é uma divisão de responsabilidades

n Corresponde ao conceito de package em Java ou de namespace


em C++ e C#
n Não confundir com empacotamento físico do software em
ficheiros de código fonte, executáveis, dll's, etc. (designados
componentes em UML)
n Um pacote lógico pode atravessar vários ficheiros
n Diagramas de pacotes lógicos utilizadas para modelar a
arquitectura lógica de um sistema de software (organização em
módulos lógicos e especificação de interfaces e dependências
entre módulos)

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 4


Conteúdo de um pacote
n Uma vez que representa um agrupamento, um pacote é em
geral dono de diversos elementos: classes, interfaces,
componentes, nós, colaborações, casos de uso, diagramas,
e até outros pacotes
n Esses elementos podem ser indicados no interior do pacote,
na forma de uma lista de nomes ou diagrama
Client Client
+ OrderForm + OrderForm
+ TrackingForm - Order
- Order + TrackingForm
n Um pacote forma um espaço de nomes
• classe Order do pacote Client é designada Client::Order

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 5

Visibilidade dos elementos contidos


num pacote
n Pode-se indicar a visibilidade dos elementos:
+ (público) : visível por todos que importam ou acedem ao pacote
(nomes sem :: no 1º caso, com :: no 2º caso)
# (protegido): visível só pelos pacotes-filhos (por relação de
generalização - ver adiante)
- (privado): visível só por outros elementos do pacote

n Os elementos públicos de um pacote são chamados também


os elementos exportados pelo pacote

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 6


Dependências entre pacotes
n Dependência simples: uma alteração do pacote de destino
afecta o pacote de origem (dependente) (informação útil
para controlo de alterações)
n Dependência com estereótipo «access»: o pacote de
origem (dependente) acede a elementos exportados pelo
pacote de destino (precisa de :: nos nomes)
n Dependência com estereótipo «import»: o pacote de
origem (dependente) importa os elementos exportados pelo
pacote de destino (não precisa de :: nos nomes)
Client GUI
+ OrderForm + Window
+ TrackingForm + Form
«import»
- Order # EventHandler

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 7

Generalização de pacotes
n Usada para especificar famílias de pacotes relacionados por
herança
GUI
+ Window
+ Form
# EventHandler
herda sem alteração
(default)
WindowsGUI
substitui (overrides) + GUI::Window
o elemento Form de + Form MacGUI
GUI # GUI::EventHandler
+VBForm
adicionado
herda os elementos públicos e protegidos de GUI
UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 8
Estereótipos em pacotes
n «system» - pacote que representa o sistema completo que está a ser
modelado (incluindo todos os modelos e elementos dos modelos)
n «subsystem» - pacote que representa uma parte independente de
sistema completo que está a ser modelado; corresponde normalmente a
um corte "vertical"
n «facade» (fachada) - pacote que constitui uma vista sobre outro pacote
(não acrescenta funcionalidades, apenas apresenta de forma diferente)
n «framework» (infra-estrutura aplicacional) - pacote que representa um
conjunto de classes abstractas e concretas concebido para ser estendido,
implementando a funcionalidade típica de um determinado domínio de
aplicação
n «stub» - pacote que serve como proxy para o conteúdo público de outro
pacote
n «layer» - pacote que representa uma camada horizontal de um sistema

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 9

Composição de pacotes (1)


n Sub-pacotes podem ser indicados dentro do pacote-dono ou
com relação de composição

«system»
Retail Enterprise System

«subsystem» «subsystem» «subsystem»


Customer In Store Warehouse
Service Management Management
subsystem subsystem subsystem

Neste exemplo segue-se uma divisão vertical, por subsistemas!

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 10


Composição de pacotes (2)
«system»
Retail Enterprise System

«layer» Graphical User Interface


Retail Enterprise System - GUI

«layer»
Business Logic
Retail Enterprise System - BL

«layer» Database
Retail Enterprise System - DB

Neste exemplo segue-se uma divisão horizontal, por camadas!

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 11

Caso de estudo (biblioteca): divisão em


áreas funcionais

<<subsystem>>
<<subsystem>>
Relação com Clientes
Relação com
(Leitores e Sócios)
Fornecedores

<<subsystem>>
Gestão de Recursos
(Publicações)

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 12


Caso de estudo (biblioteca): divisão em
camadas técnicas

<<layer>>
Interface com o
Utilizador

<<layer>>
Lógica de
Negócio

<<layer>>
Base de Dados

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 13

Caso de estudo (biblioteca): divisão em


camadas técnicas e áreas funcionais

IU - Clientes IU - Recursos

Lógica de Negócio - Lógica de Negócio -


Clientes Recursos
(from Lógica de Negócio) (from Lógica de Negócio)

Base de Dados - Base de Dados -


Clientes Recursos

UML – Diagramas de Pacotes – v.1.1, João Pascoal Faria, 2001 14

Você também pode gostar