Análisis y Negociación de Requisitos 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 11/11/2013 Análisis y Negociación de Requisitos 6. Unified Modeling Language Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos © Diseño de Amador Durán Toro, 2011 Universidad de Sevilla noviembre 2013 Análisis y Negociación de Requisitos • Objetivos del tema – Conocer los objetivos, productos y procesos del 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language análisis de requisitos. – Conocer los conceptos básicos del modelado de sistemas software. – Conocer los conceptos básicos de la gestión de problemas y negociación de requisitos. noviembre 2013 IR Ingeniería de Requisitos 1 © Diseño de Amador Durán Toro, 2011 – Conocer los elementos comunes de UML. 1 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Objetivos del análisis de requisitos – Detectar problemas en los 1. Objetivos del análisis requisitos al comienzo del 2. Situación en el proceso proyecto, evitando que 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language € aparezcan después, cuando tiempo es mucho más caro resolverlos. – La forma más habitual de análisis es la construcción de un modelo de un sistema software que cumpla los requisitos de producto, es decir, Ingeniería de Requisitos noviembre 2013 2 © Diseño de Amador Durán Toro, 2011 del sistema a desarrollar. Análisis y Negociación de Requisitos • Situación en el proceso de IR 1. Objetivos del análisis 3. Tareas del análisis Requisitos [versionados] Elicitación de Requisitos 4. Modelo de un sistema software Conflictos [resueltos] 5. Gestión de problemas Negociación de Requisitos 6. Unified Modeling Language Información Documentación de Requisitos elicitada Gestión de Requisitos Conflictos [pendientes] Requisitos [borrador] Análisis de Requisitos Verificación de Requisitos Requisitos [validados] Validación de Requisitos Defectos Requisitos [analizados] noviembre 2013 IR Ingeniería de Requisitos Requisitos [verificados] 3 © Diseño de Amador Durán Toro, 2011 2. Situación en el proceso 2 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Tareas del análisis de requisitos – Construir un modelo a partir de los objetivos y 1. Objetivos del análisis requisitos documentados, teniendo en cuenta 2. Situación en el proceso también el modelo del negocio, el glosario de 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language términos, etc. – Registrar los problemas identificados durante la construcción del modelo para su posterior resolución. – Cada vez es más frecuente durante el análisis proponer una primera arquitectura del sistema teniendo en cuenta los requisitos Ingeniería de Requisitos noviembre 2013 4 © Diseño de Amador Durán Toro, 2011 no funcionales. Análisis y Negociación de Requisitos • Modelo de un sistema software • El sistema ofrece servicios a los actores. 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis • El estado del sistema son los objetos y sus enlaces. 4. Modelo de un sistema software 6. Unified Modeling Language e3 Actor1 o1 e1 e2 o2 e4 o7 e9 o4 Actor2 noviembre 2013 IR e5 e6 e7 o3 Actor4 o6 o5 e8 Actor3 Ingeniería de Requisitos 5 © Diseño de Amador Durán Toro, 2011 5. Gestión de problemas 3 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Modelo de un sistema software • Los servicios de actualización provocan 1. Objetivos del análisis 2. Situación en el proceso cambios en el estado del sistema. 3. Tareas del análisis 4. Modelo de un sistema software 6. Unified Modeling Language e3 Actor1 o1 e5 o4 o2 Actor4 o6 e9 e1 e2 e4 o7 e6 e7 o3 o5 e8 Actor2 Actor3 Ingeniería de Requisitos noviembre 2013 6 © Diseño de Amador Durán Toro, 2011 5. Gestión de problemas Análisis y Negociación de Requisitos • Modelo de un sistema software 1. Objetivos del análisis 2. Situación en el proceso • Los servicios de consulta no provocan cambios en el estado del sistema. 3. Tareas del análisis 4. Modelo de un sistema software 6. Unified Modeling Language e3 Actor1 o1 e1 e2 o2 e4 o7 e9 o4 Actor2 noviembre 2013 IR e5 e6 e7 o3 Actor4 o6 o5 e8 Actor3 Ingeniería de Requisitos 7 © Diseño de Amador Durán Toro, 2011 5. Gestión de problemas 4 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Modelo de un sistema software • Con respecto a las funciones de un sistema de 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language información… – Función de memoria: estado del entorno del sistema ≈ estado del sistema. – El estado del sistema se mantiene sincronizado con el entorno por los servicios de actualización. e4 o1 e2 o2 e5 o4 e7 Actor4 o6 e9 e1 e6 o3 o5 e8 Actor2 noviembre 2013 Actor3 Ingeniería de Requisitos 8 © Diseño de Amador Durán Toro, 2011 e3 o 7 Actor1 Análisis y Negociación de Requisitos • Modelo de un sistema software 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language • Con respecto a las funciones de un sistema de información… – Función informativa: la proporciona mediante los servicios de consulta. – Para que sea útil, el estado del sistema debe estar sincronizado con el estado del entorno.* o1 e1 e2 o2 * No necesariamente sincronizados al segundo, puede haber cierto desfase entre ambos y seguir siendo útil. noviembre 2013 IR Actor2 Ingeniería de Requisitos e4 e3 o 7 Actor1 o4 e7 o3 Actor4 o6 e9 e5 e6 o5 e8 Actor3 9 © Diseño de Amador Durán Toro, 2011 1. Objetivos del análisis 5 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Modelo de un sistema software • Con respecto a las funciones de un sistema de 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language información… – Función activa: la proporciona mediante la interacción con los usuarios y con otros sistemas (actores en general). – La interacción con otros sistemas se realiza invocando sus servicios. e4 o1 e1 e2 o2 o4 e7 o3 Actor4 o6 e9 e5 e6 o5 e8 Actor2 Actor3 Ingeniería de Requisitos noviembre 2013 10 © Diseño de Amador Durán Toro, 2011 e3 o 7 Actor1 Análisis y Negociación de Requisitos • Un modelo de un sistema software incluye… – Un modelo estático (modelo conceptual) 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language • Describe la estructura y las restricciones de la información que representa el estado del sistema. – Un modelo de conducta • Describe cómo interactúa el sistema con los actores y cómo evoluciona su estado al interactuar. Modelo estático = Modelo = Estructura + Restricciones + Modelo de conducta = noviembre 2013 IR Ingeniería de Requisitos Interacciones externas + Evolución interna 11 © Diseño de Amador Durán Toro, 2011 1. Objetivos del análisis 6 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Gestión de problemas en los requisitos – Los problemas pequeños como faltas de 1. Objetivos del análisis información o necesidades de aclaración se 2. Situación en el proceso pueden resolver consultando con el cliente de una 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas manera más o menos informal (p.e. una llamada de teléfono o un correo electrónico). Ingeniería de Requisitos noviembre 2013 12 © Diseño de Amador Durán Toro, 2011 6. Unified Modeling Language Análisis y Negociación de Requisitos • Gestión de problemas en los requisitos – En el caso de que se detecten conflictos que 1. Objetivos del análisis requieran soluciones no triviales, es necesaria la 2. Situación en el proceso Negociación de Requisitos. 4. Modelo de un sistema software 5. Gestión de problemas Requisitos [versionados] Elicitación de Requisitos 6. Unified Modeling Language Conflictos [resueltos] Información elicitada Documentación de Requisitos Gestión de Requisitos Negociación de Requisitos Conflictos [pendientes] Requisitos [borrador] Análisis de Requisitos Verificación de Requisitos Requisitos [validados] Validación de Requisitos Defectos Requisitos [analizados] noviembre 2013 IR Ingeniería de Requisitos Requisitos [verificados] 13 © Diseño de Amador Durán Toro, 2011 3. Tareas del análisis 7 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Proceso de negociación de requisitos – El proceso habitual suele ser: 1. Objetivos del análisis 1. Registrar el conflicto (normalmente con una 2. Situación en el proceso herramienta). 3. Tareas del análisis 2. Identificar los requisitos afectados. 4. Modelo de un sistema software 3. Analizar el impacto del conflicto (analizando la trazabilidad de los requisitos). 5. Gestión de problemas 6. Unified Modeling Language 4. Identificar las fuentes (participantes) relevantes. 5. Convocar y realizar la reunión de negociación. Ingeniería de Requisitos noviembre 2013 14 © Diseño de Amador Durán Toro, 2011 6. Asimilar la solución del conflicto. Análisis y Negociación de Requisitos • Unified Modeling Language (UML) – Estándar de la OMG (Object Management Group) para el modelado de sistemas software. 1. Objetivos del análisis 2. Situación en el proceso 4. Modelo de un sistema software 5. Gestión de problemas 2005 UML 2.0 6. Unified Modeling Language UML 1.0 Ene 1997 Ago 2007 Nov 2007 Feb 2009 May 2010 Mar 2010 Ago 2011 UML 2.1.1 UML 2.1.2 UML 2.2 UML 2.3 UML 2.4 UML 2.4.1 Sep 1997 Jun 1998 Mar 2000 Sep 2001 Mar 2003 UML 1.1 UML 1.2 UML 1.3 UML 1.4 UML 1.5 Jun 1996 UML 0.9 Oct 1995 Unified Method 0.8 Booch'93 Booch'91 noviembre 2013 IR Otros métodos OOSE OMT-2 OMT-1 Ingeniería de Requisitos 15 © Diseño de Amador Durán Toro, 2011 3. Tareas del análisis 8 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Unified Modeling Language (UML) – Es ampliamente usando en la industria del 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language software y existen muchas herramientas. – Define hasta 14 tipos de diagramas para modelar sistemas software (versión 2.4.1, agosto 2011) – Nosotros usaremos… • Diagrama de casos de uso • Diagrama de clases • Diagramas de objetos • Diagrama de estados Ingeniería de Requisitos noviembre 2013 16 © Diseño de Amador Durán Toro, 2011 • Diagrama de secuencia Análisis y Negociación de Requisitos • Organización de modelos en UML – En UML los modelos se organizan en paquetes, 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language que pueden incluir otros paquetes. – Los paquetes deben agrupan elementos cercanos semánticamente y que suelen cambiar juntos. – Existen algunos paquetes especiales • «system»: corresponde al sistema que se modela. • «subsystem»: representa una parte del sistema que se modela. Permite diferenciar subsistemas en el Nombre noviembre 2013 IR <<subsystem>> <<system>> Nombre Nombre Ingeniería de Requisitos 17 © Diseño de Amador Durán Toro, 2011 sistema. 9 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Elementos comunes de UML – Notas 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language • Se representan mediante rectángulos con la esquina doblada y se pueden asociar a cualquier símbolo. • Pueden contener comentarios (cualquier combinación de texto y gráficos) o restricciones. – Comentarios • Se presentan dentro de notas que deben asociarse Este actor representa a cualquier alumno, incluidos los de doctorado. Alumno Ingeniería de Requisitos noviembre 2013 18 © Diseño de Amador Durán Toro, 2011 al elemento al que se refiere el comentario. Análisis y Negociación de Requisitos • Elementos comunes de UML – Restricciones 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language • Representan condiciones que deben cumplir los elementos a los que se le asocia. Se representan mediante texto entre llaves y pueden aparecer dentro de los elementos o dentro de notas. c l ass Ej em pl o de rest ri c c i ón F ac t ura L í neaD eF ac t ura 1..* cantidad {ordered} precio número {único} fechaEmisión * * em i t i daA 1 Cl i ent e noviembre 2013 IR {f ac t uras si n dupl i c ados: un mismo producto no debe aparecer dos veces en la misma factura.} Ingeniería de Requisitos c ont i ene 1 Produc t o 19 © Diseño de Amador Durán Toro, 2011 1. Objetivos del análisis 10 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Elementos comunes de UML – Estereotipos 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language • Permiten ampliar UML al definir nuevos elementos de modelado a partir de otros ya existentes, pudiendo tener sus propios valores etiquetados, sus propias restricciones y su propio icono. • Se pueden representar mediante el nombre entre comillas francesas («») o mediante un icono. «tablaBD» Alumnos noviembre 2013 Alumnos «tablaBD» Alumnos Alumnos Ingeniería de Requisitos 20 © Diseño de Amador Durán Toro, 2011 1. Objetivos del análisis Análisis y Negociación de Requisitos • Elementos comunes de UML – Valores etiquetados (tagged values) 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis • Son parejas {etiqueta=valor} que permiten añadir información a un elemento. Si no es ambiguo, se puede especificar sólo el valor. 4. Modelo de un sistema software 6. Unified Modeling Language noviembre 2013 IR RetiradaEfectivo {estado=borrador, fechaRevisión=15/10/2004} importe : Moneda {importe debe ser múltiplo de 10€} Ingeniería de Requisitos 21 © Diseño de Amador Durán Toro, 2011 5. Gestión de problemas 11 Análisis y Negociación de Requisitos 11/11/2013 Análisis y Negociación de Requisitos • Bibliografía – C. Larman, UML y Patrones. 1. Objetivos del análisis 2. Situación en el proceso 3. Tareas del análisis 4. Modelo de un sistema software 5. Gestión de problemas 6. Unified Modeling Language Ed. Prentice-Hall, 1999. • Capítulos 9 al 12 – C. Larman, UML y Patrones (2ª edición). Ed. Prentice-Hall, 2003. • Capítulos 10 al 12 – M. Fowler, UML Distilled (3rd edition). Ed. Addison-Wesley, 2004. noviembre 2013 IR Ingeniería de Requisitos 22 © Diseño de Amador Durán Toro, 2011 • Capítulo 3 12