Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesion 06
Sesion 06
Hernn Astudillo Departamento de Informtica Universidad Tcnica Federico Santa Mara <hernan at inf.utfsm.cl>
Introduccin P Proceso y ciclo de vida P Manejo de proyectos P Anlisis de Requerimientos P Arquitectura y Diseo
Sesin 05 [2004/iv/20]
Sesin 05 [2004/iv/20]
Estilos y patrones
Estilos de arquitectura
Propuestos por Shaw+Garlan Identificados va estudio de comunidades Estilo = definicin de una familia de sistemas en trminos de un patrn de organizacin estructural Un estilo define:
vocabulario de tipos de componentes y conectores restricciones de combinacin uno o ms modelos semnticos para determinar propiedades del todo a partir de las partes
Sesin 05 [2004/iv/20]
Estilos
Procesamiento descompuesto en sub-unidades
Pipes and filters Tipos de datos abstractos (estado encapsulado) Basado en eventos (invocacin implcita) Sistemas en capas Repositorios Intrpretes Control de procesos (bucles)
Estilos heterogneos
Mezclas de estilos Ejemplos
Unix: capas, pipes, event-driven
Sesin 05 [2004/iv/20] Ingeniera de Software - H.Astudillo 6
Especializaciones: Ejemplos
pipelines (topologa lineal) sistema secuencial en lotes (batch) programacin shell Unix
Sesin 05 [2004/iv/20]
Estilo: repositorio
Estado compartido por varios componentes Vocabulario:
repositorio (almacenamiento central) componentes (almacenar, recuperar, actualizar)
Especializaciones
blackboard: almacn crentral lanza procesamiento bases de datos: transacciones (externas) lanzan procesamiento
Crtica Estilos
Catlogos de estilos son listas de soluciones A veces la categorizacin sorprende
No es ortogonal Ejemplo: blackboard y bases de datos como especializaciones de repositorio
blackboard: mecanismo de comunicacin va elemento central base de datos: mecanismo de integridad transaccional (propiedades ACID)
Sesin 05 [2004/iv/20]
Patrones de diseo
Patrones de diseo
Heursticas sistematizadas Originados en comunidad de POO [Gamma+]
Patrn = ...
una solucin (descripcin) a un problema en un contexto (evaluacin de fuerzas y comentarios) Elaboracin, aprobacin y publicacin Comunidad fuerte y combativa J
Proceso: patrones
Sesin 05 [2004/iv/20]
10
Patrones de Buschman+
Categoras de patrones
Estructurales (from mud to structure)
Capas (layers) Pipes & Filtros Pizarra (blackboard)
Sistemas distribuidos
Broker
Sistemas interactivos
MVC: Model-View-Controller Presentacin-Abstraccin-Control
Sistemas adaptables
Reflexin Micro-kernel
Sesin 05 [2004/iv/20] Ingeniera de Software - H.Astudillo 11
Ejemplos famosos
Smalltalk Struts (framework Web)
Especializaciones
Observer-Oberved Publisher-Subscriber
Sesin 05 [2004/iv/20]
12
Niveles de abstraccin
Ejemplo
Problema: comunicar al profesor con sus alumnos
topologa 1:M, mensajes infrecuentes, conexiones espordicas
Nota: este mecanismo tambin permite otras polticas de comunicacin, por lo que dependemos de uso disciplinado
Sesin 05 [2004/iv/20]
13
Patrones: Resumen
Avance notable
...desde estilos descriptivos ...a patrones clsicos de sistemas ...a patrones de integracin
Patrones
Frutos de la experiencia Heursticas sistematizadas
Sesin 05 [2004/iv/20]
14
Recursos y referencias
Software Engineering: Theory and Practice (2nd Ed.)
Shari Pfleeger Prentice Hall (2001) Cap. 5
Sesin 05 [2004/iv/20]
15