| Historial de revisiones | ||
|---|---|---|
| Revisión Entrega013.01 | 2007-12-06 | |
| Creación del documento. | ||
| Revisión Entrega013.02 | 2007-12-08 | |
| Se terminaron los casos de uso relacionados con la creación de un informe. | ||
En este documento se describirán los casos de uso a los que el sistema deberá responder para satisfacer los objetivos de esta iteración.
Deberá tenerse en cuenta que en esta iteración denominaremos sistema a la base de datos y a las librerías de comunicación con la misma, ya que la interfase es objeto de la próxima iteración.
Conceptos confusos
Nos referiremos a alguna entidad (informe, suceso, operación) como aplicada, cuando ya ha sido grabada persistentemente en la base de datos.
Solo cuando dichas entidades están aplicadas el sistema asume su existencia y afectan los estados de los elementos del dominio del mismo.
Las operaciones aplicadas no puede modificarse o eliminarse, solo deshacerse.
En cuanto a los informes aplicados, puede modificarse su fecha de recepción, su comentario y añadirsele nuevos sucesos (no aplicados). Al momento de aplicarse nuevamente dicho informe, ser realizará el cambio de la fecha y se aplicarán sus sucesos.
Lo mismo para los sucesos aplicados, a los cuales se le puede modificar su fecha de ocurrencia, su comentario y añadirsele nuevas operaciones.
Al deshacer una entidad, esta es eliminada de la base de datos y es convertida en no aplicada para su edición o descarte.
Nos referiremos a alguna entidad (informe, suceso, operación) como no aplicada, cuando esta ha sido definida en la interfase gráfica pero aún no ha sido grabada persistentemente en la base de datos.
Las entidades no aplicadas pueden modificarse gráficamente, eliminarse o aplicarse.
Actores
Es el usuario humano, quien se encuentra creando interactivamente un informe o anulando operaciones, sucesos o informes.
Si bien es parte del sistema, no se estudiará en esta iteración mas allá de lo que puede requerir de las capas inferiores. Por esta razón es considerado un actor.
El usuario ingresa un informe en el sistema.
Escenario principal
El usuario abre la ventana de creación de informes.
La interfase presenta al usuario una ventana con un nuevo informe vacío (no aplicado) con fecha de recepción por defecto con la fecha actual del sistema y con un comentario en blanco.
Realizar "Editar contenido informe".
Realizar "Confirmar informe".
Alternativas
En cualquier momento el usuario puede realizar "Cancelar creación de informe".
En caso de que por alguna causa inesperada (por ejemplo un corte de luz) se interrumpa la carga del informe, las operaciones, sucesos y operaciones aplicadas deben persistir como aceptadas, mientras que las no aplicadas se descartarán.
El usuario puede realizar tantas veces como desee y en el orden que desee lo siguiente:
Cambiar fecha de recepción o comentario del informe, editando los componentes gráficos relacionados, por ejemplo textbox.
Seleccionar la opción de agregar suceso (no aplicado) al informe.
Cambiar fecha de ocurrencia o comentario de cualquier suceso no aplicado, editando los componente gráficos relacionados, por ejemplo textbox.
Seleccionar la opción de agregar nueva operación (no aplicada) a cualquier suceso del informe; Seleccionar el tipo de operación deseada y completar los datos requeridos por el tipo de operación, por ejemplo artículos relacionados, definición de marcadores, etc.
Editar cualquier operación no aplicada. [1]
Eliminar cualquier operación no aplicada. [1]
Realizar "Aplicar operación" a cualquier operación no aplicada de cualquier suceso del informe.
Realizar "Aplicar suceso" a cualquier suceso del informe.
Realizar "Aplicar informe".
Realizar "Deshacer operación" para cualquier operación aplicada.
Realizar "Deshacer suceso" para cualquier suceso aplicado al menos una vez.
Realizar "Deshacer informe" si es que el informe ya ha sido aplicado al menos una vez.
Se aplica el informe y se termina la edición del mismo.
Escenario principal
El usuario selecciona la opción de confirmar informe.
La interfase realiza "Aplicar informe".
La interfase cierra la ventana de creación de informe.
Se deshacen todos los cambios aplicados y se descartan los no aplicados.
Escenario principal
El usuario selecciona la opción de cancelar.
El usuario confirma que desea cancelar.
La interfase realiza "Deshacer informe"
Se descartan todos las entidades no aplicadas.
La interfase cierra la ventana de creación de informe.
Alternativas
Si no se logra deshacer el informe completo, no se descartan las entidades no aplicadas, se informa al usuario y se permite continuar con la edición del informe.
Envía todo el contenido del informe (lo introducido hasta el momento) a la base de datos, de manera que otros usuarios, y el mismo, vean los cambios correspondientes reflejados en la consultas.
Escenario principal
Si es el usuario quien realiza este caso de uso, selecciona la opción de aplicar.
Si el informe no está aplicado, la interfase ejecuta los comandos necesarios para crear persistentemente el informe. [2]
Si el informe ya está aplicado pero cambió la fecha de recepción o el comentario, la interfase ejecuta los comandos necesarios para modificar dichos datos persistentemente. [2]
Por cada suceso del informe la interfase realiza "Aplicar suceso" (en orden ascendente según la fecha de ocurrencia)
La interfase marca el informe como aplicado, mostrándolo gráficamente, por ejemplo con un color diferente o mostrando la hora en que se aplicó.
Alternativas
Si falla la operación de crear el informe, la de cambiar la fecha o alguna de las operaciones de aplicar suceso, no se aplica ningún cambio persistente y se informa el error permitiendo continuar con la edición del informe.
Deshace todos los cambios realizados a la base de datos relacionados con el informe correspondiente.
Escenario principal
Si es el usuario quien realiza este caso de uso, selecciona la opción de deshacer el informe completo.
Por cada suceso del informe la interfase realiza "Deshacer suceso" (en orden descendente según la fecha de ocurrencia)
La interfase ejecuta los comandos necesarios para eliminar persistentemente el informe. [2]
La interfase marca el informe como no aplicado, gráficamente, por ejemplo con un color determinado.
Alternativas
Si algún suceso no puede deshacerse completamente, se continúa intentando deshacer los demás, no se ejecutan los comandos para eliminar el informe, el cual quedará aplicado parcialmente, y se informa.
Envía todo el contenido del suceso (lo introducido hasta el momento) a la base de datos de manera que otros usuarios, y el mismo, vean los cambios correspondientes reflejados en las consultas.
Escenario Principal
Si es el usuario quien realiza este caso de uso, selecciona la opción de aplicar determinado suceso.
Si el suceso no está aplicado, la interfase ejecuta los comandos necesarios para crear persistentemente el suceso asociado al informe correspondiente.[2]
Si el suceso ya está aplicado pero cambió la fecha de ocurrencia o el comentario, la interfase ejecuta los comandos necesarios para modificar dichos datos persistentemente.[2]
La interfase realiza "Aplicar operación" a cada operación no aplicada del suceso (en el orden en que se encuentran gráficamente).
La interfase marca el suceso como aplicado, gráficamente, por ejemplo con un color diferente o mostrando la hora en que se aplicó.
Deshace todos los cambios realizados a la base de datos relacionados con el suceso correspondiente.
Escenario Principal
Si es el usuario quien realiza este caso de uso, selecciona la opción de deshacer determinado suceso.
La interfase realiza "Deshacer operación" a cada operación aplicada del suceso (en el orden en que se aplicaron).
La interfase ejecuta los comandos necesarios para eliminar persistentemente el suceso. [2]
La interfase marca el suceso como no aplicado, gráficamente, por ejemplo con un color determinado.
Alternativas
Si alguna operación no puede deshacerse se continúa intentando deshacer las demás, no se ejecutan los comandos para eliminar el suceso, el cual quedará aplicado parcialmente, y se informa.
Graba la operación en la base de datos, de manera que otros usuarios, y el mismo, vean los cambios correspondientes reflejados en las consultas.
Escenario Principal
Si es el usuario quien realiza este caso de uso, selecciona la opción de aplicar determinada operación no aplicada.
La interfase ejecuta los comandos necesarios para grabar persistentemente la operación, asociada al suceso e informe correspondientes. [2]
La interfase marca la operación como aplicada y la ubica gráficamente luego de las aplicadas anteriormente y antes de las no aplicadas.
Deshace todos los cambios realizados en la base de datos relacionados con la operación.
Escenario Principal
Si es el usuario quien realiza este caso de uso, selecciona la opción de deshacer determinada operación aplicada.
La interfase ejecuta los comandos necesarios eliminar la operación. [2]
La interfase marca la operación como no aplicada y la ubica gráficamente luego de las aplicadas y antes de las demás no aplicadas.
Alternativas
Si la operación no puede deshacerse [3] no se deshace, se informa y se continua.
En It007-Simulacion_Creacion_Informe.pdf puede verse una prueba de escritorio que describe precariamente el comportamiento deseado del sistema en la creación de un informe.
| [1] | Si la operación define un marcador utilizado por otra operación, la operación no puede eliminarse ni tampoco editarse su definición del marcador. |
| [2] | Implementar en está iteración. |
| [3] | Por ejemplo, porque define un marcador utilizado por otra operación aplicada o por que otras operaciones dependen cambios producidos por ella |