Arquitectura Del Negocio
INTRODUCCIÓN A LA
ARQUITECTURA DE SOFTWARE
Rol de la arquitectura
Requisitos
Arquitectura
Implementación
1
28/02/2012
Agenda
• Introducción a la arquitectura de software
• Un poco de historia
• Arquitectura y el ciclo de vida
• Introducción al modelado de sistemas
INTRODUCCIÓN A LA
ARQUITECTURA DE SOFTWARE
2
28/02/2012¿Cuál es la diferencia entre…
esta construcción…
…y esta otra?
En verdad…
• Necesitamos soluciones para problemas
reales y no inventar problemas para
justificar malas soluciones.
• Los arquitectos de edificaciones y los
arquitectos de software enfrentan retos
similares.
– Por lo mismo, es necesario que los arquitectos
cuenten con una serie de conocimientos y
habilidades especiales.
3
28/02/2012Escenarios
Escenarios del software
• Cada escenario plantea necesidades,
condiciones y restricciones diferentes.
• Los arquitectos de edificaciones y los
arquitectos de software enfrentan retos
similares.
• Para cada escenario conviene que el
arquitecto se pregunte:
– ¿De qué herramientas, recursos humanos,
presupuesto, software base, hardware, tiempo
y conocimientos requiero?4
28/02/2012
Arquitectura y documentación
• ¿Qué pasa cuando a un desarrollador le
encargan mantener un sistema que tiene
defectos y nada de documentación?
• Esto ocurre muy a menudo. Las aplicaciones
de software con muchos parches se
asemejan a un laberinto del que se sabe
como se entró pero no donde está la salida.
Arquitectura y documentación
•La arquitectura es la base de un software
pensada para satisfacer necesidades
(requerimientos) y para proporcionar las
capacidades necesarias para permitir su
mantenimiento y evolución.
• Cuando se piensa en la arquitectura se toma
como base lo más crítico e importante
primero (decisiones de alto nivel) y luego en
el diseño se completan los detalles de bajo
nivel.
5
28/02/2012
Arquitectura y diseñoDefinición formal de
Arquitectura
• La arquitectura de software de un
programa o sistema, es la estructura o
estructuras del sistema, lo cual incluye los
elementos de software, las propiedades
visibles externamente de esos elementos y
las relaciones entre ellos.
– Bass, Clement, Kazman: Software Architecture
in Practice
6
28/02/2012
Definición de Arquitectura
•Múltiples estructuras
• Elementos de
software y las
relaciones
• Propiedades visibles
externamente
Definición de Arquitectura
• “Software
Architecture is the
highest‐level concept
of a system in its
environment"
– IEEE Working Group on
Architecture
7
28/02/2012
Arquitecturas buenas o malas
• Una arquitectura no es inherentemente
“buena” o “mala”.
•El único criterio relevante es que una
arquitectura debe:
– “encontrar requisitos de calidad” o
– “tener los atributos de calidad”
Arquitecturas buenas o malas
• La calidad no es absoluta. Depende del
criterio considerado como importante:
– “No me interesa si es libre, yo quiero
instalar/mantener/depurar esto” (barato).
– “Yo tengo requisitos particulares y necesito ser capaz de cambiar el código por mi mismo”.
8
28/02/2012
Atributos de calidad relevantes
para la AS
•
•
•
•
Extensibilidad
Desempeño
Seguridad
Facilidad de
entendimiento
(Understandability)
• Facilidad de
modificación
•
•
•
•
•
Portabilidad
Escalabilidad
Disponibilidad
Confiabilidad
Facilidad de
construcción
• Usabilidad
¿De que forma parte la
arquitectura de software?
Analizar
DiseñarRequisitos
Esenciales Diseñar
arquitectura
Diseñar
componentes
Requisitos
Prácticos
Construir
Tiempo
Tarea
Tareas del diseño
• Hacer arquitectura y hacer ingeniería
• Representar dos bordes de la práctica de sistemas
9
28/02/2012
Relación entre diseño de la arquitectura y
otras tareas del desarrollo
Arquitectura
de Hardware
Análisis...
Regístrate para leer el documento completo.