9. MODELADO DE SISTEMAS CON UML 111
9.1 ELEMENTOS BÁSICOS DE UML 111
UML utiliza una representación gráfica para modelar los sistemas. Cada diagrama tiene asociado un nombre, una notación y una semántica que proporciona un formalismo adecuado. Los diagramas que forman el modelo de un sistema genérico son los que se describen a continuación.
9.1.1 Diagrama de casos de uso.
Delimita el sistema a construir y define su funcionalidad. Utiliza dos elementos: los actores y los casos de uso.
Un caso de uso es una entidad funcional que representa un proceso en el modelo, visto como la secuencia de mensajes que intercambian el sistema y las entidades que interactúan con él (actores), junto con las acciones que realiza el sistema como respuesta a los estímulos externos. Un actor representa el papel que desempeña un elemento externo al sistema (Rebollo, 2000).
“Entre un usuario y el sistema, los casos de uso describen las interacciones vinculadas con un objetivo funcional del usuario”.
Los casos de uso explicitan los requisitos funcionales del sistema relativos a uno de los objetivos del usuario. Éstos se denominan también, de manera más precisa, casos de uso con objetivo usuario (Heyde & Debrauwer, 2014), figura 41.
Figura 41. Ejemplo de Caso de Uso. Fuente: (Rebollo, 2000)
9.1.2 Diagrama de Clases.
Muestra la estructura estática del modelo, compuesto por todo aquello que puede existir en el mundo real (y es de relevancia para el sistema), su estructura interna y sus relaciones. Especifica las clases que forman el sistema, unidas por relaciones de dos tipos: asociación y generalización. Dentro de cada clase, se indica su estructura (atributos) y su comportamiento (métodos) (Rebollo, 2000), figura 42.
Una clase se representa como un rectángulo dividido en tres partes. En la primera de ellas se indica el nombre de la clase, en la segunda sus atributos (indicando su nombre y el tipo de datos que almacena) y en la tercera los métodos (su nombre y los argumentos que necesita). Las clases pueden relacionarse entre sí mediante generalización o mediante asociación. La generalización permite realizar una clasificación taxonómica entre clases más generales y otras más específicas, consistentes con las primeras y que añaden más información. A la clase general se le denomina Superclase, y a la específica Subclase. Se representa mediante una flecha que parte de la subclase y termina en la superclase. La asociación es la relación más frecuente. Se utiliza para representar cualquier otro tipo de relación existente entre las clases (es-parte-de, es-un,… ). Se representa con una línea que une las dos clases relacionadas. A estas líneas se le pueden añadir distintos símbolos que indican sus propiedades y características (Rebollo, 2000).
9.1.3 Diagrama de Transición de Estado.
Los diagramas de estado son utilizados para describir el comportamiento de un sistema que está dirigido por eventos; es decir, muestra los estados por los que debe pasar un objeto durante una aplicación en respuesta a ciertos eventos, evidenciando sus respuestas y acciones (Aguirre, 2013). En la figura 43 se muestra un ejemplo de diagrama de transición de estados.
9.1.4 Diagrama de Secuencia.
El diagrama de secuencia describe la dinámica del sistema. A menos que se modele un sistema muy pequeño, resulta difícil representar toda la dinámica de un sistema en un único diagrama. Por tanto, la dinámica completa se representará mediante un conjunto de diagramas de secuencia, cada uno de ellos vinculado generalmente a una subfunción del sistema.
El diagrama de secuencia describe las interacciones entre un grupo de objetos mostrando de forma secuencial los envíos de mensajes entre objetos. El diagrama puede asimismo mostrar los flujos de datos intercambiados durante el envío de mensajes.
Para interactuar entre sí, los objetos se envían mensajes. Durante la recepción de un mensaje, los objetos se vuelven activos y ejecutan el método del mismo nombre. Un envío de mensaje es, por tanto, una llamada a un método (Heyde & Debrauwer, 2014), figura 44.
Figura 44. Ejemplo de Diagrama de Secuencia. Fuente: (Rebollo, 2000)
9.1.5 Diagrama de Actividad.
Una actividad es una serie de acciones. Una acción consiste en asignar un valor a un atributo, crear o destruir un objeto, efectuar una operación, enviar una señal a otro objeto o a uno mismo, etc.
Estos diagramas utilizan símbolos con un significado preestablecido y representan la ejecución mediante flechas que conectan los puntos de inicio y fin del proceso. Los símbolos más utilizados son los siguientes, figura 45 (Aguirre, 2013):
Figura 45. Ejemplo de Diagrama de Actividad. Fuente: (Aguirre, 2013)
• El ovalo o elipse, representa el inicio y fin del diagrama.
• El rectángulo, representa una actividad, es decir la ejecución de la actividad.
• El rombo, indica la toma de decisiones, formulando una pregunta.
• El círculo, es un conector, es decir, es el enlace de actividades dentro del diagrama.
9.1.6 Diagrama de Colaboración.
El diagrama de secuencia describe la dinámica del sistema. A menos que se modele un sistema muy pequeño, resulta difícil representar toda la dinámica de un sistema en un único diagrama. Por tanto, la dinámica completa se representará mediante un conjunto de diagramas de secuencia, cada uno de ellos vinculado generalmente a una subfunción del sistema.
El diagrama de secuencia describe las interacciones entre un grupo de objetos mostrando de forma secuencial los envíos de mensajes entre objetos. El diagrama puede asimismo mostrar los flujos de datos intercambiados durante el envío de mensajes.
Para interactuar entre sí, los objetos se envían mensajes. Durante la recepción de un mensaje, los objetos se vuelven activos y ejecutan el método del mismo nombre. Un envío de mensaje es, por tanto, una llamada a un método (Heyde & Debrauwer, 2014), figura 46.
Figura 46. Ejemplo de Diagrama de Colaboración. Fuente: (Aguirre, 2013)
9.1.7 Diagrama de Objetos.
Los diagramas de objetos representan instancias de los elementos que aparecen en los diagramas de clases en un momento particular del sistema. La siguiente imagen es un ejemplo de un diagrama de objetos, figura 47: