ONess: un proyecto open source para el negocio textil mayorista desarrollado con tecnologías open source innovadoras.

PROXECTO DE FIN DE CARREIRA DE ENXEÑERÍA INFORMÁTICA

Carlos Sánchez González

Universidade da Coruña
Facultade de Informática - Departamento de Tecnoloxías da Información e as Comunicacións

A Coruña, Septiembre de 2004

Copyright 2004 Carlos Sánchez

28/09/2004


Dedicatoria

A mi familia.

Tabla de contenidos

Resumen
I. Introducción
1. Escenario
1.1. Objetivos
2. ONess: una visión global
2.1. Visión global
2.2. Base tecnológica
II. Justificación y metodología
3. Justificación
3.1. Aplicaciones web
3.2. Aplicaciones en capas
3.2.1. La arquitectura MVC y Model 2
3.2.1.1. Model 2
3.3. Open Source
4. Estudio: otras aplicaciones de gestión open source
4.1. Compiere
4.1.1. Características
4.1.2. Tecnología empleada
4.2. Open for Business OFBiz
4.2.1. Características
4.2.2. Tecnología empleada
5. Metodología
5.1. Una introducción a eXtreme Programming
5.2. Ciclo de vida de un proyecto XP
5.3. Aplicación de eXtreme Programming en ONess
III. Ciclo de vida
6. Exploración
6.1. Historias de usuario (user stories)
6.1.1. Funcionalidad general
6.1.1.1. Auditoría
6.1.1.2. Autenticación y autorización
6.1.1.3. Accesibilidad desde dispositivos móviles
6.1.2. Gestión de contactos: clientes y proveedores
6.1.2.1. Creación de contactos
6.1.2.2. Visualización de contactos
6.1.2.3. Modificación de contactos
6.1.2.4. Borrado de contactos
6.1.2.5. Búsqueda de contactos
6.1.2.6. Añadir información de contacto a un contacto
6.1.2.7. Visualización de información de contacto
6.1.2.8. Modificación de información de contacto
6.1.2.9. Borrado de información de contacto
6.1.3. Gestión de inventario
6.1.3.1. Creación de modelos
6.1.3.2. Visualización de modelos
6.1.3.3. Modificación de modelos
6.1.3.4. Borrado de modelos
6.1.3.5. Búsqueda de modelos
6.1.3.6. Creación y modificación de precios
6.1.4. Gestión de compras y ventas
6.1.4.1. Creación de pedidos
6.1.4.2. Añadir productos a un pedido
6.1.4.3. Visualización de pedidos
6.1.4.4. Modificación de pedidos
6.1.4.5. Borrado de pedidos
6.1.4.6. Listado de pedidos pendientes
6.1.4.7. Creación de albaranes
6.1.4.8. Creación de facturas
6.2. Herramientas
6.2.1. Desarrollo
6.2.2. Gestión del proyecto
6.2.3. Ejecución
6.3. Tecnologías
6.3.1. Maven
6.3.2. Programación Orientada a Aspectos (AOP)
6.3.3. Programación Orientada a Atributos
6.3.4. AspectJ
6.3.5. Spring Framework
6.3.6. Acegi Security System for Spring
6.3.7. Hibernate
6.3.8. XDoclet
6.3.9. Struts, JSP, JSTL, Tiles, struts-menu, Validator, CSS
6.3.10. JUnit, DBUnit, JMock, StrutsTestCase
6.3.11. Jakarta Commons
6.4. Prototipo
7. Planificacion de las entregas
7.1. Estimaciones de esfuerzo
7.1.1. Funcionalidad general
7.1.2. Gestión de contactos: clientes y proveedores
7.1.3. Gestión de inventario
7.1.4. Gestión de compras y ventas
7.2. Planificación
7.2.1. Primera iteración: Prototipo
7.2.2. Segunda iteración: Autenticación y autorización, finalización de la gestión de contactos
7.2.3. Tercera iteración: Gestión de inventario y accesibilidad desde dispositivos móviles
7.2.4. Cuarta iteración: Gestión de compras y ventas
8. Iteraciones
8.1. Primera iteración
8.1.1. Estructura de directorios y repositorio de código fuente
8.1.2. Auditoría
8.1.3. Funcionalidad común
8.1.3.1. Funcionalidad común a la totalidad del sistema
8.1.3.2. Funcionalidad común a la capa modelo
8.1.3.3. Funcionalidad común a las capas controlador y vista de las aplicaciones web
8.1.4. Creación, visualización, modificación, eliminación y búsqueda de contactos
8.1.4.1. Modelo
8.1.4.2. Aplicación web
8.2. Segunda iteración
8.2.1. Añadir información de contacto a un contacto
8.2.1.1. Librería de tags de países internacionalizable
8.2.2. Visualización, modificación y eliminación de información de contacto
8.2.3. Autenticación y autorización
8.2.3.1. Modelo
8.2.3.2. Aplicación web
8.3. Tercera iteración
8.3.1. Creación de modelos y productos
8.3.2. Visualización, modificación, eliminación y búsqueda de modelos
8.3.3. Creación y modificación de precios
8.3.4. Accesibilidad desde dispositivos móviles
8.3.5. Otros cambios
8.4. Cuarta iteración
8.4.1. Otros cambios
9. Producción
IV. Conclusiones y trabajo futuro
10. Conclusiones y trabajo futuro
10.1. Visión global del trabajo realizado
10.2. Aspectos favorables
10.3. Aspectos desfavorables
10.4. Trabajo futuro
A. Obtención y compilación del código
A.1. Descarga y compilación del código fuente disponible en CVS
A.2. Compilación a partir del código fuente descargado
A.3. Configuración de la base de datos para los tests
A.4. Usando eclipse
B. Instalación
B.1. Instalación
B.2. Instalación de la base de datos
B.3. Instalación en Tomcat
Glosario
Bibliografía y Referencias