Casos de uso

16
1 Ing. Antonio Arqque Pantigozo CICLO 2012-I Módulo: I Unidad: 2 Semana: 6 ANALISIS Y DISEÑO DE SISTEMAS DE INFORMACIÓN Tema: Modelado de Requerimientos 1 2 Modelo de Casos de uso El Modelo de Casos de uso es un modelo que describe los requerimientos funcionales del sistema en forma de Casos de uso ¿Qué es? 3 Requerimientos funcionales • Un requerimiento es: una condición o capacidad a la que debe ajustarse el sistema que se construye. Requerimiento funcional: es un requerimiento que describe que debe hacer el sistema respecto a su entorno Entorno: los usuarios u otros sistemas

Transcript of Casos de uso

1

Ing. Antonio Arqque Pantigozo

CICLO 2012-I Módulo: IUnidad: 2 Semana: 6

ANALISIS Y DISEÑO DESISTEMAS DE INFORMACIÓN

Tema:Modelado de Requerimientos

1

2

Modelo de Casos de uso

es un modelo El Modelo de Casos de uso es un modelo que describe los requerimientos

funcionales del sistema en forma de Casos de uso

¿Qué es?

3

Requerimientos funcionales• Un requerimiento es: una

condición o capacidad a la que debe ajustarse el sistema que se construye.

• Requerimiento funcional: es un requerimiento que describe que debe hacer el sistema respecto a su entorno

• Entorno: los usuarios u otros sistemas

2

4

Un ejemplo: Sistema AcadémicoEl sistema permitirá:• A los profesores:

– Consultar los horarios de sus cursos– Consultar la programación de los

exámenes– Actualizar y ver su información

personal– Registrar y modificar las notas de los

estudiantes a su cargo– Cerrar un curso

Requerimientos funcionales

5

Un ejemplo: Sistema Académico• A los estudiantes:

– Consultar los horarios de sus cursos– Consultar la programación de los

exámenes– Actualizar y ver su información

personal– Consultar notas de un curso

Requerimientos funcionales

6

Descripción de un Requerimiento• Registrar y modificar las notas de

los estudiantes a su cargo:– El profesor, que previamente se ha

identificado en el sistema, podrá ingresar las notas de los estudiantes. Solo podrá acceder a sus grupos de clases. Una vez cerrado un curso no podrá hacer cambios.

3

7

ActorUn actor es :un rol que un grupo de usuarios de un sistema cumplen cuando interactúan con esteDefine un conjunto de instancias de actores, donde cada uno juegael mismo rol en relación al sistema.

Una instancia de un actor es algo (otro sistema o equipo) o alguien (persona) que interactúa con el sistema.

8

Los actores ayudan a definir la frontera del sistema

Sistema deaerolínea

pasajero agente de viajes

Situación 1:

Sistema deaerolínea

pasajero (www.enPista.com)

Situación 2:

9

Caso de uso

Un Caso de uso define un conjunto de instancias deCasos de uso.

Un escenario o instancia de un caso de uso es una secuencia especifica de acciones e interacciones entre los actores y el sistema objeto de estudio que proporciona valor a un actor en particular.

En otras palabras: “es una descripción de la secuencias de acciones que un sistema ejecuta para proporcionar un resultado observable de un valor a un actor en particular”

4

10

Ejemplo de caso de uso

Escenario Principal de éxito: Un cliente llega a una caja con artículos para devolver. El cajero utiliza el sistema PDV para registrar cada uno de los artículos devueltos….

Gestionar Devoluciones

Escenarios Alternativos: Si se pago con tarjeta de crédito, y se rechaza la transacción de reembolso a su cuenta, informar al cliente y pagarle en efectivo.Si el identificador del articulo no se encuentra en el sistema, notificar al cajero y sugerirle la entrada manual del código del articulo (quizás éste alterado).….

11

Descripción de un Caso de usoRegistrar y modificar las notas de los estudiantes a su

