09.06.2015 Views

Pre-condiciones (para empezar el modelado de casos de uso)

Pre-condiciones (para empezar el modelado de casos de uso)

Pre-condiciones (para empezar el modelado de casos de uso)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Guía <strong>para</strong> la Elaboración <strong>de</strong> Casos <strong>de</strong> Uso<br />

Disciplina <strong>de</strong> Requerimientos


Historial <strong>de</strong> Revisión<br />

Fecha Versión Descripción Autor<br />

01-Julio-08 1.1 A<strong>de</strong>cuacion d<strong>el</strong> documento Susy Silva<br />

28-Agosto-08 1.2 Redaccion Susy Silva<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 2 <strong>de</strong> 16


Tabla <strong>de</strong> Contenido<br />

INTRODUCCIÓN ........................................................................................................................ 4<br />

PROPÓSITO ................................................................................................................................... 4<br />

ALCANCE ..................................................................................................................................... 4<br />

PRE-CONDICIONES (PARA EMPEZAR EL MODELADO DE CASOS DE USO) ......... 4<br />

¿ ES UN PROYECTO NUEVO O UN MANTENIMIENTO ? .................................................................... 5<br />

¿ EN QUÉ FASE DEL CICLO DE INGENIERÍA DEL SOFTWARE ESTÁS ? ............................................. 5<br />

¿ CUÁNTA GENTE ESTÁ DEDICADA AL ESFUERZO DE INGENIERÍA DE REQUERIMIENTOS ? ............ 7<br />

PLAN DE ACTIVIDADES ................................................................................................................. 7<br />

PROCESO DE ELABORACIÓN DE CASOS DE USO ........................................................... 8<br />

ENCONTRAR ACTORES ................................................................................................................. 8<br />

Mecanismos <strong>para</strong> i<strong>de</strong>ntificar actores...................................................................................... 8<br />

Puntos <strong>de</strong> control .................................................................................................................... 9<br />

ENCONTRAR CASOS DE USO........................................................................................................ 11<br />

Elaborar <strong>el</strong> outline d<strong>el</strong> escenario principal .......................................................................... 12<br />

Flujos Alternos ...................................................................................................................... 12<br />

Actualizar los documentos .................................................................................................... 12<br />

ESTÁNDARES PARA LA ESCRITURA DE CASOS DE USO ............................................ 12<br />

NOMBRE DE LOS CASOS DE USO ................................................................................................ 13<br />

NOMBRE DE ARCHIVOS .............................................................................................................. 13<br />

DESCRIPCIÓN DEL FLUJO BÁSICO .............................................................................................. 13<br />

REFERENCIAS FLUJOS ALTERNOS .............................................................................................. 13<br />

USO DE DICCIONARIO Y/O GLOSARIO DE TÉRMINOS .................................................................. 14<br />

PRE-CONDICIONES Y POST-CONDICIONES ................................................................................... 14<br />

REFERENCIAS A OTROS DOCUMENTOS ........................................................................................ 14<br />

RELACIONES ENTRE CASOS DE USO ............................................................................................ 14<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 3 <strong>de</strong> 16


Guía <strong>de</strong> Elaboración <strong>de</strong> Casos <strong>de</strong> Uso<br />

Introducción<br />

El propósito <strong>de</strong> este documento es presentar las guías <strong>para</strong> la <strong>el</strong>aboración <strong>de</strong> los Casos<br />

<strong>de</strong> Uso a utilizar <strong>de</strong>ntro <strong>de</strong> los proyectos.<br />

Propósito<br />

Este documento <strong>de</strong>scribe cómo i<strong>de</strong>ntificar y <strong>el</strong>aborar los Reportes <strong>de</strong> Caso <strong>de</strong> Uso y<br />

preten<strong>de</strong> ser una ayuda <strong>para</strong> todos aqu<strong>el</strong>los que tengan que <strong>el</strong>aborar o interpretar<br />

<strong>casos</strong> <strong>de</strong> <strong>uso</strong> .<br />

Para los Ingenieros <strong>de</strong> Requerimientos representa una norma a seguir <strong>para</strong> la<br />

<strong>el</strong>aboración d<strong>el</strong> artefacto, que implica que se homologuen criterios y enriquecer <strong>el</strong><br />

documento <strong>de</strong> acuerdo a las peticiones d<strong>el</strong> cliente y su experiencia, durante las fases<br />

que <strong>el</strong> proceso unificado <strong>de</strong> rational implique.<br />

Este documento complementa las especificaciones <strong>de</strong>scritas en <strong>el</strong> template <strong>de</strong><br />

Especificación <strong>de</strong> Casos <strong>de</strong> Uso siguiendo la metodología <strong>de</strong> la disciplina <strong>de</strong><br />

requerimientos d<strong>el</strong> proceso unificado <strong>de</strong> Rational, <strong>el</strong> cual <strong>de</strong>berá tomarse como formato<br />

oficial <strong>para</strong> la <strong>el</strong>aboración <strong>de</strong> este artefacto.<br />

El propósito <strong>de</strong> este documento es <strong>de</strong>finir los estándares y proporcionar las mejores<br />

prácticas <strong>para</strong> la <strong>el</strong>aboración <strong>de</strong> los Casos <strong>de</strong> Uso <strong>de</strong>ntro <strong>de</strong> un proyecto.<br />

Alcance<br />

