You are on page 1of 14

05/02/2013

Diseo de Software

Diseo de Software

Es posible construir un puente sin tener sus planos?


Los ingenieros

civiles no pueden construir un puente sin planos describen la arquitectura de la obra - Cuales son los componentes del puente - Cmo ellos se conectan - Qu justifica la estructura utilizada

Los planos

La arquitectura define:

Estilos Arquitectnicos

Fundamentos del Diseo de Software - Arquitecturas de Software

Fundamentos del Diseo de Software - Arquitecturas de Software

Diseo de Software

Diseo de Software

Se puede construir un sistema sin conocer su estructura?

La definicin de Bass, Clemens y Bazman (2003)


- La arquitectura de software de un programa o sistema de computacin es la estructura o estructuras del sistema, la cual comprende elementos de software, las propiedades externamente visibles de esos elementos y las relaciones entre ellos Los elementos de software son los componentes de la arquitectura
- Componentes de datos (archivos, BDs, repositorios, etc.) - Componentes computacional (clases, mtodos, objetos, etc.) - Procesos

En Ingeniera de Software tampoco es posible construir un sistema sin tener sus planos
- Los planos describen la arquitectura del software

El concepto de arquitectura de software


- La Arquitectura de Software es la organizacin fundamental de un sistema que engloba a sus componentes, las relaciones entre ellos, el ambiente y los principios que orientan su diseo y evolucin (IEEE Std 1471-2000)

Las relaciones son las conexiones entre componentes Las propiedades visibles son aquellos supuestos que se

hacen sobre un elemento:


- Servicios que presta - Rendimiento - Tolerancia a fallas, etc.

Fundamentos del Diseo de Software - Arquitecturas de Software

Fundamentos del Diseo de Software - Arquitecturas de Software

05/02/2013

Diseo de Software

Diseo de Software

Otras definiciones
- Un conjunto de elementos arquitecturales que tienen una forma particular Estos elementos se dividen en tres clases:
- elementos de procesamiento, - elementos de datos y - elementos de conexin

Diseo arquitectnico

Es el proceso de diseo inicial para identificar los subsistemas y establecer un marco de trabajo para el control y comunicacin de los subsistemas
Su producto es la arquitectura software

(Perry y Wolf, 1992) - Una coleccin de componentes computacionales en conjunto con una descripcin de las interacciones entre estos componentes, es decir, de los conectores (Garlan y Shaw, 1993)

Fundamentos del Diseo de Software - Arquitecturas de Software

Fundamentos del Diseo de Software - Arquitecturas de Software

Diseo de Software

Diseo de Software

Arquitectura de Software

Arquitectura de Software
Una arquitectura de software es una abstraccin de un

La arquitectura de un sistema de software define la(s) estructura(s) del sistema en trminos de:
- Componentes y - Conexiones entre estos componentes

sistema
- Establece como est compuesto el sistema y como sus componentes interactan - Suprime los detalles de sus elementos - Ejemplo: Arquitectura de una aplicacin web basada en componentes distribuidos
Presentation Layer Business Logic Layer Business Process Components Data Layer

Especifica la estructura y topologa del sistema = {componentes, conexiones, justificacin}

Arquitectura

Databases

Business Entity Components

XML Data Stores

Fundamentos del Diseo de Software - Arquitecturas de Software

Fundamentos del Diseo de Software - Arquitecturas de Software

10

05/02/2013

Diseo de Software

Diseo de Software

Arquitectura de Software
La arquitectura de software es una nueva metfora del diseo

Arquitectura de Software
Un aspecto central del diseo de la arquitectura de una

de software que abarca metodologas de anlisis y de diseo


Anlisis Diseo

aplicacin es su descripcin
El estndar IEEE 1471-2000 establece un modelo conceptual

para la descripcin de arquitecturas de software


La descripcin arquitectnica de una aplicacin se usa para: - Hacer explicita la arquitectura del sistema en una etapa inicial, es decir se realiza un proceso de anlisis desde el inicio - Expresar la arquitectura de la aplicacin y su evolucin - Facilitar la comunicacin de esta arquitectura entre los interesados - Evaluar la arquitectura y compararla con otras - Facilitar la planificacin y ejecucin del desarrollo de la aplicacin - Una arquitectura se puede reutilizar si los requisitos son similares

El concepto de arquitectura de software demanda la inclusin

de las actividades de anlisis y diseo dentro de un marco de trabajo ms grande y ms coherente


La integracin de metodologas y modelos es uno de los

