Sei sulla pagina 1di 9

57

GESTIN DE REQUISITOS EN LA INGENIERA DE SOFTWARE


Mg. Fabio Garcia Ramirez
Ingeniero de Sistemas, Magster en Sotfware Libre, Docente Catedrtico del Programa
Ingeniera de Sistemas de La Universidad de San Buenaventura Cartagena fagarra@gmail.com, Mvil 3103612281
Mg. Plinio Puello Marrugo
Ingeniero de Sistemas, Magister en Sotfware Libre, Coordinador del Programa Ingeniera
de Sistemas de la Universidad de San Buenaventura - Cartagena
pliniopuello@gmail.com, Mvil 3014103623
Recibido: noviembre 4 de 2009
Aprobado: noviembre 27 de 2009
RESUMEN
La gestin de requisitos en la Ingeniera de Software, se ha constituido en una de las
principales estrategias para garantizar desde las primeras etapas del proceso de desarrollo
de software, la calidad de las aplicaciones resultantes. El artculo presentar los referentes
conceptuales de la gestin de requisitos en la Ingeniera de Software, desde la perspectiva
de la Ingeniera de Requisitos, teniendo en cuenta el trabajo de investigacin desarrollado
por los autores en su tesis de Maestra en Software Libre (Garca y Puello, 2009).
PALABRAS CLAVE: Ingeniera de Requisitos, Tipos de Requisitos, Procesos de la
Ingeniera de Requisitos, Gestin de Requisitos
MANAGEMENT OF REQUIREMENTS IN THE ENGINEERING SOFTWARE
ABSTRACT
Requirements management in software engineering, has become one of the main strategies
to ensure from the earliest stages of software development, quality of the resulting
applications. The article presents the conceptual concerning requirements management in
software engineering from the perspective of the Requirements Engineering, taking into
account the research work developed by the authors in his Master's thesis on Free Software
(Garcia and Puello 2009).
KEYWORDS: Requirements Engineering, Types
Requirements Engineering, Requirements Management

of

Requirements,

Processes

INTRODUCCIN
Los requisitos son la parte ms incomprendida de la Ingeniera de Software y sin embargo,
es la ms crucial. Estudios apuntan a que ms del 60% de la fallas en los proyectos de
software en los Estados Unidos, se deben a una pobre definicin de requisitos,

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

58

encontrndose dentro de las 5 razones ms comnmente de fracaso de dichos


proyectos(SWEBOK, 2004).
La gestin de requisitos es una parte importante de una organizacin que desarrolla sus
propios proyectos de software, puesto que es vital para reducir los riesgos inherentes a
ellos.
Las prcticas de gestin efectiva de los requerimientos aseguran que nicamente los
requisitos necesarios estn disponibles a todos los miembros del equipo del proyecto y que
los cambios sean realizados bajo circunstancias controladas. Los requisitos que son
acordados y aprobados por todos los stakeholders del proyecto, contribuirn a garantizar
que los objetivos establecidos se cumplan.
Mantener un repositorio actualizado de los requisitos, permite a los miembros del equipo
del proyecto trabajar de manera ms eficiente. Analizar el impacto de los cambios a los
requisitos antes de que estn constituidos, y alertar a los miembros del equipo de proyecto
cuando se modifiquen permite que el cambio sea administrado con mayor eficacia.
INGENIERA DE REQUISITOS
La Ingeniera de Requisitos es el proceso de descubrir, analizar, documentar y verificar los
servicios proporcionados por el sistema y sus restricciones operativas. Los servicios
corresponden a las necesidades de los clientes que son satisfechas por la aplicacin
(Sommerville, 2005).
La Ingeniera de Requisitos tambin puede ser vista como una actividad de Ingeniera y
Gestin; desde la primera, porque es concerniente con la identificacin de metodologas
apropiadas para desarrollar soluciones de software bajo unos costos que sean apropiados
para su implementacin; desde la segunda, porque mediante actividades de gestin como la
monitorizacin de los requerimientos del producto y el alcance del proyecto, los costos y la
agenda a travs del proceso de desarrollo de software, se asegura que todas las aplicaciones
del negocio sean entregadas como se definen en los documentos de especificacin de
requerimientos(Aurum y Wohlin, 2005).
Desde diferentes enfoques, es claro que la Ingeniera de Requisitos es una de las fases ms
cruciales del diseo y desarrollo de software, debido a que esta soporta el problema crtico
de estar diseando el producto/aplicacin correcta para el cliente.
REQUISITOS Y CLASIFICACIN
Los requisitos pueden ser considerados como las funcionalidades y/o servicios
proporcionados por el sistema y sus restricciones operativas (Sommerville, 2005).
En otra aproximacin, los requisitos son una coleccin de necesidades provenientes del
usuario y otros stakeholders, que deben ser satisfechas. Idealmente, los requisitos son

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

