UML | ||
Editor | Grupo de gestión de objetos (OMG) | |
---|---|---|
Amable | Especificación formal | |
Expresar | Versión 2.5.1 | |
Primera publicacion | Diciembre de 1997 | |
Ultima publicación | diciembre de 2017 | |
Estándar | omg.org/spec/UML | |
Sitio web | uml.org | |
El Lenguaje de Modelado Unificado , Inglés Unified Modeling Language ( UML ) es un lenguaje de modelado gráfico basado en pictogramas diseñados como un método estandarizado de la visualización en los campos de desarrollo de software y diseño orientado a objetos .
UML es una síntesis de lenguajes de modelado de objetos anteriores: Booch , OMT , OOSE . UML, derivado principalmente del trabajo de Grady Booch , James Rumbaugh e Ivar Jacobson , es ahora un estándar adoptado por Object Management Group (OMG). UML 1.0 se estandarizó enenero de 1997; UML 2.0 fue adoptado por OMG enJulio de 2005. La última versión de la especificación validada por OMG es UML 2.5.1 (2017).
UML está destinado a facilitar el diseño de documentos necesarios para el desarrollo de software orientado a objetos, como estándar para modelar la arquitectura del software. Los diferentes elementos representables son:
También es posible generar automáticamente todo o parte del código, por ejemplo en lenguaje Java , a partir de los documentos producidos.
Con fecha de | Descripción |
---|---|
A principios de la década de 1980 | Los objetos comienzan a salir de los laboratorios de investigación y dan sus primeros pasos en el mundo real; entre otras cosas, el lenguaje de programación Smalltalk estabilizado se convierte en una plataforma utilizable y nace C ++ .
Los métodos de objetos están comenzando a surgir para reemplazar los métodos estructurados y funcionales, que están demasiado relacionados con la máquina. |
1989 a 1994 | El número de métodos orientados a objetos va de diez a más de cincuenta; todos estos métodos tienen muchos puntos en común (objetos, métodos, parámetros, etc.).
Estos métodos están orientados a la abstracción de componentes materiales, se basan en nociones de clase, asociación, partición en subsistemas y en torno al estudio de la interacción entre usuario y sistema. Los principales autores de estos métodos son James Rumbaugh , Grady Booch e Ivar Jacobson . Entre estos métodos destacan dos: el método de Booch y el método OMT (Object Modeling Technique). Aparecen las segundas versiones de los métodos de Booch y OMT: Booch'93 y OMT-2. Estos métodos son bastante similares, pero Booch'93 pone más énfasis en la construcción mientras que OMT-2 pone más énfasis en el análisis y la abstracción. |
1989 y 1991 | Publicación de dos libros de Sally Shlaer (en) y Steve Mellor sobre el análisis y el diseño, que conducen a un enfoque que denominan diseño recursivo . |
1989 a 1990 | Desarrollo en Portland , por parte de la comunidad Smalltalk , de tarjetas de diseño impulsado por la responsabilidad y de colaboración de clase, responsabilidad y colaboración ( CRC) . |
1991 hasta 1996 | James Rumbaugh dirige un equipo de investigación en los laboratorios de investigación de General Electric que publica un libro de gran prestigio sobre OMT. |
1991 | Publicación de libros, de Peter Coad y Ed. Yourdon , que desarrollan enfoques “lean” y “orientados a prototipos”. |
1992 y 1995 | Publicación de los libros de Ivar Jacobson basados en su experiencia con conmutadores telefónicos en Ericsson . El primero introduce el concepto de casos de uso (caso de uso). |
1994 hasta 1996 | Grady Booch realiza un trabajo importante en Rational Software desarrollando sistemas en Ada . |
1994 | La gran cantidad de métodos y el hecho de que las diferencias entre ellos se reducen, hacen retroceder la tecnología de objetos hasta el punto de que Jim Rumbaugh y Grady Booch se unen para unificar su trabajo. Proponen un "método unificado". |
1994 | Los libros de Jim Odell , escritos con James Martin , se basan en su larga experiencia en sistemas de información e ingeniería de software y son, de todos estos trabajos, los más conceptuales. |
Octubre de 1994 | Inicio de los trabajos del método unificado ( UM ).
James Rumbaugh se une a Grady Booch en Rational Software . |
1995 | Ivar Jacobson , creador de los casos de uso , se une a Jim Rumbaugh y Grady Booch . |
1995 | Los autores del Método Unificado ( UM ) publican el documento titulado Método Unificado V0.8 . |
Octubre de 1995 | Ivar Jacobson llega a Rational Software . |
Octubre de 1995 | UML 0.8 incluye OOD / Booch '93 de Grady Booch y OMT de Jim Rumbaugh . |
1996 | Se publicó una nueva revisión del documento, Método unificado V0.9 , basada en los comentarios de los usuarios.
La revisión 0.9.1 es la versión más exitosa del método unificado (reorientando el alcance del esfuerzo de unificación). El método cambia de nombre y se convierte en UML (Lenguaje de modelado unificado para desarrollo orientado a objetos). Se crea un consorcio de grandes empresas ( Microsoft , IBM , Oracle , etc.) que permitirá actualizar el método a la versión 1.0. |
Junio de 1996 | UML 0.9 incluye OOSE de Ivar Jacobson . |
Octubre de 1996 | UML 0.91 |
enero de 1997 | Estandarización de UML 1.0 por el Object Management Group (OMG). |
agosto 1997 | Propuesta de especificaciones UML 1.1 a OMG por un grupo de trabajo de analistas y diseñadores liderado por Cris Kobryn y administrado por Ed Eykholt . |
14 de noviembre de 1997 | Adopción de las especificaciones UML 1.1 por OMG .
Se continúan realizando varias mejoras al estándar UML, dando lugar a cuatro revisiones: UML 1.2, 1.3, 1.4, 1.5. UML 1.5 es la última revisión antes de actualizar a UML 2.0. Los estándares UML 1.x, todavía influenciados en gran medida por la notación OMT, son criticados por carecer de integración semántica. |
Junio de 1998 | Adopción de UML 1.2 por OMG. |
Octubre de 1998 | Adopción de UML 1.3 por OMG. |
Marzo de 2000 | Lanzamiento de la especificación UML 1.3 completa. |
Septiembre de 2001 | UML 1.4. |
6 de marzo de 2003 | UML 1.5 (recomendaciones) |
agosto de 2003 | Especificación de superestructura UML 2.0 (recomendación) |
1 st de septiembre de de 2003 | Especificación de intercambio de diagramas UML 2.0 (recomendación) |
14 de octubre de 2003 | Especificación UML 2.0 OCL |
diciembre de 2003 | UML 2.0 (recomendación) |
Julio de 2005 | Adopción de UML 2.0 por OMG. |
4 de abril de 2006 | Especificación de intercambio de diagramas UML 2.0 |
1 st de junio de de 2006 | vista de implementación ) |
6 de octubre de 2006 | UML 2.1.1 - Archivo XMI |
6 de febrero de 2007 | Especificación de infraestructura UML 2.1.1 |
3 de febrero de 2007 | UML 2.1.1 Especificación de superestructura |
2007 | UML 1.4.2 se convierte en una especificación ISO (ISO / IEC 19501). |
noviembre 2007 | Lanzamiento de UML 2.1.2 por OMG. |
enero de 2009 | Distribución de UML 2.2 por OMG. |
Mayo de 2010 | Distribución de UML 2.3 por OMG. |
julio 2011 | Distribución por OMG de UML 2.4.1. La infraestructura y la superestructura se revisan enagosto 2011. |
diciembre de 2017 | Distribución por OMG de UML 2.5.1. El metamodelo en sí no ha cambiado con respecto a la superestructura de UML 2.4.1, con algunas excepciones. |
UML es un lenguaje de modelado. La versión actual, UML 2.5, ofrece 14 tipos de diagramas, incluidos siete estructurales y siete de comportamiento. A modo de comparación, UML 1.3 tenía 25 tipos de diagramas.
UML no es un método, el uso de diagramas se deja al criterio de cada uno. El diagrama de clases generalmente se considera el elemento central de UML. Métodos como el proceso unificado propuesto por los creadores originales de UML, utilizan de forma más sistemática todos los gráficos y están centrando el análisis en el caso de uso ("caso de uso") para desarrollar un modelo mediante sucesivas iteraciones de análisis, un modelo de diseño, y Otros modelos. Otros enfoques se contentan con modelar solo parcialmente un sistema, por ejemplo, ciertas partes críticas que son difíciles de deducir del código.
Una forma de implementar UML es considerar diferentes vistas que pueden superponerse para colaborar en la definición del sistema:
El por qué no está definido en UML.
En UML 2.5, los diagramas se representan en dos tipos de vista: desde un punto de vista estático o estructural del dominio con Diagramas de Estructura.
Desde un punto de vista dinámico con diagramas de comportamiento y diagramas de interacción.
Los diagramas son jerárquicamente dependientes y se complementan entre sí, de modo que permitan modelar un proyecto a lo largo de su ciclo de vida. Hay catorce desde UML 2.3.
Diagramas de estructura o diagramas estáticosLos diagramas de estructura ( diagramas de estructura ) o diagramas estáticos ( diagramas estáticos ) se componen:
Los patrones de comportamiento ( diagramas de comportamiento ) juntos:
Los diagramas de interacción ( interacción de diagramas ) o gráficos dinámicos ( diagramas dinámicos ) juntos:
Simbólico de modelos de elementos:
Clase ( clase ).
Objeto ( objeto ).
Caso de uso .
Paquete ( paquete ).
Nodo ( nodo ).
Actor ( actor ).
Estado ( estado ).
Actividad ( actividad ).
Dependencia ( dependencia ).
Agregación ( agregación ).
Composición ( composición ).
UML no es un estándar legal sino un simple estándar "industrial" (o estándar de facto), porque es promovido por OMG (Noviembre de 1997) sobre la misma base que CORBA y por su éxito. DesdeJulio de 2005, OMG valida la primera versión 2.x de UML.
Además, desde 2003, la OMG ha establecido un programa de certificación para la práctica y el conocimiento de UML OCUP que cubre tres niveles de dominio.
Diagrama | Ciclo de la etapa V |
---|---|
1. Diagrama de casos de uso | Especificación, especificaciones |
2. Diagrama de secuencia | |
3. Diagrama de actividad (proceso empresarial) | |
4. Diagrama de actividad (cinemática y / o proceso de aplicación) | |
5. Diagrama de clases | Diseño arquitectonico |
6. Diagrama de objetos | |
7. Diagrama de comunicación | |
8. Diagrama de implementación | |
9. Diagrama de componentes |
Si bien existen muchos software de modelado UML, ninguno respeta completamente todas las versiones de UML, especialmente UML 2, y muchos introducen notaciones no conformes. Por otro lado, muchos software incluyen módulos para generar código, particularmente a partir del diagrama de clases , que es el que mejor se presta a dicha automatización.