DISEÑOS
DISEÑO ARQUITECTONICO
Los costos de certificación que son bastante altos pueden
incrementarse si se deben realizar auditorías en oficinas ubicadas físicamente en diferentes lugares
Al requerir, las empresas de arquitectura, personal temporal para la supervisión de proyectos se incrementan los costos de capacitación
y motivación por la alta rotación de personal.
Reutilización a gran escala: la arquitectura del sistema es la misma para sistemas con requerimientos similares.
Análisis del sistema: tienen un efecto profundo sobre si el sistema puede o no cubrir requerimientos críticos.
Comunicación entre participantes: puede usarse como enfoque para discusiones.
Arquitectura en grande: se ocupa de sistemas empresariales complejos.
Arquitectura en pequeño: se interesa por la arquitectura de programas individuales.
PATRON ARQUITECTONICO
Se puede considerar como una descripción abstracta estilizada de buena práctica, que se ensayó y puso a prueba en diferentes sistemas y entornos.
Ahorran tiempo.
Establecen un lenguaje común.
Ayudan a validar nuestro sistema.
Se interesa por entender cómo debe organizarse un sistema y cómo tiene que diseñarse la estructura global de ese sistema.
Es la primera etapa en el proceso de software, es un enlace entre la ingeniería, el diseño y la ingeniería de requerimientos.
ARQUITECTURA DE SISTEMAS DISTRIBUIDOS
ARQUITECTURA CENTRADA EN DATOS: Los procesos se comunican a través de un repositorio o medio común
ARQUITECTURA EN CAPAS: Un componente en una determinada capa que puede llamar a componentes en la capa inmediata interior
ARQUITECTURA BASADA EN OBJETOS: En esencia, cada objeto corresponde y estos componentes estan conectados
TOLERANCIA A FALLOS
Puede existir fallas operativas y de componentes
REDES
Existen problemas de transmision de datos muy comunes
SEGURIDAD
Se necesita de esquemas de seguridad muy robustos
Una Distribución interesante que puedo hacer uso de aplcaciones de manera reomata
En la economía, estos sistemad por lo general funcionan con miroprocesadores que tienen una relación de calidad/precio mas interesante y atractiva que una computadora centraizada
Tienen mayor poder de computo
La confiabilidad que facilita la repartición de la carga de trabajo entre las distintas computadoras con bases y sus ffunciones y capacidades
Es la arquitectura más citado cuando se discuten lo sistemas distribuidos. Es el modelo mas importante y sigue siendo el mas utilizado
DISEÑO DE INTERFACES DE USUARIO
Son más costosos
Es más complejo realizar un sistema de este tipo
Utiliza más recursos del sistema
Cada comando puede ser visualizado en pantalla mediante una imagen que lo representa
Facilita el manejo de los procedimientos
Atractivo Visual
Cuando se trata de experiencia del usuario, nunca puede subestimarse la importancia del atractivo visual. Además de tener grandes funcionalidades, una buena interfaz es agradable a la vista.
Flexibilidad
Una buena interfaz también se caracteriza por permitir que el usuario restaure elementos y deshaga acciones.
Coherencia
Esta característica es la que hace intuitiva una interfaz, permitiéndole a la persona crear patrones de uso de manera sencilla y práctica
Concisión
Se trata de darle al usuario solo la información que necesita y pide.
Claridad
Una buena interfaz transmite la información de manera precisa para evitar que el usuario cometa errores durante la interacción
TIPOS DE INTERFACES
Software-Hardware
Dentro de la interfaz del usuario, esta es la que sirve de puente entre la máquina y las personas.
Hardware
Engloba todos aquellos elementos que permiten ingresar, procesar y entregar datos, como los famosos teclados y “ratones”, así como las pantallas.
Software
Es aquella que brinda información sobre los procesos y herramientas de control, la cual puede ser observada fácilmente por el usuario en la pantalla de su dispositivo
Es el medio que a través del cual el usuario interactúa con un dispositivo tecnológico
ARQUITECTURA DE APLICACIONES
DESVENTAJAS
El rendimiento está limitado por la respuesta del navegador desde el que se ejecuta la aplicación.
Las apps nativas deben descargarse por lo que, una vez se ha dado este paso, es más probable que se usen de nuevo, fomentando la fidelización.
Necesitan alojarse en una web optimizada y responsive para que los usuarios puedan utilizar la aplicación a la perfección.
VENTAJAS
En la actualidad, las principales arquitecturas de aplicaciones, basadas en las relaciones entre los servicios, son la arquitectura monolítica y N-tier (con conexión directa), los microservicios (sin acoplamiento) y las arquitecturas basadas en eventos y orientadas al servicio (de bajo acoplamiento).
BASADA EN EVENTOS
En un sistema como este, la captura, la comunicación, el procesamiento y la permanencia de los eventos son la estructura central de la solución. Esto difiere del modelo tradicional basado en solicitudes.
MICROSERVIDORES
no son solo un tipo de arquitectura, sino también un modo de abordar la escritura del software. Con ellos, las aplicaciones se dividen en sus elementos más pequeños, que son independientes entre sí. Cada uno de dichos elementos o procesos es un microservicio.
MONOLITICA
son pilas de aplicaciones únicas que contienen todas las funciones dentro de cada aplicación. Tienen conexión directa, tanto en la interacción entre los servicios como en la manera en que se desarrollan y distribuyen.
El desarrollo nativo de la nube es una forma de acelerar el diseño de aplicaciones nuevas, optimizar las actuales y proporcionar un desarrollo uniforme y una experiencia de gestión automatizada en las nubes privadas, públicas e híbridas.
Las arquitecturas modernas de aplicaciones suelen tener un bajo acoplamiento y utilizan microservicios e interfaces de programación de aplicaciones (API) para conectar los servicios, los cuales proporcionan la base para las aplicaciones nativas de la nube.
PATRONES
Puede vincularse con otros para crear arquitecturas de aplicaciones más generales. En lugar de volver a crear toda la infraestructura completa, puede usar los patrones de diseño actuales, lo cual además garantiza que todo funcione como es debido.
Los patrones de diseño de software pueden ayudarlo a diseñar una aplicación. Un patrón es la solución replicable a cierto problema.
CARACTERISTICAS
Otros lenguajes de programación conocidos son Ruby, Python, Swift, TypeScript, Java, PHP y SQL, entre otros. El lenguaje que se utilice para diseñar una aplicación dependerá del tipo de aplicación, los recursos de desarrollo disponibles y los requisitos.
JavaScript, combinado con HTML y CSS, es uno de los más populares para el desarrollo de aplicaciones web en la actualidad
Algunos de ellos se pueden utilizar para diseñar ciertos tipos de aplicaciones, como Swift para las aplicaciones móviles o JavaScript para el desarrollo del frontend.
Hay muchos lenguajes de programación que se utilizan para desarrollar los sistemas de software.
En una arquitectura de aplicaciones habrá servicios de frontend y de backend.
El desarrollo de backend implica proporcionar acceso a los datos, los servicios y otros sistemas actuales que permiten el funcionamiento de la aplicación.
El desarrollo de frontend se refiere a la experiencia del usuario con la aplicación
DEFINICION
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.
Una arquitectura de aplicaciones describe los patrones y las técnicas que se utilizan para diseñar y desarrollar aplicaciones.