Está en la página 1de 5

Lic.

Informtica Evolucin del Software


HERRAMIENTAS PARA LA REUTILIZACIN Y TCNICAS DE REUTILIZACIN

17

La reutilizacin de Software es un proceso de la Ingeniera de Software que conlleva al uso recurrente de activos de software en la especificacin, anlisis, diseo, implementacin y pruebas de una aplicacin o sistema (Montilva, 2003). Reutilizacin de especificaciones de requisitos Reutilizar elementos de diseo, o incluso de anlisis es, como ya hemos visto, mucho ms valioso que reutilizar cdigo. Sin embargo, por qu quedarnos ah? Por qu no intentar subir ms arriba en el proceso de desarrollo de software e intentar reutilizar requisitos? A fin de cuentas, aunque algunos mtodos digan que son conducidos por caso de uso, todos sabemos que el verdadero ncleo conductor de todo desarrollo de software deberan ser los requisitos. Son estos requisitos los que darn lugar posteriormente a una representacin formal basada en casos de uso. Pongamos en la palestra, por lo tanto, el concepto de Patrones de Requisitos. Un patrn de requisitos puede ser visto como un conjunto de requisitos reutilizable. Al igual que en puntos anteriores, podrn existir patrones horizontales (interoperables entre varios dominios, como por ejemplo los requisitos de seguridad del Common Criteria [COMM]) y patrones verticales (propios de un dominio dado). Sin embargo, la idea de un simple conjunto reutilizable de requisitos vuelve a quedarse coja. Hay que tener en cuenta que un buen proyecto de software no solamente incluye requisitos, sino tambin, por ejemplo, riesgos derivados de estos requisitos, las pruebas a estos requisitos... Segn nuestra apreciacin, un patrn de requisitos debera estar compuesto por la siguiente informacin: El conjunto de requisitos, ya sean estos horizontales o verticales, junto con sus correspondientes tipos. Los riesgos que acecharn al proyecto por la simple y sencilla razn de que tiene que abordar uno o ms de esos requisitos. La especificacin de las pruebas que han de llevarse a cabo para validar que el nuevo sistema a construir cumple con lo indicado en los requisitos del patrn. Los diagramas de anlisis que responden a estos requisitos: estructuras de clases, modelos de datos, diagramas de actividad o de interaccin que resuelvan los requisitos El conjunto de documentos que permita entender el contenido del patrn y que ayude a implementarlo correctamente.

Estos patrones son, sin duda, atractivos, pero requieren de unas herramientas CASE algo especiales. Sin ir ms lejos, necesitamos de herramientas que soporten la fase de anlisis de

requisitos, la de anlisis de riesgos, el modelado y la de modelado de casos de prueba. Pocas herramientas del mercado cubren todas estas fases, por lo que hay que recurrir a suites completas (lo que dispara enormemente el precio). Pero no basta con soportar todas estas fases, adems los elementos generados en cada una de ellas deben poder ser trazados con el resto de elementos, por lo que las herramientas debern soportar un sistema sencillo, a la vez que potente de traza entre los distintos elementos. Esta traza es vital para una reutilizacin efectiva de software a alto nivel basada en patrones de requisitos. Pero sera an ms importante si nuestra herramienta permitiese la localizacin semntica dentro de un repositorio que albergase todos los requisitos tratados en todos los desarrollos de tu organizacin. En ese caso, un modelo de software podra contener, no slo requisitos, riesgos y casos de prueba, sino tambin anlisis y diseos creados con UML, estimaciones, mtricas... Tener toda esta informacin trazada, y disponer de herramientas avanzadas de bsqueda textual (basada en Procesamiento de Lenguaje Natural) sobre el contenido de los requisitos es un punto clave para disparar los beneficios de la reutilizacin de software. Una vez localizado un requisito reutilizable en el repositorio, se requieren herramientas que permitan navegar sobre la traza y determinar: Qu elementos trazados con el actual deseo reutilizar en mi nuevo proyecto: si tu herramienta CASE lo permite, estos elementos podrn ser riesgos, estimaciones, elementos de anlisis y diseo, casos de prueba... Qu elementos trazados a cualquier nivel quiero poder reutilizar. Qu atributos del actual requisito deseo reutilizar en mi nuevo proyecto (p.e. su complejidad, coste estimado, estabilidad...). De esta forma se estar automatizando al mximo la labor del reutilizador de software. Pero cuidado, no hay que descuidar dos tareas importantsimas para garantizar el xito de un programa de reutilizacin: Conteo: hay que llevar mtricas sobre quin genera elementos reutilizables, cuntas veces estos son reutilizados, quin reutiliza qu... Anlisis post-mortem: de qu vale reutilizar informacin sobre un requisito o un riesgo si no sabemos, por ejemplo, si la estimacin de esfuerzo del requisito fue finalmente acertada, o si la estrategia de mitigacin de un riesgo fue la ms correcta. Por ello, se requiere una nueva fase antes de dar por concluido un proyecto. Esta nueva fase, conocida como post-mortem o debriefing, permite verificar antes de dar por finalizado el proyecto, aquellos datos que fueron dados justo al comienzo. De esta forma nos aseguraremos de que estamos reutilizando la informacin acertada. Las Unidades de Reutilizacin como solucin al problema Para la correcta implantacin de una unidad de reutilizacin de software hay que cubrir varias reas de inters, flaquear en cualquiera de ellas implicar, sin duda, una importante merma en la eficiencia de las actividades de reutilizacin.

