Modelado funcional casos_de_uso

26
1 Casos de Uso Instituto Universitario Experimental de Tecnología La Victoria Programa Nacional de Formación en Informática Unidad Curricular: Ingeniería del Software I

Transcript of Modelado funcional casos_de_uso

Page 1: Modelado funcional casos_de_uso

1

Casos de Uso

Instituto Universitario Experimental de Tecnología La VictoriaPrograma Nacional de Formación en Informática

Unidad Curricular: Ingeniería del Software I

Page 2: Modelado funcional casos_de_uso

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

2

El modelo de casos de uso describe las funcionalidades del nuevo sistema mostrando las interacciones entre los usuarios del sistema (actores) y los casos de uso (unidad funcional completa) del sistema que se está modelando.

Los modelos de casos de uso se usan para:- Especificar los requisitos- Comunicarse con los clientes- Generar casos de prueba

Page 3: Modelado funcional casos_de_uso

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

3

Elementos del diagrama: El actor

• Es cualquier entidad externa (humano o máquina) que interactúa con el sistema para ejecutar algún trabajo.• Tiene una o mas metas cuando utiliza el sistema• Se representa mediante el siguiente símbolo:

Page 4: Modelado funcional casos_de_uso

4

• No es necesariamente un usuario final. Un usuario puede desempeñar varios papeles al usar un sistema, mientras que un actor representa una clase de entidad externa que desempeña solo un papel en el contexto del caso de uso.

• No siempre se identifica durante la primera iteración. Aquellos que se identifican en este punto se llaman actores primarios mientras que los actores secundarios se identifican conforme se aprende más acerca del sistema.

Actor Primario: interactúa para lograr la función requerida del sistema y obtiene el beneficio que se espera de éste.

Actor Secundario: da soporte al sistema de manera que los actores primarios puedan hacer su trabajo.

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

Page 5: Modelado funcional casos_de_uso

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

5

Elementos del diagrama: Caso de uso

• Es una descripción de la funcionalidad que se construirá en el sistema propuesto• Se describe usando verbos (identifica que se está haciendo) y nombres (identifica a que entidad el verbo aplica)• Se representa mediante el siguiente símbolo:

Page 6: Modelado funcional casos_de_uso

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

6

Elementos del diagrama: Requerimientos, escenarios y restricciones

• Requerimientos: son los requerimientos funcionales formales que el sistema debe proporcionar al usuario final.

• Escenarios: descripciones formales de un flujo de eventos que ocurren durante una instancia de un caso de uso.

Page 7: Modelado funcional casos_de_uso

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

7

Elementos del diagrama: Requerimientos, escenarios y restricciones

•Restricciones: reglas y limitaciones formales bajo las cuales opera el caso de uso. Incluye: precondición (evento que debe haber ocurrido antes de que el caso de uso pueda comenzar), post-condición (evento que será verdad una vez que la ejecución del caso de uso haya terminado) e invariante (especifica qué será verdad mientras se ejecuta el caso de uso).

Page 8: Modelado funcional casos_de_uso

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

8

Elementos del diagrama: Relaciones

• Asociación: el actor hace uso de la funcionalidad inherente en el caso de uso, es decir, hace una invocación al caso de uso. Se denota con una flecha simple

• Inclusión: permite incorporar el flujo de eventos de un caso de uso pequeño dentro de un caso de uso base de la aplicación. Se denota con la siguiente flecha: • Extensión: permite incorporar el flujo de eventos de un caso de uso pequeño dentro de un caso de uso base de la aplicación, bajo la ocurrencia de una determinada condición:Se denota con:

Page 9: Modelado funcional casos_de_uso

MODELADO FUNCIONALDIAGRAMA DE CASOS DE USO

9

Elementos del diagrama: Relaciones

• Generalización: permite modelar relaciones padre-hijo donde el comportamiento de los padres es heredado por el hijo, pero se modifica por la ejecución del hijo. Se denota con la siguiente flecha:

• Este tipo de relación esta orientado exclusivamente para casos de uso (y no para actores).

Page 10: Modelado funcional casos_de_uso

10

TIPOS DE RELACIONES (RESUMEN)

Asociación

Inclusión

Extensión

Generalización

Caso de Uso Origen Caso de Uso Destino

<<extend>>

Caso de Uso Origen Caso de Uso Destino

<<include>>

Caso de Uso Hijo Caso de Uso Padre

Actor Caso de Uso

Page 11: Modelado funcional casos_de_uso

¿CÓMO SE REPRESENTA UNA HISTORIA?

11

Puede ser:

Un texto narrativo

Un esquema de tareas e interacciones

Una descripción basada en una plantilla

Una representación a través de diagramas

Sin importar su forma:

Un caso de uso muestra el software o sistema desde el punto de vista de usuario final.

Page 12: Modelado funcional casos_de_uso

PASOS PARA ESCRIBIR UN CASO DE USO

12

Desarrollar los casos de uso sugiere varias preguntas:

¿Quién (es) es (son) el (los) actor (es) primario (s)? ¿Cuáles son las metas del actor? ¿Cuáles son las condiciones previas que deben

existir antes de comenzar la historia? ¿Cuáles son las tareas o funciones principales que

realiza el actor? ¿Cuáles excepciones podrían considerarse

mientras se describe la historia? ¿Cuáles son las variaciones posibles en la

interacción del actor?

Page 13: Modelado funcional casos_de_uso

PASOS PARA ESCRIBIR UN CASO DE USO

13

Desarrollar los casos de uso sugiere varias preguntas:

¿Cuál es la información del sistema que el actor adquirirá, producirá o cambiará?

