Académique Documents
Professionnel Documents
Culture Documents
ghjklzxcvbnmqwertyuiopasdfghjklzxc
INSTITUTO TECNOLGICO SUPERIOR DE TEPEACA
INGENIERA EN SISTEMAS COMPUTACIONALES UNIDAD VI DISEO Y ARQUITECTURA DE PRODUCTOS DE SOFTWARE MAGDALENA ORTIZ FLORES
UNIDAD VI DISEO Y ARQUITECTURA DE PRODUCTOS DE SOFTWARE 6.1 DESCOMPOSICION MODULAR ................................................................... 2 6.1.1. Software - Diseo Modular ..................................................................... 3 6.2. ARQUITECTURAS DE DOMINIO ESPECFICO ....................................... 4 6.2.1 Diseo de Software de Arquitectura Multiprocesador .............................. 4 6.2.2. Diseo de software de Arquitectura Cliente/Servidor.............................. 6 6.2.3. Diseo de software distribuido Sistemas Distribuidos............................. 7 6.2.4. Diseo de software de tiempo real.......................................................... 9
El cdigo se puede desarrollar en lnea. Aunque el cdigo fuente del programa puede no tener un aspecto modular a primera vista, se ha mantenido la filosofa y el programa proporcionar los beneficios de un sistema modular.
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. Aqu se tratan dos tipos genricos de arquitecturas de sistemas distribuidos: Arquitectura cliente-servidor. En este caso el sistema puede ser visto como un conjunto de servicios que se proporcionan a los clientes que hacen uso de dichos servicios. Los servidores y los clientes se tratan de forma diferente en estos sistemas. Arquitecturas de objetos distribuidos. Para esta arquitectura no hay distincin entre servidores y clientes, y el sistema puede ser visto como un conjunto de objetos que interaccionan cuya localizacin es irrelevante. No hay distincin entre un proveedor de servicios y el usuario de estos servicios. Ambas arquitecturas se usan ampliamente en la industria, pero la distribucin de las aplicaciones generalmente tiene lugar dentro de una nica organizacin. La distribucin soportada es, por lo tanto, intraorganizacional. Tambin se pueden tomar dos tipos ms de arquitecturas distribuidas que son ms adecuadas para la distribucin interorganizacional: arquitectura de sistemas peer-to-peer (p2p) y arquitecturas orientadas a servicios. Los sistemas peer-to-peer han sido usados principalmente para sistemas personales, pero estn comenzando a usarse para aplicaciones de empresa.
El multiproceso no es algo 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. Esa es la teora, pero otra historia es la prctica, como hacer funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto del hardware como del software. 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. Para lograrlo, es necesario modificar varias facetas del sistema operativo, la organizacin del cdigo de las propias aplicaciones, as como los lenguajes de programacin. Se configuran dos computadoras de gran capacidad interconectados electrnicamente entre si. Esta configuracin recibe el nombre de multiproceso y se caracteriza porque permite proceso de datos continuo an en el caso de que surjan problemas de funcionamiento en alguno de las computadoras. Un ejemplo de este tipo de sistema se muestra en la figura 6.3. ste es un modelo sencillo de un sistema de control de trfico areo. Un conjunto de sensores distribuidos recolecta la informacin del flujo de trfico y la procesa localmente antes de enviarla al cuarto de control. Los operadores toman decisiones utilizando esta informacin y dan instrucciones a un proceso de control de diversas luces de trfico. En este ejemplo existen varios procesos lgicos para administrar los sensores, el cuarto de control y las luces de trfico. Estos procesos lgicos son procesos sencillos a un grupo de procesos. En este ejemplo se ejecutan en procesadores diferentes. Los sistemas de software compuestos de procesos mltiples no necesariamente son sistemas distribuidos. Si ms de un procesador est disponible, entonces se puede implementar la distribucin, pero los diseadores del sistema no siempre consideran lo puntos de distribucin durante el proceso de diseo. El enfoque de diseo para este tipo de sistemas es esencialmente el mismo que para los de tiempo real. Ventajas Es econmica.
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 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 un procesador, dejando la opcin obvia de colocar muchos procesadores para realizar clculos cooperativamente.
tienen por tanto un papel activo en la comunicacin (dispositivo maestro o amo). Espera y recibe las respuestas del servidor. Por lo general, puede conectase a varios servidores a la vez. Normalmente interacta directamente con los usuarios finales mediante una interfaz grfica de usuario. Caractersticas de un servidor En los sistemas C/S el 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. Ventajas Centralizacin del control: Los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda daar el sistema. Escalabilidad: Se puede aumentar la capacidad de clientes y servidores por separado. Fcil mantenimiento Desventajas La congestin del trfico (a mayor nmero de clientes, ms problemas para el servidor). El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware especfico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentar el costo
Sistemas cuyos componentes hardware y software, que estn en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicacin mediante un protocolo prefijado por un esquema cliente-servidor. Caractersticas:
recursos disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes que interactan en la red. Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes
entre los diferentes componentes para la realizacin de una tarea, no tienen una temporizacin general, esta ms bien distribuida a los componentes. Fallos independientes de los componentes.- Cada componente del sistema puede
fallar independientemente, con lo cual los dems pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando. Evolucin: Procesamiento central (Host).- Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organizacin se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales. Los problemas de este modelo son: Cuando la carga de procesamiento aumentaba se tena que cambiar el hardware
del Mainframe, lo cual es ms costoso que aadir ms computadores personales clientes o servidores que aumenten las capacidades. El otro problema que surgi son las modernas interfases grficas de usuario, las
cuales podan conllevar a un gran aumento de trfico en los medios de comunicacin y por consiguiente podan colapsar. Grupo de Servidores.- Otro modelo que entr a competir con el anterior, tambin un tanto centralizado, son un grupo de ordenadores actuando como servidores, normalmente de archivos o de impresin, poco inteligentes para un nmero de Minicomputadores que hacen el procesamiento conectados a una red de rea local. Los problemas de este modelo son: Podra generarse una saturacin de los medios de comunicacin entre los
archivos grades por varios clientes a la vez, podan disminuir en gran medida la velocidad de transmisin de informacin. La Computacin Cliente Servidor.- Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualizacin de la Interfaz Grfica de Usuario. Esto hace que ciertos servidores estn dedicados solo a una aplicacin determinada y por lo tanto ejecutarla en forma eficiente.