Академический Документы
Профессиональный Документы
Культура Документы
Módulo 2
Objetivos
Seguir tratando un compendio de conceptos y guías generales sobre el tema de los
Casos de Uso y cómo documentarlos más allá de los diagramas, colocando el foco en
intentar resolver las diferencias de diagramas vistos en la entrega de la tarea anterior.
Hay muchos estilos para documentar casos de uso. Se pueden describir formal o
informalmente, en forma textual o a través de diagramas.
Puede tener variantes del curso básico que son los cursos alternativos
Ejemplos
Caso de Uso Informal de un ATM (“cajero automático”)
4. …
Curso Básico
7. El cliente se retira
Curso Alternativo
4. etc.
Cajero Sistema
Explicación
Requerimientos no funcionales:
Ejemplos
Caso de Uso: Asignar asiento en un vuelo
[…]
Guías Generales
Generalmente ayuda mostrar sólo aquellos casos de uso que son importantes para
comprender el comportamiento del sistema, y solo aquellos actores que están
relacionados con el caso de uso.
Uno de los elementos que ayuda a decidir el nivel de detalle con el que se debe
especificar un caso de uso es el riesgo asociado al mismo. Cuanto más alto sea el
riesgo o la importancia del caso de uso, más nivel de detalle se deberá utilizar para
especificarlo. Generalmente se suele documentar al máximo nivel de detalle durante la
elaboración del documento en solo algunos casos de uso. Luego, conformeavanzan las
iteraciones del proyecto, es posible agregar más detalle según sea necesario para la
implementación.
Ejemplo
Guía de Procedimiento
Por ejemplo, si vemos uno de los primeros ejemplos donde existía un solo caso de uso
"sistema de...", deberíamos "factorearlo" en varios casos de uso más simples, ya que la
abstracción era demasiado alta.
Ejemplo
¿Qué hace el sistema para verificar que el número de PIN sea correcto?
El analista que deba procesar estos casos de uso, seguramente, estará odiando al
autor de esta especificación al carecer de tanta información importante.
a. Retirar Fondos
b. Depositar Fondos
c. Transferir Fondos
d. Tipo de Transacción
e. Monto de la Transacción
Observaciones generales
Notar que ninguno de los detalles dicta cómo el sistema será diseñado, solo documenta
lo que debería hacer (recordar que siempre describe "qué" sin decir "cómo")
Nota: Aquí es importante ver el detalle que tiene una descripción de un caso de
uso, ya que es muy común que suceda que alguien que haga el rol de "analista" (por
falta de experiencia, conocimientos, tiempo, etc.) solo se apoye en los diagramas
(gráficos), y como requieren detallar toda esta información, los casos de uso se
terminan distorsionando y creciendo exponencialmente. Por esa razón un caso de
uso es siempre un diagrama + documento especificando todos estos detalles en
una redacción (especificación), y el gráfico debe ser la base para tener una "visión
rápida de bosque", y la profundidad se encuentra en el resto del documento.
Notar que, además, lo más natural será que otros Casos de Uso empleen los mismos
términos ya definidos en el glosario.
Menú de Transacciones
Recibo
Monto Dispensado
Recibo
Impresión física de una (o varias) transacciones.
Ejemplo
Orden
Contrato entre una compañía y un cliente para proveer un conjunto de productos para
un cliente en particular. Una orden incluye un conjunto de ítems y una lista de
información de productos.
Línea de Ítem
Cada caso de uso debe tener un nombre que indique valor (o la meta) que es
lograda por la interacción del actor hacia el sistema ("regla de oro").
Si aún esto resulta complejo, entonces emplee como nombre de caso de uso las
mejores palabras que encuentre para promover la mejor comunicación con el cliente
(tal vez términos que use el propio cliente).
Una pregunta que ayuda a determinar el nombre y, por ende, cumplir con la regla, es:
Los casos de uso de la figura denotan lo que el sistema necesita hacer, pero, al
mismo tiempo representa lo que el usuario necesita hacer en el sistema… "agregar una
orden", pero todo lo restante son flujos alternativos de un caso de uso.
Regla: cuando exista una sola cosa útil para hacer, debe existir un solo caso de uso.
Mantenga la simpleza
No hay que perder el foco en el enfoque conceptual y simple, combinar las funciones
para representar el valor real para el actor.
2. Los casos de uso son escritos desde el punto de vista del sistema y no de
los actores
5. Las relaciones entre los casos de uso forman una tela de araña
etc.
Los demás casos de uso se deberán tratar en las siguientes iteraciones del ciclo de
vida.
Si bien los casos de uso suelen identificarse durante la etapa de análisis, son una
herramienta que se utiliza durante todas las etapas del proyecto. En una primera
etapa se utilizan para capturar y especificar los requerimientos. Son un insumo
indispensable para la etapa de diseño, ya que el objetivo es diseñar una solución para
cumplir con esos requerimientos.
Los casos de uso permiten además validar una arquitectura y un diseño, respondiendo
la pregunta de cómo se solucionan los requerimientos con un diseño especifico.
Sirven además para los probadores (testing), a la hora de definir los casos de
prueba.
Los Casos de Uso se han convertido en una técnica popular para documentar los
requerimientos de un sistema de software dada su simple notación gráfica y sus
especificaciones en lenguaje natural, sin embargo, parece ser claro que la simplicidad
puede ser engañosa.
Los Casos de Uso describen qué hace el sistema a nivel conceptual y descomponer el
sistema en pequeños casos de uso dificulta la comprensión del propósito real del
sistema.
Los Casos de Uso nos deben focalizar en lo que realmente es importante, las cosas
que realmente tiene un valor real y nos permiten definir el sistema sobre esos
elementos.
Si podemos definir las especificaciones que muestren el valor que el usuario espera
obtener del sistema y luego, crear un caso de uso que represente ese valor, el
sistema cumplirá mejor con las expectativas de ese usuario.
Fin.
Bibliografía
Ingeniería de Software – Sommerville
Wikipedia
"Use and Abuse Cases", M. Fowler
"UML Gota a Gota" – M. Fowler
"Object-oriented Analysis and Design with Applications" - Booch