You are on page 1of 3

Modelos orientados a la reutilización

Es el proceso de creación de sistemas de software a partir de un software existente, en


lugar de tener que rediseñar desde el principio
En los años 60, se construyeron bibliotecas de subrutinas científicas reutilizables con un
dominio de aplicación limitado, en la actualidad se crean componentes comunes a varios
procesos con el fin de poder utilizarlos en la construcción de software.

Podemos definirla como el empleo de elementos de software u otros de nivel superior,


creados en desarrollo anteriores, para de este modo reducir los tiempos y simplificar el
desarrollo del software, mejorando la calidad y reduciendo su costo.

Historia
La reutilización de software llega como alternativa para desarrollar aplicaciones y sistemas
sw de manera más eficiente, productiva y rápida
Llega para reutilizar elementos y componentes sw en lugar de tener que desarrollarlos
desde un principio
Surge formalmente en 1968.La idea principal era producir componentes de software como
si de componentes eléctricos se tratara

Conceptos de reutilización de software


 La reutilización de software aparece como una alternativa para desarrollar
aplicaciones y sistemas SW de una manera más eficiente, productiva y rápida.
 La idea es reutilizar elementos y componentes SW en lugar de tener que
desarrollarlos desde un principio.
 Surge formalmente de 1968
 La idea principal era producir componentes de software como si de
componentes eléctricos se tratara.
 El objetivo es reutilizar lo existente sin tener que volver a rediseñarlo desde el
principio.

Elementos que intervienen en la reutilización

 Especificaciones de requerimientos previamente concebidas


 Diseños previamente definidos (Estructuras de datos, algoritmos, etc.)
 Código probado y depurado con anterioridad
 Planes y casos de prueba previamente utilizados
 Personal cualificado (aprovechamiento de la experiencia de los ingenieros de un
proyecto a otro)
 Paquetes de software de propósito general
¿Para qué sirve?
Enfocar el desarrollo para maximizar la reutilización de software existente

 Tipos de reutilización
 Oportunista :
 El ingeniero de software reutiliza piezas que él sabe que se ajustan al
problema

 Sistemática:

 Esfuerzo a nivel organizacional y planificado de antemano


 Todo componente reutilizado ha de ser ideado, a priori, para ser
reutilizado
 Implica inversiones iniciales para recoger frutos en el futuro
 Diseñar componentes genéricos para que sean reutilizados con
facilidad

 Bottom-up:
 Se desarrollan pequeños componentes para una determinada aplicación
 Se incorpora a un repositorio

 Top-sown:
 Se determinan las piezas necesarias que encajan unas con otras
 Se van desarrollando poco a poco
 Requiere alta inversión a comienzo
 Se recogerán beneficios en el futuro

 Actividades del desarrollo basado en componentes


 Cualificación de componentes
 Adaptación de componentes
 Composición de componentes
 Ingeniería de componentes
 Actualización de componentes
Representación grafica

Ventajas

 Reduce tiempo de desarrollo


 Reduce costos
 Facilitar la compartición de productos del ciclo de vida
 Mayor fiabilidad
 Consistencia ,los patrones dentro del software serán mas consistentes facilitando el
mantenimiento del producto
 Incrementar la productividad.
 No tener que reinventar las soluciones.
 Mayor eficiencia (Aunque al principio pueda parecer que no)

Desventajas

 Necesidad de intervenir antes de obtener resultados


 Carencia de métodos adecuados
 Necesidad de formar al personal.
 Convencer a los “manager”.
 Dificultad para institucionalizar los procesos.