viernes, marzo 31, 2006

Componentización de software

Parece que la industria del software se está moviendo hacia lo que se conoce como la componentización. Este concepto se podría definir como un nivel superior de abstracción a la programación orientada a objetos.

La importancia de la componentización radica en las ventajas que ésta proporciona:

  • Incremento de la productividad, debido entre otros motivos a la reutilización de código.
  • Abarata costes, la mano de obra no necesita estar tan especializada.
  • Mejora el rendimiento, si la arquitectura y el framework ofrecen un buen rendimiento, será más fácil hacer un desarrollo eficiente y mejorar la calidad de vida para el soporte.
  • Mayor calidad, dado que las funcionalidades están aisladas en los componentes es posible optimizar éstos sin que ello afecte a los desarrollos realizados sobre los mismos. Si quieres conocer más sobre la calidad, profesores de la Universidad de Málaga (España) han publicado el siguiente artículo Aspectos de Calidad en el Desarrollo de Software Basado en Componentes
  • Posibilidad de comprar componentes a terceros e integrarlos fácilmente.
  • Reutilización de código.
  • Agiliza el ciclo de vida del desarrollo del producto.

Por último, citaros un ejemplo real Fujitsu - Caja Laboral - MDCS-TPnet


1 comentario:

José Mª Bellota dijo...

Creo que la componentización del software no es un nivel superior de abstracción a la programación orientada a objetos.
Es realmente el uso de la programación O.O.

Por mi experiencia, considero que es muy útil siempre y cuando se utilice como un Framework de clases sobre el que implementar la solución final en un modelo de prototipos en el que se trabaje mano a mano con el cliente.

El modelo fracasa si se entiende como un producto final y cerrado que entregar al cliente.

Comparto contigo la idea de que hay mucho futuro en esta forma de trabajar, sobre todo para los países como la India o China donde localizar inmensas fabricas de SW con unos costes muy bajos. En este modelo los países con costes laborales más alto nos quedaríamos con el ensamblaje de estos componentes en una solución final y con un mayo conocimiento de negocio y menos conocimiento técnico cada día.