¿Qué es un diagrama de clases?
El diagrama de clases UML es una notación gráfica utilizada para construir y visualizar sistemas orientados a objetos. Un diagrama de clases en el lenguaje de modelado unificado ( UML ) es un tipo de diagrama de estructura estática que describe la estructura de un sistema mostrando:
- clases,
- sus atributos (o Propiedades),
- operaciones (o métodos),
- y las relaciones entre los objetos.
¿Qué es una clase?
Una clase es un modelo para un objeto. Objetos y clases van de la mano. No podemos hablar de uno sin hablar del otro. Y todo el punto del Diseño Orientado a Objetos no se trata de objetos, se trata de clases, porque usamos clases para crear objetos. Entonces, una clase describe lo que será un objeto, pero no es el objeto en sí.
De hecho, las clases describen el tipo de objetos, mientras que los objetos son instancias utilizables de clases. Cada Objeto se construyó a partir del mismo conjunto de planos y, por lo tanto, contiene los mismos componentes (propiedades y métodos). El significado estándar es que un objeto es una instancia de una clase y un objeto: los objetos tienen estados y comportamientos.
Ejemplo
Un perro tiene estados: color, nombre, raza, así como comportamientos: menear, ladrar, comer. Un objeto es una instancia de una clase.
Notación de clase UML
Una clase representa un concepto que encapsula estado ( atributos ) y comportamiento ( operaciones ). Cada atributo tiene un tipo. Cada operación tiene una firma . El nombre de la clase es la única información obligatoria .
Nombre de la clase:
- El nombre de la clase aparece en la primera partición.
Atributos de clase:
- Los atributos se muestran en la segunda partición.
- El tipo de atributo se muestra después de los dos puntos.
- Los atributos se asignan a las variables miembro (miembros de datos) en el código.
Operaciones de Clase (Métodos):
- Las operaciones se muestran en la tercera partición. Son servicios que brinda la clase.
- El tipo de retorno de un método se muestra después de los dos puntos al final de la firma del método.
- El tipo de devolución de los parámetros del método se muestra después de los dos puntos que siguen al nombre del parámetro. Las operaciones se asignan a los métodos de clase en el código.
Visibilidad de clase
Los símbolos +, — y # antes de un atributo y nombre de operación en una clase indican la visibilidad del atributo y la operación.
- + denota atributos públicos u operaciones
- – denota atributos privados u operaciones
- # denota atributos u operaciones protegidas
Parámetro Direccionalidad
Cada parámetro en una operación (método) se puede denotar como in, out o inout , lo que especifica su dirección con respecto a la persona que llama. Esta direccionalidad se muestra antes del nombre del parámetro.
Perspectivas del diagrama de clase
La elección de la perspectiva depende de qué tan avanzado esté en el proceso de desarrollo. Durante la formulación de un modelo de dominio , por ejemplo, rara vez pasaría de la perspectiva conceptual . Los modelos de análisis típicamente presentarán una mezcla de perspectivas conceptuales y de especificación . El desarrollo del modelo de diseño generalmente comenzará con un fuerte énfasis en la perspectiva de la especificación y evolucionará hacia la perspectiva de la implementación .
Un diagrama se puede interpretar desde varias perspectivas:
- Conceptual : representa los conceptos en el dominio
- Especificación : el foco está en las interfaces de tipo de datos abstractos (ADT) en el software
- Implementación : describe cómo las clases implementarán sus interfaces
La perspectiva afecta la cantidad de detalles que se proporcionarán y los tipos de relaciones que vale la pena presentar. Como mencionamos anteriormente, el nombre de la clase es la única información obligatoria.
Un diagrama de clases es una técnica de modelado central que se ejecuta en casi todos los métodos orientados a objetos. Este diagrama describe los tipos de objetos en el sistema y varios tipos de relaciones estáticas que existen entre ellos.
Relaciones
Hay tres tipos principales de relaciones que son importantes:
- Asociación : representa relaciones entre instancias de tipos (una persona trabaja para una empresa, una empresa tiene varias oficinas.
- Herencia : la adición más obvia a los diagramas ER para usar en OO. Tiene una correspondencia inmediata con la herencia en el diseño OO.
- Agregación : agregación, una forma de composición de objetos en el diseño orientado a objetos.
Ejemplo de diagrama de clase: GUI
Un diagrama de clases también puede tener notas adjuntas a clases o relaciones.
Herramienta gratuita de software UML
En este artículo, presento dos herramientas UML:
- Visual Paradigm Community Editon (GRATIS) es una herramienta UML de escritorio con capacidades de modelado de funciones. (posible actualización a ediciones comerciales)
- Visual Paradigm Online para uml general y otros dibujos de diagramas.
30 ejemplos de diagramas de clases
- Ejemplos de diagramas de clases gratuitos y plantillas editables en un software de diagramas de clases en línea: Visual Paradigm Online.
- Utilice las plantillas como punto de partida para crear su propio diagrama de clase.
- ( Haga clic para editar instantáneamente los ejemplos de diagramas de clase )
Para su comodidad, los siguientes ejemplos están configurados en Visual Paradigm Online. Puede probarlo de inmediato sin configuración ni instalación, ¡diviértase!
Salida de archivo (Uso de generalización)
Patrones de diseño GoF — Proxy
Patrones de diseño de GoF: peso mosca
Patrones de diseño GoF — Fachada
Patrones de diseño GoF — Decorador
Patrones de diseño GoF: compuestos
Patrones de diseño GoF — Puente
Patrones de diseño GoF: adaptador
Patrones de diseño GoF — Singleton
Patrones de diseño de GoF: prototipo
Patrones de diseño GoF: método de fábrica
Patrones de diseño GoF — Constructor
Patrones de diseño GoF — Abstract Factory
Patrones de diseño GoF – Visitante
Patrones de diseño GoF: método de plantilla
Patrones de diseño de GoF: estrategia
Patrones de diseño GoF — Estado
Patrones de diseño GoF — Observador
Patrones de diseño GoF — Memento
Patrones de diseño GoF — Mediador
Patrones de diseño de GoF: iterador
Patrones de diseño GoF — Intérprete
Patrones de diseño GoF — Comando
Patrones de diseño de GoF: cadena de responsabilidad
Diagrama de clase — Proceso de pedido
Diagrama de clases — Restricciones de clases y paquetes
Diagrama de clase — Clase en un paquete (aerolínea)
Clase de asociación y autoasociación