sexta-feira, 30 de novembro de 2012

Introdução à modelagem utilizando UML

Ola Pessoal,
hoje vamos valar sobre modelagem UML, espero que gostem!


UML ou Unified Modeling Language é uma linguagem de modelagem não proprietária de terceira geração. A UML não é uma metodologia de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicação entre objetos.

Basicamente, a UML permite que desenvolvedores visualizem os produtos de seus trabalhos em diagramas padronizados. Junto com uma notação gráfica, a UML também especifica significados, isto é, semântica.
Os objetivos da UML são: especificação, documentação, estruturação para sub-visualização e maior visualização lógica do desenvolvimento completo de um sistema de informação. A UML é um modo de padronizar as formas de modelagem. A UML é o padrão da industria para modelagem de softwares que usam a orientação a objetos (OO).

Entre os anos 80 e 90 havia muitos conflitos na definição de nomenclatura na área de modelagem. A escolha de padrões era feito a gosto pessoal do que por fatores técnicos. Com isso os três nomes mais respeitados nessa área, cada qual com seus conceitos sendo eles o Ivar Jacobson, Grand Booch e James Rumbaugh, decidiram criar um modelo único que veio a ser UML. A UML seria como uma planta para construção do seu sistema e pretende ser a linguagem de modelagem padrão para modelar sistemas concorrentes e distribuídos.

A modelagem UML antecede as etapas de desenvolvimento ou analise de Hardware e ate mesmo de infraestrutura, estamos pensando apenas nos fluxos e ações de um sistema.

A modelagem UML apresenta de forma gráfica os elementos essências usados na orientação a objetos como as Classes, Atributos, Objetos, Troca de Mensagens, etc.

A modelagem UML utiliza-se de vários tipos de Visões para apresentação de diagramas UML e cada tipo possui uma característica e função principal.

·         Visão do modelo de Usuário: apresenta a visão do usuário em relação o sistema, sendo descrita principalmente pelo uso dos casos de Uso.
o   Diagramas de Caso de Uso.

Para montar esse diagrama é preciso obter os elementos: Ator, Casos de Uso e Relacionamentos.

O Ator é representado por um boneco e um rótulo com o nome do autor. O ator pode ser um usuário humano ou outro usuário sistema.

Casos de Uso: A UML pretende ser a linguagem de modelagem padrão para modelar sistemas concorrentes e distribuídos.

Relacionamentos: Define uma funcionalidade do sistema do ponto de vista do usuário. O relacionamento pode ocorrer entre Atores e entre Atores e Casos de Uso.

Os tipos de relacionamentos podem ser:
Associação: Define uma funcionalidade do sistema do ponto de vista do usuário.

Generalização: Esse tipo de relacionamento é comum quando temos Atores que se relacionam e esse tipo de relacionamento mostra que um Ator herda de outro Ator seus casos de uso, ou seja, ambos atores possuem casos de uso comuns.

Include: Indica que um dos casos de uso é essencial para o comportamento do outro caso de uso. Exemplo: Caso de Uso A relaciona-se com o Caso de Uso B com tipo Include. Essa relação diz que o Caso de Uso B é essencial para o Caso de Uso A.

Extend: Ponto de extensão de um caso de uso é uma indicação de que outros casos de uso poderão ser adicionados a ele. Quando o caso de uso for invocado, ele verificará se suas extensões devem ou não ser invocadas.
Um relacionamento extend de um caso de uso B para um caso de uso A indica que o caso de uso B pode ser acrescentado para descrever o comportamento de A. A extensão é inserida em um ponto de extensão do caso de uso A.






·         Visão do modelo Estrutural: apresenta a estrutura do sistema.

o   Diagrama de Pacotes: Objetivo principal é agrupar classes em pacotes. Todo sistema que não for comum precisa ser dividido em pacotes para ficarem mais fáceis de entender.

 


o   Diagrama de Classes: Especifica a estrutura estática do sistema segundo a abordagem orientada por objetos. Mostra a estrutura de classes e como estas se relacionam com seus Atributos, Métodos, Associações, Agregações, Heranças e Dependências.

