maldito.orco Blogo

Wednesday, February 23, 2005

En busqueda de una definicion de Arquitectura de Software

Nunca les paso que estuvieron buscando alguna buena definición de Arquitectura de Software y encontraron miles ... algunas simples pero buenas y otras realmente sofisticadas ... a mi si, varias veces.

El problema es que siempre me parecieron que algo les faltaba, que no estaban completas ...

Me puse a pensar (sí... pienso también) que las definiciones que he encontrado hasta ahora son puramente tecnológicas, que los componentes esto y que los conectores aquello otro. Esto es así si se tiene en cuenta el producto final del inicio del proyecto, o sea, el Documento de Arquitectura de Software.

Razonemos un poco ... una Arquitectura de Software esta influenciada por muchas mas cosas que la simple (y no tanto) tecnología, entonces, porque definir a la Arquitectura de Software solo en base a la tecnología si este diseño estará sometido a requerimientos externos tales como infraestructura, timing, costo, rrhh, skill, requerimientos no funcionales (..abilities!!), requerimientos funcionales, y mucho mas, que en realidad la mayoría hacen a la gestión ... no?

Por hoy voy a ensayar algo ... la voy a llamar "YASAD I" (Yet Another Software Architecture Definition I)

"Arquitectura de Software es un diseño de alto nivel que define componentes y como estos se interrelacionan entre si teniendo en cuenta los modificadores de arquitectura y sus prioridades definidos estos por las áreas donde el sistema afecte y viceversa (infraestructura, security, end user, centros de costos, integradores, developers, y muchos etc mas ...)"

mis 2c.