Está en la página 1de 9

14/02/2013

Departamento de Lenguajes y
Sistemas Informáticos

BLOQUE I: Arquitectura del Software

Introducción a la Arquitectura del Software


Tema 2

Arquitectura e Integración de Sistemas Software


Curso 2012/2013

Índice

ƒ Introducción
ƒ Arquitectura del software
ƒ Estilos y patrones arquitectónicos
ƒ Artefactos reutilizables
ƒ Principios de diseño
ƒ Resumen
ƒ Bibliografía

1
14/02/2013

Índice

ƒ Introducción
ƒ Arquitectura del software
ƒ Estilos y patrones arquitectónicos
ƒ Artefactos reutilizables
ƒ Principios de diseño
ƒ Resumen
ƒ Bibliografía

Introducción
Ejemplo de otro dominio

“ Elsoftware
diseño de la arquitectura del
es el equivalente del plano
de una casa. Éste ilustra la
distribución general de las
habitaciones, su tamaño, forma y
relaciones entre ellas, así como las
puertas y ventanas que permiten el
movimiento entre los cuartos

R. S. Pressman

2
14/02/2013

Introducción
Ejemplo de otro dominio

Diseño de la arquitectura Implementación de la arquitectura

Índice

ƒ Introducción
ƒ Arquitectura del software
ƒ Estilos y patrones arquitectónicos
ƒ Artefactos reutilizables
ƒ Principios de diseño
ƒ Resumen
ƒ Bibliografía

3
14/02/2013

Arquitectura del software


Definición

“ estructuras
LaDescripción
arquitecturadedellos subsistemas
software
del sistema,
de un yprograma
componentes de un o
es la estructura
sistema software y de lo
lasque comprende aentre
interrelaciones los componentes
ellos. del
software, sus propiedades externas visibles y las relaciones entre ellos ”
Bass et al.

Arquitectura del software


Definición

“Software architecture is the set of design decisions which, if


made incorrectly, may cause your project to be cancelled. ”
E. Woods

4
14/02/2013

Arquitectura del software


¿Por qué es importante?

Durante la gestión del sistema:


ƒ Documento sobre el que poder discutir.
ƒ Aumenta la precisión en la estimación del coste y tiempo.
ƒ Ayuda a gestionar la complejidad (abstracción).

Durante el desarrollo del sistema:


ƒ Es una excelente vista general del sistema.
ƒ Proporciona la relación de puntos de diseño a tratar.
ƒ Facilita el desarrollo simultáneo de componentes.
ƒ Permite detectar errores de diseño en fases tempranas.

Arquitectura del software


¿Qué información incluye un diseño arquitectónico?

El diseño de la arquitectura incluye:

ƒ Estructura: descripción de subsistemas como composición de


componentes.

ƒ Comportamiento: descripción de la comunicación entre


componentes.

ƒ Cualquier otra información que el arquitecto considere relevante:


ƒ Protocolos de comunicación, sincronización y acceso a datos.
ƒ Distribución física.
ƒ Puntos de variabilidad y extensión.
ƒ Aspectos de seguridad.
ƒ …

5
14/02/2013

Arquitectura del software


¿Qué información incluye un diseño arquitectónico?

El documento de diseño arquitectónico suele incluir varias vistas. Una vista


representa un aspecto parcial de una arquitectura software. Cada participante
en el desarrollo estará interesado en una o varias vistas.

Arquitectura del software


¿Cuándo se diseña la arquitectura?

Es el primer paso en el diseño de un sistema, previo al diseño


detallado.

Analizar el problema Diseño arquitectura Diseño detallado

Producto

Cliente

Empleado

ListaEmpleados

6
14/02/2013

Arquitectura del software


¿Cuándo se diseña la arquitectura?

El diseño de la arquitectura podrá evolucionar a lo largo del desarrollo y


el tiempo de vida de la aplicación. El diseño arquitectónico es una
actividad continúa.

Arquitectura del software


¿Qué se tiene en cuenta para el diseño?

Requisitos
Contexto

Experiencia
del
arquitecto

Documento de diseño arquitectónico


(Arquitectura Software)

7
14/02/2013

Arquitectura del software


¿Qué se tiene en cuenta para el diseño?- Requisitos

Arquitectura del software


¿Qué se tiene en cuenta para el diseño? - Contexto

Aspectos del negocio:


ƒ Amortizar la infraestructura.
ƒ Mantener bajos costes de instalación.
ƒ Utilizar personal disponible, etc.

Aspectos de la estructura organizacional:


ƒ Promoción de los intereses creados, ej. mantener una BD existente.
ƒ Mantener el método estándar de hacer negocio, etc.

Tendencias actuales:
ƒ Desplegar la aplicación en la nube.
ƒ Interfaz para aplicaciones móviles, etc.

Tecnología disponible: sistema centralizado vs distribuido, desarrollo desde


cero vs. uso de servicios externos, etc.

8
14/02/2013

Arquitectura del software


¿Qué se tiene en cuenta para el diseño? - Arquitecto

ƒ Los arquitectos desarrollan su modo de pensar a partir de experiencias


anteriores.
ƒ Experiencias anteriores buenas darán lugar a replicar esos diseños.
ƒ Las experiencias anteriores malas se evitarán en el nuevo diseño.

Arquitectura del software


¿Quién diseña y gestiona la arquitectura?

El arquitecto software…
ƒ Es un líder técnico.
ƒ Puede ser un equipo. Posibles roles: arquitecto jefe (necesario),
arquitecto de aplicaciones, arquitecto de infraestructuras,
arquitecto de datos, etc.
ƒ Tiene conocimientos tecnológicos y habilidades de programación.
ƒ Tiene habilidades para el diseño.
ƒ Conoce el dominio del negocio.
ƒ Es consciente de las políticas organizacionales.
ƒ Es un buen comunicador.
ƒ Toma decisiones.
ƒ Es un negociador.

También podría gustarte