Prévia do material em texto
Diagrama de Pacotes
Motivação para o Diagrama de
Pacotes da UML
◼ Como você quebra um sistema grande em
sistemas pequenos?
◼ Como pequenos pedaços podem interagir
formando um sistema?
◼ Como podemos dar manutenção nestas
pequenas partes de projeto?
Motivação para o Diagrama de
Pacotes da UML
Uma Possível Solução:
Agrupar as classes em unidades de nível mais
alto.
Em programação este recurso se chama:
Quando Java → Pacote,
Quando .NET →NameSpace
Diagrama de Pacotes da UML
◼ O Diagrama de pacotes, ou diagrama de módulos,
definido pela UML, descreve os pacotes ou pedaços
do sistema divididos em agrupamentos lógicos
mostrando as dependências entre eles.
◼ Este diagrama é muito utilizado para ilustrar a
arquitetura de um sistema mostrando o
agrupamento de suas classes.
Diagrama de Pacotes da UML
◼ Um pacote representa um grupo de classes
(ou outros elementos). Os pacotes se
relacionam com outros pacotes através de
uma relação de dependência.
◼ Um diagrama de pacotes pode ser utilizado
em qualquer fase do processo de modelagem
e visa organizar os modelos.
Diagrama de Pacotes da UML
◼ O diagrama de pacotes é um diagrama estrutural
que tem por objetivo representar os subsistemas ou
submódulos englobados por um sistema de forma a
determinar as partes que o compõem.
◼ Pode ser utilizado de maneira independente ou
associado com outros diagramas.
◼ Esse diagrama pode ser utilizado também para
auxiliar a demonstrar a arquitetura de uma
linguagem, ou ainda para definir as camadas de um
software ou de um processo de desenvolvimento.
Diagramas de pacotes
exemplos
Modelo 3 camadas
Modelo DDD
1)interação
com o
usuário.
Aplicação Web
Aplicação
Mobile.
2) atividades
da aplicação.
interfaces/Con
trollers.
3) regra de
negócio da
aplicação.
2)fazer o intermédio
entre o modelo e a
visão. Retornando
somente os itens
necessários para a
comunicação entre o
modelo e a visão.
1)interação com o usuário. exibir as
informações enviadas pelo controller
Aplicação Web (Angular, React, Vue)
Aplicação Mobile (Android)
3) armazenar e
persistir os dados.
CRUD.
4) prover
serviços como
persistência e
envio de email
Diagramas de pacotes
exemplos
Modelo 3 camadas Modelo DDD
Diagrama de Pacotes da UML
Descreve como os elementos (pedaços de
sistema) são organizados dentro de pacotes e
suas dependências (agrupamento lógico),
mostrando, inclusive, pacotes importados e
extensões de pacotes.
Um pacote é um conjunto de elementos
agrupados.
Esses elementos podem ser classes, diagramas,
ou até mesmo outros pacotes.
Diagrama de Pacotes da UML
Sub pacotes
Diagrama de Pacotes da UML
• É um mecanismo de agrupamento geral que
serve para agrupar vários modelos
• Organiza elementos em grupo e costuma ser
utilizado na modelagem de sistemas muito
extensos.
• São utilizados para demonstrar os limites de
cada subsistema e como eles se inter-
relacionam.
Diagrama de Pacotes
▪ Um Diagrama de Pacotes demonstra o
agrupamento das classes e/ou interfaces.
▪ Um pacote é representado por uma pasta
(um retângulo com uma aba no canto
esquerdo da borda superior).
Modelo
Modelo
Cliente Produto
Diagrama de Pacotes da UML
◼ Os analistas de software se deparam com a
modelagem de sistemas grandes e muito
complexos, porem pensando no
desenvolvimento e manutenção futura,
necessitam de algo que os auxiliem a não
tornar essas tarefas muito complicadas.
◼ Nos últimos tempos, surgem sistemas cada
vez mais complexos, com estruturas de
classes imensas e arquiteturas de camadas
muito divididas.
Diagrama de Pacotes da UML
◼ Para evitar com que o software se torne tão
complexo ao ponto de se perder o
“controle”,
◼ houve-se a necessidade de quebrar um
grande complexo em menores partes de
menor complexidade, e as subpartes
interagirem entre si.
◼ principalmente para um entendimento mais
fácil de quem irá desenvolver e dar
manutenção nessas aplicações.
Diagrama de Pacotes da UML
Diagrama de Pacotes da UML
Diagrama de Pacotes da UML
Diagrama de Pacotes da UML
◼ É um conceito definido pela UML
diagrama de pacotes ou também
conhecidos como diagramas de
módulos.
◼ Esses diagramas têm como conceito
agrupadores lógicos de pedaços dos
sistemas (nível superior) com
dependência entre eles (interação de
pacotes), ou seja, pacotes podem
depender de outros pacotes.
Diagrama de Pacotes da UML
◼ Esses elementos agrupados podem
ser diagramas, classes, outros
pacotes, entre outros.
◼ Os pacotes sempre têm um nome
próprio e dentro alguns elementos
que são agrupados conforme os tipos
de elementos descritos a cima.
Diagrama de Pacotes da UML
◼ 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 uso – em diagramas de
casos de uso
Diagrama de Pacotes da UML
◼ Um pacote pode ter qualquer diagrama
da UML,
◼ porém são mais comuns em diagramas
de caso de uso, para ajudar a abstração do
domínio do problema,
◼ e em classes, para ajudar na organização
das classes construídas em sistemas médios e
grandes.
Diagrama de Pacotes da UML
Exemplo Antes do uso do Diagrama
Diagrama de Pacotes da UML
A mesma informação, porém
organizada de uma diferente forma
Diagrama de Pacotes da UML
◼ Existem nos diagramas de pacotes 3 tipos de
dependências:
◼ Dependências Simples: Uma alteração do pacote destino
influencia no pacote origem.
◼ Dependências <<access>>: O pacote origem acede a
elementos exportados pelo pacote de destino.
◼ Dependências <<import>>: O conteúdo público do pacote de
destino é adicionado ao pacote de origem.
◼ Existem 3 tipos de visibilidades de elementos dentro
dos pacotes:
◼ + (público) : visível por todos que importam ou acedem ao
pacote.
◼ # (protegido): visível só pelos pacotes-filhos (por relação de
generalização)
◼ – (privado): visível só por outros elementos do pacote.
Diagrama de Pacotes da UML
Exemplo
Decomposição de diagramas
de Caso de Uso
Decomposição de diagramas
de Caso de Uso
◼ Um projeto de software, normalmente,
contera um único Diagrama de Casos de Uso
descrevendo o conjunto de serviços oferecidos
pelo sistema.
◼ Para sistemas maiores ou mais complexos,
entretanto, é possível a construção de vários
diagramas de casos de uso elaborados a partir
da decomposição de um diagrama principal.
Decomposição de diagramas
de Caso de Uso
◼ Um projeto de software, normalmente,
contera um único Diagrama de Casos de Uso
descrevendo o conjunto de serviços oferecidos
pelo sistema.
◼ Para sistemas maiores ou mais complexos,
entretanto, é possível a construção de vários
diagramas de casos de uso elaborados a partir
da decomposição de um diagrama principal.
Decomposição de diagramas de Caso de Uso -
Exemplo de Pacotes e Dependências
Decomposição de diagramas
de Caso de Uso
◼ Não existe uma norma para separação dos
casos de uso e atores em pacotes.
◼ Pode-se agrupar dentro de um pacote casos
de uso de naturezas semelhantes:
◼ casos de uso de cadastro, casos de uso de
emissão de relatórios ou casos de uso
envolvendo os mesmos atores.
◼ Procura-se reunir casos de uso que possuem
relacionamentos em um mesmo pacote.
Decomposição de diagramas de Caso de Uso
Quando utilizar um Diagrama
de Pacotes
Quando utilizar um Diagrama
de Pacotes
◼ Ao término da análise do subsistema de
caso de uso
◼ Ao término de um módulo
◼ Para sistemas grandes, talvez grandes
áreas, ou talvez você tenha optado por
subdividir um grande módulo em outros
pequenos.
Quando utilizar um Diagrama
de Pacotes
◼ Para sistemas grandes, talvez grandes áreas, ou talvez você
tenha optado por subdividir um grande módulo em outros
pequenos.
◼ Demonstra a decomposição de uma sistema em subsistemas.
Quando utilizar um Diagrama
de Pacotes
◼ O critério para definir os pacotes é subjetivoe
depende da visão e das necessidades do
projetista.
◼ Este deve definir uma certa semântica e
colocar os elementos similares e que tendem a
serem modificados em conjunto num mesmo
pacote.
Decomposição de diagramas
de Classe
O que inserir em um
diagrama de pacotes
◼ Classes que estejam em uma mesma árvore
de herança.
◼ Classes que estejam em um mesmo jogo de
agregação ou composição.
◼ Classes que estejam aparecendo em um
mesmo diagrama de seqüência com muitas
colaborações (alto acoplamento).
O que inserir em um diagrama de pacotes
Classes que estejam em uma mesma árvore de
herança.
class FuncionarioAutenticavel
extends Funcionario {
public boolean autentica(int senha) {
// faz autenticacao padrão
}
}
O que inserir em um diagrama de pacotes
Classes que estejam em um mesmo jogo de
agregação ou composição.
O que inserir em um diagrama de pacotes
Classes que estejam aparecendo em um mesmo
diagrama de seqüência com muitas
colaborações (alto acoplamento).
O que inserir em um
diagrama de pacotes
◼ Em muitos casos um único diagrama de
classes pode ser exageradamente grande para
representar todo o sistema.
◼ Assim é conveniente utilizar um elemento para
organizar os modelos. Para isto utiliza-se o
diagrama de pacotes. Um diagrama de
pacotes pode ser utilizado em qualquer fase
do processo de modelagem.
„
O que inserir em um
diagrama de pacotes
diagrama de pacotes maneira
de demonstrar
O que inserir em um
diagrama de pacotes
◼ „Pacote de utilitários, contendo classes sem
afinidade direta com o domínio do problema,
porém que são necessárias para manutenção
do sistema. Como classes de cadastros
diversos.
O que inserir em um
diagrama de pacotes
◼ As classes estereotipadas:
◼ Boundary: classe de fronteira, geralmente interfaces gráficas.
◼ Control: classe de controle, geralmente implementa as regras
de negócio.
◼ Entity: classe de entidade, geralmente implementa os objetos
persistentes.
O que inserir em um
diagrama de pacotes
O que inserir em um
diagrama de pacotes
Exemplo de diagrama de
pacotes
Exemplo de diagrama de pacotes
Dependência em nível de elementos
UML – Diagramas de Pacotes
◼ Pode demonstrar classes seus respectivos pacotes.
Diagrama de Pacotes da UML
– Modelo Três Camadas
◼ Apresentação: janelas, relatórios
◼ Aplicação: registrar vendas, autorizar
pagamentos
◼ Armazenamento: BD
1. Pode-se separar a camanda da aplicação em
diferentes componentes a serem reutilizados
2. Diferentes equipes para o desenvolvimento
3. Camadas distribuídas em um sistema cliente
servidor aumentam desempenho
Diagrama de Pacotes da UML
– Modelo Três Camadas
Diagrama de Pacotes da UML
– Camada do Domínio
Diagrama de Pacotes da UML
– Exemplo
Diagrama de Pacotes da UML
◼ Concluísse assim que diagramas de pacotes, são
agrupadores genéricos de vários elementos vistos
nos diagramas UML,
◼ tendo em vista deixar as aplicações com uma menor
complexidade quebrando esses sistemas em
subpartes menores,
◼ para uma fase de desenvolvimento mais tranquila, e
para futuras manutenções se tornarem mais ágeis e
“limpas”.
Diagrama de Pacotes da UML
◼ Bem analisado e com o conceito de diagramas de
pacotes bem maduro por quem for pensar,
◼ levantar os requisitos do sistemas e montar os
diagramas possibilita as empresas terem softwares
complexos e de fácil desenvolvimento e manutenção,
Diagrama de Pacotes da UML
◼ permitindo uma agilidade na correção de bugs e
realização de melhorias, aumentando o respeito do
software no mercado e possibilitando o aumento de
vendas e evitando ter aquele velho conhecido das
empresas de softwares, que o código do “fulano” só
ele sabe dar manutenção.
The end
Slide 1: Diagrama de Pacotes
Slide 2: Motivação para o Diagrama de Pacotes da UML
Slide 3: Motivação para o Diagrama de Pacotes da UML
Slide 4: Diagrama de Pacotes da UML
Slide 5: Diagrama de Pacotes da UML
Slide 6: Diagrama de Pacotes da UML
Slide 7: Diagramas de pacotes exemplos
Slide 8: Diagramas de pacotes exemplos
Slide 9: Diagrama de Pacotes da UML
Slide 10: Diagrama de Pacotes da UML Sub pacotes
Slide 11: Diagrama de Pacotes da UML
Slide 12: Diagrama de Pacotes
Slide 13: Diagrama de Pacotes da UML
Slide 14: Diagrama de Pacotes da UML
Slide 15: Diagrama de Pacotes da UML
Slide 16: Diagrama de Pacotes da UML
Slide 17: Diagrama de Pacotes da UML
Slide 18: Diagrama de Pacotes da UML
Slide 19: Diagrama de Pacotes da UML
Slide 20: Diagrama de Pacotes da UML
Slide 21: Diagrama de Pacotes da UML
Slide 22: Diagrama de Pacotes da UML Exemplo Antes do uso do Diagrama
Slide 23: Diagrama de Pacotes da UML A mesma informação, porém organizada de uma diferente forma
Slide 24: Diagrama de Pacotes da UML
Slide 25: Diagrama de Pacotes da UML Exemplo
Slide 26: Decomposição de diagramas de Caso de Uso
Slide 27: Decomposição de diagramas de Caso de Uso
Slide 28: Decomposição de diagramas de Caso de Uso
Slide 29: Decomposição de diagramas de Caso de Uso - Exemplo de Pacotes e Dependências
Slide 30: Decomposição de diagramas de Caso de Uso
Slide 31: Decomposição de diagramas de Caso de Uso
Slide 32: Quando utilizar um Diagrama de Pacotes
Slide 33: Quando utilizar um Diagrama de Pacotes
Slide 34: Quando utilizar um Diagrama de Pacotes
Slide 35: Quando utilizar um Diagrama de Pacotes
Slide 36: Decomposição de diagramas de Classe
Slide 37: O que inserir em um diagrama de pacotes
Slide 38: O que inserir em um diagrama de pacotes Classes que estejam em uma mesma árvore de herança.
Slide 39: O que inserir em um diagrama de pacotes Classes que estejam em um mesmo jogo de agregação ou composição.
Slide 40: O que inserir em um diagrama de pacotes Classes que estejam aparecendo em um mesmo diagrama de seqüência com muitas colaborações (alto acoplamento).
Slide 41: O que inserir em um diagrama de pacotes
Slide 42: O que inserir em um diagrama de pacotes
Slide 43: diagrama de pacotes maneira de demonstrar
Slide 44: O que inserir em um diagrama de pacotes
Slide 45: O que inserir em um diagrama de pacotes
Slide 46: O que inserir em um diagrama de pacotes
Slide 47: O que inserir em um diagrama de pacotes
Slide 48: Exemplo de diagrama de pacotes
Slide 49: Exemplo de diagrama de pacotes Dependência em nível de elementos
Slide 50
Slide 51: Diagrama de Pacotes da UML – Modelo Três Camadas
Slide 52: Diagrama de Pacotes da UML – Modelo Três Camadas
Slide 53: Diagrama de Pacotes da UML – Camada do Domínio
Slide 54: Diagrama de Pacotes da UML – Exemplo
Slide 55: Diagrama de Pacotes da UML
Slide 56: Diagrama de Pacotes da UML
Slide 57: Diagrama de Pacotes da UML
Slide 58: The end