Está en la página 1de 12

INTRODUCCIÓN Y PRINCIPIOS BÁSICOS DEL DESARROLLO DE

SOFTWARE BASADO EN COMPONENTES


Maribel Ariza Rojas, Juan Carlos Molina García
mariza@javeriana.edu.co, jmolina@javeriana.edu.co
Septiembre 30 de 2004

Abstract: herramientas estandarizadas que se


Component Based Software Development encuentran en el mercado representan los
(CBSD) has become important in the last objetivos que persigue este documento.
few years; it’s appearing as a solution for
complex developments and a new Este es entonces, una breve introducción
methodology to join the best technologies acerca de lo que el lector encontrará en
in one project. This article presents a este documento : La definición de
glimpse of CBSD, and its main Componente de software, exponiendo sus
characteristics, followed by their principales características y un modelo
description. Classifying components is a que facilita su comprensión dentro del
recent subject in CBSD, which considers proceso de desarrollo de software. Luego
the process of analysis and design, that se expone una posible metodología para la
has to be taken seriously in an appropriate clasificación de componentes a través de
CBSD. Finally, it describes the most atributos cuantificables y medibles.
relevant types of components Finalmente exponemos dos de los
complemented by current technologies in principales Componentes de software y las
the field of CBSD. tecnologías estandarizadas que han
ayudado en gran medida a que el DSBC se
Palabras Clave: Componentes de convierta en una buena y diferente opción
Software, Desarrollo de Software basado para los desarrolladores de software.
en componentes (DSBC), Framework,
Bussines Component 2. COMPONENTES Y
CARACTERÍSTICAS DE
1. INTRODUCCIÓN DESCRIPCIÓN

El desarrollo de software basado en 2.1. Contexto


componentes (DSBC), es una tecnología El concepto de componentes para el
que ha empezado a demostrar que ofrece desarrollo de software no es un concepto
ventajas en tiempo de desarrollo y nuevo; para muchos autores simplemente
reducción de costos en el proceso[1] de es la evolución del la metodología
desarrollo de software. La definición de orientada a objetos[2]. De hecho, muchas
Componente de Software, sus de las características de los componentes
características principales, la búsqueda de para el desarrollo parten de la idea del
posibles métodos para clasificar diseño orientado a objetos. Pero la historia
componentes y la exposición de las del desarrollo de software basado en
componentes proviene aún desde más

Componentes de Software 1
atrás. Uno de los logros de la revolución necesidades de los clientes. Esto permite a
industrial fue el desarrollo por los desarrolladores y a la empresa adquirir
componentes, surgiendo a partir de la las tecnologías que más se adapten a sus
necesidad de estandarizar los elementos de necesidades, y no incurrir en gastos de
los productos realizados en línea, como los licenciamiento o soporte y actualización
automóviles. [3] de las grandes soluciones, ya que muchas
Los desarrollos tradicionales de de estas tecnologías son gratis y existen
aplicaciones incurren en altos costos y en bajo la premisa de Freeware y GNU
una inversión de tiempo extensa. El iniciar (General Public License)1, lo cual añade
un desarrollo de software desde cero es un otra gran ventaja.
reto muy grande, incluso para una empresa Otro punto a tomar en cuenta es que el
que pueda soportar este proceso. Esto DSBC, pertenece al paradigma de
sesgaría el desarrollo de software a las programación de sistemas abiertos, los
grandes empresas, y no le daría cabida a cuales son extensibles y tienen una
las pequeñas y medianas empresas que interacción con componentes
desean adquirir tecnologías o construir sus heterogéneos que ingresan o abandonan el
propias soluciones. Las empresas sistema de forma dinámica, es decir que
pequeñas han estado siempre al margen los componentes pueden ser remplazados,
del desarrollo de software; solo hasta la por otros independientemente de su
década pasada se les permitió la arquitectura y desarrollo [4]. De esta
introducción a este campo. Esta manera se puede hacer un paralelo entre el
introducción se originó ante la demanda de mundo percibido por el hombre y el
estas por buscar sus propios productos DSBC desde un punto de vista menos
para dejar de depender de aquellos que las formal y con una perspectiva del mundo
grandes empresas ponían en el mercado. cotidiano donde se tienen sistemas
Por otra parte, las empresas buscaban la abiertos y cerrados. Por ejemplo, el ser
reducción de costos en la tecnología humano es un sistema abierto y realiza
(Hardware, Software e Infraestructura de interacciones con el medio (otro sistema),
Comunicación). la mayoría de los sistemas en el mundo
El DSBC busca, dentro de otros objetivos, percibido por el hombre son abiertos y
reducir el tiempo de trabajo, el esfuerzo necesitan una interacción con el medio
que requiere implementar una aplicación y para poder sobrevivir como en el caso del
los costos del proyecto, y, de esta forma, hombre (alimentos, aire, relaciones, etc).
incrementar el nivel de productividad de Esta interacción es la que permite que
los grupos desarrolladores y minimizar los crezca el sistema (extensión), dándole la
riesgos globales sin incurrir en gastos posibilidad de mejorar con el tiempo y
exorbitantes. De esta manera, las pequeñas lograr una estabilidad (evolución para el
empresas pueden tener una mayor caso del hombre).
confiabilidad a la hora de realizar una
inversión tecnológica. Otra ventaja es
poder integrar lo mejor de las tecnologías
para desarrollar una aplicación de manera 1
www.osmosislatina.com/diversos/open_source.ht
personalizada, a la medida de las ml

Componentes de Software 2
2.2. Concepto independientemente y es sujeto a la
composición de terceros.[7]
Lo más importante que se debe tener en • Un Componente de Negocio
cuenta al definir el concepto de DSBC, es representa la implementación de
el de diferenciar las características software del concepto de un negocio
existentes entre el DSBC y el paradigma “autónomo” o un proceso de negocio.
de objetos, la Programación Orientada a Que consiste de artefactos de software
Objetos (POO) es cuando el software necesarios para expresar, implementar
puede ser desarrollado de acuerdo a un y poner en marcha el concepto de
modelo mental de un objeto real o elemento reusable de un sistema mas
imaginado, mientras que el DSBC dice grande de negocios.[8]
que el software debe ser desarrollado a
partir de componentes prefabricados. Estas definiciones no son mutuamente
Existen varias definiciones de excluyentes, por el contrario, se
componentes realizadas por expertos que complementan y construyen el significado
han sido los encargados del desarrollo de no sólo de componente, también el
esta metodología, ellos han tomado como significado del desarrollo basado en
base la metodología de la programación componentes. Sin embargo más allá de su
orientada objetos y el modelado a través definición existen algunas características
de UML : claves para que un elemento pueda ser
catalogado como componente:
• Un componente es una parte no trivial,
casi independiente, y reemplazable de – Identificable: Debe tener una
un sistema que llena claramente una identificación que permita acceder
funcionalidad dentro de un contexto en fácilmente a sus servicios y que
una arquitectura bien definida. Un permita su clasificación.
componente se conforma y provee la – Auto contenido: Un componente no
realización física por medio de un debe requerir de la utilización de otros
conjunto de interfaces.[5] para finiquitar la función para la cual
• Un componente de software en tiempo fue diseñado.
de ejecución es un paquete – Puede ser remplazado por otro
dinámicamente vinculado con uno o componente: Se puede remplazar por
varios programas manejados como una nuevas versiones u otro componente
unidad y que son accedidos mediante que lo remplace y mejore.
interfaces bien documentadas que – Con acceso solamente a través de su
pueden ser descubiertos en tiempo de interfaz: Debe asegurar que estas no
ejecución.[6] cambiaran a lo largo de su
• Un componente de software es una implementación.
unidad de composición con interfaces – Sus servicios no varían: Las
contractualmente especificadas y funcionalidades ofrecidas en su
explícitas sólo con dependencias interfaz no deben variar, pero su
dentro de un contexto. Un componente implementación sí.
de software puede ser desplegado

