1 / 39

Modelo de Diseño: Diseño y Patrones Arquitectónicos

Modelo de Diseño: Diseño y Patrones Arquitectónicos. Centro ISYS Escuela de Computación Facultad de Ciencias . UCV Profa. Zulma González. Modelo de Diseño.

fawzia
Download Presentation

Modelo de Diseño: Diseño y Patrones Arquitectónicos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modelo de Diseño:Diseño y Patrones Arquitectónicos Centro ISYS Escuela de Computación Facultad de Ciencias. UCV Profa. Zulma González

  2. Modelo de Diseño • El modelo de diseño se encarga de refinar la arquitectura definida en el modelo de análisis adaptándola al ambiente de implementación. • Se requiere un modelo de diseño, ya que el modelo de análisis no es suficientemente formal para alcanzar el código fuente. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  3. Modelo de Diseño • El resultado del modelo de diseño son especificaciones muy detalladas de todos los objetos, incluyendo operaciones y atributos. • Otro objetivo del modelo de diseño es validar los resultados de los modelos de requisitos y de análisis. • En el diseño se puede hacer uso de patrones arquitectónicos para refinar la arquitectura del sistema. • La robustez, reusabilidad y extensibilidad son factores de calidad tomados en cuenta en el diseño del sistema, por está razón se utilizan patrones de diseño para aplicar o reutilizar soluciones exitosas a problemas específicos. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  4. Modelo de Diseño • En el diseño del sistema el punto de vista en este modelo cambia • Análisis: Modelo conceptual y lógico. • Diseño: Abstracción del código fuente. • Descripción de cómo debe estructurarse, administrarse y escribirse el código fuente. • Considera por separado el diseño de objetos y sistema. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  5. Estrategias de Diseño En el diseño se deben tomar decisiones con base en los siguientes conceptos: • Arquitectura. • Robustez. • Reuso. • Extensibilidad del sistema. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  6. Estrategias de Diseño • Arquitectura • Se refiere a la organización de las clases dentro del sistema partiendo del Modelo de Análisis. (Patrones Arquitectónicos)‏ • Robustez • El sistema debe estar protegido contra errores y ofrecer diagnóstico que permita identificar fallas. • Reuso • Cuanto más se pueda reutilizar el código será mejor la robustez del sistema (Patrones de diseño). • Extensibilidad • El sistema debe presentar características que permitan en un futuro agregarlenuevas funcionalidades. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  7. Modelo de Diseño • Para llevar acabo los objetivos del modelo de diseño, se deben considerar por separado los siguientes aspectos: • Diseño de objetos. • Diseño de sistema. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  8. Diseño de Objetos • Se refina y formaliza el modelo para generar especificaciones detalladas de todos los objetos, incluyendo sus operaciones y atributos. • Se describe cómo interactúan los objetos en cada caso de uso específico, especificando que debe hacer cada operación en cada objeto. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  9. Diseño de Objetos • Para diseñar un objeto se seguirá el diseño por responsabilidades (RDD – Responsability – Driven Design): • Diseño basado en un modelo cliente – servidor. • Cliente: Genera alguna petición hacia otra clase. • Servidor: Cuando recibe peticiones de otras clases. • Las clases definen responsabilidades, servicios, colaboraciones. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  10. Diseño de Objetos • Responsabilidades • Especificación del comportamiento de cada una de las clases (Operaciones y Métodos)‏. • Se identifican a través del Modelo de Casos de Uso. • Colaboraciones • Solicitudes de un objeto cliente a un objeto servidor. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  11. Diseño de Objetos • Jerarquías • Mediante las jerarquías se logra agrupar una arquitectura de clases más compacta (uso de la herencia), pudiendo reducir el número de clases • Mecanismos utilizados • Polimorfismo • Clases Abstractas (Agrupación de responsabilidades comunes)‏ Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  12. Diseño de Objetos • Tarjetas de clases o CRC (Case – Responsibility - Colaboration): • Permiten visualizar la información de cada clase. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  13. Diseño de Objetos Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  14. Diseño de Objetos Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  15. Diseño de Sistema • Selección del lenguaje de implementación. • Incorporación de bibliotecas necesarias, como Interfaces Gráficas de Usuario (GUI), bibliotecas matemáticas y de estructura de datos. • Incorporación de bases de datos. • Incorporación de archivos. • Consideraciones de procesamiento, como concurrencia, paralelismo, distribución y tiempo real. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  16. ¿Qué es un Patrón? • Un patrón es un modelo que podemos seguir para realizar algo. Los patrones surgen de la experiencia de seres humanos de tratar de lograr ciertos objetivos. • Los patrones capturan la experiencia existente y probada para promover buenas prácticas. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  17. Patrones • Patrones Arquitectónicos • Describen prácticas para definir la arquitectura del sistema. • Patrones de Diseño • Describen soluciones a problemas mucho más específicos en el diseño. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  18. Patrones Arquitectónicos • Los patrones arquitectónicos determinan: • La organización estructural del sistema. • ¿Cómo será el diseño de la solución? • La selección de elementos estructurales. • ¿Cuáles serán los componentes? • El comportamiento de los componentes. • ¿Cuál será la función de cada componente? • Las interfaces entre ellos. • ¿Cómo se van a comunicar esos componentes? Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  19. Patrones Arquitectónicos • Algunos patrones arquitectónicos son los siguientes: • Patrón de Arquitectura basada en Capas. • Patrón MVC. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  20. Cliente Capa N Capa N-1 Capa 1 Patrón de Arquitectura basada en Capas • Descompone una aplicación en un conjunto de capas independientes y ordenadas jerárquicamente. • Cada capa: • Usa lo servicios de la capa inmediatamente inferior. • Ofrece servicios a la capa inmediatamente superior. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  21. Patrón de Arquitectura basada en Capas • Ventajas: • Reutilización de una capa en varias aplicaciones. • Permite la estandarización. • Desventajas: • Si el número de capas es muy alto, puede ser una solución ineficiente. • Trabajo innecesario de paso de argumentos entre niveles. • Si hay pocas capas el sistema será poco organizado. Si hay excesivas capas el sistema será muy complejo e ineficiente. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  22. Cliente Capa de Presentación Capa del Dominio de la Aplicación Capa del Repositorio Patrón de Arquitectura basada en Capas • La metodología presentada por Larman presupone una estructura de tres capas: • Capa de Presentación. • Capa del Dominio de la Aplicación. • Capa del Repositorio. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  23. Cliente Capa de Presentación Capa del Dominio de la Aplicación Capa del Repositorio Patrón de Arquitectura basada en Capas • Capa de Presentación: • Encargada de presentar la información. (Formato de reportes, gráficos, etc.) • Interfaces de usuario. • Interactuar con las capas inferiores del sistema. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  24. Cliente Capa de Presentación Capa del Dominio de la Aplicación Capa del Repositorio Patrón de Arquitectura basada en Capas • Capa del Dominio de la Aplicación: • Implementa las funciones solicitadas por los clientes a través de a interfaz de presentación. (Ej: Validar Cliente) • Reúne todos los componentes del software que apoyan los procesos de negocio que llevan a cabo los usuarios. • También se conoce como la capa de la Lógica de la aplicación. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  25. Cliente Capa de Presentación Capa del Dominio de la Aplicación Capa del Repositorio Patrón de Arquitectura basada en Capas • Capa del Repositorio: • Gestiona todos los elementos de información. (Archivos, XML, BD). • Reúne todos los componentes de software que se encargan del manejo de datos persistentes. • También conocida como capa de gestión de recursos. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  26. Patrón de Arquitectura basada en Capas • Tipos de diseños basados en la arquitectura en capas: • Diseño top-downde capas. • Diseño bottom-upde capas. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  27. Cliente Capa de Presentación Capa del Dominio de la Aplicación Capa del Repositorio Patrón de Arquitectura basada en Capas • Diseño top-down de capas: • Se define la funcionalidad del sistema desde el punto de vista del cliente. • Se propaga por capas según las necesidades identificadas en las capas anteriores. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  28. Patrón de Arquitectura basada en Capas • Diseño top-down de capas: • Ventaja: • Al inicio del proyecto se tienen claras las funcionalidades y se dirige el desarrollo sobre ellas. • Desventaja: • Sólo es posible aplicarlos a sistemas desarrollados desde cero. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  29. Cliente Capa de Presentación Capa del Dominio de la Aplicación Capa del Repositorio Patrón de Arquitectura basada en Capas • Diseño bottom-upde capas: • Consecuencia de la necesidad de integrar de sistemas. • Es necesario evaluar recursos existentes. • Encapsular la funcionalidad existente. • Adaptar la salida de la aplicación a las necesidades del cliente. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  30. Patrón de Arquitectura basada en Capas • Diseño bottom-upde capas: • Ventaja: • Los componentes por lo general son poco acoplados y pueden ser reutilizados. • Desventaja: • Viene impuesto por necesidades existentes. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  31. <<Modelo>> Nombre de la clase <<Vista>> Nombre de la clase <<Controlador>> Nombre de la clase Patrón MVC • Modelo, Vista, Controlador (MVC, Model – View – Control) Es un patrón de arquitectura de software que busca agrupar los componentes de la aplicación en tres niveles lógicos. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  32. Patrón MVC • Modelo: • El modelo es la representación específica de la información con la cual el sistema opera. • Los objetos del modelo guardan información sobre el estado interno del sistema a corto y largo plazo. • Se encarga de la lógica de datos y de asegurar la integridad de estos. Ej: Validar que no se compre un número negativo de unidades. • Permite derivar nuevos datos. Ej: Calcular si hoy es el cumpleaños del usuario o los totales, impuestos en un carrito de la compra. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  33. Patrón MVC • Vista: • La Vista está formada por el conjunto de objetos que manejan la presentación visual de los datos representados por el Modelo. • Genera una representación visual del Modelo y muestra los datos al usuario. • Interactúa con el Modelo a través de una referencia al propio Modelo. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  34. Patrón MVC • Controlador: • Este responde a eventos, usualmente acciones del usuario e invoca cambios en el Modelo y probablemente en la Vista. Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  35. Patrón MVC • Ejemplo: (Contexto) • En el Modelo de Requisitos se obtuvo el siguiente Diagrama de Casos de Uso del Sistema: Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  36. Patrón MVC • Igualmente en el Modelo de Requisitos se obtuvo el siguiente Modelo de Objetos del Dominio: Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  37. Patrón MVC • En el Modelo de Análisis se identificaron los siguientes objetos: Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  38. Patrón MVC • Finalmente, en el Modelo de Diseño se aplica el patrón Modelo – Vista – Controlador de la siguiente manera: Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

  39. Patrón MVC Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008

More Related