Diagramas de pacotes

Portal_do_estudante_ADS 13,160 views 14 slides Nov 13, 2012
Slide 1
Slide 1 of 14
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14

About This Presentation

No description available for this slideshow.


Slide Content

UML –Diagramas de Pacotes (Packages)
e Modelação da Arquitectura Lógica
Profs: dr. Edgar Gemo
Dr. Zeferino Saugene (MSc.)

Pacotes „
Um pacote(package) em UML é um mecanismo de
agrupamento genérico

Notação: pasta com o nome no interior ou na pega

No caso de um pacote contido noutro, o nome completo do
pacote contido inclui o nome do seu contentor
Client
Client
Sensors::Vision

Diagramas de pacotes „
Um diagrama de pacotes mostra pacotes e relações entre
pacotes

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 – e m diagramas de casos de utilização

Pacotes lógicos „
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

Corresponde ao conceito de packageem Java ou de namespace
em C++ e C# „
Não confundir com empacotamento físico do software em
ficheiros de código fonte, executáveis, dll's, etc. (designados
componentes em UML)

Um pacote lógico pode atravessar vários ficheiros

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)

Conteúdo de um pacote „
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

Esses elementos podem ser indicados no interior do pacote,
na forma de uma lista de nomes ou diagrama

Um pacote forma um espaço de nomes
• classe Orderdo pacote Client édesignada Client::Order
Client
+ OrderForm
+ TrackingForm
-Order
Client
+ OrderForm
-Order
+ TrackingForm

Visibilidade dos elementos contidos
num pacote

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

Os elementos públicos de um pacote são chamados também
os elementos exportados pelo pacote

Dependências entre pacotes „
Dependência simples: uma alteração do pacote de destino
afecta o pacote de origem (dependente) (informação útil
para controlo de alterações)

Dependência com estereótipo «access»: o pacote de
origem (dependente) acede a elementos exportados pelo
pacote de destino (precisa de :: nos nomes)

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 + OrderForm
+ TrackingForm
-Order
«import»
GUI
+ Window + Form # EventHandler

Generalização de pacotes „
Usada para especificar famílias de pacotes relacionados por
herança
GUI
+ Window
+ Form
# EventHandler
WindowsGUI + GUI::Window + Form # GUI::EventHandler +VBForm
MacGUI
herda os elementos públicos e protegidos de GUI
substitui (overrides)
o elemento Formde
GUI
adicionado
herda sem alteração (default)

Estereótipos em pacotes „
«system» - pacote que representa o sistema completo que está a ser
modelado (incluindo todos os modelos e elementos dos modelos)

«subsystem» - pacote que representa uma parte independente de
sistema completo que está a ser modelado; corresponde normalmente a
um corte "vertical"

«facade» (fachada) - pacote que constitui uma vista sobre outro pacote (não acrescenta funcionalidades, apenas apresenta de forma diferente)

«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

«stub» - pacote que serve como proxypara o conteúdo público de outro
pacote

«layer» - pacote que representa uma camada horizontal de um sistema

Composição de pacotes (1) „
Sub-pacotes podem ser indicados dentro do pacote-dono ou
com relação de composição
«system»
Retail Enterprise System «subsystem»
In Store
Management
subsystem
«subsystem»
Customer
Service
subsystem
«subsystem»
Warehouse
Management
subsystem
Neste exemplo segue-se uma divisão vertical, por subsistemas!

Composição de pacotes (2)
«system»
Retail Enterprise System
«layer»
Retail Enterprise System - GUI
Neste exemplo segue-se uma divisão horizontal, por camadas!
«layer»
Retail Enterprise System - BL
«layer»
Retail Enterprise System - DB
Graphical User Interface
Business Logic
Database

Caso de estudo (biblioteca): divisão em
áreas funcionais
Relação com Clientes
(Leitores e Sócios)
<<subsystem>>
Gestão de Recursos
(Publicações)
<<subsystem>>
Relação com
Fornecedores
<<subsystem>>

Caso de estudo (biblioteca): divisão em
camadas técnicas
Lógica de
Negócio
<<layer>>
Base de Dados
<<layer>>
Interface com o
Utilizador
<<layer>>

Caso de estudo (biblioteca): divisão em
camadas técnicas e áreas funcionais
Lógica de Negócio -
Clientes
(from Lógica de Negócio)
Lógica de Negócio -
Recursos
(from Lógica de Negócio)
Base de Dados -
Clientes
Base de Dados -
Recursos
IU - Clientes
IU - Recursos
Tags