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
- Operations
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









