2. USARLAPLANTILLALIBRODEVENTAS
INGENIERÍA DE REQUISITOS O INGENIERÍA DE REQUERIMIENTOS
El proceso de recopilar, analizar y verificar las
necesidades del cliente para un sistema de software es
llamado Ingeniería de Requerimientos. La meta de la
ingeniería de requerimientos es entregar una
especificación de requerimientos de software correcta y
completa. La ingeniería de requerimientos apunta a
mejorar la forma en que comprendemos y definimos
sistemas de software complejos.
Existen varias definiciones de requerimientos, de entre
las cuales podemos citar las siguientes:
Los Requerimientos fueron definidos por la IEEE
como:
1. Condición o capacidad requerida por el usuario para
resolver un problema o alcanzar un objetivo
2. Condición o capacidad que debe satisfacer o poseer
un sistema o una componente de un sistema para
satisfacer un contrato, un standard, una especificación u
otro documento formalmente impuesto
3. Representación documentada de una condición.
Según Zave:
• Rama de la ingeniería del software que trata con el
establecimiento de los objetivos, funciones y
restricciones de los sistemas software.
• Asimismo, se ocupa de la relación entre estos factores
con el objeto de establecer especificaciones precisas.
Según Leite:
• Es el proceso mediante el cual se intercambian
diferentes puntos de vista para recopilar y modelar lo
que el sistema va a realizar. Este proceso utiliza una
combinación de métodos, herramientas y actores, cuyo
producto es un modelo del cual se genera un
documento de requerimientos.
Esta tesis adhiere a esta ultima definición [Leite89]. Se
desarrollan
sistemas de software para satisfacer una necesidad
percibida por un cliente.
3. CARACTERÍSTICASDELOSREQUERIMIENTOS
CARACTERÍSTICAS DE LOS REQUERIMIENTOS
Corrección: implica que el sistema implementado será el sistema deseado.
No ambiguos: Cada requisito tiene una sola interpretación.
Completos: Todos los requisitos relevantes han sido incluidos en la ERS.
Consistentes: Los requisitos no pueden ser contradictorios.
Clasificados: Los requisitos pueden clasificarse por importancia (esenciales,
condicionales u opcionales) o por estabilidad.
Verificables: Un requisito es verificable (testeable) si existe un proceso finito y no
costoso para demostrar que el sistema cumple con el requisito.
Modificables: La ERS es modificable si se encuentra estructurada de forma que los
cambios a los requisitos pueden realizarse de forma fácil.
Trazables: La ERS es trazable si se conoce el origen de cada requisito.
4. INGENIERÍADEREQUERIMIENTOS
Ingeniería de Requerimientos
Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo.
Una condición o capacidad que debe estar presente en un sistema o componentes de sistema
para satisfacer un contrato, estándar, especificación u otro documento formal.
Una representación documentada de una condición.
Tipos:
Requerimientos de usuario
Declaraciones en lenguaje natural y los
esquemas de los servicios que
proporciona el sistema y sus
limitaciones operacionales.
Escrito para los clientes.
Requerimientos del sistema
Un documento estructurado que
establece la descripción detallada de las
funciones del sistema, los servicios y las
limitaciones operacionales.
Define lo que debe aplicarse, de manera
que puede ser parte de un contrato
entre el cliente y el contratista.
5. TÉCNICASPRINCIPALESAPLICADASENLAINGENIERÍADEREQUISITOS.
Reviews o Walk-throughs
Está técnica consiste en la lectura y
corrección de la completa documentación
o modelado de la definición de requisitos.
Matrices de trazabilidad:
Esta técnica consiste en marcar los
objetivos del sistema y chequearlos
contra los requisitos del mismo (Durán,
Bernáldez, Ruíz & Toro, 1999).
Auditorías:
La revisión de la documentación con esta
técnica consiste en un chequeo de los
resultados contra una checklist
predefinida o definida a comienzos del
proceso, es decir sólo una muestra es
revisada.
Prototipos
Algunas propuestas se basan en obtener
de la definición de
requisitos prototipos que, sin tener la
totalidad de la funcionalidad del
sistema, permitan al usuario hacerse
una idea de la estructura de la interfaz
del sistema con el usuario (Olsina,
1999).
Técnicas principales aplicadas en la Ingeniería de Requisitos.
6. FASESDELAINGENIERÍADEREQUERIMIENTOS
Fases de la Ingeniería de requerimientos
a. Estudio de factibilidad : Realizar una recolección y evaluación de la información, como redactar
el informe del estudio de la factibilidad.
b. Obtención y análisis de requerimientos: Determinar el dominio de la aplicación, desempeño
del sistema, las restricciones que el sistema debe poseer, entre otras cosas.
c. Obtención y análisis de requerimientos:
1. Separar la funcionalidad de la implementación
2. Desarrollar un modelo de comportamiento de un sistema que comprenda los datos y las
respuestas funcionales de un sistema a varios estímulos del entorno.
3. Establecer los componentes del sistema que interactúan con él.
4. Definir el entorno en que operara el sistema
5. Crear un modelo intuitivo
6. Considerar que una especificación es una abstracción de una situación real por lo cual será
incompleta y existirá a muchos niveles de detalle.
7. Definir un contenido y estructura que sea susceptible a cambios.
d. Validación de Requerimientos: En esta etapa se establecen los requerimientos finales ó
completos que definirán el sistema que el cliente desea.
7. REQUERIMIENTOSDESOFTWAREDELAINGENIERÍADE
REQUERIMIENTOS
Rol de Requerimientos
• Si un producto no es lo que el cliente o los usuarios
quieren, entonces la calidad de la construcción es
irrelevante.
• El rol clave de los requerimientos es mostrar a los
desarrolladores y usuarios que se necesita de un
sistema.
• El primer y básico rol de los requerimientos es por lo
tanto la comunicación.
Cómo identificamos los Requerimientos ?
Los Requerimientos toman vida desde que realizamos
nuestro primer encuentro de interlocución con usuarios
o clientes.
• Este puede desarrollarse utilizando cualquiera de una
variedad de técnicas como entrevistas para
intercambiar opiniones, cuestionarios, etc.
• Cuando los requerimientos se logran redactar a un
significativo nivel de detalle, tendremos listo el
documento denominado “Especificación de
Requerimientos”.
Se puede organizar por
• Modo (entrenamiento, demo, normal,
emergencia)
• Clase de usuario (administrador, usuario,
cliente)
• Objetos (paciente, enfermera, sensor,
médico, medicinas)
• Función (llamada local, conferencia, etc)
• Estímulo (pérdida de altura, frenos
bloqueados, etc)
• Respuesta (generación de cheques de
pago, generación de listados, etc)
• Jerarquía funcional (funciones con las
mismas entradas, mismas salidas, o acceso
a los mismos datos)
Requerimientos específicos
8. ACTIVIDADESDELAINGENIERÍADEREQUERIMIENTOS
Actividades de la Ingeniería de Requerimientos
Extracción: Aquí, los analistas de
requerimientos deben trabajar
junto al cliente para descubrir el
problema que el sistema debe
resolver, los diferentes servicios que
el sistema debe prestar, las
restricciones que se pueden
presentar, etc.
Análisis: Sobre la base de la
extracción realizada previamente,
comienza esta fase en la cual se
enfoca en descubrir problemas con
los requerimientos del sistema
identificados hasta el momento.
Especificación: En esta fase se
documentan los requerimientos
acordados con el cliente, en un nivel
apropiado de detalle.
Validación: La validación es la etapa
final de la IR. Su objetivo es, ratificar
los requerimientos, es decir,
verificar todos los requerimientos
que aparecen en el documento
especificado para asegurarse que
representan una descripción, por lo
menos, aceptable del sistema que
se debe implementar.
9. LOSPROBLEMASDELAADMINISTRACIÓN
DEREQUERIMIENTOS
Los Problemas de la Administración de Requerimientos
Los requerimientos no son obvios y vienen de muchas fuentes.
Son difíciles de expresar en palabras (el lenguaje es ambiguo).
Existen muchos tipos de requerimientos y diferentes niveles de detalle.
La cantidad de requerimientos en un proyecto puede ser difícil de manejar.
Nunca son iguales. Algunos son más difíciles, más riesgosos, más
importantes o más estables que otros.
Los requerimientos están relacionados unos con otros, y a su vez se
relacionan con otras partes del proceso.
Cada requerimiento tiene propiedades únicas y abarcan áreas funcionales
específicas.
Un requerimiento puede cambiar a lo largo del ciclo de desarrollo.
Son difíciles de cuantificar, ya que cada conjunto de requerimientos es
particular para cada proyecto.
10. HERRAMIENTASUTILIZADASENLAINGENIERÍADE
REQUERIMIENTOS.
RequisitePro
RequisitePro(R) es la herramienta que ofrece
Rational Software para tener un mayor control
sobre los requerimientos planteados por el
usuario y todos aquellos requerimientos
técnicos o nuevos requerimientos de usuario
que surjan durante el ciclo de vida del proyecto.
DOORS
DOORS(R) es la herramienta de administración de requisitos
creada por Quality Systems and Software. Esta herramienta
permite capturar, relacionar, analizar y administrar un rango
de información para asegurar el cumplimiento del proyecto
en materia de requerimientos.
DOORS ayuda al usuario a procesar las solicitudes de
cambios de requerimientos en línea. Permite realizar
cualquier modificación vía remota cuando la base de datos
está off-line, incorporando sus actualizaciones a la base de
datos maestra. Esto hace más fácil la comunicación del
equipo con otras organizaciones, subcontratistas y
proveedores.
Herramientas utilizadas en la Ingeniería de Requerimientos.
Herramiento REM
Herramienta REMREM (REquirements Management) es una herramienta
experimental gratuita de Gestión de Requisitos
diseñada para soportar la fase de Ingeniería de
Requisitos de un proyecto de desarrollo software de
acuerdo con la metodología definida en la Tesis
Doctoral "Un Entorno Metodológico de Ingeniería de
Requisitos para Sistemas de Información", presentada
por Amador Durán en septiembre de 2000.