El Lenguaje de modelado unificado (UML), también conocido como Lenguaje de modelado unificado o Lenguaje de modelado estándar, es un estándar de OMG iniciado en 1997. Es un lenguaje gráfico que admite el modelado y el desarrollo de sistemas de software, proporcionando modelos para todas las etapas del desarrollo y visualización del software. soporte, desde el análisis de requisitos hasta la especificación, la construcción y la configuración. El desarrollo de métodos de análisis y diseño orientados a objetos (OOA&D, OOAD) alcanzó un clímax desde finales de los 80 hasta mediados de los 90, y UML fue el producto de este clímax. No sólo unificó los métodos de representación de Booch, Rumbaugh y Jacobson, sino que también los desarrolló aún más y finalmente los unificó en un lenguaje de modelado estándar aceptado por el público.
En los diagramas de clases UML, varias relaciones de uso común son: generalización, realización, asociación, agregación, composición, dependencia. A continuación, a través de este artículo, se le dará una explicación detallada uno por uno. Los detalles específicos son los siguientes:
1. Generalización
[Relación de generalización]: es una relación de herencia que expresa la relación general y especial. Especifica cómo la subclase especializa todas las características y comportamientos de la clase principal. Por ejemplo: el tigre es un tipo de animal que tiene las características del tigre. así como puntos en común entre los animales.
[Flecha apuntando]: una línea continua con una flecha triangular, la flecha apunta a la clase principal
2. Realización
[Relación de implementación]: Es una relación entre una clase y una interfaz, lo que indica que la clase es la implementación de todas las características y comportamientos de la interfaz.
[Flecha apuntando]: una línea de puntos con una flecha triangular, la flecha apunta a la interfaz
3. Asociación
[Relación de asociación]: Es una especie de relación de propiedad, que permite a una clase conocer los atributos y métodos de otra clase, tales como: maestro y alumno, marido y mujer;
Las asociaciones pueden ser bidireccionales o unidireccionales. Las asociaciones bidireccionales pueden tener dos flechas o ninguna flecha, y las asociaciones unidireccionales pueden tener una flecha.
[Reflexión del código]: variables miembro
[Flecha y señalar]: una línea continua con una flecha normal que apunta al propietario
En la imagen de arriba, los profesores y los estudiantes están relacionados bidireccionalmente. Los profesores pueden tener varios estudiantes y los estudiantes también pueden tener varios profesores. Sin embargo, la relación entre un estudiante y un curso es una relación unidireccional. Un estudiante puede tomar varios cursos. Un curso es algo abstracto y no pertenece a los estudiantes.
La imagen de arriba muestra su propia relación:
4. Agregación
[Relación de agregación]: es una relación entre un todo y una parte, y una parte puede existir independientemente del todo. Por ejemplo, un automóvil y un neumático tienen una relación entre un todo y una parte, y el neumático aún puede existir. sin el auto.
La relación de agregación es un tipo de relación de asociación y es una relación de asociación fuerte; la asociación y la agregación no se pueden distinguir gramaticalmente y se debe examinar la relación lógica específica.
[Reflexión del código]: variables miembro
[Flecha y señalar]: una línea continua con un rombo hueco, el rombo apunta al conjunto
5. Composición
[Relación combinada]: Es la relación entre el todo y las partes, pero las partes no pueden existir independientemente del todo. Por ejemplo, la relación entre la empresa y el departamento es la relación entre el todo y la parte. , no habría ningún departamento.
La relación de combinación es un tipo de relación de asociación y es una relación más fuerte que la relación de agregación. Requiere que el objeto que representa el todo en la relación de agregación ordinaria sea responsable del ciclo de vida del objeto que representa la parte.
[Reflexión del código]: variables miembro
[Flecha y señalar]: una línea continua con un rombo sólido, el rombo apunta al todo
6. Dependencia
[Dependencia]: es una relación de uso, es decir, la implementación de una clase requiere la ayuda de otra clase, así que trate de no utilizar la interdependencia bidireccional.
[Rendimiento del código]: variables locales, parámetros de métodos o llamadas a métodos estáticos
[Flecha y señalar]: una línea de puntos con una flecha que apunta al usuario
El orden de fuerza de varias relaciones:
Generalización = Implementación > Composición > Agregación > Asociación > Dependencia
El siguiente diagrama UML muestra varias relaciones de diagrama de clases de manera más vívida:
Lo anterior es la narrativa completa de este artículo, espero que les guste.