Vous êtes sur la page 1sur 3

Por Luis Antonio Salazar Caraballo Lectura # 1 Casos de Uso: De Vuelta a lo Fundamental Volvamos a lo bsico: un caso de uso es un conjunto

de secuencias de actividades ejecutadas, normalmente por la interaccin entre un ser Humano y una mquina. Las actividades son iniciadas por una entidad externa llamada Actor y las actividades terminan con un resultado de valor observable para ese Actor. Desde otra perspectiva, la del usuario que usa el sistema, un caso de uso es una pieza de funcionalidad de software, casi siempre, una pieza indivisible, que tiene: Uno o ms datos de entrada, el estmulo Uno o ms datos de salida, la respuesta Un nmero finito de pasos o tareas, el proceso E pnp,a u d e s a s i p r r l r u n l n rci c a n e s p o bn o ei s s d so ii o d o o s e da a ae a o z li p e, la simplicidad z a l p y p Un comienzo, la orientacin Un fin, el xito. Alguien recuerda a qu se parece esa definicin? Un caso de uso es el primer peldao en la conversin de las necesidades de los usuarios a un sistema automatizado. Es el primero, el cimiento: para llegar al cielo todava se requieren muchos otros elementos (lase anlisis, arquitectura, de , pm n cn) i i l e a s o m e ti Un caso de uso es el componente primario del modelo dinmico de un sistema, ese que hace e intenta responder la pregunta: qu hace el software? Ese que juzga (analiza) el sistema por sus acciones. S, ese del que se dice es una representacin abstracta de lo que hace el software, el que define el comportamiento del sistema. Ao bn h ia e e n a d u s e re n l ra actor h a i, at l n u c o e s e si e efm t el r e b m t u s o c b o o h e, s eaa u dlou g u e e ,n s c od a e i m h en i g n un n s n e eea ,e c ls t c , o i, a c a t s un sistema de software. Con esto en mente, resolvamos varias preguntas que siempre llegan a mi buzn: C a s u cso a e n n d s u csd c o e s Una, u t e e i fm n l o u o e e e i e a d u ? n s c na r c jt c na ls o d ,r u n e p u oc t ld s u csComo en casi todos o ts,n r e e ,o ae e e e i. s e m o q nb c na estos temas, no est escrita la ltima palabra. Depende del contexto, del proceso de negocio que implementa el caso de uso, del resultado esperado, de la cantidad y calidad de los datos de entrada, de la habilidad de los usuarios del caso d u ,e ss n i du bd ,e, la e s r . e s d l e e r e s ia d li d el a o o ca s o al d as i t a g

En breve, un caso de uso de una nica secuencia puede ser mucho ms complejo que un caso de uso de media docena de secuencias. El asunto es: el nmero de secuencias de pasos no es el nico capricho de un caso de uso. Entonces cuntas actividades tiene una secuencia? La respuesta es la misma: un nmero pequeo. Las prcticas contextuales nos dicen que siempre habr una s u c ga, q m s c r l rca l c ya b podrn e e i r ur l u o r, pnp, b i; t in c na e la e ue a iila sa m es c o u , o ts, e e i d m n o rna s u a s xt e , n d ,r s u cs e e r c r c, e n r , ir r i a s e c na o ue i c di a eventuales, cada una de ellas, quizs, con un nmero menor de pasos que la primera. Una secuencia es lo mismo que un escenario? Ah, este es un error muy comn que cometemos. Apenas es una feliz coincidencia que sean lo mismo; pero de una secuencia, principal o no, pueden surgir uno o ms escenarios. Definicin 1: U e e r eu m od ec i , una instancia, del caso n s n i snc ie ju ca o an e cn de uso con datos reales, donde el actor tiene un nombre, los datos tienen un valor especfico y donde ec a e e a u ru d q s p d r ft m n h ei v t y n e l o u e u ev st a e e e. Quienes alguna vez han diseado casos de prueba conocen bien esta diferencia. De hecho, un escenario puede (y habitualmente lo hace) ir a travs de varias secuencias, normalmente, la principal y una o ms secundarias. En sntesis, los escenarios son hilos cohesivos de comportamiento del caso de uso ocasionados por el estmulo que este recibe desde el exterior. Y esas actividades cmo se escriben? Cul es el alcance de las mismas? Se escriben en terminologa del usuario, sin detalles tcnicos; en trminos lingsticos, siempre deberan ser escritas como una expresin verbal simple, sin adornos, sin sinnimos, sin adjetivos, sin comentarios del autor: un caso de uso e it o e os uia o p aa aau s eo tm o m s soe a -al-v b i i r s a fs rln d l is r d n r qs m rre g o s rn usados por quienes nos movemos por los vericuetos insondables del tratamiento sistmico de la informacin. En eso se diferencia un caso de uso de un guin de teatro, por ejemplo. Este ltimo es rico en emociones, en observaciones, en detalles analgicos y puntos de vista subjetivos tanto del autor como de los personajes que intervienen. Y qu hay del nivel de granularidad? Aqu entramos en el dilema del CRUD1 o no CRUD, esa es la cuestin. Por agilidad deberamos escribir casos de uso esenciales, no descompuestos funcionalmente, es decir, casos de uso que no e r e e ile e l d l p t ao e fm l o d l b o s ne n l v d d a e n l tn ne te a a a d rur ,e s o n y l l lo a i o te cuadros de texto. Un caso de uso esencial deja un margen de maniobra al Analista, al Programador, al Arquitecto y an al Probador. Los detalles de usabilidad, colorido y presentacin bien podran ser consignados en documentos auxiliares, en estndares en los cuales basar su implementacin. Escribir casos de uso CRUD y similares aumenta innecesariamente el nmero de casos de uso, el tiempo de especificacin, el tiempo de revisin, el tiempo de aprobacin. S, quizs disminuya el tiempo de programacin, pero este es cada vez ms reducido a la luz de las poderosas herramientas con las que contamos hoy para escribir cdigo fuente.

