Está en la página 1de 6

Unidad III: Arquitecturas de software

La Arquitectura del Software es el diseo de ms alto nivel de la estructura de un


sistema. Una Arquitectura de Software, tambin denominada Arquitectura lgica,
consiste en un conjunto de patrones y abstracciones coherentes que proporcionan
el marco
La arquitectura de software define, de manera abstracta, los componentes que
llevan a cabo alguna tarea de computacin, sus interfaces y la comunicacin entre
ellos. Toda arquitectura debe ser implementable en una arquitectura fsica, que
consiste simplemente en determinar qu computadora tendr asignada cada
tarea.

3.1 Descomposicin modular


La descomposicin modular es un mtodo de diseo proporciona un mecanismo
sistemtico para descomponer el problema en su problemas, reducir la
complejidad de todo el problema consiguiendo de esta manera una solucin
modular efectiva.
El diseo modular propone dividir el sistema en partes diferenciadas y definir sus
interfaces. Sus ventajas: Claridad, reduccin de costos y reutilizacin
Los pasos a seguir son:
1. Identificar los mdulos
2. Describir cada mdulo
3. Describir las relaciones entre mdulos
Despus de elegir la organizacin del sistema en su totalidad, debemos decir
como descomponer los subsistemas en mdulos.

No existe una distincin rgida entre la organizacin del sistema y la


descomposicin modular. Sin embargo, los componentes de los mdulos son
normalmente ms pequeos, lo que permite usar estilos alternativos de
descomposicin.
Los mdulos se descomponen normalmente de varios componentes del sistema
simples. Hay dos estrategias para descomponer un subsistema en mdulos:
1. Descomposicin orientada a objetos: donde se descompone un sistema
en un conjunto de objetos que se comunican.
2. Descomposicin orientada a flujos de funciones: donde se descompone
el sistema en mdulos funcionales que aceptan datos y los transforman en
datos de salida.
Estilos de descomposicin modular
En la aproximacin Orientada a Objetos, los mdulos son objetos con estado
privado y operaciones definidas sobre ese estado.
En el modelo de Flujos de Funciones, los mdulos son transformaciones
funcionales.
Los programas secuenciales son ms fciles de disear, implementar, verificar y
probar que los sistemas en paralelo.

3.2 Patrones de Diseo


Los patrones de diseo son la base para la bsqueda de soluciones a problemas
comunes en el desarrollo de software y otros mbitos referentes al diseo de
interaccin o interfaces.
Un patrn de diseo resulta ser una solucin a un problema de diseo. Para que
una solucin sea considerada un patrn debe poseer ciertas caractersticas. Una
de ellas es que debe haber comprobado su efectividad resolviendo problemas

similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que


significa que es aplicable a diferentes problemas de diseo en distintas
circunstancias.

Objetivo de los patrones

Proporcionar catlogos de elementos reusables en el diseo de sistemas


software.

Evitar la reiteracin en la bsqueda de soluciones a problemas ya


conocidos y solucionados anteriormente.

Formalizar un vocabulario comn entre diseadores.

Estandarizar el modo en que se realiza el diseo.

Facilitar el aprendizaje de las nuevas generaciones de diseadores


condensando conocimiento ya existente.

3.3 Arquitectura de dominio especfico


El reto para el diseo es disear el software y hardware para proporcionar
caractersticas deseables a los sistemas distribuidos y, al mismo tiempo, minimizar
los problemas propios a estos sistemas. Es necesario comprender las ventajas y
desventajas de las diferentes arquitecturas de sistemas distribuidos.
Existen dos modelos de dominio especfico:
1. Modelos genricos: que son abstracciones de varios sistemas reales.
2. Modelos de referencia: que son modelos abstractos y describen a una clase
mayor de sistemas.
Estos modelos arquitectnicos se denominan arquitecturas de dominio especfico.
1. Modelos genricos.
2. Modelos de referencia.

