UNIDAD 3: Diseño
Arquitectura de aplicaciones
La arquitectura de aplicacion
puede reimplantarse cuando se
desarrollen nuevos sistemas.
Algunos no necesitan de reimplementacion
como los ERP, eso sucede con Oracle por ejemplo,
que tiene aplicaciones que funcionan en diferentes
tipos de estilo de negocios.
describe los patrones y las técnicas que se utilizan para diseñar y desarrollar aplicaciones. La arquitectura le proporciona un plan y las prácticas recomendadas que debe seguir al momento de diseñar una aplicación, de modo que obtenga una aplicación bien estructurada.
Tipos de arquitectura de aplicaciones
Basado en servidor
Tienen como principal
ventaja una administracion
centralizada, esto quiere
decir que si el servidor se
se actualiza, los clientes que
que tengan acceso al servidor
les llegara esa actualizacion.
Aplicaciones disponible
desde cualquier cliente con
acceso a servidor
Ejemplos:
- Mainframes
- Aplicaciones Web
- SaaS
Basado en clientes
Menor requerimientos
de capital. Facil empatar
oferta de recursos con
demanda.
la desventaja es una
administracion centralizada
y dificultad para sincronizar
datos.
Ejemplos:
- Procesadores de texto
y hojas de calculo.
- Entorno P2P.
Cliente/Servidor
Usado comunmente
tiene un procesamiento
distribuido.
Relativamente facil escalar
donde se necesite y permite
el uso de hardware y software
de distintas marcas y proveedores
trabajando juntos.
Pero tiene una mayor
complejidad y solo requiere
de middleware.
Ejemplo:
-Versiones de clientes
- ERP
- BI
- Correo
Middleware
Es una herramienta
que nos permite conectar 2
aplicaciones de software
independiente.
Ejemplos de Middlware
- Distributed computing environment
- Common object request broker architecture
- Open database connectivy
- Java database connectivy
Diseño de Interfaces de Usuarios
Se deben tener en cuenta las capacidades físicas y mentales de las personas que utilizarán el Software
Controlar la emisión de avisos y alarmas de errores
No presentar demasiada información al mismo tiempo
El diseño debe adaptarse a las capacidades de los usuarios.
Tener en cuenta las preferencias de interacción; gráficas o textuales
Se centra en 3 área de interés
El diseño de la interfaz entre los componentes del Software
El diseño de las interfaces entre el software, los otros productores y consumidores de información no humanos (esto es, otras entidades externas)
El diseño de la interfaz entre el hombre (esto es, el usuario) y la computadora
Reglas de Diseño
Dejar el control al usuario
Definir los modos de interacción de manera que no obligue a que el usuario realice acciones innecesarias o no deseadas
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.
Diseñar la interacción directa con objetos que aparezcan en la pantalla.
Reducir la necesidad de que el usuario memorice
Reducir la demanda de memoria a corto plazo.
Definir atajos que sean intuitivos.
La distribución visual de la interfaz debe basarse en una metáfora del mundo real.
Hacer consistente la interfaz.
Arquitectura de sistemas distribuidos
Estas arquitecturas de software establecen como son organizados varios componentes del software y como interactúan entre ellos.
Desventajas de los sistemas distribuidos.
Necesita de esquemas de seguridad muy robustos.
Existen problemas de transmisión de datos muy comunes.
Ventajas de los sistemas distribuidos.
Facilita la repartición de la carga de trabajo entre distintas computadoras con base en sus funciones y capacidades.
Estos sistemas por lo general funcionan con microprocesadores que tiene una relación de calidad y precio mas interesante y atractiva que una computadora centralizada.
Pueden hacer uso de aplicaciones e manera remota.
Tiene mayor poder de computo
Los sistemas pueden funcionar en distintos sistemas operativos.
Diseño Arquitectónico
El proceso de Diseño Arquitectónico esta relacionado con establecer un marco estructural básico para identificar los principales componentes de un sistema y las comunicaciones entre estos componentes.
Es la fase en donde debemos modelar el funcionamiento interno del sistema, describiendo:
* Estructuras de datos.
* La estructura del programa.
* Los detalles procedimentales.
Arquitectura software: Beneficios
Durante la gestión del sistemas
Documento sobre el que poder discutir
El arquitecto proporciona información útil
Aumenta la precisión en la estimación del coste y tiempo
Durante el desarrollo del sistema
Es una excelente vista general y consistente de múltiples vistas de sistema.
Facilita la reutilización a gran escala ( es la base para construir líneas de productos)
Facilita el desarrollo simultaneo de componentes
Proporciona la relación de puntos de diseño a tratar
Los patrones de diseño se agrupan en tres tipos
* Estilos arquitectónicos
Soluciones de organización a nivel del sistema
* Patrones de diseño
Soluciones a problemas detallados de diseño de software
* Idioms
Soluciones útiles para problemas específicos en algún lenguaje de programación
Hay tres ventajas al diseñar explícitamente y documentar la arquitectura del software:
1. Comunicación con los usuarios
2. Análisis del sistema
3. Reutilización a gran escala