MARCO DE REFERENCIA DE ARQUITECTURA PARA TRÁMITES

`

Atrás

Definiciones y Conceptos sobre Evaluación de Arquitecturas

Definiciones y Conceptos sobre Evaluación de Arquitecturas

A continuación aparecen algunas definiciones y conceptos que se utilizarán dentro de esta sección.

Arquitectura de Software:, según el estándar IEEE (Institute of Electrical and Electronics Engineers) es la organización fundamental de un sistema basada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseño y evolución.

Componente: Es una parte de una arquitectura de software claramente identificable, independiente a la aplicación en la que se utiliza y de otros componentes (partes), que describe y realiza funciones específicas y claras dentro del contexto de la arquitectura.

Escenario: Un escenario consta de tres partes: el estímulo, el contexto y la respuesta. El estímulo es la parte del escenario que explica o describe lo que el involucrado en el desarrollo hace para iniciar la interacción con el sistema. Puede incluir ejecución de tareas, cambios en el sistema, ejecución de pruebas, configuración, etc. El contexto describe qué sucede en el sistema al momento del estímulo. La respuesta describe, a través de la arquitectura, cómo debería responder el sistema ante el estímulo. Este último elemento es el que permite establecer cuál es el atributo de calidad asociado.

Evaluación: Es un estudio de factibilidad que pretende detectar posibles riesgos, así como buscar recomendaciones para contenerlos. La diferencia entre evaluar y verificar es que la evaluación se realiza antes de la implementación de la solución. La verificación, es con el producto ya construido.

Stakeholders: Aquellas personas que están relacionadas de cierta forma con el sistema, ya sea un desarrollador, usuario, gerente, etc.

Atributo de calidad: es una característica de calidad que afecta a un elemento. Donde el término “característica” se refiere a aspectos no funcionales y el término “elemento” a componente.

Propósito de evaluar una Arquitectura
El propósito de realizar evaluaciones a la arquitectura, es para analizar e identificar riesgos potenciales en su estructura y sus propiedades, que puedan afectar al sistema de software resultante, verificar que los requerimientos no funcionales estén presentes en la arquitectura, así como determinar en qué grado se satisfacen los atributos de calidad.

Momento para realizar una evaluación de Arquitectura
Según Kazman, es posible realizarla en cualquier momento , pero propone dos variantes que agrupan dos etapas distintas: temprano y tarde.

Temprano. No es necesario que la arquitectura esté completamente especificada para efectuar la evaluación, y esto abarca desde las fases tempranas de diseño y a lo largo del desarrollo.
Tarde. Cuando ésta se encuentra establecida y la implementación de la solución, ya se ha completado.

Métodos de Evaluación de Arquitecturas

Existen varias técnicas para realizar evaluaciones de arquitectura que se dividen basicamente en técnicas cualitativas y cuantitativas. Normalmente, las técnicas de evaluación cualitativas son utilizadas cuando la arquitectura está en construcción, mientras que las técnicas de evaluación cuantitativas, se usan cuando la arquitectura ya ha sido implantada.

Hay métodos de evaluación de arquitecturas, que se centran en un atributo particular, como por ejemplo:

  • ALMA (Architecture Level Modifiability Analysis): El atributo de calidad que analiza este método es la facilidad de modificación.
  • PASA (Performance Assessment of Software Architecture):El atributo de calidad que analiza este método es el desempeño.
  • SALUTA (Scenario based Architecture Level Usability Analysis): Se basa en el atributo de la facilidad del uso del sistema.

Hay otros métodos más generales, donde es posible realizar la evaluación desde distintas perspectivas y que pueden analizar distintos atributos de calidad. Entre estos métodos se encuentra:

  • ATAM (Architecture Trade-off Analysis Method).
  • SAAM (Software Architecture Analysis Method).
  • ARID (Active Reviews for Intermediate Design).

Atributos de calidad por los que puede ser evaluada una arquitectura

Los atributos de calidad, se clasifican en las siguientes dos categorías:

  • Observables vía Ejecución: Son los atributos que se determinan del comportamiento del sistema, en tiempo de ejecución.
  • No Observables vía Ejecución: Son los atributos que se establecen durante el desarrollo del sistema.

En la siguiente figura, aparecen a modo de ejemplo algunos atributos de calidad categorizados.