cargo:Actor: ProfesorEl Caso de uso comienza cuando el profesor indica “registrar notas.”El sistema muestra un formulario de validación de ingreso al sistema.El usuario ingresa su clave de acceso y su contraseña.El sistema valida el ingreso.El sistema muestra los cursos asignados al profesor.El profesor selecciona el curso.El sistema muestra un listado de los estudiantes con sus notas. El profesor selecciona el estudiante e ingresa la nota de práctica, del parcial, del examen final y la nota final. Se repite para cada estudiante.El profesor indica “guardar”.El sistema valida toda la información y muestra un mensaje de confirmación y el Caso de uso finaliza.

12

¿Diferencias? Requerimiento vs. Casos de uso

• Hay una correspondencia directa de requerimiento funcional hacia Caso de uso

• Mas bien la diferencia está en la forma de la descripción.

• Los requerimientos funcionales se registran en un documento denominado “Software Requeriments Specifications”, conocido por sus siglas SRS.

• Los Casos de uso se documentan en un modelo de Casos de uso.

5

13

Diagrama de Casos de uso• Un Diagrama de Casos de uso muestra

los Actores, los Casos de uso y las Relaciones entre ellos:

<Actor Name>

(f rom Actors)

<Use Case Name>

(from <Use Case Name>)

<<communicate>>

14

El actor Profesor y sus Casos de uso

C o n s u lta r h o ra rio s d e c u rs o s

(f ro m Use C a se s)

Co n s u ltar h o r a ri os d e e xam e n e s

(f ro m Use Ca se s)

Ma n te n e r in fo rm a c ió n d e l p ro fe s o r

(f ro m U se Ca ses)

R e g is tra r n o ta s d e u n c u rs o

(f ro m U se Ca ses)

Va l id a r a c c e s o

(f ro m U se Ca se s)

P ro fe s o r

(f ro m A c t o rs )

15

Beneficios– El modelo de Casos de usos

• Es usado para comunicarse con el usuario final y el experto del dominio

– Proporciona credibilidad en una etapa inicial del desarrollo del sistema

– Asegura una comprensión mutua de los requisitos• Es usado para identificar

– Quién interactuará con el sistema y qué deberá hacer el sistema

– Qué interfaz deberá tener el sistema• Es usado para verificar que:

– Se capturan todos los requisitos– Que los desarrolladores hayan entendido los requisitos

• Es usado como base para la pruebas.• Es usado como base para la planificación del proyecto.

6

16

Relaciones entre actores• Si dos o más actores utilizan el

sistema de la misma forma entonces es posible establecer una relación de Generalización entre ellos, con el objetivo de simplificar el modelo de Casos de uso

17

Relaciones entre actores

Estudiante Profesor

Usuario

18

Casos de uso del Usuario

Consultar horarios de cursos

Consultar horario de exámenes

Validar accesoUsuario

(f rom Actors)

7

19

Casos de uso del Estudiante

Mantener información del estudiante

Estudiante

(f rom Actors)

Consultar notas de un curso

20

Casos de uso del Profesor

Mantener información del profesor

Regis trar notas de un curso

Cerrar un curso

Profesor

(f rom Actors)

21

Modelo de Casos de uso del Sistema Académico

Consultar notas de un curso

Estudiante

(f rom Actors)

Mantener información del estudianteCerrar un curso

Mantener información del profesor

Profesor

(f rom Actors)Registrar notas de un curso

Consultar horario de exámenes

Validar acceso

Usuario

(f rom Actors )

Consultar horarios de cursos

8

22

Diagrama de Casos de uso• Semántica

– Un diagrama de casos de uso muestra los actores, los casos de uso y sus relaciones.

• Notación– Es un grafo de actores, casos de usos y

relaciones. Las relaciones son asociaciones entre los actores y los casos de uso, generalizaciones entre los actores, generalizaciones, extensiones e inclusiones entre los casos de uso

23

Construcción de Casos de uso• Identificar actores

– Qué grupos de usuarios necesitan apoyo del sistema para realizar sus tareas?

