Top Banner

of 60

Proyecto Tienda Virtual

Jul 22, 2015

Download

Documents

armand05
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Proyecto para una tienda On-Line Documento FINALAlumno Santiago Gonzlez ITIG Consultor Javier Ferr Garca Fecha de entrega: 16/01/07

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag. 2

Proyecto de tienda On-Line

Documento FINAL

1. INTRODUCCINEl 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).

Santiago Gonzlez Prieto

Pag. 3

Proyecto de tienda On-Line

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 ANLISISEsta 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.

a) DESCRIPCIN DEL PROYECTO A DESARROLLARDado que se trabajar con arquitectura cliente/servidor, el software resultante del proyecto estar ubicado en un servidor perteneciente a la tienda, al cual se acceder va Internet. Cada uno de los usuarios tendr ordenadores conectados a Internet y el software necesario para poder desarrollar su actividad ser un navegador. Resumiendo, el software resultante del proyecto, permitir el mantenimiento de los datos de los artculos, catlogos, usuario, etc., el tratamiento de las datos informes pedidos por las empresas anunciadoras y facturacin correspondiente -, la gestin de los pedidos que realicen los distintos usuarios de la herramienta y, finalmente, el acceso de todo usuario validado en el aplicativo mediante conexin remota o propia.

b) RESUMEN DEL ANLISISTeniendo en cuenta la funcionalidad que se podr obtener de la aplicacin, a continuacin se describe brevemente las soluciones presentadas en este anlisis y su alcance concreto para cada uno de estos bloques:

CatlogosLa 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

Proyecto de tienda On-Line

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.

CompraLa 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 datosDeber 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 informacinLa 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

Santiago Gonzlez Prieto

Pag. 5

Proyecto de tienda On-Line

Documento FINAL

c) SEGURIDAD EN EL SISTEMADebido 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.

.

d) DIAGRAMAS Y CASOS DE USOEn este captulo se describe cada uno de los procesos principales del sistema y sus procesos subordinados. En cada apartado se presenta grficamente la relacin entre el proceso principal y sus subordinados, as como los casos de uso de cada uno de ellos. Los casos de uso subordinados se han realizado en forma de tabla para que puedan servir como base para la realizacin en una fase posterior de una batera de pruebas sobre el sistema.

A continuacin se presenta la lista de casos de uso aplicables al desarrollo de la aplicacin:

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

Santiago Gonzlez Prieto

Pag. 6

Proyecto de tienda On-Line

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

CU-001-001 - Proceso general de uso de la aplicacinA continuacin se esboza el escenario funcional de la plataforma para general la idea completa de uso de la plataforma.

Santiago Gonzlez Prieto

Pag. 7

Proyecto de tienda On-Line

Documento FINAL

1. Identificacin Identificador: Ttulo: CU-001-002 Identificacin en la aplicacin

Santiago Gonzlez Prieto

Pag. 8

Proyecto de tienda On-Line

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

1. Identificacin Identificador: Ttulo: CU-001-003 Bsqueda de Artculos en el Catlogo

Santiago Gonzlez Prieto

Pag. 9

Proyecto de tienda On-Line

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

1. Identificacin Identificador: Ttulo: CU-001-004 Consultar 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

Santiago Gonzlez Prieto

Pag.10

Proyecto de tienda On-Line

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

1. Identificacin Identificador: Ttulo: CU-001-005 Aadir Artculos a Solicitud

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.

Santiago Gonzlez Prieto

Pag.11

Proyecto de tienda On-Line

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.

El sistema indica al usuario que se ha procedido a aadir el artculo a su solicitud de compra

4. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-001-006 Enviar Pedido

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.

Santiago Gonzlez Prieto

Pag.12

Proyecto de tienda On-Line

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

4. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-001-007 Consultar Pedidos

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

Santiago Gonzlez Prieto

Pag.13

Proyecto de tienda On-Line

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

4. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-001-008 Exportar catlogo

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

Santiago Gonzlez Prieto

Pag.14

Proyecto de tienda On-Line

Documento FINAL

3. Descripcin Funcional del Proceso Paso 4. Accin El sistema indica al usuario que se descargue el fichero generado

4. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-001-009 Alta de comprador

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

Santiago Gonzlez Prieto

