Tutorial de diagrama de clases UML: clase abstracta con ejemplos
¿Qué es la clase en el diagrama UML?
A Clase en UML Un diagrama es un plano que se utiliza para crear un objeto o un conjunto de objetos. La Clase define lo que puede hacer un objeto. Es una plantilla para crear varios objetos e implementar su comportamiento en el sistema. Una clase en UML está representada por un rectángulo que incluye filas con nombres de clase, atributos y operaciones.
¿Qué es el diagrama de clases?
A Diagrama de clase en Ingeniería de software es una estructura estática que brinda una descripción general de un sistema de software al mostrar clases, atributos, operaciones y sus relaciones entre sí. Este diagrama incluye el nombre de la clase, los atributos y la operación en compartimentos designados separados. El diagrama de clases ayuda a construir el código para el desarrollo de aplicaciones de software.
El diagrama de clases define los tipos de objetos en el sistema y los diferentes tipos de relaciones que existen entre ellos. Proporciona una vista de alto nivel de una aplicación. Este método de modelado se puede ejecutar con casi todos los métodos orientados a objetos. Una clase puede referirse a otra clase. Una clase puede tener sus propios objetos o heredar de otras clases.
Beneficios del diagrama de clases
- Diagrama de clases ilustra modelos de datos incluso para sistemas de información muy complejos
- Proporciona una descripción general de cómo está estructurada la aplicación antes de estudiar el código real. Esto puede reducir fácilmente el tiempo de mantenimiento.
- Ayuda a comprender mejor los esquemas generales de una aplicación.
- Permite dibujar gráficos detallados que resaltan el código que se requiere programar.
- Útil para desarrolladores y otras partes interesadas.
Elementos esenciales de un diagrama de clases UML
Los elementos esenciales del diagrama de clases UML son:
- Nombre de la clase
- Atributos
- Operaciones
Nombre de la clase
El nombre de la clase sólo es necesario en la representación gráfica de la clase. Aparece en el compartimento superior. Una clase es el modelo de un objeto que puede compartir las mismas relaciones, atributos, operaciones y semántica. La clase se representa como un rectángulo, incluido su nombre, atributos y operaciones en compartimentos separados.
Al representar una clase se deben tener en cuenta las siguientes reglas:
- El nombre de una clase siempre debe comenzar con mayúscula.
- El nombre de una clase siempre debe estar en el centro del primer compartimento.
- El nombre de una clase siempre debe escribirse en formato.
- El nombre de la clase abstracta UML debe escribirse en formato cursiva.
Atributos
Un atributo es una propiedad denominada propiedad de una clase que describe el objeto que se está modelando. En el diagrama de clases, este componente se coloca justo debajo del compartimento de nombres.
Un atributo derivado se calcula a partir de otros atributos. Por ejemplo, la edad del estudiante se puede calcular fácilmente a partir de su fecha de nacimiento.
Características de los atributos
- Los atributos generalmente se escriben junto con el factor de visibilidad.
- Pública, privada, protegida y paquete son las cuatro visibilidades que se indican con los signos +, -, # o ~ respectivamente.
- La visibilidad describe la accesibilidad de un atributo de una clase.
- Los atributos deben tener un nombre significativo que describa su uso en una clase.
Relaciones
Existen principalmente tres tipos de relaciones en UML:
- Dependencias
- Generalizaciones
- Asociaciones
Dependencia
Una dependencia significa la relación entre dos o más clases en la que un cambio en una puede forzar cambios en la otra. Sin embargo, siempre creará una relación más débil. La dependencia indica que una clase depende de otra.
En los siguientes ejemplos de diagramas de clases UML, Student tiene una dependencia de College
Generalización:
Una generalización ayuda a conectar una subclase con su superclase. Una subclase se hereda de su superclase. La relación de generalización no se puede utilizar para modelar la implementación de la interfaz. El diagrama de clases permite heredar de múltiples superclases.
En este ejemplo, la clase Estudiante se generaliza a partir de Clase Persona.
Asociación:
Este tipo de relación representa relaciones estáticas entre las clases A y B. Por ejemplo; un empleado trabaja para una organización.
Aquí hay algunas reglas para la Asociación:
- La asociación es principalmente un verbo o una frase verbal o un sustantivo o una frase nominal.
- Su nombre debe indicar el papel que desempeña la clase adjunta al final de la ruta de asociación.
- Obligatorio para asociaciones reflexivas.
En este ejemplo se muestra la relación entre estudiante y universidad que son estudios.
Multiplicidad
Una multiplicidad es un factor asociado con un atributo. Especifica cuántas instancias de atributos se crean cuando se inicializa una clase. Si no se especifica una multiplicidad, de forma predeterminada se considera una como multiplicidad predeterminada.
Digamos que hay 100 estudiantes en una universidad. La universidad puede tener varios estudiantes.
Agregación
La agregación es un tipo especial de asociación que modela una relación todo-parte entre el agregado y sus partes.
Por ejemplo, la clase universitaria está formada por uno o más estudiantes. En conjunto, las clases contenidas nunca dependen totalmente del ciclo de vida del contenedor. Aquí, la clase universitaria permanecerá incluso si el estudiante no está disponible.
Composición:
La composición es un tipo especial de agregación que denota una fuerte propiedad entre dos clases cuando una clase es parte de otra clase.
Por ejemplo, si la universidad está compuesta por clases de estudiantes. La universidad puede contener muchos estudiantes, mientras que cada estudiante pertenece a una sola universidad. Entonces, si la universidad no funciona, todos los estudiantes también serán eliminados.
Agregación vs. Composición
Agregación | Composición |
---|---|
La agregación indica una relación en la que el niño puede existir por separado de su clase principal. Ejemplo: Automóvil (Padre) y Coche (Hijo). Entonces, si elimina el Automóvil, el Auto secundario aún existirá. | Relación de visualización de composición donde el hijo nunca existirá independientemente del padre. Ejemplo: Casa (padre) y Habitación (hijo). Las habitaciones nunca se separarán en una casa. |
Clases abstractas
Es una clase con un prototipo de operación, pero no la implementación. También es posible tener una clase abstracta sin operaciones declaradas dentro de ella. Un resumen es útil para identificar las funcionalidades entre las clases. Consideremos un ejemplo de una clase abstracta. Supongamos que tenemos una clase abstracta llamada movimiento con un método o una operación declarada dentro de ella. El método declarado dentro de la clase abstracta se llama mover ().
Este método de clase abstracta puede ser utilizado por cualquier objeto, como un automóvil, un animal, un robot, etc., para cambiar la posición actual. Es eficaz utilizar este método de clase abstracta con un objeto porque no se proporciona ninguna implementación para la función dada. Podemos usarlo de cualquier forma para múltiples objetos.
En UML, la clase abstracta tiene la misma notación que la de la clase. La única diferencia entre una clase y una clase abstracta es que el nombre de la clase está escrito estrictamente en cursiva.
Una clase abstracta no se puede inicializar ni crear instancias.

