Registro
Tipo de Processo
Representação Visual
Tipo de Mapa Mental
Representação Estruturada
Tipo de Notas
Tipo de Eficiência
Diagrama de fluxo básico
UML
BPMN
Diagrama de Venn
Distribuição gratuita
Diagrama de parênteses
Organograma
Diagrama de espinha de peixe
Linha do tempo
Diagrama de árvore
Modo Padrão

『"Isto é UML!" 』Aula 11 da série: Imagem do pacote

Escritor convidado: Xiangyuting IT Park
2024-08-30
87

O que são pacotes e diagramas de pacotes

Pacote é um mecanismo para organizar e gerenciar elementos de modelos no UML, agrupando elementos de modelos conceitualmente semelhantes e relacionados (incluindo estáticos e dinâmicos) em um pacote, formando módulos com diversas funções ou usos, e controlando a visibilidade dos elementos no pacote para facilitar a compreensão de sistemas complexos.

Um diagrama de pacotes é composto por relacionamentos entre pacotes, exibindo as dependências entre os diversos módulos do sistema por meio da descrição dos relacionamentos entre pacotes.

Diagrama de Pacotes


Representação de Pacotes

Os pacotes são representados de maneira semelhante às pastas do sistema operacional, portanto, no UML, utilizam-se símbolos de pasta semelhantes para representá-los:

Nome do Pacote

Dentro do mesmo nível, cada pacote deve ter um nome distinto dos outros pacotes. Os nomes dos pacotes podem ter duas formas:

1. Nome Simples (Simple Name)O nome simples contém apenas a string do nome do pacote, como no exemplo abaixo:

2. Nome de Caminho (Path Name)Em muitos casos, um pacote pode conter outros pacotes. Quando se utiliza um pacote interno, pode-se usar o nome de caminho para especificar o caminho do pacote, com a sintaxe básica: Nome do Pacote Externo::Nome do Pacote Interno. A imagem abaixo ilustra que o pacote “Borrow” está localizado dentro do pacote “SystemInterface”:

Elementos Dentro do Pacote

Pacotes são mecanismos de agrupamento, portanto, um pacote pode conter qualquer elemento do UML, como classes, casos de uso, interfaces, componentes, nós, etc., e também pode conter outros pacotes, diagramas de casos de uso, diagramas de colaboração, diagramas de sequência, etc.

Visibilidade dos Elementos Dentro do Pacote

A visibilidade dos elementos dentro de um pacote inclui três tipos principais:

  1. Público (public)Indicado pelo símbolo “+” antes do elemento, o que significa que o elemento é visível para todos os elementos que importam o pacote.
  2. Privado (private)Indicado pelo símbolo “-” antes do elemento, o que significa que o elemento só é visível para os elementos dentro do mesmo pacote.
  3. Protegido (protected)Indicado pelo símbolo “#” antes do elemento, o que significa que o elemento é visível para elementos em pacotes que herdam o pacote.

A imagem abaixo mostra os três tipos de visibilidade dos elementos dentro de um pacote:

Contém três métodos de representação de visibilidade para elementos

A visibilidade das três classes “classe A”, “classe B” e “classe C” na figura acima são públicas, privadas e protegidas respectivamente.

Relacionamentos Entre Pacotes

Os relacionamentos entre pacotes são principalmente de dependência e generalização.

1. DependênciaA dependência entre pacotes refere-se à existência de uma dependência entre alguns elementos de dois pacotes. A dependência é representada por uma linha pontilhada com uma seta, apontando do pacote que depende para o pacote sendo dependido. Os relacionamentos de dependência entre pacotes podem ser generalização, implementação, importação, etc. A imagem abaixo representa a dependência entre dois pacotes:

A dependência de importação (import dependency) permite que os elementos de um pacote acessem os elementos de outro pacote e pode ser representada adicionando o estereótipo <<import>> na linha pontilhada. A dependência de importação não é transitiva.

2. GeneralizaçãoA generalização entre pacotes é semelhante à generalização entre classes. A generalização entre pacotes refere-se a um pacote especializado substituindo elementos de um pacote geral e podendo adicionar novos elementos. Na prática, a generalização entre pacotes também é um tipo de dependência.

