Вы находитесь на странице: 1из 14

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

Especificacin Grfica de Casos de Uso


Una simple secuencia de acciones no puede describir adecuadamente la riqueza de situaciones que se pueden presentar en un caso de uso (alternativas, excepciones...). Posibles soluciones:

Complicar la descripcin textual de la secuencia de acciones. Emplear una descripcin grfica mediante diagramas de actividad.

Un diagrama de actividad representa:

El flujo de acciones (secuencial, alternativo o concurrente) de un caso de uso o de una operacin de una clase.
Acciones: cada una de las unidades en que se descompone la actividad. Transiciones: conexin entre el fin de una accin y el comienzo de otra. Condiciones: deben ser expresiones booleanas mutuamente exclusivas.

Elementos principales:

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

Actividades
Especificacin de comportamiento (parametrizado) cuyos elementos individuales son las acciones. El flujo de ejecucin de una actividad se modela con nodos (acciones y nodos de control) conectados a travs de ramas (transiciones).
<nombre actividad>

<contenido>

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

Acciones
Unidad abstracta fundamental de especificacin de comportamiento. La ejecucin de una accin representa alguna transformacin o procesamiento en el sistema modelado. Tipos:

Aceptacin de evento: accin que espera por la ocurrencia de un evento.

Envo de seal: accin que crea una seal y la transmite.

Ejecucin de comportamiento: especificacin del comportamiento que debe ser llevado a cabo.

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

Diagramas de Actividad
Acciones y transiciones. Estados inicial y final. Decisiones y ramas alternativas. Sincronizacin de ramas concurrentes.
Comer
Abrir boca
Cortar pan Leer peridico Comer pan [else] [lquido] [terminado] Beber caf

Desayunar
Preparar desayuno

Tomar alimento

Cerrar boca
Masticar [slido]

Tragar Modelado Avanzado con Casos de Uso

Limpiar cocina
Diseo de Software Avanzado Departamento de Informtica

Correspondencia entre las Especificaciones Textual y Grfica


Nombre: Consultar lista de artculos Actores: Observador Objetivo: Obtener lista de artculos con datos de vendedores, y lista de pujas de un artculo con datos de compradores. Precondiciones: Postcondiciones: Escenario bsico:


Consultar lista de artculos
[sesin abierta] [else] Abrir sesin como Observador

[error] [ok] Mostrar lista de artculos con datos de vendedores

Abrir sesin como Observador. Mostrar la lista de artculos con los datos de los vendedores. Opcionalmente:
Seleccionar un artculo. Mostrar la lista de pujas del artculo con los datos de los compradores.
Modelado Avanzado con Casos de Uso

[fin]

[mostrar pujas]

Seleccionar artculo

Mostrar lista de pujas con datos de compradores

Diseo de Software Avanzado Departamento de Informtica

Subactividades
Consultar lista de artculos
Abrir sesin

[error]

Abrir sesin
[ok]

Mostrar lista de artculos con datos de vendedores

[sesin abierta] [else] Abrir sesin como Observador

[fin]

[mostrar pujas] Seleccionar artculo

Mostrar lista de pujas con datos de compradores

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

Swimlanes
Particin con nombre que permite agrupar un conjunto de acciones. Permite especificar de manera visual qu recurso o rol es responsable de cada accin que forma parte del diagrama de actividad.
Cliente Ventas Transporte

Realizar pedido

Comprobar crdito cliente

Comprobar producto en stock

Recibir pedido

Enviar pedido

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

Include y Extend
Es posible definir relaciones entre casos de uso:

include: para describir un comportamiento comn reutilizable. extend: para describir una variante del comportamiento base (es decir, slo se inserta el comportamiento cuando se cumple una condicin).
Sacar dinero Base Crear cuenta de usuario include
Condicin: {nombre de usuario ya registrado}

Validar tarjeta

Inclusin

extend

Registrar error

Extensin

Significado problemtico en UML:

No est clara la diferencia entre ambas (reutilizacin / insercin). No siempre encajan con la definicin como unidad coherente de funcionalidad. Pueden llevar por error al modelado de procesamiento secuencial.

En este curso se podr utilizar include, pero con mucho cuidado.


Modelado Avanzado con Casos de Uso
Diseo de Software Avanzado Departamento de Informtica

Acceso al Sistema
Situaciones tpicas que tienen en comn una secuencia de acciones previa a la ejecucin de los dems casos de uso:

Identificacin o validacin de usuarios. Inicio (y cierre) de sesin. Abrir un documento sobre el que se van a realizar diversas operaciones. etc. Caso de uso aparte usado como include Complica innecesariamente el diagrama de casos de uso. Es parte de los dems casos de uso slo la primera vez que se ejecutan. Caso de uso aparte cuyo resultado es usado como precondicin para los dems. No representa una interaccin completa, una funcionalidad en s misma con un objetivo independiente de los objetivos de los dems casos de uso. Secuencia opcional de acciones en el diagrama de actividad del caso de uso.

Posibles soluciones (y problemas asociados):

Puede reutilizarse definindola como subactividad.


Modelado Avanzado con Casos de Uso
Diseo de Software Avanzado Departamento de Informtica

10

Actores Cooperativos
Qu significa conectar varios actores a un mismo caso de uso?

El caso de uso puede requerir la participacin de varios actores, y cada actor asociado a un caso de uso representa un rol distinto, y uno de los actores ser el iniciador del caso de uso, y los actores cooperan entre todos para realizar el objetivo del caso de uso.

Incorrecto: pretender que es el mismo caso de uso para distintos actores, que lo ejecutan de modo independiente.
Diseo de Software Avanzado Departamento de Informtica

Modelado Avanzado con Casos de Uso

11

Generalizacin de Actores
Problema: Categora de usuarios A requiere el mismo servicio que otra categora de usuarios B. Posibles soluciones:

Hay usuarios concretos que adoptan los dos roles (clasificacin multiple). El actor A es subtipo del actor B (todo A es un B). Los actores A y B son subtipos del actor C (problema: proliferacin de actores). Asociar los dos actores con el mismo caso de uso (seran actores cooperativos). Que no requieran exactamente el mismo servicio (no sera el mismo caso de uso).

Posibles errores:

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

12

Generalizacin de Casos de Uso


Un caso de uso puede tener especializaciones con el fin de:

Aadir asociaciones con actores que requieran distintas variantes. Aadir o sobrescribir pre/postcondiciones y acciones.

Significado problemtico en UML No usar la generalizacin de casos de uso si se puede evitar

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

13

Realizacin de Casos de Uso


El modelo de casos de uso captura los requisitos funcionales del sistema y recoge el vocabulario del dominio. Los requisitos funcionales son estructurados y formalizados usando el mismo vocabulario en el modelo de anlisis, que es refinado y completado en el modelo de diseo con soluciones tecnolgicas que aportan aspectos de implementacin. Para realizar un caso de uso con metodologa orientada a objetos se requiere una colaboracin (tanto en anlisis como en diseo), es decir, un conjunto de objetos que cooperan para conseguir el objetivo del caso de uso:

Modelo esttico de la colaboracin: clases y asociaciones.


Estructura de datos requerida por el caso de uso.

Modelo dinmico de la colaboracin: objetos y mensajes.


Interacciones entre objetos para cumplir el objetivo del caso de uso.

Modelado Avanzado con Casos de Uso

Diseo de Software Avanzado Departamento de Informtica

14

Вам также может понравиться