A UML (Unified Modeling Language), que significa Linguagem Unificada de Modelagem é uma linguagem padrão para modelagem orientada a objetos. Ela surgiu da fusão de três grandes métodos, do BOOCH, OMT (Rumbaugh) e OOSE (Jacobson). Esta linguagem de modelagem não proprietária de terceira geração, não é um método de desenvolvimento. Têm como papel auxiliar a visualizar o desenho e a comunicação entre objetos. Ela permite que desenvolvedores visualizem os produtos de seu trabalho em diagramas padronizados, e é muito usada para criar modelos de sistemas de software.
Além de fornecer a tecnologia necessária para apoiar a prática de engenharia de software orientada a objetos, a UML poderá ser a linguagem de modelagem padrão para modelar sistemas concorrentes e distribuídos. Utiliza-se de um conjunto de técnicas de notação gráfica para criar modelos visuais de software de sistemas intensivos, combinando as melhores técnicas de modelagem de dados, negócios, objetos e componentes. É uma linguagem de modelagem única, comum e amplamente utilizável.
Embora com a UML seja possível representar o software através de modelos orientados a objetos, ela não demonstra que tipo de trabalho deve ser feito, ou seja, não possui um processo que define como o trabalho tem que ser desenvolvido. O objetivo então é descrever "o que fazer", "como fazer", "quando fazer" e "porque deve ser feito". É necessária a elaboração completa de um dicionário de dados, para descrever todas as entidades envolvidas, refinando, com isso, os requisitos funcionais do software.
A Linguagem Unificada de Modelagem possui diagramas (representações gráficas do modelo parcial de um sistema) que são usados em combinação, com a finalidade de obter todas as visões e aspectos do sistema.
Os Diagramas da UML estão divididos em Estruturais e Comportamentais.
Diagramas Estruturais
- De Classe: Este diagrama é fundamental e o mais utilizado na UML e serve de apoio aos outros diagramas. O Diagrama de Classe mostra o conjunto de classes com seus atributos e métodos e os relacionamentos entre classes.
- De Objeto: O diagrama de objeto esta relacionado com o diagrama de classes e, é praticamente um complemento dele. Fornece uma visão dos valores armazenados pelos objetos de um Diagrama de Classe em um determinado momento da execução do processo do software.
- De Componentes: Está associado à linguagem de programação e tem por finalidade indicar os componentes do software e seus relacionamentos.
- De implantação: Determina as necessidades de hardware e características físicas do Sistema.
- De Pacotes: Representa os subsistemas englobados de forma a determinar partes que o compõem.
- De Estrutura: Descreve a estrutura interna de um classificador.
Diagramas Comportamentais
- De Caso de Uso (Use Case): Geral e informal para fases de levantamento e análise de Requisitos do Sistema.
- De Máquina de Estados: Procura acompanhar as mudanças sofridas por um objeto dentro de um processo.
- De Atividades: Descreve os passos a serem percorridos para a conclusão de uma atividade.
- De Interação: Dividem-se em:
- De Sequência: Descreve a ordem temporal em que as mensagens são trocadas entre os objetos.
- Geral interação: Variação dos diagramas de atividades que fornece visão geral dentro do sistema ou processo do negócio.
- De comunicação: Associado ao diagrama de Seqüência, complementando-o e concentrando-se em como os objetos estão vinculados.
- De tempo: Descreve a mudança de estado ou condição de uma instância de uma classe ou seu papel durante o tempo.
Referências Bibliográficas:
http://pt.wikipedia.org/wiki/UML
https://web.archive.org/web/20160910144356/http://www.computacao.unitri.edu.br:80/downloads/monografia/49351143168297.pdf
https://web.archive.org/web/20101214121819/http://projetos.inf.ufsc.br:80/arquivos_projetos/projeto_721/artigo.tcc.pdf
http://www.macoratti.net/uml_vb.htm
Texto originalmente publicado em https://www.infoescola.com/engenharia-de-software/uml/