Logo Studenta

Requerimientos - Manuel Tenedor

¡Este material tiene más páginas!

Vista previa del material en texto

07/09/2017
1
Ingeniería Software de Gestión. 
DETERMINACIÓN DE REQUERIMIENTOS
Lo más difícil en la construcción de un sistema software es decidir qué
construir…No existe tarea con mayor capacidad de lesionar un sistema
cuando se hace mal…..Ninguna otra tarea es tan difícil de rectificar a
posteriori….(F.P. Brooks, 1987)
Ingeniería Software de Gestión. 
CRISIS DEL SOFTWARE
• El gasto anual en proyectos software en EEUU es de unos 250 billones
de dólares, invertidos en aproximadamente 1750000 proyectos
•31.1 % serán cancelados
•52.7 % costarán 190% más de lo estimado
•Un 16.2 % será finalizado a tiempo y dentro del presupuesto, pero el
producto final poseerá aprox. la mitad de los requisitos iniciales.
Estudios anteriores reflejan que:
• El 45% de los errores tienen su origen en los requisitos y en el diseño
preliminar
• El 56% de los errores que tienen lugar en un proyecto Software se deben
a una mala especificación de requisitos
Factores principales que conducen al fracaso en los proyectos 
software
•Falta de comunicación con los usuarios
•Requisitos incompletos
•Cambios en los requisitos
07/09/2017
2
Ingeniería Software de Gestión. 
Los requisitos se sitúan en la frontera
socio-técnica de los sistemas, y esa frontera
es borrosa, e inconsistente.
Según M. Jackson los requisitos son:
“donde lo formal se encuentra con lo informal”.
Los requisitos están vivos, emergen,
interactúan, cambian, desaparecen…
Requisitos
Ingeniería Software de Gestión. 
Qué es la Ingeniería de Requisitos?
La IR trata los principios métodos, técnicas y herramientas que permiten
descubrir, documentar y mantener los requisitos para sistemas basados en
computadores, de forma sistemática y repetible.
Cumple un papel primordial en el proceso de producción de software, ya que
enfoca un área fundamental: la definición de lo que se desea producir.
Su principal tarea consiste en la generación de especificaciones correctas que
describan con claridad, sin ambigüedades, en forma consistente y compacta, el
comportamiento del sistema; de esta manera, se pretende minimizar los
problemas relacionados al desarrollo de sistemas
Fases:
1. Determinación de requerimientos.
2. Análisis de requerimientos. 
07/09/2017
3
Ingeniería Software de Gestión. 
Determinación de Requerimientos. 
Conceptos. Requisito/Requerimiento. 
 Condición, Característica o Restricción que debe tener o cumplir un sistema
o componente de un sistema para satisfacer un contrato, norma,
especificación u otro documento formalmente impuesto.
 Una capacidad del software solicitada por un usuario para resolver un
problema y cumplir con un objetivo
 ¿Qué es? 
 ¿Quién lo hace?
 ¿Por qué es importante?
 ¿Cuáles son los pasos?
 ¿Cuál es el producto obtenido?
 ¿Cómo puedo estar seguro de que lo he hecho correctamente?
Ingeniería Software de Gestión. 
Determinación de Requerimientos. 
 El análisis de requisitos del software puede dividirse en 
cinco áreas de esfuerzo: 
(1) reconocimiento del problema
(2) evaluación y síntesis
(3) modelado
(4) especificación 
(5) revisión. 
07/09/2017
4
Ingeniería Software de Gestión. 
DOCUMENTO DE REQUISITOS
Documento: cualquier medio electrónico de almacenamiento y distribución de
información
• DRU = Documento de Requisitos de Usuario: Se escribe desde el punto de vista
del usuario no contiene gran nivel de destalle.: Descripción del problema actual y
metas a lograr con el nuevo sistema.
• ERS = Especificación de Requisitos de Software, Desarrolla mucho mas los
contenidos de la DRU, por lo que los requisitos son mas detallados.
ESTANDARES
IEEE 830
Ingeniería Software de Gestión. 
Determinación de Requerimientos
Características.
Características que han de reunir los requisitos para ser de alta calidad.
 Correctos, sin errores.
 Consistentes.
 No ambiguos. 
 Son completos:
1. Externamente completa si contiene todas las propiedades 
deseadas por el cliente.
2. Internamente completa si no existen referencias no definidas.
07/09/2017
5
Ingeniería Software de Gestión. 
1. Características.
 Son realistas. Puede el sistema hacer lo que el cliente desea. 
 Los R. Describen algo necesario para el cliente.
 Verificables. Un requisito es verificable si existe algún proceso finito de 