Pag.15

Proyecto de tienda On-Line

Documento FINAL

4. Informacin adicional Casos de subordinados: uso

CU-002-001 - Proceso general de administracin de la aplicacinA continuacin se esboza el escenario funcional de la plataforma para administrar los distintos datos que se encuentran en la plataforma

1. Identificacin Identificador: Ttulo: CU-002-002 Identificacin en la aplicacin

2. Caractersticas

Santiago Gonzlez Prieto

Pag.16

Proyecto de tienda On-Line

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

1. Identificacin Identificador: Ttulo: CU-002-003 Administrador de Usuarios

Santiago Gonzlez Prieto

Pag.17

Proyecto de tienda On-Line

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.

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 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

Santiago Gonzlez Prieto

Pag.18

Proyecto de tienda On-Line

Documento FINAL

5. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-002-004 Administrador de Catlogo

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.

Santiago Gonzlez Prieto

Pag.19

Proyecto de tienda On-Line

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

5. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-002-005 Administrador de Artculos

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

Santiago Gonzlez Prieto

Pag.20

Proyecto de tienda On-Line

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.

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 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

5. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-002-006 Administrador de Pedidos

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

Santiago Gonzlez Prieto

Pag.21

Proyecto de tienda On-Line

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

4. Informacin adicional Casos de subordinados: uso

CU-003-001 - Proceso general de listados de la aplicacinA continuacin se esboza el escenario funcional de la plataforma para el seguimiento de la actividad en el sistema mediante listados de los distintos datos que se encuentran en la plataforma:

Santiago Gonzlez Prieto

Pag.22

Proyecto de tienda On-Line

Documento FINAL

CU-003-002 Identificacin en la aplicacin

uses

extends extends

uses

CU-003-003 Informe de Usuarios

extends

uses uses CU-003-004 Informe de Artculos

Administrador

CU-003-005 Informe de Pedidos

1. Identificacin Identificador: Ttulo: CU-003-002 Identificacin en la aplicacin

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

Santiago Gonzlez Prieto

Pag.23

Proyecto de tienda On-Line

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

1. Identificacin Identificador: Ttulo: CU-003-003 Informe de Usuarios

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

Santiago Gonzlez Prieto

Pag.24

Proyecto de tienda On-Line

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.

4. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: CU-003-004 Informe de Artculos

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

Santiago Gonzlez Prieto

Pag.25

Proyecto de tienda On-Line

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.

4. Informacin adicional Casos de subordinados: uso

1. Identificacin Identificador: Ttulo: 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 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

Santiago Gonzlez Prieto

Pag.26

Proyecto de tienda On-Line

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.

4. Informacin adicional Casos de subordinados: uso

e) DIAGRAMAS DE ESTADO/COLABORACION/SECUENCIAEn 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:

Santiago Gonzlez Prieto

Pag.27

Proyecto de tienda On-Line

Documento FINAL

Diagrama de colaboracin::

Santiago Gonzlez Prieto

Pag.28

Proyecto de tienda On-Line

Documento FINAL

Diagrama de secuencia::

f) DIAGRAMA ESTTICOEn 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.

.

Santiago Gonzlez Prieto

Pag.29

Proyecto de tienda On-Line

Documento FINAL

g) DIAGRAMA DE PAQUETESEn 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 Acciones del Sistema

Gestor de informes

Gestor de accesos a BBDD

Gestor de Entidades

h) DISEO DE PANTALLASA 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.

Santiago Gonzlez Prieto

Pag.30

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag.31

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag.32

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag.33

Proyecto de tienda On-Line

Documento FINAL

3. FASE DE DISEOLos 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.

a) DISEO ARQUITECTNICO Arquitectura J2EELa arquitectura que se va a utilizar, como ya se ha indicado, se va a basar en la especificacin 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.

Santiago Gonzlez Prieto

Pag.34

Proyecto de tienda On-Line

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.

Patrones J2EE utilizadosPara 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, vamos a utilizar otros varios para distintas partes de la aplicacin. En el caso del diseo general de la aplicacin, utilizaremos uno que ya lleva varios aos siendo usado, y que adems es uno

Santiago Gonzlez Prieto

Pag.35

Proyecto de tienda On-Line

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.