59

independiente del diseo, mostrando lo Que el sistema debe hacer y no Como lo debe
hacer (Aurum y Wohlin, 2005).
Los requisitos pueden ser clasificados en diferentes formas como se muestra en la siguiente
tabla:
Tabla 1. Tipos de Requisitos.

Teniendo en cuenta los diferentes requisitos que se pueden abordar, es necesario conocer
los procesos que estn involucrados en una gestin de requisitos.
PROCESOS DE LA INGENIERA DE REQUISITOS
Los procesos se pueden ver desde diferentes perspectivas o modelos, en los que se trata de
dar un enfoque de cmo abordar los requerimientos:
Modelo de Pohl
Es un modelo iterativo en el que se definen las actividades como elicitacin, negociacin,
especificacin y documentacin, validacin y verificacin (Durn, 2000).
El modelo se muestra en la siguiente figura:
Figura 1. Modelo de Procesos de Pohl en la Ingeniera de Requisitos.

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

60

Cada una de estas actividades tiene unos objetivos bien definidos como se muestra:
Elicitacin: buscar hacer explcito el conocimiento oculto sobre las necesidades de
clientes y usuarios y el sistema a desarrollar, de manera que todos los stakeholders sean
capaces de entenderlo.
Negociacin: busca alcanzar acuerdos y/o entendimientos entre todos los participantes
sobre los requisitos propuestos en la fase anterior.
Especificacin/Documentacin de requisitos: busca documentar los requisitos
documentados y elicitados, utilizando varias notaciones, con el fin de ser lo ms
explcito posible.
Validacin/Verificacin de requisitos: busca que los requisitos documentados
corresponden con las necesidades de los clientes y usuarios (validacin) y comprobar
que la especificacin cumple los criterios de calidad oportunos (verificacin).
Modelo Espiral
En este modelo se muestra el proceso como una actividad de tres etapas donde las
actividades se organizan como un proceso iterativo alrededor de una espiral (Sommerville,
2005).
Al principio del proceso, se dedicar la mayor parte del esfuerzo a la comprensin del
negocio de alto nivel y los requerimientos no funcionales y del usuario. Al final del
proceso, en el anillo exterior de la espiral, se dedicar un mayor esfuerzo a la ingeniera de
requerimientos del sistema y al modelado de ste.
Este modelo est basado en los modelos propuestos por Boehm y Potes para Gestin de
requisitos (Durn Toro, 2000) y es defendido por Ian Sommerville.
El modelo se muestra grficamente en la siguiente figura:
Figura 2. Modelo Espiral de Procesos en la Ingeniera de Requisitos.

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

61

Haciendo la comparativa con el modelo de Pohl, la obtencin de requerimientos equivale a


las actividades de elicitacin y negociacin, la especificacin de requerimientos a la
especificacin y documentacin de requisitos, y la validacin de requerimientos con la
validacin y la verificacin.
Modelo SWEBOK
El proyecto SWEBOK (Sofware Engineering Body of Knowledge) tiene como finalidad
definir y acotar las reas de conocimiento que comprenden la Ingeniera del Software. En
su desarrollo participan: IEEE, ISO/IEC, los principales autores de obras de Ingeniera del
Software: Steve Mc Connell, Roger Pressman, Ian Sommerville; as como importantes
empresas: Rational,SAP, entre otras(Sitio Web Planeta Cdigo, s.f.).
En la siguiente figura, se muestran los procesos propuestos por este modelo:
Figura 3. Modelo de Procesos SWEBOK en la Ingeniera de Requisitos (SWEBOK, 2004).

