Definición de Perfiles en Herramientas de Gestión de Requisitos

Anuncio
Departamento de Lenguajes y Sistemas Informáticos
e Ingeniería del Software
Facultad de Informática
Universidad Politécnica de Madrid
Definición de Perfiles en Herramientas
de Gestión de Requisitos
Bárbara A. Mcdonald Landazuri
Programa de Doctorado
Edmundo Tovar Caro
Tutor
Campus de Montegancedo S/N, Boadilla del Monte, Madrid, España. Septiembre del 2005
Resumen
La Gestión de Requisitos es un componente vital en el desarrollo de un proyecto software ya que
provee la dirección y alcance del proyecto. El uso de herramientas para auxiliar la gestión de
requisitos se ha convertido en un aspecto importante de la Ingeniería de sistemas y el diseño.
Considerando el tamaño y la complejidad del desarrollo, las herramientas vienen siendo algo esencial.
Las herramientas que los gestores de requisitos utilizan para automatizar los procesos de Ingeniería de
Requisitos, han disminuido el trabajo duro en el mantenimiento de requisitos, añadido beneficios
significantes al reducir errores.
Los requisitos una vez establecidos y documentados, sufren cambios continuos, en este sentido, no
tratamos la obtención ni el análisis de los mismos, nos centraremos en su gestión, es decir, el
seguimiento respecto a los cambios que se generan durante el ciclo de vida del proyecto y las
herramientas de gestión de requisitos que auxilian y/o automatizan estas tareas.
La Ingeniería de Requisitos, sus procesos y actividades.
La Ingeniería de Requisitos es definida como:
“La Ingeniería de Requisitos trata con actividades en la cual intenta comprender las necesidades
exactas de los usuarios del sistema software, para traducir tales necesidades en instrucciones
precisas y no ambiguas las cuales podrían ser posteriormente utilizadas en el desarrollo del sistema”
[2]
La Ingeniería de Requisitos, disciplina de la Ingeniería de Software, es donde se identifica el propósito
del sistema, dirección y alcance. Consiste en un conjunto de actividades y transformaciones que
pretenden comprender las necesidades de un sistema software y convertir la declaración de estas
necesidades en una descripción completa, precisa y documentada de los requerimientos del sistema
siguiendo un determinado estándar. Los requisitos constituyen el enlace entre las necesidades reales de
los clientes, usuarios y otros participantes vinculados al sistema (stakeholders¹).
El proceso de Ingeniería de Requisitos, es un conjunto de actividades que son seguidas con el objetivo
de descubrir, modelar, validar y mantener un documento de requisitos. Este proceso debe lidiar con
diferentes puntos de vista, usar una combinación de técnicas, herramientas y personas. Todo este
proceso acontece en un universo de discurso con actores reales, por lo que se puede considerar un
proceso centrado en las personas.
El proceso de Ingeniería de Requisitos se adapta a los diferentes modelos de procesos de Ingeniería de
Software como pueden ser, de cascada, espiral, prototipado, transformacional, etc. (ver figura 1).
Figura 1. Modelo Espiral del Proceso de la Ingeniería de Requisitos [5].
Definición de Perfiles en Herramientas de Gestión de Requsitos
2
La Gestión de Requisitos
Los requisitos se inician cuando empieza un proyecto en las etapas de análisis y especificación de
requisitos, posteriormente, dichos requisitos en el ciclo de vida de un proyecto pueden ser modificados
por lo que se establece el concepto de Gestión de Requisitos, que es el tratamiento y control de las
actualizaciones y cambios a los mismos.
La Gestión de Requisitos en Ingeniería de Sistemas, es el proceso encargado de la identificación,
asignación y seguimiento de los requisitos, incluyendo el interfaz, verificación, modificación y control
el estatus a lo largo del ciclo de vida [7]. Es el conjunto de actividades que se concentra en el
aseguramiento de las especificaciones, por ejemplo, los requisitos que son reunidos para la satisfacción
del cliente. Es el proceso que inicia con la concepción de un proyecto y continua hasta el resultado
final del producto(s), después, ya no es necesario.
Debido a que un proyecto informático es susceptible de cambios, habría que proceder a su
actualización o a la incorporación de nuevas funcionalidades o eliminar otras, esto obliga a mantener
controlado y documentado el producto. Los cambios de requisitos deben ser gestionados para asegurar
que la calidad de los mismos se mantenga, los problemas suscitados por los cambios de requisitos
podrían incurrir en altos costos, siendo el requisito factor crítico de riesgo [9].
Tareas principales de la Gestión de Requisitos
ACTIVIDADES
Recolección
Documentación
Verificación
Gestión de
Cambios
DESCRIPCIÓN
Recolección y documentación de requisitos es una actividad de comunicación iterativa entre
clientes, gerentes y practicantes (stakeholders del proyecto), para descubrir, definir, refinar y
registrar una representación precisa de los requisitos del producto. Varios métodos son
utilizados para la recolección de requisitos. Algunos análisis iniciales como es la agrupación
categorización, priorización son desarrollados durante esta actividad
Después que los requisitos han sido recolectados, hay que analizarlos a detalle y
documentarlos en una especificación de requisitos. El resultado de la especificación de
requisitos y de cualquier especificación de requisitos de componentes hardware/software
derivado sirve como registro de convenio con el cliente y compromiso con el proveedor. Estas
especificaciones son rastreadas utilizando una matriz de trazabilidad de requerimientos y son
sujetos a verificación y gestión de cambio a través del ciclo de vida del producto.
Una vez que la especificación de requisitos ha sido desarrollada, los requisitos son verificados.
La verificación de requisitos es un proceso para asegurar que la especificación de requisito del
producto es una representación exacta de las necesidades del cliente. Este proceso también
asegura que los requisitos sean trazados y verificados atraves de varias fases del ciclo de vida;
particularmente en el diseño, implementación y pruebas. Los requisitos deben ser trazados
desde fuentes externas, tales como los clientes, para derivar requisitos del nivel del sistema,
para especificar requisitos del producto hardware/software.
Además, todos estos
requerimientos deben ser trazados al diseño, implementación y pruebas para asegurarse que
los requerimientos han sido satisfechos.
Gestión de cambios es un proceso formal para identificar, evaluar, trazar y reportar cambios
propuestos y aprobados a la especificación del producto. Como el proyecto va evolucionando,
los requerimientos pueden cambiar o expandirse para ajustar algunas modificaciones en el
alcance o diseño del proyecto. Un proceso de gestión de cambios proporciona un rastreo
completo y preciso de todos los cambios que son pertinentes al proyecto.
Figura 4. Las 4 principales actividades de la gestión de requisitos según [15]
Definición de Perfiles en Herramientas de Gestión de Requsitos
3
El proceso del ciclo de vida de la Gestión de Requisitos, debería ser flexible y adaptable para reunir
las necesidades del proyecto. Las características del alcance e implementación del proceso del ciclo de
vida de la Gestión de Requisitos en un proyecto, variará dependiendo de algunos factores claves [15]:
•
•
•
•
•
Tamaño y complejidad del proyecto,
Experiencia del personal del proyecto,
Experiencia de los clientes del proyecto,
Dominio de la aplicación,
El propósito y uso de esta aplicación.
La Gestión de Requisitos en la Práctica
La Gestión de Requisitos es una actividad que consume tiempo y debería ser desarrollada por aquellos
con un entrenamiento y/o experiencia adecuada. Antes de adentrarse en el proceso, se debe de
considerar lo siguiente [15]:
o
o
o
o
o
o
o
o
El equipo del proyecto entiende y sigue un apropiado ciclo de vida del proyecto,
Son involucrados en el proyecto clientes, usuarios, y todos los involucrados (stakeholders)
importantes,
La buena comunicación es importante durante el proceso de derivar requerimientos,
Es desarrollado un prototipo o una primera versión del sistema software adicional a un documento
de especificación, de tal manera que los requerimientos pueden ser mejor definidos antes de ser
considerados como línea base (baseline),
Se debe de mantener una lista de requerimientos en una base de datos donde se puedan manejar
mas fácilmente,
Se debe de implementar un proceso de gestión de la configuración de requerimientos,
No añadir ni cambiar requerimientos sin llevar un análisis de riesgos que determine el impacto en
un plan de proyecto y reestimación del costo y planeación del proyecto,
Algunas capacidades operacionales son entregadas durante el proceso de desarrollo con la
intención de añadir requerimientos nuevos.
Es necesario utilizar un método de trazabilidad de requerimientos a través del ciclo de vida del
producto. Este no es un proceso fácil, por tal motivo, se sugiere que se utilice una herramienta
automatizada [15].
Descripción de las Actividades de la Gestión de Requisitos [15]:
1.- Recolección de requisitos
1.1.- Planeación de Elicitación;
1.2.- Formatos de representación;
1.3.- Análisis de requerimientos inicial;
1.4.- Especificación de requerimientos;
2.- Documentación de requerimientos
2.1.- Formatos de representación;
2.2.- Análisis de requerimientos detallado;
2.3.- Especificación de requerimientos;
2.4.- Matriz de trazabilidad;
3.- Verificación de requerimientos;
3.1.- Verificación – una actividad del ciclo de vida;
3.2.- Revisión de la verificación ;
4.- Gestión de cambio de requerimientos;
4.1.- Proceso de control de cambio;
4.2.- Aceptación de la línea base (baseline);
Definición de Perfiles en Herramientas de Gestión de Requsitos
4
Visión de la Gestión de Requisitos dentro de los estándares
Actualmente no existe un estándar que proporcione una orientación o procedimiento exacto de como
gestionar requisitos, sin embargo, determinados procesos de ciertas normas o estándares utilizan el
proceso de requisito como punto de partida para iniciar un proyecto.
Norma ISO/IEC 12207 Information Technology – Software Life-Cycle Processes
Proceso del Ciclo de Vida del Software
Normas ISO/IEC TR 15504 Software Process Assessment
Valoración del Proceso Software
PMBOK Project Management Body of Knowledge
Gestión de Proyectos Cuerpo del Conocimiento
SWEBOK Guide to the Software Engineering Body of Knowledge
Guía del Cuerpo del Conocimiento de Ingeniería de Software
IEEE STD- 830-1998 Recommended Practice for Software Requirements Specifications
Prácticas Recomendadas para las Especificaciones de l os Requisitos Software
MIL-STD 490A Specification Practices
Estándar Militar - Prácticas de Especificación
MIL - STD 498 Software Development and Documentation
Estándar Militar – Desarrollo y Documentación de Software
Norma ESA PSS-05 European Space Agency
ISO/IEC 9126 Information Technology - Software Product Evaluation - Quality characteristics
and guidelines for their use - 1991.
CMMI Capabiliy Mature Model Integration
Definición de Perfiles en Herramientas de Gestión de Requsitos
5
Las Herramientas de Gestión de Requisitos
El uso de herramientas de de gestión de requisitos es alentado para mejorar tanto la productividad
como la calidad en el desarrollo de un proyecto software. Existen varias herramientas tanto hechas en
casa como en el mercado que auxilian a las tareas de gestión.
Lo que ha motivado a utilizar este tipo de herramientas es por la complejidad de gestión de los
requisitos. Un estudio realizado por Meta Group [11]descubrió que aproximadamente el 60-70% de los
proyectos de IT fallan por la pobre recopilación, análisis y gestión de requisitos, esto es porque el
éxito de un proyecto software, es aquel que satisface al usuario, si sus requisitos no son completamente
definidos y documentados puede afectar a todo el proyecto.
Las herramientas de gestión de requisitos son sofisticadas y complejas por la naturaleza del cual son
responsables, son finamente detalladas, sensitivos al tiempo, altamente con dependencia interna y
pueden estar continuamente en cambio. Estas herramientas que simplifican tareas complejas requieren
de habilidades y un entendimiento total de sus capacidades.
En cualquier proyecto de ingeniería de sistemas la gestión de requisitos es un atarea intensiva, debe de
disponer con la habilidad de relacionar diferentes documentos, de obtener una visión sinóptica de esta
relación de documentos, de crear reportes especiales de estos documentos, de controlar los cambios
hechos a través del conjunto de documentos de una manera consistente, de acomodar los requisitos
estructurados de documentos diversos y tipos de documentos.[12]
El uso de una herramienta de gestión de requisitos proporciona a la organización:
•
•
•
•
•
•
•
•
•
•
•
•
Ahorro en costes de especificación y de desarrollo minimizando el impacto de errores,
Mejora la calidad mediante un adecuado análisis y gestión de los requisitos,
Facilita la reutilización real,
Mejora la productividad facilitando la reutilización real desde la especificación,
Reduce las no-conformidades del sistema.
Permite controlar la especificación,
Permite administrar más fácilmente la especificación,
Ayuda a cumplir con estándares de calidad,
Proporciona un repositorio no propietario de especificación,
Permite centralizar toda la información del problema,
Permite especificar sistemas de una forma estructurada y gráfica,
Proporciona una trazabilidad completa de la especificación, etc.
Funcionalidades de las Herramientas de Gestión de Requisitos
La mayoría de las herramientas de gestión de requisitos en el mercado realizan principalmente las
mismas funciones. Estas herramientas permiten a los desarrolladores del sistema a importar grandes
documentos de una variedad de formatos estándar de procesadores de palabras. Los elementos del
documento están sujetos a rigurosos cambios y a un régimen de control de versiones. Se puede
establecer una relación entre los elementos del documento, y los atributos pueden ser asociados con
los elementos del sistema y a menudo relacionados. Pueden ser generados una variedad de vistas de
documentos utilizando tanto los atributos como las relaciones, generalmente vistas específicas de
trazabilidad tales como matrices de trazabilidad. De la misma manera, plantillas de documentos
pueden ser configuradas para crear nuevos documentos compuestos.
Las herramientas de gestión de requisitos son genéricas, esto es que necesitan ser configurados para
soportar ingeniería de requisitos específicos y procesos de desarrollo de sistemas. Dichas
configuraciones son soportadas por la creación de plantillas de documentos, esquemas/diseño de
atributos y tipos de relación y vistas de documentos. La mayoría de las herramientas son vendidas
incluyendo algunos procesos tales como aquellos que son establecidos por los estándares IEEE y DoD.
[12]
Definición de Perfiles en Herramientas de Gestión de Requsitos
6
Funciones Básicas
INCOSE (Requirements Working Group paper, Jones et al 1995) identificó las siguientes
características básicas necesarias para una herramienta para ser considerada como una herramienta de
Gestión de Requisitos:
o
o
o
o
identificación de requisitos "individuales”
asignación a un destino y clasificación de requisitos
grupo de requerimientos (recopilación), revisión, identificación / punto de arranque
proveer un interfaz de datos básicos.
Una herramienta de Gestión de Requisitos puede soportar la disciplina de ingeniería y la disciplina de
gestión para gestionar requisitos, así mismo, una herramienta debe poder coleccionar y gestionar los
requisitos técnicos y programáticos. Funciones comunes realizadas por la herramienta, consisten en la
identificación de requisitos, revisión y edición, rastreo de requisitos a su origen, y generación de
informes.
Funciones técnicas requeridas por las herramientas incluye análisis del impacto del cambio. Cuando un
requisito es cambiado, se deben de identificar todos los requisitos afectados. Otra función beneficiosa
ha ser utilizada es la verificación de la integridad y la consistencia. La función de gestión requerida
por las herramientas consiste en la recopilación de métricas y supervisión de la estabilidad de los
requerimientos a través del control de cambio. Control de cambio, consiste en mantener la pista de
añadir, borrar o cambiar cualquier requisito existente. [16]
Funciones Auxiliares
Algunas herramientas comerciales incluyen como funciones auxiliares, análisis funcional y
capacidades de simulación, cualquier construcción en la herramienta o en la forma de un producto
compañero estrechamente integrados con el cual la herramienta hace el interfaz
Cuando las funciones auxiliares son incluidas en una herramienta las interfaces asociadas están
generalmente ocultas. Por una parte, la integridad de la interfaz puede ser bueno porque todos los
aspectos son controlados por un proveedor, pero por otro lado, una de las ventajas de la interfaz de una
herramienta está perdida - la habilidad de utilizar herramientas alternativas para una función dada.
Detalle de Funcionalidades
Tomando como referencia el estudio realizado por INCOSE [16], donde compara 15 herramientas
comerciales en función de si soportan o no 14 funcionalidades generales divididas a su vez en
funcionalidades más específicas:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Captura e identificación de requisitos
Captura de la estructura de los elementos del sistema
Flowdown de los requisitos
Análisis de trazabilidad
Gestión de la configuración
Documentos y otros dispositivos de salida
Groupware
Interfaz con otras herramientas
Ambiente del sistema
Interfaz del usuario
Estándares con los que cumplen
Soporte y mantenimiento
Entrenamiento
14. Qué otras características de gestión de requisitos creen importantes
Definición de Perfiles en Herramientas de Gestión de Requsitos
7
Herramientas de Gestión de Requisitos en el Mercado
Las herramientas seleccionadas proporcionan casi todas las necesidades básicas exigibles a una
herramienta de gestión de requisitos para que sea incorporada por las empresas. Además, estas
herramientas están ampliamente difundidas y son muy reconocidas, como demuestra el hecho de que
aparecen siempre en todas las comparativas que estudiamos, como por ejemplo en [6,18], así mismo,
tienen un amplio soporte de las empresas que las desarrollan, y lo que es más importante tienen la
posibilidad de ampliar la funcionalidad
En general, todas se basan en sistemas centralizados de gestión de bases de datos para almacenar la
información correspondiente a los requisitos, que suelen consistir en párrafos de texto libre con una
serie de atributos predefinidos y a los que la mayoría de herramientas permiten asociar nuevos tipos de
atributos por parte del usuario. Todas las herramientas asumen que la estructura de los requisitos es
jerárquica, de forma que un requisito puede estar formado o tener asociados otros requisitos de nivel
inferior, y la mayoría permite extraer párrafos de ficheros generados por procesadores de texto
comerciales y convertirlos en requisitos.
Otras de las características comunes a la mayor parte de las herramientas es la posibilidad de realizar
consultas sobre los requisitos en función de determinados valores de sus atributos.
Para analizar algunas herramientas de gestión de requisitos, nos basamos en la encuesta realizada por
INCOSE [6]. Seleccionamos 4 de las herramientas que cumplen con la mayoría de las funciones:
IBM Rational RequisitePro
IRqA 3.0
CaliberRM
DOORS ERS
Algunas características de estas herramientas son las siguientes:
•
RequisitePro, es una herramienta centrada en documentos, que almacena los requisitos
asociándolos a documentos (aunque también permite guardarlos directamente en la base de datos),
mientras que las otras herramientas están orientadas a requisitos. Auxilia especialmente en el
control de cambio de requisitos, con trazabilidad para especificaciones de software y pruebas. Está
muy unido a MS Word ya que es partner de Microsoft Development. La herramienta permite el uso
de Oracle soble Unix o Windows como “back-end database” y también soporta SQL Server
sobre windows.
•
IRqA es una herramienta de ingeniería de requisitos especialmente diseñada para soportar el
proceso completo de ingeniería de requisitos. En IRqA el ciclo de especificación completo incluye
la captura de requisitos, análisis, especificación de sistema, validación y la organización de
requisitos es soportada por modelos estándares [18].
•
CaliberRM es para sistemas grandes y complejos y proporciona una base de datos de
•
DOORS a diferencia del resto de las herramientas, considera los requisitos como objetos y los
documentos como módulos. Tiene una orientación basada en objetos, frente a RequisitePro y
Caliber-RM, que manejan solamente requisitos y sus atributos. Es una herramienta para
organizaciones grandes que necesitan controlar complejos conjuntos de usuarios y requisitos de
sistemas con una completa trazabilidad. Proporciona buena visualización de tales documentos
requisitos con trazabilidad. La compañía ve a los requisitos como parte del proceso de
gestión de la calidad del software, el cual es considerado también, las pruebas (testing) y el
trazado de defectos (defect tracking). Caliber está basdo en internet y maneja referencia de
documentos, responsabilidad de usuario, trazabilidad, prioridad y estado entre otras
características.
Definición de Perfiles en Herramientas de Gestión de Requsitos
8
como jerárquicas, y su lenguaje de
herramientas a ser construidas.
extensión permite una gran variedad de soporte de
Otro estudio realizado por TCP Sistemas e Ingeniería [29] compara estas mismas herramientas
dividiendo aspectos técnicos como son ambiente de trabajo, captura e identificación de requisitos,
modelo del dominio del problema, captura de la estructura del sistema, trazabilidad, gestión de la
configuración, etc., algunas diferencias de cada herramienta lo muestra la siguiente tabla:
Añadir Requisitos de otra Herramienta
IRqA
A través de APIs de
la herramienta que
posibilita extender las
funciones y acceder a
inf. de otras
herramientas (COM,
Java)
Rational Requisite
Pro
De MsWord y
utilizando
RequisitePro
Extensibility Interface
(COM API)
DOORS/ERS
CaliberRM
De MSWord
utilizando un módulo
adicional
(DOORSRequireIT)
A través de
CaliberRM Software
Development Kit
(SDK) (API COM, API
Java y Vendor Addin- Moddule Interface)
DOORS/ERS
CaliberRM
Es posible insertando
imágenes y objetos
OLE en la descripción
de requisitos
Permite la asociación
de requisitos a través
de referencias tab:
archivos guardados
en disco, de testo,
URLs
Asociación de Requisitos con Archivos Externos
IRqA
Es posible a través de
archivos guardados
en disco, archivos
localizados y
controlados por
software
Configuration
Management
Tool/System o
WebPages (URLs)
Rational Requisite
Pro
No es posible asociar
archivos externos con
requisitos.
Definición de Perfiles en Herramientas de Gestión de Requsitos
9
Clasificación de Requisitos
IRqA
Clasificación
jerárquica.
Clasificación de
requisitos basada en
la relación de
trazabalidad existente
entre ellos.
Clasificación basada
en el dominio o
gestión de atributos.
Clasificación basada
en atributos definidos
por el usuario.
Clasificación basada
en la partición de
acceso, en el
subsistema y relación
con otros elementos
de la especificación.
Rational Requisite
Pro
Clasificación
jerárquica.
Clasificación basada
en el tipo de requisito.
Clasificación basada
en los atributos de
requisitos.
DOORS/ERS
CaliberRM
Clasificación
jerárquica.
Clasificación basada
en los atributos de
requisitos.
Clasificación
jerárquica.
Clasificación basada
en el tipo de requisito.
DOORS/ERS
CaliberRM
No pose las
habilidades de
modelar el dominio
del problema.
Dispone de creación
de módulos que
incluye los elementos
del dominio y sus
definiciones, para
crear un modelo
gráfico.
No pose las
habilidades de
modelar el dominio
del problema.
Dispone de una
creación de glosario,
en el cual con sus
términos puede
representar los
elementos del
dominio del problema
y sus definiciones.
Modelo del Dominio del Problema
IRqA
Dispone de la
construcción y
modelo del dominio
del problema
utilizando:
- conceptos: elementos
del dominio del
problema
representados a través
de clases
conceptuales.
- Diagramas de
concepto:
representación gráfica
del dominio del
problema.
Rational Requisite
Pro
No pose las
habilidades de
modelar el dominio
del problema. Sin
embargo dispone de
documentos tipo
glosario que reúne
elementos del
dominio y sus
definiciones. Permite
establecer relación de
trazabilidad entre
términos del glosario
y requisitos del
proyecto.
Definición de Perfiles en Herramientas de Gestión de Requsitos
10
Trazabilidad, creación de relaciones y visualización
IRqA
Permite la creación
de relación de
trazabilidad entre
requisitos y:
-otros requisitos
-elementos del
dominio del problema
(conceptos, entidades)
-elementos de la
especificación de la
solución
-escenarios
-IRqA test cases y
TestDirectos tests
-clases de
implementación
-código fuente a
través de la
asociaciñon con
archivos externos
VISUALIZACION
-vistas de elementos
relacionados
-matriz de
trazabilidad
Rational Requisite
Pro
Permite la creación de
relaciones de
trazabilidad entre los
tipos de requisitos
gestionados por
RequisitePro
VISUALIZACION
-propiedades de los
requisitos
-matriz de
trazabilidad
Definición de Perfiles en Herramientas de Gestión de Requsitos
DOORS/ERS
CaliberRM
Permite la creación de
relación de
trazabilidad entre
cualquier par de
objetos contenidos en
cualquier módulo
dentro del repositorio
de DOOR. La relación
entre objetos está
definida por el
usuario en el link de
módulos. Son
establecidos
diferentes tipos de
relaciones entre un
par de módulos (entre
sus objetos) . Permite
la definición de
atributos por cada
tipo de relación. La
relación puede ser
establecida desde:
-los módulos que
contienen los objetos
que el usuario quiere
relacionar
-desde linkset of link
module.
Permite el
establecimiento de
relación de
trazabilidad a través:
-Trazabilidad tabs:es
posible establecer
trazabilidad entre
requisitos y requisitos
del proyecto
-Matriz de
trazabilidad
11
Validación de la especificación
IRqA
Los requisitos del
usuario y los de la
especificación de la
solución son
gestionados, esto
proporciona algunas
herramientas para
verificar que todos los
requisitos son
satisfechos y donde
(en que parte de la
solución). Por lo tanto
no es necesario
utilizar herramienta
externa. También es
fácil descubrir los
elementos de la
especificación que no
están relacionados con
ningún requisitos
Rational Requisite
Pro
La validación de la
especificación puede
ser hecha a través de
la matriz de
trazabilidad entre la
especificación de
casos de uso (UCS) y
documentos tipos
Vision (VIS).
DOORS/ERS
CaliberRM
La validación de la
especificación puede
ser realizada a través
del monitor de
trazabilidad y en
general a través del
monitoreo de
trazabilidad entre
objetos.
Permite describir el
proceso de
valiadación
textualmente a través
de “Validation” tab,
asociada a cada
requisito
Rational Requisite
Pro
No ofrece soporte a
pruebas, es necesario
utilizar herramientas
externas.
DOORS/ERS
CaliberRM
No ofrece soporte a
pruebas, es necesario
utilizar herramientas
externas.
Proporciona soporte a
las pruebas mediante
la integración con
TestDirector
Soporte de Pruebas
IRqA
Ofrece un soporte
específico para las
pruebas de aceptación
a través de “Test
Scenario View” en el
cual están definidas
las pruebas de
aceptación y todos sus
atributos:
-pruebas de ambiente
físicas y lógico
-responsabilidades
-condiciones pre y
post
-etc
Con la integración con
TestDirector permite
trazar requisitos y
servicios
Definición de Perfiles en Herramientas de Gestión de Requsitos
12
Casos Prácticos en el uso de Herramientas de Gestión de Requisitos
Las herramientas de gestión de requisitos disponibles actualmente requieren un alto grado de conocimiento,
no solo en la aplicación potencial de la herramienta si no también en el uso real de la propia base de la
herramienta. Una aplicación exitosa de una herramienta de gestión de requisitos implica conocimiento en
desarrollo de requisitos y también conocimientos de diseño y aplicación
de base de datos.
Desafortunadamente, los ingenieros de requisitos se dan en ocasiones la tarea de diseñar la estructura de la
base de datos de los requisitos y esto puede conducir a una falla fatal de la inexperiencia de diseño de
procedimientos complejos, así mismo, causando efectos negativos en la funcionalidad de la base de datos y
de la integridad de los datos [17].
3.3.1.- Caso 1. The Software Assurance Technology Center (SATC) de la NASA Goddard
Space Flight Center,
La función de The Software Assurance Technology Center (SATC) de la NASA Goddard
Space Flight Center, es el de evaluar continuamente las actividades de los requisitos de
proyectos multimillonarios, específicamente las herramientas de gestión de base de datos de
requisitos; ha realizó un estudio [19] para identificar las principales fallas en el uso de la
herramienta de gestión de requisitos que causan pérdidas de datos, pérdidas de la integridad
de los datos y pérdida de la funcionalidad de la herramienta. Así mismo muestra que teniendo
juntos a ingenieros y diseñadores de base de datos para definir el uso de la herramienta es
obligatorio; y que cada experiencia y especialización de la disciplina es requerida para el éxito
de la implementación de la herramienta. Resalta que los diseñadores de base de datos y los
ingenieros de requisitos deben de trabajar como un equipo; los diseñadores de base de datos o
personal familiarizado con el diseño de base datos y su uso necesitan estar en el diseño de la
implementación del esquema de la herramienta de gestión de requisito
3.3.2.- Caso 2. Organización de Defensa Australiana (ADO)
En otro estudio realizado por una Organización de Defensa Australiana(ADO) [26], resalta
las necesidades de los usuarios y criterios de evaluación de una Herramienta de Gestión de
Requisitos. Se mencionan diferentes escenarios, casos y puntos de vista de usuarios para la
concepción y manipulación de requisitos auxiliados de una Herramienta
3.3.3.- Caso 3. TCP Sistemas e Ingeniería
El siguiente caso es publicado por TCP Sistemas e Ingeniería [28] donde describe de que
forma da soporte a las actividades de una metodología para la sistematización de las
actividades que dan soporte al ciclo de vida del software llamada MÉTRICA 3, desarrollada
por el Ministerio de Administraciones Públicas español.
La metodología Métrica Versión 3 tiene un enfoque orientado al proceso: clasifica y define los
procesos del ciclo de vida del software. Se identifican tres procesos principales:
• Planificación de Sistemas de Información.
• Desarrollo de Sistemas de Información.
• Mantenimiento de Sistemas de Información.
Definición de Perfiles en Herramientas de Gestión de Requsitos
13
Conclusiones
En este trabajo de investigación se ha pretendido resaltar le diferencia entre lo teórico y lo práctico del
proceso de gestión de requisitos y específicamente en las funcionalidades de una herramienta de esta
índole. La visión que tienen muchos desarrolladores es que todo lo relacionado con los requisitos no es
más que la generación de documentación que nadie lee, exigida por los estándares que han de seguir o
por los procesos de calidad implantados en su organización.
Afortunadamente cada vez existen mas congresos de Ingeniería de Requisitos que exponen sus temas
con proyectos reales dando a conocer los beneficios que conlleva el automatizar los procesos de
ingeniera de requisitos.
Valorando los beneficios contra las pérdidas de tiempo, costo y fracasos en proyectos software se está
adquiriendo conciencia en la utilización de herramientas de ingeniería de requisitos, que en un futuro
próximo habrá de incorporarse nuevas funcionalidades que se detecten como necesarias
con la experiencia de su utilización.
Definición de Perfiles en Herramientas de Gestión de Requsitos
14
Referencias
[1].
[2].
[3].
[4].
[5].
[6].
[7].
[8].
[9].
[10].
[11].
[12].
[13].
[14].
[15].
[16].
[17].
[18].
[19].
[20].
[21].
[22].
[23].
[24].
[25].
[26].
[27].
[28].
[29].
Zave, P. (1994); Call for Papers and Associated Classification Scheme; IEEE International Symposium
on Requirements Engineering 1995.
Loucopoulos, P; Karakostas, V. (1995); System Requirements Engineering McGraw-Hill, 1995
SWEBOK 2004 A project of the IEEE Computer Society Professional Practices Committee
CMMI Capability Maturity Model Integration (CMMISM )
Kotonya, G., Sommerville, P. (1997) Requirements Engineering : Processes and Technoques. John
Wiley & Son
INCOSE Requirements Management Tools Survey
IEEE Software Requirement Engineering, Second Edition, Editado por Richard H. Thayer y Merlin
Dorfman, IEEE Computing Society, New York, NY. 1997
Wiegers Karl E. Software Requirements: Practical techniques for gathering and managing requirements
throughout the product development cycle. Microsoft Press, 2003.
Sommerville, I. and Sawyer P. Requerimentes Engineering: A Good Practice Guide. Johm Wiley and
Sons,1997
PMI Project Management Institute. A Guide to the Project Management Body of Knoledge PMBOK
2000.
Meta Group, Marzo 2003
Anthony Finkelstein & Wolfgang Emmerich (University College London, Dept. Computer Science.)
Paper “The Future of Requirement Management Tools”
Glass, R. L. (2002). Software Engineering: Facts and Fallacies.
"Software Requirements: Objects, Functions and States", Davis, A. M., Prentice Hall, Englewood Cliffs,
NJ, 1993 (pg. 27)
Guideline for Requirement Management, U.S. Department of Energy, April 2000
Interfacing Requirements Management Tools In The Requirements Management Process - A First Look
Published in Proceedings of the Seventh International Symposium of the INCOSE - Volume II, August
1997. A Requirements Working Group Information Report)
Marconi, Requirements and Traceability Management, Marconi Systems Technology, 1994
Alexander, Ian. Requirements Engineering Tool Vendors and Freeware Suppliers.
http://easyweb.easynet.co.uk/~iany/other/vendors.htm
T. Hammer NASA GSFC and L. Huffman SATC/Unisys, Proceedings of the 3er. International
Conference on Requirement Engineering (ICRE ´98), “Automated Requirements Management – Beware
HOW You Use Tools An Experience Report”
Paulk, M., Weber, Ch., Garcia, S., Chrissis, M. and Bush, M.Capability Maturity Model for Software,
Versión 1.1, Technical Report CMU/SEI 93 TR-25, February 1993.
ISO/IEC 15504. Information technology – Software process assessment. 1998.
ISO/IEC 12207. Information technology – Software Life Cycle Processes. 1995.
P. Bourque, R. Dupuis, y A. Abran. The Guide to the Software Engineering Body of Knowledge. IEEE
Software, 16(6), Septiembre/Diciembre 1999.
M. Ruggier. PSS–05 User Requirements Document Template, 1998.
Software Engineering Standards”, C.Mazza, JFairclough, B.Melton, D. dePablo, A.Scheffer, R.Stevens,
Prentice Hall. 1994.
Andrew P. Gabb, Neelan Maheswaran y Alan M. Allwright . ”Requirements Management Tools
Evaluation User Needs and Evaluation Criteria”. DSTO Electronics and Surveillance Research
Laboratory. Salisbury South Australia 5108
IEEE Std 830-1998 Recommended Practice for Software Requirements Specifications
www.irqaonline.com RE documents “Soporte IRqa a METRICA3”
www.tcpsi.com TCP Sistemas de Ingeniería “Comparative Study Between Requirements Management
anda Engineering Tools”
Definición de Perfiles en Herramientas de Gestión de Requsitos
15
Descargar