© DIT-UPM, 2005
Ingeniería del software Tema 4: Arquitectura software
Juan Carlos
Juan Carlos YelmoYelmo
dit dit
UPM 2
Contenidos Contenidos
Fundamentos Fundamentos de dise de diseñ ño o
yyIntroducciIntroduccióónnal bloqueal bloque temtemááticotico yyEl El procesoproceso de disede diseññoo
yyConceptosConceptosbábásicossicosde disede diseññoo
Arquitectura Arquitectura Software Software
yyConceptosConceptosbábásicossicos yyEstilosEstilosarquitectóarquitectónicosnicos
Diseñ Dise ño o detallado detallado
© DIT-UPM, 2005
Fases del proceso de dise Fases del proceso de diseñ ñ o o
Diseño de arquitectura
Diseño de arquitectura
Diseño detallado
Diseño detallado
Especificación de requisitos del software
Diseño de arquitectura
Diseño de componentes
•Subsistemas
•Interfaces
•Interacciones
•Control
•Componentes
•Componentes
•Interfaces
•Módulos
•Datos
•Procedimientos
•Algoritmos
dit dit
UPM 4
Dise Dise ñ ñ o de arquitectura o de arquitectura
Fase inicial del proceso de diseñ Fase inicial del proceso de dise ño de sistemas o de sistemas software complejos en que se identifican
software complejos en que se identifican subsistemas y se establece un marco para subsistemas y se establece un marco para control e interacci
control e interacció ón entre subsistemas n entre subsistemas
El objetivo principal no es definir la arquitectura El objetivo principal no es definir la arquitectura de un sistema concreto sino encontrar patrones de un sistema concreto sino encontrar patrones arquitect
arquitectó ónicos reutilizables y directrices de nicos reutilizables y directrices de utilizaci
utilizació ón y composici n y composició ón n
yy UtilizaciUtilización sistemón sistemáática de patrones tica de patrones
© DIT-UPM, 2005
Control de robot
Control de robot empaquetador empaquetador
Vision system
Object identification
system
Arm controller
Gripper controller
Packaging selection
system
Packing
system Conveyor
controller
dit dit
UPM 6
Estructura de sistemas software Estructura de sistemas software
Subsistema Subsistema
Sistema
Subsistema
© DIT-UPM, 2005
Dise Dise ñ ñ o de arquitectura o de arquitectura
Los objetivos del diseñ Los objetivos del dise ño de arquitectura son: o de arquitectura son:
y
y EstructuracióEstructuración del sistema en subsistemas ( y n del sistema en subsistemas ( y de subsistemas en componentes)
de subsistemas en componentes) y
y DiseñDiseño de las interfaces de los subsistemas y o de las interfaces de los subsistemas y patrpatrón de interacción de interaccióón entre subsistemasn entre subsistemas
y
y DiseñDiseño del modelo de controlo del modelo de control
Un subsistema es un sistema autocontenido Un subsistema es un sistema autocontenido que proporciona una funcionalidad relevante que proporciona una funcionalidad relevante desde el punto de vista del usuario final
desde el punto de vista del usuario final
dit dit
UPM 8
Estilo arquitect
Estilo arquitect ó ó nico nico
Patró Patr ón caracter n caracterí í stico en la estructuració stico en la estructuraci ón de la n de la arquitectura de un sistema software
arquitectura de un sistema software
yy Conjunto de componentes caracterConjunto de componentes característicosísticos yy Conjunto de conectores entre componentesConjunto de conectores entre componentes yy DisposicióDisposición topoln topolóógica de componentes y gica de componentes y
conectores y su interrelaci
conectores y su interrelación en tiempo de ón en tiempo de ejecuci
ejecuciónón
yy Restricciones sobre el uso de componentes y Restricciones sobre el uso de componentes y conectores y su patr
conectores y su patrón de interacción de interaccióónn
© DIT-UPM, 2005
Estilo arquitect
Estilo arquitect ó ó nico nico
Ejemplos de estructuras tí Ejemplos de estructuras t ípicas picas
yy Flujo de datosFlujo de datos yy RepositorioRepositorio yy Cliente/servidorCliente/servidor
yy Cliente/servidor en tres nivelesCliente/servidor en tres niveles yy Objetos distribuidosObjetos distribuidos
yy MMáquina abstractaáquina abstracta
dit dit
UPM 10
Arquitectura de flujo de datos Arquitectura de flujo de datos
Filtro
Filtro
Filtro
Filtro
Filtro Filtro Filtro Filtro
tuberías
© DIT-UPM, 2005
Arquitectura
Arquitectura basada basada en repositorio en repositorio
Project repository Design
translator
Program editor Design
editor
Code generator
Design analyser
Report generator
dit dit
UPM 12
Arquitectura
Arquitectura cliente cliente -servidor - servidor
Catalogue server Catalogue
Video server Film clip
files
Picture server Digitiz ed photographs
Hypertext server Hypertext
web
Client 1 Client 2 Client 3 Client 4
Wide-bandwidth network
© DIT-UPM, 2005
Cliente servidor en tres niveles Cliente servidor en tres niveles
Presentación Lógica de Aplicación
Gestión de datos
dit dit
UPM 14
Arquitectura de objetos distribuidos Arquitectura de objetos distribuidos
Bus software
Objeto Objeto Objeto Objeto
Objeto Objeto Objeto
© DIT-UPM, 2005
Arquitectura
Arquitectura de m de má áquina quina abstracta abstracta
Operating system Database system Object management Version management
dit dit
UPM 16
Estilo arquitect
Estilo arquitect ó ó nico nico
Ejemplos de esquemas de control Ejemplos de esquemas de control
yy Llamada/retornoLlamada/retorno yy Control centralizadoControl centralizado yy Control distribuidoControl distribuido
© DIT-UPM, 2005
Arquitectura con control llamada/retorno Arquitectura con control llamada/retorno
M
a b c
d e f g
h i
dit dit
UPM 18
Arquitectura
Arquitectura con control centralizado con control centralizado
System contr oller
User interface
Fault handler Computation
processes
Actuator processes Sensor
processes
© DIT-UPM, 2005
Control
Control distribuido distribuido y multicasting y multicasting
Sub-system 1
Event and messa ge handler Sub-system
2 Sub-system
3
Sub-system 4
dit dit
UPM 20
El modelo ISO
El modelo ISO- -OSI OSI
físico enlace
red transporte
sesión presentación
aplicación
físico enlace
red transporte
sesión presentación
aplicación
físico enlace
red
físico enlace
red
protocolo de aplicación protocolo de presentación
protocolo de sesión protocolo de transporte