sesion 6_2 diseño - análisis arquitectural
TRANSCRIPT
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 1/21
Diseño: Análisis Arquitectural
Lic. César Alcántara Loayza
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 2/212CAL/Fundamentos
El análisis es presentado aquí como ladefinición del problema mientras que el
diseño, como la definición de lasolución. Una solución que colmarátodos los requerimientos funcionalesque se deban construir. La solución
debe tomar ventaja de la tecnologíadisponible para proporcionar el mejorsoporte y rendimiento al menor costo.
Análisis Arquitectural
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 3/213CAL/Fundamentos
El análisis arquitectural es el punto en elproceso de desarrollo donde se revisa los
tipos de problemas que se trata de resolverpara deducir que tecnología proporcionarála solución óptima.
Si decimos diseño arquitectural estaremos
implicando que estamos diseñando unanueva arquitectura – lo cual no es, almenos no usualmente.
Análisis Arquitectural
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 4/214CAL/Fundamentos
Existe un número limitado de formas deorganizar una aplicación. El análisis
arquitectural es el proceso deemparejar una necesidad con unaaproximación tecnológica. Para alcanzar
esta meta, necesitamos partir, oparticionar el problema.
Análisis Arquitectural
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 5/215CAL/Fundamentos
Particionando El Modelo Particionando el modelo de análisis:
Explicar el propósito del particionamiento
y los dos tipo de particionamiento.
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 6/216CAL/Fundamentos
El particionamiento organiza elproblema que desea resolver en
unidades discretas para crear unsistema de software exitoso. Dos tiposde particionamiento:
Particionamiento de dominio Particionamiento tecnológico
Particionando El Modelo
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 7/217CAL/Fundamentos
El particionamiento de dominio organiza lascaracterísticas del sistema en unidadescohesivas de trabajo basadas en lasespectativas del usuario, las que se definenen las dos primeras fases del proyecto. Elparticionamiento tecnológico parte cadapartición de dominio de acuerdo con lastecnologías que mejor implementará elsoftware. La siguiente figura muestra lamatriz que resulta de aplicar estos dos tiposde particionamiento.
Particionando El Modelo
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 8/218CAL/Fundamentos
Particionando El Modelo
Particiones de Dominio
P a r t i c i o n e s d e T e c n o l o g í a
C a p a d e C o m u n i c a c i ó n ( i n t e r f a c e )
Define perfiles
de Seguridad
de la aplicación
Fija el perfil de
seguridad del
usuario
Verifica usuario
Interface de
Usuario
Interface de
Usuario
Interface de
Usuario
Aplicación
Cliente
Aplicación
Cliente
Aplicación
Cliente
Aplicación
Servidor
Acceso de Seguridad a Datos
Seguridad del DBMS
Matriz de particionamientoDe dominio vs tecnológico
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 9/219CAL/Fundamentos
Particionar el dominio significaorganizar los diferentes tipos de
funciones que el sistema debe soportar.Estas funciones están definidas en elmodelo de casos de uso. Los casos deuso deberían estar organizador usando
los principios de cohesión yacoplamiento de modo que los casos deuso relacionados aparezcan juntos.
Particionando El Modelo
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 10/2110CAL/Fundamentos
Cada uno de los grupos resultantesdeberían proporcionar todos los recursos
de datos que el usuario necesita paracompletar con éxito una unidad detrabajo. Estos recursos están definidos en
los diagrama de clases y de interaccióndel dominio del problema.
Particionando El Modelo
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 11/2111CAL/Fundamentos
El particionamiento del dominio esalgunas veces subjetivo e involucra
interacción significativa con losusuarios. Sin embargo a medida queaprenda el proceso, desarrollará
tecnicas para medir la calidad de losagrupamientos mas objetivamente.
Particionando El Modelo
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 12/2112CAL/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 desoftware, tal como el diseño de la interface
del usuario, la lógica de la aplicación, gestiónde las transacciones o acceso y persistenciade datos.
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 13/2113CAL/Fundamentos
A su vez la naturaleza de cada tipo defuncionalidad tecnológica usualmente
necesitará un tipo diferente de programacióny tecnología. Por ejem. El acceso a datosimplica la capacidad de comunicar conarchivos o bases de datos y la necesidad de
seleccionar una base de datos adecuada. Eldiseño de la interface de usuario implicaelementos gráficos y manejo de eventos.
Particionamiento Tecnológico
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 14/2114CAL/Fundamentos
La meta del proceso de particionamiento esproporcionar una matriz de problemas
únicos para la fase de diseño de objetos.Cada tipo de problema requiere diferentespatrones de diseño y tecnologías. Aislar cadatipo único de problema de programación
hace mas fácil identificar las habilidades yrecursos necesarios para diseñar eimplementar la solución.
Objetivo Del Particionamiento
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 15/21
15CAL/Fundamentos
El número de responsabilidades diferentesque ud. asigna a cada partición afecta lacomplejidad de la partición. Cada particiónserá una unidad de software. Este podría serun único programa o un conjunto deprogramas y otros recursos que cooperanpara cumplir una función. Lasresponsabilidades que ud. decida incluir encada partición influye en la calidad decohesión de cada unidad y la calidad delacoplamiento entre unidades.
Objetivo Del Particionamiento
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 16/21
16CAL/Fundamentos
Estos factores a su vez, afectandirectamente el costo de desarrollo,
prueba y mantenimiento.
Objetivo Del Particionamiento
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 17/21
17CAL/Fundamentos
Después que divida el sistema enparticiones, las nuevas particiones
deben conversar unas con otras comosi no estuvieran particionadas. Unacapa de comunicación se debeintroducir donde quiera que ud. divida
la arquitectura. Estas capas decomunicación vienen a ser parte delesfuerzo de diseño.
Objetivo Del Particionamiento
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 18/21
18CAL/Fundamentos
Por ejemplo, en la matriz anterior la interface deusuario y la aplicación del cliente debencomunicarse. Igualmente, la aplicación clientedebe comunicarse con una o mas bases dedatos. En algunos casos la interface es tansimple como un protocolo. En otros casos, lacapa de comunicación es un producto como
CORBA o JDBC, o una aplicación que estáseparada de las dos particiones que la usan. Unejemplo es la capa de acceso de seguridad dedatos incluida en la matriz anterior.
Objetivo Del Particionamiento
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 19/21
19CAL/Fundamentos
El particionamiento identifica todos losproblemas de programación y diseño
necesarios para crear la aplicacióncompleta. Este vista le permite atacarcada problema aisladamente mientras
ve como todo encaja junto.
Conclusión Particionamiento
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 20/21
20CAL/Fundamentos
Resumen El particionamiento es una herramienta simple
para controlar y comprender el diseño eimplementación del sistema.
El particionamiento es el proceso de partir losrequerimientos en preparación para el diseñodetallado.
El particionamiento del dominio aislarequerimientos en términos de interfaces deusuario (casos de uso), recursos del dominio delproblema (clases), e interacciones con el
sistema (diagramas de interacción).
5/12/2018 Sesion 6_2 Dise o - An lisis Arquitectural - slidepdf.com
http://slidepdf.com/reader/full/sesion-62-diseno-analisis-arquitectural 21/21
21CAL/Fundamentos
Las particiones tecnológicas identifican lasresponsabilidades de la aplicación de software
y empareja productos y técnicas deprogramación para cubrir estasresponsabilidades.
El resultado de particionar es una matriz de
tareas de diseño específicas que serántrabajadas ya sea por productos existentes oprogramación.
Resumen