coste razonable que pueda probar que el producto software cumple con 
el requisito.
 Son rastreables. Trazables, el origen de cada requisito está claro y se 
posibilita la referencia de cada uno de estos requisitos en desarrollos 
futuros o incrementos de la documentación.
Determinación de Requerimientos
Ingeniería Software de Gestión. 
1. Tipos de Requerimientos.
1. R. Funcionales. Una función es algo que hará el sistema. Describen 
una interacción entre el sistema y su ambiente.
2. R. No funcionales. Describen restricciones que limitan las opciones 
de solucionar el problema. Restricciones cuantitativas o precisión.
3. Seudorequerimientos. Impuestos por el cliente que restringen la 
implementación del sistema.
Determinación de Requerimientos
07/09/2017
6
Ingeniería Software de Gestión. 
Determinación
Requerimientos
DocumentaciónObtención
Cliente/Usuario
Desarrolladores
Especificación
Sistema
Validación
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Cómo escribir Requisitos?
Los requisitos constituyen la base de la comunicación entre todas las partes 
interesadas en el desarrollo : usuarios, clientes, desarrolladores y el equipo 
encargado de las pruebas, todas estas personas forman un conjunto heterogeneo
por lo que “la mejor forma de escribir requisitos NO EXISTA  Lenguaje Natural
Se identifica cada requisito con una frase corta: “El Sistema hará X…” ,
“Se facilitará X…..”
Ejemplos:
1. El sistema mantendrá un registro de todos los materiales de la biblioteca . (R. 
General)
2. El Sistema permitirá a los usuarios realizar una búsqueda por Título, Autor o 
ISBN (R. Funcional)
3. La interface de usuario se implementará sobre un navegador Web. (R. de 
Implementación)
4. El sistema deberá soportar al menos 20 transacciones por segundo. (R. de 
Rendimiento)
07/09/2017
7
Ingeniería Software de Gestión. 
Determinación de Requerimientos
Proceso que tiene como objetivo capturar, documentar y condiciones o
características que debe cumplir un sistema dado: La especificación del sistema.
1. Obtención de requerimientos. Captura de requerimientos con el objetivo de
definir que es el sistema.
2. Documentación de requerimientos. Los requisitos han de reflejarse en un
documento como registro del proceso de captura con el objetivo de fijar una
base para clientes y desarrolladores.
3. Validación. Es el proceso por el cual se determina si la especificación es consistente es
decir si los requerimientos satisfarán las necesidades del cliente.
Educción de 
Requisitos
Análisis y 
Negociación
Documentació
n de Requisitos
Educción de 
Requisitos
Necesidades
Información del Dominio
Estándares
Documento de 
Requisitos
GESTION DE REQUISITOS
Ingeniería Software de Gestión. 
Principales fuentes de requisitos
Los requisitos pueden proceder de:
• Metas: factores críticos de éxito
• Conocimiento del dominio de la aplicación
• Los interesados. Los afectados por el sistema
• El entorno físico que rodea al sistema
• El entorno organizacional.
• Los procesos de negocio.
07/09/2017
8
Ingeniería Software de Gestión. 
Participantes en el proceso.
 Supervisores del contrato,sugieren hitos de control y cronogramas
que disciplinan el desarrollo del sistema.
 Clientes y usuarios, deben comprender y trasmitir adecuadamente los
requerimientos, para del sistema.
 Los gerentes de negocios, para calibrar el impacto de construir y
utilizar el sistema.
 Los diseñadores que usarán los requerimientos como base del
desarrollo.
 Los verificadores encargados de las sesiones de prueba destinadas a
asegurar que el sistema cumple los requerimientos.
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Captura de Requerimientos.
1. Primera tarea
2. Fase critica. Colaboración de grupos heterogéneos.
Captura de
Requer.
Actividades
Obtención
Requer.
Identifc.
Actores
Desarrollador
Cliente/Usuario
Identifc.
Funcionalidad
Determinación de Requerimientos
07/09/2017
9
Ingeniería Software de Gestión. 
Objetivos de la captura de requerimientos (OO):
 Identificación de actores. Entidades externas que interactúan con 
el sistema. Como abstracción de papeles.
 Identificar la funcionalidad a la que tiene acceso cada actor.
 Identificación de escenarios. Descripción concreta, enfocada e 
