72
Análisis e Ingeniería de Requisitos Tema 2 www.kybele.urjc.es Análisis e Ingeniería de Requisitos Tema 2: Introducción a la Ingeniería de Requisitos Curso 2012-2013

Análisis e Ingeniería de Requisitos - kybele.etsii.urjc.esAIR-2012-2013]Tema2.pdf · Análisis e Ingeniería de Requisitos – Tema 2 ... 4 . Análisis e ... de detalle requerido

  • Upload
    lamnhu

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Análisis e Ingeniería de Requisitos Tema 2: Introducción a la Ingeniería de Requisitos

Curso 2012-2013

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Bibliografía Básica

Ingeniería del Software: un enfoque práctico. Pressman, McGraw-Hill,

2002 5ª Ed.

Ingeniería del Software. Ian Sommerville,Addison Wesley, 2004ª Ed.

Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión. Piattini et al., RA-MA, 1996.

AIR - 2

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Índice de Transparencias

Introducción • Definiciones: conceptos fundamentales de la Ingeniería de

Requisitos.

• Requisitos: Características, niveles y tipos

Procesos de Desarrollo de Requisitos • Identificación de Requisitos

• Análisis de Requisitos

• Especificación de Requisitos

• Validación de Requisitos

AIR - 3

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Introducción: Definiciones

Requisito:

Los requisitos describen los servicios que debe proporcionar el sistema y sus restricciones operativas.

“Propiedad que debe ser exhibida por un software para resolver un problema particular” (SWEBOK).

AIR - 4

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Introducción: Definiciones

Ingeniería de Requisitos:

Es el proceso para descubrir, analizar, documentar y verificar los servicios que debe proporcionar el sistema y sus restricciones.

Especificación de Requisitos:

Es el documento que define, de forma completa, precisa y verificable, los requisitos del sistema.

AIR - 5

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Introducción: Definiciones

Proceso de Ingeniería de Requisitos:

Conjunto estructurado de actividades de cuya ejecución se obtiene, valida y mantiene el documento de requisitos del sistema

Gestión de Requisitos:

Actividad para gestionar los cambios en los requisitos de un sistema

AIR - 6

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

Los requisitos son una etapa clave en el ciclo de vida:

Su coste es alrededor de 10-15% del coste total del proyecto.

Un error en los requisitos puede ser hasta 100 veces más costoso que un error en el código. Una equivocación en la etapa de requisitos se arrastra en las demás

fases del ciclo de vida.

Los procesos/sistemas complejos implican miles de requisitos

Necesidad de gestión y soporte automatizado

AIR - 7

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

Los requisitos de un software suelen ser una combinación compleja de los requisitos de diferentes personas en diferentes niveles de una organización y del entorno en el cual operará el software.

Es fundamental que un requisito sea verificable, que tengan una prioridad, que esté identificado quien ha sido el que lo ha solicitado, etc.

Los requisitos deben ser lo más claros y no ambiguos que se pueda, y cuantificables (si es posible).

AIR - 8

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

Pueden haber problemas con los requisitos:

No reflejan las necesidades reales del cliente

Son inconsistentes y/o incompletos

Es costoso realizar cambios sobre los requisitos una vez que han sido acordados

Puede haber malentendidos entre clientes, analistas, ingenieros software, etc.

AIR - 9

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

AIR - 10

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

AIR - 11

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

Niveles de Requisitos Los requisitos se pueden definir a distintos niveles de abstracción

o detalle.

Un requisito puede ser una simple declaración abstracta de alto nivel o bien una definición detallada y formal de una función del sistema.

Es necesario hacer una separación entre niveles de descripción.

AIR - 12

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

AIR - 13

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

Requisitos del Usuario: descripciones, en lenguaje natural o diagramas, de lo que se espera que el sistema proporcione y las restricciones bajo las cuales debe funcionar.

Requisitos del Sistema: establecen con detalle las funciones, servicios y restricciones operativas del sistema.

Deben ser precisos.

Definir exactamente qué es lo que se va a implementar.

Puede ser parte del contrato entre el comprador y el desarrollador.

AIR - 14

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Requisitos

Lectores de los diferentes tipos de requisitos:

Requisitos de usuario: Administradores clientes

Usuarios finales del sistema

Ingenieros clientes

Administradores contratistas

Arquitectos del sistema

Requisitos del sistema (necesitan saber con más precisión qué hará el sistema): Usuarios finales del sistema

Ingenieros clientes

Arquitectos del sistema

Desarrolladores del software

