Logo Studenta

SC0808

¡Estudia con miles de materiales!

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.

Otros materiales