Durante el desarrollo de software, a medida que los proyectos aumentan en tamaño y complejidad, las herramientas efectivas de diseño y documentación se vuelven críticas. El Lenguaje de modelado unificado (UML), un lenguaje de modelado estandarizado, proporciona a los desarrolladores una forma poderosa de describir, construir y visualizar sistemas de software. Entre ellos, el diagrama de clases UML, como una de las herramientas centrales del diseño orientado a objetos (OOD), juega un papel fundamental.
Los diagramas de clases UML muestran gráficamente las clases en el sistema, las relaciones entre ellas y las estructuras internas de las clases, como atributos (campos) y métodos (funciones). Estos diagramas no sólo ayudan a los desarrolladores a comprender la arquitectura general del sistema, sino que también facilitan la comunicación y la colaboración en el trabajo en equipo, asegurando que todos los miembros tengan una comprensión común del diseño. Hoy aprenderemos el diagrama de clases UML .
¿Qué es un diagrama de clases? ¿Cuáles son las reglas de dibujo para diagramas de clases? ¿Cómo dibujar un diagrama de clases? Para facilitar el aprendizaje de todos, el editor lo ha refinado y resumido aquí. Espero que después de leerlo, pueda tener una comprensión básica de los diagramas de clases.
El diagrama de clases tiene como objetivo principal reflejar la estructura (atributos, operaciones) de las clases y la relación entre clases. Describe la estructura del sistema de software y es un método de modelado estático. Los diagramas de clases se utilizan para describir conceptos significativos en el sistema, incluidos conceptos específicos, conceptos abstractos, conceptos de implementación, etc. Son abstracciones de cosas del mundo real. El objetivo principal de los diagramas de clases es modelar el vocabulario del sistema, modelar colaboraciones simples y modelar el esquema lógico de la base de datos.
Los diagramas de clases se resumen en dos partes: clases y la relación entre clases. La definición de una clase se muestra en la siguiente figura. Consta principalmente de tres partes, que son el nombre de la clase. los atributos de la clase, el método de la clase corresponde al contenido de las tres particiones en la figura.
Nombre de la clase : el cuadro rectangular superior de la imagen es el nombre de la clase. Si la fuente está en cursiva, se representa como una clase abstracta.
Atributos de clase : el área debajo del nombre de la clase
Métodos de clase : la parte inferior de la figura
* Explicación de los símbolos : "+", "-" y "#" delante de los atributos y métodos indican los niveles de acceso. Estos símbolos se explican a continuación. .
+: público, público, visible para todas las clases.
-: privado, privado, solo disponible para la clase misma
#: protegido, protegido, visible para los descendientes de esta clase
~: paquete, paquete, solo visible para otras clases declaradas en el mismo paquete
=: indica el valor predeterminado
Subrayado: estático
Cursiva: abstracto (tenga en cuenta que la abstracción también se puede expresar envolviéndola entre dos corchetes angulares, como - <<Soy una clase o interfaz abstracta>>)
Antes de los dos puntos está el nombre del método/nombre de la variable (que se distingue por la presencia o ausencia de paréntesis), y después de los dos puntos está el parámetro de retorno/tipo de variable (que se distingue por la presencia o ausencia de paréntesis). significa que el método devuelve void (algunas personas también usan: void para indicar retorno void)
Las relaciones entre clases incluyen principalmente 6 relaciones: generalización (herencia), dependencia, asociación, agregación, combinación e implementación. uno por uno a continuación.
1. Relación de generalización La relación de generalización es una relación de herencia. La subclase hereda todos los comportamientos y atributos de la clase principal. La subclase puede agregar nuevas funciones o reescribir las funciones de la clase principal. Método de representación: triángulo hueco + línea continua, flecha que apunta a la clase principal
2. Dependencia
Una relación de dependencia indica que una clase usa (depende de) los servicios o la información de otra clase. Existe una dependencia entre dos clases cuando los cambios en una clase afectan a otra clase. En términos generales, las dependencias son siempre unidireccionales y no debería haber dependencias bidireccionales. Método de representación: corchetes angulares + línea de puntos
3. relación de asociación
Una asociación es una relación de propiedad que hace que una clase conozca las propiedades y métodos de otra clase. Encarna una fuerte relación de dependencia de diferentes tipos, como yo y mis amigos. Esta relación es más fuerte que la dependencia. No hay contingencia en las relaciones de dependencia y la relación no es temporal, sino que generalmente es a largo plazo.
Las relaciones de asociación se dividen en asociaciones unidireccionales o asociaciones bidireccionales, y también pueden tener multiplicidad (uno a muchos). Las asociaciones bidireccionales pueden tener dos flechas o ninguna flecha, y las asociaciones unidireccionales pueden tener una flecha. Método de representación: corchetes angulares + línea continua, la flecha apunta al propietario
4. relación de agregación
La relación de agregación es un tipo de relación de asociación, que representa una relación de "propiedad" "débil". Es la relación entre el todo y la parte, y la parte puede existir de forma independiente sin el todo. y el neumático es la relación entre el todo y la parte, y el neumático está separado del todo. El coche todavía puede existir solo. Método de representación: diamante hueco + línea continua, el diamante apunta al conjunto
5. Relación de combinación
La relación de combinación es también un tipo de relación de asociación. Es una relación más fuerte que la relación de agregación. Es la relación entre el todo y el individuo, pero el individuo no puede existir solo sin el todo. Por ejemplo, la relación entre una empresa y un departamento es un todo y una parte. Sin empresa no habría departamento. Requiere que el objeto que representa el todo en una relación de agregación normal sea responsable del ciclo de vida del objeto que representa la parte. Método de representación: diamante sólido + línea continua
6. Relación de implementación La relación de implementación es una relación entre una clase y una interfaz, lo que indica que la clase es la realización de todas las características y comportamientos de la interfaz. Método de representación: triángulo hueco + línea de puntos
Para ayudarlo a comprender mejor las seis relaciones entre clases, a continuación se utilizan ejemplos para ayudarlo a aprender y digerir.
1. Diagrama de clases de automóviles.
Diagrama de clases UML automotriz
Descripción del diagrama de clases de automóviles:
Existe una relación de "realización" entre automóviles, automóviles y bicicletas, que está representada por una línea de puntos con una flecha hueca;
La relación entre coches y SUV es una relación generalizada, representada por una línea continua con una flecha hueca;
Existe una relación de "combinación" entre el automóvil, el motor y los neumáticos, que está representada por la línea sólida de la flecha de diamante sólido;
Los estudiantes necesitan usar bicicletas para ir a la escuela, y existe una relación de "dependencia" con las bicicletas, que se representa mediante una línea de puntos con una flecha.
Existe una relación de "agregación" entre estudiantes y clases, representada por una línea continua con una flecha de diamante hueca;
La relación entre estudiantes y cédulas de identidad es de "asociación", representada por una línea continua con una flecha puntiaguda;
2. Diagrama de clases UML de animales
Diagrama de clases UML de animales
3. Diagrama de clases UML de Internet para estudiantes
Diagrama de clases UML de Internet para estudiantes
Si puede leer y comprender rápidamente el caso anterior, significa que básicamente ha entendido el diagrama de clases. Si combina más código y el diagrama de clases correspondiente para consolidarlo, no se confundirá cuando vea el diagrama de clases en el futuro.
ProcessOn admite el dibujo de diagramas de flujo, mapas mentales, diagramas UML, diagramas de arquitectura y otros gráficos. El método para utilizar ProcessOn para dibujar diagramas de clases UML es muy simple, siempre que domine los puntos de conocimiento del dibujo de diagramas de clases y los estudie y comprenda. las clases compartidas por el editor Con ejemplos de diagramas, creo que todos pueden aprender rápidamente a dibujar diagramas de clases.
Paso 1: Regístrese e inicie sesión en ProcessOn y cree un nuevo gráfico UML
Paso 2: seleccione el logotipo de la clase en la barra de herramientas de la izquierda, arrástrelo al área de edición derecha y escriba el nombre de la clase, los atributos y los métodos.
Paso 3: marque las flechas y líneas según la relación entre las clases.
Nota: Las conexiones entre cada icono de ProcessOn son flechas sólidas de forma predeterminada. Puede ajustar el estilo de conexión, el tipo de conexión, el color de la conexión, la dirección de la flecha y el estilo de la flecha en la barra de herramientas superior según sea necesario. Si desea que sus imágenes sean más hermosas, puede rellenar texto, íconos, líneas, etc. con diferentes colores y hacer que los mismos íconos tengan el mismo tamaño posible.
Lo anterior es el contenido relevante sobre los diagramas de clases UML . Todos los casos de diagramas de clases UML anteriores se dibujan usando ProcessOn .