Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto para Una Tienda On-Line Documento FINAL: Alumno
Proyecto para Una Tienda On-Line Documento FINAL: Alumno
Alumno Santiago Gonzlez ITIG Consultor Javier Ferr Garca Fecha de entrega: 16/01/07
Documento FINAL
NDICE
1. 2. a) b) c) d) e) f) g) h) 3.
INTRODUCCIN ................................................................................................................... 3 FASE DE ANLISIS .............................................................................................................. 4 DESCRIPCIN DEL PROYECTO A DESARROLLAR ........................................................ 4 RESUMEN DEL ANLISIS ................................................................................................... 4 SEGURIDAD EN EL SISTEMA ............................................................................................. 6 DIAGRAMAS Y CASOS DE USO ......................................................................................... 6 DIAGRAMAS DE ESTADO/COLABORACION/SECUENCIA............................................ 27 DIAGRAMA ESTTICO ...................................................................................................... 29 DIAGRAMA DE PAQUETES............................................................................................... 30 DISEO DE PANTALLAS................................................................................................... 30
FASE DE DISEO ............................................................................................................... 34 a) DISEO ARQUITECTNICO.............................................................................................. 34 Arquitectura J2EE........................................................................................................ 34 Patrones J2EE utilizados ............................................................................................ 35 b) SUBSISTEMAS DE LA APLICACIN ................................................................................ 37 Subsistema de Catlogo ............................................................................................. 38 Descripcin ............................................................................................................... 38 Diagramas de clases del subsistema..................................................................... 38 Diagramas colaboracin del subsistema............................................................... 40 Subsistema de Administracin .................................................................................. 43 Descripcin ............................................................................................................... 43 Diagramas de clases del subsistema..................................................................... 43 Diagramas colaboracin del subsistema............................................................... 45 Subsistema de Listados.............................................................................................. 47 Descripcin ............................................................................................................... 47 Diagramas de clases del subsistema..................................................................... 47 Diagramas colaboracin del subsistema............................................................... 49 c) DIAGRAMA ENTIDAD-RELACIN .................................................................................... 50 Descripcin de los atributos ...................................................................................... 51 IMPLEMENTACION............................................................................................................. 53 DESPLIEGUE ...................................................................................................................... 55 VALORACION Y CONCLUSIONES.................................................................................... 56 BIBLIOGRAFA Y DOCUMENTACIN .............................................................................. 58
4. 5. 6. 7.
Pag. 2
Documento FINAL
1. INTRODUCCIN
El presente documento pretende describir las tareas generales realizadas en los distintos procesos de Anlisis, Diseo y puesta en funcionamiento, as como los resultados generados por cada uno, dentro del desarrollo de una aplicacin de compra electrnica a travs de Internet, realizada con tecnologa J2EE. Para comenzar con esta tarea, y como parte de la toma de requisitos, se decidi tomar la experiencia de algunos de los lugares que ya actualmente utilizan estos mecanismos de compra, y tratar de estudiar y analizar las funcionalidades ms importantes que se deberan desarrollar. Productos como las herramientas de e-commerce de Ariba, usadas por grandes empresas como Telefnica, BBVA, etc., www.elcorteingles.es, www.fnac.es, son algunos de los ejemplos que se han ido evaluando de cara al producto final. Asimismo, y como los clientes que podran utilizar la herramienta podran ser muy distintos (en los tipos productos que venden, look&feel de la tienda, categorizacin de sus productos, etc.), se intent desde el primer momento que el producto no estuviera enfocado a un tipo concreto de tienda online, sino que pudiera ser implantado en el mximo nmero de clientes de forma out of the box, es decir, con los mnimos (idealmente ninguno) cambios sobre el producto original, sobre todo en lo que se refiere a cdigo. Un elemento que se quiso tener en cuenta es la intencin que la propia tienda tenga un carcter comercial para la empresa que vende los productos, y no slo como un lugar donde realizar compras. Para ello, se tomaron decisiones como la de incluir informacin general de la empresa en las pantallas iniciales, inclusin de banner en la pgina, permitir que cualquier usuario pudiera navegar por el catlogo y los productos, pedir informacin sobre ellos, etc. Adems, el hecho de registrarse en la web tendra otros aadidos para los usuarios aparte del propio de poder comprar como seran la descarga del catlogo completo o de partes de l en un formato fcilmente portable como es el PDF. A nivel interno, otro elemento que se ha querido tener en cuenta para este desarrollo es la utilizacin en todo momento de elementos open source, es decir, aportar ventajas al sistema como que el coste de licencias para servidores de aplicaciones, bases de datos, sistema operativo, etc. sea nulo. En cuanto a la fase de desarrollo, se ha tratado de seguir este mismo sistema, por lo que se han utilizado herramientas como Netbeans para el entorno IDE de desarrollo, y frameworks como Struts (para el desarrollo de aplicaciones en 3 capas (MVC)), jasperreports (para el desarrollo de ficheros PDF) o poolman (para la gestin de las conexiones a la Base de Datos).
Pag. 3
Documento FINAL
En definitiva, se ha tratado de crear un producto ligero en cuanto a su rapidez de respuesta en productivo, con el mnimo coste monetario de implantacin, fcilmente configurable e instalable y con una gran facilidad de expansin y mejora en un futuro. A continuacin, veremos las distintas fases por las que se ha ido desarrollando esta aplicacin.
2. FASE DE ANLISIS
Esta seccin tiene como objeto presentar y describir el anlisis funcional para la implantacin de una aplicacin de compra electrnica a travs de Internet. Esta plataforma proporcionar a las empresas, un servicio que facilita, agiliza y simplifica sus procesos de gestin de pedidos, as como la posibilidad de que sus clientes puedan realizar sus compras desde cualquier punto con una conexin a Internet y en cualquier momento.
Catlogos
La aplicacin deber contener la posibilidad de crear tanto las estructuras que definan la jerarqua del catlogo que va a ser utilizado en la tienda virtual,
Santiago Gonzlez Prieto Pag. 4
Documento FINAL
como la inclusin de los distintos artculos dentro de esta estructura. A su vez, esta jerarqua podr ser consultada por los usuarios bien navegando por el catlogo o bien realizando bsquedas directas, de forma que puedan seleccionar los artculos necesarios e incluirlos dentro de su cesta de la compra para su posterior pedido.
Compra
La aplicacin debe permitir que un usuario, a partir de unos artculos seleccionados del catlogo, pueda realizar el envo de un pedido a la empresa. Este pedido podr pasar por distintas fases segn se encuentre su estado (pendiente, enviado, etc.) El usuario, a su vez, podr cancelar el pedido en ciertas condiciones o consultar su histrico de compras realizadas a travs de la plataforma.
Administracin de datos
Deber existir una seccin dentro de la aplicacin que permita a usuario con un rol especfico de administracin, la opcin de gestionar la informacin existente en el sistema. Esta administracin deber incluir: Alta, Baja, Modificacin de usuarios. Alta, Baja, Modificacin de categoras en el catlogo Alta, Baja, Modificacin de artculos en el catlogo
Listados de informacin
La aplicacin deber permitir a ciertos usuarios de la compaa, la realizacin de informes dentro de la herramienta. Estos informes estarn principalmente enfocados a los tipos de datos indicados anteriormente, aunque ser posibilidad del usuario el seleccionar qu campos quiere mostrar y la ordenacin necesaria. Los informes que se incorporarn a la herramienta en una primera versin sern: Datos sobre altas/bajas de usuarios en el sistema Datos sobre altas/bajas de artculos en el sistema Estadsticas de pedidos en el sistema
Pag. 5
Documento FINAL
c) SEGURIDAD EN EL SISTEMA
Debido a la sensibilidad de los datos que se van a utilizar en la herramienta, se han tomado las siguientes medidas para conservar la seguridad de la informacin que fluye dentro de ella: Identificacin de los usuarios que acceden a los mdulos de compra y descarga de informacin en la aplicacin mediante la introduccin de su nombre y su contrasea. Acceso restringido a determinados mdulos segn perfiles que se asocian los usuarios definidos en el sistema. Los usuarios no se eliminan definitivamente. Los usuarios que ya no utilizarn el sistema obtienen una baja lgica que evita su acceso sin eliminar la informacin de las bases de datos. Solicitud de confirmacin antes de completar cualquier accin delicada para el sistema o de carcter irreversible.
Caso de Uso DESCRIPCIN CU-001-001 Proceso general de uso de la aplicacin CU-001-002 Identificacin en la aplicacin CU-001-003 Bsqueda de Artculos en catlogo CU-001-004 Consultar catlogo CU-001-005 Aadir Artculos a Solicitud CU-001-006 Enviar Pedido CU-001-007 Consultar Pedidos CU-001-008 Exportar Catlogo
Pag. 6
Documento FINAL
Caso de Uso DESCRIPCIN CU-001-009 Alta como Comprador CU-002-001 Proceso general de administracin de la aplicacin CU-002-002 Identificacin en la aplicacin CU-002-003 Administracin de Usuarios CU-002-004 Administracin de Catlogo CU-002-005 Administracin de Artculos CU-002-006 Administracin de Pedidos CU-003-001 Proceso general de informes de la aplicacin CU-002-002 Identificacin en la aplicacin CU-003-003 Informe de Usuarios CU-003-004 Informe de Artculos CU-003-005 Estadstica de Pedidos
Pag. 7
Documento FINAL
Pag. 8
Documento FINAL
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de identificacin del usuario en la aplicacin Creacin de Tienda OnLine Tener usuario, acceso y permisos en la plataforma El usuario queda validado en el sistema Usuario Sistema Seleccin de opcin de identificacin en el sistema Error en el sistema. Datos de acceso incompletos o errneos
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin Dentro de la aplicacin, el usuario elige la opcin para identificarse en el sistema El sistema muestra un formulario con el nombre de usuario y contrasea. El usuario introduce los valores para los campos El sistema valida que el nombre de usuario introducido es correcto y coincide con la palabra de paso introducida 5. Si ha ocurrido algn error se muestra un mensaje por pantalla indicndolo Si la validacin es correcta, se presenta la pantalla en la que se encontraba el usuario, con las visin de un usuario registrado (comprador)
4. Informacin adicional Casos de subordinados: uso CU-001-006 Enviar Pedido CU-001-007 Consultar Pedidos
Pag. 9
Documento FINAL
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de bsqueda de artculos del catlogo de la tienda Creacin de Tienda OnLine Estar dentro de la aplicacin de tienda online El usuario encuentra una lista con los artculos que cumplen la bsqueda realizada Usuario Sistema Seleccin de opcin de buscar artculos Error en el sistema.
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin Dentro de la aplicacin, el usuario elige la opcin para buscar artculos en el sistema El sistema muestra un formulario para introducir las palabras de bsqueda. El usuario introduce los valores El sistema buscar los artculos que cumplen con el criterio indicado
4. Informacin adicional Casos de subordinados: uso CU-001-005 Aadir Artculos a la Solicitud CU-001-008 Exportar Catlogo
2. Caractersticas Objetivo: mbito: Precondiciones: Descripcin del proceso de consulta de artculos del catlogo de la tienda Creacin de Tienda OnLine Estar dentro de la aplicacin de tienda online
Pag.10
Documento FINAL
2. Caractersticas Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de El usuario navega por la jerarqua de catlogo y su lista de artculos Usuario Sistema Navegacin por las carpetas que forman la jerarqua de catlogos Error en el sistema.
3. Descripcin Funcional del Proceso Paso 1. 2. 3. Accin Dentro de la aplicacin, el usuario elige la opcin para ver el catlogo electrnico El usuario pulsa en la rama del catlogo que le interesa El sistema muestra el contenido de la seccin seleccionada por el usuario
4. Informacin adicional Casos de subordinados: uso CU-001-006 Aadir Artculos a la Solicitud CU-001-006 Exportar Catlogo
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: de de Descripcin del proceso de creacin adicin de nuevos elementos a la solicitud Creacin de Tienda OnLine Haber realizado una bsqueda de artculos en el catlogo, bien por navegacin o bien por bsqueda directa y estar logado en el sistema. El artculo seleccionado se aade a una nueva solicitud Error en el sistema.
Pag.11
Documento FINAL
2. Caractersticas Actor principal: Actores secundarios: Evento de disparo: Usuario Sistema El usuario selecciona la opcin de aadir un artculo a una solicitud
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin El usuario selecciona el/los artculos en que est interesado El usuario pulsa en aadir el artculo a una solicitud Si el artculo ya exista en la solicitud, se suman las cantidades anteriores a las actualmente aadidas y no se crea una nueva lnea en la solicitud Si el artculo no existe, se crea una nueva lnea en la solicitud.
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: de de Descripcin del proceso envo de un pedido para su tramitacin Creacin de Tienda OnLine El usuario debe haberse identificado en el sistema y debe existir artculos en su solicitud El pedido es creado en el sistema Usuario Error en el sistema.
Pag.12
Documento FINAL
2. Caractersticas Actores secundarios: Evento de disparo: Sistema El usuario selecciona la opcin de aadir un artculo a una solicitud
3. Descripcin Funcional del Proceso Paso 1. 2. 3. Accin El usuario selecciona enviar la solicitud actual. El sistema crea un pedido a partir de los datos de la solicitud El sistema indica al usuario que se ha procedido a crear el pedido correctamente
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de consulta del histrico de pedidos de un usuario Creacin de Tienda OnLine El usuario debe haberse identificado en el sistema El sistema muestra al usuario su historial de pedidos realizado Usuario Sistema El usuario selecciona la opcin de visualizar su histrico de pedidos Error en el sistema. El sistema no muestra su historial de pedidos
Pag.13
Documento FINAL
3. Descripcin Funcional del Proceso Paso 1. 2. Accin El usuario selecciona la opcin de visualizar pedidos histricos. El sistema muestra al usuario su historial de pedidos
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: de Descripcin del proceso envo de exportacin de datos del catlogo Creacin de Tienda OnLine El usuario ha realizado una navegacin dentro del catlogo El catlogo completo a partir de la seccin actual es descargado en un fichero Condiciones fallo: de Actor principal: Actores secundarios: Evento de disparo: Usuario Sistema El usuario selecciona la opcin de descargar el catlogo Error en el sistema. El catlogo no es descargado Los datos descargados no son correctos El fichero no puede abrirse
3. Descripcin Funcional del Proceso Paso 1. 2. Accin El usuario selecciona la opcin de descargar el catlogo El sistema genera un fichero con los datos actuales del catlogo segn la seccin elegida
Pag.14
Documento FINAL
3. Descripcin Funcional del Proceso Paso 4. Accin El sistema indica al usuario que se descargue el fichero generado
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de alta de un usuario comprador en la herramienta Creacin de Tienda OnLine El usuario debe encontrarse navegando dentro de la aplicacin El nuevo comprador es creado en el sistema Usuario Sistema El usuario selecciona la opcin de darse de alta en la plataforma Error en el sistema. El usuario no se puede crear
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. 5. Accin El usuario selecciona la opcin de darse de alta en el sistema El sistema le muestra al usuario un formulario con los datos que debe rellenar para poder acceder al sistema El usuario rellena los datos del formulario y pulsa botn aceptar El sistema comprueba que todos los datos son correctos El sistema indica al usuario que el proceso de alta ha sido correcto y ya puede acceder a la plataforma con sus datos
Pag.15
Documento FINAL
2. Caractersticas
Pag.16
Documento FINAL
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de identificacin del usuario en la aplicacin Creacin de Tienda OnLine Tener usuario, acceso y permisos en la plataforma El usuario queda validado en el sistema Usuario Sistema Seleccin de opcin de identificacin en el sistema Error en el sistema. Datos de acceso incompletos o errneos
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin Dentro de la aplicacin, el usuario elige la opcin para identificarse en el sistema El sistema muestra un formulario con el nombre de usuario y contrasea. El usuario introduce los valores para los campos El sistema valida que el nombre de usuario introducido es correcto y coincide con la palabra de paso introducida 5. Si ha ocurrido algn error se muestra un mensaje por pantalla indicndolo Si la validacin es correcta, se presenta la pantalla en la que se encontraba el usuario, con las visin de un usuario registrado (administrador)
4. Informacin adicional Casos de subordinados: uso CU-002-003 Administracin de Usuarios CU-002-004 Administracin de Catlogo CU-002-005 Administracin de Artculos CU-002-003 Administracin de Pedidos
Pag.17
Documento FINAL
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de administracin de usuarios Creacin de Tienda OnLine Haber realizado una identificacin vlida en el sistema como administrador El usuario da de alta, baja o modificacin usuarios en el sistema Usuario Sistema Seleccin de opcin de administrar usuarios Error en el sistema. Las acciones de alta,baja o modificacin no se realizan
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin Dentro de la aplicacin, el administrador elige la opcin de administrar usuarios El sistema muestra un formulario de bsqueda de usuario o de nueva alta El administrador introduce los valores para los campos y pulsa Buscar El sistema muestra un formulario con los datos del usuario y dos opciones : modificar datos o borrar usuario 5. Si el administrador elige dar de baja el usuario, el sistema le desactiva del sistema Si el administrador elige modificar los datos con los nuevos introducidos, se sustituirn los datos en el sistema.
6.
4. Extensiones del escenario principal Paso 3.a 4.a 5.a 6.a 7.a Accin El administrador elige crear un nuevo usuario El sistema muestra un formulario vaco para que el administrador pueda rellenar los datos El administrador rellena los datos y los enva al sistema El sistema valida los datos e indica al administrador si hay algn posible error El sistema muestra la administrador un mensaje confirmando el alta
5. Informacin adicional
Pag.18
Documento FINAL
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de administracin de catlogo y categoras Creacin de Tienda OnLine Haber realizado una identificacin vlida en el sistema como administrador El usuario da de alta, baja o modificacin jerarquas en el catlogo de la tienda Usuario Sistema Seleccin de opcin de administrar catlogo Error en el sistema. Las acciones de alta,baja o modificacin no se realizan
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin Dentro de la aplicacin, el administrador elige la opcin de administrar catlogo El sistema muestra un formulario de bsqueda de una categora o para dar de alta una nueva El administrador introduce los valores para los campos y pulsa Buscar El sistema muestra un formulario con los datos de la categora y dos opciones : modificar datos o borrar usuario 5. Si el administrador elige dar de baja la categora, el sistema le desactiva del sistema Si el administrador elige modificar los datos con los nuevos introducidos, se sustituirn los datos en el sistema.
Pag.19
Documento FINAL
3. Descripcin Funcional del Proceso Paso 6. Accin El sistema muestra al administrador un mensaje confirmando la accin realizada
4. Extensiones del escenario principal Paso 3.a 4.a 5.a 6.a 7.a Accin El administrador elige crear una nueva categora El sistema muestra un formulario vaco para que el administrador pueda rellenar los datos El administrador rellena los datos y los enva al sistema El sistema valida los datos e indica al administrador si hay algn posible error El sistema muestra la administrador un mensaje confirmando el alta
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de administracin de artculos Creacin de Tienda OnLine Haber realizado una identificacin vlida en el sistema como administrador El usuario da de alta, baja o modificacin de artculos en el sistema Usuario Sistema Seleccin de opcin de administrar artculos Error en el sistema. Las acciones de alta,baja o modificacin no se realizan
Pag.20
Documento FINAL
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin Dentro de la aplicacin, el administrador elige la opcin de administrar artculos El sistema muestra un formulario de bsqueda de artculos o de nueva alta El administrador introduce los valores para los campos y pulsa Buscar El sistema muestra un formulario con los datos del usuario y dos opciones : modificar datos o borrar artculo 5. Si el administrador elige dar de baja el artculo, el sistema le desactiva del sistema Si el administrador elige modificar los datos con los nuevos introducidos, se sustituirn los datos en el sistema.
6.
4. Extensiones del escenario principal Paso 3.a 4.a 5.a 6.a 7.a Accin El administrador elige crear un nuevo artculo El sistema muestra un formulario vaco para que el administrador pueda rellenar los datos El administrador rellena los datos y los enva al sistema El sistema valida los datos e indica al administrador si hay algn posible error El sistema muestra la administrador un mensaje confirmando el alta
2. Caractersticas Objetivo: mbito: Precondiciones: Descripcin del proceso de administracin de Pedidos Creacin de Tienda OnLine Haber realizado una identificacin vlida en el sistema como administrador
Pag.21
Documento FINAL
2. Caractersticas Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de El usuario realiza la consulta y/o modificacin de pedidos en el sistema Usuario Sistema Seleccin de opcin de administrar Pedidos Error en el sistema. Las acciones de modificacin no se realizan
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. 5. 6. Accin Dentro de la aplicacin, el administrador elige la opcin de administrar pedidos El sistema muestra un formulario de bsqueda de pedidos. El administrador introduce los valores para los campos y pulsa Buscar El sistema muestra un formulario con los datos del pedido y la opcin de modificar datos El administrador elige modificar los datos con los nuevos introducidos y los enva al sistema El sistema muestra al administrador un mensaje confirmando la accin realizada
Pag.22
Documento FINAL
uses
extends extends
uses
extends
Administrador
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de identificacin del usuario en la aplicacin Creacin de Tienda OnLine Tener usuario, acceso y permisos en la plataforma El usuario queda validado en el sistema Usuario Sistema Seleccin de opcin de identificacin en el sistema Error en el sistema. Datos de acceso incompletos o errneos
Pag.23
Documento FINAL
3. Descripcin Funcional del Proceso Paso 1. 2. 3. 4. Accin Dentro de la aplicacin, el usuario elige la opcin para identificarse en el sistema El sistema muestra un formulario con el nombre de usuario y contrasea. El usuario introduce los valores para los campos El sistema valida que el nombre de usuario introducido es correcto y coincide con la palabra de paso introducida 5. Si ha ocurrido algn error se muestra un mensaje por pantalla indicndolo Si la validacin es correcta, se presenta la pantalla en la que se encontraba el usuario, con las visin de un usuario registrado (adinistrador)
4. Informacin adicional Casos de subordinados: uso CU-003-003 Informe de Usuarios CU-003-004 Informe de Artculos CU-003-005 Informe de Pedidos
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de visualizacin de informe de datos de Usuario Creacin de Tienda OnLine Tener usuario, acceso y permisos en la plataforma Se abre una pantalla con los datos solicitados sobre usuarios Usuario Sistema Seleccin de opcin de Informe de Usuarios Error en el sistema. Datos de acceso incompletos o errneos
Pag.24
Documento FINAL
3. Descripcin Funcional del Proceso Paso 1. Accin Dentro de la aplicacin, el usuario elige la opcin para exportar un informe sobre usuarios El sistema muestra un formulario preguntando por la fecha de inicio y fin para extraer datos, los campos que se quieren Mostar y los campos usados para la ordenacin El usuario introduce los valores para los campos El sistema valida que los valores son correctos 5. Si ha ocurrido algn error se muestra un mensaje por pantalla indicndolo Si la validacin es correcta, se abre una nueva pantalla con una visualizacin de los datos requeridos.
2. 3. 4.
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de visualizacin de informe de datos de Artculos Creacin de Tienda OnLine Tener usuario, acceso y permisos en la plataforma Se abre una pantalla con los datos solicitados sobre artculos Usuario Sistema Seleccin de opcin de Informe de Artculos Error en el sistema. Datos de acceso incompletos o errneos
Pag.25
Documento FINAL
3. Descripcin Funcional del Proceso Paso 1. Accin Dentro de la aplicacin, el usuario elige la opcin para exportar un informe sobre artculos El sistema muestra un formulario preguntando por la fecha de inicio y fin para extraer datos, los campos que se quieren Mostar y los campos usados para la ordenacin El usuario introduce los valores para los campos El sistema valida que los valores son correctos 5. Si ha ocurrido algn error se muestra un mensaje por pantalla indicndolo Si la validacin es correcta, se abre una nueva pantalla con una visualizacin de los datos requeridos.
2. 3. 4.
2. Caractersticas Objetivo: mbito: Precondiciones: Condiciones xito: Condiciones fallo: Actor principal: Actores secundarios: Evento de disparo: de de Descripcin del proceso de visualizacin de informe de datos de Pedidos Creacin de Tienda OnLine Tener usuario, acceso y permisos en la plataforma Se abre una pantalla con los datos solicitados sobre pedidos Usuario Sistema Seleccin de opcin de Informe de Pedidos Error en el sistema. Datos de acceso incompletos o errneos
Pag.26
Documento FINAL
3. Descripcin Funcional del Proceso Paso 1. Accin Dentro de la aplicacin, el usuario elige la opcin para exportar un informe sobre Pedidos El sistema muestra un formulario preguntando por la fecha de inicio y fin para extraer datos, los campos que se quieren Mostar y los campos usados para la ordenacin El usuario introduce los valores para los campos El sistema valida que los valores son correctos 5. Si ha ocurrido algn error se muestra un mensaje por pantalla indicndolo Si la validacin es correcta, se abre una nueva pantalla con una visualizacin de los datos requeridos.
2. 3. 4.
e) DIAGRAMAS DE ESTADO/COLABORACION/SECUENCIA
En este captulo se describe desde distintos diagramas el proceso ms importante dentro de la aplicacin: el ciclo de vida de una solicitud/pedido dentro del sistema, junto con todos los actores que intervienen.
Diagrama de estado:
Pag.27
Documento FINAL
Diagrama de colaboracin::
Pag.28
Documento FINAL
Diagrama de secuencia::
f) DIAGRAMA ESTTICO
En esta seccin vamos a mostrar un diagrama esttico de lo que podrn ser las entidades que formarn parte de la aplicacin. Aunque actualmente se muestran a un nivel an general, son la base sobre la que se generar en la siguiente fase (Diseo Tcnico) las diferentes clases y entidades que sern posteriormente implementadas en la fase de desarrollo.
Pag.29
Documento FINAL
g) DIAGRAMA DE PAQUETES
En esta seccin se va a mostrar un pequeo esquema de cmo se agruparan los distintos elementos que van a formar la aplicacin en forma de paquetes:
Servidor de Aplicaciones
Gestor de informes
Gestor de Entidades
h) DISEO DE PANTALLAS
A continuacin se van a mostrar diversas plantillas como primera idea de lo que finalmente sern las pantallas por las que los distintos tipos de usuario navegarn para poder realizar cada una de las acciones indicadas anteriormente. Pantalla inicial Esta pantalla ser la que se encuentre el usuario cuando navega por primera vez en nuestra tienda virtual. La pantalla se divide en cuatro partes: la cabecera donde se encuentra el logotipo de la tienda, y una imagen que puede ser una imagen corporativa o bien un banner con promociones, etc.; el men izquierdo con las distintas opciones que tiene el usuario para realizar, la columna central con datos de marketing sobre la tienda, y a la derecha espacios para incorporar los productos ms vendidos, productos con ofertas especiales, etc.
Pag.30
Documento FINAL
Pantalla de navegacin de catlogo La siguiente pantalla ser la que vean los usuarios cuando realicen navegaciones por el catlogo de la tienda. La navegacin se realizar entrando en cada categora. Sigue manteniendo una estructura muy parecida la pantalla anterior, pero se sustituye la parte central y derecha por la lista de carpetas (categoras) que haya dentro de la seccin elegida. Adems, se incorpora una ruta de navegacin en la parte superior de la zona de categoras que nos permite saber siempre cmo hemos llegado a este punto y movernos hacia atrs mucho ms rpido, junto con los botones que permitirn imprimir y exportar el catlogo, a partir de esta categora, a un fichero en PDF.
Pag.31
Documento FINAL
Pantalla de artculos Esta pantalla aparece despus de realizar una bsqueda de artculos o al llegar a un categora de tipo hoja, es decir, donde ya se encuentran directamente catalogados los artculos. Adems de todos los elementos de la pantalla anterior, nos va a permitir agregar artculos a una solicitud, y si adems el usuario es administrador, le permitir acceder en modo de administracin a estos artculos.
Pag.32
Documento FINAL
Pantalla de edicin de artculos Esta pantalla es la utilizada para la modificacin o el alta de artculos en el sistema. En ella se rellenarn desde la categora dnde aparecer el artculo, hasta sus datos bsicos o la imagen que queremos que aparezca al navegar por el catlogo.
Pantalla de envo de pedido En esta pantalla se mostrar el detalle de la actual solicitud y se permitir al comprador que enve al sistema el pedido.
Pag.33
Documento FINAL
3. FASE DE DISEO
Los puntos que van a ser tratados en esta seccin van a ser, por un lado, la decisin sobre el diseo arquitectnico elegido para la realizacin e implantacin de la aplicacin, siembre basndonos en una especificacin J2EE, requisito imprescindible inicial al desarrollo de este proyecto. No slo se identificarn los requisitos que se van a usar, sino que tambin se justificar su uso en base a distintos valores. Posteriormente, se detallarn los diagramas creados en la fase de anlisis, de forma que este documento pueda ser usado en la siguiente fase (fase de implementacin), para el desarrollo de la aplicacin final.
Pag.34
Documento FINAL
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 desde sus inicios como un producto pensado para su uso distribuido. El lenguaje utilizado por esta arquitectura es el lenguaje Java. Este lenguaje fue creado por Sun Microsystems y se ha convertido en uno de los grandes estndares dentro de la industria del desarrollo, tanto para la creacin de aplicaciones web, como aplicaciones pensadas para Mviles, Domtica, etc. Hay que aadir a esto que, adems, ha sido el principal lenguaje usado por la comunidad opensource para el desarrollo de aplicaciones web, lo que est ayudando mucho a que la expansin y el desarrollo de este lenguaje estn siendo muy altos. Java es un lenguaje orientado a objetos, lo que quiere decir que pertenece al paradigma de programacin en el que se manejan elementos como clases, objetos, etc. y define su comportamiento y sus relaciones. Por tanto, un programa en este lenguaje estar formado por distintos mdulos que sern ms fciles de escribir, mantener y reutilizar.
Pag.35
Documento FINAL
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. Adems, el uso de este patrn aade otras ventajas como son el uso de ficheros de configuracin xml para indicar la lgica de la aplicacin (strutsconfig.xml), control interno de formularios (la lgica y el manejo de errores ya no se encuentra en las pginas JSP sino en el propio cdigo) lo que ayuda a que las pginas JSP se dediquen simplemente a mostrar informacin y no contienen ningn tipo de lgica de negocio.
Pag.36
Documento FINAL
Struts tambin cuenta incluido con Tiles, un framework de generacin de vistas que permite realizar plantillas a partir de las cuales se generarn distintos tipos de pginas con esa misma estructura. Cuenta con un fichero de configuracin (tiles-def.xml), en el que se indican todas las plantillas y sus relaciones. Las plantillas pueden ser extendidas, de forma que a partir de una base comn, se pueden realizar nuevas pantallas con personalizaciones propias. Otras libreras que van a ser usadas en la aplicacin sern jasperreports, creada en el proyecto sourceforge, y que permite exportar datos a distintos formatos (PDF, Excel, grficos, etc.) En nuestro caso, se utilizar para generar la salida en PDF de forma online del catlogo de nuestra tienda. Con esta librera generaremos unos ficheros base a partir de ficheros xml con la estructura deseada, que se utilizarn posteriormente en la composicin. Adems, para la controlar la gestin de conexiones a la BBDD, se ha recurrido a la librera tambin opersource de Poolman, que gestionar las distintas conexiones que se realizan a la BBDD, y por tanto se encargue de abrir las necesarias, cerrar las que ya no se usan, etc.
b) SUBSISTEMAS DE LA APLICACIN
Tal y como se analiz en el documento previo, se van a dividir la aplicacin en 3 subsistemas principales: Subsistema de Catalogo Subsistema de Administracin Subsistema de Informes.
Pag.37
Documento FINAL
Subsistema de Catlogo
Descripcin En este subsistema se van a englobar todas las acciones que los usuarios o compradores pueden realizar cuando acceden a la aplicacin. Estas acciones son las siguientes: Consulta del catlogo Online navegando por las distintas categoras de las que est compuesto. Bsqueda directa de artculos segn las especificaciones indicadas. Generacin y exportacin en fichero PDF de las zonas del catlogo por donde navega el usuario. Escoger y aadir artculos con los que ir rellenando la solicitud de pedido. Darse de alta como usuario comprador para poder enviar pedidos. Realizar la actualizacin de sus datos de usuario. Consultar el histrico de pedidos realizados hasta el momento y cul es su situacin actual.
Con el fin de que el aprendizaje del uso de la herramienta sea lo ms fcil y rpido posible, se han diseado la aplicacin para que cualquier accin que quiera hacer el usuario est lo ms clara posible y est accesible con un simple clic del ratn. La estructura de las pantallas es casi siempre la misma, simplemente cambiando la informacin que aparece en el centro de la pantalla, lugar normalmente destinado a la informacin especfica de la seccin en que nos encontremos. El resto elementos, como el men general a la izquierda, o la indicacin de la seccin en que nos encontramos, cabeceras, etc. seguirn apareciendo en los mismos lugares, por lo que el usuario podr navegar de unas secciones a otras desde cualquier pantalla. El perfil del usuario es el que va a determinar qu opciones tendr disponibles y cules no, ya que si el usuario no est identificado en el sistema, no podr realizar pedidos o consultar un histrico de pedidos, aunque s que podr realizar todo el resto de acciones como consultar el catlogo o descargarlo en PDF.
Pag.38
Documento FINAL
En este subsistema se van a englobar todas las acciones que los usuarios o compradores pueden realizar cuando acceden a la aplicacin. A continuacin mostramos el diagrama de clases gestoras y entidades que utilizar la aplicacin para este subsistema:
Pag.39
Documento FINAL
Usuario -idUsuario : string -login : string -password : string -nombre : string -cc : string -direccion : string -telefono : string -poblacion : string -codigopostal : string -provicia : string -DNI -email Estados -idEstado : int -nombre : string * Solicitud * -idSolicitud : int -nombre : string -fechaAlta : Date -Fin3 -Fin6 *
-Fin2
-Fin1
* -Fin4 *
-Fin7
* -Fin9
-idArtculo : int -nombre : string * -Fin12 -Fin11 Catlogo -idCatalogo : int -nombre : string -Fin14 -Fin13 * * * * *
* * -Fin17
-Fin18
Pag.40
Documento FINAL
Rellenar formulario
rio ua Us ta Al
:PantallaAltaUsuario
GestorUsuario
Usuario
M os tra
s ato rD ba ro mp Co
PantallaAltaUsuario
Consulta de Catlogo:
Buscar Artculos:
Pag.41
Documento FINAL
Exportar PDF:
PantallaCategora
Ex
Elegir Catlog o
c Re
tos Da ibir
r rta po
GestorCatalogo
ato s
Usuario
PantallaArtculos
FicheroPDF
Enviar Pedido:
Buscar
Comprobar Datos
PantallaOKPedido
Comprador
Consultar Pedidos:
Pag.42
Crear fichero
r ta or xp E
Documento FINAL
Subsistema de Administracin
Descripcin En este subsistema se van a englobar todas las acciones que los administradores pueden realizar cuando acceden a la aplicacin en modo de edicin de datos. Estas acciones son las siguientes: Alta, Baja, Modificacin de Usuarios. Alta, Baja, Modificacin de categoras. Alta, Baja, Modificacin de Artculos Cancelacin, Modificacin de Pedidos.
Tal y como hemos indicado en el anterior subsistema, tanto en el diseo de las pantallas como la distribucin de opciones se ha intentado buscar la facilidad y la rapidez en las tareas de administracin, que sin tener en cuenta esta situacin podran llegar a ser muy tediosas. Este tipo de usuario va a tener, adems de las funciones de administracin, las mismas funcionalidades que un usuario que no est registrado salvo que no podr crear solicitudes ni enviar pedidos, ya que no se considera que estos usuarios deban poder realizar estas acciones.
Diagramas de clases del subsistema En este subsistema se van a englobar todas las acciones que los usuarios administradores pueden realizar cuando acceden a la aplicacin. A continuacin mostramos el diagrama de clases gestoras y entidades que utilizar la aplicacin para este subsistema:
Pag.43
Documento FINAL
Roles -idRole : int -nombre : string Usuario PantallaGestionUsuario -idUsuario : string -login : string -password : string -nombre : string -cc : string -direccion : string -telefono : string -poblacion : string -codigopostal : string -provicia : string -DNI -email
GestorUsuarios PantallaAccesoPedidos
Estados -idEstado : int -nombre : string dbHelper Acciones GestorPedidos Pedido -idPedido : int -nombre : string -fechaAlta : Date
GestorCatlogo PantallaAccesoCatalogo
Pag.44
Documento FINAL
Usuario -idUsuario : string -login : string -password : string -nombre : string -cc : string -direccion : string -telefono : string -poblacion : string -codigopostal : string -provicia : string -DNI -email Estados -idEstado : int -nombre : string -Fin3 -Fin6 *
* -Fin9
-Fin15
-Fin16
* * -Fin17
-Fin18
Pag.45
Validar Datos
Documento FINAL
Consulta de Categoras:
Consulta Categoras
Enviar Datos
GestorCatalogo
Administrador
PantallaEdicinCategora
Administrar Artculos:
Validar Datos
Administrar Pedidos:
Consulta Pedidos
Enviar Datos
GestorPedidos
Administrador
PantallaEdicinPedidos
Pag.46
Documento FINAL
Subsistema de Listados
Descripcin En este subsistema se van a englobar todas las acciones que los administradores pueden realizar a la hora de sacar estadsticas sobre los datos de la tienda. Los tipos de informacin que se van a definir en una primera fase de este desarrollo van a ser: Listados de Usuarios. Listados de Artculos Listados de Pedidos.
Aunque siempre se hable de usuarios administradores, realmente va a tratarse como si fuera un tipo especial de estos, y aunque cualquier administrador podr acceder a los informes, no todos los tipos de administradores podrn acceder a las opciones de administracin de datos.
Diagramas de clases del subsistema En este subsistema se van a englobar todas las acciones que los administradores pueden realizar cuando acceden a la aplicacin. A continuacin mostramos el diagrama de clases gestoras y entidades que utilizar la aplicacin para este subsistema:
Pag.47
Documento FINAL
Roles -idRole : int -nombre : string Usuario PantallaGestionUsuario -idUsuario : string -login : string -password : string -nombre : string -cc : string -direccion : string -telefono : string -poblacion : string -codigopostal : string -provicia : string -DNI -email
GestorUsuarios PantallaAccesoPedidos
Estados -idEstado : int -nombre : string dbHelper Acciones GestorPedidos Pedido -idPedido : int -nombre : string -fechaAlta : Date
GestorCatlogo PantallaAccesoCatalogo
Pag.48
Documento FINAL
Usuario -idUsuario : string -login : string -password : string -nombre : string -cc : string -direccion : string -telefono : string -poblacion : string -codigopostal : string -provicia : string -DNI -email Estados -idEstado : int -nombre : string -Fin3 -Fin6 *
* -Fin9
-Fin15
-Fin16
* * -Fin17
-Fin18
Listado de Usuario:
Pag.49
Documento FINAL
Listado de Artculos:
Listado de Pedidos:
c) DIAGRAMA ENTIDAD-RELACIN
Atributo
1 1..*
Roles
-Asignado
Usuario
-Pertenece
Solicitu
1 1 * 1 1 1 1 Artculo
0..*
1 1 -Crea
1 1..*
-Situacin
Categoras
Pag.50
Documento FINAL
Artculos-Solicitud idSolicitud, idArtculo, precio Donde idSolicitud es clave fornea hacia Solicitud Donde idArtculo es clave fornea hacia Artculos
Pedido idPedido, nombre, fechaAlta, idSolicitud, idEstado Donde idSolicitud es clave fornea hacia Solicitud Donde idEstado es clave fornea hacia Estados
Artculos-Pedidos idPedido, idArtculo, precio Donde idPedido es clave fornea hacia Pedido Donde idArtculo es clave fornea hacia Artculos
Pag.51
Documento FINAL
Atributo-Artculos idAtributo, idArtculo, valor Donde idArtculo es clave fornea hacia Artculos
Atributo-Categora idAtributo, idCategora, valor Donde idCategora es clave fornea hacia Categora
Artculo-Categora idArtculo, idCategora, orden Donde idCategora es clave fornea hacia Categora
Pag.52
Documento FINAL
Catalogo-Categora idCatalogo, idCategora, orden Donde idCategora es clave fornea hacia Categora
4. IMPLEMENTACION
A la hora de implementar la aplicacin, se ha tenido que montar un equipo de desarrollo en el que se han instalado las siguientes aplicaciones: Un servidor de aplicaciones. En este caso el elegido ha sido TOMCAT en su versin 5. Se descarg desde el sitio http://tomcat.apache.org. Un Gestos de Bases de Datos. El elegido ha sido MySQL en su versin 5.0. Se descarg desde el sitio http://www.mysql.com La mquina virtual Java 1.5.0_09 de Sun, junto con el entorno IDE de desarrollo NetBeans 5.5 descargada desde el sitio http://java.sun.com
En cuanto a los frameworks de desarrollo que han sido usados, son los siguientes: Framework Struts, descargado desde http://struts.apache.org. Este framework es el que nos va a permitir disear una aplicacin siguiendo el formato de 3 capas (Modelo-Vista-Controlador). Framework Jasperreports, descargado desde https://sourceforge.net/projects/jasperreports/. Este framework es el que nos va a permitir disear una salida de datos, en nuestro caso la del catlogo que tenemos en la aplicacin, en formato PDF. Framework poolman, descargado desde https://sourceforge.net/projects/poolman/.Este framework es el que nos va a permitir gestionar las conexiones que se generar hacia la Base de Datos.
Una vez que contamos con todos los elementos, se ha creado un directorio de trabajo llamado Catalogo, donde se ha creado una estructura web de la siguiente manera: /: directorio root de la aplicacin. Slo cuenta con la pgina inicial(index.jsp) que arranca el uso de la aplicacin al acceder al contexto dentro del servidor de aplicaciones.
Pag.53
Documento FINAL
/jsp: directorio que contiene las pginas jsp de la aplicacin. Dentro de este directorio se han diferenciado las pginas genricas de las plantillas y de las pantallas de ayuda. /css: directorio que contiene la definicin de tipos de letra, colores, etc. siguiendo el estandar css. Tambin contiene la definicin de datos para la salida en PDF. /images: directorio que contiene las imgenes base de la aplicacin. /reportXML: directorio que contiene las definiciones que van a ser usadas para la creacin de los ficheros PDF. Estas definiciones estn dentro de ficheros con extencisn .jasper. /fichero: directorio que contiene los ficheros pertenecientes a la ejecucin de la aplicacin, y la pgina inicial perteneciente a la empresa. Dentro de este directorio se guardan los ficheros PDF generados (en el directorio reportes), los ficheros adjuntos asociados a los productos (en el directorio adjuntos) y las imgenes pertenecientes a la empresa a la que pertenece la aplicacin (dentro del directorio images). Dentro de este ltimo directorio, se encuentran tambin las imgenes de las categora y productos que componen su catlogo. /WEB-INF: directorio que contiene las definiciones de datos tld para los tipos de tags que van a ser usados dentro de las pginas jsp, as como los ficheros de configuracin utilizados en la aplicacin, como el strutsconfig.xml, tiles-def.xml o validation.xml. /WEB-INF/lib: directorio que contiene las libreras de cdigo que van a ser usadas para la ejecucin de la aplicacin. Dentro de este directorio se incorporan las de los frameworks indicados con anterioridad de Struts, poolman y jasperreports. /WEB-INF/classes: directorio que contiene las clases que han sido desarrolladas para la ejecucin de la aplicacin. Tambin contiene la definicin de los textos que han sido traducidos a distintos idiomas, y que van a permitir que la aplicacin pueda aparecer en una lengua distinta, segn la configuracin local del usuario que acceder a la aplicacin. Dentro de este directorio tambin se encuentra la definicin del mtodo de acceso de poolman (poolman.xml) /WEB-INF/classes/com/UOC/TFC/Actions: directorio que contiene las clases que definen la capa de negocio de la aplicacin segn el esquema de Struts.
Pag.54
Documento FINAL
/WEB-INF/classes/com/UOC/TFC/Forms: directorio que contiene las clases de definicin de beans para los formularios de la aplicacin, junto con su control de errores. /WEB-INF/classes/com/UOC/TFC/Models: directorio que contiene las clases de definicin de beans para los datos que va a utilizar la capa de negocio. /WEB-INF/classes/com/UOC/TFC/Utils: directorio que contiene la clase de acceso a datos directos. Es la nica que tiene acceso directo a la BBDD. /WEB-INF/classes/com/myapp: directorio que contiene los ficheros de textos por idiomas.
5. DESPLIEGUE
Una vez desarrollada la aplicacin, se procede a desplegar sobre el entorno de QA, que nos permitir tanto realizar las pruebas fuera del entorno de desarrollo, como las pruebas de despliegue sobre un entorno estndar sin parametrizar. Estas pruebas se han realizado sobre dos entornos distintos: Entorno con Sistema Operativo Windows, servidor de aplicaciones JBoss 4.0.5 y mquina virtual java 1.5 Entorno con Sistema Operativo Linux, servidor de aplicaciones TOMCAT 5, y mquina virtual java 1.4.2_04
En ambos casos la base de datos ha sido MySQL ya que es la definida para usar en esta aplicacin. El procedimiento en ambos casos ha sido el mismo: Se ha creado un fichero war que contiene la aplicacin completa con la estructura sealada en el apartado anterior sin datos de prueba. Se ha colocado este fichero war en el directorio de aplicacin de cada servidor de aplicaciones: tomcat/webapps en el caso de TOMCAT y jboss/server/default/deploy/catalogo Se han revisado los parmetros de configuracin de la aplicacin: o Fichero struts-config.xml:
<set-property property="httpPort" value="xxxx"/>
Pag.55
Documento FINAL
Se debe introducir el puerto en el que se escucha el servidor de base de datos, y el usuario creado para acceso a la base de datos catalogo. A continuacin, ejecutamos la importacin del fichero crear_catalogo.sql en el gestor de bases de datos, lo que crear una base de datos llamada catalogo con todos sus elementos. Habr que crear un usuario de acceso segn la especificacin del punto anterior. Una vez arrancados tanto el gestor de base de datos como el servidor de aplicaciones, se accede mediante navegador web a la aplicacin, segn definicin que hayamos hecho de cada servidor.
6. VALORACION Y CONCLUSIONES
Una vez que la aplicacin ya ha sido desarrollada y est funcionando en un entorno estable, llega el momento de sacar ciertas conclusiones sobre el proceso que se ha seguido en el proceso hasta llegar a este punto y si se han conseguido los puntos que inicialmente se queran cubrir. En cuanto a la consecucin de los objetivos iniciales, se ha conseguido el crear un sitio web ligero, intuitivo para los usuarios que tienen que acceder a l para realizar sus compras, y aportando una labor comercial adems de la prctica de compras. La aplicacin cuenta con las opciones bsicas para la tramitacin de pedidos y consulta de los productos de la empresa, as como un rea de administracin bsica de los datos que componen la plataforma. Tambin se ha conseguido que la adaptacin del producto a cualquier tipo de cliente o tienda sea muy fcil. Para ello, no se ha tenido en cuenta ningn tipo especial de productos/catlogos en el anlisis, sino que se han definido elementos genricos que puedan englobar cualquier configuracin. Es por ellos que, por ejemplo, los atributos de los productos, salvo los bsicos, no estn incluidos dentro de una relacin externa. De esta manera, se podrn cargar tanto atributos y del tipo necesario como se desee. Otro objetivo cubierto ha sido la de la mxima parametrizacin posible, de forma que el producto sea adaptable a las necesidades del usuario en cuanto a
Pag.56
Documento FINAL
configuracin de colores corporativos, tipos de letra, logotipos, banners, etc. Simplemente sustituyendo los ficheros por los convenientes, se podra convertir el mismos producto, en otro distinto, slo manteniendo la estructura bsica de las pginas. Esto permite mucha potencia a la aplicacin a la hora de poder ser utilizada por la mayor cantidad posible de clientes con mnimos cambios en ficheros y que no requieren cambios de cdigo. Tambin se ha conseguido, ya hablando de su estructura interna, componer todas estas funcionalidad usando siempre cdigo abierto y herramientas Open Source, con las ventajas ya conocidas de menor coste monetario, cdigo no desconocido para futuros desarrollos, etc. Por una parte, aunque en diferentes ocasiones personalmente he tenido que pasar por todas las fases que han compuesto el desarrollo de aplicaciones, nunca haba tenido que ponerme en el lugar de tantos roles distintos en un mismo proyecto, lo que ha supuesto una muy buena experiencia. En cuanto a las valoraciones personales del trabajo realizado para este proyecto, principalmente tengo que destacar el paso por cada una de las fases de las que se ha compuesto el proyecto por ejemplo, que normalmente la toma de requisitos en un proyecto suele estar llevada a cabo por perfiles ms comerciales, que intentan recoger por parte del usuario final la visin de sus necesidades, y que necesitan plasmarlas de un modo lo ms claro posible. En este punto an no se tiene mucha visin sobre las posibilidades que se tendrn al final de poder conseguirlo, por ello es importante que estas personas tengan un conocimiento tcnico que les permitir, al menos a primera vista, intuir lo que supone tomar elecciones frente al usuario. 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. Adems, muchas veces esta misma persona es la que se encarga de llevar estos diagramas a un entorno ms tecnolgico, donde ya se tomarn muchas ms decisiones, como la arquitectura de software que se va a utilizar, arquitectura hardware necesaria, lenguaje de programacin que mejor se ajusta, etc. Y con estas decisiones, realizar un nuevo diseo de cmo traducir los elementos del anlisis funcional a una realidad ms concreta. El siguiente paso lo darn los programadores que, al recibir este diseo tcnico, debern pasar a la prctica todo lo que en l contiene. Dentro del desarrollo, adems, se deben tener en cuenta las pruebas unitarias que se realizan con cada parte del cdigo, junto con unas pruebas integradas cada vez que es necesario que varios mdulos interacten entre si.
Pag.57
Documento FINAL
Una vez que el desarrollo est finalizado, es el turno del departamento de QA el realizar pruebas integradas de todo el conjunto, siguiendo las especificaciones dadas en los documentos de anlisis, y son los que, finalmente, debern de validar que el producto realizado cumple con la calidad que se le supone. Por tanto, en un mismo proyecto hemos tenido que realizar todas estar labores, lo que creo que nos ayuda a ver las necesidades y dificultades que cada persona/rol tiene a la hora de realizar su labor, segn el trabajo que la etapa anterior ha realizado. Creo que este es uno de los puntos importantes que ms he sacado personalmente de este trabajo. Tambin hay un elemento que tambin ha influido y que es muy caracterstico de la vida real, como es el cumplir una planificacin y unos plazos ya preestablecidos. No ha sido fcil cumplir estos hitos ya que, tampoco es fcil prever las dificultades y problemas que siempre ocurren y que no entran dentro de las previsiones iniciales, lo que lleva a una presin extra para poder cumplir con lo establecido con el cliente. En cuanto al trabajo en si mismo, aunque siempre es posible mejorar, creo que estoy bastante satisfecho del trabajo realizado en el tiempo que se ha dispuesto. Creo que algunos de los objetivos que me propuse desde que comenz el proyecto se han cumplido, como son el realizar un cdigo fcilmente ampliable y soportable, una aplicacin que fuera gil en su uso y lo ms estndar posible para que fuera independiente de elementos externos como el servidor de aplicaciones, el sistema operativo, etc. Dentro de las posibles mejoras, y tomando en cuenta elementos ya introducidos en los anlisis realizados, se podra tener en cuenta una mejor gestin de los pedidos, incluyendo la gestin de expediciones de estos; mejoras en el look&feel de la aplicacin; integracin con una aplicacin de gestin de stocks de almacn para el control de artculos; etc. En definitiva, creo que el trabajo ha sido muy duro durante estos meses, pero el resultado ha merecido la pena, tanto por lo que actualmente es, como por las posibilidades futuras que tiene.
7. BIBLIOGRAFA Y DOCUMENTACIN
Para la realizacin del proyecto, se han utilizado distintas fuentes tanto informativas como de componentes.
Pag.58
Documento FINAL
Las principales han sido: java.sun.com. Pgina principal de Sun donde se puede descargar toda la informacin sobre la mquina virtual java, en nuestro caso la jdk 1.5, su documentacin y el entorno de desarrollo IDE Netbeans. tomcat.apache.org: Pgina principal del servidor de aplicaciones Tomcat, junto com la documentacin asociada. Este servidor pertenece al proyecto Apache, basado en tecnologa Open Source. struts.apache.org: Pgina principal del framework de desarrollo struts, donde se puede descargar tanto los desarrollos bsicos como la documentacin asociada. Pertenece tambin al proyecto Apache. Labs.jboss.com: Pgina principal del servidor de aplicaciones JBoss. www.mysql.com: Pgina principal del Gestor de Bases de datos MySQL. Tambin se puede encontrar documentacin asociada y aplicaciones para su mejor control. Tambin est basado en codigo OpenSource. sourceforge.net/projects/jasperreports: Pgina principal del proyecto Jasperreports dentro del grupo Sourceforge, donde se puede obtener los ficheros bsicos y documentacin para poder realizar desarrollos basados en este framework para la extraccin de informacin en diversos formatos. Este grupo aporta varios proyectos basados en cdigo OpenSource, entre ellos los dos usados en ente proyecto. sourceforge.net/projects/poolman: Pgina principal del proyecto poolman dentro del grupo Sourceforge, donde se puede obtener los ficheros bsicos y documentacin para poder realizar desarrollos basados en este framework para la gestin de pools de conexin contra Bases de Datos. http://www.java-source.net: Portal sobre desarrollo de aplicaciones Open Source. http://www.programacion.net/java/tutorial/joa_struts: Manual bsico de programacin utilizando el framework Struts. http://www.ariba.com: Empresa dedicada al desarrollo de productos de e-commerce en J2EE para grandes empresas. http://www.fnac.es: Portal de compras en Internet de una gran superficie. Utilizado como ejemplo de lo que podra ser una tienda en Internet.
Pag.59
Documento FINAL
http://www.elcorteingles.es: Portal de compras en Internet de una gran superficie. Utilizado como ejemplo de lo que podra ser una tienda en Internet.
Adems de los elementos anteriormente referidos, se ha realizado mucha labor de investigacin en cuanto a bugs en aplicaciones, correccin de posibles errores, etc. participando en foros y leyendo documentacin repartida por la Internet respecto a los distintos temas que han sido objeto durante este proyecto.
Pag.60