ü  Garantir que a classe informe o comportamento necessário às realizações dos casos de uso.
ü  Garantir que sejam fornecidas informações suficientes para implementar a classe sem ambiguidades.
ü  Tratar dos requisitos não funcionais relativos à classe.
ü  Incorporar os mecanismos de design usados pela classe.





o   Diagrama de Objetos: variante do diagrama de classes. Representa um exemplo do diagrama de classes num determinado instante da execução do sistema. Utilizam quase a mesma notação que o diagrama de classes, a diferença é que o diagrama de objetos mostra os objetos que foram instanciados num relacionamento de classes.





o   Diagrama de Estrutura Composta: Um diagrama de estrutura composta pode ser utilizado para mostrar a decomposição de uma classe estruturada. Como exemplo, a figura a seguir mostra um diagrama de estrutura composta para bilheteria no sistema de ingressos. Esta classe é decomposta em três partes:
·         Uma interface com o vendedor de ingressos
·         Um guia de desempenho que recupera desempenhos de acordo com a data e outros critérios
·         Um conjunto de bancos de dados que contém os dados nos desempenhos e ingressos.
Cada peça interage por meio de uma interface bem definida especificada por suas portas. Toda a bilheteria interage com o exterior por meio de uma porta. As mensagens nessa porta são enviadas para a classe de vendedor de ingressos, mas a estrutura interna da classe de bilheteria é oculta para os clientes externos.





·         Visão do Modelo Dinâmico: apresenta à dinâmica e o comportamento do sistema, sua interação com o usuário e com sistemas externos.

o   Diagrama de Sequencia ou Diagrama de Comunicação/Colaboração: Para modelarmos como os objetos do sistema interagem entre si, é utilizado o diagrama de sequência ou o de colaboração. Usa-se modelar um diagrama para cada função (use-case) definida no diagrama de use-cases



o   Diagrama de Transição de Dados: É uma representação do estado ou situação em que um objeto pode se encontrar no decorrer da execução de processos de um sistema. Com isso o objeto pode passar de um estado inicial para um estado final, através de uma transição.




o   Diagrama de Maquina de Estado (estado de objetos): Este diagrama procura acompanhar as mudanças sofridas nos estados de uma instância de uma determinada classe. O diagrama de máquina de estados é um dos diagramas disponíveis na UML para a modelagem dos aspectos dinâmicos de sistemas. Assim como o diagrama de sequencia, o diagrama de máquina de estados muitas vezes baseia-se em um caso de uso descrito em um e apoia-se no diagrama de classes. 







o   Diagrama de Tempo: Apresenta o comportamento dos objetos e sua intenção em uma escala de tempo, focalizando as condições que mudam no decorrer desse período.





·         Diagrama de Implementação: apresenta aspectos estruturais do sistema relacionados ás necessidades de implementação.

o   Diagrama de Componentes: Serve para marcar como nosso sistema está dividido por módulos. E quais as dependências entre cada módulo. O diagrama de componentes enfatiza os componentes de software físico (imagens, bibliotecas, pacotes...).
Sua finalidade é adaptar a estrutura de modelo para refletir a organização da equipe ou as restrições da linguagem de implementação.






·         Visão do modelo de Ambiente: apresenta o modelo alvo e as necessidades para se colocar o sistema em funcionamento.

o   Diagrama de implantação ou Instalação: Descrevem os componentes de hardware e software e sua interação com os outros elementos de suporte ao processamento.
Representa a configuração e a arquitetura de um sistema em que estarão ligados seus respectivos componentes, sendo representado pela arquitetura física de hardware, processadores e etc...


Pessoal, agradeço a oportunidade de postar mais este post para todos e espero que gostem!

Não esqueça de enviar seus comentários, sugestão, critica e elógio para nós!

Abraço!

Referências usada:

http://pt.wikipedia.org/wiki/Uml

Nenhum comentário:

Postar um comentário

Ola, obrigado por seu comentário!