Este documento únicamente cubre guías <strong>para</strong> hacer <strong>casos</strong> <strong>de</strong> <strong>uso</strong> que empiezan <strong>de</strong> cero<br />

(nuevos proyectos o mantenimientos adaptativos (es <strong>de</strong>cir, cuando <strong>el</strong> mantenimiento<br />

involucra nueva funcionalidad completamente).<br />

<strong>Pre</strong>-<strong>condiciones</strong> (<strong>para</strong> <strong>empezar</strong> <strong>el</strong> mod<strong>el</strong>ado <strong>de</strong> <strong>casos</strong> <strong>de</strong><br />

<strong>uso</strong>)<br />

Antes <strong>de</strong> Iniciar <strong>el</strong> esfuerzo <strong>de</strong> Ingeniería <strong>de</strong> Requerimientos es necesario i<strong>de</strong>ntificar lo<br />

siguiente:<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 4 <strong>de</strong> 16


• ¿ Es un proyecto nuevo o un mantenimiento ?<br />

• ¿ En qué fase d<strong>el</strong> ciclo <strong>de</strong> Ingeniería d<strong>el</strong> SW se encuentra ?<br />

• ¿ Cuánta gente está <strong>de</strong>dicada al esfuerzo <strong>de</strong> Ingeniería <strong>de</strong> Requerimientos ?<br />

• Sobre <strong>el</strong> plan <strong>de</strong> activida<strong>de</strong>s<br />

Analizar <strong>el</strong> plan <strong>de</strong> activida<strong>de</strong>s y tiempos d<strong>el</strong> proyecto<br />

I<strong>de</strong>ntificar la duración y término <strong>de</strong> la Fase <strong>de</strong> Inception<br />

I<strong>de</strong>ntificar la duración y término la Fase <strong>de</strong> Elaboration<br />

¿ Es un proyecto nuevo o un mantenimiento ?<br />

Si es un Proyecto Nuevo<br />

Deberá generarse <strong>el</strong> documento <strong>de</strong> Visión enfocándose principalmente en los siguientes<br />

puntos:<br />

Descripción <strong>de</strong> Stakehol<strong>de</strong>rs<br />

Necesida<strong>de</strong>s<br />

Definición d<strong>el</strong> problema<br />

Restricciones al proyecto<br />

Esto con la finalidad <strong>de</strong> conocer las necesida<strong>de</strong>s <strong>de</strong> negocio y mapear los <strong>casos</strong> <strong>de</strong> <strong>uso</strong><br />

<strong>para</strong> que cubran exactamente las necesida<strong>de</strong>s <strong>de</strong> los Stakehol<strong>de</strong>rs.<br />

Así mismo <strong>de</strong>berá <strong>empezar</strong>se con <strong>el</strong> mod<strong>el</strong>o <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong> <strong>de</strong> manera general.<br />

Si es un mantenimiento<br />

<br />

Implica funcionalidad nueva (<strong>de</strong>s<strong>de</strong> cero)<br />

Deberá <strong>empezar</strong>se con <strong>el</strong> mod<strong>el</strong>o <strong>de</strong> Casos <strong>de</strong> Uso<br />

<br />

Implica cambiar funcionalidad específica<br />

Si se cuenta con <strong>el</strong> mod<strong>el</strong>o <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong> <strong>de</strong>berá modificarse <strong>el</strong> reporte <strong>de</strong> caso <strong>de</strong><br />

<strong>uso</strong> y analizarse con cuáles otros <strong>casos</strong> <strong>de</strong> <strong>uso</strong> pue<strong>de</strong> tener r<strong>el</strong>ación <strong>para</strong> realizar su<br />

modificación, si es que aplica.<br />

¿ En qué fase d<strong>el</strong> ciclo <strong>de</strong> Ingeniería d<strong>el</strong> Software estás ?<br />

Dependiendo <strong>de</strong> la Fase <strong>de</strong> Ingeniería en la que se encuentre <strong>el</strong> proyecto, se <strong>de</strong>ben<br />

enfocar los esfuerzos <strong>de</strong> mod<strong>el</strong>ado <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong> (y d<strong>el</strong> resto <strong>de</strong> la Ingeniería <strong>de</strong><br />

Requerimientos).<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 5 <strong>de</strong> 16


Fase <strong>de</strong> Incepcion<br />

Por ejemplo, en la fase <strong>de</strong> Inception, no se <strong>de</strong>be intentar levantar todo <strong>el</strong> <strong>de</strong>talle <strong>de</strong> los<br />

requerimientos d<strong>el</strong> proyecto (se estaría cayendo en <strong>el</strong> ciclo clásico y antiguo <strong>de</strong><br />

cascada). Se <strong>de</strong>be <strong>empezar</strong> por tener una i<strong>de</strong>a general d<strong>el</strong> proyecto centrándose en los<br />

siguientes puntos: mod<strong>el</strong>o <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong>, bosquejo <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> principales,<br />

priorizar las características d<strong>el</strong> producto, medir los riesgos y obtener las restricciones d<strong>el</strong><br />

proyecto.<br />

A continuación se <strong>de</strong>fine las activida<strong>de</strong>s principales que <strong>de</strong>bes hacer en cada una <strong>de</strong> las<br />

fases.<br />

Inception<br />

<br />

<br />

<br />

<br />

<br />

Primer bosquejo d<strong>el</strong> mod<strong>el</strong>o <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong><br />

Glosario (Vocabulario Inicial)<br />

Flujo <strong>de</strong> eventos (bosquejo) <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> críticos<br />

Boceto <strong>de</strong> la Interfaz <strong>de</strong> Usuario <strong>de</strong> los CU principales (si aplica)<br />

Visión (principales necesida<strong>de</strong>s <strong>de</strong> los usuarios involucrados y los usuarios finales y<br />

características d<strong>el</strong> producto)<br />

Elaboration<br />

Refinamiento d<strong>el</strong> Mod<strong>el</strong>o <strong>de</strong> Casos <strong>de</strong> Uso (Gráfico) (Revisado y aceptado<br />

formalmente)<br />

Detalle d<strong>el</strong> 80% <strong>de</strong> los Casos <strong>de</strong> Uso (Revisados e i<strong>de</strong>almente aceptados<br />

formalmente)<br />

Reporte <strong>de</strong> Casos <strong>de</strong> Uso terminados y verificados (<strong>de</strong> los CU Principales / Críticos )<br />

Prototipo d<strong>el</strong> Sistema (si aplica)<br />

Glosario (Vocabulario Incial)<br />

Construction<br />

<br />

<br />

<br />

Administración formal <strong>de</strong> cambios (analizar impacto d<strong>el</strong> cambio)<br />

Flujos <strong>de</strong> Eventos Modificados<br />

Glosario modificado<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 6 <strong>de</strong> 16


¿ Cuánta gente está <strong>de</strong>dicada al esfuerzo <strong>de</strong> Ingeniería <strong>de</strong><br />

Requerimientos ?<br />

La meta principal <strong>de</strong> todos los proyectos <strong>de</strong>berá ser:<br />

Crear software <strong>de</strong> calidad en <strong>el</strong> tiempo, con los recursos asignados y<br />

cubriendo las necesida<strong>de</strong>s reales <strong>de</strong> nuestros Stakehol<strong>de</strong>rs<br />

De ahí que es importante NO COMPROMETERSE A HACER MÁS DE LO QUE SE<br />

PUEDA con base en los recursos y tiempo que tenemos.<br />

Es importante analizar la complejidad d<strong>el</strong> software, la importancia que éste tiene <strong>para</strong> la<br />

organización y se <strong>de</strong>finan en forma a<strong>de</strong>cuada los tiempos y recursos asignados. Si con<br />

base en <strong>el</strong> análisis d<strong>el</strong> problema y con la <strong>de</strong>tección <strong>de</strong> algunos <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> se<br />

observa que es casi imposible sacar <strong>el</strong> proyecto es importante ajustar las expectativas<br />

<strong>de</strong> los Stakehol<strong>de</strong>rs.<br />

Plan <strong>de</strong> activida<strong>de</strong>s<br />

Todo proyecto <strong>de</strong>berá contar con un plan <strong>de</strong> trabajo que <strong>de</strong>termine activida<strong>de</strong>s y<br />

tiempo y que será administrado y controlado por un Lí<strong>de</strong>r <strong>de</strong> Proyecto, Gerente o<br />

cualquier otro responsable asignado.<br />

El área <strong>de</strong> Requerimientos <strong>de</strong>berá:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Analizar <strong>el</strong> plan <strong>de</strong> activida<strong>de</strong>s y tiempos d<strong>el</strong> proyecto<br />

Conocer las responsabilida<strong>de</strong>s y <strong>el</strong> alcance <strong>de</strong> las mismas<br />

I<strong>de</strong>ntificar los puntos <strong>de</strong> verificación y los criterios <strong>de</strong> evaluación<br />

I<strong>de</strong>ntificar los hitos, productos o cualquier otro artefacto que se espere como<br />

entregable en cada una <strong>de</strong> estas activida<strong>de</strong>s<br />

Conocer la duración y término <strong>de</strong> la Fase <strong>de</strong> Inception<br />

Conocer la duración y término <strong>de</strong> la Fase <strong>de</strong> Elaboration<br />

De ser posible, <strong>de</strong>berá establecerse un plan <strong>de</strong> trabajo interno <strong>para</strong> completar<br />

estas activida<strong>de</strong>s y tiempos así como reportar <strong>el</strong> avance <strong>de</strong> las mismas al<br />

administrador<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 7 <strong>de</strong> 16


Proceso <strong>de</strong> Elaboración <strong>de</strong> Casos <strong>de</strong> Uso<br />

Las activida<strong>de</strong>s generales que <strong>de</strong>berán ser cubiertas <strong>para</strong> la Elaboración <strong>de</strong> los Casos <strong>de</strong><br />

Uso son:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Encontrar actores<br />

Encontrar Casos <strong>de</strong> <strong>uso</strong> (i<strong>de</strong>ntificar metas <strong>de</strong> los actores)<br />

Describir las interacciones entre actores y <strong>casos</strong> <strong>de</strong> <strong>uso</strong><br />

Empaquetar a los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> y actores<br />

Crear los diagramas <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong> necesarios<br />

Desarrollar borradores <strong>de</strong> Casos <strong>de</strong> Uso<br />

Evaluar los resultados<br />

Encontrar Actores<br />

Un actor es todo aqu<strong>el</strong>lo que tiene interacción directa con <strong>el</strong> sistema. Un actor pue<strong>de</strong> ser<br />

una persona, dispositivo u otro sistema.<br />

Mecanismos <strong>para</strong> i<strong>de</strong>ntificar actores<br />

Para encontrar actores se recomienda:<br />

1. De los Stakehol<strong>de</strong>rs i<strong>de</strong>ntificados, verificar cuáles <strong>de</strong> <strong>el</strong>los interactuarán en forma<br />

directa (mediante algún <strong>de</strong>sarrollo o como operadores) con <strong>el</strong> sistema <strong>de</strong><br />

información. Ese subconjunto <strong>de</strong> Stakehol<strong>de</strong>rs son actores.<br />

2. Respon<strong>de</strong>r las siguientes preguntas:<br />

¿ Quién utilizará <strong>el</strong> sistema ?<br />

¿ Quién entregará información al sistema ?<br />

¿ A quién le <strong>de</strong>be entregar información <strong>el</strong> sistema ?<br />

¿ Quién mantendrá la información d<strong>el</strong> sistema? (quién trabajará con todos<br />

<br />

esos caso <strong>de</strong> <strong>uso</strong> <strong>de</strong> soporte <strong>de</strong>dicados a la administración <strong>de</strong> catálogos)<br />

¿ Quién soportará y administrará <strong>el</strong> sistema? (quién trabajará con los <strong>casos</strong><br />

<strong>de</strong> <strong>uso</strong> <strong>de</strong> administración <strong>de</strong> usuarios, configuración d<strong>el</strong> sistema, respaldos,<br />

etc..)<br />

¿ El sistema interactuará con otros sistemas ?<br />

¿ El sistema utilizará algún dispositivo (hardware) ?<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 8 <strong>de</strong> 16


¿ En qué lugar <strong>de</strong> la organización se utilizará principalmente <strong>el</strong> sistema ? 1<br />

Puntos <strong>de</strong> control<br />

<br />

Usuarios Multifacéticos vs. Actores<br />

Una misma persona (especificador) pue<strong>de</strong> estar jugando al mismo tiempo más <strong>de</strong> un rol<br />

en la organización.<br />

La diferencia entre un actor y un usuario, es que <strong>el</strong> actor representa un tipo <strong>de</strong> usuario<br />

más que a la persona misma. Muchos usuarios pue<strong>de</strong>n jugar <strong>el</strong> mismo rol, lo que<br />

significa que todos <strong>el</strong>los <strong>de</strong>ben estar representados por un solo actor.<br />

Acciones:<br />

I<strong>de</strong>ntificar los roles que juega un usuario y se<strong>para</strong>rlos en <strong>el</strong> diagrama <strong>de</strong> actores<br />

Especificar en forma <strong>de</strong>tallada lo que cada rol requiere d<strong>el</strong> sistema<br />

<br />

Nombramiento<br />

Un actor aunque representa a un grupo <strong>de</strong> personas en una organización no <strong>de</strong>be<br />

nombrarse en plural.<br />

Acciones:<br />

Nombrar los actores en singular<br />

Los nombres <strong>de</strong> los actores <strong>de</strong>ben correspon<strong>de</strong>r a un rol. Si no es así, cambiar los<br />

nombres.<br />

Un actor no <strong>de</strong>be tener <strong>el</strong> nombre <strong>de</strong> una persona<br />

<br />

Validación <strong>de</strong> Cobertura<br />

Para validar la cobertura en <strong>el</strong> análisis <strong>de</strong> actores es importante que tomar en cuenta la<br />

siguiente clasificación:<br />

Actores Primarios<br />

Usuarios que ejecutan la funcionalidad principal d<strong>el</strong> sistema (la razón <strong>de</strong> ser <strong>de</strong> la<br />

aplicación).<br />

1 Una buena práctica <strong>para</strong> esto es localizar <strong>el</strong> organigrama d<strong>el</strong> área y obtener los puestos y responsables, ya que<br />

regularmente algunos <strong>de</strong> <strong>el</strong>los tien<strong>de</strong>n a ser actores potenciales d<strong>el</strong> sistema. Regularmente estos organigramas<br />

proporcionan información <strong>para</strong> la mejor comprensión d<strong>el</strong> problema que se intenta resolver y a<strong>de</strong>más son una<br />

referencia, en algunos <strong>casos</strong>, <strong>para</strong> resolver dudas.<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 9 <strong>de</strong> 16


Actores Secundarios<br />

Usuarios que ejecutan funcionalidad secundaria d<strong>el</strong> sistema (administrar usuarios,<br />

administrar catálogos, cargar datos, hacer respaldos, etc...).<br />

Acciones:<br />

Verificar con respecto al tamaño d<strong>el</strong> proyecto y áreas en la organización (en las que<br />

estará operando <strong>el</strong> sistema), si <strong>el</strong> número actual <strong>de</strong> actores es realmente<br />

significativo con respecto al tamaño y tipo <strong>de</strong> proyecto.<br />

o Muchos actores <strong>para</strong> un proyecto pequeño (10 C.U). Deberán revisarse y<br />

ajustarse los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> utilizando la generalización, por ejemplo.<br />

o Muy pocos actores <strong>para</strong> un proyecto pequeño (10-20 C.U) pue<strong>de</strong> que<br />

necesite revisar y ajustar.<br />

o Etc... (<strong>de</strong>finan sus propias métricas <strong>de</strong> tamaño <strong>de</strong> proyecto)<br />

Verificar si existen actores <strong>de</strong> ambas clasificaciones (principales y secundarios).<br />

Verificar si <strong>el</strong> proyecto tiene r<strong>el</strong>aciones con dispositivos u otros sistemas y validar<br />

que estos se encuentran <strong>de</strong>finidos como actores<br />

Realizar una verificación final una vez concluida la <strong>de</strong>finición <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> ya<br />

que podrían haber surgido nuevos actores no i<strong>de</strong>ntificados en <strong>el</strong> primer esfuerzo.<br />

Verificar, una vez mod<strong>el</strong>ados los <strong>casos</strong> <strong>de</strong> <strong>uso</strong>, si cada actor está r<strong>el</strong>acionado con al<br />

menos un caso <strong>de</strong> <strong>uso</strong><br />

Eliminar actores que no sean mencionados en la <strong>de</strong>scripción <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> o<br />

que no tengan al menos una r<strong>el</strong>ación con algún caso <strong>de</strong> <strong>uso</strong><br />

Verificar si se pue<strong>de</strong>s mencionar al menos a 2 personas (instancias reales) que<br />

jueguen <strong>el</strong> rol <strong>de</strong> cada uno <strong>de</strong> los actores. Si esto no pasa, verificar si <strong>el</strong> actor no es<br />

real ya que más bien pue<strong>de</strong> ser parte <strong>de</strong> otro actor.<br />

Verificar si varios actores juegan roles similares con respecto al sistema. Si esto<br />

pasa, <strong>de</strong>berá intentarse fusionar a los actores en un solo actor utilizando<br />

generalización (herencia).<br />

Verificar si varios actores juegan roles similares con respecto a un mismo caso <strong>de</strong><br />

<strong>uso</strong>. Si es así, utilizar la generalización entre actores.<br />

Verificar si un actor en particular tiene varios propósitos <strong>para</strong> utilizar (<strong>de</strong> diversas<br />

formas) un caso <strong>de</strong> <strong>uso</strong>. Si esto es así, analizar si <strong>de</strong>be dividirse <strong>el</strong> actor y/o caso <strong>de</strong><br />

<strong>uso</strong>.<br />

<br />

Validación <strong>de</strong> Alcance<br />

La <strong>de</strong>finición <strong>de</strong> actores permite i<strong>de</strong>ntificar los límites d<strong>el</strong> sistema en <strong>de</strong>sarrollo. Deberán<br />

i<strong>de</strong>ntificarse como actores únicamente aqu<strong>el</strong>los quienes se comuniquen en forma directa<br />

con <strong>el</strong> sistema. Si se está incluyendo roles que están alre<strong>de</strong>dor d<strong>el</strong> sistema pero que no<br />

interactúan en forma directa, se está cayendo en <strong>el</strong> error <strong>de</strong> mezclar <strong>el</strong> negocio con <strong>el</strong><br />

sistema.<br />

Acciones:<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 10 <strong>de</strong> 16


Verficiar <strong>para</strong> cada uno <strong>de</strong> los actores que estos tengan interacción directa con <strong>el</strong><br />

sistema. Si no es así <strong>de</strong>berán ser <strong>el</strong>imínados d<strong>el</strong> mod<strong>el</strong>o <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong><br />

<br />

Validación <strong>de</strong> Especificador<br />

Si la <strong>de</strong>finición d<strong>el</strong> sistema completo (actores, funcionalidad, característica, etc.) se está<br />

llevando a cabo por una sola persona <strong>de</strong>berá ser consi<strong>de</strong>rado como un riesgo potencial.<br />

Acciones:<br />

Verificar si se cuenta con un solo especificador. De ser así <strong>de</strong>finirlo <strong>de</strong>s<strong>de</strong> un inicio<br />

como un riesgo potencial y comunicarlo al lí<strong>de</strong>r <strong>de</strong> proyecto.<br />

I<strong>de</strong>ntificar posibles especificadores por parte d<strong>el</strong> área usuaria.<br />

<br />

Generales<br />

Algunas características que <strong>de</strong>bes tener bien claras d<strong>el</strong> actor:<br />

Alcance d<strong>el</strong> actor en <strong>el</strong> proyecto<br />

Ambiente en <strong>el</strong> cual <strong>el</strong> actor estará utilizando <strong>el</strong> sistema (gran<strong>de</strong>s errores en la Ing.<br />

<strong>de</strong> SW, es crear aplicaciones que no podrán ser utilizadas en forma óptima en <strong>el</strong><br />

ambiente real d<strong>el</strong> actor).<br />

El número <strong>de</strong> usuarios representado por éste actor. Este número <strong>de</strong>notará <strong>el</strong> factor<br />

<strong>de</strong> r<strong>el</strong>evancia d<strong>el</strong> actor con respecto al resto <strong>de</strong> los actores y con respecto al<br />

proyecto.<br />

La frecuencia en la cual <strong>el</strong> actor utilizará <strong>el</strong> sistema.<br />

Niv<strong>el</strong> <strong>de</strong> experiencia d<strong>el</strong> actor (especificador) en <strong>el</strong> dominio d<strong>el</strong> problema.<br />

Niv<strong>el</strong> general d<strong>el</strong> actor en conocimientos <strong>de</strong> sistemas (cómputo)<br />

Conocer cuáles otras aplicaciones utiliza <strong>el</strong> actor.<br />

Encontrar <strong>casos</strong> <strong>de</strong> <strong>uso</strong><br />

La actividad <strong>de</strong> <strong>de</strong>finición <strong>de</strong> Casos <strong>de</strong> Uso se centra básicamente en i<strong>de</strong>ntificar <strong>para</strong><br />

cada uno <strong>de</strong> los actores, las diversas formas en las que espera utilizar <strong>el</strong> sistema.<br />

Las activida<strong>de</strong>s generales pue<strong>de</strong>n centrarse en:<br />

<br />

<br />

<br />

Hacer una lista <strong>de</strong> las metas d<strong>el</strong> actor<br />

I<strong>de</strong>ntificar <strong>para</strong> qué va a utilizar <strong>el</strong> actor <strong>el</strong> sistema<br />

I<strong>de</strong>ntificar si <strong>el</strong> actor obtendrá, cambiará, modificará o <strong>el</strong>iminará información d<strong>el</strong><br />

sistema<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 11 <strong>de</strong> 16


Elaborar <strong>el</strong> outline d<strong>el</strong> escenario principal<br />

<br />

<br />

Elaborar <strong>el</strong> bosquejo d<strong>el</strong> flujo básico <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> principales (en caso <strong>de</strong> que<br />

<strong>el</strong> sistema incluya menos <strong>de</strong> 6 <strong>casos</strong> <strong>de</strong> <strong>uso</strong> <strong>el</strong>aborar <strong>el</strong> bosquejo <strong>de</strong> cada uno <strong>de</strong><br />

<strong>el</strong>los)<br />

Revisar y Validar estos artefactos con <strong>el</strong> usuario<br />

Flujos Alternos<br />

Para po<strong>de</strong>r i<strong>de</strong>ntificar los posibles flujos alternos se sugiere apoyar <strong>de</strong> las siguientes<br />

preguntas:<br />

¿Qué pue<strong>de</strong> estar mal?¿ Cómo <strong>de</strong>berá respon<strong>de</strong>r <strong>el</strong> sistema ante los posibles<br />

errores?<br />

¿Cuáles son algunas <strong>de</strong> las situaciones opcionales que se pue<strong>de</strong>n presentar en <strong>el</strong><br />

caso <strong>de</strong> <strong>uso</strong>?<br />

¿Cuáles son algunas <strong>de</strong> las situaciones no comunes en <strong>el</strong> caso <strong>de</strong> <strong>uso</strong> pero que<br />

puedan llegar a presentarse?<br />

¿El actor d<strong>el</strong> caso <strong>de</strong> <strong>uso</strong>, es la persona indicada <strong>para</strong> resolver los posibles<br />

errores?<br />

¿Deberá estar r<strong>el</strong>acionado algún otro actor que entre en acción en ciertas<br />

ocasiones?<br />

Condiciones <strong>de</strong> falla<br />

Completar <strong>el</strong> escenario principal y realizar una lluvia <strong>de</strong> i<strong>de</strong>as <strong>de</strong> todas las<br />

fallas que pue<strong>de</strong>n ocurrir en cada una <strong>de</strong> las activida<strong>de</strong>s. En primera<br />

instancia <strong>de</strong>berán i<strong>de</strong>ntificarse las fallas sin enfocarse en <strong>el</strong> cómo <strong>de</strong>berán<br />

manejarse estos eventos por <strong>el</strong> sistema<br />

I<strong>de</strong>ntificar los flujos alternos opcionales<br />

Manejo <strong>de</strong> errores<br />

Describir obligatoriamente la forma en que <strong>el</strong> sistema respon<strong>de</strong>rá a cada una<br />

<strong>de</strong> las <strong>condiciones</strong> <strong>de</strong> falla<br />

Actualizar los documentos<br />

<br />

Actualizar y completar <strong>el</strong> reporte <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong> con las pre y pos <strong>condiciones</strong>,<br />

requerimientos especiales y referencias a otros documentos<br />

Estándares <strong>para</strong> la escritura <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong><br />

Las siguientes secciones <strong>de</strong>finen la estandarización <strong>para</strong> la escritura <strong>de</strong> los <strong>casos</strong> <strong>de</strong><br />

<strong>uso</strong>.<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 12 <strong>de</strong> 16


Nombre <strong>de</strong> los Casos <strong>de</strong> Uso<br />

<br />

<br />

Describir todos los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> <strong>de</strong>s<strong>de</strong> la perspectiva d<strong>el</strong> actor y no d<strong>el</strong> sistema<br />

Describir todos los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> mediante un nombre representativo utilizando un<br />

verbo en infinitivo al inicio, <strong>el</strong> cual <strong>de</strong>berá estar acompañado obligatoriamente por<br />

<strong>el</strong> sustantivo al que <strong>el</strong> verbo califica. Ejem. Generar Cotización<br />

Nombre <strong>de</strong> archivos<br />

<br />

Describir los archivos generados <strong>para</strong> la documentación <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> bajo <strong>el</strong><br />

siguiente nomenclatura:<br />

CUMOD001 Nombre d<strong>el</strong> caso <strong>de</strong> <strong>uso</strong><br />

| | |---- Consecutivo numérico d<strong>el</strong> caso <strong>de</strong> <strong>uso</strong><br />

| |---- Módulo d<strong>el</strong> sistema XXXX (ver estándares <strong>de</strong> módulos d<strong>el</strong> sistema)<br />

|---- I<strong>de</strong>ntificador d<strong>el</strong> artefacto Casos <strong>de</strong> Uso<br />

Descripción d<strong>el</strong> Flujo Básico<br />

Cada una <strong>de</strong> las activida<strong>de</strong>s d<strong>el</strong> flujo básico <strong>de</strong>be representar una interacción<br />

completa entre <strong>el</strong> usuario y <strong>el</strong> sistema<br />

El niv<strong>el</strong> <strong>de</strong> <strong>de</strong>talle <strong>de</strong>be ser suficiente <strong>para</strong> que <strong>el</strong> diseñador no tenga que realizar<br />

más investigaciones con <strong>el</strong> usuario, ese <strong>de</strong>talle no <strong>de</strong>be ir necesariamente incluido<br />

en la <strong>de</strong>scripción <strong>de</strong> las activida<strong>de</strong>s, sino que <strong>de</strong>be complementarse con <strong>el</strong><br />

documento <strong>de</strong> Reglas <strong>de</strong> Negocio, Diccionario <strong>de</strong> Datos y Glosario <strong>de</strong> Términos<br />

(<strong>de</strong>ben estar muy bien <strong>de</strong>scritas las r<strong>el</strong>aciones con los otros documentos)<br />

o El sistema valida que <strong>el</strong> cliente cubre los requisitos <strong>para</strong> otorgarle <strong>el</strong> crédito<br />

(ver Reglas Negocio, BR010. Otorgamiento <strong>de</strong> Crédito)<br />

o Si <strong>el</strong> proyecto está utilizando RequisitePro, <strong>de</strong>be hacer la liga en las matrices<br />

El <strong>de</strong>scripción <strong>de</strong> los flujos <strong>de</strong>ntro d<strong>el</strong> caso <strong>de</strong> <strong>uso</strong> <strong>de</strong>be <strong>de</strong>scribirse en tiempo<br />

presente:<br />

o El sistema solicita los sig. datos d<strong>el</strong> cliente: Nombre, Dirección<br />

o El ven<strong>de</strong>dor captura los datos<br />

En las <strong>de</strong>scripciones d<strong>el</strong> flujo básico no <strong>de</strong>berán usarse términos técnicos como<br />

tabla, campo, subrutina, grid, pantalla, ya que este documento <strong>de</strong>be ser<br />

suficientemente claro tanto <strong>para</strong> usuarios <strong>de</strong> negocio como <strong>para</strong> <strong>el</strong> equipo <strong>de</strong><br />

<strong>de</strong>sarrollo.<br />

Referencias Flujos Alternos<br />

Cuando se haga referencia a algún flujo alterno, en la <strong>de</strong>scripción <strong>de</strong> las activida<strong>de</strong>s d<strong>el</strong><br />

flujo básico, <strong>de</strong>berá colocares <strong>de</strong> la siguiente forma según <strong>el</strong> caso:<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 13 <strong>de</strong> 16


Para hacer mención a los flujos alternos, se <strong>de</strong>berá utilizar un prefijo formado<br />

por dos caracteres que i<strong>de</strong>ntifica <strong>el</strong> tipo <strong>de</strong> flujo alterno y dos números que<br />

correspon<strong>de</strong>n a un consecutivo por tipo <strong>de</strong> flujo alterno.<br />

Los prefijos a utilizar <strong>de</strong> acuerdo al tipo <strong>de</strong> flujo alterno son los siguientes:<br />

o AO## Flujo alterno opcional<br />

o AG## Flujo alterno general<br />

o AE## Flujo alterno <strong>de</strong> excepción.<br />

Si es un flujo opcional se representa <strong>de</strong> la siguiente manera: Si Condición se<br />

ejecuta <strong>el</strong> flujo alterno “AO01”.<br />

Si es un flujo <strong>de</strong> excepción o general se representa solamente una referencia <strong>de</strong><br />

la siguiente forma: [AE01 ], [AG01], don<strong>de</strong> 01 es un numero consecutivo.<br />

Dichas referencias <strong>de</strong>ben tener una hiperliga a la <strong>de</strong>scripción d<strong>el</strong> flujo alterno.<br />

Uso <strong>de</strong> Diccionario y/o Glosario <strong>de</strong> Términos<br />

<br />

<br />

En <strong>el</strong> reporte d<strong>el</strong> caso <strong>de</strong> <strong>uso</strong> se PROHIBE escribir sentencias como: “ Se captura<br />

la información d<strong>el</strong> cliente “, “Se capturan los datos d<strong>el</strong> cliente”. Se <strong>de</strong>be documentar<br />

exactamente cuál es la información d<strong>el</strong> cliente que se requiere:<br />

o Ejem. Nombre, Dirección.<br />

Si se coloca solo la leyenda <strong>de</strong> campos d<strong>el</strong> cliente y dichos datos se encuentran en<br />

un diccionario <strong>de</strong> datos o en <strong>el</strong> glosario, <strong>de</strong>be existir una referencia al documento en<br />

cuestión.<br />

<strong>Pre</strong>-<strong>condiciones</strong> y Post-<strong>condiciones</strong><br />

<br />

<br />

Tanto las pre<strong>condiciones</strong> como las pos<strong>condiciones</strong> <strong>de</strong>ben ser expresadas también en<br />

términos <strong>de</strong> negocio y/o estados que <strong>de</strong>ben tener los objetos <strong>de</strong> negocio <strong>para</strong> que<br />

pueda iniciarse <strong>el</strong> caso <strong>de</strong> <strong>uso</strong> o que <strong>de</strong>ben existir al concluir la ejecución <strong>de</strong> este<br />

Solo se colocan las pre-<strong>condiciones</strong> y post-<strong>condiciones</strong> si son estrictamente<br />

necesarios <strong>para</strong> que <strong>el</strong> caso <strong>de</strong> <strong>uso</strong> inicie<br />

Referencias a otros documentos<br />

<br />

<br />

<br />

En esta sección <strong>de</strong>ben colocarse las referencias (preferentemente hiperligas) a los<br />

documentos que complementan la información d<strong>el</strong> caso <strong>de</strong> <strong>uso</strong>. Normalmente <strong>de</strong>be<br />

existir referencia al Glosario <strong>de</strong> Términos correspondiente, al documento <strong>de</strong> reglas<br />

<strong>de</strong> negocio, al diccionario <strong>de</strong> datos, a formatos <strong>de</strong> impresión, y a documentos que<br />

<strong>de</strong>tallen algoritmos<br />

No <strong>de</strong>berán incluirse pantallas, diagramas <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong> o diagramas <strong>de</strong><br />

comunicación en los reportes <strong>de</strong> <strong>casos</strong> <strong>de</strong> <strong>uso</strong>. Esto evitará la posible inconsistencia<br />

entre los que se usan en los Storyboards<br />

Las pantallas y diagramas <strong>de</strong> comunicación <strong>de</strong>ben <strong>de</strong> estar en <strong>el</strong> Storyboard d<strong>el</strong> flujo<br />

d<strong>el</strong> proyecto<br />

R<strong>el</strong>aciones entre <strong>casos</strong> <strong>de</strong> <strong>uso</strong><br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 14 <strong>de</strong> 16


Todos los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> <strong>de</strong>ben <strong>de</strong> tener r<strong>el</strong>ación al menos con un actor ( Los <strong>casos</strong><br />

<strong>de</strong> <strong>uso</strong> base).<br />

Si existen <strong>casos</strong> <strong>de</strong> <strong>uso</strong> <strong>de</strong> administración <strong>de</strong> catálogos, <strong>de</strong>be existir un caso <strong>de</strong> <strong>uso</strong><br />

<strong>para</strong> cada función administrativa <strong>de</strong> cada uno <strong>de</strong> <strong>el</strong>los (Altas, bajas, cambios,<br />

consultas, etc..)<br />

No son permitidas las r<strong>el</strong>aciones entre <strong>casos</strong> <strong>de</strong> <strong>uso</strong> a excepción <strong>de</strong>:<br />

o Inclu<strong>de</strong><br />

Siempre se van ha ejecutar cuando se ejecute <strong>el</strong> paso d<strong>el</strong> caso <strong>de</strong> <strong>uso</strong><br />

base en <strong>el</strong> que se hace referencia al caso <strong>de</strong> <strong>uso</strong> .<br />

Un inclu<strong>de</strong> pue<strong>de</strong> invocarse en <strong>el</strong> flujo principal o en un alterno opcional.<br />

No pue<strong>de</strong> ejecutarlo un actor<br />

No es un caso <strong>de</strong> <strong>uso</strong> completo (es parte <strong>de</strong> otro caso <strong>de</strong> <strong>uso</strong>)<br />

Es siempre invocado por <strong>el</strong> caso <strong>de</strong> <strong>uso</strong> base<br />

El caso <strong>de</strong> <strong>uso</strong> <strong>de</strong>be estar r<strong>el</strong>acionado al menos con 2<br />

<strong>casos</strong> <strong>de</strong> <strong>uso</strong>, si no es así no es un inclu<strong>de</strong> y los pasos <strong>de</strong>ben ser<br />

regresados al caso <strong>de</strong> <strong>uso</strong> base.<br />

o Extends<br />

<br />

<br />

<br />

Agrega funcionalidad al caso <strong>de</strong> <strong>uso</strong> base, pero no es <strong>de</strong>terminante <strong>para</strong><br />

que se ejecute (es potencialmente opcional).<br />

Cuándo un flujo alterno opcional es muy gran<strong>de</strong> y complejo se pue<strong>de</strong><br />

sacar como un caso <strong>de</strong> <strong>uso</strong> <br />

Es opcional (no siempre se ejecutan).<br />

o Generalization.<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 15 <strong>de</strong> 16


La estructura <strong>de</strong> los <strong>casos</strong> <strong>de</strong> <strong>uso</strong> hijos es la misma, solo la forma en la<br />

que se <strong>de</strong>ben ejecutar algunos <strong>de</strong> los pasos cambia <strong>de</strong> uno a otro.<br />

Se crea un padre que tenga <strong>el</strong> mismo outline <strong>de</strong> los dos hijos (todos<br />

iguales, tanto los hijos como <strong>el</strong> padre) y los pasos que son iguales<br />

conservan la <strong>de</strong>scripción en <strong>el</strong> padre, los pasos que son diferentes son<br />

<strong>de</strong>scritos en los hijos.<br />

La generalización se aplica mayormente a los actores.<br />

Guia Elaboracion Casos <strong>de</strong> Uso 01/06/2010 22:32:00 Página 16 <strong>de</strong> 16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!