casos de uso
TRANSCRIPT
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