PROTOTIPO DE APLICACION MOVIL PARA VENTA...

249
PROTOTIPO DE APLICACION MOVIL PARA VENTA DE LICORES A DOMICILIO LEONARDO CUBIDES CUBILLOS OSCAR JAVIER GOMEZ TREJOS UNIVERSIDAD CATOLICA DE PEREIRA FACULTAD DE CIENCIAS BASICAS E INGENIERIAS INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES PEREIRA 2014

Transcript of PROTOTIPO DE APLICACION MOVIL PARA VENTA...

PROTOTIPO DE APLICACION MOVIL PARA VENTA DE LICORES A

DOMICILIO

LEONARDO CUBIDES CUBILLOS

OSCAR JAVIER GOMEZ TREJOS

UNIVERSIDAD CATOLICA DE PEREIRA

FACULTAD DE CIENCIAS BASICAS E INGENIERIAS

INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES

PEREIRA

2014

PROTOTIPO DE APLICACION MOVIL PARA VENTA DE LICORES A

DOMICILIO

LEONARDO CUBIDES CUBILLOS

OSCAR JAVIER GOMEZ TREJOS

Director del Proyecto.

GERMAN GONZALEZ BEDOYA

Ingeniero de Sistemas y Computación

UNIVERSIDAD CATOLICA DE PEREIRA

FACULTAD DE CIENCIAS BASICAS E INGENIERIAS

INGENIERIA DE SISTEMAS Y TELECOMUNICACIONES

PEREIRA

2014

Nota de Aceptación

____________________________________

____________________________________

____________________________________

____________________________________

____________________________________

____________________________________

Firma del Presidente del Jurado

____________________________________

Firma del Jurado

Pereira, 2014

DEDICATORIA

Dedico este proyecto de grado especialmente a mi abuela aunque no esté en el

mundo terrenal, sé que siempre me ha acompañado y me ha dado fuerza para

seguir adelante y espero que donde se encuentre ahora este orgullosa.

A mi madre que ha sido la persona que en toda su vida ha puesto mis intereses

por encima de todo, la que me ha apoyado en todos los objetivos que me he

planteado en la vida, gracias por la confianza y amor brindado, este logro no es

solo mío sino también tuyo porque eres la persona que ha estado ahí en todo

momento.

A mi familia que siempre me ha dado ánimos para no desfallecer en el camino.

A todas las personas que de alguna manera u otra forma contribuyeron conmigo,

reciban este trabajo como suyo y sépanse acreedores de mi especial

agradecimiento: Dios los bendiga.

Oscar Javier Gómez Trejos

A Martín, a la mamá de Martín, a los abuelos de Martín, a los tíos de Martín y a la

mascota de Martín.

Leonardo Cubides Cubillos

AGRADECIMIENTOS

Queremos hacer llegar un profundo agradecimiento a la UNIVERSIDAD

CATOLICA DE PEREIRA, y especialmente a las personas que intervinieron en el

convenio con la Fundación CIDCA, ya que sin éste no habría sido posible que este

sueño llamado profesionalización se llevara a cabo. También queremos extender

nuestro agradecimiento a los profesores que durante estos dos últimos años han

contribuido de manera especial y profunda en nuestra formación académica y

profesional, pero sobre todo a nuestro Director de Proyecto, el Ingeniero Germán

González, ya que gracias a su colaboración y ayuda hemos podido lograr la

culminación de este importante informe.

Los Autores

AGRADECIMIENTOS

A Dios,

Por acompañarme todos los días y brindarme la fuerza y la voluntad de seguir

adelante.

A Mamá,

Por ser mi aliada, mi ejemplo, gracias por todo el apoyo en este proyecto y en mi

vida porque has trabajado junto conmigo en toda tu vida por verme terminar

satisfactoriamente este proyecto.

Tía,

Por estar ahí siempre aconsejándome cuando más lo he necesitado.

Abuela (QEPD),

Gracias a todo lo que me enseñaste he podido llegar a este punto, has sido fuente

de mi inspiración y motivo de seguir adelante en alcance de mis metas.

Herney,

Gracias por creer en mí y siempre apoyarme en el alcance de mis objetivos.

Oscar Javier Gómez Trejos

AGRADECIMIENTOS

A Alejandra, por tolerar, por esperar y por hacerme entender que este logro es

tanto de ella como mío.

A mis Padres y a mis Hermanos, porque a pesar de las distancias geográficas,

han estado pendientes de mi proceso hacia el título profesional como Ingeniero.

Leonardo Cubides Cubillos

TABLA DE CONTENIDO

RESUMEN .............................................................................................................. 1

PALABRAS CLAVE: .................................................................................................. 1

ABSTRACT ............................................................................................................. 2

KEYWORDS: ........................................................................................................... 2

INTRODUCCION .................................................................................................... 3

1. PROPUESTA DE PROYECTO ......................................................................... 4

1.1. SITUACION PROBLEMATICA ................................................................... 4

1.1.1. Situación Comercial: ............................................................................ 4

1.1.2. Entregas a Domicilio: ........................................................................... 5

1.1.3. Comercialización de Bebidas Alcohólicas y demás: ............................ 5

1.2. OBJETIVOS ............................................................................................... 7

1.2.1. OBJETIVO GENERAL ......................................................................... 7

1.2.2. OBJETIVOS ESPECIFICOS ............................................................... 8

1.3. HIPOTESIS ................................................................................................ 9

1.4. DISEÑO METODOLOGICO ....................................................................... 9

1.4.1. Definición de la Metodología ............................................................... 9

1.4.2. Tipo de Investigación ......................................................................... 11

1.4.3. Fases Para el desarrollo del Prototipo ............................................... 12

1.4.4. Cronograma de Actividades del Prototipo ......................................... 17

1.5. APORTES DEL PROYECTO ................................................................... 18

1.5.1. APORTE TEORICO: .......................................................................... 18

1.5.2. APORTE PRÁCTICO ........................................................................ 18

2. MARCO TEORICO ......................................................................................... 20

2.1. ANTECEDENTES .................................................................................... 20

2.1.1. El Smartphone ................................................................................... 20

2.1.2. El App - Aplicaciones ......................................................................... 22

2.1.3. Productos y/o Proyectos existentes. .................................................. 24

2.2. MARCO CONTEXTUAL ........................................................................... 28

2.2.1. Eje Cafetero ....................................................................................... 28

2.2.2. Comercio de Licores .......................................................................... 29

2.2.3. Entregas a Domicilio .......................................................................... 30

2.3. MARCO CONCEPTUAL ........................................................................... 32

2.3.1. Tipologías de Desarrollo ................................................................... 32

2.3.2. Sistemas Operativos de Dispositivos Móviles ................................... 34

2.3.3. Plataformas de Desarrollo para móviles ............................................ 37

2.3.1.1. Desarrollo Móvil Web ..................................................................... 38

2.3.1.2. Desarrollo Móvil Nativo................................................................... 40

2.3.1.3. Aplicaciones Hibridas ..................................................................... 42

2.3.4. MYSQL .............................................................................................. 43

2.3.5. PHP ................................................................................................... 43

2.3.6. jQuery MOBILE .................................................................................. 44

3. RECOLECCION DE INFORMACION Y ANALISIS DE REQUERIMIENTOS . 45

3.1. RECOLECCION DE INFORMACION POR MEDIO DE ENCUESTAS Y

ENTREVISTAS .................................................................................................. 45

3.1.1. Definir Objetivos ................................................................................ 46

3.1.2. Definir tamaño de la Encuesta ........................................................... 47

3.1.3. Definir personas a Entrevistar ........................................................... 48

3.1.4. Entrevistas a propietarios de Estanquillos ......................................... 49

3.1.5. Definir datos a ser recolectados ........................................................ 49

3.1.6. Identificar los Requerimientos............................................................ 50

3.1.7. Clasificar y restablecer los requerimientos ........................................ 50

3.1.8. Analizar los Requerimientos .............................................................. 50

3.1.9. Administrar los Requerimientos ......................................................... 51

3.1.10. Probar y verificar los Requerimientos ................................................ 51

3.1.11. Validar los Requerimientos ................................................................ 51

3.2. CICLO DE VIDA DEL PROTOTIPO .......................................................... 51

3.3. HISTORIAS DE USUARIOS ..................................................................... 52

3.4. ANALISIS DE REQUERMIENTOS ........................................................... 52

3.4.1. Requerimientos Funcionales ............................................................. 52

3.4.1.1. Registro y Gestión de Clientes ....................................................... 52

3.4.1.2. Logueo Clientes ............................................................................. 53

3.4.1.3. Búsqueda de Productos ................................................................. 53

3.4.1.4. Mostrar Categorías ......................................................................... 53

3.4.1.5. Opciones de Compra...................................................................... 54

3.4.1.6. Canasto de Compra ....................................................................... 54

3.4.1.7. Estanterías de Productos ............................................................... 55

3.4.1.8. Realizar y Confirmar Pedido ........................................................... 56

3.4.1.9. Historial de Pedidos........................................................................ 57

3.4.1.10. Contacto ...................................................................................... 57

3.4.2. Requerimientos No Funcionales ........................................................ 58

3.4.2.1. Confiabilidad ................................................................................... 58

3.4.2.2. Plataforma del Sistema .................................................................. 58

3.4.2.3. Usabilidad ....................................................................................... 59

3.4.2.4. Seguridad ....................................................................................... 59

3.4.2.5. Rendimiento ................................................................................... 59

3.4.2.6. Escalabilidad .................................................................................. 59

3.4.2.7. Buenas Prácticas de Desarrollo ..................................................... 60

3.4.2.8. Mantenibilidad ................................................................................ 60

3.4.2.9. Portabilidad .................................................................................... 61

4. ESPECIFICACION DE REQUERIMIENTOS .................................................. 62

4.1. REQUERMIENTOS FUNCIONALES ....................................................... 62

TABLA 1 - REQUERIMIENTOS FUNCIONALES .................................................. 62

4.2. REQUERIMIENTOS NO FUNCIONALES ................................................ 65

4.3. IDENTIFICACION DE LOS CASOS DE USO ........................................... 66

5. IDENTIFICACION, ESPECIFICACION Y MODELADO DE CASOS DE USO 67

5.1. IDENTIFICACION DE CASOS DE USO ................................................... 67

5.1.1. Generalización del Actor .................................................................... 67

5.1.1.1. Diagrama de Caso de Uso ............................................................. 67

5.2. CREACION DE CLIENTE ......................................................................... 68

5.2.1. Diagrama de Caso de Uso ................................................................ 68

5.2.2. Especificación del Caso de Uso ........................................................ 69

5.2.3. Diagrama de Secuencia del Caso de Uso ......................................... 71

5.3. LOGUEO DE CLIENTE ............................................................................ 72

5.3.1. Diagrama de Caso de Uso ................................................................ 72

5.3.2. Especificación del Caso de Uso ........................................................ 73

5.3.3. Diagrama de Secuencia del Caso de Uso ......................................... 74

5.4. INGRESO A LA INTERFAZ PRINCIPAL .................................................. 75

5.4.1. Diagrama de Caso de Uso ................................................................ 75

5.4.2. Especificación del Caso de Uso ........................................................ 76

5.4.3. Diagrama de Secuencia del Caso de Uso ......................................... 77

5.5. BUSCAR PRODUCTOS .................................................................... 78

5.5.1. Diagrama de Caso de Uso ................................................................ 78

5.5.2. Especificación del Caso de Uso ........................................................ 79

5.5.3. Diagrama de Secuencia del Caso de Uso ......................................... 80

5.6. MOSTRAR PRODUCTOS POR CATEGORIA ......................................... 81

5.6.1. Diagrama de Caso de Uso ................................................................ 81

5.6.2. Especificación del Caso de Uso ........................................................ 82

5.6.3. Diagrama de Secuencia del Caso de Uso ......................................... 83

5.7. MOSTRAR PRODUCTOS POR OPCIONES DE COMPRA ..................... 84

5.7.1. Diagrama de Caso de Uso ................................................................ 84

5.7.2. Especificación del Caso de Uso ........................................................ 85

Sección Principal ............................................................................................ 85

5.8. ELEGIR PRODUCTO AL CANASTO ........................................................ 86

5.8.1. Diagrama de Caso de Uso ................................................................ 86

5.8.2. Especificación del Caso de Uso ........................................................ 87

5.8.3. Diagrama de Secuencia del Caso de Uso ......................................... 88

5.9. CANASTO DE COMPRA .......................................................................... 89

5.9.1. Diagrama de Caso de Uso ................................................................ 89

5.9.2. Especificación del Caso de Uso ........................................................ 90

5.9.3. Diagrama de Secuencia del Caso de Uso ......................................... 91

5.10. REALIZAR PEDIDO .............................................................................. 92

5.10.1. Diagrama de Caso de Uso ................................................................ 92

5.10.2. Especificación del Caso de Uso ........................................................ 93

5.10.3. Diagrama de Secuencia del Caso de Uso ......................................... 94

5.11. RECIBIR PETICION DE PEDIDO ......................................................... 95

5.11.1. Diagrama de Caso de Uso ................................................................ 95

5.11.2. Especificación del Caso de Uso ........................................................ 96

5.11.3. Diagrama de Secuencia del Caso de Uso ......................................... 97

5.12. ADMINISTRAR PEDIDOS .................................................................... 98

5.12.1. Diagrama de Caso de Uso ................................................................ 98

5.12.2. Especificación del Caso de Uso ........................................................ 99

5.12.3. Diagrama de Secuencia del Caso de Uso ....................................... 100

5.13. ADMINISTRAR PRODUCTOS ............................................................ 101

5.13.1. Diagrama de Caso de Uso .............................................................. 101

5.13.2. Especificación del Caso de Uso ...................................................... 102

6. DISEÑO DE LA BASE DE DATOS ............................................................... 104

6.1. TABLAS ........................................................................................................ 104

6.1.1. Categoría ......................................................................................... 104

6.1.2. Ciudad ............................................................................................. 105

6.1.4. DetCanasto ...................................................................................... 106

6.1.5. Dirección .......................................................................................... 106

6.1.6. Estado ............................................................................................. 107

6.1.7. ListaPrecios ..................................................................................... 107

6.1.8. Pedido ............................................................................................. 107

6.1.9. Prod_Lista ....................................................................................... 108

6.1.10. Producto .......................................................................................... 109

6.1.11. TipoCliente ...................................................................................... 109

6.1.12. Usuario ............................................................................................ 110

6.2. MODELO RELACIONAL DE LA BASE DE DATOS ................................ 110

6.3. DICCIONARIO DE DATOS .................................................................... 112

6.3.1. Categoría ......................................................................................... 112

6.3.2. Ciudad ............................................................................................. 112

6.3.3. Cliente ............................................................................................. 113

6.3.4. DetCanasto ...................................................................................... 113

6.3.5. Dirección .......................................................................................... 114

6.3.6. Estado ............................................................................................. 114

6.3.7. ListaPrecios ..................................................................................... 114

6.3.8. Pedido ............................................................................................. 115

6.3.9. Prod_Lista ....................................................................................... 115

6.3.10. Producto .......................................................................................... 116

6.3.11. TipoCliente ...................................................................................... 116

6.3.12. Usuario ............................................................................................ 116

6.4. CODIGO SQL DE LAS TABLAS ............................................................. 117

6.4.1. Estado ............................................................................................. 117

6.4.2. Usuario ............................................................................................ 117

6.4.3. ListaPrecios ..................................................................................... 118

6.4.4. TipoCliente ...................................................................................... 119

6.4.5. Cliente ............................................................................................. 119

6.4.6. Ciudad ............................................................................................. 121

6.4.7. Dirección .......................................................................................... 121

6.4.8. Categoría ......................................................................................... 122

6.4.9. Producto .......................................................................................... 123

6.4.10. DetCanasto ...................................................................................... 124

6.4.11. Pedido ............................................................................................. 125

6.4.12. Prod_Lista ....................................................................................... 127

6.5. DIAGRAMA DE CLASES ....................................................................... 129

6.6. ARQUITECTURA FISICA ....................................................................... 130

6.7. DISEÑO ARQUITECTONICO ................................................................ 131

6.7.1. Capa de Modelo .............................................................................. 132

6.7.2. Capa de Controlador ....................................................................... 134

6.7.3. Capa de Vista .................................................................................. 136

6.8. SEGURIDAD DEL APLICATIVO ............................................................ 139

6.8.1. Validación ........................................................................................ 139

6.8.2. Escapado ......................................................................................... 140

7. IMPLEMENTACION DE LOS MODULOS .................................................... 141

7.1. ESPECIFICACIÓN DE LOS MODULOS ................................................ 141

7.2. MODULO DE REGISTRO Y AUTENTICACION DE CLIENTES ............. 141

7.2.1. Vista del Método Registro de Cliente ............................................... 142

7.2.2. Vista del Método Logueo de Cliente ................................................ 143

7.2.3. Vista del Método Modificar Cliente .................................................. 144

7.3. MODULO DE PRODUCTOS Y CATEGORIAS ....................................... 145

7.3.1. Vista de la Interfaz Principal ............................................................ 146

7.3.2. Vista Método Buscar ........................................................................ 147

7.3.3. Vista Método Opciones de Compra ................................................. 148

7.3.4. Vista Método Categorías ................................................................. 149

7.4. MODULO DE CANASTO ........................................................................ 150

7.4.1. Vista Método Canasto ..................................................................... 151

7.5. MODULO DE PEDIDOS ............................................................................... 152

7.5.1. Vista Método Pedir .......................................................................... 153

8. RECURSOS DISPONIBLES ......................................................................... 154

9. CONCLUSIONES ......................................................................................... 155

10. RECOMENDACIONES ................................................................................. 157

10.1. PRUEBAS DEL APLICATIVO ................................................................ 157

10.1.1. Jmeter .............................................................................................. 157

BIBLIOGRAFIA Y WEBGRAFIA .......................................................................... 159

ANEXOS ............................................................................................................. 161

ANEXO 1. ENTREVISTA NÚMERO 1 ....................................................................... 161

ANEXO 2. ENTREVISTA NÚMERO 2 ....................................................................... 162

ANEXO 3. ENTREVISTA NÚMERO 3. ...................................................................... 164

ANEXO 4. ENTREVISTA NÚMERO 4. ...................................................................... 165

ANEXO 5. ENCUESTA .......................................................................................... 167

ANEXO 6. RESUMEN DE LAS RESPUESTAS DE LA ENCUESTA. ................................. 170

ANEXO 7. MANUAL DE USUARIO ........................................................................... 173

ANEXO 8. MANUAL TÉCNICO ................................................................................ 189

INDICE DE TABLAS

Tabla 1 - Requerimientos Funcionales .................................................................. 62

Tabla 2 - Requerimientos No Funcionales ............................................................ 65

Tabla 3 - Identificación de los Casos de Uso ........................................................ 66

Tabla 4 - Sección Principal CU Crear Usuario ...................................................... 69

Tabla 5 - Curso Normal Eventos CU Crear Usuario .............................................. 69

Tabla 6 - Cursos Alternos CU Crear Usuario ........................................................ 69

Tabla 7 - Sección Nuevo Usuario .......................................................................... 70

Tabla 8 - Cursos Alternos Nuevo Usuario ............................................................. 70

Tabla 9 - Sección Principal CU Logueo Cliente..................................................... 73

Tabla 10 - Curso Normal Eventos CU Logueo Cliente .......................................... 73

Tabla 11 - Cursos Alternos CU Logueo Cliente..................................................... 73

Tabla 12 - Sección Recuperar Clave CU Logueo Cliente ..................................... 74

Tabla 13 - Sección Principal CU Interfaz Ppal....................................................... 76

Tabla 14 - Curso Normal Eventos CU Interfaz Ppal .............................................. 76

Tabla 15 - Cursos Alternos CU Interfaz Ppal......................................................... 77

Tabla 16 - Sección Principal CU Buscar Productos .............................................. 79

Tabla 17 - Curso Normal Eventos CU Buscar Productos ...................................... 79

Tabla 18 - Cursos Alternos CU Buscar Productos ................................................ 79

Tabla 19 - Sección Principal CU Mostrar por Categorías ...................................... 82

Tabla 20 - Curso Normal Eventos CU Mostrar por Categorías ............................. 82

Tabla 21 - Cursos Alternos CU Mostrar por Categorías ........................................ 82

Tabla 22 - Sección Principal CU Opciones de Compra ......................................... 85

Tabla 23 - Curso Normal Eventos CU Opciones de Compra ................................ 85

Tabla 24 - Cursos Alternos CU Opciones de Compra ........................................... 85

Tabla 25 - Sección Principal CU Elegir Producto .................................................. 87

Tabla 26 - Curso Normal Eventos CU Elegir Producto .......................................... 87

Tabla 27 - Cursos Alternos CU Elegir Producto .................................................... 88

Tabla 28 - Sección Principal CU Canasto de Compra ........................................... 90

Tabla 29 - Curso Normal Eventos CU Canasto de Compra .................................. 90

Tabla 30 - Cursos Alternos CU Canasto de Compra ............................................. 91

Tabla 31 - Sección Principal CU Realizar Pedido ................................................. 93

Tabla 32 - Curso Normal Eventos CU Realizar Pedido ......................................... 93

Tabla 33 - Cursos Alternos CU Realizar Pedido ................................................... 93

Tabla 34 - Sección Principal CU Recibir Petición .................................................. 96

Tabla 35 - Curso Normal Eventos CU Recibir Petición ......................................... 96

Tabla 36 - Cursos Alternos CU Recibir Petición .................................................... 96

Tabla 37 - Sección Principal CU Administrar Pedidos ........................................... 99

Tabla 38 - Curso Normal Eventos CU Administrar Pedidos .................................. 99

Tabla 39 - Cursos Alternos CU Administrar Pedidos ............................................. 99

Tabla 40 - Categoría - Diccionario de Datos ....................................................... 112

Tabla 41- Ciudad - Diccionario de Datos ............................................................. 112

Tabla 42 - Cliente - Diccionario de Datos ............................................................ 113

Tabla 43 - DetCanasto - Diccionario de Datos .................................................... 113

Tabla 44 - Dirección - Diccionario de Datos ........................................................ 114

Tabla 45 - Estado - Diccionario de Datos ............................................................ 114

Tabla 46 - ListaPrecios - Diccionario de Datos.................................................... 114

Tabla 47 - Pedido - Diccionario de Datos ............................................................ 115

Tabla 48 - Prod_Lista - Diccionario de Datos ...................................................... 115

Tabla 49 - Producto - Diccionario de Datos ......................................................... 116

Tabla 50 - TipoCliente - Diccionario de Datos ..................................................... 116

Tabla 51 - Usuario - Diccionario de Datos ........................................................... 116

Tabla 52 - Recursos Disponibles ......................................................................... 154

Tabla 53- Recursos Informáticos ......................................................................... 154

TABLA DE ILUSTRACIONES

Ilustración 1 - Fases de la Metodología ................................................................... 9

Ilustración 2 - Fase 1 de Desarrollo ....................................................................... 12

Ilustración 3 - Fase 2 de Desarrollo ....................................................................... 13

Ilustración 4 - Fase 3 de Desarrollo ....................................................................... 14

Ilustración 5 - Fase 4 de Desarrollo ...................................................................... 15

Ilustración 6 - Fase 5 de Desarrollo ....................................................................... 16

Ilustración 7 - Cronograma del Prototipo ............................................................... 17

Ilustración 8 - Mapa Eje Cafetero .......................................................................... 28

Ilustración 9 - Diagrama de Actividades Requerimientos ...................................... 46

Ilustración 10 - Generalización del Actor ............................................................... 67

Ilustración 11 - Caso de Uso Creación Cliente ...................................................... 68

Ilustración 12 - Diagrama de Secuencia Creación Cliente .................................... 71

Ilustración 13 - Caso de Uso Logueo Cliente ........................................................ 72

Ilustración 14 - Diagrama de Secuencia Logueo de Cliente .................................. 74

Ilustración 15 – Caso de Uso Interfaz Ppal. .......................................................... 75

Ilustración 16 - Diagrama de Secuencia Interfaz Principal .................................... 77

Ilustración 17 - Caso de Uso Buscar Productos .................................................... 78

Ilustración 18 - Diagrama de Secuencia Buscar Producto .................................... 80

Ilustración 19 – Caso de Uso Mostrar Productos por Categorías ......................... 81

Ilustración 20 - Diagrama de Secuencia Mostrar por Categoría ............................ 83

Ilustración 21 - Caso de Uso Productos X Opciones Compra ............................... 84

Ilustración 22 - Caso de Uso Producto a Canasto ................................................. 86

Ilustración 23 - Diagrama de Secuencia Producto al Canasto .............................. 88

Ilustración 24 - Caso de Uso Manipular Canasto .................................................. 89

Ilustración 25 - Diagrama de Secuencia Manipular Canasto ................................. 91

Ilustración 26 - Caso de Uso Realizar Pedido ....................................................... 92

Ilustración 27 - Diagrama de Secuencia Realizar Pedido ..................................... 94

Ilustración 28- Caso de Uso Recibir Petición ........................................................ 95

Ilustración 29 - Diagrama de Secuencia Recibir Petición ...................................... 97

Ilustración 30 - Caso de Uso Administrar Pedidos ................................................ 98

Ilustración 31 - Diagrama de Secuencia Administrar Pedidos ............................. 100

Ilustración 32 - Caso de Uso Administrar Productos ........................................... 101

Ilustración 33- Diagrama de Secuencia Administrar Producto ............................ 103

Ilustración 34 – Modelo Relacional de la Base de Datos .................................... 111

Ilustración 35 - Diagrama de Clases ................................................................... 129

Ilustración 36 - Arquitectura Física ...................................................................... 130

