Please enable JavaScript.
Coggle requires JavaScript to display documents.
UNIDAD III - ARQUITECTURAS DE SOFTWARE - Coggle Diagram
UNIDAD III - ARQUITECTURAS DE SOFTWARE
Se define como:
Diseño de más alto nivel de la estructura de un sistema. Una Arquitectura de Software, también denominada Arquitectura lógica, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco. La arquitectura de software define, de manera abstracta, los componentes que llevan a cabo alguna tarea de computación, sus interfaces y la comunicación entre ellos.
3.1 Descomposición 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 las relaciones entre módulos
Describir cada módulo
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.
Definición.
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.
3.2 Patrones de Diseño
Definición.
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.
Función.
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.
conocimiento ya existente.
• Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando
• Estandarizar el modo en que se realiza el diseño.
• Formalizar un vocabulario común entre diseñadores.
solucionados anteriormente.
• Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y
• Proporcionar catálogos de elementos reusables en el diseño de sistemas software.
3.3 Arquitectura de dominio específico
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
Modelos arquitectónicos obtenidos a partir de varios sistemas reales.
Modelos genéricos. Son abstracciones obtenidas a partir de varios sistemas reales. En capsulan las características principales de estos sistemas.
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.
Definición.
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.
3.4 Diseño de software de arquitectura multiprocesador
Definición.
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.
Factores claves para la extensión de multiprocesadores.
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.
Costo-rendimiento: Actualmente estos sistemas se basan en procesadores comerciales, por lo que su costo se ha reducido drásticamente.
3.5 Diseño de software de arquitectura
Definición.
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
Características.
Concurrencia
Carencia de reloj global
Fallos independientes de los componentes
Definición.
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.
3.7 Diseño de software de arquitectura de tiempo real
Definición.
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.