Temas Variados
Maestría en Bioinformática – Marzo 2010
Contenidos
¿Qué es la Arquitectura de un Sistema? Patrones de Arquitectura Arquitectura de un Sistema de Información
Ing. Lorena Etcheverry – Marzo 2010
Arquitectura de una casilla de perro
Puede ser construída por una sola persona Requiere Modelado mínimo Procesos simples Herramientas simplesArquitectura de una casa
Para construirla en forma eficiente se precisa un equipo Requiere Modelado Procesos bien definidos Herramientas especializadas
Definiciones de arquitectura
El arte o ciencia de la construcción de edificios para uso humano La acción o proceso de construir El “estilo” en los detalles de la estructura y la ornamentación La estructura conceptual y la organización lógicade una computadora o de un sistema basado en computadoras, desde el punto de vista de su uso o diseño; una realización particular de esto.
Oxford English Dictionary, 2nd ed.
Arquitectura de sistemas físicos
Gobernados por leyes físicas Los sistemas físicos maduros tienen arquitecturas estables Aviones, autos y barcos Puentes y edificios Dichas arquitecturas surgen de procesos en los que hayexperiencia Ensayo y error Reutilización y refinamiento de soluciones probadas
Resultados predecibles (por suerte ☺ )
La arquitectura del software es diferente
No hay reglas equivalentes a las de la física
Es necesario definir reglas
No es tangible
Hay que hacer modelos
Es compleja Muchos estados! Cambios en los requerimientos y la tecnología
Adaptabilidad, evolución
Bajoscostos de replicación y distribución
Definiciones de arquitectura (II)
IEEE 1471-2000 Booch, Kruchten, Reitman, Bittner, and Shaw La arquitectura del Software es la organización fundamental del sistema que incluye a sus componentes, sus relaciones entre ellos y el ambiente y los principios que dictan su diseño y evolución Involucra un conjunto de decisiones significativas acerca de la organizacióndel sistema Selección de sus elementos estructurales y sus interfaces Comportamiento, especificado en función de la colaboración de los elementos Composición de sub-sistemas mas grandes a partir de elementos estructurales y elementos con comportamiento
Definiciones de arquitectura (III)
La arquitectura de software también involucra: Funcionalidad Usabilidad Tolerancia a cambios PerformanceReutilización Restricciones económicas y tecnológicas (equilibrio) Aspectos estéticos
Patrones
Un patrón es una solución conocida a un problema recurrente Un patrón codifica conocimiento específico recogido de la experiencia en un dominio Todos los sistemas bien estructurados tienen patrones:
EJ: “A language pattern”, C. Alexander, 1977
Los patrones de arquitectura son esquemas base deorganización estructural para sistemas de software.
Definen algunos subsistemas con sus responsabilidades Incluyen reglas y pautas para organizar las relaciones entre ellos
Pattern-Oriented Software Architecture, Volume 1, A System of Patterns
Algunos patrones de arquitectura (I)
Arquitectura en capas:
Organiza los componentes en grupos de sub tareas, donde cada grupo se encuentra en unnivel de abstracción diferente
CÓDIGO COMPILADO (Bytecode)
Ejemplo:
Virtualización, Java Virtual Machine como caso particular
JAVA RUNTIME ENVIRONMENT (JRE) JAVA VIRTUAL MACHINE
SISTEMA OPERATIVO
HARDWARE
Algunos patrones de arquitectura (II)
“Pipes and Filters”:
Sirve en sistemas que procesan un flujo de datos. Cada paso es encapsulado en un “filtro”. Los “tubos” pasan datos de unfiltro a otro Al recombinar filtros puedo construir familias de sistemas relacionados
Filtro 1
tubo 1
Filtro 2
tubo 2
Filtro 3
Ejemplo: pipelines de anotación
Extraído de “MAKER: An easy-to-use annotation pipeline designed for emerging model organism genomes”, Cantarel et al., Genome Res. 2008 January; 18(1): 188–196.
Algunos patrones de arquitectura (III)
Cliente –...
Regístrate para leer el documento completo.