lunes, 19 de noviembre de 2012

Casos de uso

Los casos de uso (Use Cases) es una técnica para determinar las necesidades de un sistema.
Ha sido desarrollada por Ivar Jacobson y se han integrado en la notación UML que lleva camino de convertirse en el estándar de notación para metodologías OO.
Se están utilizando como guías para todo el proceso de desarrollo del software.
Bibliografía sobre Casos de Uso
  •  I. Jacobson. Object -Oriented Software Engineering. A Use Case Driven Approach. Addison-Wesley Publishing Company, 1992.
  •  G.Booch, J.Rumbaugh, I.Jacobson. El lenguaje unificado de modelado UML. Addison Wesley, 1999.
Los casos de uso describen bajo la forma de acciones y reacciones el comportamiento de un sistema desde el punto de vista de un usuario; permiten definir los límites del sistema y las relaciones entre el sistema y el entorno.
  • Es la imagen de la funcionalidad del sistema, desencadenada en respuesta a la estimulación de un actor externo
  • Reubican la expresión de las necesidades sobre los usuarios
La estructuración del método se efectúa respecto a las interacciones de una sola categoría de usuarios a la vez

Los usuarios deben estructurar y articular sus deseos:
  •  Definir de manera precisa como interactuar con el sistema
  •  Precisar qué informaciones quieren intercambiar
  •  Describir qué debe hacerse para obtener el resultado deseado
  •  Necesidad de un formalismo para los casos de uso accesible
para los diferentes usuarios sin necesidad de una formación particular
  •  Modelo de casos de uso:
  •  Sistema
  •  Actores
  •  Casos de uso
Actores
  • Un actor representa el papel interpretado por una persona o una cosa que interactúa con el sistema
  • Se representan en forma de pequeños personajes que desencadenan los casos de uso
  • Los actor es se reclutan entre los usuarios directos del sistema, los responsables de su configuración y mantenimiento, así como los otros sistemas que interactúan con el sistema en cuestión
  •  La determinación de los mismos precisa los límites del sistema de manera progresiva. Sirve de base contractual para limitar lo que debe hacerse, lo que forma parte del sistema a desarrollar y lo que no forma parte de él

Categorías de Actores
Cuatro grandes categorías de actores :
 Actores Principales:
 Personas que utilizan las funciones principales del sistema.
Ejemplo : Los clientes de un dispensador de billetes
Actores Secundarios:
 Personas que realizan actividades administrativas o de mantenimiento.
 Ejemplo : Persona que recoge la caja del dispensador
Actores Material Externo:
Dispositivos materiales imprescindibles que forman parte del ámbito de la aplicación y que deben ser utilizados.
 Ejemplo : Impresora. (no el ordenador en sí mismo)
Actores Otros Sistemas:
 Sistemas con los que el sistema a desarrollar debe interactuar.Ejemplo: Sistema grupo bancario que gestiona el parque de dispensadores
Casos de Uso
  • Los casos de uso son abstracciones del dialogo entre los actores y el sistema
  •  Se representan por medio de un óvalo identificado por un nombre
  •  Describen interacciones potenciales, llamadas escenarios, sin entrar en detalles concretos
  •  Un caso de uso agrupa una familia de escenarios según un criterio funcional
  •  Su ámbito de aplicación supera ampliamente la definición de las necesidades del sistema. Intervienen a lo largo de todo el ciclo de vida. Es necesario un método para navegar hacia las clases y los objetos que satisfacen una necesidad y hacia las pruebas que verifican que el sistema realiza su tarea

Relaciones
Tipos de relaciones:
  • Generalización
  • Entre Actores
  • Entre Casos de uso
Extensión entre Casos de Uso
  • Inclusión entre Casos de Uso
  • Asociación entre un Actor y un Caso de Uso

C4 siempre ejecuta C2
C1 opcionalmente ejecuta C2
















Construcción de Casos de Uso
¿Cuales son las tareas de un actor?
¿Qué informaciones debe el actor crear, guardar, modificar, destruir o simplemente leer?
El actor, ¿deberá informar al sistema de los cambios externos?
El sistema, ¿deberá informar al actor de las condiciones internas?

Proceso de elaboración de Casos de Uso
Identificar a grandes trazos los casos de uso y descripción breve de los casos de uso
Profundizar en la comprensión de cada caso de uso particular, y determinación de los principales escenarios
Descripción detallada de las etapas estabilizadas, teniendo en cuenta los escenarios que pasan por cada etapa

Trampas a Evitar
1) La presencia de un gran número de detalles es un signo de un escenario más que de un caso de uso
  • No siempre resulta fácil determinar el nivel de detalle
2) Un gran número de casos de uso es un signo de falta de abstracción
  • Sea cual sea el tamaño del sistema a desarrollar, el número de casos de uso es relativamente pequeño
  • No sucede lo mismo con el número de escenarios
3) Procurar no caer en la tentación de describir demasiado el comportamiento interno del sistema
  • Describir los intercambios entre actor y sistema; pero no llegar a explicar cómo el sistema realiza esos intercambios 
4) Los casos de usos son un medio, no un fin

No hay comentarios:

Publicar un comentario