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.
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.