aspectos que distinguen las arquitecturas de software de una tcnica particular de anlisis y diseo

Fundamentos del Diseo de Software - Arquitecturas de Software

11

Fundamentos del Diseo de Software - Arquitecturas de Software

12

Diseo de Software

Diseo de Software

Arquitectura de Software
El marco conceptual IEEE 1471-2000 para la descripcin de

Arquitectura de Software

arquitecturas de software
Misin 1..* +cumple +habita_en Ambie nte +influye Aplicacin +tiene 1..* Intere sado (stakeholder) 1..* +tiene +es_importante_para Asunto 1..* +cu bre +orien tado_a Punto de 1..* Vista 1 +cumple_con Vista 1..* +participa_en +establece_mtodos_para 1..* 1..* Modelo 1..* +consiste_de 1..* 1..* 1..* +identifica +tien e_una Arquite ctura +es_descrita_por 1 De s cri pcin arquitectnica +prove e_una Justificacin

Procesos comunes en todo diseo arquitectnico


- Estructuracin del sistema El sistema se estructura en varios subsistemas - Modelado de Control Se establece un modelo general de las relaciones de control entre las partes del sistema - Descomposicin modular Cada subsistema se descompone en mdulos

+selecciona

1..*

Fundamentos del Diseo de Software - Arquitecturas de Software

13

Fundamentos del Diseo de Software - Arquitecturas de Software

14

05/02/2013

Diseo de Software

Diseo de Software

Diferencia entre subsistema y mdulo

Arquitectura de Software
Una arquitectura de software puede ser modelada y descrita

Subsistema
- Es un sistema por si mismo, sus operaciones no dependen de servicios suministrados por otros subsistemas. Tiene interfaces bien definidas que las utiliza para comunicarse con otros subsistemas - Un subsistema esta compuesto de Mdulos

desde diferentes puntos de vista


Cada punto de vista captura uno o ms aspectos (asuntos)

de la arquitectura - Esta representacin se denomina vista


Vista funcional Vista estructural

Mdulo
- Es un componente de un sistema que suministra uno o ms servicios a otros mdulos y utiliza los servicios suministrados por otros mdulos - Por lo general, no son un sistema independiente - Esta compuesto de componentes simples

Aplicacin Vista de implementacin Vista dinmica

Fundamentos del Diseo de Software - Arquitecturas de Software

15

Fundamentos del Diseo de Software - Arquitecturas de Software

16

Diseo de Software

Diseo de Software

Arquitectura de Software
Una vista es una descripcin parcial del sistema relacionada

El Modelo de Vistas 4+1


El modelo de vistas 4+1 :
Vista de Uso:

con un conjunto de aspectos o asuntos que se observan desde cierto punto de vista
Una vista contiene, al menos, tres elementos: - Propsito Son los aspectos de la vista que se pretenden representar - Alcance Establece los lmites de lo que est en la vista y lo que est fuera de ella - Elementos Son los elementos arquitectnicos que componen la vista y sus interrelaciones

muestra la funcionalidad del sistema muestra los componentes estructurales (paquetes y clases) del sistema Describe los aspectos dinmicos del sistema Describe los componentes implementables del sistema Indica las relaciones entre los componentes del sistema y el hardware donde ellos se instalarn Vista Estructural
(Diagramas de clase y de objetos)

Vista Estructural:

Vista de Implementacin
(Diagramas de componentes)

Vista del Comportamiento:

Vista de Uso
(Casos de uso)

Vista de la Implementacin

Vista de Comportamiento
(Diagramas de interaccin, de estado, de actividades)

Vista de Despliegue
(Diagramas de despliegue )

Vista del Despliegue

Fundamentos del Diseo de Software - Arquitecturas de Software

17

Fundamentos del Diseo de Software - Arquitecturas de Software

18

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos

Estilos arquitectnicos
Los ingenieros de software, tambin, emplean estilos

Cmo disean los ingenieros civiles un puente?


- Una vez establecidos los requisitos de la obra, Determinan cul es el estilo arquitectnico que mejor satisface esos
requisitos Puente colgante, de vigas voladas, de pilotes, etc.

arquitectnicos
Un estilo arquitectnico se define como: - Un patrn o modelo arquitectnico que es comn a una familia de arquitecturas de sistemas de software - El estilo establece un vocabulario comn de componentes y conectores - El estilo satisface un conjunto de requisitos que es comn a la familia de sistemas que l representa

Luego usan el estilo seleccionado para disear la estructura del


puente

