Vista previa del material en texto
D I S E Ñ O A R Q U I T E C T Ó N I C O Arquitectura física Definición y diseño basado en capas. Definición ¿Qué es el ‘diseño arquitectónico’? Criterios para toma de decisiones ¿Cómo tomar las decisiones correspondientes al diseño arquitectónico? Contenido 1 2 3 Definición ¿Qué es el ‘diseño arquitectónico’? Contenido Diseño arquitectónico: Definición Pressman & Maxim [2]: Sommerville [1]: • Primer paso del diseño de software: etapa crítica que asocia el diseño y los requerimientos definidos en el análisis. • Se define la organización del sistema a través de los componentes que lo forman y la comunicación entre ellos. • Conflicto sobre el alcance del análisis y el diseño arquitectónico→ Arquitectura del sistema abstracta. • El diseño arquitectónico es un entregable que no es fácil de cambiar. • Es la estructura u organización de los componentes del programa (o módulos), la forma en que los componentes interactúan y la estructura de datos que son utilizados por los componentes. • Símil con los planos de construcción de una casa/edificio→ Distintos niveles de abstracción hasta llegar al plano. Procesos de Desarrollo de Software: Modelo Cascada Diseño del sistema Implementación Mantenimiento Responde a la pregunta ‘¿Cómo se construirá el sistema?’ Programación del sistema. Cambios del sistema Análisis del sistema Responde a la pregunta ‘¿Qué es lo que hará el sistema?’ Verificación Instalación del sistema. Criterio para la toma de decisiones ¿Cómo tomar las decisiones correspondientes al diseño arquitectónico? Contenido Diseño de sistemas: ¿Qué limita las decisiones de diseño? Estratégico Táctico Operativo La organización: ✓ Los procesos que se mejorarán ✓ El/los proceso(s) más importante → (cuello de botella) ✓ Características de los usuarios ✓ Recursos: • Dinero • Tiempo • Equipo de trabajo Tecnología existente Diseño de sistemas: ¿Qué limita las decisiones de diseño? Laura Ilzarbe, Mapa de procesos: Primer paso para la gestión excelente del almacén. URL: https://bit.ly/2SiO5Q2 Procesos de la organización https://bit.ly/2SiO5Q2 Diseño arquitectónico: Criterio para toma de decisiones [1] Disponibilidad Tiempo disponible del sistema vs. Tiempo no disponible del sistema Seguridad (Security) Proteger al sistema de ataques accidentales o deliberados. Considerar Rendimiento Seguridad (Safety) El sistema no deben hacer daño a las personas o al ambiente. Mantenimiento Facilitar los cambios en el sistema. Consumo de recursos Diseño arquitectónico: Criterio para toma de decisiones [1] Disponibilidad Tiempo disponible del sistema vs. Tiempo no disponible del sistema Seguridad (Security) Proteger al sistema de ataques accidentales o deliberados. Considerar Rendimiento Seguridad (Safety) El sistema no deben hacer daño a las personas o al ambiente. Mantenimiento Facilitar los cambios en el sistema. Consumo de recursos Diseño arquitectónico: Criterio para toma de decisiones [1] Disponibilidad Tiempo disponible del sistema vs. Tiempo no disponible del sistema Seguridad (Security) Proteger al sistema de ataques accidentales o deliberados. Considerar Rendimiento Seguridad (Safety) El sistema no deben hacer daño a las personas o al ambiente. Mantenimiento Facilitar los cambios en el sistema. Consumo de recursos Diseño arquitectónico: Criterio para toma de decisiones [1] Disponibilidad Tiempo disponible del sistema vs. Tiempo no disponible del sistema Seguridad (Security) Proteger al sistema de ataques accidentales o deliberados. Considerar Rendimiento Seguridad (Safety) El sistema no deben hacer daño a las personas o al ambiente. Mantenimiento Facilitar los cambios en el sistema. Consumo de recursos Diseño arquitectónico: Criterio para toma de decisiones [1] Disponibilidad Tiempo disponible del sistema vs. Tiempo no disponible del sistema Seguridad (Security) Proteger al sistema de ataques accidentales o deliberados. Considerar Rendimiento Seguridad (Safety) El sistema no deben hacer daño a las personas o al ambiente. Mantenimiento Facilitar los cambios en el sistema. Consumo de recursos Diseño arquitectónico: Criterio para toma de decisiones [1] Disponibilidad Tiempo disponible del sistema vs. Tiempo no disponible del sistema Seguridad (Security) Proteger al sistema de ataques accidentales o deliberados. Considerar Rendimiento Seguridad (Safety) El sistema no deben hacer daño a las personas o al ambiente. Mantenimiento Facilitar los cambios en el sistema. Consumo de recursos Any Questions? Arquitectura física Definición y diseño basado en capas. Contenido Arquitectura física: Diseño basado en capas Capa de presentación Capa de negocio Capa de datos Arquitectura física: Diseño basado en capas Capa de presentación Capa de negocio Capa de datos Any Questions? Arquitectura física: Diseño basado en capas Capa de presentación Capa de negocio Capa de datos Arquitectura física: Diseño basado en capas Capa de presentación Capa de negocio Capa de datos Arquitectura física: Diseño basado en capas Capa de presentación Capa de negocio Capa de datos Any Questions? Arquitectura física: Aplicación móvil Capa de presentación Capa de negocio Capa de datos Arquitectura física: Aplicación móvil Capa de presentación Capa de negocio Capa de negocio Capa de datos Capa de datos APP MÓVIL SERVIDOR WEB SERVIDOR BD Arquitectura física: Aplicación móvil Consideraciones extras [1]: • Tipo de cliente web: thin/rich Web-based client. • Categorías de los dispositivos a utilizar: smartphones, tablets, otros. • Recursos de los dispositivos: batería, memoria, procesador→ versiones Lite. • Conectividad requerida: ocasional o constante. • Ancho de banda requerido: velocidad de transferencia de datos requerida. • Plataforma móvil: Android, iOS→ por ejemplo: librerías disponibles. • Mantenimiento: actualizaciones. Any Questions? Otros ejemplos: Arquitectura para ambientes inteligentes A Smart Environments Architecture (SEArch) [3] Otros ejemplos: Fog computing/Edge computing Revisar referencias [4,5] Bibliografía [1] I. Sommerville, Software Engineering, 10th Edition, Pearson Education Limited, 2016. [2] R. Pressman, B. Maxim, Software Engineering: A Practitioners Approach, 8th Edition, McGraw Hill, 2015. [3] J. Augusto, J. Giménez-Manuel, M. Quinde, Ch. Oguego, M. Ali & C. James-Reynolds, A Smart Environments Architecture (Search), Applied Artificial Intelligence, 34:2, 155-186. https://doi.org/10.1080/08839514.2020.171277 8 [4] S. Chen, T. Zhang and W. Shi, Fog Computing, IEEE Internet Computing, 21 (2), 4-6, 2017. https://doi.org/10.1109/MIC.2017.39 [5] B. McMillin and T. Zhang, Fog Computing for Smart Living, Computer, 50 (2), 5-5, 2017. https://doi.org/10.1109/MC.2017.57 https://doi.org/10.1080/08839514.2020.1712778 https://doi.org/10.1080/08839514.2020.1712778 https://doi.org/10.1109/MIC.2017.39 https://doi.org/10.1109/MC.2017.57