Capítulo 6. Exploración

Tabla de contenidos

Historias de usuario (user stories)
Funcionalidad general
Gestión de contactos: clientes y proveedores
Gestión de inventario
Gestión de compras y ventas
Herramientas
Desarrollo
Gestión del proyecto
Ejecución
Tecnologías
Maven
Programación Orientada a Aspectos (AOP)
Programación Orientada a Atributos
AspectJ
Spring Framework
Acegi Security System for Spring
Hibernate
XDoclet
Struts, JSP, JSTL, Tiles, struts-menu, Validator, CSS
JUnit, DBUnit, JMock, StrutsTestCase
Jakarta Commons
Prototipo

Tal y como se ha definido en el ciclo de vida de eXtreme Programming la primera fase es la exploración, fase en la que se plantean las historias de usuario (user stories) al mismo tiempo que el equipo de desarrollo se familiariza con las herramientas, tecnologías y prácticas que se utilizarán en el proyecto. Se prueba la tecnología y se exploran las posibilidades de la arquitectura del sistema construyendo un prototipo.

Historias de usuario (user stories)

Las historias de usuario son la técnica utilizada en XP para especificar los requisitos del software, lo que equivaldría a los casos de uso en el proceso unificado.

Se describen brevemente las características que el sistema debe tener desde la perspectiva del cliente, en este caso hay tres grupos de funcionalidades bien diferenciadas: gestión de clientes y proveedores, gestión de inventario y gestión de compras y ventas.

Funcionalidad general

Como requisitos generales del sistema se consideran principalmente auditoría, seguridad y la accesibilidad desde dispositivos móviles.

Auditoría

Los cambios realizados al sistema por los usuarios deben ser auditados. Para todas las altas, modificaciones y eliminaciones de datos se debe conocer el qué, quién y cuándo se han realizado.

Autenticación y autorización

Existirán varios roles de usuarios, y cada uno de ellos sólo podrá acceder a un subconjunto de los datos y las operaciones. Existirá un usuario administrador que tendrá acceso completo a la aplicación.

Accesibilidad desde dispositivos móviles

El sistema debe ser accesible desde cualquier localización utilizando tanto ordenadores portátiles como dispositivos móviles, principalmente PDAs. La localización puede ser tanto el propio local de la empresa como un lugar exterior.

Gestión de contactos: clientes y proveedores

En este apartado se tratará el concepto de contacto (party), persona u organización que es la otra parte en una relación comercial.

Cada uno de estos contactos puede tiene como atributo un nombre interno, que es el utilizado comúnmente para referirse a él, y unos atributos según sea:

  • persona

    • título (Sr., Sra.)

    • nombre

    • apellidos

  • organización

    • nombre oficial

Además de esto pueden tener información para contactar con ellos, como pueden ser:

  • direcciones postales (destinatario, dirección, ciudad, código postal, provincia, país)

  • números de teléfono (país, código de área, teléfono, extensión)

  • direcciones de correo electrónico (e-mail)

  • direcciones web (url)

Cada uno de ellos con el propósito de esa información de contacto, por ejemplo

  • correo electrónico del departamento de ventas

  • dirección del almacén

  • dirección de las oficinas

  • etc.

Creación de contactos

Para la creación de un contacto el usuario debe seleccionar si es una persona o una organización, y según su elección introducir los atributos correspondientes.

Visualización de contactos

Al usuario se le muestran los atributos correspondientes al tipo de contacto y la lista con las informaciones de contacto.

Modificación de contactos

El usuario podrá cambiar los atributos de un contacto.

Borrado de contactos

Cuando se considere que ya no son de relevancia los clientes o proveedores podrán ser borrados.

Búsqueda de contactos

Se podrán realizar búsquedas por cualquiera de los atributos, tanto de personas como de organizaciones.

Añadir información de contacto a un contacto

Desde la visualización de un contacto se podrá añadir información de contacto, seleccionando el tipo de información (dirección postal, número de teléfono, correo electrónico o dirección web) se permitirá que el usuario introduzca los atributos correspondientes.

Visualización de información de contacto

Se mostrará el tipo de información, sus atributos y los propósitos de ella.

Modificación de información de contacto

Se podrán cambiar los atributos de cualquier tipo de información de contacto.

Borrado de información de contacto

Cuando ya no sea relevante para al negocio se podrá borrar la información de contacto.

Gestión de inventario

La gestión de inventario se centra en las operaciones con modelos (models) y productos (products). Esta es una de las partes más complicadas en cualquier empresa, ya que se tiene que tratar con productos procedentes de diversos proveedores, que llaman de distintas formas a la misma cosa, que tienen unos procesos muy distintos unos a otros,...

En el negocio textil esto es más complicado si cabe, donde apenas se utilizan los pocos estándares que existen, no se utiliza la misma nomenclatura para los tallajes ni los colores y el uso de códigos de barras es inferior al 50%, por lo que aproximaciones que habitualmente son usadas en otro tipo de negocios no son aplicables.

