¿Qué es UML?
UML es un conjunto de herramientas que permite modelar (analizar y diseñar) sistemas orientados a objetos.
Estas herramientas consisten en diagramas e información textual (o tabular) y podemos destacar las siguientes:
Diagrama de casos de uso
Diagrama de clases
Diagrama de estados
Diagrama de secuencias
Diagrama de actividades
Diagrama de colaboraciones
Pero existen muchos más, cada uno de ellos representa un modelo de un aspecto del sistema. Lo cual nos hace ver que muchas veces para tener una visión mas completa del sistema debemos realizar varios tipos de estos diagramas, sin embargo gran parte de los problemas de analisis o diseño se pueden resolver con tan solo el 20% de UML.
Cada una de estas herramientas tiene sus ventajas y desventajas con respecto a otras. Lo importante es conocer sus limitaciones y la utilidad de cada una. UML es relativamente facil de aprender con un poco de practica y sentido común.
¿Qué no es UML?
UML no es una metología de desarrollo. No implica un conjunto de etapas para pasar por ejemplo del análisis, al diseño y a la implementación. No son una serie de pasos que te llevan a producir código a partir de unas especificaciones.
Todo esto implica que UML se puede utilizar con cualquier metodología, ya sea el ciclo en cascada, en espiral, o incluso metodologías ágiles como Scrum, porque es independiente del ciclo de desarrollo que vayas a seguir.
Programas de asistencia
Existen multitud de programas para aplicar UML. Este listado contiene los más usuales y quizá los mejores.
Software comercial:
Microsoft Visio
Enterprise Architect
Alternativas gratuitas:
DIA
UMLet
Kivio