Modelado de Casos de Uso

Anuncio
Modelo de Desarrollo de programas y Programación Concurrente
MODELADO DE CASOS DE USO (Libro UML 2-Arlow & Neustad)
Determinar el límite de un sistema: en primer lugar se necesita decidir que es parte del
sistema (dentro de los límites del sistema) y que es externo a su sistema (fuera de los
límites del sistema).
Identificar los actores: un actor especifica un rol que cierta entidad externa adopta cuando
interactúa con su sistema directamente. Puede representar un rol de usuario, o un rol
desempeñado por otro sistema o hardware que toca el límite de su sistema. Por ejemplo si
se identifica el rol actor Cliente, la persona Juan y Pepe y muchas otras pueden desempeñar
ese rol, esas personas también pueden desempeñar otros roles. Para identificar los actores,
se necesita considerar quien y que utiliza el sistema y que roles desempeñan en sus
iteracciones con el sistema. Formular las siguientes preguntas ayudará a identificar actores:
• Quién y qué utiliza el sistema?
• Qué roles desempeñan en la iteracción?
• Quién instala el sistema?
• Quién o qué inicia y cierra el sistema?
• Quién mantiene el sistema?
• Qué otros sistemas interactúan con este sistema?
• Quién o qué consigue y proporciona información al sistema?
• Sucede algo en un momento dado?
En términos de modelar actores, recordar los siguientes puntos:
• Los actores siempre son externos al sistema, están por lo tanto fuera de su control.
• Los actores interactúan directamente con el sistema, así es como ayudan a definir el
sujeto.
• Los actores representan roles que personas y elementos desempeñan en relación al
sistema, no personas específicas o elementos específicos.
• Una persona o elemento puede desempeñar muchos roles en relación al sistema
simultáneamente o con el tiempo.
• Todo actor necesita un nombre breve que tenga sentido desde la perspectiva del
negocio.
• Todo actor debe tener una breve descripción que describa qué es ese actor desde una
perspectiva de negocio.
Identificar los casos de uso: un caso de uso es algo que el actor quiere que el sistema
realice. Los casos de uso:
• Se inician siempre por un actor.
• Se escriben siempre desde el punto de vista de los actores.
La mejor forma de identificar casos de uso es empezar con la lista de actores y luego
considerar cómo cada actor va a utilizar el sistema. Cada caso de uso debe tener asignado
un nombre descriptivo, breve, que es una frase verbal, a medida que identifique los casos de
uso, también puede encontrar nuevos actores. El modelado de casos de uso empieza con
un nombre para un caso de uso y completa los detalles más adelante, estos detalles
constan de una breve descripción inicial que se convierte en una especificación completa,
aquí tiene una lista de preguntas que puede formular cuando trate de identificar casos de
uso:
• Que funciones querrá un actor específico del sistema?
• El sistema almacena y recupera información?, ¿Si es así, qué actores activan este
comportamiento?
• Qué sucede cuando el sistema cambia de estado (por ejemplo, iniciar o detener el
sistema)? , ¿Se notifica a algún actor?
Apuntes de Cátedra - 2013
1
Modelo de Desarrollo de programas y Programación Concurrente
• Afecta algún evento externo al sistema?, ¿Qué notifica el sistema sobre estos eventos?
• Interactúa el sistema con algún sistema externo?
• Genera el sistema algún informe?
Diagrama de casos de uso
En el diagrama de casos de uso representa el sujeto del modelo de casos de uso por un
cuadro etiquetado con el nombre del sujeto. Este cuadro es el sujeto, y representa el límite
del sistema modelado por los casos de uso. Muestra actores fuera del sujeto (externos al
sistema) y casos de uso que constituyen el comportamiento del sistema dentro del sujeto,
interno al sistema.
Especificación de Casos de uso
Un estándar sencillo y eficaz para las especificaciones de casos de uso puede asegurar
que su proyecto tiene éxito con el análisis de casos de uso.
• Nombre de caso de uso
• ID del caso de uso
Apuntes de Cátedra - 2013
2
Modelo de Desarrollo de programas y Programación Concurrente
• Breve descripción: resume el objetivo del caso de uso, trata de captar la esencia del
caso de uso, el beneficio de negocio que proporciona a sus actores.
• Actores: existen dos tipos de actores: a) actores principales: estos actores activan el
caso de uso; b) actores secundarios: interactúan con el caso de uso después de
haberse activado. Cada caso de uso siempre se activa por un solo actor, sin embargo,
el mismo caso de uso puede activarse por diferentes actores en diferentes momentos
en el tiempo. Cada actor que puede activar el caso de uso es un actor principal. El resto
de actores son actores secundarios.
• Precondiciones: restringen el estado del sistema antes de que el caso de uso pueda
empezar. Piense en ellas como guardianes que impiden que un actor active el caso de
uso hasta que se cumplan todas sus condiciones. Las precondiciones especifican lo que
debe ser cierto antes de que el caso de uso se pueda activar.
• Flujo principal: los pasos de un caso de uso se listan en un flujo de eventos.
• Poscondiciones: restringen el estado del sistema después de que el caso de uso se ha
ejecutado. Especifican qué será verdadero después de que el caso de uso se haya
ejecutado.
• Flujos alternativos: todo caso de uso tiene un flujo principal y puede tener muchos flujos
alternativos. Estos son rutas de acceso alternativas a través del caso de uso que
capturan errores, ramificaciones e interrupciones en el flujo principal. El punto clave
sobre los flujos alternativos es que frecuentemente no regresan al flujo principal.
Generalización de casos de uso
Una relación de generalización entre un caso de uso más general y un caso de uso más
específico.
<<include>>: una relación entre casos de uso que permite que un caso de uso incluya
comportamiento de otro.
Ejemplo: suponga que está escribiendo un sistema de personal y las acciones que le pide
al sistema implica primero localizar los detalles de un empleado específico.
Apuntes de Cátedra - 2013
3
Modelo de Desarrollo de programas y Programación Concurrente
<<extend>>: una relación entre casos de uso que permite que un caso de uso extienda
su comportamiento con uno o más fragmentos de comportamiento de otro.
Lo que es interesante de <<extend>> es que el caso de uso base no sabe nada de los
casos de uso de extensión, simplemente proporciona enganches para estos. De hecho, el
caso de uso base está perfectamente completo si sus extensiones. Esto es muy diferente de
<<include>> donde los casos de uso base están incompletos sin sus casos de uso de
inclusión.
Evite descomposición funcional
Un error común en el análisis de casos de uso es crear un conjunto de casos de uso de
“alto nivel” y luego desglosarlos en un conjunto de casos de uso de bajo nivel, y así
sucesivamente hasta que acabe con casos de uso “primitivos” que están suficientemente
detallados para implantarse. Este enfoque al diseño de software se conoce como
descomposición funcional y es erróneo cuando se aplica al modelado de casos de uso
Apuntes de Cátedra - 2013
4
Modelo de Desarrollo de programas y Programación Concurrente
EJEMPLO DEL SISTEMA DE SUPERMERCADO (para un solo caso de uso)
1- Encontrar Actores y casos de uso
1.1 Identificar actores
Supervisor: es la única persona que está autorizada para eliminar ventas en el sistema.
1.2 Identificar casos de uso
Anular Venta: el cliente no confirma la venta, entonces debe intervenir el supervisor,
quien debe estar autorizado para realizar esta acción (debe haber ingresado su usuario
y clave) y haber elegido la opción de anulación, debe ingresar el número de venta y
posteriormente confirmar la eliminación de la venta.
1.3 Describir modelo de casos de uso
<include
Verificar
Usuario
Anular
Venta
Supervisor
2- Detallar el caso de uso
2.1 Diseñar diagramas de estados
Caso de uso: Anular venta
2-Verificando Nº
de venta
Nº de venta erróneo
Nº de venta correcto
6-Mostrando error en Nº de venta
3-Solicitando confirmación
para anular
Confirmación Nula
Confirmación OK
7-Cancelando Anulación
5-Registrando
anulación de venta
Apuntes de Cátedra - 2013
5
Modelo de Desarrollo de programas y Programación Concurrente
2.2 Descripción del Caso de Uso
Nombre del Caso de uso: Anular venta
Precondición: El supervisor debe haber ingresado como tal al sistema (por lo que está
autorizado y autenticado como tal) y debe haber elegido la opción de anulación de ventas.
Flujo de eventos
Camino básico
Actor: Supervisor
1-Ingresa Nº de venta
Sistema
2-Verifica Nº de venta, en el archivo de
Ventas
3-Solicita confirmación de anulación
4-Confirma anulación
5-Registra anulación de la venta
Camino alternativo:
6-Mostrando error en número de venta
7-Cancelando anulación a pedido del Supervisor
Poscondiciones: registración de la anulación de la venta.
2.3 Diagrama de colaboración del caso de uso Anular Venta
1. Solicita anular una venta
2. Verifica que datos debe solicitar para la anulación
3. Requiere los datos para la anulación
4. Requiere el número de venta
5. Ingresa el número de venta
6. Verifica los datos de la venta
7. Devuelve los datos de la venta
8. Solicita confirmación de Anulación
9. Devuelve la confirmación de la Anulación
10. Realiza la Anulación de la Venta
11. Devuelve el Estado de la Anulación
12. Informa la Anulación de la Venta
Apuntes de Cátedra - 2013
6
Descargar