Vous êtes sur la page 1sur 6

ARQUITECTURA DE SOFTWARE

En los inicios de la informtica, la programacin se consideraba un arte y se


desarrollaba como tal, debido a la dificultad que entraaba para la mayora de
las personas, pero con el tiempo se han ido descubriendo y desarrollando
formas y guas generales, con base a las cuales se puedan resolver los
problemas.
A estas, se les ha denominado Arquitectura de Software, porque, a semejanza
de los planos de un edificio o construccin, estas indican la estructura,
funcionamiento e interaccin entre las partes del software. En el libro "An
introduction to Software Architecture", David Garlan y Mary Shaw definen que la
Arquitectura es un nivel de diseo que hace foco en aspectos "ms all de los
algoritmos y estructuras de datos de la computacin; el diseo y especificacin
de la estructura global del sistema es un nuevo tipo de problema".

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

Una arquitectura de software se selecciona y disea con base en


objetivos y restricciones. Los objetivos son aquellos prefijados para el sistema
de informacin, pero no solamente los de tipo funcional, tambin otros objetivos
como la mantenibilidad, auditabilidad, flexibilidad e interaccin con otros
sistemas de informacin. Las restricciones son aquellas limitaciones derivadas
de las tecnologas disponibles para implementar sistemas de informacin. Unas
arquitecturas son ms recomendables de implementar con ciertas tecnologas
mientras que otras tecnologas no son aptas para determinadas arquitecturas.
Por ejemplo, no es viable emplear una arquitectura de software de tres capas
para implementar sistemas en tiempo real.

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.

DISEO DE SOFTWARE DE ARQUITECTURA


MULTIPROCESADOR

Los sistemas multiprocesador (MP) son un tipo de arquitectura con una


importancia creciente y ampliamente difundido. La mayora de los constructores
de computadores ofrece mquinas en las que estn presentes ms de una
CPU, configuracin que es hoy en da de uso habitual en casi todos los
sistemas de tamao medio y grande, incluso ya en ordenadores personales.
Asimismo, los fabricantes de procesadores incorporan a sus arquitecturas,
desde hace unos aos, los mecanismos necesarios para que stos se puedan
emplear fcilmente, y con un coste reducido (publicidad de Sun Microsystems
en 1999: "si compra un procesador, le regalamos otro"), en la construccin de
este tipo de sistemas.
Esta tendencia se ha visto reforzada en los ltimos aos con la aparicin de los
multicore, es decir, varios ncleos por procesador. En los prximos aos
veremos mquinas con bastantes procesadores, cada uno de ellos con multitud
de ncleos. Por tanto, comprender como funcionan y saber explotar
correctamente esta potencia de cmputo se vuelve algo necesario para
cualquier ingeniero informtico.
Un sistema multiproceso o multitarea es aquel que permite ejecutar varios
procesos de forma concurrente, la razn es porque actualmente la mayora de
las cpus solo pueden ejecutar un proceso cada vez. La nica forma de que se

ejecuten de forma simultanea varios procesos es tener varias cpus ya sea en


una maquina o en varias en un sistema distribuido.
La ventaja de un sistema multiproceso reside en la operacin llamada cambio
de contexto y consiste en quitar a un proceso de la cpu, ejecutar otro proceso y
volver a colocar el primero sin que se entere de nada.
El multiproceso no es difcil de entender: ms procesadores significa ms
potencia computacional.
Un conjunto de tareas puede ser completado ms rpidamente si hay varias
unidades de proceso ejecutndolas en paralelo.
VENTAJAS
Es econmica
Las

computadoras

paralelas

son

inherentes

escalables

permitiendo

actualizarlas para adecuarse a la necesidad


El uso de componentes comnmente disponibles, en grandes cantidades,
permite ofrecer mayor rendimiento, a un precio menor que el de mquinas con
procesadores especialmente diseados (como por ejemplo las mquinas de
procesadores vectoriales y de propsito especfico).
Adicionalmente, las computadoras paralelas son inherentemente escalables,
permitiendo actualizarlas para adecuarlas a una necesidad creciente.
Las arquitecturas tradicionales se actualizan haciendo los procesadores
existentes obsoletos por la introduccin de nueva tecnologa a un costo
posiblemente elevado. Por otro lado, una arquitectura paralela se puede
actualizar