AIR - 15

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Tipos de Requisitos

Requisitos del Usuario (descripción de alto nivel)

Requisitos del Sistema (descripción detallada)

Requisitos Funcionales

Requisitos No Funcionales: • Requisitos Del Producto

• Requisitos Organizacionales

• Requisitos Externos

Requisitos De Dominio

AIR - 16

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejemplo:

Requisitos de Usuario:

1. El sistema (LIBSYS) controlará todos los datos requeridos por las agencias que licencian los derechos de autor en el Reino Unido y en otra parte.

Requisitos del sistema:

1.1 Al hacer una petición de un documento del LIBSYS, el solicitante se presentará con un formulario que registre los detalles del usuario y la petición hecha.

1.2 El formulario de petición del LIBSYS será almacenado en el sistema durante cinco años desde la fecha de petición.

1.3 Todos los formularios de petición del LIBSYS se deben indexar por usuario, por el nombre del material solicitado y por el proveedor de la petición.

1.4 El LIBSYS mantendrá un fichero en el que se registrarán todas las peticiones que se han hecho al sistema.

1.5 Para el material donde se aplican los derechos de préstamo del autor, los detalles del préstamos serán enviados mensualmente a las agencias que licencian los derechos de autor que se han registrado en el LIBSYS.

AIR - 17

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos de usuario:

Los requisitos de usuario pueden responder a varios orígenes:

Dominio del problema (Requisitos de Dominio)

Intereses de la organización (Requisitos de Negocio u Organizacionales)

Necesidades de los usuarios finales del software.

AIR - 18

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos del sistema:

Requisitos Funcionales:

Son declaraciones de los servicios que debe proporcionar el sistema.

Especifica la manera en que éste debe reaccionar a determinadas entradas.

Especifica cómo debe comportarse el sistema en situaciones particulares.

Pueden declarar explícitamente lo que el sistema no debe hacer.

AIR - 19

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejemplo:

Requisitos Funcionales 1. El usuario deberá tener la posibilidad de buscar en el conjunto inicial de la

base de datos o seleccionar un subconjunto de ella.

2. El sistema deberá proporcionar visores adecuados para que el usuario lea documentos en el almacén de documentos.

3. A cada pedido se le deberá asignar un identificar único (ID_PEDIDO), que el usuario podrá copiar al área de almacenamiento

AIR - 20

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos del sistema:

Requisitos No Funcionales:

No se refieren a funciones específicas que proporciona el sistema.

Son restricciones de los servicios o funciones ofrecidas por el sistema (fiabilidad, tiempo de respuestas, capacidad de almacenamiento, etc.)

Generalmente se aplican al sistema en su totalidad.

Surgen de las necesidades del usuario debido a restricciones de presupuesto, políticas de la organización, necesidad de interoperatividad, etc.

AIR - 21

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos del sistema:

Requisitos No Funcionales:

A veces, no hay una distinción clara entre requisitos funcionales y no funcionales Expresar un requisito como funcional o no funcional depende del nivel

de detalle requerido en el documento de requisitos.

Ejemplo: “El sistema asegurará que los datos son protegidos de accesos no autorizados”

Generalmente sería considerado como un requisito no funcional porque el requisito no se refiere a una funcionalidad específica del sistema

“El sistema incluirá un procedimiento de autorización de usuario en el que los usuarios se identifican mediante un nombre de usuario y una contraseña. Sólo los usuarios autorizados pueden acceder a los datos del sistema”

El requisito especifica con más detalle una función que debe ser incorporada en el sistema - > Requisito Funcional

AIR - 22

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos No Funcionales:

Requisitos Del Producto: Especifican el comportamiento del producto. Ejemplos: rapidez de la ejecución, capacidad de memoria, fiabilidad, etc.

Requisitos Organizacionales: Derivan de políticas y procedimientos existentes en la organización del

cliente y del desarrollador. Ejemplos: Estándares de procesos, métodos de diseño, lenguajes de

programación, métodos de entrega, etc.

Requisitos Externos: Se derivan de factores externos al sistema y a su proceso de desarrollo. Ejemplos: Requisitos de interoperatividad, legislativos, éticos, etc.

AIR - 23

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejemplo:

Requisitos No Funcionales Requerimiento del producto:

8.1 La interfaz de usuario del LIBSYS se implementará como HTML simple sin marcos o aplets Java.

Requerimiento organizacional:

9.3.2 El proceso de desarrollo del sistema y los documentos a entregar deberán ajustarse al proceso y a los productos a entregar definidos en XYZCo-SP-STAN-95