CRUD: Create Read Update Delete (Crear, Leer, Actualizar, Eliminar). Operaciones fundamentales de los sistemas de informacin.

Definicin 2: un caso de uso esencial se caracteriza porque: la funcionalidad CRUD es una porcin del caso de uso, el actor que lo inicia est bien generalizado, su secuencia bsica completa una interaccin mayor con el sistema, no est asociado con componentes arquitectnicos o del sistema, es completamente independiente de la implementacin de la Interfaz de Usuario, contiene un nmero mayor de secuencias alternas (hummm, esto podra representar algn tipo de inconveniente a la hora de cualificar la legibilidad del caso de uso), representa muchos ejemplos concretos de interaccin, es decir, deriva en muchos escenarios, es bastante til para pruebas del sistema y de funcionalidad. Finalmente, un caso de uso esencial forma parte de un modelo de casos de uso cuyo nmero de extensiones e inclusiones es menor al 20% de todo el modelo. Definicin 3: un caso de uso descompuesto funcionalmente es aquel que aborda un solo elemento CRUD a la vez, est vinculado a usuarios concretos especficos, no a actores abstractos, su flujo bsico no completa una interaccin mayor con el sistema, en cambio, describe funciones primarias del mismo, est completamente ligado a un componente del sistema o a un componente arquitectnico especfico, est vinculado a una pantalla o funcin de usuario determinada y contiene instrucciones concretas de diseo de IU, incluye de cero a dos flujos secundarios frecuentemente relacionados con datos, Los escenarios derivados casi siempre deben invocar varios casos de uso para completar un ejemplo integral y es til para pruebas unitarias. Para terminar, en un modelo de casos de uso descompuestos funcionalmente ms de la mitad de los casos de uso son inclusiones o extensiones. Una prctica contextual beneficiosa es sacrificar el modelo de los casos de uso descompuestos funcionalmente en aras de un diseo arquitectnico robusto y estable, de un modelo esttico consistente y resistente y de una especificacin ms limpia y clara para quien, en ltimas, revisa y aprueba cada caso de uso: el usuario. Ejemplo # 1: el sd u l u o c o es H a n a o oM d Este es un caso de uso simple: 1. El caso de uso inicia cuando el Actor ejecuta la aplicacin Hola Mundo 2. E i m m ere e a l u o ls a u t l n j H a n . st e sa m se o M d 3. El caso de uso termina Ya tendremos la oportunidad de entrar en detalles acerca de como se escribe un caso de uso. Lo que viene: bueno, habr ms de estas lecturas fundamentales. De dnde surgen los casos de uso? Y qu hay de los actores? Cundo un caso de uso est terminado? Hay vida ms all de los casos de uso? Estas y otras cuestiones nos aguardan en el universo binario de la tcnica y la ciencia informtica. Lectura Fundamental Siguiente: s d U : r nE eficacin y C o e s Og ,s c as o i e pi E li vu ocn Hasta entonces.

Vous aimerez peut-être aussi