Ilustración 37 - Diseño MVC ................................................................................ 131

Ilustración 38- Capa del Modelo - ClaseGestor.php ............................................ 132

Ilustración 39 – Capa del Modelo - ClaseProducto.php ...................................... 133

Ilustración 40 – Capa del Controlador - Login.php .............................................. 135

Ilustración 41 - Capa de Controlador – BuscarProducto.php .............................. 135

Ilustración 42 - Capa de Vista - FrmIngreso.php ................................................. 136

Ilustración 43 - Capa de Vista - Hoja de Estilo CSS ............................................ 137

Ilustración 44 - Capa de Vista - jQgrid Productos ................................................ 138

Ilustración 45 - Validación Formularios ............................................................... 139

Ilustración 46 - Escapado - Seguridad ................................................................ 140

Ilustración 47 - Vista Método Registrar Cliente ................................................... 142

Ilustración 48 - Vista Método Logueo Cliente ...................................................... 143

Ilustración 49 - Vista de Método Modificar Cliente .............................................. 144

Ilustración 50 - Vista Interfaz Principal ................................................................ 146

Ilustración 51 - Vista Método Buscar ................................................................... 147

Ilustración 52 - Vista Método Opciones de Compra ............................................ 148

Ilustración 53- Vista Método Categorías ............................................................. 149

Ilustración 54- Vista Método Canasto .................................................................. 151

Ilustración 55 - Vista Método Pedir ...................................................................... 153

1

RESUMEN

El proyecto se genera como una propuesta de mejoramiento dirigida a los

negocios que venden y distribuyen licores y todos los productos relacionados con

la actividad y la rumba nocturna. Este proyecto tiene como finalidad principal

diseñar un prototipo de aplicación móvil para que los clientes de los estanquillos

puedan realizar sus pedidos a domicilio directamente desde sus Smartphones. El

software prototipo es manipulado directamente por los clientes desde su domicilio

o en el lugar donde se encuentren, brinda la posibilidad de visualizar la

información principal de los productos: precio, descripción, imagen, cantidad, para

poder efectuar un pedido desde su celular y ser entregado posteriormente. En

síntesis, el desarrollo de este software prototipo buscar involucrar el uso de

sistemas novedosos como los Smartphones y las App, en un proceso simple y

cotidiano como lo es la venta detallada de licores en una ciudad como Pereira.

Palabras Clave:

Prototipo, aplicación móvil, Smartphone, domicilio, celular, App, licores.

2

ABSTRACT

Proyect is generate as a proposal of improvement directed at the businesses that

sell and distribute liquor and all products related with the activity and night party.

The main objective this proyect is to design a prototype of a mobile application for

customer of liquor store will can place orders directly from their home

smartphones. The prototype software is directly manipulated by customers from

home or wherever they are, provides the possibility to display the main information

of the products: price, description, picture, quantity, can make an order from is cell

phone and will delivered later. In conclusion, the development of this prototype

software seek to involve the use of innovative systems such as smartphone and

App, in a simple process and daily as it is the detailed sale of liquor in a city like

Pereira.

Keywords:

Prototype, mobile application, smartphone, home, cellphone, App, liquor.

3

INTRODUCCION

El prototipo de aplicativo móvil y web para comercialización de licores a domicilio

es una aplicación desarrollada para dispositivos móviles y administrada desde un

entorno web, cuyo propósito es facilitar la comercialización y venta de licores y

productos relacionados en la región del Eje Cafetero. El propósito es brindarle a la

pequeña o mediana empresa del sector de los licores una alternativa segura para

la comercialización de sus productos, tomando como base principal la entrega de

pedidos a domicilio.

La idea se basa en crear una herramienta que le permita a cualquier cliente de la

distribuidora o comercializadora, realizar pedidos desde su dispositivo móvil, de

todo tipo de bebidas para que le sean entregados donde los solicite y en el menor

tiempo posible. El prototipo es una aplicación que le proporciona el beneficio al

usuario final de poder adquirir los productos de estanquillo que requiera como si

los estuviera comprando directamente en el establecimiento comercial, pero sin la

necesidad de trasladarse ni incomodarse, con la seguridad y la confianza en la

entrega, el pago, la calidad del servicio y de los productos.

4

1. PROPUESTA DE PROYECTO

1.1. SITUACION PROBLEMATICA

Desde la creación de los teléfonos inteligentes se han venido incrementando las

posibilidades de mejorar las condiciones y facilitar las tareas de las personas. El

Prototipo a desarrollar es un aplicativo que desea continuar con este

mejoramiento, partiendo de una base comercial estructurada y llegando al usuario

por medio de una herramienta de muy fácil acceso y utilización.

1.1.1. Situación Comercial:

Actualmente en el Eje Cafetero los establecimientos de comercio que

distribuyen bebidas alcohólicas y sus similares no cuentan con una

estructura sistematizada para el manejo de los pedidos, el control de la

información de los clientes y sobretodo no poseen una herramienta que

les permita manejar y optimizar las entregas a domicilio vía móvil o vía

web.

5

1.1.2. Entregas a Domicilio:

Las entregas a domicilios de cualquier mercadería constituyen una

buena parte de la logística comercial en la región del Eje Cafetero, sin

embargo, los productos o servicios que se canalizan por este medio se

solicitan en gran medida por vías telefónicas, es decir, no existen

muchas aplicaciones que brinden un servicio de domicilio desde una

plataforma móvil o web. En el campo comercial de las bebidas

alcohólicas la oferta de aplicaciones para este medio es prácticamente

nula, lo cual abre una muy buena posibilidad para que El aplicativo se

convierta en una herramienta totalmente innovadora e impactante en

este medio comercial, teniendo en cuenta que la demanda comercial de

las bebidas alcohólicas es alta a pesar de las restricciones sociales y de

los altos costos de venta y distribución.

1.1.3. Comercialización de Bebidas Alcohólicas y demás:

En el Eje Cafetero, como en otras regiones del país, es habitual la

venta, la distribución y el consumo de bebidas embriagantes y todos los

productos de su entorno, como pasabocas, cigarrillos, gaseosas,

bebidas energizantes y demás. Esto indica que el campo de acción de

la aplicación puede llegar a ser bastante extenso y con grandes

probabilidades de aceptación por parte tanto del cliente como de los

usuarios finales.

6

Es importante en este escenario realizar un riguroso estudio de mercados para

establecer los puntos más relevantes de este campo comercial, lo cual portaría

mejores herramientas para la investigación y la posterior ejecución de la idea.

El desarrollo del proyecto se establece bajo las normas y las leyes que rigen la

comercialización de este tipo de productos (bebidas alcohólicas y demás), en un

marco absolutamente legal y transparente con el fin de que la operación y la

ejecución de las tareas no tengan ningún inconveniente. Igualmente, el Proyecto

se va a desarrollar con plataformas de software y hardware totalmente legales y

aprobados por la ley, y con aplicación en los distintos sistemas utilizados en los

dispositivos móviles (Android, IOSMac, BlackBerry).

7

1.2. OBJETIVOS

1.2.1. OBJETIVO GENERAL

El objetivo general del proyecto es desarrollar un prototipo de aplicación para

dispositivos móviles, dirigido a estanquillos y licorerías para que les permita

automatizar el proceso de los pedidos a domicilio de sus clientes.

8

1.2.2. OBJETIVOS ESPECIFICOS

Obtener, analizar y especificar los requerimientos para el desarrollo de una

aplicación para dispositivos móviles, partiendo de procedimientos confiables

y eficientes que garanticen el mayor aprovechamiento del trabajo.

Diseñar y crear la arquitectura de una aplicación para dispositivos móviles,

con base en la construcción de diagramas y de procesos que constituyan el

pilar fundamental para el buen desarrollo de la aplicación como tal.

Diseñar y desarrollar los modelos de datos para el entorno de desarrollo

web y para el entorno de desarrollo móvil.

Desarrollar el código fuente para el entorno web de la aplicación tomando

como base el diseño de los modelos de datos.

Desarrollar el código fuente para el entorno móvil de la aplicación tomando

como base los diseños de modelos de datos.

Integrar, implementar y probar todos los componentes de la aplicación.

Realizar la documentación correspondiente a manual técnico y manual de

usuario.

9

1.3. HIPOTESIS

¿Es posible desarrollar un prototipo de aplicativo para dispositivos móviles dirigido

a estanquillos y licorerías para que les permita automatizar el proceso de pedidos

a domicilio que realizan sus clientes?

1.4. DISEÑO METODOLOGICO

1.4.1. Definición de la Metodología

Para la construcción del Prototipo de Aplicación Móvil se escogió la metodología

RUP (Rational Unified Process1). Este proceso para el desarrollo de Software

constituye la metodología estándar más utilizada para el análisis, implementación

y documentación de los Sistemas Orientados a Objetos (POO).

ILUSTRACIÓN 1 - FASES DE LA METODOLOGÍA

FUENTE LOS AUTORES

1 Proceso Racional Unificado

10

La construcción del Prototipo se ha efectuado de acuerdo a las siguientes Fases:

Fase de Inicio

En esta etapa se realizaron los estudios relacionados con el contexto y la

problemática a investigar, el alcance y el tamaño del proyecto y se

planificaron las fases que se desarrollarían a continuación. En la Fase de

Inicio se analizaron y se definieron los Requerimientos del prototipo, lo cual

se toma como base para los casos de Uso.

Fase de Elaboración

En esta fase se realizó el análisis detallado de la construcción del Prototipo

con base al diseño de los Casos de Uso. Los Casos de Uso que se crearon

en la parte de Análisis son de gran ayuda para estructurar la arquitectura

del aplicativo, tanto a nivel web como móvil. En esta fase de elaboraron los

diagramas de Secuencia que complementan los casos de uso, se crearon

los diseños o bancos de Datos y el Diagrama General de Clases de toda la

aplicación.

Fase de Transición

En la fase de Transición se finaliza la parte de Análisis y se inicia el proceso

de implementación de los diseños, es decir la codificación tanto del

ambiente móvil, como del ambiente web. Durante esta fase se efectúan

pruebas de conexión con la base de datos, acoplamiento y adecuación de

los módulos y se inyecta información suplementaria a la Base de Datos.

11

1.4.2. Tipo de Investigación

Para el enfoque metodológico se requieren dos formas de investigación:

Cuantitativa

La idea de un enfoque cuantitativo es responde a la hipótesis mediante la

medición de las características del prototipo desarrollado a través de las

variables involucradas en la metodología.

Exploratoria

El objetivo es examinar un tema o problema poco conocido y abordado con

anterioridad, es decir que, en la revisión de la literatura e información

preliminar de campo, se ha encontrado guías e ideas vagamente

relacionadas con el problema de estudio, pero no hay estudios formales

relacionados directamente con el objetivo general del proyecto.

12

1.4.3. Fases Para el desarrollo del Prototipo

ILUSTRACIÓN 2 - FASE 1 DE DESARROLLO

13

ILUSTRACIÓN 3 - FASE 2 DE DESARROLLO

14

ILUSTRACIÓN 4 - FASE 3 DE DESARROLLO

15

ILUSTRACIÓN 5 - FASE 4 DE DESARROLLO

16

ILUSTRACIÓN 6 - FASE 5 DE DESARROLLO

17

1.4.4. Cronograma de Actividades del Prototipo

ILUSTRACIÓN 7 - CRONOGRAMA DEL PROTOTIPO

18

1.5. APORTES DEL PROYECTO

1.5.1. APORTE TEORICO:

A partir de lo teórico, el proyecto y en si la aplicación generan aportes técnicos y

tecnológicos que se reflejan en los procedimientos y los procesos utilizados para

el desarrollo del software tanto a nivel web como móvil. La aplicación será

desarrollada en plataformas de software de alto nivel (JQuery Mobile y PHP) en

donde se implementarán procesos de gamas competitivas y profesionales que se

han venido adecuando en grandes aplicaciones a nivel mundial. La utilización de

estas herramientas es una posibilidad de enriquecimiento cognitivo tanto para los

desarrolladores de la aplicación como para los estudiantes, profesores o personas

que deseen generar otros caminos de investigación a partir de este proyecto.

1.5.2. APORTE PRÁCTICO

El proceso para realizar y entregar pedidos no es una estrategia nueva ni

novedosa a nivel regional, es uno de las operaciones logísticas más efectuadas en

la comercialización de cualquier tipo de producto. El aporte práctico del proyecto

está dirigido al campo de negocio que se pretende generar tomando como base el

uso de una herramienta sistematizada que les permitirá a los usuarios mejorar la

calidad del servicio en todos los sentidos. El proyecto no es solo una aplicación

como tal, es también una idea de negocio que puede llegar a ser bastante rentable

y con muy buenos beneficios económicos para una persona que cuente con el

conocimiento suficiente del mercado, de las condiciones comerciales, de los

19

niveles de seguridad, de almacenamiento de productos y manejo y atención de

clientes.

Ventajas Comerciales:

Los comerciantes y distribuidores de este tipo de productos tendrán la

posibilidad de mejorar la calidad del servicio y brindar a sus clientes una

mejor atención representada en menores tiempos de respuesta, facilitando

la ubicación exacta de sus clientes, disminuyendo la carga administrativa de

sus operaciones y concentrando los esfuerzos en disminuir los tiempos de

solicitud y entrega de los pedidos.

Los clientes a su vez, contarán con un valor agregado de seguridad y

confianza, ya que la herramienta le permitirá manejar la información

personal y por ende establecer los parámetros suficientes para que sus

pedidos sean entregados con el tiempo y la ubicación requerida.

La aplicación brinda la comodidad al usuario de realizar los pedidos en

tiempo real y con la facilidad y confianza de estarlo haciendo directamente

en el establecimiento comercial, todo esto gracias a la interfaz visual y la

optimización de los recursos y los procesos internos de la herramienta.

20

2. MARCO TEORICO

2.1. ANTECEDENTES

Dentro del glosario de conceptos emitidos en este proyecto, es importante

enfatizar en dos muy relevantes para el desarrollo del mismo: Smartphone y App.

2.1.1. El Smartphone

Los “Smartphone” o teléfonos inteligentes son dispositivos móviles que

cumplen las mismas funciones que un teléfono celular y adicional a esto,

permiten realizar tareas casi tan complejas como las de un computador de

escritorio. 2La característica más importante (una de ellas) de casi todos los

teléfonos inteligentes es que permiten la instalación de programas para

incrementar el procesamiento de datos y la conectividad. Estas aplicaciones

pueden ser desarrolladas por el fabricante del dispositivo, por el operador o por

un tercero.

3En 1996 salió al mercado a Palm Pilot, que no fue técnicamente un

Smartphone, pero fue muy importante ya que ayudo a popularizar el uso de

dispositivos portátiles, y acostumbró a los usuarios a la idea de poder llevar sus

2 Área Tecnología. Febrero de 2014. Qué es un Smartphone. http://www.areatecnologia.com/Que-es-un-smartphone.htm 3 Breve Historia de los smartphones. Enero 14 de 2011. http://www.puntogeek.com/2011/01/14/breve-historia-de-los-smartphones/

21

datos de un lado a otro. Fue un equipo muy utilizado por ejecutivos y hombres

de negocios.

A fines de la década del ’90, la compañía canadiense Research In Motion

(RIM) era conocida gracias a sus beepers, que eran usados por decenas de

millones de personas en todo el mundo. Pero a comienzos de 2002, RIM entró

en el mercado de los teléfonos móviles, y lo hizo por la puerta grande: el

BlackBerry 5810 era un teléfono con la capacidad de revisar correos

electrónicos y navegar por Internet.

El principal aspecto negativo de este producto es que, para hablar por teléfono,

era necesario utilizar auriculares, ya que, por más increíble que parezca, el

equipo no tenía altavoces. Esto fue así ́durante 2 años, ya que en 2004 RIM

lanzó su BlackBerry 6210, con la cual se podía hacer llamadas sin accesorio

adicional alguno.

En el año 2007, la empresa estadounidense Apple Inc. lanza al mercado lo que

sería el más novedoso dispositivo móvil del momento: el IPhone. El éxito que

tuvo Apple con su primer intento en ingresar al mercado de los móviles, fue

alucinante. El producto vendió́ millones de unidades, en parte gracias a su

pantalla táctil, y a que ofrecía la mejor experiencia en Internet hasta ese

momento. Tras el enorme éxito del iPhone, las operadoras de telefonía móvil

22

han descubierto que pueden “asegurarse” a sus clientes por mucho tiempo,

vendiéndoles Smartphone a subsidiados, a precios relativamente económicos.

En el mismo año en que Apple lanzó el iPhone, Google presentó su sistema

operativo Android. Este último lanzamiento no fue tan explosivo, ni causó tanto

revuelo en ese entonces, pero actualmente, es posible decir que Android es

rotundamente exitoso, ya que es un éxito en ventas en Estados Unidos y

Europa, tiene miles de aplicaciones disponibles en la Tienda Android, y un

futuro más que prometedor. De hecho, recientemente se conoció́ el dato de

que en los Estados Unidos hay más móviles con Android que iPhone.

2.1.2. El App - Aplicaciones

Las Apps o aplicaciones para dispositivos tienen un desarrollo mancomunado

con el de los dispositivos móviles, ya que la función principal de un

Smartphone, o más bien su concepto, es de servir como plataforma para

aplicaciones que hagan provecho de las características del teléfono mismo.

Inicialmente el foco de importancia estaba centrando en el equipo, en su

hardware y su portabilidad, sin embargo todo cambia con la aparición en 2007

del IPhone de Apple que plantea una nueva estrategia, cambiando las reglas

de juego, ofreciendo su teléfono como una plataforma para correr aplicaciones

que dejaban a desarrolladores y compañías externas ofrecerlas en su App

store (tienda de aplicaciones). Para finales del 2008 había prácticamente una

aplicación para todo. Cuando la App Store abrió contaba con 500 aplicaciones

23

y Android Marquet (Google Play) con 50; ahora en 2013 la App Store tiene

775.000 y Google Play 800.000 cada una con una función o funciones que

aprovechan las características del teléfono. 4

Android con su Marquet al ser una plataforma “open source” (libre desarrollo)

permitió una mayor libertad, y con esto llegaron Smartphone de bajo costo.

Actualmente es normal ver a personas de cualquier edad y estatus utilizando

aplicaciones, y es por que poco a poco estos aparatos se están volviendo

imprescindibles, y no serían nada sin el abundante y variado ecosistema de

aplicaciones que existe para todas las plataformas. Hoy en día todas las

páginas web se preocupan por tener una buena versión adaptada para móviles

o en mejor caso una App. El internet tiene la vista puesta en los teléfonos

inteligentes y es de esperarse, los contratos de internet móvil doblan a los de

conexión fija.

Lo más relevante de todo esto es que ni Apple ni Google le apuestan a

desarrollar aplicaciones, porque simplemente no es su mercado. En vez de eso

facilitaron la posibilidad de darle a cualquier persona acceso a los SDK

(Software Development Kits o Kit de Desarrollo de Software). Es aquí donde el

abanico de aplicaciones se incrementaron radicalmente y entraron miles de

nuevas empresas y microempresas ofertando sus productos, es ese el

4 La Historia de Apps Store para Smartphones. Febrero 7 de 2012. http://www.androidpit.es/historia-app-store-smartphones

24

presente, es en este momento en el cual empieza la real competencia a nivel

regional, nacional y mundial.

2.1.3. Productos y/o Proyectos existentes.

La información y documentación sobre investigaciones o proyectos con

objetivos similares al propuesto es bastante reducida. Posiblemente una de las

razones de este factor es que los sistemas o desarrollos de aplicaciones

móviles están en pleno auge a nivel mundial, sin embargo se extrajeron

algunos proyectos con finalidades similares a las expuestas en este proyecto:

Aplicativo Móvil para la administración de solicitudes de Taxis

Universidad Católica de Pereira

Este proyecto realizado en el año 2012 tiene como propósito principal

“construir una aplicación móvil para Android que permite alarmar a los

miembros de la comunidad taxistas Twitteros cuando se requiera de sus

servicios”. De acuerdo a lo anterior, el objetivo del proyecto está

orientado a la construcción de una aplicación para dispositivos móviles,

dirigida a la comunidad de los taxistas de la ciudad de Pereira, cuya

funcionalidad consiste en “generar una comunicación directa desde sus

dispositivos Smartphone, entre una comunidad de taxistas llamada

Taxistas Twitteros y sus posibles pasajeros, con el fin de que los

pasajeros puedan hacer peticiones de servicios de taxi, y los taxistas

puedan estar al tanto de cuando hay solicitudes y cuando se requiere de

25

la prestación de un servicio”. En conclusión, el aplicativo propuesto en

esta investigación sugiere una serie de requerimientos basados en

solicitudes y respuestas a un servicio masivo y de uso común en la

sociedad, es decir, se parte de una actividad cotidiana y se le incorpora

un valor agregado capaz de mejorar la funcionalidad del servicio

haciéndolo comercialmente más llamativo.

Software Prototipo de Sistematización de pedidos e inventarios –

Comidas Rápidas Coyote Good Food.

Universidad Tecnológica de Pereira

La finalidad de esta investigación es la de “desarrollar un prototipo de

aplicación web para el restaurante ‘Coyote Good Food’ que le permita

automatizar los procesos de ventas, inventarios y gestión de pedidos”.

Aunque el proyecto no involucra la participación de Smartphone, es

destacable la estructura funcional que se basa en la sistematización en

la toma y entrega de pedidos en un establecimiento comercial de

comidas rápidas. La solución que buscar este proyecto consiste en

mejorar “la gestión de pedidos y el control de inventarios, los cuales se

realizan de forma manual generando retrasos e inconformidad en el

cliente, impidiendo el crecimiento y posicionamiento de la empresa en el

mercado”. Al igual que la anterior investigación, este proyecto centra su

problemática en una situación o actividad humana común y frecuente, y

26

lo que busca es modificar los procesos manuales para transformarlos en

flujos confiables de información.

Actualmente se vienen desarrollando varias aplicaciones para dispositivos móviles

cuyo propósito fundamental es mejorar y agilizar la venta de productos de

consumo masivo, tales como alimentos, bebidas, farmacéuticos entre otros. El

gran poder de estas aplicaciones es querer llegar al usuario por medio de una

interfaz gráfica amigable, adaptable y de fácil uso, y sobre todo con el menor

consumo de los recursos propios de cada dispositivo. A continuación se citan tres

de las más reconocidas aplicaciones usadas actualmente en el mercado:

HelloFood

Es una aplicación móvil para dispositivos IPhone (Mac) y Android

(Google) que sirve para ordenar comidas a domicilio de una variedad

extensa de restaurantes ubicados en la zona donde se encuentra el

cliente. Esta aplicación fue desarrollada por una empresa europea

llamada Rocket Internet, la cual se dedica a generar impulso comercial a

empresas que estén interesadas en mejorar sus ventas por medio de los

canales virtuales que posee la red de comunicaciones más grande del

mundo. HelloFood ha ingresado con gran impacto a más de 27 países y

27

es considerado el servicio de entrega de alimentos a domicilio con el

alcance más amplio del mundo. 5

Rebaja Móvil

Esta aplicación fue construida para la cadena de droguerías La Rebaja y

está basada en un sistema de petición de productos farmacéuticos a

domicilio desde los dispositivos móviles con sistema operativo IO de

Mac, es decir, de la empresa Apple Inc. Esta aplicación fue desarrollada

por la empresa colombiana Imaginamos Ltda., la cual ofrece un

portafolio de productos y servicios tales como el diseño web para

pequeñas y medianas empresas, diseño de logos, hosting, aplicaciones

web entre otros. 6

Correo de La Noche

También desarrollada por Imaginamos Ltda., y es particularmente la

aplicación que más se asemeja al comportamiento y funcionalidad del

propuesto en este proyecto. La aplicación direcciona su actividad en la

entrega de pedidos de bebidas embriagantes y snack en la ciudad de

Bogotá pero solo en horarios nocturnos y en determinadas zonas. 7

5 HelloFood. Comidas a domicilio. http://www.hellofood.com.co/ 6 Rebaja Móvil. Droguería a domicilio. http://www.larebajamovil.com/ 7 Correo de la Noche. Rumba a domicilio. http://www.correodelanoche.com/

28

2.2. MARCO CONTEXTUAL

2.2.1. Eje Cafetero

El Eje Cafetero, o Triángulo del Café, es una región topográfica de Colombia,

comprendida en su extensión por los departamentos de Risaralda, Caldas y

Quindío con sus respectivas capitales Pereira, Manizales y Armenia. La Región

tiene una extensión total de 13.871 Km2 que representa cerca del 1,2% de la

superficie total del país y está conformado por 53 municipios de los 1.098 con los

que cuenta el país.

ILUSTRACIÓN 8 - MAPA EJE CAFETERO

Según el Observatorio Colombiano de Ciencia y Tecnología la economía de la

Región se basa principalmente en la actividad agrícola, la industria manufacturera,

el comercio y actualmente en creciente industria turística. En Caldas y Quindío se

29

mantiene una importante actividad agrícola siendo su principal cultivo el café.

Otros cultivos que en los últimos años han incrementado su producción son: el

plátano, yuca, sorgo, soya, fríjol, maíz y cacao. En Risaralda los sectores

económicos que se destacan por los resultados obtenidos fueron los de la

industria manufacturera y el comercio, la construcción, los servicios sociales,

personales, el transporte y las comunicaciones; por el contrario, la producción de

café viene disminuyendo considerablemente desde algunos años.

El Eje Cafetero, y en especial la ciudad de Pereira viene evidenciando un notable

crecimiento comercial, integrando la participación de una extensa gama de

productos y servicios, que van desde las necesidades básicas hasta actividades

relacionadas con el turismo y la recreación.

2.2.2. Comercio de Licores

