Date post: | 07-Jul-2015 |
Category: |
Documents |
Upload: | julio-pari |
View: | 216 times |
Download: | 1 times |
Diseño:Análisis Arquitectural
Lic. César Alcántara Loayza
2CAL/Fundamentos
El análisis es presentado aquí como la definición del problema mientras que el diseño, como la definición de la solución. Una solución que colmará todos los requerimientos funcionales que se deban construir. La solución debe tomar ventaja de la tecnología disponible para proporcionar el mejor soporte y rendimiento al menor costo.
Análisis Arquitectural
3CAL/Fundamentos
El análisis arquitectural es el punto en el proceso de desarrollo donde se revisa los tipos de problemas que se trata de resolver para deducir que tecnología proporcionará la solución óptima.
Si decimos diseño arquitectural estaremos implicando que estamos diseñando una nueva arquitectura – lo cual no es, al menos no usualmente.
Análisis Arquitectural
4CAL/Fundamentos
Existe un número limitado de formas de organizar una aplicación. El análisis arquitectural es el proceso de emparejar una necesidad con una aproximación tecnológica. Para alcanzar esta meta, necesitamos partir, o particionar el problema.
Análisis Arquitectural
5CAL/Fundamentos
Particionando El Modelo Particionando el modelo de análisis:
Explicar el propósito del particionamiento y los dos tipo de particionamiento.
6CAL/Fundamentos
El particionamiento organiza el problema que desea resolver en unidades discretas para crear un sistema de software exitoso. Dos tipos de particionamiento: Particionamiento de dominio Particionamiento tecnológico
Particionando El Modelo
7CAL/Fundamentos
El particionamiento de dominio organiza las características del sistema en unidades cohesivas de trabajo basadas en las espectativas del usuario, las que se definen en las dos primeras fases del proyecto. El particionamiento tecnológico parte cada partición de dominio de acuerdo con las tecnologías que mejor implementará el software. La siguiente figura muestra la matriz que resulta de aplicar estos dos tipos de particionamiento.
Particionando El Modelo
8CAL/Fundamentos
Particionando El ModeloParticiones de Dominio
Par
tici
on
es
de
Tec
no
log
ía
Cap
a d
e C
om
un
icac
ión
(in
terf
ace
)
Define perfilesde Seguridad
de la aplicación
Fija el perfil deseguridad del
usuarioVerifica usuario
Interface deUsuario
Interface deUsuario
Interface deUsuario
AplicaciónCliente
AplicaciónCliente
AplicaciónCliente
AplicaciónServidor
Acceso de Seguridad a Datos
Seguridad del DBMS
Matriz de particionamientoDe dominio vs tecnológico
9CAL/Fundamentos
Particionar el dominio significa organizar los diferentes tipos de funciones que el sistema debe soportar. Estas funciones están definidas en el modelo de casos de uso. Los casos de uso deberían estar organizador usando los principios de cohesión y acoplamiento de modo que los casos de uso relacionados aparezcan juntos.
Particionando El Modelo
10CAL/Fundamentos
Cada uno de los grupos resultantes deberían proporcionar todos los recursos de datos que el usuario necesita para completar con éxito una unidad de trabajo. Estos recursos están definidos en los diagrama de clases y de interacción del dominio del problema.
Particionando El Modelo
11CAL/Fundamentos
El particionamiento del dominio es algunas veces subjetivo e involucra interacción significativa con los usuarios. Sin embargo a medida que aprenda el proceso, desarrollará tecnicas para medir la calidad de los agrupamientos mas objetivamente.
Particionando El Modelo
12CAL/Fundamentos
Particionamiento Tecnológico El particicionamiento tecnológico identifica y
separa las diferentes responsabilidades del software para cada partición del dominio. Cada partición tecnológica trabajará típicamente un tipo de funcionalidad de software, tal como el diseño de la interface del usuario, la lógica de la aplicación, gestión de las transacciones o acceso y persistencia de datos.
13CAL/Fundamentos
A su vez la naturaleza de cada tipo de funcionalidad tecnológica usualmente necesitará un tipo diferente de programación y tecnología. Por ejem. El acceso a datos implica la capacidad de comunicar con archivos o bases de datos y la necesidad de seleccionar una base de datos adecuada. El diseño de la interface de usuario implica elementos gráficos y manejo de eventos.
Particionamiento Tecnológico
14CAL/Fundamentos
La meta del proceso de particionamiento es proporcionar una matriz de problemas únicos para la fase de diseño de objetos. Cada tipo de problema requiere diferentes patrones de diseño y tecnologías. Aislar cada tipo único de problema de programación hace mas fácil identificar las habilidades y recursos necesarios para diseñar e implementar la solución.
Objetivo Del Particionamiento
15CAL/Fundamentos
El número de responsabilidades diferentes que ud. asigna a cada partición afecta la complejidad de la partición. Cada partición será una unidad de software. Este podría ser un único programa o un conjunto de programas y otros recursos que cooperan para cumplir una función. Las responsabilidades que ud. decida incluir en cada partición influye en la calidad de cohesión de cada unidad y la calidad del acoplamiento entre unidades.
Objetivo Del Particionamiento
16CAL/Fundamentos
Estos factores a su vez, afectan directamente el costo de desarrollo, prueba y mantenimiento.
Objetivo Del Particionamiento
17CAL/Fundamentos
Después que divida el sistema en particiones, las nuevas particiones deben conversar unas con otras como si no estuvieran particionadas. Una capa de comunicación se debe introducir donde quiera que ud. divida la arquitectura. Estas capas de comunicación vienen a ser parte del esfuerzo de diseño.
Objetivo Del Particionamiento
18CAL/Fundamentos
Por ejemplo, en la matriz anterior la interface de usuario y la aplicación del cliente deben comunicarse. Igualmente, la aplicación cliente debe comunicarse con una o mas bases de datos. En algunos casos la interface es tan simple como un protocolo. En otros casos, la capa de comunicación es un producto como CORBA o JDBC, o una aplicación que está separada de las dos particiones que la usan. Un ejemplo es la capa de acceso de seguridad de datos incluida en la matriz anterior.
Objetivo Del Particionamiento
19CAL/Fundamentos
El particionamiento identifica todos los problemas de programación y diseño necesarios para crear la aplicación completa. Este vista le permite atacar cada problema aisladamente mientras ve como todo encaja junto.
Conclusión Particionamiento
20CAL/Fundamentos
Resumen El particionamiento es una herramienta simple
para controlar y comprender el diseño e implementación del sistema.
El particionamiento es el proceso de partir los requerimientos en preparación para el diseño detallado.
El particionamiento del dominio aisla requerimientos en términos de interfaces de usuario (casos de uso), recursos del dominio del problema (clases), e interacciones con el sistema (diagramas de interacción).
21CAL/Fundamentos
Las particiones tecnológicas identifican las responsabilidades de la aplicación de software y empareja productos y técnicas de programación para cubrir estas responsabilidades.
El resultado de particionar es una matriz de tareas de diseño específicas que serán trabajadas ya sea por productos existentes o programación.
Resumen