En un diagrama de cmo funciona una aplicacin en un framework Struts sera:

Santiago Gonzlez Prieto

Pag.36

Proyecto de tienda On-Line

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 APLICACINTal 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.

A continuacin vamos se va a describir en detalle cada uno de estos sistemas.

Santiago Gonzlez Prieto

Pag.37

Proyecto de tienda On-Line

Documento FINAL

Subsistema de CatlogoDescripcin 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.

Diagramas de clases del subsistema

Santiago Gonzlez Prieto

Pag.38

Proyecto de tienda On-Line

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:

A continuacin mostramos el diagrama detallado de clases entidad del subsistema:

Santiago Gonzlez Prieto

Pag.39

Proyecto de tienda On-Line

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 *

Pedido -idPedido : int -nombre : string -fechaAlta : Date -Fin5

Fin1 Fin2 Roles -idRole : int -nombre : string *

*

-Fin7

* -Fin9

*

* -Fin8 -Fin10 Artculos -Fin15 -Fin16

Atributo -idAtributo : int -nombre : string -valor : string -fechaAlta : Date

-idArtculo : int -nombre : string * -Fin12 -Fin11 Catlogo -idCatalogo : int -nombre : string -Fin14 -Fin13 * * * * *

* * -Fin17

Categoras -idCategoria : int -nombre : string

-Fin18

Diagramas colaboracin del subsistema Alta de Usuario:

Santiago Gonzlez Prieto

Pag.40

Proyecto de tienda On-Line

Documento FINAL

Rellenar formulariorio ua Us ta Al

:PantallaAltaUsuario

GestorUsuario

Usuario

M os tra

r

s ato rD ba ro mp Co

PantallaAltaUsuario

Consulta de Catlogo:

Buscar Artculos:

Santiago Gonzlez Prieto

Pag.41

Proyecto de tienda On-Line

Documento FINAL

Exportar PDF:PantallaCategora

Ex

Elegir Catlog o

c Re

tos Da ibir

r rta po

Elegir categora :PantallaCategora GestorCatlogoRe cib ir D

GestorCatalogoato s

Usuario

PantallaArtculos

FicheroPDF

Enviar Pedido:Buscar

Enviar Datos :PantallaEnvioPedido GestorPedidos

Comprobar Datos

PantallaOKPedido

Comprador

Consultar Pedidos:

Santiago Gonzlez Prieto

Pag.42

Crear fichero

r ta or xp E

Proyecto de tienda On-Line

Documento FINAL

Subsistema de AdministracinDescripcin 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:

Santiago Gonzlez Prieto

Pag.43

Proyecto de tienda On-Line

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

Artculos PantallaAccesoArtculos -idArtculo : int -nombre : string

Atributo -idAtributo : int -nombre : string -valor : string -fechaAlta : Date

GestorCatlogo PantallaAccesoCatalogo

Categoras -idCategoria : int -nombre : string

Catlogo -idCatalogo : int -nombre : string

A continuacin mostramos el diagrama detallado de clases entidad del subsistema:

Santiago Gonzlez Prieto

Pag.44

Proyecto de tienda On-Line

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 *

*

Pedido -Fin4 * -idPedido : int -nombre : string -fechaAlta : Date -Fin5

Fin1 Fin2 Roles -idRole : int -nombre : string * -Fin10

* -Fin9

*

Atributo -idAtributo : int -nombre : string -valor : string -fechaAlta : Date

Artculos -idArtculo : int -nombre : string

-Fin15

-Fin16

* -Fin12 -Fin11 Catlogo -idCatalogo : int -nombre : string -Fin14 -Fin13 * * * * *

* * -Fin17

Categoras -idCategoria : int -nombre : string

-Fin18

Diagramas colaboracin del subsistema Administracin de Usuario:

Santiago Gonzlez Prieto

Pag.45

Validar Datos

Proyecto de tienda On-Line

Documento FINAL

Consulta de Categoras:Consulta CategorasEnviar Datos

Modificar Datos PantallaEdicinCategora GestorCatlogo

GestorCatalogo

Administrador

PantallaEdicinCategora

Administrar Artculos:

Validar Datos

Administrar Pedidos:Consulta Pedidos

Enviar Datos

Modificar Datos PantallaEdicinPedidos GestorPedidosValidar Datos

