Академический Документы
Профессиональный Документы
Культура Документы
Diseo del producto o Diseo de alto nivel o Diseo Arquitectnico o Diseo detallado Implementacin (codificacin) e Integracin Prueba (producto completo) y Aceptacin del producto. Mantenimiento del producto. Diseo arquitectnico Comprende las actividades para el establecimiento de un marco de trabajo estructural para un sistema software. Establecer la estructura general del software, compuesta por los componentes y la manera en que stos interactan. Arquitectura del Software Es la estructura del sistema, que incluye los componentes del software, las propiedades visibles externamente de esos componentes y las relaciones entre ellos. (Bass, Clement) La Arquitectura de Software es la organizacin fundamental de un sistema encarnada en sus componentes, las relaciones entre ellos y el ambiente y los principios que orientan su diseo y evolucin (Microsoft) Una Arquitectura de software, tambin denominada Arquitectura lgica, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construccin del software. La vista arquitectnica es una vista abstracta, que aporta el ms alto nivel de comprensin y suprime detalles. [Clements 1996]
Definicin de conceptos bsicos Componente (concepto convencional) o Un componente es un elemento funcional de un sistema que incorpora la lgica de procesamiento, las estructuras internas de los datos necesarios para implementar dicha lgica y una interfaz que permita la invocacin del componente y el paso de datos. Conector o mecanismo que mediatiza la comunicacin, coordinacin o cooperacin entre componentes; (rpc, protocolos, streams, etc.). Configuracin o Estructura organizativa de los componentes. Estilo arquitectnico
o Un estilo arquitectnico expresa los componentes y las relaciones entre ellos, con las limitaciones de su aplicacin, as como la composicin y el diseo de normas asociadas a su construccin Estilos de Arq. de Sw Indican:
Los tipos de componentes y conectores involucrados. Patrones y restricciones de interconexin o composicin entre ellos
Invariantes del estilo (restricciones) Asociados a cada estilo hay una serie de propiedades que lo caracterizan
Determinan sus ventajas e inconvenientes Condicionan la eleccin de uno u otro estilo.
Patrn arquitectnico
El patrn arquitectnico especifica un conjunto predefinido de subsistemas con sus responsabilidades y una serie de recomendaciones para organizar los distintos componentes.
Arquitectura de referencia
Una arquitectura de referencia proporciona una plantilla de solucin probada para la arquitectura software de aplicaciones en un dominio particular.
Proceso
Conjunto de procedimientos o funciones que tienen uno o ms objetivos. Conjunto de actividades sistemticas que persiguen un fin.
Notaciones para describir la Arquitectura del Software Existen lenguajes especializados en la descripcin de arquitecturas software denominados ADL, que expresan la estructura de las aplicaciones.
Proporcionan modelos, notaciones y herramientas que permiten describir los componentes y sus enlaces especficos. Para el prototipado rpido y verificacin formal de propiedades.
Entre algunos:
ACME Aesop Artek C2 Darwin SADL Wright
Proporciona una forma estndar de escribir los planos de un sistema, cubriendo tanto aspectos conceptuales, como funciones del sistema, como elementos concretos: clases, esquemas de BD y componentes.
Tcnica para modelar la Arquitectura del Software Otro enfoque para el modelado de un sistema se conoce como El modelo 4+1 vistas de la Arquitectura Software. Esta forma de documentar los modelos arquitectnicos divide al sistema en cinco reas (Kruchten, 1995): Vista de escenarios:(casos de uso) que contiene requisitos desarrollados en las restantes vistas. Vista Lgica: (diagrama de clases)Muestra la estructura esttica del sistema, abstraccin del dominio del problema. Vista Fsica: Muestra el despliegue de la aplicacin en la red de computadoras. Vista de Procesos: Muestra los hilos y procesos de ejecucin as como la comunicacin entre estos (concurrencia y sincronizacin). Vista de Desarrollo:(paquetes) organizacin esttica del software en su entorno de desarrollo (bibliotecas, componentes, .ear, .jar, etc.). casos de uso
diseo de la arquitectura
documentacin de la arquitectura
Identificacin de los requerimientos arquitectnicos El anlisis de requerimientos se realiza considerando diferentes perspectivas del sistema ( Cliente, usuario, programador, arquitecto, etc.) El documento de requerimientos debe contener requerimientos funcionales (alto nivel) y requerimientos no funcionales. Una arquitectura de software, est basada de forma muy importante en requerimientos no funcionales del sistema, atributos como: desempeo, confiabilidad, seguridad, facilidad de modificacin, facilidad de uso, robustez, portabilidad, escalabilidad, reutilizacin, disponibilidad, etctera. La arquitectura de software se encuentra influenciada por los involucrados o interesados en el desarrollo del sistema de software, la organizacin para la que est siendo desarrollado, los requerimientos no funcionales, el ambiente tcnico y la experiencia del arquitecto.
El Diseo de la Arquitectura Decisiones a tomar: Analizar si existe una arquitectura genrica que pueda usarse. Descomponer el sistema en partes o elementos identificando el estilo arquitectnico o estilos a aplicar (definir componentes). Decidir qu elementos deben subdividirse y qu elementos derivan de otros. Asignar funcionalidad a los elementos. Definir estrategias de control global Definir protocolos de comunicacin y sincronizacin Definir la distribucin fsica de los elementos y su replicacin Definir una biblioteca de componentes reutilizables en el dominio. Elegir lenguajes y herramientas.
Toda arquitectura debe ser implementable en una arquitectura fsica, que consiste simplemente en determinar qu computadora tendr asignada cada tarea.
Diseo de la arquitectura Al disear una arquitectura de software se debe crear y representar componentes que interacten entre ellos y tengan asignadas tareas especficas, adems de organizarlos de forma tal que se logren los requerimientos establecidos. Se puede partir con patrones de soluciones ya probados. Estas soluciones probadas se conocen como estilos arquitectnicos, patrones arquitectnicos, arquitecturas de referencia y patrones de diseo, respectivamente de lo general a lo particular. Documentacin de la arquitectura
La documentacin del diseo de la arquitectura de software cumple varios propsitos importantes. Entre ellos estn: Comunicar a los distintos involucrados el diseo de alto nivel y las decisiones que permitieron llegar a ste. Permitir realizar anlisis y evaluacin del diseo. Soportar las actividades de mantenimiento
Las estructuras del diseo arquitectural se documentan de forma separada a travs de distintas vistas. Cada vista modela una parte del diseo arquitectural desde distintas perspectivas que pueden ser por ejemplo dinmicas, lgicas o fsicas. Es conveniente usar un enfoque preestablecido que sirve de gua en la eleccin y organizacin de las vistas. Entre algunos:
El modelo 4+1 vistas de la arquitectura que est asociado a RUP. IEEE 1471, es un estndar de la IEEE para la descripcin arquitectural de sistemas complejos.
Views and Beyond . Enfoque desarrollado por el SEI, establece que la documentacin de la AS involucra la eleccin de las vistas relevantes de la AS, emplea plantillas estndar para documentar las vistas, no especifica el nmero de vistas a usar.
Los atributos de calidad son la base para la definicin de la AS y para su evaluacin. Pero simplemente nombrarlos no es suficiente .. El sistema debe ser robusto .. El sistema debe ser altamente modificable Existen en el contexto de objetivos especficos y se deben priorizar Calidad en la arquitectura de software Principales caractersticas de calidad de la norma ISO 91261 para la medicin de la calidad del software .
Calidad en la arquitectura de software Personalizacin del estndar del modelo de calidad para la AS Funcionalidad. La AS debe tener las suficientes funciones para las tareas requeridas. Involucra dos aspectos.
Tener las funcionalidades del sistema identificadas y documentadas. Se especifica la arquitectura en funcin de sus componentes y dicha composicin debe reunir los requisitos funcionales del sistema.
Precisin. El sistema debe proporcionar resultados correctos, con grado de precisin necesario.
Tener identificados a los componentes con las funciones responsables de clculos de precisin. Tener mtrica(s) para medir este aspecto.