Componentes de Software 3
– Bien Documentado: Un componente punto es útil para igualar los
debe estar correctamente documentado requerimientos con las capacidades
para facilitar su búsqueda si se quiere funcionales y no funcionales del
actualizar, integrar con otros, componente; aquí se deben determinar
adaptarlo, etc. aspectos como: Estructura de la
– Es genérico: Sus servicios debe servir arquitectura física y conceptual,
para varias aplicaciones. flujos de Información que el
– Reutilizado dinámicamente: Puede componente transfiere, usa y
ser cargado en tiempo de ejecución en transforma y tipos de algoritmos.
una aplicación.
– Independiente de la plataforma: Ya fueron presentados los términos: la
Hardware, Software, S.O.[9] definición de componente, sus
características y las variables por la cuales
Existen ya varios modelos que permiten puede ser comprendido un componente.
entender los componentes de software, Ahora bien, ¿Cómo se integran los
para poder encontrar los componentes que componentes dentro del ciclo de vida de
determinada aplicación necesita. Uno de desarrollo de software basado en
estos modelos desarrollado por Anneliese componentes?. La siguiente figura ilustra
Andrews y Sudipto Ghosh , en Colorado el ciclo de vida del software basado en
State University [10] plantéa la posibilidad componentes desde una perspectiva
de entender un componente por medio de global[11] :
tres perspectivas, estas son:

• El Dominio : Representa en términos


generales todos los aspectos del
problema del usuario relacionado de
forma directa con la funcionalidad que
apoya el componente.
• Programa :Este enfoque es el que más
varia de componente a componente, ya
que muestra en forma más detallada la
información técnica del componente
como la estructura de los archivos de
información, definiciones de las bases
de datos, la definición de la Interface
de datos, los tipos de parámetros,
información acerca de la invocación de
los métodos del componente, etc.
• Situación: En este punto “El
conocimiento del diseño y
comportamiento de las entidades Gráfico 1 : Modelo del Ciclo de vida de DSBC
necesita ser especificado”[10], la
información que se determina en este

Componentes de Software 4
A continuación mostramos una breve • Pruebas : Posterior a la integración
descripción de cada una de las actividades de los componentes se debe proceder
que involucra el modelo del ciclo de vida con las pruebas, esto implica evaluar el
para DSBC : funcionamiento de los componentes
que fueron integrados en el sistema, si
• Análisis de Requerimientos : En esta algún componente demuestra no estar
etapa del ciclo de vida los procesos y funcionando de forma correcta se debe
las necesidades del negocio se pensar en la posibilidad de
descubren y se expresan en los casos reemplazarlo o modificarlo para luego
de uso. proceder con la re – integración.
• Selección, construcción, análisis y • Mantenimiento : En el período del
evaluación de la Arquitectura de mantenimiento, se lleva a cabo un
Software : “La arquitectura del proceso similar al desarrollado en la
software define un sistema en términos POO, esto es vigilar el correcto
de componentes computacionales y la funcionamiento del sistema, corregir
interacción entre ellos”[11]. Estas fallas en el comportamiento, etc.
tareas podrán ser realizadas con éxito
si se exponen las propiedades externas 3. CLASIFICACIÓN DE
de los componentes que harán parte de COMPONENTES
la aplicación y las relaciones entre
ellos. 3.1. ¿CÓMO CLASIFICAR
• Identificación y arreglo para COMPONENTES? :
requisitos particulares del
Componente : En esta actividad, los La clasificación de componentes es un
componentes deben ser seleccionados proceso extenso, ya que un componente
por los requerimientos funcionales y involucra en sí mismo varios atributos
de calidad que satisfaga cada relevantes. En este segmento se expone
componente. Luego de haber sido una serie de variables que podrían
identificados los componentes que considerarse criterios de clasificación de
serán integrados al sistema, se debe componentes:
evaluar si el componente necesita ser
sujeto a alguna modificación. 3.2. Tamaño
• Integración del Sistema : En esta
actividad se debe examinar, evaluar y El tamaño de los componentes puede ser
determinar como va a ser la medido por medio de las métricas
comunicación y la coordinación entre utilizadas en diseño orientado a objetos.
los componentes que harán parte del Esto significa que la medición del tamaño
sistema. Luego debe ensamblarse el de un componente puede ser medido a
sistema y proseguir con una serie de través de:
pruebas que determinarán si los
componentes seleccionados son los • Líneas de Código (LDC)
adecuados. • Orientadas a Función

