You are on page 1of 11

Ingenieríía de Software

Informe sobre la reutilizacioí n de componentes

Informe sobre la reutilizacioí n de componentes del software, la importancia de la


reutilizacioí n de estos componentes y como los mismos pueden influir de manera
significativa en el proceso de produccioí n del mismo.

Ingeniería del software basada en componentes. Página 0


Índice

Introducción.......................................................................................................................................2

Desarrollo...........................................................................................................................................3

Familiarización con el concepto......................................................................................................3

Definición de componente.............................................................................................................4

Cualificar los componentes............................................................................................................6

Adaptación de los componentes....................................................................................................6

La composición de componentes...................................................................................................6

Actualización de componentes.......................................................................................................7

Búsqueda de componentes en la ISBC...........................................................................................7

Unión de componentes..................................................................................................................7

Ingeniería de dominio....................................................................................................................8

Conclusión..........................................................................................................................................9

Bibliografía.......................................................................................................................................10

Ingeniería del software basada en componentes. Página 1


Introducción.
En el presente material, se presenta la reutilización de componentes de software
como paradigma contribuyente en cuanto a la forma de producción de software,
debido a que este disminuye la posibilidad de que el cliente tenga que sufragar
en altos costos para ver un producto totalmente terminado, funcional, estable y
que cumpla los requerimientos exigidos por el mismo, por la cual ese es el
motivo que llevara a deducir al lector sobre este contenido para que luego si
queda interesado en el tema, pueda investigar superficial o exhaustivamente
sobre el tema.

Los contenidos desglosados son: Ingeniera de dominio, ingeniería de


componentes, como el ingeniero de software debe de capacitarse para
encontrar los componentes de una manera fácil y eficiente, aplicando la
taxonomía y empleando las facetas de estos componentes, y por último, como
influye este procedimiento en el tiempo de desarrollo y reducción de costes para
el cliente, debido a que se reduce la reinvención de la rueda.

Se espera que el lector aproveche al máximo el contenido expuesto en este gran


material.

Ingeniería del software basada en componentes. Página 2


Desarrollo.
Familiarización con el concepto.

La mayoría de veces en la ciudad, numerosas veces en nuestra vida, hemos visto


a las personas que construyen viviendas, locales, edificios y muchos tipos de
construcciones que se realizan y que nuestros ojos presencian por doquier.

Pero siempre vemos que los constructores compran diversos materiales para
efectuar la construcción, tales como: blocks, cemento, varilla, reglas de nivel,
cascos protectores, materiales para hacer las mezclas, etc.

Son un sinnúmero grandioso de materiales que hacen un equipo heterogéneo


(por así decirlo), para que sea posible la construcción de esa vivienda o de ese
local.

Pero, ¿alguna vez hemos visto a esas personas que hacen las mismas
construcciones (albañiles) o maestros constructores fabricando blocks y
haciendo varillas, o haciendo cal y cemento para hacer una mezcla consistente?
No lo hemos visto, ¿cierto?

Pues, algo contrastado sucede en los procesos de construcción de software, y es


que muchas veces los ingenieros en esta área desempeñan el papel de
fabricadores y constructores al mismo tiempo, y a eso viene la ingeniería de
software por componentes, a reducir tareas laboriosas, exhaustivas y poco
benéficas para estos profesionales, las cuales traen consigo costos altos en los
que sufragan los clientes para mantener la esperanza de trabajar con un
producto terminado, sin fallas ni funcionalidades redundantes, que muchas
veces es algo también que no es posible lograr.

Ingeniería del software basada en componentes. Página 3


Sin más entonces, se presenta a continuación esta técnica.

Definición de componente.
A partir de ahora en este pequeño material, hay un gran contenido e
información valiosa que utiliza mucho la palabra componente. Pero antes,
debemos saber qué es y sobre todo, en la ingeniería de software, con el objetivo
de crear un concepto enfocado y sin ambivalencias.

- Definición genérica: Que compone, junto con otros elementos, un todo.

- Componente en ingeniería de software: es un elemento de un sistema de


software que ofrece un conjunto de servicios, o funcionalidades, a través
de interfaces definidas. (Wikipedia, 2017)

- Según el OMG (Object Magnagement Group): En la especificación UML,


es una unidad modular con interfaces bien definidas, que es reemplazable
dentro del contexto.1 Así, un componente define su comportamiento en
términos de interfaces proveídas y requeridas; y dicho componente será
totalmente reemplazable por otro que cumpla con las interfaces
declaradas. (Wikipedia, 2017)

- Según el WCOP: Fruto del primer Workshop Component Oriented


Programming (WCOP) o "Taller sobre Programación Orientada a
Componentes" realizado en 1996, se acuñó la definición: unidad de
composición con interfaces especificadas contractualmente, con
dependencias explícitas de acuerdo al contexto antes dicho. Un
componente de software puede ser desplegado de forma independiente
y puede participar en composiciones de terceras partes. (Wikipedia, 2017)

Ahora, el concepto de ingeniería de software por componentes.

Ingeniería del software basada en componentes. Página 4


Ingeniería de software basado en componentes (ISBC)

Es bastante similar a la ingeniería de software basada en el diseño y construcción


de objetos para su posterior ensamble y compilación, con el objetivo de crear un
producto (software) funcional y siguiendo los estándares de calidad para lograr
un producto sin problemas de índole alguna.

La ingeniería de software basado en componentes (ISBC) entonces se


acompaña de una ligera diferencia, y es que en esta, se reutilizan los
componentes de software ya existentes, ya sea los que se han desarrollado por
la compañía misma productora de software, o por agentes externos que suplen
estos componentes de forma gratuita o de pago. La ISBC utiliza el paradigma de
desarrollo de software por componentes, y es la técnica que se encuentra
revolucionando el mundo del desarrollo del software por su gran eficiencia.

Cuando algún individuo compra por ejemplo, una computadora por partes
(monitor, teclado, mouse, bocinas, el case o unidad central, etc), el mismo
solamente tiene que ensamblar las partes para que rápidamente luego pueda
utilizarla para sus propósitos. Pero el individuo en ningún momento ha tenido
que incurrir en la fabricación de las piezas para tener su computadora en
funcionamiento como es debido.

Entonces un ingeniero de software aplicando esta técnica, solamente tendrá


que evaluar los componentes, adaptarlos al sistema y luego ensamblarlos para
tener un producto totalmente funcional.

Eso es lo que reduce en gran parte la ISBC, pero no todas las veces conviene
utilizar la misma, y luego se verá por qué.

Ingeniería del software basada en componentes. Página 5


Para que un componente de software se elija de la manera adecuada, entonces
se debe recurrir a evaluar el componente.

En esta fase, se analiza si el componente compagina con el requerimiento, y de


ser así entonces, pasa a la lista de los componentes por ensamblaje.

De lo contrario, entonces, se tiende a adaptar el requerimiento al componente si


no está del todo ajustado o existe una aproximación, entonces se procede a lo
mencionado precedentemente, o de lo contrario, se procedería a eliminar el
requerimiento (en caso que no sea del todo importante), o se tendría que
desarrollar el componente faltante por medio de la ingeniería de software y el
desarrollo orientado a objetos.

Cualificar los componentes

Es una parte importante para el análisis del componente o del requerimiento.

Adaptación de los componentes

Procedimiento en el cual entonces se adaptará el mismo al requerimiento y al


tipo de sistema con el cual se está trabajando para que el mismo pueda cumplir
las operaciones especificadas.

La composición de componentes.

Cuando el sistema entonces se está ensamblando, los componentes se


acomodan para que uno al otro se ajuste y trabajen en conjunto para que los
mismos tengan la capacidad de procesar y administrar la información de forma
consistente.

Ingeniería del software basada en componentes. Página 6


Actualización de componentes.
A la hora de elegir un componente, también hay que tomar en cuenta si el
componente es libre y puede ser actualizado por la compañía desarrolladora de
software.

Muchas veces, se obtienen complementos que no son del todo libres para los
programadores e ingenieros de software, y a la hora de añadir una nueva
funcionalidad al sistema, se torna a incomodarse un poco esa situación, debido a
que no todas las herramientas son del todo modificables.

Todos estos aspectos, deben de tomarse en cuenta antes de desarrollar un


software por componentes.

Búsqueda de componentes en la ISBC.


Los componentes a la hora de utilizarlos para la construcción de un sistema, hay
que buscarlos, (en caso de que ya se contengan en repositorios oficiales de la
misma compañía de desarrollo, se utilizan), en fuentes online específicamente.

Unión de componentes.
Los componentes de distintas API’s se unen en una sola plataforma para
mantener su comunicación y/o intercambio de datos, estos pueden ser:
OMG/CORBA, COM de Windows y Enterprise JavaBeans.

La ISBC, reduce los costos de operación a la hora del desarrollo del software,
debido a que se reduce el desarrollo de componentes, además de la reducción
de costos, se reduce también mucho tiempo a la hora del desarrollo y el cliente
tendrá mejores expectativas.

Ingeniería de dominio.

Ingeniería del software basada en componentes. Página 7


Su objetivo es identificar, construir, catalogar y diseminar un conjunto de
componentes de software que tienen su aplicación en el software y futuro
dentro de un dominio de aplicación particular.

Junto al proceso de ingeniería de software, es algo que comúnmente se utilizar


para el modelado de los requerimientos.

Procedimiento que siguen la ingeniería de dominio y la ISBC.

Conclusión.

Ingeniería del software basada en componentes. Página 8


La ingeniería del software basada en componentes proporciona unos beneficios
inherentes en lo tocante a calidad del software, productividad del desarrollador
y coste general del sistema. Sin embargo, es preciso vencer muchas dificultades
antes de que el modelo de proceso ISBC se utilice ampliamente en la industria.

Además de los componentes del software, un ingeniero del software puede


adquirir toda una gama de elementos reutilizables. Entre estos se cuentan las
representaciones técnicas del software (por ejemplo, especificación, modelos de
arquitectura, diseños y códigos), documentos, datos de prueba e incluso tareas
relacionadas con los procesos (por ejemplo, técnicas de inspección).

Que este material haya sido de provecho.

Ingeniería del software basada en componentes. Página 9


Bibliografía
Pressman, R. S. (2002). Ingeniería de Software: Un enfoque práctico. Madrid: Mc Graw Hill.

Wikipedia. (18 de 02 de 2017). Wikipedia. Recuperado el 2017, de


https://es.wikipedia.org/wiki/Componente_de_software

Ingeniería del software basada en componentes. Página 10