Examen de Caso de Uso
Examen de Caso de Uso
Examen de Caso de Uso
Pensé que podía ser una buena idea publicar la solución a este problema del
examen, en especial describiendo mi punto de vista al respecto.
Figura 1
En principio, esto es bastante simple, lo único que interesa aquí por los momentos
es que el profesor puede "actualizar notas". La parte de "seleccionar la asignatura
y el estudiante" se puede incluir dentro del caso de uso "Actualizar Notas" sin
ningún problema. La parte de la Base de Datos, por las razones ya mencionadas
no es relevante para el diagrama.
Figura 3
E) Las notas se pueden visualizar por asignatura (todos los estudiantes de una
asignatura) y por estudiante (todas las asignaturas de un estudiante). En
cualquier caso, si se están viendo las notas de una sección se debe poder filtrar
por estudiante y si se están viendo las notas de un estudiante se debe
poder filtrar por asignatura.
F) Para que un usuario pueda ver las notas registradas debe de estar autenticado
en el sistema, es decir, debe haber ingresado su nombre de usuario y su
contraseña.
G) Para que un profesor pueda registrar o actualizar notas debe estar autenticado
en el sistema.
Estos dos puntos son prácticamente el mismo y tienen una solución común.
Generalmente resuelvo esto con un actor adicional y un caso de uso adicional:
Figura 5
H) El sistema tiene que generar un reporte de notas por asignatura. Para esto, el
profesor selecciona la asignatura y el sistema genera un PDF con todas las
notas de la asignatura seleccionada.
I) Al igual que en el caso anterior, el sistema tiene que generar un reporte de notas
por estudiante. Para esto, el profesor selecciona al estudiante y el sistema
genera un PDF con todas las notas del estudiante seleccionado.
Estas son dos funcionalidades muy parecidas, sólo que en un caso se genera un
reporte por asignatura y en el otro un reporte por estudiante. A pesar de las
posibles similitudes, se van a manejar como dos casos de uso independientes. Por
lo pronto, voy a ignorar las partes de "seleccionar la asignatura" y "seleccionar al
estudiante", asumiendo que se pueden describir dentro de los casos de uso
asociados a los reportes respectivos:
Figura 6
Hasta aquí el diagrama transmite una idea bastante buena de la funcionalidad del
sistema. Se puede decir que lo que sigue ya tiene aires de "lujo" y mucha gente
puede pensar que es innecesario (y quizá en algunos casos tengan razón).
En este punto el enunciado comienza a agotarse, pero sin embargo, hay un par de
cosas adicionales que resultan bastante evidentes:
2. Para registrar una nota, es muy posible que sea necesario seleccionar la
asignatura y el estudiante. Esto se puede lograr incluyendo los casos de uso
respectivos ya mencionados.
En este punto, el diagrama de casos de uso tal como está es una "mala, pero muy
mala idea", el problema de legibilidad se debe a la bonita telaraña de inclusiones
que tenemos, y se puede resolver separando el diagrama en varios diagramas
más pequeños y simples tal como se muestra a continuación:
Figura 10
Figura 12
Figura 13