INTRODUCCIÓN
En el contexto de la ingeniería del software la
reutilización es una idea tanto antigua como nueva. Los programadores han
reutilizado ideas, abstracciones y procesos desde los primeros días de la
computación, pero el enfoque original para la reutilización era específico. En
la actualidad, los complejos sistemas de alta calidad basados en computadoras
se deben construir en un tiempo muy corto y demanda un enfoque más organizado
de la reutilización.
INGENIERÍA DE SOFTWARE BASADOS EN COMPONENTES (ISBC)
La ingeniería de Software Basada en Componentes está
cambiando la forma en que se desarrollan los grandes sistemas de software,
encarna la filosofía de "comprar, no construir" y en la superficie,
la parece bastante similar a la ingeniería del software orientada a objetos
convencional.
Toma sólo unos cuantos minutos ensamblar el sistema de
entretenimiento del hogar porque los componentes están diseñados para ser
integrados con facilidad.
Aunque el software es
considerablemente más complejo, se sigue que los sistemas basados en
componentes son más fáciles de ensamblar y por lo tanto menos costosos de
construir que los sistemas que se construyen a partir de partes discretas.
Además, la ISBC alienta el uso de patrones arquitectónicos predecibles y de
infraestructura de software estándar, y por lo tanto conduce a un resultado de
mayor calidad.
El proceso de industrialización ha dado ya sus inicios con
implementaciones como la plataforma .NET, la cual impulsa la idea de
industrializar el software utilizando tecnologías de componentes. Los avances y
mejoras presentados en esta plataforma van mucho más allá de las
implementaciones iniciales como COM y CORBA, convirtiendo a los componentes
.NET en verdaderas piezas de ensamblaje, en un estilo muy similar a las líneas
de ensamblaje modernas. Así mismo, los nuevos paradigmas como las Fábricas de
Software proveen de los medios para hacer la transición desde el ‘hacer a mano’
hacia la fabricación o manufactura de software.
CALIFICACIÓN
Esta actividad garantiza que el componente candidato
realizará la función requerida, "encajará" adecuadamente en el estilo
arquitectónico que especifica el sistema y mostrará las características de
calidad (por ejemplo, desempeño, fiabilidad, facilidad de uso) que requiere la
aplicación.
Entre los muchos
factores considerados durante la calificación de componentes están: interfaz de
programación de la aplicación (IPA); herramientas de desarrollo e integración
que requiere el componente; requisitos de tiempo de ejecución, tiempos o
velocidad y protocolo de red; requisitos de servicio, que incluyen interfaces
de sistema operativo y apoyo de otros componentes; características de
seguridad, que incluyen controles de acceso y protocolos de autenticación; y
manejo de excepciones.
El PROCESO
La finalidad de la ingeniería del dominio es identificar,
construir, catalogar y diseminar un conjunto de componentes de software que
sean aplicables para el software existente y futuro en un dominio de aplicación
particular.
La ingenieria de software basado en componentes se
caracteriza de tal forma que no sólo identifica los componentes candidatos sino
que también califica la interfaz de cada componente, adapta los componentes
para eliminar las equivocaciones arquitectónicas, ensambla los componentes en
un estilo arquitectónico seleccionado y actualiza los componentes conforme los
requisitos del sistema.
CONCLUSIONES
El desarrollo de software basado en componentes desde
siempre fue la idea revolucionaria que nos llevó a pensar que sí era posible el
construir software de calidad en corto tiempo y con la misma calidad que la
mayoría de las industrias de nuestro tiempo. Al mirar hacia atrás, vemos los
increíbles avances que hemos logrado en la comprensión de la forma correcta de
reutilizar el software y el conocimiento existente, y nos asombramos cada vez
más al darnos cuenta de que este solo es el inicio.
El desarrollo de software basado de componentes se convirtió
en el pilar de la Revolución Industrial del Software y se proyecta hoy en día
en diversas nuevas formas de hacer software de calidad con los costos más bajos
del mercado y en tiempos que antes eran impensables. Empresas como Microsoft
entendieron el potencial de esta metodología hace años y hoy nos ofrecen nuevas
iniciativas y herramientas que buscan llevar al proceso de construcción de
software hacia el sitial privilegiado en el que debió colocarse desde un
principio.
REFERENCIA
Ingeniería del Software, Roger S. Pressman, Mc Graw Hill