Cristian Blanco www.cristianblanco.es

UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO

En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/UML/UMLIndex.html Los Diagramas de comportamiento muestran la conducta en tiempo de ejecución del sistema, tanto desde el punto de vista del sistema completo como de las instancias u objetos que lo integran 8.1 Diagramas de casos de uso Un diagrama de casos de uso nos ayuda a determinar QUÉ puede hacer cada tipo diferente de usuario con el sistema, en una forma que los no versados en el mundo de la informática o, más concretamente el desarrollo de software, pueda entender. Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario. Por lo tanto los casos de uso determinan los requisitos funcionales del sistema, es decir, representan las funciones que un sistema puede ejecutar. Un diagrama de casos de uso es una visualización gráfica de los requisitos funcionales del sistema, que está formado por casos de uso (se representan como elipses) y los actores que interactúan con ellos (se representan como monigotes). Su principal función es dirigir el proceso de creación del software, definiendo qué se espera de él, y su ventaja principal es la facilidad para interpretarlos, lo que hace que sean especialmente útiles en la comunicación con el cliente.

Los diagramas de casos de uso se crean en las primera etapa de desarrollo del software, y se enmarcan en el proceso de análisis, para definir de forma detallada la funcionalidad que se espera cumpla el software, y que, además, se pueda comunicar fácilmente al usuario Elementos que forman un diagrama de caso de uso 8.1.1 Actores Actor: representa un tipo de rol que juegan los usuarios del sistema (hardware, software, personas). Es cualquier usuario del sistema, entendido como cualquier cosa externa que interactúa con el sistema. No tiene porque ser un humano, puede ser otro sistema informático o unidades administrativas de una empresa. Un usuario del sistema puede representar diferentes roles según la operación que esté ejecutando, cada uno de estos roles representará un actor diferente, es decir, un actor representa un rol que alguien puede estar jugando, no un individuo particular. Tipos de actores:   

Primarios: interaccionan con el sistema para explotar su funcionalidad. Trabajan directa y frecuentemente con el software. Secundarios: soporte del sistema para que los primarios puedan trabajar. Son necesarios para alcanzar algún objetivo. Iniciadores: no interactúan con el sistema, pero desencadenan el trabajo de otro actor. Página 1

Cristian Blanco www.cristianblanco.es

8.1.2 Casos de uso Un caso de uso especifica una secuencia de acciones, incluyendo variantes, que el sistema puede llevar a cabo, y que producen un resultado observable de valor para un actor concreto. El objetivo del diagrama de casos de uso será la descripción de lo que realiza cada caso de uso, que es lo que va a ayudar al equipo de desarrollo a crear el sistema a posteriori. La descripción de los casos de uso se realiza mediante una descripción textual de lo que se vaya a realizar. Esta descripción se llama contrato del caso de uso. No hay un formato básico de contrato de caso de uso, cada organización de desarrollo de software establecerá una plantilla de documento del escenario, pero tendrá al menos los siguientes elementos:       

Nombre: nombre del caso de uso. Actores: aquellos que interactúan con el sistema a través del caso de uso. Propósito: breve descripción de lo que se espera que haga. Precondiciones: aquellas que deben cumplirse para que pueda llevarse a cabo el caso de uso. Flujo normal: flujo normal de eventos que deben cumplirse para ejecutar el caso de uso exitosamente, desde el punto de vista del actor que participa y del sistema. Flujo alternativo: flujo de eventos que se llevan a cabo cuando se producen casos inesperados o poco frecuentes. No se deben incluir aquí errores como escribir un tipo de dato incorrecto o la omisión de un parámetro necesario. Postcondiciones: las que se cumplen una vez que se ha realizado el caso de uso.

8.1.3 Relaciones Las relaciones representan qué actores realizan las tareas descritas en los casos de uso, en concreto qué actores inician un caso de uso. Tipos: 

Asociación: representa la relación entre el actor que lo inicia y el caso de uso.



Inclusión (): se utiliza cuando se quiere dividir una tarea de mayor envergadura en otras más sencillas, que son utilizadas por la primera. Representa una relación entre los casos de uso, y son muy útiles cuando es necesario reutilizar tareas, es decir, cuando se desea especificar algún comportamiento común en dos o más casos de uso. Ventajas:  Las descripciones de los casos de uso son más cortas y se entienden mejor.  La identificación de funcionalidad común puede ayudar a descubrir el posible uso de componentes ya existentes en la implementación Página 2

