Este documento presenta los conceptos básicos del modelado de requerimientos orientado a objetos, incluyendo los tipos de requerimientos, diagramas de casos de uso, elementos de los casos de uso como actores y casos, y las relaciones entre casos de uso. Explica cómo los casos de uso pueden usarse para modelar las necesidades del sistema desde la perspectiva del usuario.
16. Requerimientos del Software Son una descripción de las necesidades a las que debe responder el producto a desarrollar.
17. Requerimientos por Niveles Requerimientos de usuario (de alto nivel): Son declaraciones, en lenguaje natural y en diagramas de los servicios que se espera que el sistema proporcione y de las restricciones bajo las cuales debe funcionar. Ejm. El sistema controlará los datos requeridos por las agencias que licencian los derechos de autor en Europa y en otra parte.
18. Requerimientos del sistema: Establecen con detalle las funciones, servicios y restricciones operativas del sistema. Debe definir exactamente que es lo que se va a implementar. Ejm. Al hacer una petición de un documento del sistema se presentará un formulario que registre los detalles de usuario y de la petición hecha.
19. Requerimientos funcionales: Son declaraciones de los servicios que debe proporcionar el sistema, de tal manera que éste debe reaccionar a entradas particulares y de cómo se debe comportar en situaciones particulares. Ejm: El usuario deberá tener la posibilidad de buscar en el conjunto inicial de la base de datos o seleccionar un subconjunto de ella. El sistema deberá proporcionar visores adecuados para que el usuario lea documentos en el almacén de documentos.
20. Requerimientos no funcionales: Son restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre el proceso de desarrollo y estándares . Se aplican al sistema en su totalidad.
21. DIAGRAMA DE CASOS DE USOINTRODUCCIÓN Permite modelar el comportamiento de un sistema desde el punto de vista del usuario. • Determinan los requisitos funcionales del sistema – representan las funciones que un sistema puede ejecutar • Facilidad de interpretación – comunicación entre el ADS y el USR • Importante: – Reflejan lo esencial del sistema • Se pueden usar durante: – Captura de Requisitos – Especificación Funcional del Sistema – Planificación de iteraciones de desarrollo – Validación del sistema
22. Elementos Básicos: Actor Representa un conjunto coherente de roles que desempeñan los usuarios al interaccionar con el sistema. Pueden ser: personas, dispositivo u otros sistemas Iniciador: inicia un caso de uso Participante: involucrado en el caso de uso, pero no lo inicia Aunque se utilizan actores en los modelos, estos no forman parte del sistema. Son externos a él.
23. IDENTIFICACION DE ACTORES Las siguientes preguntas pueden ayudar a identificar a los actores de un sistema: ¿Quién o quienes están interesados en utilizar determinada funcionalidad? ¿Dónde será usado el sistema dentro de la organización? ¿Quién o quienes se beneficiarán con el uso del sistema? ¿Quién proporcionará, utilizará y eliminará información del sistema? ¿Quién brindará soporte y mantenimiento al sistema? ¿Usa el sistema recursos externos? ¿Cumple una persona varios roles diferentes dentro del sistema? ¿Cumple varias personas un mismo rol? ¿Actúa el sistema recíprocamente con algún sistema de índole legal o gubernamental?
24. Actores Por lo general los actores son identificados durante la declaración del problema y Durante las entrevistas con los clientes. El nombre del actor describe el papel desempeñado, no la persona física • Actores como clases: – Cuando se necesite almacenar información sobre el actor – Cuando se interactúe con un sistema externo actor Cliente generalización Cliente Corporativos Cliente Individuales
25. CASOS DE USO Especifica un requerimiento funcional del sistema. Un caso de uso es un documento que narra la secuencia de acciones necesarias para que un actor (agente externo) complete un proceso por medio de la utilización de un sistema. Especifica una secuencia de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable de valor para un actor particular.
26. Notación gráfica Se representan con un óvalo, el nombre debe estar expresado con un verbo, seguido por el principal objeto del sistema que es afectado por el caso. El nombre siempre debe estar expresado desde el punto de vista del actor y no del sistema
27.
28. Ejm. ID: CU2 Nombre: Realizar Retiro Actores: Cliente Tipo: Primario - Descripción Breve: Un Cliente llega al cajero automático, introduce la tarjeta, se identifica y solicita realizar una operación de retiro por una cantidad específica. El cajero le da el dinero solicitado tras comprobar que la operación puede realizarse. El cliente coge el dinero y la tarjeta y se va.
29. Encontrar los casos de uso Lluvia de ideas Revisión de documentos de requerimientos Basado en los actores Se identifican los actores relacionados con un sistema o empresa. En cada actor, se identifican los procesos que inician o en que participan Basado en eventos Se identifican los eventos externos a los que un sistema ha de responder Se relacionan los eventos con los actores.
30. PREGUNTAS PARA ENCONTRAR CASOS DE USO ¿Cuales son las tareas que realiza cada actor? ¿Cualquier actor creará, guardará, modificará, eliminará, o leerá la información en el sistema? ¿Qué casos de uso crearán, guardarán, modificarán, eliminarán o leerán esta información? ¿Cualquier actor informará los cambios súbitos externos que sufra el sistema? ¿Qué casos de uso brindarán soporte y mantenimiento al sistema? ¿Todos los requisitos funcionales pueden ser realizados por los casos de uso?
31. Casos de Uso y Escenarios Un caso de uso describe un conjunto de secuencias de interacciones o escenarios(INSTACIA DE CASOS DE USO): flujo principal y flujosalternativos o excepcionales Un escenario es una secuencia específica de acciones que ilustra un comportamiento
32. Ejemplo En un sistema de Recursos Humanos podría aparecer el caso de uso Contratar Empleado, esta función podría tener muchas variantes. Podría contratarse a una persona de otra empresa (el escenario más frecuente): podría transferirse una persona de un departamento a otro(algo muy frecuente en algunas compañías) o podría contratarse a un extranjero (lo que conlleva sus reglas específicas). ¿Existen varios escenarios si ó no?
33. Descripción de un caso de uso Se lo hace de acuerdo a una plantilla y además Describe el flujo de eventos: que es lo que el sistema debe hacer: Debe contener Cómo y cuando inicia un caso de uso Cómo y cuando termina un caso de uso Qué interacciones tiene el caso de uso con los actores Qué datos necesita el caso de uso La secuencia normal de eventos para el caso de uso La descripción de cualquier alternante o flujos excepcionales Debería en cualquier momento responder a ¿Qué pasa si …? Debe ser legible y comprensible para un usuario no experto.
34. Vista de Casos de Usos Los sustantivos en el caso de uso Ayudan a definir clases del sistemas y atributos, además atributos de clase. • Los verbos en el caso de uso Ayudan a determinar métodos de clase Las preposiciones en los casos de uso Ayudan a determinar relaciones entre clases El conjunto de todos los casos de uso: Ayudan a verificar el diseño, implementación del sistema. El sistema comprende los requerimientos del usuario? Provee un excelente medio de intercambio entre usuarios y personal técnico
45. SELECCIONARVERBOS QUE PUEDEN APLICARSE A LOS CASOS DE USO REALIZAR CAMBIAR TRANSFERIR SOLICITAR GENEREAR PROCESAR MANTENER SELECCIONAR AÑADIR IMPRIMIR MODIFICAR ELIMINAR CREAR
46. Notación y ejemplo de Casos de Uso actor caso de uso Procesar Préstamo ResponsablePrestamos Nombre asociación
47. Tipos de casos de uso Según el nivel de detalle De alto nivel: Describe un proceso muy brevemente y permite entender los principales procesos globales Expandido : Descripción detallada, la diferencia básica con el caso de uso de alto nivel consiste en que tiene una sección destinada al curso o flujo normal de eventos, que los describe paso por paso.
48. Según la importancia Primarios: Representan los procesos comunes más importantes. Secundarios: Representan procesos menores o raros. Opcionales: representan procesos que pueden no abordarse. Según el nivel de abstracción Esencial : ¿Qué hace el sistema? Concreto/ Real : Se contemplan detalles de implementación (GUI y tecnología) Esencial Real Muy abstracto muy concreto
49. Ejemplos de casos de uso CASO PRIMARIO DE USO: Comprar productos. CASO SECUNDARIOS DE USO: Solicitar incrementar un nuevo producto. CASOS ESENCIALES DE USO:Uncaso de Retiro en efectivo de un cajero automático, que se expresa en una forma relativamente esencial. ACCION DE LOS ACTORES RESPUESTA DEL SISTEMA 1. El cliente se identifica 2. Presenta las opciones 3. El cliente selecciona la opción 3.y así sucesivamente CASOS REALES DE USO. Describe concretamente el proceso a partir de su diseño concreto actual, sujeto a las tecnologías específicas de entrada y de salida, para el ejm. Anterior. ACCION DE LOS ACTORES RESPUESTA DEL SISTEMA 1. El cliente introduce su tarjeta 2.Pide el número de identificación Personal (clave) 3. Introduce la clave en una pantalla táctil. 4. Muestra el menú de opciones Y así sucesivamente. Nota:Si existe algunas excepciones en los cursos normales de eventos, se deberá escribir en una sección de alternativas, es decir como cursos alternativos.. Ejm. En el caso de Realizar transacción podría ser un curso alterno. – Se introduce clave inválido. Indique el error. –El cliente no pudo pagar. Cancele la transacción.
50. Organización de un Caso de Uso Pueden agruparse en paquetes. También pueden organizarse especificando relaciones de generalización, inclusión y extensión entre ellos
51. Relación de inclusión <<include>> La relación de inclusión se usa para evitar describir el mismo flujo de eventos repetidas veces, poniendo el comportamiento común en un caso de uso aparte (que será incluido por un caso de uso base). La relación de inclusión es básicamente un ejemplo de delegación. Ejemplo caso de uso “Hacer Pedido”: “Obtener y verificar el número de pedido. Include(Validar usuario). Examinar el estado de cada parte del pedido y preparar un informe para el usuario”. Hacer pedido <<Include>> Validar cliente
52. Asociación <<includes>> El caso de uso Base incluye en alguno de sus flujos el caso de uso Incluido El caso de uso incluido es un “fragmento” de flujo que no tiene sentido por si mismo Se incluye en múltiples sitios Es abstracto Base necesita del incluido (en algún flujo) <<includes>> Base Incluido
53. Relación de extensión Se utiliza una relación de tipo <<extend>> entre casos de uso cuando nos encontramos con un caso de uso similar a otro pero que hace algo más que éste (variante). Sirve para modelar la parte opcional del sistema un subflujo que sólo se ejecuta bajo ciertas condiciones varios flujos que se pueden insertar en un punto Ejemplo caso de uso “Hacer Pedido”: “ extend” (Hacer Pedido Urgente). Indica que un caso de uso soporta un comportamiento adicional al comportamiento base. Hacer pedido Hacer pedido urgente <<extend>> Base Extendido
54.
55. Diagrama De Casos De Uso Un diagrama de casos de uso explica gráficamente un conjunto de casos de uso de un sistema, los actores y la relación entre éstos y los casos de uso Los diagramas se emplean para visualizar el comportamiento de un sistema de forma que los usuarios puedan comprender como utilizar ese elemento y de forma que los desarrolladores puedan implementarlo. Un diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso).
56. Elementos del diagrama de casos de uso Actor Casos de Uso Relaciones de dependencia (include y extend), Herencia y Comunicación En general utilizaremos <<extends>> cuando se presenta una variación del comportamiento normal, e <<include>> cuando se repite un comportamiento en dos casos de uso y queremos evitar dicha repetición.
58. CASO DE ESTUDIO En el almacén “Don Diego” los clientes al comprarproductoscadadía se les dificultamásyaque al acercarse a pagar en un terminal de punto de venta, el cajeroregistra los productos, entrega el cambio y la factura de maneralenta y deficiente , estoestáafectando mucho porque los ingresos van bajando y el gerente no sabenrealmentecuales son lasgananciasmensuales. El gerenteesencargado de activar un TPDV parainiciarsusactividades, controlando la fecha y hora y asímismofinaliza la sesión de trabajo.
60. Requisitos a)Objetivo Este proyectotieneporobjetocrear un sistema de terminal para el punto de ventaque se utilizará en lasventas de un almacén. b)Metas La meta esunagranautomatización del pago en lascajasregistradoras, y darsoporte a serviciosmásrápidos, másbaratos y mejores. Concretamente, la meta incluye: · Pago rápido de los clientes. · Análisisrápido y exacto de lasventas. · Control automático del inventario.
61. Requisitos c) Funciones del sistema Las funciones del sistema son lo queéstedeberá de hacer. El sistemadeberáhacer <X> Las funcionespuedenclasificarse en lascategorías:
63. Requisitos Estas son algunas de lasfunciones del sistema de punto de venta: Ref. FunciónCategoría R1.1 Registra la venta en proceso (actual): los productoscomprados. evidente R1.2 Calcula el valor del impuesto a la venta actual evidente R1.3 Captura la informaciónsobre el objetocompradousando usandounacaptura manual del código de producto. evidente R1.4 Reduce lascantidades del inventariocuando se realizaunaventa. oculta R1.5 Se registranlasventasefectuadas. oculta R1.6 El cajerodebeintroducirunaidentificación y unacontraseñapara poderutilizar el sistema. evidente R1.7 Ofrece un mecanismo de almacenamientopersistente. oculta R1.8 Ofrecemecanismos de comunicación entre los procesos y entre los sistemas. oculta R1.9 Muestra la descripción y el precio del productoregistrado. evidente
64. ENCONTRAR CASOS DE USO POR LA IDENTIFICACION DE ACTORES Los clientes requieren registrar sus compras y pagar sus artículos Los vendedores necesitan cobrar los productos y dar cambio sin equivocarse Propietarios requieren conocer los ingresos y sus utilidades mensuales. Basados en las respuestas emitidas extraemos la siguiente matriz de actores.
65. IDENTIFICACION DE CASOS DE USO La colección de casos de uso de un sistema constituye todas las maneras en que un sistema puede ser utilizado Con la identificación de actores ahora podemos mencionar unas preguntas para identificar casos de uso. ¿ Cuales son las tareas que realiza cada actor? ¿Cualquier actor creará, guardará, modificará, eliminará, o leerá la información en el sistema? ¿Qué casos de uso crearán, guardarán, modificarán, eliminarán o leerán esta información? ¿Cualquier actor informará los cambios súbitos externos que sufra el sistema? ¿Qué casos de uso brindarán soporte y mantenimiento al sistema? ¿Todos los requisitos funcionales pueden ser realizados por los casos de uso?
66. De acuerdo al ejercicio debemos tomar en cuenta que el sistema debe soportar las siguientes necesidades: El actor cliente necesita comprar productos El actor cajero necesita usar el sistema para registrar los productos y datos adicionales de la venta y entregar el cambio. El actor gerente es el responsable de iniciar y cerrar el sistema De acuerdo a éstas necesidades podemos identificar los siguientes casos de uso: Registrar datos Comprar productos Entregar cambio Iniciar Venta Cerrar Venta
67. Descripción de un caso de uso Comprar productos Flujo Principal: Un cliente llega a la caja registradora con un conjunto de productos. El Cajero registra los artículos y se genera una factura. El cliente paga en efectivo y recoge los productos COMPRENDER CONTEXTO DEL SISTEMA 1. El cliente llega a la caja registradora con los productos. 2. El cajero registra el código de cada productos. 3. El sistema obtiene el precio de cada producto y añade la información a la transacción de venta. 4. Al acabar el cajero indica la finalización de la introducción de productos. 5. El sistema calcula el total de la compra y lo muestra.
68. Descripción de un caso de uso Comprar productos (en un terminal de punto de venta) 6. El Cajero le dice al cliente el total. 7. El cliente realiza el pago. 8. El cajero registra la cantidad de dinero recibida. 9. El sistema muestra la cantidad a retornar al cliente y genera un recibo. 10. El cajero deposita el dinero recibido y saca la cantidad a devolver que entrega al cliente junto a la factura de compra. 11. El sistema almacena la compra completada. 12. El cliente recoge los prodcuctos comprados.
69. Casos de uso: FORMATO DE ALTO NIVEL El formato para la descripción de los casos de uso es el siguiente: Identificación: Cu … Caso de uso: Nombre Actores: Lista de actores (agentes externos) Tipo: Primario, secundario u opcional. Esencial o real. Descripción: Descripción del caso de uso
70. Casos de uso: FORMATO DE ALTO NIVEL Ejemplo: el siguientecaso de uso describe el proceso de comprarproductos en unatienda, a través de un terminal de punto de venta. Identificación: CU2 Caso de uso: Comprarproductos Actores: Cliente(iniciador), cajero Tipo: Primario Descripción: Un Clientellega a unacaja con productosquedesea comprar. El Cajeroregistra los prodcutos y obtiene el pago. Al terminar la transacción, el Cliente se marcha con los productos. Es conveniente comenzar con los casos de uso de más alto nivel para lograr comprender mejor los principales procesos globales.
71. Casos de uso: FORMATO DE ALTO NIVEL Ejemplo: el siguientecaso de uso describe el proceso de Inicaroperaciones en un almacén, a través de un terminal de punto de venta. Identificación: ………….. Caso de uso: ……………………….. Actores: ………………………………. Tipo: ……………………………………….. Descripción: …………………………………………………………………...…
72. Casos de uso: FORMATO EXPANDIDO El formatopara la descripción de los casos de usoes el siguiente: Identificación: CU.. Caso de uso: Nombre Actores: Lista de actores (agentesexternos) Propósito: Intención del caso de uso Resumen: Repetición del caso de uso de alto nivel o algunasíntesis. Tipo: Primario, secundario u opcional. Esencial o real. Referencias cruzadas: Casos de usorelacionados y funcionesrelacionadas del sistema. Condiciones Previas: Casos de Usoquetienenquehabersedesarrollado antes Post-condiciones: Que pasó después de haberse ejecutado el caso de uso. Continúa
73. Flujo Normal de Eventos Acción de los Actores Respuesta del sistema Sección:…(subflujo…..) Flujo alternativos / excepcionales Existen otros formatos