É uma construção de agrupamento que permite a você pegar qualquer construção na uml e agrupar...
TRANSCRIPT
![Page 1: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/1.jpg)
Diagrama de PacotesUML 2.0
![Page 2: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/2.jpg)
O que é um pacote?
![Page 3: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/3.jpg)
É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto.
Representa um grupo de classes (ou outros elementos) que se relaciona com outros pacotes através de uma relação de dependência.
![Page 4: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/4.jpg)
Os pacotes também podem ser membros de outros pacotes, construindo uma estrutura hierárquica.
![Page 5: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/5.jpg)
Cada pacote representa um espaço de nomes, o que significa que toda classe deve ter um nome exclusivo dentro do pacote a que pertence. Se eu quiser criar uma classe Date e já existir uma classe Date dentro do pacote System, eu posso ter minha classe Date, desde que a coloque em um outro pacote.
![Page 6: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/6.jpg)
E o Diagrama de pacotes?
![Page 7: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/7.jpg)
Nos diagramas os pacotes são mostrados por uma pasta com guia.
![Page 8: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/8.jpg)
Você pode:
![Page 9: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/9.jpg)
Mostrar simplesmente o nome do pacote
![Page 10: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/10.jpg)
Ou mostrar também o conteúdo.
![Page 11: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/11.jpg)
Usar nomes totalmente qualificados
![Page 12: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/12.jpg)
Ou normais aninhados
![Page 13: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/13.jpg)
Nomes totalmente qualificados
Nome que mostra a estrutura do pacote ao qual pertence.
Ex: Java::Util::Date
![Page 14: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/14.jpg)
E como escolher que classe colocar em que pacote?
Xiii!! Muito complicado. É necessário uma habilidade em
projetos para ser respondida. Porém existem dois princípios
básicos dos diagramas de pacotes, são eles, o Princípio do Fechamento Comum e o Princípio da Reutilização Comum .
![Page 15: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/15.jpg)
Princípio do Fechamento Comum
As classes de um pacote devem precisar de alterações por motivos semelhantes.
![Page 16: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/16.jpg)
Princípio da Reutilização Comum
Todas as classes de uma pacote devem ser reutilizadas juntas.
![Page 17: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/17.jpg)
Pacotes e Dependências
![Page 18: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/18.jpg)
Se você tem pacotes de apresentação e de domínio, então tem uma dependência do pacote de apresentação para o pacote de domínio, caso qualquer classe do pacote de apresentação dependa de qualquer classe do pacote de dependência.
![Page 19: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/19.jpg)
Logo, as dependências entre pacotes resumem as dependências entre seus conteúdos.
![Page 20: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/20.jpg)
![Page 21: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/21.jpg)
Aspectos dos Pacotes
![Page 22: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/22.jpg)
Observando o diagrama 2.7 percebemos que ele possui dois tipos de estruturas
A camada de aplicação: apresentação, domínio, mapeamento de dados e banco de dados.
E a áreas de assunto: arrendamento e bens.
![Page 23: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/23.jpg)
Para visualizar melhor você pode separar os dois aspectos:
![Page 24: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/24.jpg)
Como implementar Pacotes?
![Page 25: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/25.jpg)
Frequentemente, você verá um caso em que um pacote define uma interface que pode ser implementada por vários outros pacotes.
![Page 26: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/26.jpg)
![Page 27: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/27.jpg)
![Page 28: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/28.jpg)
Quando usar Diagramas de Pacotes?
![Page 29: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/29.jpg)
É extremamente útil em sistemas de grande porte, para ter uma visão de dependência entre os principais elementos de um sistema.
![Page 30: É uma construção de agrupamento que permite a você pegar qualquer construção na UML e agrupar seus elementos em unidades de nível alto. Representa](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc178497959413d8efee6/html5/thumbnails/30.jpg)
Mais informações:
Pesquise Robert Martin.