GestorPedidos

Administrador

PantallaEdicinPedidos

Santiago Gonzlez Prieto

Pag.46

Proyecto de tienda On-Line

Documento FINAL

Subsistema de ListadosDescripcin 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:

Santiago Gonzlez Prieto

Pag.47

Proyecto de tienda On-Line

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

Artculos PantallaAccesoArtculos -idArtculo : int -nombre : string

Atributo -idAtributo : int -nombre : string -valor : string -fechaAlta : Date

GestorCatlogo PantallaAccesoCatalogo

Categoras -idCategoria : int -nombre : string

Catlogo -idCatalogo : int -nombre : string

A continuacin mostramos el diagrama detallado de clases entidad del subsistema:

Santiago Gonzlez Prieto

Pag.48

Proyecto de tienda On-Line

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 *

*

Pedido -Fin4 * -idPedido : int -nombre : string -fechaAlta : Date -Fin5

Fin1 Fin2 Roles -idRole : int -nombre : string * -Fin10

* -Fin9

*

Atributo -idAtributo : int -nombre : string -valor : string -fechaAlta : Date

Artculos -idArtculo : int -nombre : string

-Fin15

-Fin16

* -Fin12 -Fin11 Catlogo -idCatalogo : int -nombre : string -Fin14 -Fin13 * * * * *

* * -Fin17

Categoras -idCategoria : int -nombre : string

-Fin18

Diagramas colaboracin del subsistema

Listado de Usuario:

Santiago Gonzlez Prieto

Pag.49

Proyecto de tienda On-Line

Documento FINAL

Listado de Artculos:

Listado de Pedidos:

c) DIAGRAMA ENTIDAD-RELACINAtributo

1 1..*

Roles

-Asignado

Usuario

-Pertenece

Solicitu

1 1 * 1 1 1 1 Artculo

1

0..*

1

1 1 -Crea

0..1 1 Estados 1 0..* Pedido 1 1 1 1..* 1 Catlogo 1 *

1 1..*

-Situacin

Categoras

1

Santiago Gonzlez Prieto

Pag.50

Proyecto de tienda On-Line

Documento FINAL

Descripcin de los atributosUsuario idUsuario, DNI, nombre, direccion, provincia, codigopostal, poblacin, cc, telefono, email, idRol, login, password Donde idRole es clave fornea hacia Roles

Roles idRol, nombre

Solicitud idSolicitud, nombre, fechaAlta

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

Santiago Gonzlez Prieto

Pag.51

Proyecto de tienda On-Line

Documento FINAL

Estados idEstado, nombre

Atributo idAtributo, nombre

Artculos idArtculo, nombre

Atributo-Artculos idAtributo, idArtculo, valor Donde idArtculo es clave fornea hacia Artculos

Categoras idCategora, nombre

Atributo-Categora idAtributo, idCategora, valor Donde idCategora es clave fornea hacia Categora

Artculo-Categora idArtculo, idCategora, orden Donde idCategora es clave fornea hacia Categora

Catalogo idCatalogo, nombre

Santiago Gonzlez Prieto

Pag.52

Proyecto de tienda On-Line

Documento FINAL

Catalogo-Categora idCatalogo, idCategora, orden Donde idCategora es clave fornea hacia Categora

4. IMPLEMENTACIONA 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.

Santiago Gonzlez Prieto

Pag.53

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag.54

Proyecto de tienda On-Line

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. DESPLIEGUEUna 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:

Santiago Gonzlez Prieto

Pag.55

Proyecto de tienda On-Line

Documento FINAL

Se debe introducir el puerto en el que se escucha el servidor de aplicaciones. o Fichero poolman.xml:com.mysql.jdbc.Driver jdbc:mysql://localhost:xxxx/catalogo xxxxxx xxxxxxx

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 CONCLUSIONESUna 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

Santiago Gonzlez Prieto

Pag.56

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag.57

Proyecto de tienda On-Line

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 DOCUMENTACINPara la realizacin del proyecto, se han utilizado distintas fuentes tanto informativas como de componentes.

Santiago Gonzlez Prieto

Pag.58

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag.59

Proyecto de tienda On-Line

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.

Santiago Gonzlez Prieto

Pag.60