técnica de casos de uso

27
www.innevo.com Modelado de Requerimientos Funcionales con Casos de Uso

Upload: api-3760859

Post on 07-Jun-2015

4.609 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Técnica de Casos de Uso

www.innevo.comwww.innevo.com

Modelado de Requerimientos

Funcionales con Casos de Uso

Page 2: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Objetivos de la Capacitación

Conocer una técnica formal para la especificación de requerimientos de software.

Comprender las ventajas que aporta la técnica de especificación de requerimientos con Casos de Uso.

Aplicar los conocimientos adquiridos en un ejercicio práctico.

Page 3: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Agenda de la Capacitación

¿Qué es un caso de uso?

¿Cómo se compone el modelo de casos de uso?

¿Cómo se estructura el modelo de casos de uso?

Usos del modelo.

Resolución de un ejercicio práctico

Page 4: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿Qué es un Caso de Uso?

Es una descripción de las posibles secuencias de interacción entre el sistema bajo discusión y

actores externos, relacionadas al objetivo de unactor particular, el actor principal.

Un caso de uso registra un contrato entre los involucradosdel sistema, acerca del comportamiento del sistema endiscusión en varias circunstancias, organizadas por los

objetivos de los actores seleccionados.

Page 5: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Beneficios del Modelado con Use Cases

Ayuda en la estimación de programación y presupuestación.Ayuda en la evaluación de la factibilidad y el riesgo

del proyecto.Ayuda en la rastreabilidad de los requerimientos.Ayuda en la registración del progreso del sistema.

Líder de Proyecto

Provee los requerimientos del usuario para su validación.Modela la interacción del usuario con el sistema.

Usuario

Provee una validación de los requerimientos del cliente.Ayuda a determinar el alcance general del sistema.Ayuda en la estimación de la programación y la

presupuestación del sistema.Actúa como base para las pruebas de aceptación.

Cliente

Involucrado

Page 6: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Beneficios del Modelado con Use Cases

Provee una guía para la modificación del sistema.Provee una guía para la evolución de la arquitectura.

Responsable de Mantenimiento

Provee modelos de los requerimientos para el diseño del sistema.Es un medio para documentar el sistema.

Desarrollador

Delinea la arquitectura del sistemaAyuda a rastrear requerimientos arquitectónicos.Ayuda a evaluar la completitud, consistencia y

coherencia de la arquitectura.

Arquitecto

Involucrado

Page 7: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Desarrollo de Sistemas de Software

Desarrollo de Sistemas de Software

Iniciación del proyecto

Análisisde

RequerimientosAnálisis Diseño Implementación Prueba

Análisis de Dominio

Especificación de Interfaces

Definición de Arquitectura

Modelado de Casos de Uso

Preparar el modelado de casos de uso

Realizar el modelado inicial de casos de uso

Desarrollar el modelado de casos de uso

Crear los casos de prueba y la documentación

Organizar los casos de uso

Grupos de Actividades de Casos de Uso Principales

Framework para el proceso de Modelado con Casos de Uso

Administración de Casos de Uso en marcha

Page 8: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Proceso Conducido por Casos de Uso . . .

Requerimientos Análisis Diseño Implementación Prueba

Captura el Valor de los Requerimientos

Conduce el Proceso

Delinea la Arquitectura

Page 9: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

El Modelo de Casos de Uso controlará la formación de todos los otros modelos

Trabajando así el modelo del sistema será conducido por Casos de Uso::

Si se desea cambiar el comportamiento del Sistema, remodelamos el actor y el caso de uso apropiado.Como tenemos rastreabilidad se podrá modificar el sistema desde nuevos requerimientos.

Page 10: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿Cómo encontrar Casos de Uso?

Para cada actor identificado: ¿cuáles son las tareas en las cuales el sistema debería estar involucrado?¿Necesita el actor ser informado a cerca de ciertas ocurrencias en el sistema?¿Necesita el actor informar a cerca de cambios externos, repentinos?¿Provee el sistema al negocio con el comportamiento correcto?¿Pueden ejecutarse todos los aspectos por los casos de uso que se han identificado?¿Qué use cases soportarán y mantendrán el sistema?¿Qué información debe ser modificada o creada en el sistema?

Page 11: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿Cómo encontrar Casos de Uso?

Los casos de uso de soporte, que no representan lo que comúnmente son las funciones principales del sistema, pueden ser de las siguientes clases:

