1 Arquitectura de Software Especificación de Requerimientos del sistema (SRS) Sistema instalado y funcionando En este camino hay mucho por hacer. ¿Comenzamos a programar para terminar lo antes posible? – ¿Cuáles serían los riesgos?
2 Arquitectura de Software Especificación de Requerimientos del sistema (SRS) Sistema instalado y funcionando Arquitectura de Software Diseño detallado Implementación Verificación No es un proceso en cascada. No se está definiendo un proceso.
3 Arquitectura de Software Los sistemas complejos están compuestos de subsistemas que interactúan bajo el control de un diseño de sistema
Arquitectura de Software Los subsistemas que componen el sistema, las interfaces y las reglas de interacción entre ellos.
4 Definición A software architecture for a system is the structure or structures of the system, which consist of elements, their externally visible properties, and the relationships among them.
Documenting software architectures, views and beyond
5 Importancia Ventajas de diseñar y documentar explícitamente una arquitectura de software: Comunicación entre stakeholders
Decisiones tempranas de diseño
Reuso a gran escala
6 ¿Qué Afecta y qué la Determina? La arquitectura de software afecta la Performance Seguridad (security y safety) Disponibilidad Mantenibilidad
Entonces, el estilo y estructura particular elegido para una aplicación dependen fuertemente de los requerimientos no funcionales.
7 Conflictos entre Soluciones El sistema debe ser muy performante y muy mantenible
¿Cuál es el conflicto al momento de elegir el estilo arquitectónico?
¿Cómo se puede solucionar? Solución de compromiso Diferentes estilos para distintas partes del sistema
8 ¿Qué tan Fácil es Modificarla? SearsEEUU527 metros PetronasMalasia452 metros Taipei 101China508 metros
9 ¿Qué tan Fácil es Modificarla? Me gustaría que el ascensor quedara del otro lado
Estaría bárbaro que el puente estuviera 23 pisos más arriba, la vista sería mejor
10 ¿Qué tan Fácil es Modificarla? Burj Dubai, otros metros más arriba, Emiratos Árabes
11 Aún más Complicado
12 Patrones de Software Propósito Compartir una solución probada, ampliamente aplicable a un problema particular de diseño. El patrón se presenta en una forma estándar que permite que sea fácilmente reutilizado. Cinco piezas importantes de un patrón Nombre Contexto Problema Solución Consecuencias (positivas y negativas)
Página siguiente |