Fundamentos del Diseo de Software - Arquitecturas de Software

19

Fundamentos del Diseo de Software - Arquitecturas de Software

20

Diseo de Software

Diseo de Software

Diseo arquitectnico
La primera fase del diseo es la descomposicin del sistema

Principales estilos arquitectnicos


Basado en flujo de datos Secuencial por lote Conductos y filtros Componentes Centrados en datos (modelo

en subsistemas que interactan


Estos se describen utilizando diagramas de bloques donde

del depsito)

Bases de datos Pizarrones

cada bloque representa un subsistema


Se especifica este modelo utilizando estilos arquitectnicos

para compartir datos, distribuir subsistemas y comunicarse


Sistema de Visin Controlador de brazo Controlador de Asidero

independientes

Procesos comunicantes Sistemas cliente-servidor Sistemas guiados por eventos

Llamada y retorno Programa principal y subrutinas Orientado a Objetos Capas Basado en Niveles Tres niveles N-niveles

Mquinas virtuales Intrpretes Sistemas basados en reglas

Sistema de identificacin de Objetos

Fundamentos del Diseo de Software - Arquitecturas de Software

21

Fundamentos del Diseo de Software - Arquitecturas de Software

22

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos basados en el flujo de datos


Conciben el sistema como una

Estilos arquitectnicos basados en el flujo de datos


Tubera-filtros es una arquitectura popular que conecta componentes computacionales (filtros) a travs de conectores (pipes), de modo que las cmputos se ejecutan a la manera de un flujo Los datos se transportan a travs de las tuberas El sistema tubera-filtros se percibe como una serie de transformaciones sobre sucesivas piezas de los datos de entrada Los datos entran al sistema y fluyen a travs de los componentes

serie de transformaciones de datos de entrada


- Los datos entran al sistema y fluyen, uno a la vez, entre sus componentes Principales estilos: - Secuencial por lotes (batch) - Tuberas y Filtros (Pipe and filter)

Secuencial por lotes


tape

Valida

Ordena

Imprime

listado

Tuberas y Filtros

Tuberas y Filtros

Fundamentos del Diseo de Software - Arquitecturas de Software

23

Fundamentos del Diseo de Software - Arquitecturas de Software

24

Diseo de Software

25

Diseo de Software

Estilos arquitectnicos basados en el flujo de datos

Estilos arquitectnicos basados en el flujo de datos

Este estilo arquitectnico se debe usar cuando:


Se puede especificar la secuencia de un nmero conocido

Ventajas
- Son simples de entender e implementar - Es posible implementar procesos complejos - Es fcil de envolver (wrap) en una transaccin atmica - Los filtros se pueden empaquetar y hacerlos paralelos y distribuidos

de pasos
No se requiere esperar la respuesta asincrnica de cada

paso
Se busca que todos los componentes situados

corriente abajo sean capaces de inspeccionar y actuar sobre los datos que vienen de corriente arriba (pero no viceversa)

Fundamentos del Diseo de Software - Arquitecturas de Software

25

Fundamentos del Diseo de Software - Arquitecturas de Software

26

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos basados en el flujo de datos

Estilos arquitectnicos componentes independientes


El sistema es concebido como un conjunto de procesos

Desventajas
- Pueden resultar demasiado simplistas para servicios que podran ramificar la ejecucin de la lgica del negocio de formas complicadas. - Agregar un paso suplementario afecta el rendimiento de cada ejecucin de la tubera - No es apto para manejar situaciones interactivas, sobre todo cuando se requieren actualizaciones incrementales de la representacin en pantalla - La independencia de los filtros implica que es muy posible la duplicacin de funciones de preparacin que son efectuadas por otros filtros (correccin de un objeto de fecha)

independientes u objetos que se comunican a travs de mensajes


La estructura es modificable, pues los procesos se pueden

desacoplar
Principales estilos: - Procesos comunicantes Constan de un conjunto de procesos independientes que se comunican
entre s y que pueden ejecutarse en paralelo

- Sistemas guiados por eventos Estilo de difusin (broadcast) Estilo guiado por interrupciones - Sistemas cliente-servidor (Sistemas de control)

Fundamentos del Diseo de Software - Arquitecturas de Software

27

Fundamentos del Diseo de Software - Arquitecturas de Software

28

Diseo de Software

Diseo de Software

Estilos arquitectnicos componentes independientes


Modelo guiados por eventos

Estilos arquitectnicos componentes independientes


