Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
GESTMARKET
Autor:
Jos Mara Blaya Prez
Director:
D. Miguel ngel Guilln Navarro
GESTMARKET
Autor:
Jos Mara Blaya Prez
Director:
D. Miguel ngel Guilln Navarro
Agradecimientos
Este trabajo no habra sido posible sin todos los conocimientos adquiridos a
lo largo de la carrera, aportndome en cada asignatura las nociones necesarias
para llevar a cabo el proyecto, gracias a cada uno de los profesores de todas las
asignaturas del grado. Agradecer tambin a la universidad todas las facilidades y
flexibilidad que han hecho compatible la realizacin del proyecto con mi trabajo.
A mis amigos, por hacer que los momentos malos no lo sean tanto, por
llenar todos mis das de risas. En especial quiero nombrar a Dani y Pablo, ya que
gracias a ellos este grado ha sido mucho ms fcil.
Pero sobre todo quiero darle las gracias a Alicia, sin su apoyo este trabajo
fin de grado no hubiera sido posible, ya que me ha hecho ver la luz en los peores
momentos y me ha dado las fuerzas que necesarias para finalizarlo.
TABLA DE CONTENIDO
1
Introduccin .................................................................................................................. 31
1.1
Motivacin ............................................................................................................. 31
1.2
Definicin .............................................................................................................. 32
1.3
Objetivos propuestos.............................................................................................. 33
2.2
2.2.1
CS-Almacenes ............................................................................................................ 36
2.2.2
GestMag .................................................................................................................... 37
2.2.3
2.3
2.3.1
2.3.2
2.3.3
2.3.4
Seleccin de la solucin............................................................................................. 42
Introduccin ........................................................................................................... 43
3.2
3.2.1
3.3
3.4
3.5
Spring ..................................................................................................................... 51
4.2
JPA ......................................................................................................................... 56
4.3
Maven .................................................................................................................... 60
4.4
4.5
JSP ......................................................................................................................... 63
4.6
JSTL ....................................................................................................................... 64
4.7
4.8
CSS ........................................................................................................................ 69
4.9
4.10
4.11
5
JFreeCharts ......................................................................................................... 72
Estimaciones utilizadas .......................................................................................... 73
5.1.1
5.1.2
5.1.3
5.1.4
5.2
5.3
6.1.1
6.2
6.2.1
6.2.2
6.3
Requisitos............................................................................................................... 96
6.3.1
6.4.1
6.4.2
6.4.3
6.4.4
6.4.5
8.1.
Bibliografa.................................................................................................................. 147
10 Anexos......................................................................................................................... 149
10.1
10.2
10.2.1
10.3
10.3.1
NDICE DE TABLAS
Tabla 1. Comparativa aplicaciones ................................................................................. 41
Tabla 2. Mtrica orientada al tamao. Lneas de cdigo ............................................ 74
Tabla 3. Ajustes de complejidad ..................................................................................... 77
Tabla 4. Puntos de funcin............................................................................................... 78
Tabla 5. Puntos sin ajustar ............................................................................................... 79
Tabla 6. Factor de complejidad total............................................................................... 80
Tabla 7. Duracin fases RUP .......................................................................................... 82
Tabla 8. Presupuesto aplicacin ..................................................................................... 85
Tabla 9. Presupuesto equipamiento ............................................................................... 86
Tabla 10. Presupuesto total ............................................................................................. 87
Tabla 11. Flujos de trabajo RUP ..................................................................................... 90
Tabla 12. Implementacin fase de inicio ........................................................................ 91
Tabla 13. Implementacin fase de elaboracin ............................................................ 92
Tabla 14. Implementacin fase de construccin (Iteracin 1) .................................... 93
Tabla 15. Implementacin fase de construccin (Iteracin 2) .................................... 93
Tabla 16. Caso de uso hacer login ................................................................................. 98
Tabla 17. Caso de uso filtrar tipo de producto .............................................................. 99
Tabla 18. Caso de uso realizar venta ........................................................................... 100
Tabla 19. Caso de uso generar ticket........................................................................... 100
Tabla 20. Caso de uso crear producto ......................................................................... 101
Tabla 21. Caso de uso eliminar producto .................................................................... 102
Tabla 22. Caso de uso editar producto ........................................................................ 102
Tabla 23. Caso de uso buscar producto ...................................................................... 103
Tabla 24. Caso de uso crear tipo de producto ............................................................ 104
Tabla 25. Caso de uso consultar stock ........................................................................ 105
Tabla 26. Caso de uso eliminar caducados ................................................................ 106
Tabla 27. Caso de uso consultar grfico de prodcutos en stock ............................. 107
Tabla 28. Caso de uso consultar grfico de ventas anuales .................................... 108
Tabla 29. Caso de uso consultar grfico de ventas mensuales............................... 109
Tabla 30. Caso de uso generar pedido ........................................................................ 110
Tabla 31. Caso de uso importar pedido ....................................................................... 110
Tabla 32. Caso de uso crear usuario ........................................................................... 111
Tabla 33. Caso de uso eliminar usuario....................................................................... 112
Tabla 34. Caso de uso consultar usuarios .................................................................. 112
Tabla 35. Caso de prueba 1........................................................................................... 132
Tabla 36. Caso de prueba 2........................................................................................... 133
Tabla 37. Caso de prueba 3........................................................................................... 134
Tabla 38. Caso de prueba 4........................................................................................... 135
Tabla 39. Caso de prueba 5........................................................................................... 136
Tabla 40. Caso de prueba 6........................................................................................... 137
Tabla 41. Caso de prueba 7........................................................................................... 138
Tabla 42. Caso de prueba 8........................................................................................... 139
Tabla 43. Caso de prueba 9........................................................................................... 140
Tabla 44. Evolutivo implementacin IVA ..................................................................... 144
Tabla 45. Evolutivo gestin de proveedores ............................................................... 145
Tabla 46. Requisito funcional login ............................................................................... 149
Tabla 47. Requisito funcional crear producto.............................................................. 150
Tabla 48. Requisito funcional crear tipo de producto................................................. 150
NDICE DE ILUSTRACIONES
Ilustracin 1. Logotipo CS - Almacenes ......................................................................... 36
Ilustracin 2. CS - Almacenes ......................................................................................... 37
Ilustracin 3. Logotipo GestMag ...................................................................................... 37
Ilustracin 4. GestMag ...................................................................................................... 38
Ilustracin 5. Logotipo PHC CS TPV .............................................................................. 38
Ilustracin 6. PHC CS TPV .............................................................................................. 39
Ilustracin 7. Ciclo modelo espiral .................................................................................. 45
Ilustracin 8. Ciclo modelo RUP ...................................................................................... 47
Ilustracin 9. Fases modelo RUP .................................................................................... 48
Ilustracin 10. Logotipo Spring ........................................................................................ 51
Ilustracin 11. Arquitectura Dispatcher Servlet ............................................................. 53
Ilustracin 12. Ejemplo RequestMapping ...................................................................... 54
Ilustracin 13. Arquitectura GestMarket ......................................................................... 55
Ilustracin 14. Esquema persistencia ............................................................................. 56
Ilustracin 15. Arquitectura JPA ...................................................................................... 57
Ilustracin 16. Ejemplo entidad GestMarket.................................................................. 58
Ilustracin 17. Logotipo maven ........................................................................................ 60
Ilustracin 18. Ejemplo librera GestMarket................................................................... 61
Ilustracin 19. Ejemplo plugin GestMarket .................................................................... 62
Ilustracin 20. Logotipo JQuery ....................................................................................... 62
Ilustracin 21. Logotipo JSP ............................................................................................ 64
Ilustracin 22. Logotipo JSTL .......................................................................................... 64
Ilustracin 23. Librera jstl................................................................................................. 66
Ilustracin 24. Ejemplo jstl GestMarket .......................................................................... 66
Ilustracin 25. Librera apache tiles ................................................................................ 67
Ilustracin 26. Inyeccin apache tiles ............................................................................. 68
Ilustracin 27. Ejemplo apache tiles GestMarket ................................................................. 68
Ilustracin 28. Logotipo CSS ........................................................................................... 69
Ilustracin 29. Importacin CSS ...................................................................................... 70
Ilustracin 30. Ejemplo CSS GestMarket....................................................................... 70
Ilustracin 31. Logotipo Apache Tomcat ........................................................................ 71
Ilustracin 32. Logotipo Oracle ........................................................................................ 72
Ilustracin 33. Logotipo JFreeCharts .............................................................................. 72
Ilustracin 34. Porcentaje fases RUO ............................................................................ 82
Ilustracin 35. Estimacin por semanas ........................................................................ 83
Ilustracin 36. Diagrama de Gantt .................................................................................. 84
Ilustracin 37. Modelo de empresa ................................................................................. 94
Ilustracin 38. Modelo de dominio .................................................................................. 95
Ilustracin 39. Caso de uso general ............................................................................... 97
Ilustracin 40. Caso de uso hacer login ......................................................................... 98
Ilustracin 41. Caso de uso realizar venta..................................................................... 99
Ilustracin 42. Caso de uso gestionar productos ....................................................... 101
Ilustracin 43. Caso de uso gestionar tipos de productos ........................................ 104
Ilustracin 44. Caso de uso gestionar stock ................................................................ 105
Ilustracin 45. Caso de uso gestionar estadsticas .................................................... 107
Ilustracin 46. Caso de uso gestionar pedidos ........................................................... 109
Ilustracin 47. Caso de uso gestionar usuarios .......................................................... 111
Ilustracin 48. Diagrama de clases ............................................................................... 113
RESUMEN
Este trabajo fin de grado va a ser dedicado a la creacin de una aplicacin
para la gestin de una tienda, con ella se podr conseguir un control del producto
y un conocimiento sobre las ventas realizadas para contribuir al crecimiento del
negocio.
ABSTRACT
The aim of this project is to develop a shop management application, which
will contribute to improve the business organisation, control and efficiency, as well
as the profits by means of online sales.
So far, the firm, due to its small size, was using very primitive management
tools, and even the accounting was being done manually.
Due to its recent growth, the firm needed a solution to improve the product
control and to manage, more efficiently, all the challenges that a larger business
could face.
For all the previously commented reasons, the purpose of this project is to
create a simple management application with a very scalable architecture to adapt,
efficiently, to the future needs that a business in expansion could have.
In particular, the customer requested a software application for the store and
sales orders management, in addition to a statistic system to predict the stock
needs.
The application has been developed and validated in the customer offices.
1 INTRODUCCIN
1.1
Motivacin
Las nuevas tecnologas de la informacin estn implantadas en la
Se quiere crear una aplicacin que pueda ser fcilmente configurable para
cualquier tipo de producto adems de ser personalizable con solo una pequea
31
inversin de dinero, de esta manera tener una gran salida en el mercado actual. El
empresario necesita tener toda la informacin centralizada y tratndose de una
aplicacin web se podr conectar desde cualquier dispositivo, ya que hoy en da
todo el mundo dispone de internet en su bolsillo.
1.2
Definicin
En este proyecto se ha creado una aplicacin web llamada GestMarket
Se trata de una aplicacin web que podr ser instalada en un servidor para
poder acceder desde cualquier mquina con un simple navegador, de esta manera
estar todo centralizado y se podrn tener tantos puntos de acceso como se
necesiten.
Gestin de productos.
Gestin de stock.
Gestin de venta.
Gestin de pedidos.
Gestin de usuarios.
Adems se ofrece un sistema de estadsticas donde se pueden consultar
una serie de grficas basadas en las ventas realizadas. Este apartado se basa en
dos tipos de grficas, donde se puede ver los datos de diferentes aos y sacar
32
1.3
Objetivos propuestos
Antes de comenzar se marcan dos objetivos principales que abarcan varios
objetivos secundarios, todos estos debern de haber sido cumplidos una vez
finalizado el proyecto por completo. Los cuales son:
Estudio e implementacin de diferentes tecnologas usadas en la
actualidad:
Aplicar una programacin orientada a objetos para favorecer su
crecimiento.
Desarrollar un software con una arquitectura de fcil ampliacin.
Implementar un sistema de acceso a base de datos sin perder las
ventajas de la programacin orientada a objetos.
33
34
2.1
Una forma fcil e intuitiva de vender productos, para agilizar los pedidos
de los usuarios.
2.2
2.2.1 CS-Almacenes
Ilustracin 2. CS - Almacenes
2.2.2 GestMag
Ilustracin 4. GestMag
38
39
2.3
40
Tras comparar las necesidades del cliente con algunos de los software que
hay en el mercado y viendo que ninguno de ellos las cubre en su totalidad, se cree
que la mejor solucin ser el desarrollo de un software a medida.
Aplicacin
Gestin
Gestin
de
de
de
stock
productos
pedidos
SI
SI
NO
NO
NO
SI
GestMag
SI
SI
SI
SI
NO
NO
PHC CS
SI
SI
SI
NO
SI
NO
GestMarket
SI
SI
SI
SI
SI
SI
CS-
Grficas Gestin
WEB
Fcil e
intuitiva
Almacenes
41
Como se puede ver en la tabla anterior, ninguno del otro software se adapta
completamente a las necesidades del cliente, ya que por un lado se tiene una
aplicacin demasiado bsica y por otro dos aplicaciones complejas y poco
prcticas e intuitivas.
42
3 METODOLOGAS USADAS
En este punto se va a estudiar alguna de las metodologas usadas en la
actualidad para escoger y aplicar la que ms se adapte a las necesidades.
3.1
Introduccin
El desarrollo de una aplicacin informtica es de alta complejidad, es difcil
que una aplicacin por simple que sea se desarrolle sin ningn tipo de fallo. Hay
una serie de factores que dificultan realizar una verificacin minuciosa de toda la
casustica que se pueda dar en la ejecucin.
3.2
Modelo espiral
La metodologa en espiral en el desarrollo del software es un modelo meta
Planificacin: esta actividad hay que aplicarla para poder definir los
recursos, el tiempo estimado y otras informaciones relacionadas con
el proyecto.
45
3.3
Modelo RUP
El modelo RUP es otro modelo de desarrollo de software (Proceso
Orientado a objetos.
Inicio: la misin de esta fase es tener claros los objetivos del proyecto,
desarrollando los casos de uso e identificando los riesgos.
47
48
3.4
Modelo
Espiral
RUP
Ventajas
Mtodo pesado.
En proyectos de poco
tamao, es posible que no
salga rentable por la
dedicacin del equipo.
Se trata de un modelo
evolutivo.
Desventajas -
3.5
No se necesita la definicin
total de los requisitos de la
aplicacin a desarrollar
para comenzar su
funcionalidad.
Se requiere de experiencia
para detectar los riesgos.
Modelo elegido
Tras analizar los dos modelos se decanta finalmente por el modelo RUP por
dos grandes razones, se tienen los requisitos bien marcados desde el principio y
no se tiene experiencia. De tal forma el modelo RUP ser el encargado de
estructurar el proyecto.
49
50
4.1
Spring
Viendo la necesidad de usar un framework para crear una aplicacin se
estudi cual era la mejor opcin para ello, ya que se buscaba una herramienta de
trabajo que hiciera el trabajo bastante sencillo.
52
53
Adems de usar este modelo se ha optado por una arquitectura por capas,
separando en diferentes proyectos el cdigo por funcionalidad, referenciando los
proyectos entre ellos para que acten como un nico proyecto, de esta manera se
tiene una implementacin clara y expansible.
54
operaciones lgicas necesarias con los datos para que en los controladores
solo se trabaje con el control de ellos.
Mantenibilidad:
o La separacin de capas permite desacoplar tecnologas especficas
en cada capa.
o Se pueden manejar los errores en forma diferenciada, lo que facilita
el diagnstico y soluciones de incidencias.
55
Desarrollo:
o Cada capa conoce sus caractersticas, lo que permite separar
adecuadamente el desarrollo de cada una.
o Se fomenta la reutilizacin, ya que los componentes de una capa
pueden ser utilizados por varios componentes de otra capa.
o Se promueve la modularidad.
4.2
JPA
Se entiende por persistencia a leer y escribir datos desde una aplicacin
56
57
58
@GeneratedValue:
esto
sirve
para
campos
numricos
que
son
59
4.3
Maven
Maven es una herramienta usada en proyectos Java para su construccin y
60
61
4.4
Jquery y Ajax
Cuando se necesita cargar cualquier dato desde una vista de la aplicacin
web y mostrarlo por pantalla es necesario volver cargar el jsp, para ello debe de
hacerse a travs de algn botn que acceda a un mtodo del controlador y desde
este tratar los datos enviados, procesarlos y volverlos a mandar al jsp.
62
4.5
JSP
Java Server Pages (JSP) es una tecnologa basada en Java que simplifica
el desarrollo de pginas web con contenido dinmico. Con JSP [7] se puede
incorporar elementos dinmicos dentro de la pgina utilizando tanto porciones de
cdigo Java incrustadas, como unas cuantas etiquetas. As, las pginas JSP
tienen el aspecto de una pgina tradicional HTML, a la que se le ha introducido
parte de cdigo Java. De esta forma, cuando una pgina es solicitada por un
usuario y procesada por un servidor HTTP, el cdigo HTML se le mostrar
directamente al usuario, mientras que las porciones de cdigo Java sern
ejecutadas en el servidor cuando la solicitud haya sido recibida, para generar el
contenido dinmico de la pgina. Cuando el usuario acceda al cdigo de la pgina
que le llega slo ver HTML, sin poder acceder al cdigo JSP subyacente.
63
Esta tecnologa es la elegida para la vista final del usuario, de esta manera
se puede crear pginas web compuestas de HTML y CSS e incluirle cdigo JAVA
para su programacin, ya que esto es una aplicacin web y no una simple pgina.
4.6
JSTL
JSTL [8] es una serie de libreras que forma parte de J2EE compuesta por
Se puede encontrar alguna desventaja de usar las libreras den JSTL, como
pueden ser:
una
65
66
4.7
Apache tiles
Apache tiles [9] es una librera implementada en el proyecto para poder
crear plantillas de los JSP, de esta manera no tener que repetir cdigo ya que toda
la aplicacin tendr el mismo formato HTML obviando la parte del body, que es la
parte donde se mostrar el contenido de la aplicacin.
67
Dentro del XML definido para crear las plantillas se configuran las que se
crean necesarias, en este caso se necesita dos tipos de plantilla, ya que es la
misma para toda la aplicacin pero antes de acceder a ella tiene que hacer login, y
en ese JSP no se quiere mostrar el men.
68
4.8
CSS
Hoja de estilo en cascada (CSS) [10] es un lenguaje simple que sirve para
69
4.9
Apache Tomcat
Apache Tomcat [11] es un software que se utiliza como servidor web para
71
4.11 JFreeCharts
Para construir los grficos que el cliente ha solicitado se va a tener que
implementar una librera especfica para ello.
72
5.1
Estimaciones utilizadas
comentadas, solo lneas de cdigo real. Esta mtrica es bastante utilizada por su
facilidad de aplicacin.
73
Fichero
Ventas
700
750
950
775
800
0,97
Pedidos
480
550
700
563
1000
0,56
Estadsticas
350
420
550
430
700
0,61
Productos
500
650
820
653
1000
0,65
Almacn
550
580
650
586
1000
0,58
Tipos
400
420
500
430
1000
0,43
Usuarios
60
120
220
126
700
0,18
Configuracin 240
300
450
315
400
0,7
Diseo
260
280
400
296
400
0,7
Total
3540
4070
5240
4176
5,5
Una vez que se han calculado las lneas de cdigo que se va a necesitar
para completar la aplicacin, se aplica el modelo COCOMO teniendo en cuenta lo
siguiente:
= 2,4(KLOC)1,05
= 2,5(
)0,38
75
76
Factores de influencia
Ejemplo
1. Comunicaciones de datos
2. Procesamiento distribuido
3. Rendimiento
Cantidad de transacciones en la
aplicacin.
7. Amigabilidad en el diseo
Facilidad de uso
9. Procesamiento complejo
10. Reusabilidad
13. Adaptabilidad
14. Versatilidad
77
Descripcin
Entrada
S
Consultar
Salida
C
Consulta
M
productos
Crear
producto
Borrar
producto
Editar
producto
Crear tipo
X
X
Generar
pedido
Importar
pedido
Comprobar
usuario
Consultar
almacn
Generar
grfica
Aadir
artculo
Eliminar
artculo
Confirmar
venta
Generar
ticket
Tabla 4. Puntos de funcin
78
Tipo
Dificultad
Peso
Cantidad
Total
Elemento
Entradas
Elemento
Simple
11
33
Mediana
Compleja
39
Simple
15
Mediana
Compleja
21
Total
41
Simple
20
Mediana
35
Compleja
61
Ficheros
Simple
35
internos
Mediana
10
40
Compleja
15
Simple
interfaz
Mediana
Compleja
10
75
5
221
Una vez se tienen los puntos de funcin se rellena la siguiente tabla con los
ajustes de complejidad:
79
Nmero
Factor de Complejidad
Valor
Comunicaciones de datos
Procesamiento distribuido
Rendimiento
Amigabilidad en el diseo
Procesamiento complejo
10
Reusabilidad
11
Facilidad de la instalacin
12
Facilidad operacional
13
Adaptabilidad
14
Versatilidad
27
Una vez que se tiene del factor de ajuste (FA) y de los puntos de funcin sin
ajustar (PFSA), se procede a calcular los puntos de funcin ajustados aplicando la
siguiente frmula:
80
Para saber qu
81
5.2
La asignacin del tiempo a cada tarea ser por nmero de das, por lo que
si se tena un tiempo estimado total de 6.16 meses segn la mtrica de COCOMO,
hacen un total de 184 das en la fase de construccin de la metodologa RUP.
Como se ha visto en el apartado anterior la fase de construccin compone un 65%
de las horas totales del proyecto, aplicando el resto de porcentajes, el total
quedara de la siguiente forma:
Fase
Nro. de Iteraciones
Duracin
Fase de Inicio
2 semanas
Fase de Elaboracin
8 semanas
Fase de Construccin
26 semanas
Fase de Transicin
2 semanas
Tabla 7. Duracin fases RUP
82
83
84
5.3
aplicacin se puede calcular el dinero que va a costar, para ello hay que ser
conscientes de una serie de factores:
Precio da
Das estimados
Precio Total ()
(Laborales)
51
190
Tabla 8. Presupuesto aplicacin
85
9690
Como el cliente de momento solo cuenta con una tienda se va a instalar dos
ordenadores de sobremesa, uno en la oficina del almacn donde el jefe podr
hacer login como administrador y acceder al apartado de stock. Este ordenador va
a desempear el rol de servidor por lo que se invierte ms en l para que no tenga
ningn problema en trabajar con la aplicacin y pueda atender sin un gran
esfuerzo a todas las peticiones que hagan el resto de ordenadores del negocio.
Producto
Precio
Servidor
823
Ordenador
220
Impresora
49
Total
1072
Tabla 9. Presupuesto equipamiento
86
Elemento
Precio
Aplicacin software
9690
Material informtico
1072
Total
10762
IVA
2260
Total + IVA
13022
Tabla 10. Presupuesto total
87
88
6.1
Plan de proyecto
El desarrollo se va a implementar basndose en cuatro fases con una o
Descripcin
Hito
Fase de inicio
Fase de elaboracin
Fase de construccin
Fase de transicin
89
90
Fase de inicio
Disciplinas
Comienzo
Aprobacin
Requisitos
Glosario, visin, modelo de Semana 02/02/15 caso de uso,
08/02/15
especificaciones de casos
de usos, especificaciones
adicionales
Anlisis / Diseo
Modelo de Anlisis /
Diseo, modelo de datos
Siguiente fase
Prototipos de interfaces de
usuario
Siguiente fase
Modelo de implementacin
Siguiente fase
Siguiente fase
Modelo de despliegue
Siguiente fase
Gestin de cambios y
configuracin
Ambiente
Implementacin
Pruebas
Casos de pruebas
funcionales
Despliegue
91
Fase de Elaboracin
Disciplinas
Comienzo
Aprobacin
Aprobado
Aprobado
Requisitos
Glosario, visin, modelo
de caso de uso,
especificaciones de casos
de usos, especificaciones
adicionales
Anlisis / Diseo
Modelo de Anlisis /
Diseo, modelo de datos
Implementacin
Pruebas
Casos de pruebas
funcionales
Modelo de despliegue
Gestin de cambios y
configuracin
Ambiente
Despliegue
92
Comienzo
Aprobacin
Casos de uso
negociados para la
primera release
Implementacin base de 13/04/15
datos
23/04/15
24/04/15
4/06/15
Mdulo de venta
5/06/15
10/07/15
Mdulo de almacn
11/07/15
24/07/15
Mdulo de pedidos
25/07/15
28/08/15
Comienzo
Aprobacin
Casos de uso
negociados para la
primera release
Mdulo de estadsticas
29/08/15
25/09/15
Mdulo de usuarios
26/09/15
09/10/15
6.2
Modelado de negocio
Este punto consiste en saber lo mximo posible sobre la empresa a la que
93
95
6.3
Requisitos
Los requisitos sirven para listar cada una de las necesidades que tiene el
cliente y poder tener el conocimiento suficiente para realizar una aplicacin que
satisfaga cada una de ellas.
96
97
Nombre
Hacer login
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
98
Nombre
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
99
Nombre
Realizar venta.
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
Nombre
Generar ticket
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
100
Nombre
Crear producto
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
101
Nombre
Eliminar producto
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
Nombre
Editar producto
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
102
Nombre
Buscar producto
Autor
Jose M Blaya
Fecha
06/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
103
Nombre
Autor
Jose M Blaya
Fecha
09/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
No aplica.
1. Se accede al apartado Crear producto del men.
2. SE pulsa el botn Nuevo tipo.
3. Se muestra una pantalla con el campo Nombre.
4. Se rellena este con el nombre del tipo de producto.
5. Se pulsa el botn Guardar.
6. Se regresa a la pantalla de creacin del producto.
En caso de no insertar el campo obligatorio Nombre se
muestra el mensaje informativo correspondiente.
El nuevo tipo de producto se agrega al desplegable de los
tipos de producto.
Tabla 24. Caso de uso crear tipo de producto
104
Nombre
Consultar Stock
Autor
Jose M Blaya
Fecha
09/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
No aplica.
Tabla 25. Caso de uso consultar stock
105
Nombre
Eliminar caducados
Autor
Jose M Blaya
Fecha
09/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
106
Nombre
Autor
Jose M Blaya
Fecha
09/02/2015
Descripcin
Actores
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
No aplica.
No aplica.
Tabla 27. Caso de uso consultar grfico de prodcutos en stock
107
Nombre
Autor
Jose M Blaya
Fecha
09/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
No aplica.
Flujo
Alternativo
Postcondiciones
108
Nombre
Autor
Jose M Blaya
Fecha
09/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
109
Nombre
Generar pedido
Autor
Jose M Blaya
Fecha
10/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
Nombre
Importar pedido
Autor
Jose M Blaya
Fecha
10/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
110
Nombre
Crear usuario
Autor
Jose M Blaya
Fecha
10/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
No aplica.
Flujo
Alternativo
Postcondiciones
111
Nombre
Eliminar usuario
Autor
Jose M Blaya
Fecha
10/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
Nombre
Consultar usuarios
Autor
Jose M Blaya
Fecha
10/02/2015
Descripcin
Actores
Administrador.
Precondiciones
Flujo Normal
Flujo
Alternativo
Postcondiciones
112
6.4
Anlisis y diseo
Llegados a este punto se pretende analizar y disear lo siguiente:
Diagrama de clases
Diseo de arquitectura
Diagrama de actividad
Diagrama de secuencia
113
Este modelo de datos podr ser ampliado sin ningn tipo de problema
conforme vayan creciendo las necesidades del cliente.
114
115
116
VENTAS. Esta tabla recoge las unidades que han sido vendidas del
almacn, de esta manera se puede tener un registro de todos los
productos que pasaron por el almacn y han sido vendidos.
Teniendo este tipo de registros se pueden realizar las estadsticas
que el cliente necesita. Est relacionada con la tabla PRODUCTO ya
que cada unidad pertenece a un producto. De la tabla ALMACEN
solo se guarda el id sin ningn tipo de relacin con ella ya que una
vez vendido se borra de esta tabla, por lo que no se puede asociar.
En ella se guardan los siguientes datos:
117
118
119
120
121
122
123
124
125
126
127
128
129
130
7 DESPLIEGUE Y PRUEBAS
Un plan de pruebas consiste en una serie de pasos a seguir hasta
completar la funcionalidad de la aplicacin con la misin de verificar que no hay
errores y se ejecuta todo correctamente.
131
7.1
PI001
Rol
Usuario registrado.
Descripcin
Tipo
Prueba integrada.
Precondiciones
Pasos a seguir
Accin
Resultado
1 Abrir la aplicacin.
Ventana de login.
Se mostrar un mensaje de
bienvenida, con el nombre
del usuario y el men de la
aplicacin.
Toma de
evidencias
Resultado
OK
Tabla 35. Caso de prueba 1
132
PI002
Rol
Usuario no registrado.
Descripcin
Tipo
Prueba integrada.
Precondiciones
No aplica.
Pasos a seguir
Accin
Resultado
1 Abrir la aplicacin.
Ventana de login.
2 Insertar usuario y
contrasea.
3 Pulsar botn validar.
Se mostrar un mensaje de
informativo avisando de que
el usuario no est registrado,
sin tener acceso al men.
Toma de
evidencias
Resultado
OK
Tabla 36. Caso de prueba 2
133
PI003
Rol
Usuario registrado.
Descripcin
Tipo
Prueba integrada.
Precondiciones
Pasos a seguir
Accin
1 Seleccionar productos.
Resultado
Se aaden a la cesta de la
compra.
Mensaje confirmar venta.
Resultado
OK
Tabla 37. Caso de prueba 3
134
PI004
Filtros
Rol
Usuario registrado.
Descripcin
Tipo
Prueba integrada.
Precondiciones
Pasos a seguir
2 Seleccionar un tipo de
producto en el filtro superior.
Toma de
evidencias
Resultado
OK
Tabla 38. Caso de prueba 4
135
PI005
Paginacin
Rol
Descripcin
Tipo
Prueba integrada.
Precondiciones
Pasos a seguir
Toma de
evidencias
Resultado
OK
Tabla 39. Caso de prueba 5
136
PI006
Rol
Descripcin
Tipo
Prueba integrada.
Precondiciones
Pasos a seguir
2 Seleccionar en el
desplegable Grfico: Ventas
anuales y pulsars el botn
Generar.
3 Rellenar todos los filtros de
la parte inferior de la pantalla
y pulsar el botn Generar.
Toma de
evidencias
Resultado
OK
Tabla 40. Caso de prueba 6
137
PI007
Rol
Descripcin
Tipo
Prueba integrada.
Precondiciones
No aplica.
Pasos a seguir
Accin
1 Acceder al apartado de
Stock/Ventas.
Resultado
Se muestra la grfica de
Stock actual.
2 Seleccionar en el
desplegable Grfico: Ventas
mensuales y pulsar el botn
Generar.
3 Rellenar todos los filtros de
la parte inferior de la pantalla
y pulsar el botn Generar.
Toma de
evidencias
Resultado
OK
Tabla 41. Caso de prueba 7
138
PI008
Generar pedido
Rol
Descripcin
Tipo
Prueba integrada.
Precondiciones
No aplica.
Pasos a seguir
Accin
1 Acceder al apartado de
gestionar pedidos.
Resultado
Se muestran las opciones de
gestin de pedidos.
2 Pulsar el icono de
Generar pedido.
Mensaje de generacin
correcta.
Se ha generado el pedido
correctamente.
Toma de
evidencias
Resultado
OK
Tabla 42. Caso de prueba 8
139
PI009
Importar pedido
Rol
Descripcin
Tipo
Prueba integrada.
Precondiciones
No aplica.
Pasos a seguir
Accin
1 Acceder al apartado de
gestionar pedidos.
Resultado
Se muestran las opciones de
gestin de pedidos.
2 Pulsar el icono de
Importar pedido.
Explorador de Windows.
3 Seleccionar un pedido en
formato csv y pulsar el
botn importar.
Mensaje de importacin
correcta.
Toma de
evidencias
Resultado
OK
Tabla 43. Caso de prueba 9
140
8.1. Conclusiones
Son muchas las conclusiones obtenidas tras acabar tu primer proyecto,
sobre todo porque al principio no sabes por dnde empezar, pero al final se tiene
una aplicacin totalmente operativa que cumple con los requisitos del cliente.
141
142
143
EV-001
Descripcin
Solucin propuesta
Partes afectadas
Factura.
Pantallas nuevas
Vista I.V.A.
Tablas nuevas
IVA
Estimacin
Descripcin
Horas
provisional
Persistencia
Vista
Modificacin factura
Pruebas
unitarias
e 6
integradas
Despliegue
Total
21 horas
144
EV-002
Gestin de proveedores
Descripcin
Solucin propuesta
Los
productos
insertados
en
almacn
Gestin de almacn.
Importar pedidos.
Pantallas nuevas
Gestin de proveedores.
Tablas nuevas
Proveedores
Estimacin
Descripcin
Horas
provisional
Persistencia
Vista
Modificacin almacn
Pruebas
unitarias
e 8
integradas
Despliegue
Total
33 horas
145
146
9 BIBLIOGRAFA
[1]
[3] Tutorials Point. (2016). Aprender JPA. 2016, de Tutorials Point Sitio web:
http://www.tutorialspoint.com/es/jpa/index.htm
[4] Apache. (2016). Maven Getting Started Guide. 2016, de The Apache
Software Foundation Sitio web: https://maven.apache.org/guides/getting-started/
[5]
DesarrolloWeb.com.
(2016).
Manual
de
jQuery.
2016,
de
[6] Juan Mariano Fuentes. (2009). Las entraas de AJAX. 2016, de Juan
Mariano Fuentes Sitio web: http://www.uco.es/~lr1maalm/manualdeajax.pdf
[7]
DesarrolloWeb.com.
(2016).
Manual
de
JSP.
2016,
de
147
[9] Apache. (2014). Apache Tiles tutorial. 2016, de The Apache Software
Foundation Sitio web: https://tiles.apache.org/framework/tutorial/
en
Castellano
Sitio
web:
http://programacion.net/articulo/tomcat__introduccion_134
[15] Grupo Espiral Php. (2009). modelo espiral. 2016, de Grupo Espiral Php
Sitio web: http://modeloespiral.blogspot.com.es/
148
10 ANEXOS
10.1 Requisitos funcionales
Un requisito funcional define cada una de las tareas que la aplicacin hace
para el cliente. En cada requisito se va a describir la entrada al sistema y la salida
correspondiente que se espera por parte de la aplicacin.
RF1
Hacer login
Descripcin
Entradas
Usuario y contrasea
Salidas
Precondiciones
Postcondiciones
Cada rol tendr acceso a una parte del men. Se podr cerrar
sesin en cualquier momento desde el men.
Prioridad
Alta
Rol
Usuarios registrados
Tabla 46. Requisito funcional login
149
RF2
Crear producto
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
Prioridad
Alta
Rol
RF3
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
Prioridad
Alta
Rol
150
RF4
Generar pedido
Descripcin
Entradas
No aplica.
Salidas
Precondiciones
Postcondiciones
No aplica.
Prioridad
Alta
Rol
RF5
Importar pedido
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
Prioridad
Alta
Rol
151
RF6
Descripcin
Entradas
No aplica.
Salidas
Precondiciones
Postcondiciones
No aplica.
Prioridad
Alta
Rol
RF7
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
No aplica.
Prioridad
Alta
Rol
152
RF8
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
No aplica.
Prioridad
Alta
Rol
RF9
Ver productos
Descripcin
Entradas
No aplica.
Salidas
Precondiciones
Postcondiciones
Prioridad
Alta
Rol
153
RF10
Editar producto
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
Prioridad
Alta
Rol
RF11
Borrar producto
Descripcin
Entradas
No aplica.
Salidas
Precondiciones
Postcondiciones
Prioridad
Alta
Rol
154
RF12
Realizar venta
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
Prioridad
Alta
Rol
Usuarios registrados.
Tabla 57. Requisito funcional realizar venta
RF13
Generar ticket
Descripcin
Entradas
Salidas
Precondiciones
No aplica.
Postcondiciones
Prioridad
Alta
Rol
Usuarios registrados.
Tabla 58. Requisito funcional generar ticket
155
RF14
Descripcin
Entradas
Salidas
Precondiciones
Postcondiciones
Prioridad
Media
Rol
RF15
Mostrar usuarios
Descripcin
Entradas
No aplica.
Salidas
Precondiciones
Postcondiciones
No aplica.
Prioridad
Baja.
Rol
156
RF16
Crear usuarios
Descripcin
Entradas
Salidas
Precondiciones
No aplica.
Postcondiciones
Prioridad
Alta.
Rol
RF17
Eliminar usuarios
Descripcin
Entradas
No aplica.
Salidas
Precondiciones
Postcondiciones
Prioridad
Media
Rol
157
Rendimiento
Disponibilidad
Accesibilidad
Usabilidad
Estabilidad
Portabilidad
Costo
Operatividad
Interoperabilidad
Escalabilidad
Concurrencia
Interfaz
Seguridad
Etc.
Este tipo de requisitos tambin son llamados atributos de calidad y aunque
el cliente no suela incidir en ellos ya que se centrar ms en el funcionamiento
requerido, sern importante tenerlos en cuenta para su satisfaccin final. Se pone
el foco en los ms importantes para el cliente como la usabilidad, accesibilidad y la
escalabilidad.
158
RNF - 01
Interfaz intuitiva
Descripcin
Prioridad
Media
Tabla 63. Requisito no funcional. Interfaz intuitiva
RNF - 02
Fcil de usar
Descripcin
Prioridad
Alta
Tabla 64 .Requisito no funcional. Fcil de usar
RNF - 03
Fcil acceso
Descripcin
Prioridad
Alta
Tabla 65. Requisito no funcional. Fcil acceso
159
http://(IP DE LA EMPRESA)/WEB_GEST/login.html
10.3.1 Login
Si se accede a la aplicacin se podr ver en primer lugar una pantalla
desde la cual se puede hacer login, para ello se deber estar previamente
registrado. Se tiene que insertar el nombre de usuario y la correspondiente
contrasea en las casillas habilitadas para ello, una vez hecho esto hay que
pulsar el botn Validar.
160
161
162
163
164
165
Una vez que se han rellenado los campos se pulsar el botn Guardar
para insertar el producto.
166
disponible en la
columna Opciones del listado de productos. Una vez pulsado el botn se accede
a la ventana de detalle, donde se puede visualizar los datos actuales asociados al
producto, pudiendo editar cualquiera de estos campos y guardar los cambios
desde el botn Guardar.
167
disponible en la columna
168
169
170
171
10.3.5 Stock/Ventas
Al acceder al apartado de Stock/Ventas se puede observar en
primera instancia una grfica la cual muestra la cantidad de unidades
disponibles de cada producto en stock.
Para acceder a cualquiera de los dos tipos se pulsa el botn Generar una
vez que se haya seleccionado el grfico.
173
174
Por lo que si se quiere consultar las unidades que fueron vendidas en junio
de cada producto del tipo de producto Fruta, quedar de la siguiente forma:
175
Para crear un usuario se har pulsando el botn Crear usuario, una vez se
accede a la ventana de alta se insertan los siguientes datos:
176
Tras insertar los datos y pulsar el botn de Guardar el usuario podr hacer
login en la aplicacin y tener acceso a ella, teniendo en cuenta que solo podr
acceder a ciertos apartados del men segn el tipo de rol que tenga asignado.
Para eliminar el usuario se pulsar el icono
177
de la columna Opciones.