Está en la página 1de 22

07/09/2017

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
Ingeniería Software de Gestión.

1
07/09/2017

Requisitos
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…

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.

Ingeniería Software de Gestión.

2
07/09/2017

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.

Ingeniería Software de Gestión.

3
07/09/2017

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.

Ingeniería Software de Gestión.

4
07/09/2017

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

5
07/09/2017

Determinación de Requerimientos
Especificación
Sistema
Determinación
Requerimientos

Obtención Documentación Validación

Cliente/Usuario
Desarrolladores

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)

Ingeniería Software de Gestión.

6
07/09/2017

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 Análisis y Documentació Educción de


Requisitos Negociación n de Requisitos Requisitos

Necesidades
Información del Dominio Documento de
Estándares 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.

Ingeniería Software de Gestión.

7
07/09/2017

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

Determinación de Requerimientos
Captura de Requerimientos.
1. Primera tarea
2. Fase critica. Colaboración de grupos heterogéneos.

Desarrollador Identifc.
Cliente/Usuario Actores

Actividades
Obtención Captura de
Requer. Requer.
Identifc.
Funcionalidad

Ingeniería Software de Gestión.

8
07/09/2017

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

Determinación de Requerimientos
Administración de la Captura de requerimientos:

 Fuentes:
 Documentación.
 Personas con puntos de vista necesarios.

 Técnicas
 Cuestionarios
 Entrevistas
 Talleres
 Prototipos

Ingeniería Software de Gestión.

9
07/09/2017

Determinación de Requerimientos
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

Ingeniería Software de Gestión.

Determinación de Requerimientos

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.

Ingeniería Software de Gestión.

10
07/09/2017

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.

Determinación de Requerimientos
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

Ingeniería Software de Gestión.

11
07/09/2017

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

Determinación de Requerimientos
Ejemplo de Cuestionario

Ingeniería Software de Gestión.

12
07/09/2017

Determinación de Requerimientos

Ingeniería Software de Gestión.

Determinación de Requerimientos

Ingeniería Software de Gestión.

13
07/09/2017

Determinación de Requerimientos

Ingeniería Software de Gestión.

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

14
07/09/2017

Determinación de Requerimientos
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.


Ingeniería Software de Gestión.

Determinación de Requerimientos
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.
Esquema de resumen de entrevista

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.
Ingeniería Software de Gestión.

15
07/09/2017

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

16
07/09/2017

Determinación de Requerimientos
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 Actividades

Actividades
Funciones Actividades
Actividades
Actividades
Ingeniería Software de Gestión.

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

17
07/09/2017

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.

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

18
07/09/2017

Determinación de Requerimientos
Doc. De Requisitos del Usuario/determinación de requerimientos.

Especificación: Requisitos del Usuario


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

Ingeniería Software de Gestión.

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

19
07/09/2017

Determinación de Requerimientos
Doc. De Requisitos del Sistema/especificación de requerimientos.

E. Requisitos del Sistema


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

Ingeniería Software de Gestión.

Determinación de Requerimientos
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.

Ingeniería Software de Gestión.

20
07/09/2017

Determinación de Requerimientos

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

Ingeniería Software de Gestión.

Determinación de Requerimientos

Validación.

 La trazabilidad de requisitos se documenta mediante la MTR


(Matriz de trazabilidad de Requisitos).

Matriz
Resumende Trazabilidad
de requisitos del de Requisitos
Requisito del Usuario Requisito del Sistema
Usuario
Identificador Identificador

Ingeniería Software de Gestión.

21
07/09/2017

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__

Ingeniería Software de Gestión.

22

También podría gustarte