Está en la página 1de 21

Diseo: Anlisis Arquitectural

Lic. Csar Alcntara Loayza

Anlisis Arquitectural

El anlisis es presentado aqu como la definicin del problema mientras que el diseo, como la definicin de la solucin. Una solucin que colmar todos los requerimientos funcionales que se deban construir. La solucin debe tomar ventaja de la tecnologa disponible para proporcionar el mejor soporte y rendimiento al menor costo.
2

CAL/Fundamentos

Anlisis Arquitectural

El anlisis arquitectural es el punto en el proceso de desarrollo donde se revisa los tipos de problemas que se trata de resolver para deducir que tecnologa proporcionar la solucin ptima. Si decimos diseo arquitectural estaremos implicando que estamos diseando una nueva arquitectura lo cual no es, al menos no usualmente.
3

CAL/Fundamentos

Anlisis Arquitectural

Existe un nmero limitado de formas de organizar una aplicacin. El anlisis arquitectural es el proceso de emparejar una necesidad con una aproximacin tecnolgica. Para alcanzar esta meta, necesitamos partir, o particionar el problema.

CAL/Fundamentos

Particionando El Modelo

Particionando el modelo de anlisis:

Explicar el propsito del particionamiento y los dos tipo de particionamiento.

CAL/Fundamentos

Particionando El Modelo

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 tecnolgico

CAL/Fundamentos

Particionando El Modelo

El particionamiento de dominio organiza las caractersticas 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 tecnolgico parte cada particin de dominio de acuerdo con las tecnologas que mejor implementar el software. La siguiente figura muestra la matriz que resulta de aplicar estos dos tipos de particionamiento.
7

CAL/Fundamentos

Particionando El Modelo
Particiones de Dominio

Matriz de particionamiento De dominio vs tecnolgico

Define perfiles de Seguridad de la aplicacin

Fija el perfil de seguridad del usuario

Verifica usuario

Interface de Usuario

Interface de Usuario

Interface de Usuario

Aplicacin Cliente

Aplicacin Cliente

Aplicacin Cliente

Aplicacin Servidor

Acceso de Seguridad a Datos Seguridad del DBMS


CAL/Fundamentos

Capa de Comunicacin (interface)

Particiones de Tecnologa

Particionando El Modelo

Particionar el dominio significa organizar los diferentes tipos de funciones que el sistema debe soportar. Estas funciones estn definidas en el modelo de casos de uso. Los casos de uso deberan estar organizador usando los principios de cohesin y acoplamiento de modo que los casos de uso relacionados aparezcan juntos.
9

CAL/Fundamentos

Particionando El Modelo

Cada uno de los grupos resultantes deberan proporcionar todos los recursos de datos que el usuario necesita para completar con xito una unidad de trabajo. Estos recursos estn definidos en los diagrama de clases y de interaccin del dominio del problema.

CAL/Fundamentos

10

Particionando El Modelo

El particionamiento del dominio es algunas veces subjetivo e involucra interaccin significativa con los usuarios. Sin embargo a medida que aprenda el proceso, desarrollar tecnicas para medir la calidad de los agrupamientos mas objetivamente.

CAL/Fundamentos

11

Particionamiento Tecnolgico

El particicionamiento tecnolgico identifica y separa las diferentes responsabilidades del software para cada particin del dominio. Cada particin tecnolgica trabajar tpicamente un tipo de funcionalidad de software, tal como el diseo de la interface del usuario, la lgica de la aplicacin, gestin de las transacciones o acceso y persistencia de datos.
12

CAL/Fundamentos

Particionamiento Tecnolgico

A su vez la naturaleza de cada tipo de funcionalidad tecnolgica usualmente necesitar un tipo diferente de programacin y tecnologa. 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 diseo de la interface de usuario implica elementos grficos y manejo de eventos.
13

CAL/Fundamentos

Objetivo Del Particionamiento

La meta del proceso de particionamiento es proporcionar una matriz de problemas nicos para la fase de diseo de objetos. Cada tipo de problema requiere diferentes patrones de diseo y tecnologas. Aislar cada tipo nico de problema de programacin hace mas fcil identificar las habilidades y recursos necesarios para disear e implementar la solucin.
14

CAL/Fundamentos

Objetivo Del Particionamiento

El nmero de responsabilidades diferentes que ud. asigna a cada particin afecta la complejidad de la particin. Cada particin ser una unidad de software. Este podra ser un nico programa o un conjunto de programas y otros recursos que cooperan para cumplir una funcin. Las responsabilidades que ud. decida incluir en cada particin influye en la calidad de cohesin de cada unidad y la calidad del acoplamiento entre unidades.
15

CAL/Fundamentos

Objetivo Del Particionamiento

Estos factores a su vez, afectan directamente el costo de desarrollo, prueba y mantenimiento.

CAL/Fundamentos

16

Objetivo Del Particionamiento

Despus que divida el sistema en particiones, las nuevas particiones deben conversar unas con otras como si no estuvieran particionadas. Una capa de comunicacin se debe introducir donde quiera que ud. divida la arquitectura. Estas capas de comunicacin vienen a ser parte del esfuerzo de diseo.
17

CAL/Fundamentos

Objetivo Del Particionamiento

Por ejemplo, en la matriz anterior la interface de usuario y la aplicacin del cliente deben comunicarse. Igualmente, la aplicacin 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 comunicacin es un producto como CORBA o JDBC, o una aplicacin 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.
18

CAL/Fundamentos

Conclusin Particionamiento

El particionamiento identifica todos los problemas de programacin y diseo necesarios para crear la aplicacin completa. Este vista le permite atacar cada problema aisladamente mientras ve como todo encaja junto.

CAL/Fundamentos

19

Resumen

El particionamiento es una herramienta simple para controlar y comprender el diseo e implementacin del sistema. El particionamiento es el proceso de partir los requerimientos en preparacin para el diseo detallado. El particionamiento del dominio aisla requerimientos en trminos de interfaces de usuario (casos de uso), recursos del dominio del problema (clases), e interacciones con el sistema (diagramas de interaccin).
20

CAL/Fundamentos

Resumen

Las particiones tecnolgicas identifican las responsabilidades de la aplicacin de software y empareja productos y tcnicas de programacin para cubrir estas responsabilidades. El resultado de particionar es una matriz de tareas de diseo especficas que sern trabajadas ya sea por productos existentes o programacin.
21

CAL/Fundamentos

También podría gustarte