Arquitectura de Software y Atributos de Calidad

Slides:



Advertisements
Presentaciones similares
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Advertisements

Sistemas de Información Enfoques para la Construcción de los Sistemas de Información MBA Luis Elissondo.
CONCEPTO INGENIERÍA DE SOFTWARE  Analiza, diseña y desarrolla productos de sistemas software, proponiendo la plataforma tecnológica más apropiada. Domina.
NORMA ISO DIS 9001:2015 Draft International Standard.
NTC - ISO 9001 NORMA TÉCNICA COLOMBIANA (TERCERA ACTUALIZACIÓN)
Calidad de Software.   ¿Qué es?  ¿Quién lo hace?  ¿Por qué es importante?  ¿Cuáles son los pasos?  ¿Cuál es el producto final?  ¿Cómo me aseguro.
NIA Planeación de una auditoria de Estados Financieros. NOMBRE: Beatriz Acero Zapana CURSO: Auditoria Financiera ESCUELA: Ciencias Contables y Financiera.
ESTEC GALILEO GABRIELA CIFUENTES CONTROL DE LA CALIDAD.
Sistema de Información Gerencial - ERP(Planificación de recursos empresariales) Rolando Espinosa Annie Williams Joel Nieto
Tema: Análisis de una red trocal multiservicio para encriptación de información sobre MPLS basada en el estándar IETF con el protocolo GETVPN Autor:
Diseño de interfases Sistemas de Información
Ciclo de vida del producto y decisiones de selección del proceso
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
SWEBOK.
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
Cualidades del Software
Gestión de Riesgos Corporativos
PRINCIPIOS DE LA GESTIÓN DE CALIDAD TOTAL
ARQUITECTURA DE COMPUTADORES
MOPROSOFT.
Cualidades del Software
Especificación de Requisitos
METODOLOGÍA DE SISTEMAS
Ingeniería de Sistemas Requerimientos
Seminario de Arquitectura de Software
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
PROVEEDOR DATA WAREHOUSE TERADATA
EL PROCESO ADMINISTRATIVO
Ingeniería del Software
Principales desafíos: adaptabilidad y agilidad empresarial
Niveles de gestión estratégica. Estrategia Funcional El principal objetivo de la estrategia es la creación de una ventaja competitiva sostenible en el.
CARACTERISTICAS GENERALES DE LA NORMA ISO
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
COMPROMISO EN LAS PERSONAS NORMAS ISO 9001:2015 INTERGRANTES: DORA ARTUNDUAGA JOHANNA P. ESCOBAR JEENER AVILA.
Ciclo de vida del Software
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
ESTRATEGIAS PARA EL DISEÑO DE PRODUCCIÓN ENSAYO, CONTROL Y EVALUACIÓN DE INVENTARIOS PARTICIPANTES: Blanco Tom - C.I Curvelo Johay – C.I. Laya.
SISTEMA DE GESTION. QUE ES UN SISTEMA DE GESTION “ CONJUNTO DE ELEMENTOS MUTUAMENTE RELACIONADOS O QUE INTERACTUAN PARA ALCANZAR OBJETIVOS” Sistema de.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Taller Contexto de la organización. Ing. Jorge Everardo Kaldman Vega. Ingeniero Ambiental Industrial Hermosillo Sonora, México C.P JULIO, 2018.
Procesos Gerenciales Revisión de los Requisitos 4,5 y 6 ISO 9001:2015
Identificación y Clasificación de los Componentes Reutilizables.
Identificación y Clasificación de los Componentes Reutilizables.
TECNICAS DE ELICITACIÓN DE REQUERIMIENTOS. REUTILIZACION DE REQUERIMIENTOS La técnica de Reutilización de Requerimientos parte de la idea de que los requerimientos.
Planes del Proyecto.
Zegelipae.edu.pe. Aseguramiento de la Calidad Sesión 6.
Nuestros canales de comunicación Gestión de la Calidad del Software Modelos y Estándares de Calidad en el Software.
ATRIBUTOS DE CALIDAD LIC. EN INGENIERÍA EN SISTEMAS COMPUTACIONALES CALIDAD EN EL SOFTWARE LISC02SA.
Principios de I.S. Pr. Néstor Piazza AÑO 2017 Repartido F.ING.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
IEEE Estándar para documentación de pruebas de software
Essential Unified Process
CALIDAD DE SERVICIOS Y PRODUCTOS TURÍSTICOS Lic. Sofía Pacherres Nolivos.
IEEE-STD PRÁCTICA RECOMENDADA PARA LA ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE.
Características de los Sistemas Operativos
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
NORMA ISO/IEC 9126 Norma publicada en Usada para la evaluación de la calidad de software. Establece las características de calidad para productos.
¿Qué es la celda de manufactura? La celda de manufactura es un conjunto de componentes electromecánicos, que trabajan de manera coordinada para el logro.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
Estructura de Sistemas Operativos
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
Estructura de los Sistemas Operativos
Ing. Carlos García P. C.I UNIDAD EDUCATIVA “SALINAS INNOVA” P Identifique el contexto para el cual se Planifica un nuevo sistema ÁREA.
ICI 502 Procesos de Software
Transcripción de la presentación:

Arquitectura de Software y Atributos de Calidad

Implicancias de la Definición Arquitectura de Software - Atributos de Calidad Implicancias de la Definición La arquitectura es una abstracción de un sistema. Los sistema pueden tener y tienen una estructura. Todo sistema tiene una arquitectura. Tener una arquitectura no es lo mismo que tener una arquitectura conocida por todos. Si no se desarrolla la arquitectura explícitamente, se obtendrá una de todas formas, pero puede no gustarnos lo que obtenemos!

¿Por qué es importante la Arquitectura? Arquitectura de Software - Atributos de Calidad ¿Por qué es importante la Arquitectura? Representa las decisiones de diseño más tempranas Es el primer artefacto de diseño Esencial para la reutilización sistemática lo más difícil de cambiar lo más difícil de tener correcto vehículo de comunicación entre los interesados se ocupa de performance, modificabilidad, confiabilidad, seguridad transferible, abstracción reutilizable Una buena arquitectura sienta las bases para un sistema exitoso Una mala arquitectura generalmente provoca alguna forma de desastre

Los Requisitos Determinan el Diseño Arquitectura de Software - Atributos de Calidad Los Requisitos Determinan el Diseño Sistema Conocimiento disponible Variadas formas de requisitos Arquitecto Host Sistema de Visión Controlador Cámara Sensores Motores Arquitectura

Desarrollo de Sistemas de Software Arquitectura de Software - Atributos de Calidad Desarrollo de Sistemas de Software Si todo lo que importara fuese la funcionalidad, cualquier software monolítico serviría, ... pero otras cosas también importan Requisitos funcionales del software Los atributos de calidad del software y su caracterización son esenciales. Modificabilidad Interoperabilidad Disponibilidad Seguridad Predictabilidad Portabilidad ... Manejadores de atributos de calidad Arquitectura del software Software tiene estas cualidades

Arquitectura y Funcionalidad Arquitectura de Software - Atributos de Calidad Arquitectura y Funcionalidad La funcionalidad es en gran medida ortogonal a los requisitos de calidad: la funcionalidad es la capacidad del sistema de hacer lo que se pretendía que hiciese; los sistemas se descomponen en elementos para lograr variados propósitos, más allá de la funcionalidad: las opciones de arquitectura promueven ciertas cualidades al tiempo que implementan la funcionalidad deseada.

Consecuencias de las Decisiones de Arquitectura sobre las Cualidades Arquitectura de Software - Atributos de Calidad Consecuencias de las Decisiones de Arquitectura sobre las Cualidades La medida en que un sistema alcanza sus requisitos de calidad depende de las decisiones de arquitectura: la arquitectura es crítica para alcanzar los atributos de calidad; las cualidades del producto deben diseñarse como parte de la arquitectura; un cambio en la estructura que mejora una cualidad suele afectar las otras cualidades; la arquitectura sólo puede permitir, no garantizar, que cualquier requisito de calidad se alcance.

