(Viene de la página anterior)
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Los requisitos cambian y esto persiste a lo largo de la vida del sistema. Los cambios ocurren por:
Los cambios deben controlarse y documentarse. Hay que convivir con el cambio. Por lo tanto, es esencial planear posibles cambios a los requerimientos cuando el sistema sea desarrollado y utilizado. Por tanto la gestión de los requisitos del software, de su evolución es un proceso externo que ocurre a lo largo del ciclo de vida del proyecto.
La Gestión de Requisitos es el conjunto de actividades que ayudan al equipo de trabajo a identificar, controlar y seguir los requisitos y sus cambios en cualquier momento. O sea, básicamente, consiste en gestionar los cambios a los requisitos acordados, las relaciones entre ellos, las dependencias entre la Especificación de Requisitos del Software (ERS) y otros documentos producidos por el proceso de desarrollo de software. Esta actividad asegura la consistencia entre los requisitos y el sistema construido (o en construcción). Consume grandes cantidades de tiempo y esfuerzo. Abarca todo el ciclo de vida del producto. Es una actividad necesaria porque:
La gestión de requisitos implica:
Cambios a los requisitos involucra modificar el tiempo en el que se va a implementar una característica en particular, modificación que a la vez puede tener impacto en otros requerimientos. Por esto, la gestión de cambios involucra actividades como establecer políticas, guardar históricos de cada requerimiento, identificar dependencias entre ellos y mantener un control de versiones.
Como ya se ha expuesto, es vital planificar los cambios, de acuerdo a las prioridades que los clientes determinen durante la identificación. Hay que aprobar los mecanismos para la configuración del cambio y las políticas de trazabilidad.
Desde el inicio hay que establecer la conformación de la línea base de requisitos, como un canal simple para el control de cambios, que se podrá usar para "capturar" nuevos cambios.
Línea base de requisitos
Es el conjunto de requisitos funcionales y no-funcionales que el equipo del proyecto se ha comprometido a implementar en una release específica. Es una versión aprobada de la especificación de requisitos del software.
Los requisitos antes de entrar en la Línea Base deben ser sometidos a un procedimiento de revisión formal (con su aprobación para ser incluido en la línea base). Una vez entrado el requisito en la línea base cualquier cambio debe someterse al procedimiento de control de cambios.
Es adecuado que el documento de requisitos que se esté elaborando previo a entrar en la línea base esté sometido a un procedimiento de control de versión (para distinguir versiones borradores de versión aprobada).
Canal y control de cambios
En vista que las peticiones de cambios provienen de muchas fuentes, las mismas deben ser enrutadas en un solo proceso. Esto se hace con la finalidad de evitar problemas y conseguir estabilidad en los requerimientos.
La identificación del cambio se inicia desde el análisis de requisitos, nuevas necesidades del cliente, problemas operacionales; después se realiza el análisis del cambio y evaluación de costos, debiendo quedar claro cuántos requisitos se verán afectados y cuánto costará (tiempo y recursos); sólo después se toma la decisión de la implementación del cambio, que será documentado al ser realizado. Obsérvense las figuras 1 y 2.
Figura 1 Canal de cambios.

Figura 2 Proceso de control de cambios.

La gestión de los cambios se realiza de acuerdo a las prioridades, debiéndose identificar problemas y causas por los que se produce el cambio; analizar el impacto y el costo del cambio y finalmente, tomada la decisión, ejecutar (proceder con) el cambio.
Aspectos a considerar para la aprobación de un cambio solicitado:
Las solicitudes de cambios, desde el momento en que son comunicadas hasta su implementación, transitan por diferentes estados en el que intervienen los implicados asumiendo diferentes roles. Obsérvense la figura 3 y la tabla 1.
Ejecución de los cambios
Aprobado el cambio se procede a su implementación, de acuerdo a la fase del proyecto a que corresponda. En caso de que los cambios aprobados:
Trazabilidad
Los requisitos deben ser "rastreables": por su origen (¿quién lo propuso?); necesidad (¿por qué existe?); por su relación con otros requisitos; por su relación con elementos del diseño y/o la implementación. Esta información es útil para saber qué afecta un cambio en un requisito. Para resolver esta necesidad se usan las matrices para el seguimiento de los requisitos, entre ellas:

