Está en la página 1de 16

La Orientacin a Objetos cre un rumbo diferente en el proceso de reutilizacin a travs de la produccin de componentes genricos, fciles de integrar, distribuidos e independientes

de las plataformas de desarrollo. En esta presentacin se discuten los conceptos fundamentales de la reutilizacin de software, as como los modelos de procesos y los aspectos metodolgicos que caracterizan esta nueva manera de producir software, denominada Desarrollo de Software basado en Componentes.

Activo Reutilizable es un producto diseado expresamente para ser empleado de forma recurrente en el desarrollo de muchos sistemas y aplicaciones. Ejemplos de activos reutilizables son: algoritmos, patrones de diseo, esquemas de base de datos, arquitecturas de software, especificacines de requerimientos, de diseo y de prueba, entre otros. Componente de Software, un componente de software es una unidad de composicin con interfaces especificadas contractualmente y solamente dependencias explcitas de contexto. Un componente de software puede ser desplegado independientemente y est sujeto a composicin por terceros.

Un componente de software puede ser visto desde dos perspectivas distintas, como:
1. Implementacin: los componentes se pueden ensamblar y desplegar para crear sistemas y aplicaciones que se ejecutan en un computador. 2. Abstraccin de arquitectura: los componentes expresan las reglas de diseo que impone el modelo de componentes.

Estn disponibles diversas tecnologas de componentes tpicamente asociadas con infraestructuras de procesamiento distribuido (e.j. Enterprise JavaBeans, CORBA Component Model y .NET) y aplicaciones de escritorio (e.j. Controles ActiveX y JavaBeans).

Una de las caractersticas ms importantes de los componentes es que son reutilizables. Para ello los componentes deben satisfacer como mnimo el siguiente conjunto de caractersticas:

Identificable Accesible slo a travs de su interfaz Sus servicios son invariantes Documentado

Los modelos de componentes especifican las reglas de diseo que deben obedecer los componentes. Estas reglas de diseo mejoran la composicin, aseguran que las calidades de servicio se logren en todo el sistema, y que los componentes se puedan desplegar fcilmente tanto en entornos de desarrollo como de produccin.

Los frameworks de componentes proporcionan servicios que soportan y hacen cumplir el modelo componentes asociado. El framework maneja recursos compartidos por los componentes, y proporciona mecanismos subyacentes que permiten la comunicacin (interaccin) entre ellos. Los frameworks son activos y actan directamente sobre componentes, por ejemplo administrando su ciclo de vida (comenzar, suspender, reasumir, o terminar la ejecucin de un componente), y otros recursos.

Bajo el modelo de desarrollo de software basado en componentes, las nuevas aplicaciones se construyen mediante la integracin o composicin de componentes. La composicin de software se define como el proceso de construir aplicaciones mediante la interconexin de componentes de software a travs de sus interfaces (de composicin)".

La composicin puede concebirse como una relacin cliente-servidor entre dos componentes.

Los procesos de desarrollo de software basados en la reutilizacin de componentes se clasifican en dos categoras:

Desarrollo de componentes. Desarrollo de software con reutilizacin de componentes.

El modelo de procesos descrito provee, sin embargo, una visin mucho ms completa y amplia del desarrollo de software basado en componentes. Este modelo, denominado ciclo de vida gemelo (twin life cycle), divide el proceso de desarrollo de software en dos grandes bloques paralelos, tal como se ilustra en la Figura.

El primer bloque, conocido como Ingeniera de Dominios, contempla los procesos necesarios para desarrollar activos de software reutilizables en un dominio particular. El segundo bloque es denominado Ingeniera de Aplicaciones, su propsito es el desarrollo de aplicaciones basado en la reutilizacin de activos de software producidos a travs de la Ingeniera de Dominios.

Los beneficios derivados de la reutilizacin de software estn ocasionando un cambio acelerado en la manera en que la industria de software desarrolla sus productos. Los componentes de software reutilizables constituyen las unidades fundamentales para el desarrollo de nuevas aplicaciones.

También podría gustarte