Cristian Blanco www.cristianblanco.es

Desventajas:  La inclusión de estas relaciones hace que los diagramas de caso de uso sean más difíciles de leer. 

Extensión (): se utiliza para representar relaciones entre un caso de uso que requiere la ejecución de otro en determinadas circunstancias. La principal función de esta relación es simplificar el flujo de casos de uso complejos. Se utiliza cuando existe una parte del caso de uso que se ejecuta sólo en determinadas ocasiones, pero no es imprescindible para su completa ejecución.



Generalización: se utiliza para representar relaciones de herencia entre casos de uso o actores. El caso base se define de forma abstracta y los hijos heredan sus características añadiendo sus propios pasos o modificando alguno.

8.1.4 Elaboración de casos de uso Se necesita diagramas que incluyan suficiente información para que el equipo de desarrollo tome las decisiones más adecuadas en la fase de análisis y diseño para una construcción de software que cumpla con los requerimientos. 1º Se parte de una descripción lo más detallada posible del problema a resolver y se trata de detectar quien interactúa con el sistema, para obtener los actores diagrama de casos de uso. 2º Se busca qué tareas realizan estos actores para determinar los casos de uso más genéricos. 3º Se refina el diagrama analizando los casos de uso más generales para detectar casos relacionados por inclusión (se detectan fácilmente cuando aparecen en dos o más casos de uso generales), extensión y generalización. Al diagrama generado se le denomina diagrama frontera El diagrama frontera es el diagrama de casos de uso que incluye todos los casos de uso genéricos del sistema, que podrán ser desglosados después un nuevos diagramas de casos de uso que lo describan si es necesario.

Página 3

Cristian Blanco www.cristianblanco.es

8.2 Diagramas de secuencia Los diagramas de secuencia se utilizan para formalizar la descripción de un escenario o conjunto de ellos representando que mensajes fluyen en el sistema así como quien los envía y quien los recibe. Los objetos y actores que forman parte del escenario se representan mediante rectángulos distribuidos horizontalmente en la zona superior del diagrama, a los que se asocia una línea temporal vertical (línea de vida), una por cada actor, de las que salen, en orden, los diferentes mensajes que se pasan entre ellos. Los diagramas de secuencia completan a los diagramas de casos de uso, ya que permiten al equipo de desarrollo hacerse una idea de qué objetos participan en el caso de uso y como interaccionan a lo largo del tiempo. Con esto el equipo de desarrollo puede hacerse una idea de las diferentes operaciones que deben ocurrir al ejecutarse una determinada tarea y el orden en que deben realizarse. Los mensajes, que significan la invocación de métodos, se representan como flechas horizontales que van de una línea de vida a otra, indicando con la flecha la dirección del mensaje. Los mensajes se dibujan desde el objeto que envía el mensaje al que lo recibe, pudiendo ser ambos el mismo objeto y su orden viene determinado por su posición vertical. Se pueden representar algunas situaciones más complejas como bucles usando marcos, normalmente se nombra el marco con el tipo de bucle a ejecutar y la condición de parada.

Página 4

Cristian Blanco www.cristianblanco.es

Página 5

Cristian Blanco www.cristianblanco.es

Estructuras de control con fragmentos: • Permite agregar un grado de lógicas de procedimientos a los diagramas. • Un fragmento combinado es una o más secuencias de procesos incluidas en un marco y ejecutadas bajo circunstancias nombradas específicas. • Se puede utilizar fragmentos combinados para definir, entre otros, bucles (loop), bifurcaciones (alt) y procesamientos simultáneos (par).

Página 6

Cristian Blanco www.cristianblanco.es

8.3 Diagramas de actividad El diagrama de actividad se compone de una serie de actividades y representa cómo se pasa de unas a otras. Las actividades se enlazan por transiciones automáticas, es decir, cuando una actividad termina se desencadena el paso a la siguiente actividad. Permite visualizar la dinámica del sistema desde otro punto de vista que complementa al resto de diagramas. Un diagrama de actividades es un grafo conexo en el que los nodos son estados, que pueden ser de actividad o de acción y los arcos son transiciones entre estados. El grado parte de un nodo inicial que representa el estado inicial y termina en un nodo final.

Página 7

Cristian Blanco www.cristianblanco.es

Página 8

Cristian Blanco www.cristianblanco.es

Página 9