Documente Academic
Documente Profesional
Documente Cultură
Ingeniera de Software II
Slide 1
Diseo Arquitectnico
El desarrollo de un proyecto de construccin de software es un proceso en el que
intervienen muchos factores y por ello es importante contar con las herramientas
adecuadas. Actualmente hay disponibles muchas opciones tecnolgicas que nos
ayudan a componer nuestras soluciones, pero sin embargo no mitigan las principales
problemticas de un proyecto:
Ingeniera de Software II
Slide 2
Diseo Arquitectnico
El diseo de la arquitectura de un sistema es el proceso por el cual se define una
solucin para los requisitos tcnicos y operacionales del mismo. Este proceso define
qu componentes forman el sistema, cmo se relacionan entre ellos, y cmo
mediante su interaccin llevan a cabo la funcionalidad especificada, cumpliendo con
los criterios de calidad indicados como seguridad, disponibilidad, eficiencia o
usabilidad.
Requisitos
Diseo
Ingeniera de Software II
Construccin
Slide 3
Diseo Arquitectnico
Durante el diseo de la arquitectura se tratan los temas que pueden tener un
impacto importante en el xito o fracaso de nuestro sistema. Algunas preguntas
que hay que hacerse al respecto son:
Ingeniera de Software II
Slide 4
Diseo Arquitectnico
Definicin
Se define arquitectura software como la estructura del sistema, que comprende
elementos software, las propiedades de esos elementos visibles externamente y las
relaciones entre ellos. La arquitectura software conforma el esqueleto de cualquier
sistema software, y es la principal responsable de los atributos de calidad del
sistema.
Una arquitectura adecuada, correctamente diseada, documentada y evaluada,
constituye la base para que un proyecto finalice con xito
Esta definicin implica que la arquitectura de un sistema define componentes
y la interaccin existente entre ellos.
La arquitectura del sistema se puede ver desde un nmero no determinado de
perspectivas, todas ellas vlidas siempre que valgan para algn fin: anlisis,
comunicacin o comprensin.
Ingeniera de Software II
Slide 5
Diseo Arquitectnico
El proceso de diseo
inicial que identifica estos
subsistemas y establece un
marco para el control y
comunicacin
de
los
subsistemas se llama
diseo arquitectnico. El
resultado de este proceso
de
diseo
es
una
descripcin
de
la
arquitectura del software.
Ingeniera de Software II
Slide 6
Diseo Arquitectnico
Slide 7
Diseo Arquitectnico
Ingeniera de Software II
Slide 8
Diseo Arquitectnico
Ingeniera de Software II
Slide 9
Diseo Arquitectnico
Ingeniera de Software II
Slide 10
Diseo Arquitectnico
Una vez vistas las principales cuestiones que debe abordar el diseo de
la arquitectura del sistema, ahora vamos a ver los pasos que deben
seguirse para realizarlo.
En una metodologa gil como Scrum, la fase de diseo de la
arquitectura comienza durante en el pre-juego (Pre-game) o en la fase
de Inicio (Inception) en RUP, en un punto donde ya hemos capturado
la visin del sistema que queremos construir.
En el diseo de la arquitectura lo primero que se decide es el tipo de
sistema o aplicacin que vamos a construir.
Los principales tipos son: aplicaciones mviles, de escritorio, RIAs
(Rich Internet Application), aplicaciones de servicios, aplicaciones
web Es importante entender que el tipo de aplicacin viene
determinado por la topologa de despliegue y los requisitos y
restricciones indicadas en los requisitos.
Ingeniera de Software II
Slide 11
Diseo Arquitectnico
Slide 12
Diseo Arquitectnico
Ingeniera de Software II
Slide 13
Diseo Arquitectnico
Ingeniera de Software II
Slide 14
Diseo Arquitectnico
Ingeniera de Software II
Slide 15
Diseo Arquitectnico
Ingeniera de Software II
Slide 16
Diseo Arquitectnico
Ingeniera de Software II
Slide 17
Diseo Arquitectnico
En el marco de la ingeniera del software y del ALM, el proceso de diseo de la
arquitectura juega un papel muy importante. La diferencia entre un buen proceso de
diseo arquitectural y uno malo puede suponer la diferencia entre el fracaso o xito
de nuestro proyecto. En el diseo de la arquitectura tratamos los temas ms
importantes a la hora de definir nuestro sistema, es decir, creamos un molde bsico
de nuestra aplicacin. Dentro del proceso de diseo de la arquitectura se decide:
Ingeniera de Software II
Slide 18
Diseo Arquitectnico
Para realizar todo este proceso partiremos de la informacin que ha generado el
proceso de captura de requisitos, ms detalladamente, esta informacin es:
Casos de uso o historias de usuario.
Requisitos funcionales y no funcionales.
Restricciones tecnolgicas y de diseo en general.
Entorno de despliegue propuesto.
A partir de esta informacin deberemos generar los artefactos necesarios para que los
programadores puedan implementar correctamente el sistema. Como mnimo, en el
proceso de diseo de la arquitectura debemos definir:
Casos de uso significativos a implementar.
Riesgos a mitigar y cmo hacerlo.
Arquitecturas candidatas a implementar.
Ingeniera de Software II
Slide 19
Diseo Arquitectnico
SELECCIONAR LOS CASOS DE USO ARQUITECTURALMENTE IMPORTANTES
Ingeniera de Software II
Slide 20
Diseo Arquitectnico
REALIZAR UN ESQUEMA DEL SISTEMA
Una vez que estn claros los objetivos de la iteracin y la funcionalidad que
desarrollaremos, podemos pasar a su diseo. Llegados a este punto, el primer paso
es decidir qu tipo de aplicacin vamos a desarrollar. El tipo de aplicacin que
elegiremos depender de las restricciones de despliegue, de conectividad, de lo
compleja que sea la interfaz de usuario y de las restricciones de interoperabilidad,
flexibilidad y tecnologas que imponga el cliente. Cada tipo de aplicacin nos
ofrece una serie de ventajas e inconvenientes, el arquitecto tiene que escoger el tipo
de aplicacin que mejor se ajuste a las ventajas que espera que tenga su sistema y
que presente menos inconvenientes.
Ingeniera de Software II
Slide 21
Diseo Arquitectnico
REALIZAR UN ESQUEMA DEL SISTEMA
Slide 22
Diseo Arquitectnico
REALIZAR UN ESQUEMA DEL SISTEMA
Una vez que tenemos decidido el tipo de aplicacin que vamos a desarrollar, el
siguiente paso es disear la arquitectura de la infraestructura, es decir, la topologa
de despliegue. La topologa de despliegue depende directamente de las restricciones
impuestas por el cliente, de las necesidades de seguridad del sistema y de la
infraestructura disponible para desplegar el sistema. Definimos la arquitectura de la
infraestructura en este punto, para tenerla en consideracin a la hora de disear la
arquitectura lgica de nuestra aplicacin.
Dado que las capas son ms maleables que los niveles, encajaremos las distintas
capas lgicas dentro de los niveles del sistema. Generalizando existen dos
posibilidades, despliegue distribuido y despliegue no distribuido.
Ingeniera de Software II
Slide 23
Diseo Arquitectnico
REALIZAR UN ESQUEMA DEL SISTEMA
Ingeniera de Software II
Slide 24
Diseo Arquitectnico
REALIZAR UN ESQUEMA DEL SISTEMA
Ingeniera de Software II
Slide 25
Ingeniera de Software II
Slide 26