UML

UML (unifed modeling language) é uma linguagem de cariz gráfico cujo valor reside na comunicação e entendimento na execução de um projecto. Sendo, por norma, as equipas multidisciplinares é necessário uma planificação que seja entendida por todos de modo a minimizar os erros invitáveis da comunicação provenientes, a maior parte, de estereótipos, preconceitos e mau feitio comuns em todas as pessoas.
É em 1997 que surge o uml unificando diversos tipos de notações gráficas, claro que por si só não resolve todos os problemas num processo de engenharia de software ou mecanismos, todavia, se bem usada poderá facilitar em muito a execução de um projecto. O UML está intimamente ligado à modelagem orientada a objectos e a disputas metodológicas de padronização.
Mais do que encontrar bons diagramas explicativos do problema o uml pretende encontrar metamodelos, ou seja, descrições dos conceitos de um domínio de estudo.
Abordagens mais recentes encaram o UML como uma linguagem de programação, é uma possibilidade real e com imensa potencialidade; contudo, nos dias de hoje define uma notação e um metamodelo. Notação pois tem uma sintaxe gráfica de modelagem própria e metamodelo pois demonstra características, relacionamentos, interacções e estados.
Sendo assim, encontramos para um mesmo problema a possibilidade de o explicar, exemplificar e simplificar de diversas perspectivas, com detalhes distintos e focando aspectos diferentes. O vários tipos de diagramas permitem esta flexibilidade.
Podemos dividir os diagramas em dois grandes grupos, os diagramas de estrutura e os de comportamento. Os diagramas de estrutura englobam os diagramas de classes, objectos, componentes, pacotes, instalação e estruturas compostas. Nos de comportamento encontramos os diagramas de actividades, use cases, estados e interacções, estes últimos poderão subdividir-se em diagramas de sequência, comunicação, interacção geral e sincronização.

Referências ao livro UML Essencial - Fowler, Martin