Inicio y finalización del sistemaMantenimiento del Sistema. Por ejemplo: agregar nuevos usuarios,definir perfiles de usuarios.Mantenimiento de los datos almacenados en el sistema, ejemplo: el sistema debe trabajar en paralelo con un sistema legado y losdatos necesitan sincronizarse entre los dos.

Page 12: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Aplicaciones del Diagrama de Casos de Uso

Los siguientes diagramas pueden ser de interés:

Actores que pertenecen al mismo paquete de caso de uso.Un actor y todos los casos de uso con los que interactúa.Casos de uso que manejan la misma información.Casos de uso utilizados por el mismo grupo de actores.Casos de uso que se ejecutan a menudo con la misma secuencia.Casos de uso que pertenecen al mismo paquete de use case.Los casos de uso más importantes. Un diagrama de este tipo puede servir como un resumen del modelo.Los casos de uso desarrollados juntos, en el mismo incremento.Un caso de uso específico y sus relaciones con actores y otros casos de uso.

Page 13: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Elementos que intervienen: Casos de Uso

El conjunto de todos los casos de uso, debe cubrir los requerimientos del Sistema en su totalidad.

Se pueden definir casos de uso en diferentes niveles:

A nivel de sistema de NegocioA nivel de sistema de Software

Las descripciones de los casos de uso soncruciales para la comprensión del sistema

Propiedades:Captura alguna función visible para el usuario. Puede ser grande o pequeño.Debe alcanzar un objetivo específico para el actor.

Page 14: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Elementos que intervienen: Actores

Representa lo que interactúa con el sistema, puede ser un usuario humano u otrosistema o dispositivo de hardware.

Como simboliza el ambiente del sistema nolo describimos en forma detallada.Una persona puede ejecutar distintosroles en el sistema

Hay actores principales: son los que usan el sistema directamente; para quienes desarrollamos el sistema.

Hay actores secundarios: son aquellos de los que el sistema necesita ayuda para poder cumplir con el objetivo del caso de uso.

Actor

Page 15: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿Cómo encontrar actores?

¿Quién o qué inicia eventos con el sistema?¿Quién proveerá, usará o quitará información?¿Quién usará esta funcionalidad?¿Quién está interesado en cierto requerimiento?¿En que parte de la organización será usado el sistema?¿Quién dará soporte y mantendrá el sistema?¿Cuales son los recursos externos del sistema?¿Qué otros sistemas necesitarán interactuar con este sistema?

Page 16: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿ Por qué es útil identificar actores de esta forma ?

Porque la estructura del sistema debe decidirse desde el punto de vista de la funcionalidad principal. Es decir, los usuarios deciden la funcionalidad del sistema.Porque se garantiza que el sistema se adaptará a los actores más importantes.Los actores facilitan la identificación de funciones, determinando por ejemplo:

¿ Cuáles son las tareas principales de cada usuario?¿ Tendrá el actor que informar al sistema sobre cambios exteriores?¿Desea el usuario ser informado sobre cambios inesperados?

Page 17: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿Qué asumimos para la definiciónde Casos de Uso?

PropósitoPropósito : Determinación de REQUERIMIENTOS

ContenidoContenido: Descripción por medio de PROSA CONSISTENTE

PluralidadPluralidad: MULTIPLES ESCENARIOS

EstructuraEstructura: SEMIFORMAL

Casos de Uso

Escenario 1Escenario 2

Escenario 3

Page 18: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿ Cómo se estructuran los Casos de Uso?

<<extend>>

BaseAdicional

Caso de uso B Caso de uso A

Asociaciones de ExtensiónAsociaciones de Extensión

Especifica como un caso de uso puede insertarse y así extenderla funcionalidad de otro.El caso de uso donde se insertará la extensión debe ser un cursocompleto en sí mismo.Se usan para modelar partes optativas, alternativas, etc.Se dibuja con una flecha cuya dirección va desde el caso de uso deextensión (adicional) al caso de uso base.

Page 19: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿ Cómo se estructuran los Casos de Uso?

Base

<<include>>

Adicional

Caso deuso B Caso de uso C

Asociaciones de Inclusión Asociaciones de Inclusión

Especifica y agrupa comportamiento similar de varios use cases, en un use case abstracto, que otros podrán usar.Se usan cuando su intervención es necesaria para completar uncurso completo de eventos.Se dibuja con una flecha desde el use case concreto o base al use case abstracto (adicional).

Page 20: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿ Cómo se estructuran los Casos de Uso?

Caso de uso A

Base

AdicionalCaso de uso E

