LOS COMPONENTES, MODULOS, CLASES Y PROCEDIMIENTOS DE LA PROGRAMACION MODULAR
La reutilización de software es un proceso de la Ingeniería de Software que conlleva al uso recurrente de activos de software en la especificación, análisis, diseño, implementación y pruebas de una aplicación o sistema de software”.Un componente es una unidad de composición de apliaciones software, que posee un conjunto de interfaces y un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes de forma independiente, en tiempo y espacio.El desarrollo de software basado en componentes permite reutilizar piezas de código pre-elaborado que permiten realizar diversas tareas, conllevando a diversos beneficios como las mejoras a la calidad, la reducción del ciclo de desarrollo y el mayor retorno sobre la inversión
CARACTERÍSTICAS DE UN COMPONENTE: identificable, auto contenido, reemplazado por otros componentes, con acceso solamente a través de su interfaz, sus servicios no varían, bien documentado, es genérico, reutilizado dinamicamente, independiente de la plataforma.
CON ACCESO SOLAMENTE A TRAVÉS DE SU INTERFAZ: Debe asegurar que estas no cambiaran a lo largo de su implementación.
IDENTIFICABLE: Debe tener una identificación que permita acceder fácilmente a sus servicios que permita su clasificación.
SUS SERVICIOS NO VARÍAN: Las funcionalidades ofrecidas en su interfaz no deben variar, pero su implementación sí.
REEMPLAZADO POR OTROS COMPONENTES: Se puede remplazar por nuevas versiones u otro componente que lo remplace y mejore.
INDEPENDIENTE DE LA PLATAFORMA: Hardware, Software, S.O.
AUTO CONTENIDO: Un componente no debe requerir de la utilización de otros para finiquitar la función para la cual fue diseñado.
REUTILIZADO DINÁMICAMENTE: Puede ser cargado en tiempo de ejecución en una aplicación.
BIEN DOCUMENTADO: Un componente debe estar correctamente documentado para facilitar su búsqueda si se quiere actualizar, integrar con otros, adaptarlo, etc.
ES GENÉRICO: Sus servicios deben servir para varias aplicaciones.
Beneficios del Desarrollo de Software basado en Componentes
Reutilización del software: Nos lleva a alcanzar un mayor nivel de reutilización de software.
Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada uno de los componentes antes de probar el conjunto completo de componentes ensamblados.
Mayor calidad. Dado que un componente puede ser construido y luego mejorado continuamente por un experto u organización, la calidad de una aplicación basada en componentes mejorará con el paso del tiempo.
Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento entre componentes, el desarrollador es libre de actualizar y/o agregar componentes según sea necesario, sin afectar otras partes del sistema.