En lo anterior notación de clase abstracta, existe un único método abstracto que puede ser utilizado por múltiples objetos de clases.
Ejemplo de diagrama de clases UML
Crear un diagrama de clases es un proceso sencillo. No implica muchos tecnicismos. Aquí hay un ejemplo:
El sistema de los cajeros automáticos es muy simple, ya que los clientes deben presionar algunos botones para recibir efectivo. Sin embargo, existen múltiples capas de seguridad que cualquier sistema de cajero automático debe superar. Esto ayuda a prevenir el fraude y a proporcionar efectivo o detalles necesarios a los clientes bancarios.
A continuación se muestra un ejemplo de diagrama de clases UML:

También verifique: Diagramas UML: Historia, Tipos, Características, Versiones, Herramientas
Diagrama de clases en el ciclo de vida del desarrollo de software
Los diagramas de clases se pueden utilizar en varias fases de desarrollo de software. Ayuda a modelar diagramas de clases en tres perspectivas diferentes.
1. Perspectiva conceptual: Los diagramas conceptuales describen cosas del mundo real. Debes dibujar un diagrama que represente los conceptos del dominio en estudio. Estos conceptos están relacionados con la clase y siempre es independiente del idioma.
2. Perspectiva de la especificación: La perspectiva de especificación describe abstracciones de software o componentes con especificaciones e interfaces. Sin embargo, no ofrece ningún compromiso de implementación específica.
3. Perspectiva de implementación: Este tipo de diagramas de clases se utiliza para implementaciones en un lenguaje o aplicación específica. Perspectiva de implementación, uso para la implementación de software.
Mejores prácticas de Diseño del Diagrama de Clases
Los diagramas de clases son los diagramas UML más importantes que se utilizan para el desarrollo de aplicaciones de software. Hay muchas propiedades que se deben tener en cuenta al dibujar un diagrama de clases. Representan varios aspectos de una aplicación de software.
A continuación se presentan algunos puntos que se deben tener en cuenta al dibujar un diagrama de clases:
- El nombre dado al diagrama de clases debe ser significativo. Además, debe describir el aspecto real del sistema.
- La relación entre cada elemento debe identificarse de antemano.
- Es necesario identificar la responsabilidad de cada clase.
- Para cada clase, se debe especificar un número mínimo de propiedades. Por lo tanto, las propiedades no deseadas pueden complicar fácilmente el diagrama.
- Se deben incluir notas de usuario siempre que sea necesario definir algún aspecto del diagrama. Al final del dibujo, debe ser comprensible para el equipo de desarrollo del software.
- Por último, antes de crear la versión final, es necesario dibujar el diagrama en papel normal. Además, debería reelaborarse hasta que esté listo para su presentación final.
Conclusión
- UML es el lenguaje estándar para especificar, diseñar y visualizar los artefactos de los sistemas de software.
- Una clase es un modelo para un objeto.
- Un diagrama de clases describe los tipos de objetos en el sistema y los diferentes tipos de relaciones que existen entre ellos.
- Permite el análisis y diseño de la vista estática de una aplicación de software.
- Los diagramas de clases son los diagramas UML más importantes que se utilizan para el desarrollo de aplicaciones de software.
- Los elementos esenciales del diagrama de clases UML son 1) Clase 2) Atributos 3) Relaciones
- El diagrama de clases proporciona una descripción general de cómo está estructurada la aplicación antes de estudiar el código real. Ciertamente reduce el tiempo de mantenimiento.
- El diagrama de clases es útil para mapear lenguajes de programación orientados a objetos como Java, C++, Rubí, Python, etc.
También verifique: Tutorial de diagrama UML para principiantes: aprenda UML en línea GRATIS