You are on page 1of 3

Características de la descomposición modular








Tamaño pequeño
Independencia modular
Abstracción
Encapsulamiento
Objetivos de la Descomposición Modular:
Descomponer los problemas complejos en problemas más sencillos
Reutilizar el código
Facilitar la lectura de los programas
Características de patrones de diseño
 Son soluciones concretas. Un catálogo de patrones es un conjunto de recetas de
diseño. Aunque existen clasificaciones de patrones, cada uno es independiente del
resto.
 Son soluciones técnicas. Dada una determinada situación, los patrones indican
cómo resolverla mediante OO. Hay patrones específicos para un determinado lenguaje
y otros de carácter más general.
 Se aplican en situaciones muy comunes. Los patrones de diseño proceden de la
experiencia, y han demostrado su utilidad resolviendo problemas que aparecen
frecuentemente en el DOO.
 Son soluciones simples. Indican cómo resolver un problema particular utilizando un
pequeño número de clases relacionadas de forma determinada. No indican cómo
diseñar un determinado sistema sino sólo aspectos puntuales del mismo.
 Facilitan la reutilización de las clases y del propio diseño. Los patrones favorecen
la reutilización de clases ya existentes y la programación de clases reutilizables. La
propia estructura del patrón es reutilizada cada vez que se aplica.
 El uso de un determinado patrón no se refleja claramente en el código. A partir de
la implementación es difícil determinar que patrón de diseño se ha usado.
 Referencias a self. Muchos patrones utilizan la delegación de operaciones y esto
provoca el problema del self.
 Es difícil reutilizar la implementación de un patrón. Las clases del patrón son roles
genéricos, pero en la implementación aparecen clases concretas.
 Los patrones suponen una sobrecarga de trabajo a la hora de implementar. Se
usan más clases, es necesario delegar mensajes, etc.

tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo). Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea.  Tras la recepción de una solicitud.  Por lo general. desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo). Sus características son:   Es quien inicia solicitudes o peticiones.  Procesamiento central (Host). Al receptor de la solicitud enviada por cliente se conoce como servidor. no tienen una temporización general. normalmente . aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). con lo cual los demás pueden continuar ejecutando sus acciones.  Por lo general.  Fallos independientes de los componentes.  Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. todos los procesamientos de la organización se llevaba a cabo en una sola computadora. Cada componente del sistema puede fallar independientemente. la procesan y luego envían la respuesta al cliente. Espera y recibe las respuestas del servidor. está más bien distribuida a los componentes.Características de Diseño de software de arquitectura multiprocesador Características de software de arquitectura cliente – servidor En la arquitectura C/S el remitente de una solicitud es conocido como cliente. puede conectarse a varios servidores a la vez.  Carencia de reloj global. Sus características son:  Al iniciarse esperan a que lleguen las solicitudes de los clientes.  No es frecuente que interactúen directamente con los usuarios finales. pues el sistema en su conjunto continua trabajando. Características de Diseño de software de arquitectura distribuida  Concurrencia 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. Esto permite el logro de las tareas con mayor efectividad.

un Mainframe.  Los sistemas de tiempo real degrada si los resultados no se producen correctamente de acuerdo con los requerimientos temporales especificados. . y los usuarios empleaban sencillos ordenadores personales.  los sistemas de tiempo real es incorrecto si los resultados no se producen de acuerdo a la especificación temporal.  Características de Diseño de software de arquitectura de tiempo real  los sistemas de tiempo real depende de los resultados producidos por el mismo y del instante de tiempo en el que se producen estos resultados.