Revista Tecnología

Desarrollo Software Basado en Componentes

Publicado el 02 julio 2015 por Instintobinario

En este artículo voy a hablar sobre un tipo de desarrolllo de software que está muy de moda. Se trata del desarrollo basado en componentes.

¿Qué es un componente?

Un componente es una entidad de composición de aplicaciones software que posee un conjunto de interfaces y un conjunto de dependencias explícitas del contexto y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes de forma independiente en tiempo y espacio. (Szyperski, 1998). Las características de un componente son las siguientes:

  • Estandarizado: Los componentes tienen que ajustarse a algún modelo de estandarización. Este modelo podría definir interfaces, metadatos, documentación, composición y despliegue.
  • Independiente: Tiene que ser posible desplegar un componente sin tener que utilizar otros componentes específicos. Si necesita servicios externos, éstos deberían hacerse explícitos en una especificación de interfaz del tipo “requerido”.
  • Componible: Todas las interacciones deben tener lugar  a través de interfaces definidas públicamente.
  • Desplegable: Para ser desplegable, un componente debe ser independiente y debe ser capaz de funcionar como una entidad autónoma o sobre una plataforma de componentes que implemente el modelo de componentes.
  • Documentado: Los componentes tienen que estar completamente documentados para que los usuarios potenciales puedan decidir si satisfacen o no sus necesidades.

Componente Software
Ejemplo de un componente software

En esta imágen podemos ver la representación de un componente. Además vemos que ese componente proporciona unas interfaces y requiere otras. Por tanto, el desarrollo basado en componentes puede verse como si se tratara de un puzzle.

Desarrollo basado en componentes

El desarrollo basado en componentes consiste en construir aplicaciones mediante ensamblado de módulos software reutilizables, que han sido diseñados previamente independientemente de las aplicaciones en las que van a ser utilizados. Es decir, los componentes puede ser que los desarrolle otro equipo u otras personas distintas a las que los ensamblan. Incluso suelen utilizarse componentes desarrollados por otras empresas o componentes genéricos (el mismo componente lo utilizan varios sistemas). Este tipo de desarrollo tiene las siguientes implicaciones:

  • Industrialización del desarrollo de software: Muchas empresas utilizan componentes desarrollados por otras empresas e incluso algunas venden sus propios componentes.
  • Cambio en el papel de los diseñadores de aplicaciones: Los programadores han pasado de programar aplicaciones desde cero a ensamblar módulos.

FInalmente decir que este tipo de desarrollo está favoreciendo la construcción más rápida de software además de que permite gestionar más fácilemente la creciente complejidad del software.

El artículo Desarrollo Software Basado en Componentes apareció por primera vez en Instinto Binario.


Volver a la Portada de Logo Paperblog

Revista