Está en la página 1de 3

El desarrollo de sistemas de software basado en componentes, o simplemente

desarrollo de software basado en componentes (DSBC) 1, es una aproximacin


del desarrollo de software que describe, construye y utiliza tcnicas software
para la elaboracin de sistemas abiertos y distribuidos mediante el ensamblaje
de partes software reutilizables.

La aproximacin DSBC es utilizada para reducir los costes, tiempos y esfuerzos


de desarrollo del software, a la vez que ayuda a mejorar la fiabilidad,
flexibilidad y la reutilizacin de la aplicacin final. Durante algunos aos, DSBC
fue referida como una filosofa conocida como compre, y no construya
promulgada por Fred Brooks en 1987 [Brooks, 1987] y que abogaba por la
utilizacin de componentes prefabricados sin tener que desarrollarlos de
nuevo. Hoy da, muchos autores que trabajan en el campo de DSBC empiezan a
reconocer y a aceptar el uso de estndares, guas, procesos y prcticas de
ingeniera, sin los cuales el desarrollo de software basado en componentes
sera una mera mezcla entre competitivos y confusos lenguajes, metodologas
y procesos. Estos estndares, guas, procesos y prcticas han propiciado que se
empiece a hablar del trmino de Ingeniera del Software Basada en
Componentes (ISBC)2, como una subdisciplina de la Ingeniera del Software.

En este artculo ofrecemos una visin global de aquellas reas de DSBC y ISBC
que sustentan las bases de un mtodo para el desarrollo de sistemas de
software basado en un modelo de mediacin para componentes COTS para
sistemas abiertos y distribuidos.
El presente captulo est organizado en nueve secciones, comenzando con una
introduccin histrica a los conceptos previos en entornos abiertos y
distribuidos. Describiremos la situacin actual en el rea de la Ingeniera de
componentes software y veremos cmo se lleva a cabo la especificacin de un
componente software. Tambin introduciremos algunas nociones de los
componentes COTS y del rea de la ingeniera de requisitos. Analizaremos
conceptos relacionados con las arquitecturas de software y servicios de
mediacin.
COMPONENTE

Segn Szipersky un componente es una unidad binaria de composicin de


aplicaciones software, que posee un conjunto de interfaces y un conjunto de
requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al
sistema y compuesto con otros componentes de forma independiente, en
tiempo y espacio.

Tambin IBM tiene su propio concepto de lo que es un componente y ellos los


establecen de la siguiente manera: Es una implementacin que (a) realiza un
conjunto de funciones relacionadas, (b) puede ser independientemente
desarrollado, entregado e instalado, (c) tiene un conjunto de interfaces para los
servicios proporcionados y otro para los servicios requeridos, (d) permite tener
acceso a los datos y al comportamiento slo a travs de sus interfaces, (e)
opcionalmente admite una configuracin controlada.

Adems el SEI (Software Engineering Institute), aporta la siguiente definicin


de componente: Un componente software es un fragmento de un sistema
software quepuede ser ensamblado con otros fragmentos para formar piezas
mas grandes o aplicaciones completas.

PARADIGMA
El concepto de paradigma (un vocablo que deriva del griego paradeigma) se
utiliza en la vida cotidiana como sinnimo de ejemplo o para hacer referencia
a algo que se toma como modelo. En principio, se tena en cuenta a
nivel gramatical (para definir su uso en un cierto contexto) y se valoraba desde
la retrica(para hacer mencin a una parbola o fbula). A partir de la dcada
del 60, los alcances de la nocin se ampliaron y paradigma comenz a ser un
trmino comn en el vocabulario cientfico y en expresiones epistemolgicas
cuando se haca necesario hablar de modelos o patrones.

En este sentido, en su acepcin como modelo, podramos establecer un


ejemplo como el siguiente: El trabajo de Valentino es un paradigma para
muchos jvenes diseadores.

Una de las primeras figuras de la historia que abordaron el concepto que ahora
nos ocupa fue el gran filsofo griego Platn que realiz su propia definicin de
lo que l consideraba que era un paradigma. En este sentido, el citado
pensador expuesto que esta palabra vena a determinar a lo que son las ideas
o los tipos de ejemplo de una cosa en cuestin.
INGENIERIA DE SOFTWARE BASADA EN COMONENTES
(ISBC)

La ISBC se refiere al desarrollo de software utilizando tcnicas para ello, por


ejemplo tenemos 2 que son: 1) Desarrollo de Software y 2) Reutilizacin. En el
caso de desarrollo se inicia crear el software desde 0 hasta construir la
aplicacin en su totalidad, y en la reutilizacin se usan componentes de
aplicaciones ya creadas ya sea por una misma empresa o por terceros sin
embargo esta ltima llega a presentar problemas por motivos que
analizaremos ms adelante.

El sueo de los especialistas en ingeniera del software ha sido disponer de


factoras de software donde partes software ya estandarizadas de una
aplicacin puedan ser automticamente seleccionadas desde un catlogo y
ensambladas e implantadas fcilmente como solucin a una necesidad de
desarrollo de la organizacin.

Una visin ms realista supone que las partes software (componentes) ocultan
muchas de sus propiedades, siendo difcil su acceso a la informacin y al
comportamiento interno (black box) en tareas de evaluacin; y en lugar de
arquitecturas de software estndares se tienen particulares notaciones que
permiten definir arquitecturas de partes software inestables y no probadas,
esta es una de las desventajas que mencionbamos antes.

En los aos 80 se intent llevar a la prctica una idea similar a la que presenta
la visin optimista, recopilando y catalogando mdulos software de
aplicaciones para su reutilizacin, conocidos generalmente como artefactos o
mdulos software (assets).

Sin embargo, la mayora de las iniciativas de reutilizacin no prosperaron por


varias razones obvias: (a) la infraestructura tcnica que daba soporte a la
reutilizacin estaba an inmadura; (b) la catalogacin de mdulos software era
muy difcil; (c) los mdulos software fueron muy diversos y de calidad tambin
muy variada; (d) las interfaces y el comportamiento de los mdulos software
fueron pobremente definidos; (e) y finalmente, la cultura de la reutilizacin
fue infravalorada e insuficientemente apoyada por el mercado.

COMPONENTES COMERCIALES (COTS)