logo

Diagrama de clases UML

El diagrama de clases muestra una vista estática de una aplicación. Representa los tipos de objetos que residen en el sistema y las relaciones entre ellos. Una clase consta de sus objetos y también puede heredar de otras clases. Un diagrama de clases se utiliza para visualizar, describir, documentar varios aspectos diferentes del sistema y también construir código de software ejecutable.

Muestra los atributos, clases, funciones y relaciones para brindar una descripción general del sistema de software. Constituye nombres de clases, atributos y funciones en un compartimento separado que ayuda en el desarrollo de software. Dado que es una colección de clases, interfaces, asociaciones, colaboraciones y restricciones, se denomina diagrama estructural.

Propósito de los diagramas de clases

El objetivo principal de los diagramas de clases es crear una vista estática de una aplicación. Es el único diagrama que se usa ampliamente para la construcción y se puede mapear con lenguajes orientados a objetos. Es uno de los diagramas UML más populares. A continuación se detalla el propósito de los diagramas de clases que se detallan a continuación:

  1. Analiza y diseña una vista estática de una aplicación.
  2. Describe las principales responsabilidades de un sistema.
  3. Es una base para diagramas de componentes y despliegue.
  4. Incorpora ingeniería directa e inversa.

Beneficios de los diagramas de clases

  1. Puede representar el modelo de objetos para sistemas complejos.
  2. Reduce el tiempo de mantenimiento al proporcionar una descripción general de cómo se estructura una aplicación antes de codificarla.
  3. Proporciona un esquema general de una aplicación para una mejor comprensión.
  4. Representa un gráfico detallado resaltando el código deseado que se va a programar.
  5. Es útil para las partes interesadas y los desarrolladores.

Componentes vitales de un diagrama de clases

El diagrama de clases se compone de tres secciones:

    Sección superior:La sección superior abarca el nombre de la clase. Una clase es una representación de objetos similares que comparten las mismas relaciones, atributos, operaciones y semántica. A continuación se detallan algunas de las siguientes reglas que deben tenerse en cuenta al representar una clase:
    1. Escriba en mayúscula la letra inicial del nombre de la clase.
    2. Coloque el nombre de la clase en el centro de la sección superior.
    3. El nombre de una clase debe escribirse en negrita.
    4. El nombre de la clase abstracta debe escribirse en formato cursiva.
    Sección del medio:La sección central constituye los atributos, que describen la calidad de la clase. Los atributos tienen las siguientes características:
    1. Los atributos se escriben junto con sus factores de visibilidad, que son público (+), privado (-), protegido (#) y paquete (~).
    2. La accesibilidad de una clase de atributo se ilustra mediante los factores de visibilidad.
    3. Se debe asignar un nombre significativo al atributo, que explicará su uso dentro de la clase.
    Sección Inferior:La sección inferior contiene métodos u operaciones. Los métodos se representan en forma de lista, donde cada método está escrito en una sola línea. Demuestra cómo una clase interactúa con los datos.
Diagrama de clases UML

Relaciones

En UML, las relaciones son de tres tipos:

    Dependencia:Una dependencia es una relación semántica entre dos o más clases donde un cambio en una clase provoca cambios en otra clase. Forma una relación más débil.
    En el siguiente ejemplo, Student_Name depende de Student_Id.
Diagrama de clases UML
    Generalización:Una generalización es una relación entre una clase principal (superclase) y una clase secundaria (subclase). En esto, la clase secundaria se hereda de la clase principal.
    Por ejemplo, la cuenta corriente, la cuenta de ahorro y la cuenta de crédito son la forma generalizada de cuenta bancaria.
Diagrama de clases UML
    Asociación:Describe una conexión estática o física entre dos o más objetos. Representa cuántos objetos hay en la relación.
    Por ejemplo, un departamento está asociado con la universidad.
Diagrama de clases UML

Multiplicidad: Define un rango específico de instancias permitidas de atributos. En caso de que no se especifique un rango, uno se considera como una multiplicidad predeterminada.

isletra java

Por ejemplo, varios pacientes ingresan en un hospital.

Diagrama de clases UML

Agregación: Una agregación es un subconjunto de una asociación que representa una relación. Es más específico que la asociación. Define una relación parte-todo o parte de. En este tipo de relación, la clase hija puede existir independientemente de su clase padre.

La empresa cuenta con varios empleados y, aunque uno de ellos renuncie, la empresa sigue existiendo.

Diagrama de clases UML

Composición: La composición es un subconjunto de la agregación. Representa la dependencia entre el padre y su hijo, lo que significa que si se elimina una parte, la otra parte también se descarta. Representa una relación de parte completa.

Una libreta de contactos consta de varios contactos y, si elimina la libreta de contactos, se perderán todos los contactos.

Diagrama de clases UML

Clases abstractas

En la clase abstracta, ningún objeto puede ser una entidad directa de la clase abstracta. La clase abstracta no se puede declarar ni crear instancias. Se utiliza para encontrar las funcionalidades entre las clases. La notación de clase abstracta es similar a la de clase; la única diferencia es que el nombre de la clase está escrito en cursiva. Dado que no implica ninguna implementación para una función determinada, es mejor utilizar la clase abstracta con múltiples objetos.

Supongamos que tenemos una clase abstracta llamada desplazamiento con un método declarado dentro de él, y ese método será llamado como un conducir () . Ahora, este método de clase abstracta puede ser implementado por cualquier objeto, por ejemplo, automóvil, bicicleta, scooter, bicicleta, etc.

Diagrama de clases UML

¿Cómo dibujar un diagrama de clases?

El diagrama de clases se utiliza más ampliamente para construir aplicaciones de software. No sólo representa una vista estática del sistema sino también todos los aspectos principales de una aplicación. Una colección de diagramas de clases en su conjunto representa un sistema.

A continuación se detallan algunos puntos clave que es necesario tener en cuenta al dibujar un diagrama de clases:

  1. Para describir un aspecto completo del sistema, se sugiere darle un nombre significativo al diagrama de clases.
  2. Los objetos y sus relaciones deben conocerse de antemano.
  3. Se deben conocer los atributos y métodos (responsabilidades) de cada clase.
  4. Se debe especificar una cantidad mínima de propiedades deseadas, ya que una mayor cantidad de propiedades no deseadas conducirá a un diagrama complejo.
  5. Las notas se pueden utilizar cuando lo requiera el desarrollador para describir los aspectos de un diagrama.
  6. Los diagramas deben redibujarse y reelaborarse tantas veces para corregirlos antes de producir su versión final.

Ejemplo de diagrama de clases

A continuación se proporciona un diagrama de clases que describe el sistema de pedidos de ventas.

Diagrama de clases UML

Uso de diagramas de clases

El diagrama de clases se utiliza para representar una vista estática del sistema. Desempeña un papel esencial en el establecimiento de los diagramas de componentes y despliegue. Ayuda a construir un código ejecutable para realizar ingeniería hacia adelante y hacia atrás para cualquier sistema, o podemos decir que se usa principalmente para la construcción. Representa el mapeo con lenguajes orientados a objetos que son C++, Java, etc. Los diagramas de clases se pueden utilizar para los siguientes propósitos:

  1. Describir la vista estática de un sistema.
  2. Para mostrar la colaboración entre cada instancia en la vista estática.
  3. Describir las funcionalidades que realiza el sistema.
  4. Construir la aplicación software utilizando lenguajes orientados a objetos.