en

trminos

de

rendimiento

simplemente

agregando

ms

procesadores.

DESVENTAJAS
Puede ser limitante fsica, existen factores que limitan la velocidad mxima de
un procesador independiente del factor econmico

Las barreras fsicas infranqueables tales como la velocidad de la luz, efectos de


tamao, la capacidad.
En ocasiones se menciona tambin la limitante fsica; existen factores que
limitan la velocidad mxima de un procesador, independientemente del factor
econmico.
Barreras fsicas infranqueables, tales como la velocidad de la luz, efectos
cunticos al reducir el tamao de los elementos de los procesadores, y
problemas causados por fenmenos elctricos a pequeas escalas, restringen
la capacidad mxima de un sistema uniprocesador, dejando la opcin obvia de
colocar muchos procesadores para realizar clculos cooperativamente.
Es necesario conocer ampliamente como estn interconectados dichos
procesadores, y la forma en que el cdigo que se ejecuta en los mismos ha
sido escrito para escribir aplicaciones y software que aproveche al mximo sus
prestaciones.

DISEO DE SOFTWARE DE 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 arquitectura la capacidad de proceso est repartida entre los clientes y


los servidores, aunque son ms importantes las ventajas de tipo organizativo
debidas a la centralizacin de la gestin de la informacin y la separacin de
responsabilidades, lo que facilita y clarifica el diseo del sistema.

La separacin entre cliente y servidor es una separacin de tipo lgico, donde


el servidor no se ejecuta necesariamente sobre una sola mquina ni es
necesariamente un slo programa. Los tipos especficos de servidores incluyen
los servidores web, los servidores de archivo, los servidores del correo, etc.
Mientras que sus propsitos varan de unos servicios a otros, la arquitectura
bsica seguir siendo la misma.

Una disposicin muy comn son los sistemas multicapa en los que el servidor
se descompone en diferentes programas que pueden ser ejecutados por
diferentescomputadoras aumentando as el grado de distribucin del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monoltica en la que


no hay distribucin, tanto a nivel fsico como a nivel lgico.
La red cliente-servidor es aquella red de comunicaciones en la que todos los
clientes estn conectados a un servidor, en el que se centralizan los diversos
recursos y aplicaciones con que se cuenta; y que los pone a disposicin de los
clientes cada vez que estos son solicitados.

Esto significa que todas las gestiones que se realizan se concentran en el


servidor, de manera que en l se disponen los requerimientos provenientes de
los clientes que tienen prioridad, los archivos que son de uso pblico y los que
son de uso restringido, los archivos que son de slo lectura y los que, por el
contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse
conjuntamente en caso de que se este utilizando en una red mixta.

Caractersticas

En la arquitectura C/S el remitente de una solicitud es conocido como

cliente. Sus caractersticas son:

Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo

en la comunicacin (dispositivo maestro o amo).

Espera y recibe las respuestas del servidor. Por lo general, puede

conectarse a varios servidores a la vez.

Normalmente interacta directamente con los usuarios finales mediante una


interfaz grfica de usuario.

Al receptor de la solicitud enviada por cliente se conoce como servidor.

Sus caractersticas son:

Al iniciarse esperan a que lleguen las solicitudes de los clientes,

desempean entonces un papel pasivo en la comunicacin (dispositivo


esclavo).

Tras la recepcin de una solicitud, la procesan y luego envan la

respuesta al cliente.

Por lo general, aceptan conexiones desde un gran nmero de clientes

(en ciertos casos el nmero mximo de peticiones puede estar limitado).

No es frecuente que interacten directamente con los usuarios finales.

Bibliografa
Garcia, M. (02 de Octubre de 2014). Arquitectura de Software. Obtenido de
http://magdalyithunid3.blogspot.mx/
Santos, J. (2 de Mayo de 2013). Ingenieria de Software. Obtenido de
Arquitecturas de Software: http://ederjacielsantos.blogspot.mx/

Vous aimerez peut-être aussi