SlideShare a Scribd company logo
1 of 21
Diseño:
Análisis Arquitectural

Lic. César Alcántara Loayza
Análisis Arquitectural
                     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.
CAL/Fundamentos                                   2
Análisis Arquitectural
                     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.

CAL/Fundamentos                                        3
Análisis Arquitectural
                     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.


CAL/Fundamentos                                   4
Particionando El Modelo
                     Particionando el modelo de análisis:
                         Explicar el propósito del particionamiento
                          y los dos tipo de particionamiento.




CAL/Fundamentos                                          5
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 tecnológico


CAL/Fundamentos                                          6
Particionando El Modelo
                     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.
CAL/Fundamentos                                         7
Particionando El Modelo
                                                                   Particiones de Dominio

  Matriz de particionamiento
  De dominio vs tecnológico
                                                       Define perfiles    Fija el perfil de
                                                        de Seguridad      seguridad del       Verifica usuario
                                                       de la aplicación       usuario



                                                        Interface de       Interface de         Interface de
                                                          Usuario            Usuario              Usuario




                                                                                                                 Capa de Comunicación (interface)
                           Particiones de Tecnología


                                                         Aplicación         Aplicación          Aplicación
                                                          Cliente            Cliente             Cliente




                                                                                                Aplicación
                                                                                                 Servidor




                                                               Acceso de Seguridad a Datos


                                                                       Seguridad del DBMS
CAL/Fundamentos                                                                                        8
Particionando El Modelo
                     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.
CAL/Fundamentos                                   9
Particionando El Modelo
                 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.


CAL/Fundamentos                                  10
Particionando El Modelo
                     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.


CAL/Fundamentos                                    11
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.

CAL/Fundamentos                                          12
Particionamiento Tecnológico
                     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.

CAL/Fundamentos                                       13
Objetivo Del Particionamiento
                     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.

CAL/Fundamentos                                       14
Objetivo Del Particionamiento
                     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.
CAL/Fundamentos                                       15
Objetivo Del Particionamiento
                 Estos factores a su vez, afectan
                  directamente el costo de desarrollo,
                  prueba y mantenimiento.




CAL/Fundamentos                                 16
Objetivo Del Particionamiento
                     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.
CAL/Fundamentos                                   17
Objetivo Del Particionamiento
             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.
CAL/Fundamentos                                    18
Conclusión Particionamiento
                     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.



CAL/Fundamentos                                     19
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).
CAL/Fundamentos                                  20
Resumen
                     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.

CAL/Fundamentos                                       21

More Related Content

What's hot

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
Liliana Pacheco
 
Sesion final as1
Sesion final as1Sesion final as1
Sesion final as1
Julio Pari
 
Sesion 5 2 del análisis al diseño
Sesion 5 2 del análisis al diseñoSesion 5 2 del análisis al diseño
Sesion 5 2 del análisis al diseño
Julio Pari
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitectura
Fatima Cham
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
UPT
 

What's hot (20)

10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes10.el diseño en el nivel de componentes
10.el diseño en el nivel de componentes
 
Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Sesion final as1
Sesion final as1Sesion final as1
Sesion final as1
 
Conceptos basicos arquitectura de software
Conceptos basicos arquitectura de softwareConceptos basicos arquitectura de software
Conceptos basicos arquitectura de software
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.Arquitectura de software y Generación de computadores.
Arquitectura de software y Generación de computadores.
 
Cuadro Comparativo
Cuadro ComparativoCuadro Comparativo
Cuadro Comparativo
 
Sesion 5 2 del análisis al diseño
Sesion 5 2 del análisis al diseñoSesion 5 2 del análisis al diseño
Sesion 5 2 del análisis al diseño
 
MDE & DSLs
MDE & DSLsMDE & DSLs
MDE & DSLs
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitectura
 
Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4Ingeniería de software II - Parte 4
Ingeniería de software II - Parte 4
 
Modelo
ModeloModelo
Modelo
 
Arquitecturas de una aplicación
Arquitecturas de una aplicaciónArquitecturas de una aplicación
Arquitecturas de una aplicación
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Modelado de sistemas software
Modelado de sistemas softwareModelado de sistemas software
Modelado de sistemas software
 
Fundamentos basicos del diseño de software
Fundamentos basicos del diseño de softwareFundamentos basicos del diseño de software
Fundamentos basicos del diseño de software
 
Tema N° 11 Lenguaje de Representación (UML y URN)
Tema N° 11 Lenguaje de Representación (UML y URN)Tema N° 11 Lenguaje de Representación (UML y URN)
Tema N° 11 Lenguaje de Representación (UML y URN)
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 

Viewers also liked (6)

Análisis contextual
Análisis contextualAnálisis contextual
Análisis contextual
 