– Qué grupos de usuarios son responsables de ejecutar las funciones relevantes del sistema

– Qué usuarios realizan labores secundarias de mantenimiento y administración?

– Interactuará el sistema con algún dispositivo o sistema externo?

24

Construcción de Casos de uso• Encontrar casos de uso

– ¿cuáles son las tareas del actor?– ¿qué información crea, guarda, modifica,

destruye o lee el actor?– ¿debe el actor notificar al sistema los

cambios externos?– ¿debe el sistema informar al actor de los

cambios internos?– Necesita el actor realizar operaciones de

mantenimiento, auditoria y/o soporte?

9

25

Construcción de Casos de uso

• Describir los casos de uso:– Formato Breve

• Descripción resumida de la funcionalidad que representa el caso de uso (qué)

– Formato Detallado• Contiene mayores detalles. Describe el curso

flujo de eventos o diálogo que se sucede entre el actor y el sistema

26

Construcción de Casos de uso

• Describir los casos de uso:– Formato Breve

Caso de uso: Comprar ProductoActores: Cliente, CajeroDescripción:

Un cliente llega a la caja registradora con los artículos que comprará. El cajero registra los artículos y cobra el importe. Al terminar la operación el cliente se marcha con los productos.

27

Construcción de Casos de uso• Describir los casos de uso:

– Formato Detallado (plantillas www.usecases.org)Caso de uso :Actores :Precondición : Poscondición :

Flujo BásicoActor

1.El caso de uso comienza cuando el actor … 2.3

Sistema1. 2.3.

Flujos Alternativos1.2.

10

28

Construcción de Casos de usoEjemplo: Sistema de Matricula

La universidad quiere automatizar su sistema de matrícula de cursos de verano.Un Empleado inicializa la oferta de cursos ofrecidos para el verano. Un mismo curso tiene varias ofertas (secciones). Durante un cierto período de tiempo, después de que se haya definido la oferta de cursos, los estudiantes pueden utilizar el sistema para añadir o eliminar cursos a matricular. Los alumnos seleccionan 4 cursos obligatorios y 2 cursos electivos.Los profesores pueden utilizar el sistema para obtener las listas de alumnos matriculados en su curso.Los usuarios del sistema de matrícula acceden a él mediante un login y una password que le es asignada.

29

Construcción de Casos de usoEjemplo: Sistema de Matricula

•Actores :•Empleado•Estudiante•Profesor

•Casos de uso•Ingresar Oferta de cursos•Añadir o Eliminar Curso•Obtener Listado de Alumnos

30

Construcción de Casos de usoCaso Sistema de Matricula

Caso de uso : Ingresar oferta de cursosActor : EmpleadoPrecondición : Empleado ha sido admitido como usuarioPoscondición : Se ha registrado la oferta de cursos

Flujo BásicoActor

1.El C.U. comienza cuando Empleado Indica “Ingresar oferta”2.Ingresa Código de Curso3. Ingresa Sección, Horario y Aula4. Repite 2 a 3 por cada curso5. Indica “Guardar”

Sistema1. El sistema muestra formulario “Ingresar oferta”2.Muestra nombre del curso3.Verifica aula disponible y horario sin cruce 4. Repite 2 a 3 por cada curso5. Muestra mensaje de confirmación y el C.U. termina.

Flujos Alternativos1.2.

11

31

Construcción de Casos de uso

Empleado Registrar Curriculum

Registrar CursoAlumnoProfesor

Obtener Listado

Caso Sistema de Matricula

Diagrama de casos de uso

32

Caso de EstudioSISTEMA DE BIBLIOTECA: Se trata de gestionar los préstamos de libros de una

biblioteca en la que se va a estudiar exclusivamente el funcionamiento de laspeticiones y devoluciones de libros.

