A UML é totalmente Orientada a Objetos, utilizando uma linguagem visual (Diagramas), auxilia no entendimento, definição, comportamento e a estrutura lógica do software a ser desenvolvido, não é uma linguagem de programação, portanto é adotada em diversas empresas que utilizam o conceito de Orientação a Objeto, independente do tipo de plataforma e linguagem de programação de desenvolvimento de Software.
Os Diagramas são citados abaixo:
- Caso de Uso;
 - Classes;
 - Objetos;
 - Estrutura Composta;
 - Sequencia;
 - Colaboração;
 - Estados;
 - Atividades;
 - Componentes;
 - Implantação;
 - Pacotes;
 - Integração Geral;
 - Tempo.
 
Em breve comentarei cada um deles no meu blog. Todas as informações sobre UML são de fácil acesso pela internet, e existem literaturas que abrangem detalhadamente o assunto.
Como por exemplo:
- *UML 2 : Guia Prático
 - UML na Prática: do Problema ao Sistema;
 - Como modelar com UML 2;
 - UML: Guia do Usuário;
 - Princípios de Análise e Projeto de Sistemas com UML;
 - UML 2.0: do Requisito à Solução;
 - Desenvolvendo Aplicações em UML 2.0;
 - Modelagem Visual com Rational Rose 2000 e UML;
 - UML: A Biblia;
 - *UML: Uma Abordagem Prática.
 
* Para quem esta começando sugiro as obras do autor Gilleanes T.A. Guedes, literatura de fácil entendimento com vários exemplos e exercícios propostos com Resolução.
Para a Modelagem UML no mercado temos diversas ferramentas conforme abaixo:
- Rational Rose;
 - *Enterprise Architect;
 - Visual Paradigm;
 - Poseidon;
 - ArgoUML;
 - *StarUML.
 
* Testei o E.A, excelente ferramenta para modelar em UML, pode ser baixado em versão trial no site do fabricante: http://www.sparxsystems.com.au/, o StarUML é free e atende a necessidade de diagramação rápida sem detalhes e a versão que testei a algum tempo não suportava a UML 2.0, não pode ser comparada as melhores Rational Rose e o E.A..
Abraços.