Unidad 2. Evidencia de aprendizaje. Representacin grfica de la arquitectura preliminar
UNIVERSIDAD NACIONAL ABIERTA Y ADISTANCIA DE MXICO
CUATRIMESTRE CUATRO
DISEO Y ARQUITECTURA DE SOFTWARE
JUDITH RUBY SNCHEZ GARCA
ALUMNO: MARIO OSCAR RAMREZ CORTES
AL10506012
Unidad 2. Evidencia de aprendizaje. Representacin grfica de la arquitectura preliminar AGOSTO, 2014 INSTRUCCIONES. Para demostrar tu conocimiento acerca de los tipos de patrones arquitectnicos, t disears una propuesta de arquitectura que sirva para solucionar un problema; para ello considerars que el patrocinador (la empresa que solicit la solucin) es una tienda de conveniencia, t analizars sus requerimientos de software y lo contrastars con las herramientas de diferentes tipos de sistema, siendo capaz de elaborar una propuesta. Como parte de la evaluacin de esta unidad, es necesario realizar en forma grfica la arquitectura de una tienda de conveniencia aplicando y justificando el uso del patrn especfico. 1. Justifica el uso del patrn. 2. Realiza la representacin de la arquitectura propuesta. Para hacer esta presentacin, usars herramientas de diseo grfico de arquitectura y, en base a los ejemplos mostrados en la unidad, hacer un diagrama con la arquitectura propuesta. Por tratarse de un ADL bien estandarizado y de mayor uso en el mercado actual, UML me parece la mejor opcin. DISEO Y ARQUITECTURA DE SOFTWARE Unidad 2. Evidencia de aprendizaje. Representacin grfica de la arquitectura preliminar
Considerando lo que queremos que la aplicacin realice entonces tendremos que los requerimientos del software definidos son: Automatizacin de procesos de compra y venta. Se har uso de la venta en lnea para que los clientes puedan acceder al sitio y ver las existencias del producto que cubra sus necesidades. Los proveedores podrn acceder al sitio para observar que es lo que la tienda necesita y hacer entrega de los productos, ms utilizados. Habr un espacio para que los clientes puedan dejar sus comentarios sobre la experiencia de uso de este sitio. Cualquier operacin se podr realizar desde un equipo convencional o mediante un dispositivo mvil con acceso a internet. Cada cliente podr crear su perfil de usuario en donde recibir sugerencias con base en sus compras anteriores. De acceso fcil y rpido para todos los usuarios. USUARIO Administrador del sitio Gerente general. Gerente de tienda. Vendedor. Proveedor. Usuario normal. DISEO. La arquitectura a desarrollar estara basada en J2EE. Esta arquitectura se pens para el desarrollo de aplicaciones distribuidas que fueran construidas en base a componentes, los cuales interaccionan entre si para realizar las acciones para las que fueron pensados, usando para ello la parte del servidor de aplicaciones J2EE que les proporciona el uso de servicios como la seguridad, concurrencia, transacciones, etc. Algunas de las ventajas principales del uso de esta tecnologa son: la portabilidad de las aplicaciones, ya que estas pueden ser ejecutadas en cualquier sistema que cuente con una mquina virtual java; la facilidad de escalabilidad de las aplicaciones, que permiten que sobre el mismo software puedan correr tanto aplicaciones pequeas como programas destinados a una gran cantidad de transacciones; el gran soporte a red que contiene esta arquitectura, ya que fue pensada DISEO Y ARQUITECTURA DE SOFTWARE Unidad 2. Evidencia de aprendizaje. Representacin grfica de la arquitectura preliminar
desde sus inicios como un producto pensado para su uso distribuido. Patrones J2EE utilizados Para intentar facilitar y estandarizar lo ms posible los desarrollos que se realizan, han aparecido dentro de la comunidad de programacin en Java los llamados Patrones de diseo. Estos patrones intentan reutilizar las soluciones dadas por otras personas a problemas o situaciones que se han generado con anterioridad, y pueden abarcar desde slo para ciertas partes o capas del desarrollo de una aplicacin (capa de visualizacin, capa de negocio, capa de acceso a datos, etc.) o bien pueden intentar aunar una forma de trabajo para todo el conjunto del programa. Como la solucin que se puede haber dado para un problema, puede no haber sido la misma por varios grupos de personas, existen varios patrones en la comunidad de desarrolladores, y ser cada persona en cada proyecto la que deba decidir cul es el que mejor se adapta a sus necesidades. Se ha realizado un estudio de diversos patrones actualmente utilizados como Cocoon o Spring pero en nuestro caso, podramos utilizar otros varios para distintas partes de la aplicacin. En el caso del diseo general de la aplicacin, utilizaramos uno que ya lleva varios aos siendo usado, y que adems es uno de los mayores estndares actualmente para el desarrollo de aplicaciones web: Struts. Struts se basa en el patrn de tres capas Modelo-Vista-Controlador(MVC), en el que el procesamiento interno se separan en estas tres secciones. La idea de realizar esta separacin es tratar de seguir la mxima de la programacin a objeto de divide y vencers, ya que contar con un solo controlador que tuviera toda la lgica del programa, nos llevara a tener un controlador que podra saturarse de peticiones, ms difcil de mantener y de actualizar. Por ello, Struts surge como una posible solucin a este problema. La separacin en estas tres capas se realiza de la siguiente manera: La capa de Modelo es aquella que se encarga de la relacin de la aplicacin con la Base Datos y el diseo de los objetos que va a utilizar la aplicacin. Esto va a permitir que en ningn momento, desde la capa de vista o negocio se hagan llamadas directas a la BBDD para conseguir informacin, sino que siempre pasar por llamadas a estos objetos que son los que se encargan en si mismos de realizar las acciones concretas sobre los datos. En cuanto a la capa de Controlador o Negocio, ser donde se defina cmo debe funcionar la aplicacin en cuanto a qu cosas se pueden o no hacer, cmo deben ser los flujos de informacin, etc. Esto se consigue mediante las llamadas Actions, clases que se encargan de encapsular estos elementos, totalmente aislados de cmo se van a mostrar por pantalla o de cmo obtienen los datos reales. Y finalmente, la capa de Vista es aquella que se encarga de mostrar la informacin necesaria en cada momento segn la accin que se est realizando. En estas vistas, no se realiza ningn tipo de operacin, sino que simplemente muestra los datos que internamente est manejando el negocio, sin actuar sobre ellos. De esta forma, conseguimos por un lados seguridad, ya que desde la vista no se va a poder realizar acciones no controladas por la capa de negocio, e independencia y facilidad a la hora de realizar mejoras, aadidos, o arreglo de problemas en la aplicacin, ya que estos estarn muy localizados y fciles de acceder, sin afectar al resto de partes que no intervienen. DISEO Y ARQUITECTURA DE SOFTWARE Unidad 2. Evidencia de aprendizaje. Representacin grfica de la arquitectura preliminar
Una vez tenemos claro lo que necesita el usuario, hay que plasmar de una forma ms formal esas necesidades. En este caso aparece la figura del Analista, que se encargar de tomar esos requerimientos y utilizar elementos como UML para que todo quede de una manera lo ms cerrada posible, es decir, con todos los elementos posibles plasmados, casos de uso, etc. Trabajos citados Caro, P. S. (2009). Universidad de Chile, Facultad de Ciencias Fsicas y Matemticas, Departamento de Ciencias de la Computacin. Recuperado el 16 de 08 de 2014, de Unified Modeling Language: http://users.dcc.uchile.cl/~psalinas/uml/modelo.html Espaola, R. A. (27 de 08 de 2012). Ingenieria del Software. Recuperado el 05 de 08 de 2014, de Patrones de arquitectura vs. Patrones de diseo: http://arlethparedes.wordpress.com/2012/08/27/patrones-de- arquitectura-vs-patrones-de-diseno/ Reynoso, C., & Kicillof, N. (2004). Lenguajes de descripcin de arcquitectura (ADL). Buenos Aires: Universidad de Buenos Aires.
Carrito de compras por usuario .Envo Base de datos del catlogo Cola Control Catlogo Base de datos de usuarios Acceso Cliente Base de datos de cuentas Mensaje de orden Interface de usuario Usuario Pgina de sitio web