Componentes de Software 5
“Si un componente resulta ser demasiado
grande en tamaño, el proceso de • CDC (Component Dynamic
aseguramiento de calidad del mismo será Complexity): Se centra en el número
más complicado y exigente para el de mensajes que pasan dentro del
desarrollador.”[11] componente por medio de una visión
dinámica, evaluando variables como la
3.2.1. Complejidad : frecuencia en el intercambio de
mensajes entre clases y la complejidad
En algunas ocasiones, son utilizadas de los mensajes.
métricas de tamaño para evaluar la • CCC (Component Cyclomatic
complejidad, pero es recomendable hacer Complexity): Esta medida de
uso de otro tipo de métricas. “Si un complejidad es utilizada cuando el
componente es demasiado trivial no podrá componente ya ha sido finalizado.
sacársele mayor provecho en su Utiliza como variables el código
reutilización, y si el componente es desarrollado, la suma de las clases,
demasiado complejo será difícil asegurar interfaces, métodos definidos en cada
su calidad”[11]. una de las interfaces.

3.2.1.1. Métricas de Complejidad A diferencia del método CCC, los


métodos anteriores CPC, CSC, CDC
Las métricas más utilizadas para medir la utilizan para sus cálculos los diagramas de
complejidad de los componentes, combina clase, la interacción de los diagramas y el
uno de los métodos más reconocidos para diagrama de componentes.
medir la complejidad de métodos o
algoritmos desarrollado por Tomas 3.2.1.2. Mantenibilidad
McCabe, “Complejidad Ciclomática”,
este método mide el número de decisiones “La mantenibilidad de un sistema es la
lógicas en un segmento de código. A facilidad con la cual puede ser modificado
continuación nombramos cuatro diferentes frente a cambios en
técnicas para medir la complejidad de un el ambiente, requerimientos funcionales o
componente: especificaciones funcionales”[12]. Para
los componentes de software esta es una
• CPC (Component Plain Complexity): característica de vital importancia, ya que
Mide la complejidad del componente su propia naturaleza los obliga a tener la
por medio de la suma de clases, clases capacidad de adaptarse a diferentes
abstractas e interfaces, la complejidad entornos.
de clases y métodos. Generalmente, las métricas que se utilizan
• CSC (Component Static Complexity): para medir la mantenibilidad utilizan
Se centra en la estructura interna del variables que miden los atributos, el
componente por medio de una visión comportamiento y el flujo de trabajo,
estática del mismo, utilizando entre otros.
variables como la relación entre las
clases y el peso e cada relación. 3.2.1.3. Reusabilidad