Requerimiento externo:

10.6 El sistema no deberá revelar al personal de la biblioteca que lo utilice ninguna información personal de los usuarios del sistema aparte de su nombre y número de

referencia de biblioteca.

AIR - 24

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

AIR - 25

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos No Funcionales de Producto

Especifican Restricciones en la Ejecución del Sistema

Parte de estos requisitos se pueden formular de forma precisa, de forma que puedan ser fácilmente cuantificables:

Rendimiento

Capacidad

Otros son más difíciles de cuantificar y por lo tanto se expresan generalmente de modo informal

Usabilidad

AIR - 26

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejemplo:

Requisitos No Funcionales de Producto Fiabilidad:

“El servicio A del Sistema debe tener una disponibilidad de 99 %“

Rendimiento:

“El Sistema Y procesará un mínimo de 8 transacciones por segundo”

Espacio:

“El código ejecutable del Sistema Z estará limitado a 512 Kb”

Portabilidad:

“El Sistema se desarrollará para las plataformas PC y Macintosh”

Seguridad:

“El Sistema encriptará todas las comunicaciones externas usando el algoritmo RSA”

AIR - 27

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos No Funcionales Organizacionales

Son restricciones en el proceso de desarrollo del Sistema.

También llamados requisitos No Funcionales de Proceso. Estándares y Métodos de Desarrollo

Herramientas a usar

Producción de Informes

Ejemplos: • El proceso de desarrollo debe ser conforme con ISO 9003.

• El Sistema debe desarrollarse usando la Herramienta Visual Paradigm.

• Los informes de Gestión sobre el esfuerzo dedicado a cada componente se deben generar cada dos semanas.

AIR - 28

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos No Funcionales Externos

Están relacionados con el entorno.

Se pueden aplicar a Producto y Proceso

Ejemplos: • Sistema Médico:

“El responsable de la protección de datos de la organización debe certificar que todos los datos se mantienen de acuerdo a la legislación vigente”

• Sistema Protección de Trenes:

“El tiempo requerido para detener completamente el tren se basa en la siguiente ecuación de deceleración: γtren = γcontrol + γgradiente “

AIR - 29

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Los Requisitos No Funcionales son especialmente importantes en Sistemas Críticos

Es decir, aquellos cuyos fallos causan un daño significativo de tipo económico, físico o humano a las organizaciones o personas.

Ejemplos: Negocio: Sistema reserva aerolínea

Misión: Sistema de control de órbita de un satélite

Seguridad Física o Humana: Sistema de Control Central Nuclear

Sistema médico de control de radiación para tratamiento de Cáncer

Los principales RNF en estos sistemas son: Fiabilidad, Rendimiento, Seguridad, Usabilidad, Seguridad Física

AIR - 30

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Requisitos del sistema:

Requisitos de Dominio:

Provienen del dominio de aplicación del sistema.

Reflejan características y restricciones del dominio de la aplicación.

Pueden ser funcionales o no funcionales.

AIR - 31

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejemplo:

Requisitos de Dominio 1. Deberá existir una interfaz de usuario estándar para todas las bases de datos

que estará basada en el estándar Z39.50

2. Debido a las restricciones en los derechos de autor, algunos documentos deberán borrarse inmediatamente después de su llegada. Dependiendo de los requerimientos del usuario, estos documentos se imprimirán de forma local en el servidor del sistema para ser distribuidos de forma manual al usuario o se enviarán a la impresora.

AIR - 32

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejercicio 1:

Un sistema automático de expedición de billetes vende billetes de tren. Los usuarios seleccionan su destino e introducen una tarjeta de crédito y un número de identificación personal. El billete de tren se expide y se carga a su cuenta de la tarjeta de crédito. Cuando el usuario presiona el botón de inicio, se activa un menú que muestra los posibles destinos, junto con un mensaje para el usuario que le indica que seleccione el destino. Una vez que se ha seleccionado el destino, se pide a los usuarios que introduzcan su tarjeta de crédito. Se comprueba su validez y entonces se le pide introducir un identificador personal. Cuando la transacción de crédito se haya validado, se le expide el billete.

1. Redacte un conjunto de requisitos funcionales para el sistema expendedor de billetes.

2. Redacte un conjunto de requisitos no funcionales para el sistema expendedor de billetes. Indicando su tipo.

3. Redacte un conjunto de requisitos de dominio para el sistema expendedor de billetes.

AIR - 33

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de requisitos

Otras clasificaciones de requisitos:

