27 de Abril de 2014 V - 25153956 Definicin UML (De las siglas en ingls Unified Modeling Language) es un lenguaje grfico para crear esquemas y diagramas que permiten visualizar, especificar, construir y documentar un sistema. La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo. Un modelo es una representacin simplificada de la realidad; el modelo UML describe lo que supuestamente har un sistema, pero no dice cmo implementar dicho sistema.
Diagramas Diagrama de Clases: Los diagramas de clases describen la estructura esttica de un sistema. Las cosas que existen y que nos rodean se agrupan naturalmente en categoras. Una clase es una categora o grupo de cosas que tienen atributos (propiedades) y acciones similares. Un ejemplo puede ser la clase Avin que tiene atributos como el modelo de avin, cantidad de motores y capacidad de carga. Entre las acciones de las cosas de esta clase se encuentran: acelerar, elevarse, girar, descender, desacelerar.
Diagrama de Objetos: Los Diagramas de Objetos estn vinculados con los Diagramas de Clases. Un objeto es una instancia de una clase, por lo que un diagrama de objetos puede ser visto como una instancia de un diagrama de clases. Los diagramas de objetos describen la estructura esttica de un sistema en un momento particular y son usados para probar la precisin de los diagramas de clases.
Diagrama de Casos de Uso: Un caso de uso es una descripcin de las acciones de un sistema desde el punto de vista del usuario. Es una herramienta valiosa dado que es una tcnica de aciertos y errores para obtener los requerimientos del sistema, justamente desde el punto de vista del usuario. Los diagramas de caso de uso modelan la funcionalidad del sistema usando actores y casos de uso. Los casos de uso son servicios o funciones provistas por el sistema para sus usuarios.
Diagrama de Estados: En cualquier momento, un objeto se encuentra en un estado particular, la luz est encendida o apagada, el auto en movimiento o detenido, la persona leyendo o cantando, entre otras El diagrama de estados UML captura esa pequea realidad. Diagrama de Secuencias: Suelen usarse para representar objetos software y el intercambio de mensajes entre ellos, representando la aparicin de nuevos objetos de izquierda a derecha.
Diagrama de Actividades: Un diagrama de actividades ilustra la naturaleza dinmica de un sistema mediante el modelado del flujo ocurrente de actividad en actividad. Una actividad representa una operacin en alguna clase del sistema y que resulta en un cambio en el estado del sistema. Tpicamente, los diagramas de actividad son utilizados para modelar el flujo de trabajo interno de una operacin.
Diagrama de Colaboraciones: El diagrama de colaboraciones describe las interacciones entre los objetos en trminos de mensajes secuenciados. Los diagramas de colaboracin representan una combinacin de informacin tomada de los diagramas de clases, de secuencias y de casos de uso, describiendo el comportamiento, tanto de la estructura esttica, como de la estructura dinmica de un sistema.
Diagrama de Componentes: Un diagrama de componentes describe la organizacin de los componentes fsicos de un sistema. Diagrama de Distribucin: El diagrama de distribucin UML muestra la arquitectura fsica de un sistema informtico. Puede representar a los equipos y a los dispositivos, y tambin mostrar sus interconexiones y el software que se encontrar en cada mquina.
Diagramas UML para representar clases y sus relaciones Diagrama de clases
Las asociaciones son las que representan a las relaciones estticas entre las clases. El nombre de la asociacin va por sobre o por debajo de la lnea que la representa. Una flecha rellena indica la direccin de la relacin. Los roles se ubican cerca del final de una asociacin. Los roles representan la manera en que dos clases se ven entre ellas. No es comn el colocar ambos nombres, el de la asociacin y el de los roles a la vez. Cuando una asociacin es calificada, el smbolo correspondiente se coloca al final de la asociacin, contra la clase que hace de calificador. Asociaciones
Multiplicidad Las notaciones utilizadas para sealar la multiplicidad se colocan cerca del final de una asociacin. Estos smbolos indican el nmero de instancias de una clase vinculadas a una de las instancias de la otra clase. Por ejemplo, una empresa puede tener uno o ms empleados, pero cada empleado trabaja para una sola empresa solamente.
Composicin y Agregacin Agregacin es una relacin en la que la Clase Todo juega un rol ms importante que la Clase "Parte", pero las dos clases no son dependientes una de otra. Se grafica con un rombo diamante vaco contra la Clase Todo.
Composicin es un tipo especial de agregacin que denota una fuerte posesin de la Clase Todo, a la Clase Parte. Se grafica con un rombo diamante relleno contra la clase que representa el todo.
Generalizacin/Herencia Generalizacin es otro nombre para herencia. Se refiere a una relacin entre dos clases en donde una Clase Especfica es una versin especializada de la otra, o Clase General. Por ejemplo, Honda es un tipo de auto, por lo que la Clase Honda va a tener una relacin de generalizacin con la Clase Auto.
Tabla comparativa: herramientas de modelado UML 2
Herramienta Caractersticas Tipo de Licencia Plataforma(s) Ao de lanzamiento Case UML 2.0 1. Edicin grfica de modelos. 2. Soporte a la persistencia. 3. Soporte al trabajo colaborativo. 4. Transformacin y sincronizacin de modelos. 5. Genera documentacin y cdigo DDL. 6. Ayuda para un paso a paso. Libre. Windows x86, Linux x86 2007 UModel 1. Desarrollo de modelos grficos. 2. Genera cdigo en diferentes lenguajes de programacin como: Java, C#, Visual.Net. 3. Genera documentacin. 4. Interfaz fcil de aprender. 5. Soporte para trabajo en equipo. 6. Diagramas en capas. 7. Hipervnculos hacia archivos o sitios web. 8. Soporte para BPMN (Business Process Modeling Notation). Paga. Windows. 2005 Artisan Studio 1. Soporte multiusuario. 2. Modelado de software robusto. 3. Modelo de anotaciones totalmente extensible. 4. Generador de cdigo e ingeniera inversa. 5. Sincronizador de cdigo. 6. Genera documentacin. 7. Gran trazabilidad en el desarrollo de modelos. 8. Lenguajes generados: Java, C#, Ada, C/C++, SQL, Visual Basic. Paga. Windows 1997 BOUML 1. Consume pocos recursos. 2. Genera cdigo: C++, Java, PHP, Python, MySQL, IDL. 3. Es extensible, y las herramientas externas pueden ser generadas en C++ o Java. 4. Interfaz fcil de manejar. 5. Soporte multiusuario. 6. Sincronizacin de proyecto. 7. Ingeniera inversa con lenguajes: C++, Java, PHP. Paga. Windows, Linux, MacOS X Desconocido Eclipse UML 2 tools. 1. Provee una implementacin para los metamodelos de la industria. 2. Esquema comn XML para facilitar el intercambio de los modelos semnticos. 3. Casos de prueba como un medio para la validacin de la especificacin. Libre. Plataforma Java Desconocido Visual Paradigm. 1. Interfaz grfica sencilla. 2. Soporte para patrones de diseo. 3. Genera diagramas de secuencia. 4. Vocabulario para el manejo de proyectos. 5. Genera documentacin. 6. Genera cdigo: Java, C#, C++, PHP, Ada. 7. Diseos animados. 8. Soporte para el trabajo en equipo. Libre para usos no comerciales. En otro caso es pagada. Windows 2002 StarUML 1. Es extensible, flexible. 2. Solo est en versin Win32. 3. Model Driven Architecture: Herramienta de modelado de software. 4. Herramientas amigables con el usuario. 5. Genera cdigo. Libre. Windows 2011 UML Designer 1. Se pueden implementar: Jerarqua de paquetes, diagramas de clases, diagramas de casos de uso, entre otros. 2. Genera cdigo Java. 3. Interfaz de usuario fcil de manejar. Libre. Plataforma Java 2012 Modelio 1. Soporte integrado de BPMN. 2. Genera cdigo Java. 3. Puede importar y exportar XML. 4. Interfaz de usuario amigable. 5. Genera cdigo: Java, C#, C++, SQL, entre otros. Libre. Windows, Linux 2009 ArgoUML 1. Interfaz de usuario amigable. 2. Soporta XML. 3. Genera cdigo: Java, C++, C#, Python, Ruby. 4. Se puede utilizar ingeniera inversa. Libre Plataforma Java 1998