Componentes de Software 6
3.2.4. ¿CÓMO EVALUAR LA
La reusabilidad de un componente se CALIDAD DE UN COMPONENTE?
puede medir a partir de dos diferentes
perspectivas, estas son [13]: “La calidad dentro de la Ingeniería de
Sistemas se define como la totalidad de
• Cómo puede un componente ser aspectos y características de un producto o
reutilizado: Este tipo de medida tiene servicio que tiene que ver con su habilidad
en cuenta las siguientes variables: El de satisfacer las necesidades declaradas o
número de cada método de interface implícitas”[14]. La calidad de los
que puede proveer funciones en común componentes de software puede ser el
entre varias aplicaciones en un factor decisivo para la selección de los
dominio, el número de métodos componentes que entrarán a ser parte de
declarados en la interface que un nuevo sistema, es decir, si dos
pertenecen al componente. componentes son candidatos para hacer
• Cómo es re - usado un componente en parte de una aplicación y muestran la
una aplicación particular: Las variables misma funcionalidad, el nivel de calidad
que se miden para este objetivo en que implemente cada uno de ellos será el
particular son: Las líneas de código re elemento sobre el cuál se base la decisión
- utilizadas por el componente en una final. Algunos de los elementos que
aplicación, el total de líneas entregados pueden dar al usuario una idea del nivel de
en la aplicación. La combinación de calidad de un componente son [11]:
estas dos variables resulta el • Funcionalidad
porcentaje de funcionalidad que aporta • Interface
el componente dentro de toda la • Usabilidad
aplicación • Pruebas
• Seguridad
3.2.2. Frecuencia de re – uso
3.3. TIPOS DE COMPONENTES
El número de veces que ha sido utilizado
un componente dentro de distintas 3.3.1. Framework:
aplicaciones, es sin lugar a dudas el mejor
indicador de frecuencia de re– uso. Cabe Los frameworks de componentes
anotar que este atributo puede ser solo proporcionan servicios que soportan un
medido en componentes que ya han sido modelo de componentes [15]. Estos
expuestos al mercado. modelos de componentes son patrones que
permiten interactuar entres si de acuerdo al
3.2.3. Confiabilidad problema que resuelven y permiten la
extensibilidad del framework y su
Es la probabilidad de falló en el funcionalidad, estos son aplicados a
funcionamiento del componente dentro de dominios específicos, lo cual hace que el
cierto escenario operacional. framework también lo sea, se dice que un
framework es una aplicación incompleta y

Componentes de Software 7
genérica, sobre la cual las aplicaciones que servicios. La arquitectura de los
se implementan (las que soporta) son las Frameworks se basa en el uso de patrones
que le dan el estado final definiendo una de software, los cuales simplifican su
funcionalidad especifica y propia. construcción y permiten su extensión [18],
Las principales ventajas que ofrecen los los patrones no solo se convierten en los
frameworks son la reducción del costo en constructores del framework sino que
el proceso de desarrollo de aplicaciones constituyen la manera de interactuar con
software para dominios específicos, y la este. La manera más común de desarrollar
mejora de la calidad del producto final. una aplicación sobre un framework es a
[4]. Existen tres tipos de Frameworks, los través de los patrones, los cuales por
Frameworks de caja blanca exigen al medio de sus interfaces nos permiten
usuario un conocimiento muy profundo de interactuar con el y adaptarlo a la
su estructura interna y pueden llevar aplicación.
aparejados los problemas que acarrea la
herencia, como pueden ser las anomalías 3.3.2. Bussines Component
de la herencia[16]. Por otro lado, los Los componentes de negocio, son aquellos
Frameworks de caja negra enfrentan componentes especializados en prestar
problemas de la programación orientada a alguna clase de servicio, enfocado a un
componentes, como son la composición dominio en particular [19]. Los
tardía [1] o la clarividencia (previsión de componentes de negocio son aquellos
los posibles usos futuros del Framework). componentes que generan el valor
Esto significa que cualquiera de los dos agregado y se enfocan a las necesidades de
necesita de un entendimiento técnico del los clientes. Un componente de negocio es
framework sobre el cual se quiere trabajar aquel que realiza o provee al cliente de la
y una previa evaluación de sus funcionalidad necesaria en su aplicación
características principales y su para resolver sus necesidades y cumplir
descripción. La elección de un framework con sus requerimientos.
es un proceso de ingeniería de software y Este tipo de componentes se sitúan por lo
de este depende el producto final que se general en el último escalafón dentro del
quiera desarrollar. La mala elección de desarrollo basado en componentes, ya que
éste conllevará a un desarrollo complejo y estos son los que darán la funcionalidad
fuera del domino. Es necesario integrar los propia del negocio a la aplicación, estos
conceptos de DSBC y la ingeniería de componentes están soportados por lo
dominio para llegar a un desarrollo general bajo un framework en particular,
satisfactorio [17]. el cual permite que el componente de
Utilizar un Framework no es una tarea que negocio se desempeñe y cumpla con su
se debe tomar a la ligera, es necesario la objetivo, lo cual implica que además de las
utilización y condensación de características propias de un componente
conocimientos para que este pueda ser de software, tenga también las
utilizado como un componente. No es características adicionales del framework
necesario conocer todos los tipos de sobre el cual está soportado. Un
Frameworks existentes, pero sí es componente de negocio no le da
necesario saber como éstos ofrecen sus particularidad a una aplicación, ni realiza

