Clase 11 uml_casos_de_uso

1,352 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,352
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
91
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Clase 11 uml_casos_de_uso

  1. 1. 1UMLCasos de Uso(UML ilustrado)Universidad de los AndesDemián GutierrezNoviembre 2012
  2. 2. 2Casos de Uso(¿Qué es un caso de uso?)¿Caso de Uso?
  3. 3. 3Casos de Uso(¿Qué es un caso de uso?)Es una descripción de un proceso fin-a-fin,relativamente largo, que incluye varias etapas otransaccionesUn caso de uso es un conjunto de escenarios quetienen una meta de usuario en común*Es una manera específica de utilizar el sistema, unahistoria que describe un uso particular del sistemaEs la “imagen” de una funcionalidad del sistema,desencadenada en respuesta al estímulo de unactor o rol externo*Martin Fowler
  4. 4. 4Casos de Uso(¿Qué es un caso de uso?)¿Escenario?
  5. 5. 5Casos de Uso(¿Qué es un Escenario?)Es una secuencia específica de acciones einteracciones (pasos) entre los usuarios (actores) yel sistema, por ejemplo:¿Escenario?1) El usuario introduce su nombre de usuario y su contraseña.2) El sistema verifica la validez del nombre de usuario y de lacontraseña y permite al usuario el acceso al sistema.3) El sistema muestra la pantalla principal del sistema.4) El usuario selecciona la opción de añadir nuevo empleado.5) El sistema muestra...”
  6. 6. 6Casos de Uso(¿Qué es un Actor?)Un actor representa el rol jugado por una personao cosa que interactúa con el sistema.¿Actor?“Cliente, Administrador, Usuario no Registrado (Autenticado),Usuario Registrado (Autenticado), Jefe de Compras, Jefe dePersonal, Moderador, Jefe de Departamento, Obrero dePlanta, Supervisor...”¿Actor o Rol?Sería mejor usar la palabra rol, pero algunos piensanque “Actor” fue usado debido a una mala traduccióndel Sueco
  7. 7. 7Casos de Uso(¿Qué es un caso de uso?)Cuidado:No todos losinteresados en elsistema (stakeholders)son actores, sólo sonactores aquellos queutilizarán el sistema
  8. 8. 8Casos de Uso(Algunas Características)Describen bajo la forma de acciones y reaccionesel comportamiento de un sistema desde el punto devista de un usuarioPermiten definir los límites del sistema y lasrelaciones entre el sistema y su entorno(MUY IMPORTANTE)Se puede/debe considerar que hasta cierto punto,cada caso de uso es independiente de los demás
  9. 9. 9Casos de Uso(Algunas Características)Un caso de uso NO es un diagrama, NO es unsímbolo dentro de un diagrama......es una forma de describir un escenario deinteracción usuario sistema......los diagramas vienen después (o antes) y son unaforma de tener una visión general de los casos deuso, sus relaciones con los actores y con otros casosde uso
  10. 10. 10Descripción Textual de los Actores(¿Quiénes interactúan con el sistema?)Nombre: <nombre del actor>Descripción:<descripción del actor>Nombre: Usuario no AutenticadoDescripción:Representa a un usuario que no se a identificado frenteal sistema. Generalmente estos usuarios deberíanpoder registrarse (crear un nuevo usuario) o ingresar alsistema para transformarse en usuarios autenticados,en moderadores o en administradores del sistema...
  11. 11. 11Descripción Textual de un CU(¿Qué debe hacer el sistema?)Nombre: <nombre del caso de uso>Autor: <nombre del autor (o autores) del caso de uso>Fecha: <fecha de creación del caso de uso>Descripción:Actores:<actores participantes en el caso de uso><condiciones que deben cumplirse para poder ejecutar el caso de uso>Flujo Normal:<flujo/escenario normal (feliz) de ejecución del caso de uso>Flujo Alternativo:<flujos/escenarios alternativos de ejecución del caso de uso><breve descripción del caso de uso>Precondiciones:Poscondiciones:<condiciones que deben cumplirse al finalizar la ejecución del caso deuso>Planillas de Casos de Uso (Generales)
  12. 12. 12Descripción Textual de un CU(¿Qué debe hacer el sistema?)Nombre: Crear nuevo mensajeAutor: Pedro PérezFecha: 04/21/09Descripción:Permite crear un nuevo mensaje (hilo) en el foro de discusión.Actores:Usuario / ModeradorEl usuario debe de estar autenticado en el sistema.Precondiciones:continúa...
  13. 13. 13Descripción Textual de un CU(¿Qué debe hacer el sistema?)Flujo Normal:Flujo Alternativo:El mensaje ha sido almacenado en el sistema y fue publicado.1.- El actor pulsa sobre el botón para crear un nuevo mensaje.2.- El sistema muestra una caja de texto para introducir el título delmensaje y una zona de mayor tamaño para introducir el cuerpo delmensaje.3.- El actor introduce el título del mensaje y el cuerpo del mismo.4.- El sistema comprueba la validez de los datos y los almacena.5.- El moderador recibe una notificación de que hay un nuevo mensaje.6.- El moderador acepta y el sistema publica el mensaje si éste fueaceptado por el moderador.4.A.- El sistema comprueba la validez de los datos, si los datos no soncorrectos, se avisa al actor de ello permitiéndole que los corrija.6.B.- El moderador rechaza el mensaje, de modo que no es publicadosino devuelto al usuario.Poscondiciones:...continuación Esto en algunoscasos se modela condiagramas desecuencia o condiagramas deactividades
  14. 14. 14Descripción Textual de un CU(¿Qué debe hacer el sistema?)Existen muchas variaciones sobre comodescribir un caso de usoUML no define ningún estándar al respectoSeleccione o diseñe las plantillas (una o más) queconsidere adecuadas para sus necesidadesConozca bien las plantilla que va a utilizar, sepa paraque sirve cada campo, argumente sobre su utilidad ysea coherente a lo largo de todas las plantillas
  15. 15. 15Descripción Textual de un CU(¿Qué debe hacer el sistema?)Por ejemplo, en la plantilla anterior sería bueno añadir uncampo prioridad, un campo código, quizá campos paramanejar el control de cambios, etcNombre: Crear mensaje foro Código: CU-001Autor: Pedro PérezFecha: 04/21/09Prioridad: 5Descripción:Permite crear un nuevo mensaje (hilo) en el foro de discusión.Actores:Usuario / ModeradorEl usuario debe de estar autenticado en el sistema.Precondiciones:
  16. 16. 16Modelo de Casos de Uso¿Cómo sedesarrolla unmodelo deCasos de Uso?
  17. 17. 17Diagrama de Casos de Usos(¿Cómo?)Antes de hacer un caso de uso es necesario tratar deentender los requerimientos del sistema.Trate de expresar lo que el sistema debe hacer:¿Cuales son las tareasdel/los actores involucrados?En base a esto, trate de responder las preguntas:...el sistema debe permitir a los usuarios registrarse.El administrador debe poder validar las peticiones de registro antesde que los usuarios puedan publicar nuevos mensajes...¿Que datos debe el actorcrear, guardar, modificar,destruir, leer?¿Debe el actor informar alsistema de cambios externosocurridos?¿Debe el el sistema informaral actor de cambios internos?
  18. 18. 18Modelo de Casos de UsoDiagramas deCasos de Uso
  19. 19. 19Diagrama de Casos de UsosCaso de UsoActorGeneralización /Especializaciónde ActoresLímites delSistemaColaboraciónentre casosde usoAsociaciónCaso deUso / ActorRecordar Etiquetas
  20. 20. 20Diagrama de Casos de UsosUsado paracompartircomportamientocomún entre varioscasos de usoUsado paramodelar porseparado elcomportamientoexcepcional (oadicional) delcaso de uso baseUsado paramodelarrelaciones deGeneralización /Especializaciónentre casos deuso<<algo>>(estereotipo)
  21. 21. 21Haciendo un paréntesis...(Estereotipos)CRUD es un acrónimoque viene de “Create,Read, Update, Delete”Ojo: Esto es sóloun ejemplo de unposible estereotipo,no se lo tomenliteral...planillas decasos de uso(CLEDA)
  22. 22. 22Haciendo un paréntesis...(Estereotipos)En este caso los estereotipos se utilizan para diferenciar los distintos tiposde actores (<<client>>, <<internal>>, <<system>>). Algunas personasreemplazan el “monigote” por iconos personalizados (Ej. Unacomputadora, monigotes de distintos colores, etcétera)Los estereotipos se pueden utilizaren casi todos los elementosdisponibles de UML, de maneraque se puede extender yenriquecer el lenguaje con su uso
  23. 23. 23Haciendo un paréntesis...(Estereotipos)Se pueden utilizar imágenes pararepresentar cierto tipo especial deactores
  24. 24. 24Diagrama de Casos de Usos(Include / Extends / Especialización)Múltiples casos de uso “reutilizan” otros casosde uso. De esta forma no es necesario describirvarias veces el mismo caso de uso incluidoAlgunas personas utilizan lainclusión para expresar queel caso de uso asociado debede invocarse de manera“obligatoria”
  25. 25. 25Diagrama de Casos de Usos(Include / Extends / Especialización)Puntos de extensiónexplícitosPuntos de extensiónexplícitos
  26. 26. 26Diagrama de Casos de Usos(Include / Extends / Especialización)Una extensión puede estar asociadaa varios puntos de extensiónLas notas son unelemento común deUML, se puedenasociar a casi todoselementosdisponibles de UML
  27. 27. 27Diagrama de Casos de Usos(Include / Extends / Especialización)
  28. 28. 28Algunas Reglas de Estilo(Para los Diagramas de Casos de Uso)Cada actor y caso de uso debe tener un nombre únicoLos actores deben tener nombres y/o iconosrepresentativosEl nombre de un caso de uso debe indicar acción ydebe ser claro y concisoForma General:Verbo (Infinitivo) +PredicadoLos nombres de los actores deben representar rolesImprimirReporte deVentasAdministrador
  29. 29. 29Algunas Reglas de Estilo(Para los Diagramas de Casos de Uso)Mantener todos los casos de uso de un diagrama almismo nivel de abstracción¿Se puede hacer esto?¿Qué se puede decir del nivel de abstracción del caso de uso “Foro Web”?¿Cómo sería la descripción textual del caso de uso “Foro Web”?
  30. 30. 30Algunas Reglas de Estilo(Para los Diagramas de Casos de Uso)Evite modelar flujo de navegación¿Flujo de Navegación?¿Casos de Uso eInterfaz de Usuario?
  31. 31. 31Algunas Reglas de Estilo(Para los Diagramas de Casos de Uso)Esto no es un buen diagrama de Casos de Uso(Expresa Navegación / Flujo de Pantallas de la IU)
  32. 32. 32Algunas Reglas de Estilo(Para los Diagramas de Casos de Uso)Entrar alSistema(login)ListarBancosRegistrarInversiónConfirmarDatosImprimirPlantillaPantallaPrincipalCrearBancoEditarBancoEliminarBancolistarbancosregistrarinversióncancelarregresarregresarcancelarsiguienteeliminareditarcrearsiguienteAquí si puedeexpresarsecuencia(a diferencia deen los casos deuso)Grafo de Navegación
  33. 33. 33Algunas Reglas de Estilo(Para los Diagramas de Casos de Uso)Evite el cruce de líneas(En general, mantenga el diagrama ordenado)Evite tener demasiados casos de uso en el mismo diagrama(Regla 5 ± 2) (¡Esto es relativo!)Evite el uso complejo de relaciones de extensión,especialización e inclusión (No más de tres niveles)Evite utilizar un actor para representar el sistema que seestá modelando (pero si para representar sistemas externos)Evite representar la base de datos como un actor(aunque esto es relativo también)
  34. 34. 34Diagrama de Casos de UsosEjercicio
  35. 35. 35Ejemplo: ¿Qué esta terriblemente malen este diagrama?¿Qué errorespuedeencontrar enel diagrama?
  36. 36. 36Ejemplo: El Sistema AnteriorMucho Mejor Representado
  37. 37. 37Detalle del Flujo de Eventos(Listar Solicitudes Pendientes)Flujo Normal:1.- El actor selecciona la opción para listar las Solicitudes Pendientes.2.- El sistema presenta una lista de todas las Solicitudes Pendientes(tanto de Registro de Usuario como de Publicación de Mensaje) juntocon una opción para ver más detalles sobre una solicitud en particular.Flujo Alternativo:En caso de un Registro de Usuario:3A.- El usuario selecciona una solicitud.4A.- Si se trata de una solicitud de Registro de Usuario el sistema leenvía al caso de uso Procesar Solicitud de Registro (CU-06)En caso de una Publicación de Mensaje:3B.- El usuario selecciona una solicitud.4B.- Si se trata de una solicitud de Publicación de Mensaje el sistema leenvía al caso de uso Procesar Publicación de Mensaje (CU-07)
  38. 38. 38Ejemplo: Otra Representación
  39. 39. 39Detalle del Flujo de Eventos(Procesar Solicitud de Registro)Flujo Normal:1.- El actor selecciona la opción para procesar las solicitudes de Registrode Usuario.2.- El sistema invoca al caso de uso Listar Solicitudes Pendientes(CU-08), lo que permite al usuario seleccionar una solicitud para procesar.3.- El sistema presenta la información de la solicitud de Registro deUsuario.4.- El usuario decide si aprueba o rechaza la solicitud.5.- Una vez aceptada la solicitud el sistema registra al nuevo usuario yéste queda ya listo para acceder al foro.Flujo Alternativo:En caso de que la solicitud de Registro de Usuario sea Rechazada:5A.- El sistema notifica al correo correspondiente a la solicitud que ésta hasido rechazada.
  40. 40. 40Algunas Reglas de Estilo(Descripción Textual de Casos de Uso)Narrar el flujo de eventos usando la voz activa, en tiempopresente y desde la perspectiva del actor:Preferir la voz activa:“La clave es introducidapor el usuario”“El usuario introduce la clave”“El sistema valida la clave”Usar verbos en el flujo normal y en los flujos alternativos(se están describiendo acciones)Escribir de forma clara, exacta y concisa(está escribiendo un caso de uso, no una obra literaria)Evitar la voz pasiva:Usar de forma adecuada y consistente el vocabulario delcliente y del dominio de la aplicación
  41. 41. 41Algunas Reglas de Estilo(Descripción Textual de Casos de Uso)Expresar cada paso del flujo usando la formallamada/respuesta, reflejando el hecho de que el actor hacealgo y el sistema responde a la solicitud del actorUtilizar un esquema de numeración adecuado, tanto en elflujo normal, como en el flujo alternativo1) El usuario introduce su nombre de usuario y su contraseña.2) El sistema verifica la validez del nombre de usuario y de lacontraseña y permite al usuario el acceso al sistema.Encadenar de forma coherenteel flujo normal y el flujo alternativo:dejar claro donde termina uno, donde comienza el otro,por qué se produce el cambio, etc
  42. 42. 42Algunas Reglas de Estilo(Descripción Textual de Casos de Uso)Un caso de uso debe expresar un solo requisito funcional,no trate de expresar más de un requisito funcional en elmismo caso de uso.(Piense en el nivel de abstracción del caso de uso)Sin embargo, un caso de uso puede expresar más de unrequisito NO funcional (Esto está bien)Experimente, refine sus descripciones y cambiesu forma de escribirlas hasta que encuentre un estilocon el que se sienta cómodo(Recuerde actualizar los casos de uso que ya estén escritospara que sean consistentes con las nuevas reglas)Sea consistente en el estilo usado a lo largo detodos los casos de uso
  43. 43. 43Ejemplo:Una máquina expendedora de café (1)
  44. 44. 44Ejemplo:Una máquina expendedora de café (2)
  45. 45. 45Ejemplo:Una máquina expendedora de café (3)El cliente enfrenta distintosescenarios dependiendo delo que pretende comprar,pero en general, comprar unproducto es algo muygeneral con muchasacciones comunes
  46. 46. 46Ejemplo:Una máquina expendedora de café (4)Cada despacho tieneparticularidadesacordes con elproducto solicitadopor el cliente
  47. 47. 47Gracias¡Gracias!

×