Modelo guiado por eventos (Difusin o Invocacin implcita): - El sistema consta de un manejador de eventos y varios subsistemas o componentes - Los componentes registran su inters en atender eventos especficos - Cuando un evento ocurre, el manejador de eventos difunde o transmite (broadcast) un anuncio - Ejemplos de sistemas basados en eventos: Sistemas de tiempo real para manejo de alarmas

- Estn basados en la invocacin implcita, sin llamada directa - En lugar de invocaciones de procedimientos explcitas o directas: un componente anuncia uno o ms eventos y otros componentes registran el inters en un evento asociando un procedimiento a dicho evento - La ocurrencia de un evento causa la invocacin implcita de procedimientos en otros mdulos - til en broadcasting

Componente 1

Componente 2

Componente 3

Componente 4

Manejador de eventos

Fundamentos del Diseo de Software - Arquitecturas de Software

29

Fundamentos del Diseo de Software - Arquitecturas de Software

30

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos componentes independientes

Estilos arquitectnicos componentes independientes


El modelo de eventos seala que este estilo puede utilizarse

Usos Frecuentes del modelo guiado por eventos


- Integracin de herramientas - Gestores de bases de datos (mantener consistencia) - Interfaces de Usuario

cuando:
- Se desea manejar independientemente y de forma aislada diversas implementaciones de una funcin especfica - Las respuestas de una implementacin no afectan la forma en que trabajan otras implementaciones - Todas las implementaciones son de escritura solamente o de dispararse y olvidar Restricciones - Quien anuncia el evento no conoce a qu componentes afecta ste - No se pueden hacer asunciones (supuestos) acerca del orden de procesamiento

Fundamentos del Diseo de Software - Arquitecturas de Software

31

Fundamentos del Diseo de Software - Arquitecturas de Software

32

Diseo de Software

Diseo de Software

Estilos arquitectnicos componentes independientes


Ventajas del estilo guiado por eventos - Alta versatilidad al poder registrarse a eventos dinmicamente - Alta reutilizacin Introduccin de nuevos componentes nicamente registrndose - Facilita la evolucin del sistema Fcil sustitucin de componentes - Acoplamiento inexistente entre componentes - Permite que procesos de negocios que no estn relacionados sean independientes - Alienta el desarrollo en paralelo, lo que puede resultar en mejoras de rendimiento - Corren sincrnica o asincrnicamente porque no se espera una respuesta Fundamentos del Diseo de Software - Arquitecturas de Software
33

Estilos arquitectnicos componentes independientes

Desventajas del estilo guiado por eventos


- Prdida de control en el comportamiento del sistema - Problemas en el intercambio de datos - Es difcil asegurar la correccin global del sistema - Proceso sin garantas Alguien registrado? Orden de ejecucin?

Fundamentos del Diseo de Software - Arquitecturas de Software

34

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos componentes independientes

Estilos arquitectnicos cliente servidor


- Los clientes deben conocer los nombres de los servidores disponibles y los servicios que ellos ofrecen. - Los servidores no necesitan saber quienes son sus clientes - El servidor provee servicios (datos) a los clientes bajo solicitud El cliente hace una invocacin remota al servidor enviando una solicitud (RPC) El servidor recibe la solicitud, la procesa de manera sncrona o asncrona y responde al cliente enviando los datos solicitados - Este enfoque se puede utilizar junto con el modelo de depsito
URL URL
Archivo en HTML XML

Estilo cliente-servidor
- Es un modelo de sistemas distribuidos que muestra como los datos y el procesamiento se distribuye a lo largo de varios procesadores - Sus principales componentes son: Un conjunto de servidores independientes que ofrecen servicios a otros subsistema (servidores de impresoras, de archivos, etc.) Un conjunto de clientes que llaman a los servicios Una red que permite a los clientes acceder a los servicios

Cliente
Navegador Web

URL

Archivo en HTML XML

Internet Intranet

URL
Archivo en HTML XML

Servidor Web

Cliente
Navegador Web

Objeto Web

Archivo en HTML XML

Internet Intranet

Servidor Web

Objeto Web

Fundamentos del Diseo de Software - Arquitecturas de Software

35

Fundamentos del Diseo de Software - Arquitecturas de Software

36

Diseo de Software

Diseo de Software

Estilos arquitectnicos cliente servidor

Estilos arquitectnicos basados en datos o repositorios


Ventajas
- Es una arquitectura distribuida - Es fcil agregar un nuevo servicio - Se puede modificar un servicio sin afectar al sistema

