Saltar al contenido
Codif铆ca.me | Desarrollo web | Programaci贸n

Crear diagramas de clases con UML

25 enero, 2022
uml

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 Ultimo Tutorial de Diagramas de Clase Para Ayudar a Modelar sus Sistemas  Facilmente

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.

11 Ejemplos de diagramas de clase UML (es) ideas | class diagram, db  diagram, diagram

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