UML (IT)

UML
Logo.
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).

usar

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.

Historia

Historia de UML, desde principios de 1990 hasta 2017
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.

Formalismo

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.

Puntos de vista

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.

Diagramas

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áticos

Los diagramas de estructura ( diagramas de estructura ) o diagramas estáticos ( diagramas estáticos ) se componen:

Diagramas de comportamiento

Los patrones de comportamiento ( diagramas de comportamiento ) juntos:

Diagramas de interacción o diagramas dinámicos

Los diagramas de interacción ( interacción de diagramas ) o gráficos dinámicos ( diagramas dinámicos ) juntos:

  • Diagrama de secuencia ( diagrama de secuencia ) Representación secuencial del curso del tratamiento y las interacciones entre los componentes del sistema y / o sus actores.
  • Diagrama de comunicación ( diagrama de comunicación ): representación simplificada de un diagrama de bloques centrado en el intercambio de mensajes entre objetos (desde UML 2.x).
  • Diagrama global de interacción ( interacción diagrama general ) la representación de posibles vínculos entre escenarios previamente identificados como los diagramas de secuencia (variante del diagrama de actividad ) (desde UML 2.x).
  • Representación del diagrama de tiempo ( diagrama de tiempo ) de las variaciones de un determinado a lo largo del tiempo (desde UML 2.3).

Modelos de elementos

  • Un estereotipo es una marca de generalización denotada por comillas , que muestra que el objeto es una variedad de un patrón.
  • Un libro de trabajo es una anotación que le permite agrupar unidades con el mismo comportamiento o estructura. Un libro de trabajo está representado por un rectángulo contenedor, en líneas continuas.
  • Un paquete agrupa diagramas o unidades.
  • Cada clase u objeto se define precisamente con el signo "::". Así, la identificación de una clase X fuera de su paquete o su clasificador será definida por "Paquete A :: Classeur B :: Clase X".
Modelos de elementos de tipo común

Simbólico de modelos de elementos:

  • Tenedor ( tenedor ).
  • Estado inicial ( estado inicial ).
  • Estado final ( estado final ).
  • Interfaz ( interfaz ).
    • O ← --- dirección de flujo de la interfaz.
    • O) ----- es una abreviatura de la superposición de --- → O y O ← ---.
Modelos de elementos de tipo relación
  • Logro .
  • Utilice .
Otros modelos de elementos
  • Los estereotipos pueden depender del idioma utilizado.
  • Los arquetipos .
  • Los perfiles .

Normalización y certificació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.

Ejemplo de secuencia de creación de diagrama

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

Software de modelado UML

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.

Notas y referencias

  1. Ver la sección de Historia
  2. UML en el sitio web de OMG
  3. Historia - Versiones formales en el sitio web de OMG
  4. "  Especificación UML versión 1.1 (documento OMG ad / 97-08-11)  " , Omg.org (consultado el 22 de septiembre de 2011 )
  5. Especificación UML 2.4.1
  6. (in) OMG "  OMG Unified Modeling LanguageTM (OMG UML), Infraestructura  " , OMG,agosto 2011(consultado el 20 de mayo de 2019 ) .
  7. (in) OMG "  OMG Unified Modeling LanguageTM (OMG UML), superestructura  " , OMG,agosto 2011(consultado el 20 de mayo de 2019 ) .
  8. UML Specification 2.5.1 (2017) (consultado el 20 de mayo de 2019)
  9. Consulte el capítulo "6.1 Simplificación de la especificación" de UML 2.5.1. (Consultado el 20 de mayo de 2019)
  10. ¿Por qué UML? (Consultado el 20 de mayo de 2019)
  11. OCUP 2 ™ - Certificación UML 2.5 de OMG

Ver también

Bibliografía

  • Grady Booch, James Rumbaugh, Ivar Jacobson, Guía del usuario de UML , 2000 ( ISBN  2-212-09103-6 )
  • Laurent Audibert, UML 2, Del aprendizaje a la práctica (lecciones y ejercicios) , Elipses, 2009 ( ISBN  978-2729852696 )
  • Franck Barbier, UML 2 y MDE , Ingeniería de modelos con estudios de casos , 2009 ( ISBN  978-2-10-049526-9 )
  • Craig Larman, UML 2 y el patrones de diseño, análisis y diseño orientado a objetos y el desarrollo iterativo ( 3 ª  edición), Pearson Education, 2005 ( ISBN  2-7440-7090-4 )
  • Martin Fowler y col. , UML 2.0, Introducción a los aspectos esenciales de la notación , 2004 ( ISBN  2-7440-1713-2 )
  • Pascal Roques, UML 2, Modelado de una aplicación web , Eyrolles, 2007 ( ISBN  2-212-12136-9 )
  • Pascal Roques, UML 2 por práctica, estudios de casos y ejercicios corregidos , Eyrolles, 2006 ( ISBN  2-212-12014-1 )
  • Jim Conallen , Diseño de aplicaciones web con UML , Eyrolles ,2000, 288  p. ( ISBN  978-2-212-09172-4 )

Artículos relacionados

enlaces externos