Dominio Como ya se ha comentado anteriormente, se requieren avanzadas herramientas de clasificacin y localizacin de conocimiento para el acceso inteligente al repositorio de activos reutilizables. En este sentido, tesauros y ontologas son modos de ampliar la eficiencia de los sistemas de bsqueda (ver seccin de Herramientas); asimismo, una correcta determinacin del dominio de aplicacin de un problema ayuda a conocer sus fronteras y mejora la comunicacin entre todas las partes involucradas. Proceso Los procesos de desarrollo clsicos no sobreviven en entornos donde la reutilizacin es una premisa. Sin embargo, un cambio radical en los procesos de desarrollo puede ser catastrfico. Por ello se propone la metodologa IRM (Incremental Reuse Method). En realidad no se considera metodologa, sino una especie de Add-in de actividades que se montan sobre el proceso actual de cualquier organizacin, dndole un enfoque a la reutilizacin. IRM hace un especial nfasis en: Gestin de vocabulario: tal y como se expres en la seccin de Dominio, una correcta determinacin del vocabulario del dominio de trabajo dar fluidez a la comunicacin entre los interesados, y potenciar las herramientas de recuperacin Post-mortem (debriefing): tras finalizar el proyecto, y antes de catalogarlo en el repositorio, se requiere repasar que toda la informacin que, en su momento ser reutilizada, es correcta Catalogacin (indizacin): se trata de una fase automtica que incluye los activos del proyecto dentro del repositorio para su posterior recuperacin

Tras esto, se requiere que en el resto de actividades del proceso de desarrollo (anlisis, diseo, codificacin) se posean herramientas de bsqueda que permitan el acceso a activos ya catalogados y que puedan ser de inters en mi nuevo proyecto. Si, adems, estos activos estn trazados contra otros de aqul proyecto, el xito est casi garantizado. Roles Un proceso de trabajo diferente, requiere de perfiles diferentes. IRM define los siguientes roles: * Arquitecto de dominios: Como ya se ha comentado, las ontologas forman el ncleo del repositorio (dominio). Por ello, se requiere un rol con capacidad de liderar la construccin y evolucin de las ontologas. No necesariamente ser un experto en el dominio a construir, sino ms bien un experto en la construccin de dominios. Por otro lado, determinar qu activos sern los utilizados para la construccin de las ontologas. * Experto de dominio: Se encargar, junto con el arquitecto de dominios, de la construccin de la ontologa. Ser entrevistado por ste y har uso de las herramientas de trabajo colaborativo necesarias para la construccin y evolucin de las ontologas. En la fase de construccin inicial de la ontologa pueden utilizarse varios expertos de dominio, sin

embargo, una vez construida la ontologa, la dependencia de este rol se minimiza, siendo incluso suficiente con una nica persona para la evolucin del mismo. * Catalogador: Es el rol encargado de incluir activos finalizados en el repositorio. Por lo tanto, se encargar de la fase de indizacin y de dar soporte al responsable de cada proyecto en la fase de debriefing. Asimismo, da soporte al resto de usuarios del sistema en la fase de recuperacin y reutilizacin del conocimiento. * Jefe de Unidad Reuse Manager: Su misin es la de coordinar al resto de roles de la Unidad. Por ello, es el rol ideal para la comunicacin con la direccin y la determinacin de los objetivos; es decir, ser el encargado de las actividades de gestin y de planificacin (ver seccin Sus actividades principales). Tambin dentro de la actividad de Evaluacin, se encargar de definir y corregir en su caso las mtricas con las que se mide el proceso. Herramientas Como ya se ha comentado anteriormente, no basta con la iniciativa, la definicin del proceso de desarrollo y la formacin en reutilizacin; si no se dispone de las herramientas adecuadas, cualquier esfuerzo ser en vano. La metodologa IRM requiere de las siguientes herramientas: * Gestin de ontologas: herramientas como domainREUSER son imprescindibles para la construccin y mantenimiento de tesauros y ontologas (representaciones de dominio). Sin embargo, hay que tener en cuenta que la construccin de dichos dominios podra llegar a automatizarse [TRC]. * Trazabilidad total: se requieren herramientas como swREUSER que permitan la trazabilidad total en el ciclo de vida de desarrollo * Repositorio de activos reutilizables: este repositorio debe ser capaz de albergar cualquier tipo de artefacto, desde texto, hasta cdigo, pasando por modelos software. Posteriormente, debe ser capaz de permitir el acceso a su contenido basndose en un simple y potente interface de

BIBLIOGRAFA
Autor: dTinf. The Reuse Company http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=reuse

También podría gustarte