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 |