4. analisis contextual
4. analisis contextual4. analisis contextual
4. analisis contextual
 
Analisis contextual_VivianaAragón
Analisis contextual_VivianaAragónAnalisis contextual_VivianaAragón
Analisis contextual_VivianaAragón
 
Análisis contextual siddhartha
Análisis contextual siddharthaAnálisis contextual siddhartha
Análisis contextual siddhartha
 
Hotel boutique
Hotel boutiqueHotel boutique
Hotel boutique
 
Analisis Arquitectonico
Analisis ArquitectonicoAnalisis Arquitectonico
Analisis Arquitectonico
 

Similar to Sesion 6 2 diseño análisis arquitectural

Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming Middleware
Lenin Lozano
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
martin
 
Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un software
ssalzar
 

Similar to Sesion 6 2 diseño análisis arquitectural (20)

1127082.ppt
1127082.ppt1127082.ppt
1127082.ppt
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx
 
Metodologias De Analisis Y Diseño De Sistemas
Metodologias De Analisis Y Diseño De SistemasMetodologias De Analisis Y Diseño De Sistemas
Metodologias De Analisis Y Diseño De Sistemas
 
Análisis del Proyecto de Software
Análisis del Proyecto de SoftwareAnálisis del Proyecto de Software
Análisis del Proyecto de Software
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
Deber alex
Deber alexDeber alex
Deber alex
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptx
 
Metodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasMetodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemas
 
Modelos de procesos de software(completo)
Modelos de procesos de software(completo)Modelos de procesos de software(completo)
Modelos de procesos de software(completo)
 
APLICACIÓN N-CAPAS VISUAL.NET
APLICACIÓN N-CAPAS VISUAL.NETAPLICACIÓN N-CAPAS VISUAL.NET
APLICACIÓN N-CAPAS VISUAL.NET
 
Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming Middleware
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de software
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
08 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 200908 Cast V Semana CMMI 2009
08 Cast V Semana CMMI 2009
 
Estilos y patrones arquitectónicos
Estilos y patrones arquitectónicosEstilos y patrones arquitectónicos
Estilos y patrones arquitectónicos
 
Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un software
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 

More from Julio Pari

Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Julio Pari
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
Julio Pari
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
Julio Pari
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
Julio Pari
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
Julio Pari
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
Julio Pari
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
Julio Pari
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
Julio Pari
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
Julio Pari
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
Julio Pari
 

More from Julio Pari (20)

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPC
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSM
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic Enterprise
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor Osorio
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de Arquitectura
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
 
UML Java
UML JavaUML Java
UML Java
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
 

Sesion 6 2 diseño análisis arquitectural

  • 2. Análisis Arquitectural  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. CAL/Fundamentos 2
  • 3. Análisis Arquitectural  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. CAL/Fundamentos 3
  • 4. Análisis Arquitectural  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. CAL/Fundamentos 4
  • 5. Particionando El Modelo  Particionando el modelo de análisis:  Explicar el propósito del particionamiento y los dos tipo de particionamiento. CAL/Fundamentos 5
  • 6. 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 tecnológico CAL/Fundamentos 6
  • 7. Particionando El Modelo  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. CAL/Fundamentos 7
  • 8. Particionando El Modelo Particiones de Dominio Matriz de particionamiento De dominio vs tecnológico Define perfiles Fija el perfil de de Seguridad seguridad del Verifica usuario de la aplicación usuario Interface de Interface de Interface de Usuario Usuario Usuario Capa de Comunicación (interface) Particiones de Tecnología Aplicación Aplicación Aplicación Cliente Cliente Cliente Aplicación Servidor Acceso de Seguridad a Datos Seguridad del DBMS CAL/Fundamentos 8
  • 9. Particionando El Modelo  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. CAL/Fundamentos 9
  • 10. Particionando El Modelo  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. CAL/Fundamentos 10
  • 11. Particionando El Modelo  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. CAL/Fundamentos 11
  • 12. 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. CAL/Fundamentos 12
  • 13. Particionamiento Tecnológico  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. CAL/Fundamentos 13
  • 14. Objetivo Del Particionamiento  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. CAL/Fundamentos 14
  • 15. Objetivo Del Particionamiento  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. CAL/Fundamentos 15
  • 16. Objetivo Del Particionamiento  Estos factores a su vez, afectan directamente el costo de desarrollo, prueba y mantenimiento. CAL/Fundamentos 16
  • 17. Objetivo Del Particionamiento  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. CAL/Fundamentos 17
  • 18. Objetivo Del Particionamiento  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. CAL/Fundamentos 18
  • 19. Conclusión Particionamiento  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. CAL/Fundamentos 19
  • 20. 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). CAL/Fundamentos 20
  • 21. Resumen  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. CAL/Fundamentos 21