No hay, desde luego una distincin rgida entre estos tipos de modelos. Los
modelos genricos tambin pueden servir como modelos de referencia. Hacemos
aqu la distincin entre ellos debido a que los modelos genricos pueden
reutilizase directamente en un diseo. Los modelos de referencia se usan
normalmente para comunicar conceptos del dominio y comparar o evaluar
posibles arquitecturas.
Hay dos tipos de modelos arquitectnicos obtenidos a partir de varios sistemas
reales.
a) Modelos genricos. Son abstracciones obtenidas a partir de varios
sistemas reales. En capsulan las caractersticas principales de estos
sistemas. Por ejemplo, en sistemas de tiempo real, podra haber modelos
arquitectnicos genricos de diferentes tipos de sistemas tales como
sistemas de recoleccin de datos o sistemas de monitorizacin. Se estudian
varios modelos genricos.
b) Modelos de referencia. Son ms abstractos y describen una clase ms
amplia de sistemas. Constituyen un modo de informar a los diseadores
sobre la estructura general de esta clase de sistemas. Los modelos de
referencia normalmente se obtienen a partir de un estudio del dominio de la
aplicacin.

3.4 Diseo de software de arquitectura multiprocesador


A pesar de las grandes mejoras acaecidas en monoprocesadores para algunas
aplicaciones

no

es

suficiente.

La

solucin

pueden

ser

los

sistemas

multiprocesadores debido a que es la solucin ms sencilla, natural y con mejor


coste-prestaciones. Adems, las mejoras en microprocesadores cada vez ms son
complejas; cada avance implica crecer en complejidad, potencia y superficie;
quizs se lenta pro es una clara mejora en el software, que permite explotar el
paralelismo.

Existen dos factores claves para la extensin de multiprocesadores:


1. Flexibilidad: El mismo sistema puede usarse para un nico usuario
incrementado el rendimiento en la ejecucin de una nica aplicacin o para
varios usuarios y aplicaciones en un entorno compartido.
2. Coste-rendimiento: Actualmente estos sistemas se basan en procesadores
comerciales, por lo que su coste se ha reducido drsticamente.

3.5 Diseo de software de arquitectura


Cliente Servidor
La arquitectura cliente-servidor es un modelo de aplicacin distribuida en el que
las tareas se reparten entre los proveedores de recursos o servicios,
llamados servidores, y los demandantes, llamados clientes. Un cliente realiza
peticiones a otro programa, el servidor, quien le da respuesta. Esta idea tambin
se puede aplicar a programas que se ejecutan sobre una sola computadora,
aunque es ms ventajosa en un sistema operativo multiusuario distribuido a travs
de una red de computadoras.

En esta aproximacin, y con el objetivo de definir y delimitar el modelo de


referencia

de

una

arquitectura

Cliente/Servidor,

debemos

identificar

los

componentes que permitan articular dicha arquitectura, considerando que toda


aplicacin de un sistema de informacin est caracterizada por tres componentes
bsicos:

Presentacin/Captacin de Informacin

Procesos

Almacenamiento de la Informacin

3.6 Diseo de software de arquitectura distribuida


Arquitectura distribuida es Un sistema lgico ordenado que se encarga de
conectar varios ordenadores. Este sistema conecta servidor - cliente en tal forma
que se pueda distribuir informacin en forma recproca.
Sistema cuyos componentes hardware y software que estn en ordenadores
conectados en red, se comunican y coordinan sus acciones mediante el paso de
mensajes, para logro de un objetivo. Se establece la comunicacin mediante un
protocolo prefijado por un esquema cliente-servidor.
Caractersticas:
1. Concurrencia
2. Carencia de reloj global
3. Fallos independientes de los componentes

3.7 Diseo de software de arquitectura de tiempo real

Un sistema de tiempo real es un sistema que debe responder a estmulos externos


en un perodo definido y finito de tiempo. La correccin de las respuestas ofrecidas
no slo depende de la respuesta generada, sino tambin del tiempo empleado en
generarla. Una respuesta no generada en el tiempo estipulado, dependiendo del
sistema, puede ser considerada como no vlida en absoluto.

También podría gustarte