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