Petición de librosUn usuario puede realizar una petición de uno o más libros a la biblioteca. Para ello, es necesario presentar, el carnet de usuario de la biblioteca y una ficha en la que se detallan los libros pedidos. Puede haber varios tipos de préstamo (de sala, colaborador, proyecto fin carrera, doctorado) en función de los cuales el usuario puede disponer de los ejemplares durante un período de tiempo específico, (SALA :El día de la petición, COLABORADOR: Una semana, PROYECTO FIN CARRERA; Quince días y DOCTORADO: Un mes).Una vez entregados el carnet y la ficha, el sistema comprobará yaceptará la petición de los libros solicitados siempre que puedasatisfacer la petición, es decir, cuando haya ejemplaresdisponibles. Si se acepta la petición, se actualiza el número deunidades de los libros de la biblioteca y se guarda la ficha depréstamo.

33

...Caso de Estudio

Devoluciones de librosUn usuario no puede realizar más peticiones hasta que no haya efectuado todas las devoluciones de la petición anterior. El usuario, para hacer la petición, necesita el carnet, que no se le entrega hasta que no haya devuelto todos los libros. Sí puede hacer una devolución parcial de los libros.

Cuando un usuario realice una devolución, el sistema actualizará el stock de libros y comprobará la fecha de devolución de cada ejemplar para estudiar, en el caso de que la devolución se haga fuera de tiempo, la imposición de una sanción que tiene un coste de X ud. monetarias por cada ejemplar y días de retraso en la devolución. En este caso, la sanción se emite cuando el usuario entrega el último ejemplar.

12

34

Relaciones entre casos de uso

Relaciones de inclusión / uso (<<include>>) Relación de extensión (<<extend>>) Relación de generalización

35

… Casos de Uso: Relaciones

– Inclusión : una instancia del Caso de Uso origen incluye también el comportamiento descrito por el Caso de Uso destino

<<include>> reemplazó al denominado <<uses>>

Caso de Uso Origen Caso de Uso Destino

<<include>>

36

… Casos de Uso: Relaciones

Caso de uso origen

Caso de uso destino

De Inclusión:El caso de uso origen incorpora explícitamente el comportamiento de otro caso de uso como fragmentos de su propio comportamiento.

El caso de uso destino no es un caso especial del caso de uso original y no se puede sustituir por él.

<<includes>>

13

37

… Casos de Uso: Relaciones

– Extensión : el Caso de Uso origen extiende el comportamiento del Caso de Uso destino

Caso de Uso Origen Caso de Uso Destino

<<extend>>

Caso de uso destino Caso de uso origen

38

… Casos de Uso: Relaciones

• De Extensión: – Se amplia el comportamiento del caso de

uso origen con otro comportamiento adicional

Caso de uso origen

Caso de uso destino

<<extends>>

Modela parte del caso de uso que representa comportamiento opcional del sistema

39

… Casos de Uso: Relaciones

– Generalización : el Caso de Uso origen hereda la especificación del Caso de Uso destino y posiblemente la modifica y/o amplía

Caso de Uso Hij o Caso de Uso Padre

14

40

… Casos de Uso: Relaciones

Ejemplo:

Ide nt ifi cación

Transferencia en Internet

ClienteTransferencia

<<include>>

<< exten d>>

41

Ejemplo de <<Include>>

Validar operación

Reintegro cuenta corriente

Cliente

Reintegro cuenta crédito

<<include>>

<<include>>

42

Ejemplo de <<extends>>

Solicitar nueva tarjeta

SocioRealizar préstamo

tarjeta caducada

<<extends>>

Encargado

15

43

Casos de Uso – ejemplo1

Identificación

Giro por Internet

Cliente

Giro

<<extends>>

<<includes>>

44

Casos de Uso - ejemplo2

Cliente

pedir saldo

retirar

cargar

Supervisor

Cajero Electrónico

validarusuario

<include>

<include>

Retiro consobregiro

<extend>Comprobar

huella

45

Realizar Pago

Acordar Crédito

Vendedor

Suministro dedatos clientes

Pedir Producto

Pagar al Contado

Solictar CatalogoHacer Pedido

<<include>>

<<include>>

<<include>>

<<extend>>

Casos de Uso - ejemplo3

16

Gracias por su Atención

46