¿El actor tendrá que informar al sistema acerca de cambios en el medio ambiente externo?

¿Cuál es la información que el actor desea del sistema?

¿El actor quiere ser informado acerca de cambios inesperados?

Page 14: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

14

La mayoría de las personas está familiarizada con los “sistemas de alarma”, por lo que sería pertinente y

aceptable sacar al mercado una función de seguridad en el hogar para estos sistemas.

La función de seguridad en el hogar protegería contra o reconocería una variedad de “situaciones”

indeseables como una entrada ilegal, fuego, inundaciones, niveles de monóxido de carbono y

otras. Utilizará los sensores inalámbricos para detectar cada situación, el usuario podrá programarla y llamará por teléfono automáticamente a una oficina

de monitoreo cuando detecte alguna situación.

Page 15: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

15

Los objetos descritos para Hogar Seguro podrían incluir:

El panel de control Detectores de humo Sensores en puertas y ventanas Detectores de movimiento Una alarma Un evento (cuando algún sensor se active) Una plantilla Una PC Números telefónicos, una llamada telefónica y

otros

Page 16: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

16

La lista de servicios para Hogar Seguro podrían incluir:

Configuración del sistema

Colocación de la alarma

Monitoreo de los sensores

Marcación telefónica

Programación del panel de control

Lectura de pantalla

Observe que los servicios actúan sobre los objetos

Page 17: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

17

Algunas restricciones para Hogar Seguro:

El sistema debe reconocer cuando los sensores no estén en funcionamiento

Debe ser usable para el usuario (interfaz directa con la línea telefónica)

Criterios de rendimiento (Ej., el evento de un sensor debe ser reconocido en un segundo o menos; se debe implementar un esquema para la prioridad de los eventos)

Page 18: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

18

Los requisitos básicos de Hogar Seguro definen cuatro actores:

El propietario de la casa (usuario)

Administrador de la configuración (probablemente la misma persona que el propietario, pero en una función diferente)

Los sensores (dispositivos agregados al sistema)

Subsistema de monitoreo (la estación central que monitorea la función de seguridad en el hogar donde está instalado “Hogar Seguro”)

Page 19: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

19

Para el ejemplo, consideremos el actor propietario, quien interactúa con la función seguridad en el hogar en diferentes formas mediante el uso del panel de control de la alarma o una PC:

Ingresa una contraseña para permitir todas las demás interacciones

Indaga acerca del status de una zona de seguridad

Indaga acerca del status de un sensor

Presiona el botón de pánico en caso de emergencia

Activa ∕ desactiva el sistema de seguridad

Page 20: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

20

Considerándose la situación en la cual el propietario utiliza el panel de control, el caso de uso básico para la activación del sistema se presenta de la siguiente manera:

01 salidaen casainstante

desviaciónno listo

alarmaverificar

fuego

1

4

7

*

2

5

8

3

6

9

0 #

apagado salida en casa

max prueba desviación

instante código repicar

listo

pánico

activado encendido

HogarSeguro

Page 21: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

21

El propietario observa el panel de control para determinar si el sistema está listo para entrar.

Si el sistema no está listo se despliega un mensaje de no listo sobre la pantalla LCD, y el propietario debe cerrar en forma física puertas y ventanas para que el mensaje desaparezca.

El propietario utiliza una contraseña de cuatro dígitos. La contraseña se compara con la clave almacenada en el sistema. Si la contraseña es incorrecta, el panel de control esperará la siguiente acción.

Page 22: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

22

El propietario selecciona e introduce “en casa” o “salida” para activar el sistema. En casa, activa sólo los sensores del perímetro (los sensores para la detección de movimiento interno se desactivan). Salida, activa todos los sensores.

Cuando se realiza la activación, el propietario puede observar una luz roja de alarma.

Page 23: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

23

Plantilla para las descripciones detalladas de los casos de uso, según Cockburn

Caso de Uso: Inicio de monitoreo

Actor primario: Propietario de la casa

Meta en el contexto: Establecer el sistema para monitorear los sensores cuando el propietario salga de la casa o permanezca dentro de ella.

Condiciones previas: El sistema ha sido programado para una contraseña y para reconocer diferentes sensores.

Activador: El propietario decide “iniciar” el sistema, es decir, encender las funciones de la alarma.

Page 24: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

24

Escenarios: 1. Propietario: observa el panel de control2. Propietario: introduce la contraseña3. Propietario: selecciona “en casa” o “salida”4. Propietario: observa la luz roja de alarma

para indicar que Hogar Seguro está en operación

Excepciones: 1. El panel de control no está listo: el propietario verifica todos los sensores para determinar cuáles están abiertos

2. La contraseña es incorrecta (el panel de control emite un sonido): el propietario introduce de nuevo la contraseña correcta

3. La contraseña no es reconocida: debe contactarse el subsistema de monitoreo y respuesta para reprogramar la contraseña

Page 25: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

25

Excepciones: 4. Se selecciona “en casa”: el panel de control emite un sonido doble y se enciende la luz de en casa; se activan los sensores del perímetro.

5. Se selecciona “salida”: el panel de control emite un sonido triple y se enciende la luz de salida, se activan todos los sensores.

Page 26: Modelado funcional casos_de_uso

EJEMPLO: HOGAR SEGURO

26

Activar/Desactivar Sistema

Propietariode la casa

Administradordel Sistema

Entrar en el sistema por

internet

Responder al evento de

alarma

Encontrar una condición de

error

Reconfigurar los sensores y las

características del sistema

relacionadas

Sensores