Академический Документы
Профессиональный Документы
Культура Документы
Diseo arquitectnico
6.1| Introduccin
En esta parte del documento describiremos los pasos y la organizacin del sistema de forma ms especfica. A continuacin entraremos en ms profundidad en el diseo de la aplicacin, esto engloba los siguientes apartados: Patrones de diseo, se describirn los patrones de diseo que se han utilizado para disear la aplicacin. Diagrama de clases de diseo, en esta seccin aplicaremos los patrones de diseo para obtener el diagrama de clases de diseo final de la aplicacin. Diseo de navegabilidad, se mostrar la navegabilidad del sistema. Diseo de la BD, por ltimo, se implementar la persistencia mediante un sistema gestor de base de datos que d soporte a nuestro sistema.
http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.html
Este patrn es utilizado en mltiples frameworks: - Java Swing - Java Enterprise Edition (J2EE) - XForms (Formato XML estndar del W3C para la especificacin de un modelo de proceso de datos XML e interfaces de usuario como formularios web) - GTK+ (escritorio en C, toolkit creado por Gnome para construir aplicaciones grficas, inicialmetne para el sistema X Window) - ASP.NET MVC Framework (Microsoft) - Google Web Toolkit (GWT, para crear aplicaciones Ajax con Java) - Apache Struts (framework para aplicaciones web H2EE) - Ruby on Rails (framework para aplicaciones web con Ruby) - SEAM.
Descripcin del Patrn Modelo. Esta es la representacin especfica de la informacin con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema tambin puede operar con ms datos no relativos a la presentacin, haciendo uso integrado de otras lgicas de negocio y de datos afines con el sistema modelado. Entre otras cosas es responsable de: - Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento. - Define las reglas de negocio (la funcionalidad del sistema). - Lleva un registro de las vistas y controladores del sistema. - Si estamos ante un modelo activo, notificar a las vistas los cambios que en los datos pueda producir un agente externo.
Vista. Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. Las vistas son responsables de: - Recibir datos del modelo y los muestra al usuario. - Tienen un registro de su controlador asociado (normalmente porque adems lo instancia) Controlador. Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.
Muchos sistemas informticos utilizan un Sistema de Gestin de Base de Datos para gestionar los datos: en lneas generales del MVC corresponde al modelo. La unin entre capa de presentacin y capa de negocio conocido en el paradigma de la Programacin por capas representara la integracin entre Vista y su correspondiente Controlador de eventos y acceso a datos. MVC no pretende discriminar entre capa de negocio y capa de presentacin pero si pretende separar la capa visual grfica de su correspondiente programacin y acceso a datos, algo que mejora el desarrollo y mantenimiento de la Vista y el Controlador en paralelo, ya que ambos cumplen ciclos de vida muy distintos entre s. Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo que sigue el control generalmente es el siguiente: 1. 2. El usuario interacta con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botn, enlace, etc.) El controlador recibe (por parte de los objetos de la interfaz-vista) la notificacin de la accin solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a travs de un gestor de eventos. El controlador accede al modelo, actualizndolo, posiblemente modificndolo de forma adecuada a la accin solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos estn a menudo estructurados usando un patrn de comando que encapsula las acciones y simplifica su extensin. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se refleja los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre la vista. Sin embargo, se podra utilizar el patrn Observador para proveer cierta indireccin entre el modelo y la vista, permitiendo al modelo notificar a los interesados de cualquier cambio. Un objeto vista puede registrarse con el modelo y esperar a los cambio, pero an as el modelo en s mismo sigue sin saber nada de la vista. El controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice.
3.
4.
5.
La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.
A continuacin se muestra el esquema general del diseo que se ha propuesto, para seguidamente explicar los aspectos ms destacados de cada capa:
Figura 6.2 Esquema general diseo de la aplicacin Clases sistema. Dentro de las clases sistemas (tendremos las clases dominio y los diccionario (domain and dictionary) organizaremos las clases en diversos subsistemas para una mayor legibilidad, algunos de ellos relacionados entre s. En el siguiente diagrama se puede ver los distintos subsistemas que compondrn el conjunto de clases del sistema.
Clases Modelo. Como en el anterior caso (para las clases del sistema) se va a separar las clases e interfaces que intervienen en el modelo en varios subsistemas (los mismos que anteriormente) donde se recoger las clases implicadas en cada subsistema. Subsistema de gestin de usuarios
Clases Controlador. En este apartado vamos a recoger los distintos actions que va a tener la aplicacin para interactuar con las clases modelos y con la vista.
class Diagrama Clases Controlador Actions
MyClassNamingStraregy
Autenticador
ColegiadoAction
ColegiadoSearch
Jugador Action
Jugador Search
EquipoAction
EquipoSearch
UsuarioSearch
UserAdmi nAction
RecordarM ailAction
Competic onAction
Diccionar ioAction
Calendar ioSearch
Mantenimie ntoAction
Figura 6.14 Clases controlador A continuacin se detalla cada Action y sus relaciones con las Clases Modelos.
Colegiados
Jugadores
Equipos