Arquitectura de Software - Atributos de Calidad Desafíos ¿Qué significan con precisión atributos de calidad tales como modificabilidad, seguridad, performance y confiabilidad? ¿Cómo se estructura el sistema de modo que tenga estas cualidades deseadas? ¿Se puede analizar el sistema para determinar si tiene estas cualidades? ¿Cuán temprano puede realizarse este análisis? ¿Cómo se sabe si una arquitectura de software es apropiada para un sistema sin tener que construir el sistema primero?

Realidad sobre Arquitectura de Software Arquitectura de Software - Atributos de Calidad Realidad sobre Arquitectura de Software Los requisitos de atributos de calidad son las principales guías para el diseño de la arquitectura. La medida en que un sistema alcance sus requisitos de atributos de calidad depende de las decisiones de arquitectura. El desarrollo requiere ser guiado por las decisiones de arquitectura.

Influencia de los Interesados Arquitectura de Software - Atributos de Calidad Influencia de los Interesados Administrador de la organización desarrolladora Encargado de mantenimiento Encargado de marketing Usuario final Cliente Comportamiento, performance, seguridad, confiabilidad, usabilidad Elementos atractivos, terminar rápido, comparable a la competencia Bajos costos, ocupar personal, aumentar el valor de los activos corporativos Modificabilidad Bajos costos, terminar rápido, sin muchos cambios ¿Cómo puedo hacer para que el sistema tenga todo esto? Arquitecto

Interesados Involucrados Arquitectura de Software - Atributos de Calidad Interesados Involucrados Los objetivos organizacionales y las propiedades del sistema requeridas por el negocio raramente se comprenden y menos aún se articulan completamente. Los requisitos de calidad del cliente casi nunca se documentan, lo cual resulta en: objetivos que no se alcanzan; conflicto inevitable entre los interesados. Los arquitectos deben identificar e involucrar activamente a los interesados de modo de: comprender las restricciones reales del sistema; administrar las expectativas de los interesados; negociar las prioridades del sistema; tomar decisiones de compromiso.

Desarrollo de Software Tradicional Arquitectura de Software - Atributos de Calidad Desarrollo de Software Tradicional Los atributos de calidad rara vez se capturan como parte de la especificación de requisitos; generalmente son sólo vagamente comprendidos; frecuentemente pobremente articulados Descripciones operacionales Requisitos funcionales de alto nivel Sistemas legados Arquitectura de sistema específico Arquitectura del software Diseño detallado Implementación ocurre un milagro

Creación de una Arquitectura de Software Arquitectura de Software - Atributos de Calidad Creación de una Arquitectura de Software Existen métodos y guías para la definición de la arquitectura, muchos de los cuales se focalizan en los requisitos funcionales. Es posible crear una arquitectura basada en las necesidades de atributos de calidad.

Arquitectura y Atributos de Calidad Arquitectura de Software - Atributos de Calidad Arquitectura y Atributos de Calidad Un sistema puede evaluarse de dos formas para comprobar que cumple sus atributos de calidad: atributos observables mediante la ejecución: ¿Cómo se comporta el sistema durante la ejecución? ¿Entrega los resultados esperados? ¿Los entrega en un tiempo razonable? ¿Tienen los resultados una precisión tolerable? ¿Se comporta apropiadamente al interactuar con otros sistemas? atributos no observables en la ejecución: ¿Cuán fácil es integrar el sistema, probarlo o modificarlo? ¿Cuán caro ha sido su desarrollo? ¿Cuánto se tardó en tenerlo disponible en el mercado?

Atributos de Calidad Observables durante la Ejecución Arquitectura de Software - Atributos de Calidad Atributos de Calidad Observables durante la Ejecución Performance Seguridad Disponibilidad Funcionalidad Usabilidad