En un estudio reciente publicado por el diario La Patria de Manizales se dan a

conocer los niveles de comercialización y consumo de Licores en el Eje Cafetero.

La publicación muestra un análisis comparativo de las ventas de Licores en el

país, donde los resultados en ventas de la región del Eje Cafetero, junto con la de

Antioquía, tienden a ser superiores que el promedio nacional. El proceso de

distribución de los productos y bebidas embriagantes es básicamente el mismo

que cualquier otro producto que se comercializa en la región, después de

producido y terminado es repartido por diferentes canales y modos de

30

comercialización, que va desde las grandes superficies, mayoristas, distribuidoras,

estanquillos y tiendas de barrio, para llegar al consumidor final. 8

2.2.3. Entregas a Domicilio

Muchas y recientes investigaciones coinciden en que el comportamiento del

consumidor está determinado por una gama de estímulos tales como anuncios,

necesidades fisiológicas y otros factores que inciden directamente en la toma de

decisiones a la hora de adquirir algo. Estos hábitos de consumo demuestran

(según la firma Urban Associates) que el 58% de los mayores de 18 años de los

estratos tres, cuatro y cinco, solicitan productos o servicios a domicilio, o en su

defecto compran para llevar a casa.

Ventajas de las Entregas a Domicilio

1. Le ofrecen al consumidor cierta comodidad y facilidad a la hora de

comprar sin necesidad de salir de su lugar de residencia.

2. Construyen confianza en un mercado lleno de inseguridades.

3. Evita pérdidas de tiempo al consumidor: desplazamientos, atascos y

búsqueda de estacionamientos.

4. Le reduce gastos derivados de transporte al consumidor: bus, taxi,

gasolina, etc.

8 Consumo de Licor. Diario La Patria, Julio 25 de 2012. http://www.lapatria.com/por-la-u/universitarios-adelantados-en-el-consumo-de-licor-10926

31

5. Evita el estrés que ocasionan los trancones y el tráfico en las avenidas

principales.

6. Facilidad al momento de realizar los pedidos.

Aunque ni gremios como Fenalco ni las mismas universidades disponen de

estudios económicos sobre el crecimiento e impacto que tienen las ventas a

domicilio en la economía regional y en el país, sí advierten que esa estrategia se

abre paso cada vez con más fuerza en el mercado doméstico. Para muchos

empresarios y proveedores de productos y servicios en el Eje Cafetero el servicio

de entrega de sus productos a domicilio representa más del 30% del total de las

ventas, en los casos particulares de los restaurantes y las droguerías se denotan

una mayor actividad relacionada con esta modalidad comercial.

Actualmente existen tres modalidades para realizar los pedidos a domicilio:

Telefónico:

Sigue siendo el medio más utilizado por los consumidores.

Internet – “On Line”:

Muchos empresarios cuentan con su propio portal web e incorporan el

servicio de una manera visual más amena y entretenida para el

consumidor.

Aplicativos móviles:

Son la novedad para cualquier empresa que desee comercializar sus

productos o servicios por internet, y le dan al consumidor un valor de

portabilidad que no permite la aplicación web.

32

Por otro lado, el Eje Cafetero y en particular sus ciudades capitales ofrecen una

ventaja fundamental para el desarrollo del proceso de entregas a domicilio, ya que

la extensión geográfica urbana no es tan grande como en otras regiones del país y

permiten agilizar la movilización y entrega de pedidos, con bajos costos y en

cortos periodos de tiempo.

2.3. MARCO CONCEPTUAL

2.3.1. Tipologías de Desarrollo 9

Las tipologías de desarrollo representan las áreas de negocio identificadas dentro

del campo del análisis y construcción de software:

Desarrollo a la Medida: soluciones de la Ingeniería de Software que

responden o se adaptan a las necesidades de los clientes de integrar,

automatizar procesos y funciones con herramientas ofimáticas, internet

y aplicaciones web o de escritorio, alineadas con los objetivos de lograr

mayor eficiencia y productividad. Estos servicios incluyen la planeación,

definición, diseño, construcción y mantenimiento de las aplicaciones.

Desarrollo de Aplicaciones WEB: es un modelo de negocio de interés

progresivo de la industria del Software que trata del suministro de

herramientas que los usuarios pueden utilizar accediendo a un servidor

9 Estudio de la Caracterización de Productos y Servicios de la Industria de Software y Servicios Asociados. FEDESOFT Noviembre de 2012. http://www.fiti.gov.co/Images/Recursos/estudiocifrassectorsw2012.pdf

33

web a través de Internet o de una intranet, mediante un navegador. Las

empresas proveedoras de software (Proveedores de Aplicaciones de

Servicios – ASP por sus siglas en inglés) promueven su acceso vía

Internet, permitiendo al usuario pagar una cuota periódica para usar la

aplicación, sin necesidad de instalarla en el ordenador del usuario.

Computación en la Nube: es un modelo de distribución de software

donde el software y los datos que maneja se alojan en servidores de la

compañía de TI y se accede con un navegador web o un cliente fino

especializado, a través de internet. La empresa provee el servicio de

mantenimiento, operación diaria, y soporte del software usado por el

cliente. Regularmente el software puede ser consultado en cualquier

computador, esté presente en la empresa o no. Se deduce que la

información, el procesamiento, los insumos y los resultados de la lógica

de negocio del software están hospedados en la compañía.

Comercio Electrónico: es la compra y venta de bienes y servicios a

través de sistemas electrónicos, principalmente Internet. Con el

incremento de internautas crece el comercio electrónico por lo que la

industria del SW&TI tiene un importante segmento de mercado en la

difusión y aplicación de las tecnologías y en las funcionalidades de la

tienda electrónica pues las empresas tienen la necesidad de integrar los

sistemas corporativos, implantar plataformas de venta online

(marketplace) o adoptar soluciones SaaS o Cloud Solutions. También se

pueden acoger soluciones Open Source o tecnología de código abierto,

34

para crear una tienda en Internet de costo reducido porque su código es

público y de uso gratuito sin pago de licencias. Los programadores de

Open Source pueden desarrollar funcionalidades como catálogos de

productos, reglas de promoción, venta cruzada, sistema de pago, zona

de gestión del usuario, gestión simultánea de tiendas, sistema de

seguimiento de pedidos y análisis de ventas, entre otros.

Portales, redes sociales, WEB 2.0: Las redes sociales son una

herramienta básica de comunicación preferida por los internautas pues

estos tienen la capacidad de generar contenidos susceptibles de

compartirse dentro de los entornos de relaciones y de expandirse por la

Red, facilitan el trabajo colaborativo y entornos más abiertos. La

producción de contenido resulta de interés para las organizaciones que

buscan seguidores y conversaciones más activas con sus fans. La Web

2.0 tiene herramientas para el uso de la educación como los blogs, wiki,

servicios para compartir multimedia, podcats, videocasts, redes sociales,

herramientas de edición colectiva, sindicación y notificación de

contenidos.

2.3.2. Sistemas Operativos de Dispositivos Móviles

A continuación se dan a conocer los cinco sistemas operativos más comunes en

los dispositivos móviles o Smartphone:

Android

Es un sistema operativo inicialmente desarrollado por Android Inc., una

firma adquirida por Google en el 2005. Este sistema operativo está

35

basado en una versión modificada del Kernel de Linux. Al contrario que

otros sistemas operativos para dispositivos móviles como iOS o

Windows Phone, Android se desarrolla de forma abierta y se puede

acceder tanto al código fuente como al listado de incidencias donde

podemos ver problemas aún no resueltos y reportar problemas

nuevos.10

iOS

Es el sistema operativo utilizado por el iPhone. Está basado en una

variante del Mach kernel que se encuentra en Mac OS X. El iOS incluye

el componente de software “Core Animation” de Mac OS X v10.5 que,

junto con el PowerVR MBX el hardware de 3D, es responsable de las

animaciones usadas en el interfaz de usuario. iOS tiene 4 capas de

abstracción: la capa del núcleo del sistema operativo, la capa de

Servicios Principales, la capa de Medios de comunicación y la capa de

Cocoa Touch. El sistema operativo ocupa bastante menos de medio

gigabyte del total del dispositivo, de 8 GB o de 16 GB.12 Esto se realizó

para poder soportar futuras aplicaciones de Apple, así como

aplicaciones de terceros publicadas en la iTunes Store o la App Store. 11

10 Concepto Definición. Junio 1 de 2011. http://conceptodefinicion.de/android/ 11 Diccionario de Informática y Tecnología. Definición de Iphone OS. http://www.alegsa.com.ar/Dic/iphone%20os.php

36

Windows Phone

Anteriormente llamado Windows Mobile es un sistema operativo móvil

compacto desarrollado por Microsoft, y diseñado para su uso en

teléfonos inteligentes (Smartphones) y otros dispositivos móviles.

Windows Phone hace parte de los sistemas operativos con interfaz

natural de usuario. Se basa en el núcleo del sistema operativo Windows

CE y cuenta con un conjunto de aplicaciones básicas utilizando las API

de Microsoft Windows. Está diseñado para ser similar a las versiones de

escritorio de Windows estéticamente. Además, existe una gran oferta de

software de terceros disponible para Windows Mobile, la cual se puede

adquirir a través de Windows Marketplace for Mobile. 12

BlackBerry

Es un sistema operativo multitarea (OS) para el BlackBerry, lo que

permite un uso intensivo de los dispositivos de entrada disponibles en

los teléfonos, en particular la rueda de desplazamiento y el trackpad

(septiembre 2009-presente). El sistema operativo proporciona soporte

para Java MIDP 1.0 y WAP 1.2. Las versiones anteriores permitían la

sincronización inalámbrica con Microsoft Exchange Server para el

correo electrónico y calendario, al igual como con Lotus Domino e-mail.

El actual OS 5.0 proporciona un subconjunto de MIDP 2.0, y permite la

activación inalámbrica completa y la sincronización con Exchange de

12 Concepto y Definición. Windows Phone. Junio 1 de 2011. http://conceptodefinicion.de/windows-phone/

37

correo electrónico, calendario, tareas, notas y contactos, y añade un

soporte para Novell GroupWise y Lotus Notes. 13

Symbian OS

Symbian es un sistema operativo que fue producto de la alianza de

varias empresas de telefonía móvil, entre las que se encuentran Nokia,

Sony Ericsson, Psion, Samsung, Siemens, Arima, Benq, Fujitsu,

Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp, etc. Sus

orígenes provienen de su antepasado EPOC32, utilizado en PDA’s y

Handhelds de PSION. El objetivo de Symbian fue crear un sistema

operativo para terminales móviles que pudiera competir con el de Palm

o el Windows Mobile de Microsoft y ahora Android de Google Inc., iOS

de Apple Inc. y BlackBerry 6 RIM. 14

2.3.3. Plataformas de Desarrollo para móviles

En el campo del desarrollo de aplicaciones para dispositivos móviles es importante

tener en cuenta tres aspectos fundamentales que tienen que ver con las

tecnologías anteriormente mencionadas. Estos aspectos se basan

fundamentalmente en la orientación tecnológica de la plataforma de desarrollo, es

decir, de acuerdo a la finalidad de los recursos es posible crear aplicaciones

desde:

13 Diccionario de Informática y Tecnología. Definición de Blacberry OS. http://www.alegsa.com.ar/Dic/blackberry%20os.php 14 Qué es Symbian OS. Glosario de GsmSpain, Octubre 2 de 2012. http://www.gsmspain.com/glosario/?palabra=SYMBIAN

38

Aplicaciones web optimizadas para móviles

Aplicaciones móviles nativas

Aplicaciones hibridas

A continuación se establecerán algunas características y diferencias entre cada

una de estas variantes de desarrollo: 15

2.3.1.1. Desarrollo Móvil Web

El desarrollo móvil web es el desarrollo de aplicaciones web regulares, pero

optimizadas para ser visualizadas desde un dispositivo móvil o Tablet. Por

definición, estas aplicaciones serán accedidas utilizando el navegador que

viene por defecto dentro de los dispositivos: ya sea Safari (o algún otro) en

iPhone o iPad y digamos Dolphin (entre otros) para Android.

Características de aplicaciones móviles web:

Serán accedidas desde un navegador desde el teléfono.

Para todos los dispositivos se desplegará casi que de la misma

forma.

Es prácticamente lo mismo que desarrollar cualquier aplicación o sitio

web: se utiliza HTML, CSS y JavaScript.

Ventajas de aplicaciones móviles web:

15 Pixmat Studios. Julio 28 de 2012. García Demóstegenes. Aplicaciones Móviles: Natico, Web o Hibrido? http://www.pixmatstudios.com/blog/aplicaciones-moviles-nativo-web-hibrido/#.VAyr3Pl5OSo

39

Compatibilidad: Se reutiliza casi en un 100% el mismo código fuente

para todos los sistemas operativos orientados a móviles, así se tiene

que dar mantenimiento sólo a una versión.

Rango de usuarios: Se puede llegar a más tipos de dispositivos: no sólo

a Android y iOS, sino que puede llegarse hasta el menos común, como

Bada (Samsung).

Fácil uso: No hace falta descargar nada, sólo con acceder a una URL

los usuarios podrán utilizar tu aplicación.

Actualizado siempre: Las actualizaciones llegan de inmediato, no se

debe esperar una semana para que el AppStore apruebe la nueva

actualización.

Más sencillo y rápido de llevar a cabo en muchas veces: muchas veces,

es mucho más fácil desarrollar y diseñar dentro de un browser utilizando

HTML, CSS y JavaScript que hacer lo mismo en Java, Objetive-C o

JavaScript (Appcelerator, Sencha). Posicionar elementos, estilizarlos y

ciertas flexibilidades son posibles en minutos con tecnologías móviles.

Desventajas de aplicaciones móviles web:

No se pueden utilizar la cámara y otros componentes nativos (al menos

por ahora): Con aplicaciones web nativas, al ser accedidas desde el

navegador, no tienes disponibilidad de ciertos componentes y

funcionalidades nativas del teléfono, entre ellos la cámara.

40

Cross-Browser Support versión 2.0: Antes preocupaba Internet Explorer

6, ahora preocupan otros más, como el pésimo soporte a los estándares

en BlackBerry 4 y 5, lo que trae mayores costos de desarrollo en

muchos casos.

Posibilidad de usarla offline (en algunos): No se permite el “offline mode”

cuando se esté desarrollando con web. Esto no aplica para iOS y otros,

ya que Safari implementa Web Storage de HTML5 y Offline Application

Cache

2.3.1.2. Desarrollo Móvil Nativo

Por otra parte, el desarrollo móvil nativo es el desarrollo de aplicaciones

que serán instaladas en el sistema de archivos de cada dispositivo y serán

distribuidas por los mercados de aplicaciones móviles, como el AppStore

(iOS) o el Play Market (Android).

Características de aplicaciones móviles nativas:

Serán descargadas desde el mercado de aplicaciones para el

sistema operativo: Play Market o el AppStore.

Es una aplicación distinta por sistema operativo: una para Android y

otra para iOS (y en muchos casos una para iPhone y otra para iPad).

Se desarrollan con lenguajes como Java (Android) u Objetive-C

(iOS), pero hay alternativas como Appcelerator que permiten

desarrollarlas utilizando JavaScript puro, para ambas plataformas.

41

Ventajas de aplicaciones móviles nativas:

Posibilidad de utilizar funcionalidades nativas: es posible utilizar

funcionalidades nativas, como la cámara, el acelerómetro, etc.

Nuevas alternativas para desarrollar multiplataforma: Aun cuando lo

regular es desarrollar estas aplicaciones utilizando las herramientas

oficiales (como el Android SDK y Java en Android), han surgido

varias nuevas tecnologías para llegar a varios dispositivos con casi el

mismo código fuente, como Appcelerator.

Performance: Típicamente llegan a desempeñarse mejor que las

aplicaciones web.

Hay un “market” para estas aplicaciones: Las personas pueden

encontrar una aplicación utilizando el AppStore o el Play Market en

cualquiera de los casos, estas aplicaciones pueden ser puestas a la

venta.

Modo offline: La aplicación desarrollada puede utilizarse sin

necesidad de una conexión a internet.

Desventajas de aplicaciones móviles nativas:

Típicamente son más costosas de llevar a cabo: Por lo general, son

más costosas de llevar a cabo, ya que se necesita invertir mucho

más tiempo.

Mayores costos de mantenimiento: De igual forma, mantener varias

versiones de la aplicación es costoso.

42

Actualizaciones y aprobaciones: Poner una aplicación en el AppStore

es tedioso, puede llevar hasta más de una semana. Se debe esperar

otra semana para que Apple Inc. apruebe los cambios.

2.3.1.3. Aplicaciones Hibridas

Las aplicaciones hibridas con las que se conocen como la combinación de

las dos plataformas mencionadas anteriormente y su finalidad es utilizar el

desarrollo nativo cuando es mejor o necesario, pero utilizar tecnologías web

cuando sea más práctica.

Este es un enfoque muy interesante que se ha estado llevando a cabo en

varios nuevos proyectos. Para todas las vistas que representen gran

complejidad y necesiten mayor flexibilidad se utiliza directamente HTML

rodeada de una ventana nativa (para poner el botón de back, por ejemplo).

También lo es usada para aquellas ventanas cuyo contenido seguramente

cambiará muy a menudo, por ejemplo si es un contenido que cambia cada

mes, y es necesario evitar una nueva versión cada mes sólo para actualizar

dicho contenido.

Por el otro lado, todas las ventanas que necesiten funcionalidad nativa del

teléfono, como la cámara o detalles que se requieran guardar en la

aplicación, es indispensable el uso de componentes nativos.

43

2.3.4. MYSQL

El sistema de base de datos operacional MySQL es hoy en día uno de los más

importantes en lo que hace al diseño y programación de base de datos de tipo

relacional. Cuenta con millones de aplicaciones y aparece en el mundo

informático como una de las más utilizadas por usuarios del medio. El

programa MySQL se usa como servidor a través del cual pueden conectarse

múltiples usuarios y utilizarlo al mismo tiempo. Una de las características más

interesantes de MySQL es que permite recurrir a bases de datos multiusuario a

través de la web y en diferentes lenguajes de programación que se adaptan a

diferentes necesidades y requerimientos. Por otro lado, MySQL es conocida

por desarrollar alta velocidad en la búsqueda de datos e información, a

diferencia de sistemas anteriores. Las plataformas que utiliza son de variado

tipo y entre ellas podemos mencionar LAMP, MAMP, SAMP, BAMP y WAMP

(aplicables a Mac, Windows, Linux, BSD, Open Solaris, Perl y Phyton entre

otras).

2.3.5. PHP

La sigla PHP identifica a un lenguaje de programación que nació como

Personal Home Page (PHP) Tools. Fue desarrollado por el programador de

origen danés Rasmus Lerdorf en 1994 con el propósito de facilitar el diseño de

páginas web de carácter dinámico. El acrónimo recursivo, sin embargo, en la

actualidad está vinculado a PHP Hypertext Pre-Processor. El lenguaje es

desarrollado hoy en día por The PHP Group aunque carece de una normativa

44

formal. La Free Software Foundation, por lo tanto, considera la licencia PHP

como parte del software libre. El lenguaje PHP suele procesarse directamente

en el servidor aunque también puede usarse a través de software capaz de

ejecutar comandos y para el desarrollo de otra clase de programas.

2.3.6. jQuery MOBILE

jQuery Mobile es un framework de interfaz de usuario de desarrollo de web que

nos permite desarrollar aplicaciones web para celulares o móviles que trabajen

en cualquier Smartphone y Tablet. El jQuery Mobile framework se basa en el

core de jQuery y proporciona una serie de herramientas, incluyendo el manejo

del DOM de HTML y XML, el control de evento, la comunicación con el servidor

a través de Ajax, así como los efectos de animación y de imágenes para

páginas web.

45

3. RECOLECCION DE INFORMACION Y ANALISIS DE REQUERIMIENTOS

3.1. RECOLECCION DE INFORMACION POR MEDIO DE ENCUESTAS

Y ENTREVISTAS

La encuesta es un estudio observacional que se basa en una serie de preguntas

que se efectúan a muchas personas para reunir datos o para detectar la opinión

sobre un asunto determinado. En la encuesta planteada para el desarrollo del

prototipo, es indispensable conocer datos precisos relacionados con el consumidor

o cliente final de la aplicación, con el fin de establecer los gustos, las preferencias,

las reacciones, las motivaciones y las sugerencias sobre el funcionamiento de las

ventas de productos de estanquillo y las entregas a domicilio de los mismos.

La entrevista es una conversación entre el investigador y el sujeto de estudio, con

el fin de obtener respuestas verbales a los interrogantes planteados sobre el

desarrollo del prototipo planteado en este proyecto. En este caso el ente

investigador está conformado por los dos estudiantes realizadores del proyecto.

Para el sujeto de estudio se escogieron dos propietarios de los más destacados y

reconocidos estanquillos de la ciudad de Pereira, los cuales están ubicados

estratégicamente para el desarrollo la actividad comercial y de las entregas a

domicilios.

46

ILUSTRACIÓN 9 - DIAGRAMA DE ACTIVIDADES REQUERIMIENTOS

FUENTE: LOS AUTORES

3.1.1. Definir Objetivos

De acuerdo con las necesidades del proyecto y teniendo en cuenta los aspectos

funcionales y los procesos de la venta a domicilio, se establecen los siguientes

objetivos:

Establecer las principales fuentes de información.

47

Establecer y conocer los procesos que intervienen en la entrega de

domicilios.

Identificar los problemas recurrentes dentro del proceso de entrega a

domicilio.

Establecer los posibles alcances del negocio de la venta de productos de

estanquillo.

Identificar los requerimientos del usuario y/o consumidor del estanquillo.

Conocer sugerencias y recomendaciones por parte del usuario final.

Conocer sugerencias o aportes por parte de los dueños de estanquillos.

3.1.2. Definir tamaño de la Encuesta

Según un estudio publicado el 12 de diciembre de 2012 por el diario El

Colombiano, el 69% de los colombianos ha ingerido licor al menos una vez en su

vida. La mayor incidencia de compra y consumo de bebidas alcohólicas se

presenta en el grupo de personas entre los 18 y 24 años, con 80,5%, seguido de

25 a 34 años, con 74,2% 16

Por otra parte, La Federación Nacional de Comerciantes Risaralda (FENALCO),

publicó un informe sobre la reducción del consumo de licor en los bares y

discotecas hasta en un 40%, pero dio a conocer el aumento del consumo en

algunos eventos de tipo doméstico. El informe da como causa principal de este

16 Diario El Colombiano. (Diciembre 5 de 2012). Investigación de la Facultad Latinoamericana de Ciencias Sociales

(Flacso) http://www.elcolombiano.com/BancoConocimiento/6/69_de_cada_100_colombianos_consumen_licor/69_de_cada_100_colombianos_consumen_licor.asp

48

suceso a las nuevas normas que penalizan a las personas que conduzcan bajo los

efectos del alcohol.17

Para el cálculo de la muestra se requiere el uso de la siguiente fórmula:

Fórmula Muestral

El tamaño de la población está indicado por la cantidad de habitantes de la ciudad

de Pereira entre los 18 y los 50 años de edad. 18. Se encuestaron 110 personas

entre los estratos 3, 4 y 5, en su gran mayoría estudiantes universitarios.

3.1.3. Definir personas a Entrevistar

Antes de definir las personas a entrevistar, fue necesario establecer por medio de

la observación y la consulta directa cuales son los puntos de la ciudad donde se

encuentran ubicados los estanquillos más reconocidos. Se estableció que la Zona

Rosa de Pereira, en el sector de la Circunvalar es el sitio donde se albergan gran

cantidad de bares, discotecas y estanquillos, y por ende lo más adecuado era

tratar de ubicar a los propietarios de uno o dos estanquillos para entrevistarlos.

17 Diario del Otún. (Marzo 2 de 2014). Caen las ventas en consumo de alcohol.

http://www.eldiario.com.co/seccion/ECON%C3%93MICA/caen-las-ventas-en-consumo-de-licor1403.html 18 Censo Pereira Digital 2013 - http://www.pereiradigital.gov.co/web/es/demografia-1

49

Las personas que se entrevistaron en la fase de recolección de la información

fueron las siguientes:

Cesar Ramírez

Propietario del Estanquillo La Cosa Nostra

Margarita Obando

Propietaria de Licores Marge

3.1.4. Entrevistas a propietarios de Estanquillos

Los objetivos de esta entrevista es conocer a fondo el funcionamiento, los

procesos y las personas que intervienen dentro de la venta a domicilio de los

productos de estanquillo. Además, por medio de las preguntas y respuestas se

logran establecer muchos de los requerimientos que son de funcionalidad del

administrador del prototipo.

3.1.5. Definir datos a ser recolectados

En esta fase se definen los datos necesarios para implementar el aplicativo, lo

anterior basado en la información obtenida en las encuestas y en las entrevistas.

50

3.1.6. Identificar los Requerimientos

Para la identificación de los Requerimientos es indispensable realizar una listado

de las necesidades usando frases simples con un lenguaje práctico y entendible

para el usuario. Estas necesidades son interpretadas como las actividades

esenciales para el funcionamiento de cualquier empresa, en este caso, de los

estanquillos. Particularmente el tema de investigación y profundización es el

esquema empleado para la venta a domicilio de productos de estanquillo, que en

términos normales es una venta a distancia, que incorpora otras variables

esenciales como distancia, tiempo y recorridos.

3.1.7. Clasificar y restablecer los requerimientos

La clasificación de los requerimientos es una fase de vital importancia ya que

identifica las necesidades reales del sistema real, las cuales deben estar en una

forma que pueda ser comprendida y usada por los desarrolladores del aplicativo.

