Please enable JavaScript.
Coggle requires JavaScript to display documents.
UNIDAD III - ARQUITECTURAS DE SOFTWARE, definicion - Coggle Diagram
UNIDAD III - ARQUITECTURAS DE SOFTWARE
3.2 Patrones de Diseño
Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
funcion
Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. 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 diseño en distintas circunstancias.
objetivos
• Proporcionar catálogos de elementos reusables en el diseño de sistemas software.
• Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente.
• Formalizar un vocabulario común entre diseñadores.
• Estandarizar el modo en que se realiza el diseño.
• Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente.
3.1 Descomposición modular
definicion
La descomposición modular es un método de diseño proporciona un mecanismo
sistemático para descomponer el problema en sus problemas, reducirá la complejidad de
todo el problema consiguiendo de esta manera una solución modular efectiva.
El diseño modular propone dividir el sistema en partes diferenciadas y definir sus interfaces.
Sus ventajas: Claridad, reducción de costos y reutilización Los pasos a seguir son:
Identificar los módulos
Describir cada módulo
Describir las relaciones entre módulos
Los módulos se descomponen normalmente de varios componentes del sistema simples.
Hay dos estrategias para descomponer un subsistema en módulos:
Descomposición orientada a objetos: donde se descompone un sistema en un conjunto de objetos que se comunican.
Descomposición orientada a flujos de funciones: donde se descompone el sistema en módulos funcionales que aceptan datos y los transforman en datos de salid.
3.3 Arquitectura de dominio específico
definicion
El reto para el diseño es diseñar el software y hardware para proporcionar características 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.
modelos
Modelos genéricos: que son abstracciones de varios sistemas reales.
Modelos de referencia: que son modelos abstractos y describen a una clase mayor de sistemas.
Hay dos tipos de modelos arquitectónicos obtenidos a partir de varios sistemas reales.
a. Modelos genéricos. Son abstracciones obtenidas a partir de varios sistemas reales. En capsulan las características principales de estos sistemas. Por ejemplo, en sistemas de tiempo real, podría haber modelos arquitectónicos genéricos de diferentes tipos de sistemas tales como sistemas de recolección de datos o sistemas de monitorización. Se estudian varios modelos genéricos.
b. Modelos de referencia. Son más abstractos y describen una clase más amplia de sistemas. Constituyen un modo de informar a los diseñadores 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 aplicación.
3.4 Diseño de software de arquitectura multiprocesador
definicion
A pesar de las grandes mejoras acaecidas en monoprocesadores para algunas aplicaciones no es suficiente. La solución pueden ser los sistemas multiprocesadores debido a que es la solución más sencilla, natural y con mejor coste-prestaciones. Además, las mejoras en microprocesadores cada vez más son complejas; cada avance implica crecer en complejidad, potencia y superficie; quizás se lenta pro es una clara mejora en el software, que permite explotar el paralelismo.
Existen dos factores claves para la extensión de multiprocesadores:
a) Flexibilidad: El mismo sistema puede usarse para un único usuario incrementado el rendimiento en la ejecución de una única aplicación o para varios usuarios y aplicaciones en un entorno compartido.
b) Costo-rendimiento: Actualmente estos sistemas se basan en procesadores comerciales, por lo que su costo se ha reducido drásticamente.
Diseño de software de arquitectura
Cliente – Servidor-La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.
Características:
• Presentación/Captación de Información
• Procesos
• Almacenamiento de la Información
3.6 Diseño de software de arquitectura distribuida
Arquitectura distribuida es Un sistema lógico ordenado que se encarga de conectar varios ordenadores. Este sistema conecta servidor - cliente en tal forma que se pueda distribuir información en forma recíproca.
Características:
Concurrencia
Carencia de reloj global
Fallos independientes de los componentes
3.7 Diseño de software de arquitectura de tiempo real
Un sistema de tiempo real es un sistema que debe responder a estímulos externos en un período definido y finito de tiempo. La corrección de las respuestas ofrecidas no sólo depende de la respuesta generada, sino también del tiempo empleado en generarla. Una respuesta no generada en el tiempo estipulado, dependiendo del sistema, puede ser considerada como no válida en absoluto
definicion