Componentes de Software 8
por sí solo la funcionalidad de una Nivel de Comportamiento: Pre y
aplicación; es la integración entre el poscondición, invariantes.
framework y por lo general varios Nivel de Interfaces: Servicios,
componentes de negocio, los que le dan la parámetros, tipos de datos y excepciones.
particularidad de todo un desarrollo. Los [19]
componentes de negocio permiten
interactuar con otros a través de protocolos Por medio de estos niveles la búsqueda de
ya estandarizados inherentes al framework un componente de negocio resulta más
sobre el cual están soportados, como por rápida y fácil, acelerando el proceso de
ejemplo J2EE [18]. DSBC.
Los componentes de negocio necesitan de
un nivel de especificación mas allá de el 3.4.TECNOLOGÍAS DE
establecido por el framework o los COMPONENTES
patrones. Los niveles de especificación de ESTANDARIZADAS :
los componentes de negocio resulta útil,
ya que cada nivel se enfoca a un aspecto Los componentes son unidades bien
de la especificación del negocio y definidas, que adquirieron sus
direcciona diferentes roles en el desarrollo características principales de sus orígenes
como desarrollador de componentes, en el desarrollo de software de la POO y el
documetador, jefe de proyecto, etc. Esto UML. Aunque la infraestructura
ayuda en la búsqueda del componente tecnológica del DSBC se ha desarrollado,
necesario que se adapte al dominio y son pocas las tecnologías y productores de
prevea la funcionalidad que se busca, software que se han estandarizado [20].
desde diferentes niveles de conocimientos. Estas tecnologías han enriquecido el
Existen siete distintos niveles, cada uno DSBC y, de hecho, hacen posible que
con un aspecto en específico direccionado nazca el concepto. Aunque la
al negocio: investigación en el área del DSBC es
relativamente nueva, existen día a día
Nivel de Marketing: Características de la investigaciones que tratan de unificar
organización y el negocio, condiciones criterios y estandarizar las tecnologías, que
técnicas. permitan unificar criterios y madurar el
Nivel de tarea: Ayuda a las tareas del DSBC. Una de las principales
negocio que corresponden al dominio de la organizaciones y pionera desde hace
aplicación. Propósito de la aplicación. mucho tiempo en el tema de componentes
Nivel de terminología: Definición de es la ORGANIZACIÓN OMG,(Object
conceptos del dominio de la aplicación. Management Group) esta es una
Nivel de Calidad: Criterios de calidad, organización que agrupa a más de 400
procedimientos y categorías de medidas, empresas entre vendedoras de software y
niveles de servicio. compañías relacionadas con la tecnología
Nivel de interacción: Secuencias de de objetos. Su bandera es la especificación
dependencias a través de servicios del multiplataforma MDA, y basada en
mismo componente de negocio y de modelos de especificación como MOF
diferentes componentes de negocio. ,UML , XML y CWM, esta cuenta con su

