UML
Autor: Daiana Bueno | Publicado: 2010-08-24T13:29:00-03:00

Fazer software não é uma tarefa fácil. Fazer software de qualidade é ainda mais difícil, onde os padrões, custos e prazos são respeitados. São inúmeros os esforços no desenvolvimento de ferramentas que auxiliam a industria de software. Dentre essas ferramentas vamos abordar a UML – Unified Modeling Language, linguagem de modelagem não proprietária, criada para facilitar e uniformizar a forma de especificação, visualização, construção e documentação de projetos de desenvolvimento de software, mais que uma linguagem de programação voltada para planejamento, a UML é uma técnica de organização de grupos.
A UML possui diversos mecanismos de extensão que permitem que ela possa ser utilizada em diversos domínios diferentes, ela pode ser usada para modelar várias fases de um sistema, desde os primeiros contatos até a geração do código. É aplicada em qualquer tipo de sistemas em termos de diagramas de orientação a objeto.
Tipos de diagramas da UML: a divisão é feita em dois seguimentos diagramas estáticos e diagramas dinâmicos, dentro de cada um existe várias denotações:
Estáticos:
Diagramas de Use Cases: tem o objetivo de auxiliar a comunicação entre os analistas e o cliente. Um diagrama de Use Cases descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário.&nbsp; O cliente deve ver no diagrama de Use Cases as principais funcionalidades de seu sistema.
Diagramas de Classes: descrever os vários tipos de objetos no sistema e o relacionamento entre eles.
Diagramas de Pacotes: agrupa classes em pacotes.
Dinâmicos:
Diagramas de Interação: são modelos que descrevem como grupo de objetos colaboram em um determinado comportamento. Utiliza-se o diagrama de atividade para representar o comportamento de objetos entre vários use cases, ele é dividido em dois diagramas de Sequência e Colaboração.
- Sequência: consiste em um diagrama que tem o objetivo mostrar como as mensagens entre os objetos são trocadas no decorrer do tempo para a realização de uma operação.
- Colaboração: A grande diferença entre um diagrama de colaboração e um de seqüência consiste no fato de que o tempo não é mais representado por linhas verticais, mas sim através de uma numeração.

Diagramas de Estado: um objeto possui um comportamento e um estado. O estado de um objeto depende da atividade na qual ele está processando. Um diagrama de estado mostra os possíveis estados de um objeto e as transações responsáveis pelas suas mudanças de estado.

Diagramas de Atividade: O objetivo do diagrama de atividades é mostrar o fluxo de atividades em um único processo. O diagrama mostra como uma atividade depende uma da outra.

Ferramentas de Apoio
Além dos conceitos que envolvem a UML, na hora de partir para desenvolvimento é preciso contar com ferramentas de apoio os softwares, existem vários que auxiliam o desenvolvimento, entre eles: StarUML, ArgoUML, Violet, BOUML, &nbsp;UMLet UML, UMLGraph, Dia GTK, MetaUML GNU GPL, todos esses são Open Source.&nbsp; Existem ainda alguns geradores de diagramas UML on-line: WebSequenceDiagram, yUML, zOOml – zOOml.

Conclusão
Da mesma forma que é impossível construir uma casa sem primeiramente definir sua planta, também é impossível construir um software sem inicialmente definir sua arquitetura. Desta forma, é extremamente importante ter uma representação visual do sistema antes que ele entre na etapa de implementação. Por isso a UML tem uma papel essencial, evitando desperdício de tempo, dinheiro e retrabalhos. Por isso vale a pena buscar conhecimentos e entender o papel da UML.