informal de una sola característica del sistema desde el punto de 
vista de un solo actor.
 Descripción de casos de uso.
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Administración de la Captura de requerimientos:
 Fuentes:
 Documentación. 
 Personas con puntos de vista necesarios.
 Técnicas
 Cuestionarios
 Entrevistas
 Talleres
 Prototipos
Determinación de Requerimientos
07/09/2017
10
Ingeniería Software de Gestión. 
Fuentes.
 Análisis de Documentación. 
Es imprescindible cuando:
 Se Introduce al sistema en infraestructuras existentes.
Documentación a analizar:
 Sobre las prácticas existentes de los usuarios.
 Sobre procedimientos de soporte.
 Sobre componentes técnicos.
 Sobre el modelo lógico
 Sobre los modelos de procesos y datos
 Sobre requisitos existente
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Técnicas
1. Elaboración de cuestionarios. 
1. Recomendable para grandes poblaciones (+30 personas).
2. Recomendable como base para posterior entrevista personal.
3. Crear un marco para el análisis de resultados. (visión clara de 
cómo utilizar la información)
4. Comprobar que existe información suficiente en el personal 
“cuestionado”.
5. Garantizar que es comprensible (no utiliza argot técnico).
6. Probarlo antes de comenzar
7. Verificar la comprensión.
Determinación de Requerimientos
07/09/2017
11
Ingeniería Software de Gestión. 
Problemas con la educción
Entre los principales problemas que pueden
entorpecer la tarea de la educción de requisitos se
cuentan los siguientes:
•Los usuarios no pueden /saben describir sus
tareas
•Mucha información importante no llega a
verbalizarse
•La educción se afronta como un proceso pasivo,
cuando debería ser un proceso cooperativo.
Ingeniería Software de Gestión. 
Tipos de cuestionarios:
 Para recopilar datos estructurados.
 Modalidades:
1. Mediante Lista de cuestiones concretas y de respuesta cerrada.
 ¿Cuánto lleva operando el actual sistema de facturación (en 
años)?.
2. Mediante índices.
 ¿Importancia de estos factores para adquirir un OS?
Baja Alta
Velocidad 1 2 3 4 5
Usabilidad 1 2 3 4 5
Flexibilidad 1 2 3 4 5
Determinación de Requerimientos
07/09/2017
12
Ingeniería Software de Gestión. 
Tipos de cuestionarios:
 Cuestionarios para recoger información abierta.
 Se formula una pregunta abierta. 
 ¿Cuál son para usted los factores principales en la selección de 
proveedor de servicios de Internet”
 Útiles para obtener una información inicial sobre el área.
 Importante evitar sesgos.
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Ejemplo de Cuestionario
Determinación de Requerimientos
07/09/2017
13
Ingeniería Software de Gestión. 
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Determinación de Requerimientos
07/09/2017
14
Ingeniería Software de Gestión. 
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Entrevistas
 Objetivo: Obtener toda la información posible de la visión que el 
entrevistado tiene de los requisitos.
 Depende de la habilidad del entrevistador para crear un clima de 
confianza.
 Resulta útil planificar las entrevistas para evitar sesgos (evitar que un 
grupo incline a un lado el proceso).
 Preparar un marco para la entrevista (mediante un cuestionario)
 Confirmar detalles del entrevistado
 Establecer la finalidad de la entrevista con el entrevistado
 Organizar una lugar adecuado.
 Confirmar los detalles por escrito.
Determinación de Requerimientos
07/09/2017
15
Ingeniería Software de Gestión. 
Técnicas captura.
Entrevistas:
 Es aconsejable 2 entrevistadores (una conduce la entrevista el 
otro supervisa la interacción y toma notas):
 Mejora la gestión del tiempo.
 Beneficia la supervisión.
 Es aconsejable emplear tanto preguntas abiertas como cerradas:
 Abiertas: Suelen comenzar por “qué”, por qué” y “como” y 
exigen respuesta detallada por el entrevistado.
 Cerradas: Aquellas con un Intervalo específico de respuesta.
 El entrevistador debe centrar la entrevista cuando esta se desvía.
 El entrevistador debe evitar emitir juicios de valor para no influir.
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Técnicas captura.
Entrevistas:
 Análisis de resultados de la entrevista:
 Si se ha utilizado como marco un cuestionario, este se utilizará 
como contexto e el análisis.
 Si la entrevista no es estructurada, el resultado se detallará como 