Componentes de Software 9
propia plataforma middleware CORBA. plataforma ofrece una solución
[21]. Su importancia radica en ser una multiplataforma, de fácil reutilización,
organización sin ánimo de lucro que busca integración universal con otros
la unificación de criterios que ayuden al componentes además de la maquina
DSBC. Esta se constituye como un virtual de java, seguridad transaccional,
organismo centralizado que ayuda al entre otras. Estas características la han
arbitramiento de ideas en este tema. hecho reconocida en el mundo de los
programadores y del DSBC[11]. La
3.4.1. CORBA tecnología java a estado a la vanguardia
Es un estándar abierto para la aplicación del DSBC y constituye una referencia
de la interoperabilidad y está respaldada clave en este tema.
por la OMG. CORBA maneja al detalle la
interoperabilidad entre componentes y 3.4.4. The Microsoft .NET Framework:
permite la comunicación entre
aplicaciones independientemente de su Esta es una nueva plataforma para
ubicación y diseño. CORBA es bien construir e integrar, servicios orientados a
utilizada en el desarrollo de aplicaciones la aplicación. Este framework es la
distribuidas y en el DSBC, ya que ofrece solución para aplicaciones que operan bajo
una programación consistentemente un ambiente Windows simplificando el
distribuida y un ambiente en tiempo de lenguaje de desarrollo y accediendo en
ejecución para muchos lenguajes de tiempo de ejecución a las funcionalidades
programación, sistemas operativos y redes del framework. [22]. La infraestructura
distribuidas [11]. CORBA es aceptado casi Microsoft es una de las mas reconocidas
como un estándar por los vendedores de en el mundo y MS.NET constituye una
tecnología y no como una plataforma oportunidad de nuevas soluciones a partir
independiente. de DSBC.

3.4.2. DCOM 4. RESULTADOS


Distributed COM es la extensión para
ambientes distribuidos de COM El DSBC es, sin lugar a dudas, una
(Component Object Model) , el cual excelente opción para quienes desean
provee de un protocolo de comunicación minimizar los riesgos y maximizar los
con el cual componentes distribuidos beneficios en el proceso de desarrollo de
pueden interactuar y comunicarse software. Pero para poder hacer realidad la
independientemente de su ubicación[11]. implementación a gran escala de este tipo
El aporte de DCOM a las tecnologías de desarrollo es importante empezar a
Microsoft se ve en su más reciente definir de forma clara y concreta todos los
producto MS.NET. conceptos que hacen parte del DSBC. Este
es uno de los resultados que logra este
3.4.3. Enterprise Java Beans documento, el definir de forma clara y
precisa qué es y qué define a un
Modelo de componentes basado en componente de software, por otro lado
arquitectura cliente servidor. Esta involucramos el componente de forma real

Componentes de Software 10
en el modelo de ciclo de vida del software „ Los proveedores de tecnologías que
y se puede evidenciar que no difiere en utilizan y proporcionan soporte al
gran medida del modelo que implementa DSBC son pocas, sin embargo ya
la POO, por el contrario, muchas de las existe un mundo de desarrollo a partir
actividades incluidas en este último se de estas, ya que es definitivo que la
incluyen con una funcionalidad similar en evolución de la POO es el DSBC, y
el modelo del DSBC. son estos mismos proveedores aquellos
que definitivamente ya maduraron el
Otro importante resultado, es la paradigma de POO. Su siguiente etapa
realización de una primera aproximación a en la evolución del desarrollo de
una metodología de clasificación de software es DSBC y sus tecnologías
componentes de software , donde se proveen de todos los servicios y
involucrarán los diferentes tipos de funcionalidades para que esto ocurra.
componentes que desarrollan las
tecnologías estandarizadas mencionadas Con base en todo lo expuesto surge la
también en el documento. necesidad no sólo de encontrar un lenguaje
común referente al tema de DSBC entre
desarrolladores y los usuario finales, sino
también la necesidad de buscar métodos
5. CONCLUSIONES: que permitan el acercamiento y faciliten la
utilización de los Componentes de
„ El DSBC es una metodología que no Software a cualquier tipo de usuario que
se puede tomar mas como una desee integrarlos a los desarrollos de
metodología de desarrollo nueva, por software.
el contrario se trata de una idea que
esta evolucionando de sus inicios para 6. REFERENCIAS :
tomar mas fuerza en el mundo de la [1] Clemens Szyperski. “Component
ingeniería de software, existen ya Software Beyond Object – Oriented
grandes ideas, conceptos y un mundo Programming”. P 15 -20. 1998.
de analistas, diseñadores que desean [2] Lidia Fuentes, José M. Troya, Antonio
hacerla realidad y lo están haciendo. Vallecillo. “Desarrollo de Software
Basado en Componentes”, p 2-3. 2003.
„ El DSBC es una metodología que no [3] Rafael González . “Ontología de
se puede tomar mas como una software para PyMEs”, p 3 2004.
metodología de desarrollo nueva, por [4] Lidia Fuentes, José M. Troya, Antonio
el contrario se trata de una idea que Vallecillo “Desarrollo de Software Basado
esta evolucionando de sus inicios para en Componentes”, p 3-4. 2003.
tomar mas fuerza en el mundo de la [5]Philippe Krutchen. “Rational Software”
ingeniería de software, existen ya [6]Gartner Group.
grandes ideas, conceptos y un mundo [7]Clemens Szyperski, “Component
de analistas, diseñadores que desean Software Component Software Beyond
hacerla realidad y lo están haciendo. Object – Oriented Programming”. P 20 -
22. 1998.

