“Un modelo es una abstracción de algo, que se elabora para comprender ese algo antes de construirlo El modelo omite detalles que no resultan esenciales para la comprensión del original y por lo tanto facilita dicha comprensión”. (Monografías, (s/f)) [5].
“Los modelos se utilizan en muchas actividades de la vida humana: antes de construir una casa el arquitecto utiliza un plano, los músicos representan la música en forma de notas musicales, los artistas pintan sobre el lienzo con carboncillos antes de empezar a utilizar los óleos, etc.” [5]. Unos y otros abstraen una realidad compleja sobre unos bocetos, modelos al fin y al cabo. La metodología OMT (Técnica de Modelado de Objetos), por ejemplo, intenta abstraer la realidad utilizando tres clases de modelos Orientado a Objetos: el modelo de objetos, que describe la estructura estática; el modelo dinámico, con el que describe las relaciones temporales entre objetos; y el modelo funcional que describe las relaciones funcionales entre valores. Mediante estas tres fases de construcción de modelos, se consigue una abstracción de la realidad que tiene en sí misma información sobre las principales características de ésta.“Los modelos además, al no ser una representación que incluya todos los detalles de los originales, permiten probar más fácilmente los sistemas que modelan y determinar los errores. Un modelo representa a un sistema software desde una perspectiva específica” (Ferré y Sánchez, (s/f)) [4]. Cada modelo nos permite fijarnos en un aspecto distinto del sistema.
Los modelos de UML que se tratan en esta parte son los siguientes [4]:
- Diagrama de Casos de Uso.
- Diagrama de Secuencia.
- Diagrama de Colaboración.
- Diagrama de Estados.
- Diagrama de Estructura Estática.
2.1 ELEMENTOS COMUNES A TODOS LOS DIAGRAMAS
NOTAS
Una nota sirve para añadir cualquier tipo de comentario a un diagrama o a un elemento de un diagrama. Es un modo de indicar información en un formato libre, cuando la notación del diagrama en cuestión no nos permite expresar dicha información de manera adecuada. Una nota se representa como un rectángulo con una esquina doblada con texto en su interior.
Figura 2.1: Ejemplo de Nota.
Fuente: Ferré y Sánchez, (s/f).DEPENDENCIAS
La relación de dependencia entre dos elementos de un diagrama significa que un cambio en el elemento destino puede implicar un cambio en el elemento origen (por tanto, si cambia el elemento destino habría que revisar el elemento origen). Una dependencia se representa por medio de una línea de trazo discontinuo entre los dos elementos con una flecha en su extremo. El elemento dependiente es el origen de la flecha y el elemento del que depende es el destino (junto a él está la flecha).
Figura 2.2: Ejemplo de Dependencia.
Fuente: Ferré y Sánchez, (s/f).
2.2 DIAGRAMA DE CASOS DE USO
“Los diagramas de casos de uso describen las relaciones y las dependencias entre un grupo de casos de uso y los actores participantes en el proceso” (docs.kde.org, (s/f) ) [6]. Siguiendo con lo anterior, Es importante resaltar que los “diagramas de casos de uso no están pensados para representar el diseño y no puede describir los elementos internos de un sistema. Los diagramas de casos de uso sirven para facilitar la comunicación con los futuros usuarios del sistema, y con el cliente, y resultan especialmente útiles para determinar las características necesarias que tendrá el sistema. En otras palabras, los diagramas de casos de uso describen QUÉ es lo que debe hacer el sistema, pero no CÓMO” (docs.kde.org, (s/f) ) [6]. Los elementos que pueden aparecer en un Diagrama de Casos de Uso son:
- Actores, casos de uso y relaciones entre casos de uso (Ferré y Sánchez, (s/f))[4].
ACTOR
Un actor es una entidad externa (de fuera del sistema) que interacciona con el sistema participando (y normalmente iniciando) en un caso de uso. Los actores pueden ser gente real (por ejemplo, usuarios del sistema), otros ordenadores o eventos externos.
Los actores no representan a personas físicas o a sistemas, sino su papel. Esto significa que cuando una persona interacciones con el sistema de diferentes maneras.
CASOS DE USO
Un caso de uso describe, desde el punto de vista de los actores, un grupo de actividades de un sistema que produce un resultado concreto y tangible [6].
Los casos de uso son descriptores de las interacciones típicas entre los usuarios de un sistema y ese mismo sistema. Representan el interfaz externo del sistema y especifican qué requisitos de funcionamiento debe tener este.
Cuando se trabaja con casos de uso, es importante tener presentes algunas sencillas reglas:
- Cada caso de uso está relacionado como mínimo con un actor.
- Cada caso de uso es un iniciador (es decir, un actor)
- Cada caso de uso lleva a un resultado relevante (un resultado con “valor intrínseco”).
RELACIONES ENTRE CASOS DE USOS
Entre dos casos de uso puede haber las siguientes relaciones [4]:
- Extiende: Cuando un caso de uso especializa a otro extendiendo su funcionalidad.
- Usa: Cuando un caso de uso utiliza a otro.
Se representan como una línea que une a los dos casos de uso relacionados, con una flecha en forma de triángulo y con una etiqueta <<extiende>> o <<usa>> según sea el tipo de relación. En el diagrama de casos de uso se representa también el sistema como una caja rectangular con el nombre en su interior. En la siguiente Figura se muestra un ejemplo de Diagrama de Casos de Uso para un cajero automático.
Figura 2.3: Diagrama de casos de uso
Fuente: Ferré y Sánchez, (s/f).
2.3 DIAGRAMAS DE INTERACCIÓN
“En los diagramas de interacción se muestra un patrón de interacción entre objetos. Hay dos tipos de diagrama de interacción, ambos basados en la misma información, pero cada uno enfatizando un aspecto particular: Diagramas de Secuencia y Diagramas de Colaboración“ (Ferré y Sánchez, (s/f)). [4].
DIAGRAMA DE SECUENCIAUn diagrama de Secuencia muestra una interacción ordenada según la secuencia temporal de eventos [6]. En particular, muestra los objetos participantes en la interacción y los mensajes que intercambian ordenados según su secuencia en el tiempo. El eje vertical representa el tiempo, y en el eje horizontal se colocan los objetos y actores participantes en la interacción, sin un orden prefijado. Cada objeto o actor tiene una línea vertical, y los mensajes se representan mediante flechas entre los distintos objetos.
Figura 2.4: Diagrama de Secuencia.
Fuente: Ferré y Sánchez, (s/f).
DIAGRAMA DE COLABORACIÓN
Un Diagrama de Colaboración muestra una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se refiere). A diferencia de los Diagramas de Secuencia, los Diagramas de Colaboración muestran las relaciones entre los roles de los objetos. La secuencia de los mensajes y los flujos de ejecución concurrentes deben determinarse explícitamente mediante números de secuencia.
Figura 2.5: Diagrama de Colaboración.
Fuente: Ferré y Sánchez, (s/f).En la figura el Diagrama de Colaboración muestra a una serie de objetos con los enlaces entre los mismos, y con los mensajes que se intercambian dichos objetos. Los mensajes son flechas que van junto al enlace por el que “circulan”, y con el nombre del mensaje y los parámetros entre paréntesis. Cada mensaje lleva un número de secuencia que denota cuál es el mensaje que le precede, excepto el mensaje que inicia el diagrama, que no lleva número de secuencia.
2.4 DIAGRAMA DE ESTADOS
“Un Diagrama de Estados muestra la secuencia de estados por los que pasa un caso de uso o un objeto a lo largo de su vida, indicando qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos”. (Ferré y Sánchez, (s/f)). [4]
Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino. La caja de un estado puede tener 1 o 2 compartimentos. En el primer compartimiento aparece el nombre del estado. El segundo compartimiento es opcional, y en él pueden aparecer acciones de entrada, de salida y acciones internas.
Figura 2.6: Diagrama de Estados.
Fuente: Ferré y Sánchez, (s/f).Un diagrama de estados puede representar ciclos continuos o bien una vida finita, en la que hay un estado inicial de creación y un estado final de destrucción (del caso de uso o del objeto).
2.5 DIAGRAMAS DE ESTRUCTURA ESTÁTICA
Con el nombre de Diagramas de Estructura Estática se engloba tanto al Modelo Conceptual de la fase de Análisis como al Diagrama de Clases de la fase de Diseño. Ambos son distintos conceptualmente, mientras el primero modela elementos del dominio, el segundo presenta los elementos de la solución software. Sin embargo, ambos comparten la misma notación para los elementos que los forman (clases y objetos) y las relaciones que existen entre los mismos (asociaciones).
CLASESUna clase se representa mediante una caja subdividida en tres partes: En la parte superior se muestra el nombre de la clase, en la media los atributos y en la inferior las operaciones. Una clase puede representarse de forma esquemática (plegada), con los detalles como atributos y operaciones suprimidos, siendo entonces tan solo un rectángulo con el nombre de la clase.
Figura 2.7: Notación para clases a distintos niveles de detalle.
Fuente: Ferré y Sánchez, (s/f).En la figura se muestra como una misma clase puede representarse a distintos niveles de detalle.
OBJETOS
Un objeto se representa de la misma forma que una clase. En el compartimiento superior aparece el nombre del objeto junto con el nombre de la clase subrayado, según la siguiente sintaxis:
nombre_del_objeto: nombre_de_la_clase
Puede representarse un objeto sin un nombre específico, entonces sólo aparece el nombre de la clase.
Figura 2.8: Ejemplos de Objetos.
Fuente: Ferré y Sánchez, (s/f).ASOCIACIONES
Las asociaciones entre dos clases se representan mediante una línea que las une. La línea puede tener una serie de elementos gráficos que expresan características particulares de la asociación. Los más importantes elementos gráficos son los siguientes:
NOMBRE DE LA ASOCIACIÓN Y DIRECCIÓN
El nombre de la asociación es opcional y se muestra como un texto que está próximo a la línea. Se puede añadir un pequeño triángulo negro sólido que indique la dirección en la cual leer el nombre de la asociación. En la siguiente figura se visualiza la asociación como “el Director manda sobre el Empleado”
Figura 2.9: Ejemplo de asociación con nombre y dirección.
Fuente: Ferré y Sánchez, (s/f).Los nombres de las asociaciones normalmente se incluyen en los modelos para aumentar la legibilidad.
MULTIPLICIDAD
La multiplicidad es una restricción que se pone a una asociación, que limita el número de instancias de una clase que pueden tener esa asociación con una instancia de la otra clase y se puede expresar de la siguiente con un numero fijo, con un intervalo de valores o con un rango en el cual uno de los intervalos es un *.
ROLES
Para indicar el papel que juega una clase en una asociación se puede especificar un nombre de rol. Se representa en el extremo de la asociación junto a la clase que desempeña dicho rol.
Figura 2.10: Ejemplos de Roles en una asociación.
Fuente: Ferré y Sánchez, (s/f).
AGREGACIÓN
El símbolo de agregación es un diamante colocado en el extremo en el que está la clase que representa el “todo”.
Figura 2.11: Ejemplo de agregación.
Fuente: Ferré y Sánchez, (s/f).