Figura 3 Posibles estados de una petición de cambio
Tabla 1 Posibles roles en el procedimiento de control de cambios.
|
Rol |
Descripción |
|
Grupo de control de cambios (GCC) |
Grupo de personas que deciden aprobar o rechazar las peticiones de cambios para un proyecto específico. |
|
Promotor del cambio |
Persona autorizada que solicita la petición de cambio de requisitos. |
|
Evaluador |
Persona que analiza el impacto de la petición de cambio (puedes ser técnico, martketing, cliente o combinación). |
|
Modificador |
Persona que realiza el cambio como consecuencia de una petición de cambio aprobada. |
|
Verificador |
Persona que determina si el cambio se ha realizado correctamente. |
|
Validador |
Persona del cliente que valida la implementación del cambio realizado. |
En [Edwards, 1991] la trazabilidad está definida como una técnica usada para "proveer una relación entre requisitos, el diseño y la implementación final del sistema". En [Palmer, 1997] se establece que "la trazabilidad da asistencia esencial en el entendimiento de las relaciones que existen entre y a través los requisitos, el diseño y la implementación".
Estas relaciones permiten mostrar que el diseño cumple con los requisitos funcionales y ayudan al reconocimiento temprano de aquellos requisitos que no son satisfechos por el diseño.
Control de versiones (evolución en el tiempo de la ERS)
Habitualmente la ERS necesitará ser modificada a medida que progresa el producto software, como resultado de los cambios aprobados en requisitos individuales o grupos de ellos. En la medida en que la especificación sea más completa, como consecuencia de que sus requisitos fueron especificados lo más completamente posible, menos versiones de la ERS habrá que producir.
Entre algunos de los beneficios que proporciona el control de versiones están:
Tener versiones de los requerimientos es tan importante como tener versiones del código, ya que evita tener requerimientos emparchados en un proyecto.ç
Para la trazabilidad y el control de versiones se realiza la identificación y almacenamiento de requisitos. Cada requisito y cada versión de ERS aprobada tendrán un identificador único.
Cuando la Gestión de los Requisitos no se hace bien, de inmediato aparecen síntomas:
¿Por qué se debe tener cuidado? Porque:
Buenas prácticas de la actividad de gestión de requisitos.
El proyecto puede responder frente a petición de nuevos requisitos o petición de cambios en los requisitos de diferentes maneras:
Ninguna aproximación es universalmente correcta porque cada uno de los proyectos es diferente (características, presupuesto, calendario, recursos y calidad).
Independientemente a cómo se responda a los cambios de los requisitos, lo que realmente importa es ajustar las expectativas y los compromisos cuando sea necesario.
Las gestión de requisitos tiene como salidas los cambios aprobados y no aprobados, informes acerca del estado del proceso, de actividades o requisitos, resultados de análisis de matrices y otros.
El procedimiento propuesto en este artículo está diseñado para ser desarrollado durante todo el ciclo de vida del proyecto software y permite gestionar la obtención incremental de los requisitos y los inevitables cambios a los que están sujetos desde la fase de IR y en el resto del ciclo de vida del proyecto
También se establecen mecanismos que garantizan la trazabilidad de los requisitos a lo largo de todo el ciclo de vida, hacia atrás, hacia delante y entre ellos.
Esto permite proveer una relación entre requisitos, diseño e implementación del sistema y el reconocimiento temprano de aquellos que no son satisfechos.
Constituye un instrumento estratégico con enfoque proactivo, que permite al gestor del proyecto adoptar, desarrollar e implementar adecuadamente las actividades de gestión de los requisitos de una forma disciplinada, coherente y repetitiva.
Una eficiente gestión de requisitos a lo largo de todo el ciclo de vida del proyecto contribuye eficazmente a la calidad del producto final y al grado de satisfacción del cliente.
[Boehm, 1988]: Boehm, B.: "A Spiral Model of Software Development and Enhancement". IEEE Computer. Vol. 21, # 5. 1988.
[DoD, 1994]: DoD. Military Standard 498: Software Development and Documentation. Departament of Defense of the United States of America, 1994.
[Durán, 2002]: Durán, A., Bernández, B.: "Metodología para la Elicitación de Requisitos de Software", Universidad de Sevilla. 2002.
[Edwards, 1991]: Edwards M., Howell S.: A methodology for system requirements specification and traceability for large real- time complex systems. Technical Report, Naval Surface Warfare Center, 1991.
[García, 2000]: García Ávila, Lourdes. Modelo para la evaluación de la calidad del análisis y diseño orientados a objetos de sistemas informáticos (CADOOSI). Tesis de doctorado. Universidad Central de Las Villas, 2000.
[Jacobson, et al., 1998]: Jacobson, I., Booch, G., Rumbaugh, J.: "The Unified Software Process". Adison- Wesley. 1998.
[Leffingwell y Widrig, 2003]: Leffingwell, Dean, Widrig, Don. "Managing Software Requirements". Second Edition. Addison-Wesley 2003.
[Minasi, 2000]: Minasi, Mark: The Software Conspiracy: Why Sftware Companies Put Out Faulty Products, How They Can Hurt You, and What You Can Do. McGraw-Hill, 2000.
[Palmer, 1997]: Palmer J. D.: Traceability in Software Requirements Engineering, R.H. Thayer and M. Dorfman (Eds), IEEE Computer Society Press, 1997. (364:374).
[Pressman, 2002]: Pressman, Roger S.: "Ingeniería de Software. Un enfoque práctico." Quinta edición. McGraw-Hill. Madrid. 2002.
[Rational, 2001]: Rational Unified Process. Rational Software Corporation. "Rational Unified Process". Version 2001A.04.00, Copyright 1987-2001.
[Sawyer y Kontoya, 1999]: Sawyer, P. y Kontoya, G.: SWEBOK: "Software Requirements Engineering Knowledge Area Description". Informe Técnico Versión 0.5, SWEBOK Project, 1999. Disponible en http://www.swebok.org.
[Sommerville, 2005]: Sommerville, Ian: "Software Engineering". 7th. Edition. Addison-Wesley 2005.
[SWEBOK, 2004]: Guide to the Software Engineering Body of Knowledge. IEEE Computer Society Order Number C2330, ISBN 0-7695-2330-7, Library of Congress Number 2005921729. 2004.
Ing. Leidy Fernández Sánchez.
leidy[arroba]cfg.etecsa.cu
Empresa de Telecomunicaciones de Cuba S. A. Cuba
Dra. Lourdes García Ávila.
Dpto. Ing. Industrial.Universidad Central "Martha Abreu" de Las Villas. Cuba
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Software |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.