Arquitectura de Software - Atributos de Calidad Performance Tiempo que requiere el sistema para responder a un evento o estímulo, o bien el número de eventos procesados en un intervalo de tiempo. La performance de un sistema depende de: comunicación entre las componentes asignación de funcionalidad a las componentes algoritmos elegidos para implementar la funcionalidad codificación de los algoritmos Dependiente de la arquitectura No dependiente

Performance en la Arquitectura Arquitectura de Software - Atributos de Calidad Performance en la Arquitectura Puede analizarse la performance en la arquitectura mediante: análisis de las tasas de llegada distribución de los requerimientos de servicios tiempos de procesamiento tamaño de las colas latencia (tasa de servicio) Se puede simular el sistema mediante modelos estocásticos basados en información histórica de carga. Históricamente la performance ha sido muy importante, pero últimamente otras cualidades también lo son.

Arquitectura de Software - Atributos de Calidad Seguridad Medida de la capacidad del sistema para resistir intentos de uso y negación de servicios a usuarios no autorizados sin restar servicios a los usuarios autorizados. Típicos ataques: negación de servicios - impedir que un servidor pueda dar servicios a sus usuarios. Se hace inundándolo con requerimientos o consultas. impostor de dirección IP - el atacante asume la identidad de un host confiable para el servidor. El atacante usualmente inhibe al host confiable mediante negación de servicios.

Seguridad y Arquitectura Arquitectura de Software - Atributos de Calidad Seguridad y Arquitectura Estrategias de arquitectura para prevenir, detectar y responder a ataques de seguridad: poner un servidor de autentificación entre los usuarios externos y la porción del sistema que da los servicios; instalar monitores de redes para la inspección y el registro de los eventos de la red; poner el sistema detrás de un “firewall” de comunicaciones donde toda comunicación desde y hacia el sistema se canaliza a través de un proxy; construir el sistema sobre un kernel confiable que proporciona servicios de seguridad. Todas estas estrategias implican identificar componentes especializados y coordinar su funcionamiento con las demás componentes.

Arquitectura de Software - Atributos de Calidad Disponibilidad Proporción del tiempo que el sistema está en ejecución. Se mide como el tiempo entre fallas o la rapidez en que el sistema puede reiniciar la operación cuando ocurre una falla.

Disponibilidad y Arquitectura Arquitectura de Software - Atributos de Calidad Disponibilidad y Arquitectura Técnicas de arquitectura para promover disponibilidad: tolerancia a fallas instalar componentes redundantes que se harán cargo de la ejecución en caso de fallas disponer de canales de comunicación redundantes robustez separación de intereses da lugar a sistemas más fácilmente integrables y probables fácilmente reparable diseño de componentes fáciles de modificar bajo acoplamiento

Arquitectura de Software - Atributos de Calidad Funcionalidad Habilidad de un sistema para hacer la tarea para la cual fue creado. Todas las partes del sistema deben coordinarse para logra el objetivo común: asignar la responsabilidad a cada componente cada cual debe saber el momento en que debe ejecutar su responsabilidad La funcionalidad es ortogonal a la estructura, y de hecho muchas estructuras diferentes pueden lograr la misma funcionalidad.

Arquitectura de Software - Atributos de Calidad Usabilidad Aprendibililidad - ¿Cuán rápido y fácil es para un usuario el aprender a usar la interfaz del sistema? Eficiencia - ¿El sistema responde con la rapidez apropiada a las exigencias del usuario? Recordabilidad - ¿Pueden los usuarios recordar cómo usar el sistema entre dos sesiones de uso? Propenso a errores - ¿El sistema anticipa y previene los errores comunes de los usuarios? Manejo de errores - ¿El sistema ayuda a los usuarios a recuperarse de los errores? Satisfacción - ¿El sistema facilita la tarea de los usuarios?

Usabilidad y Arquitectura Arquitectura de Software - Atributos de Calidad Usabilidad y Arquitectura Gran parte de los mecanismos para lograr usabilidad no tienen relación con la arquitectura: modelo mental del usuario del sistema reflejado en la interfaz usuaria, distribución de elementos y colores en la pantalla. Otros elementos sí tienen relación con la arquitectura: la información relevante para el usuario debe estar disponible para una determinada interfaz debe disponerse de un conector que traiga esta información al componente que corresponda la eficiencia tiene implicancias en la usabilidad.