Como se puede observar en la grfica, las actividades son similares a las mostradas en los
dos anteriores modelos: elicitacin, anlisis, especificacin y validacin.
Modelo Borland
Este modelo fue adoptado por la empresa Borland para su gestin de requisitos(Borja,
2008):

Figura 4. Modelo de Procesos Borland en la Ingeniera de Requisitos.

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

62

En estos modelos y en otros que se han propuestos, se caracterizan por la forma en la cual
se desarrollan las actividades: de manera secuencial o lineal, incrementales, en espiral y en
algunos se da la realizacin iterativa de varias actividades.
Recientes estudios(Aurum y Wohlin, 2005) en la Ingeniera de Requisitos, indican que esta
rea aun no est completamente madura, en el sentido de que no existe un proceso
unificado y universalmente aceptado al respecto. Por lo tanto, los modelos desarrollados
anteriormente, tratan de orientar cuales seran las actividades del proceso de Ingeniera de
Requerimientos, acordes con los modelos de procesos de Ingeniera de Software.
GESTIN DE REQUISITOS
La gestin de los requisitos implica establecer un entendimiento compartido entre los
stakeholders (personas relacionadas con el proyecto) y los requisitos que ellos han
especificado para ser incluidos en el producto de software(Durn, 2000). Para esto, las
prcticas de gestin recomendadas para cada una de las actividades de la Ingeniera de
Requisitos son:
En la fase de elicitacin, especificacin y modelamiento: implica comprender las
necesidades de los stakeholders, los requisitos elicitados, modelados y agruparlos en un
repositorio o base de datos.
Priorizacin: esta actividad asiste a los Gerentes de Proyectos en la resolucin de
conflictos, relacionados con determinar la importancia de los requisitos determinados.
Anlisis del Impacto y Dependencias de los requisitos: se enfoca en la importancia de
los cambios que pueden tener los requisitos y el impacto en el proyecto de software.
Negociacin de los requisitos: la Ingeniera de Requisitos es esencialmente un proceso
complejo de comunicacin y negociacin que involucra a clientes, diseadores, Gerentes
de Proyectos y Administradores. En muchas situaciones el conflicto es inherente en los
requisitos, por lo que hay necesidad de negociar entre los stakeholders.
Aseguramiento de la calidad: el propsito es asegurar que los requisitos con alto nivel de

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

63

calidad sean incluidos en el documento de especificacin de requisitos. Es importante que


tanto clientes como desarrolladores estn involucrados en actividades de aseguramiento de
la calidad en la Ingeniera de Requisitos, con el fin de garantizar el xito del proyecto.
Adicionalmente a las prcticas indicadas anteriormente, la gestin de requisitos implica una
serie de actividades, que se pueden resumir como se muestran (Sommerville, 2005) :
Recoleccin de requisitos
o Planeacin de Elicitacin.
o Formatos de representacin.
o Anlisis inicial de requisitos.
o Especificacin de requisitos.
Documentacin de requisitos
o Formatos de representacin
o Anlisis de requisitos detallado.
o Especificacin de requisitos.
o Matriz de trazabilidad.
Verificacin de requerimientos.
o Verificacin una actividad del ciclo de vida
o Revisin de la verificacin.
Gestin de cambio de requisitos
o Proceso de control de cambio
o Aceptacin de la lnea base.
BUENAS PRCTICAS EN LA ESPECIFICACIN DE REQUISITOS
Una buena gestin de requisitos va a facilitarse, si desde las primeras actividades de la
Ingeniera de Requisitos, se tienen en cuenta recomendaciones aceptadas por la comunidad
de Ingeniera de Software, como lo son las promulgadas por la IEEE para la especificacin
de requisitos (IEEE Std. 830-1998):
Correcta.
No ambigua.
Completa.
Fcil de verificar.
Consistente (coherente).
Clasificada por importancia y estabilidad.
Fcil de modificar.
Fcil identificacin del origen de las consecuencias de cada requisito (Trazabilidad).
De fcil utilizacin durante la fase de explotacin y de mantenimiento.
Estos criterios se explican de la siguiente manera:

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