Conocido tambin como el modelo de depsito En este modelo los subsistema comparten datos a fin de trabajar de forma conjunta En este estilo arquitectnico hay dos componentes principales: una estructura de datos que representa el estado actual del sistema y una coleccin de componentes independientes que operan sobre ella

Cliente 2 Cliente 1 Base de datos Cliente n Cliente 3

Cliente i

Fundamentos del Diseo de Software - Arquitecturas de Software

37

Fundamentos del Diseo de Software - Arquitecturas de Software

38

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos basados en datos o repositorios


Este enfoque se basa en el

Estilos arquitectnicos basados en datos o repositorios


Estilo de base de datos compartida

compartir fuentes de datos para pasar informacin


Estas fuentes son: Pizarrones Base de datos central Cada subsistemas tienen sus Cliente 1

Cliente 2 Cliente 3 Base de datos Cliente n

propias bases de datos


Cliente i

- Los datos comunes o de estado se mantienen en una base de datos (BD) - La BD es compartida por un conjunto de subsistemas (clientes) - Los subsistemas determinan cuando acceder a la BD - La BD debe satisfacer las necesidades de datos de cada uno de los subsistemas controlar el acceso concurrente de los subsistemas

Generador de Cdigo Editor Base de datos

Analizador Generador de informes1

Fundamentos del Diseo de Software - Arquitecturas de Software

39

Fundamentos del Diseo de Software - Arquitecturas de Software

40

Diseo de Software

Diseo de Software

Estilos arquitectnicos basados en datos o repositorios


No existe necesidad de

Estilos arquitectnicos basados en datos o repositorios


Estilo de pizarra (blackboard)

transmitir explcitamente los datos entre subsistema


Los subsistemas que producen

Generador de Cdigo Editor Base de datos

- Consta de: Fuentes de conocimiento,


necesarias para resolver el problema

datos no necesitan saber como son utilizados esos datos por otros subsistemas
Las actividades de seguridad y

Una pizarra que representa el


estado actual de la resolucin del problema

Una estrategia, que regula el


orden en que operan las fuentes

control deben estar centralizadas


Es difcil distribuir el depsito

en varias mquinas

Generador Analizador de informes1

- Cuando la pizarra cambia de estado, las aplicaciones responden

Fundamentos del Diseo de Software - Arquitecturas de Software

41

Fundamentos del Diseo de Software - Arquitecturas de Software

42

10

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos basados en datos o repositorios


Se utiliza en exploraciones

Estilos arquitectnicos basados en datos o repositorios


Al inicio del proceso de

recientes de inteligencia artificial distribuida, cooperativa, en robtica, en modelos multi-agentes, en programacin evolutiva, en gramticas complejas
Se puede usar en aplicaciones

resolucin, se establece el problema en la pizarra


Las fuentes tratan de

resolverlo cambiando el estado


La nica forma en que se

de optimizacin y bsqueda en programacin gentica y evolutiva que de otro modo no encontrara un estilo en el cual encuadrarse

comunican entre s es a travs de la pizarra


Finalmente, si de la

cooperacin resulta una solucin adecuada, sta aparece en la pizarra como paso final
43

Fundamentos del Diseo de Software - Arquitecturas de Software

Fundamentos del Diseo de Software - Arquitecturas de Software

44

Diseo de Software

Diseo de Software

Estilos arquitectnicos de sistemas llamada retorno


Esta familia de estilos enfatiza la facilidad a realizar

Estilos arquitectnicos de sistemas llamada retorno


Estilo de programa principal y subrutinas

modificaciones (mantenibilidad) y la escalabilidad


Son los estilos ms generalizados en sistemas de gran

- Estilo tpico de las aplicaciones procedimentales


El control se inicia en el tope de la jerarqua del sistema (programa principal) y es pasado a los niveles inferiores mediante llamadas a subprogramas (calls) Programa Principal

escala
Se caracterizan por definir un modelo de activacin que

implica un hilo principal de control (programa principal) encargado de invocar operaciones


Subrutina 1

Subrutina 2

Subrutina n

Subrutina 2.1

Subrutina 2.2

Fundamentos del Diseo de Software - Arquitecturas de Software

45

Fundamentos del Diseo de Software - Arquitecturas de Software

46

11

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos de sistemas llamada retorno


Estilo Orientado a Objetos - El sistema se estructura como un conjunto de objetos que se comunican mediante pases de mensajes - Cada objeto ofrece un conjunto de servicios u operaciones (mtodos) las cuales son invocados por los otros objetos a travs de mensajes - Cada objeto tiene una clase que describe sus estructura y comportamiento
m1() m3(a)

