Arquitectura Sistema
UN
SISTEMA DE
INFORMACIÓN
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
Herramientassimples
Arquitectura 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 laorganización lógica de 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 surgende procesos en
los que hay experiencia
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íaAdaptabilidad, evolución
Bajos costos 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 decisionessignificativas
acerca de la organización del 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
Performance
Reutilizació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 de
organizació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 engrupos de sub
tareas, donde cada grupo se encuentra en un
nivel de abstracción diferente
CÓDIGO COMPILADO (Bytecode)
JAVA RUNTIME ENVIRONMENT
(JRE)
JAVA VIRTUAL MACHINE
Ejemplo:
Virtualización, Java
Virtual Machine
como caso particular
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 un filtro 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...
Regístrate para leer el documento completo.