Atributos de Calidad no Visibles durante la Ejecución Arquitectura de Software - Atributos de Calidad Atributos de Calidad no Visibles durante la Ejecución Modificabilidad Portabilidad Reusabilidad Integrabilidad Testabilidad

Arquitectura de Software - Atributos de Calidad Modificabilidad Habilidad para hacer cambios al sistema de una forma rápida y poco costosa. Es el atributo de calidad más íntimamente relacionado con la arquitectura. Hacer modificaciones en un sistema consiste en dos etapas: localizar el (los) lugar(es) dónde debe aplicarse el cambio aplicar el cambio propiamente tal

Modificabilidad en el Proceso de Desarrollo Arquitectura de Software - Atributos de Calidad Modificabilidad en el Proceso de Desarrollo Ya desde el desarrollo es deseable que un sistema sea mantenible ya que pasa por múltiples etapas: control de versiones, control de configuración, cuanto más locales los cambios, mejor. La arquitectura define: las componentes y sus reponsabilidades, las condiciones en que cada componente puede cambiar.

Modificabilidad y Arquitectura Arquitectura de Software - Atributos de Calidad Modificabilidad y Arquitectura Las modificaciones suelen venir de cambios en el negocio: extender o cambiar la capacidades - la extensibilidad permite seguir siendo competitivo en el mercado quitar capacidades no deseadas - simplificar el producto para hacerlo más liviano o más barato adaptarse a nuevos ambientes de ejecución - portabilidad hace al producto más flexible para más clientes reestructurar - racionalizar servicios, modularizar, optimizar, o crear componentes reusables para futuros desarrollos

Arquitectura de Software - Atributos de Calidad Portabilidad Habilidad de un sistema para ejecutar en diferentes ambientes (hardware, software, o una combinación de ambos). Un sistema es portable si todas las supocisiones acerca del ambiente particular de ejecución se confinan a una única (o unas pocas) componente(s). En una arquitectura, el encapsulamiento de las dependencias se hace en una capa de portabilidad que da al sistema una serie de servicios independientes del ambiente.

Arquitectura de Software - Atributos de Calidad Reusabilidad Es la capacidad que tiene un sistema para que su estructura o alguna de sus componentes puedan ser usadas en futuras aplicaciones. La reusabilidad se relaciona con la arquitectura en que las componentes son las principales unidades de reutilización: la reusabilidad dependerá del acoplamiento de la componente, reusar una componente implica reusar la clausura transitiva de todas las componentes dependientes en la estructura de uso La reusabilidad es una forma particular de modificabilidad

Reusabilidad y Modificabilidad Arquitectura de Software - Atributos de Calidad Reusabilidad y Modificabilidad 1. Un sistema S está compuesto de 100 componentes (S1 a S100). Se construye otro sistema T, y se descubre que las n primeras componentes son idénticas y pueden reutilizarse. 2. Un sistema S compuesto por 100 componentes está funcionando y se desea modificarlo. Las modificaciones sólo afectan 100-n componentes dejando a las restantes incambiadas. El nuevo sistema modificado recibe el nombre T. La reusabilidad y la modificabilidad son dos caras de una misma moneda Hacer un sistema que es modificable permite obtener los beneficios de la reutilización

Arquitectura de Software - Atributos de Calidad Integrabilidad Habilidad para hacer que piezas de software desarrolladas separadamente trabajen correctamente juntas. La integrabilidad depende de: complejidad de las componentes mecanismos y protocolos de comunicación claridad en la asignación de responsabilidades calidad y completitud de la especificación de las interfaces Todo depende de la arquitectura La interoperabilidad es una forma de integrabilidad donde las partes del sistema deben trabajar con otro sistema.

