domingo, 21 de abril de 2019

La Arquitectura del Software

En la industria del desarrollo del Software, en las últimas décadas los conceptos de Arquitectura de Software y Arquitecto de Software ha cobrado relevancia. La ingeniería en Desarrollo de Software es una ingeniería joven y por ello busca similitudes en otras ingenierías, de ahí que haya adoptado los conceptos de la Arquitectura.

Comprender el concepto de la Arquitectura de Software, su importancia y el rol del Arquitecto de Software es fácil. Lo complejo es hacer Arquitectura, es complejo porque es un proceso creativo, abstracto y subjetivo.

¿Qué es la Arquitectura del Software?
La arquitectura del Software es el diseño fundamental de todo el sistema de software. Este diseño define los elementos que componen el sistema, que funciones realiza cada elemento, y como estos elementos se relacionan unos con otros. Es una representación de toda la estructura del sistema y de como cada uno de los elementos trabajan en conjunto.
La arquitectura del software forma parte del diseño del sistema, al definir una arquitectura de software se debe considerar los siguientes factores:

- EL propósito y objetivo del sistema,
- La evolución del sistema en el tiempo
- La audiencia y usuarios finales del sistema
- Las características que sean más relevantes para los usuarios, y
- El lugar o contexto donde el sistema estará funcionando.

Los elementos que componen el sistema dependerá del tipo de sistema y de la dimensión del sistema, así los elementos de un sistema pueden ser:

- Bases de datos
- Archivos de Configuración
- Modulos
- Librerias (jars, ddl, jni)
- APIs (commons, utils, persistencia, colecciones)
- Web Services (REST, SOAP)
- Otros sistemas, sistemas legados
- Clases e Interfaces

Una arquitectura de software debe ser documentada, evaluada y probada.

Referencias
MacCormack, A., Rusnak, J., & Baldwin, C. (2007). Exploring the duality between product and organizational architectures: A test of the “mirroring” hypothesis. [Working paper 08-039]. Boston, MA: Harvard Business School. Retrieved from http://www.hbs.edu/faculty/Publication%20Files/08-039_1861e507-1dc1-4602-85b8-90d71559d85b.pdf

Van der Linden, F. J., Schmid, K., & Rommes, E. (2007). Software product lines in action: The best industrial practice in product line engineering. Berlin, DE: Springer. [Books24x7 version]. Available from http://common.books24x7.com/toc.aspx?bookid=31005

No hay comentarios:

Publicar un comentario