Manual del estudiante de Ingeniería en Sistemas de UTN/Diseño de software basado en arquitecturas/Software Basado en Componentes

De Wikilibros, la colección de libros de texto de contenido libre.

Software Basado en Componentes[editar]

Un componente de software es:

  • Una implementación oculta de funcionalidad.
  • Sujeta a composición de terceras partes.

Por definición, todo sistema de software comprende componentes. La Ingeniería de Software Basada en Componentes está involucrada con el rápido ensamble de sistemas desde esos componentes, donde componentes y frameworks tienen propiedades certificadas, que proveen la base para predecir las propiedades del sistema construido a partir de ellos. El principal desafío es administrar el cambio; para ello, se construye para el cambio desde el principio, poniendo énfasis durante la arquitectura y diseño, administrando las dependencias entre los componentes. El principal objetivo de un componente es estar preparada para el CAMBIO, ya que en los sistemas actuales, con cambios permanentes, un componente debe ser fácilmente reemplazable.

Principios de Componentes[editar]

Unificación de datos y funciones
  • Colocación de datos y funciones sobre esos datos juntos, mejora la cohesión.
Encapsulación
  • El cliente depende de la especificación del objeto, pero no de su implementación.
  • Reduce el acoplamiento
Identidad
  • Cada objeto tiene una identidad única, independiente del estado

Principios del Desarrollo Basado en Componentes[editar]

Separación de especificación de componentes de la implementación.
División de la especificación de componentes en interfaces (una o más).
Las dependencias entre componentes pueden ser restringidas a interfaces individuales.
Los clientes son flexibles en sus requerimientos de componentes
  • Requerimiento mínimo de interfaces; cuando estuvieren disponibles, se van agregando otras.