ingeniería del software i 2er. cuatrimestre 2002 casos de uso gustavo pifarre
TRANSCRIPT
Ingeniería del Software I
2er. Cuatrimestre 2002Casos de Uso
Gustavo Pifarre
Ingeniería del Software I - 1er C. 2002
2
Agenda
Introdución: Qué es un caso de uso?Los casos de usos en el contexto de la
captura de requerimeintosArtefactosPerfiles de trabajoFlujo de trabajo
Ingeniería del Software I - 1er C. 2002
3
Casos de Uso
Un sistema de software tiene sentido para dar servicios a sus usuarios. Los casos de usos son una herramienta para especificar los requisitos de un sistema mediante la descripción de los servicios que presta
Un caso de uso es un fragmento de funcionalidad que proporciona al usuario un resultado importante
Ingeniería del Software I - 1er C. 2002
4
Casos de Uso
El caso de uso se plantea desde el punto de vista del usuario, desde sus necesidades, su interacción y su propia evaluación de importancia
Los casos de uso pueden dirigir el proceso de desarrollo. Guían el diseño, la implementación y la prueba del sistema
Ingeniería del Software I - 1er C. 2002
5
Casos de Uso
Usuario hace referencia a alguien o algo que interactua con el sistema.
Los requisitos reales son aquellos que agregan valor a los usuarios del sistema
Ingeniería del Software I - 1er C. 2002
6
Captura de requerimientos
Enumerar los requerimientos candidatosComprender el contexto del sistema
Modelado del dominio Modelado del negocio
Capturar requerimientos funcionalesCapturar requerimientos no funcionales
Ingeniería del Software I - 1er C. 2002
7
Captura de requerimientos
El objetivo es desarrollar un modelo del sistema que se va a construir
Los casos de uso son una forma adecuada de crear ese modelo
Los requerimientos funcionales se estructuran naturalmente como casos de uso
Los requerimientos no funcionales están asociados en general a un caso de uso
Ingeniería del Software I - 1er C. 2002
8
Artefactos
Modelo de Casos de Uso Casos de Uso Los actores Descripción de Arquitectura Glosario Prototipo de interfaz de usuario
Ingeniería del Software I - 1er C. 2002
9
Modelo de casos de uso
Es el acuerdo entre los desarrolladores y el cliente
Es un modelo que contiene Actores Casos de uso Sus relaciones
Ingeniería del Software I - 1er C. 2002
10
Actor
El modelo describe lo que hace el sistema para cada tipo de usuario
Cada tipo de usuario será representado con uno o mas actores
Cada sistema o dispositivo externo será representado con uno o mas actores
Los actores representan terceros fuera del sistema que colaboran con el sistema
Ingeniería del Software I - 1er C. 2002
11
Actor
El entormo de un sistema es el conjunto de todos los actores
Los actores suelen corresponder con trabajadores
El rol del trabajador define lo que hace el trabajador en un proceso de negocio concreto
Dotamos a cada trabajador con un caso de uso del sistema para cada uno de sus roles
Ingeniería del Software I - 1er C. 2002
12
Actor
El actor juega un papel por cada caso de uso con el que colabora
Una instancia de un actor es un usuario concreto que interactua con el sistema
Cualquier entidad que se ajuste a un actor puede actuar como una instancia del actor
Ingeniería del Software I - 1er C. 2002
13
Casos de uso
Un caso de uso especifica una secuencia de acciones que el sistema puede llevar a cabo interactuando con sus actores, incluyendo alternativas dentro de la secuencia
Un caso de uso es una especificaciónEspecifica el comportamiento de cosas
dinámicas, de instancias de los casos de uso
Ingeniería del Software I - 1er C. 2002
14
Descripción de Casos de uso
Un caso de uso tiene operaciones y atributos
Una descripción puede incluir: Diagrama de estado Diagrama de actividad Colaboraciones Diagramas de secuencia
Ingeniería del Software I - 1er C. 2002
15
Descripción de Casos de uso
Los diagramas de estado especifican el ciclo de vida de las instancias de los casos de usos en terminos de estados y transiciones entre los estados
Cada transicion es una secuencia de acciones
Los diagramas de actividad describen el ciclo de vida con mas detalle describiendo la secuencia temporal de acciones dentro de una transición
Ingeniería del Software I - 1er C. 2002
16
Descripción de Casos de uso
Los diagramas de colaboración y los de secuencia se emplean para describir las interaciones entre una instancia típica de un actor y la instancia típica de un caso de uso
La instancia de una caso es la realización ( o ejecución) de un caso de uso
Los atributos de un caso de uso representan los valores que una instancia de un caso de uso utiliza y manipula durante la ejecución de su caso de uso
Ingeniería del Software I - 1er C. 2002
17
Propiedades del modelo
El único tipo de interacione en el modelo de casos de uso tiene lugar entre instancias de actores e instancias de casos de uso
Esto asegura que el modelo sea simple e intuitivo
Consideramos atómicas las instancias de los casos de uso
El comportamiento de cada caso de uso puede interpretarse independiente de los otros
Ingeniería del Software I - 1er C. 2002
18
Descripción de Arquitectura
Contiene una vista de la arquitectura del modelo de casos de uso, que representa los casos de uso más significativos
Ingeniería del Software I - 1er C. 2002
19
Glosario
Define términos comunes importantes que los analistas utilizan al describir el sistema
Ingeniería del Software I - 1er C. 2002
20
Prototipo de Interfaz
Ayudan a comprender y especificar las interacciones entre actores humanos y el sistema
Ingeniería del Software I - 1er C. 2002
21
Perfiles de trabajo
Ingeniería del Software I - 1er C. 2002
22
Perfiles de trabajo
Es un puesto al cual se puede asignar una persona real. Una abstración de un ser humano con ciertas capacidades
Cada perfil tiene una descripción de sus responsabilidades Analista de Sistemas Especificado de casos de uso Diseñador de interfaz de usuario Arquitecto
Ingeniería del Software I - 1er C. 2002
23
Analista de Sistemas
Es el responsible del conjunto de requisitos que están modelados en los casos de uso
El analista es el responsable de delimitar el sistema, encontrando los actores y los casos de uso, asegurando que el modelo es completo y consistente
Dirige el modelado y coordina la captura de requerimientos
Ingeniería del Software I - 1er C. 2002
24
Especificador de casos de uso
Es el responsable de las descripciones detalladas de uno o más casos de uso
Ingeniería del Software I - 1er C. 2002
25
Diseñador de interfaz de usuario
Dan forma visual a las interfaces de usuario
Esto puede implicar el el desarrollo de prototipos de interfaces de usuario para algunos casos de usos, uno por cada actor
Ingeniería del Software I - 1er C. 2002
26
Arquitecto
Es el responsable de la vista de arquitectura del modelo de casos de uso
Ingeniería del Software I - 1er C. 2002
27
Flujo de Trabajo
Ingeniería del Software I - 1er C. 2002
28
Flujo de Trabajo
Encontrar actores y casos de usoPriorizar los casos de usoDetallar un caso de uso Prototipar la interfaz de usuario
Estructurar el modelo de casos de uso
Ingeniería del Software I - 1er C. 2002
29
Encontrar actores y casos de uso
Identificamos los actores y los casos de uso para: Delimitar el sistema de su entorno Esbozar quién y qué (actores) interactuan con
el sistema, y que funcionalidad (casos de uso) se espera del sistema
Capturar y definir un glosario de términos comunes para la creación de descripciones detalladas de las funcionalidades del sistema ( es decir de los casos de uso)
Ingeniería del Software I - 1er C. 2002
30
Encontrar actores y casos de uso
Esta actividad consta de cuatro pasos: Encontrar los actores Encontrar los casos de uso Describir brevemente cada caso de uso Describir el modelo de caso de uso completo
Ingeniería del Software I - 1er C. 2002
31
Encontrar los actores
Depende del punto de partidaDos criterios para la elección
debe existir al menos un usuario que represente al actor candidato
debe existir coincidencia mínima entre los roles
El analista de sistemas da nombre a los actores y los describe brevemente
Debemos identificar los actores que representan sistemas externos y los actores para el manteniminto y operación del sistema
Ingeniería del Software I - 1er C. 2002
32
Encontrar los casos de uso
El analista va repasando los actores y va proponiendo los casos de usos para cada actor
Elegimos un nombre para cada caso de uso de forma que nos haga pensar en la secuencia de acciones concreta que añade valor a un actor. El nombre empieza generalmente con un verbo, y debe reflejar cuál es el objeto de la iteracción entre el actor y el sistema
Recordar que un caso de uso entrega un resultado que se puede observar y que añade valor a un actor en concreto
Ingeniería del Software I - 1er C. 2002
33
Encontrar actores y casos de uso
Esta actividad consta de cuatro pasos: Encontrar los actores Encontrar los casos de uso Describir brevemente cada caso de uso Describir el modelo de caso de uso completo
Ingeniería del Software I - 1er C. 2002
34
Priorizar casos de uso
El propósito de esta actividad es determinar el grado de importancia de cada caso de usos, es decir cuales son: necesarios para el desarrollo en las primeras
iteraciones más importantes para la definición de la
arquitectura más exigentes en requerimiento no funcionales
Los resultados se recogen en la vista de arquitectura del modelo de casos de uso
Ingeniería del Software I - 1er C. 2002
35
Detallar un caso de uso
Describe su flujo de sucesos en detalle, incluyendo cómo comienza, termina e interactua con los actores
El resultado de esta actividad es la descripción detallada de un caso de uso en particular en forma de texto y diagramas
Ingeniería del Software I - 1er C. 2002
36
Estructura de la descripción
El caso de uso define los estados que las instancias de los casos de uso pueden tener y la posible transición entre estos estados
Elegir un camino básico completo y describir este camino en una seción de la descripción
En secciones separadas caminos alternativos o desviaciones del camino básico (significativo)
Ingeniería del Software I - 1er C. 2002
37
Qué incluir en la descripción?
Estado inicial (precondición)Como y cuando comineza el caso de usoEl prden requerido en el que las acciones
se deben ejecutarComo y cuando terminanEstado finales (postcondición)Los caminos no permitidosDescripción de caminos alternativos
Ingeniería del Software I - 1er C. 2002
38
Qué incluir en la descripción?
La interación del sistema con los usuarios y que cambios producen
La utilización de objetos, valores y recursos
Describir explicitamente que hace el sistema (y separar la responsabilidad de los actores)
Ingeniería del Software I - 1er C. 2002
39
Estructurar el modelo de casos de uso
El modelo de casos de uso se estructura para: Extraer descripciones de funcionalidad generales y
compartidas que pueden ser utilizadas por descripciones más especificas (generalización)
Extraer descripciones de funcionalidad adicionales u opcionales que pueden extender descripciones más especificas (extensión)
El resultado de esta actividad es un modelo más facil de entender y de trabajar con él