Definición de Arquitectura Software
Las técnicas metodológicas desarrolladas con el fin de facilitar la programación se engloban dentro de la llamada Arquitectura de Software o Arquitectura lógica. Se refiere a un grupo de abstracciones y patrones que nos brindan un esquema de referencia útil para guiarnos en el desarrollo de software dentro de un sistema informático.
Así, los programadores, diseñadores, ingenieros y analistas pueden trabajar bajo una línea común que les posibilite la compatibilidad necesaria para lograr el objetivo deseado.
Algunos objetivos dentro de un esquema de Arquitectura de Software pueden ser: el software debe ser mantenible, esto es, fácilmente analizable, modificable, corregible; también puede ser un objetivo el nivel de interacción con otros sistemas informáticos, o su escalabilidad.
Estas Arquitecturas están definidas muchas veces por el tipo de tecnología a la cual se enfrenta un programador o grupo de programadores, por lo cual algunos tipos de arquitectura son más recomendables que otras para ciertas tecnologías.
Cada tarea de computación es asignada a una computadora, por lo cual una Arquitectura determinada debe ser implementada físicamente y definir de forma abstracta los componentes que tomarán arte en las tareas y sus interfaces comunicativas.
Todo esto se desarrolla a "alto nivel", ensamblando elementos para lograr la mayor funcionalidad posible siendo a la vez portable, logrando disponiblidad, escalabilidad y confiabilidad.
Como ejemplos de Arquitecturas podemos citar las monolíticas (los grupos funcionales del software están altamente acoplados entre sí), cliente-servidor (se reparte la carga de cómputo en dos partes independientes), y la arquitectura de tres niveles (la carga se divide entre tres partes: presentación, cálculo y almacenamiento).
Por Marcos Guglielmetti
Por Sistemas, el 10/02/2005.