Estereótipos de Pacote

A imagem abaixo mostra alguns estereótipos de pacotes e utiliza diferentes gráficos ou símbolos para representá-los:

Princípios de Design de Pacote

Durante a modelagem, pode-se seguir os seguintes princípios:

  1. Princípio da Reutilização EquivalenteElementos de modelo reutilizáveis semelhantes devem ser agrupados em um pacote, evitando misturar elementos reutilizáveis com elementos não reutilizáveis no mesmo pacote.
  2. Princípio da Reutilização ConjuntaColoque vários elementos de modelo que precisam ser reutilizados juntos no mesmo pacote para reduzir as dependências entre pacotes e aumentar a independência dos pacotes.
  3. Princípio da Encapsulação ConjuntaColoque elementos de modelo que podem ser modificados ou mantidos juntos em um pacote para facilitar manutenção e atualizações futuras.
  4. Princípio da Não-Circularidade de DependênciaAs dependências entre pacotes não devem formar ciclos, ou seja, não deve haver uma situação em que o pacote A depende do pacote B, e o pacote B depende do pacote A, ou múltiplos pacotes formam uma dependência circular.

Técnicas de Modelagem de Diagramas de Pacote

Strictamente falando, o diagrama de pacotes não é um diagrama UML no sentido verdadeiro, mas desempenha um papel importante na categorização de elementos de modelo, estrutura do modelo e namespace de programa. No processo de modelagem, podem-se usar as seguintes práticas para desenhar diagramas de pacotes:

  1. Analise os elementos do modelo do sistema e agrupe os elementos conceitualmente ou semanticamente semelhantes em um pacote.
  2. Identifique a visibilidade de cada elemento dentro do pacote.
  3. Determine as dependências entre pacotes.
  4. Desenhe o diagrama de pacotes e otimize-o.

Usando o ProcessOn para Desenhar Diagramas de Pacotes

No ProcessOn, você pode criar diagramas de pacotes dentro de arquivos UML, ou adicionar elementos gráficos necessários à criação do diagrama de pacotes em um diagrama de fluxo.

1. Criar PacoteArraste o elemento "pacote" da seção de componentes gráficos UML na lateral esquerda do editor para a área em branco do editor à direita para criar o pacote.

Crie um pacote usando ProcessOn


2. Renomear PacoteClique no “Nome do Pacote” do gráfico do pacote para renomeá-lo.

3. Adicionar Elementos ao PacoteDurante a criação do diagrama, você pode arrastar gráficos da seção de componentes gráficos à esquerda para a área em branco do editor para criar gráficos. Depois, selecione o gráfico e ajuste as propriedades relacionadas através da barra de ferramentas superior e do painel de ferramentas à direita.

Adicione elementos ao pacote

4. Adicionar Relacionamentos Entre PacotesPara adicionar relacionamentos, use a tecla de atalho “L”, ou arraste o elemento “linha” da seção de componentes gráficos básicos à esquerda para a área em branco do editor, ou mova diretamente de uma extremidade de um gráfico para outra extremidade de um gráfico. Para adicionar uma dependência, selecione o “pacote dependente”, clique em uma extremidade e arraste até o “pacote dependido”, soltando o mouse para completar a dependência.

Exemplos de Modelagem

A seguir, dois exemplos de diagramas de pacotes para ilustrar a aplicação prática dos diagramas de pacotes:

O primeiro exemplo reflete a organização dos elementos do modelo durante a modelagem, usando pacotes para organizar diversos modelos conforme a fase de análise e design do sistema.

A organização de cada elemento do modelo durante o processo de modelagem


O segundo exemplo descreve a organização dos elementos do sistema durante o desenvolvimento. A UI inclui várias interfaces de usuário usadas, BLL contém várias classes ou interfaces para processamento de lógica de negócios, DAL contém classes relacionadas ao acesso a dados, e Common armazena componentes ou classes

compartilhados entre os módulos do sistema.

Organização de vários elementos no desenvolvimento de sistemas

Diagrama UML
Capacidade de trabalho
Mapa Mental e Fluxograma Colaborativo Online Gratuito Uso Gratuito