informe.
Nombre entrevistado.
Puesto de trabajo y breve descripción.
Punto de vista que representa.
Fecha, hora y lugar de la entrevista
Resumen de puntos principales
Documentos de referencia
Otros contactos.
Esquema de resumen de entrevista
Determinación de Requerimientos
07/09/2017
16
Ingeniería Software de Gestión. 
Técnicas captura.
Talleres:
 Reunión de partes interesadas.
 Sesiones intensivas y estructuradas concentradas en uno o dos 
días.
 Es preciso una importante preparación previa:
 Definir con los participantes la finalidad del taller.
 Facilitarles información histórica. 
 El taller ha de ser dirigido por un experto para:
 Garantizar que todo los participantes aportan sus puntos de 
vista.
 No se desvían del propósito del taller.
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Técnicas captura.
Talleres:
 Los requisitos capturados en el taller se registran junto con todas 
las cuestiones y acciones resultantes.
 Se genera un informe para documentar los resultados y base de la 
especificación de requisitos.
 Tiene la ventaja de reunir a los participantes pudiendo debatirse las 
cuestiones más controvertidas y resolver así requisitos 
aparentemente divergentes satisfaciendo a las partes.
Determinación de Requerimientos
07/09/2017
17
Ingeniería Software de Gestión. 
Técnicas captura.
Modelado de proceso:
 Método de análisis vertical (up-dow) para establecer la 
composición funcional del area para la cual se propone el sistema.
Proceso
Funciones
Funciones
Funciones
Actividades
Actividades
Actividades
Actividades
Actividades
Determinación de RequerimientosIngeniería Software de Gestión. 
Técnicas captura.
Modelado de proceso:
 Se descompone el sistema en procesos “atómicos” que no admitan 
mas divisiones.
 La derivación de procesos se realizará mediante técnicas de captura 
de requisitos.
 Los usuarios revisarán el modelo en cada desagregación.
 Permite correcciones antes de seguir con una mayor elaboración
 Permite identificar procesos de bajo nivel duplicados, 
permitiendo una simplificación del modelo.
Determinación de Requerimientos
07/09/2017
18
Ingeniería Software de Gestión. 
Técnicas captura.
Prototipado:
 Un prototipo es un modelo de sistema eventual que se puede utilizar para 
demostrar las características de lo que el sistema puede ofrecer. 2 métodos: 
P. desechable, P. evolutivo.
 Los prototipos pueden usarse para:
 Demostrar la viabilidad del sistema. Se implanta parte del sistema para:
 Comprobar el comportamiento funcional.
 Análisis de rendimiento.
 Aclarar los requisitos del usuario. 
Ingeniería Software de Gestión. 
Doc. De Requisitos del Usuario/determinación de requerimientos.
Elementos de la documentación:
Se perfila el propósito general del sistema con referencias a otros sistemas
relacionados y un diccionario de términos y abreviaturas que puedan ser
útiles.
Descripción de antecedentes y objetivos del desarrollo.
Si el cliente tiene un nuevo enfoque para describir el problema se recoge el
enfoque y sus restricciones o suposiciones si las hay.
Se detallan se definen las características del sistema: Limites del sistema,
interfaces, lista clases y características, funciones y procesos con sus entradas
y salidas y finalmente requerimientos específicos de rendimiento.
Requerimientos sobre soporte, seguridad y privacidad y cualquier
restricción.
Determinación de Requerimientos
07/09/2017
19
Ingeniería Software de Gestión. 
Doc. De Requisitos del Usuario/determinación de requerimientos.
Introducción
1. Alcance. Área de aplicación de los requisitos.
2. Definiciones.
3. Historial.
4. Descripción de alto nivel. Esquema del problema.
5. RF (Forma atómica y con identificador)
6. RNF (Forma atómica y con identificador y vinculados a
los funcionales que soportan)
7. Restricciones específicas
Especificación: Requisitos del Usuario
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Doc. De Requisitos del Sistema/especificación de requerimientos.
 Se desarrolla a partir del documento de requisitos del usuario.
 Cubre el mismo área que el documento de requisitos del usuario pero 
en los términos técnicos adecuados para diseñar el sistema, 
 Suele estar redactado por analistas de requerimientos.
 Se fundamenta en:
 El modelado del sistema, para esclarecer la funcionalidad del 
sistema.
 Restricciones sobre infraestructura.
 Requisitos Funcionales y no funcionales.
