Catégories : Tous - patrones - adaptación - reutilización - comunicación

par Frank Ramirez Il y a 4 années

274

Unidad 3: 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4

El diseño arquitectónico en sistemas se enfoca en cómo organizar y estructurar globalmente un sistema, destacando la importancia de enfoques alternativos y la reutilización de componentes.

Unidad 3: 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4

Unidad 3: 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4

3.1.2 ARQUITECTURA DE SISTEMAS DISTRIBUIDOS

Como ejemplo están los juegos en linea de multijugadores masivos ya que se usan una colección de computadoras
•Soporte para diferentes tipos de Sistemas Operativos, redes, lenguajes de programación, etc. Transparencia •Visión de los recursos como un único sistema. Escalabilidad •Capacidad para crecer sin ningún problema Fiabilidad •Capacidad para realizar las operaciones para las que fue creado Disponibilidad •El sistema siempre tiene que estar en línea. Tolerancia a Fallos •Capacidad de seguir disponible pese a un problema. Consistencia •Asegurar el estado global.
Ventajas • Compartir recursos e información. • Procesadores mas poderosos y menos costosos. • Escalabilidad. • Tolerancia a fallos. Desventajas • Requerimiento de mayores controles de procesamiento. • Disminución en la velocidad de propagación de la información. • Múltiples puntos de fallo • Aspectos de seguridad.
Un Sistema Distribuido es una colección de computadores independientes que aparecen ante los usuarios como un único sistema coherente.

3.1.3 Arquitectura de aplicaciones

Un ejemplo es un sistema bancario que cumple con las funciones que necesita la empresa tanto para los trabajadores y clientes.
La arquitectura se basa en el modelo cliente-servidor en varias capas:
Capa de datos: Basada en diferentes gestores de bases de datos (PostgreSQL, MySQL, Oracle RAC 11g...). Las principales bases de datos dan servicio a los servidores de e-Administración, de e-Información y de servicios.
Capa de servidores de aplicaciones de los diferentes clústeres: Estructurada para facilitar la redundancia y la escalabilidad de las aplicaciones.
Capa de balanceo: Se hace la distribución de carga de los diferentes servicios; se diferencia un primer nivel basado en hardware y un segundo proporcionado por las diferentes baterías de servidores web.
Los sistemas de aplicación tienen la intención de cubrir las necesidades de una empresa u organización la manera en la que es diseñada tanto física como lógicamente una aplicación.

3.1.4 Diseño de interfaces de usuario

Depende el programa que pide el cliente un ejemplo si es un programa de juegos se necesita una interfaz bien colorida y animada para que anime al cliente en el momento de interactuar con el programa.
Se deben de cumplir con unas reglas de diseño de la interfaz de usuario:
Hacer consistente la interfaz. La interfaz debe presentar y obtener información en forma consistente. Esto implica: 1) que toda la información se organice de acuerdo con reglas de diseño que se respeten en todas las pantallas desplegadas. 2) que los mecanismos de entrada se limiten a un conjunto pequeño usado en forma consistente en toda la aplicación 3) que los mecanismos para pasar de una tarea a otra se definan e implementen de modo consistente.
2. Reducir la necesidad de que el usuario memorice Cuanto más tenga que recordar un usuario, más propensa a errores será su interacción con el sistema. Esta es la razón por la que una interfaz de usuario bien diseñada no pondrá a prueba la memoria del usuario.
1. Dejar el control al usuario La mayor parte de las restricciones y limitaciones impuestas por el diseñador se han pensado para simplificar el modo de interacción.
Principios de diseño
- Definir los modos de interacción de manera que no obligue a que el usuario realice acciones innecesarias o no deseadas. - Tener en consideración una interacción flexible. - Permitir que la interacción del usuario sea interrumpible y también reversible. - Facilitar la interacción a medida que aumenta la habilidad y permitir que aquella se personalice. - Ocultar los tecnicismos internos al usuario ocasional. - Diseñar la interacción directa con objetos que aparezcan en la pantalla.

3.1.1 DISEÑO ARQUITECTONICO

Ejemplo:
Un ejemplo es cuando vamos a realizar el programa y debemos de entender lo que vamos a hacer y tener definido como va a hacer el diseño de dicho programa.
Patrones
* Los frameworks nos implementan en ocasiones distintos patrones y estilos arquitectónicos. * Por ejemplo, Struts, JSF `y ASP .net implementan el patrón MVC. * J2EE nos da soporte para un estilo arquitectónico con tres capas (presentación, lógica de aplicación y datos) * Por tanto, el uso de frameworks va a determinar en gran medida la arquitectura del sistema.
Características
1. En el proceso deben tomarse enfoques alternativos. 2. Deberá rastrearse hasta el análisis. 3. Se debe reutilizar. 4. Tratar de imitar el dominio del problema. 5. Uniformidad e integración. 6. Deberá estructurarse para admitir cambios. 7. Debe prever la adaptación a circunstancias inusuales. 8. No codificar. 9. Evaluarse en función de calidad mientras está creciendo. 10. Minimizar errores conceptuales.
Beneficios
El diseño se representa en un nivel alto de abstracción, en el que se rastrea directamente el objetivo específico del sistema y los requerimientos más detallados de datos, funcionamiento y comportamiento. A medida que tienen lugar las iteraciones del diseño, las mejoras posteriores conducen a niveles menores de abstracción.
Ventajas
Reutilización a gran escala: por lo general la arquitectura del sistema es la misma para sistemas con requerimientos similares por lo tanto puede soportar reutilización del software a gran escala
Análisis del sistema: en en una etapa temprana el desarrollo del sistema, aclarar la arquitectura del sistema requiere cierto análisis
Comunicación con los participantes: la arquitectura es una presentación de alto nivel del sistema qué puede usarse como un enfoque para la discusión de un amplio número de participantes
Definición
El diseño arquitectonico se intereza por entender como debe organizarse un sistema y como debe diseñarse la estructura global de ese sistema.