¿Qué es UML? ¿Cuál es la unidad de UML?
El campo de la ingeniería de software ha logrado un progreso sin precedentes entre 1995 y 1997, y sus logros superan los logros totales en el campo de la ingeniería de software en los últimos 15 años. Uno de los logros más importantes y trascendentales es la aparición del Lenguaje de Modelado Unificado (UML).
En el mundo, UML será el lenguaje de modelado estándar dominante en el campo de la tecnología orientada a objetos durante al menos 10 años. Es completamente necesario adoptar UML como lenguaje de modelado unificado en China: primero, en el pasado, docenas de lenguajes de modelado orientados a objetos eran independientes entre sí, y UML puede eliminar algunas diferencias potenciales innecesarias y evitar confusión entre los usuarios; En segundo lugar, al unificar la semántica y la representación simbólica, se puede estabilizar el mercado de la tecnología orientada a objetos en mi país y el proyecto se puede arraigar en un lenguaje de modelado estándar maduro, lo que puede ampliar en gran medida el alcance de la aplicación del sistema de software desarrollado y en gran medida. mejorar su flexibilidad.
El Lenguaje Unificado de Modelado (UML) es un lenguaje para describir, construir, visualizar y documentar sistemas intensivos en software.
En primer lugar y lo más importante, el lenguaje de integración de modelado unificado introduce los conceptos de los métodos Booch, OMT y OOSE, que es un lenguaje de modelado simple, consistente y general que puede ser utilizado ampliamente por los métodos anteriores y otros. adoptados por los usuarios.
En segundo lugar, el lenguaje de modelado unificado amplía el ámbito de aplicación de los métodos existentes. Vale la pena mencionar especialmente que los desarrolladores de UML consideran el modelado de sistemas distribuidos paralelos como el objetivo de diseño de UML. En otras palabras, UML tiene la capacidad de manejar tales problemas.
En tercer lugar, el lenguaje de modelado unificado es un lenguaje de modelado estándar, no un proceso de desarrollo estándar. Aunque la aplicación de UML debe basarse en un proceso de desarrollo sistemático, según nuestra experiencia, diferentes organizaciones y diferentes campos de aplicación requieren diferentes procesos de desarrollo. Por ejemplo, desarrollar software complejo es divertido, pero desarrollar este software es muy diferente de construir un riguroso sistema de aviónica en tiempo real, que es un asunto crítico. Por lo tanto, primero nos centramos en diseñar un metamodelo común (unificando la semántica de diferentes métodos) y luego en construir una representación común (que proporciona una expresión visual de esta semántica). Si bien los desarrolladores de UML seguirán abogando por que el proceso de desarrollo de software pase de estar basado en casos de uso a estar centrado en la arquitectura, con mejoras y adiciones iterativas, no es necesario diseñar un proceso de desarrollo estándar.
UML es un lenguaje de modelado bien definido, fácil de expresar, potente y de aplicación universal. Incorpora nuevas ideas, nuevos métodos y nuevas tecnologías en el campo de la ingeniería de software. Su alcance no se limita a respaldar el análisis y el diseño orientado a objetos, sino que también respalda todo el proceso, desde el análisis de requisitos hasta el desarrollo de software.
El proceso de desarrollo de la tecnología orientada a objetos y UML se puede representar en la figura anterior. La aparición del lenguaje de modelado estándar es un resultado importante. En Estados Unidos, a finales de 1996, UML había recibido un amplio apoyo de los círculos industriales, tecnológicos y de aplicaciones, y más de 700 empresas habían expresado su apoyo al uso de UML como lenguaje de modelado. A finales de 1996, UML había ocupado constantemente el 85% del mercado de tecnología orientada a objetos y se convirtió en el estándar industrial de facto para los lenguajes de modelado visual. 1997 165438 El 17 de octubre, OMG adoptó UML1.1 como lenguaje de modelado estándar basado en tecnología orientada a objetos. UML representa la dirección de desarrollo de la tecnología de desarrollo de software orientada a objetos y tiene enormes perspectivas de mercado y un enorme valor económico y de defensa.
Contenido del lenguaje de modelado estándar UML
En primer lugar, UML combina los conceptos básicos de los métodos Booch, OMT y OOSE, que son en su mayoría similares a los de otras tecnologías orientadas a objetos. . mismo. Por lo tanto, UML está destinado a convertirse en un lenguaje de modelado simple y consistente que los usuarios de estos y otros métodos adoptarán voluntariamente. En segundo lugar, UML no es sólo una simple convergencia de los métodos anteriores, sino que también solicita opiniones de manera integral basada en estos métodos y se completa después de muchas revisiones. UML amplía el alcance de aplicación de los métodos existentes. En tercer lugar, UML es un lenguaje de modelado estándar, no un lenguaje de modelado estándar. proceso de desarrollo estándar.
Aunque la aplicación de UML debe basarse en un proceso de desarrollo sistemático, diferentes organizaciones y diferentes campos de aplicación requieren diferentes procesos de desarrollo.
Como lenguaje de modelado, la definición de UML incluye dos partes: semántica de UML y representación de UML.
(1) La descripción semántica de UML se basa en la definición precisa del metamodelo de UML. El metamodelo proporciona una descripción de definición simple, coherente y universal para todos los elementos de UML en sintaxis y semántica, lo que permite a los desarrolladores lograr coherencia semántica y eliminar la influencia de los mejores métodos de expresión que varían de persona a persona. Además, UML también admite definiciones ampliadas de metamodelos.
(2) Los símbolos UML definen los símbolos de los símbolos UML y proporcionan estándares para que los desarrolladores o herramientas de desarrollo utilicen estos símbolos gráficos y sintaxis de texto para el modelado del sistema. Estos símbolos gráficos y texto expresan un modelo a nivel de aplicación, que es un ejemplo de metamodelo UML semántico.
El contenido importante del lenguaje de modelado estándar UML se puede definir mediante los siguientes cinco tipos de diagramas (***9 tipos de diagramas):
El primer tipo es el caso de uso. diagrama, desde la perspectiva del usuario Describir las funciones del sistema, indicando los operadores para cada función.
La segunda categoría es Staticdiagram, que incluye diagrama de clases, diagrama de objetos y diagrama de paquetes. El diagrama de clases describe la estructura estática de las clases en el sistema. No solo define las clases en el sistema, sino que también expresa las relaciones, dependencias, agregaciones y otras relaciones entre clases. , también incluye la estructura interna de la clase (los atributos y operaciones de la clase). Un diagrama de clases describe una relación estática que es válida durante toda la vida del sistema. El diagrama de objetos es un ejemplo de diagrama de clases y utiliza casi el mismo logotipo que el diagrama de clases. Se diferencian en que los diagramas de objetos muestran múltiples instancias de objetos de una clase en lugar de la clase real. El diagrama de objetos es un ejemplo de diagrama de clases. Debido a que los objetos tienen un ciclo de vida, el gráfico de objetos solo puede existir durante un cierto período de tiempo en el sistema. Un paquete consta de paquetes o clases que representan relaciones entre paquetes. Los diagramas de paquetes se utilizan para describir la estructura jerárquica de un sistema.
La tercera categoría es el diagrama de comportamiento, que describe el modelo dinámico del sistema y la interacción entre componentes. Entre ellos, el diagrama de estados describe todos los estados posibles de este tipo de objeto, así como las condiciones de transición de estado cuando ocurre un evento. Normalmente, los diagramas de estado complementan los diagramas de clases. En la práctica, no es necesario dibujar diagramas de estado para todas las clases, sólo aquellas clases cuyo comportamiento ha cambiado debido a la influencia del entorno externo. Un diagrama de actividades describe las actividades que se realizarán para satisfacer los requisitos del caso de uso y las limitaciones entre las actividades, lo que ayuda a identificar actividades paralelas.
La cuarta categoría es el diagrama interactivo, que describe la relación interactiva entre objetos. Entre ellos, el diagrama de secuencia muestra la relación de colaboración dinámica entre objetos, enfatiza el orden en que se envían los mensajes entre objetos y muestra la interacción entre objetos. El diagrama de colaboración describe la relación de colaboración entre objetos, similar al diagrama de secuencia, que muestra Dinámica; Colaboración entre objetos. Además de mostrar el intercambio de información, los diagramas de colaboración también muestran objetos y sus relaciones. Si enfatiza el tiempo y la secuencia, use diagramas de secuencia; si enfatiza las relaciones superior-subordinado, elija diagramas de colaboración. Estos dos diagramas se denominan colectivamente diagramas de interacción.
La quinta categoría es el diagrama de implementación. Entre ellos, el diagrama de componentes describe la estructura física de los componentes del código y las dependencias entre componentes. Los componentes pueden ser componentes de código de recursos, componentes binarios o componentes ejecutables. Contiene información sobre clases lógicas o clases de implementación. Los diagramas de componentes ayudan a analizar y comprender el grado de interacción entre los componentes.
Un diagrama de configuración define la arquitectura física del software y hardware del sistema. Muestra computadoras y dispositivos reales (representados por nodos) y sus relaciones de conexión, así como tipos de conexión y dependencias entre componentes. Dentro de un nodo, se colocan piezas y objetos ejecutables para mostrar la correspondencia entre los nodos y las unidades de software ejecutables.
Desde el punto de vista de la aplicación, al diseñar un sistema utilizando tecnología orientada a objetos, el primer paso es describir los requisitos, en segundo lugar, establecer un modelo estático del sistema basado en los requisitos y construir la estructura; del sistema; el tercer paso es describir el comportamiento del sistema. Los modelos establecidos en el primer y segundo paso son todos estáticos, incluidos diagramas de casos de uso, diagramas de clases (incluidos paquetes), diagramas de objetos, diagramas de componentes y diagramas de configuración. Estos son los mecanismos de modelado estático del lenguaje de modelado estándar UML.
Entre ellos, el modelo establecido en el tercer paso no solo se puede ejecutar, sino que también puede representar el estado secuencial o la interacción durante el proceso de ejecución. Incluye cuatro gráficos: diagrama de estado, diagrama de actividad, diagrama de secuencia y diagrama de colaboración. Es un mecanismo de modelado dinámico del lenguaje de modelado estándar UML. Por lo tanto, el contenido principal del lenguaje de modelado estándar UML también se puede resumir en dos categorías: mecanismo de modelado estático y mecanismo de modelado dinámico.