<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1794-1237</journal-id>
<journal-title><![CDATA[Revista EIA]]></journal-title>
<abbrev-journal-title><![CDATA[Revista EIA]]></abbrev-journal-title>
<issn>1794-1237</issn>
<publisher>
<publisher-name><![CDATA[Escuela de ingenieria de Antioquia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1794-12372007000200007</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[UN MÉTODO PARA LA TRAZABILIDAD DE REQUISITOS EN EL PROCESO UNIFICADO DE DESARROLLO]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Tabares]]></surname>
<given-names><![CDATA[Marta Silvia]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Barrera]]></surname>
<given-names><![CDATA[Andrés Felipe]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Arroyave]]></surname>
<given-names><![CDATA[Juan David]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pineda]]></surname>
<given-names><![CDATA[Juan Diego]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Nacional de Colombia Escuela de Ingeniería de Antioquia ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Escuela de Ingeniería de Antioquia  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2007</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2007</year>
</pub-date>
<numero>8</numero>
<fpage>69</fpage>
<lpage>82</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S1794-12372007000200007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S1794-12372007000200007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S1794-12372007000200007&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El Proceso Unificado es un proceso de desarrollo adoptado por gran parte de las empresas desarrolladoras de software. Esto lleva a que atributos de calidad como la trazabilidad de requisitos deban estandarizarse para este proceso, con el fin de lograr los niveles de calidad exigidos por los clientes. Por lo general, los modelos de trazabilidad se proponen independientemente del proceso o métodos de desarrollo, y su definición y mantenimiento dependen de los criterios de calidad usados por los desarrolladores. En este artículo se presenta un método para la práctica de la trazabilidad en el Proceso Unificado de Desarrollo. El enfoque propone un flujo de trabajo para el control y soporte a la trazabilidad en las iteraciones del proceso. Dicho flujo establece un conjunto de acciones para generar modelos de trazabilidad que faciliten negociaciones oportunas con los participantes del proyecto.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Unified Process is the development process adopted by many software development companies. Quality attributes, such as requirement traceability, must be standardized for this process, so that the system can achieve the quality demanded by customers. Commonly, traceability models are proposed independently of either the development process or the methodology that are followed, and its definition and maintenance depends on the quality criteria used by the developers. A traceability method for the Unified Development Process is presented in this paper. This approach proposes a workflow to control and support traceability throughout the iterations of the process. This workflow establishes a set of actions capable of generating traceability models that facilitate opportune agreement with the customers.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[trazabilidad de requisitos]]></kwd>
<kwd lng="es"><![CDATA[ingeniería de software]]></kwd>
<kwd lng="es"><![CDATA[trazabilidad]]></kwd>
<kwd lng="es"><![CDATA[requisito]]></kwd>
<kwd lng="es"><![CDATA[Proceso Unificado]]></kwd>
<kwd lng="es"><![CDATA[UP]]></kwd>
<kwd lng="en"><![CDATA[requirement traceability]]></kwd>
<kwd lng="en"><![CDATA[software engineering]]></kwd>
<kwd lng="en"><![CDATA[traceability]]></kwd>
<kwd lng="en"><![CDATA[requirement]]></kwd>
<kwd lng="en"><![CDATA[unified process]]></kwd>
<kwd lng="en"><![CDATA[UP]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font size="4" face="Verdana"><b>UN M&Eacute;TODO PARA LA TRAZABILIDAD DE REQUISITOS EN EL PROCESO UNIFICADO    DE DESARROLLO</b></font></p>     <p align="center">&nbsp;</p> <font face="Verdana"size="2">    <p><b>Marta Silvia Tabares<sup>*</sup>,   Andr&eacute;s Felipe Barrera<sup>**</sup>,   Juan David Arroyave<sup>**</sup>,   Juan Diego Pineda<sup>**</sup></b></p>     <p> * Ph. D(c) en Ingenier&iacute;a de Sistemas, Universidad Nacional de Colombia. Docente del &Aacute;rea de Ingenier&iacute;a de Software y Bases de Datos, y Directora del Grupo de Investigaci&oacute;n de Ingenier&iacute;a de Software (GIISEIA), Escuela de Ingenier&iacute;a de Antioquia.<a href="mailto:pfmstabare@eia.edu.co"> pfmstabare@eia.edu.co</a></p>     <p>  * Estudiantes de Ingenier&iacute;a Inform&aacute;tica, Escuela de Ingenier&iacute;a de Antioquia. Auxiliares de Investigaci&oacute;n del &Aacute;rea de Ingenier&iacute;a de Software. <a href="mailto:ifanbar@eia.edu.co">ifanbar@eia.edu.co</a>; <a href="mailto:ifjuar@eia.edu.co">ifjuar@eia.edu.co</a>; <a href="mailto:ifjuanp@eia.edu.co">ifjuanp@eia.edu.co</a></p>     <p>  Art&iacute;culo recibido: 24-IX-2007. Aprobado 13-XI-2007</p>     <p>  Discusi&oacute;n abierta hasta junio de 2008 </p> <hr size="1" /> </font>     <p><font size="3" face="Verdana"><b>RESUMEN</b></font></p> <font face="Verdana"size="2">     <p>  El Proceso Unificado es un proceso de desarrollo adoptado por gran parte de las empresas desarrolladoras   de software. Esto lleva a que atributos de calidad como la trazabilidad de requisitos deban estandarizarse   para este proceso, con el fin de lograr los niveles de calidad exigidos por los clientes. Por lo general, los modelos de trazabilidad se proponen independientemente del proceso o m&eacute;todos de desarrollo, y su definici&oacute;n y mantenimiento dependen de los criterios de calidad usados por los desarrolladores. En este art&iacute;culo se presenta un m&eacute;todo para la pr&aacute;ctica de la trazabilidad en el Proceso Unificado de Desarrollo. El enfoque propone un flujo de trabajo para el control y soporte a la trazabilidad en las iteraciones del proceso. Dicho flujo establece un conjunto de acciones para generar modelos de trazabilidad que faciliten negociaciones oportunas con los participantes del proyecto.</p> </font>     <p>  <font size="2" face="Verdana"><b><font size="3">PALABRAS CLAVE: </font></b>trazabilidad de requisitos; ingenier&iacute;a de software; trazabilidad; requisito; Proceso Unificado; UP.</font></p> <font face="Verdana"size="2"> <hr size="1" /> </font>     ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana"><b>ABSTRACT</b></font></p> <font face="Verdana"size="2">     <p>  Unified Process is the development process adopted by many software development companies. Quality   attributes, such as requirement traceability, must be standardized for this process, so that the system can achieve the quality demanded by customers. Commonly, traceability models are proposed independently of either the development process or the methodology that are followed, and its definition and maintenance depends on the quality criteria used by the developers. A traceability method for the Unified Development Process is presented in this paper. This approach proposes a workflow to control and support traceability throughout the iterations of the process. This workflow establishes a set of actions capable of generating traceability models that facilitate opportune agreement with the customers.</p> </font>     <p><font size="2" face="Verdana"><b><font size="3">KEY WORDS: </font></b>requirement traceability; software engineering; traceability; requirement; unified process;   UP.</font></p> <font face="Verdana"size="2"> <hr size="1" /> </font>     <p><font size="3" face="Verdana"><b>1. INTRODUCCI&Oacute;N</b></font></p> <font face="Verdana"size="2">     <p>  En la Ingenier&iacute;a de Requisitos, es determinante   lograr productos de software correctos, fiables y mantenibles. Por lo tanto, es necesario tener buenas t&eacute;cnicas para separar y especificar correctamente los requisitos, controlar su evoluci&oacute;n y soportar los cambios. La trazabilidad es el mecanismo que permite   lograr este resultado. Esta pr&aacute;ctica es la base de la gesti&oacute;n de los requisitos, puesto que brinda la informaci&oacute;n necesaria para su control y soporte a lo largo del proceso de desarrollo de software. En otras palabras, posibilita la verificaci&oacute;n de la transformaci&oacute;n   de los requisitos en elementos de modelo sucesores, as&iacute; como el an&aacute;lisis y gesti&oacute;n del cambio en ellos, verificando su completitud y coherencia 15.</p>     <p>  La trazabilidad permite que los participantes del proyecto logren prop&oacute;sitos claros dentro de la gesti&oacute;n del proceso. Adem&aacute;s, proporciona elementos que ayudan a la comunicaci&oacute;n entre los equipos de trabajo, ya que brinda mayor informaci&oacute;n para la comprensi&oacute;n del problema que se est&aacute; tratando y apoya el control de las actividades y cambios en los productos de trabajo durante todo el ciclo de vida 13.</p>     <p>  La mayor&iacute;a de enfoques de trazabilidad se proponen de forma independiente al proceso o metodolog&iacute;a de desarrollo. Sus modelos presentan los elementos b&aacute;sicos que participan en la trazabilidad   y la forma como los v&iacute;nculos de trazado se deben controlar 6, 9-12, 14, Sin embargo, de aqu&iacute; surgen dos interrogantes fundamentales: &iquest;Es posible acercar el uso de dichos modelos a los procesos de desarrollo usados cotidianamente por las empresas de desarrollo? y &iquest;qu&eacute; proporcionan las metodolog&iacute;as de desarrollo y, en particular, el proceso unificado de desarrollo para lograr que dicha pr&aacute;ctica no se convierta en un elemento problem&aacute;tico y costoso, sino en una verdadera herramienta que proporcione   un seguimiento certero para minimizar riesgos y asegurar productos de calidad?</p>     <p>  Para dar respuesta a los anteriores interrogantes,   en este art&iacute;culo se presenta un m&eacute;todo para la trazabilidad de requisitos en el proceso unificado de desarrollo. Este m&eacute;todo surge como resultado de la investigaci&oacute;n realizada en empresas de desarrollo   de software acerca de la adopci&oacute;n y uso de la trazabilidad desde el proceso unificado. El m&eacute;todo es un flujo de trabajo para el control y soporte de la trazabilidad en las iteraciones del proceso. Dicho flujo establece un conjunto de acciones para generar modelos de trazabilidad que faciliten negociaciones oportunas con los participantes del proyecto. Los modelos conservan la correlaci&oacute;n entre los artefactos   software, pero su definici&oacute;n y mantenimiento depender&aacute; de los criterios de calidad usados por los desarrolladores.</p>     <p>La estructura de este art&iacute;culo es como sigue. En la secci&oacute;n 2 se presentan las caracter&iacute;sticas generales   del proceso unificado y los elementos que provee para hacer la pr&aacute;ctica de la trazabilidad. En la secci&oacute;n 3 se trata el flujo de control y soporte a la trazabilidad para el Proceso Unificado; en la secci&oacute;n 4, los trabajos relacionados. Finalmente, en la secci&oacute;n 5 se concluye y se propone el trabajo futuro.</p> </font>     <p><font size="3" face="Verdana"><b>2. EL PROCESO UNIFICADO Y LA TRAZABILIDAD</b></font></p> <font face="Verdana"size="2">     ]]></body>
<body><![CDATA[<p>  En esta secci&oacute;n, se presentan las caracter&iacute;sticas m&aacute;s importantes que proveen el Proceso Unificado 4 y UML (Unified Modeling Language) 16 para realizar la trazabilidad de requisitos.</p>     <p><b>2.1 El Proceso Unificado y sus elementos para el trazado</b></p>     <p>  Los m&eacute;todos de desarrollo de software son variados y tienen caracter&iacute;sticas propias que los hacen aptos y espec&iacute;ficos para las necesidades de los desarrolladores. Sin embargo, independientemente   de cu&aacute;l se utilice y los productos de trabajo (work&shy;products) o artefactos que de &eacute;l se deriven, los elementos que apoyan el proceso de desarrollo son susceptibles de ser trazados.El grado de trazabilidad que se puede lograr depende de factores tales como la cantidad y calidad de informaci&oacute;n que proporcionan   los elementos de modelo y las necesidades de los participantes del proyecto en la gesti&oacute;n que se deriva de la traza.</p>     <p>  El Proceso Unificado (UP), conocido comercialmente   como RUP &ndash;Rational Unified Process&ndash;, constituye un marco de trabajo o metodolog&iacute;a est&aacute;ndar   de desarrollo ampliamente usado y difundido en las empresas de desarrollo, con caracter&iacute;sticas adaptables a las organizaciones y proyectos de software. Los productos de trabajo o elementos de modelo que se elaboran durante el proceso se representan   en UML. El proceso de RUP es iterativo e incremental, dirigido por requisitos o casos de uso, centrado en la arquitectura y enfocado a la gesti&oacute;n del riesgo 2.</p>     <p>  Al tratarse de un marco de trabajo extensible, procura la adaptaci&oacute;n y define cuatro fases en la etapa   de desarrollo (inicio, elaboraci&oacute;n, construcci&oacute;n y transici&oacute;n) que a su vez se cruzan con una serie de disciplinas (requisitos, an&aacute;lisis, dise&ntilde;o, implementaci&oacute;n   y pruebas), como se muestra en la <a href="#(fig1)">figura 1</a>.</p>       <p align="center"><a name="(fig1)"><img src="img/revistas/eia/n8/n8a07fig1.gif" /></a></p>     <p>Seg&uacute;n la fase en que se encuentre el proyecto,   algunas disciplinas tienen mayor incidencia que otras. El desarrollo iterativo e incremental es vers&aacute;til y elimina muchos de los errores que otros procesos de desarrollo dejan en el tiempo. Permite identificar y procesar un conjunto de artefactos por fase que se liberan como resultado de una iteraci&oacute;n. As&iacute;, los participantes de una fase podr&aacute;n trazar los documentos  y modelos de forma sucesiva, ya que el proceso provee liberaciones de completitud creciente por iteraci&oacute;n (<a href="img/revistas/eia/n8/n8a07fig2.gif" target="_blank">figura 2</a>).</p>     <p>Para determinar el alcance de la pr&aacute;ctica de la trazabilidad con el proceso unificado de desarrollo es necesario conocer: 1) los objetivos que se logran y los productos de trabajo que se deben elaborar en cada una de las fases; 2) la forma como operan los flujos de trabajo de cada disciplina por iteraci&oacute;n.</p>     <p><b>-  Metas y productos de trabajo por fase</b></p>     <p>  En la <a href="img/revistas/eia/n8/n8a07tab1.gif" target="_blank">Tabla 1</a>  se ilustran, de forma general, los objetivos de cada fase y algunos documentos/modelos relevantes mediante los cuales se especifican y representan los productos de trabajo que se pueden liberar o entregar en cada iteraci&oacute;n.</p>     ]]></body>
<body><![CDATA[<p> Por lo tanto, en RUP es posible manejar dos tipos de trazabilidad entre los productos de trabajo o artefactos elaborados por fase o iteraci&oacute;n: i) trazabilidad   entre los elementos de modelo UML, por medio de las relaciones de trazado (&lt;&lt;trace&gt;&gt;, &lt;&lt;realize&gt;&gt;, etc.); ii) trazabilidad por versionamiento   de documentos, tales como visi&oacute;n, evaluaci&oacute;n del riesgo, plan de pruebas, gesti&oacute;n y plan del proyecto, etc.</p>     <p><b>- Los flujos de trabajo</b></p>     <p>  Los flujos de trabajo (workflows) proveen una secuencia de actividades que permiten lograr metas <a href="img/revistas/eia/n8/n8a07fig2.gif" target="_blank">Figura 2</a>. Detalle del proceso iterativo e incremental 8concretas en cada una de las disciplinas del proceso. Deben estar muy bien definidos con su prop&oacute;sito, actores responsables, tareas y entregables, para que as&iacute; sea m&aacute;s uniforme y organizado el desarrollo de aplicaciones robustas y complejas. Cada flujo de trabajo cubre una iteraci&oacute;n desde el punto de vista de cada disciplina 7.</p>     <p>  Una iteraci&oacute;n se puede entender como la ejecuci&oacute;n de las disciplinas definidas en el proceso de desarrollo, manteniendo el objetivo de cada fase y dejando como resultado un incremento sobre los modelos construidos en las fases anteriores 4. En otras palabras, cada iteraci&oacute;n es una secuencia distinta de actividades enmarcadas en un lapso que tiene como resultado una entrega (interna o externa) de un producto ejecutable 8. Cada iteraci&oacute;n se define durante el proceso, es decir, nunca se deben planear todas las iteraciones desde el principio. Los miembros del grupo de trabajo que tengan mayor experiencia deciden qu&eacute; actividades de las disciplinas   involucradas se deben desarrollar en cada iteraci&oacute;n. En la <a href="img/revistas/eia/n8/n8a07fig3.gif" target="_blank">figura 3</a> se ilustra la participaci&oacute;n de las disciplinas iteraci&oacute;n tras iteraci&oacute;n. En un flujo de trabajo, la trazabilidad permite hacer el seguimiento de los elementos del modelo que evolucionan en cada iteraci&oacute;n.</p>     <p><b>2.2 Relaciones de trazado en UML y modelos de trazabilidad</b></p>     <p>  UML dispone de dos tipos de relaciones para realizar la trazabilidad: Abstracci&oacute;n (Abstraction) y Realizaci&oacute;n (Realization). La relaci&oacute;n de Abstracci&oacute;n &quot;relaciona dos o m&aacute;s elementos o conjunto de elementos    que representan el mismo concepto en diferentes niveles de abstracci&oacute;n o desde diferentes puntos de vista. En el metamodelo, una Abstracci&oacute;n es una Dependencia en la cual hay una correlaci&oacute;n entre el proveedor y el cliente&quot; 16. Hay cuatro dependencias de abstracci&oacute;n: &lt;&lt;trace&gt;&gt;, &lt;&lt;substitute&gt;&gt;, &lt;&lt;refine&gt;&gt;, y &lt;&lt;derive&gt;&gt; 2. Com&uacute;nmente, se usan las siguientes relaciones:    &lt;&lt;trace&gt;&gt;: relaci&oacute;n donde el proveedor y el cliente representan el mismo concepto en diferentes modelos. Por ejemplo, en la <a href="img/revistas/eia/n8/n8a07fig4.gif" target="_blank">figura 4</a> se ilustran tres casos: a) un componente o subsistema del dise&ntilde;o traza un paquete en el an&aacute;lisis; b) la clase de dise&ntilde;o y la interfaz trazan la clase del an&aacute;lisis; c) una realizaci&oacute;n de un caso de uso del dise&ntilde;o traza una realizaci&oacute;n de un caso de uso del an&aacute;lisis<sup><a href="#1" name="s1">1</a></sup>.</p>     <p>&lt;&lt;refine&gt;&gt;: relaci&oacute;n usada entre elementos del mismo modelo. Por ejemplo, en un mismo modelo se puede tener dos versiones de la misma clase en el modelo de clases.  </p>     <p>La relaci&oacute;n de Realizaci&oacute;n &quot;es una relaci&oacute;n de abstracci&oacute;n especializada entre dos conjuntos de elementos de modelo, uno representa una especificaci&oacute;n (el proveedor) y el otro representa una implementaci&oacute;n del &uacute;ltimo (el cliente). La realizaci&oacute;n se puede usar para modelar paso a paso refinamiento, optimizaciones, transformaciones, plantillas, s&iacute;ntesis de modelo, composici&oacute;n de marcos de trabajo, etc.&quot; 16. En la <a href="#(fig5)">figura 5</a> se ilustra un ejemplo donde el elemento de modelo Caso de Uso realiza los elementos de modelo Requisito 1 y Requisito 2. Otros elementos estereotipados que dispone UML 2.0 para el trazado son: &lt;&lt;call&gt;&gt;, &lt;&lt;send&gt; e &lt;&lt;instantiate&gt;&gt;. Las herramientas CASE para el modelado UML disponen de estos y de otras relaciones de trazado para soportar la trazabilidad.</p>     <p align="center"><a name="(fig5)"><img src="img/revistas/eia/n8/n8a07fig5.gif" /></a></p>     <p>Los modelos de trazabilidad soportan la correlaci&oacute;n   entre elementos de modelo. En la literatura es posible encontrar que &quot;Modelo de Trazabilidad&quot; (Traceability Model) se refiere al metamodelo que provee un conjunto de elementos abstractos dise&ntilde;ados para establecer criterios acerca de relaciones y elementos que registran el trazado 3, 11, 14.</p>     ]]></body>
<body><![CDATA[<p>Para el enfoque de este art&iacute;culo, los modelos de trazabilidad son aquellos que los desarrolladores crean para controlar la evoluci&oacute;n y cambios de los requisitos; depender&aacute;n de los modelos de desarrollo   (requisitos, casos de uso, clases, etc.) que sean construidos por los desarrolladores. Por lo general, combinan diferentes relaciones de trazabilidad estereotipadas de Abstracci&oacute;n y Realizaci&oacute;n para correlacionar los elementos de modelo. Estos elementos se construyen con base en las decisiones de calidad que tomen los grupos de trabajo. Adem&aacute;s, se complementan con las matrices de trazabilidad que proveen las herramientas de modelado (<a href="#(tab2)">Tabla 2</a>).</p>     <p align="center"><a name="(tab2)"><img src="img/revistas/eia/n8/n8a07tab2.gif" /></a></p>     <p>Cuando se construye un modelo de trazabilidad, las herramientas permiten usar libremente las relaciones de trazabilidad; lo importante es que los desarrolladores hagan buen uso de ellas. El flujo de control y el soporte de trazabilidad que este enfoque proponen ayudar&aacute;n a estandarizar la realizaci&oacute;n de dichos modelos.</p> </font>     <p><font size="3" face="Verdana"><b>3. LA TRAZABILIDAD COMO SOPORTE A LOS FLUJOS DE TRABAJO</b></font></p> <font face="Verdana"size="2">     <p>  Los modelos de trazabilidad reconocen tres elementos b&aacute;sicos: los participantes (stakeholders), las fuentes (documentos y modelos) y los objetos o artefactos para ser trazados. Estos elementos y su evoluci&oacute;n se deben identificar expl&iacute;citamente en cada flujo de trabajo para as&iacute; controlar y soportar el trazado en las fases del proceso. Por lo tanto, es necesario   que un flujo de control de la trazabilidad apoye los flujos de trabajo en cada iteraci&oacute;n. Los modelos de trazabilidad se deben generar por iteraci&oacute;n para que los grupos de trabajo tomen decisiones acerca del alcance del desarrollo y del impacto del cambio. As&iacute;, se realizar&aacute;n negociaciones oportunas con los participantes del proyecto. Adem&aacute;s, se proveer&aacute;n elementos para verificar la consistencia y la completitud   de los modelos de la soluci&oacute;n.</p>     <p><b>3.1 El flujo para el control y soporte de la trazabilidad</b></p>     <p>  En este art&iacute;culo se propone un flujo de trazabilidad   orientado a estandarizar el control y soporte de esta pr&aacute;ctica en el proceso de desarrollo (<a href="#(fig6)">figura 6</a>).</p>        <p align="center"><a name="(fig6)"><img src="img/revistas/eia/n8/n8a07fig6.gif" /></a></p>     <p>  En la primera iteraci&oacute;n, normalmente no existen los modelos de trazabilidad. Estos se deber&aacute;n elaborar realizando las siguientes acciones:</p>     <p><b>a. Establecer criterios para el modelo de trazabilidad.</b> Se refiere a la definici&oacute;n de criterios para determinar   qu&eacute; participantes, modelos/documentos fuente y elementos de modelo participar&aacute;n en el trazado. Adem&aacute;s, se establecen criterios de control del impacto del cambio, tales como operaciones de trazado y m&eacute;todo de an&aacute;lisis costo-beneficio. Estos criterios establecen la forma como los participantes elaborar&aacute;n e interpretar&aacute;n los modelos de trazabilidad. As&iacute; los modelos de trazabilidad lograr&aacute;n ser est&aacute;ndar para todos los proyectos en una empresa de desarrollo, pero de igual forma podr&aacute;n variar de acuerdo con el tipo de proyecto o la arquitectura de desarrollo utilizada.</p>     ]]></body>
<body><![CDATA[<p><b>b. Seleccionar elementos de modelo para el trazado. Se refiere a la clasificaci&oacute;n de los elementos</b> Se refiere a la clasificaci&oacute;n de los elementos de modelo proporcionados por el flujo de trabajo en una iteraci&oacute;n determinada. Aunque los casos de uso son el centro del desarrollo y de la toma de decisiones, es importante determinar qu&eacute; otros elementos se trazar&aacute;n conjuntamente con ellos en el modelo de trazabilidad<sup><a href="#2" name="s2">2</a></sup>.</p>     <p><b>c. Crear/Actualizar elementos predecesores, sucesores y v&iacute;nculos de trazado. </b>Se refiere a la creaci&oacute;n o actualizaci&oacute;n de los modelos de trazabilidad. Establece el orden de los elementos (predecesores-sucesores) que ser&aacute;n trazados a partir de los elementos de modelo involucrados en la traza y de los v&iacute;nculos que permitir&aacute;n trazarlos.En la <a href="img/revistas/eia/n8/n8a07fig7.gif" target="_blank">figura 7</a> se ilustra un modelo b&aacute;sico de trazado generado en una primera iteraci&oacute;n en el flujo de trabajo de la disciplina de requisitos.</p>     <p><b>d. Verificar completitud y consistencia.</b> Se refiere a que los modelos de trazabilidad son la base para reconocer incompletitud e inconsistencia en los modelos de desarrollo. Algunas inconsistencias   pueden ser: m&aacute;s de un caso de uso realice (&lt;&lt;realize&gt;&gt;) al mismo requisito, un prototipo no realice a ning&uacute;n caso de uso, un requisito no sea trazado (&lt;&lt;trace&gt;&gt;) a ning&uacute;n caso de uso, una interfaz no trace ninguna clase del an&aacute;lisis, etc. Realizar verificaciones de este tipo puede disminuir conflictos entre los grupos de trabajo, compensando los problemas con buenas pr&aacute;cticas   de gesti&oacute;n del cambio.</p>     <p>  En las siguientes iteraciones, los modelos de trazabilidad se actualizar&aacute;n por los grupos de trabajo con base en decisiones t&eacute;cnicas o cambios solicitados por los usuarios durante el desarrollo. Para lograr esto se deben realizar las siguientes acciones.</p>     <p>  <b>e. Evaluar el escenario de cambio. </b>Se refiere a la evaluaci&oacute;n del impacto de los cambios solicitados   por los participantes. Generalmente, las empresas de desarrollo definen su proceso de gesti&oacute;n del cambio y establecen plantillas espec&iacute;ficas   para formalizar los escenarios de cambio. En ellos, se debe registrar informaci&oacute;n referente a la iteraci&oacute;n, disciplinas afectadas, participantes del cambio (cliente y grupo de desarrolladores), contexto funcional y casos de uso afectados, los riesgos asociados a los cambios y elementos de configuraci&oacute;n afectados, tales como documentos   y modelos de desarrollo. A partir de los modelos de trazabilidad existentes, los desarrolladores   evaluar&aacute;n el impacto del cambio (costo-   esfuerzo-beneficio) y podr&aacute;n dar un diagn&oacute;stico o presupuesto de las actividades que deber&aacute;n realizarse sobre modelos de desarrollo, documentos   y productos que se entregar&aacute;n.</p>     <p>  <b>f. Identificar operaciones de cambio y elementos    de modelo afectados.</b> Se refiere al reconocimiento de las operaciones de cambio que se deben aplicar a los elementos de modelo identificados. B&aacute;sicamente, se dan tres operaciones: crear nuevos elementos, modificar los existentes o eliminarlos<sup><a href="#3" name="s3">3</a></sup>. Un cambio puede propagarse por muchos otros elementos de modelo (identificados de manera general en la acci&oacute;n anterior). La propagaci&oacute;n   es una &quot;reacci&oacute;n en cadena&quot; que se debe controlar y verificar en consistencia y completitud a partir del modelo de trazabilidad existente.</p>     <p>  En la <a href="img/revistas/eia/n8/n8a07fig8.gif" target="_blank">figura 8</a>, se muestra una nueva versi&oacute;n del modelo de trazabilidad de la <a href="img/revistas/eia/n8/n8a07fig7.gif" target="_blank">figura 7</a>. Aqu&iacute;, la relaci&oacute;n de &lt;&lt;trace&gt;&gt; se usa para relacionar los cambios con los elementos de modelo afectados. Tanto el Requisito 3 (proveedor) como el Cambio 1 (cliente) representan el mismo concepto en diferentes   modelos. El &quot;Cambio 1&quot; crea el Requisito 3, el cual a su vez realiza la &quot;Necesidad 2&quot;. La propagaci&oacute;n   de este cambio en otros elementos de modelo provoca la creaci&oacute;n de nuevos cambios sobre dichos elementos.</p>     <p> <b>g. Analizar costo-beneficio. </b></p>     <p>Se refiere a la estimaci&oacute;n   del costo y el esfuerzo que requieren los cambios solicitados por los participantes. Con base en el modelo de trazabilidad, se calcula el esfuerzo que implica realizar los cambios. </p>     <p>   Para los modelos de trazabilidad centrados en casos de uso, com&uacute;nmente se aplica el m&eacute;todo basado en puntos de casos de uso 5. Para modelos de trazabilidad que s&oacute;lo trazan elementos del dise&ntilde;o, el c&aacute;lculo del esfuerzo se hace desde el n&uacute;mero de v&iacute;nculos de trazado, de clases, de componentes y de m&eacute;todos. Estos artefactos son situados y contabilizados por el nivel de granularidad a partir del cual se calcula el esfuerzo 1.</p>     ]]></body>
<body><![CDATA[<p><b>3.2 Trazabilidad en el flujo de requisitos</b></p>     <p>  Las actividades que se ejecuten en los flujos de trabajo depender&aacute;n de la iteraci&oacute;n que se est&eacute; llevando a cabo en el proceso de desarrollo. A continuaci&oacute;n   se analiza la forma como el flujo de control y el soporte de trazabilidad pueden apoyar el flujo de requisitos.</p>     <p>  En la <a href="img/revistas/eia/n8/n8a07fig9.gif" target="_blank">figura 9</a>, se ilustra el flujo de trabajo de la disciplina de Requisitos y se incorpora la actividad de &quot;Control y Soporte de Trazabilidad&quot;. Adem&aacute;s, se reconocen los participantes, los documentos/modelos   fuente y los productos de trabajo involucrados en el trazado. Inicialmente, es importante conocer, por cada iteraci&oacute;n, qu&eacute; acciones se van a ejecutar en cada flujo de trabajo (decisi&oacute;n del grupo de trabajo) y qu&eacute; objetivo del sistema y requisitos se gestionar&aacute;n.   As&iacute;, se determinan el alcance y los modelos de trazabilidad que se generar&aacute;n.</p>     <p>  Para la trazabilidad, toda acci&oacute;n que pueda generar   o alterar un elemento de modelo o documento debe estar siempre presente en el flujo para facilitar el control del trazado. Por esta raz&oacute;n, las acciones &quot;Refinar la definici&oacute;n del sistema&quot; y &quot;Administrar el cambio en los requisitos&quot; se deben considerar.</p>     <p>Las acciones marcadas como (1) y (2) determinan   los elementos de modelo para la acci&oacute;n (3). La primera acci&oacute;n provee los elementos de modelo para crear o refinar el modelo de trazabilidad durante el desarrollo (depende de la iteraci&oacute;n). En los productos de trabajo de esta disciplina se incluye el modelo de trazabilidad que ser&aacute; determinante para posteriores fases del ciclo de vida (p. ej., el modelo de la <a href="img/revistas/eia/n8/n8a07fig8.gif" target="_blank">figura 8</a>). En la <a href="img/revistas/eia/n8/n8a07tab3.gif" target="_blank">tabla 3</a>, se muestran algunos de los elementos y relaciones de trazado que se deben controlar durante la ejecuci&oacute;n del flujo de trazabilidad.</p>     <p>  En este enfoque, el elemento o artefacto de &quot;Requisitos&quot; se refiere tanto a requisitos funcionales como no funcionales, pero de igual forma se podr&iacute;an correlacionar con otros elementos independientemente.</p>     <p>  Dicha decisi&oacute;n depender&aacute; de la estrategia de especificaci&oacute;n y modelado usada por el grupo de desarrollo. Algunas buenas pr&aacute;cticas orientan la agrupaci&oacute;n de requisitos de acuerdo con los intereses   u objetivos del negocio. As&iacute;, los casos de uso se separan o agrupan en paquetes funcionales que representan dicho inter&eacute;s.</p>     <p>  Al refinar el sistema, un nuevo requisito, caso de uso u otro elemento de modelo se puede crear, modificar o eliminar en un modelo de trazabilidad. Todo cambio debe partir de los requisitos y los casos de uso, pero muchas veces los desarrolladores evitan el flujo de requisitos, y los cambios afectan directamente   la arquitectura y elementos de dise&ntilde;o, como los componentes y la base de datos.</p>     <p>  En los flujos de trabajo de las otras disciplinas de RUP, los modelos de trazabilidad cambian un poco y es posible que se utilicen otros tipos de relaciones de trazado entre elementos de modelo. Por ejemplo, en la disciplina de an&aacute;lisis y dise&ntilde;o se generan elementos   de modelo tales como paquetes y templates y las relaciones entre ellos (&lt;&lt;import&gt;&gt;, &lt;&lt;merge&gt;&gt;,   etc.) pueden ser usadas como relaciones de trazado. Adem&aacute;s, la relaci&oacute;n &lt;&lt;trace&gt;&gt; se usar&aacute; directamente para marcar el rastro entre paquetes de clases o colaboraciones y subsistemas de dise&ntilde;o de componentes.</p> </font>     <p>  <font size="3" face="Verdana"><b>4. TRABAJOS RELACIONADOS</b></font></p> <font face="Verdana"size="2"> </font>    ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana">  Los trabajos relacionados con el an&aacute;lisis experimental   que se presenta en este art&iacute;culo no son muchos. Entre ellos, resalta el trabajo de Letelier en 11, que presenta un marco de trabajo para la trazabilidad de requisitos en proyectos cuyos modelos   est&eacute;n representados en UML. En este enfoque, hace una configuraci&oacute;n de trazabilidad para RUP y aplica cuatro tareas: 1) selecciona los tipos de artefactos que son de inter&eacute;s para la trazabilidad; 2) define relaciones de agregaci&oacute;n entre artefactos; 3) establece tipos de v&iacute;nculos de trazado que son de inter&eacute;s para el proyecto; 4) define criterios para derivar impl&iacute;citamente v&iacute;nculos de trazabilidad y su tipo. En relaci&oacute;n con esta propuesta, algunas tareas se pueden ver semejantes a las acciones del flujo de trazabilidad. Sin embargo, la diferencia radica en que Letelier desarrolla dichas tareas con base en el metamodelo de trazabilidad de su marco de trabajo, que provee a una sem&aacute;ntica de trazabilidad particular. Es decir, selecciona los elementos de modelo   que RUP presenta para el trazado y los asocia directamente a clases y relaciones de trazado de su marco de trabajo. </font></p>     <p><font size="2" face="Verdana">Por el contrario, en el enfoque de este art&iacute;culo, se usan de forma simple los elementos RUP representados   en UML para guiar la elaboraci&oacute;n de los modelos de trazabilidad dise&ntilde;ados por el grupo de trabajo. De igual forma, los documentos, como el de visi&oacute;n, se pueden representar en una clase estereotipada   en cualquier fase del ciclo de vida. Adem&aacute;s, Letelier no presenta un control del trazado expl&iacute;cito a partir de modelos de trazabilidad para verificar completitud y consistencia ni tampoco la factibilidad del impacto de los cambio.</font></p>     <p><font size="3" face="Verdana"><b>5. CONCLUSIONES Y TRABAJO FUTURO</b></font></p> <font face="Verdana"size="2">     <p>  Formalizar la pr&aacute;ctica de la trazabilidad en las empresas de desarrollo es una necesidad sentida. El flujo de control y soporte de trazabilidad propuesto se orienta a estandarizar y automatizar los modelos de trazabilidad. Estos se deben establecer para que los grupos de desarrollo puedan medir f&aacute;cilmente el impacto de los cambios generados durante el proceso de desarrollo.</p>     <p>  Una vez se conoce c&oacute;mo se puede controlar la pr&aacute;ctica de la trazabilidad desde el proceso unificado,   es importante empezar una prueba piloto en una empresa de desarrollo. Este flujo est&aacute; orientado a que los grupos de trabajo puedan establecer medidas o criterios acerca de factores tales como la continua demanda de cambios por parte de los usuarios, el grado de entendimiento del problema por parte de los desarrolladores y el nivel de intervenci&oacute;n de los arquitectos en esta pr&aacute;ctica desde etapas tempranas de desarrollo, entre otros.</p>     <p>  Las empresas de desarrollo establecen la pr&aacute;ctica   de la trazabilidad como un elemento base de la calidad del proceso de desarrollo. Sin embargo, su realizaci&oacute;n durante el proceso se deja, la mayor&iacute;a de veces, a criterio de los analistas funcionales (l&iacute;deres) que se apoyan en matrices de trazabilidad ofrecidas por las herramientas. Adem&aacute;s, las pr&aacute;cticas &aacute;giles de desarrollo la desechan como una actividad b&aacute;sica de proceso. Para mejorar esto, la alternativa m&aacute;s importante   que apoya la trazabilidad es la transformaci&oacute;n de modelos. Poder automatizar la evoluci&oacute;n de los requisitos y los artefactos en diferentes niveles de granularidad (o fases) hace que la trazabilidad est&eacute; totalmente orientada a la propagaci&oacute;n de los cambios tanto hacia adelante (forward) como hacia atr&aacute;s (backkward)   en el proceso de desarrollo, a la evaluaci&oacute;n del impacto del cambio y a la verificaci&oacute;n de la completitud y consistencia de los modelos de desarrollo.</p>     <p>  Como trabajo futuro, el grupo de investigaci&oacute;n est&aacute; realizando proyectos en tres frentes importantes. Uno, establecer el grado de la correlaci&oacute;n que puede ocurrir entre los modelos de trazabilidad generados en los flujos de requisitos y los generados en los flujos de las etapas de an&aacute;lisis y dise&ntilde;o. Dos, realizar un an&aacute;lisis de los costos y beneficios que implica realizar la pr&aacute;ctica de la trazabilidad usando el proceso unificado y otras metodolog&iacute;as de desarrollo. El tercer frente, y m&aacute;s importante, es obtener un patr&oacute;n de transformaci&oacute;n   dirigido a generar modelo de trazabilidad con caracter&iacute;sticas de propagaci&oacute;n del cambio en diferentes niveles de abstracci&oacute;n, para verificar consistencia y completitud de los modelos de desarrollo.</p> </font>     <p><font size="3" face="Verdana"><b>AGRADECIMIENTOS</b></font></p> <font face="Verdana"size="2">     <p>  Este art&iacute;culo corresponde a producci&oacute;n intelectual generada para el proyecto de investigaci&oacute;n &quot;An&aacute;lisis de la pr&aacute;ctica de la trazabilidad de asuntos transversales en una empresa de desarrollo de software&quot; patrocinado por la Escuela de Ingenier&iacute;a de Antioquia. Este proyecto se realiza en el marco de desarrollo de la tesis doctoral del primer autor, que a su vez es apoyado por los coautores como auxiliares de investigaci&oacute;n. Adem&aacute;s agradecemos a las empresas de desarrollo de software de Medell&iacute;n (Colombia) que nos facilitaron los recursos para hacer el an&aacute;lisis experimental (nos reservamos el nombre por acuerdos de confidencialidad).</p> </font>     <p><font size="3" face="Verdana"><B>COMENTARIOS</B></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana"><sup><a href="#s1" name="#1">1</a></sup>An&aacute;lisis y dise&ntilde;o refieren a niveles de abstracci&oacute;n diferentes.</font></p>     <p><font size="2" face="Verdana"><sup><a href="#s2" name="#2">2</a></sup>Los elementos de configuraci&oacute;n a los cuales se refiere la gesti&oacute;n del cambio 13 son elementos de grano grueso a partir de los cuales se puede determinar qu&eacute; elementos de modelo ser&aacute;n trazados.</font></p>     <p><font size="2" face="Verdana"><sup><a href="#s3" name="#3">3</a></sup> En 6 se presentan otros tipos de operaciones de cambio como una especializaci&oacute;n de &eacute;stas.</font></p>      <p><font size="3" face="Verdana"><b>BIBLIOGRAF&Iacute;A</b></font></p> <font face="Verdana"size="2"> </font>     <!-- ref --><p><font size="2" face="Verdana">  1 Ahn, S. and Chong, K. A feature-oriented requirements tracing method: A study of cost-benefit analysis. Proc. in International Conference on Hybrid Information Technology (ICHIT`06) 2006.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000087&pid=S1794-1237200700020000700001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>  2 Arlow, J., and Neustad, I. UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2 ed.). Addison-Wesley Object Technology Series. 2005.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000088&pid=S1794-1237200700020000700002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana">  3 Bond&eacute;, L.; Boulet, P. and Dekeyser, J.-L., Traceability and interoperability at different levels of abstraction in model transformations, in Forum on Specification and Design Languages, FDL - 05, Lausanne, Switzerland, Sep. 2005.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000089&pid=S1794-1237200700020000700003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>  4 Booch, G.; Rumbaugh, J. y Jacobson, I. El proceso unificado de desarrollo de software. Pearson Educaci&oacute;n, Madrid, 2000.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000090&pid=S1794-1237200700020000700004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana">  5 Carroll, E. R. Estimating software based on use case points. Proc. in OOPSLA - 05, Oct. 2005, USA. p. 257-265.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000091&pid=S1794-1237200700020000700005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>  6 Cleland-Huang, J.; Chang, C. K. and Christensen, M. Event-based traceability for managing evolutionary change, Software Engineering, IEEE Transactions on Volume 29 (9): 796-810, Sept. 2003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000092&pid=S1794-1237200700020000700006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>  7 Crain A. RUP iteration planning. The Rational Edge: e-zine for the Rational Community. July 2004.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000093&pid=S1794-1237200700020000700007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>  8 Eeles, P.; Kozaczynski, W. and Houston, K. Building J2EE Applications with the Rational Unified Process. Addison-Wesley, 2003.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000094&pid=S1794-1237200700020000700008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>  9 Egyed A. A scenario-driven approach to trace dependency analysis. IEEE Trans. Software Eng. 29(2): 116-132, 2003.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000095&pid=S1794-1237200700020000700009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana">  10 Gotel, O. and Finkelstein, A. Extended requirements traceability: results of an industrial case study. In Proceedings of 3rd International Symposium on Requirements Engineering (RE `97). IEEE Computer Society Press, p.169-178. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000096&pid=S1794-1237200700020000700010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P> 11 Letelier, P. A framework for requirements traceability in UML-based Projects. 1st International Workshop on Traceability in Emerging Forms of Software Engineering, In conjunction with the 17th IEEE International Conference on Automated Software Engineering, U.K., Sep. 2002.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000097&pid=S1794-1237200700020000700011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P> 12 Lindvall, M. A study of traceability in object-oriented systems development. Licentiate Thesis 462, Dept. of Computer and Information Science, Linkping University,    Sweden, 1994.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000098&pid=S1794-1237200700020000700012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P> 13 Pressman R. S., Ingenier&iacute;a del software: Un enfoque pr&aacute;ctico. (6 ed.). McGraw-Hill. 2006.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000099&pid=S1794-1237200700020000700013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P> 14 Ramesh B. and Jarke M. Towards reference models for requirements traceability. IEEE Transactions on Software Engineering, Vol. 27, No. 1, January 2001.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000100&pid=S1794-1237200700020000700014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P> 15 Tabares M. S.; Arango, F. and Anaya R. Una revisi&oacute;n de modelos y sem&aacute;nticas para la trazabilidad de requisitos. Revista EIA, n&uacute;mero 6, diciembre 2006, p. 33-42.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000101&pid=S1794-1237200700020000700015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><P> 16 UML-OMG. Unified Modeling Language: Superstructure.    V. 2.0. formal/05-07-04.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000102&pid=S1794-1237200700020000700016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ahn]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Chong]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[A feature-oriented requirements tracing method: A study of cost-benefit analysis]]></source>
<year>2006</year>
<publisher-name><![CDATA[Proc. in International Conference on Hybrid Information Technology]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arlow]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Neustad]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<source><![CDATA[UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design]]></source>
<year>2005</year>
<edition>(2</edition>
<publisher-name><![CDATA[Addison-Wesley Object Technology Series]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bondé]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Boulet]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Dekeyser]]></surname>
<given-names><![CDATA[J.-L]]></given-names>
</name>
</person-group>
<source><![CDATA[Traceability and interoperability at different levels of abstraction in model transformations, in Forum on Specification and Design Languages, FDL- 05, Lausanne, Switzerland, Sep]]></source>
<year>2005</year>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Booch]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Rumbaugh]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Jacobson]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<source><![CDATA[El proceso unificado de desarrollo de software]]></source>
<year>2000</year>
<publisher-loc><![CDATA[Madrid ]]></publisher-loc>
<publisher-name><![CDATA[Pearson Educación]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Carroll, E]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Estimating software based on use case points]]></source>
<year>05, </year>
<month>Oc</month>
<day>t.</day>
<page-range>257-265</page-range><publisher-loc><![CDATA[^eUSA USA]]></publisher-loc>
<publisher-name><![CDATA[Proc. in OOPSLA]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cleland-Huang]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Chang, C]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Christensen]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Event-based traceability for managing evolutionary change, Software Engineering, IEEE]]></article-title>
<source><![CDATA[Transactions on Volume]]></source>
<year>Sept</year>
<month>. </month>
<day>20</day>
<volume>29</volume>
<numero>9</numero>
<issue>9</issue>
<page-range>796-810</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Crain]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[The Rational Edge: e-zine for the Rational Community]]></source>
<year>July</year>
<month> 2</month>
<day>00</day>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Eeles]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Kozaczynski]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[Houston]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[Building J2EE Applications with the Rational Unified Process]]></source>
<year>2003</year>
<publisher-name><![CDATA[Addison-Wesley]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Egyed]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A scenario-driven approach to trace dependency analysis]]></article-title>
<source><![CDATA[Software Eng]]></source>
<year>2003</year>
<volume>29</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>116-132</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gotel]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Finkelstein]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Extended requirements traceability: results of an industrial case study]]></source>
<year></year>
<conf-name><![CDATA[ In Proceedings of 3rd International Symposium on Requirements Engineering (RE `97)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>169-178</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Letelier]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[A framework for requirements traceability in UML-based Projects]]></source>
<year></year>
<conf-name><![CDATA[ 1st International Workshop on Traceability in Emerging Forms of Software Engineering,]]></conf-name>
<conf-date>Sep. 2002</conf-date>
<conf-loc>U.K U.K</conf-loc>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lindvall]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pressman R]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Ingeniería del software: Un enfoque práctico]]></source>
<year>2006</year>
<edition>6</edition>
<publisher-name><![CDATA[McGraw-Hill]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ramesh]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Jarke]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Towards reference models for requirements traceability]]></source>
<year>Janu</year>
<month>ar</month>
<day>y </day>
<volume>27</volume>
<publisher-name><![CDATA[IEEE Transactions on Software Engineering]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tabares M]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Arango]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Anaya]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Una revisión de modelos y semánticas para la trazabilidad de requisitos.]]></article-title>
<source><![CDATA[Revista EIA]]></source>
<year>dici</year>
<month>em</month>
<day>br</day>
<numero>6</numero>
<issue>6</issue>
<page-range>33-42</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="">
<collab>UML^dOMG</collab>
<source><![CDATA[Unified Modeling Language: Superstructure]]></source>
<year>05-0</year>
<month>7-</month>
<day>04</day>
<volume>2.0</volume>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