Volviendo a modelos y productos, los modelos representan un diseño concreto, del que pueden existir distintas tallas y colores. Los modelos son exclusivos de cada proveedor, es decir dos proveedores nunca hacen un mismo modelo, siempre hay alguna diferencia como puede ser la calidad del tejido. Los modelos tienen los siguientes atributos:

  • código de modelo del proveedor

  • nombre, asignado por la empresa, que normalmente será el código asignado por el proveedor, pero que podría ser cambiado si ya existiese ese código anteriormente o el proveedor no asignara ninguno.

  • descripción

  • año

  • temporada, principalmente

    • permanente

    • primavera-verano

    • otoño-invierno

  • tallaje

    • recién nacido (000, 00, ..., 30, 36)

    • niño (1, 2, ..., 8, 10)

    • niño mayor (4, 6, ..., 16, 18)

    • caballero (48, 50, ..., 58, 60)

    • señora (5, 6, 7, 8)

Cada modelo tiene productos, que son la representación de cada talla y color, con su SKU (Stock Keeping Unit) que es el identificador que se utilizará para referirse a ellos dentro de la empresa, y la posibilidad de tener un número ilimitado de códigos de barras, para evitar los problemas causados por la posible gestión incorrecta de los proveedores.

Se considera la posibilidad de que la empresa tenga más de un almacén, si bien esto no es lo habitual, con lo que en cada uno de ellos podría existir stock de los productos.

También se considera que pueden existir varias tarifas, cada una con un precio distinto para cada producto.

Creación de modelos

Par crear un modelo el usuario debe seleccionar el proveedor al que pertenece, introducir el código del modelo del proveedor, el nombre, la descripción, el año, la temporada, el tallaje al que pertenece y seleccionar los colores en los que lo habrá. Automáticamente se crearán los productos correspondientes a cada talla del tallaje y a cada color seleccionado.

Visualización de modelos

La visualización de un modelo consistirá en mostrar sus atributos así como cada uno de sus productos, con su talla, color, stock en cada uno de los almacenes, precio en cada tarifa y sus códigos de barras.

Modificación de modelos

Una vez creado, los atributos del modelo pueden ser modificados.

Borrado de modelos

Borrar un modelo equivale a darlo de baja porque ni se dispone de stock ni se dispondrá en el futuro.

Búsqueda de modelos

Se podrá buscar un modelo por cualquiera de sus atributos, cuyo resultado será una lista de modelos desde la que poder ir a la visualización de cada uno de ellos.

Creación y modificación de precios

Desde la visualización de un modelo se podrá ir a la creación/modificación de sus precios, que consistirá en poder asignar un precio o cambiar el ya existente para cada una de las tarifas y para todas las tallas.

Gestión de compras y ventas

Dentro de esta funcionalidad se engloba el proceso de creación de

  • pedidos (orders)

  • albaranes (delivery dockets)

  • facturas (invoices)

tanto para compras como para ventas.

El proceso de ventas comienza cuando un representante visita a un cliente en su lugar de negocio. Este cliente escoge una serie de productos y cantidades que se formalizan en un pedido.

Posteriormente los pedidos son servidos según se considere oportuno. Se podrán servir en su totalidad o parcialmente, quedando pendientes las cantidades no servidas para posteriores ocasiones, pudiendo también servir en un único envío mercancía de más de un pedido. Se generará un albarán con la mercancía enviada, corresponda a uno o varios pedidos, es decir si se sirve mercancía de dos pedidos en un único envío se generará un único albarán.

Finalmente se generarán las facturas a partir de los albaranes, pudiendo una factura incluir varios albaranes. Normalmente estas facturas se incluyen en los envíos por lo que sólo se incluirá el albarán correspondiente.

El proceso de compra es exactamente el mismo.

Creación de pedidos

A partir de un cliente o proveedor se podrá crear un nuevo pedido, seleccionando si se trata de un pedido de compra o de venta. El único dato necesario será la fecha del pedido, que normalmente será el mismo día, y se podrán anotar cualquier tipo de comentarios.

Añadir productos a un pedido

Se podrán buscar los productos para añadirlos al pedido en curso, en la cantidad deseada.

Visualización de pedidos

Al visualizar un pedido se mostrarán los datos del cliente o proveedor y la lista de productos.

Modificación de pedidos

La fecha o los comentarios del pedido pueden ser modificados, así como la lista de productos, pudiendo añadir, quitar o modificar las cantidades de éstos.

Borrado de pedidos

Si un pedido es anulado se podrá borrar.

Listado de pedidos pendientes

La lista de pedidos pendientes debe estar accesible, preferiblemente con un indicador sobre la posibilidad de ser servido parcial o totalmente.

Creación de albaranes

Crear un albarán implica seleccionar de entre los pedidos pendientes de un cliente o proveedor la mercancía que es servida, seleccionando las cantidades que se servirán de cada producto, normalmente el total.

Creación de facturas

Un proceso equivalente al de creación de albaranes, seleccionando de entre los albaranes no facturados de un cliente o proveedor aquellos que se facturarán, siempre en su totalidad.