Arquitectura de Software - Atributos de Calidad Testabilidad Facilidad con la cual el software puede mostrar sus defectos (típicamente a través de pruebas de ejecución). Probabilidad de que, suponiendo que el software tiene al menos un defecto, fallará en la siguiente prueba. Condiciones necesarias: controlabilidad - poder controlar el estado interno de las componentes observabilidad - poder observar las salidas (outputs)

Testabilidad y Arquitectura Arquitectura de Software - Atributos de Calidad Testabilidad y Arquitectura Inciden en la testabilidad: nivel de documentación de la arquitectura separación de intereses uso de ocultamiento de información desarrollo incremental

Atributos de Calidad del Negocio Arquitectura de Software - Atributos de Calidad Atributos de Calidad del Negocio Características de costo y tiempo: tiempo para poner en el mercado costo tiempo de vida útil proyectada para el sistema Características de comercialización: mercado objetivo planificación uso intenso de sistemas legados

Arquitectura de Software - Atributos de Calidad Costo y Tiempo Tiempo para poner en el mercado poco tiempo para desarrollo presiona a la reutilización el uso de COTS o componentes ya desarrolladas ayuda el diseño de la nueva arquitectura debe ser capaz de albergar estos componentes. Costo el costo de una arquitectura que usa tecnología conocida será menor el aprendizaje de una nueva tecnología podrá reusarse en el futuro Vida útil planificada del sistema en una larga vida útil, la modificabilidad y portabilidad son importantes, aunque esto alargue el ciclo de desarrollo

Arquitectura de Software - Atributos de Calidad Comercialización Mercado objetivo la plataforma y la funcionalidad determina el tamaño del mercado; funcionalidad y portabilidad son esenciales performace, confiabilidad y usabilidad también son importantes para un mercado grande pero específico, debe considerarse el enfoque de líneas de productos Planificación si se construye un sistema básico para ser extendido, la flexibilidad y configurabilidad son importantes Uso de sistemas legados si se interactúa con sistemas legados, debe proveerse un mecanismo adecuado de integración

Atributos de Calidad de la Arquitectura Arquitectura de Software - Atributos de Calidad Atributos de Calidad de la Arquitectura Integridad conceptual visión unificada usada en el diseño del sistema Correctitud y completitud el sistema incluye toda la funcionalidad requerida del sistema Factibilidad de la construcción posibilidad de ser construido el sistema por el equipo de desarrollo disponible en el tiempo estipulado

Integridad Conceptual Arquitectura de Software - Atributos de Calidad Integridad Conceptual “Sostendré que la integridad conceptual es la consideración más importante en el diseño de un sistema. Es mejor tener un sistema sin ciertas características y optimizaciones, pero que refleje un conjunto único de ideas de diseño más que un sistema que tiene muchas ideas buenas pero independientes y descoordinadas.” [Brooks75] En realidad Brooks se refería al diseño de la interfaz usuaria, pero también vale para la arquitectura: lo que la integridad conceptual de la interfaz es para el usuario, lo es la integridad conceptual de la arquitectura para los demás stakeholders.

20 años más tarde: Estrategia Arquitectura de Software - Atributos de Calidad 20 años más tarde: Estrategia “Estoy más convencido que nunca. La integridad conceptual es esencial para la calidad del producto. Tener un arquitecto de sistema es el paso más importante hacia tener integridad conceptual ... Después de dictar un laboratorio de ingeniería de software más de 20 veces, insisto que los grupos de desarrollo de 4 estudiantes deben elegir un administrador de proyecto y un arquitecto separados.” [Brooks95]

¿Cuál Arquitectura Escoger? Arquitectura de Software - Atributos de Calidad ¿Cuál Arquitectura Escoger? Administración del proyecto ¿Qué estructura debo emplear para asignar trabajadores, para derivar la estructura de repartición del trabajo, para explotar las componentes ya empaquetadas y para planificar un sistema modificable? ¿Qué estructura debo emplear para que el sistema, durante su ejecución, logre sus requisitos de comportamiento y sus atributos de calidad? Estilos y patrones de arquitectura La estructua de módulos y la estructura de procesos en ejecución son distintas pero deben ser consistentes.