El documento presenta una introducción a la arquitectura de software. Define la arquitectura de software como las decisiones importantes sobre la organización de un sistema, incluyendo elementos estructurales, interfaces y comportamientos. Explica que una buena arquitectura proporciona flexibilidad y facilita el mantenimiento. Finalmente, menciona que los patrones y estilos de arquitectura son herramientas importantes para diseñar una arquitectura de software.
1. Seminario de Aplicación ProfesionalFacultad de tecnología 2010 Arquitectura de Software Profesor Adjunto: Ing. Pablo Vilaboa Docente Auxiliar: Ing. Diego Otero Ayudante de TP: Ing. Luis Perdomo
3. Arquitectura de Software 3 ¿Qué es? “Decisiones importantes sobre la organización de un sistema de software” DEFINEN: Elementos estructurales Interfaces Comportamientos (Colaboraciones) INCLUYEN: Funcionalidad, Facilidad de Uso, Reutilización, Rendimiento. DIFICILES DE CAMBIAR
4. Arquitectura de Software 4 Su Importancia Base sólida para construcción del software Identificación de elementos clave Palabra clave: BALANCE Si se falla en la identificación: Aplicaciones inestables Arquitecturas poco escalables, extensibles…
5. Arquitectura de Software 5 Escenarios Clave Atributos de Calidad Áreas Clave de Satisfacción/Insatisfacción
6. Arquitectura de Software 6 Meta “Construir un puente entre los requerimientos de negocio y tecnológicos entendiendo los casos de uso” Implementa UC en el software Una buena arquitectura permite Flexibilidad Adaptación a cambios de negocio/tecnología/requisitos Facilidad de mantenimiento Alto grado de compresión
7. Arquitectura de Software 7 Meta Una arquitectura debe: Exponer la estructura del sistema, pero ocultar los detalles de implementación. Abarcar todos los casos de uso y escenarios. Responder a las necesidades de los diversos interesados. Atender tanto a requisitos funcionales como de calidad. Un arquitecto debe tener en cuenta el efecto global de las decisiones de diseño, las tensiones inherentes entre los atributos de calidad (como el rendimiento y la seguridad), y las compensaciones necesarias para abordar el usuario, el sistema y los requerimientos del negocio.