Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________ 13 y 14 de Noviembre de 2008 1 Herramienta para Administrar Información Básica de Requerimientos Funcionales y No Funcionales en el Desarrollo de Sistemas Informáticos L.I. Ulises Marinero Aguilar Dra. María de los Ángeles Sumano López, Dr. Juan Manuel Fernández Peña Maestría en Ingeniería de Software, Universidad Veracruzana ingsoft@uv.mx Resumen Construir proyectos de software implica tener una administración de requerimientos del producto, debido a que un gran porcentaje de éstos cambia al paso del tiempo. Los cambios de requerimientos del producto afectan al proyecto, ya que llevan al equipo de desarrollo a actualizar no sólo los requerimientos señalados, sino también aquellos que se relacionan con éstos y los recursos necesarios para el desarrollo del proyecto. Actualizar requerimientos no es fácil si se registran sólo en papel o en documentos de texto, pues resulta difícil visualizar el alcance del impacto. Se requiere un mecanismo auxiliar para su análisis, seguimiento y evolución de impacto de cambios. Para ésto se usan métodos de trazabilidad. Los métodos de trazabilidad de requerimientos registran las relaciones de cada uno con otros (dependencias), así como los puntos de origen de los mismos; ayudan al equipo de desarrollo a observar el impacto que tiene el cambio propuesto. La información obtenida ayudará a renegociar con el cliente. Lograr la trazabilidad correcta y completa requiere herramientas que almacenen, apliquen algoritmos adecuados, analicen resultados y permitan reajustar la línea base. Así, este trabajo trata de una herramienta, desarrollada como tesis de maestría, de administración de requerimientos incluyendo: actualización, trazado y administración. Palabras Clave: Requerimiento, Trazado de Dependencia, Trazado Pregrabado, Trazado de Cambio, Probabilidad de Impacto y Diagrama de Propagación del Impacto. 1. Introducción Un requerimiento, hablando en términos generales, es algo que debe de hacer y cómo se supone o se espera que deba funcionar un producto que se ha adquirido, con el fin de satisfacer necesidades específicas. Los requerimientos de software tienden a cambiar e implantarse nuevos requerimientos, un problema es contar con alguna herramienta que refleje el impacto de un requerimiento nuevo. El trabajo esta relacionado con obtener esa estructura de impacto, está se obtiene siguiendo el trazado de los requerimientos con valores probabilísticos implantados por el administrador de requerimientos. La Estructura de Impacto será el resultado del análisis del requerimiento nuevo, antes de implantarlo con los demás requerimientos. De esta manera los desarrolladores tomaran la decisión de implantarlo, según como impacte a los demás requerimientos. La metodología usada para el desarrollo de HEARS (Herramienta para el Análisis de Requerimientos de Software) son: Áncora para el análisis y extracción de los requerimientos iniciales, se uso el Proceso Unificado de Desarrollo de Software (PUDS) para el análisis, diseño, implementación y las pruebas, se desarrollo con JAVA en la interfaz de desarrollo MyEclipse, finalmente, se trabajo con MySQL para mantener almacenada la información. Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________ 13 y 14 de Noviembre de 2008 2 2. Secciones de la Investigación Un requerimiento es “una especificación que debe de ser implementada, son las descripciones de como el sistema debe de comportarse, la propiedad o atributo de un sistema, deben ser las limitaciones en el proceso del desarrollo del sistema” (Sommerville Ian, 2005), un requerimiento surge de una necesidad del mundo real, necesidad que puede o no cambiar con el paso del tiempo. 2.1 Impacto de cambios en los Requerimientos El problema del impacto en la administración de requerimientos no es simple de resolver, debido a la complejidad de la información y a las relaciones entre todos los artefactos que los conforman. Para el proceso de extracción de trazabilidad y el análisis de impacto se hará uso del trabajo de Simon Lock y Gerald Kotonya (Simon Lock y Gerald Kotonya, 1999) para determinar la probabilidad de impacto de un requerimiento propuesto. Durante el proceso de análisis de impacto se usa la palabra impactable (Simon Lock y Gerald Kotonya, 1999) para denotar cualquier entidad específica creada anteriormente y que será afectada por un cambio propuesto. 2.1.1 Determinación del impacto El objetivo de determinar el impacto es predecir el efecto probable de un cambio propuesto en el sistema. La determinación del impacto usa información probabilística para determinar el efecto de propagación entre los caminos impactables. Estos caminos impactables se componen en una sola estructura, que posteriormente será usada como base para la investigación directa del impacto o para la producción de una visualización del efecto del cambio propuesto (Lock S., y Kotonya G., 1998). El proceso incluye dos grandes etapas: la Extracción de la Trazabilidad y posteriormente la realización de Análisis de Trazabilidad. En la siguiente sección se describen las técnicas de trazado sobre los requerimientos ya implantados en la Línea de Requerimientos Base. 2.1.2 Extracción de Trazabilidad El primer paso para determinar el impacto es establecer la información de trazo entre los requerimientos Ri --> Rj, este se obtiene por medio de las siguientes técnicas. a) Trazabilidad Pregrabada Es una técnica que usa información que ha sido proporcionada por los desarrolladores y usuarios finales para determinar el potencial de trazabilidad entre los enlaces impactables (Bohner, S. y Arnold, R., 1996). Este análisis se puede realizar a través del ciclo de vida del sistema, desde la formulación de requerimientos iniciales hasta la implementación. b) Trazabilidad de Dependencia Es una técnica que tiene como objetivo extraer información de trazabilidad desde los modelos de comportamiento del sistema, con el propósito de predecir posibles caminos de propagación del impacto (Bohner S. y Arnold R., 1996). Se realiza por medio de un trazado alterado de los Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________ 13 y 14 de Noviembre de 2008 3 requerimientos funcionales (fuente de impacto) hacia los requerimientos funcionales impactados (elementos impactados). c) Experiencia Pasada Este modelo usa un registro de los cambios previos hechos en el sistema como base para extraer relaciones de trazabilidad. Para un cambio dado, las relaciones de trazabilidad se pueden asumir entre el cambio y los impactables, los cuales ha sido previamente afectados. d) Certeza Total del Requerimiento Esté análisis tiene el objetivo de medir la confiabilidad de la información de los requerimientos que conforman el sistema, esta información es para cada requerimiento que conforma la Línea de Requerimientos Base. El análisis se basa en dos métricas que son recogidas para cada impactable por los desarrolladores y son las siguientes:Grado de Definición: La medida en la cual el impactable ha sido completamente especificado ( Ecklund, E. F., Delcambre, L. M. L., Freiling, M. J., 1996). Certeza de Definición: La confianza con la cual los desarrolladores creen que la información ingresada es correcta. La asignación y mantenimiento de los valores de Grado de Definición y Certeza de Definición se confían al juicio y experiencia de los desarrolladores. Los valores de estas métricas están en el rango desde 0 para una completa incertidumbre y 1 para una completa certeza. Para producir el valor de certeza total para un requerimiento en particular, utilizan en la siguiente formula: Ctotal = DoD * CoD Donde Ctotal es el valor de certeza total, DoD es el grado de definición y CoD es la certeza de definición. 2.1.3 Análisis de Trazabilidad Ahora que se ha obtenido toda la información mencionada, es posible realizar un análisis de impacto de un requerimiento nuevo, sobre la Línea de Requerimientos Base, proceso que se explica en esta sección. La trazabilidad de los requerimientos ha sido extraída por una o más de las técnicas mencionadas, estas son combinadas en una sola para formar como resultado final la Estructura de Propagación del Impacto, está se realiza con los siguientes pasos. a) Composición Lateral Cada técnica de extracción debe de tener un peso especifico, según la importancia de la técnica de trazado de los requerimientos, los valores deben de ir de un rango de >0 y <=1. La herramienta HEARS tiene asignado para cada técnica de extracción los siguientes pesos: Análisis de Trazabilidad Pregrabada = 0.8 Análisis de Dependencia = 0.8 Análisis de Experiencia Plana = 0.9 Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________ 13 y 14 de Noviembre de 2008 4 En técnica de extracción es necesario obtener la probabilidad de propagación de los requerimientos relacionados, está se obtiene entre dos requerimientos relacionados (Figura 2), para obtener una probabilidad ajustada cautelosa del camino de propagación entre dos requerimientos, se usa la siguiente formula: P ajustado = 1 – C path + ( C path * P path ) Donde : P path= peso de la técnica de extracción C path= certeza total del impactable P ajustado = Probabilidad final al camino ajustado Una vez que se ha obtenido la probabilidad ajustada de los requerimientos, para cada una de las técnicas de extracción es posible pasar a la siguiente etapa, la cual se explica a continuación. b) Composición Vertical Una vez realizada la composición lateral, se realiza la composición vertical, es decir ir a un nivel inferior en cuanto al trazado de requerimientos según cada ciclo del análisis, con el propósito de crear un camino de la estructura completa, es decir crear una capas adicionales (el conjunto total de impactos identificados por las técnicas) al árbol de propagación del impacto. Ver la Figura 3. A Requerimiento Propagación del Impacto Clave A B A C A B C Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = A Salida = B y C B D B E B D E Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = B y C Salida = D, E y F D G E H Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = D,E y F Salida = G y H Ciclo 1 Ciclo 2 Ciclo 3 C C F C F E F D F D G E H F A Estructura Completa B C D E F G H A Requerimiento Propagación del Impacto Clave A Requerimiento Propagación del Impacto Clave A B A C A B C Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = A Salida = B y C B D B E B D E Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = B y C Salida = D, E y F D G E H Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = D,E y F Salida = G y H Ciclo 1 Ciclo 2 Ciclo 3 C C F C F E F D F D G E H F A B A C A B C Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = A Salida = B y C A B A C A B C Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = A Salida = B y C B D B E B D E Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = B y C Salida = D, E y F D G E H Método 1 Método 2 Hibrido M1 y M2 Resultado Entrada = D,E y F Salida = G y H Ciclo 1 Ciclo 2 Ciclo 3 C C F C F E F D F D G E H F A Estructura Completa B C D E F G H A Estructura Completa B C D E F G H Fig. 3 Generación de la Composición Vertical (Simon Lock y Gerald Kotonya 1999). c) Resolución de Duplicación Durante el análisis es posible encontrar un camino duplicado por los diferentes métodos de extracción, la resolución de la duplicación tiene el objetivo de convertir los caminos en uno solo para minimizar el tamaño de estructura de la propagación final. Este proceso se realiza al final de cada ciclo para minimizar el número de salidas que pasa al siguiente ciclo de análisis y prevenir la replicación del análisis. Ver la Figura 4. A B B A B B Fig. 4 Duplicación de Caminos (Simon Lock y Gerald Kotonya 1999). A B Método 1 A B Método 1 Probabilidad Ajustada del Impacto A B Método 1 A B Método 1 Probabilidad Ajustada del Impacto Fig. 2. Probabilidad ajustada del impacto Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________ 13 y 14 de Noviembre de 2008 5 Para resolverlo se aplica la siguiente formula: Pajustada = Pvieja + Pnueva (1- P vieja) Donde Pnueva es una probabilidad adicional, Pvieja es la probabilidad actual antes de la asimilación de la probabilidad adicional y Pajustada es la probabilidad total después de ajustar e integrar las probabilidades. d) Aplicación de Decadencia Al analizar el efecto total de un cambio dado, se debe de considerar la posición relativa del impactable en la estructura final de propagación. La probabilidad de alcanzar un punto en particular se decrementará, porque cada camino de propagación es transitivo y normalmente tendrá una probabilidad menor que uno. Para combatir la complejidad de la estructura de propagación del impacto se usará la técnica de cortado de la probabilidad, esto es la probabilidad del impacto que sea más significativa. HEARS usa el valor de 0.3 para aquellos impactables significativos. 2.2 Desarrollo de HEARS A continuación se muestran los principales artefactos del desarrollo de HEARS: En la etapa de análisis de requerimientos se obtuvieron las tres escenas principales de HEARS: Proyecto, Requerimiento y Trazabilidad, las cuales trabajan conjuntamente para administrar la información del proyecto el cual contendrá requerimientos en su Línea de Requerimientos Base, mismos que podrá crear su trazabilidad y finalmente poder analizar el impacto de un requerimiento nuevo, ver la Figura 5. Una vez que se han creado los requerimientos del proyecto, es necesario que el administrador pueda trazar los requerimientos, estos trazos son necesarios para la evaluación del impacto de un nuevo requerimiento, HEARS podrá evaluar dicho impacto y finalmente mostrar un diagrama de propagación del impacto, ver la Figura 6. Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________13 y 14 de Noviembre de 2008 6 Guión Escena 1: Proyecto HEARS: Herramienta para Administrar Requerimientos de Software ADM crea un PR nuevo Pista Sistema General Papeles Escena 2: RequerimientoADM: Administrador ADM crea RE en LRB Utensilios ADM modifica o actualiza LRB Escena 3: TrazabilidadRE: Requerimiento LRB: Línea de Requerimiento Base Condiciones de entrada ADM necesita administrar LRB Condiciones de Salida ADM abre PR ADM administra LRB PR: Proyecto ADM modifica de PR ADM crea REP Datos generales de PR Datos de USU ADM crea trazabilidad ADM necesita analizar impacto de LRB ADM obtiene impacto cambio en LRB REP: Reporte ADM importa PR de ANCORA Análisis Pregrabada Análisis Dependencia ADM analiza impacto de Nuevo RE ADM conecta a la Base de Datos Guión Escena 1: Proyecto HEARS: Herramienta para Administrar Requerimientos de Software ADM crea un PR nuevo Pista Sistema General Papeles Escena 2: RequerimientoADM: Administrador ADM crea RE en LRB Utensilios ADM modifica o actualiza LRB Escena 3: TrazabilidadRE: Requerimiento LRB: Línea de Requerimiento Base Condiciones de entrada ADM necesita administrar LRB Condiciones de Salida ADM abre PR ADM administra LRB PR: Proyecto ADM modifica de PR ADM crea REP Datos generales de PR Datos de USU ADM crea trazabilidad ADM necesita analizar impacto de LRB ADM obtiene impacto cambio en LRB REP: Reporte ADM importa PR de ANCORA Análisis Pregrabada Análisis Dependencia ADM analiza impacto de Nuevo RE ADM conecta a la Base de Datos Fig. 5 Guión General de HEARS Se muestra en la Figura 7 el caso de uso principal: Manejo de Trazabilidad y Análisis de Requerimiento, en esta parte el usuario podrá crear la trazabilidad de dependencia y la trazabilidad pregrabada con los requerimientos almacenados en la línea base, para posteriormente realizar el análisis de un requerimiento nuevo. Se muestra en la Figura 8 el diagrama de paquetes, que comprende parte de la arquitectura de HEARS, se muestra que la herramienta tendrá la opción de interactuar con otras herramientas enfocadas a mejorar la Ingeniería de Software. Fig. 7 Manejo de Trazabilidad y Análisis de Requerimiento Guión Escena 1: Crear Trazabilidad HEARS: Herramienta para Administrar Requerimientos de Software ADM crea Trazabilidad Pista Trazabilidad Papeles Escena 2: Analizar nuevo RE ADM: Administrador Utensilios RE: Requerimiento BD: Base de Datos Condiciones de entrada ADM necesita crear Trazabilidad Condiciones de Salida PR: Proyecto ADM crea Trazabilidad Trazabilidad Pregrabada Trazabilidad Dependencia ADM crea trazos entre RE ADM crea dependencias entre RE Se almacena información en BD ADM crea RE nuevo a impactar ADM crea trazos de RE nuevo con RLB ADM ingresa información de RE nuevo Se muestra impacto del RE nuevo Se muestra diagrama de impacto ADM selecciona GD de RE nuevo ADM selecciona GC de RE nuevo GD: Grado Definición GC: Grado Certeza Guión Escena 1: Crear Trazabilidad HEARS: Herramienta para Administrar Requerimientos de Software ADM crea Trazabilidad Pista Trazabilidad Papeles Escena 2: Analizar nuevo RE ADM: Administrador Utensilios RE: Requerimiento BD: Base de Datos Condiciones de entrada ADM necesita crear Trazabilidad Condiciones de Salida PR: Proyecto ADM crea Trazabilidad Trazabilidad Pregrabada Trazabilidad Dependencia ADM crea trazos entre RE ADM crea dependencias entre RE Se almacena información en BD ADM crea RE nuevo a impactar ADM crea trazos de RE nuevo con RLB ADM ingresa información de RE nuevo Se muestra impacto del RE nuevo Se muestra diagrama de impacto ADM selecciona GD de RE nuevo ADM selecciona GC de RE nuevo GD: Grado Definición GC: Grado Certeza Fig. 6 Pista Trazabildad de HEARS Fig. 8 Diagrama de Paquetes Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________ 13 y 14 de Noviembre de 2008 7 3 Resultados Implementación de HEARS En la imagen 1 se muestra la pantalla donde se agrega un requerimiento, con sus atributos correspondientes, se observa que el grado de definición y certeza se definen en esta pantalla, para posteriormente realizar en análisis de impacto En la Imagen 2 se muestra el diagrama de impacto de un requerimiento nuevo, se muestran los requerimientos con su probabilidad de impacto en base al trazado de las técnicas descriptas anteriormente. Imagen 2. Diagrama de Impacto de Requerimiento Nuevo 4. Conclusiones Un sistema debe de ser un conjunto de programas, en este aspecto la herramienta es de gran utilidad para reflejar cómo un requerimiento nuevo afecta a ese conjunto, de una manera lógica, para así realizar un análisis y decidir si el requerimiento se implanta, asumiendo el riesgo que refleja el Diagrama de Impacto sobre los demás requerimientos. Adicionalmente la herramienta HEARS es de ayuda para los desarrolladores en la administración de los requerimientos, permitiendo manejar la información de estos, y finalmente la herramienta es capaz de trabajar con otras herramientas para formar una suite y así contribuir a la mejora de la Ingeniería de Software. Imagen1.Pantalla Agregar Requerimiento Coloquio Nacional 208 de Investigación Multidisciplinaria I.T.O. _____________________________________________________________________________________________ _______________________________________________________________________________________________ 13 y 14 de Noviembre de 2008 8 En trabajos futuros la herramienta se enfocará en hacer más flexibles los atributos de los requerimientos, para apegarse más a los requerimientos reales de los sistemas que se realizan. 5. Referencias Bohner, S. A., Arnold, R. S., (1996), Software Change Impact Analysis, ix-xii, IEEE Computer Society, Los Alamitos Ecklund, E. F., Delcambre, L. M. L., Freiling, M. J., (1996), Change Cases: Use Cases that Identify Future Requirements, SIGPLAN notices 31(10), October , Berman, A. M., pp342-357 Karl Eugene , (2003), Software Requirements, (Segunda Edición), Washington USA, Microsoft Press. Lock, S., Kotonya, G., (1998), Requirement Level Change Management and Impact Analysis, internal technical report no. CSEG/21/98, October, Lancaster University Computing Department. Simon Lock and Gerald Kotonya (1999) An Integrated, Probabilistic Framework for Requirement Change Impact Analysis , Proc. 4th Australian Conference on Requirements Engineering Sidney Australia. Sommerville Ian (2005), Ingeniería del Software (Séptima Edición), Madrid, España, Pearson Educación. Acerca del Autor Lic. Ulises Marinero Aguilar : Licenciado en Informática de la Universidad Veracruzana en 2005. Actualmente trabajando para obtener el grado de Maestría en Ingeniería de Software de la Universidad Veracruzana, México. ulises_mar8@hotmail.com Dra. María de los Ángeles Sumano López: Licenciada en matemáticas de la Universidad Nacional Autónoma de México en 1975. Obtuvo el grado de Maestría en Ciencias de la Computación en 1996 de la UNAM y Doctorado en Ciencias de la Computación 2002 en el Instituto de Politécnico Nacional, México. asumano@uv.mx Dr. Juan Manuel Fernández Peña: Licenciado en Física de la Universidad Nacional Autónoma de México en 1975. Obtuvo el grado de Maestría en Investigación de Operaciones en 1995 de la UNAM y Doctorado en Ciencias de la Computación 2002 en el Instituto de Politécnico nacional, México. jfernandez@uv.mx Autorización y Renuncia Los autores autorizan al Instituto Tecnológico deOrizaba(ITO) para publicar el escrito en las memorias del Coloquio Nacional 2008 de Investigación Multidisciplinaria. El ITO o los editores no son responsables ni por el contenido ni por las implicaciones de lo que está expresado en el escrito.
Compartir