De producto vs. De Proceso

De Producto:

Son los requisitos propiamente en el software a desarrollar. Ejemplo: El software verificará que un estudiante ha superado todos los

pre-requisitos antes de dejarle matricularse en una asignatura.

De Proceso

Esencialmente son restricciones sobre la manera en que se desarrolla el software.

Ejemplos: El software se escribirá en Ada, Se utilizará METRICA 3 como metodología.

AIR - 34

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejercicio 2:

1. Identificar los requisitos funcionales y especificar cada requisito con la siguiente estructura:

Requisitos Funcionales:

Requisito Funcional 1

Introducción

Entradas

Procesamiento

Salidas

Requisito Funcional 2

Requisito Funcional 3

AIR - 35

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Tipos de Requisitos

Ejercicio 3:

1. Identificar los requisitos funcionales y especificar cada requisito con la siguiente estructura:

Requisitos Funcionales:

Requisito Funcional 1

Introducción

Entradas

Procesamiento

Salidas

Requisito Funcional 2

Requisito Funcional 3

AIR - 36

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Índice de Transparencias

Introducción • Definiciones: conceptos fundamentales de la Ingeniería de

Requisitos.

• Requisitos: Características, niveles y tipos

Procesos de Desarrollo de Requisitos • Identificación de Requisitos

• Análisis de Requisitos

• Especificación de Requisitos

• Validación de Requisitos

AIR - 37

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Introducción: Definición de Ingeniería de Requisitos

¿Qué es la Ingeniería de Requisitos?

Es el proceso para descubrir, analizar, documentar y verificar los servicios que debe proporcionar el sistema y sus restricciones.

Se define un proceso.

Dicho proceso facilita la comprensión de lo que quiere el cliente, mediante la realización de ciertas actividades:

• Analizando sus necesidades

• Confirmando su viabilidad

• Negociando la solución

• Especificando la solución sin ambigüedad

• Validando y Gestionando requisitos para que el sistema pueda ser operativo.

AIR - 38

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Objetivo: Crear y mantener un documento de requisitos del sistema (ERS).

Define el conjunto estructurado de actividades de cuya ejecución se obtiene y mantiene la especificación de los requisitos.

El proceso de desarrollo (ingeniería) de requisitos puede variar según la

metodología seguida y el dominio de aplicación. En general, se distinguen las siguientes etapas:

1. Identificación, elicitación o captura de requisitos

2. Análisis (y negociación) de requisitos

3. Especificación o documentación de requisitos

4. Validación de requisitos

5. (Gestión de requisitos)

AIR - 39

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Desarrollo de requisitos vs. Gestión de requisitos

AIR - 40

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

AIR - 41

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

AIR - 42

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Actores del proceso:

El proceso de ingeniería de requisitos está dominado por factores humanos, sociales y organizacionales

Implican diferentes stakeholders de diferentes procedencias y perfiles, y con distintos objetivos.

AIR - 43

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Actores del proceso:

Stakeholders: persona o grupo que se verá afectado por el sistema, directa o indirectamente.

Usuarios finales del sistema.

Clientes

Gerentes

Expertos en el dominio

Reguladores externos

Representantes de trabajadores

Encargados de mantenimiento de sistemas relacionados

Ingenieros de software

Etc.

AIR - 44

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Ejemplo: Stakeholders del sistema para un cajero automático (ATM) de un banco

1. Los clientes actuales del banco quienes reciben los servicios del sistema.

2. Los representantes de otros bancos quienes tienen acuerdos recíprocos que les permiten utilizar otros ATMs.

3. Los directores de las sucursales bancarias quienes obtienen información del sistema.

4. El personal de ventanilla de las sucursales bancarias quienes están relacionados con el funcionamiento diario del sistema.

5. Los administradores de la base de datos quienes son responsables de integrar el sistema con la base de datos de clientes del banco.

6. Los administradores de seguridad del banco quienes deben asegurar que el sistema no suponga un riesgo de seguridad.

7. Las personas del departamento de marketing del banco quienes probablemente estén interesadas en utilizar el sistema como un medio para promocionar al banco.

8. Los ingenieros de mantenimiento de hardware y software quienes son responsables de mantener y actualizar el hardware y el software.

9. Los reguladores de la banca nacional quienes son los responsables de asegurar que el sistema se ajusta a las regulaciones de la banca.

AIR - 45

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

AIR - 46

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Identificación o captura de requisitos

En esta etapa los ingenieros de software trabajan con los clientes y los usuarios finales del sistema.

