Vistas de una Arquitectura de Software
Vistas de una Arquitectura de Software.
El diseño de la arquitectura del software se puede representar desde diferentes perspectivas, denominadas vistas.
Las Vistas de una Arquitectura de Software son diferentes perspectivas o representaciones de un sistema de software que describen aspectos específicos del mismo. Son herramientas esenciales para comprender, comunicar y diseñar la arquitectura general de un software.
Vista estructural de una arquitectura de software.
La visión estructural de una arquitectura de software es una visión estática, que no cambia con el tiempo. En el nivel más alto, los subsistemas se representan en un diagrama de clases. En particular, un diagrama de clases de subsistema representa la relación estructural estática entre los subsistemas, que se representan como clases compuestas o agregadas, y la multiplicidad de asociaciones entre ellos.
Como ejemplo de la visión estructural de una arquitectura de software, considere el diseño de una arquitectura de software cliente/servidor, en la que hay múltiples clientes y un solo servicio. Un ejemplo de dicha arquitectura es el Sistema Bancario, en el que hay múltiples instancias del subsistema Cliente ATM y una única instancia del subsistema Servicio Bancario. En la Figura 1, los subsistemas de cliente y servicio se representan en un diagrama de clases, que proporciona una vista estática de la arquitectura.
La Figura 1 representa la relación estática entre el Servicio Bancario y el Cliente de Cajero Automático para el Sistema Bancario, en particular el nombre y la dirección de la asociación El Cliente de Cajero Automático Solicita Servicio al Servicio Bancario, así como la multiplicidad de la asociación, es decir, la relación uno a -muchas asociaciones entre el servicio y los clientes. Además, tanto el subsistema de cliente como el de servicio (representados como clases agregadas en la Figura 1) se representan con dos estereotipos, el primero es el estereotipo de rol, cliente o servicio, y el segundo es el estereotipo de estructuración arquitectónica, que, en este ejemplo, es subsistema para ambos.
Vista dinámica de una arquitectura de software.
Un diagrama para un subsistema de comunicación es un diagrama de comunicación genérico, porque representa todas las interacciones posibles entre objetos. Debido a que describe todos los escenarios posibles, no se utilizan números de secuencia de mensajes. Además, debido a que los diagramas de comunicación genéricos representan instancias genéricas (lo que significa que representan instancias potenciales en lugar de instancias reales), utilizan la convención UML 2 de no subrayar los nombres de los objetos. Además de ser genérico, un diagrama de comunicación también es concurrente porque representa objetos que se ejecutan simultáneamente. Así, la figura 2 muestra dos subsistemas concurrentes, el cliente de cajero automático y el servicio bancario, que están distribuidos geográficamente.
Vista de implementación de una arquitectura de software.
La vista de implementación de la arquitectura de software representa la configuración física de la arquitectura de software, en particular cómo se asignan los subsistemas de la arquitectura a nodos físicos en una configuración distribuida. Un diagrama de implementación puede representar una implementación específica con una cantidad fija de nodos. Alternativamente, puede representar la estructura general de la implementación; por ejemplo, identificando que un subsistema puede tener muchas instancias, cada una de las cuales se puede implementar en un nodo separado, pero sin representar el número específico de instancias. En la Figura 3 se ofrece un ejemplo de esta vista para la arquitectura del software cliente/servidor del sistema bancario. En esta implementación, cada instancia de Cliente ATM se asigna a su propio nodo físico, mientras que el Servicio Bancario centralizado se asigna a un único nodo. Además, los nodos están conectados mediante una red de área amplia.



Comentarios
Publicar un comentario