Un modelo arquitectónico (en software ) es un diagrama creado mediante el uso de estándares disponibles, cuyo objetivo principal es ilustrar un conjunto específico de compensaciones inherentes a la estructura y el diseño de un sistema o ecosistema. Los arquitectos de software utilizan modelos arquitectónicos para facilitar la comunicación y obtener comentarios de sus pares.
Algunos elementos clave en un modelo de arquitectura de software incluyen:
- Rich : En lo que respecta al punto de vista en cuestión, debería haber suficiente información para describir el área en detalle. La información no debería ser incompleta ni imprecisa. El objetivo es minimizar los malentendidos, no perpetuarlos. Consulte las notas a continuación sobre "preocupación principal".
- Rigor : el arquitecto ha aplicado una metodología específica para crear este modelo en particular, y el modelo resultante "se ve" de una manera particular. Una prueba de rigor puede indicar que si dos arquitectos, en diferentes ciudades, estuvieran describiendo lo mismo, los diagramas resultantes serían casi idénticos (con la posible excepción del diseño visual, hasta cierto punto).
- Diagrama : En general, un modelo puede hacer referencia a cualquier abstracción que simplifique algo con el fin de abordar un punto de vista particular. Esta definición subclasifica específicamente los "modelos arquitectónicos" en el subconjunto de descripciones de modelos que se representan como diagramas.
- Estándares : Los estándares funcionan cuando todos los conocen y todos los usan. Esto permite un nivel de comunicación que no se puede lograr cuando cada diagrama es sustancialmente diferente de otro. El lenguaje de modelado unificado (UML) es el estándar más citado.
- Preocupación principal : Es fácil caer en el detalle al incluir muchas necesidades diferentes en un solo diagrama. Esto debe evitarse. Es mejor dibujar varios diagramas, uno para cada punto de vista, que dibujar un "megadiagrama" que sea extremadamente rico en contenido. Recuerde esto: al construir casas, el arquitecto entrega muchos diagramas diferentes. Cada uno se utiliza de manera diferente. Con frecuencia, el paquete final de planos incluirá diagramas con el plano de planta muchas veces: plano de la estructura, plano eléctrico, plano de calefacción, plomería, etc. Se aseguran de que la información proporcionada sea solo la necesaria. Por ejemplo, un subcontratista de plomería no necesita los detalles que necesitaría saber un electricista.
- Ilustrar : La idea detrás de la creación de un modelo es comunicar y buscar retroalimentación valiosa. El objetivo del diagrama debe ser responder una pregunta específica y compartir esa respuesta con otros para:
- A ver si están de acuerdo
- guiar su trabajo.
- Regla de oro: sepa qué es lo que quiere decir y en qué trabajo pretende influir con ello.
- Conjunto específico de compensaciones : la metodología del método de análisis de compensaciones de la arquitectura (ATAM) describe un proceso mediante el cual la arquitectura del software puede ser revisada por pares para determinar su idoneidad. El método ATAM lo hace partiendo de una noción básica: no existe un diseño para todas las ocasiones. Las personas pueden crear un diseño genérico, pero luego deben modificarlo para situaciones específicas en función de los requisitos del negocio. En efecto, las personas hacen concesiones. El diagrama debe hacer visibles esas compensaciones específicas. Por lo tanto, antes de que un arquitecto cree un diagrama, debe estar preparado para describir, en palabras, qué compensaciones está intentando ilustrar en este modelo.
- Compensaciones inherentes a la estructura y al diseño : un componente no es una compensación. Las compensaciones rara vez se traducen en una imagen en el diagrama. Las compensaciones son los primeros principios que producen los modelos de diseño. Cuando un arquitecto desea describir o defender una compensación particular, el diagrama puede usarse para defender la posición.
- Sistema o ecosistema : el modelado en general se puede realizar en diferentes niveles de abstracción. Es útil modelar la arquitectura de una aplicación específica, completa con componentes e interacciones. También es razonable modelar los sistemas de aplicaciones necesarios para entregar un proceso de negocios completo (como el proceso de pedido a cobro). Sin embargo, no suele ser útil considerar el modelo de un solo componente y sus clases como una arquitectura de software. En ese nivel, el modelo, si bien es valioso por sí mismo, ilustra el diseño mucho más que la arquitectura.
Véase también
Enlaces externos
- Las Definiciones de Arquitectura de Software publicadas por SEI contienen una lista de definiciones de arquitectura utilizadas por autores clásicos y modernos.
- El modelo arquitectónico contiene una definición de un modelo arquitectónico de la base de datos de ingeniería de software orientada a objetos de la Universidad de Ottawa.
- El método de análisis de compensaciones arquitectónicas (ATAM) es un método mediante el cual se puede evaluar la arquitectura para determinar su idoneidad y ajuste a los requisitos.