Estrilos y Patrones
Noviembre 2011
Contenido
Diseño arquitectónico: reutilización de soluciones probadas (estilos y patrones) Clasficaciones de patrones Características o atributos de calidad para el diseño arquitectónico - modelo de calidad Criterioscomparativos Conclusiones
DISEÑO AEQUTECTONICO: REUTILIZACION
Un framework [Pree 95], patrón [Buschmann et al 96], o estilo [Garlan&Shaw 95] arquitectónico proporciona un esqueleto de la arquitectura global de un sistema Ejemplos: capas, pipe-filter, orientación a objetos, MVC, PAC, ODP
ESTILO ARQUITECTONICO
Estilo arquitectónico: producto de la experiencia de diseñadores recopilados enmanuales para su uso patrón estructural + vocabulario (componentes y conectores + restricciones + comportamiento
DISEÑO ARQUITECTONICO: REUTILIZACION
Las componentes reutilizables de software se basan en patrones de diseño [Gamma et al 95] Ejemplos: mediator en MVC, subjectobserver paras las interfaces-usuario ...
CLASIFICACIONES: según Gamma
[Gamma et al 95] para patrones de diseño,se basa en características de uso y comportamiento: Patrones de construcción (Ej. Abstract Factory) Patrones estructurales (Ej.Facade, Proxy) Patrones de comportamiento(Ej. SubjectObserver, Mediator, Factory Method)
CLASIFICACIONES: según Buschmann
[Buschmann et al 96], se basa en las relaciones de composición entre los elementos arquitectónicos: Patrón arquitectónico: un conjunto desubsistemas (Ej. MVC, PAC (Presentacion,Abstraccion, controlador), BROKER) Patrón de diseño o subsistema (Ej. SubjectObserver, Mediator, Proxy) Idiom, de bajo nivel, para la implementación (Ej. Factory Method)
CLASIFICACIONES: según Keshav&Gamble
• Keshav&Gamble [Keshav&Gamble 98], da una taxonomía basadaen la característica de interoperabilidad: Translator (Bridge) Controller (Facade)Extender (Microkernel)
Translator-extender Translator-controller Translator-controller Controller (Decorator, Proxy) (Mediator) Extender Extender (Client-Dispatcher(?) Server, Broker)
CARACTERISTICAS O REQUISITOS DE CALIDAD DE UNA ARQUITECTURA
Son los requisitos que debe cumplir un sistema de software desde el punto de vista estructural o arquitectónico. Ejemplo: el sistema debe correr enmultiples plataformas -> portabilidad el sistema debe ser flexible a los cambios - > mantenibilidad Se consideran asociados a los requisitos no funcionales. En la actualidad, tambien se consideran realcionados con los funcionales y se denominan “crosscutting concerns” o incumbencias transversales; se tratan como “aspectos” a nivel de programacion (lenguaje ASPECTJ) En la literatura aveces se les conoce como “atributos” de calidad
CARACTERISTICAS DE CALIDAD DE UNA ARQUITECTURA
Establecer caracteristicas de calidad precisas permite fijar criterios para realizar comparaciones de solouciones alternativaxs Debe observarse que:
Satisfacer una característica dentro de una categoría no necesariamente implica no satisfacer alguna en otra categoría.
CARACTERISTICAS DECALIDAD DE UNA ARQUITECTURA
Las características de calidad pueden ser diferentes de acuerdo a la fase de desarrollo [Dromey 95] , [ISO 9126 91] o la vista del sistema [Krutchen 95] en la cual nos situemos Ejemplo: mantenibilidad respecto al código y extensibilidad respecto al diseño Las características de calidad pueden ser internas, externas, o en uso, no son necesariamente independientes.CARACTERISTICAS DE CALIDAD DE UNA ARQUITECTURA: Modelo de proceso, Modelos de calidad
Premisas: la aplicación de un modelo de proceso para medir y evaluar el desarrollo de software favorece la construcción de un producto de calidad un modelo de calidad considera que las características internas (ej. complejidad) influencian las características externas (ej. usabilidad) del producto...
Regístrate para leer el documento completo.