P. 1
Unidad 6 DISEÑO Y ARQUITECTURA DE PRODUCTOS DE SOFTWARE

Unidad 6 DISEÑO Y ARQUITECTURA DE PRODUCTOS DE SOFTWARE

|Views: 2.815|Likes:

More info:

Published by: Hector Guerrero Moreno on Jun 07, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/10/2013

pdf

text

original

Unidad 6 DISEÑO Y ARQUITECTURA DE PRODUCTOS DE SOFTWARE

6.1 Descomposición Modular El principal objetivo de la descomposición modular es descomponer los problemas complejos en problemas más sencillos para realizar de manera más eficiente el desarrollo del sistema. La descomposición modular se enfoca en la reutilización de código, además debido a esta descomposición cada módulo es desarrollado con un fin específico, esta característica ayuda a que futuros programadores comprendan fácilmente la función de cada módulo. Ejemplo de descomposición modular:

Características de Módulos: O O O O Tamaño pequeño Independencia modular Abstracción Encapsulamiento

Objetivos de la Descomposición Modular: O O O Descomponer los problemas complejos en problemas más sencillos Reutilizar el código Facilitar la lectura de los programas

Para el desarrollo de estos procesos se ocupan modelos de programación concurrente y paralela: Objetivos de la programación paralela:    Reducir el tiempo de computo Reducir la complejidad del algoritmo Aprovechar al máximo la capacidad de las computadoras multiproceso Tipos de Programación:   Multihilo Paso de mensaje Multihilo: este tipo de programación le permite a una aplicación realizar varias tareas concurrentemente.2 Arquitectura de dominio especifico Existen diversas arquitecturas de dominio especifico para el desarrollo de software. en un sistema distribuido) El multiproceso no es algo difícil de entender.1 Diseño de software de arquitectura multiprocesador Un sistema multiproceso o multitarea es aquel que permite ejecutar varios procesos de forma concurrente. mas procesadores significa mas potencia computacional. Un conjunto de tareas puede ser completado mas rápidamente si hay varias unidades de proceso ejecutándolas en paralelo. La única forma de que se ejecuten de forma simultanea varios procesadores es tener varias CPU’s(ya sea en una maquina en o en varias. Los distintos hilos que se ejecutan comparten una serie se recursos . A continuación mencionaremos algunas de ellas: Diseño de software de arquitectura multiprocesador diseño de software Cliente/Servidor diseño de software distribuido diseño de software distribuido de tiempo real 6.2.6.

tales como el espacio de emesaje. Pase de mensaje: MPI ("Message Passing Interface") es un estándar que define la sintaxis y la semántica de las funciones usada en programas que exploten la existencia de múltiples procesadores. Gráficamente se puede ver asi:  Estado inicial  Ejecución de los múltiples procesos   Conexión con los correspondientes nodos Envió de respuesta  Recepción de respuestas  Envió del proceso  Fin de la comunicación  Envio del proceso en multiples procesos . Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.

consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta Componentes del software Cliente-Servidor Ejemplo Cliente-Servidor .2.2 Diseño de software cliente servidor La arquitectura cliente-Servidor..6.

Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red. a eventos del entorno del sistema. Su correcto funcionamiento depende de que el sistema responda a los eventos dentro de un corto intervalo de tiempo. Un sistema de tiempo real duro (hard) es un sistema cuyo funcionamiento es incorrecto si los resultados no se producen de acuerdo con la especificación temporal. Se ha popularizado tanto en la actualidad ya que tiene como ámbito de estudio las redes como por ejemplo: Internet. no tienen una temporización general. Se puede definir un sistema de tiempo real como sigue: Un sistema de tiempo real es un sistema software cuyo correcto funcionamiento depende de los resultados producidos por el mismo y del instante del tiempo en el que se producen estos resultados.2. en tiempo real. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor. redes de teléfonos móviles. Estas computadoras interactúan directamente con dispositivos hardware. Carencia de reloj global. redes corporativas. para el logro de un objetivo. esta más bien distribuida a los componentes.4 Diseño de software de tiempo real Las computadoras se utilizan para controlar una amplia variedad de sistemas desde maquinas domesticas sencillas hasta plantas enteras de fabricación.. El software de dichos sistemas es software de tiempo real embebido que debe reaccionar a eventos generados por el hardware y emitir señales de control como respuesta a estos eventos.  .  Un sistema de tiempo real blando (soft) es un sistema cuyo funcionamiento se degrada si los resultados no se producen de acuerdo con los requerimientos temporales especificados. que están en ordenadores conectados en red. Fallos independientes de los componentes. pues el sistema en su conjunto continua trabajando   6. Está embebido en sistemas hardware maquina y debe responder. etc. Esto permite el logro de las tareas con mayor efectividad.. con lo cual los demás pueden continuar ejecutando sus acciones. redes de empresas. se comunican y coordinan sus acciones mediante el paso de mensajes.3 Diseño de software Distribuido Sistemas cuyos componentes hardware y software.Cada componente del sistema puede fallar independientemente.Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea.. Los sistemas de tiempo real embebidos son diferentes de otros tipos de sistemas de software.2.6. Características:  Concurrencia.

Dando un determinado estimulo de entrada. Se puede. Ocurren de forma regular  Los estímulos periódicos en un sistema de tiempo real son generados normalmente por sensores asociados al sistema. definir el comportamiento de un sistema de tiempo real haciendo una lista de los estímulos recibidos por el sistema. por lo tanto. Estos proporcionan información sobre el estado del entorno del sistema. si el sistema debe examinar un sensor cada 50 milisegundos y realizar una acción (respuesta) dependiendo del valor de ese sensor (estímulo). el sistema debe producir la correspondiente salida. las respuestas asociadas y el tiempo en que dichas respuestas deben producirse. Los estímulos pueden pertenecer a dos clases:  Estímulos periódicos. Por ejemplo. Estímulos aperiódicos. Ocurren a intervalos de tiempo predecibles. .Una forma de ver un sistema de tiempo real es como un sistema de estimulo/respuesta.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->