64

Se considera correcta, si y solo si cada requerimiento establecido es uno de los que el


software debe cumplir. Una de las tcnicas para garantizar esto, es mediante la
trazabilidad.
Se considera no ambigua, si hace referencia a que la descripcin que se le d a cada
requisito del documento de especificaciones tenga una nica interpretacin. Como
mnimo, esto requiere que cada caracterstica del producto final de software sea descrita
usando un trmino en comn.
Se considera completa la especificacin si:
a. Incluye todos los requisitos significativos del software ya sean relativos a la
funcionalidad, rendimiento, diseo de restricciones o interfaces externas.
b. Se tiene en cuenta todos los datos de entrada del software y los procesos de
validacin respectivos.
c. Se referencian todas las figuras, tablas y diagramas, trminos y unidades de medida.
Se considera fcil de verificar si y solo si, existe algn proceso con el que una persona
o mquina puede comprobar que el producto de software cumple con el requisito. En
general, cualquier ambigedad no es un requisito verificable.
Se considera consistente una especificacin si y solo si ningn conjunto de los
requisitos descrito en ella son contradictorios o entran en conflicto.
Los requisitos se deben clasificar por orden de importancia hacia la aplicacin o por la
estabilidad (permanencia) que puedan tener a lo largo del proceso.
Fcil de Modificar si su estructura o estilo permiten que cualquier cambio necesario en
los requisitos se puedan realizar fcil, completa y consistentemente, manteniendo la
estructura y estilo.
Fcil para identificar el origen y las consecuencias de cada requisito (Trazabilidad),
permitiendo la referenciacin con otros productos del ciclo de vida tiles en desarrollos
futuros o en incrementos de la documentacin.
Facilidad de utilizacin en la fase de explotacin y mantenimiento, para lo cual se
requiere que sea modificable y que proporcione un registro de las caractersticas
especiales de cada componente del software.
CONCLUSIONES
La Ingeniera de Requisitos ha surgido para gestionar eficientemente esta importante etapa
de la Ingeniera de Software, debido a que es muy frecuente la presencia de no
conformidades en los requerimientos obtenidos mediante esta fase. Para lo anterior, se
apoya en las actividades de: Elicitacin, Especificacin, Anlisis y Validacin
principalmente, las cuales permiten obtener unos requerimientos ms coherentes con el
producto que se desea construir.
REFERENCIAS
Aurum, Aybuke y Wohlin, Claes (2005). Engineering and Managing Software
Requirements. Springer.

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

65

Borja, Jordi (2008). Borland Iberica.


Durn Toro, Amador (2000). Un entorno metodolgico de Ingeniera de Requisitos para
Sistemas de Informacin.
Garcia, Fabio y Puello Plinio (2009). Caracterizacin del Proceso de Verificacin y
Validacin en la Ingeniera de Software y su aplicacin en la Gestin de Requisitos,
diseando una solucin en entorno de software libre. Tesis de Maestra.
IEEE (1998). Std. 830-1998. Recommended Practice for Software Requirements
Specifications.
Planeta Cdigo (s.f). http://www.planetacodigo.com/wiki/glosario:swebok
Sommerville, Ian (2005). Ingeniera de Software. Pearson Education.
SWEBOK (2004). Software Engineering Body of Knowledge.

INGENIATOR | REVISTA VIRTUAL DE LOS PROGRAMAS DE INGENIERA|UNIVERSIDAD DE SAN BUENAVTURA, SECCIONAL


CARTAGENA | Vol.1, N1, julio diciembre del 2010 | ISSN 2027-9396 (en lnea) | CARTAGENA, COLOMBIA | PP. 57-65

Potrebbero piacerti anche