Arquitectura y Patrones de Disño

download Arquitectura y Patrones de Disño

of 14

description

Analisis y diseño de arquitectura de software

Transcript of Arquitectura y Patrones de Disño

ARQUITECTURA Y PATRONES DE DISO DE SOFTWARE

ARQUITECTURA Y PATRONES DE DISO DE SOFTWAREPROYECTO INTEGRADOR

WILSON ERASINTRODUCINEn el estudio de los patrones y diseos arquitectnicos nos enfocaremos principalmente en adaptar un diseo especifico en un sistema previamente esquematizado haciendo referencia a la investigacin a la cual esta direccionado el sistema WEB.

El sistema WEB nos ofrece las cualidades para poder implantar un diseo de software para que pueda ser desarrollado e implantado posteriormente.OBJETIVO GENERALIdentificar y aplicar qu tipo de arquitectura y patrones de diseo se pude aplicar en el desarrollo de este sistema web.

OBJETIVO ESPECIFICODeterminar una solucin de software informtico, cuyo diseo se base en software libre y que cumpliendo con altos estndares de calidad aporte con cualidades que apoyen los principales procesos que se realizan en el sitio webProblemticaEl sistema web desarrollado provee al usuario, una herramienta informtica, que pretende solucionar sus problemas de almacenamiento de informacin y su posterior tratamiento para la generacin de reportes al automatizar sus procesos de inscripcin de los alumnos a los cursos de capacitacin.La herramienta desarrollada es sencilla y amigable, de tal forma que resulta de fcil manipulacin para cualquier persona. A dems est desarrollada bajo un ambiente web lo que permite que sea accedida desde cualquier lugar en donde se tenga una conexin a internet. Permite varios niveles de seguridad al asignar perfiles a los usuarios que intervienen en cada proceso desarrollado. Por otra parte, los reportes son generados fcilmente y ayudan a obtener resultados estadsticos en cuanto a alumnos, capacitadores y eventos.

JustificacinEl anlisis detallado, estar sustentado en diagramas UML de casos de uso y de secuencia, que permitir conocer los principales procesos realizados por el sistema WEB ya que el personal que utilizara el sistema son quienes los ejecutan para generar perfiles de usuario que ayuden a organizar a los actores de diferentes procesos y brindar ciertos niveles de seguridad para el proyecto. As al establecer este sistema poseer un impacto psicosocial positivo en la sociedad, la cual proporcionar a la misma, una informacin confiable, agilizando y facilitando el trabajo en el proceso de inscripcin y matriculacin. Patrones de diseoPara empezar necesitamos una clase principal que utilice el patrn Singleton, para ello lo nico que tenemos que hacer es crear una clase llamada Singleton, con una variable esttica llamada instancia y comprobar en la funcin constructor si dicha variable est vaca, entonces creamos una instancia de la clase Singleton que almacenamos en aquella.Ahora que tenemos una clase principal (usando el patrn Facade para poder crear una clase para presentar el contenido y otra para administrarlo), $web, vamos a asignarle un modelo de datos del patrn MVC modificado con el uso del patrn Composite, en este caso es una clase llamada $formularios, y su vista (o visualizador) asocimosla a la anterior y llammosla clase $html_formularios, sirve de conexin con las plantillas HTML de modo que usaremos un patrn Bridge como controlador incrustado en el visualizador o vista, as, se pueden crear distintas implementaciones para controlar las acciones de los formularios generados, ejemplo: al enviar un formulario para almacenar datos en la base de datos que se apliquen distintos filtros a cada campo. Dichos campos siguen el patrn Abstract Factory, y para pasar de un tipo a otro, por ejemplo de un tipo campo de texto a un tipo rea de texto ( a ) utilizamos un patrn Adapter, evidentemente, para construir los campos usamos un Builder.Esta clase abstracta Builder debe encargarse de crear las reglas de actualizacin de estados, es decir, de las dos posibilidades que hay: notificar automticamente a los objetos asociados cuando el estado interno de un campo cambia o dejar que el usuario lo haga, Patrones de diseoLa clase Builder se llama dentro de cada constructor de cadaModelo de Datos y se denomina $constructor, que toma los campos que lee el Modelo de datos de la base de datos y construye las Chain of Responsibility en funcin de su esquema de llaves (Forneas o Externas,Primarias) ,para lograr este equema se utiliza la herramienta o motor de sistema de base de datos. MySQL Workbench,Finalmente, la relacin queda almacenada en una estructura de datos de la clase del Modelo de datos y en este caso usamos un funciones aunque lo mejor sera hacerlo con otra clase que encapsularamos mediante el patrn Decorator para ir aadiendo las funcionalidades extra en los objetos.Para crear los formularios asociados al modelo de datos donde se recogen un conjunto de campos se puede utilizar un patrn Factory Method, de modo que usaremos Iterators y Mediators para conectar $formularios asociados a la clase principal $web con las clases del patrn Factory Method, as, usando la configuracin de un esquema de formulario (aqu se puede usar el patrn Strategy) almacenado en la base de datos podemos mantener una correlacin con los datos insertados por los usuarios de forma transparente e inteligente. Para mostrar dichos datos usaremos Visitor de forma que se pueden mostrar datos en distintos formatos sin modificar el visualizador del MVC. Si en nuestra administracin queremos poner un comando deshacer, podemos asociar un patrn Memento, pero debe de estar unido a un patrn Observer, para que cuando un campo cambie, cambie los formularios asociados a este as como los campos que son interdependientes Arquitectura MVC El patrn de arquitectura MVC (Modelo Vista Controlador) es un patrn que define la organizacin independiente del Modelo (Objetos de Negocio), la Vista (interfaz con el usuario u otro sistema) y el Controlador.De esta forma, dividimos el sistema en tres capas donde, como explicaremos ms adelante, tenemos la encapsulacin de los datos, la interfaz o vista por otro y por ltimo la lgica interna o controlador. El patrn de arquitectura "modelo vista controlador", es una filosofa de diseo de aplicaciones, compuesta por:

Modelo: Contiene el ncleo de la funcionalidad (dominio) de la aplicacin. Encapsula el estado de la aplicacin. No sabe nada / independiente del Controlador y la Vista.Vista: Es la presentacin del Modelo. Puede acceder al Modelo, pero nunca cambiar su estado. Puede ser notificada cuando hay un cambio de estado en el Modelo. Controlador: Reacciona a la peticin del Cliente, ejecutando la accin adecuada y creando el modelo pertinente.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. De hecho, este patrn separa el cdigo en tres capas:

1. Capa modelo: Esta capa se encarga de interactuar con la base de datos y tambin se ejecuta las reglas de negocio.2. Capa controlador: El controlador procesa las peticiones de la pgina web (vista), y enva estos datos a la capa modelo, para que esta le devuelva la informacin adecuada para mostrarla en la capa vista.3. Capa vista: La vista es el cdigo HTML que se muestra al usuario, con la informacin proveniente del controlador.

Tecnologa WEBPara el desarrollo de aplicaciones de negocio se utiliza frecuentemente el patrn de diseo MVC Modelo Vista Controlador que adems es sencillo de implementar en las aplicaciones web. En este patrn el modelo es modificable por las funciones de negocio. Estas funciones son solicitadas por el usuario mediante el uso de un conjunto de vistas de la aplicacin que solicitan dichas funciones de negocio a travs de un controlador, que es el mdulo que recibe las peticiones de las vistas y las procesa. Se suele clasificar en dos tipos a las aplicaciones basadas en MVC: Tipo 1. Las vistas conocen la accin que se va a invocar en su peticin, normalmente la funcin esta cableada dentro de la vistaTipo 2. El controlador introduce un conjunto de reglas que mapean a las peticiones con las funciones, controlando adems el flujo de navegacin por la aplicacin.

CONCLUSIONLos patrones y arquitectura de software son un pilar fundamental para el desarrollo de cualquier sistema a implementar ya que este ese encarga de modelar todo el sistema y la forma en que se van a tratar los datos

AnexoDiagrama del modelo del negocio

Ingreso al sistema