Los diagramas de clase son diagramas de estructura dentro del lenguaje de modelado unificado, o UML para abreviar. El lenguaje de modelado UML es un estándar ISO. Ilustra sistemas de programación orientada a objetos.
Los procesos comerciales también se pueden registrar claramente con él. Usando medios visuales, UML muestra los estados del sistema y describe las interacciones entre los elementos del sistema. Para hacer esto, la notación define formas y líneas para 14 tipos de diagramas.
Diagramas de clase en el contexto del lenguaje de modelado unificado
El meta modelado describe tanto los elementos individuales del lenguaje de modelado como el propio lenguaje y define unidades de lenguaje para diferentes niveles. Por ejemplo, una unidad de lenguaje en este lenguaje visual es el comportamiento.
Describe tanto una meta clase como un término genérico para todos los factores dinámicos dentro de un sistema. Otra unidad del lenguaje es el objeto, el elemento básico de la programación orientada a objetos. Los diagramas de clases UML modelan objetos como instancias de clases. El diagrama de clases es, por lo tanto, uno de los tipos de diagramas más importantes y más utilizados en UML.
Los tipos de diagramas se dividen en dos categorías principales según su función: diagramas estructurales y diagramas de comportamiento. Estos últimos tienen una subcategoría: diagramas de interacción.
Estos no solo modelan el comportamiento general de un sistema, sino que también se centran en los flujos de información entre objetos en el transcurso de un proceso. Esto incluye, por ejemplo, los diagramas de secuencia. Modelan el orden cronológico de los mensajes que fluyen en un caso de uso detallado.
Los diagramas de comportamiento visualizan procesos dinámicos. Un ejemplo es el diagrama de actividades.. Esto muestra cómo las acciones individuales interactúan en un proceso. Los diagramas de estructura, por otro lado, muestran estados estáticos; ilustran los elementos de un sistema y sus interdependencias. El diagrama de clases asigna instancias de objetos a clases específicas en función de sus propiedades; por lo tanto, existe una dependencia jerárquica. Al mismo tiempo, existen relaciones entre diferentes clases o entre objetos
Diagramas de clases UML: áreas de aplicación
Los diagramas de clases representan estados con elementos del sistema y muestran estructuras hasta la instancia más pequeña. En consecuencia, son adecuados para la representación de arquitecturas de software detalladas. De esto se pueden derivar pasos de programación concretos. Algunos entornos de programación basados en software convierten estos diagramas UML directamente en marcos de código. Mediante el uso compartido de equipos, los desarrolladores se comunican entre sí o con otros responsables de la toma de decisiones dentro de una empresa.
Para los no especialistas, un diagrama UML proporciona una descripción general de las estructuras del sistema o los flujos de procesos planificados. Además, se puede utilizar para formular los requisitos del sistema que luego implementan los desarrolladores. Los expertos en TI pueden modelar y modificar diagramas de manera efectiva entre ellos sin tener que programar entornos o procesos más grandes en la fase de planificación.
Estas son las áreas de aplicación de los diagramas de clases:
- Describen tipos dentro de un sistema. La representación gráfica se puede trasladar a diferentes lenguajes y entornos de programación. Por lo tanto, existe independientemente de la aplicación futura.
- Modelan arquitecturas de software existentes. Si se van a integrar componentes adicionales, visualizan estructuras adecuadas en las que se pueden instalar nuevos componentes. Para los futuros elementos del sistema, los diagramas de clases crean una guía para el código del programa. Dependiendo de sus necesidades, este paso puede ser incompleto o muy detallado.
- Representan modelos de datos. Son adecuados para sistemas de diferente complejidad.
- Con las aplicaciones anidadas, la documentación y el mantenimiento pueden volverse muy complejos. Los diagramas de clases proporcionan una visión general del esquema.
- Representan requisitos para el software. Como archivo de imagen, se pueden reenviar fácilmente a través de canales comerciales internos. De esta forma, permiten a expertos de diferentes departamentos intercambiar ideas sobre la arquitectura.
- El estándar UML utiliza diagramas de clases para representar visualmente su propia notación.
Diagramas de clase: notación UML
Los diagramas de clases UML consisten en clases y sus instancias (objetos) e interfaces. Representan relaciones jerárquicas y asociaciones entre estos elementos. La notación de este tipo de diagrama es el componente básico para la mayoría de los demás diagramas de estructura.
UML 2 define los diagramas de estructura como clasificadores. Dentro del meta modelado UML, los diagramas de paquetes, los diagramas de componentes y similares son subclases del diagrama de estructura. Sin embargo, esto no está modelado porque es una clase abstracta. El diagrama de clases funciona mejor como ejemplo de un diagrama de estructura. Otros diagramas de esta categoría utilizan bloques de construcción modificados del diagrama de clases para su notación.
La clase
La clase es un elemento modelo en el diagrama de clases y es una especialización del clasificador encapsulado y el clasificador de comportamiento. Resume un conjunto de instancias.
Las instancias de objetos dentro de una clase tienen las mismas características (atributos) y comportamiento (métodos).
También tienen la misma semántica; h utilizan los mismos caracteres con el mismo significado. Así, la clase es una especie de plantilla para sus objetos. Instancia los objetos y define su comportamiento en el sistema.
Los clasificadores encapsulados amplían los llamados clasificadores estructurados. Estos últimos se caracterizan por el hecho de que pueden prescribir una estructura en el interior y acomodar elementos conectados. Estos elementos influyen en el comportamiento de los clasificadores.
Cada elemento conectado representa un participante en el comportamiento en el clasificador. También se dice que asumen un papel. El clasificador encapsulado también tiene un punto de acoplamiento. Esto aísla el clasificador del sistema sin perder conectividad.
Los clasificadores de comportamiento a menudo tienen una conexión a una interfaz llamada Interface Realization. El clasificador se ajusta implícitamente a las restricciones de la interfaz al admitir el conjunto de funciones de la interfaz. Dibujas la Interface Realization (también llamada “Lollipop”) como un círculo vacío que está conectado a la clase por una línea.
Las meta clases mencionadas clasifican objetos. La clase es la expresión específica de estas meta clases. Por lo tanto, define la clasificación con mayor precisión y especifica los componentes individuales que componen la estructura y el comportamiento de los objetos. Las clases tienen propiedades que las describen esto incluye:
- Características (propiedades o atributos si pertenecen a la clase)
- Operaciones ( Operaciones , se puede llamar en un objeto)
- Receptores de señales ( recepciones ) desde UML 2.0
- Ports desde UML 2.0
- Conectores
Incluya estas propiedades en la notación cuando cree un diagrama de clases. En UML, una clase se representa como un rectángulo con una línea sólida. Su cuerpo consta de tres departamentos colocados uno encima del otro. Solo se debe modelar la parte superior porque aquí es donde se define el nombre de la clase.
Opcionalmente, etiquete las otras dos particiones con atributos (centro) y operaciones (abajo). Asignas diferentes visibilidades a estos elementos escribiendo los siguientes símbolos delante de sus nombres:
- + = público
- – = privado
- # = protegido
- / = derivado
- ~ = paquete
- * = aleatorio
Propiedades
Las propiedades son elementos conectados. Los atributos de propiedad de la clase (ownAttributes) son siempre roles. Se conectan a través de conectores. Si tienen la propiedad isComposite=true (“está compuesto = true”), se denominan partes.
La propiedad UML es una característica estructural que tiene varias áreas de aplicación. Además de funcionar como un atributo en una clase, también puede representar finales de asociación.
El tipo de propiedad se deriva del nombre del clasificador. Opcionalmente, establezca un valor predeterminado para una característica. Además, los modificadores especifican cómo se comporta un rasgo:
- ordenado (Notación: isOrdered = true )
- único (Notación: isUnique = true )
- no único (Notación: isUnique = false )
- solo lectura (la propiedad solo se puede leer, notación: isReadOnly = true )
- Secuencia (la propiedad es una colección ordenada, notación: isUnique = false and isOrdered = true )
- unión (una unión derivada de subconjuntos, notación: unión )
- ID (pertenece al nombre de su clasificador, notación: id )
- Restricción de función (una restricción que afecta a la función, notación: propiedad-restricción )
- Redefinición de rasgos (redefine un rasgo con nombre heredado, notación: redefine [nombre del rasgo] )
- subconjunto de la característica(simboliza un rasgo que es un subconjunto de un rasgo nombrado, notación: subconjuntos [trait-name] )
Operaciones
Las operaciones son funciones de comportamiento. Ocurren en clases, pero también en tipos de datos o interfaces. Llamas a la instancia de una clase directamente. La operación define los siguientes aspectos de una llamada:
- Apellido
- Escribe
- Parámetro
- Limitaciones
La operación pertenece a su clasificador principal. Puede cambiarlos redefiniendo el tipo o los parámetros.
Hay condiciones previas para las operaciones. Estos deben cumplirse antes de realizar la operación. Sin embargo, UML no define cómo se comporta una llamada de comportamiento cuando no se cumplen las condiciones previas. También especifica las condiciones posteriores que se deben cumplir cuando se completa la operación.
Las condiciones corporales limitan el resultado de salida a un valor calculado a partir de sus especificaciones. Este valor debe satisfacer las condiciones posteriores. Sin embargo, la operación también puede generar una excepción mientras se ejecuta. Entonces probablemente no cumpla con las condiciones posteriores.
La notación para el diagrama de clases dicta que las operaciones se anotan en un compartimento en el cuerpo de la clase. Según el estándar UML, es obligatorio. Al mismo tiempo, UML permite suprimir todas las especificaciones estándar dentro de una clase. Solo se debe anotar el nombre.
Receptor de señal
Un receptor de señal indica que un clasificador está listo para aceptar una señal. También define qué tipo de señales toman las instancias de la clase. El receptor de la señal tiene el mismo nombre que su señal. Anote la información relevante en el cuerpo de la clase, en un compartimento bajo Operaciones.
Puertos
Puertos son conexiones para clasificadores encapsulados. Representan un punto en el que el clasificador interactúa con su entorno. Además de los puertos, el clasificador encapsulado es un sistema autónomo.
Debido a que sus elementos estructurales y de comportamiento internos no se ven afectados por el resto del sistema, también puede definir este clasificador de forma independiente. Siempre que un sistema cumpla con las restricciones del puerto, puede reutilizar el clasificador encapsulado en diferentes entornos.
Además, UML permite múltiples puntos de acoplamiento por clasificador. Puede definir sus propias reglas para cada puerto. El puerto es una propiedad del clasificador, por lo que establece sus reglas en el área de propiedades.
Esto incluye los servicios que el clasificador ofrece a su entorno y los servicios que requiere. Distingue entre diferentes flujos de información identificando el puerto utilizado para ellos.
Los propios puertos también tienen propiedades. Si el puerto está ejecutando funciones de clasificador publicadas, la propiedad isService indica esto. Cuando isService = true, el puerto se considera una parte esencial de las capacidades visibles externamente del clasificador encapsulado. Si isService = false, el puerto no es una de las características esenciales y, por lo tanto, se puede cambiar o eliminar como otras funciones internas.
Los puertos interactúan con las interfaces. Hay interfaces proporcionadas y requeridas (consulte “Interfaces” a continuación). La interfaz adjunta al puerto especifica las interacciones que pasan por el puerto. Debido a que el muelle es una propiedad, tiene un tipo.
El valor de isConjugated media entre el tipo de puerto y la interfaz. Si el valor es verdadero, la interfaz necesaria se puede derivar directamente del tipo de puerto o del conjunto de interfaces que implementa el tipo de puerto. En este caso, una interfaz proporcionada se deriva del conjunto de interfaces. Si isConjugated es verdadero, la interfaz proporcionada se deduce del tipo.
Cuando un clasificador encapsulado genera una instancia, se crean instancias correspondientes para cada uno de sus puertos. Un puerto mantiene la instancia respectiva de acuerdo con su tipo y su multiplicidad.
Las instancias son lo que UML llama puntos de interacción. Cada instancia tiene referencias únicas que utiliza para distinguir entre las diferentes solicitudes de funciones de comportamiento realizadas a sus puertos.
Los puertos con la propiedad isBehavior = true envían una solicitud a la instancia del clasificador encapsulado. La solicitud adopta el comportamiento especificado de la instancia.
Los llamados puertos de comportamiento no dirigen solicitudes dentro de su clasificador. Si no se especifica ningún comportamiento para esto en el diagrama de clases, los mensajes en estos puertos se pierden. Modela un puerto como un pequeño cuadrado en el marco del clasificador al que pertenece. Dibuje la interfaz necesaria o proporcionada en el puerto. Si no especifica ninguna propiedad especial para el puerto, dibuje la interfaz sin puerto
Conectores
Conector es definir conexiones entre dos o más instancias. La especificación les permite comunicarse. A diferencia de las relaciones como la asociación, los conectores no conectan instancias arbitrarias, sino solo instancias que se definen como partes de conexión.
Modele los conectores como bordes con al menos dos extremos. Representan las instancias participantes que asignan un tipo a los elementos conectables.
Multiplicidades
Otra cantidad importante es la multiplicidad. Este parámetro especifica cuántas instancias puede formar una clase estructurada. También limita atributos y operaciones. Es parte de la estructura interna – es un elemento obligatorio en el cuerpo de la clase. Lo ingresas detrás de los atributos y operaciones. La topología también pertenece a esta sección. Los nodos (instancias de objetos) se conectan a través de rutas de comunicación (CommunicationPaths) para formar redes de topología