3.1.8. Analizar los Requerimientos

En esta fase se asegura que los requerimientos estén bien definidos y que

cumplan con los criterios de un buen requerimiento.

51

3.1.9. Administrar los Requerimientos

Los requerimientos se deben dejar adicionar, modificar o borrar en el caso que se

necesite y en la fase que se requiera.

3.1.10. Probar y verificar los Requerimientos

Es el proceso de chequear los requerimientos, diseño, código, planes de prueba y

productos del sistema para asegurar que cumplan con los requerimientos.

3.1.11. Validar los Requerimientos

Es el proceso de confirmar que los requerimientos reales se cumplen en el

sistema que se está entregando, esto se hace debido a que no se cuenta con

tiempo para una prueba exhaustiva.

3.2. CICLO DE VIDA DEL PROTOTIPO

El ciclo de vida del Prototipo puede describirse como el periodo entre el cual se

toma la decisión de realizar el desarrollo del software y la entrega final al cliente, el

ciclo generalmente incluye las fases de requisitos, diseño, implementación,

prueba, instalación y aceptación.

52

3.3. HISTORIAS DE USUARIOS

Las historias de usuario representan un requerimiento de software escrito en una o

dos frases utilizando el lenguaje común del usuario.

3.4. ANALISIS DE REQUERMIENTOS

En esta fase se determinan los requerimientos del sistema para el diseño del

primer prototipo funcional del aplicativo. Dichos requerimientos son especificados

en la ingeniería de software dentro del presente documento.

3.4.1. Requerimientos Funcionales

3.4.1.1. Registro y Gestión de Clientes

Es necesario que el aplicativo cuente con un módulo para registrar y guardar los

datos principales del cliente, con el fin de almacenar la información y crear un

vínculo comercial entre el proveedor del servicio y cada uno de sus clientes.

Además, este módulo brinda la posibilidad al cliente de modificar algunos de sus

datos en caso que lo necesite. Esta operación se debe realizar inmediatamente se

descargue el aplicativo en el dispositivo móvil del cliente.

53

3.4.1.2. Logueo Clientes

El aplicativo debe contar con un módulo o interfaz que le brinde la posibilidad al

cliente para que ingrese por medio de su correo electrónico y una clave. El

sistema debe validar esta información de acuerdo a los datos registrados

previamente según el requerimiento de registro de clientes. Dentro de este módulo

también se genera la opción de poder recuperar la contraseña en caso de que el

cliente la haya olvidado. Esta operación se debe realizar en caso que el cliente

cierre la sesión o desee ingresar al aplicativo desde un dispositivo distinto al suyo.

3.4.1.3. Búsqueda de Productos

El aplicativo debe contar con un módulo que le dé la posibilidad al cliente de

buscar un producto ingresando una palabra o una frase que lo identifiquen. El

sistema deberá devolver en la interfaz todas las posibles coincidencias, con el fin

de que el cliente pueda escoger el que estaba buscando. El modulo generará una

búsqueda en forma jerárquica, desde el nombre del producto, pasando por la

categoría, fabricante, descripción, hasta llegar a la característica menos visible del

objeto como tal. Este requerimiento debe estar representado por medio de un

ícono visible en la parte superior de la interfaz principal.

3.4.1.4. Mostrar Categorías

Este módulo debe permitirle al cliente visualizar los productos de forma organizada

según la categoría que escoja dentro del grupo de opciones. Las categorías

54

agrupan a los productos según una serie de características en común, en este

caso, el aplicativo hace una organización de los productos para poder identificar

los diferentes tipos de bebidas. Este requerimiento debe estar representado por

medio de un ícono visible en la parte superior de la interfaz principal, y se deben

aparecer en forma de ventana emergente cada vez que el cliente la escoja.

3.4.1.5. Opciones de Compra

Por medio de este módulo se darán a conocer las distintas opciones que ofrece el

aplicativo para que el cliente mejore su compra. Tales opciones forman parte de

una gama de beneficios comerciales que el proveedor del servicio puede

considerar según la fecha, la participación de nuevos productos o algún evento en

particular. El aplicativo le dará la opción al cliente para que escoja alguno de estos

beneficios y mostrar en la interfaz principal los resultados de la opción

referenciada. Este requerimiento debe estar representado por medio de un ícono

visible en la parte superior de la interfaz principal, deberá mostrar dichas opciones

en forma de menús desplegables.

3.4.1.6. Canasto de Compra

El Canasto de Compra es un requerimiento del sistema que debe permitirle al

cliente almacenar de manera temporal los productos que vaya escogiendo. Este

módulo debe almacenar la información de los productos que se van pidiendo, las

cantidades, los valores respectivos y el total de la compra, y, adicional a esto,

55

debe permitirle al cliente la opción de manipular las cantidades o las referencias,

en caso que decida modificar el contenido del canasto. Este requerimiento debe

estar representado por medio de una imagen que identifique un canasto,

posicionado en la parte central de la interfaz principal, con el fin de que sea lo

suficientemente visible y de fácil acceso para el cliente. Su presentación será a

manera de ventana emergente.

3.4.1.7. Estanterías de Productos

El aplicativo requiere de un módulo que muestre de manera organizada los

productos que se encuentran para la venta. Este requerimiento representa la parte

más visible de la interfaz principal, ya que se desea que sea mostrado en forma de

estantería según la categoría del producto. Dentro de este módulo el cliente tendrá

la opción de escoger y visualizar toda la información del producto, la cual se

encuentra almacenada previamente por el proveedor del servicio. Igualmente, el

sistema le permite al cliente enviar el producto al canasto de compra (véase

requerimiento Canasto de Compra), y definir la cantidad de unidades que desea

comprar.

Los productos serán mostrados en forma de imágenes reales, es decir, fotografías

idénticas al producto físico con el fin de dar una interfaz amigable y conocida al

cliente. La interfaz debe mostrar cuatro productos en pantalla, y el cliente podrá

56

visualizar la estantería completa en forma de slide19, deslizando de derecha a

izquierda hasta terminar todo el portafolio.

3.4.1.8. Realizar y Confirmar Pedido

Dentro de la aplicación es necesario que exista un módulo donde el cliente tenga

la opción de confirmar el pedido. Esta opción debe estar identificada por un ícono

visible en la parte central de la interfaz principal, para que el cliente pueda acceder

fácilmente a ella. Dentro de este requerimiento es fundamental que el sistema

valide si el valor del pedido es superior al rango inicialmente establecido por el

proveedor, en caso que no sea así, se le debe indicar al cliente que el pedido debe

superar dicho rango e invalidar la compra. Por otro lado, este módulo debe

mostrarle al cliente el valor total del pedido, debe darle la opción al cliente de

escoger una de las direcciones previamente guardadas o ingresar una nueva

dirección, ya sea directamente por teclado o con la ayuda de Google Maps20.

Por último el cliente deberá confirmar la compra por medio de un botón que debe

aparecer en la parte inferior de este módulo. Seguidamente, el aplicativo debe

mostrarle al cliente la hora en que se realizó el pedido, la dirección exacta de

entrega y la hora aproximada de entrega de los productos. Todo este módulo

tendrá una visualización a manera de ventana emergente, es decir, su aparición

19 Se llaman así las presentaciones de imágenes en las que éstas van desfilando, de forma más o menos divertida y

decorada. 20 Google Maps es un servidor de aplicaciones de mapas en la web que pertenece a Google. Ofrece imágenes de mapas

desplazables, así como fotografías por satélite del mundo e incluso la ruta entre diferentes ubicaciones o imágenes a pie de calle Google Street View.

57

depende de que el cliente haga clic sobre la imagen, y se abrirá una ventana que

estará vinculada permanentemente a la interfaz principal.

3.4.1.9. Historial de Pedidos

La aplicación debe tener un módulo donde queden almacenados los datos de los

pedidos realizados por el cliente. Esta opción le debe permitir al cliente visualizar

dichos pedidos para poder tomarlos como sugerido para una nueva compra.

Adicional a esto, el historial de pedidos permite visualizar las características

propias de cada compra, es decir, datos como la fecha, la hora de entrega, el

valor, etc. Este requerimiento debe presentarse en forma de ícono en la parte

inferior de la interfaz principal y en forma de ventana emergente.

3.4.1.10. Contacto

El aplicativo debe tener un módulo que muestre toda la información relacionada

con el proveedor del servicio, la cual debe relacionar los datos principales para

que el cliente pueda contactar por medio telefónico o por correo electrónico.

Además, el modulo requiere que se dé la opción para que el cliente pueda enviar

quejas, reclamos y/o sugerencias para el mejoramiento del servicio. Este

requerimiento debe visualizarse en la parte inferior de la interfaz principal, en

forma de ventana emergente ligada directamente con la misma.

58

3.4.2. Requerimientos No Funcionales

3.4.2.1. Confiabilidad

Los errores deben ser controlados

Cada error que pueda surgir debe ser controlado, es decir, en caso de surgir un

error se deben mostrar pantallas personalizadas al usuario, pero no permitir que el

sistema muestre secciones del código o descripciones detalladas de error que

puedan poner en riesgo la seguridad e integridad del sistema.

3.4.2.2. Plataforma del Sistema

Lenguaje de Programación

El sistema debe ser desarrollado utilizando Jquery Mobile, HTML5 y CSS, en este

caso se han utilizado frameworks que soportan los contenidos de dichos

lenguajes.

Servidor Web

Existen dos posibilidades abiertas y a disposición del proveedor del servicio. Una

de ellas consiste en alojar la información bajo el servidor del proveedor del servicio

de estanquillo on-line, con el equipo y la redundancia necesaria para tal fin. El

otro, consiste en alojar la información en la nube, es decir, utilizando los nuevos

conceptos de almacenamiento virtual.

59

3.4.2.3. Usabilidad

Sistema Operativo Móvil

El aplicativo podrá ser visto y utilizado en todos los sistemas operativos existentes

para dispositivos móviles: Iphone, Android, Windows Phone, BlackBerry, entre

otros.

3.4.2.4. Seguridad

Autenticación

La aplicación se descarga directamente en cada dispositivo móvil, el cliente activa

el sistema en el momento de abrir la aplicación e inmediatamente debe registrar

sus datos para ingresar. Dentro de los datos del usuario se almacenarán el correo

como dato principal y una clave debidamente protegida.

3.4.2.5. Rendimiento

Se espera que el tiempo de respuesta del aplicativo ante una petición del usuario

sea entre 1 y 2 segundos. Cada una de las operaciones inmersas en la aplicación

debe registrar un tiempo de respuesta dentro de este rango de tiempo.

3.4.2.6. Escalabilidad

El sistema será diseñado pensando en la adhesión de nuevos parámetros

comerciales que el proveedor de servicios quiera brindar. La estructura del código

fuente y del modelo de datos permitirá que se puedan agregar otros tipos de

servicios relacionados con el consumo de bebidas embriagantes.

60

3.4.2.7. Buenas Prácticas de Desarrollo

Seguridad: La finalidad de un buen desarrollo es brindar herramientas con las

condiciones óptimas y adecuadas. Todos los datos de ingreso serán verificados y

validados. Para el caso de los campos de texto, el aplicativo empleará un sistema

de validación que le permite a cada campo el ingreso de los datos únicamente

comprometidos, es decir, si el campo es numérico sólo se permitirá de datos

numéricos.

Optimización: la optimización consiste en que el programa consuma la menor

cantidad posible de recursos (memoria y disco). Es importante ahorrar pasos de

variables innecesarios, líneas de código, medir el rendimiento de funciones

similares y usar las que menos recursos utilicen.

3.4.2.8. Mantenibilidad

Documentación

Se requiere que el sistema tenga sus respectivos manuales que sirvan de

referencia en cualquier momento a los Usuarios/Clientes. Este manual debe

detallar las funciones más importantes y las funcionalidades que provee el

sistema.

61

3.4.2.9. Portabilidad

El sistema debe funcionar bajo cualquier sistema operativo o cualquier plataforma.

Esta condición se cumple además en la medida de cumplir el requisito de usar

cualquier dispositivo móvil existente y utilizable en la región.

62

4. ESPECIFICACION DE REQUERIMIENTOS

4.1. REQUERMIENTOS FUNCIONALES

TABLA 1 - REQUERIMIENTOS FUNCIONALES

Id Requerimientos Funcionales Versión Prioridad

RF1Se requiere de una aplicación móvil que permita realizar pedidos de

licores y producto relacionados, para su posterior entrega a domicilio.1.0 Abril 2013 Alta

RF2El aplicativo está dirigido al consumidor final o cliente del estanquillo

virtual, es decir que el actor principal del sistema es el CLIENTE.1.0 Abril 2013 Alta

RF3Un requisito principal del aplicativo es crear una cuenta para cada uno de

los clientes.1.0 Abril 2013 Alta

RF4Los datos serán ingresados por cada cliente, y será este el encargadode

modificarlos en el momento en que lo desee.1.0 Abril 2013 Alta

RF5El ingreso al sistema se realizará una vez descargada la aplicación y

registrado los datos.1.0 Abril 2013 Media

RF6El sistema debe permitir que el cliente debe loguearse siempre y cuando

cierre la sesión inicialmente abierta.1.0 Abril 2013 Media

RF7Las sesion debe mantiener activas siempre y cuando la aplicación no sea

borrada o eliminada.1.0 Abril 2013 Alta

RF8El aplicativo debe contar con una Interfaz Principal donde se muestren los

modulos del sistema1.0 Abril 2013 Alta

RF9 El aplicativo permite visualizar los productos en forma de slide 1.0 Abril 2013 Alta

RF10Los productos deben estar representados por imágenes reales e

identicas1.0 Abril 2013 Alta

RF11Cada producto debe tener asociado sus características básicas, como

precio y nombre.1.0 Abril 2013 Alta

RF12El sistema debe permitir que el cliente selección un producto para ver sus

especificaciones, como presentación, fabricación, contenido, etc.1.0 Abril 2013 Alta

RF13El sistema depe mostrar los productos en forma organizada, según las

indicaciones del prestador del servicio.1.0 Abril 2013 Alta

RF14El aplicativo debe dar la opción de poder buscar un producto por medio de

un cuadro de texto.1.0 Abril 2013 Alta

RF15El sistema debe ejecutar la búsqueda y mostrar los resultados en la

interfaz principal.1.0 Abril 2013 Alta

RF16El sistema debe mostrar un mensaje informando que no se encontraron

resultados, en caso de no existir coincidencias1.0 Abril 2013 Media

RF17El aplicativo debe mostrar todos los productos en la Interfaz Principal

caso que el cliente descarte la búsqueda1.0 Abril 2013 Alta

RF18El aplicativo debe dar una opción donde se muestren el listado de las

categorías de los productos.1.0 Abril 2013 Alta

Fuente: Los Autores

63

TABLA 1 - CONTINUACIÓN REQUERIMIENTOS FUNCIONALES

Id Requerimientos Funcionales Versión Prioridad

RF19El sistema debe permitir que el cliente escoja una de esas categorías y

muestre los resultados en la interfaz principal.1.0 Abril 2013 Alta

RF20El aplicativo debe organizar los resultados según la categoría

seleccionada por el cliente.1.0 Abril 2013 Media

RF21El sistema debe dar una opción para que el cliente pueda visualizar las

ofertas, promociones y descuentos.1.0 Abril 2013 Alta

RF22El cliente puede escoger alguna de estas opciones y el aplicativo debe

mostrar los resultados en la interfaz principal.1.0 Abril 2013 Media

RF23El sistema debe mostrar las ofertas, descuentos y promociones creados

previamente por el Administrador1.0 Abril 2013 Alta

RF24El aplicativo debe mostrar un "Canasto de Compra" para que el cliente

vaya almacenando los productos preseleccionados1.0 Abril 2013 Alta

RF25El canasto debe almacenar los productos para que el sistema guarde

temporalmente los datos de cada uno de ellos.1.0 Abril 2013 Alta

RF26El sistema debe permitir que el cliente visualice los productos del

canasto en forma de lista, con el nombre, cantidad y valor unitario.1.0 Abril 2013 Alta

RF27El canasto debe mostrar también el total de la compra y la cantidad de

productos.1.0 Abril 2013 Alta

RF28El canasto debe permitir que el cliente modifique las cantidades de los

productos, para disminuir o aumenta el valor del pedido.1.0 Abril 2013 Alta

RF29El canasto le debe permitir al cliente borrar alguno de los productos, o

vaciar todos los productos del canasto.1.0 Abril 2013 Alta

RF30El aplicatico contendrá una función o módulo que le permita al cliente

visualizar y confirmar el pedido.1.0 Abril 2013 Alta

RF31El aplicativo debe validar si el valor de los productos pedidos es superior

al valor mínimo establecido por el Administrador del sistema.1.0 Abril 2013 Alta

RF32Si el valor no supera el mínimo establecido, el sistema no permitirá

realizar la compra.1.0 Abril 2013 Media

RF33El modulo de confirmación debe mostrar el total de la compra, el nombre

del cliente y la lista de direcciones asociadas al cliente.1.0 Abril 2013 Alta

RF34

Este módulo de Pedido debe dar la opcion para que el cliente seleccione

una de las direcciones almacenadas o para que ingrese una nueva por

medio de un cuadro de texto o por medio de Google Maps.

1.0 Abril 2013 Alta

Fuente: Los Autores

64

TABLA 1 - CONTINUACIÓN REQUERIMIENTOS FUNCIONALES

Id Requerimientos Funcionales Versión Prioridad

RF35El Módulo de pedido de mostrar al cliente la opción de confirmar el pedido

o de descartarlo y volver a la interfaz principal a continuar con el pedido.1.0 Abril 2013 Alta

RF36Después de confirmado el pedido, el sistema debe mostrar al cliente la

hora de Pedido y la fecha aproximada de entrega de los productos.1.0 Abril 2013 Media

RF37

El aplicativo debe reinicializar el canasto después de que el cliente

confirme el pedido, y volver a mostrar todos los productos en la interfaz

principal.

1.0 Abril 2013 Alta

RF38El sistema debe contener un modulo o funcionalidad que le permita al

cliente ver el historial de pedidos1.0 Abril 2013 Media

RF39El historial de Pedidos debe mostrar todos los pedidos realizados por el

cliente de forma cronológica, iniciando por el mas reciente.1.0 Abril 2013 Media

RF40

Dentro de este módulo, los pedidos deben ser mostrados en forma de

lista para que el cliente pueda seleccionar alguno de ellos y bajarlo al

canasto de compra.

1.0 Abril 2013 Media

RF41

Después de bajado el pedido del modulo del historial al canasto, el

sistema debe permitir al cliente hacer las modificaciones que considere

necesarias, para su confirmación posterior.

1.0 Abril 2013 Media

RF42El aplicativo debe contar con un módulo o interfaz para que el cliente

modifique los datos registrados en el sistema.1.0 Abril 2013 Alta

RF43El cliente podrá modificar algunos datos como la clave de acceso, añadir

direcciones, cambiar el número del teléfono fijo o móvil. 1.0 Abril 2013 Alta

RF44El aplicativo debe dar la opción al cliente de contactar al proveedor de los

servicios por medio de un módulo de fácil acceso1.0 Abril 2013 Media

RF45

Este módulo de contacto debe permitir al cliente enviar quejas, reclamos

o solicitudes de forma escrita. El Administrador recibirá los mensajes en

el correo electrónico.

1.0 Abril 2013 Media

RF46

Lel sistema debe tener una opción para que el cliente pueda cerrar la

sesión en el momento que lo deses. Esta opción debe ser visibel en al

Interfaz Principal.

1.0 Abril 2013 Media

Fuente: Los Autores

65

4.2. REQUERIMIENTOS NO FUNCIONALES

TABLA 2 - REQUERIMIENTOS NO FUNCIONALES

Portabilidad

Dispositivos Móviles

Seguridad

Integridad

Confiabilidad

Concurrencia

Rendimiento

Tiempo de respuesta de 1 a 2 segundos ante petición de cliente

Escalabilidad

El aplicativo debe ser diseñado para soportar futuras adhesiones y/o modificaciones

Disponibilidad

Las 24 horas del día, los 7 días de la semana. Las Excepciones las da el proveedor

del serivicio en caso de fechas o días especiales.

Concurrencia

Disponibilidad de mas de 100 usuarios (Clientes) al mismo tiempo.

Se debe proporicionar un manual de Usuario, el cual puede ser:

Instrucciones paso a paso, con imágenes.

Manual documentado

Capacitación al proveedor del servicio de Estanquillo On-Line

Interfaz Gráfica

Colores y diseños agradables y consecuentes con el servicio prestado

El icono del aplicativo será la imagen del proveedor del serivicio

RNF2

RNF1

N. Requerimientos No Funcionales

RNF8

RNF7

RNF6

RNF5

RNF4

RNF3

Fuente: Los Autores

66

4.3. IDENTIFICACION DE LOS CASOS DE USO

TABLA 3 - IDENTIFICACIÓN DE LOS CASOS DE USO

1 Creación de Cliente Cliente RF3 - RF4 - RF5 - RF6

2 Logueo de Cliente Cliente RF6 - RF7

3 Ingreso Interfaz Principal Cliente RF8 - RF9 - RF10 - RF11 - RF12 - RF13

4 Buscar Productos Cliente RF14 - RF15 - RF16 - RF17

5 Mostrar Productos por Categoría Cliente RF18 - RF19 - RF20

6 Mostrar Productos por Opciones de Compra Cliente RF21 - RF22 - RF23

7 Elegir Producto al Canasto Cliente RF24 - RF25 - RF26 - RF27

8 Manipular Canasto de Compra Cliente RF28 - RF29

9 Realizar y Confirmar Pedido Cliente - Administrador RF30 - RF31 - RF32 - RF33

10 Recibir Petición Administrador RF30 - RF34 - RF35 - RF36

11 Administrar Pedidos Administrador RF30 - RF34 - RF35 - RF36

12 Administrar Productos Administrador RF8 - RF9 - RF10 - RF11 - RF12 - RF13

N. Caso de UsoActores que

IntervienenReferencias Cruzadas

Fuente: Los Autores

67

5. IDENTIFICACION, ESPECIFICACION Y MODELADO DE CASOS DE USO

5.1. IDENTIFICACION DE CASOS DE USO

5.1.1. Generalización del Actor

5.1.1.1. Diagrama de Caso de Uso

ILUSTRACIÓN 10 - GENERALIZACIÓN DEL ACTOR

Fuente: Los Autores

Este caso de uso se ha realizado para tener una mejor interpretación de la

generalización del actor con referencia al sistema, el actor se identifica

68

dependiendo del ambiente en el que se esté desarrollando, puede ser:

Administrador o Cliente.

En adelante en algunos apartados del documento se utilizará para fines prácticos

Caso de Uso como “CU‟.

5.2. CREACION DE CLIENTE

5.2.1. Diagrama de Caso de Uso

ILUSTRACIÓN 11 - CASO DE USO CREACIÓN CLIENTE

Fuente: Los Autores

69

5.2.2. Especificación del Caso de Uso

Sección Principal:

TABLA 4 - SECCIÓN PRINCIPAL CU CREAR USUARIO

Caso de Uso Crear Usuario

Actores Cliente

PropósitoPermitir al cliente ingresar y registrar los datos necesarios para

la utilización del aplicativo

Resumen

El cliente descarga la aplicación en su dispositivo móvil la

ejecuta. La aplicación solicita el registro de los datos para

poder ingresar al sistema.

Tipo Esencial

Referencias Cruzadas RF3 - RF4 - RF5 - RF6

Curso Normal de los Eventos:

TABLA 5 - CURSO NORMAL EVENTOS CU CREAR USUARIO

1Este caso comienza cuando el cliente descarga la

aplicación en su dsipositivo móvil y lo ejecuta2

Abre una ventana con el logo de la aplicación y solicita

al cliente que se registre

3

Esoge una de las opciones según sea el caso:

A. Si es cliente nuevo, ingresa a la sección de

Registro.

B. Si ya está creado, ingresa a la sección de

Logueo.

4 Ingresa a la Aplicación 5 Muestr la Interfaz Principal

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos

TABLA 6 - CURSOS ALTERNOS CU CREAR USUARIO

Acción Descripción

3 El cliente decide no ingresar a la aplicación y se sale del sistema.

Fuente: Los Autores

70

Sección Nuevo Usuario

TABLA 7 - SECCIÓN NUEVO USUARIO

1 El cliente selecciona la opcion de Registro 2

Abre una ventana con el formualrio de ingreso que

contiene los campos con los datos necesarios para el

registro. En primer lugar se muestra el tipo de cliente a

ingresar:

- Cliente Personal

- Cliente Institucional

3 Selecciona el tipo de cliente a registrar 4.1

Despliega los campos según sea la opción establecida

por el cliente:

Cliente Personal:

- Cédula

- Nombres

- Apellidos

- Correo Electrónico

- Clave

- Confirmación Clave

- Fecha Nacimiento

- Dirección (es)

4.2

Cliente Institucional:

- Cédula o NIt

- Nombres

- Apellidos

- Razón Social

- Correo Electrónico

- Clave

- Confirmación Clave

- Fecha Nacimiento

- Dirección (es)

5Llena los campos y seguidamente da la opción de

"Registrar"6 Envía los datos para ser almacenados

7 Cierra el formulario y abre la interfaz principal.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos:

TABLA 8 - CURSOS ALTERNOS NUEVO USUARIO

Acción Descripción

3El cliente no ingresa los datos completos. El sistema muestra la información

solicitando llenar todos los campos y regresa el paso N. 2

3 El cliente decide no ingresar a la aplicación y se sale del sistema.

Fuente: Los Autores

71

5.2.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 12 - DIAGRAMA DE SECUENCIA CREACIÓN CLIENTE

Fuente: Los Autores