Asociaciones de Generalización Asociaciones de Generalización

Un caso de uso más especifico puede especializar a un caso de uso más general.Una relación de generalización entre casos de uso implica que el caso de uso hijo contiene todos los atributos, secuencias de comportamiento y puntos de extensión definidos para el padre.Se dibuja con una flecha desde el caso de uso hijo al padre.Los caso de uso hijos pueden redefinir el comportamiento heredado del padre. (Polimorfismo)

Caso de uso D

Page 21: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Un ejemplo...

Validar Tarjeta Validar por Pantalla

Encargado Video

Registrar Socio

<<extend>>

Registrar Devolución de Película

<<include>>

Registrar Alquiler de Películas Validar Socio

Consultar PelículasSocio

Page 22: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿Cuál es la utilidad de la técnica?

Identificar requerimientos:Identificar requerimientos: organizar la forma en la que se lleva a cabo el relevamiento con los usuarios (qué preguntar y cuando).

Analizar requerimientos:Analizar requerimientos: a partir de las primeras funciones se puede organizar la información y buscar formas de profundizarla.

Especificar requerimientos:Especificar requerimientos: complementados con descripciones en lenguaje natural o con diagramas de actividad.

Page 23: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Especificación de Casos de UsoNivel del Caso de uso: Negocio Sistema de Información

Nombre del Caso de Uso: Nro. de Orden:Prioridad: Alta Media Baja

Complejidad: Alta Media Baja

Actor Principal: Actor Secundario: no aplica

Tipo de Use Case: Concreto Abstracto

Objetivo:

Precondiciones: no aplica

Post- Condiciones Éxito:

Fracaso:

Curso Normal Alternativas

1.

2. 2.A.

3.

Asociaciones de Extensión: no aplica

Asociaciones de Inclusión: no aplica

Caso de uso donde se incluye: no aplica

Caso de uso al que extiende: no aplicaCaso de uso de Generalización: no aplicaAutor: Fecha Creación: Autor Ultima Modificación: Fecha Ultima Modificación:

Page 24: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Especificación de Casos de Uso

Lineamientos para el contenido del flujo de eventos:

Describir como inicia y termina el caso de usoDescribir que datos se intercambian entre el actor y el caso de usoNo describir detalles de la interfaz del usuario, a menos que sea necesario para entender el comportamiento del sistema.Describir el flujo de eventos, no solo la funcionalidad, para reforzar esto comenzar cada acción con: “Cuando el actor...”Describir solo los eventos que pertenecen a ese caso de uso, y no lo que pasa en otros casos de uso o fuera del sistema.Evitar terminología vaga tal como “por ejemplo” “etc” “información”.Detalle en el flujo de eventos todos los “que” que deberían responderse, recuerde que los diseñadores de pruebas usarán ese texto para identificar casos de prueba.

Page 25: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Especificación de Casos de UsoPre y Post Condiciones

Una pre-condición es una restricción sobre cuando un caso de uso puede empezar. No es el evento que inicia el caso de uso.Una pre-condición de un caso de uso, no es una pre-condición para un único subflujo, aunque se pueda definir pre y post condiciones a nivel de subflujo.Una post-condición para un use case debe ser verdadera, independientemente de cual flujo sea ejecutado. Si algo puede fallar, debería cubrirse en la post condición diciendo: “ La acción se ha completado o si algo ha fallado, la acción no se ha realizado”, en lugar de decir “La acción se ha completado”.

Page 26: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

¿Qué nivel de detalle adoptar?

Si el desarrollo es incremental:

Identificar todos los requerimientos que se pueda.

Definir Prioridades.

Seleccionar cuáles requerimientos se implementarán en cada versión.

Como plantear las descripcionesSe identifican las funciones en forma general, “de trazo grueso”

Se incluyen escenarios operacionales más relevantes, no entrando en detalles sobre acciones que realiza el sistema.

Luego se especifican las funciones en forma detallada, “de trazo fino” Se completan los detalles.Se incluyen las alternativas, especificando en particular errores o

especificaciones que provienen de requerimientos de los usuarios.

Page 27: Técnica de Casos de Uso

www.innevo.com

www.innevo.com

Administración de RequerimientosTécnica de Casos de Uso

Conclusiones

Un modelo de casos de uso captura los requerimientos funcionales.

El modelo de casos de uso se realiza mediante un conjunto de diagramas y una descripción detallada de cada caso de uso.

Los casos de uso dirigen el trabajo a través del ciclo de vida del proyecto.