Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
DATOS DEL PROYECTO Ttulo del Proyecto: Tienda virtual con gestor de contenidos para la taberna lEspinaler.
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
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:
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.
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:
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
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
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
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
16
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.
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%
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
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
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
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
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.
32
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.
Catlogo virtual
Formado por categoras, familias, agrupaciones y productos con sus respectivos idiomas. Adems se encuentran relaciones entre productos para denotar recomendados y sustitutos.
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.
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.
36
Otros
Las secciones tendrn una traduccin para cada idioma. Adicionalmente, los apartados de historia y noticias tendrn sus propias entidades multiidioma:
Los textos auxiliares y las imgenes especiales tambin tendrn sus respectivas clases asociativas con Idioma:
Las entidades que correspondan a una pgina posicionable tendrn asociada una pgina 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.
Enumeraciones
Los campos cuyos valores pertenecen a un intervalo de opciones cerrado han sido definidos como tipos Enumeracin:
38
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
TIENDA
ADMIN
ERP
BANCO
Visitante
Administrador
Visual Software
TPV Virtual
Cliente
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.
Buscar Producto
Consultar producto
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
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
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
Iniciar Sesin
Cerrar Sesin
Recuperar contrasea
Cambiar Contrasea
Realizar Pedido
Pagar Pedido
Efectuar transaccin
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
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
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.
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
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
Visual Software
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
Iniciar Sesion
Cerrar Sesion
Administrador
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
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.
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.
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.
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
55
Alta Grupo
Baja Grupo
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.
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.
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.
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.
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
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.
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
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.
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
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
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
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
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.
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
63
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
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
Aadir Sustitucion
Eliminar sustitucion
Eliminar Recomendacion
Aadir Recomendacion
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
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.
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.
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.
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
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.
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
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.
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
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.
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
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.
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
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
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.
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
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.
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
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.
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.
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
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.
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.
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.
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
78
Consulta Seccion
Consulta Etiquetas
Administrador
Modificacion Seccion
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
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
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 Historia
Baja 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
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
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.
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.
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
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.
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
83
Alta Cliente
Baja Cliente
Modificacion Cliente
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.
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.
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.
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
Baja Linea
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.
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
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.
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
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
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.
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
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
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
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.
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
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.
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
92
Consulta Idioma
Modificacion Idioma
Consulta MetaTags
Modificacion Parametros
Modificacion Contrasea
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
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.
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.
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
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
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.
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.
99
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.
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.
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:
103
Para tener claro el funcionamiento de algunas partes del sistema se han definido esquemas conceptuales como el siguiente antes de disearlas:
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:
105
106
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:
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.
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:
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:
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
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:
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:
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.
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.
114
El resto de tablas derivarn del modelo conceptual de la misma forma que las anteriores:
115
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.
119
A continuacin se explicarn brevemente las diferentes capas que forman el .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:
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.
121
122
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.
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:
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.
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.
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
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:
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.
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:
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:
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.
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.
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.
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.
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.
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:
131
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
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:
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.
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:
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.
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:
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:
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:
Tambin se ha logrado potenciar y expandir la marca Espinaler atrayendo visitas por todo el mundo, con especial atencin en los Estados Unidos.
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.
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:
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:
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:
147
148
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
150
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.
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