Ventajas:
•
Funcionalidad
mejorada.
•
reduce los costes y tiempos
•
Reutilización
del software.
•
Simplifica
las pruebas.
•
Simplifica
el mantenimiento del sistema.
•
Mayor
calidad.
•
Ciclos
de desarrollo más cortos.
Desventajas:
* Genera
mucho tiempo.
* Genera
mucho trabajo adicional
* Confiabilidad de los componentes.
* Los componentes son cajas negras de unidades
de programas, y el código de los
componentes puede no estar disponible para los
usuarios de dichos componentes.