viernes, 28 de septiembre de 2012

ARQUITECTURA DE SOFTWARE




El concepto de Arquitectura de Software es una extensión de la Ingeniería de Software para la producción y evaluación de software de alta calidad [18]; de acuerdo al Software Engineering Institute (SEI), la Arquitectura de Software se refiere a “las estructuras de un sistema, compuestas de elementos con propiedades visibles de forma externa y las relaciones que existen entre ellos”; que satisface el subconjunto de requerimientos, tales como: atributos de calidad, requerimientos funcionales primarios y restricciones, denominados drivers de la arquitectura. Ahora bien, el desarrollo de la arquitectura software se divide en las etapas de: Requerimientos, Diseño, Documentación y Evaluación. Será durante la etapa de diseño de la arquitectura de software que se tomen decisiones de diseño que definirán y guiarán el desarrollo de un sistema de software; para después crear un conjunto de estructuras que satisfagan los drivers arquitecturales. Por ende durante el desarrollo de un sistema software existirán una gran cantidad de decisiones que se entrelazan, de tal manera, que un cambio en las decisiones pueden afectar significativamente a otros aspectos del diseño, por lo que un arquitecto de software debe ser capaz de analizar y evaluar los efectos de las decisiones de diseño. Así, este proceso ha sido tradicionalmente considerado como un trabajo altamente creativo, que requiere una experiencia especial, juicio y  talento [13].  Las decisiones de diseño arquitectónico subyacen en el software arquitectura y se define como el conjunto de adiciones, sustracciones y modificaciones en la arquitectura software, así como también incluye, los fundamentos, las reglas y limitaciones de diseño, y requerimientos adicionales [14]. Como tal, las arquitecturas de software puede ser visto como el resultado de un conjunto de decisiones de diseño arquitectónico [10]. La práctica indica que la toma de decisiones es realizada a través del conocimiento arquitectural (Architectural Knowledge, AK) que engloba los conceptos de decisiones de diseño, justificación, alternativas y diseño arquitectural. Este conocimiento es expresado en términos de estilos arquitectónicos, patrones, mejores prácticas, arquitecturas de referencia, tácticas, frameworks, entre otros [13].










No hay comentarios:

Publicar un comentario