¿Qué es la ingeniería de software basada en componentes?

Ingeniería de software basada en componentes:

Se basa en la reutilización sistemática donde los sistemas se integran a partir de componentes existentes o sistemas COTS (Commercial-off-the-shelf). En este modelo de desarrollo de software pueden tener lugar las siguientes etapas del proceso. Este enfoque se utiliza cada vez más a medida que surgen los estándares de los componentes. En la mayoría de los proyectos de software, hay que reutilizar algunos programas. Los componentes reutilizables son sistemas que pueden proporcionar una funcionalidad específica para el sistema. Este enfoque orientado a la reutilización se basa en una gran base de componentes de software reutilizables y en algún marco de integración para estos componentes. Las etapas del proceso de software basado en componentes que son diferentes a otros procesos son las siguientes:

◦ Análisis de componentes;

◦ Modificación de requisitos;

◦ Diseño del sistema con reutilización;

◦ Desarrollo e integración.

1. Análisis de los componentes: A partir de la especificación de los requisitos, se realiza una búsqueda de componentes que puedan implementar la especificación dada. Por lo general, no hay una coincidencia exacta, y los componentes que pueden utilizarse sólo proporcionan parte de la funcionalidad requerida.

2. Modificación de los requisitos: Durante esta etapa, se analizan los requisitos utilizando la información sobre los nuevos componentes. A continuación, los requisitos se modifican para reflejar los servicios de los componentes disponibles.

3. Diseño del sistema con reutilización: Durante esta fase, se diseña el marco del sistema o se reutiliza un marco existente. Los diseñadores tienen en cuenta los componentes que se reutilizan. Es posible que haya que diseñar algún software nuevo si no se dispone de componentes reutilizables.

4. Desarrollo e integración: Se desarrolla el software que no se puede obtener externamente y se integran los componentes y los sistemas reutilizables para crear el nuevo sistema.

La ingeniería de software basada en componentes tiene la ventaja evidente de reducir la cantidad de software que hay que desarrollar y, por tanto, de reducir los costes y los riesgos. Por lo general, también conduce a una entrega más rápida del software. Sin embargo, los compromisos de los requisitos son inevitables y esto puede llevar a un sistema que no satisface las necesidades reales (originales) de los usuarios.

Desarrollo orientado a la reutilización

main-qimg-c2d9df8fcba4b35b5216a8aa72f3d8e0