Temas SEMANA 2 Introducción Estructura
Introducción Como ya se mencionó, la forma más popular de un caso de uso es un documento de texto. A continuación explicaremos las partes de un documento de caso de uso. Revisa el documento Especificación de Caso de Uso.doc que se encuentra en el material de apoyo del curso. Sección fundamental del caso de uso. Permite identificarlo y comunicar parte de sus características. Ejemplo: Factura_Aprobar Actor Ejemplo: Imaginemos un encargado de atender las llamadas telefónicas de solicitud de servicio. El encargado tiene una meta: registrar la llamada en un sistema computacional e iniciar la solicitud de servicio. El encargado del ejemplo es un actor y tiene una meta. Un actor en un caso de uso es aquel que interactúa con el sistema para lograr una meta. Ejemplos: Encargado de reservaciones, Gerente de Finanzas. Precondiciones Es el estado del sistema que debe cumplirse antes de ejecutar un caso de uso. Generalmente una precondición indica que se ha ejecutado algún otro caso de uso o que se tiene acceso a información que se utilizará en el caso de uso. Ejemplos: “Los datos del contrato deben estar cargados en pantalla”, “El caso de uso XX debió haberse ejecutado” Objetivo Es el valor o beneficio que el actor desea obtener al ejecutar el caso de uso.
Durante la redacción del caso de uso es imprescindible mantener el objetivo en mente para prevenir acciones o pasos que no estén en el alcance del caso de uso. Ejemplos: “Eliminar un registro de inventario”, “Autorizar un contrato de arrendamiento”. Nivel de Profundidad Generalmente este parte de la estructura de un caso de uso no figura explícitamente en el documento. No obstante, antes de iniciar con la redacción de los casos de un proyecto, es necesario acordar el nivel de profundidad o detalle necesario para especificar las funcionalidades. Se recomienda que el nivel de profundidad de un caso de uso no llegue a describir la interfaz de usuario (GUI), pues la finalidad de un caso de uso es especificar funcionalidades independientes de la interfaz del usuario. Flujo Principal El flujo principal es una serie de pasos que para llegar al objetivo o meta del caso de uso. En un caso de uso el flujo principal es único. El flujo principal define el “camino feliz” del caso de uso. Es decir, la obtención del objetivo (escenario de éxito) sin obstáculos ni interrupciones. Flujos Alternos Un caso de uso pueden existir uno o varios flujos alternos. Los flujos alternos capturan las acciones que pueden desviar el flujo principal. Son útiles para capturar las excepciones funcionales de un sistema así como escenarios alternos de éxito. No tienen como propósito documentar errores de operación de un sistema. Poscondiciones Las poscondiciones definen el estado del sistema después de ejecutar el flujo principal de un caso de uso. Ejemplo. “El sistema autoriza una orden de compra”.
Reglas de Negocio Las reglas de negocio son oraciones que permiten limitar los efectos en el sistema causados por la interacción de los actores con el sistema. Son lineamientos que aseguran que se protejan los intereses de los involucrados relevantes. Se pueden clasificar en: Reglas de negocio generales. Definen los procesos de negocio de una organización. Reglas de negocio de producto. Definen reglas específicas al sistema. Ejemplo: “La emisión de cheques debe ser autorizada por el gerente de área”. Gráficos a Utilizar Dependiendo del tamaño del sistema, es probable que un único gráfico con todos los casos de uso nos quede chico. No olvidemos que los modelos gráficos son para aclarar el texto, y no para confundir. Si el gráfico de casos de uso es una maraña indescifrable, no está cumpliendo su objetivo. Por lo tanto, podemos usar las siguientes reglas, como siempre con criterio y sentido común: 1) Un gráfico de casos de uso no debe mostrar más de 15 casos 2) Si debo particionar mi gráfico, puedo hacerlo por actor. La primera partición debe ser separar los casos centrales de los casos auxiliares, ya que probablemente les interesen a personas distintas.
3) Si las relaciones de uso y las extensiones entran en el diagrama principal, sin dejar de cumplir con la regla 1), debo dejarlas ahí. Lo mismo se aplica a los actores abstractos. 4) Si las relaciones de uso no entran en el diagrama principal, debo mostrarlas en gráficos teniendo en cuenta que siempre debo mostrar todos los casos de uso que usan a otro en un mismo diagrama.
5) Si tengo un caso de uso que es usado por gran parte de los otros casos, como por ejemplo el caso de uso Identificándose ante el sistema, debo evitar mostrarlo en el gráfico principal, ya que las flechas serán imposibles de organizar. Es probable que no haga falta mostrar esta relación de uso en un gráfico.
Secciones de la especificación Sugerimos el siguiente orden para una especificación de requerimientos utilizando casos de uso: 1) Propósito del sistema: un breve párrafo, de 4 o 5 líneas, que responde a la pregunta ¿Para qué estamos haciendo este sistema? 2) Gráfico(s) de casos de uso 3) Descripción de los casos con sus alternativas 4) Prototipos para los principales casos de uso Esta no es obviamente una especificación de requerimientos completa: estamos incluyendo sólo la parte referida a los casos de uso. A continuación veremos un ejemplo de documentación de un caso de uso. Control de Cambios
Versión Casos de Uso_V0.1.doc Casos de Uso_V1.0.doc
Autor Is0809Casino David de la Fuente
Motivo del Cambio Primera versión Revisión de cambios primera entrega a Gonzalo
Ejemplo fuente http://www.google.com.co/url?sa=t&source=web&cd=3&ved=0CCYQFjAC&url=ht tp%3A%2F%2Fis0809casino.googlecode.com%2Ffiles%2FCasos%2520de%2520U so_V1.0.doc&rct=j&q=estructura%20de%20los%20casos%20de%20uso&ei=_un0 TKqePMWBlAe2-dj-BQ&usg=AFQjCNFDQXIWI7W2OeXJPsy6ozBD_UGAw&cad=rja
1. Introducción Este documento pertenece a la documentación que se está realizando para el proyecto: Casino Online.
En él, se describen la secuencia de acciones que el sistema puede llevar a cabo, interactuando con otros elementos, incluyendo alternativas dentro de la secuencia.
La estructura que sigue es en la primera sección, una introducción y la definición de la estructura de los casos de uso. Y de la segunda sección en adelante la definición de los propios casos de uso.
La estructura de cada caso de uso vendrá definida por:
Identificador de Caso de uso. Nombre del Caso de Uso Actores Tipo Descripción Restricciones Objetivo Comentario
2. Casos de Uso Los casos de uso para el proyecto de Casino online son los siguientes: CdU:001 Nombre: Alta de Usuario en el Sistema Actores: Cliente (futuro Usuario del casino) Tipo: Primario y esencial Descripción: Para que un usuario pueda darse de alta en el sistema, este deberá conectar con el casino, introducir sus datos y se generará automáticamente su usuario y password, con el cual podrá acceder al sistema. En el momento de la generación del usuario, el sistema le regalará 100 leuros Restricciones: Objetivo: Dar de alta al usuario en el sistema. Comentario:
CdU:002 Nombre: Baja de Usuario en el Sistema Actores: Usuario del casino Tipo: Primario y esencial Descripción: Para dar de baja un usuario del sistema, este deberá conectar con el casino, introducir su usuario y contraseña. Si los datos son correctos, el sistema dará de baja al usuario de forma automática. Restricciones: Para poder dar de baja a un usuario, debe estar dado de alta en el sistema. Ver CdU:(001) Objetivo: Dar de baja al usuario en el sistema. Comentario:
CdU:003 Nombre: Modificación de Usuario en el Sistema Actores: Usuario del casino Tipo: Primario y esencial Descripción: Para modificar los datos de un usuario en el sistema, este deberá conectar con el casino, introducir su usuario y su password. Si los datos son correctos, se mostrará los datos al usuario y este podrá modificarlos. Restricciones: Para poder modificar los datos de un usuario, debe estar dado de alta en el sistema. Ver CdU:(001) Objetivo: Modificar los datos de un usuario en el sistema. Comentario:
CdU:004 Nombre: Descargar la aplicación Actores: Usuario del casino Tipo: Primario y esencial Descripción: Para descargar la aplicación el usuario deberá conectar con el sistema, dentro de este podrá descargar el cliente pesado de la aplicación para que el usuario pueda jugar en el casino. Restricciones: Objetivo: Descargar el cliente pesado para poder jugar en el casino. Comentario:
CdU:005 Nombre: Instalar la aplicación Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario instalara el cliente pesado de la aplicación en su PC. Restricciones: Para poder instalar la aplicación, el usuario deberá haberse descargado la aplicación. Ver CdU:004 Objetivo: Instalación del cliente pesado de la aplicación Comentario:
CdU:006 Nombre: Arranque de la aplicación Actores: Usuario del casino Tipo: Primario y esencial Descripción: Para el arranque de la aplicación, el usuario ejecutará el cliente de la misma, se identificará con su usuario y su clave. Si el usuario y su clave son correctos, la aplicación realizará una conexión con el servidor. Restricciones: Para poder arrancar la aplicación, el usuario debe haberla instalado. Ver CdU 005 Objetivo: Crear la conexión entre el cliente y el servidor Comentario:
CdU:007 Nombre: Administrador de créditos Actores: Usuario del casino Tipo: Primario y esencial Descripción: Para la administración de los créditos de cada jugador, el usuario deberá conectar con el casino, introducir su usuario y su clave. Si los datos son correctos, el sistema mostrará la opción de administrador de créditos al cliente. En él, se podrán aumentar o disminuir el número de créditos que dispone cada usuario. Restricciones: Para administrar los créditos, deberá ser usuario del casino CDU:001 Objetivo: Cada usuario pueda administración sus créditos de juego Comentario:
CdU:008 Nombre: Comunicación entre Usuarios Actores: Usuario del casino Tipo: Primario y esencial Descripción: El sistema proporciona a los usuarios la posibilidad de comunicarse entre los jugadores de una mesa. El usuario seleccionará el usuario o usuarios con los que quiera comunicarse, e introducirá el mensaje a comunicar con los usuarios seleccionados anteriormente. Restricciones: Para poder comunicarse con otros usuarios, se debe estar dentro de una mesa.XXXXX Objetivo: Comunicación entre los jugadores de una mesa. Comentario:
CdU:009 Nombre: Consulta de Estadísticas de Jugador Actores: Usuario del casino Tipo: Primario y esencial Descripción: Para consultar las estadísticas de juego, el usuario deberá conectar con el casino, introducir su usuario y su clave. Si los datos son correctos, el sistema mostrará la opción de estadísticas al usuario. En él, se podrán consultar estadísticas del usuario Restricciones: Para administrar los créditos, deberá ser usuario del casino CDU:001 Objetivo: Conocer las estadísticas de juego de un usuario. Comentario:
CdU:010 Nombre: Entrar en una Sala de juego Actores: Usuario del casino Tipo: Primario y esencial Descripción: El sistema presentará al usuario todas las salas de juego disponibles, y este seleccionará en la que quiere entrar. Restricciones: El usuario tenga arrancada la aplicación (CdU: 006) Objetivo: Seleccionar la sala donde se quiere jugar. Comentario:
CdU:011 Nombre: Entrar en una Mesa de juego Actores: Usuario del casino Tipo: Primario y esencial Descripción: El sistema presentará al usuario todas las mesas de juego disponibles, y este seleccionará en la que quiere entrar. Restricciones: El usuario deberá estar dentro de una Sala de juego, (CDU:010) Objetivo: Seleccionar la mesa donde se quiere jugar o ver la partida que en ella se juega. Comentario:
CdU:012 Nombre: Entrar a Jugar Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario accede a jugar en la mesa que ha seleccionado. El sistema mostrará diferentes acciones dependiendo del juego al que haya accedido. Restricciones: El usuario deberá estar dentro de una Mesa de juego (CdU: 009). Objetivo: Entrar en una mesa como jugador. Comentario:
CdU:013 Nombre: Entrar a Ver una partida Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario accede a ver la partida que se está jugando en la mesa que ha seleccionado. El sistema mostrará diferentes acciones dependiendo del juego al que haya accedido. Restricciones: El usuario deberá estar dentro de una Mesa de juego (CdU: 009). Objetivo: Entrar en una mesa como invitado para poder ver la partida. Comentario:
CdU:014 Nombre: Salir de una partida estando jugando en ella Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario abandona la partida en la que estaba jugando. Restricciones: El usuario podrá abandona la partida en la que estaba jugando, cuando haya terminado la ronda que se este jugando en ese momento. El usuario debe estar jugando en una mesa de juego (CdU: 0012) Objetivo: Abandonar una partida. Comentario:
CdU:015 Nombre: Salir de una partida estando como invitado en ella Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario abandona la partida en la que estaba como invitado. Restricciones: El usuario debe estar como invitado en una mesa de juego (CdU: 0013) Objetivo: Abandonar una partida. Comentario:
CdU:016 Nombre: Salir de una Mesa de Juego Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario abandonará la mesa de juego en la que estaba. Restricciones: Un usuario podrá salir de una Mesa de juego, siempre y cuando esté dentro de una de ellas. Ver (CdU: 011) Objetivo: Salir de una Mesa de juego. Comentario:
CdU:017 Nombre: Salir de una Sala de Juego Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario abandonará la sala de juego en la que estaba. Restricciones: Un usuario podrá salir de una Sala de Juego, siempre y cuando esté dentro de una de ellas. Ver (CdU: 010)
Objetivo: Salir de una Sala de Juego. Comentario:
CdU:018 Nombre: Cierre de la aplicación Actores: Usuario del casino Tipo: Primario y esencial Descripción: El usuario podrá cerrar el cliente pesado de la aplicación. Si se realiza el cierre de la aplicación cuando el usuario esta en modo jugador en una partida, el sistema restaurará la cuenta de todo los jugadores de esa partida al final de la ultima ronda que se haya finalizado satisfactoriamente. Cuando se cierre la aplicación se realizará la desconexión entre el cliente y el servidor Descripción: Un usuario podrá cerrar la aplicación, siempre y cuando esté dentro de ella. Ver (CdU: 006) Objetivo: Cerrar la aplicación. Comentario:
CdU:019 Nombre: Validación del usuario Actores: El sistema Tipo: Primario y esencial Descripción: El sistema comprobará el usuario y la clave que ha recibido del usuario. Restricciones: Para poder validar el usuario, este antes debe haberse dado de alta en el sistema. Ver CdU:001 Objetivo: Comprobar que el usuario esta dado de alta en el sistema. Comentario:
CdU:020 Nombre: Arranque aplicación servidor Actores: El administrador del sistema Tipo: Primario y esencial Descripción: Se ejecutará la aplicación del servidor, esta debe comprobar para un correcto arranque de la misma la conexión con la Base de Datos y la conexión a Internet. Restricciones: Objetivo: Arrancar la aplicación Servidor Comentario:
CdU:021 Nombre: Creación de mesa de Juego Actores: El administrador del sistema Tipo: Primario y esencial Descripción: El administrador accederá a la aplicación servidor. Una vez dentro seleccionará crear mesa de juego, e introducirá el tipo de mesa de juego. Restricciones: Para crear mesas de juego, debe estar arrancada la aplicación servidor. Ver (CDU:020) Objetivo: Creación de mesas de juego. Comentario:
CdU:022 Nombre: Eliminar de mesa de Juego Actores: El administrador del sistema Tipo: Primario y esencial Descripción: El administrador accederá a la aplicación servidor. Una vez dentro seleccionará Eliminar mesa de juego, el sistema pedirá confirmación de la eliminación. Restricciones: Para eliminar mesas de juego han de estar creadas. Ver (CdU: 021) Objetivo: Eliminar de mesas de juego. Comentario:
CdU:023 Nombre: Modificar de mesa de Juego Actores: El administrador del sistema Tipo: Primario y esencial Descripción: El administrador accederá a la aplicación servidor. Una vez dentro seleccionará Modificar mesa de juego, e introducirá las modificaciones en la mesa de juego. Restricciones: Para eliminar mesas de juego han de estar creadas. Ver (CdU: 021) Objetivo: Modificar de mesas de juego. Comentario:
CdU:024 Nombre: Observar de mesa de Juego Actores: El administrador del sistema Tipo: Primario y esencial Descripción: El administrador accederá a la aplicación servidor. Una vez dentro seleccionará Observar mesa de juego, el sistema mostrará las mesas de juego dadas de alta en ese momento y el administrador podrá observar la que seleccione. Restricciones: Para observar las mesas de juego han de estar creadas. Ver (CdU: 019) Objetivo: Controlar las mesas de juego del sistema. Comentario:
CdU:025 Nombre: Dejar Observación de mesa de Juego Actores: El administrador del sistema Tipo: Primario y esencial Descripción: El sistema mostrará la posibilidad de dejar la observación de una mesa de juego, cuando el administrador selecciones esta opción abandonará el visionado de esta partida. Restricciones: El administrador del sistema podrá dejar la observar de las mesas de juego, dependiendo de las necesidades del sistema. Para dejar de observar las mesas de juego, el administrador debe estar observando una de ellas. Ver (CdU: 024) Objetivo: Dejar la observación de las mesas de juego. Comentario:
CdU:026 Nombre: Consulta de Estadísticas del casino Actores: El administrador del sistema Tipo: Primario y esencial Descripción: El administrador accederá a la aplicación servidor. Una vez dentro seleccionará Consulta de estadísticas del casino, el sistema mostrará estadísticas del dinero total recaudado en un determinado rango de fechas, usuarios activos del casino y estadísticas personales de cada usuario. Restricciones: Para crear mesas de juego, debe estar arrancada la aplicación servidor. Ver (CDU:020) Objetivo: Consultar las estadísticas que genera el casino. Comentario:
CdU:027 Nombre: Proporcionar Crédito al Jugador Actores: El sistema Tipo: Primario y esencial Descripción: Cuando el sistema detecte una petición de una solicitud de saldo de un usuario, este comprobará si los datos del usuario son correctos y procederá a ingresar el saldo pedido en la cuenta del usuario. Restricciones: Para que el sistema proporcione crédito a un jugador, este ha de haber solicitado el crédito. Ver (CdU:007) Objetivo: Descargar el cliente pesado para poder jugar en el casino. Comentario:
CdU:028 Nombre: Expulsar Jugador Actores: El administrador Tipo: Primario y esencial Descripción: El administrador accederá a la aplicación servidor. Una vez dentro seleccionará Expulsar jugador, el sistema mostrará los usuarios dados de alta en el sistema y el administrador seleccionará al usuario que desea expulsar. Restricciones: Para poder expulsar a un jugador, este debe estar dado de alta en el sistema. Ver (CdU:001) Objetivo: Expulsar a un usuario del sistema. Comentario: