Está en la página 1de 155

Ttulo:

Tienda virtual con gestor de contenidos para la taberna lEspinaler 1/1 Ivn Navarro Gonzlez Jorge Arranz Villegas Manel Guerrero Zapata Arquitectura de Computadors (AC) 7 de Enero de 2010

Volumen: Alumno: Director: Ponente: Departamento: Fecha:

DATOS DEL PROYECTO Ttulo del Proyecto: Tienda virtual con gestor de contenidos para la taberna lEspinaler.

Nombre del estudiante: Titulacin: Crditos: Director: Ponente: Departamento:

Ivn Navarro Gonzlez Ingeniera Informtica Superior 37,5 Jorge Arranz Villegas Manel Guerrero Zapata Arquitectura de Computadors (AC)

MIEMBROS DEL TRIBUNAL Presidente: Vocal: Secretario: Xavier Martorell Bofill Rosa Maria Jimnez Gmez Manel Guerrero Zapata

CALIFICACIN Calificacin numrica: Calificacin descriptiva: Fecha:

Agradecimientos

Me gustara aprovechar este apartado mostrar mi ms sincero agradecimiento a las personas que han hecho posible la realizacin de este proyecto: A mi familia, en especial a mi padre, mi madre y mi hermana, que siempre me han apoyado y me han dado todas las facilidades para que pueda llegar hasta aqu, as que gran parte del mrito es suyo. A mi novia, por su comprensin y cario, que ha sido una parte fundamental en mi vida y me ha dado nimos para seguir adelante. A mis amigos, por las risas y buenos ratos que hemos pasado y que han servido para desconectar del trabajo. A Equalid Solutions, que ha confiado en m y me ha dado la oportunidad de realizar este proyecto. A toda su plantilla, por la ayuda aportada y por hacer ms llevadero el da a da. A mis compaeros y profesores que he conocido en la universidad, que han contribuido en mi formacin y me han aportado los conocimientos necesarios para empezar a desenvolverme en el mundo laboral. A lEspinaler y al resto de implicados en el proyecto, por toda la colaboracin ofrecida y por permitir que este proyecto se hiciera realidad.

Gracias.

ndice
NDICE.................................................................................................................................................... 7 1. INTRODUCCIN ................................................................................................................................ 9 1.1. CONTEXTO ............................................................................................................................................ 9 1.2. NECESIDADES DEL NEGOCIO .................................................................................................................... 10 1.3. OBJETIVOS DEL PROYECTO ...................................................................................................................... 12 1.4. CICLO DE VIDA Y ALCANCE DEL PROYECTO .................................................................................................. 13 1.5. ESTUDIO DE ALTERNATIVAS Y VIABILIDAD ................................................................................................... 15 1.6. ESTUDIO DE MERCADO .......................................................................................................................... 16 1.7. PLANIFICACIN .................................................................................................................................... 18 1.8. PRESUPUESTO ..................................................................................................................................... 19 2. ANLISIS ......................................................................................................................................... 21 2.1. REQUISITOS FUNCIONALES TIENDA ........................................................................................................... 22 2.2. REQUISITOS NO FUNCIONALES TIENDA ...................................................................................................... 25 2.3. REQUISITOS FUNCIONALES ADMIN ........................................................................................................... 26 2.4. REQUISITOS NO FUNCIONALES ADMIN ...................................................................................................... 33 3. ESPECIFICACIN ............................................................................................................................. 35 3.1. MODELO ENTIDAD-RELACIN................................................................................................................. 35 3.2. MODELO DE CASOS DE USO .................................................................................................................... 39 4. DISEO ........................................................................................................................................... 99 4.1. ARQUITECTURA DE LA SOLUCIN ............................................................................................................. 99 4.2. CAPA DE NEGOCIO .............................................................................................................................. 100 4.3. CAPA DE PRESENTACIN ...................................................................................................................... 107 4.4. CAPA DE DATOS ................................................................................................................................. 111 5. IMPLEMENTACIN ....................................................................................................................... 119 5.1. TECNOLOGAS UTILIZADAS .................................................................................................................... 119 5.2. HERRAMIENTAS UTILIZADAS.................................................................................................................. 121 5.3. IMPLEMENTACIN DE LA BASE DE DATOS ................................................................................................. 122 5.4. IMPLEMENTACIN DEL ADMIN .............................................................................................................. 123 5.5. IMPLEMENTACIN DE LA TIENDA ........................................................................................................... 132 6. PRUEBAS ...................................................................................................................................... 139 7. REVISIN DE LA PLANIFICACIN ................................................................................................... 141 8. CONCLUSIONES ............................................................................................................................ 145 8.1. RESULTADOS OBTENIDOS ..................................................................................................................... 145 8.2. CONCLUSIONES PERSONALES ................................................................................................................ 149 8.3. PRXIMOS PASOS ............................................................................................................................... 150 8.4. VALORACIN PERSONAL ...................................................................................................................... 151 9. GLOSARIO..................................................................................................................................... 153 10. BIBLIOGRAFA ............................................................................................................................... 155

1. Introduccin
1.1. Contexto
La taberna Ca lEspinaler es una PYME dedicada a la venta y comercializacin de conservas de alta calidad, que dispone de una gran variedad de productos ideales para vermuts y aperitivos, as como vinos, cavas y licores. Gracias a su exhaustiva seleccin de conservas ha constituido finalmente su propia marca de productos que exportan por toda Espaa, siendo la Salsa Espinaler para berberechos y almejas uno de sus productos ms destacados. LEspinaler es un negocio familiar que ha sido transmitido de padres a hijos desde 1896, desarrollando su actividad comercial en la localidad de Vilassar de Mar (Barcelona), donde tiene ubicados sus dos establecimientos: la nave y el estanco. La nave es el local principal, donde se encuentra el almacn, la tienda y la taberna donde hacer el vermut. El estanco es un bar-restaurante especializado en los productos de la tienda situado en las proximidades de la playa. Actualmente, la empresa dispone de un sistema ERP de la empresa Visual Software con el que se gestionan ambas tiendas. Adems disponen de una web sencilla en Flash, donde se da a conocer brevemente la empresa y se pueden descargar varios archivos con productos de la casa. La apariencia de la web es la siguiente:

Figura 1: Pgina de inicio de la antigua web

Este proyecto nace de la necesidad de renovar esta web y crear un sitio nuevo partiendo de cero, por los motivos que se expondrn a continuacin.

1.2. Necesidades del negocio


El sitio web de una empresa es un poderoso canal de comunicacin con los clientes y el mercado potencial. Tambin representa una parte fundamental de la imagen corporativa de la empresa que ayuda a identificar la empresa con unos valores, en este caso los de una tienda con productos naturales y de calidad. La web actual no es del todo robusta, contiene bastantes apartados que no funcionan y se producen errores durante la navegacin, cosa que puede denotar una imagen negativa en los clientes. Por ello se considera necesario potenciar y expandir la imagen de la compaa y los productos de su marca, tanto a nivel nacional como internacional. LEspinaler tambin es consciente de las oportunidades que ofrece el comercio electrnico, ya que una empresa difcilmente puede ser competitiva si no tiene buena presencia en internet. Por ello la empresa ve necesario disponer de una tienda virtual que dispone de numerosas ventajas:

Siempre est abierta, por lo que el cliente puede visitarla cuando quiera. Es accesible desde cualquier lugar del mundo, reduciendo las barreras geogrficas. No requiere dependientes y los costes de mantenimiento son mnimos comparados con los de una tienda fsica.

Otro de los aspectos fundamentales de una web es su posicionamiento natural en los buscadores, ya que se trata del medio ms utilizado para buscar informacin y posiblemente ser la principal fuente de trfico de nuestras visitas. El algoritmo usado para ordenar las pginas en las listas de resultados tiene en cuenta una gran cantidad de factores, como son el contenido de la web, el PageRank (calidad de los enlaces y popularidad de las pginas), el dominio del sitio, los metatags de las pginas (ttulo, descripcin, palabras clave, etc.) o que el cdigo fuente de la web sea accesible y facilite la indexacin a los robots. Por lo tanto no sirve de mucho tener una web espectacular si la mayora del pblico potencial no llega a encontrarla, ya que los usuarios de internet raramente pasan de las primeras pginas cuando realizan una bsqueda. De aqu la importancia de obtener un buen posicionamiento, cosa que no termina de conseguir la web actual implementada en Flash ya que los robots que indexan las pginas todava no interpretan del todo bien esta tecnologa.

Otra necesidad es que la web actual no dispone de ningn sistema para gestionar su contenido y resulta complicado realizar cualquier modificacin sin tener nociones de programacin. La dificultad en el mantenimiento de la web es evidente y ha contribuido a que las pginas se encuentren frecuentemente desactualizadas.

10

Un claro ejemplo de la falta de mantenimiento queda patente en algunas imgenes de la web que han quedado desfasadas, como la siguiente que an tiene los precios en pesetas:

Figura 2: Imagen desactualizada de la web antigua

La empresa ya dispona de un sistema ERP con el que se gestionan todas las tiendas (productos, ventas, clientes, etc.). Para mantener una gestin eficiente y centralizada de todos los datos comunes, se requerir una tienda online que se mantenga sincronizada con este sistema. Adems, se aprovechar la implantacin de la web para intentar optimizar algunos procesos de la empresa y suplir algunas carencias detectadas en el sistema de gestin actual: Crear una nueva jerarqua de productos ms completa y prctica para la web. Desglosar toda la informacin que hay en la descripcin de los productos en diferentes campos que permita filtrarlos y clasificarlos debidamente. Gestionar la informacin de los catlogos en mltiples idiomas, cosa que permitir la internacionalizacin de la empresa. Realizar un control de stock ms riguroso, ya que los indicadores que tienen no son fiables debido a constantes traspasos entre tiendas no contabilizados. Realizarn sesiones fotogrficas de la tienda y del gnero.

Por lo tanto, podemos concluir que sus necesidades reales consistirn en la renovacin de su web por un sitio con contenido dinmico y fcilmente gestionable, bien posicionado en las bsquedas por internet y que permita la compra de sus productos. Se trata por lo tanto de una inversin que se ver amortizada a medio plazo gracias a las ventas conseguidas. 11

1.3. Objetivos del proyecto


El proyecto consistir en generar un sistema web compuesto por: Un Front Office, con el que interactuarn los consumidores, formado por una web corporativa y una tienda online. En la web podrn encontrar informacin acerca de la empresa y en la tienda podrn acceder a los catlogos de productos y realizar sus compras. Se tratar de un sitio web multiidioma, atractivo, amigable y con buen rendimiento, y permitir obtener un buen posicionamiento en las bsquedas por internet. Un Back Office, formado por un gestor de contenidos que permitir al administrador gestionar toda la informacin del sistema. El Back Office ser sencillo, seguro y fcil de usar, y mantendr sincronizados los datos necesarios con el ERP implantado en la empresa. Podemos ver un esquema del planteamiento:

Figura 3: Esquema del planteamiento del proyecto

Desde el punto de vista de lEspinaler, los objetivos bsicos por los que se ha contratado el proyecto sern llevados a cabo por cada uno de los dos elementos del Front Office: La misin de la web corporativa ser la de renovar, reforzar y expandir la imagen corporativa de la compaa a nivel nacional e internacional, con el fin de abarcar un mayor segmento del mercado. Se tratar de un sitio dinmico y atractivo, que muestre a los visitantes los valores de la taberna Espinaler y el ambiente que en ella se respira. La misin de la tienda online ser la de generar ventas a travs del comercio electrnico que incrementen los beneficios de la empresa. Otro de los objetivos consistir en destacar y dar a conocer los productos de la tienda, especialmente los de la propia marca Espinaler.

12

1.4. Ciclo de vida y alcance del proyecto


LEspinaler desea remplazar la web actual y comenzar a usar el nuevo sistema lo ms rpidamente posible, aunque slo conocen los requisitos esenciales que debe cumplir y necesitarn cierto margen de flexibilidad durante su desarrollo. Por este motivo se ha decidido adoptar una metodologa basada en el modelo evolutivo incremental, en el cual se generar una primera versin del sistema que cumpla con las caractersticas solicitadas y que tenga una buena base para ser mejorado y ampliado progresivamente. As, a medida que avance el proyecto y el cliente vea resultados tangibles se podrn terminar de detallar sus necesidades reales y obtener finalmente una versin completa del sistema, minimizando los riesgos de construir un sistema grande y complejo de inicio.

Figura 4: Esquema del desarrollo evolutivo incremental

Los principales beneficios que se obtienen con este modelo son: Es ms simple y comporta menos riesgos construir un sistema pequeo que vaya aumentando su nmero de funcionalidades. Se obtienen resultados tangibles del sistema y se puede obtener una realimentacin por parte del usuario final. Se validan los requerimientos en una fase temprana, permitiendo detectar errores o carencias, y redisear el sistema sin que comporte una desviacin tan importante. En caso de detectar un error importante se puede recuperar una versin anterior del sistema y seguir trabajando con ella mientras se corrige. El sistema puede ser adaptado a las necesidades ms inmediatas del negocio y del consumidor.

13

El desarrollo incremental es totalmente compatible con el modelo en cascada, ya que se trata bsicamente de una iteracin de este modelo para cada incremento del sistema y se podrn gestionar como tal.

Se aprovechar esta metodologa para ir haciendo entregas parciales del sistema, primero con el Back Office para que los administradores puedan empezar a trabajar con l, y posteriormente de la nueva web corporativa, el catlogo virtual y el proceso de compra. El alcance de este proyecto consistir entonces en construir una versin de la tienda que satisfaga las necesidades actuales y cuyas funcionalidades puedan ser ampliadas en un futuro en funcin de los resultados obtenidos y de la experiencia del usuario con el sistema.

14

1.5. Estudio de alternativas y viabilidad


Hoy en da las tecnologas han avanzado y es posible crear sitios web completos en multitud de ellas: ASP, PHP, Coldfusion, Flash, etc. Sin embargo, las ms utilizadas y recomendadas para implementar un sitio de mayor complejidad son: Tecnologa Java: J2EE es una compleja plataforma empresarial para desarrollar aplicaciones multicapa basndose en componentes de software modulares. Incluye especificaciones API para JDBC, RMI, Servicios Web o XML, adems de los Enterprise JavaBeans, Servlets y JavaServer Pages. Se trata de una tecnologa robusta, potente, estandarizada, segura y multiplataforma. Tecnologa .Net: Plataforma de desarrollo de software de Microsoft, ms reciente que la plataforma Java, permite un desarrollo rpido de aplicaciones gracias al .Net Framework, que incorpora numerosas clases que simplifican el desarrollo. Adems de ser una plataforma robusta y segura, soporta mltiples lenguajes de programacin y cuenta con el entorno de desarrollo ms potente del mercado: Microsoft Visual Studio. Tecnologa LAMP: Combinacin de Linux (sistema operativo), Apache (servidor web), MySQL (gestor de bases de datos) y PHP, Perl o Python (lenguaje de programacin). Es un entorno de cdigo abierto, barato y con buen rendimiento, pero no tan potente como los anteriores.

Para almacenar la informacin del sistema existen distintos SGBD, como SQL Server, MySQL. Oracle, Access o PostgreSQL. Sobre el gestor de contenidos, cabe decir que ya existen CMS prediseados que ofrecen la posibilidad de crear y administrar sitios Web con un formato determinado, como son phpNuke o OsCommerce. No obstante, su nivel de personalizacin es limitado y se ha preferido realizar un desarrollo a medida para implementar una herramienta de gestin acorde a las necesidades. Finalmente, para el pago de las compras por internet existen diferentes posibilidades: TPV Virtual, PayPal o transferencia bancaria. Por lo tanto, se han valorado diferentes posibilidades y podemos estar seguros que el proyecto que planteamos es completamente viable, como mnimo en cuanto a tecnologa se refiere. Se deja para el apartado de implementacin determinar cules sern las tecnologas ms apropiadas para llevar a cabo el proyecto.

15

1.6. Estudio de mercado


Es importante tener referencias de cmo se han posicionado en internet otras empresas importantes del sector y que puedan tener una importante cuota de mercado. A continuacin se pueden ver la web de tres empresas dedicadas al comercio de conservas: Conservas Dani: www.dani.es

Conservas Cuca: www.conservascuca.es

16

Conservas Serrats: www.serrats.com

Se han comparado y analizado las webs de la competencia, valorando diferentes funcionalidades que pueden resultar interesantes para una tienda virtual con el fin de conocer un poco mejor el estado de este negocio en internet:

Dani
Multiidioma Informacin corporativa Noticias Recetas Catlogo virtual Buscador Promociones Registro de usuarios Proceso de compra URLs semnticas Tecnologa S S S S S S NO NO NO NO PHP

Cuca
NO S S S S NO NO NO NO NO PHP

Serrats
S S S S S NO NO S S S ASP

17

1.7. Planificacin
En la planificacin del proyecto se detallan los pasos que se llevarn a cabo para conseguir los objetivos del proyecto. La primera etapa consistir en analizar los requerimientos y realizar un diseo global del sistema. Se ha considerado clave esta etapa para tener el proyecto bien definido y planificado antes de empezar su desarrollo, con el fin evitar retrasos y problemas inesperados. Una vez diseado el proyecto, lo primero a desarrollar ser el gestor de contenidos. De esta forma el administrador de la web podr empezar a preparar el contenido y familiarizarse con el sistema. Adems, cuando comience el desarrollo de la tienda ya dispondremos de datos reales con los que trabajar y se podrn adaptar mejor sus valores.

Figura 5: Planificacin inicial del proyecto

La fecha del lanzamiento del proyecto es el 29 de Abril del 2009. El calendario laboral ser de media jornada (20h semanales) hasta el 19 de Junio y jornada completa (40h semanales) hasta la finalizacin del proyecto, prevista para el 19 de Agosto del 2009. 18

1.8. Presupuesto
Una vez hecha la planificacin del proyecto y habiendo estimado las horas necesarias para llevarlo a cabo, se calcular el presupuesto del proyecto. El proyecto ser llevado a cabo por un desarrollador, cuyo coste se valorar en 35/h.
Horas Personal 484 h Precio hora 35 Importe 16.940

Tambin es necesario considerar los costes de amortizacin de hardware y software, pues con el paso del tiempo se produce una depreciacin de estos activos. Para el desarrollo del proyecto se ha utilizado un porttil HP Compaq 7620s valorado en 900. Se ha trabajado con licencias de MS Windows XP Professional y MS Visual Studio 2008 Standard Edition, valoradas en 123 y 259 respectivamente. Podemos ver los costes de una amortizacin aplicando su coste lineal mximo durante la duracin del proyecto, en funcin de las tablas de amortizacin del impuesto de sociedades1:
Coeficiente lineal mximo 25% 33%

Valor Hardware Software 900 382

Uso 113 das 113 das

Amortizacin 70 39

Los costes referentes a la explotacin de la web y la base de datos no han sido tenidos en cuenta puesto que se reutilizarn los servidores compartidos de la compaa que ya han sido amortizados con otros proyectos. Por lo tanto el coste total del proyecto ser de 17049 :
Concepto Personal Hardware Software Total Coste 16.940 70 39 17.049

Fuente: BOE Nm. 189 Pg. 28429: http://www.boe.es/boe/dias/2004/08/06/pdfs/A28377-28429.pdf

19

20

2. Anlisis
Una exhaustiva toma de requisitos es clave para definir y delimitar de forma precisa el funcionamiento del sistema, formalizando un contrato con el cliente a travs del cual pueda validar que realmente se satisfacen sus necesidades. Adems, el hecho de tener esta fase bien elaborada permitir luego desarrollar el modelo de casos de uso de manera casi directa. Para realizar la toma de requisitos de forma eficiente, se han ido organizando reuniones con el cliente y sus colaboradores, sobre las cuales se redactan actas que se envan a todos los asistentes para obtener su conformidad. Con ello se pretende dejar constancia de lo que se ha comentado durante la reunin, y luego tener argumentos a la hora de justificar las decisiones tomadas as como de disponer de documentos de consulta en caso de dudas posteriores. De este modo se han ido recopilando y definiendo todos los requisitos que debe cumplir el sistema, obteniendo en todo momento una visin global que permita aclarar imprecisiones o posibles inconsistencias.

Diferenciaremos dos tipos de requisitos: Requisitos funcionales: Definen el comportamiento especfico del software, es decir, qu debe hacer exactamente la aplicacin. Requisitos no funcionales: Complementan los anteriores describiendo cualidades y restricciones de las operaciones sistema, centrndose en caractersticas de diseo e implementacin.

Primero empezaremos por especificar qu requisitos tendr la tienda online y posteriormente pasaremos a definir qu requisitos deber cumplir el mdulo que la gestiona, a partir de ahora mencionado como Admin.

21

2.1. Requisitos funcionales Tienda


Estructura de las pginas
Todas las pginas tendrn una estructura comn que contendr: Logotipo de la empresa Idiomas disponibles. Buscador de productos. Men corporativo. Men del catlogo de productos. Carrito de la compra. Pie de pgina con informacin de contacto. Se podr volver siempre a la pgina de inicio clickando en el logotipo. Se podr cambiar el contenido de la pgina actual al idioma seleccionado. Se podrn buscar productos a partir de unas determinas palabras o acceder a un buscador ms avanzado. Se podrn consultar enlaces de notas legales, condiciones de envo y poltica de privacidad, que se mostrarn en ventanas independientes.

Men corporativo
El men corporativo estar compuesto por las siguientes secciones con informacin acerca de la empresa: Las tiendas: Contendr fotografas y textos sobre sus establecimientos y permitir alternar entre los dos que tiene la empresa: Nave y Estanco. Historia: Mostrar la evolucin de la empresa desde sus inicios, mostrando un ttulo, una fotografa y una descripcin en diferentes pocas. Aucas: Son unas vietas o tiras cmicas que narran la historia de lEspinaler. Tendr una introduccin y la imagen con las aucas, que se podr ampliar. Dnde estamos?: Contendr el horario de apertura, datos de contacto y un mapa interactivo de su ubicacin, y permitir alternar entre los dos establecimientos. Noticias: Contendr diferentes noticias referentes a la empresa, ordenadas por las ms recientes, y se podrn filtrar por mes y ao. El Vermutillo: Contendr consejos sobre cmo hacer un buen vermut, con posibilidad de convertirlo en un enlace a un futuro blog.

22

Catlogo virtual
El catlogo virtual contendr la informacin de todos los artculos que se vayan a vender en la tienda. La jerarqua del catlogo estar organizada en: Categoras: Primer nivel del catlogo, cada una de ellas se divide en distintas familias. Familias: Segundo y ltimo nivel del catlogo, estn compuestas por un conjunto de productos de caractersticas similares. Las familias tendrn asociado un tipo de listado (de una o dos columnas), que determinar el formato con el que se mostrarn los listados de productos. Productos: Artculos de una determinada familia que se podrn comprar en la tienda. Agrupaciones: Seleccin de productos que permitir agrupar productos de diferentes familias que se deseen destacar en la web (ofertas, novedades, ms vendidos, etc.). Los usuarios podrn acceder al catlogo para consultar los productos de una familia, de una agrupacin o buscar productos que cumplan determinadas. Las pginas de familias y agrupaciones podrn tener una imagen y una descripcin previamente al listado de sus productos. Los productos de una familia se mostrarn con informacin y distribucin diferente en funcin del tipo de familia a la que pertenezca. Las agrupaciones podrn ser accedidas a travs de banners o como puntos de men en el catlogo. Los productos de agrupaciones y bsquedas se mostrarn en un formato especial que combine la informacin mostrada en los diferentes tipos de listado. Los productos que dispongan de ficha propia contendrn un enlace a ella en el que se mostrarn todos los detalles. Los precios de los productos se mostrarn con IVA incluido. Junto a cada producto siempre habr un botn que lo aada al carrito de la compra. Los listados con muchos productos aparecern paginados, aunque se debe poder ver todos los elementos en la misma pgina.

Fichas de producto
Se trata de pginas que mostrarn informacin detallada sobre un producto concreto: nombre, nombre cientfico, nmero de piezas, nmero de raciones, capacidad, descripcin, precio, etc. Tambin se mostrarn un conjunto de productos recomendados como un buen complemento del producto actual, y en caso de que no queden existencias del producto aparecern una serie de productos sustitutos que puedan ser considerados para comprar en su lugar. Se mostrar toda la informacin del producto. Las imgenes de los productos se podrn ver ampliadas. Se mostrarn los productos recomendados como complementarios. Si no quedan existencias del producto se mostrar el listado de sustitutivos. 23

Buscador de productos
A travs del buscador los clientes podrn ver los artculos que contengan un determinado texto. Existir un buscador avanzado para encontrar artculos que cumplan determinadas restricciones (nombre, descripcin, familia, piezas, raciones, denominacin de origen, capacidad y precio).

Proceso de compra
Durante la compra se mantendr visible el carrito con los productos comprados, sus cantidades y el coste total de los productos. Antes de formalizar la compra se mostrar un resumen del pedido con el IVA desglosado y se podrn consultar los gastos de envo en funcin de la zona y el recargo de equivalencia aplicado en el caso de revendedores. Para realizar la compra los visitantes debern identificarse como clientes, o registrarse si todava no tienen cuenta. Antes de realizar el pago se mostrar un resumen de los costes finales del pedido y la direccin de envo. Una vez pagado el pedido se enviar un email de confirmacin al cliente con toda la informacin de la compra, con copia oculta al encargado de los pedidos.

Registro de usuarios
Los usuarios se identificarn a travs de su direccin de correo electrnico. Se guardar informacin acerca de su nombre, apellidos, DNI, telfono, empresa, domicilio, direccin de recepcin de pedidos, observaciones, si es autnomo, si es cliente de las tiendas Espinaler, si ha comprado productos de la marca y si est interesado en recibir promociones. Cuando un usuario se de de alta se le enviar un email de bienvenida con los datos de contacto introducidos. Los clientes podrn consultar sus datos de contacto y rectificarlos. En caso de olvidar la contrasea se podr solicitar el envo al email de una nueva generada aleatoriamente. La contrasea podr cambiarse desde la web introduciendo la antigua.

24

2.2. Requisitos no funcionales Tienda


Estandarizacin La web deber de visualizarse y tener el mismo comportamiento en los exploradores ms importantes: Internet Explorer, Mozilla Firefox, Google Chrome, Safari y Opera. Deber visualizarse correctamente en una resolucin de pantalla de 800x600 pxels o superior. Las pginas debern cumplir con los estndares CSS y XHTML. Las pginas debern estar adaptadas y ser accesibles para invidentes y robots de los buscadores Usabilidad La navegacin en la web ser intuitiva y amigable, siendo fcil de usar incluso para personas no habituales en internet. Todas las pginas tendrn una estructura comn para que el visitante se sienta siempre orientado durante su navegacin La web ser atractiva y agradable visualmente, acorde a las indicaciones dadas por el diseador de lEspinaler La interaccin con el usuario dentro de una misma pgina no la refrescar completamente en cada cambio (uso de AJAX). Modularidad Debe ser un sistema escalable, pudiendo aadir fcilmente nuevas funcionalidades (mejoras en el catlogo, secciones, registro de usuarios, etc.) Debe ser reusable, pudiendo aprovechar en otras reas las funcionalidades implementadas. Rendimiento Las pginas deben ser giles y tener un tiempo de carga adecuado.

Seguridad El sistema debe cumplir con la Ley Orgnica de Proteccin de Datos de carcter personal (LOPD). Ningn administrador del sistema podr averiguar las contraseas guardadas. Los datos relacionados con las tarjetas de crdito no se registrarn en el sistema y viajarn por la red de forma segura, a travs de un protocolo SSL.

25

2.3. Requisitos funcionales Admin


Las funcionalidades que debe cumplir el gestor de contenidos los podemos organizar conceptualmente en:

Usuarios
Los usuarios son las diferentes cuentas de acceso al mdulo de administracin. Tendrn un nombre, contrasea, fecha de alta, fecha de baja y comentarios. Slo podrn acceder al Admin usuarios identificados. Se podr gestionar el Alta/Baja/Modificacin de usuarios. Se podr buscar usuarios que cumplan determinados requisitos o filtros.

Grupos de usuario
Los grupos de usuario son los diferentes perfiles o roles que pueden tener los usuarios. Un usuario podr pertenecer a varios grupos a la vez. Cada grupo tendr nombre y descripcin, y para cada apartado del Admin se le podr definir un conjunto de permisos (leer, aadir, modificar, eliminar o imprimir registros). Se podr gestionar el Alta/Baja de grupos de usuarios. Se podr buscar categoras que cumplan determinados requisitos o filtros. Se podrn definir los permisos del grupo para Listar, Crear, Modificar, Eliminar registros en cada uno de los principales apartados del administrador. Se podrn gestionar los usuarios que pertenecen a cada grupo.

Idiomas
Todo el contenido de la tienda deber poder traducirse de forma sencilla a mltiples idiomas. Los idiomas tienen un cdigo, un nombre y un cdigo ISO. Se podr gestionar el Alta/Baja/Modificacin de idiomas. Cada idioma podr ser activado o desactivado, permitiendo gestionar todos los textos antes de mostrarlos al pblico. Se podr gestionar el Alta/Baja/Modificacin las traducciones de todos los mensajes y textos auxiliares que aparezcan en la web. Se podr buscar los textos auxiliares que cumplan determinados requisitos o filtros

26

Categoras
Las categoras forman el primer nivel del catlogo y contendrn sus familias y agrupaciones. Tienen cdigo, nombre y la traduccin del nombre en cada idioma. Se sincronizarn los datos bsicos de las categoras desde el ERP. Se podr gestionar el Alta/Baja/Modificacin de categoras ajenas al ERP. Se podrn buscar categoras que cumplan determinados requisitos o filtros. Se podrn activar y desactivar categoras para que aparezcan o no en la web. Se podr definir un orden para las categoras. Cada categora podr tener asociada una imagen que se mostrar como fondo de la web cuando un visitante navegue por una de las familias de la categora.

Familias
Las familias tienen cdigo, nombre, imagen y pertenecen a una sola categora. Para cada idioma tambin disponen de nombre, descripcin y valor nutricional. Cada familia tiene un tipo de listado para sus productos, que puede ser de 1 o 2 columnas, y tendr una imagen por defecto para sus productos. Se sincronizarn los datos bsicos de las familias desde el ERP. Se podr gestionar la Modificacin de familias. El campo descripcin y valor nutricional debern soportar formato HTML. Se podrn buscar familias que cumplan determinados requisitos o filtros. Se podrn activar y desactivar familias para que aparezcan o no en la web. Se podr definir un orden para las familias.

Productos
Los productos disponen de cdigo, nombre, familia, precio, tipo de IVA, peso, peso neto, foto pequea, foto grande, stock de seguridad, si est agotado, si tiene ficha, si requiere caja especial, si est en oferta, si es novedad y si ha quedado obsoleto. Adems, cada producto contiene la siguiente informacin traducida para cada idioma: nombre, nombre cientfico, descripcin, resumen, peso neto, capacidad, nmero de piezas, nmero de raciones, valor nutricional, denominacin de origen, proveedor y clasificacin. Cada producto podr tener asociados un conjunto de productos recomendados como complementarios y un conjunto de productos sustitutos que se ofrecern cuando no queden existencias.

27

Los productos se podrn clasificar en tres tipos: Titulares: Productos que se vendern en la web y estarn siempre accesibles. Suplentes: Productos que slo aparecern en la web cuando sustituyan a uno que se ha agotado. No web: Productos del sistema que no aparecern en la web. La informacin bsica los productos titulares y suplentes se sincronizar desde el ERP. Los productos de tipo No web no se sincronizarn, ya que nunca aparecern en la web. Se podr buscar productos que cumplan determinados requisitos o filtros Se podrn gestionar las imgenes de los productos. Se podrn gestionar los productos recomendados de cada producto. Se podrn gestionar los productos sustitutivos de cada producto. El resumen, la descripcin y el valor nutricional debern soportar formato HTML. Se podr definir para cada producto si tendr ficha propia con informacin detallada. Se podrn activar y desactivar productos para que aparezcan o no en la web. Se podr definir un orden para los productos.

Agrupaciones
Las agrupaciones tienen nombre, una imagen y pueden pertenecer a una categora. Para cada idioma tienen el nombre traducido, una descripcin y la imagen del banner. Podrn aparecer en forma de punto de men, ya sea dentro de una categora o aislado, o en forma de banner. Existen 3 agrupaciones especiales que se calcularn de forma automtica: productos en oferta productos nuevos productos ms vendidos Se podr gestionar el Alta/Baja/Modificacin de agrupaciones. Se podr buscar agrupaciones que cumplan determinados requisitos o filtros. La descripcin deber soportar formato HTML. Se podr definir si la agrupacin aparecer en la web como punto de men y/o banner, o bien permanecer oculta. Se podr definir un orden para las agrupaciones. El sistema mantendr actualizados los productos en oferta, las novedades y los productos ms vendidos en sus respectivas agrupaciones. Se podrn gestionar los productos las agrupaciones y su ordenacin. Se podrn aadir todos los productos de una agrupacin en otra.

28

Imgenes
Las imgenes que se mostrarn en la web deben cumplir una serie de requisitos: Todas las imgenes de la web debern poder subirse, modificarse y borrarse de una forma simple y prctica. Se podrn previsualizar a tamao real las imgenes asignadas a los elementos del catlogo. A todas las imgenes se les podr definir un texto alternativo multiidioma. Se podrn definir para cada idioma las imgenes situadas en determinadas posiciones de la web (logotipo, aucas, logos compra segura, etc.) Se podr gestionar un conjunto de imgenes que sern mostradas aleatoriamente como fondo de la web cada vez que entre una nueva visita. Para cada familia se podr asignar una imagen por defecto que se mostrar en los productos que le pertenezcan cuando no tengan foto asignada. Se podr asignar una foto genrica por defecto que aparecer cuando no exista foto de producto ni familia. Se podr definir una imagen por defecto como fondo de pantalla de la web que se asignar en caso que no haya ninguna en la carpeta de aleatorias. Cuando un producto se encuentre en oferta o novedad se mostrar una imagen sobrepuesta a su fotografa para destacarlo. Para facilitar la gestin de imgenes, se establecer un convenio de modo que si existe alguna con nombre <CodigoProducto>_P.jpg o <CodigoProducto>_G.jpg se vincular automticamente como fotografa pequea (P) y grande (G) del producto con dicho cdigo, en caso de no tener ya una expresamente definida. Se podrn subir imgenes por FTP, arrastrndolas o copindolas en una carpeta.

Secciones
Las secciones corresponden a las partes de la web que requieren mayor flexibilidad y complejidad, como los diferentes puntos del men corporativo, las plantillas de los emails enviados automticamente, etc. Los emails dispondrn de una serie de etiquetas con una nomenclatura especial, que en el caso de insertarse dentro del contenido de la seccin sern remplazados por su valor correspondiente (por ejemplo definir una etiqueta que represente el nombre del cliente destinatario del correo). Se podr visualizar y editar el contenido de las secciones a travs de una interfaz grfica que sea potente y fcil de usar. Adems, se debern poder insertar fcilmente objetos HTML externos, como imgenes, vdeos de Youtube o mapas de GoogleMaps. Se podr visualizar y editar el contenido de los mails de registro de usuario, generacin de nueva contrasea y confirmacin de compra. Se podrn consultar y copiar las etiquetas de una seccin. 29

Se podr gestionar el Alta/Baja/Modificacin de noticias. Las noticias tendrn nombre y fecha, con titular y descripcin en cada idioma. Se podr gestionar el Alta/Baja/Modificacin de historias. Las historias tendrn nombre e imagen, con titular y descripcin en cada idioma.

Clientes
Los clientes son los visitantes registrados en la web, que pueden realizar pedidos. Los clientes se identificarn por email y contrasea. Tambin tendrn nombre, apellidos, D.N.I., empresa, telfono, direccin de factura y de envo, y se guardar otra informacin de inters (si es autnomo, si permite enviarle emails, si es cliente de las tiendas, si ha comprado productos Espinaler o el idioma de su ltima visita) Se podr gestionar el Alta/Baja/Modificacin de clientes. Se podrn buscar clientes que cumplan determinados requisitos o filtros Se podrn enviar los emails de registro y generacin de nueva contrasea de forma manual. Se sincronizarn los datos de los clientes web con el ERP.

Pedidos
Un pedido es el conjunto de artculos adquiridos por un cliente en una misma compra. Los pedidos tienen cdigo, estado, observaciones, datos del cliente que lo realiz, comentarios e informacin calculada del conjunto de lneas que lo forman (costes de envo, IVA, importe final, peso total, peso de productos con caja especial y recargo de equivalencia). Se podr gestionar el Alta/Baja/Modificacin de pedidos. Se podr gestionar el Alta/Baja/Modificacin de lneas de pedido. Las lneas del pedido estn compuestas por un producto, el precio unitario, la cantidad y el importe total de la lnea. Se podrn buscar pedidos que cumplan determinados requisitos o filtros Se podr enviar un email de confirmacin de la compra del pedido de forma manual. Se sincronizarn los datos de los pedidos web con el ERP.

Zonas
Para gestionar la distribucin geogrfica de pedidos se crear un sistema de pases subdivididos por provincias (estados o regiones en su defecto). Cada pas tendr un cdigo, un nombre, su traduccin en cada idioma y una informacin adicional. 30

Las provincias tendrn cdigo, un nombre, y pertenecern a un pas. Las zonas sern la forma de agrupar los lugares a los que se realizarn los envos y estarn compuestas por un conjunto de provincias. A cada zona se le definirn un conjunto de portes sobre los cuales se calcularn los gastos de envo, que consistirn en intervalos de peso con un coste asociado y un suplemento por Kg. adicional en caso de sobrepasar el lmite superior. Paralelamente, para productos que requieran transporte en caja especial, en cada zona se podrn gestionar dos valores, peso y coste, que definirn automticamente intervalos lineales, es decir, cada X Kg. aadir Y . Entonces para realizar un pedido, en la direccin de envo se deber indicar la provincia o pas a la que pertenece para poder calcular los gastos automticamente. Se podr gestionar el Alta/Baja/Modificacin de pases. Se podrn buscar pases que cumplan determinados requisitos o filtros. Se podr gestionar el Alta/Baja/Modificacin de provincias. Se podrn buscar provincias que cumplan determinados requisitos o filtros Se podr gestionar el Alta/Baja/Modificacin de zonas. Se podr buscar zonas que cumplan determinados requisitos o filtros Se podrn gestionar las provincias que pertenecen a cada zona y se le podrn aadir directamente todas las que pertenezcan a un determinado pas. Se podr gestionar el Alta/Baja/Modificacin de los portes de cada zona.

Transportistas
Los transportistas son las compaas encargadas de llevar los pedidos a los clientes. Cada zona podr tener un transportista asignado, que dispondr de nombre y telfono de contacto. Se podr gestionar el Alta/Baja/Modificacin de transportistas.

Posicionamiento web
En todas las pginas de la web que vayan a ser indexadas se podrn definir los principales atributos o tags que influyen en el posicionamiento: Ttulo: Frase que debe ser nica en el sitio y describir en pocas palabras de lo que trata una determinada pgina. El ttulo identifica la pgina y es visible en la ventana del explorador, en los resultados de las bsquedas o en los Favoritos. Palabras clave (KeyWords): Conjunto de palabras o criterios de bsqueda que definen principalmente la pgina y se compararn con las palabras introducidas por el usuario. Meta-Descripcin: Resumen del contenido de la pgina que debe ser nico en el sitio y se visualizar en los resultados de las bsquedas.

31

El buen uso de estos tags mejorar la posicin en la que aparecen las pginas del sitio en las bsquedas por internet. Se podrn definir el ttulo, palabras clave y meta-descripcin de todas las pginas de la web que deban posicionarse (secciones, familias, productos, agrupaciones y buscador de productos). Para aquellas no posicionables, que no se encontrarn en los buscadores, ser suficiente con poder definir el ttulo. Se recopilar informacin sobre las visitas de la web y se gestionarn a travs de una cuenta de Google Analytics.

Parametrizacin del sistema


La web no debe ser rgida y deber tener un conjunto de variables que se podrn configurar desde el BackOffice: Valores seleccionados por defecto (idioma y pas). Descuento aplicado a todos los productos de la web. Nmero de elementos mostrados en los listados de tienda y en los de Admin. Cuentas de email de la empresa. Porcentaje del recargo de equivalencia aplicado a revendedores. Precio de la oferta en los portes. Valor mnimo del pedido para aplicar la oferta en los portes. Porcentaje de IVA aplicado a los gastos de envo. Posibilidad de vender productos suplentes. Smbolo de la moneda. Se podrn gestionar los valores de los distintos parmetros del sistema. Adems, se pretende almacenar informacin para poder mantener un control de cambios. Para todo elemento del sistema se guardar su fecha de alta y ltima modificacin, as como el usuario que la realiz.

32

2.4. Requisitos no funcionales Admin


El sistema ser accedido a travs del navegador web del cliente: Microsoft Internet Explorer, versin 6 o posterior. Ha de tener una navegacin gil e intuitiva. Debe de tener un rendimiento aceptable, sin necesidad que sea ptimo. Las contraseas no se almacenarn directamente en base de datos, sino que se guardar su Hash para validar credenciales. Se realizarn frecuentemente copias de seguridad de la Base de Datos.

33

34

3. Especificacin
Una vez analizados los requisitos del proyecto la siguiente etapa es la especificacin, en la cual se describir qu har y cmo funcionar el sistema sin llegar a definir todava cmo implementarlo.

3.1. Modelo Entidad-Relacin


Estos modelos expresan entidades relevantes para un sistema de informacin as como sus interrelaciones y propiedades. Se definen en UML, un modelo propuesto como estndar usado para construir software orientado a objetos, cuyas principales funciones sern visualizar, especificar, construir y documentar un sistema de forma grfica. Por simplicidad podemos desglosar el modelo en varias reas:

Catlogo virtual
Formado por categoras, familias, agrupaciones y productos con sus respectivos idiomas. Adems se encuentran relaciones entre productos para denotar recomendados y sustitutos.

Figura 6: Modelo E-R Catlogo

35

Pedidos
Los pedidos estn compuestos por varios productos que forman las lneas del pedido y estn encargados por un cliente, en un determinado idioma y van dirigidos a una provincia. Por su parte, en el cliente se mantienen su direccin de factura y su direccin de entrega.

Figura 7: Modelo E-R Pedidos

Las provincias pertenecen a un pas y estn asignadas a una zona. Cada zona tiene definidos un conjunto de portes y puede tener un transportista.

Figura 8: Modelo E-R Zonas

36

Otros
Las secciones tendrn una traduccin para cada idioma. Adicionalmente, los apartados de historia y noticias tendrn sus propias entidades multiidioma:

Figura 9: Modelo E-R Secciones

Los textos auxiliares y las imgenes especiales tambin tendrn sus respectivas clases asociativas con Idioma:

Figura 10: Modelo E-R Imgenes y Textos Auxiliares

Las entidades que correspondan a una pgina posicionable tendrn asociada una pgina web.

Figura 11: Modelo E-R Posicionamiento Web

37

Las constantes del sistema guardarn los valores de configuracin del sistema y no tendrn ninguna relacin. Para todas las entidades vistas se mantendr el control de cambios especificado. Los usuarios del gestor podrn pertenecer a varios grupos y cada grupo tendr unos determinados permisos para cada apartado.

Figura 12: Modelo E-R Seguridad y Constantes

Enumeraciones
Los campos cuyos valores pertenecen a un intervalo de opciones cerrado han sido definidos como tipos Enumeracin:

Figura 13: Enumeraciones del sistema

38

3.2. Modelo de casos de uso


El modelo de casos de uso sirve para definir a los actores o usuarios del sistema y la forma en que interactuarn con l, desde el punto de vista del usuario final. En los diagramas de actores y casos de uso se van a usar las siguientes relaciones: Asociacin: Relacin bsica entre actor y caso de uso, que denota su participacin en l. Generalizacin: Herencia de un actor o caso de uso, donde sus relaciones o comportamiento podrn ser ampliados y refinados en las instancias especializadas. Inclusin: Relacin entre casos de uso que denota la insercin del comportamiento de un escenario dentro de otro, permitiendo agrupar comportamientos comunes. Extensin: Relacin entre casos de uso que denota la ampliacin de un caso de uso con otro escenario que puede ser opcional o sujeto a determinadas condiciones.

Figura 14: Leyenda relaciones caso de uso

Como una relacin de inclusin no puede tener a la vez una relacin de asociacin, sino que slo puede estar incluida dentro de otro caso de uso, con el fin de no repetir comportamiento comn en algunos casos se ha hecho un abuso de lenguaje tratando la generalizacin como una inclusin, por ejemplo en toda modificacin que incluye una consulta previa.

39

Actores del sistema


Los actores son el conjunto de agentes externos que utilizan o se relacionan con el sistema. Un actor puede participar en varios casos de uso y un caso de uso puede interactuar con varios actores. En nuestro caso tenemos a tres agentes humanos (visitante, cliente y administrador) y dos sistemas externos (el ERP y la pasarela de pago). Visitante: usuario que navega de forma annima por la web. Cliente: usuario registrado e identificado por el sistema. Se trata de una especializacin de visitante, por lo que heredar todas sus relaciones. Administrador: persona con acceso al gestor de contenidos que administrar la web. Visual Software: sistema ERP de la empresa, con el que se sincronizar la informacin. TPV Virtual: Pasarela de pago proporcionada por la entidad financiera del cliente a travs de la cual se efectuarn las transacciones bancarias para pagar los pedidos.

TIENDA

ADMIN

ERP

BANCO

Visitante

Administrador

Visual Software

TPV Virtual

Cliente

Figura 15: Actores del sistema

40

Casos de uso
Los casos de uso son representaciones de uno o ms escenarios que describen cmo ser la interaccin entre el sistema y el usuario para alcanzar un nico objetivo o tarea del negocio. Los casos de uso han sido desglosados en funcin del actor con quien interacta, mostrando un diagrama de casos de uso del actor y la definicin o contrato de cada uno de ellos. En el caso del actor administrador, tambin se han clasificado segn la entidad principal con la que relacione. Con el fin de simplificar el modelo de casos de uso, en los casos bsicos de gestin de entidades (alta, baja, consulta y modificacin) que tengan un comportamiento comn no se entrar en un elevado nivel de detalle, de modo que se tratarn sus datos de forma global sin especificar todos sus atributos. En caso de querer obtener ms detalles acerca de stos se podr consultar su entidad en el Modelo Entidad-Relacin mostrado previamente.

Casos de uso Tienda (Visitante)

Consultar seccion Cambiar idioma

Consultar categoria Alta Cliente

Consultar familia Aadir linea carrito Consultar agrupacion

Modificar linea carrito

Buscar Producto

Visitante Eliminar linea carrito

Consultar producto

Vaciar carrito Consultar carrito

Figura 16: Casos de Uso del Visitante

41

Caso de uso Consultar seccin Requisitos asociados Tienda Men corporativo Actor iniciador Visitante Descripcin Se consulta el contenido de una seccin corporativa Precondicin Postcondicin Se muestra el contenido de la seccin por pantalla Curso normal 1. El usuario quiere acceder a una seccin. 2. El sistema muestra las secciones existentes. 3. El usuario elige la seccin deseada. 4. El sistema muestra el contenido de la seccin. Curso alternativo

Caso de uso Consultar categora Requisitos asociados Tienda Catlogo virtual Actor iniciador Visitante Descripcin Se consulta las familias y agrupaciones asociadas a una categora Precondicin La categora est activa. Postcondicin Se muestran las familias y agrupaciones de la categora seleccionada Curso normal 1. El usuario quiere consultar una categora. 2. El sistema muestra las categoras existentes. 3. El usuario elige la categora deseada. 4. El sistema muestra las familias y agrupaciones de la categora. Curso alternativo 5. Extensin Consultar familia

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin

Consultar familia Tienda Catlogo virtual Visitante Se consulta el contenido de una familia La familia est activa. Se muestran la informacin y los productos de la familia seleccionada

Curso normal 1. El usuario quiere consultar una familia. 2. El sistema muestra las familias disponibles. 3. El usuario selecciona la familia deseada. 4. El sistema muestra la informacin de la familia. Curso alternativo 5. Extensin Consultar producto

42

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin

Consultar agrupacin Tienda Catlogo virtual Visitante Se consulta el contenido de una agrupacin La agrupacin est activa. Se muestran la informacin y los productos de la agrupacin seleccionada

Curso normal 1. El usuario quiere consultar una agrupacin. 2. El sistema muestra las agrupaciones disponibles. 3. El usuario selecciona la agrupacin deseada. 4. El sistema muestra la informacin de la agrupacin. Curso alternativo 5. Extensin Consultar producto

Caso de uso Buscar producto Requisitos asociados Tienda Buscador de Productos Actor iniciador Visitante Descripcin Se buscan productos con determinadas caractersticas Precondicin Postcondicin Se muestran los productos que satisfacen las restricciones Curso normal 1. El usuario quiere buscar un artculo. 2. El sistema muestra los posibles filtros para realizar la bsqueda. 3. El usuario introduce los valores deseados. 4. El sistema muestra una lista con los productos que satisfacen la bsqueda. Curso alternativo 4. Si no se define ningn filtro, el sistema muestra un error solicitando algn criterio para buscar productos y se vuelve al punto 3. 5. Extensin Consultar producto

Caso de uso Consultar producto Requisitos asociados Tienda Fichas de productos Actor iniciador Visitante Descripcin Se consulta la informacin de un producto Precondicin El producto est activo, no es obsoleto y dispone de ficha. Postcondicin Se muestra la informacin del producto seleccionado Curso normal 1. El usuario quiere consultar un producto. 2. El sistema muestra los productos disponibles. 3. El usuario selecciona el producto deseado. 4. El sistema muestra la informacin del producto y sus productos recomendados. Curso alternativo 5. Si el producto est agotado se muestran sus productos sustitutos. 43

Caso de uso Consultar carrito Requisitos asociados Tienda Proceso de compra Actor iniciador Visitante Descripcin Se consulta el carrito de la compra actual Precondicin Postcondicin Se muestra el contenido del carrito de la compra Curso normal 1. El usuario quiere consultar el carrito de la compra. 2. El sistema muestra los productos comprados, sus cantidades y sus precios. 3. El sistema muestra el coste total, el IVA y los gastos de envo. Curso alternativo 2. Si no existe ningn producto en el carrito de la compra, el sistema muestra un mensaje explicativo y finaliza el caso de uso. Caso de uso Cambiar idioma Requisitos asociados Tienda Estructura de las pginas Actor iniciador Visitante Descripcin Se cambia el idioma de la web Precondicin Postcondicin La web se actualiza en el idioma elegido Curso normal 1. El usuario quiere cambiar el idioma de la web. 2. El sistema muestra los idiomas disponibles. 3. El usuario selecciona el idioma. 4. El sistema actualiza la informacin de la web con el idioma seleccionado. Curso alternativo 3. Si el idioma coincide con el actual no hace nada y termina el caso de uso. Caso de uso Alta cliente Requisitos asociados Tienda Registro de usuarios Actor iniciador Visitante Descripcin Se da de Alta de un nuevo cliente en el sistema Precondicin Postcondicin El cliente es registrado en el sistema Curso normal 1. El usuario quiere darse de alta en el sistema. 2. El sistema solicita los datos al cliente. 3. El usuario introduce los datos. 4. El sistema valida los datos. 5. El sistema registra el cliente. 6. El sistema enva un email de bienvenida con los datos del registro. Curso alternativo 4. Si ya existe un usuario con el mismo email o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

44

Caso de uso Aadir lnea carrito Requisitos asociados Tienda Proceso de compra Actor iniciador Visitante Descripcin Se aade un producto al carrito de la compra Precondicin Postcondicin Se inserta una unidad de un producto en el carrito Curso normal 1. El usuario quiere aadir un producto al carrito. 2. El usuario selecciona el producto deseado. 3. El sistema aade una nueva lnea al carrito. 4. El sistema muestra todas las lneas del carrito. Curso alternativo 2. Si ya exista otra lnea del carrito con el mismo producto, se incrementa su cantidad en una unidad. Caso de uso Modificar lnea carrito Requisitos asociados Tienda Proceso de compra Actor iniciador Visitante Descripcin Se modifica la cantidad de un producto del carrito Precondicin Debe existir una lnea del carrito con ese producto Postcondicin Se modifica la cantidad de una lnea del carrito Curso normal 1. El usuario quiere modificar la cantidad de un producto del carrito. 2. Inclusin Consultar Carrito. 3. El usuario modifica la cantidad de un producto. 4. El sistema valida la cantidad. 5. El sistema actualiza la lnea. Curso alternativo 2. Si la cantidad no es un nmero entero o es menor a 1, se actualiza con un 1. Caso de uso Eliminar lnea carrito Requisitos asociados Tienda Proceso de compra Actor iniciador Visitante Descripcin Eliminar un producto del carrito Precondicin Debe existir una lnea del carrito para ese producto Postcondicin Se elimina una lnea del carrito Curso normal 1. El usuario quiere eliminar un producto del carrito. 2. Inclusin Consultar Carrito. 3. El usuario selecciona la lnea deseada. 4. El sistema pide confirmacin para borrarlo. 5. El usuario confirma la accin. 6. El sistema elimina la lnea del carrito. Curso alternativo 3. Si el usuario no confirma la accin finaliza el caso de uso. 45

Caso de uso Vaciar carrito Requisitos asociados Tienda Proceso de compra Actor iniciador Visitante Descripcin Vaciar el carrito de la compra Precondicin Debe existir almenos una lnea del carrito Postcondicin Se eliminan todas las lnea del carrito Curso normal 1. El usuario quiere vaciar el carrito. 2. Inclusin Consultar Carrito. 3. El usuario selecciona la opcin de vaciar el carrito. 4. El sistema pide confirmacin para borrar todas las lneas. 5. El usuario confirma la accin. 6. El sistema elimina todas las lneas del carrito. Curso alternativo 3. Si el usuario no confirma la accin, finaliza el caso de uso.

46

Casos de uso Tienda (Cliente)

Iniciar Sesin

Cerrar Sesin

Recuperar contrasea

Cambiar Contrasea

Consultar Cliente TPV Virtual Cliente Modificar Cliente

Realizar Pedido

Pagar Pedido

Efectuar transaccin

Figura 17: Casos de uso del Cliente

Caso de uso Iniciar sesin Requisitos asociados Tienda Registro de usuarios Actor iniciador Cliente Descripcin El usuario inicia sesin en el sistema Precondicin Postcondicin El visitante es identificado como cliente registrado de la tienda Curso normal 1. El usuario quiere identificarse en el sistema. 2. El sistema solicita el email del usuario y la contrasea. 3. El usuario introduce su email y contrasea. 4. El sistema valida los datos. 5. El sistema reconoce el usuario y recupera su informacin. Curso alternativo 2. Si no existe la cuenta o la contrasea es incorrecta, se muestra un mensaje de error y se vuelve al punto 3. 47

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin

Cerrar sesin Tienda Registro de usuarios Cliente El cliente cierra sesin en el sistema El cliente ha iniciado sesin El usuario deja de ser identificado como cliente registrado de la tienda

Curso normal 1. El usuario quiere cerrar sesin en el sistema 2. El sistema pide al usuario que confirme la accin. 3. El usuario confirma. 4. El sistema cierra la sesin del cliente. Curso alternativo 3. Si el usuario no confirma la accin, finaliza el caso de uso.

Caso de uso Cambiar contrasea Requisitos asociados Tienda Registro de usuarios Actor iniciador Cliente Descripcin Cambiar la contrasea de una cuenta Precondicin El cliente ha iniciado sesin Postcondicin El cliente cambia su contrasea de acceso Curso normal 1. El cliente quiere cambiar la contrasea 2. El sistema solicita la antigua contrasea, la nueva contrasea y una repeticin de sta. 3. El usuario introduce los datos 4. El sistema valida los datos 5. El sistema registra la nueva contrasea Curso alternativo 4. Si la contrasea antigua no es correcta, se muestra un mensaje de error y se vuelve al punto 2. 4. Si la repeticin de la contrasea no coincide con la nueva contrasea, se muestra un mensaje de error y se vuelve al punto 2.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Recuperar contrasea Tienda Registro de usuarios Cliente En caso de haberla olvidado su contrasea, el cliente obtiene en su cuenta de email una nueva contrasea generada aleatoriamente. Se enva la nueva contrasea al mail del cliente y se actualiza en el sistema

48

1. 2. 3. 4. 5. 6. 7. 8. 9.

El cliente no recuerda su contrasea y quiere obtener una nueva. El sistema solicita el email al usuario. El usuario introduce su email. El sistema pide al usuario que confirme la accin. El usuario confirma. El sistema valida los datos. El sistema genera una nueva contrasea aleatoria. El sistema enva un email al cliente informndole de la nueva contrasea. El sistema actualiza la contrasea en el sistema.

Curso alternativo 5. Si el usuario no confirma la accin, finaliza el caso de uso. 6. Si el email no es vlido o no existe ninguna cuenta para esa direccin, se muestra un mensaje de error y se vuelve al punto 3. 8. Si se produce un error al enviar el email con la contrasea se muestra un mensaje de error y finaliza el caso de uso.

Caso de uso Consultar cliente Requisitos asociados Tienda Registro de usuarios Actor iniciador Cliente Descripcin El cliente consulta sus propios datos Precondicin El cliente ha iniciado sesin Postcondicin Los datos del cliente son mostrados por pantalla Curso normal 1. El usuario quiere consultar sus datos en el sistema 2. El sistema muestra los datos del cliente Curso alternativo

Caso de uso Modificar cliente Requisitos asociados Tienda Registro de usuarios Actor iniciador Cliente Descripcin El cliente modifica sus datos Precondicin El cliente ha iniciado sesin Postcondicin Los datos del cliente se actualizan en el sistema Curso normal 1. El usuario quiere modificar alguno de sus datos en el sistema. 2. El sistema muestra los datos del cliente. 3. El usuario modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos por el cliente. Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3. 49

Caso de uso Requisitos asociados Actor iniciador Descripcin

Precondicin Postcondicin Curso normal 1. El usuario quiere realizar un pedido con los productos de su carrito. 2. El sistema valida el carrito de la compra. 3. El sistema solicita al cliente los datos de envo del pedido. 4. El usuario introduce los datos. 5. El sistema valida los datos. 6. El sistema registra el pedido y sus lneas como pendientes de pagar.

Realizar pedido Tienda Proceso de compra Cliente El cliente finaliza la compra y genera un pedido con los productos del carrito. El cliente ha iniciado sesin El pedido y todas sus lneas quedan registrados en el sistema

Curso alternativo 2. Si no hay ningn producto en el carrito de la compra, se muestra un mensaje de error y finaliza el caso de uso. 5. Si alguno de los datos del pedido no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El usuario quiere pagar un pedido realizado 2. Inclusin Efectuar transaccin bancaria. 3. El sistema marca el pedido como pagado, muestra un mensaje de confirmacin y enva un mail con los datos de la compra al cliente. 4. El sistema muestra un resumen final del pedido. Curso alternativo 2. Si la pasarela de pago notifica que no ha finalizado la compra correctamente, se muestra un mensaje con el error producido, se registra el error del pedido en el sistema y termina el caso de uso.

Pagar pedido Tienda Proceso de compra Cliente El cliente paga un pedido El cliente ha iniciado sesin. El pedido existe en el sistema y tiene alguna lnea. Se efecta el pago del importe del pedido y se marca como pagado.

50

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin

Efectuar transaccin Tienda Proceso de compra Sistema Se paga el pedido mediante una transaccin bancaria a travs del TPV Virtual. El cliente ha iniciado sesin. El pedido existe en el sistema y tiene alguna lnea. Se efecta el traspaso del importe del pedido de la cuenta del cliente a la cuenta del negocio.

Curso normal 1. El sistema carga la pasarela de pago del banco, informando del pedido y su coste. 2. El banco solicita la tarjeta de crdito y las credenciales requeridas. 3. El cliente introduce los datos solicitados. 4. El banco valida los datos y efecta la transaccin. 5. El banco notifica al sistema que la transaccin finaliz correctamente. Curso alternativo 4. Si alguno de los datos no es vlido, el banco notifica del error al sistema y termina el caso de uso.

51

Casos de uso ERP


El ERP se podr comunicar con la web para actualizar informacin comn a todas las tiendas:
Sincronizar Datos ERP

Sincronizar Datos Web

Visual Software

Figura 18: Casos de uso para Visual Software

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin

Sincronizar datos ERP Tienda - Catlogo virtual Visual Software Sincronizacin de datos del ERP hacia la Web Se actualizan en el sistema los datos de categoras, familias, productos, tipos IVA e idiomas.

Curso normal 1. El ERP quiere sincronizar sus datos hacia la Web 2. El ERP notifica al sistema que realice una actualizacin de datos. 3. El sistema sincroniza los idiomas 4. El sistema sincroniza los tipos de IVA 5. El sistema sincroniza las categoras 6. El sistema sincroniza las familias 7. El sistema sincroniza los productos 8. El sistema notifica al ERP que la carga de datos termin correctamente Curso alternativo

Caso de uso Sincronizar datos Web Requisitos asociados Admin Pedidos; Admin Clientes Actor iniciador Visual Software Descripcin Sincronizacin de datos de la Web hacia el ERP Precondicin Postcondicin Se actualizan en el ERP los datos sobre Clientes y Pedidos. Curso normal 1. El ERP quiere sincronizar los datos de la Web 2. El sistema notifica la informacin de todos los clientes. 3. El sistema notifica la informacin de todos los pedidos pendientes de sincronizar con todas sus lneas. 4. El ERP actualiza sus datos. Curso alternativo

52

Casos de uso Admin

Iniciar Sesion

Cerrar Sesion

Administrador

Figura 19: Casos de uso Administrador (Sesin)

Caso de uso Iniciar Sesin Requisitos asociados Admin Usuarios Actor iniciador Administrador Descripcin El administrador inicia sesin en el sistema Precondicin El administrador no ha iniciado sesin Postcondicin El administrador queda identificado en el sistema Curso normal 1. El administrador quiere iniciar sesin en el sistema. 2. El sistema solicita su nombre y su contrasea. 3. El administrador introduce los datos. 4. El sistema valida los nuevos datos. 5. El sistema identifica al administrador y crea una nueva sesin. Curso alternativo 4. Si no existe un usuario con el nombre y contrasea insertados, se devuelve un mensaje de error y se vuelve al punto 3.

Caso de uso Cerrar sesin Requisitos asociados Admin Usuarios Actor iniciador Administrador Descripcin El administrador cierra la sesin en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El administrador deja de identificarse en el sistema Curso normal 1. El administrador quiere finalizar la sesin en el sistema. 2. El sistema pide al administrador que confirme la accin. 3. El administrador confirma. 4. El sistema elimina la sesin. Curso alternativo 3. Si el administrador no confirma la accin, finaliza el caso de uso

53

Alta Usuario

Baja Usuario

Consulta Usuario Administrador Modificacion Usuario

Figura 20: Casos de Uso del Administrador (Usuarios)

Caso de uso Alta Usuario Requisitos asociados Admin - Usuarios Actor iniciador Administrador Descripcin Creacin de un nuevo usuario en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El usuario queda registrado en el sistema Curso normal 1. El administrador quiere dar de alta un nuevo usuario. 2. El sistema solicita los datos del usuario. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra el usuario. Curso alternativo 4. Si ya existe otro usuario con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de un usuario. 2. El sistema muestra los usuarios existentes. 3. El administrador selecciona el usuario deseado. 4. El sistema muestra los datos del usuario.

Consulta Usuario Admin - Usuarios Administrador Consulta de los datos de un usuario El administrador ha iniciado sesin El usuario existe en el sistema Los datos del usuario son mostrados por pantalla

54

Curso alternativo 2a. El administrador quiere buscar un usuario con determinadas caractersticas. 2b. El sistema solicita los criterios de bsqueda. 2c. El administrador introduce los criterios. 2d. El sistema muestra los usuarios que satisfacen las restricciones. 2e. El caso de uso contina en el punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de un usuario. 2. Inclusin Consulta Usuario. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el usuario.

Modificacin Usuario Admin - Usuarios Administrador Modificacin de los datos de un usuario El administrador ha iniciado sesin El usuario existe en el sistema Los datos del usuario quedan actualizados en el sistema

Curso alternativo 4. Si ya existe otro usuario con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un usuario. 2. El sistema muestra los usuarios existentes. 3. El administrador selecciona el usuario y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el usuario.

Baja Usuario Admin - Usuarios Administrador Eliminacin de un usuario del sistema El administrador ha iniciado sesin El usuario existe en el sistema El usuario es eliminado del sistema

Curso alternativo 6. Si el administrador no confirma la accin, finaliza el caso de uso.

55

Alta Grupo

Baja Grupo

Consulta Grupo Administrador Modificacion Grupo

extends Aadir Usuario

extends Quitar Usuario

Figura 21: Casos de uso del Administrador (Grupos de Usuario)

Caso de uso Alta Grupo Requisitos asociados Admin Grupos de usuario Actor iniciador Administrador Descripcin Creacin de un nuevo grupo de usuarios en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El grupo queda registrado en el sistema Curso normal 1. El administrador quiere dar de alta un nuevo grupo de usuarios. 2. El sistema solicita los datos del grupo. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra el grupo de usuarios. Curso alternativo 4. Si ya existe otro grupo con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Consulta Grupo Admin Grupos de usuario Administrador Consulta de los datos de un grupo de usuarios El administrador ha iniciado sesin El grupo existe en el sistema Los datos del grupo son mostrados por pantalla

56

1. 2. 3. 4.

El administrador quiere consultar los datos de un grupo de usuarios. El administrador muestra los grupos existentes. El administrador selecciona el grupo deseado. El sistema muestra los datos del grupo de usuarios.

Curso alternativo 2a. El administrador quiere buscar un grupo de usuarios con determinadas caractersticas. 2b. El sistema solicita los criterios de bsqueda. 2c. El administrador introduce los criterios. 2d. El sistema lista los grupos que satisfacen las restricciones.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de un grupo de usuarios. 2. Inclusin Consulta Grupo. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el grupo de usuarios.

Modificacin Grupo Admin Grupos de usuario Administrador Modificacin de los datos de un grupo de usuarios El administrador ha iniciado sesin El grupo existe en el sistema Los datos del grupo quedan actualizados en el sistema

Curso alternativo 3. Extensin Aadir Usuario . 3. Extensin Quitar Usuario. 5. Si ya existe otro grupo con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un grupo de usuarios. 2. El administrador muestra los grupos existentes. 3. El administrador selecciona el grupo y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el grupo de usuarios.

Baja Grupo Admin Grupos de usuario Administrador Eliminacin de un grupo de usuarios del sistema El administrador ha iniciado sesin El grupo existe en el sistema El grupo de usuarios es eliminado del sistema

57

Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso. 6. Si el grupo tena registros asociados, se muestra un mensaje de error y finaliza el caso de uso.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere aadir un usuario en un grupo de usuarios. 2. El sistema muestra los usuarios que todava no pertenecen al grupo. 3. El administrador selecciona el usuario y pulsa Insertar. 4. El sistema aade el usuario en el grupo y registra los cambios. Curso alternativo

Aadir Usuario Admin Grupos de usuario Administrador Insercin de un usuario en un grupo de usuarios El administrador ha iniciado sesin El usuario no pertenece al grupo. Se registra la insercin de un usuario en el grupo.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere quitar un usuario de un grupo de usuarios. 2. El sistema muestra los usuarios del grupo actual. 3. El administrador selecciona el usuario deseado y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema quita el usuario del grupo y registra los cambios. Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

Quitar Usuario Admin Grupos de usuario Administrador Eliminacin de un usuario en un grupo de usuarios. El administrador ha iniciado sesin El usuario pertenece al grupo. Se registra la exclusin del usuario en el grupo de usuarios

58

Alta Categoria

Consulta Categoria

Modificacion Categoria Administrador Baja Categoria

Figura 22: Casos de uso del Administrador (Categoras)

Caso de uso Alta Categora Requisitos asociados Admin Categoras Actor iniciador Administrador Descripcin Creacin de una nueva categora en el sistema Precondicin El administrador ha iniciado sesin Postcondicin La categora queda registrada en el sistema Curso normal 1. El administrador quiere dar de alta una nueva categora. 2. El sistema solicita los datos de la categora. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra la categora. Curso alternativo 4. Si ya existe otra categora con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de una categora. 2. El sistema muestra todas las categoras existentes. 3. El administrador selecciona la categora deseada. 4. El sistema muestra los datos de la categora. Curso alternativo

Consulta Categora Admin Categoras Administrador Consulta de los datos de una categora El administrador ha iniciado sesin La categora existe en el sistema Los datos de la categora son mostrados por pantalla

59

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de una categora. 2. Inclusin Consulta Categora 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la categora.

Modificacin Categora Admin Categoras Administrador Modificacin de los datos de una categora El administrador ha iniciado sesin La categora existe en el sistema Los datos de la categora quedan actualizados en el sistema

Curso alternativo 3b. Si la categora ha sido importada del ERP el administrador slo podr modificar los datos no sincronizados (imagen de fondo, orden y activa) 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja una categora. 2. El sistema muestra todas las categoras existentes. 3. El administrador selecciona la categora y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina la categora.

Baja Categora Admin Categoras Administrador Eliminacin de una categora no importada del sistema El administrador ha iniciado sesin La categora existe en el sistema La categora es eliminada del sistema

Curso alternativo 4. Si la categora haba sido importada del ERP, se muestra un mensaje de error y se vuelve al punto 3. 5. Si el administrador no confirma la accin, finaliza el caso de uso. 6. Si la categora tiene familias o agrupaciones vinculadas, se muestra un mensaje de error y termina el caso de uso.

60

Consulta Familia

Modificacion Familia Administrador

Figura 23: Casos de uso del Administrador (Familias)

CUA.FAM-1 Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de una familia. 2. El sistema muestra todas las familias existentes. 3. El administrador selecciona la familia deseada. 4. El sistema muestra los datos de la familia. Curso alternativo

Consulta Familia Admin Familias Administrador Consulta de los datos de una familia El administrador ha iniciado sesin La familia existe en el sistema Los datos de la familia son mostrados por pantalla

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de una familia. 2. Inclusin Consulta Familia. 3. El administrador modifica los datos no sincronizados (tipo de listado, imagen, texto de la imagen, orden y activada). 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la familia. Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Modificacin Familia Admin Familias Administrador Modificacin de los datos de una familia El administrador ha iniciado sesin La familia existe en el sistema Los datos de la familia quedan actualizados en el sistema

61

Alta Agrupacion

Baja Agrupacion

Consulta Agrupacion

Modificacion Agrupacion Administrador extends Agrupar Producto extends Desagrupar Producto extends Incluir Agrupacion

Figura 24: Casos de uso del Administrador (Agrupaciones)

Caso de uso Alta Agrupacin Requisitos asociados Admin Agrupaciones Actor iniciador Administrador Descripcin Creacin de una nueva agrupacin en el sistema Precondicin El administrador ha iniciado sesin Postcondicin La agrupacin queda registrada en el sistema Curso normal 1. El administrador quiere dar de alta una nueva agrupacin. 2. El sistema solicita los datos de la agrupacin y su tipo de men. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra la agrupacin. Curso alternativo 4. Si ya existe otra agrupacin con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Consulta Agrupacin Admin Agrupaciones Administrador Consulta de los datos de una agrupacin El administrador ha iniciado sesin La agrupacin existe en el sistema Los datos de la agrupacin son mostrados por pantalla

62

1. 2. 3. 4.

El administrador quiere consultar los datos de una agrupacin. El sistema muestra todas las agrupaciones existentes. El administrador selecciona la agrupacin deseada. El sistema muestra los datos de la agrupacin.

Curso alternativo

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de una agrupacin. 2. Inclusin Consulta Agrupacin. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la agrupacin.

Modificacin Agrupacin Admin Agrupaciones Administrador Modificacin de los datos de una agrupacin El administrador ha iniciado sesin La agrupacin existe en el sistema Los datos de la agrupacin quedan actualizados en el sistema

Curso alternativo 3. Extensin Agrupar Producto 3. Extensin Desagrupar Producto 3. Extensin Error! No se encuentra el origen de la referencia. 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja una agrupacin. 2. El sistema muestra todas las agrupaciones existentes. 3. El administrador selecciona la agrupacin. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina la agrupacin.

Baja Agrupacin Admin Agrupaciones Administrador Eliminacin de una agrupacin del sistema El administrador ha iniciado sesin La agrupacin existe en el sistema La agrupacin es eliminada del sistema

Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

63

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere aadir un producto en una agrupacin. 2. El sistema muestra los productos que todava no pertenecen a la agrupacin. 3. El administrador selecciona el producto y pulsa Insertar. 4. El sistema aade el producto en la agrupacin y registra los cambios. Curso alternativo

Agrupar producto Admin Agrupaciones Administrador Insercin de un producto dentro de una agrupacin El administrador ha iniciado sesin El producto no pertenece a la agrupacin Se registra la insercin del producto en la agrupacin

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere retirar un producto de una agrupacin. 2. El sistema muestra los productos que pertenecen a la agrupacin. 3. El administrador selecciona el producto y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema retira el producto en la agrupacin y registra los cambios. Curso alternativo 6. Si el administrador no confirma la accin, finaliza el caso de uso.

Desagrupar producto Admin Agrupaciones Administrador Eliminacin de un producto dentro de una agrupacin El administrador ha iniciado sesin El producto pertenece a la agrupacin Se registra la exclusin del producto en la agrupacin.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Incluir agrupacin Admin Agrupaciones Administrador Se insertan todos los productos de una agrupacin en otra. El administrador ha iniciado sesin La agrupacin incluida es diferente a la modificada. Se registra la insercin de todos los productos de una agrupacin en otra.

64

1. 2. 3. 4.

El administrador quiere aadir los productos de una agrupacin a otra. El sistema muestra el resto de agrupaciones existentes. El administrador selecciona una agrupacin y pulsa Insertar. El sistema incluye todos los productos de la agrupacin seleccionada y registra los cambios en la agrupacin modificada.

Curso alternativo

Consulta Producto

Modificacion Producto Administrador extends extends extends extends

Aadir Sustitucion

Eliminar sustitucion

Eliminar Recomendacion

Aadir Recomendacion

Figura 25: Casos de uso del Administrador (Productos)

Caso de uso Consulta Producto Requisitos asociados Admin Productos Actor iniciador Administrador Descripcin Consulta de los datos de un producto Precondicin El administrador ha iniciado sesin Postcondicin Los datos del producto son mostrados por pantalla Curso normal 1. El administrador quiere consultar los datos de un producto. 2. El sistema muestra todos los productos existentes. 3. El administrador selecciona el producto deseado. 4. El sistema muestra los datos del producto. Curso alternativo

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin

Modificacin Producto Admin Productos Administrador Modificacin de los datos de un producto El administrador ha iniciado sesin Los datos del producto son actualizados en el sistema 65

Curso normal 1. El administrador quiere modificar los datos de una agrupacin. 2. Inclusin Consulta Producto. 3. El administrador modifica los datos no sincronizados (imagen pequea, imagen grande, orden y mostrar ficha) 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el producto. Curso alternativo 3. Extensin Aadir Recomendacin 3. Extensin Eliminar Recomendacin 3. Extensin Aadir Sustitucin 3. Extensin Eliminar Sustitucin 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere aadir una recomendacin para un producto. 2. El sistema muestra los productos que todava no han sido recomendados con el producto actual. 3. El administrador selecciona el producto y pulsa Insertar. 4. El sistema aade el producto en la lista de recomendados correspondiente y registra los cambios. Curso alternativo

Aadir recomendacin Admin Productos Administrador Insercin de un producto en la lista de recomendaciones de otro El administrador ha iniciado sesin El producto no est recomendado con el actual. Se registra la recomendacin del producto.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Eliminar recomendacin Admin Productos Administrador Eliminacin de un producto en la lista de recomendaciones de otro El administrador ha iniciado sesin El producto est recomendado con el actual. Se registra la exclusin del producto como recomendado del actual

66

1. 2. 3. 4. 5. 6.

El administrador quiere eliminar una recomendacin del producto. El sistema muestra los productos recomendados con el producto actual. El administrador selecciona la recomendacin y pulsa Eliminar. El sistema pide al administrador que confirme la accin. El administrador confirma. El sistema elimina el producto de la lista de recomendados correspondiente y registra los cambios.

Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere aadir un producto como sustituto del producto seleccionado. 2. El sistema muestra los productos no sustitutos del actual. 3. El administrador selecciona el producto y pulsa Insertar. 4. El sistema aade el producto en la lista de sustituciones correspondiente y registra los cambios. Curso alternativo

Aadir sustitucin Admin Productos Administrador Insercin de un producto en la lista de sustituciones de otro El administrador ha iniciado sesin El producto no es sustituto del actual. Se registra la sustitucin del producto.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere eliminar una sustitucin del producto. 2. El sistema muestra los sustitutos del producto actual. 3. El administrador selecciona la sustitucin y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el producto de la lista de sustituciones correspondiente y registra los cambios. Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

Eliminar sustitucin Admin Productos Administrador Eliminacin de un producto en la lista de sustituciones de otro El administrador ha iniciado sesin El producto es sustituto del actual. Se registra la exclusin del producto como sustituto del actual

67

Alta Pais

Consulta Pais

Modificacion Pais Administrador Baja Pais

Figura 26: Casos de uso para Administrador (Pases)

Caso de uso Alta Pas Requisitos asociados Admin Zonas Actor iniciador Administrador Descripcin Creacin de un nuevo pas en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El pas es registrado en el sistema Curso normal 1. El administrador quiere dar de alta un nuevo pas. 2. El sistema solicita los datos del pas. 3. El administrador introduce los datos. 4. El sistema valida los datos 5. El sistema registra el pas Curso alternativo 4. Si ya existe otro pas con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de un pas. 2. El sistema muestra todos los pases existentes. 3. El administrador selecciona el pas. 4. El sistema muestra los datos del pas. Curso alternativo

Consulta Pas Admin Zonas Administrador Consulta de los datos de un pas El administrador ha iniciado sesin El pas existe en el sistema Los datos del pas son mostrados por pantalla

68

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de un pas. 2. Inclusin Consulta Pas. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el pas.

Modificacin Pas Admin Zonas Administrador Modificacin de los datos de un pas El administrador ha iniciado sesin El pas existe en el sistema Los datos del pas son actualizados en el sistema

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un pas. 2. El sistema muestra todos los pases existentes. 3. El administrador selecciona el pas deseado. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el pas. Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso. 7. Si el pas tiene registros asociados, se muestra un mensaje de error y termina el caso de uso.

Baja Pas Admin Zonas Administrador Eliminacin de un pas El administrador ha iniciado sesin El pas existe en el sistema El pas es eliminado del sistema

69

Alta Provincia

Consulta Provincia

Modificacion Provincia Administrador Baja Provincia

Figura 27: Casos de uso del Administrador (Provincias)

Caso de uso Alta Provincia Requisitos asociados Admin Zonas Actor iniciador Administrador Descripcin Creacin de una nueva provincia en el sistema Precondicin El administrador ha iniciado sesin Postcondicin La provincia es registrada en el sistema Curso normal 1. El administrador quiere dar de alta una nueva provincia. 2. El sistema solicita los datos de la provincia. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra la provincia. Curso alternativo 5. Si ya existe otra provincia con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de una provincia. 2. El sistema muestra todas las provincias existentes. 3. El administrador selecciona la provincia. 4. El sistema muestra los datos de la provincia. Curso alternativo

Consulta Provincia Admin Zonas Administrador Consulta de los datos de una provincia El administrador ha iniciado sesin La provincia existe en el sistema Los datos de la provincia son mostrados por pantalla

70

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de una provincia. 2. Inclusin Consulta Provincia. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la provincia.

Modificacin Provincia Admin Zonas Administrador Modificacin de los datos de una provincia El administrador ha iniciado sesin La provincia existe en el sistema Los datos de la provincia son actualizados en el sistema

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja una provincia. 2. El sistema muestra todas las provincias existentes. 3. El administrador selecciona la provincia deseada. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina la provincia.

Baja Provincia Admin Zonas Administrador Eliminacin de una provincia del sistema El administrador ha iniciado sesin La provincia existe en el sistema La provincia es eliminada del sistema

Curso alternativo 6. Si el administrador no confirma la accin, finaliza el caso de uso.

71

Alta Zona

Baja Zona

Consulta Zona Alta Portes Administrador extends Asignar provincia Modificacion Zona extends extends Asignar pais Gestion Portes Consulta Portes Baja Portes

Modificacion Portes

Figura 28: Casos de uso del Administrador (Zonas)

Caso de uso Alta Zona Requisitos asociados Admin Zonas Actor iniciador Administrador Descripcin Creacin de una nueva zona en el sistema Precondicin El administrador ha iniciado sesin Postcondicin La zona es registrada en el sistema Curso normal 1. El administrador quiere dar de alta una nueva zona. 2. El sistema solicita los datos de la zona. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra la zona. Curso alternativo 4. Si ya existe otra zona con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Consulta Zona Admin Zonas Administrador Consulta de los datos de una zona El administrador ha iniciado sesin La zona existe en el sistema 72

Postcondicin Los datos de la zona son mostrados por pantalla Curso normal 1. El administrador quiere consultar los datos de una zona. 2. El sistema muestra todas las zonas existentes. 3. El administrador selecciona la zona deseada. 4. El sistema muestra los datos de la zona. Curso alternativo

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de una zona. 2. Inclusin Consultar Zona. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la zona.

Modificacin Zona Admin Zonas Administrador Modificacin de los datos de una zona El administrador ha iniciado sesin La zona existe en el sistema Los datos de la zona son actualizados en el sistema

Curso alternativo 4. Extensin Asignar Provincia. 4. Extensin Asignar Pas. 5. Extensin Aadir Porte. 5. Extensin ModificarPorte. 5. Extensin EliminarPorte. 6. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Baja Zona Admin Zonas Administrador Eliminacin de una zona del sistema El administrador ha iniciado sesin La zona existe en el sistema La zona es eliminada del sistema

73

1. 2. 3. 4. 5. 6.

El administrador quiere dar de baja una zona. El sistema muestra todas las zonas existentes. El administrador selecciona la zona y pulsa Eliminar. El sistema pide al administrador que confirme la accin. El administrador confirma. El sistema elimina la zona.

Curso alternativo 6. Si el administrador no confirma la accin, finaliza el caso de uso.

Caso de uso Asignar Provincia Requisitos asociados Admin Zonas Actor iniciador Administrador Descripcin Asignacin de una provincia a una zona Precondicin El administrador ha iniciado sesin Postcondicin Se registra la insercin de la provincia en la zona Curso normal 1. El administrador quiere asociar una provincia a una zona. 2. El sistema muestra las provincias asignables. 3. El administrador selecciona la provincia y pulsa Insertar. 4. El sistema incluye la provincia en la zona y registra los cambios. Curso alternativo

Caso de uso Asignar Pas Requisitos asociados Admin Zonas Actor iniciador Administrador Descripcin Asignacin de todas las provincias de un pas a una zona. Precondicin El administrador ha iniciado sesin Postcondicin Se registra la insercin de todas las provincias de un pas en la zona. Curso normal 1. El administrador quiere asignar un pas a una zona. 2. El sistema muestra los pases existentes. 3. El administrador selecciona un pas y pulsa Insertar. 4. El sistema incluye todas las provincias asignables del pas seleccionado y registra los cambios en la zona modificada. Curso alternativo

74

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere insertar un porte en una zona. 2. El sistema solicita los datos del porte. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra el porte.

Aadir Porte Admin Zonas Administrador Creacin de un porte en la zona El administrador ha iniciado sesin La zona existe en el sistema El porte queda registrado en el sistema

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de una zona. 2. El sistema muestra los portes de la zona. 3. El administrador selecciona el porte deseado. 4. El sistema muestra los datos del porte. Curso alternativo

Consultar Porte Admin Zonas Administrador Consulta de los datos de un porte de la zona El administrador ha iniciado sesin El porte existe en el sistema Los datos del porte son mostrados por pantalla

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Modificar Porte Admin Zonas Administrador Modificacin de los datos de un porte de la zona El administrador ha iniciado sesin El porte existe en el sistema Los datos del porte quedan actualizados en el sistema

75

1. 2. 3. 4. 5.

El administrador quiere modificar los datos de un porte. Inclusin Consultar Porte. El administrador modifica los datos. El sistema valida los nuevos datos. El sistema registra los cambios introducidos en el porte.

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un porte. 2. El sistema muestra los portes de la zona. 3. El administrador selecciona el porte deseado. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el porte. Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

Eliminar Porte Admin Zonas Administrador Eliminacin de un porte de la zona El administrador ha iniciado sesin El porte existe en el sistema El porte es eliminado del sistema

76

Alta Texto

Baja Texto

Consulta Texto Administrador Modificacion Texto

Figura 29: Casos de uso del Administrador (Textos Auxiliares)

Caso de uso Alta Texto Requisitos asociados Admin - Idiomas Actor iniciador Administrador Descripcin Creacin de un nuevo texto auxiliar en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El texto queda registrado en el sistema Curso normal 1. El administrador quiere dar de alta un nuevo texto auxiliar. 2. El sistema solicita los datos del texto. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra el texto. Curso alternativo 4. Si ya existe otro texto con el mismo nombre o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de un texto auxiliar. 2. El sistema muestra los textos auxiliares existentes. 3. El administrador selecciona el texto deseado. 4. El sistema muestra los datos del texto auxiliar.

Consulta Texto Admin - Idiomas Administrador Consulta de los datos de un texto auxiliar El administrador ha iniciado sesin La agrupacin existe en el sistema Los datos de la agrupacin son mostrados por pantalla

77

Curso alternativo 2a. El administrador quiere buscar un texto con determinadas caractersticas. 2b. El sistema solicita los criterios de bsqueda. 2c. El administrador introduce los criterios. 2d. El sistema muestra los textos auxiliares que satisfacen las restricciones. 2e. El caso de uso contina en el punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de un texto auxiliar. 2. Inclusin Consulta Texto. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el texto auxiliar.

Modificacin Texto Admin - Idiomas Administrador Modificacin de la traduccin de un texto auxiliar para los distintos idiomas. El administrador ha iniciado sesin El texto auxiliar existe en el sistema Los datos del texto quedan actualizadas en el sistema

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un texto auxiliar. 2. El sistema muestra los textos existentes. 3. El administrador selecciona el texto deseado. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el texto auxiliar.

Baja Texto Admin - Idiomas Administrador Eliminacin de un texto auxiliar del sistema El administrador ha iniciado sesin El texto auxiliar existe en el sistema El texto es eliminado del sistema

Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

78

Consulta Seccion

Consulta Etiquetas

Administrador

Modificacion Seccion

Figura 30: Casos de Uso del Administrador (Secciones)

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere visualizar una seccin. 2. El sistema muestra las secciones e idiomas existentes. 3. El administrador selecciona la seccin y el idioma deseados. 4. El sistema muestra la seccin. Curso alternativo

Consulta Seccin Admin - Secciones Administrador Consulta del contenido de una seccin o email en un idioma determinado El administrador ha iniciado sesin La seccin existe en el sistema La seccin es mostrada por pantalla

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar las etiquetas de una seccin. 2. Inclusin Consultar Seccin. 3. El administrador selecciona la opcin de mostrar etiquetas. 4. El sistema muestra las etiquetas y su descripcin por pantalla. Curso alternativo

Consulta Etiquetas Admin - Secciones Administrador Consulta de las etiquetas de una seccin El administrador ha iniciado sesin. La seccin existe en el sistema. El idioma existe en el sistema. Las etiquetas de la seccin son mostradas por pantalla

79

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar el contenido de una seccin. 2. Inclusin Consultar Seccin. 3. El administrador modifica el contenido de la seccin. 4. El sistema registra los cambios introducidos en la seccin. Curso alternativo

Modificacin Seccin Admin Secciones Administrador Modificacin del contenido de una seccin en un idioma determinado. El administrador ha iniciado sesin. La seccin existe en el sistema. El idioma existe en el sistema. El contenido de la seccin queda registrado en el sistema.

Alta Noticia

Alta Historia

Consulta Noticia

Consulta Historia

Modificacion Noticia Administrador Baja Noticia

Modificacion Historia

Baja Historia

Figura 31: Caso de Uso del Administrador (Noticias e Historia)

Caso de uso Alta Noticia Requisitos asociados Admin - Secciones Actor iniciador Administrador Descripcin Creacin de una nueva noticia en el sistema Precondicin El administrador ha iniciado sesin Postcondicin La noticia es registrada en el sistema Curso normal 1. El administrador quiere insertar una nueva noticia. 2. El sistema solicita los datos de la noticia. 3. El administrador introduce los datos y el contenido de la noticia. 4. El sistema valida los datos. 5. El sistema registra la noticia. Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3. 80

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar una noticia. 2. El sistema muestra todas las noticias existentes. 3. El administrador selecciona la noticia deseada. 4. El sistema muestra el titular, la fecha y el contenido de la noticia. Curso alternativo

Consulta Noticia Admin - Secciones Administrador Consulta de los datos de una noticia El administrador ha iniciado sesin La noticia existe en el sistema La noticia es mostrada por pantalla

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar una noticia. 2. Inclusin Consulta Noticia 3. El administrador modifica la noticia. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la noticia.

Modificacin Noticia Admin - Secciones Administrador Modificacin de los datos de una noticia El administrador ha iniciado sesin La noticia existe en el sistema La noticia es actualizada en el sistema

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Baja Noticia Admin - Secciones Administrador Eliminacin de una noticia del sistema El administrador ha iniciado sesin La noticia existe en el sistema La noticia es eliminada del sistema

81

1. 2. 3. 4. 5. 6.

El administrador quiere dar de baja una noticia. El sistema muestra todas las noticias existentes. El administrador selecciona la noticia y pulsa Eliminar. El sistema pide al administrador que confirme la accin. El administrador confirma. El sistema elimina la noticia.

Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

Caso de uso Alta Historia Requisitos asociados Admin - Secciones Actor iniciador Administrador Descripcin Creacin de una nueva historia en el sistema Precondicin El administrador ha iniciado sesin Postcondicin La historia es registrada en el sistema Curso normal 1. El administrador quiere insertar una nueva historia. 2. El sistema solicita los datos de la historia. 3. El administrador introduce los datos y el contenido de la historia. 4. El sistema valida los datos. 5. El sistema registra la historia. Curso alternativo 5. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar una historia. 2. El sistema muestra todas las historias existentes. 3. El administrador selecciona la historia deseada. 4. El sistema muestra el ttulo, la imagen y el contenido de la historia. Curso alternativo

Consulta Historia Admin - Secciones Administrador Consulta de los datos de una historia El administrador ha iniciado sesin La historia existe en el sistema La historia es mostrada por pantalla

82

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar una historia. 2. Inclusin Consultar Historia. 3. El administrador modifica la historia. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la historia.

Modificacin Historia Admin - Secciones Administrador Modificacin de los datos de una historia El administrador ha iniciado sesin La historia existe en el sistema La historia es actualizada en el sistema

Curso alternativo 5. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja una historia. 2. El sistema muestra todas las historias existentes. 3. El administrador selecciona la historia y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina la historia.

Baja Historia Admin - Secciones Administrador Eliminacin de una historia del sistema El administrador ha iniciado sesin La historia existe en el sistema La historia es eliminada del sistema

Curso alternativo 6. Si el administrador no confirma la accin, finaliza el caso de uso.

83

Alta Cliente

Baja Cliente

Modificacion Cliente

Consulta Cliente Administrador Enviar Mail Registro

Figura 32: Casos de Uso del Administrador (Clientes)

Caso de uso Alta Cliente Requisitos asociados Admin - Clientes Actor iniciador Administrador Descripcin Alta de un nuevo cliente en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El cliente queda registrado en el sistema Curso normal 1. El administrador quiere dar de alta un nuevo cliente en el sistema. 2. El sistema solicita los datos del cliente. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra el cliente. Curso alternativo 5. Si ya existe otro cliente con el mismo email o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Consulta Cliente Admin - Clientes Administrador Consulta de los datos de un cliente El administrador ha iniciado sesin El cliente existe en el sistema Los datos del cliente son mostrados por pantalla

84

1. 2. 3. 4.

El administrador quiere consultar los datos de un cliente. El sistema muestra los clientes existentes. El administrador selecciona el cliente deseado. El sistema muestra los datos del cliente.

Curso alternativo 2a. El administrador quiere buscar un cliente con determinadas caractersticas. 2b. El sistema solicita los criterios de bsqueda. 2c. El administrador introduce los criterios. 2d. El sistema lista los clientes que satisfacen las restricciones.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de un cliente. 2. Inclusin Consulta Cliente. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el cliente.

Modificacin Cliente Admin Clientes Administrador Modificacin de los datos de un cliente El administrador ha iniciado sesin El cliente existe en el sistema Los datos del cliente quedan actualizados en el sistema

Curso alternativo 4. Si ya existe otro cliente con el mismo email o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un cliente. 2. El sistema muestra los clientes existentes. 3. El administrador selecciona el cliente y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el cliente.

Baja Cliente Admin Clientes Administrador Baja de un cliente en el sistema El administrador ha iniciado sesin El cliente existe en el sistema El cliente es eliminado del sistema

85

Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso. 6. Si el cliente tena pedidos asociados, se muestra un mensaje de error y finaliza el caso de uso.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere enviar un mail de registro a un cliente. 2. Inclusin Consulta Cliente. 3. El administrador selecciona la opcin Enviar Mail. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema enva el mail de confirmacin de registro con sus datos introducidos en la plantilla. Curso alternativo 5. Si el administrador no confirma la accin, finaliza el caso de uso.

Enviar Mail Registro Admin Clientes Administrador Envo del mail de registro a un cliente. El administrador ha iniciado sesin El cliente existe en el sistema Se le enva un mail al cliente con sus datos registrados.

Alta Pedido

Baja Pedido

Alta Linea

Modificacion Pedido

extends Gestion Lineas

Baja Linea

Consulta Pedido Administrador Enviar Mail Compra

Modificacion Linea extends Consulta Linea

Figura 33: Casos de Uso del Administrador (Pedidos)

86

Caso de uso Alta Pedido Requisitos asociados Admin Pedidos Actor iniciador Administrador Descripcin Alta de un nuevo pedido en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El pedido queda registrado en el sistema Curso normal 1. El administrador quiere dar de alta un nuevo pedido en el sistema. 2. El sistema solicita los datos del pedido. 3. El administrador introduce los datos. 4. El sistema valida los datos. 5. El sistema registra el pedido. Curso alternativo 4. Si ya existe otro pedido con el mismo email o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de un pedido. 2. El sistema muestra los pedidos existentes. 3. El administrador selecciona el pedido deseado. 4. El sistema muestra los datos del pedido.

Consulta Pedido Admin Pedidos Administrador Consulta de los datos de un pedido El administrador ha iniciado sesin El pedido existe en el sistema Los datos del pedido son mostrados por pantalla

Curso alternativo 2a. El administrador quiere buscar un pedido con determinadas caractersticas. 2b. El sistema solicita los criterios de bsqueda. 2c. El administrador introduce los criterios. 2d. El sistema lista los pedidos que satisfacen las restricciones. 5. Extensin Consultar Lnea

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Modificacin Pedido Admin Pedidos Administrador Modificacin de los datos de un pedido El administrador ha iniciado sesin El pedido existe en el sistema 87

Postcondicin Los datos del pedido quedan actualizados en el sistema Curso normal 1. El administrador quiere modificar los datos de un pedido. 2. Inclusin Consulta Pedidos. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el pedido. Curso alternativo 3. Extensin Aadir Lnea 3. Extensin Modificar Lnea 3. Extensin Quitar Lnea 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un pedido. 2. Inclusin Consulta Pedidos. 3. El administrador selecciona el pedido y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el pedido con todas sus lneas.

Baja Pedido Admin Pedidos Administrador Baja de un pedido en el sistema El administrador ha iniciado sesin El pedido existe en el sistema El pedido y todas sus lneas son eliminadas del sistema

Curso alternativo 6. Si el administrador no confirma la accin, finaliza el caso de uso.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal

Aadir Lnea Admin Pedidos Administrador Insercin de una lnea en un pedido El administrador ha iniciado sesin. El pedido existe en el sistema. El pedido no tiene otra lnea con el mismo producto. Se registra la lnea del pedido en el sistema.

88

1. 2. 3. 4.

El administrador quiere aadir una lnea en un pedido. El sistema muestra los productos que no pertenecen al pedido. El administrador selecciona el producto, introduce una cantidad y pulsa Insertar. El sistema aade la lnea en el pedido y registra los cambios.

Curso alternativo

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de una lnea del pedido. 2. El sistema lista las lneas del pedido. 3. El administrador selecciona la lnea deseada. 4. El sistema muestra los datos de la lnea. Curso alternativo

Consultar Lnea Admin Pedidos Administrador Consulta de los datos de una lnea del pedido El administrador ha iniciado sesin. La lnea existe en el sistema. Los datos de la lnea del pedido son mostrados por pantalla.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar una lnea en un pedido. 2. Inclusin Consultar Lnea. 3. El administrador modifica los datos de la lnea. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el pedido.

Modificar Lnea Admin Pedidos Administrador Modificacin de una lnea de pedido El administrador ha iniciado sesin. La lnea del pedido existe en el sistema Los datos de la lnea quedan actualizados en el sistema.

Curso alternativo 4. Si ya existe otra lnea para el mismo producto o alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

89

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere eliminar una lnea del pedido. 2. El sistema muestra las lneas del pedido actual. 3. El administrador selecciona la lnea deseada y pulsa Eliminar. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina la lnea del pedido y registra los cambios.

Quitar Lnea Admin Pedidos Administrador Eliminacin de una lnea del pedido. El administrador ha iniciado sesin La lnea pertenece al pedido. Se registra la eliminacin de la lnea de pedido

Curso alternativo 6. Si el administrador no confirma la accin, finaliza el caso de uso.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere enviar un mail de confirmacin de compra de un pedido. 2. Inclusin Consulta Pedido. 3. El administrador selecciona la opcin Enviar Mail. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema enva el mail de confirmacin de compra con los datos y lneas del pedido introducidos en la plantilla. Curso alternativo 7. Si el administrador no confirma la accin, finaliza el caso de uso.

Enviar Mail Compra Admin Clientes Administrador Envo del mail de confirmacin de un pedido al cliente que lo realiz. El administrador ha iniciado sesin El pedido existe en el sistema Se le enva un mail con los datos del pedido al cliente que lo realiz.

90

Alta Transportista

Consulta Transportista

Modificacion Transportista Administrador Baja Transportista

Figura 34: Casos de uso para Administrador (Transportistas)

Caso de uso Alta Transportista Requisitos asociados Admin Zonas Actor iniciador Administrador Descripcin Creacin de un nuevo transportista en el sistema Precondicin El administrador ha iniciado sesin Postcondicin El transportista es registrado en el sistema Curso normal 1. El administrador quiere dar de alta un nuevo transportista. 2. El sistema solicita los datos del transportista. 3. El administrador introduce los datos. 4. El sistema valida los datos 5. El sistema registra el transportista Curso alternativo 5. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los datos de un transportista. 2. El sistema muestra todos los transportistas existentes. 3. El administrador selecciona el transportista. 4. El sistema muestra los datos del transportista. Curso alternativo

Consulta Transportista Admin Zonas Administrador Consulta de los datos de un transportista El administrador ha iniciado sesin El transportista existe en el sistema Los datos del transportista son mostrados por pantalla

91

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar los datos de un transportista. 2. Inclusin Consulta Transportista. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el transportista.

Modificacin Transportista Admin Zonas Administrador Modificacin de los datos de un transportista El administrador ha iniciado sesin El transportista existe en el sistema Los datos del transportista son actualizados en el sistema

Curso alternativo 5. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere dar de baja un transportista. 2. El sistema muestra todos los transportistas existentes. 3. El administrador selecciona el transportista deseado. 4. El sistema pide al administrador que confirme la accin. 5. El administrador confirma. 6. El sistema elimina el transportista.

Baja Transportista Admin Zonas Administrador Eliminacin de un transportista El administrador ha iniciado sesin El transportista existe en el sistema El transportista es eliminado del sistema

Curso alternativo 7. Si el administrador no confirma la accin, finaliza el caso de uso.

92

Consulta Idioma

Modificacion Idioma

Consulta MetaTags

Modificacion MetaTags Consulta Imagenes Administrador

Modificacion Imagenes Consulta parametros

Modificacion Parametros

Modificacion Contrasea

Figura 35: Casos de Uso del Administrador (Otros)

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar un idioma. 2. El sistema muestra los idiomas existentes. 3. El administrador selecciona el idioma deseado. 4. El sistema muestra la informacin del idioma. Curso alternativo

Consulta Idioma Admin Idiomas Administrador Consulta de los idiomas del sistema El administrador ha iniciado sesin El idioma existe en el sistema El idioma es mostrado por pantalla

93

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar o activar un idioma. 2. Inclusin Consulta Idioma. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el idioma.

Modificacin Idioma Admin Idiomas Administrador Modificacin de los idiomas del sistema El administrador ha iniciado sesin El idioma existe en el sistema Las modificaciones en el idioma quedan registradas en el sistema

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar los metatags de una pgina. 2. El administrador consulta los datos de la entidad de la pgina correspondiente (Consulta Familia, Consulta Agrupacin, Consulta Producto o Consulta Seccin). 3. El sistema muestra los metatags de su pgina correspondiente. Curso alternativo

Consulta MetaTags Admin Posicionamiento Web Administrador Consulta los metatags de una pgina El administrador ha iniciado sesin Existe una entidad para la pgina correspondiente. Los metatags son mostrados por pantalla.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Modificacin MetaTags Admin Posicionamiento Web Administrador Modificacin de los metatags de las pginas El administrador ha iniciado sesin Existe una entidad para la pgina correspondiente. Las modificaciones en los metatags quedan registrados en el sistema

94

1. 2. 3. 4. 5.

El administrador quiere modificar los metatags de una pgina. Inclusin Consulta MetaTags. El administrador modifica los datos. El sistema valida los nuevos datos. El sistema registra los cambios introducidos en la pgina correspondiente.

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar una imagen fija de la web. 2. El sistema muestra las imgenes existentes. 3. El administrador selecciona la imagen deseada. 4. El sistema muestra los valores de la imagen para cada idioma. Curso alternativo

Consulta Imagen Admin Imgenes Administrador Consulta de las imgenes fijas del sistema El administrador ha iniciado sesin La imagen existe en el sistema Los datos de la imagen son mostrado por pantalla

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar una imagen de la web. 2. Inclusin Consulta Imagen. 3. El administrador modifica los datos. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en la imagen.

Modificacin Imagen Admin Imgenes Administrador Modificacin de las imgenes fijas de la web El administrador ha iniciado sesin La imagen existe en el sistema Las modificaciones en la imagen quedan registradas en el sistema

Curso alternativo 4. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

95

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere consultar un parmetro. 2. El sistema muestra los parmetros existentes. 3. El administrador selecciona el parmetro deseado. 4. El sistema muestra la informacin del parmetro. Curso alternativo

Consulta Parmetros Admin Parametrizacin del sistema Administrador Consulta de los parmetros del sistema El administrador ha iniciado sesin El parmetro existe en el sistema La informacin del parmetro es mostrada por pantalla.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin

Postcondicin Curso normal 1. El administrador quiere modificar o activar un parmetro. 2. Inclusin Consulta Parmetro. 3. El administrador modifica el valor del parmetro. 4. El sistema valida los nuevos datos. 5. El sistema registra los cambios introducidos en el parmetro.

Modificacin Parmetro Admin Parametrizacin del sistema Administrador Modificacin de los parmetros del sistema El administrador ha iniciado sesin El parmetro existe en el sistema Las modificaciones en el parmetro quedan registradas en el sistema

Curso alternativo 5. Si alguno de los datos introducidos no es vlido, se muestra un mensaje de error y se vuelve al punto 3.

Caso de uso Requisitos asociados Actor iniciador Descripcin Precondicin Postcondicin Curso normal

Modificacin contrasea Admin Usuarios Administrador Modificacin de la contrasea del administrador El administrador ha iniciado sesin La nueva contrasea queda registrada en el sistema

96

1. 2. 3. 4. 5.

El administrador quiere cambiar su contrasea. El sistema solicita la antigua contrasea, la nueva contrasea y una repeticin de sta. El administrador introduce los datos. El sistema valida los datos. El sistema registra la nueva contrasea.

Curso alternativo 4. Si la contrasea antigua no es correcta, se muestra un mensaje de error y se vuelve al punto 3. 4. Si la repeticin de la contrasea no coincide con la nueva contrasea, se muestra un mensaje de error y se vuelve al punto 3.

97

98

4. Diseo
El objetivo de la fase de diseo es determinar cmo va ser construido el sistema a partir de los requisitos y el modelo obtenidos durante la especificacin, aplicando patrones de diseo sin entrar a nivel de tecnologa. Un patrn de diseo se define como una solucin recurrente para un problema en un contexto.

4.1. Arquitectura de la solucin


La solucin propuesta consiste en una arquitectura separada en tres capas: capa de presentacin, capa de negocio y capa de datos. El hecho de dividir el sistema en capas permite tener el sistema bien estructurado, donde cada capa es independiente del resto y slo interactuar con sus capas colindantes. Con ello se consigue un sistema estandarizado, reutilizable y con un bajo acoplamiento, a costa de perder algo de eficiencia debido a la delegacin de operaciones en capas intermedias. La lgica de negocio requerir un acceso constante a los datos, por lo cual este punto puede convertirse en un cuello de botella que podra deteriorar el rendimiento del sistema. Por esta razn las capas de negocio y datos se situarn en mquinas independientes dentro de la misma red, manteniendo as su separacin fsica y logrando una interaccin rpida y eficaz. Por lo tanto se tratar de una solucin de 3 capas y 3 niveles fsicos:

Figura 36: Diseo de la arquitectura de la solucin

99

4.2. Capa de negocio


La capa de negocio, tambin conocida como capa de dominio, es la que mantiene toda la lgica y las reglas del negocio. Se encarga de validar datos en el lado del servidor, realizar las operaciones y clculos con los datos y gestionar las interacciones con la capa de datos y la capa de presentacin.

Framework utilizado
La empresa dispone de un Framework o plataforma de desarrollo que permitir disear la capa de negocio de forma ms rpida y robusta, potenciando las siguientes virtudes: Permite un acceso fuertemente tipado a los campos de las entidades, como lo hara un ORM (mapeo objeto-relacional). Facilita la interaccin con la capa de datos, trabajando a ms alto nivel sin necesidad de definir largas consultas contra la BBDD que no son comprobadas hasta en tiempo de ejecucin. Incorpora un control automtico de errores, logs y gestin de excepciones. Dispone de un conjunto de utilidades que simplifican numerosas tareas comunes en toda aplicacin web, como validaciones de datos, gestin de listados, interaccin con la capa de datos, etc. Marca a los desarrolladores unas pautas de metodologa que comportar un sistema ms estandarizado y ms comprensible para otro desarrollador en caso de tener que incorporarse al proyecto. El Framework est compuesto principalmente de dos tipos de objetos: Entidades y Datos. Cada clase del modelo dispone de su correspondiente instancia de este par de objetos que se complementan entre s: la Entidad contiene sus atributos y operaciones y el Dat contiene el mapeo a la BD. Un atributo se representa en la Entidad mediante un objeto Campo, compuesto por un Tipo De Datos y un Filtro. Adems, cada Campo contendr el nombre del campo correspondiente a la tabla del Dat y una etiqueta que se mostrar en la capa de presentacin para definir el campo. Los Tipos De Datos son un conjunto de clases que corresponden a los tipos bsicos del lenguaje, como enteros, reales o strings, pero han sido mejorados para facilitar su uso mediante la incorporacin de validaciones y conversiones de tipo automticas, gestin de valores nulos, valores por defecto, formatos numricos, etc. Tambin se han creado Tipos Enumeraciones para las entidades correspondientes a un conjunto limitado de valores, como las secciones, los tipos de productos, tipos de familias, etc., con el fin de mejorar la legibilidad, el mantenimiento y la ampliacin del cdigo. Adems en estos tipos se incorporarn mtodos auxiliares usados constantemente como el de rellenar un combo con sus nombres e identificadores correspondientes.

100

Un Filtro es un objeto que impone restricciones en los valores de un campo en funcin de su tipo. A un filtro se les pueden definir propiedades como Igualdad, LimiteInferior, LimiteSuperior, EsNulo, etc., que filtrarn registros al hacer una consulta a base de datos en funcin de los valores del campo. Todos los objetos mencionados en este apartado tienen una clase genrica de la cual heredan sus atributos y mtodos que se podrn redefinir segn convenga. Gracias al uso del Framework se conseguir un desarrollo ms rpido y que explota los principios de la programacin orientada a objetos: Abstraccin, Herencia, Polimorfismo y Encapsulamiento.

Figura 37: Composicin de una Entidad del Framework

No obstante, es necesario entender el funcionamiento del Framework ya que al crear Entidades y Dats se consumen recursos y las consultas de acceso a datos generadas pueden no ser eficientes para determinadas situaciones, cosa que podra afectar negativamente al rendimiento del sistema. Para poder usar las entidades del modelo como objetos de negocio, primeramente se le deber construir una clase propia que herede de la clase EntidadGenerica, en la cual se definirn los atributos deseados como Campos. Cada campo tendr su nombre mapeado en BD, una etiqueta para mostrar por pantalla y si se har persistente o ser de slo lectura. Si la entidad posee una relacin con otras entidades tambin se podrn definir los campos de otras tablas que queremos tener accesibles desde la propia entidad. Por ejemplo, una entidad Producto puede tener el nombre, resumen, descripcin, etc. de su ProductoIdioma correspondiente, de modo que al cargar los datos del producto se trae consigo los datos traducidos al idioma actual y evitar tener que ir a buscarlos al propio ProductoIdioma. Una vez tenemos la clase de tipo Entidad, tenemos que crear su tipo Dat que contendr el nombre de la tabla, vista o funcin desde la que se obtendrn los datos. En caso de haber aadido relaciones se deber especificar la consulta de seleccin con las uniones de las tablas correspondientes y los campos que querremos consultar.

101

Otra opcin para realizar consultas optimizadas ser definir mtodos en la Entidad que ejecuten la query o el procedimiento directamente contra base de datos. A partir de una instancia de la entidad podremos invocar los mtodos de acceso a datos de la superclase. Entre ellos destacan las operaciones bsicas de insertar, modificar o eliminar una entidad de base de datos, y las de consulta, a travs de las cuales es posible obtener una entidad a partir de su identificador, obtener un listado de entidades, obtener un conjunto de entidades en forma de tabla de base de datos u obtener un listado con los identificadores y nombres de las entidades. Todos estos mtodos podrn ser redefinidos para nuestra subclase en caso de necesitar un comportamiento especfico diferente. Los datos que persistirn en base de datos sern los valores definidos en los campos de la entidad.

Figura 38: Ejemplo de las clases del Framework

En las operaciones de consulta se sacar partido de los filtros definidos en los campos de la entidad, ya que los listados slo se recuperarn registros que cumplan con las restricciones impuestas por los filtros. De este modo, para obtener los productos titulares de hasta 10 de una determinada familia, slo tenemos que instanciar una EntidadProducto, asignarle un valor a los filtros de sus campos TipoProducto.IgualA (Titular), Familia.Id.IgualA (1) y Precio.LimiteSuperior (10), para finalmente llamar a uno de los diversos mtodos de Consultar() heredados, segn se necesite un listado de entidades, un listado de nombres o un objeto en forma de Tabla.

102

El Framework permite elegir entre dos tipos de soluciones para resolver cada situacin. Una es optimizar el rendimiento mediante llamadas a mtodos de la entidad correspondiente en el mnimo nmero de pasos posible, a costa de crear un gran acoplamiento en el sistema. La segunda consiste en aplicar la llamada Ley de Demter o del buen estilo, segn la cual se debe evitar llamar directamente a mtodos lejanos, sino que se debe delegar siempre en mtodos del entorno ms cercano. Aplicando esta ley se consigue un acoplamiento muy bajo y aumenta la escalabilidad, el mantenimiento y la depuracin de errores en el sistema, ya que para programar un mtodo slo es necesario conocer su entorno. Para cada situacin se deber determinar cual escoger en funcin de si la prdida de rendimiento es asumible o no. A continuacin se muestra un ejemplo que incorpora los dos casos, donde se crea acoplamiento entre Pedido y LneaPedido al mantener los agregados de las lneas (importe, peso y peso especial) como campos del propio pedido, pero se delega la obtencin de gastos de envo a la entidad zona, pasando por la respectiva entidad provincia:

Figura 39: Diagrama de secuencia de la funcin getCostePedido

103

Figura 40: Diagrama de secuencia de la funcin getGastosEnvio

Para tener claro el funcionamiento de algunas partes del sistema se han definido esquemas conceptuales como el siguiente antes de disearlas:

Figura 41: Proceso de consulta de los gastos de envo de un pedido

104

Otro ejemplo de los procesos que pueden dar lugar a dudas podra ser la forma en la que se recuperarn las imgenes de los productos, la cual puede provenir de cuatro fuentes distintas. Para definirlo de una forma ms comprensible se ha definido un esquema conceptual y posteriormente se ha diseado su diagrama de secuencia:

Figura 42: Proceso de obtencin de la imagen de un producto

105

Figura 43: Diagrama de secuencia del mtodo ObtenerImagen

106

4.3. Capa de presentacin


La capa de presentacin es la capa con la que interacta el usuario y donde presenta los resultados el sistema. En ella tambin se valida la informacin introducida por el cliente para evitar accesos innecesarios al servidor.

Tienda
La navegacin por la web debe ser fcil e intuitiva, por lo que todas las pginas tendrn una estructura comn que le permitir al usuario permanecer siempre orientado y poder desplazarse con total libertad a las principales pginas del sitio. Adems, dentro del contenido de la propia pgina existirn enlaces hacia pginas secundarias como podran ser secciones secundarias o detalles de los productos. En ellas se aadir un enlace de vuelta a la pgina desde la que se accede, por si no se encuentra el contenido que se buscaba o se prefiere continuar la navegacin por donde estaban. Cuando se aada un elemento al carrito desde un listado o ficha del producto, se navegar automticamente a la pgina del donde se podr ver toda la informacin del pedido y modificar cantidades, con el enlace de regreso que permitir continuar con la compra. Gracias a esta red de enlaces se consigue que el visitante pueda llegar a las pginas principales con un nico click, y a las secundarias con un mximo de dos. A continuacin se muestra un mapa navegacional simplificado a travs de los enlaces situados dentro del contenido, incluyendo el proceso de compra:

Figura 44: Navegacin bsica de la Web

107

El proceso de compra incluir la identificacin de clientes, recuperacin o cambio de la contrasea, la gestin de los datos de factura y recepcin de pedidos y finalmente su pago a travs del TPV Virtual. Una vez terminada la compra se podr volver de nuevo a la pgina de inicio.

Figura 45: Navegacin Proceso de compra y Registro de usuarios

108

Admin
La capa de presentacin del gestor de contenidos ha sido diseada para ser muy intuitiva y fcil de usar. Las pginas del gestor de contenidos estarn divididas en tres secciones: una cabecera con un ttulo y datos de la sesin, un men y el contenido de la pgina. Para acceder a cualquiera de ellas se deber iniciar sesin a travs de un punto de entrada al sistema o pgina de Login. El flujo bsico del administrador ser el siguiente:

Figura 46: Flujo bsico del Admin

Al seleccionar un men se desplegar el Listado de elementos disponibles. A travs del Filtro se podrn filtrar los resultados mostrados en el listado. A travs de cada uno de los elementos se podr acceder a su Ficha donde se podr consultar y editar el contenido convenientemente. Desde el propio listado tambin se podr eliminar un elemento o acceder a una ficha en blanco para dar de alta un nuevo registro. Adems, para mejorar la navegabilidad del gestor el men siempre estar accesible por lo que en cualquier momento se podr cambiar a otro punto y las fichas que contengan listados tambin permitirn acceder directamente a la ficha de stos, como por ejemplo el listado de productos dentro de la ficha de una familia. El Framework incorpora un conjunto de clases que permiten desarrollar el gestor de contenidos mediante un sistema basado en el modelo vista controlador. Para cada pgina del Admin se disear su propio controlador que heredar de los controladores de Lista, Ficha o Filtro segn convenga. Cada controlador mantendr la entidad del modelo con la que trabajar, que como hemos visto dispondr de mtodos para cargarla, guardarla o filtrar registros en los listados. 109

Todos los controladores heredarn a su vez de un controlador VistaGenrico, que se encargar de mostrar los resultados, gestionar la sesin y recuperar el estado de las pginas al avanzar y volver, de modo que se mantengan los mismos datos proporcionando la sensacin que se utiliza una aplicacin de escritorio en vez de una web. Los controladores dispondrn de una entidad genrica que se instanciar con la clase correspondiente. En las pginas de Listado ser utilizada para hacer consultas filtradas por los diferentes campos y en las pginas de Ficha y Filtro se relacionar cada campo de la entidad con el correspondiente cuadro de texto, de forma que se carguen y se guarden los datos de la pgina en la entidad para posteriormente actualizarla en BD o devolver el listado filtrado segn sea el caso. A continuacin podemos ver un ejemplo de las clases necesarias para la gestin de agrupaciones:

Figura 47: Ejemplo de uso de los controladores del Framework

Un patrn importante que se ha aplicado en la capa de presentacin es el patrn proteccin, en el que se antes de ejecutar una accin irreversible en el sistema se pide la confirmacin expresa del usuario para asegurarse de que no va a ser provocada de forma involuntaria. Este patrn es de gran importancia, especialmente en el Admin, ya que un error humano podra afectar inmediatamente a todos los visitantes conectados a la tienda.

110

4.4. Capa de datos


La capa de datos es la que se encarga de la persistencia y recuperacin de los datos. Para disear el Modelo Relacional que definir la estructura de la Base de Datos se debe normalizar el modelo Entidad-Relacin aplicando los siguientes cambios: Eliminar las asociaciones n-arias, con n > 2. Eliminar les clases asociativas. Tratar la informacin derivada. Controlar las restricciones de integridad. Cada entidad del modelo normalizado se corresponder con una tabla propia en la BD. Durante la explicacin del Framework ya se ha explicado la forma en que la capa de dominio interactuar con la capa de datos a travs de los objetos Dat. Toda tabla contendr una clave primaria y las relaciones entre entidades se establecern por las claves forneas correspondientes. Adems para cada registro se mantendr informacin sobre su fecha de alta, fecha de la ltima modificacin y usuario que lo modific. A continuacin se explica el desarrollo de la estructura de la base de datos, aunque algunos detalles como los tipos de datos de los campos, la nomenclatura, las relaciones, etc. quedarn pendientes de explicar en el apartado de implementacin.

111

MODELOS RELACIONALES
Las clases asociativas han sido normalizadas con dos claves forneas a las entidades relacionadas, como sucede con las clases asociadas a los idiomas:

Figura 48: Modelo relacional del catlogo de productos

Lo mismo ha sucedido con la normalizacin de la clase asociativa Agrupacin-Producto. Para relaciones N-N, donde la misma clase aparece en ambos extremos, como los productos recomendados o sustitutos, se crear su propia tabla con dos referencias a la tabla base:

Figura 49: Modelo relacional Productos

112

Para cada pedido se guarda la informacin necesaria que deba mantenerse en el momento de la compra, como los datos de envo del cliente y su recargo de equivalencia, los gastos de envo de la zona y la informacin bsica de los productos adquiridos. No obstante, con el fin de asegurar la integridad de los datos, el coste, el IVA y el peso total del pedido no se almacena directamente en BD, sino que se deber calcular en funcin de la suma de sus lneas. Para tratar pases que no tengan provincias, se crear una que lo englobe y permanezca oculta.

Figura 50: Modelo relacional pedidos

113

Como se ha podido observar, dentro de cada tabla se han incluido los campos de control de cambios sobre fecha de Alta y Modificacin y el usuario que la realiz. Esta decisin se ha tomado as puesto que se trata de datos muy vinculados a cada registro y ser de inters consultarlos con el resto de datos. De lo contrario, en el control de los metatags de las pginas web se ha preferido mantenerlos centralizados en una misma tabla, ya que se trata informacin que no estara excesivamente relacionada con su respectiva tabla y se facilitan as las consultas que afecten a todos los elementos, como saber si existen dos pginas cualquiera con el mismo ttulo.

Figura 51: Modelo relacional web corporativa

114

El resto de tablas derivarn del modelo conceptual de la misma forma que las anteriores:

Figura 52: Modelo relacional elementos auxiliares

Figura 53: Modelo relacional seguridad y constantes

115

Integracin con el ERP


Los datos de la tienda virtual debern estar sincronizados con el sistema ERP implantado en la empresa. La informacin del catlogo (categoras, familias y productos), que es comn en todas las tiendas, se gestionar desde el ERP y ser sincronizada desde el BackOffice de la web. La informacin propia de la web (clientes y pedidos) se gestionar desde el Admin y se sincronizarn desde el ERP. Para evitar problemas de concurrencia y actualizaciones perdidas, los datos que se vayan a sincronizar slo podrn ser modificados desde su punto de gestin correspondiente. Para realizar la sincronizacin de datos se utilizar una base de datos intermedia que almacenar los datos pendientes de actualizar en ambos sentidos, respetando la independencia entre capas del sistema. Esta BD contendr un conjunto de tablas auxiliares donde se cargarn los datos a sincronizar para poder trabajarlos y finalmente actualizar nuestra base de datos.

Figura 54: Procesos de sincronizacin con el ERP

Los registros de estas tablas se identificarn con los cdigos alfanumricos usados como claves primarias en el ERP, que se corresponde con el atributo Cdigo de la entidad correspondiente. No obstante, en las tablas de la web se generarn sus propias claves primarias autonumricas con el fin de generar ndices ms eficientes y reducir el tiempo de consulta, cosa que mejorar el tiempo de carga de la web considerado como uno de los factores crticos.

116

Para realizar una sincronizacin de entrada, cuando se hayan insertado todos los registros en las tablas temporales de la BD intermedia, el ERP notificar al sistema que existen nuevos datos y automticamente se lanzar un proceso de actualizacin de la web, que estar compuesto por las siguientes etapas: 1. El ERP aadir una entrada en el Log de Actualizaciones conforme ha comenzado la carga de datos. 2. El sistema marcar como bajas los elementos de la web que ya no se encuentren en estas tablas. No se eliminan con tal de mantener un histrico de maestros y no dejar ninguna referencia colgada, con la consiguiente prdida de informacin.

3. Se vacan todas las tablas temporales y se copian directamente los datos de todas las tablas de la BD intermedia a las respectivas tablas temporales en el servidor real, donde se podrn comparar, transformar y actualizar libremente.

117

4. Se actualizan los datos a partir de la informacin contenida en las tablas temporales. Es importante el orden en que se traten las tablas, ya que si actualizamos una tabla que posee una referencia a otra que todava no ha sido actualizada, es posible que la clave primaria todava no exista y por lo tanto la actualizacin de ese registro falle de forma innecesaria. Las agrupaciones automticas de productos (ofertas, novedades y ms vendidos) se actualizan a partir de los nuevos datos.

5. Finalmente, cuando terminan la ltima etapa se actualiza la entrada del log conforme el proceso de carga ha finalizado correctamente.

Para sincronizar los datos de la web hacia el ERP, se mantendrn todos los clientes actualizados en su tabla temporal y los nuevos pedidos que se hayan creado o modificado se insertarn con sus respectivas lneas en sus tablas temporales correspondientes. De esta forma no se tendrn que sincronizar innecesariamente todos los pedidos de la web, sino nicamente los que todava no estn sincronizados. Entonces al realizar una actualizacin de todas las tiendas desde el ERP, se vendr a buscar esta informacin a la BD intermedia y se encargar de borrar los pedidos y las lneas sincronizadas al terminar. No se ha considerado necesario tratar las bajas de pedidos en el proceso, ya que si por algn motivo se decidiera eliminar algn pedido de la web que haya sido sincronizado, se especifica que ste permanecer en el ERP hasta que no se elimine tambin all.

118

5. Implementacin
El sistema ya ha sido especificado y diseado, por lo que el siguiente paso ser encontrar la tecnologa adecuada para construirlo y cmo se aplicar para construir cada uno de los mdulos del sistema.

5.1. Tecnologas utilizadas


La primera decisin tecnolgica para construir nuestro sitio web debe de ser escoger la plataforma de desarrollo que utilizaremos comentadas en el apartado de viabilidad de la solucin. La tecnologa elegida ha sido la de Microsoft .Net, ya que la empresa donde realizo el proyecto est especializada en este entorno y ya se disponen de los recursos hardware y software necesarios suficientes para garantizar la satisfaccin de los objetivos pretendidos por el proyecto. El hecho de renunciar a un servidor dedicado y a las versiones ms recientes de software permite reducir costes en forma de dinero (mantenimiento y licencias) y de tiempo (instalacin y configuracin). Tambin se trata de la tecnologa con la que ms he tratado profesionalmente, as que se considerara la opcin ms adecuada para implementar de forma rpida y eficiente nuestro sistema. Otro componente de gran importancia en el sistema es el SGBD o gestor de base de datos. Se ha decantado por Microsoft SQL Server por estar perfectamente integrado con el .Net Framework y estar ya operativo en el entorno de explotacin de la empresa. La versin elegida ha sido SQL Server 2000, versin instalada en el entorno de explotacin compartido, ya que no se considera necesario contratar licencias de versiones posteriores como SQL Server 2005 y SQL Server 2008, y la versin gratuita SQL Server 2005 Express no incluye soporte para procesos ETL necesarios para el sistema. Por lo tanto se utilizar este SGBD para gestionar adecuadamente la capa de datos, en detrimento de otros importantes SGBD como Oracle, el ms potente de todos pero con unos costes inviables para las caractersticas de nuestro proyecto, o alternativas de software libre como MySQL o PostgreSQL, perfectamente competentes pero no igual de compatibles con la tecnologa elegida. Por lo tanto, el entorno tecnolgico en el que se hallar el proyecto incluir: Windows Server 2003: Sistema Operativo IIS 6.0: Servidor Web. SQL Server 2000 Enterprise Edition: SGBD. .Net Framework 2.0

119

A continuacin se explicarn brevemente las diferentes capas que forman el .Net Framework:

Figura 55: Capas del .Net Framework

Las aplicaciones web se desarrollan en ASP .Net, que separa la presentacin del cdigo facilitando la programacin por capas y permitiendo utilizar mltiples lenguajes de programacin que se compilan a un lenguaje intermedio de Microsoft llamado MSIL. En nuestro caso el lenguaje elegido ha sido C#, una versin derivada del C++, totalmente orientado a objetos y con una sintaxis muy similar a Java. Se pueden observar tambin las bibliotecas de clases base que forman el Framework, entre las cuales podramos destacar las de controles web, manejo de sesin, seguridad, acceso a datos, gestin de colecciones o formato de textos:

Figura 56: Biblioteca de clases base del .Net Framework

Finalmente dispone del CLR, un compilador en tiempo de ejecucin (Just In Time) que genera el cdigo mquina real que se ejecuta en la plataforma del cliente.

120

Otras tecnologas adicionales son: ASP .Net AJAX: Complemento de ASP .Net que permite recargar parcialmente una pgina mejorando la experiencia del usuario. Java-Script: Lenguaje en el navegador del cliente usado para validar datos o realizar operaciones en el propio cliente sin necesidad de enviar peticiones adicionales al servidor. ADO .NET: Conjunto de clases del .Net Framework que facilitan la interaccin con la capa de datos, implementando conexiones y entidades de bases de datos. Paquetes DTS: Procesos ETL de SQL Server, que permiten importar datos desde otras fuentes (BD, Excel, Archivo de texto, etc.), transformarlos y ejecutar consultas contra otra fuente destino, generalmente nuestra Base de Datos. Para realizar el cobro de los pedidos a travs de la pasarela de pago, se ha configurado un TPV Virtual Sermepa de La Caixa, ya que era la entidad bancaria con la que trabajaba el cliente. De esta forma los usuarios se conectarn directamente a la pgina del banco, la informacin viajar cifrada por SSL y el sistema nunca podr tener acceso a los datos de las tarjetas de crdito o nmeros de identificacin personal.

5.2. Herramientas utilizadas


Para implementar el proyecto se han utilizado distintas herramientas, entre las que destacaran: Visual Studio 2008: Es un Entorno de Desarrollo Integrado (IDE) muy potente y completo que permite desarrollar aplicaciones y sitios web para la plataforma .NET. Es recomendable utilizar esta ltima versin ya adems de una nueva versin del .Net Framework, es compatible con versiones anteriores y mejora sus herramientas como el Intellisense (autocompletar cdigo) o el Debugger, por ejemplo con soporte para lenguaje Javascript. Microsoft SQL Server 2005 Management Studio: Es una interfaz gratuita para configurar, gestionar y administrar cualquier componente de SQL Server, permitiendo disear bases de datos y consultas ms cmodamente.

121

5.3. Implementacin de la base de datos


A partir del diseo de la capa de datos se puede construir directamente la base de datos relacional que almacenar toda la informacin del sistema. Dada la importancia de este elemento se han tomado algunas consideraciones a la hora de implementarla: Claves primarias autonumricas: Toda tabla tendr una clave interna propia, que ser un valor entero incrementado secuencialmente, ya que se trata de un tipo de datos muy eficiente de cara a la indexacin de registros que mejorar el rendimiento de las operaciones. As tambin se consigue evitar las claves compuestas y el uso de atributos con significado para el usuario, como los cdigos de productos, ya que aunque deban ser cadenas nicas su uso para identificar registros podra llevar a complicaciones o dificultades en el sistema. Las tablas como LineaPedido que vayan a tener multitud de registros tendrn una clave autonumrica de mayor capacidad (tipo BigInt - 8 bytes). Claves forneas: Toda relacin deber tener su clave fornea que asegure la integridad del sistema y configurarla de tal forma que al actualizar o eliminar la clave primaria referenciada se realicen las acciones correspondientes. Por ejemplo, al eliminar un pedido se debern eliminar todas sus lneas y en cambio al eliminar una zona se debern mantener sus provincias desasignadas. Vistas: Se usarn para mantener consultas complejas o agrupadas que vayan a ser consultadas frecuentemente. La ms importante es la que recupera el men del catlogo, compuesto por la unin de familias activas y agrupaciones de tipo punto men con sus respectivas categoras, que mejora el rendimiento de la tienda ya que debe ser consultada en todas las pginas. Procedimientos almacenados: Usados para gestionar operaciones directamente en la capa de datos, permitirn actualizar las agrupaciones especiales o sincronizar las bases de datos. Triggers: Disparadores de base de datos bajo ciertas circunstancias, se aprovecharn para tratar los registros a sincronizar cada vez que haya un cambio en clientes o pedidos y para lanzar el proceso de actualizacin cuando se notifique en el log. Tipos de datos: Los textos sern cadenas de longitud variable codificados en Unicode para tener un mejor soporte multiidioma. Los textos con formato HTML o que requieran gran capacidad sern de tipo NText, con longitud ilimitada. Los datos booleanos sern convertidos a TinyInt (0 256) para hacer la aplicacin ms escalable. Nomenclatura: Para evitar ambigedades todos los campos tienen un nombre diferente, y empezarn por las primeras letras de la tabla a la que corresponden. Usuarios de la BBDD: Para mejorar la seguridad en el acceso a datos existirn 3 tipos de usuario distintos con su respectivo inicio de sesin (usuarios de la web, usuarios del Admin y usuario del ERP). Todos ellos contarn con los permisos de lectura y escritura mnimos necesarios definidos a nivel de tabla.

122

5.4. Implementacin del Admin


Como se ha detallado en la fase de diseo, se har uso del Framework de la empresa para implementar el gestor de contenidos. La pgina inicial ser la de login, donde se validar el nombre de usuario y contrasea. ste siempre ser el punto de entrada al Admin, cuyas medidas de seguridad se configurarn a travs de la clase FormsAuthentication de ASP .NET. Adems, en el controlador de la pgina visitada se comprobarn los permisos del usuario actual para aadir un nivel extra de seguridad. Una vez autentificado se entrar en el Admin. Todas las pginas deban tener una estructura similar que permitiese al usuario orientarse de forma sencilla. Como se trata de un Back Office que no necesitar posicionarse en internet, por lo que para implementar su estructura se ha dividido la pgina principal en 3 Frames: Uno con la cabecera, otro con el men y otro con el contenido de la pgina gestionable.

Figura 57: Estructura de las pantallas del Admin

La cabecera contiene el logotipo, la fecha, el usuario logado y el ttulo de la pgina actual. El men contiene los diferentes apartados del Admin, agrupados segn su entidad principal y su frecuencia de uso. El contenido del men se guarda en un XML muy simple, de modo que se puede modificar o ampliar su estructura fcilmente. Para pintarlo por pantalla se utiliza una transformacin XSL (XSLT), que combina la hoja de estilos definida con el contenido del XML para generar el men definitivo en XHTML. Finalmente, el contenido contendr las pginas donde se gestionar el sistema y ser la nica parte de la pantalla que se actualice durante la navegacin por el Admin.

123

Tal y como se defini en el diseo del Admin, cuando se seleccione un men se cargar un controlador de lista que cargar una tabla con el listado de entidades correspondientes. El listado contendr una cabecera configurable con botones y cargar automticamente los controladores de ficha y filtro necesarios, de modo que al pulsar sobre un botn de ficha (crear, editar, eliminar) o de filtro (filtrar, desfiltrar) llamarn a su respectivo controlador que cargar la pgina con los datos necesarios. El controlador guardar el estado de la ficha, el listado o el filtro para que cuando se regrese a la pgina se recupere el mismo estado con los registros actualizados.

Figura 58: Configuracin de los listados

Para generar los listados y pestaas se han utilizado unos controles especiales llamados Telerik RadControls, los cuales son ms vistosos que los propios de .Net e incorporan numeroso cdigo javascript que los hacen ms usables, permitiendo por ejemplo o abrir la ficha de un elemento haciendo doble click en l o redimensionar y cambiar el orden de las columnas. Los listados pueden filtrarse a travs de los Filtros. El controlador se encarga de mantener el filtro actual, de forma que al seguir navegando se mantendr el listado filtrado hasta que no se pulse el botn desfiltrar. Por ejemplo el de un producto tendr las siguientes posibilidades, pudiendo incluso definir intervalos para algunos valores numricos como el precio o el peso:

Figura 59: Filtro de una entidad

124

Cuando una entidad dispone de numerosos atributos o relaciones, su ficha se divide en diferentes pestaas que permitan tener toda su informacin mejor organizada. Veamos el ejemplo de una familia, que se compone de Datos, Productos e Idiomas.

Figura 60: Datos bsicos de la ficha de una familia

En la pestaa de datos se muestra la informacin propia de la entidad. Los datos sincronizados desde el ERP no son editables, con tal de centralizar all la gestin de estos campos y evitar inconsistencias o actualizaciones perdidas en el sistema.

Figura 61: Listado de productos de la ficha de una familia

En la pestaa de Productos se encuentran los productos de la familia, que aunque dispongan de un men propio, el hecho de tenerlos en la ficha de la familia mejorar la usabilidad y navegabilidad del sistema a costa de la asumible prdida de rendimiento que comporta la carga del listado. 125

Figura 62: Pestaa de idiomas en la ficha de una familia

En la gestin de idiomas, se incluyen los datos de las traducciones y tags de la pgina organizados por idioma. Para gestionar campos con texto enriquecido (definicin de tamaos, colores, negritas, imgenes, etc.), el campo se carga mediante un editor HTML llamado FCKeditor y podr editarlo fcilmente como si lo hiciera en un editor de textos e incluso copiar el contenido de un documento para que aparezca en la web. Se trata de una herramienta de cdigo abierto muy completa, parametrizable y fcil de integrar en .Net. Este mismo complemento tambin ser usado para la gestin de imgenes, ya que provee una interfaz grfica sencilla para subir nuevas imgenes al servidor y seleccionar alguna de las existentes:

Figura 632: Buscador de archivos

126

En los campos de tipo imagen de las entidades nicamente se guarda el nombre del archivo en vez de la ruta absoluta en el servidor. El motivo de esta decisin es optimizar espacio y tener mayor libertad a la hora de organizar las imgenes. Cada entidad dispondr de su propia subcarpeta dentro de las imgenes de forma que se tratarn de forma independiente y cuyas rutas se podrn configurar en la base de datos como parmetros del sistema no visibles por el usuario.

Figura 643: Organizacin de las imgenes

Para subir imgenes de forma masiva al servidor se ha configurado un acceso FTP para que el cliente pueda acceder a de forma que pueda copiar y organizar imgenes en el servidor como si de una carpeta local se tratara. Otra requisito que nos facilitar esta estructura ser la de seleccionar una imagen aleatoria como fondo de pantalla para una nueva visita. Para lograrlo se establecer una carpeta FondosAleatorios junto a los fondos de las categoras, donde se escoger una imagen al azar cuando sea requerida. Se ha creado un apartado del Admin para gestionar las imgenes especiales de la web que puedan depender del idioma, como el logotipo, las aucas o los logos de compra segura. Se trata de un conjunto de imgenes limitado en el que podrn tener asignado un archivo diferente en cada idioma y se ubicarn en la carpeta Comn. Anlogamente, para gestionar las traducciones de los textos que aparezcan en la web se dispone de un diccionario con todas las entradas disponibles, las cuales podrn ser buscadas y editadas convenientemente. Por ejemplo la ficha del texto que contiene el botn Siguiente:

Figura 65: Gestin de traducciones

127

Otro de los requisitos era poder aadir videos de Youtube, mapas de GoogleMaps, y otras aplicaciones Flash dentro del contenido de las secciones. Para lograrlo, se ha configurado el FCKeditor para que el usuario disponga una vista del cdigo HTML generado, en el que pueda insertar directamente el cdigo HTML del objeto:

Figura 66: Gestin de textos en formato HTML

Las plantillas de emails se incluirn como secciones de la web. Se requera poder insertar etiquetas que se rellenarn con los datos correspondientes en funcin del contexto. Para ello se establecer un conjunto de etiquetas para cada seccin, que se abrir en una ventana aparte y permitir copiar el identificador de la etiqueta para trabajar ms cmodamente y evitar errores tipogrficos.

Figura 67: Gestin de etiquetas en plantillas de emails

128

La mayora de las entidades se implementarn de forma similar a travs de los controladores del Framework. No obstante, habr pginas que requieran una lgica ms compleja, como sera el caso de los pedidos. En ellos tendremos campos de slo lectura que se calculen automticamente en funcin de las lneas del pedido: coste, peso total, peso de productos especiales, IVA, etc. Adems tambin tiene otros campos que se debern poder recalcular dependiendo de las entradas, como es el caso de los gastos de envo que depende de los productos y la zona de envo. El controlador de la ficha se encargar de mantener estos datos actualizados cada vez que se modifique algn campo dependiente o una de las lneas del pedido.

Figura 68: Gestin de un pedido

129

En la ficha anterior se puede observar un control calendario auxiliar para insertar la fecha de forma ms cmoda y los botones tras el campo Cliente para buscar, crear o modificar el destinatario del pedido y que cargar automticamente los datos de envo. Tambin se puede enviarle el mail de confirmacin de compra desde aqu, para que tenga constancia de los datos definitivos de su pedido. En la misma ficha el pedido contendr un listado con sus lneas para poder gestionarlas adecuadamente y manteniendo la informacin del pedido y las lneas consistentes.

Figura 69: Gestin de las lneas de un pedido

Como en el resto de listados, desde aqu se podrn aadir o eliminar lneas o acceder a la ficha de una de ellas. Las fichas de las lneas del pedido tendrn un producto asociado con una cantidad, y cada vez que se cambie el producto los campos Precio y Porcentaje IVA se recargarn con los valores correspondientes aunque podrn ser modificados de forma manual. Los campos calculados tambin se actualizarn cuando sea necesario pero no podrn ser editados. Adems, se aade informacin relevante del producto que afectar al coste final del pedido, como su peso o si requiere transporte en una caja especial.

Figura 70: Ficha de una lnea de pedido

130

Las constantes con las que se parametrizar el sistema sern un conjunto limitado del cual slo se podr modificar su valor. En el caso que este valor deba pertenecer a un conjunto de valores determinado, como por ejemplo el idioma por defecto, se aadir un enlace a un listado filtrado con las diferentes posibilidades para que el usuario seleccione la deseada, facilitando as su tarea y previniendo posibles errores.

Figura 71: Ficha de una constante

Existirn un conjunto de constantes no visibles al usuario que se usarn para determinar las rutas de cada carpeta de imgenes, la hoja de estilos aplicada, el ttulo de la aplicacin u otros parmetros que hagan el sistema ms adaptable a posibles cambios pero no sean transcendentes para el usuario del Admin. Para finalizar con el gestor de contenidos, un ltimo apartado que diferir del resto es la asignacin de permisos a grupos. En esta ficha una vez se seleccione un grupo se mostrar una matriz con los posibles permisos para cada apartado, en la cual se podr modificar cual se desea permitir y cual no. Por ejemplo un grupo que slo tenga acceso a la gestin de pedidos:

Figura 72: Gestin de los permisos de un grupo

131

5.5. Implementacin de la Tienda


En la implementacin de la tienda se pueden distinguir dos tipos de pginas en funcin si sern indexadas por los buscadores y aparecern en las pginas de resultados de las bsquedas. Las pginas posicionables o pblicas corresponderan a las pginas corporativas y a las del catlogo. Por otro lado, no nos interesar que sean tenidas en cuenta las pginas del carrito de la compra, formularios de registro, condiciones legales, etc. Todas las pginas del sitio deban tener una estructura comn. Para mejorar el mantenimiento y evitar repetir el mismo cdigo y estructura en cada pgina, ASP .Net permite definir una pgina principal llamada MasterPage que contendr la parte comn junto a contenedores de cdigo llamados ContentPlaceHolders. El resto de pginas se asocian a la MasterPage y definen el cdigo que se insertar en cada contenedor. Otra forma de reutilizar cdigo y hacer el sistema ms mantenible es implementando controles de usuario, que encapsularn el diseo y el cdigo de ese fragmento y podrn ser incluidos en cualquiera de nuestras pginas. A continuacin podemos ver una pgina con el contenido propio de la pgina, marcado como Contenido Variable, y resaltados los controles de usuario implementados: el buscador, los idiomas, el men, el carrito y los banners.

Figura 73: Estructura principal con controles reutilizables

Tambin son controles de usuario el listado de productos, listado de recomendados y el listado de sustitutos. De esta forma estamos generando componentes reusables, ya que por ejemplo el control ListaProductos se utilizar en la pgina de familia, la de agrupaciones y la de bsquedas. 132

Figura 74: Listado de productos de una familia

Este control soporta tres tipos de listado con diferente nmero de columnas e informacin mostrada. Tambin dispondremos de listados ms compactos para recomendados y sustitutos:

Figura 75: Pgina de un producto agotado

133

Para controlar los productos que va comprando un usuario, se guardar en sesin un objeto Carrito, que mantendr el conjunto de los productos comprados con sus cantidades as como un conjunto de mtodos para obtener su coste total, IVA, gastos de envo, etc. El carrito permanecer visible bajo el men del catlogo y se actualizar automticamente siempre que cambie alguna de sus lneas. Del mismo modo, en los detalles del carrito se podrn simular los costes de envo y recargo de equivalencia en funcin de la provincia introducida y si se trata de un revendedor, actualizando a travs de tecnologa AJAX los valores recalculados.

Figura 76: Pgina de detalles del carrito de la compra

A partir de aqu el usuario se deber identificar en el sistema, guardndolo en una variable de sesin, para poder continuar con la compra. Al inicio del proceso de compra aparecer una pantalla de login simple, desde la cual se podr registrar, identificarse u obtener una nueva contrasea si la ha olvidado:

Figura 77: Pgina de login para clientes

134

Una vez identificado y confirmados o introducidos los datos del usuario, el pedido ser procesado en el sistema, registrndolo con todas sus lneas y asignndole un identificador. Acto seguido se cargar la pasarela de pago dentro de un iframe integrado la propia web, donde el cliente podr introducir los datos de su tarjeta de crdito directamente en la pgina del banco. La informacin introducida viajar de forma segura, cifrada mediante protocolo SSL, y el comercio slo interactuar con el banco para configurar los datos del TPV virtual y la transaccin en curso, sin llegar a obtener nunca los datos introducidos por el cliente.

Figura 78: Pasarela de pago integrada en la web

135

Otro aspecto que podr afectar al rendimiento es el hecho que el sitio web sea multiidioma, por lo que se debern obtener las correspondientes traducciones de los textos auxiliares guardados en base de datos. Para evitar constantes consultas de estos textos, cosa que aumentara en gran medida el tiempo de carga de las pginas, la primera vez que se accede al sitio se carga en sesin un diccionario con los textos traducidos en el idioma seleccionado, de modo que su acceso es prcticamente inmediato, y cada vez que se cambie de idioma se actualizarn todas las traducciones con un solo acceso. Todas las pginas posicionables deben poder ser accesibles en el correspondiente idioma a travs de su direccin nica en la red: la URL. Ello significa que todos los parmetros de las pginas del catlogo que determinen el contenido de esa pgina sern pasados por QueryString, es decir, incluidos dentro de su direccin. Este criterio es relevante en pginas corporativas, listados de productos, fichas o las bsquedas, ya que permite compartir enlaces directos a cualquier pgina, guardarlas correctamente en Favoritos y facilita la navegacin de usuarios avanzados. Por ejemplo la seccin de noticias recibe el idioma y puede filtrarse por ao y/o mes:

Figura 79: Pgina corporativa de noticias

Por temas de seguridad, todos los parmetros y datos que puedan ser introducidos por el usuario son validados y tratados adecuadamente con tal que no puedan llevar a cabo ninguna accin maliciosa contra el sistema, especialmente ataques de Inyeccin SQL o Cross-Site Scripting.

136

Tcnicas SEO
Durante la implementacin de la web se han tenido en cuenta diferentes prcticas que deberan mejorar el posicionamiento en los buscadores, que significar que nuestras pginas aparecern en mejor lugar en las bsquedas por internet. Para ello la web adems de ser usable para los visitantes, tambin tiene que ser totalmente legible por los robots que indexan las pginas de cada buscador. Algunas de las prcticas que se han llevado a cabo son: Las pginas deben estar maquetadas siguiendo una estructura de tags DIV con estilos aplicados mediante CSS. No se deben usar tablas para implementar el diseo de la pgina. El cdigo debe estar bien estructurado y pasar validadores XHTML y CSS sin errores. Evitar el uso de Frames y Flash. Todas las imgenes deben tener un texto alternativo o de lo contrario los robots nunca sabrn de que se trata. Los links deben tener definido un atributo title y el texto debe definir el contenido de la pgina enlazada. Adems redirigirn directamente a la direccin destino en vez de llamar a cdigo Javascript que los robots no pueden seguir. Cada pgina debe tener definido un ttulo descriptivo que la identifique. Cada pgina debe tener definido un conjunto de palabras clave (KeyWords) a travs de los cuales se debera encontrar la pgina. Cada pgina debe tener definido una meta descripcin que resuma brevemente el contenido de la pgina. Se debe estructurar correctamente la pgina, situando el ttulo de la pgina debe situarse entre tags h1, los subttulos entre tags h2 y as sucesivamente hasta tags h5 en funcin de la relevancia de los textos. Tambin se usarn los tags <strong> y <em> para resaltar contenido importante dentro de la pgina. El contenido real de las pginas se mostrar entre tags <p>. Las pginas deben ser lo ms ligeras posible y su cdigo fuente nunca los 100Kb, ya que en tal caso no ser indexada por Google.

A pesar que muchos expertos tienen puntos de vista distintos sobre la forma de optimizar el posicionamiento, todas estas tcnicas son comnmente calificadas como buenas prcticas. No obstante, existen otras prcticas basadas en engaar a los robots y que se deben evitar, ya que pueden permitir obtener un buen posicionamiento a corto plazo pero si son descubiertas pueden penalizar indefinidamente a todo el sitio web.

137

138

6. Pruebas
En la fase de pruebas evala la calidad del sistema y se comprueba que realice correctamente las tareas definidas en la especificacin. En las primeras fases de la implementacin las pruebas son demasiado estrictas, sobretodo en el gestor de contenidos, ya que se pretenda desarrollar un sistema de forma rpida y perfeccionarlo a raz del feedback del usuario final. No obstante, una vez se obtiene un sistema estable y la web es puesta en real para que pueda empezar a ser usada parcialmente, la fase de pruebas pasa a ser exhaustiva, sobretodo en el Front Office donde un error podra afectar a todos los visitantes conectados. El sistema se desarrolla en local y cada funcionalidad es testeada introduciendo todo tipo de valores y combinaciones posibles. Una vez se tiene una versin definitiva, se revisa cada mdulo modificado en el incremento y se realizan pruebas de forma integral para ver que el sistema en conjunto funciona correctamente, especialmente el acceso al catlogo, registro de usuarios y pago de pedidos. Si el testing es satisfactorio, el sistema se sube a un servidor de pruebas o Pre-Produccin, donde el cliente podr conectarse para visualizar y validar los cambios, adems de poder experimentar con el contenido cuando no quiera arriesgarse a aplicar cambios en la web real. Una vez se validan los cambios en el servidor de Pre-Produccin se sube la web al servidor real o de Produccin. Siempre se mantendrn las 4 ltimas versiones de la web para que en caso de detectar algn error inesperado se pueda volver a remplazar el sistema por una de las versiones anteriores.

Para validar la accesibilidad de la web se ha utilizado los validadores XHTML y CSS del W3C (www.w3.org), verificando que las pginas cumplen los estndares de accesibilidad:

No obstante, requerir una cuidadosa gestin por parte del administrador a la hora de insertar contenido con el editor HTML, no omitir el texto alternativo de las imgenes, etc.

139

140

7. Revisin de la planificacin
A continuacin se mostrar la planificacin final del proyecto y la comparacin con el diagrama de Gantt inicial, con una breve explicacin de las principales incidencias. Inicialmente, el diseo visual de la web se desarroll ms rpido de lo previsto, puesto que nicamente se deba gestionar con el diseador de lEspinaler los detalles para que pudiera proponer una esttica acorde a las necesidades y tecnologa utilizada, y su primera propuesta ya fue aceptada por el cliente. Algunas tareas han sufrido pequeas desviaciones, la mayora debidas al refinamiento de stas a medida que avanzaba el prototipo. La sincronizacin con el ERP fue mucho ms costosa de lo esperado, por motivos de seguridad y permisos durante la comunicacin, transmisin de datos y lanzamiento de procesos de carga, as como las diferencias en la forma de almacenar los datos. En el diagrama de Gantt siguiente podemos observar como el gestor de contenidos se terminaba con varios das de retraso, por lo que se decidi aadir otro recurso al proyecto (marcado en verde) para preparar la maquetacin de la web. Se crey muy recomendable que fuera un especialista el encargado de realizar una primera pgina HTML y una hoja de estilos sobre la que implementar las pginas ASP .Net, puesto que era importante que la web se visualizara correctamente en los distintos navegadores, resoluciones y sistemas operativos que nuestros visitantes pudieran utilizar. Al trabajar de forma paralela a la terminacin del BackOffice este recurso adicional ha permitido reducir la fecha de finalizacin en las 28h de su uso, aunque se trata de tiempo de desarrollo que deber computar en el coste final del proyecto (512h + 28h = 540h).

TIEMPO Duracin Estimado Real Desviacin 484h 512h 28h Horas adicionales 0h 28h 28h

PRESUPUESTO Amortizacin 109 112 3 Personal 16.940 18.900 1.960 Total 17.049 19.012 1.963

141

142

143

Finalmente el proyecto concluy con 4 das de demora, cosa que no signific un gran percance pues ya se haba publicado una versin estable sobre la cual trabajar y todava se estaba terminando de introducir la informacin de los productos en el sistema ERP. Para terminar con la revisin de la planificacin podemos ver un resumen con la desviacin de cada tarea y los totales:

Figura 80: Revisin de la planificacin del proyecto

144

8. Conclusiones
8.1. Resultados obtenidos
Una vez finalizado el proyecto podemos valorar los resultados obtenidos y comprobar si se han cumplido todos los objetivos que se proponan. Por un lado tenemos un sistema de gestin apropiado para poder tratar de un modo sencillo los diferentes elementos que forman la web, que ha sido intuitivo y agradable para el usuario. Se ha construido un sitio ms accesible en el que se puede encontrar informacin sobre la compaa y comprar los productos de la tienda. Los resultados han sido muy positivos para el poco tiempo que lleva en marcha la web, logrando una media superior a las 100 visitas diarias desde su lanzamiento:

Figura 81: Estadsticas del nmero de visitas de la web

Tambin se ha logrado potenciar y expandir la marca Espinaler atrayendo visitas por todo el mundo, con especial atencin en los Estados Unidos.

Figura 82: Estadsticas geogrficas de las visitas de la web

145

Otro de los aspectos importantes del nuevo sitio era su posicionamiento en los buscadores. Podemos ver como la mayora de las visitas son aportadas por esta fuente de trfico.

Figura 83: Estadsticas del origen de las visitas de la web

Finalmente, queda por observar si tambin se han cumplido los objetivos que se propona el cliente al solicitar el proyecto. A continuacin se muestra un grfico con las ventas realizadas a travs de la web. El resultado es muy positivo, logrando un crecimiento exponencial a medida que la tienda dispone de ms clientes y mejora su posicionamiento en internet, aunque posiblemente distorsionado por al aumento de la demanda durante las navidades provocado por la estacionalidad del mercado. Los datos mostrados corresponden a los totales una vez descontadas las ventas correspondientes a pruebas o devoluciones:

Figura 84: Grfico y tabla de ventas de la tienda virtual

Setiembre Transferencias Ingresos 3 127,60

Octubre 4 501,61

Noviembre 13 1.397,15

Diciembre 29 4.406,06

146

Aunque a estos ingresos se le deben descontar los costes de adquisicin y distribucin de productos, se podra comparar el coste del desarrollo de la web con los ingresos que ha aportado a la empresa en estos cuatro primeros meses, pudiendo comprobar que ya ha sido parcialmente amortizada:

Figura 85: Comparacin entre los ingresos temporales y el coste de la web

Para terminar con los resultados obtenidos vamos a ver estadsticas acerca de otro de los objetivos de la web que era la captacin de clientes. Se puede ver cmo ha ido creciendo progresivamente el nmero total de usuarios registrados:

Figura 86: Grfico del nmero de clientes registrados en el sistema

147

148

8.2. Conclusiones personales

Despus de haber trabajado en el proyecto soy ms consciente de la importancia para una empresa de innovar e invertir en sus canales de venta y en las TIC, ya que los hbitos de los consumidores estn cambiando constantemente y si no se satisfacen sus necesidades difcilmente se podr ser una empresa competitiva y mantener una buena relacin con los clientes. El comercio electrnico cobra vital importancia y ya no basta con tener una pgina web, la posicin en la que aparezca es los buscadores es fundamental y mueve muchsimo dinero, puesto que puede aportar un gran nmero de visitas que posteriormente se transformen en ventas y clientes fieles. Por otro lado, para que un sitio web tenga xito tampoco es suficiente con una buena implementacin, sino que el aspecto fundamental es que tenga contenidos actualizados y de calidad, que se trate de una web atractiva y usable para los visitantes. De aqu la importancia de tener una herramienta que permita gestionar y personalizar fcilmente su contenido sin depender de ningn programador. El apoyo y compromiso de la cpula directiva tambin es esencial para que un proyecto de tecnologas de la informacin alcance el xito. En este caso el proyecto fue gestionado con la ltima generacin de los dueos de lEspinaler, que deban pedir aprobacin a los mximos dirigentes. El coste del desarrollo unido a las mejoras en el ERP y las sesiones fotogrficas han supuesto algunas limitaciones en el presupuesto, lo que todava no ha permitido lograr un sitio web mucho ms completo. Adems, se requera un gran esfuerzo inicial para rellenar el catlogo y la informacin de la web que pospuso su definitiva completitud e indexacin en buscadores. Seguir una determinada metodologa en las diferentes fases del desarrollo es ms productivo de lo que pueda parecer, ya que no slo permite definir y documentar bien el proyecto, sino que tambin ayuda a tomar decisiones adecuadas y a construir un sistema ms robusto y eficiente. Otro aspecto a destacar es la posibilidad de prevenir o corregir errores en una fase temprana, cosa que puede ahorrar mucho tiempo y dinero. Una toma de requisitos exhaustiva que defina lo ms detalladamente posible el proyecto desde el punto de vista del usuario puede facilitar en gran medida su desarrollo. No obstante, no siempre se sabe exactamente lo que se necesita y es necesario un margen de flexibilidad, por lo que es clave mantener una comunicacin fluida y constante con el cliente, exponindole de una forma comprensible las funcionalidades del sistema y definiendo con su ayuda las necesidades reales. La colaboracin con personas externas, especialmente en integraciones con sistemas complejos, pueden comportar numerosos problemas si no se gestionan y especifican bien. En este caso el hecho de que se estuvieran implementando paralelamente en el ERP nuevas funcionalidades que afectaban al sistema ha comportado dificultades a la hora de definir la capa de datos definitiva y su sincronizacin. conocer, estudiar y segmentar a nuestros consumidores y su comportamiento. Ello nos permitir ofrecerles un mejor servicio, adems de prever con antelacin posibles necesidades o tendencias que pudieran surgir. 149

Es muy recomendable recopilar informacin sobre las visitas de la web para poder

8.3. Prximos pasos


La tienda actual no pretenda ser una versin definitiva, sino que fuera una base slida que se fuera ampliando progresivamente en futuros incrementos. Dejando de lado el posible rediseo de alguna funcionalidad, se tienen en mente algunas propuestas que pueden resultar interesantes para mejorar el sitio: Optimizacin del posicionamiento web: El sitio deba de tener un posicionamiento natural adecuado, pero se podra mejorar a travs de diversas acciones como la incorporacin de URL semnticas, la realizacin de campaas para conseguir enlaces que aumenten el trfico y el PageRank, lanzamiento de campaas de Adwords para conseguir posicionamiento por click, etc. Implementacin de servicios web para integrar los catlogos Espinaler en otras tiendas, ya que existen comerciantes interesados en vender productos de la marca en sus webs. Mejora del rea para clientes registrados, donde puedan consultar y gestionar los pedidos realizados, valorar productos, poner comentarios, ver estadsticas, etc. Soporte multimoneda: Posibilidad de gestionar diferentes divisas y que los visitantes puedan ver los precios en su moneda. Soporte y configuracin de otras formas de pago, como PayPal o transferencias bancarias. Nuevo formato de catlogo que permita agrupar variantes del mismo producto con distinto nmero de piezas, capacidad, etc., que hara ms prctica la compra a los usuarios. Posibilidad que los clientes puedan construir sus propios lotes de productos personalizados para enviar como regalos, lotes de empresa, etc. Mejora de la aplicacin de Mailing que permita enviar correos con novedades, ofertas, publicidad, etc., a los clientes interesados en estas suscripciones. Mejora de las secciones, incorporando una coleccin de imgenes de las tiendas ms interactiva. Nuevas funcionalidades que faciliten y hagan ms cmodo el uso del Admin, como implementar una ordenacin de elementos ms interactiva o una asignacin automtica de metatags por defecto para elementos dados de alta. Creacin de un blog El Vermutillo, que se podra acceder desde la web, con consejos y recetas para hacer un buen Vermut y que introduzca enlaces a los productos de la tienda.

150

8.4. Valoracin personal


Una vez terminado el proyecto mi valoracin personal es muy positiva, ya que estoy muy satisfecho con el trabajo realizado y considero que ha sido una buena oportunidad para formarme en diferentes reas: A nivel tecnolgico, he profundizado ms en la tecnologa de .Net y la programacin orientada a objetos, aprendiendo a desarrollar aplicaciones ms usables y con buen rendimiento. Al tratarse de una tienda virtual que ser visitada por muchos usuarios diferentes cada da implica un elevado grado de detallismo y responsabilidad, ya que debe estar siempre operativa y funcionar correctamente para cualquier explorador, resolucin o sistema operativo del usuario, hasta el punto de que un pequeo error puede significar la prdida de muchas ventas. Tambin me ha servido para introducirme en el mundo del comercio electrnico y el posicionamiento web, aprendiendo a optimizar un sitio para que aparezca antes en los buscadores, entender mejor cmo funciona el PageRank, mejorar la maquetacin de las pginas y las hojas de estilos y aprender a implementar formas de pago por internet. A nivel de gestin de proyectos, es la primera vez que debo dirigir un proyecto entero en el mbito laboral, participando en cada una de sus fases desde la toma de requisitos hasta la fase de pruebas. Ello te permite tener un amplio conocimiento de todos los detalles del proyecto, incluso del negocio del cliente, para ir tomando decisiones y resolver todos los problemas planteados, con la supervisin y ayuda de los superiores cuando ha sido necesaria. Tambin me ha permitido mejorar el dominio de diferentes herramientas, como las de diseo UML, planificacin de proyectos o retoque de imgenes, adems de las propias de ofimtica. Por otro lado, la redaccin de la memoria tambin ayuda a aprender a organizar y documentar mejor un proyecto, intentando expresar su contenido de una forma clara y formal. A nivel personal he mejorado mis habilidades comunicativas, al tener que tratar constantemente con el cliente, el diseador grfico o la empresa desarrolladora del ERP. A mi parecer sta es una caracterstica que cuesta bastante de desarrollar y es esencial para llegar a ser un buen ingeniero, ya que no sirve de nada tener buenas ideas si no se saben expresar.

151

152

9. Glosario
AJAX (Asynchronous JavaScript And XML): es una tcnica de desarrollo web para crear aplicaciones interactivas que se ejecutan en el navegador de los usuarios mientras se mantiene la comunicacin asncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las pginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones. API (Application Programming Interface): es el conjunto de funciones y procedimientos que ofrece una biblioteca para ser utilizado por otro software como una capa de abstraccin. Back Office: es la parte de las empresas donde tienen lugar las tareas destinadas a gestionar la propia empresa y con las cuales el cliente no necesita contacto directo. CMS (Content Management System): Es un programa que permite crear una estructura de soporte para la creacin y administracin de contenidos, principalmente en pginas web, por parte de los participantes. DTS (Data Transformation Services): Utilidad de SQL Server que posibilita la automatizacin de procesos ETL mediante paquetes ejecutables. ETL (Extraccin, Transformacin y Carga de datos): Es el proceso que permite a las organizaciones mover datos desde mltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos, data mart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio FTP (File Transfer Protocol): Es un protocolo de red para la transferencia de archivos basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde l o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo. IDE (Integrated development environment): es un entorno de programacin que ha sido empaquetado como un programa de aplicacin, compuesto por un conjunto de herramientas como un editor de cdigo, un compilador, un depurador o un constructor de interfaz grfica (GUI). HTTP (HyperText Transfer Protocol): protocolo usado en cada transaccin de la Web, que define la sintaxis y la semntica que utilizan los elementos software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema peticin-respuesta entre un cliente y un servidor.

153

HTTPS (Hypertext Transfer Protocol Secure), protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto, es decir, es la versin segura de HTTP. Es utilizado principalmente por entidades bancarias, tiendas online, y cualquier tipo de servicio que requiera el envo de datos personales o contraseas. ORM (Object-Relational mapping): es una tcnica de programacin para convertir datos entre el sistema de tipos utilizado en un lenguaje de programacin orientado a objetos y el utilizado en una base de datos relacional.

PYME (Pequea y mediana empresa): es una empresa con caractersticas distintivas,


tienen dimensiones con ciertos lmites ocupacionales y financieros prefijados por los Estados o Regiones. Son agentes con lgicas, culturas, intereses y espritu emprendedor especfico. SEO (Search Engine Optimization): Adaptacin de un sitio web para que los buscadores de Internet siten sus pginas web en una posicin y categora alta (primeras posiciones) dentro de su pgina de resultados para determinados trminos y frases clave de bsqueda. SGBD (Sistema Gestor de Base de Datos): es un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. SMTP (Simple Mail Transfer Protocol): Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrnico entre computadoras u otros dispositivos (PDA's, telfonos mviles, etc.). Es un estndar oficial de Internet. TIC (Tecnologas de la Informacin y la Comunicacin): agrupan los elementos y las tcnicas utilizadas en el tratamiento y la transmisin de las informaciones, principalmente de informtica, Internet y telecomunicaciones. XSLT (Extensible Stylesheet Language Transformations): Estndar que presenta una forma de transformar documentos XML a otros formatos utilizando una o varias reglas de plantilla.

154

10. Bibliografa
Ingeniera del software Benet Campderrich Falgueras Sistemas de bases de datos: diseo, implementacin y administracin Peter Rob, Carlos Coronel Applying UML and patterns: an introduction to object-oriented analysis and the Unified Process Craig Larman Gua de Posicionamiento en buscadores Google Gua rpida de comercios La Caixa PFC : How-To. David Domingo Aplicaci web per a l'explotaci comercial i gesti interna d'una empresa constructora Albert Maristany Borge Sistema web per a una empresa de venta dentrades Ivn Sez Zamora Espacio web del auditorio de Sant Cugat Javier Martn Lpez Wikipedia http://es.wikipedia.org Microsoft Development http://msdn.microsoft.com/es-es/default.aspx W3 Consortium www.w3.org www.w3school.org Desarrolladores Web www.desarrolloweb.com

155

También podría gustarte