ingeniera de requisitos
DESCRIPTION
Ingeneria Informática. Ingeniería de requisitos.TRANSCRIPT
INGENIERÍA DE REQUISITOSProfesora: Angie Stuardo Figueroa
¿QUÉ ES UN REQUERIMIENTO DE SISTEMA?
Requerimientos de lUsuario
Requerimientos de Sistema
Descripción de los servicios
proporcionados por el sistema y sus
restricciones operativas
REQUERIMIENTOS DE USUARIO
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.
Ejemplo: El sistema LIBYS, controlará todos los datos requeridos por las agencias
que lincencian los derechos de autor en el Reino Unido y en otra
parte.
REQUERIMIENTOS DEL SISTEMA
Establecen con detalle las funciones, servicios
y restricciones operativas del sistema.
1. Para pedir un documento, el usuario debe completar un formulario con sus datos y los de su petición.
2. El formulario de solicitud será almacenado en el sistema por cinco años.
3. Los formularios deben indexarse por usuario, por el nombre del material y por el proveedor.
4. Se debe mantener el fichero en el que se registrarán todas las peticiones que se han hecho al sistema.
TIPOS DE REQUERIMIENTOS Requerimientos Funcionales: Declaraciones de los servicios que debe proporcionar el sistema, de la manera en que éste debe reaccionar a entradas particulares y de cómo se debe comportar en situaciones particulares
Requerimientos No Funcionales: Restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre el proceso de desarrollo y estándares.
Requerimientos del Dominio: Provienen del dominio de aplicación del sistema y que reflejan las características y restricciones de ese dominio
INGENIERÍA DE REQUISITOS
Proporciona el mecanismo adecuado para entender lo que el cliente quiere. Permite:
Entender lo que el cliente quiere. Evaluar factibilidad. Negociar una solución razonable. Especificar la solución sin ambigüedades. Validar la especificación. Administrar los requisitos para la construcción
del sistema.
PROCESO DE INGENIERÍA DE REQUISITOS
•Se establece una comprensión básica del problema, las personas que quieren una solución, la naturaleza de la solución que se desea y la efectividad de la comunicación preliminar entre el cliente y el desarrollador.
Inicio•Se
organiza la etapa de recopilación de requisitos para comprender los objetivos del sistema y cómo se utilizará.
Obtención
•Desarrollo de un modelo técnico refinado de las funciones, características y restricciones del software.
Elaboración
•Sirve para conciliar conflictos en relación a los requisitos. Se ordenan y priorizan los requisitos, se identifican los riesgos, se hacen estimaciones preliminares del esfuerzo requerido y del costo.
Negociación
•Describe la función y el desempeño de un sistema y las restricciones que regirán su desarrollo.
Especificación
•Examina la especificación para asegurar que todos los requisitos de software se han establecido de manera precisa.
Validación
•Conjunto de actividades que ayudan al equipo de proyecto a identificar, controlar y rastrear los requisitos y los cambios a éstos.
Gestión
PROCESO DE INGENIERÍA DE REQUISITOS
PROCESO DE INGENIERÍA DE REQUISITOS: INICIO
Escenario Ideal
PROCESO DE INGENIERÍA DE REQUISITOS: INICIO
El Cliente:
•Puede estar lejos.•Puede tener sólo una idea vaga de lo que se requiere•Puede tener ideas conflictivas de lo que se desarrollará.•Puede tener conocimiento técnico limitado.•Puede tener tiempo limitado para interactuar con el analista.
Escenario Real
PROCESO DE INGENIERÍA DE REQUISITOS: INICIOIdentificación
de los interesados
Detectar aquellos que se benefician directa o indirectamente del sistema.
Hacer una lista de los interesados y categorizarlos.
Reconocimiento de múltiples puntos de vista
Recopilar información desde múltiples puntos de vista.
Categorizar la información de los interesados.
Entregar la información para la toma de decisiones.
Colaboración
Identificar áreas en común o áreas en conflicto o inconsistencias.
Se revisan los requerimientos en conflicto y se expresan las opiniones.
Se colabora para la toma de decisiones.
Formulación de las primeras preguntas
Definir objetivos de la entrevista.
Definir preguntas.
Grupos de Preguntas:1. Enfocadas al
cliente, metas generales y beneficios.
2. Enfocadas a la comprensión del problema y percepción del cliente sobre una solución.
3. Enfocadas a la efectividad de la entrevista
PROCESO DE INGENIERÍA DE REQUISITOS: INICIO. EJEMPLOS GRUPO DE PREGUNTAS
•¿Quién está detrás de la solicitud de este trabajo?
•¿Quién usará la solución?
•¿Cuál será el beneficio económico de una solución exitosa?
Primer Grupo de Preguntas
•¿Cómo podría caracterizarse un buen resultado generado por una solución exitosa?•¿Cuáles
problemas debería atacar esta solución?
•¿Podría describir o mostrar el ambiente de negocios en el que se utilizará la solución?
•¿Los aspectos especiales del desempeño o restricciones afectarán la forma en que se busque la solución?
Segundo Grupo de Preguntas
•¿Sus respuestas son oficiales?
•¿Mis preguntas son relevantes para su problema?
•¿Alguien más puede proporcionar información adicional?
•¿Debería preguntar algo más?
Tercer Grupo de Preguntas
PROCESO DE INGENIERÍA DE REQUISITOS: OBTENCIÓN
•Proceso de reunirse con los clientes para identificar el problema, proponer elementos de solución, negociar diferentes enfoques y especificar un conjunto preliminar de requisitos.
Recopilación de
Requerimientos
•Toma la recopilación no estructurada de requerimientos y los organiza en grupos coherentes.
Clasificación de requerimientos
•Ordenar los requisitos por prioridad y encontrar y resolver requerimientos en conflicto a través de la negociación.
Priorización y negociación de requerimientos
•Se crea un conjunto de escenarios que identifican una cadena de uso para el sistema que se va a construir. Los escenarios proporcionan una descripción de cómo se usará el sistema
Definición de Escenarios
PROCESO DE INGENIERÍA DE REQUISITOS: OBTENCIÓN. PRODUCTOS
Obtención de Requisitos
Necesidad y factibilidad
Ámbito del sistema
Lista de usuarios e interesados
Descripción del ambiente técnico
Lista de requerimientos
Escenarios
Prototipos
PROCESO DE INGENIERÍA DE REQUISITOS: OBTENCIÓN. RECOPILACIÓN DE REQUISITOS
Directrices para las
reuniones de trabajo
•Las reuniones deben ser dirigidas por alguno de los asistentes.•Se establecen reglas para la preparación y la participación.•Contar con una agenda que permita cubrir todos los puntos importantes, y que estimule el flujo de ideas.•Debe existir un moderador en la reunión.•Debe usarse un mecanismo de definición.
Técnicas que facilitan la especificación de una aplicación:Objetivos:•Identificar el problema.•Proponer elementos de solución.•Negociar diferentes enfoques.•Especificar un conjunto de requisitos de solución preliminares.
PROCESO DE INGENIERÍA DE REQUISITOS: OBTENCIÓN. DESPLIEGUE DE LA FUNCIÓN DE CALIDAD
Necesidades del Cliente
Requisitos técnicos del
Software
Tipos de Requisitos
Normales
EsperablesEstimulantes
1. Función de despliegue.2. Despliegue de la
información.3. Despliegue de tareas.4. Análisis de Valor.5. Generar tabla de
requisitos.
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO
Objetivos
Describe requerimientos de información
Describe requerimientos
funcionales
Describe comportamien
to
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO: ELEMENTOS DEL MODELO
•El sistema se describe desde el punto de vista del usuario.
•Son los primeros elementos que se desarrollan.
•Muestran actividades o funciones.
Basados en Escenarios
•Muestran un conjunto de “objetos” que se manipulan mientras un actor interactúa con el sistema.
•Los objetos se clasifican en clases, que tienen atributos y comportamientos similares.
•Se muestra para estos elementos, la interacción y las relaciones entre clases.
Basados en clases
•Muestra el comportamiento del sistema, mostrando los distintos estados por los que pasa, y los eventos que ocasionan que dicho sistema cambie de estado.
Basados en comportamient
o
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS
Casos de Uso:Describe el comportamiento del sistema en diferentes condiciones mientras éste responde a la petición de uno de sus usuarios.
Interacción
Actor
•Representa un tipo de usuario• Es una agrupación uniforme de personas, sistemas o máquinas que interactúan con el sistema de la misma forma•La misma persona física puede interpretar variospapeles como actores distintos.• El nombre del actor describe el papel desempeñado.
•Especifica una secuencia de acciones que el sistema puede llevar a cabo interactuando con sus actores, incluyendo alternativas dentro de la secuencia.• Es iniciado por un actor.• El nombre se expresa con un verbo en gerundio.• Se expresa desde el punto de vista del actor.
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS Los Casos de Uso (Ivar Jacobson) describen bajo la forma de
acciones y reacciones el comportamiento de un sistema desde el punto
de vista del usuario. • Permiten definir los límites del sistema y las relaciones
entre el sistema y el entorno. • Son descripciones de la funcionalidad del sistema
independientes de la implementación. • Los Casos de Uso particionan el conjunto de necesidades
atendiendo a la categoría de usuarios que participan en el mismo. • Están basado en el lenguaje natural, es decir, es accesible
por los usuarios.
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. EJEMPLO.
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. EJEMPLO.
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. EJEMPLO.
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. TIPOS DE RELACIÓN .
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. EJEMPLO DE COMUNICACIÓN
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. EJEMPLO DE INCLUSIÓN
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. EJEMPLO DE EXTENSIÓN
PROCESO DE INGENIERÍA DE REQUISITOS: ELABORACIÓN. MODELADO DE ESCENARIOS. EJEMPLO DE GENERALIZACIÓN
PROCESO DE INGENIERÍA DE REQUISITOS: NEGOCIACIÓN. Objetivo:
Desarrollar un plan de proyecto que satisfaga las necesidades del cliente, al mismo tiempo que refleja las restricciones del mundo real.
“Un acuerdo es el arte de dividir
un pastel de tal forma que cada
uno piense que se quedó con la
rebanada más grande”
Identificar los interesados claves.
Determinar las “condiciones ganadoras”.
Negociar las condiciones ganadoras.
PROCESO DE INGENIERÍA DE REQUISITOS: NEGOCIACIÓN. RECOMENDACIONES
Reconocer que no es una competencia. Diseñar una estrategia. Escuchar de manera activa. Enfocarse en los intereses de la otra parte. No dejar que se vuelva personal. Ser creativo. Estar listo para pactar.
PROCESO DE INGENIERÍA DE REQUISITOS: VALIDACIÓN. VERIFICACIONES
•Validar que cada requerimiento esté orientado a satisfacer alguna necesidad.
De Validez
•Los requerimientos no deben contradecirse.
De Consistencia
•Debe chequearse que estén cubiertas todas las funciones y restricciones especificadas por los usuarios.
De completitud
•Debe asegurarse de que los requerimientos se puedan realmente implementar.
De Realismo
•Los requerimientos deben poder ser verificables.
Verificabilidad
PROCESO DE INGENIERÍA DE REQUISITOS: VALIDACIÓN. REVISIÓN MACROSCÓPICA
¿Son consistentes los objetivos y fines establecidos para el Sw con los objetivos y fines del Sistema?
¿Se han descrito todas las interfaces importantes de todos los elementos del Sw?
¿Se han definido el flujo, contenido y la estructura de la información de forma adecuada por el dominio del problema?
¿Permanecen las funciones en el ámbito y se describe adecuadamente cada una de ellas?
¿Son las restricciones de diseño realistas? ¿Existe riesgo tecnológico en el desarrollo? ¿Existen inconsistencias, omisiones o redundancias?
PROCESO DE INGENIERÍA DE REQUISITOS: VALIDACIÓN. REVISIÓN MICROSCÓPICA Fijarse en las conectivas persuasivas : ciertamente,
por lo tanto, claramente, obviamente y preguntar por qué están presentes.
Buscar términos vagos o imprecisos como: alguno, amistoso, a menudo, la mayoría, mayormente, 100% confiable, tiempo real y pedir una aclaración.
Eliminar los etc., y así sucesivamente. Cuidado con los verbos de significados imprecisos
como: manejado, rechazado, procesado, eliminado. Pueden interpretarse de muchas maneras.
Buscar sentencias que impliquen certezas como: siempre, todos, ninguno, nunca y exigir prueba.
DOCUMENTO DE ESPECIFICACIÓN DE REQUERIMIENTOS