72

5.3. LOGUEO DE CLIENTE

5.3.1. Diagrama de Caso de Uso

ILUSTRACIÓN 13 - CASO DE USO LOGUEO CLIENTE

Fuente: Los Autores

73

5.3.2. Especificación del Caso de Uso

Sección Principal

TABLA 9 - SECCIÓN PRINCIPAL CU LOGUEO CLIENTE

Caso de Uso Logueo Usuario

Actores Cliente

Propósito Permite al cliente ingresar al aplicativo.

ResumenEl cliente ingresa su correo electrónico y una clave para

validarlos en el sistema e ingresar al aplcativo

Tipo Esencial

Referencias Cruzadas RF6 - RF7

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 10 - CURSO NORMAL EVENTOS CU LOGUEO CLIENTE

1 El cliente selecciona la aplicación en el dispositivo 2 Se abre interfaz de ingreso, con el Logo del servicio

3

Muestra un formulario con dos campos y un botón.

- Correo Electrónico

- Clave de Ingreso

Muestra una opción de Recuperar Clave

4 Ingresa los datos y da clik en "Ingresar" 5 Muestra la Interfaz Principal.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos

TABLA 11 - CURSOS ALTERNOS CU LOGUEO CLIENTE

Acción Descripción

4 El cliente decide no ingresar a la aplicación y se sale del sistema.

4El cliente no ingresa los datos completos. El sistema muestra la información

solicitando llenar todos los campos y regresa el paso N. 3

4 El cliente olvida la contraseña y da click en la Opción: "Recuperar Contraseña "

Fuente: Los Autores

74

Sección Recuperar Clave

TABLA 12 - SECCIÓN RECUPERAR CLAVE CU LOGUEO CLIENTE

1 El cliente da la opción de "Recuperar Clave " 2

Muestra un pequeño formulario con un campo y un

botón. El campo refiere al correo electrónico del

cliente.

3 Ingresa el correo electrónico y da click en "Enviar" 4

Valida el correo y envia un mensaje al cliente con una

clave temporal que el cliente debe modificar

posteriormente.

5Abre interfaz de ingreso, con el Logo del servicio. Se

inicia el CU Logueo Cliente

Acción de los Actores Respuesta del Sistema

FUENTE: LOS AUTORES

5.3.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 14 - DIAGRAMA DE SECUENCIA LOGUEO DE CLIENTE

Fuente: Los Autores

75

5.4. INGRESO A LA INTERFAZ PRINCIPAL

5.4.1. Diagrama de Caso de Uso

ILUSTRACIÓN 15 – CASO DE USO INTERFAZ PPAL.

Fuente: Los Autores

76

5.4.2. Especificación del Caso de Uso

Sección Principal

TABLA 13 - SECCIÓN PRINCIPAL CU INTERFAZ PPAL

Caso de Uso Ingreso Interfaz Principal

Actores Cliente

Propósito Permite al cliente ingresar a la pantalla principal del aplicativo.

Resumen

El cliente visualiza todos los componentes del aplicativo en la

interfaz principal, permitiéndole acceder a los servicios

principales para concretar la compra

Tipo Esencial

Referencias Cruzadas RF8 - RF9 - RF10 - RF11 - RF12 - RF13

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 14 - CURSO NORMAL EVENTOS CU INTERFAZ PPAL

1 Se loguea o Ingresa al aplicativo 2 Muestra todos los componentes del sistema

3Muestra los productos organizados según decisión del

proveedor del serivicio

4

Componentes Básicos del Sistema:

- Buscar Productos

- Categorías

- Opciones de Compra

- Canasto de Compra

- Confirmar Pedido

- Historial de Pedidos

- Datos del Cliente

- Contacto del Proveedor del servicio

5 Inicia Pedido.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

77

Cursos Alternos

TABLA 15 - CURSOS ALTERNOS CU INTERFAZ PPAL.

Acción Descripción

5 El cliente decide cerrar la aplicación y se sale del sistema.

FUENTE: LOS AUTORES

5.4.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 16 - DIAGRAMA DE SECUENCIA INTERFAZ PRINCIPAL

FUENTE: LOS AUTORES

78

5.5. BUSCAR PRODUCTOS

5.5.1. Diagrama de Caso de Uso

ILUSTRACIÓN 17 - CASO DE USO BUSCAR PRODUCTOS

Fuente: Los Autores

79

5.5.2. Especificación del Caso de Uso

Sección Principal

TABLA 16 - SECCIÓN PRINCIPAL CU BUSCAR PRODUCTOS

Caso de Uso Buscar Productos

Actores Cliente

Propósito Permite al cliente buscar productos para su compra

ResumenEl cliente ingresa el texto para que el sistema busque y lñe

muestre todas las coincidencias posibles

Tipo Esencial

Referencias Cruzadas RF14 - RF15 - RF16 - RF17

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 17 - CURSO NORMAL EVENTOS CU BUSCAR PRODUCTOS

1

El caso de uso a partir del momento en que el

cliente se encuentre ubicado en la Interfaz