Determinación de Requerimientos
07/09/2017
20
Ingeniería Software de Gestión. 
Doc. De Requisitos del Sistema/especificación de requerimientos.
Introducción
1. Alcance. Relación con otros sistemas 
2. Definiciones.
3. Historial. Infraestructura existente
4. Descripción de alto nivel. Esquema del problema.
5. RF (Forma atómica y con identificador)
6. RNF (Forma atómica y con identificador y vinculados a los 
funcionales que soportan)
7. Restricciones específicas
E. Requisitos del Sistema
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Validación.
 La determinación de requerimientos tiene 2 propósitos:
 El acuerdo entre clientes y desarrolladores sobre qué debe ser el
sistema.
 Proporcionar a los diseñadores pautas para el desarrollo.
 La validación de requerimientos es el proceso por el cual se
determina si la especificación del sistema es consistente, es decir si
los requerimientos satisfarán las necesidades del cliente. 2 pasos
(trazabilidad):
 Se asegura que cada especificación del sistema pueda ser
rastreada hasta su requerimiento en el documento de definición.
 Se chequea la definición comprobando que cada requerimiento es
rastreable hasta la especificación.
Determinación de Requerimientos
07/09/2017
21
Ingeniería Software de Gestión. 
Validación.
 La técnica más utilizada y simple son las reuniones de revisión.
 Se examinan los requerimientos por parte de:
 Representantes del cliente: 
 Operadores del sistema.
 Operadores que preparan las entradas
 Operadores los que utilizan las salidas
 Gerentes de estos empleados.
 Representantes del desarrollador:
 Equipo de diseño
 Equipo de pruebas, y gestión de configuración
Determinación de Requerimientos
Ingeniería Software de Gestión. 
Validación.
 La trazabilidad de requisitos se documenta mediante la MTR 
(Matriz de trazabilidad de Requisitos).
Matriz de Trazabilidad de RequisitosResumen de requisitos del 
Usuario
Requisito del Usuario Requisito del Sistema
Identificador Identificador
Determinación de Requerimientos
07/09/2017
22
Ingeniería Software de Gestión. 
SOFTWARE PARA GESTION DE REQUISITOS
REQUISITE PRO: Es una herramienta de administración de requerimientos que permite
al equipo crear y compartir sus requerimientos utilizando métodos familiares basados en
documentos potenciados por la aplicación de las capacidades de una base de datos,
tales como la trazabilidad y análisis de impacto. El resultado es una mejor comunicación
y administración de requerimientos con una mayor probabilidad de completar los
proyectos en tiempo, dentro del presupuesto y superando las expectativas.
http://www-01.ibm.com/software/awdtools/reqpro/
Es una solución de Gestión y Definición de Requisitos (RDM) específicamente 
diseñada para proporcionar soporte integral a todo el proceso de Requisitos.
Ayuda a los equipos a elaborar especificaciones de requisitos de sistemas de 
alta calidad: los usuarios pueden capturar y gestionar requisitos, analizarlos en 
relación con el dominio del negocio en el que están clasificados y representar 
el sistema que están elaborando a través de técnicas claras que posibiliten la 
comprensión directa para el usuario final.
http://www.visuresolutions.com/irqa-requirements-tool
Ingeniería Software de Gestión. 
Realiza la gestión colaborativa de pruebas con la que se crean y gestionan
casos de prueba y planes de prueba. Permite su ejecución (de forma manual) y
realizar un seguimiento de los resultados de la prueba en forma dinámica,
generar informes, traza de requisitos de software, priorizar y asignar tareas.
Página oficial: http://testlink.sourceforge.net/docs/testLink.php
RTM Workshop: Producto para la gestión de requisitos. Trata los requisitos como
objetos, que pertenecen a clases que corresponden a varios tipos de requisitos o a
artefactos de otros proyectos como pueden ser elementos de diseño o casos de prueba.
HP Quality Center es una aplicación web que admite todos los aspectos esenciales de
la gestión de pruebas. Ayuda en la gestión de requisitos de software, planificación y
programación de pruebas, análisis de resultados y gestión de defectos
Página
oficial: https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&
cp=1-11-127-24%5E1131_4000_10__
http://www-01.ibm.com/software/awdtools/reqpro/
http://www.visuresolutions.com/irqa-requirements-tool
http://www.fabricasdesoftware.es/herramientas/gestion-de-requisitos/
https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-127-24%5E1131_4000_10__

Otros materiales