Portal_do_estudante_ADS
13,160 views
14 slides
Nov 13, 2012
Slide 1 of 14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
About This Presentation
No description available for this slideshow.
Size: 50.8 KB
Language: pt
Added: Nov 13, 2012
Slides: 14 pages
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