David Garlan y Mary Shaw definen que la Arquitectura esta a un nivel "más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema".
La arquitectura de Software es un conjunto de abstracciones y patrones que indican el camnino y estructura necesaria para encaminar la construcción del software.
¿Que es una vista?
Una vista es “una presentación de un modelo, la cual es una descripción completa de un sistema desde una particular perspectiva” (Kruchten, 1995).
En arquitecura de software se define un modelo que es el modelo 4+1.
Este modelo define 4 vistas principales
- Vista Lógica (Logical View), modelo de objetos, clases, entidad – relación.
- Vista de Proceso (Process View), modelo de concurrencia y sincronización.
- Vista de Desarrollo (Development View), organización estática del software en su entorno de desarrollo (librerías, componentes, .ear, .jar, etc.).
- Vista Física (Physical View), modelo de correspondencia software - hardware (aspectos de distribución en máquinas, por ejemplo)
Imagen1.png
Y una vista más, la "+1", que se muestra y traza en cada una de las anteriores y que está formada por las necesidades funcionales que cubre el sistema, y que en ocasiones identificamos como vista de "casos de uso".
También comentar que el modelo de vistas “4+1” es “genérico”: otras notaciones y herramientas a parte de UML pueden usarse, y cualquier método de diseño, especialmente para las descomposiciones lógicas y de proceso.
. Arquitectura Lógica (Logical Architecture)
Soporta el análisis y la especificación de los requisitos funcionales: lo que el sistema debería proporcionar en términos de servicios a sus usuarios. El sistema se descompone en un conjunto de abstracciones clave tomadas mayormente del dominio del problema, en forma de objetos o clases. En esta vista se usan comúnmente los diagramas de clases, los de interacción y objetos.
Notación: La notación más usada es UML, y dentro de esta diagramas de clases y paquetes.
Estilo: El estilo más usado para la vista lógica es el Orientado a Objetos.
2. Arquitectura de Procesos (Process Architecture)
Se tratan algunos requisitos no funcionales. Ejecución, disponibilidad, tolerancia a fallos, integridad, etc. Esta vista también especifica que hilo de control ejecuta cada operación identificada en cada clase identificada en la vista lógica. La vista se centra por tanto en la concurrencia y distribución de procesos.
Notación: La notación más usada es UML, y dentro de esta diagramas estados, actividad y similares.
3. Arquitectura de Desarrollo (Development Architecture)
La vista de desarrollo o despliegue se enfoca en la organización de los módulos software en el entorno de desarrollo. El software es empaquetado en pequeños trozos (librerías de programa, subsistemas, componentes, etc.), los subsistemas se organizan en capas jerárquicas, y cada capa proporciona una interfaz bien definida a sus capas superiores
4. Arquitectura Física (Physical Architecture)
La vista física se centra en los requisitos no funcionales, tales como la disponibilidad del sistema, la fiabilidad (tolerancia a fallos), ejecución y escalabilidad. Y también presenta cómo los procesos, objetos, etc., corresponden a nodos de proceso:
Componentes: nodos de proceso.
Conectores: LAN, WAN, bus, etc.
Contenedores: subsistemas físico
Varias configuraciones físicas pueden usarse. La correspondencia de el software a los nodos debe ser altamente flexible y tener el mínimo impacto en el código fuente.
. Escenarios
La vista de escenarios corresponde con instancias de casos de uso que unifican todas las vistas. Así, desde casos de uso se debiera poder hacer una trazabilidad a todos los componentes del sistema software, viendo, por ejemplo, que máquinas, o clases, o componentes, o .jar, o procesos, son los responsables de que el sistema cubra una cierta funcionalidad
5. Arquitectura y UML
Se ha ido exponiendo a lo largo de la explicación de cada una de las vistas su translación a un lenguaje de modelado concreto como UML. Hay que tener en cuenta que UML nace casi a la vez que el modelo 4+1, por lo que en un origen no existía una clara relación entre ambos, lo que a menudo produce confusión al diseñador que en la actualidad quiere modelar una arquitectura con ambas herramientas. A modo de resumen la translación se presenta en la siguiente tabla:
tabla.png
ArUML.png
Ver Modelado Arquitectonico
Referencias
Kruchten P. Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software, November 1995, 12 (6), pp.42-50.
Piattini, asdasdasd, ediu.
http://es.wikipedia.org/wiki/Arquitectura_de_software
http://foros.cerolag.com/f-el-ultimo-rincon-110/t-wikipedia-56026.html
No hay comentarios:
Publicar un comentario