Modelo Casos de Uso
Modelo Casos de Uso
Modelo Casos de Uso
• Utiliza:
– Diagramas de Casos de Uso.
– Diagramas de Actividad (opcional).
Sirve para describir las interacciones del sistema con su entorno, identificando:
Los Actores, que representan los diferentes roles desempeñados por los usuarios del sistema (Los
actores no son solamente humanos, pudiendo ser también otros sistemas con los cuales el
sistema en desarrollo interactúa de alguna manera).
y los Casos de Uso, que corresponden a la funcionalidad que el sistema ofrece a sus usuarios,
explicada desde el punto de vista de éstos.
Los Casos de Uso se representan en 2 dimensiones, la primera es gráfica y ahí es cuando se habla
de los diagramas de casos de uso. La segunda dimensión (la más importante) es textual y para
cada caso de uso identificado hay que escribir una plantilla de casos de uso que puede ser en
formato compacto (o de Alto Nivel) y posteriormente en formato extendido.
La siguiente figura muestra un Diagrama de Casos de Uso que describe parcialmente un sistema
para la gestión de una biblioteca.
El primero de ellos (Lector) no interactúa directamente con el sistema en algunos casos de uso,
pero se lo incluye para brindar mayor claridad a la descripción de su funcionalidad.
1
Guía 4. Parte 2. Modelo de Casos de Uso.
2
Guía 4. Parte 2. Modelo de Casos de Uso.
En el caso de uso Registrar Nuevo Lector, está claro que el actor iniciador es el
Monitor; el Director también participa en el caso de uso, pero sólo cuando recibe el
nuevo carné del Lector, para su firma, luego de que el Monitor ha ingresado toda
la información correspondiente.
Entre los casos de uso también se pueden establecer relaciones, las cuales son de
tres tipos:
inclusión,
extensión
generalización.
3
Guía 4. Parte 2. Modelo de Casos de Uso.
Tal es la situación con el caso de uso Borrar Reserva del ejemplo, que se "ejecuta"
cuando un Monitor cancela la reserva porque el Lector ya no requiere un título, y
como parte del caso de uso Prestar Ítem, cuando el Monitor entrega un título
reservado y debe cambiar su estado de "Reservado" a "Prestado".
Esta es la situación para el caso de uso Hacer Consulta, que es extendido por el
caso de uso Hacer Reserva cuando el Lector ha encontrado un libro disponible y
desea reservarlo: cuando se cumple la condición “Lector solicita reserva”, Hacer
Reserva es una extensión (posibilidad) desde Hacer Consulta.
4
Guía 4. Parte 2. Modelo de Casos de Uso.
Una vez identificados los actores y los casos de uso en el diagrama, se detallan
estos últimos, utilizando una descripción textual aunque para casos de uso más
complejos puede usarse un Diagrama de Actividad.
Se proponen dos clasificaciones para los casos de uso, según su nivel de detalle y
el nivel de abstracción de su descripción:
a) Casos de Uso de Alto Nivel. Describen las interacciones entre los actores y el
sistema de manera muy breve, usando dos o tres frases. Se utilizan durante las
fases iniciales de captura de requerimientos con el fin de obtener rápidamente una
visión de la funcionalidad y el grado de complejidad del sistema.
En el campo Actores deben incluirse todos los actores que están asociados al caso
de uso, señalando cuál de ellos es el iniciador.
5
Guía 4. Parte 2. Modelo de Casos de Uso.
b) Casos de Uso Extendidos. Describen las interacciones con mayor detalle que
los de alto nivel, enumerando paso a paso los eventos que se presentan durante
una ocurrencia típica del caso de uso. El siguiente ejemplo ilustra el formato para
la descripción de los casos de uso extendidos:
Información General
Caso de uso: Hacer Reserva
Actores: Monitor (iniciador)
Propósito: Asignar a un Lector un libro para que pueda retirarlo más tarde.
Resumen: El Monitor ingresa la información del Lector y del libro solicitado. El
Sistema verifica la información del ítem y del Lector, verifica e
informa la disponibilidad del libro solicitado, y modifica el estado del
ítem, asignándolo al Lector.
Tipo: Primario y abstracto.
Referencias cruzadas: Requisitos: R1.1, R1.6.
Casos de Uso: Control de Acceso, Hacer Consulta.
Precondiciones
El sistema debe contar con la siguiente información:
- Información del Lector: Código, nombre, estado (Activo, Suspendido, etc.).
- Información de los libros: Código, título, estado (Disponible, Reservado, etc.).
El Monitor debe ejecutar el caso de uso Control de Acceso.
Puede iniciarse con el caso de uso Hacer Consulta.
Flujo Principal
1. Este caso de uso empieza cuando el Monitor elige en el menú principal del Sistema la
opción Reserva.
2. El Sistema presenta al Monitor el Formulario de Reserva de la Figura 1, que solicita
el código del Lector y el código del libro a reservar.
3. El Monitor captura total o parcialmente la información de reserva, y selecciona una
de las opciones del final del formulario: Aceptar y Cancelar.
3.1. Si elige la opción Aceptar, Subflujo S1: Verificar Lector y Estado de un
Libro.
3.2. Si elige la opción Cancelar, Subflujo S2: Cancelar la Reserva de un Libro.
6
Guía 4. Parte 2. Modelo de Casos de Uso.
Un caso de uso tiene como instancias los escenarios: situaciones concretas que deben
recorrer total o parcialmente el caso de uso.
Se deben considerar en lo posible todos los escenarios de modo que se pueda validar el
caso de uso.
La última comprobación consiste por tanto en asegurar que el caso de uso represente todos
los escenarios.
A veces se confunde el caso de uso con alguno de sus escenarios: Si aparecen muchos
casos de uso puede que sea un síntoma de una mala descripción del sistema.
Subflujos
Flujos de excepción
7
Guía 4. Parte 2. Modelo de Casos de Uso.
3) Las referencias cruzadas indican con cuáles funciones del sistema y otros casos de uso
existe relación. Las funciones se nombran utilizando la etiqueta que se les asigna en la
Tabla de Funciones del Sistema, elaborada durante la captura de requerimientos.
4) El flujo principal debe comenzar con la frase "Este caso de uso empieza cuando el actor
...", mencionando el iniciador.
6) Los flujos de excepción describen situaciones que se salen del funcionamiento normal
del sistema.
8
Guía 4. Parte 2. Modelo de Casos de Uso.
--------------------------------------------------------------------------------------
Y DE AQUÍ EN ADELANTE, ¿CÓMO HACEMOS?
Para detectar los casos de uso es conveniente hacer las siguientes preguntas:
– ¿Cuáles son las principales tareas de cada actor?
– ¿Escribe/lee/modifica el actor alguna información del sistema?
– ¿Informa el actor al sistema de los cambios externos?
– ¿Desea el actor ser informado de cambios no esperados?
Los casos de uso no pueden ser demasiado pequeños, ya que deben aportar algún valor al
actor. La estructura del sistema debe decidirse teniendo en cuenta a los actores principales.
En las próximas páginas veremos algunos ejemplos para generar diagramas de casos de
uso.
9
Guía 4. Parte 2. Modelo de Casos de Uso.
2. ALGUNOS EJEMPLOS PARA GENERAR DIAGRAMAS DE CASOS DE USO.
Una empresa gestiona un conjunto de inmuebles, que administra en calidad de propietaria. Cada inmueble
puede ser bien un local (local comercial, oficinas, etc.), un apartamento o bien un edificio que a su vez tiene
pisos y locales. Como el número de inmuebles que la empresa gestiona no es un número fijo, la aplicación
debe permitir tanto introducir inmuebles nuevos, así como darlos de baja, modificarlos y consultarlos.
Asimismo, que una empresa administre un edificio determinado no implica que gestione todos sus
apartamentos y locales, por lo que la aplicación también deberá permitir introducir nuevos apartamentos o
locales, darlos de baja, modificarlos y hacer consultas sobre ellos.
Cualquier persona que tenga una nómina, un aval bancario, un contrato de trabajo o venga avalado por otra
persona puede alquilar el edificio completo o alguno de los apartamentos o locales que no estén ya alquilados,
y posteriormente desalquilarlo. Por ello, deberán poder ser dados de alta, si son nuevos inquilinos, con sus
datos correspondientes (nombre, DNI, edad, sexo, ...), poder modificarlos, darlos de baja, consultarlos, etc.
La aplicación ofrece acceso web para que un inquilino puede modificar o consultar sus datos, pero no darse de
baja o de alta. Para la realización de cualquiera de estas operaciones es necesaria la identificación por parte
del inquilino.
<Ext>
Alquilar Edificio
<Ext> <Ext>
<Ext>
<Ext>
Alquilar Apartamento
<Ext>
Gestor
Inmobiliaria <Ext>
Alta Inquilinos
Mantener Inquilinos
<Ext>
<Ext>
<Ext>
Consulta Inquilinos
Baja Inquilinos
<Ext>
<Ext>
<Inc>
Validar
Usuario
Enunciado. Se desea desarrollar una aplicación de gestión de las calificaciones de los alumnos para satisfacer
las numerosas quejas de los profesores, por el uso del lápiz y papel. La aplicación deberá cubrir únicamente
aquellos aspectos relacionados con dicho tema, y que se describen a continuación:
El profesor recibe las actas en blanco de las asignaturas de las que es responsable, en formato electrónico. El
acta contiene los siguientes datos de la asignatura (titulación, campus, curso académico, denominación de la
asignatura, convocatoria y grupo) y la lista de alumnos matriculados (cédula, código, nombre y apellidos).
Alguna de las acciones que puede hacer el profesor son:
Otras de las opciones que se le exige a la aplicación, para satisfacer completamente las necesidades del
profesor, son las siguientes:
Permitir la consulta de la siguiente información de cualquier alumno seleccionado: Cédula, Código, Lista de asignaturas
en las que está matriculado el alumno (Código asignatura-Nombre asignatura).
Obtener una estadística de las calificaciones obtenidas por los alumnos en un determinado grupo de una asignatura. En
esta estadística se tendrá para cada posible calificación: Número de personas con esa calificación, Porcentaje sobre
los presentados, Porcentaje sobre el total del grupo.
Consultar el porcentaje de personas sobre el total del grupo que se han presentado y el de los que no se han presentado.
Poder visualizar un gráfico indicativo del número de personas que han obtenido una calificación entre 0-0.99, 1-1.99,
2-2.99, 3-3.99, 4-4.99, 5-5.99, 6-6.99, 8-8.99, 9-10; indicándose la nota media obtenida por la clase.
Disponer de una calculadora que permita realizar las operaciones de suma, resta, multiplicación, división. Esta
calculadora se activará cuando se vayan a introducir las notas a algún alumno de forma que una vez realizada la
operación aritmética, pulsando un botón se vuelque el resultado en la casilla donde se están introduciendo las
calificaciones, redondeándose a dos cifras decimales.
Permitir la importación y exportación de la lista de alumnos con sus calificaciones a un formato compatible con MS Excel.
Imprimir las actas y la lista provisional de calificaciones.
Finalmente, como una ampliación extra, a la cual sólo podrá acceder quien se identifique inicialmente como
administrador de la aplicación, se deben permitir:
Gestión ABMC (Altas/Bajas/Modificación y Consulta) de los datos de un alumno y su matrícula en una asignatura
y a un grupo.
Gestión de Asignaturas, teniendo en cuenta que una asignatura sólo se puede dar en un único curso (primero,
segundo, tercero...) y que cada curso está formado por los datos sobre el número máximo de alumnos, número
mínimo de créditos troncales y número mínimo de créditos optativos. Algunos de los datos que vamos a poder
consultar de una asignatura son el nombre, número de créditos y cuatrimestre en el que se imparte.
Gestión de Titulaciones, teniendo en cuenta que una titulación sólo se da en un campus determinado y los datos que
podemos consultar son el nombre, el número de créditos o carga lectiva global, si es de 1° o 2° ciclo, ...
Gestión de grupos, en los que podemos consultar el número máximo de alumnos permitidos, si es un grupo de
mañana, de tarde o de noche, y cuál es el código empleado para identificar el grupo.
Consultar aquellos alumnos que no se pueden matricular y el motivo de ello.
Consultar el historial académico de un alumno.
Solución. A continuación se muestra el diagrama de casos de uso en el que se representan al actor profesor
junto con las tareas que requiere del sistema de gestión de calificaciones (ver Figura 2). Así tenemos que:
El profesor será aquel que puede realizar una serie de operaciones relacionadas con el listado de alumnos que
tiene matriculados en sus asignaturas, tales como introducir las notas de alumnos, consultar el historial de
alguno de sus alumnos, introducir o eliminar algún alumno en el listado y tareas de estadística y de importación
y exportación.
Se ha intentado reflejar toda la funcionalidad del sistema asociada al actor profesor para poder mostrar
qué es lo que se espera que haga el sistema de forma completa.
Así pues, se tiene el caso de uso de Poner notas, el cual se extiende en el caso de uso de Operaciones
Calculadora. Con ello se refleja que el profesor al introducir las notas puede en algún momento hacer
uso de las operaciones que aporta una calculadora.
11
Guía 4. Parte 2. Modelo de Casos de Uso.
Por otra parte, el caso de uso de Gestión de alumno se ha relacionado con el caso de uso de Añadir y Borrar
mediante un extend para identificar explícitamente cuáles son las acciones que se espera que permita el
sistema y que o bien se puede realizar de forma individual o no, cuando el profesor utiliza el sistema.
Otras de las funcionalidades que constituyen un caso de uso cada una son: Integrar grupos, Información
alumno, Estadística, Gráfico, Importar y Exportar.
De la misma forma que anteriormente hemos comentado, se ha realizado el proceso de identificación explícita
de las operaciones que se pueden realizar cuando el profesor quiere Imprimir. Se ha expresado mediante el
“extend” las formas de impresión que puede tener el profesor reflejando que cuando se imprime puede
imprimir sólo las actas (Imprimir actas), sólo las listas (Imprimir Listas provisional) o ambas.
<Ext>
Operar Calculadora
Gestionar Notas
<Inc>
Añadir
<Ext>
<Inc>
<Inc>
Integrar Grupo
<Inc> Validar
Usuario
Consultar Información <Inc>
Alumno
Profesor
<Inc>
Manejar Estadísticas
<Inc>
Generar Gráficos
<Inc>
Importar Archivo
<Inc>
Exportar Archivo
<Ext>
Imprimir Listas
Provisionales
Finalmente se muestra que todos los casos de uso con los que se relaciona de forma directa el actor se
relacionan con el caso de uso de Validar Usuario para mostrar que es necesaria la identificación del profesor
en el sistema para poder realizar cualquier operación comentada anteriormente. En el siguiente diagrama se
muestran todos los casos de uso relacionados con el actor administrador del sistema (ver Figura 3).
El administrador será el responsable del mantenimiento de los datos que hay en el sistema respecto a las
asignaturas y a los alumnos matriculados.
12
Guía 4. Parte 2. Modelo de Casos de Uso.
Como podemos observar, se ha intentado expresar toda la funcionalidad del sistema y por ello se han
desglosado al máximo todos los casos de uso hasta que cada uno refleja una funcionalidad del sistema. En la
siguiente figura se muestran cuáles son de forma explícita las funcionalidades que conlleva la gestión de los
alumnos (caso de uso Gestión ABMC Alumnos). Así pues, se ha expresado mediante la relación de “extend” las
distintas posibilidades que ofrece la gestión de alumnos, mostrándose además que ninguna es excluyente y
que se pueden realizar algunas de las operaciones o todas cuando el administrador gestiona a los
alumnos (casos de uso Alta, Baja, Modificación, Consulta Historial Académico).
El resto de funcionalidades que el administrador espera del sistema son las siguientes:
Matriculas, que identifica a la capacidad del sistema para realizar la matricula de un alumno en las asignaturas,
titulaciones y grupos existentes.
Gestión de Asignaturas, que identifica la posibilidad que tiene el administrador para introducir, borrar, modificar y
consultar las asignaturas. En este caso no se ha reflejado de forma explícita, ya que en el enunciado no aparece detallado
cuál es el alcance de la gestión de asignaturas.
<Ext>
<Ext> Dar de Alta
Dar de Baja
<Ext>
<Ext> Consultar Historial
Mantener Alumnos
Académico
Modificar
<Inc>
Mantener Matrículas <Inc>
Mantener Grupos
Gestión de Titulaciones y Gestión de Grupos reflejan la posibilidad para que el administrador introduzca en
el sistema los datos de titulaciones y Grupos. Como ocurría anteriormente, al no detallarse en el enunciado del
problema cuál es el alcance real de estas operaciones sólo se reflejan estos casos de uso sin el detalle mostrado
para la Gestión ABMC Alumnos.
Resaltar el hecho de que el caso de uso de Validar Usuario esté relacionado, mediante la asociación
de include, con todos los casos de uso con los que se relaciona directamente el actor administrador. De
esta forma indicamos que cualquier administrador que tenga que realizar una tarea o función debe
identificarse en el sistema. El caso de uso que aparece en el gráfico siguiente es el mismo que se identificó
anteriormente.
13
Guía 4. Parte 2. Modelo de Casos de Uso.
EJERCICIO 3. Gestión Tienda de Productos de Informática.
Se desea desarrollar una aplicación que permita gestionar una tienda de productos de informática a
través de Internet. Para realizar un pedido, el sistema pregunta al usuario si es la primera vez que hace un
pedido, en cuyo caso le pide sus datos personales; de lo contrario, el usuario introduce su nombre de usuario
y su clave para acceder a sus datos. A partir del momento en que el usuario está registrado, el sistema le
permite acceder a sus secciones en modo compra, pues ningún cliente no registrado puede realizar
compras, sólo consultas de precios y operaciones sencillas.
La aplicación ofrece al usuario una serie de pantallas a través de las cuales puede navegar, que representan
las diferentes secciones de la tienda: ofertas, hardware, software, juegos para videoconsolas, etc. pudiendo
seleccionar los artículos e incluirlos en su carro de compra.
El usuario puede acceder en cualquier momento a los datos de su carro de compra, para por ejemplo modificar
la cantidad elegida de un determinado artículo, eliminar un producto o simplemente listar por pantalla
el contenido actual del carro y el subtotal acumulado en pesos. Cuando termina de elegir, el usuario
pulsa un botón etiquetado como “enviar” que pone en marcha la generación del pedido y la correspondiente
factura que se adjunta en el paquete que el usuario recibe en su casa. Cada artículo puede estar disponible o
no, y en caso de no estarlo, tendrá un tiempo estimado de entrada en stock.
Hay que tener en cuenta que en el caso de aquellos pedidos que incluyen artículos que no están disponibles,
el envío se retrasa hasta que dichos productos estén disponibles, excepto cuando alguno de los artículos
no disponibles va a tardar más de 15 días, en cuyo caso se envía en el momento un primer envío con los
artículos disponibles y cuando entre en stock el o los artículos retrasados se manda un segundo envío al
usuario.
Los gastos de envío de un pedido van en función del tipo de artículos solicitados (el hardware es generalmente
más caro), del número total de artículos encargados y de la distancia en kilómetros desde el centro más cercano
hasta la casa del cliente (esto se calcula gracias al código postal del cliente). Los gastos de envío en ningún
caso serán función del número de envíos necesarios.
El cliente puede consultar siempre que lo desee el estado de sus pedidos actuales y pasados, con el nivel de
detalle que desee según dos modalidades:
Sencilla: incluye fecha del pedido, fecha de entrega de c/u de los envíos a que dio lugar (si aún no se ha
servido algún artículo se muestra como pendiente), precio total de los artículos y precio total incluyendo
gastos de envío.
Completa: incluye fecha de pedido, fecha de entrega de c/u de los envíos, detalle de artículos por envío
(incluyendo cantidad de c/u y precio unitario) (si aún no se ha servido algún artículo se muestra como
pendiente), tarjeta a la que se cargó el pedido, fecha del cargo, precio total de los artículos y precio
total incluyendo gastos de envío.
14
Guía 4. Parte 2. Modelo de Casos de Uso.
Registrarse
Mantener
Usuario Stock
Consultar
Precios
<I>
Actualizar
Precios Gestor
Operar Carro de Compras Validar
<I> Usuario Pedidos
<I>
Generar <I>
Pedido Consulta Establecer
Cliente <E> Completa Disponibilidad
Artículos
Consultar
<E>
Pedido Consulta
Sencilla
15
Guía 4. Parte 2. Modelo de Casos de Uso.
3.1. Recordando ideas. Primero recordemos que cuando escribimos un caso de uso (la plantilla
en formato extendido), lo primero que tenemos es una secuencia normal. Al escribir esa secuencia
normal, es posible que nos demos cuenta que algunos de los pasos de dicha secuencia pueden tener
variaciones, y aquí es cuando hablamos de los subflujos. Recordemos que cuando en un paso se
debe tomar un curso de acción en función de una condición por la naturaleza propia del mismo
problema o negocio (o sea, son normales), estos cursos alternativos serán identificados como
subflujos.
Ahora bien, al revisar los pasos del curso normal, se recomienda que nos preguntemos ¿qué puede
fallar en este paso? Y aquí es cuando hablamos de las excepciones. Una excepción se utiliza para
describir funcionalidades indeseadas o excepcionales de un paso a causa de una condición no
cumplida.
Tanto los subflujos (variaciones normales del curso normal) como las excepciones se les denominan
Alternativas (o Cursos Alternativos). O escrito de otra forma, las alternativas se dividen en:
Y lo recomendado es que se dibujen todas las alternativas como extensiones del caso de uso
que estemos analizando.
3.2. La relación de <<extends>>. Se utiliza una relación de tipo <<extends>> entre casos de
uso cuando nos encontramos con un caso de uso similar a otro pero que hace algo más que éste
(variante). En una relación <<extends>>, un actor que lleve a cabo el caso de uso base puede
realizar o no sus extensiones. Es decir, el caso de uso base no conoce los casos de uso de extensión,
está completo (y debe estar completo) sin las extensiones.
Para el caso de las operaciones CRUD (Create, Read, Update, Delete) conceptualmente está bien
representar esto:
<<extends>>
Crear Usuario
Mantener Usuario
<<extends>>
Actualizar Usuario
A lo que me refiero que está bien es la relación <<extends>> ya que “Crear Usuario” es una
variación de “Mantener Usuario”, al igual que “Actualizar Usuario”.
16
Guía 4. Parte 2. Modelo de Casos de Uso.
Secuencia Normal:
1. El caso de uso inicia cuando el Administrador accesa al sistema. El Administrador ingresa su
nombre de usuario y su contraseña y el sistema valida al Administrador.
2. El sistema despliega las funciones disponibles al Administrador. Estas funciones son: Crear
Usuario, Actualizar Usuario, Cancelar.
3. El Administrador selecciona una de las opciones disponibles:
3.1. Si elige Crear Usuario, se ejecuta el subflujo Crear Usuario.
3.2. Si elige Actualizar Usuario, se ejecuta el subflujo Actualizar Usuario.
3.3. Si elige Cancelar, ir al paso 6.
4. El Administrador indica que el proceso está completo. El Sistema valida la información y se la
muestra al Administrador.
5. El Sistema guarda la información del usuario.
6. Fin del Caso de Uso.
Figura 6. Plantilla con la Secuencia Normal del Caso de Uso “Mantener Usuario”.
Como puede verse, el caso de uso está completo, y aunque simple, hay un camino que no necesita
tomar subflujo alguno: 1 – 2 – 3.3 – 6.
3.3. Las operaciones CRUD. Se recomienda que el nombre del caso de uso que agrupa las
operaciones CRUD sea “Mantener X”. De hecho, se trabaja así en muchas partes.
El primer panorama es el caso de usuarios “Administrador”, no veo más remedio con estos casos
de uso CRUD, ya que esa es la labor de este usuario, la de “hacerle mantenimiento” (Mantener) la
información importante de todo el sistema y que es la que afecta a todos los demás usuarios
adscritos a dicho sistema.
El segundo panorama es la del usuario normalito y otros usuarios (el caso de cualquiera de
nosotros en un sistema como Hotmail o Facebook), en el que efectivamente es muy importante
dibujar como caso de uso autónomo el “Registrar Usuario”, y que cuando uno ya está registrado
ese sistema le permite agregar, modificar o eliminar información PERO QUE HACE PARTE DE OTRO
PROCESO MÁS IMPORTANTE y que si el usuario agrega, modifica o elimina algo, solo afectará a ese
usuario y a nadie más.
Registrarse en Curso
Estudiante
17
Guía 4. Parte 2. Modelo de Casos de Uso.
Secuencia normal:
1. El caso de uso inicia cuando el Estudiante accesa al Sistema de Registro de Cursos. El Estudiante ingresa
su nombre de usuario y su contraseña y el sistema valida al Estudiante.
2. El sistema despliega las funciones disponibles al Estudiante. Estas funciones son: Crear Horario,
Modificar Horario, Eliminar Horario. El Estudiante elige Crear Horario.
Ojo: aquí está la clave para este tipo de usuarios. Las operaciones CRUD, en este caso, tal como lo expresé
antes, hacen parte de un proceso más grande. En este caso concreto la operación CRUD es “Crear Horario” que
hace parte de un proceso más grande “Registrarse en Curso”.
Como también puede verse, de entrada se deja escrito que el actor ya ha elegido una opción: “Crear Horario”, y
es natural que de entrada sea la opción ofrecida, ya que se necesita Crear Horario para que sea posible
modificarlo o eliminarlo.
Ahora, para efectos de este ejemplo, el sistema permite al Estudiante que si solo crea el horario y cierra la
sesión, cuando regrese podrá elegir “Modificar Horario”, y no tendrá necesidad de crearlo de nuevo. Y como
veremos, más adelante si ya tiene un Horario creado, podrá borrarlo.
Las demás opciones “Actualizar Horario” y “Eliminar Horario” se reseñarán en la sección de subflujos de la
presente plantilla, y no hay necesidad de “llamar” esos subflujos como se hizo en los pasos 3.1. y 3.2 tal como
aparecen en la Figura 10).
3. El Sistema recupera del Catálogo de Cursos un listado con los cursos disponibles y muestra ese listado
al Estudiante.
6. El Sistema calcula un número de confirmación usando un algoritmo de hashing usando el código del
estudiante.
18
Guía 4. Parte 2. Modelo de Casos de Uso.
Subflujos:
Modificar Horario.
1. A partir del paso 2 de la Secuencia Normal, el Estudiante ya tiene grabado un horario en el
Sistema.
2. El Sistema recupera y muestra al Estudiante su Horario y le permite usarlo como punto de
partida de este proceso.
3. El Caso de Uso de reinicia en el paso 3 de la Secuencia Normal.
Eliminar Horario.
1. A partir del paso 2 de la Secuencia Normal, el Estudiante ya tiene grabado un horario en el
Sistema y elige borrarlo.
2. El Sistema recupera y muestra al Estudiante su Horario.
3. El Sistema solicita al Estudiante que confirme el borrado del Horario.
4. El Estudiante confirma el Borrado del Horario.
5. El Sistema borra el Horario.
6. Fin del caso de uso.
Figura 9. Plantilla con los Subflujos del Caso de Uso “Registrarse en Curso”.
De modo que el Diagrama de Casos de Uso puede ampliarse así (recordemos que cada subflujo
representa una extensión):
<<extends>>
Modificar Horario
<<extends>>
Registrarse en Curso
Estudiante
Eliminar Horario
19