Principal y de click en la opci{on "Buscar"

2

Se abre una ventana emergente con un campo de

texto y un botón. El campo tiene una leyenda que le

indica al usuario que debe ingresar la cadena de texto

del producto a buscar.

3Digita la cadena de texto y da click en el botón

"Buscar"4

Raliza una busqueda por los campos de la tabla de

productos donde se encuentra la información

requerida. En caso de encontrar coincidencias las

muestra inmediatamente en la Interfaz principal y

cierra la ventana emergente.

5Si no encuentra coincidencias muestra un mensaje y

se queda en la ventana emergente.

6 Continúa con el pedido.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos

TABLA 18 - CURSOS ALTERNOS CU BUSCAR PRODUCTOS

Acción Descripción

1El cliente decide abandonar la búsqueda y da click en la "X" de la ventana

emergente

FUENTE: LOS AUTORES

80

5.5.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 18 - DIAGRAMA DE SECUENCIA BUSCAR PRODUCTO

FUENTE: LOS AUTORES

81

5.6. MOSTRAR PRODUCTOS POR CATEGORIA

5.6.1. Diagrama de Caso de Uso

ILUSTRACIÓN 19 – CASO DE USO MOSTRAR PRODUCTOS POR CATEGORÍAS

Fuente: Los Autores

82

5.6.2. Especificación del Caso de Uso

Sección Principal

TABLA 19 - SECCIÓN PRINCIPAL CU MOSTRAR POR CATEGORÍAS

Caso de Uso Mostrar Productos por Categoría

Actores Cliente

PropósitoMuestra al cliente el grupo de productos organizado por

categorías

Resumen

El cliente puede escoger una de las categorías relacionadas en

el aplicativo para que el sistema le muestre los productos de

dicha categoría.

Tipo Esencial

Referencias Cruzadas RF18 - RF19 - RF20

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 20 - CURSO NORMAL EVENTOS CU MOSTRAR POR CATEGORÍAS

1

El caso de uso a partir del momento en que el

cliente se encuentre ubicado en la Interfaz

Principal y de click en la opci{on "Categorías"

2

Se abre una ventana emergente que muestra el listado

de las categorías. Muestra el botón "Aceptar" para

ejecutar la consulta

3Escoge una de las opciones del listado y da click

en el botón "Aceptar"4

Muestra en la Interfaz Principal los productos que

pertenecen a dicha categoría

5 Continúa con el pedido.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos

TABLA 21 - CURSOS ALTERNOS CU MOSTRAR POR CATEGORÍAS

Acción Descripción

3El cliente decide abandonar la búsqueda y da click en la "X" de la ventana

emergente

FUENTE: LOS AUTORES

83

5.6.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 20 - DIAGRAMA DE SECUENCIA MOSTRAR POR CATEGORÍA

FUENTE: LOS AUTORES

84

5.7. MOSTRAR PRODUCTOS POR OPCIONES DE COMPRA

5.7.1. Diagrama de Caso de Uso

ILUSTRACIÓN 21 - CASO DE USO PRODUCTOS X OPCIONES COMPRA

Fuente: Los Autores

85

5.7.2. Especificación del Caso de Uso

Sección Principal

TABLA 22 - SECCIÓN PRINCIPAL CU OPCIONES DE COMPRA

Caso de Uso Mostrar Productos por Opciones de Compra

Actores Cliente

PropósitoMuestra al cliente la lista de Opciones de Compra para

seleccionar

Resumen

El cliente puede seleccionar una de las opciones de la lista de

Descuentos, Promociones y/o Ofertas para que posteriormente

sea seleccionada.

Tipo Esencial

Referencias Cruzadas RF21 - RF22 - RF23

FUENTE: LOS AUTORES

Curso Normal de los Eventos

TABLA 23 - CURSO NORMAL EVENTOS CU OPCIONES DE COMPRA

1

El caso de uso se inicia a partir del momento en

que el cliente se encuentre ubicado en la Interfaz

Principal y de click en la opción "Opciones de

Compra"

2

Se abre una ventana emergente que muestra el listado

de las opciones de Compra. Muestra el botón

"Aceptar" para ejecutar la consulta

3Escoge una de las opciones del listado y da click

en el botón "Aceptar"4

Muestra en la Interfaz Principal los productos que

pertenecen a dicha Opción de Compra

5 Continúa con el pedido.

Acción de los Actores Respuesta del Sistema

FUENTE: LOS AUTORES

Cursos Alternos

TABLA 24 - CURSOS ALTERNOS CU OPCIONES DE COMPRA

Acción Descripción

3El cliente decide abandonar la búsqueda y da click en la "X" de la ventana

emergente

FUENTE: LOS AUTORES

86

5.8. ELEGIR PRODUCTO AL CANASTO

5.8.1. Diagrama de Caso de Uso

ILUSTRACIÓN 22 - CASO DE USO PRODUCTO A CANASTO

Fuente: Los Autores

87

5.8.2. Especificación del Caso de Uso

Sección Principal

TABLA 25 - SECCIÓN PRINCIPAL CU ELEGIR PRODUCTO

Caso de Uso Elegir Producto al Canasto

Actores Cliente

Propósito Selección de Producto para enviar al Canasto

ResumenEl cliente selecciona el pedido para agregarlo al canasto de

compra.

Tipo Esencial

Referencias Cruzadas RF24 - RF25 - RF26 - RF27

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 26 - CURSO NORMAL EVENTOS CU ELEGIR PRODUCTO

1 El cliente selecciona el producto 2

Se abre una ventana emergente donde se muestran los

datos básicos del producto:

- Valor

- Descripción

- Contenido

- Fabricante

- Valor Unitario

Además se muestra un control para dar la cantidad de

unidades.

3Selecciona la cantidad a pedir y da click en el

botón "Aceptar"4

Se cierra la ventana emergente y se agrega el producto

al Canasto según las cantidades seleccionadas por el

cliente

5 Continúa con el pedido.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

88

Cursos Alternos

Tabla 27 - Cursos Alternos CU Elegir Producto

Acción Descripción

3El cliente decide abandonar la búsqueda y da click en la "X" de la ventana

emergente

FUENTE: LOS AUTORES

5.8.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 23 - DIAGRAMA DE SECUENCIA PRODUCTO AL CANASTO

FUENTE: LOS AUTORES

89

5.9. CANASTO DE COMPRA

5.9.1. Diagrama de Caso de Uso

ILUSTRACIÓN 24 - CASO DE USO MANIPULAR CANASTO

Fuente: Los Autores

90

5.9.2. Especificación del Caso de Uso

Sección Principal

TABLA 28 - SECCIÓN PRINCIPAL CU CANASTO DE COMPRA

Caso de Uso Manipular Canasto de Compra

Actores Cliente

Propósito Selección del Canasto de Compra

ResumenEl cliente selecciona el Canasto de Compra para verificar y/o

modificar los productos y las cantidades pedidas

Tipo Esencial

Referencias Cruzadas RF28 - RF29

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 29 - CURSO NORMAL EVENTOS CU CANASTO DE COMPRA

1 El cliente selecciona el Canasto 2

Se abre una ventana emergente que muestra los

siguientes datos:

- Listado de los Productos pedidos, con el nombre, la

cantidad, valor unitario y subtotal.

- Total del Pedido

- El campo "Cantidad" en el listado es editable.

- Opción de eliminar un producto del listado

- Botón para vaciar el canasto.

- Botón para aceptar los cambios

3 Realiza las modificaciones y da click en "Aceptar" 4

Cierra ventana emergente y realiza los cambios

propuestos en el canasto para volver a la interfaz

principal

5 Continúa con el pedido.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

91

Cursos Alternos

TABLA 30 - CURSOS ALTERNOS CU CANASTO DE COMPRA

Acción Descripción

3El cliente decide abandonar la búsqueda y da click en la "X" de la ventana

emergente

3El cliente decide vaciar el canasto y volver a la Interfaz Principal dando click en la

"X" de la ventana emergente.

FUENTE: LOS AUTORES

5.9.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 25 - DIAGRAMA DE SECUENCIA MANIPULAR CANASTO

FUENTE: LOS AUTORES

92

5.10. REALIZAR PEDIDO

5.10.1. Diagrama de Caso de Uso

ILUSTRACIÓN 26 - CASO DE USO REALIZAR PEDIDO

Fuente: Los Autores

93

5.10.2. Especificación del Caso de Uso

Sección Principal

TABLA 31 - SECCIÓN PRINCIPAL CU REALIZAR PEDIDO

Caso de Uso Realizar y Confirmar Pedido

Actores Cliente

Propósito Confirmación del Pedido

Resumen

El cliente selecciona la Opción "Pedir" de la Interfaz Principal

para confirmar el pedido de los productos almacenados en el

canasto

Tipo Esencial

Referencias Cruzadas RF30 - RF31 - RF32 - RF33

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 32 - CURSO NORMAL EVENTOS CU REALIZAR PEDIDO

1El cliente da click en la opción "Pedir" de la

Interfaz Principal2

Se abre una interfaz Principal que muestra un saludo

con el nombre del cliente y el valor total de la compra.

Muestra un listado con las direcciones almacenadas

por el cliente, o da la opción para que el cliente ingrese

una nueva ubicación.

3Selecciona dirección o ingresa una nueva con

ayuda de Google Maps del dispositivo móvil.

4 Da click en la opción "Confirmar" 5

Muestra otra ventana donde aparece el valor total de la

compra, la hora y fecha de realización del pedido, la

hora y fecha de la entrega del pedido y un

agradecimiento por la compra.

6Se cierran las ventanas emergentes, se inicializan

todas las variables y retorna la interfaz principal.

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos

TABLA 33 - CURSOS ALTERNOS CU REALIZAR PEDIDO

Acción Descripción

4El cliente decide abandonar el módulo y da click en la "X" de la ventana emergente.

Se descarta la compra.

Fuente: Los Autores

94

5.10.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 27 - DIAGRAMA DE SECUENCIA REALIZAR PEDIDO

FUENTE: LOS AUTORES

95

5.11. RECIBIR PETICION DE PEDIDO

5.11.1. Diagrama de Caso de Uso

ILUSTRACIÓN 28- CASO DE USO RECIBIR PETICIÓN

Fuente: Los Autores

96

5.11.2. Especificación del Caso de Uso

Sección Principal

TABLA 34 - SECCIÓN PRINCIPAL CU RECIBIR PETICIÓN

Caso de Uso Recibir Petición

Actores Cliente - Administrador

Propósito El Administrador recibe la Petición del Cliente

ResumenDespués de confirmado el pedido el Administrador recibe la

solicitud para el envío de los productos al cliente.

Tipo Esencial

Referencias Cruzadas RF30 - RF34 - RF35 - RF36

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 35 - CURSO NORMAL EVENTOS CU RECIBIR PETICIÓN

1 El cliente confirma el pedido 2Valida los datos y envía un mensaje y un correo al

Administrador del sistema.

3El Administrador verifica la dirección de entrega y

cambia el estado del Pedido a "En Proceso"

4Envía el pedido al cliente para su posterior entrega

y cancelación en efectivo.

5 El cliente cancela el Pedido

6El Administrador cambia el estado del Pedido a

"Finalizado"7

Realiza las operaciones y guarda el pedido en el

Historial del Cliente

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos

TABLA 36 - CURSOS ALTERNOS CU RECIBIR PETICIÓN

Acción Descripción

5No se entrega el pedido por causas derivadas o relacionadas con el cliente. Se

devuelven los productos al Administrador.

6El Administrador cambia el estado del Pedido a "No Entregado", y realiza las

observaciones del caso en el campo creado para tal fin.

Fuente: Los Autores

97

5.11.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 29 - DIAGRAMA DE SECUENCIA RECIBIR PETICIÓN

FUENTE: LOS AUTORES

98

5.12. ADMINISTRAR PEDIDOS

5.12.1. Diagrama de Caso de Uso

ILUSTRACIÓN 30 - CASO DE USO ADMINISTRAR PEDIDOS

Fuente: Los Autores

99

5.12.2. Especificación del Caso de Uso

Sección Principal

TABLA 37 - SECCIÓN PRINCIPAL CU ADMINISTRAR PEDIDOS

Caso de Uso Administrar Pedidos

Actores Administrador

Propósito El Administrador gestiona el estado de los pedidos

ResumenSe realizan los cambios y las modificaciones a los pedidos

realizados por los clientes

Tipo Esencial

Referencias Cruzadas RF30 - RF34 - RF35 - RF36

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 38 - CURSO NORMAL EVENTOS CU ADMINISTRAR PEDIDOS

1 El Administrador recibe notificación de Pedido 2El sistema guarda los datos del Pedido con la

información correspondiente al cliente y a los

3

Ingresa al Módulo de Pedidos en el entorno WEB y

modifica el campo del Pedido llamado "Estado", y

lo pone en "En Proceso"

4El sistema realiza la modificación en la tabla

respectiva.

5

El Administrador realiza el envío del Pedido y

espera respuesta del cliente para cambiar el

estado a "Finalizado"

6Se modifica nuevamente la tabla en el campo

especificado por el Administrador

7 Guarda el Pedido en el historial de Pedidos del cliente

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

Cursos Alternos

TABLA 39 - CURSOS ALTERNOS CU ADMINISTRAR PEDIDOS

Acción Descripción

5No se entrega el pedido por causas derivadas o relacionadas con el cliente. Se

devuelven los productos al Administrador.

6El Administrador cambia el estado del Pedido a "No Entregado", y realiza las

observaciones del caso en el campo creado para tal fin.

Fuente: Los Autores

100

5.12.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 31 - DIAGRAMA DE SECUENCIA ADMINISTRAR PEDIDOS

FUENTE: LOS AUTORES

101

5.13. ADMINISTRAR PRODUCTOS

5.13.1. Diagrama de Caso de Uso

ILUSTRACIÓN 32 - CASO DE USO ADMINISTRAR PRODUCTOS

Fuente: Los Autores

102

5.13.2. Especificación del Caso de Uso

Sección Principal

TABLA 40 - SECCIÓN PRINCIPAL CU ADMINISTRAR PRODUCTOS

Caso de Uso Administrar Productos

Actores Administrador

Propósito El Administrador gestiona todo lo referente a los Productos

ResumenSe realizan adiciones de productos y modificaciones de los

mismos

Tipo Esencial

Referencias Cruzadas RF8 - RF9 - RF10 - RF11 - RF12 - RF13

Fuente: Los Autores

Curso Normal de los Eventos

TABLA 41 - CURSO NORMAL EVENTOS CU ADMINISTRAR PRODUCTOS

1 El Administrador ingresa al Modulo de Productos 2

Se muestran los Productos, con dos posibilidades:

- Adicionar Producto

- Modificar Productos

3

Ingresa los datos del producto, para nuevo

producto o para modificar producto. Click en

"Guardar"

4El Sistema realiza la adición o el cambio respectivo en

la Base de Datos,

Acción de los Actores Respuesta del Sistema

Fuente: Los Autores

103

5.13.3. Diagrama de Secuencia del Caso de Uso

ILUSTRACIÓN 33- DIAGRAMA DE SECUENCIA ADMINISTRAR PRODUCTO

FUENTE: LOS AUTORES

104

6. DISEÑO DE LA BASE DE DATOS

Para el prototipo implementado se ha diseñado una base de datos fundamentada

en el modelo relacional, la cual se describe a continuación:

Almacenar la información de los clientes solicitantes de los productos a

domicilio.

Almacenar la información de los productos, con sus respectivas

características.

Almacenar la información de los pedidos efectuados por los clientes para

poder enviar los productos a domicilio.

Almacenar la información de los usuarios Administradores del prototipo en

su entorno web para validación de ingreso.

6.1. TABLAS

6.1.1. Categoría

En esta tabla se almacenan los tipos de productos existentes, lo que permite

clasificar de una forma ordenada todas las referencias creadas para la venta a

domicilio.

Id_cat: Llave primaria de la tabla que identifica la categoría.

Nom_cat: Nombre que recibe la categoría.

desc_cat: Descripción formal y detallada de la categoría.

105

6.1.2. Ciudad

En esta tabla se almacenan las ciudades de ubicación de los clientes, con el fin de

crear un registro de los lugares donde se van a entregar los domicilios.

Id_ciudad: Llave primaria de la ciudad según el estándar de la Dian.

Nom_ciudad: Nombre completo de la ciudad.

6.1.3. Cliente

En esta tabla se almacenan los datos de los clientes que ingresan y se registran

para solicitar los productos a domicilio.

Id_cliente: Número de cédula del cliente.

Id_tipcli: Identifica el tipo cliente al cual se encuentra relacionado cada

cliente.

Nom_cliente: Nombres registrados por el cliente.

Ape_cliente: Apellidos registrados por el cliente.

Nomcial_cliente: Nombre comercial o razón social del cliente, en caso que

la requiera.

Cel_cliente: Número de teléfono celular registrado por el cliente.

Tel_cliente: Número de teléfono fijo registrado por el cliente.

Mail_cliente: Cuenta de correo electrónico registrada por el cliente.

Pwd_cliente: Clave registrada por el cliente para ingresar al prototipo móvil.

Id_est: Identificador del estado del cliente.

106

Id_lista: Identificador de la lista de precios que tiene asociada cada

cliente.

6.1.4. DetCanasto

Esta tabla almacena el detalle de la información que se maneja en el canasto de

compra, y a su vez, sirve como base para cada uno de los pedidos.

Id_detalle: Número autoincrementable que identifica el registro.

Id_prod: Identificador de cada uno de los productos que el cliente va

registrando en el canasto.

Id_cliente: Número de cédula que identifica al cliente que manipula el

canasto.

Nom_cliente: Nombre del cliente que manipula el canasto.

Nom_prod: Nombre de cada uno de los productos que el cliente va

almacenando en el canasto de compra.

Cant_prod: Cantidad de unidades pedidas por cada producto.

Precio_prod: Valor unitario asignado a cada producto.

Subt_prod: Valor resultante del precio del producto multiplicado por la

cantidad pedida.

Id_est: Estado del detalle del pedido.

6.1.5. Dirección

La Tabla Dirección almacena todas las direcciones de los clientes, sin importar la

cantidad que cada cliente pueda tener.

Id_dir: Número autoincrementable que identifica cada una de las

direcciones.

Id_cliente: Identificador del cliente.

107

Dir_cliente: Almacena la dirección del cliente.

Id_ciudad: Almacena el identificador de la ciudad a la que pertenece

dicha dirección.

Id_est: Identificador del estado de la dirección.

6.1.6. Estado

La tabla estado almacena todos los posibles estados que pueden presentar la

mayoría de los componentes de la base de datos.

Id_est: Valor que identifica el estado.

Nom_est: Nombre con que se identifica el estado.

Desc_esta: Descripción detallada de cada estado.

6.1.7. ListaPrecios

Esta tabla almacena la información de las listas de precios asignadas para cada

tipo de cliente, según sea el caso requerido.

Id_lista: Identificador de la lista de precios.

Nom_lista: Nombre de la lista de precios.

6.1.8. Pedido

La tabla Pedido almacena la información resumida de los pedidos solicitados por

cada cliente, con base en la tabla “detcanasto” que se describió con anterioridad.

108

Id_pedido: Número autoincrementable con el que se identifica cada

pedido.

Id_detalle: Identificador del detalle del pedido que referencia la tabla

“detcanasto”.

Id_cliente: Identificador del cliente que hace referencia a la tabla “cliente”

Nom_cliente: Almacena nombres y apellidos del cliente en un solo campo.

Dir_ped: Almacena la dirección seleccionada y registrada por el usuario

al momento de efectuar el pedido.

Fechora_ped: Almacena la fecha y la hora en que el cliente guarda el

pedido en el sistema.

Valor_ped: Guarda el valor total del pedido que debe ser cancelado

posteriormente por el cliente.

Id_est: Identificador del estado del pedido.

Id_user: Identificador del usuario que gestiona el pedido.

Nom_user: Nombre del usuario que gestiona el pedido.

Observ_ped: Comentarios adicionales del pedido, en caso que el usuario lo

considere necesario.

6.1.9. Prod_Lista

Prod_Lista es una tabla compuesta que está referenciada por las tablas “Producto”

y “ListaPrecios”. En esta tabla se almacenan los productos relacionados a las

listas de precios, con sus respectivos valores según sea el caso.

109

Id_prod: Identificador del producto.

Id_lista: Identificador de la lista de precios.

Precio_prod: Precio del producto según la lista asignada.

6.1.10. Producto

La tabla producto almacena la información principal de cada producto, la cual es

administrada por el usuario controlador del sistema por medio de la interfaz web

adaptada para el prototipo.

Id_prod: Llave principal de la tabla que identifica el producto.

Nom_prod: Nombre corto del producto.

Desc_prod: Descripción detallada del producto.

Img_prod: Almacena la ruta donde queda grabada la imagen del

producto.

Id_cat: Identificador de la categoría del producto.

Id_est: Identificador del estado del producto.

6.1.11. TipoCliente

La tabla almacena los valores asignados por el administrador del prototipo para

clasificar los clientes registrados en el sistema.

Id_tipcli: Identificador asignado por el sistema para el tipo de cliente.

Nom_tipcli: Nombre del tipo de cliente asignado para el tipo de cliente.

Desc_tipcli: Descripción para el tipo de cliente en caso de requerirse.

110

6.1.12. Usuario

La Tabla Usuario almacena la información de los usuarios que van a administrar el

prototipo desde la interfaz web.

Id_user: Identificador del usuario, para este caso el número de cédula.

Nom_user: Nombres del usuario.

Ape_user: Apellidos del usuario

Pwd_user: Clave del usuario para ingresar a la interfaz web.

Id_est: Identificador del estado del usuario.

6.2. MODELO RELACIONAL DE LA BASE DE DATOS

El modelo relacional de la Base de Datos muestra la estructura de la información

almacenada por medio de un conjunto de elementos que se relacionan entre si

para facilitar el flujo de los datos, las consultas y la rápida visualización de los

pedidos, los productos y los clientes.

El modelo está representado en forma de tablas, en las cuales se registran de

manera ordenada los datos asignados según el funcionamiento de la base de

datos y según el diseño generado en la etapa de análisis y diseño. Las tablas

fueron diseñadas según los objetos principales del prototipo (Cliente, Producto,

Pedido), y en torno a éstos se encuentran otras relaciones que proporcionan

soporte adicional para el manejo de los datos (categoría, lista de precios,

dirección).

111

ILUSTRACIÓN 34 – MODELO RELACIONAL DE LA BASE DE DATOS

FUENTE: LOS AUTORES

112

6.3. DICCIONARIO DE DATOS

6.3.1. Categoría

TABLA 40 - CATEGORÍA - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_cat Varchar(10) No Identificador de la tabla categoría

nom_cat Varchar(50) No Nombre asignado a la categoría

desc_cat Varchar(200) No Descripción asignada a la categoría

FUENTE: LOS AUTORES

6.3.2. Ciudad

TABLA 41- CIUDAD - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_ciudad Varchar(10) No Identificador de la tabla Ciudad

nom_ciudad Varchar(200) No Nombre asignado a la Ciudad

FUENTE: LOS AUTORES

113

6.3.3. Cliente

TABLA 42 - CLIENTE - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

id_tipcli Varchar(10) No Identificador de la tabla Tipo_cliente (Llave Foránea)

nom_cliente Varchar(100) No Nombres registrados por el cliente

ape_cliente Varchar(100) No Apellidos registrados por el cliente

nomcial_cliente Varchar(500) No Nombre comercial del cliente, en caso que requiera

cel_cliete Varchar(50) No Número teléfono celular registrado por el cliente

tel_cliete Varchar(50) No Número teléfono fijo registrado por el cliente

mail_cliente Varchar(200) No Correo electrónico registrado por el cliente

pwd_cliente Varchar(100) No Password de ingreso registrada por el cliente

id_est Char(1) No Identificador de la tabla estado para Cliente

id_lista Varchar(10) No Identificador de la tabla ListaPrecios

FUENTE: LOS AUTORES

6.3.4. DetCanasto

TABLA 43 - DETCANASTO - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_detalle Int(11) No identificador del canasto autoincrementable

id_prod Varchar(10) No Identificador de la tabla productos

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

nom_cliente Varchar(200) No Nombres y Apellidos cliente

nom_prod Varchar(100) No Nombre asignado al producto

cant_prod Float No Cantidad de unidades resgistradas por el cliente

precio_prod Float No Precio asignado al producto

subt_prod Float No Cantidad de producto por el precio asignado

id_est Char(1) No Identificador de la tabla estado para detcanasto

FUENTE: LOS AUTORES

114

6.3.5. Dirección

TABLA 44 - DIRECCIÓN - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_dir Int(11) No identificador de tabla, autoincrementable

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

dir_cliente Varchar(500) No Dirección asignada por el cliente

id_ciudad Varchar(10) No Identificador de la tabla Ciudad

id_est Char(1) No Identificador de la tabla estado para Dirección

FUENTE: LOS AUTORES

6.3.6. Estado

TABLA 45 - ESTADO - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_est Char(1) No Identificador de la tabla Estado

nom_est Varchar(50) No Nombre asignado para el estado

desc_est Varchar(200) No Descripción asignada al Estado

FUENTE: LOS AUTORES

6.3.7. ListaPrecios

TABLA 46 - LISTAPRECIOS - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_lista Varchar(50) No Identificador de la Lista de Precios

nom_lista Varchar(100) No Nombre asignado para la Lista de Precios

FUENTE: LOS AUTORES

115

6.3.8. Pedido

TABLA 47 - PEDIDO - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_ped Int(11) No identificador de tabla, autoincrementable

id_detalle Int(11) No identificador del canasto autoincrementable

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

nom_cliente Varchar(200) No Nombres y Apellidos cliente

dir_ped Varchar(500) No Dirección asignada por el cliente

fechora_ped Datetime No Fecha y Hora en que se registró el pedido

valor_ped Float No Valor total del Pedido

id_est Char(1) No Identificador de la tabla estado para Pedido

id_user Varchar(50) No Identificador del Usuario que administra el Pedido

nom_user Varchar(200) No Nombre del Usuario que administra el Pedido

observ_ped Varchar(300) No Observación adicional sobre el pedido

FUENTE: LOS AUTORES

6.3.9. Prod_Lista

TABLA 48 - PROD_LISTA - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_prod Varchar(10) No Identificador de la tabla productos

id_lista Varchar(50) No Identificador de la Lista de Precios

precio_prod Float No Valor asignado al producto según la Lista Precios

FUENTE: LOS AUTORES

116

6.3.10. Producto

TABLA 49 - PRODUCTO - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_prod Varchar(10) No Identificador asignado a cada producto

nom_prod Varchar(100) No Nombre asignado a cada producto

desc_prod Varchar(300) No Descripción mas detallada acerca del Porducto

img_prod Varchar(300) No Describe la ruta de ubicación de la imagen

id_cat Varchar(10) No Identificador de la categoría del Producto

id_est Char(1) No Identificador del estado del Producto

FUENTE: LOS AUTORES

6.3.11. TipoCliente

TABLA 50 - TIPOCLIENTE - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_tipcli Varchar(10) No Identificador asignado para el tipo de cliente

nom_tipcli Varchar(100) No Nombre asignado al tipo de cliente

FUENTE: LOS AUTORES

6.3.12. Usuario

TABLA 51 - USUARIO - DICCIONARIO DE DATOS

Campo Tipo Nulo Comentarios

id_user Varchar(20) No Identificador asignado al usuario - Cédula

nom_user Varchar(100) No Nombre registrado por el usuario

ape_user Varchar(100) No Apellido registrado por el usuario

pwd_user Varchar(100) No Password de ingreso registrado por el Usuario

id_est Char(1) No Identificador del estado para el Usuario

FUENTE: LOS AUTORES

117

6.4. CODIGO SQL DE LAS TABLAS

El código SQL de las tablas comprende una serie de instrucciones que se ejecutan

para crear la estructura de la base de datos, la cual se ha denominado

internamente como “ESTANQUILLO”. Dichas instrucciones son escritas bajo un

código estándar SQL y funciona cómodamente dentro del Sistema Gestor de Base

de Datos usado para el prototipo y con el manejador MySql versión 5.6.16.

6.4.1. Estado

CREATE TABLE IF NOT EXISTS `estanquillo`.`estado` (

`id_est` CHAR NOT NULL,

`nom_est` VARCHAR(50) NOT NULL,

`desc_est` VARCHAR(200) NOT NULL DEFAULT '.',

PRIMARY KEY (`id_est`))

ENGINE = InnoDB;

6.4.2. Usuario

CREATE TABLE IF NOT EXISTS `estanquillo`.`usuario` (

`id_user` VARCHAR(20) NOT NULL,

`nom_user` VARCHAR(100) NOT NULL,

`ape_user` VARCHAR(100) NOT NULL,

`pwd_user` VARCHAR(100) NOT NULL,

118

`id_est` CHAR NOT NULL,

PRIMARY KEY (`id_user`),

INDEX `fk_usuario_estado_idx` (`id_est` ASC),

CONSTRAINT `fk_usuario_estado`

FOREIGN KEY (`id_est`)

REFERENCES `estanquillo`.`estado` (`id_est`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

6.4.3. ListaPrecios

CREATE TABLE IF NOT EXISTS `estanquillo`.`listaprecios` (

`id_lista` VARCHAR(10) NOT NULL,

`nom_lista` VARCHAR(100) NOT NULL,

PRIMARY KEY (`id_lista`))

ENGINE = InnoDB;

119

6.4.4. TipoCliente

CREATE TABLE IF NOT EXISTS `estanquillo`.`tipocliente` (

`id_tipcli` VARCHAR(10) NOT NULL,

`nom_tipcli` VARCHAR(100) NOT NULL,

PRIMARY KEY (`id_tipcli`))

ENGINE = InnoDB;

6.4.5. Cliente

CREATE TABLE IF NOT EXISTS `estanquillo`.`cliente` (

`id_cliente` VARCHAR(50) NOT NULL,

`id_tipcli` VARCHAR(10) NOT NULL,

`nom_cliente` VARCHAR(100) NOT NULL,

`ape_cliente` VARCHAR(100) NOT NULL,

`nomcial_cliente` VARCHAR(500) NOT NULL,

`cel_cliente` VARCHAR(50) NOT NULL,

`tel_cliente` VARCHAR(50) NOT NULL,

`mail_cliente` VARCHAR(200) NOT NULL,

`pwd_cliente` VARCHAR(100) NOT NULL,

`id_est` CHAR NOT NULL,

`id_lista` VARCHAR(10) NOT NULL,

PRIMARY KEY (`id_cliente`),

120

INDEX `fk_cliente_estado1_idx` (`id_est` ASC),

INDEX `fk_cliente_listaprecios1_idx` (`id_lista` ASC),

INDEX `fk_cliente_tipocliente1_idx` (`id_tipcli` ASC),

CONSTRAINT `fk_cliente_estado1`

FOREIGN KEY (`id_est`)

REFERENCES `estanquillo`.`estado` (`id_est`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_cliente_listaprecios1`

FOREIGN KEY (`id_lista`)

REFERENCES `estanquillo`.`listaprecios` (`id_lista`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_cliente_tipocliente1`

FOREIGN KEY (`id_tipcli`)

REFERENCES `estanquillo`.`tipocliente` (`id_tipcli`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

121

6.4.6. Ciudad

CREATE TABLE IF NOT EXISTS `estanquillo`.`ciudad` (

`id_ciudad` VARCHAR(10) NOT NULL,

`nom_ciudad` VARCHAR(200) NOT NULL,

PRIMARY KEY (`id_ciudad`))

ENGINE = InnoDB;

6.4.7. Dirección

CREATE TABLE IF NOT EXISTS `estanquillo`.`direccion` (

`id_dir` INT NOT NULL AUTO_INCREMENT,

`id_cliente` VARCHAR(50) NOT NULL,

`dir_cliente` VARCHAR(500) NOT NULL,

`id_ciudad` VARCHAR(10) NOT NULL,

`id_est` CHAR NOT NULL,

PRIMARY KEY (`id_dir`),

INDEX `fk_direccion_cliente1_idx` (`id_cliente` ASC),

INDEX `fk_direccion_ciudad1_idx` (`id_ciudad` ASC),

INDEX `fk_direccion_estado1_idx` (`id_est` ASC),

CONSTRAINT `fk_direccion_cliente1`

FOREIGN KEY (`id_cliente`)

REFERENCES `estanquillo`.`cliente` (`id_cliente`)

122

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_direccion_ciudad1`

FOREIGN KEY (`id_ciudad`)

REFERENCES `estanquillo`.`ciudad` (`id_ciudad`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_direccion_estado1`

FOREIGN KEY (`id_est`)

REFERENCES `estanquillo`.`estado` (`id_est`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

6.4.8. Categoría

CREATE TABLE IF NOT EXISTS `estanquillo`.`categoria` (

`id_cat` VARCHAR(10) NOT NULL,

`nom_cat` VARCHAR(50) NOT NULL,

`desc_cat` VARCHAR(200) NOT NULL DEFAULT '.',

PRIMARY KEY (`id_cat`))

ENGINE = InnoDB;

123

6.4.9. Producto

CREATE TABLE IF NOT EXISTS `estanquillo`.`producto` (

`id_prod` VARCHAR(10) NOT NULL,

`nom_prod` VARCHAR(100) NOT NULL,

`desc_prod` VARCHAR(300) NOT NULL,

`img_prod` VARCHAR(300) NOT NULL,

`id_cat` VARCHAR(10) NOT NULL,

`id_est` CHAR NOT NULL,

PRIMARY KEY (`id_prod`),

INDEX `fk_producto_estado1_idx` (`id_est` ASC),

INDEX `fk_producto_categoria1_idx` (`id_cat` ASC),

CONSTRAINT `fk_producto_estado1`

FOREIGN KEY (`id_est`)

REFERENCES `estanquillo`.`estado` (`id_est`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_producto_categoria1`

FOREIGN KEY (`id_cat`)

REFERENCES `estanquillo`.`categoria` (`id_cat`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

124

6.4.10. DetCanasto

CREATE TABLE IF NOT EXISTS `estanquillo`.`detcanasto` (

`id_detalle` INT NOT NULL AUTO_INCREMENT,

`id_prod` VARCHAR(10) NOT NULL,

`id_cliente` VARCHAR(50) NOT NULL,

`nom_cliente` VARCHAR(200) NOT NULL,

`nom_prod` VARCHAR(100) NOT NULL,

`cant_prod` FLOAT NOT NULL,

`precio_prod` FLOAT NOT NULL,

`subt_prod` FLOAT NOT NULL,

`id_est` CHAR NOT NULL,

PRIMARY KEY (`id_detalle`),

INDEX `fk_detcanasto_producto1_idx` (`id_prod` ASC),

INDEX `fk_detcanasto_estado1_idx` (`id_est` ASC),

INDEX `fk_detcanasto_cliente1_idx` (`id_cliente` ASC),

CONSTRAINT `fk_detcanasto_producto1`

FOREIGN KEY (`id_prod`)

REFERENCES `estanquillo`.`producto` (`id_prod`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

125

CONSTRAINT `fk_detcanasto_estado1`

FOREIGN KEY (`id_est`)

REFERENCES `estanquillo`.`estado` (`id_est`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_detcanasto_cliente1`

FOREIGN KEY (`id_cliente`)

REFERENCES `estanquillo`.`cliente` (`id_cliente`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

6.4.11. Pedido

CREATE TABLE IF NOT EXISTS `estanquillo`.`pedido` (

`id_ped` INT NOT NULL AUTO_INCREMENT,

`id_detalle` INT NOT NULL,

`id_cliente` VARCHAR(50) NOT NULL,

`nom_cliente` VARCHAR(200) NOT NULL,

`dir_ped` VARCHAR(500) NOT NULL,

`fechora_ped` DATETIME NOT NULL,

`valor_ped` FLOAT NOT NULL,

`id_est` CHAR NOT NULL,

126

`id_user` VARCHAR(50) NOT NULL,

`nom_user` VARCHAR(200) NOT NULL,

`observ_ped` VARCHAR(300) NOT NULL DEFAULT '.',

PRIMARY KEY (`id_ped`),

INDEX `fk_pedido_estado1_idx` (`id_est` ASC),

INDEX `fk_pedido_cliente1_idx` (`id_cliente` ASC),

INDEX `fk_pedido_usuario1_idx` (`id_user` ASC),

INDEX `fk_pedido_detcanasto1_idx` (`id_detalle` ASC),

CONSTRAINT `fk_pedido_estado1`

FOREIGN KEY (`id_est`)

REFERENCES `estanquillo`.`estado` (`id_est`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_pedido_cliente1`

FOREIGN KEY (`id_cliente`)

REFERENCES `estanquillo`.`cliente` (`id_cliente`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_pedido_usuario1`

FOREIGN KEY (`id_user`)

REFERENCES `estanquillo`.`usuario` (`id_user`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

127

CONSTRAINT `fk_pedido_detcanasto1`

FOREIGN KEY (`id_detalle`)

REFERENCES `estanquillo`.`detcanasto` (`id_detalle`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

6.4.12. Prod_Lista

CREATE TABLE IF NOT EXISTS `estanquillo`.`prod_lista` (

`id_prod` VARCHAR(10) NOT NULL,

`id_lista` VARCHAR(10) NOT NULL,

`precio_prod` FLOAT NOT NULL,

PRIMARY KEY (`id_prod`, `id_lista`),

INDEX `fk_producto_has_listaprecios_listaprecios1_idx` (`id_lista` ASC),

INDEX `fk_producto_has_listaprecios_producto1_idx` (`id_prod` ASC),

CONSTRAINT `fk_producto_has_listaprecios_producto1`

FOREIGN KEY (`id_prod`)

REFERENCES `estanquillo`.`producto` (`id_prod`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_producto_has_listaprecios_listaprecios1`

FOREIGN KEY (`id_lista`)

128

REFERENCES `estanquillo`.`listaprecios` (`id_lista`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

129

6.5. DIAGRAMA DE CLASES

ILUSTRACIÓN 35 - DIAGRAMA DE CLASES

FUENTE: LOS AUTORES

130

6.6. ARQUITECTURA FISICA

ILUSTRACIÓN 36 - ARQUITECTURA FÍSICA

FUENTE: LOS AUTORES

131

6.7. DISEÑO ARQUITECTONICO

La selección de la arquitectura consiste en un sistema Multiusuario tipo Web,

donde pueden estar conectados mínimo 1000 clientes (usuarios) desde sus

Smartphones de manera simultánea. Tanto la plataforma móvil como la plataforma

web desarrollada en PHP, presentan una arquitectura desarrollada en tres capas

conocidas como MVC (Modelo – Vista – Controlador).

ILUSTRACIÓN 37 - DISEÑO MVC

FUENTE LOS AUTORES

132

6.7.1. Capa de Modelo

En la capa de Modelo se han incorporado todos los archivos PHP relacionados

con la manipulación de la información almacenada en la base de datos, los cuales

están organizados en clases tipo PHP que están estructuradas en torno al archivo

gestor de conexiones llamado “ClaseGestordb.php”. Esta clase se encarga de

generar los métodos y los atributos responsables de crear las conexiones y las

consultas genéricas cuando el controlador las solicite.

ILUSTRACIÓN 38- CAPA DEL MODELO - CLASEGESTOR.PHP

FUENTE LOS AUTORES

La Capa de Modelo incluye las Clases tipo PHP que definen los objetos mas

importantes del prototipo, tales como “ClaseCliente.php”, “ClaseProducto.php” y

133

“ClasePedido.php”, todas ellas a su vez requieren la participación de la clase que

gestiona la conexión con la base de datos. Cada una de estas clases se encargan

de gestionar los datos, atributos y métodos

ILUSTRACIÓN 39 – CAPA DEL MODELO - CLASEPRODUCTO.PHP

FUENTE LOS AUTORES

134

6.7.2. Capa de Controlador

Para la capa Controlador se generó una cadena de archivos que contienen pocas

líneas de código según sea la funcionalidad requerida en el momento. Estos

segmentos de código se encargan de manipular y controlar las variables, las

sesiones de usuario, los traspasos de información y la validación de algunos

datos. Cuando el cliente en la aplicación móvil efectúa una solicitud por medio de

un formulario, dicha solicitud es enviada al controlador del sistema, el cual se

encarga de verificar los datos, traspasarlos a variables y realizar la transacción a

la capa Modelo. También ha sido apropiado el uso del controlador para definir las

sintaxis de algunas consultas de acuerdo a las solicitudes enviadas por el usuario,

es decir, almacenar en variables las cadenas de SQL a utilizar en la capa del

modelo y de esta manera evitar la realización de código redundante o repetitivo.

En algunos casos se han efectuado combinaciones entre la capa de Modelo y la

capa de Controlador, así mismo, se ha incorporado la Capa de Vista en algunos

segmentos de la capa Controlador. Estas combinaciones fueron requeridas y

necesarias en los módulos de Pedido y DetallePedido ya que por la complejidad

de las transacciones era indispensable manipular las tres capas en un solo

archivo.

135

ILUSTRACIÓN 40 – CAPA DEL CONTROLADOR - LOGIN.PHP

Fuente Los Autores

ILUSTRACIÓN 41 - CAPA DE CONTROLADOR – BUSCARPRODUCTO.PHP

FUENTE LOS AUTORES

136

6.7.3. Capa de Vista

La Capa de Vista tiene muchas variaciones entre la interfaz móvil y la interfaz

Web. Para la interfaz móvil se implementó el framework de jQuery Mobile, el cual

trae incorporado los estilos y los script sobre los cuales se ha basado la

codificación de los formularios y de las distintas interfaces, que van desde el

ingreso del cliente hasta la toma de pedidos.

ILUSTRACIÓN 42 - CAPA DE VISTA - FRMINGRESO.PHP

FUENTE LOS AUTORES

137

Las hojas de estilo de jQuery Mobile permiten que los pluging utilizados dentro de

la implementación tengan características de visualización homogéneas y

agradables para el usuario. Los componentes de jQuery Mobile son similares a los

usados en HTML5, pero adquieren valores agregados gracias a las hojas de estilo

que se incrustan han realizado en el prototipo móvil.

ILUSTRACIÓN 43 - CAPA DE VISTA - HOJA DE ESTILO CSS

FUENTE LOS AUTORES

138

Dentro de la interfaz Web del prototipo se utilizaron varios componentes que

permitieron una óptima visualización para el administrador del sistema. La Capa

de Vista gira en torno a una estructura conocida como jQgrid, la cual ha facilitado

la visualización de los datos al administrador ya que funciona en forma de tablas

desplegables enlazadas directamente con la base de datos.

ILUSTRACIÓN 44 - CAPA DE VISTA - JQGRID PRODUCTOS

FUENTE LOS AUTORES

139

6.8. SEGURIDAD DEL APLICATIVO

En la implementación del Prototipo se han desarrollado las directivas de seguridad

básicas para una aplicación Web, las cuales están definidas por la administración

de las características del servidor web que se está utilizando: XAMPP. Algunos

otros componentes están implementados desde la interfaz gráfica elaborada en

HTML5, en la codificación de líneas en PHP y en los script de la base de datos.

6.8.1. Validación

Para el ingreso de datos por parte del usuario (cliente) se han usados los

formularios convencionales, pero adoptando las nuevas cartas de validación de

HTML5, como son los nuevos tipos de campos (email, password, number) que

evitan el ingreso de datos no deseados y no permiten que se continúe con la

secuencia del sistema. De esta manera se evitan comportamientos no esperados,

se evita que se acceda a la aplicación a usuarios no autorizados y que se sufran

rupturas de manera malintencionada. Todos los campos son requeridos:

ILUSTRACIÓN 45 - VALIDACIÓN FORMULARIOS

FUENTE LOS AUTORES

140

6.8.2. Escapado

El escapado fue usado en la capa de Modelo para disminuir los ingresos de textos

basura a la base de datos.

ILUSTRACIÓN 46 - ESCAPADO - SEGURIDAD

FUENTE LOS AUTORES

La gran mayoría de los aspectos de seguridad se configuraron en el servidor web

que se utilizó para el desarrollo de la aplicación. Dichos aspectos son

especificados en el Manual Técnico.

141

7. IMPLEMENTACION DE LOS MODULOS

7.1. ESPECIFICACIÓN DE LOS MODULOS

La creación de un software prototipo basado en una estructura modular facilita el

desarrollo, la implementación y mejora las características de seguridad. La

implementación en forma de módulos permite mejorar las buenas prácticas de

desarrollo y las posteriores intervenciones o modificaciones en el nivel de prueba y

de mantenimiento. También se prohíbe el acceso libre a los datos del prototipo

gracias a la creación de métodos que contienen validaciones de seguridad que

permiten cumplir con las políticas y las reglas mínimas de cualquier negocio.

7.2. MODULO DE REGISTRO Y AUTENTICACION DE CLIENTES

Este módulo permite la creación de los clientes en la base de datos, la validación

de los datos del cliente para ingresar a la interfaz principal del prototipo y la

modificación de los datos del cliente en caso que lo requiera. La información es

ingresada y manipulada directamente por el cliente desde el momento en que

descarga la aplicación a su teléfono móvil. La implementación de este módulo está

codificada en una Clase llamada “ClaseCliente.php” donde están incluidos los

atributos principales de la tabla “cliente” de la base de datos, efectuando una

integración con los recursos del sistema gestor de la base de datos y el entorno de

desarrollo creado para la visualización del usuario.

142

7.2.1. Vista del Método Registro de Cliente

ILUSTRACIÓN 47 - VISTA MÉTODO REGISTRAR CLIENTE

FUENTE: LOS AUTORES

143

7.2.2. Vista del Método Logueo de Cliente

ILUSTRACIÓN 48 - VISTA MÉTODO LOGUEO CLIENTE

FUENTE: LOS AUTORES

144

7.2.3. Vista del Método Modificar Cliente

ILUSTRACIÓN 49 - VISTA DE MÉTODO MODIFICAR CLIENTE

145

7.3. MODULO DE PRODUCTOS Y CATEGORIAS

El Módulo de Productos permite la gestión de los datos concernientes a los

productos tanto para el ambiente móvil de usuario, como para el ambiente web de

administrador. En el ambiente móvil se permite la visualización de todos los

productos desde varias vistas establecidas según las políticas comerciales del

negocio, que están dadas por la búsqueda de productos, opciones de compra y

las categorías pre-establecidas para éstos. Para el ambiente web, el administrador

del negocio manipula los datos de los productos, ya sea para el ingreso de nuevos

registros o la modificación de los ya existentes.

Este módulo consta de una Interfaz principal donde se visualizan los componentes

más importantes del prototipo, y además es la base sobre la cual se visualizan las

imágenes de todos los productos, con los nombres y los precios extraídos de la

base de datos. Desde esta interfaz es posible que el cliente manipule todos los

recursos de la aplicación en su teléfono móvil, es decir, puede visualizar otras

ventanas, abrir otros módulos, pero siempre obligado a volver ubicarse en esta

vista, donde además es posible iniciar un pedido y verificar su estado hasta su

confirmación.

146

7.3.1. Vista de la Interfaz Principal

ILUSTRACIÓN 50 - VISTA INTERFAZ PRINCIPAL

FUENTE: LOS AUTORES

147

7.3.2. Vista Método Buscar

ILUSTRACIÓN 51 - VISTA MÉTODO BUSCAR

FUENTE: LOS AUTORES

148

7.3.3. Vista Método Opciones de Compra

ILUSTRACIÓN 52 - VISTA MÉTODO OPCIONES DE COMPRA

FUENTE: LOS AUTORES

149

7.3.4. Vista Método Categorías

ILUSTRACIÓN 53- VISTA MÉTODO CATEGORÍAS

FUENTE: LOS AUTORES

150

7.4. MODULO DE CANASTO

La implementación de este módulo tiene como objetivo principal permitir al cliente

la administración de modo temporal del pedido antes de confirmarlo, es decir, le

permite adicionar y restar productos y/o cantidades con tal de poder ajustar el

valor a pagar a sus necesidades. Este módulo está basado en la clase PHP del

mismo nombre e interactúa de modo permanente con el módulo Productos, se

puede visualizar e ingresar a él desde la Interfaz Principal para efectuar las

respectivas modificaciones, o simplemente descartar el pedido o dejarlo para otra

oportunidad.

El modulo Canasto efectúa las operaciones básicas entre los precios y las

cantidades solicitadas, la suma de todos los subtotales y la visualización resumida

de todos los productos que se van almacenando en el canasto. Por medio de este

módulo se almacenan de forma detallada los pre-pedidos de cada cliente, para

que posteriormente sean tomados como base para la confirmación del pedido. El

canasto procesa la información en la tabla “detcanasto” de la base de datos por

medio la clase PHP anteriormente mencionada, registrando la información de los

productos, cantidades y el valor total de las mercancías solicitadas por el cliente.

151

7.4.1. Vista Método Canasto

ILUSTRACIÓN 54- VISTA MÉTODO CANASTO

FUENTE: LOS AUTORES

152

7.5. MODULO DE PEDIDOS

El Módulo de Pedidos es la fase final del proceso de una solicitud del cliente. Este

módulo reúne todos los datos recolectados en los módulos descritos con

anterioridad. La funcionalidad está basada en la case de PHP llamada

“Pedidos.php”, la cual se integra directamente con las tablas “cliente”,

“detcanasto”, “producto” y “pedido”, además se encarga de validar los datos

ingresados por el cliente para que el administrador del negocio pueda efectuar la

entrega del pedido sin complicaciones.

La funcionalidad de este módulo consiste inicialmente en confirmar el pedido

mediante la opción “Pedir” ubicado en la Interfaz Principal. Seguidamente se

visualiza para el cliente el valor total del pedido y se le da la opción de cambiar o

agregar una nueva dirección de entrega. Por último, registra la fecha y hora exacta

del pedido, con un tiempo estimado de entrega y se confirma el despacho de los

productos con el “OK” que lo lleva nuevamente a la interfaz principal, elimina los

datos del canasto y se inicializan las variables utilizadas en el proceso.

153

7.5.1. Vista Método Pedir

ILUSTRACIÓN 55 - VISTA MÉTODO PEDIR

FUENTE: LOS AUTORES

154

8. RECURSOS DISPONIBLES

TABLA 52 - RECURSOS DISPONIBLES

Valor ($)

Papeleria - Impresiones 90.000$

Internet 160.000$

Estudiante Leonardo Cubides 300.000$

Estudiante Javier Gómez 300.000$

850.000$

Descripción

Materiales y Suministros

Recurso Humano

Total

FUENTE: LOS AUTORES

TABLA 53- RECURSOS INFORMÁTICOS

Cantidad

Servidor Web para pruebas 1

Computadores Personales para Desarrollo 2

Iphone para Pruebas 1

Samsung Galaxy para pruebas 1

Descripción

FUENTE: LOS AUTORES

155

9. CONCLUSIONES

Al realizar el levantamiento de la información fue de vital importancia el

factor de observación, las encuestas a usuarios y las entrevistas realizadas

a los administradores de los negocios que se dedican a la venta de licores y

productos relacionados. Estas actividades permitieron que los

requerimientos estuvieran acordes con las necesidades del prototipo y se

pudiera efectuar un análisis provechoso en la metodología establecida.

Con la ayuda de los elementos y las herramientas que se usaron para la

diagramación y el análisis de la información fue posible que la organización

y el diseño del prototipo. Con el diseño de los casos de uso y de los

diagramas de secuencia fue posible comprender el detalle funcional del

prototipo.

Al diseñar el Modelo de datos se debe tener en cuenta la forma como van a

interactuar los datos para el entorno móvil y para el entorno web, ya que se

parte de la misma base de datos para las dos interfaces. El Modelo de

datos desarrollado permitió la buena integración del modelo de clases la

implementación de los módulos creados en la etapa de codificación.

156

Al diseñar e implementar el entorno web fue necesario el uso de

herramientas que permitieran la facilidad de uso para el administrador del

negocio, que no se sobrecargaran los datos de la página y que la

actualización de la misma se efectuara de manera automática cada cierto

periodo de tiempo con el fin de poder visualizar las nuevas solicitudes de

clientes.

A través de la implementación del entorno móvil fue posible conocer y usar

componentes y herramientas que facilitan la codificación y la integración de

los datos. El framework utilizado conocido como JQuery Mobile posee

varias características similares al lenguaje HTML, lo cual representó una

ventaja a la hora de crear las distintas vistas obtenidas.

La implementación de un sistema basado en módulos para este tipo de

aplicaciones es adecuado ya que al final se obtiene un diseño organizado y

un desarrollo eficiente sin que se generen costes adicionales al momento

de efectuar consultas a la base de datos. Además este tipo de diseños

facilitan el entendimiento, la codificación y si es el caso, las modificaciones

que se puedan hacer más adelante.

157

10. RECOMENDACIONES

10.1. PRUEBAS DEL APLICATIVO

Para las pruebas del aplicativo tanto móvil como web es recomendable el uso de

una herramienta que brinde resultados comprensibles, que permita correlacionar

diferentes indicadores y sobre todo que el proceso sea en su mayor parte

automático.

En esta caso, se recomienda el uso de una herramienta basada en testeo de

carga, pruebas de rendimiento o estrés, pruebas de base de datos y que realice

diagnósticos del comportamiento de la aplicación en condiciones de producción.

10.1.1. Jmeter

Jmeter es una herramienta Java dentro del proyecto Jakarta, que permite realizar

Pruebas de Rendimiento y Pruebas Funcionales sobre Aplicaciones Web. Jmeter

permite realizar pruebas de carga de un servidor web o alojamiento web, está

desarrollada 100% en Java y es Open Source. El objetivo es grabar un escenario

de pruebas para posteriormente configurarlo con los parámetros de una posible

situación real (por ejemplo, indicar el número de usuarios concurrentes).

158

JMeter se basa en el concepto de “Elemento” (Element) y en una estructura en

“Árbol” (Tree). Cualquier parte o rama del árbol puede ser guardada de forma

independiente, para ser reutilizada en otras pruebas.

Los “elementos” permiten configurar y definir el plan de pruebas.

Elementos jerárquicos:

Listeners (elementos en escucha)

Config Elements (elementos de configuración)

Post-processors (post-procesadores)

Pre-processors (pre-procesadores)

Assertions (afirmaciones)

Timers (cronómetros)

Elementos ordenados:

Controllers (controladores)

Samplers (agentes de pruebas)

Esta herramienta es de fácil uso y obtención, y es recomendable para el testeo de

la aplicación ya que cubre todos los ciclos efectuados en la metodología.

159

BIBLIOGRAFIA Y WEBGRAFIA

Romeo Alfredo y García Juantomás. Cómo seleccionar una plataforma

de desarrollo para un proyecto web. Recuperado Noviembre 3 de 2013.

http://lapastillaroja.net/2013/10/como-seleccionar-plataforma-tecnologica/

García Sorey. Consideraciones para el Desarrollo de Aplicaciones

Móviles. Recuperado Marzo de 2009.

http://www.slideshare.net/soreygarcia/consideraciones-basicas-para-el-desarrollo-

de-aplicaciones-mviles

Olazsrud Thor. Las 10 mejores plataformas de desarrollo de apps

móviles. Agosto 21 de 2012.

http://www.computerworldmexico.mx/Articulos/24813.htm

Rodríguez Txema. ¿Cómo está el panorama de desarrollo de aplicativos

móviles actual? Junio 28 de 2012.

http://www.genbetadev.com/trabajar-como-desarrollador/como-esta-el-panorama-

de-desarrollo-de-aplicaciones-moviles-actual-el-informe-developer-economics-2012-

nos-da-algunas-pistas

Brechot Philippe. Gerente General William Grant & Sons. ¿Colombia es

un mercado de Licores? Noviembre 5 de 2013.

http://m.portafolio.co/economia/%25E2%2580%2598colombia-es-un-mercado-

licores-exigente%25E2%2580%2599

160

Trujillo Renán José Renán. Estudio de Cervezas, Licores, Vinos,

Aperitivos, y Similares. Bogotá, Agosto de 2007. Superintendencia

nacional de Salud.

161

ANEXOS

Anexo 1. Entrevista Número 1

Entrevista

Código 1 Analista Javier Gómez Trejos

Cliente Licores la Cosa Nostra Fecha 11/05/2014

Tipo Recolección de Información Duración 45 minutos

Fuente de Información Cesar Ramírez

¿Cuál es el nombre del establecimiento o negocio?

R/ Licores La cosa Nostra

¿Cuál es la actividad comercial del establecimiento?

R/ Estanquillo

¿Cuáles son los productos o servicios que ofrece el establecimiento?

R/ El estanquillo se centra más en la venta y distribución de licores en el área de la circunvalar

¿Hace cuánto está en funcionamiento el establecimiento?

R/ 8 años

¿Cuántas personas trabajan en el establecimiento y cuáles son sus funciones?

R/ Solo trabaja el propietario y en casos en que necesite salir a realizar alguna diligencia contrata a alguien por turno

¿Cuál es la cobertura Geográfica para la entrega de domicilios?

R/ Solo se cubriría la circunvalar, pinares, álamos y sectores hasta la 35 con 30 de agosto

¿Posee algún mecanismo automatizado para la toma de pedidos?

R/ NO. Todo se realiza por medio telefónico

¿Por favor explicar el proceso detallado de la venta a domicilio?

El establecimiento ya tiene clientes concurrentes que son a los que más se les despacha, llaman y realizan la solicitud vía telefónica y se registra en un Excel y por último se hace el despacho. En cuanto al tema de pedidos en el momento no es el fuerte del establecimiento pero no quiere decir que no se pueda brindar

OBSERVACIONES

Estamos interesados en implementar el app que nos mencionan para hacer que en el estanquillo la parte de domicilios crezca un poco más ya que es una zona de mucho movimiento. El establecimiento ha cambiado de dueño. El dueño actual lleva 8 años con el.

Fuente Analista Revisor

Cesar Ramírez Javier Gómez Javier Gómez

162

Anexo 2. Entrevista Número 2

Entrevista

Código 2 Analista Javier Gómez Trejos

Cliente Licores la cosa Nostra Fecha 11/05/2014

Tipo Recolección de Información Duración 1-2 horas

Fuente de Información Cesar

¿Aproximadamente cuantos domicilios se despachan a diario?

R/ Esto solo se da del miércoles en adelante y solo con clientes concurrentes

¿Cuál es el tiempo estimado para la entrega de domicilios? El cliente lo sabe?

R/ El cliente solicita para que la entrega se realice en el trascurso del día

¿Tienen delimitado un área de cobertura para la entrega de domicilios? Cuál es?

R/ circunvalar y sus alrededores

¿Tienen una persona encargada para la entrega de domicilios

R/ no

¿Cuál es el medio de transporte utilizado para la entrega de pedidos?

R/ Carro

¿El medio de transporte es propiedad del establecimiento o del empleado?

R/ Propiedad

¿Tiene algún monto mínimo de venta para la entrega de pedidos a domicilio?

R/ que superen los $ 50.000 pesos

¿Es recurrente la pérdida de entregas por saturación de pedido? ¿Qué hacen cuando esto sucede?

R/ Como se manejan clientes recurrentes estos inconvenientes no se ven.

¿La entrega de pedidos a domicilio tiene un valor adicional al valor del pedido? Cuánto?

R/ En el momento no cobramos por el domicilio porque los pedidos son realizados a grandes cantidades

¿Qué medio de pago utilizan para la cancelación de los pedidos por parte del cliente?

R/ Efectivo, en consignación y crédito

¿Tiene algún tipo de promoción o descuento para la entrega rápida de domicilios?

R/ No manejamos estos tipo

¿Posee alguna herramienta para el manejo de la información de los clientes? Por favor explicar el manejo de dicha herramienta en caso de poseerla

R/ En el momento todo se realiza a través de Excel y allí quedo todo registrado

¿Maneja crédito para los clientes a los que se les entrega a domicilio?

R/ SI

¿Cuál es el horario de atención para la entrega de domicilios?

R/ Entre las 4 de la tarde y las 8 de la mañana

¿Qué otras restricciones tienen o aplican para la NO entrega de pedidos?

R/ Que el cliente este en mora con el establecimiento. Esto se da cuando son clientes con crédito

163

¿Cuál es el día de la semana que presenta más frecuencia de pedidos a domicilio?

R/ los días miércoles y jueves

¿Cuál es el rango de edad de los clientes que más realizan pedidos?

R/ entre los 30 y 50

¿Por favor comente las principales causas de devolución de pedidos por parte de los clientes?

R/ esto solo se da con clientes que manejan consignación de licores. Porque devuelve el sobrante

¿De qué manera confirman la existencia de mercancía cuando el cliente realiza el pedido?

R/ Se realiza manual o recurrimos a un archivo donde almacenamos el inventario

¿Cómo manejan o controlan el inventario de mercancías del negocio? Explique

R/ Esto se maneja a través de un Excel, donde manejamos toda la información para luego poder de allí sacar reportes contables.

¿Cómo cree usted que se mejorarían las ventas de su negocio por medio de las entregas a domicilio?

R/ promocionando y empleando herramientas tecnológicas que ayuden al cliente hacer este proceso

¿Conoce alguna herramienta sistematizada y personalizada que le permita manejar y controlar los pedidos de los clientes con entregas a domicilio?

R/ Para el área de licores no

¿Conoce o utiliza aplicaciones para celulares que realicen operaciones para algún tipo de transacción comercial o financiera? Que opción le merecen?

R/ NO

¿Cree usted que una aplicación de estas ayudaría a la entrega de domicilios? ¿Cómo la visualiza para su negocio?

R/ Si, primero porque toda persona podría acceder a la aplicación y el negocio se daría mucho más a conocer en el sector donde yo me encuentro ubicado. Segundo me podría ayudar a competir con otros estanquillos del sector que brindan este servicio.

OBSERVACIONES

Estamos interesados en implementar el app que nos mencionan para hacer que en el estanquillo la parte de domicilios crezca un poco más ya que es una zona de mucho movimiento. El establecimiento ha cambiado de dueño. El dueño actual lleva 8 años con el.

Fuente Analista Revisor

Cesar Javier Gómez Javier Gómez

164

Anexo 3. Entrevista Número 3.

Entrevista 3

Código 3 Analista Javier Gómez Trejos

Cliente Licores Marge Fecha 11/06/2014

Tipo Recolección de Información Duración 45 minutos

Fuente de Información Margarita Obando

¿Cuál es el nombre del establecimiento o negocio?

R/ Licores Marge

¿Cuál es la actividad comercial del establecimiento?

R/ Estanquillo

¿Cuáles son los productos o servicios que ofrece el establecimiento?

R/ El estanquillo se centra más en la venta y distribución de licores en el área del centro de la ciudad

¿Hace cuánto está en funcionamiento el establecimiento?

R/ 2 años

¿Cuántas personas trabajan en el establecimiento y cuáles son sus funciones?

R/ Solo trabaja el propietario y en empleado encargado de los domicilios en el sector

¿Cuál es la cobertura Geográfica para la entrega de domicilios?

R/ Solo se cubre el centro de la ciudad

¿Posee algún mecanismo automatizado para la toma de pedidos?

R/ NO. Todo se realiza por medio telefónico

¿Por favor explicar el proceso detallado de la venta a domicilio?

El establecimiento recibe la llamada telefónica, este pedido se anota en un cuaderno donde se anotan todos los domicilios solicitados. En ocasiones dependiendo de la cantidad solicitada se envía de inmediatamente o se espera que al menos haya dos pedidos cercanos en el sector para enviar a la persona de los domicilios.

OBSERVACIONES

Estamos interesados en la implementación de la app que nos mencionan para hacer que en el estanquillo en la parte de domicilios crezca un poco más en el sector donde brindamos el servicio.

Fuente Analista Revisor

Margarita Obando Javier Gómez Leonardo Cubides

165

Anexo 4. Entrevista Número 4.

Entrevista 4

Código 4 Analista Javier Gómez Trejos

Cliente Licores Marge Fecha 11/06/2014

Tipo Recolección de Información Duración 1-2 horas

Fuente de Información Margarita Obando

¿Aproximadamente cuantos domicilios se despachan a diario?

R/ Esto depende del día de la semana, pueden oscilar entre 3 a 15

¿Cuál es el tiempo estimado para la entrega de domicilios? El cliente lo sabe?

R/ Al cliente se le informa que el pedido será entregado en el trascurso de 30 minutos

¿Tienen delimitado un área de cobertura para la entrega de domicilios? Cuál es?

R/ centro de la ciudad

¿Tienen una persona encargada para la entrega de domicilios

R/ si

¿Cuál es el medio de transporte utilizado para la entrega de pedidos?

R/ moto o a pie

¿El medio de transporte es propiedad del establecimiento o del empleado?

R/ Propietario

¿Tiene algún monto mínimo de venta para la entrega de pedidos a domicilio?

R/ que superen los $ 20.000 pesos

¿Es recurrente la pérdida de entregas por saturación de pedido? ¿Qué hacen cuando esto sucede?

R/ No, Cuando hay demasiados pedidos se organizan por rutas y se envian

¿La entrega de pedidos a domicilio tiene un valor adicional al valor del pedido? Cuánto?

R/ No tiene valor adicional

¿Qué medio de pago utilizan para la cancelación de los pedidos por parte del cliente?

R/ Efectivo

¿Tiene algún tipo de promoción o descuento para la entrega rápida de domicilios?

R/ No manejamos

¿Posee alguna herramienta para el manejo de la información de los clientes? Por favor explicar el manejo de dicha herramienta en caso de poseerla

R/ En el momento todo queda anotado en un cuaderno contable

¿Maneja crédito para los clientes a los que se les entrega a domicilio?

R/ No

¿Cuál es el horario de atención para la entrega de domicilios?

R/ Entre las 4 de la tarde y las 6 de la mañana

166

¿Qué otras restricciones tienen o aplican para la NO entrega de pedidos?

R/ La única restricción es cuando el pedido es inferior a 20.000 mil pesos, no se envía

¿Cuál es el día de la semana que presenta más frecuencia de pedidos a domicilio?

R/ los días miércoles y jueves, viernes y sábado

¿Cuál es el rango de edad de los clientes que más realizan pedidos?

R/ entre los 20 y 50

¿Por favor comente las principales causas de devolución de pedidos por parte de los clientes?

R/ No hemos experimentado este caso, los domicilios siempre son efectivos y de acuerdo a lo solicitado por el cliente

¿De qué manera confirman la existencia de mercancía cuando el cliente realiza el pedido?

R/ Se mira en el stand si hay el producto solicitado y se informa al cliente via telefónica

¿Cómo manejan o controlan el inventario de mercancías del negocio? Explique

R/ Todo producto vendido esta anotado en un cuaderno contable y a fin de mes se revisan los recibos de caja para hacer un balance

¿Cómo cree usted que se mejorarían las ventas de su negocio por medio de las entregas a domicilio?

R/ promocionando y empleando herramientas tecnológicas que ayuden al cliente hacer este proceso, así agilizaría más la solicitud de pedidos.

¿Conoce alguna herramienta sistematizada y personalizada que le permita manejar y controlar los pedidos de los clientes con entregas a domicilio?

R/ Para el área de licores no

¿Conoce o utiliza aplicaciones para celulares que realicen operaciones para algún tipo de transacción comercial o financiera? Que opción le merecen?

R/ NO

¿Cree usted que una aplicación de estas ayudaría a la entrega de domicilios? ¿Cómo la visualiza para su negocio?

R/ Si, porque ya todo el mundo tiene un Smartphone en sus manos y es más cómodo para que realicen sus pedidos desde el lugar donde estén ubicados.

OBSERVACIONES

Tener en cuenta que la aplicación debe ser de fácil manejo

Fuente Analista Revisor

Margarita Obando Javier Gómez Leonardo Cubides

167

Anexo 5. Encuesta

¿En qué parte realiza la compra de Licores y productos relacionados para sus

fiestas o para su negocio? *

o Supermercado

o Estanquillo

o Distribuidora

o Tienda

o Otros:

¿Cuándo compra Licores o productos similares, la entrega es a domicilio? *

o Nunca

o Siempre

o A veces

¿De qué forma adquiere o compra Licores para sus fiestas, o para su negocio? *

o Telefónica

o Página Web

o Aplicación Móvil

o Directa

¿Cuál cree que es el tiempo adecuado para la entrega de un pedido a domicilio? *

o Dos Horas

o Una Hora

o Media Hora

o Cuarto de Hora

¿Considera que si el tiempo de entrega es mínimo se debe cobrar por el domicilio? *

o Si

168

o No

¿Con qué frecuencia usted compra Licores para sus fiestas personales o para su negocio? *

o Una vez al mes

o Una vez por semana

o Dos veces por semana

o Tres veces por semana

o A Diario

¿Conoce alguna aplicación para teléfonos celulares que le permita comprar licores y/o productos de estanquillo a domicilio en su ciudad? *

o Si

o No

¿Utiliza alguna aplicación (App) para la compra de Licores a domicilio para sus fiestas personales o para su negocio? *

o Si

o No

¿Qué Sistema Operativo usa en su celular? *

o Iphone (IOS)

o BlackBerry

o Android

o Windows Phone

o Otro

¿Le gustaría adquirir una aplicación en su celular que le permita comprar Licores a domicilio igual que en su punto de venta preferido? *

o Si

o No

169

Adicional a las compras, ¿Qué otros servicios le gustaría que le brindara dicha aplicación? *

o Registro de sus datos personales

o Estado de sus pedidos

o Consulta de sus compras

o Visualización de Portafolio de productos

o Visualización de Ofertas y/o Descuentos

o Pagos on-line

o Otros:

Indique que otro servicio le gustaría que le brindara esta aplicación. *

170

Anexo 6. Resumen de las Respuestas de la Encuesta.

171

172

173

Anexo 7. Manual de Usuario

MANUAL DE USUARIO APLICACIÓN MOVIL

174

TABLA DE CONTENIDO

CONTROL DE VERSIONES ...................... ¡ERROR! MARCADOR NO DEFINIDO.

1. ACUERDO DE CONFIDENCIALIDAD .......................................................... 176

2. OBJETIVO ........................................... ¡ERROR! MARCADOR NO DEFINIDO.

3. REGISTRO ................................................................................................... 178

4. LOGIN ........................................................................................................... 179

5. PÁGINA PRINCIPAL .................................................................................... 180

6. BÚSQUEDA .................................................................................................. 181

7. CATEGORÍAS .............................................................................................. 182

8. BOTÓN OPCIONES ..................................................................................... 183

9. PRODUCTOS ............................................................................................... 184

10. CANASTO .................................................................................................... 185

11. CONFIRMACIÓN .......................................................................................... 186

12. PERFIL ......................................................................................................... 188

175

Control de Versiones

Fecha (Año/mes/día)

Autor(es) Descripción Revisado por Versión

2014-11-11 Oscar Javier

Gómez T. Creación del Manual de

USUARIO Leonardo Cubides.

1.0

176

Acuerdo de confidencialidad

El receptor de este documento debe leer detenidamente este capítulo y determinar si está de acuerdo con lo escrito, de no estarlo debe eliminar de manera inmediata este documento, el medio electrónico o físico que lo contenga.

Este documento es entregado con la certeza de que el tenedor tiene y asume la responsabilidad de guardar el secreto y la confidencialidad de todos los datos recogidos en él, así como las ideas y planteamientos producto de las reuniones con el objeto de hacer seguimiento a la ejecución del proyecto. Igualmente tiene y asume su correcta y diligente custodia en orden a evitar que trascienda total o parcialmente a cualquier persona o entidad que no se encuentre involucrada en el proyecto. La mera tenencia de este documento significa que el tenedor acepta su responsabilidad. Aun así, podrá ser responsable de todos los daños y perjuicios que para el autor del documento se deriven como consecuencia del incumplimiento doloso o culposo de dicho deber de custodia, privacidad y confidencialidad.

177

Objetivo

El principal objetivo de este manual es brindar un apoyo a los usuarios en el manejo y uso de la aplicación móvil dentro de su negocio.

178

Registro

Este documento puede contener información técnica, por lo tanto, se recomienda

que para un mayor entendimiento sea leído por una persona con conocimientos

previos en sistemas.

El módulo de registro es el que permite a cualquier usuario que desee utilizar la

aplicación móvil inscribirse en el sistema para poder realizar pedidos

posteriormente.

Nombre y apellido con el

que se va registrar

Indica si es una persona natural o

jurídica. Esto se solicita para identificar el

tipo de cliente que se está registrando

Numero de celular de contacto

Número fijo de contacto

Correo electrónico el cual se utilizara

como dato para el momento del logueo

Ingreso del password con el que se va

acceder a la aplicación al momento del

logueo

Dirección con la cual se registra en

nuestro sistema para el envió de sus

pedidos

Botón que aplica el registro en el

sistema

179

Login

La opción de login permite a todo cliente registrado dentro de la aplicación poder

ingresar y efectuar pedidos.

Correo electrónico que registro al

momento de registrarse

Password o clave de acceso que

ingreso en el registro

180

Página Principal

La página principal de la aplicación móvil es donde se muestran los productos y

opciones que la aplicación brinda al usuario para su navegación.

Nota: Las opciones se detallan en este mismo manual más abajo

Opción que permite realizar búsqueda de

productos personalizada.

Opción Que permite visualizar todas las

categorías en una sola pantalla

Opciones permite visualizar algunas

estrategias comerciales ofrecidas dentro de

la aplicación

Sección de productos donde el cliente

podrá ir visualizándolos solo deslizando su

dedo sobre la pantalla de lado a lado

Información del valor del pedido o

productos seleccionados

“Nosotros” es una opción donde el

proveedor puede mostrar al usuario una

reseña de quien es o cuál es su misión visión

del negocio.

“perfil” es una opción que da acceso a los

datos personales del usuario

“Pedidos” da acceso al módulo de pedidos

donde se podrá observar la información

detallada de los pedidos

181

Búsqueda

La opción de búsqueda permite al usuario realizar búsquedas personalizadas. Por

ejemplo si ya tiene identificado el producto que desea consultar puede ingresar el

nombre en este cuadro y el sistema mostrara los resultados obtenidos.

.

Dentro de este cuadro es donde el usuario

ingresa la palabra del producto que desea

buscar específicamente.

182

Categorías

La opción de categorías permite al usuario seleccionar una, donde podrá ir a

visualizar la información de la categoría seleccionada. Esta es una forma en que el

usuario puede navegar dentro de la aplicación y buscar el producto de su interés.

Las siguientes imágenes muestran que la opción tiene un listado de categorías y

al seleccionar una se mostrara en pantalla la seleccionada.

183

Botón Opciones

Este botón permite al proveedor mostrar al usuario promociones, combos u ofertas

que se ofrecen dentro de la aplicación móvil.

Cuando el usuario de click en esta opción el sistema va mostrar una ventana para

que el cliente escoja uno de los ítems que más se adapten a su búsqueda. La

siguiente imagen muestra lo mencionado anteriormente

184

Productos

Acá se muestra toda la información detallada de un producto seleccionado

después de una búsqueda realizada a través de la aplicación.

Información detallada del producto

Imagen del producto

Este slide permite al usuario seleccionar la

cantidad que desea adquirir de un producto.

Solo debe arrastrar el slide de izquierda a

derecha

185

Canasto

El canasto es la opción dentro de la aplicación móvil donde los clientes que se

encuentren registrados podrán visualizar los detalles de los pedidos que han

realizado a través de la app.

Cuando el cliente consulta el canasto puede visualizar el detalle de lo que va

solicitar por medio de la app, puede ver los precios, el producto y la cantidad.

También puede quitar de la lista, añadir más productos o limpiar el canasto

definitivamente.

Detalle de los productos seleccionados

durante la búsqueda

Al dar clic pueden quitar de la lista un

producto

Limpia todo el canasto

Guarda lo que hay en el canasto para

posterior realizar el pedido

186

Confirmación

La confirmación es el proceso antes del pedido donde el usuario confirma la

dirección donde va ser entregado su pedido.

Dentro del sistema el usuario puede registrar en su perfil las direcciones que el

más utilice más frecuentemente para poder utilizarlas al momento de realizar un

pedido. Obsérvese la siguiente imagen de cómo se verían varias direcciones

registradas en el perfil de un usuario.

Acá se debe confirmar la dirección de

entrega del pedido.

Cuando todo está confirmado realizamos el

pedido dando clic acá

187

188

Perfil

El perfil del usuario se diseñó para que el usuario pueda acceder a sus datos

personales y también pueda agregar direcciones concurrentes para ser utilizadas

de manera dinámica a la hora de realizar un pedido

En este campo el usuario puede registrar las

direcciones que él más utiliza al momento

de realizar pedidos a través de la aplicación

móvil

189

Anexo 8. Manual Técnico

MANUAL TÉCNICO APLICACIÓN MOVIL

190

CONTROL DE VERSIONES

Fecha

(Año/mes/día) Autor(es) Descripción Revisado por Versión

2014-11-28 Oscar Javier

Gómez T.

Creación técnico de

APLIACIÓN MOVIL

Leonardo

Cubides. 1.0

191

Acuerdo de confidencialidad

El receptor de este documento debe leer detenidamente este capítulo y determinar

si está de acuerdo con lo escrito, de no estarlo debe eliminar de manera inmediata

este documento, el medio electrónico o físico que lo contenga.

Este documento es entregado con la certeza de que el tenedor tiene y asume la

responsabilidad de guardar el secreto y la confidencialidad de todos los datos

recogidos en él, así como las ideas y planteamientos producto de las reuniones

con el objeto de hacer seguimiento a la ejecución del proyecto. Igualmente tiene y

asume su correcta y diligente custodia en orden a evitar que trascienda total o

parcialmente a cualquier persona o entidad que no se encuentre involucrada en el

proyecto. La mera tenencia de este documento significa que el tenedor acepta su

responsabilidad. Aun así, podrá ser responsable de todos los daños y perjuicios

que para el autor del documento se deriven como consecuencia del

incumplimiento doloso o culposo de dicho deber de custodia, privacidad y

confidencialidad.

192

INTRODUCCIÓN

La finalidad de este manual técnico es la de proporcionar al lector la lógica con la

que se ha desarrollado la aplicación, la cual se sabe que es propia de cada

programador; por lo que se considera necesario ser documentada.

Aclarando que este manual no pretende ser un curso de aprendizaje de cada una

de las herramientas empleadas para el desarrollo de la aplicación, sino

documentar su aplicación en el desarrollo móvil.

La implementación de un prototipo para la venta de licores a domicilio en

ambientes móviles se basa en una adaptación para teléfonos móviles ya que se

ha comprobado que conforme avanza la tecnología estos dispositivos cada vez

adquieren mejor funcionamiento y mejor adaptabilidad a las diferentes tecnologías

en este caso la móvil, por ello muchas personas han preferido este tipo de

dispositivos ya que son más prácticos y fácil de llevar debido a su tamaño y peso.

La aplicación móvil busca facilitar la comercialización y adquisición de productos

de estanquillo a través de tecnologías móviles como son los Smartphone.

Dispositivo que se ha ido convirtiendo actualmente en la herramienta preferida por

los usuarios.

193

Aspectos del análisis

Herramientas tecnológicas

Estas nuevas tecnologías involucran nuevos paradigmas de programación,

modelado de contenidos, herramientas multimedia, herramientas de conectividad

a bases de datos, herramientas de seguridad y hardware.

El prototipo se puede utilizar en cualquier sistema operativo móvil, sea Android,

IOS, Windows pone, porque la aplicación está desarrollada en jQuery Mobile que

es un framework desarrollado por JQuery que combina HTML5 y jQuery para la

creación de portales web móviles. Nos permite generar aplicaciones cuya

apariencia será siempre la misma independientemente del dispositivo desde el

que acceda un usuario, siempre y cuando el dispositivo acepte HTML5. Una de

las ventajas que se presentan en este tipo de tecnología es que tiene mayor

portabilidad y por eso muchos usuarios la utilizan.

El administrador web que es el que permite administrar el contenido que aparece

dentro del prototipo móvil puede ser visualizado desde cualquier explorador ya que

está desarrollado bajo PHP, JavaScript, Css3 y HTML5 los cuales cualquier

navegador actual soporta.

194

Especificaciones Técnicas

Sistema operativo: No importa ya que es un prototipo desarrollado para que

opere en cualquier sistema operativo móvil que soporte HTML5

Manejador de base de datos: MySql

Lenguajes de Programación utilizados para el desarrollo móvil y web:

PHP, HTML5, Css3, JavaScript, Framework de JQuery Mobile

Servidor de aplicaciones: Servidor que permita ejecutar un Servidor web

apache 2.1

Navegador Web: el administrador web puede ser ejecutado en cualquier

explorador

Teléfono celular: Cualquier Smartphone que soporte HTML5 y tenga acceso app

Store para poder descargar la aplicación móvil.

195

Diccionario de Datos

Las tablas a utilizar se manejaran en las tablas ya existentes de la base de datos

de la aplicación móvil las cuales son categoría, ciudad, cliente, DetCanasto,

dirección, Estado, ListaPrecios, Pedido, Prod_lista, Producto, TipoCliente, Usuario.

Tabla 1 - Categoría

Campo Tipo Nulo Comentarios

id_cat Varchar(10) No Identificador de la tabla categoría

nom_cat Varchar(50) No Nombre asignado a la categoría

desc_cat Varchar(200) No Descripción asignada a la categoría

Tabla 2- Ciudad

Campo Tipo Nulo Comentarios

id_ciudad Varchar(10) No Identificador de la tabla Ciudad

nom_ciudad Varchar(200) No Nombre asignado a la Ciudad

Tabla 3 - Cliente

Campo Tipo Nulo Comentarios

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

id_tipcli Varchar(10) No Identificador de la tabla Tipo_cliente (Llave Foránea)

nom_cliente Varchar(100) No Nombres registrados por el cliente

ape_cliente Varchar(100) No Apellidos registrados por el cliente

nomcial_cliente Varchar(500) No Nombre comercial del cliente, en caso que requiera

cel_cliete Varchar(50) No Número teléfono celular registrado por el cliente

tel_cliete Varchar(50) No Número teléfono fijo registrado por el cliente

mail_cliente Varchar(200) No Correo electrónico registrado por el cliente

pwd_cliente Varchar(100) No Password de ingreso registrada por el cliente

id_est Char(1) No Identificador de la tabla estado para Cliente

id_lista Varchar(10) No Identificador de la tabla ListaPrecios

196

Tabla 54 - DetCanasto

Campo Tipo Nulo Comentarios

id_detalle Int(11) No identificador del canasto autoincrementable

id_prod Varchar(10) No Identificador de la tabla productos

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

nom_cliente Varchar(200) No Nombres y Apellidos cliente

nom_prod Varchar(100) No Nombre asignado al producto

cant_prod Float No Cantidad de unidades resgistradas por el cliente

precio_prod Float No Precio asignado al producto

subt_prod Float No Cantidad de producto por el precio asignado

id_est Char(1) No Identificador de la tabla estado para detcanasto

Tabla 5 - Dirección

Campo Tipo Nulo Comentarios

id_dir Int(11) No identificador de tabla, autoincrementable

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

dir_cliente Varchar(500) No Dirección asignada por el cliente

id_ciudad Varchar(10) No Identificador de la tabla Ciudad

id_est Char(1) No Identificador de la tabla estado para Dirección

Tabla 6 - Estado

Campo Tipo Nulo Comentarios

id_est Char(1) No Identificador de la tabla Estado

nom_est Varchar(50) No Nombre asignado para el estado

desc_est Varchar(200) No Descripción asignada al Estado

Tabla 7 - ListaPrecios

197

Campo Tipo Nulo Comentarios

id_lista Varchar(50) No Identificador de la Lista de Precios

nom_lista Varchar(100) No Nombre asignado para la Lista de Precios

Tabla 8 - Pedido

Campo Tipo Nulo Comentarios

id_ped Int(11) No identificador de tabla, autoincrementable

id_detalle Int(11) No identificador del canasto autoincrementable

id_cliente Varchar(50) No Identificador del ciente - Cédula Ciudadanía

nom_cliente Varchar(200) No Nombres y Apellidos cliente

dir_ped Varchar(500) No Dirección asignada por el cliente

fechora_ped Datetime No Fecha y Hora en que se registró el pedido

valor_ped Float No Valor total del Pedido

id_est Char(1) No Identificador de la tabla estado para Pedido

id_user Varchar(50) No Identificador del Usuario que administra el Pedido

nom_user Varchar(200) No Nombre del Usuario que administra el Pedido

observ_ped Varchar(300) No Observación adicional sobre el pedido

Tabla 9 - Prod_Lista

Campo Tipo Nulo Comentarios

id_prod Varchar(10) No Identificador de la tabla productos

id_lista Varchar(50) No Identificador de la Lista de Precios

precio_prod Float No Valor asignado al producto según la Lista Precios

Tabla 10 - Producto

198

Campo Tipo Nulo Comentarios

id_prod Varchar(10) No Identificador asignado a cada producto

nom_prod Varchar(100) No Nombre asignado a cada producto

desc_prod Varchar(300) No Descripción mas detallada acerca del Porducto

img_prod Varchar(300) No Describe la ruta de ubicación de la imagen

id_cat Varchar(10) No Identificador de la categoría del Producto

id_est Char(1) No Identificador del estado del Producto

Tabla 11 - TipoCliente

Campo Tipo Nulo Comentarios

id_tipcli Varchar(10) No Identificador asignado para el tipo de cliente

nom_tipcli Varchar(100) No Nombre asignado al tipo de cliente

Tabla 12 - Usuario

Campo Tipo Nulo Comentarios

id_user Varchar(20) No Identificador asignado al usuario - Cédula

nom_user Varchar(100) No Nombre registrado por el usuario

ape_user Varchar(100) No Apellido registrado por el usuario

pwd_user Varchar(100) No Password de ingreso registrado por el Usuario

id_est Char(1) No Identificador del estado para el Usuario

199

A continuación se muestra el diagrama de clases para que el lector del manual

pueda tener una imagen global de la estructura utilizada.

200

Instalación de aplicaciones

Para la instalación del administrador web se debe instalar un servidor apache. Se

utiliza el Xampp ya que permite instalar varios servicios necesarios a la vez y

administrarlos a través de su panel de control.

Instalación app en Smartphone

Para la instalación de la aplicación móvil en un Smartphone, solo se debe ingresar

a Play Store, buscar la aplicación con el nombre que se haya publicado y

descargar la app en el móvil. La app se instalara automáticamente en el

dispositivo.

Instalación Xampp

Se debe descargar Xampp 1.8.3 desde la página del proveedor preferiblemente.

Se recomienda descargarlo desde la siguiente Url www.apachefriends.org.

Cuando ya se haya descargado el instalador procedemos a colocar en marcha el

instalador el cual nos mostrara dos avisos.

El primero pregunta que si tenemos corriendo un antivirus corriendo en el servidor

es mejor inactivarlo durante la instalación.

201

El segundo aparece si está activado el control de cuentas de usuario y recuerda

que algunos directorios tienen permisos restringidos.

A continuación se inicia el asistente de instalación.

202

Los componentes mínimos que instala xampp son el servidor apache y el lenguaje

PHP, pero Xampp también instala otros elementos. En la pantalla de selección de

componentes se puede elegir cuales son los que necesitamos. En este caso

MySql, PhpMyAdmin.

203

En la siguiente elegimos la carpeta donde se va instalar el Xampp.

204

En la siguiente ventana que nos sale desactivamos la casilla.

205

Luego damos clic en NEXT para comenzar la instalación de xampp en nuestro

servidor

206

207

Por ultimo se nos pide finalizar la instalación y si queremos abrir el panel de

control dejamos la casilla activa.

208

El panel de control de Xampp se puede acceder mediante el menú inicio-todos los

programas-Xampp-Xampp control panel.

Cuando abrimos el panel de control debemos iniciar los servicios que vamos a

necesitar para poder acceder sin problemas a la aplicación web.

Iniciamos Apache y MySql

209

Después de haber inicializado los servicios, se abre el explorador y se coloca en la

barra Localhost/Xampp. Y escogemos el idioma con que deseamos trabajar.

210

Una vez elegido el idioma Xampp nos mostrara el panel de administración web

Dentro de este panel web podremos administrar la base de datos utilizada para el

funcionamiento de la aplicación móvil y del administrador web.

211

Funcionamiento de la aplicación en ambientes Móviles

A continuación se mostrara cada uno de los módulos que se visualizan dentro del

prototipo de aplicación móvil. También se nombrara el archivo que contiene el

código que hace posible su funcionamiento.

Especificación de los módulos

Vista del método registro de cliente

212

ARCHIVO INGRESO.php

<?php

include("ClaseCliente.php");

$Id=$_POST["TxtId"];

$Nom=$_POST['TxtNom'];

$Ape=$_POST['TxtApe'];

$NCial=$_POST['TxtNCial'];

$Cel=$_POST['TxtCel'];

$Tel=$_POST['TxtTel'];

$Mail=$_POST['TxtMail'];

$Pwd=$_POST['TxtPwd'];

$Dir=$_POST['TxtDir'];

$Tip="TP1";

$Est="1";

$List="L1";

$Cli = new Cliente();

$Cli-

>ConstructorCliente($Id,$Tip,$Nom,$Ape,$NCial,$Cel,$Tel,$Mail,$Pwd,$Est,$

List);

$Res=$Cli->RegistrarCliente();

$Cli->RegistrarDireccion($Id,$Dir);

if($Res==0)

213

header('Location: FrmIngreso.php');

else

header('Location: Principal.php');

?>

Vista del método de Logueo de cliente

214

Para el logue de cliente se debe validar en la base de datos que el usuario se

encuentre registrado en el sistema.

ARCHIVO Login.php

<?php

session_start();

include_once("ClaseCliente.php");

$User=$_POST['TxtId'];

$Pwd=$_POST['TxtPwd'];

$Cli = new Cliente();

$Res=$Cli->LoguearCliente($User,$Pwd);

$CadSql="SELECT * FROM producto P, prod_lista L

WHERE P.id_prod=L.id_prod and L.id_lista='L1'";

if($Res==1)

{

$_SESSION['id_cliente'] = $User;

$_SESSION['CadSql'] = $CadSql;

header('Location: Principal.php');

}

else

header('Location: index.php');

?>

215

Vista del método modificar cliente

Modificar cliente utiliza una función que permite realizar actualizaciones en la base

de datos cuando el usuario realizar cambios en sus datos personales o datos

ingresados al momento de registrarse.

216

ARCHIVO claseCLiente.php

public function ModificarDatosCliente()

{

$Db = new DbGestor();

$Db->Abrir();

$SqlConsulta = "UPDATE cliente SET nom_cliente='$this-

>nom_cliente', ape_cliente='$this->ape_cliente', nomcial_cliente='$this-

>nomcial_cliente',

cel_cliente='$this->cel_cliente',

tel_cliente='$this->tel_cliente', mail_cliente='$this->mail_cliente',

pwd_cliente='$this->pwd_cliente'

WHERE id_cliente='$this->id_cliente'";

$Db->Sql($SqlConsulta);

$Db->Cerrar();

}

217

Vista de la interfaz Principal

<?php

session_start();

include("ClaseProducto.php");

include("ClaseCliente.php");

$Prod = new Producto();

$CadSql=$_SESSION['CadSql'];

218

$Id=$_SESSION['id_cliente'];

$ArrP=array();

$ArrP=$Prod->MostrarProductos($CadSql);

$Cant=count($ArrP);

?>

<html>

<head>

<title>Principal</title>

<meta name="viewport" content="width=device-width, initial-scale=1,

maximum-scale=no">

<link rel="stylesheet" type="text/css" href="Jquery/jquery.mobile-

1.4.2.css"/>

<link rel="stylesheet" type="text/css"

href="Jquery/jquery.mobile.structure-1.4.2.css"/>

<link rel="stylesheet" type="text/css"

href="Jquery/jquery.mobile.theme-1.4.2.css"/>

<script type="text/javascript" src="Jquery/jquery-

1.11.0.min.js"></script>

<script type="text/javascript" src="Jquery/jquery.mobile-

1.4.2.min.js"></script>

</head>

<body>

<div data-role="page" id="PrincipalPedidos">

<div data-role="header" data-theme="a" data-position="fixed">

<div data-role="navbar" data-theme="a">

<ul>

<li><a href="Buscar.php" class="ui-btn-active" data-

transition="flip" data-icon="help" data-rel="dialog">Buscar</a></li>

219

<li><a href="Categorias.php" data-transition="flip" data-

iconpos="right" data-icon="grid" data-rel="dialog">Categoria</a></li>

<li><a href="Opciones.php" data-transition="flip" data-

iconpos="right" data-icon="star" data-rel="dialog">Opciones</a></li>

</ul>

</div>

</div>

<!-- ********** Cuerpo de la Pagina ************* -->

<div data-role="main" class="ui-content">

<div class='ui-grid-b' align='center'>

<?php

for($i=0;$i<$Cant;$i++)

{

echo "<div class='ui-block-b'><a

href='SeleccionarProd.php' data-rel='dialog'><img style='width: 55px;

height: 85px;' alt='' src='Imagenes/".$ArrP[$i]['img_prod'].".jpg'></a>";

$_SESSION['SelProd'] = $ArrP[$i]['id_prod'];

echo "<div style='font-weight: bold; font-

family: Arial; color: black;'

class='imgCaption'><small><small><small>".$ArrP[$i]['nom_prod']."

$".$ArrP[$i]['precio_prod']."</small></small></small></div></div>";

}

?>

</div>

</div>

<!-- *********************** -->

<div data-role="footer" data-position="fixed" class="ui-bar" data-

position="fixed">

220

<hr>

<div data-theme="a">

<fieldset class="ui-grid-a" align="center" data-theme="a">

<div class="ui-block-a"><a href="Canasto.php" data-

rel="dialog"><img style="width: 35px; height: 50px;" alt=""

src="Imagenes/Carro_de_Licores.jpg"></a>

<div style="font-weight: bold; font-family: Arial;

color: red;" class="imgCaption">

<small><small>Valor Pedido: $

111.500</small></small></div></div><br>

<div class="ui-block-b"><a href="Pedido.php" data-

role="button" data-theme="b" data-rel="dialog">Pedir</a>

<center><small><small><small>Prohibase el

expendio de bebidas embriagantes a menores de

edad</small></small></small></center>

</div>

</fieldset>

</div>

<hr>

<div data-role="navbar" data-theme="c">

<ul>

<li><a href="Nosotros.php" class="ui-btn-active" data-

transition="flip" data-iconpos="right" data-

rel="dialog">Nosotros</a></li>

<li><a href="FrmModPerfil.php" data-transition="flip"

data-iconpos="right" data-rel="dialog">Perfil</a></li>

<li><a href="MisPedidos.php" data-transition="flip" data-

iconpos="right" data-rel="dialog">Pedidos</a></li>

</ul>

</div>

</div>

</div>

221

Vista Método Buscar

El método Buscar permite realizar una búsqueda especifica dentro de la aplicación

móvil. El archivo que permite realizar este proceso es Buscar.php y

BuscarProducto.php

222

Vista método opciones de compra

La opción de compra es un módulo donde se pueden cargar combos, descuento u

ofertas que el proveedor quiera promocionar a través de la aplicación al usuario

final dándole así otra idea de compra o permitiéndole acceder a promociones que

lo beneficien

223

Archivo BuscarOpcion.php

<?php

session_start();

$Opc=$_POST["Opciones"];

$CadSql="SELECT * FROM producto P, prod_lista L

WHERE P.id_prod=L.id_prod and L.id_lista='$Opc'";

$_SESSION['CadSql'] = $CadSql;

header('Location: Principal.php');

?>

Vista Método Categorías

224

Categorías es una funcionalidad dentro de la aplicación móvil que permite al

usuario ver de otra forma los productos ofrecidos a través del sistema.

ARCHIVO Categorias.php

<?php

include("ClaseProducto.php");

session_start();

$Pro = new Producto();

$ArrCat=array();

$ArrCat=$Pro->CargarCategorias();

$cant=count($ArrCat);

?>

<html>

<head>

<title>Categorias</title>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body>

<div data-role="page" id="Buscar">

<div data-role="header" data-theme="b">

<h1>Categorias</h1>

</div>

<div data-role="content" data-theme="a">

<form action="BuscarCategoria.php" method="post" >

<select id="Categorias" name="Categorias" data-native-menu="false"

data-theme="b">

<option>Lista de Categorias</option>

<?php

225

header("Content-Type: text/html;charset=utf-8");

for ($i=0; $i<$cant; $i++)

{

echo "<option

value=".$ArrCat[$i]['id_cat'].">".$ArrCat[$i]['nom_cat']."</option>";

}

?>

</select>

<input type="submit" name="Categoria" value="Ok" data-theme="a" data-

icon="check" data-iconpos="right" data-inline="true"></b>

</form>

</div>

226

Módulo de canasto

El canasto es el modulo donde el usuario puede visualizar los productos que ha

seleccionado y que desea adquirir. Puede ver el precio, la descripción, seleccionar

la cantidad que va solicitar, puede agregar y quitar de la lista.

En el archivo Canasto.php se encuentra el código que hace posible visualizar los

productos agregados al canasto.

227

Vista Método Pedir

Esta opción permite al cliente confirmar sus datos para el envió de su pedido.

228

Productos

Acá se muestra toda la información detallada de un producto seleccionado

después de una búsqueda realizada a través de la aplicación.