Determinar:

el dominio de la aplicación

qué servicios debe proporcionar el sistema

rendimiento requerido del sistema

restricciones de hardware

etc.

AIR - 47

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Análisis de requisitos:

Una vez recopilados los requisitos: Se agrupan por categorías y se organizan

Se estudia cada requisito en relación con el resto

Se examina la consistencia, completitud y ambigüedad de los requisitos

Se clasifican en base a las necesidades de los clientes/usuarios (negociación)

Negociación de requisitos: Los clientes, usuarios y resto de los implicados deberán clasificar sus

requisitos y discutir posibles conflictos

Priorizar requisitos

Compromiso final sobre el conjunto de requisitos a implementar

AIR - 48

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

La captura y análisis de requisitos es un proceso complejo y de vital importancia.

Implica:

Comprender el dominio de la aplicación

Comprender el problema en cuestión

Comprender el contexto del negocio

Comprender las necesidades y restricciones de los usuarios finales

AIR - 49

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Problemas a la hora de hacer una captura de requisitos:

Problemas de Alcance:

Límites del sistema mal definidos

Detalles técnicos innecesarios proporcionados por los clientes/usuarios

No están claros los objetivos del sistema

Problemas de Comprensión:

Los clientes no están seguros de lo que necesitan

Los clientes no entienden totalmente el dominio del problema

Dificultades para comunicar las necesidades

Omisión de información por considerar que es obvia

Especificación de requisitos ambiguos, poco estables o contradictorios

Problemas de volatilidad:

Los requisitos que cambian con el tiempo

AIR - 50

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Para la recopilación y análisis de requisitos se seguirán, en general, 5 pasos:

Identificar las fuentes de información y planificar las actividades de investigación

Realizar las preguntas apropiadas (comprender necesidades)

Analizar la información (detectar puntos no claros)

Confirmar con los usuarios (lo que parece haberse comprendido)

Sintetizar los requisitos (especificación de requisitos)

AIR - 51

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Fuentes de Información

Los requisitos se originan a partir de: Objetivos (intereses de negocio, factores críticos de éxito): proveen la motivación para realizar el software, pero suelen ser ambiguos.

Documentación existente: Permite al ingeniero conocer los datos e información con los que se trabaja en la organización.

Conocimiento del Dominio: Permite al ingeniero inferir conocimiento tácito que los stakeholders no articulan.

Interesados (stakeholders): El ingeniero necesita identificar, representar y gestionar los puntos de vista de los diferentes tipos de interesados.

Entorno operacional: el entorno en el que se ejecutará el software. Ej. Otros sistemas que operan en la organización.

Entorno organizacional: El ingeniero debe ser sensible a la estructura, cultura y políticas de la organización, así como a los procesos de negocio a los que dará soporte el software. Ej. Normas, procedimientos, etc.

AIR - 52

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Principales técnicas de captura y análisis de requisitos:

Entrevistas

Desarrollo conjunto de aplicaciones (JAD)

Prototipado

Observación

Estudio de documentación

Cuestionarios

Tormenta de ideas (Brainstorming)

ETHIC

AIR - 53

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Entrevistas:

Cada tipo de entrevista requiere un comportamiento y una preparación distinta.

Existen dos elementos principales: Entrevistador y Entrevistado

AIR - 54

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

EL ENTREVISTADO PUEDE PRESENTAR:

PASIVIDAD, INHIBICION

NO ACEPTACION

RECHAZO

AGRESIVIDAD

EL ENTREVISTADOR DEBE POSEER:

CIERTAS CUALIDADES PERSONALES

CONOCIMIENTO DE TECNICAS

ACTITUD ADECUADA

EXPERIENCIA PRACTICA

“relación asimétrica, dinámica y única”

Es importante la forma en que se

plantea la conversación y la relación que se

establece

No basta con hacer preguntas

AIR - 55

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Problemas de Comunicación:

Discrepancia de objetivos

Barreras de la comunicación

Mantenimiento de la motivación

AIR - 56

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Barreras de la Comunicación: OIR LO QUE QUEREMOS PASAR POR ALTO IDEAS CONTRARIAS DIFERENTE SIGNIFICADO DE LAS PALABRAS COMUNICACION NO VERBAL EMOCIONES RUIDO DISTANCIA

Eliminación de Barreras: ADAPTARSE AL MUNDO DEL RECEPTOR UTILIZAR EL DIALOGO SERVIRSE DE LA COMUNICACION DIRECTA INSISTIR (VARIAS VECES) UTILIZAR LENGUAJE SENCILLO Y DIRECTO UTILIZAR VIAS DISTINTAS REDUCIR LAS DISTANCIAS

