técnica de casos de uso
TRANSCRIPT
www.innevo.comwww.innevo.com
Modelado de Requerimientos
Funcionales con 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.
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
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.
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
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
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
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
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.
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?
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.
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.
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.
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
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?
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?
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
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.
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).
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
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
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.
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:
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.
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”.
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.
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.