UML (Lenguaje de modelado unificado) es un estándar de lenguaje de modelado visual universal que se utiliza para describir, visualizar, construir y documentar artefactos de sistemas de software.
Cuando se trata de lenguaje, muchos amigos están empezando a tener miedo. Los lenguajes como SQL, Java, C# y PHP pueden estar flotando en su mente y pueden asustar a muchas personas .
Varios lenguajes de programación.
Pero UML no es un lenguaje de programación, sino un lenguaje de modelado visual. La razón por la que se llama lenguaje es que UML proporciona vocabulario y reglas para la comunicación. Los usuarios pueden comunicarse con el mismo software sin barreras dentro del marco de este vocabulario y reglas, de modo que varios usuarios tengan la misma comprensión de lo mismo.
Desde finales de la década de 1960, con la continua popularización de la tecnología informática, la demanda de software por parte de las personas ha aumentado día a día, la escala del software también se ha expandido y la complejidad del software también ha aumentado. Debido a la falta de orientación teórica científica, es difícil garantizar el progreso del desarrollo de software. Los costos de desarrollo de software aumentan constantemente y las necesidades cambiantes de los usuarios empeoran aún más las cosas para el software que no puede garantizar la calidad. haciendo que el mantenimiento del software sea una tarea extremadamente difícil. La gente lo llama claramente una crisis de software.
¿Qué hacer? Entonces el trabajo de desarrollo de software debe realizarse como un proyecto. Por tanto, también surgió el concepto de ingeniería de software. La ingeniería de software tiene como objetivo estudiar las leyes objetivas de la producción de software y establecer conceptos, principios, métodos, tecnologías y herramientas relevantes para la producción de software para guiar las actividades de producción de software. Por supuesto los resultados fueron satisfactorios.
Con la continua profundización de la investigación popular sobre ingeniería de software, la programación orientada a objetos ha entrado en el campo de visión de la gente. Desde la década de 1980 hasta principios de la de 1990, nacieron muchos métodos de diseño y análisis orientados a objetos, y también aparecieron una gran cantidad de libros que presentan métodos orientados a objetos. Esto se siente un poco como si cientos de escuelas de pensamiento estuvieran en pugna. Cada autor dirige un grupo de profesionales y los métodos tienen muchas similitudes pero también diferencias sutiles.
Esto también genera confusión entre los profesionales del mismo campo, cuando hablan de lo mismo, pueden encontrar diferentes métodos de representación orientados a objetos, lo que dificulta seriamente su comprensión y comunicación del mismo.
En ese momento, alguien sugirió que unificáramos y usáramos los mismos estándares. Nadie pareció escuchar su llamada y lo ignoraron. Hay una organización llamada OMG (Object Management Group) que también intentó estandarizar la orientación a objetos, pero solo recibió una carta pública de protesta de todos los metodólogos.
Cuando Martin Fowler habla de esta situación, cuenta un chiste en su libro "UML Essentials: A Concise Guide to the Standard Object Modeling Language":
R: ¿Cuál es la diferencia entre un metodólogo y un terrorista?
B: Los terroristas pueden negociar.
Existe una gran brecha entre los métodos de representación orientados a objetos.
En la reunión anual OOPSLA (Sistemas, lenguajes y aplicaciones de programación orientados a objetos) de 1995, Grady Booch y Jim Rumbaugh describieron públicamente por primera vez su enfoque fusionado, el Documento de método unificado 0.8 (Método unificado).
Después de una serie de concursos entre varias partes, en enero de 1997, todas las organizaciones presentaron una propuesta para un método estándar. Rational colaboró con otras organizaciones y lanzó la versión 1.0 del documento UML. Esta fue también la primera vez que se llamó modelado unificado. idioma.
Luego de un proceso de competencia entre todas las partes , OMG adoptó la versión 1.1 como estándar oficial de OMG. Después de una serie de modificaciones, UML1.4 y UML1.5 se han vuelto relativamente maduros. Por ejemplo, Rational Rose 2003 se desarrolló basándose en dichos estándares.
Cuando mucha gente habla de UML, atribuyen principalmente el crédito de sus creadores a Grady Booch, Ivar Jacobson y Jim Rumbaugh, llamándolos los "Tres Amigos".
Por supuesto, algunas personas expresaron su oposición y creyeron que habían hecho ciertas contribuciones en la etapa inicial, pero en la etapa posterior, los miembros del comité de OMG hicieron muchas contribuciones, y entre los tres, Jim Rumbaugh fue el único que hizo una contribución. en la etapa posterior.
Métodos y aspectos de representación.
En términos de métodos y representaciones que han aparecido en el pasado, UML incorpora muchos conceptos comúnmente aceptados en métodos orientados a objetos. Para cada concepto, UML proporciona definiciones, representaciones y terminología relacionada claras. UML se puede utilizar para describir modelos establecidos por varios métodos existentes y describirlos mejor que los métodos originales.
ciclo de software
En términos del ciclo de vida del desarrollo de software, UML tiene requisitos de desarrollo perfectos. Diferentes etapas del proceso de desarrollo pueden utilizar el mismo conjunto de conceptos y representaciones, y dentro del mismo modelo se pueden mezclar sin tener que convertir conceptos y representaciones. Esta fluidez es fundamental para el desarrollo de software incremental e iterativo.
En términos de campos de aplicación.
En términos de campos de aplicación, UML es adecuado para modelar en varios campos, incluidos sistemas integrados, de datos o informáticos grandes, complejos, en tiempo real, distribuidos, centralizados, etc.
Lenguajes de programación y plataformas de desarrollo.
En términos de implementación de lenguajes de programación y plataformas de desarrollo, UML se puede aplicar a sistemas que ejecutan una variedad de diferentes lenguajes de implementación de programación y plataformas de desarrollo.
proceso de desarrollo
En términos del proceso de desarrollo, UML es un lenguaje de modelado, no una herramienta para describir los detalles del proceso de desarrollo. Al igual que los lenguajes de programación de propósito general, permiten muchos estilos de programación.
aspectos conceptuales internos
En términos de conceptos internos, UML presta especial atención a revelar y expresar las conexiones internas entre varios conceptos. El proceso de tratar de captar conceptos en el modelado de múltiples maneras que se apliquen a situaciones conocidas y desconocidas mejorará su comprensión de los conceptos y su aplicabilidad. Esta no es la intención original de unificar varios estándares, pero es uno de los resultados más importantes de la unificación de varios estándares.
La composición de UML se puede ilustrar mediante el siguiente diagrama:
Bloques de construcción básicos de UML y clasificación de gráficos.
En la actualidad, la última versión de UML se ha desarrollado hasta la versión UML 2.5 y el número de diagramas ha aumentado de 9 a 13. Algunas personas piensan que la complejidad del propio UML puede exceder el modelado del software en sí.
Lo anterior es la introducción básica de UML como lenguaje de modelado indispensable en la ingeniería de software, la historia de desarrollo de UML no solo es testigo del progreso de los conceptos de diseño de software, sino que también destaca su papel en la promoción de la comunicación en equipo, la optimización del diseño del sistema y la aceleración del proceso de desarrollo. . papel clave. A través de la introducción básica de este artículo, creo que no solo podrá comprender profundamente el contexto histórico de UML, sino también dominar sus amplias aplicaciones en análisis de requisitos, diseño de sistemas y documentación.
Lectura relacionada:
Guía completa de diagramas UML: domine 14 diagramas UML en 10 minutos