Componentes de Software 11
[8] Wojtek Kozaczynski, SSA, Alan W. [20] Alan W. Brown, Kurt C. Wallnau
Brown, Kurt C. Wallnau “The Current “The Current State of CBSE”.1998 .
State of CBSE”.1998. [21] OMG “About the Object
[9] Jonás A. Montilva C., Nelson Arapé y Management Group”.2004.
Juan Andrés Colmenares. “Desarrollo [22] Jeffrey Richter. “Microsoft .NET
Basado en Componentes”, p 3.2003 Framework Delivers the Platform for an
[10]Anneliese Andrews, Sudipto Integrated,Service” 2002.
Ghosh, “A model for Understandig
Software Componets”, p.5. 2002 7. AUTORES
[11]Cai Xia, Lyu Michael R., Wong Kam
– Fai, “Component bases software Maribel Ariza Rojas y Juan Carlos Molina
Engineering: Technologies, Development García son estudiantes de pregrado de la
Frameworks ans quality assurance facultad de Ingeniería de Sistemas en la
schemes”. p. 374-375 Pontificia Universidad Javeriana. En este
[12] PerOlof Bengtsson, Nico Lassing, Jan momento se encuentran desarrollando un
Bosch and Hans van Vliet, “Analyzing proyecto de Investigación que lleva como
Software Architectures for Modifiability” título : “Jerarquía y Granularidad de
[13]Kim Min Sun, Kim Soo Dong. “ Componentes de Software para PyMEs en
Component metrics to measure component Bogotá” dirigida por Ing. Rafael Gonzáles
quality”. P.421-422. Rivera.
[14]Bertoa Manuel F. , Troya Jose M. ,
Vallecillo Antonio. “ Aspectos de Calidad
en el Desarrollo de Software Basado en
Componentes”. p 5
[15] Jonás A. Montilva C., Nelson Arapé y
Juan Andrés Colmenares. “Desarrollo
Basado en Componentes”, p 4.2003.
[16] Matsuoka y Yonezawa. “Analysis of
Inheritance Anomaly in Object-Oriented
Concurrent Programming Languages”, p
107-150.1993.
[17] Roger Presuman. “Ingeniería de
Software un enfoque practico”, p 474-481.
1997.
[18] Desmond Francis D’Souza, Alan
Cameron Wills. Objects components and
Frmaworks “The Catalysis Aproach” p38.-
386.1998.
[19] Peter Ferrke y Peter Loos.
“Specification of Business Components .
Objects,Components, Architectures,
Services and Aplications for a Networked
World.” , p 2-8. 2002.

Componentes de Software 12

También podría gustarte