AIR - 57

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Factores a Considerar: COMUNICACION NO VERBAL

PROXIMIDAD FISICA

ORIENTACION

POSTURA

ADEMANES

CABEZA

EXPRESION FACIAL

OJOS

APARIENCIA

ASPECTOS DEL LENGUAJE

ESCUCHAR Y RESPONDER

VOCABULARIO

EXPRESION VERBAL

AIR - 58

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Cualidades del Entrevistador:

Saber observar y escuchar (escucha activa)

Poseer madurez

Ser objetivo e imparcial

No ser autoritario

Capacidad de “empatía”

Comprensión

Ser cordial y accesible

Respetar la intimidad

Ser sincero, paciente, sereno

Ser prudente

AIR - 59

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Fases de la Entrevista: Preparación

Realización y Conducción

Análisis

AIR - 60

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Preparación de la Entrevista:

Investigar la situación

Identificar los entrevistados

Preparar el objetivo y el contenido

Planificar lugar y hora

AIR - 61

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Realización de la Entrevista:

Etapas:

Apertura (establecer un ambiente confortable)

Desarrollo

Técnicas Directivas: preguntas abiertas, preguntas directas, preguntas cerradas, sondeo.

Técnicas No Directivas: pausa, asentir, reflejar ideas, resumir.

Término (resumir, agradecer, establecer nuevas citas)

AIR - 62

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Análisis de la Entrevista:

Es la fase más descuidada

Requiere:

Pasar notas a limpio

Reorganizar la información

Contrastar la información con otras entrevistas o fuentes

Evaluar cómo ha ido la entrevista.

AIR - 63

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Desarrollo Conjunto de Aplicaciones (JAD):

Es una técnica para promover la cooperación y el trabajo en equipo entre usuarios y analistas.

Razones para realizar:

Dinero gastado en preparación y realización de entrevistas.

Todo el grupo puede actuar como revisor y detectar defectos.

Propugna una participación más profunda de los usuarios en el proyecto.

AIR - 64

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Fases de un JAD:

Adaptación o preparación:

Selección de los participantes

Recabar una cierta información

Organizar la reunión

Sesión JAD

Documentación

AIR - 65

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Prototipado:

Consiste en la elaboración de un modelo o maqueta del sistema.

Se construye para evaluar mejor los requisitos que desea que cumpla.

Es útil cuando: El área de aplicación no está bien definida.

El coste de rechazo de la aplicación es muy alto.

Es necesario evaluar previamente el impacto del sistema en los usuarios y en la organización.

AIR - 66

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Tipos principales de prototipos:

Prototipado de la interfaz de usuario

Modelos de Rendimiento

Prototipado funcional

AIR - 67

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos: Captura, Análisis y Negociación de requisitos

Ejercicio 4:

Dado el sistema de la DGT propuesto en el ejercicio 2, y habiendo visto ya distintos tipos de técnicas para la captura y análisis de requisitos, realice las siguientes tareas:

1. Identifique las fuentes de información para la captura de requisitos (documentación, stakeholders, entorno operacional y organizacional).

2. Planificar las actividades de investigación. Describir las actividades en términos de objetivos, contenido, personas y/o material involucrado, duración, etc.

AIR - 68

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

AIR - 69

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Especificación o documentación de requisitos

Es un documento que define, de forma completa, precisa y verificable, los requisitos, el comportamiento u otras características de un sistema o componente de un sistema.

Debe incluir información veraz

Debe comunicar dicha información de forma eficaz

Describir correctamente todos los requisitos del software

No describir ningún detalle del diseño del software, de su verificación o de la dirección del proyecto que influyen en los requisitos.

AIR - 70

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Proceso de Desarrollo de Requisitos

Validación de requisitos

En esta etapa se intenta encontrar problemas con los requisitos

Se realizan verificaciones sobre la especificación de requisitos: Verificaciones de validez.

Verificaciones de consistencia.

Verificaciones de completitud.

Verificaciones de realismo (presupuesto, tiempos)

Verificabilidad. Ejemplos: el sistema no se ajusta a estándares; se detectan nuevas

inconsistencias o ambigüedades; etc.

AIR - 71

Análisis e Ingeniería de Requisitos – Tema 2 www.kybele.urjc.es

Análisis e Ingeniería de Requisitos Tema 2: Introducción a la Ingeniería de Requisitos

Curso 2012-2013