Arquitectura de software En los inicios de la informática, la programación se consideraba un arte y se desarrollaba como tal, debido a la dificultad que entrañaba para la mayoría de las personas, pero con el tiempo se han ido descubriendo y desarrollando formas y guías generales, con base a las cuales se puedan resolver los problemas. A estas, se les ha denominado Arquitectura de Software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software.
Que es la arquitectura de software?
La arquitectura de software define, los componentes que llevan a cabo alguna tarea de computación, sus interfaces y la comunicación entre ellos.
Componentes:
a) clientes y servidores b) bases de datos c) filtros d) niveles en un sistema jerárquico
Interacciones:
a) llamadas a procedimientos b) compartimiento de variables c) protocolos cliente servidor d) protocolos de acceso a BB.DD. e) transmisión asíncrona de eventos
Para que sirve?
Agrandes rasgoz una Arquitectura de software consiste en determinar qué computadora tendrá asignada cada tarea.
Implicaciones
a) Es una vista abstracta que omite, detalles de implementación, algoritmos, y representación de datos. b) Brinda una perspectiva dinámica c) Establece un vocabulario común
Modelos o vistas
Para describir una arquitectura por vista o modelo, Existen al menos tres vistas absolutamente fundamentales en cualquier arquitectura:
a) La visión estática: describe qué componentes tiene la arquitectura. b) La visión funcional: describe qué hace cada componente. c) La visión dinámica: describe cómo se comportan los componentes a lo largo del tiempo y como interactúan entre sí.
Como tiene que ser diseñada?
Una arquitectura de software se diseña con base en objetivos y restricciones.
Objetivos:
a) Gestionar toda la información de distintas áreas b) Brindar funcionalidades heterogéneas
Restricciones:
a) Tiene que tener suficiente capasidad capacidad b) Tiene que tener un buen rendimiento Rendimiento c) Tiene que tener compatibilidad de componentes