Sei sulla pagina 1di 9

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 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, of Requirements, Processes

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

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.

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.

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.

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

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:

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.

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.

Potrebbero piacerti anche