Fundamentos de la Arquitectura de Software: Ciclo de Vida, Métodos y Atributos de Calidad
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,92 KB
El Ciclo de Vida y los Métodos en la Arquitectura de Software
Ciclo de Vida de la Arquitectura
El proceso de desarrollo de una arquitectura de software sigue una serie de fases bien definidas:
- Requisitos arquitectónicos: Identificación de las necesidades y restricciones que guiarán el diseño.
- Diseño de la arquitectura: Creación de la estructura y los componentes del sistema.
- Implementación de la arquitectura: Construcción del sistema siguiendo el diseño establecido.
- Evaluación de la arquitectura: Verificación de que el diseño cumple con los requisitos definidos.
Tareas de Ingeniería de Requisitos Respecto a la Arquitectura
La ingeniería de requisitos es fundamental para definir una base sólida. Sus tareas clave incluyen:
- Identificar escenarios relevantes.
- Priorizar escenarios.
- Detallar escenarios.
- Documentar una arquitectura preliminar.
- Definir escenarios funcionales (casos de uso).
- Definir escenarios no funcionales (escenarios de calidad).
Métodos Clave para el Diseño y Evaluación Arquitectónica
Quality Attribute Workshop (QAW)
Es un método que reúne a los participantes tempranamente en el ciclo de vida, durante un día, para descubrir los atributos de calidad que guiarán un sistema intensivo en software. El QAW se centra en el sistema y los participantes, y se utiliza antes de que se defina la arquitectura del sistema.
Attribute-Driven Design (ADD)
El ADD es un método de diseño arquitectónico dirigido por los atributos de calidad que se desea que posea el sistema, más que por su funcionalidad, que queda en un segundo plano (Bass et al., 2001).
Analysis Based on Architectural Styles (ABAS)
El método ABAS (Klein y Kazman, 1999) es a la arquitectura lo que los patrones de diseño son a los objetos. Es decir, son soluciones basadas en estilos arquitectónicos que han surgido de la experiencia de resolver problemas frecuentes. ABAS utiliza los atributos de calidad para definir un marco de aplicación de un estilo arquitectónico concreto, proporcionando un razonamiento, cuantitativo o cualitativo, que fundamente su utilización en un diseño determinado.
Architecture Tradeoff Analysis Method (ATAM)
El ATAM (Kazman et al., 2000) es la evolución de un método anterior llamado SAAM (Software Architecture Analysis Method). Se basa en el uso de escenarios para descubrir qué decisiones de diseño afectan a los atributos de calidad, en lugar de intentar medir su comportamiento de forma precisa en fases tempranas. Esto se hace a través de la identificación de:
- Riesgos: Decisiones aplazadas o cuyo efecto no se alcanza a valorar.
- Puntos sensibles: Partes de la arquitectura que pueden tener mucha influencia en algún atributo de calidad.
- Puntos de compromiso: Partes de la arquitectura cuya modificación mejora un atributo de calidad a costa de empeorar otro (por ejemplo, modificabilidad vs. rendimiento).
Cost-Benefit Analysis Method (CBAM)
El CBAM (Kazman et al., 2002) es un método para evaluar los beneficios, costes y riesgos de las diferentes decisiones de diseño. Está pensado para integrarse con ATAM, utilizando sus resultados como entrada para tomar decisiones basadas en criterios económicos.
Views and Beyond (V&B)
V&B (Clements et al., 2002a) es la propuesta realizada en el SEI para documentar la arquitectura de software de un sistema. Propone la definición de una serie de vistas relevantes de la arquitectura, documentando cada una de ellas y las características que afecten a más de una o a todas en general.
La Importancia de los Atributos de Calidad
Realidades sobre los Atributos de Calidad
- Suelen estar pobremente especificados o, directamente, no especificados. “Un requerimiento que no es testeable no es implementable”.
- En general, no se analizan sus dependencias.
- La importancia de estos atributos varía con el dominio para el cual se construye el software.
- Las 'tácticas' de arquitectura no son fines en sí mismas, sino formas de alcanzar los atributos de calidad deseados.
Clasificaciones y Estándares
Existen distintas clasificaciones estandarizadas para los atributos de calidad, como IEEE Std 1061 o ISO 9126.
Consideraciones Finales sobre la Calidad
- Si los sistemas fallan, pueden causar diferentes consecuencias (pérdidas de tiempo, dinero, etc.).
- No es suficiente con satisfacer los requerimientos funcionales.
- Existe un contexto tecnológico que debe analizarse.