Estilos arquitectnicos estratificado o en capas


Conocido como el modelo de

mquinas abstractas
Organizacin jerrquica donde

cada capa proporciona servicios a la capa inmediatamente superior y se sirve de las prestaciones que le ofrece la capa inmediatamente inferior
Las capas suelen ser entidades

:ObjetoTipo1 m2() m3()

:ObjetoTipo2 m4(a1,a2,a3) :ObjetoTipo4

complejas, compuestas de varios paquetes o subsistemas


Cada capa define un mquina

Diagrama de colaboracin

:ObjetoTipo3

abstracta cuyo lenguaje de mquina se utiliza para implementar el siguiente nivel


47

Fundamentos del Diseo de Software - Arquitecturas de Software

Fundamentos del Diseo de Software - Arquitecturas de Software

48

Diseo de Software

Diseo de Software

Estilos arquitectnicos estratificado o en capas


Casos representativos de este

Estilos arquitectnicos estratificado o en capas


Ventajas - El estilo soporta un diseo basado en niveles de abstraccin crecientes, lo cual a su vez permite la particin de un problema complejo en una secuencia de pasos incrementales - El estilo admite muy naturalmente optimizaciones y refinamientos - Proporciona amplia reutilizacin Se pueden utilizar diferentes
implementaciones o versiones de una misma capa en la medida que soporten las mismas interfaces de cara a las capas adyacentes Esto conduce a la posibilidad de definir interfaces de capa estndar

estilo son muchos de los protocolos de comunicacin entre capas

El ejemplo ms caracterstico es el modelo OSI con los siete niveles (nivel fsico, datos, red, transporte, sesin, presentacin y aplicacin) incremental del sistema

Permite el desarrollo Es una estilo portable y

modificable

Fundamentos del Diseo de Software - Arquitecturas de Software

49

Fundamentos del Diseo de Software - Arquitecturas de Software

50

12

05/02/2013

Diseo de Software

Diseo de Software

Estilos arquitectnicos estratificado o en capas


Desventajas - Muchos problemas no admiten un buen mapeo en una estructura jerrquica - Consideraciones de rendimiento pueden requerir acoplamientos especficos entre capas de alto y bajo nivel - Es difcil encontrar el nivel de abstraccin correcto Arquitectura

Estilos arquitectnicos en niveles de tres o ms niveles


- La gestin de los datos y la ejecucin de los programas de aplicacin se distribuyen entre dos o ms servidores - Los clientes se encargan de manejar todo lo relativo a la interfaz U/S

(Wikipedia, 2007)

Fundamentos del Diseo de Software - Arquitecturas de Software

51

Fundamentos del Diseo de Software - Arquitecturas de Software

52

Diseo de Software

Diseo de Software

Estilos arquitectnicos en niveles


La arquitectura de 3-Niveles

Estilos arquitectnicos en niveles

consta de: - Capa de presentacin


Consta de uno o ms clientes
que ejecutan los procesos de interfaz U/S
Presentation Layer Business Logic Layer Business Process Components Data Layer

Memoria a Largo Plazo

- Capa de lgica del negocio


Consta de un servidor de
aplicaciones que ejecuta los procesos de negocios automatizados

NIVEL DELIBERATIVO
Databases

Business Entity Components

rdenes de ejecucin
XML Data Stores

Eventos

Memoria a Corto Plazo

- Capa de datos
Consta de un servidor de bases
de datos que administra las bases de datos y proporciona los datos que requiere la capa de lgica del negocio
NIVEL AUTOMTICO

Sensores

Actuadores

Fundamentos del Diseo de Software - Arquitecturas de Software

53

Fundamentos del Diseo de Software - Arquitecturas de Software

54

13

05/02/2013

Diseo de Software

Actividades prcticas
Objetivo de la actividad: - Seleccionar uno o ms estilos arquitectnicos que sean el o los ms apropiados para la aplicacin que su grupo disear Duracin: - 30 minutos Pasos a seguir: - Analicen los requisitos funcionales y no-funcionales de su aplicacin Utilice el Documento de Requisitos o los modelos funcional, estructural y dinmico elaborados en la IR (Requisitos de Software) - Identifiquen aquellos estilos que ustedes consideren que podran ser aplicados - Seleccionen uno o ms de estos estilos y justifiquen su decisin Fundamentos del Diseo de Software - Arquitecturas de Software

56

14

You might also like