sexta-feira, 1 de junho de 2012

Diagrama de pacotes uml exemplo

Amigos e amigas tudo bem? Hoje eu vou retirar um pouco a parte técnica dos meus artigos e voltar a falar sobre UML... Mas, pq? Veja bem, mesmo vc montando tudo tecnicamente perfeito é preciso que isso esteja bem definido e nada como a UML para resolver isso. Não entendeu? Eu particularmente não gosto daquele estilo de pessoa que não quer explicar, que tenta explicar algo apenas para te complicar mais e vc achar que o cara é o fodão(o que na maioria das vezes não é verdade). Bem deixa eu parar de viajar e voltar ao assunto sobre "O POR QUÊ A UML DEIXA BEM DEFINIDO UM SISTEMA"... 

Vamos imaginar que você é um empresario de uma grande empresa(bom hein? Se vc for essa pessoa tem como me emprestar uns trocados?) E então precisa mostrar o andamento financeiro da empresa como uma visão geral, AMPLA de tudo que esta acontecendo o que vc iria fazer? Entregrar relatórios com milhões de páginas cheias de números ou basicamente montar gráficos para que as pessoas se localizem facilmente e posteriormente se aprofundem no caso da empresa? Pois bem, o diagrama de pacotes é basicamente essa visão geral das camadas do nosso sistema. Ele já existia nas versões anteriores da UML, mas foi considerado totalmente independente a partir da UML 2. Tem por objetivo representar de forma clara os sub-sistemas 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. Veja um exemplo desse carinha:


Nesse caso definitivamente buscamos "visualizar" o sistema de cima e seria mais o menos essa a visão. O diagrama de pacotes(assim como toda a UML) não segue uma regra a RISCA de o que devemos inserir como "pacotes", eu particularmente prefiro inserir camadas que deixa bem claro para um desenvolvedor novo em um projeto X como se trabalha aqui. 

Veja outro exemplo, vamos supor que trabalhamos em um projeto que utiliza Yii Framework (Framework PHP) e Propel(ORM) e gostariamos de inserir uma camada central que fosse capaz de fazer a ligação dos dois frameworks com baixo acoplamento, fazendo isso poderiamos mudar facilmente o propel por exemplo para injetar um Doctrine e para entender essas camadas por cima iriamos montar o diagrama de pacotes que seria mais o menos assim:

Esse já poderia ser um módulo ou sub-sistema mas esse assunto não vem ao caso, olhando ele por cima veja o que temos, uma camada do propel que chamamos de Infraestrutura, outra de Negocio que é uma classe nossa que irá fazer as chamadas ao Yii e as camadas do mesmo com o controller, os forms, o config,views e languages.
Veja que em instantes já entendemos a arquitetura geral de distribuição desse cara e quando criarmos métodos na camada de negócio vamos montar um código muito mais coeso sem dúvidas.

Conclusão
- O diagrama de compomentes esta amplamente associado a tecnologia que utilizamos 
- Apresenta uma visão estática de como o sistema será implementado e quais os seus módulos de software.
- Destaca a função de cada módulo monstrando a utilidade do mesmo em um certo sistema



 
 

Nenhum comentário:

Postar um comentário