View
7.911
Download
0
Category
Preview:
DESCRIPTION
Citation preview
Asignatura de Técnicas de Modelamiento
Tema: Modelo de Casos de uso
Asignatura de Técnicas de Modelamiento
Tema: Modelo de Casos de uso
Prof. César Luza MonteroFacultad de Ingeniería de Sistemas e Informática
Universidad Nacional Mayor de San Marcos
¿Por qué fracasan los proyectos informáticos?
21.8%
Usuario no involucrado
12.4%
Falta de recursos
10.6%
Expectativas no realistas
9.9%
Falta de soporte
9.3%Tecnologicos/ Tecnicos
7.5%No se necesitó al final del desarrollo
Requisitosincompletos
o cambiantes
Causas de fracaso en proyectos informáticos
Exploración
¿Proceso de desarrollo? ¿Requerimientos? ¿Métodos, Técnicas y Herramientas? ¿Modelos de alto nivel o conceptuales vs.
Modelo de Implementación o físicos?
Al final de esta presentación serás capaz de:
Identificar y definir los elementos del modelo de casos de uso
Elaborar modelos de casos de uso
Modelo de Casos de uso
El Modelo de Casos de usoModelo de Casos de uso es un modelo que describe los requerimientos requerimientos
funcionalesfuncionales del sistema en forma de Casos de usoCasos de uso
El Modelo de Casos de usoModelo de Casos de uso es un modelo que describe los requerimientos requerimientos
funcionalesfuncionales del sistema en forma de Casos de usoCasos de uso
¿Qué es?
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
Un ejemplo: Sistema Académico
El 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
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
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.
Actor
Un actor es :
un rol que un grupo de usuarios de un sistema cumplen cuando interactúan con este
Define un conjunto de instancias de actores, donde cada uno juega el 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.
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:
Caso de uso
Un Caso de uso define un conjunto de instancias deCasos 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.
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”
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”
Descripción de un Caso de usoRegistrar y modificar las notas de los estudiantes a su cargo:
Actor: Profesor
El 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.
Descripción de casos de usos Nombre.
Debe indicar el título del caso de uso. Ejemplo: matricular un estudiante.
Breve descripción. Descripción pequeña de las actividades o pasos
principales que realiza el caso de uso. Debe incluir el propósito del caso de uso.
Caso de uso: Comprar ProductoActor : 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.
Caso de uso: Comprar ProductoActor : 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.
Descripción de casos de usos
Precondiciones. Restricción que tiene que ser verdadera para que el caso de uso
comience. Se definen relativas al sistema, no a su entorno. Deben ser estados observables por el actor.
Poscondiciones Condición que debe cumplirse para indicar que el caso de uso ha
terminado con éxito. Establecen que debe cumplirse cuando el caso de uso termine
Precondición: El usuario ha sido aceptado en el sistema con el rol de profesor
Precondición: El usuario ha sido aceptado en el sistema con el rol de profesor
Postcondición: Se ha registrado en el sistema las notas de los alumnos
Postcondición: Se ha registrado en el sistema las notas de los alumnos
Descripción de casos de usos
Flujo de eventos. Secuencia de eventos a desarrollar por los actores y el
sistema dentro del caso de uso. Se describe QUE hacen el actor y el sistema en el proceso y
no COMO se implementa. Está formado por dos partes:
Flujo básico y Flujo alternativo.
Descripción de casos de usos
Flujo Básico. Descripción narrativa de lo que debe ocurrir cuando los
actores interactúan con el sistema para satisfacer la meta u objetivo propuesto.
Se consideran los pasos básicos, normales e invariables para lograr el objetivo del caso de uso.
No incluye las alternativas o variaciones. Flujos Alternativos.
Se reflejan las diferentes situaciones que provocan una desviación del flujo básico de eventos.
Se observan condiciones anormales, extremas, ocasionales o eventuales, condiciones de error o violación de las reglas que impone las exigencias del negocio para el caso de uso.
Descripción de casos de usos
Actor: Profesor
Flujo Básico1. El Caso de uso comienza cuando el profesor indica “registrar notas.”2. El sistema muestra un formulario de validación de ingreso al sistema.3. El usuario ingresa su código y su contraseña.4. El sistema muestra los cursos asignados al profesor.5. El profesor selecciona el curso.6. El sistema muestra un listado de los estudiantes con sus notas. 7. 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.8. El profesor indica “guardar”.9. El sistema valida toda la información y muestra un mensaje de confirmación y el
Caso de uso finaliza.
Flujo Alternativo
En el paso 3, si codigo o contraseña son erradas el sistema muestra mensaje y vuelve a solicitar código y contraseña
Nombre: Registrar y modificar las notas de los estudiantes a su cargo
Descripción de casos de usos
Formato Detallado (plantillas www.usecases.org)
Caso de uso :Actores : Precondición : Poscondición :
Flujo Básico
1.El caso de uso comienza cuando el actor … 2.3
Flujos Alternativos1.2.
Descripción de casos de usos
Formato Detallado (plantillas www.usecases.org)
Caso de uso :Actores : Precondición : Poscondición :
Flujo Básico
Actor1.El caso de uso comienza cuando el actor … 2.3
Sistema1. 2.3.
Flujos Alternativos1.2.
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>>
El actor Profesor y sus Casos de uso
Consultar horarios de cursos
(from Use Cases)
Consultar horarios de examenes
(from Use Cases)
Mantener información del profesor
(from Use Cases)
Registrar notas de un curso
(from Use Cases)
Validar acceso
(from Use Cases)
Profesor
(f rom Actors)
¿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.
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.
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
Relaciones entre actores
Estudiante Profesor
Usuario
Casos de uso del Usuario
Consultar horarios de cursos
Consultar horario de exámenes
Validar accesoUsuario
(f rom Actors)
Casos de uso del Estudiante
Mantener información del estudiante
Estudiante
(f rom Actors)
Consultar notas de un curso
Casos de uso del Profesor
Mantener información del profesor
Registrar notas de un curso
Cerrar un curso
Profesor
(f rom Actors)
Modelo de Casos de uso del Sistema Académico
Consultar notas de un curso
Estudiante
(f rom Actors)
Mantener información del estudiante
Cerrar 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
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?
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?
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
Construcción de Casos de uso
Elaborar el diagrama de casos de uso:
Registrar Devolución
Registrar Préstamo
Reservar Libros
Bibliotecario
Socio
BIBLIOTECA
Construcción de Casos de uso
Ejemplo: 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.
Construcción de Casos de uso
Ejemplo: Sistema de Matricula
•Actores :•Empleado•Estudiante•Profesor
•Casos de uso•Ingresar Oferta de cursos•Añadir o Eliminar Curso•Obtener Listado de Alumnos
Construcción de Casos de usoCaso Sistema de Matricula
Caso de uso : Ingresar oferta de cursosActor : Empleado Precondición : Empleado ha sido admitido como usuarioPoscondición : Se ha registrado la oferta de cursos
Flujo Básico
Actor1.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.
Construcción de Casos de uso
EmpleadoRegistrar Curriculum
Registrar CursoAlumno
Profesor
Obtener Listado
Caso Sistema de Matricula
Diagrama de casos de uso
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 las peticiones y devoluciones de libros.
Petición de libros
Un 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á y aceptará la petición de los libros solicitados siempre que pueda satisfacer la petición, es decir, cuando haya ejemplares disponibles. Si se acepta la petición, se actualiza el número de unidades de los libros de la biblioteca y se guarda la ficha de préstamo.
...Caso de Estudio
Devoluciones de libros
Un 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.
Relaciones entre casos de uso
Relaciones de inclusión / uso (<<include>>)
Relación de extensión (<<extend>>) Relación de generalización
… 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>>
… 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>>
… 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
… 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
… 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 Hijo Caso de Uso Padre
… Casos de Uso: Relaciones
Ejemplo:
Identificación
Transferencia en Internet
ClienteTransferencia
<<include>>
<<extend>>
Ejemplo de <<Include>>
Validar operación
Reintegro cuenta corriente
Cliente
Reintegro cuenta crédito
<<include>>
<<include>>
Ejemplo de <<extends>>
Solicitar nueva tarjeta
SocioRealizar préstamo
tarjeta caducada
<<extends>>
Encargado
Casos de Uso – ejemplo1
Identificación
Giro por Internet
Cliente
Giro
<<extends>>
<<includes>>
Casos de Uso - ejemplo2
Cliente
pedir saldo
retirar
cargar
Supervisor
Cajero Electrónico
validarusuario
<include>
<include>
Retiro consobregiro
<extend>Comprobar
huella
Realizar Pago
Acordar Crédito
Vendedor
Suministro de datos clientes
Pedir Producto
Pagar al Contado
Solictar CatalogoHacer Pedido
<<include>>
<<include>>
<<include>>
<<extend>>
Casos de Uso - ejemplo3
Recommended