Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Banco
10
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Algunas analogas (cont.)
11
Ctedra de Ingeniera de Software II FCEN UBA, 2008
De los requerimientos a la implementacin
Requerimientos
Y ahora?
Un milagro ocurre
Cmo construimos un puente entre
los requerimientos y la implementacin?
Implementacin
12
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Arquitecturas de sistemas de software
13
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Analogas con la ingeniera civil (slo edificios)
14
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Por qu este tema es importante?
15
Ctedra de Ingeniera de Software II FCEN UBA, 2008
La estructura de los sistemas
Run-time
16
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Las definiciones ms aceptadas (Bass, Clements)
Arquitectura
La arquitectura de software de un programa o sistema de
computacin es la estructura o estructuras del sistema, que abarcan
elementos de software, las propiedades externamente visibles de
estos elementos y las relaciones entre ellos. Implicancias:
La arquitectura define elementos de software (privado <>
arquitectnico)
Los sistemas pueden tener ms de una estructura
Arquitectura de referencia
Una divisin comn de funcionalidad mapeada a elementos que
cooperativamente implementan esa funcionalidad y flujos de datos
entre ellos.
17
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Arquitectura de software
Qu es un elemento?
Qu es el comportamiento?
Qu son la relaciones?
Qu es un sistema?
Metfora
Definicin Implicancia
Definicin
Implicancia
Definicin Implicancia
Definicin Implicancia
25
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Algunas realidades sobre las arquitecturas
26
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Qu hace que una arquitectura sea buena?
27
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Taxonoma de estilos arquitectnicos
Client Server
State Transition
28
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Propiedades de los estilos arquitectnicos
Reglas de composicin
Un estilo tiene restricciones topolgicas que
determinan cmo se puede hacer la composicin de los
elementos
Por ejemplo: los elementos de un layer se pueden
comunicar slo con los del layer inferior
Reuso de diseos
Soluciones maduras aplicadas a problemas nuevos
Reuso de cdigo
Una parte importante del cdigo que implementa la
arquitectura puede pasarse de un sistema a otro
Comunicacin
Portabilidad
30
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Arquitecturas Heterogneas
Por ejemplo:
Los componentes de un sistema layered pueden
tener una estructura interna que use otro estilo
Una arquitectura hecha con J2EE probablemente
resulte en una arquitectura heterognea que incluya:
Layered
Repository
Independent components
31
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Arquitecturas tipo Data Flow
Dos tipos
Batch sequential
32
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Batch Sequential
33
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Pipes and Filters
34
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Pipes and filters Ventajas y Desventajas
Pros
Fcil de entender: la funcin del sistema es la
composicin de sus filtros
Facilidad de extensin reuso recambio de filtros
Cons
Mentalidad batch, difcil para aplicaciones interactivas
35
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Call and Return
36
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Call and Return (cont.)
Encapsulamiento
Herencia, polimorfismo
37
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Layered
Useful systems
Basic Utilities
Core Level
38
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Client server
Distintos flavors
39
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Componentes independientes
Implcita Explcita
Ev1 Op2
C1 C1
Op1 Op1
C2 Manager C3
C3 C2
Op2
40
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Sistemas de eventos
Modelo
Componentes: procesos u objetos
Ventajas
Se independiza la coordinacin
Desventajas
Dificutad de testear
Intercambio de datos
41
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Arquitecturas centradas en datos
42
Ctedra de Ingeniera de Software II FCEN UBA, 2008
State transition
43
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Caso de Estudio: EEPS End Effector Positioning Sofware
Principales requerimientos:
Seguridad (safety):
Arquitectura de referencia:
45
Ctedra de Ingeniera de Software II FCEN UBA, 2008
Caso de Estudio EEPS (cont.)
State Manager: mquina de
estados que conoce el estado
del robot.
46
Ctedra de Ingeniera de Software II FCEN UBA, 2008