Vista previa del material en texto
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ FACULTAD DE INGENIERÍA DE SISTEMAS TESIS DISEÑO DE UN SISTEMA BASADO EN TECNOLOGÍA WEB PARA EL CONTROL Y GESTIÓN DE VENTA DE UNIDADES MÓVILES Presentada por: VÁSQUEZ RUDAS, Jhubel Favio. PARA OPTAR EL TÍTULO PROFESIONAL DE: INGENIERO DE SISTEMAS HUANCAYO –PERÚ 2014 ii ASESOR: Mg. Jesús Ulloa Ninahuaman iii AGRADECIMIENTOS: Ante todo doy gracias a Dios Todopoderoso por darme la oportunidad de llegar hasta este punto de mi existencia en que cumplo una meta tan importante como lo es graduarme de Ingeniero de Sistemas. Agradezco a mis padres por supuesto, por todo el apoyo y la confianza que han tenido para conmigo, y su deseo de verme graduado. Igualmente me siento agradecido con mi asesor y tutor de Trabajo de Grado, al cual le debo el que esta nueva experiencia de realizar mi tesis. A todos los docentes que en diversas formas contribuyeron con el fomento de mis conocimientos en la materia de computación y sistemas de información. Por último, pero no menos importante, agradezco a mis amigos (los que no pertenecen a la universidad) y a mis compañeros de estudios universitarios, quienes nos ayudamos entre sí, y que al igual que yo, espero pronto saber que finalizaron. iv DEDICATORIA A mis padres por su apoyo incondicional para lograr mis objetivos en mi carrera profesional. v RESUMEN La presente Tesis intitulada “Diseño de un Sistema basado en tecnología Web para el control y gestión de venta de unidades móviles”. Para diseñar y crear este sistema se está utilizando Tecnologías de la Información, un gestor de base de datos, tecnologías web como medio de comunicación y elementos de seguridad que brindan confidencialidad al sistema y a los datos que se transmiten. Para cumplir con estos requisitos la aplicación se está utilizando de lenguaje de etiquetas HTML, el lenguaje de programación Java y un sistema gestor de datos MySQL para generar contenidos dinámicos. Además se utilizarán diferentes herramientas que ayuden a cumplir con los requerimientos especificados en el diseño. El diseño del sistema web que se presenta en este trabajo de tesis es crear un sistema de control y gestión que permita a la agencia de venta ofrecer una fuente de información a través de la web, con el sistema, se pretende permitir al usuario acceder a la información de la agencia que necesite para poder realizar los procesos que le corresponde, enlazándose desde cualquier computador de la agencia. El sistema permitirá hacer análisis de los datos que contiene la Base de Datos utilizando los formularios de búsquedas para obtener resultados específicos como datos de cliente, productos, ventas realizadas; los cuales son importantes para evaluar el desempeño de los vendedores y el estado de ventas de la agencia. Los datos que se transmiten son protegidos por los elementos de seguridad que brindan confiabilidad. El diseño del sistema Web puede mejorar la imagen y los servicios de la empresa mediante una aplicación que facilite las operaciones y el control de la información de los clientes y productos además de mejorar el proceso de atención de venta a los clientes lo cual ayudaría a captar nuevos clientes, por lo que, el sistema Web vendrá complementado con una serie de funcionalidades para el manejo y control de información relacionada con la empresa. vi ABSTRACT This thesis entitled "Design of a Web-based technology for the control and management of mobile Information System." To design and create this system is being used Information Technology, a manager of database, and web technologies as a means of communication and security features that provide confidentiality to the system and the data transmitted. To meet these requirements the application is using HTML language tags, the Java programming language and MySQL database manager system to generate dynamic content. Also different tools to help meet the requirements specified in the design will be used. Web design system presented in this thesis is to create a control and management system that allows the agency to provide a source of sales information via the web, the system is intended to allow the user to access information the agency needs to perform processes corresponding to it, from any computer liaise agency. The system will do data analysis containing the database using forms searches for specific outcomes such as customer data, product sales; which are important for evaluating the performance of vendors and sales status of the agency. The data transmitted is protected by security features that provide reliability. The design of the Web system can improve the image and services of the company through an application that facilitates the operations and control of customer information and products as well as improving the care process of selling to customers which would help capture new customers, so that the web system will come complete with a variety of features to manage and control information related to the company. vii INDICE Pág. ASESOR AGRADECIMIENTOS DEDICATORIA RESUMEN ABSTRACT ÍNDICE 1. INTRODUCCIÓN CAPÍTULO I GENERALIDADES 1.1. PLANTEAMIENTO DEL PROBLEMA 1.2. FORMULACIÓN DEL PROBLEMA 1.3. OBJETIVOS DE LA INVESTIGACIÓN 1.4. JUSTIFICACIÓN 1.4.1. Justificación Practica 1.4.2. Justificación Teórica 1.4.3. Justificación Metodológica 1.5. HIPÓTESIS 1.6. DISEÑO METODOLÓGICO 1.6.1. Tipo de Investigación 1.6.2. Nivel de la Investigación 1.6.3. Fuentes de Información 1.6.4. Alcance 1.6.5. Operacionalizacion de Variable 1.6.6. Validación de Indicadores 2. CAPÍTULO II MARCO DE REFERENCIA 2.1. ANTECEDENTES 2.1.1. Consumo de teléfonos móviles entre adolescentes y jóvenes en el Perú 2.1.2. Diseño e implementación de una tienda virtual 2.1.3. Diseño e implementación de un portal web para una empresa de sistemas de iluminación 2.1.4. Desarrollo de una aplicación Web para la gestión de Entornos Virtuales 2.1.5. Desarrollo de una aplicación web basada en tecnología helpdesk para ofrecer servicios de soporte técnico e inventario en la gerencia de ii iii iv v vi vii 01 02 03 03 03 03 04 05 05 05 05 06 06 07 07 07 09 09 10 11 12 viii informática de la Empresa C.A. Hidrológica del centro, en valencia estado Carabobo 2.2. MARCO TEÓRICO 2.2.1. Programación Orientada a Objetos 2.2.2. Base de Datos 2.2.3. Base de Datos – MySQL 2.2.4. Ingeniería de Software 2.2.5. Programación Web 2.2.6. Sitio Web 2.2.7. El Lenguaje HTML 2.2.8. Plataforma J2EE 2.2.9. CSS 2.2.10. Ajax 2.2.11. Apache Web Server 2.2.12. Concepto de Control de Gestión 2.2.13. Metodología de desarrollo de software 2.2.14. Metodología Rational Unified Process (RUP) 2.3. Modelo Aplicativo 2.4. Marco Conceptual 3. CAPÍTULO III INTERVENCION METODOLOGICA 3.1. CAPTURA DE REQUISITOS 3.1.1. Modelado de Negocio 3.1.2. Requerimientos 3.1.2.1. Requerimientos Funcionales 3.1.2.2. Requerimientos No Funcionales 3.1.3. Actores del Sistema 3.1.4. Diagramas de Caso de Uso 3.2. ANALISIS 3.2.1. Modelos de Caso de Uso 3.2.1.1. Realización de Casos de Uso del Negocio a. Caso Uso del Módulo de Personal b. Caso Uso del Módulo de Almacén - Ingreso c. Caso Uso del Módulo de Almacén - Funciones d. Caso Uso del Módulo de Activación e. Caso Uso del Módulo de Ventas - Postpago f. Caso Uso del Módulo de Ventas - Prepago 3.2.2. Análisis de Riesgos 3.3. DISEÑO 12 13 13 13 14 15 16 16 17 18 18 19 19 19 21 22 27 30 32 32 33 33 36 36 37 37 37 38 39 40 41 4242 44 46 46 ix 3.3.1. Diagrama de Clase 3.3.2. Diagrama de Paquetes 3.3.3. Diagrama de Secuencia a) Diagrama 1: Personal b) Diagrama 2: Almacén – Ingreso c) Diagrama 3: Almacén – Funciones d) Diagrama 4: Activación e) Diagrama 5: Ventas 3.3.4. Diagrama de Colaboración a) Diagrama 1: Personal b) Diagrama 2: Almacén - Ingreso c) Diagrama 3: Almacén - Funciones d) Diagrama 4: Activación e) Diagrama 5: Ventas 3.3.5. Generación de Base de Datos 3.3.6. Modelo de Diseño 3.3.6.1. Interfaz del Sistema 3.4. IMPLEMENTACION 3.4.1. Arquitectura del Sistema 3.4.1.1. Diagrama de Capas 3.4.2. Publicación 3.5. PRUEBAS 3.5.1. Justificación de las Pruebas de Cristal y Unitarias 3.5.2. Pruebas de Integración 3.5.3. Pruebas de Estrés 3.5.4. Pruebas de Seguridad 3.5.4.1. Resultado de pruebas Owasp 4. CAPÍTULO IV ANALISIS Y DISCUSION DE RESULTADOS 4.1. MAECO ESTADISTICO 4.1.1. Procesos Completados A. Administración del Personal B. Generación de Ventas C. Ingreso de Equipos y Tarjetas SIM D. Inventario de Equipos y Tarjetas SIM E. Consolidación de Ventas 4.1.2. Respecto a los Usuarios 4.2. PRUEBA DE HIPOTESIS 4.2.1. Análisis Estadístico de las Pruebas 47 47 49 49 50 50 51 52 53 53 53 54 54 55 56 56 56 65 66 67 68 72 72 73 73 75 75 77 77 77 78 78 79 79 79 80 84 x CONCLUSIONES RECOMENDACIONES REFERENCIAS xi INDICE DE FIGURAS Pág. Figura N° 2.1. Modelos que Comprende UWE Figura N° 2.2. Estructura de RUP Figura N° 2.3. Fases e Hitos en RUP Figura N° 2.4. Diagrama de Representación del ejemplo Figura N° 2.5. Iteración Rup Figura N° 3.1. Diagrama General de Responsables Figura N° 3.2. Diagrama de Caso de Uso Módulo Personal Figura N° 3.3. Diagrama de Caso de Uso Módulo Almacén – Ingreso Figura N° 3.4. Diagrama de Caso de Uso Módulo Almacén – Funciones Figura N° 3.5. Diagrama de Caso de Uso Módulo Activación Figura N° 3.6. Diagrama de Caso de Uso Módulo Ventas – postpago Figura N° 3.7. Diagrama de Caso de Uso Módulo Ventas – Prepago Figura N° 3.8. Diagrama de Clase del Sistema Figura N° 3.9. Diagrama de Organización del Área Figura N° 3.10. Diagrama de Secuencia Módulo Personal Figura N° 3.11. Diagrama de Secuencia Módulo Almacén – Ingreso Figura N° 3.12. Diagrama de Secuencia Módulo Almacén – Funciones Figura N° 3.13. Diagrama de Secuencia Módulo Activación Figura N° 3.14. Diagrama de Secuencia Módulo Ventas Figura N° 3.15. Diagrama de Colaboración Módulo Personal Figura N° 3.16. Diagrama de Colaboración Módulo Almacén – Ingreso Figura N° 3.17. Diagrama de Colaboración Módulo Almacén – Funciones Figura N° 3.18. Diagrama de Colaboración Módulo Activación Figura N° 3.19. Diagrama de Colaboración Módulo Ventas Figura N° 3.20. Base de Datos del Personal Figura N° 3.21. Pantalla de Acceso Figura N° 3.22. Pantalla de Menú Principal Figura N° 3.23. Pantalla de Ventas Colectivos Figura N° 3.24. Pantalla de Ventas Negocios Figura N° 3.25. Pantalla de Ventas Residencial Figura N° 3.26. Pantalla de Modificación del Personal Figura N° 3.27. Pantalla de Modificación de Activación Figura N° 3.28. Pantalla de Modificación del Cliente Figura N° 3.29. Pantalla de Ingreso de Tarjeta SIM Figura N° 3.30. Pantalla de Registro tipo Chip Figura N° 3.31.Pantalla de Ingreso de Planes Figura N° 3.32.Pantalla de Ingreso de Equipos 22 23 25 26 28 38 39 40 41 42 43 44 48 49 49 50 51 51 52 53 53 54 54 55 56 57 58 59 59 60 61 61 62 62 63 63 63 xii Figura N° 3.33. Pantalla de Búsqueda de Tarjeta SIM Figura N° 3.34. Pantalla de Búsqueda de Equipos Figura N° 3.35. Pantalla de Búsqueda de Clientes Figura N° 3.36. Diagrama de Componentes Figura N° 3.37. Pantalla de Ingreso a cPanel Figura N° 3.38. Pantalla de Opciones Figura N° 3.39. Pantalla Administrador de Archivos Figura N° 3.40. Pantalla de Selección de Directorios Figura N° 3.41. Pantalla Web Root Figura N° 3.42. Pantalla Carga de Archivos Figura N° 3.43. Pantalla Carga y Solicitudes hechas al Servidor Figura N° 4.1. Resultado de Cuestionario Figura N° 4.2. Tiempo de Demora en el Proceso de Ventas Figura N° 4.3. Tiempo de Demora en el Proceso de Ingreso de Series Figura N° 4.4. Tabla de la T de Student Figura N° 4.5. Calculo del Estadígrafo “t” 64 64 65 66 69 69 70 70 71 71 75 82 83 84 85 86 xiii INDICE DE CUADROS Pág. Cuadro N° 1.1.: Preguntas Frecuentes Cuadro N° 1.3.: Variables e Indicadores Cuadros del Diagrama General de Responsables Cuadros del Diagrama de Caso de Uso Módulo Personal Cuadros del Diagrama de Caso de Uso Módulo Almacén – Ingreso Cuadros del Diagrama de Caso de Uso Módulo Almacén – Funciones Cuadros del Diagrama de Caso de Uso Módulo Activación Cuadros del Diagrama de Caso de Uso Módulo Ventas - Postpago Cuadros del Diagrama de Caso de Uso Módulo Ventas - Prepago Cuadro N° 3.1 Riesgos Cuadro N° 3.2 Validaciones y Verificaciones Cuadro Nº 3.3 Web Server Stress Tool 7 Cuadro Nº 3.4 Resultados obtenidos de Web Server Cuadro Nº 3.5 Pruebas del Sistema OWASP Cuadro N° 4.1 Modelo de escala de likert Cuadro N° 4.2 Resultados obtenidos del Cuestionario Cuadro N° 4.3 Cuadro Comparativo Cuadro N° 4.4 Tiempos del proceso de ventas 07 08 39 40 40 41 42 43 45 46 73 74 74 76 80 81 82 84 1 INTRODUCCIÓN En la actualidad las agencias de venta de unidades móviles no cuentan con un sistema por el cual puedan llevar un control de las ventas que han realizado, además de no llevar un control de ventas de cada vendedor, otro aspecto importante es que las agencias realizan las ventas de forma manual digitando las series de las tarjetas SIM y equipos móviles lo cual ocasiona que en ocasiones se digiten mal las series lo cual genera demora en la venta. En el capítulo I se presentan la situación del problema que se presentan al momento de realizar una venta, después de identificar el problema se muestran el planteamiento del problema y la importancia que tiene esta investigación, dando a conocer las razones a través de la justificación correspondiente, la hipótesis generada, se puntualizan los objetivos generales y específicos; y finalmente, se dan a conocer los alcances y los aportes de este trabajo de tesis. En el capítulo II se presentan aspectos generales relacionados con el trabajo de investigación a realizar en este trabajo de tesis. En primer lugar, se muestran los antecedentes científicos y de investigación; en seguida, se da a conocer el Marco teórico que es nuestro sustento sostenible para la elaboración de la tesis y como parte final tenemos el Marco conceptual que es como un glosario donde se ingresan algunas palabras o frases que no son muy conocidas y que se está utilizando en la presente tesis. En el capítulo III mostraremos el desarrollo del diseño, empleando la metodología RUP y el empleó del Lenguaje Unificado de Modelamientos (UML), basándose en las fases de Inicio, Elaboración, Construcción y Transición. En el capítulo IV se muestra los posibles resultados del desarrollo del proyecto donde se ha evaluado el diseño del sistema, con el fin de asegurarnos que se cumplan los objetivos impuestos en la presente tesis. Estas evaluaciones nos permitirán observar el correcto funcionamiento de los módulos, así como aspectos de seguridad, compatibilidad de la aplicación, y son descritas en el actual capítulo. Nuestra aplicación tendrá clasificados los productos por modelos, además para poder facilitar la localización de nuestro material informático, se dispondrá de una pequeña aplicación que realizará la búsqueda por palabras clave. Lo cual permitirá al usuario tener una búsqueda más rápida y efectiva. Jhubel FavioVásquez Rudas 2 CAPÍTULO I GENERALIDADES En el Capítulo I se da a conocer la situación del problema que se presenta al momento de realizar una venta de equipos móviles y la identificación de las variables que afectan al problema principal. Después de identificar el problema general planteamos el objetivo y la hipótesis. En las justificaciones daremos a conocer la metodología a utilizar así como el sustento y el beneficio de la realización del estudio en las agencias de ventas. 1. 1.1. PLANTEAMIENTO DEL PROBLEMA En la agencia de ventas “Corporación Telenegocios Perú SA·C”, existen diferentes áreas donde existen varias funciones que realizan los trabajadores de forma manual y otros en archivos Word y Excel. Al momento de realizar una venta el personal del área de ventas muestra la lista de los equipos disponibles al cliente para que elija, después que el cliente ha realizado la elección del equipo el vendedor solicita las series de los equipos y Tarjeta SIM a almacén genera una hoja venta con los datos del cliente, tipo de plan, series del equipo y tarjeta SIM para entregar al activador para que realice la activación del equipo y tarjeta SIM además de asignar un número telefónico, cuando el cliente realiza el pago se le entregara un comprobante de pago y guía de remisión los cuales entrega al vendedor para que pueda recoger de almacén los equipos y hacerle la entrega al cliente después de hacerle firmar el contrato de servicio. El área de almacén tiene las siguientes funciones: recepcionar y llevar un control de los equipos y tarjetas SIM, realizar los picking de los pedidos, brindar las series de los equipos tarjetas SIM a los vendedores, entregar los equipos y tarjetas SIM activados, 3 realizar stock de equipos e inventarios periódicamente, reingresar equipos y tarjetas SIM que fueron anulados y otros. Cabe destacar que las áreas no realizan las asignaciones de activos con un orden especifico, por tanto se puede causar el descontento e inconformidad de los clientes, provocando demora, incomodidad en varias oportunidades por falta de un monitoreo constante que permita conocer cuáles son las atenciones pendientes, además de esto no se cuenta con un sistema de inventario que actualice periódicamente lo existente en el área de almacén, lo que ocasiona falta de información precisa de lo que se tiene, gastos excesivos de tiempo y dificultad para llevar el seguimiento y control de los activos y sus asignaciones. En vista de lo descrito, se analizarán las necesidades generales de las áreas a fin de determinar los requerimientos reales del sistema que se desea crear, diseñar, desarrollar e implantar, usando una metodología de apoyo. El desarrollo de este proyecto se realizará siguiendo las normativas para la creación de aplicaciones, la cual exige el uso de herramientas libres a fin de cumplir con lo establecido, entre estas se puede mencionar: Sistema manejador de Base de Datos MySql y Java como lenguaje de programación de código abierto. 1.2. FORMULACIÓN DEL PROBLEMA 1.2.1. Problema General ¿Cómo influye un Sistema basado en tecnología Web en el Control y Gestión de venta de unidades móviles? 1.3. OBJETIVO DE LA INVESTIGACIÓN 1.3.1. Objetivo General Mejorar el control y gestión de venta de unidades móviles, mediante el diseño un Sistema basado en Tecnología Web. 1.4. JUSTIFICACIÓN 1.4.1. Justificación Practica El desarrollo del sistema web para el control y gestión de ventas de unidades móviles en línea que sea accesible desde cualquier punto de internet, permitirá mayor dinamismo en cualquier operación de la agencia de ventas, ya que el 4 proceso de ventas ya no sería centralizada sino que podría hacerse a través de cualquier punto con acceso a Internet y en cualquier parte de la agencia de ventas o donde se encuentre el vendedor, lo que permitirá las siguientes mejorías: El tiempo que lleva hacer el proceso de relleno del registro de ventas se disminuiría considerablemente, revisar el stock disponible de los productos en la agencia de ventas, revisar las cantidades de ventas del vendedor. Por lo tanto materializar dicho proyecto resultaría necesario e importante para los trabajadores de la agencia de ventas, así mismo estar a la vanguardia de la tecnología presente en todo el mundo. Además el desarrollo de sistema aportará gran cantidad de beneficios, entre los cuales se encuentran: 1. Agilizar los procesos de registro y control de los activos por parte del Departamento de Almacén. 2. Garantizar el manejo de la información y la generación a tiempo de reporte sobre dichos activos. 3. Consultar el estado de las ventas registradas para un mejor servicio a los clientes. 4. Evitar la pérdida de información debido a que esta, estará almacenada en una base de datos confiable que permitirá centralizar toda la información. 1.4.2. Justificación Teórica El conocimiento práctico y concreto de nuevos mercados para el producto, en este caso venta de unidades móviles, abre las alternativas de mejores mecanismos de comercialización, lo cual incentiva a los actores esenciales, como es el caso de las agencias de ventas, que sabiendo que son capaces por si mismos de lograr el objetivo de poder encontrar nuevas ventas, poder irradiar y multiplicar al resto de agencias. El propósito de desarrollar esta web es para poder facilitar los procesos de las áreas de la agencia, mostrar información actual y necesaria para poder realizar las ventas, el control de equipos, costos y algunos procesos demás. 5 1.4.3. Justificación Metodológica La visión de la Agencia de ventas actualmente debe centrarse a mejorar sus niveles de competitividad y pensar seriamente en introducir una herramienta que le proporcione medir los indicadores y que le indiquen el grado de eficiencia en el que se va conduciendo la gestión. El proyecto genera información válida y confiable, donde el usuario puede ver un avance progresivo de lo que se va trabajando. Es por esto que se hace necesario entregar al usuario interfaces y procedimientos basados en prototipos para familiarizar al usuario y así tener un mayor grado de retroalimentación con él. Como proceso de desarrollo en el presente proyecto se utilizará la metodología RUP, llamada así por sus siglas en inglés Rational Unified Process, es un proceso de ingeniería del software. Proporciona un acercamiento disciplinado a la asignación de tareas y responsabilidades en una organización de desarrollo. Su propósito es asegurar la producción de software de alta calidad que se ajuste a las necesidades de sus usuarios finales con unos costos y un calendario predecibles. 1.5. HIPOTESIS GENERAL 1.5.1. Hipótesis General El diseño del sistema basado en tecnología web, mejora el control y gestión de venta de unidades móviles. 1.6. DISEÑO METODOLOGICO 1.6.1. Tipo de Investigación La investigación realizada es tecnológica aplicada, la cual se centra en la planificación basada en los procesos de aplicación, más que en la tecnología misma. Se centra en el análisis de la forma en que se han de usar los recursos tecnológicos para el cumplimiento de objetivos específicos. Se habla de tecnología aplicada cuando se piensa en un tipo específico de organización y aplicación de los procesos tecnológicos, lo cual comprende aspectos de carácter normativo y aspectos referidos a la responsabilidad social. En otros contextos, además, se remite a las capacidades de la tecnología para proveer bienes y servicios. 6 1.6.2. Nivel de la Investigación El estudio corresponde al nivel descriptivo explicativo, por cuanto en el diseño se describe las características de cada uno de los componentes, del sistema basado en tecnología web para el control y gestión de venta de una tienda de celulares. 1.6.3. Fuentes de InformaciónDatos proporcionados por la Agencia de ventas Corporación Telenegocios Perú SAC (Hojas, de Ventas, Guías de remisión). Se usará la entrevista para el análisis del sistema de control y gestión, y un cuestionario para validar la funcionalidad del sistema. Plan de recolección de la información. Cuadro N° 1.1. Preguntas Frecuentes PREGUNTAS EXPLICACION ¿Para qué? Para profundizar los conocimientos relacionados con el tema de investigación y así lograr descubrir, comprender e interpretar los hechos, fenómenos y relaciones de un determinado ámbito de la realidad. ¿A qué persona o sujetos? La investigación se realizara al Gerente de la empresa, a los trabajadores de cada área y clientes actuales de la empresa. ¿Sobre qué aspecto? La información estará basada sobre los objetivos de ventas de la empresa, ofertas, promociones, servicio, almacén, atención, exigencias y expectativas de los clientes. ¿Quién? Quien se encargara de la recolección de toda la información es el investigador Jhubel Vásquez Rudas. ¿Cuándo? La recolección de la información se realizara todo el tiempo que sea necesario, empezando desde la indagación del problema de estudio. 7 ¿Qué técnica de recolección? La técnica que se emplea para la recolección de la información será la encuesta, entrevista y la observación. ¿Con que? Mediante la elaboración de un cuestionario de preguntas, entrevistas y una ficha de observación. Fuente: El Investigador Elaborado por: El Investigador 1.6.4. Alcance El sistema propuesto de software a desarrollar, cumplirá con los siguientes requerimientos: Desarrollar un sistema de control y gestión de indicadores de ventas para evaluaciones del personal de ventas. La automatización de las funciones y procesos de las áreas de la agencia. Con los resultados que se obtendrá del sistema, se procederá a realizar un reporte de estado de ventas que nos permitirá saber cuáles son los representantes ligados y como va avanzando el trabajo para llegar a las cantidades impuestas por las Empresa Telefónica del Perú. 1.6.5. Operacionalización de Variable A continuación se identifican las variables dependientes e independientes del presente estudio. Variable Independiente Sistema basado en Tecnología Web. Variable Dependiente Control y Gestión de ventas de unidades móviles. 1.6.6. Validación de Indicadores: Para sustentar los indicadores de la Variable Independiente “Sistema basado en Tecnología Web”, es necesario recolectar información de los futuros 8 usuarios, ya que las necesidades y requerimientos por el motivo que son ellos quienes van a utilizar el sistema. En cuanto al indicador de la Variable Dependiente “Control y Gestión de ventas de unidades móviles”, los usuarios tendrán acceso a la información de todas las áreas según sea la necesidad de cada usuario. Cuadro N° 1.2.: Variables e Indicadores Variables Micro Variable Indicadores V.I. Sistema basado en Tecnología Web Diseño del sistema web Definir el diseño y procesos del sistema web Nivel de aceptación del Sistema Disposición de los usuarios para utilizar el sistema V.D. Control y gestión de equipos móviles Control de la información Disposición de información actualizada entre las áreas. Gestión de Ventas Tiempo en realizar el proceso de venta. Fuente: El Investigador Elaborado por: El Investigador En el proceso de ventas es donde parte todo para lograr el mejoramiento de la agencia de ventas, ya que son los vendedores quienes interactúan con los clientes; y son los encargados de ingresan la información de los ellos a la empresa, en la actualidad la información de los clientes solo se tiene de forma física (hojas de ventas), y de los equipos en archivo Excel. Lo cual ocasiona demora en caso haya algún reclamo por parte de la Empresa telefónica del Perú, se tiene que buscar físicamente los documentos para sustentar el reclamo. 9 CAPÍTULO II MARCO DE REFERENCIA En el Capítulo II se muestran los antecedentes, estudios realizados anteriormente relacionados con el ámbito de la presente Tesis que han servido para la solución de problemas utilizando las distintas metodologías. En el Marco Teórico se muestran las teorías y libros, así como los pasos a seguir de la Metodología RUP en los procesos de implantación, aceptación y mantenimiento del Sistema, finalmente se muestra el marco conceptual para comprender cada uno de los términos asociados a la tesis. 2. 2.1. ANTECEDENTES Luego de la búsqueda de fuentes bibliográficas referentes al objeto de estudio presentamos los siguientes antecedentes investigativos: 2.1.1. Miranda Cerruti, Renzo André; Martínez Ruiz, Alejandro; Leiva Mier, Ana Paz; Madrid Vega, Rodrigo Mauricio, Enrique Jiménez, Luis Ricardo (2012). Consumo de teléfonos móviles entre adolescentes y jóvenes en el Perú. Trabajo de Comunicación social Debido a la popularidad que han adquirido los teléfonos móviles, es raro encontrar a una persona que no cuente con uno de ellos. En nuestro país, la situación no es diferente. Incluso, un estudio realizado por OSIPTEL hace dos años demuestra que en seis departamentos del Perú la cantidad de celulares supera el número de habitantes que residen en ellos: Lima, Tacna, Arequipa, Moquegua, Ica y Madre de Dios. Dentro de este fenómeno comunicacional, los jóvenes son parte importante, pues se encuentran detrás de las últimas tecnologías para experimentarlas. 10 En este trabajo presentaremos los datos más importantes acerca de los usos, financiamiento y difusión de la telefonía celular en la juventud peruana y en varios casos la contrastaremos con datos de Iberoamérica. 2.1.2. Aroca Martínez, Francisco (2010). Diseño e implementación de una tienda virtual. Tesis de Grado. Universitat Politécnica de Valencia. En resumen se trata de desarrollar una aplicación para facilitar la venta de material informático así como ayudar a su gestión, de una forma sencilla y clara para los usuarios y el administrador de la aplicación. Los objetivos concretos consistirán en: Mostrar un catálogo de los productos a nuestros posibles clientes. Permitir la compra de los productos que aparezcan en nuestra aplicación. Facilitar el mantenimiento de dicho catálogo. Los resultados y productos que se piensan obtener: Una aplicación web para dar a conocer nuestros productos. Facilitar la gestión tanto del material como de los usuarios. El método para guiar el desarrollo del proyecto se basará en las siguientes etapas: La especificación de requisitos basada en la definición de casos de uso. El proceso de análisis basado en modelos UML. La definición de la arquitectura basada en tres capas. Diseño e implementación de una tienda virtual La codificación de un prototipo de la aplicación. La realización de pruebas técnicas del sitio Web. Los recursos disponibles consistirán en: Un entorno de diseño Web basado en herramientas convencionales. WAMP el cual incluye Java, MySQL y Apache. Un servidor Web. Un alumno con dedicación completa. 11 2.1.3. Alsina Morillo, Joan (2009). Diseño e implementación de un portal web para una empresa de sistemas de iluminación. Tesis de Grado. Universitat Autónoma de Barcelona. Este proyecto consiste en el diseño e implementación de un portal WEB para una empresa que se dedica al desarrollo de aplicaciones para el diseño y control de sistemas de iluminación. Esta empresa desea ampliar los servicios que oferta a sus clientes mediante una aplicación que facilite la descarga de las actualizaciones del software que la empresa desarrolla entre otras funcionalidades. Además, la empresa diseña modelos de funcionamiento para dispositivos físicos, basados en el protocolo DMX512 (Digital MultipleX). Estos modelos son de vitalimportancia para la expansión de la empresa ya que complementan el software de diseño de instalaciones de iluminación. Además, a día de hoy, existen pocas empresas que se dediquen al diseño de estos modelos. Por tanto, también se desea que estos modelos de funcionamiento se distribuyan a través del portal WEB, para mejorar el servicio a sus clientes. Por otro lado, la implantación del portal WEB puede mejorar la imagen de empresa y ayudar a captar nuevos clientes, por lo que, el portal vendrá complementado con una serie de funcionalidades para la difusión de información relacionada con la empresa. Por tanto, el objetivo principal del proyecto es facilitar a los clientes de la empresa el acceso a las actualizaciones de software y a los modelos de funcionamiento a través de un portal WEB. De esta manera se mejora el servicio que oferta la empresa en el momento de la solicitud del proyecto. Además, se desea mejorar la imagen de empresa que se ofrece a los clientes y futuros clientes incluyendo información relacionada con la empresa y sus productos. Para cumplir con estos requisitos la aplicación hará uso del lenguaje de etiquetas HTML junto con CSS, el lenguaje de programación PHP y él un sistema gestor de datos MySQL para generar contenidos dinámicos. Además se utilizarán diferentes herramientas que ayuden a cumplir con los requerimientos especificados en el proyecto. 12 2.1.4. Almaraz Hernández, Jesús Matías; Campos Cantero, Pablo; Castelo Delgado, Tamara (2011). Desarrollo de una aplicación Web para la gestión de Entornos Virtuales. Tesis de Grado. Universidad Complutense de Madrid. El objetivo de este proyecto es proporcionar a un potencial usuario una aplicación para la gestión de entornos virtuales sobre las que se realizarán las prácticas de las asignaturas de una determinada titulación dada. A su vez, distinguimos tres tipos o niveles diferentes de usuarios: alumnos, profesores y administradores. Los cuales tendrán acceso a diferentes funcionalidades y recursos en función de su nivel de autenticación en el sistema. Esta interfaz de usuario con la que se proveerá a la aplicación es del tipo Web, siendo así accesible e intuitiva de cara a los posibles usuarios, ya que destaca por su claridad y fácil uso de la misma. Como es lógico, la aplicación dispone de una base de datos en la que se gestionen y manejen todos los datos correspondientes a los diferentes alumnos, profesores y administradores. Así pues, amén de tener que comunicarse la interfaz con la base de datos para la autenticación de usuarios, en la aplicación es posible la realización de consultas y modificaciones en la base de datos a través de la interfaz. 2.1.5. Suniaga Salazar, José Miguel (2009).Desarrollo de una aplicación web basada en tecnología helpdesk para ofrecer servicios de soporte técnico e inventario en la gerencia de informática de la empresa c.a. Hidrológica del centro, en valencia estado Carabobo. Tesis de Grado. Universidad de Oriente La Gerencia de Informática de la empresa C.A. Hidrológica del Centro, HIDROCENTRO tiene como objetivo ofrecer a los empleados de la empresa servicios de calidad en el área de información; desarrollando sistemas óptimos y dando soporte a los recursos informáticos con eficiencia, en el menor tiempo posible. En tal sentido, la Gerencia de Informática debe: mantener un control del inventario de los recursos informáticos de la empresa así como de los servicios que se prestan a estos, de manera que se pueda gestionar los equipos que 13 estén activos y vigilar el desempeño de los servicio de soporte técnico a cargo de los empleados de la gerencia. Actualmente, la gerencia lleva este control de manera manual, es por esa razón que se requiere de un proyecto que permita la automatización de dichos procesos. En este informe de trabajo de grado se presenta el diseño de un Sistema de Administración de Inventario y Mantenimiento de Equipos (SAIME) que apoyará los procesos descritos anteriormente, el cual está modelado y documentado bajo el Lenguaje Unificado de Modelado (UML), siguiendo la metodología RUP, implantado bajo la plataforma Windows, programado con el lenguaje de programación Java y cuyos datos son almacenados en una base de datos Postgre SQL. 2.2. MARCO TEORICO 2.2.1. Programación Orientada a Objetos Actualmente, el paradigma de programación más usado debido a múltiples ventajas respecto de sus antecesores es el de Programación Orientada a Objetos. La Programación Orientada a Objetos permite concebir los programas de una manera bastante intuitiva y cercana a la realidad. Si bien la programación procedural y estructurada ha dado solución durante muchos años a los sistemas computacionales, presenta una desventaja en su construcción, ya que cuando una aplicación crece, la modificación del código se hace muy trabajosa y difícil, debido a que el cambio de una línea de programación acarrea -seguramente- la modificación de muchas líneas de código pertenecientes a otras funciones y procedimientos que están relacionados. La POO nos permite agrupar códigos con funcionalidades comunes, encapsulándolos y haciéndolos independientes, conviniendo que la aplicación crezca sin tener que realizar cambios en el código. 2.2.2. Base de Datos Una base de datos computarizada me parece importante para el mejor control y búsqueda de datos en masa de una manera sencilla y rápida. 14 Esta base de datos es usada por empresas grandes ya que ellas manejan una gran cantidad de datos y ya que este sistema se los hace mucho más fácil y rápido. ¿Se imaginan llenar 50 mil formularios para dar de alta a alguien o a algo a mano, y después buscarlo?, ¿o buscar un libro en una biblioteca con más de 500 mil ejemplares para su consulta?, es muy laborioso y tardado, con la base de datos solo tecleamos el nombre de lo que buscamos y ya tendremos todos sus datos para la utilización de estos. Como ven otra ventaja de la base de datos es economizar gastos de infraestructura, ya que solo nos basta tener una computadora, crear la base de datos y ya. Una ventaja muy importante de la base de datos es evitar la redundancia de los datos, ya que el sistema no permite que pongas dos o más veces el mismo dato, otra ventaja de la base de datos es la seguridad de los datos, ya que solo el administrador principal puede modificar todos los datos, y los administradores secundarios con ciertos permisos solo pueden modificar ciertos datos. 2.2.3. Base de Datos – MySQL El lenguaje SQL es un lenguaje estándar de manejo de bases de datos masivamente usado en cualquier entorno. MySQL es un sistema de gestión de bases de datos basado en el lenguaje SQL. Es muy ampliamente usado en entornos web, en combinación con lenguajes de servidor como PHP. MySQL es un gestor de base de datos sencillo de usar e increíblemente rápido. También es uno de los motores de base de datos más usados en internet, la principal razón de esto es que es gratis para aplicaciones no comerciales. Posee la facilidad de uso de cualquier sistema basado en SQL y añade versatilidad en el manejo de las bases de datos, y una tremenda escalabilidad, que hace que el mismo sistema sea válido para cualquier tamaño de bases de datos. Es el servidor de base de datos relacionales de fuente abierta más popular en el mundo. Su arquitectura lo hace extremadamente rápido y fácil de adaptar. 15 Las características principales de MySQL son: En un gestor de base de datos. Una base de datos es un conjunto de datos y un gestor de base de datos es una aplicación capaz de manejar este conjunto de datos de manera eficiente y cómoda. Es una base de datos relacional. Una base de datos relacional es un conjunto de datos que están almacenados en tablas entre las cuales se establecen unas relaciones para manejar los datos de unaforma eficiente y segura. Para usar y gestionar una base de datos relacional se usa el lenguaje estándar de programación SQL. Es Open Source. El código fuente de MySQL se puede descargar y esta accesible a cualquiera, por otra parte, usa la licencia GPL para aplicaciones no comerciales. Es una base de datos muy rápida, segura y fácil de usar. Gracias a la colaboración de muchos usuarios, la base de datos se ha ido mejorando optimizándose en velocidad. Por eso es una de las bases de datos más usadas en internet. 2.2.4. Ingeniería de Software La ingeniería se compone por varias fases y en el caso del diseño de software no tenemos excepción ya que para su construcción debemos generar varios pasos o niveles que tendrá a lo largo del desarrollo nuestro programa. El diseño de Software juega un papel importante en el desarrollo de software lo cual permite al ingeniero de software producir varios modelos del sistema o producto de que se va a construir el mismo que forman una especie de plan de la solución de la aplicación. Estos modelos pueden evaluarse en relación con su calidad y mejorarse antes de generar código, de realizar pruebas y de que los usuarios finales se vean involucrados a gran escala. El diseño es el sitio en el que se establece la calidad del software es por ello que en este resumen vamos a ver los conceptos y los principios del diseño de un software así como los pasos o procesos a tomar en cuenta, pasando además por conceptos que se manejan a la hora de diseñar un software. 16 2.2.5. Programación Web Aunque los inicios de Internet se remontan a los años sesenta, no ha sido hasta los años noventa cuando, gracias a la Web, se ha extendido su uso por todo el mundo. En pocos años la Web ha evolucionado enormemente: se ha pasado de páginas sencillas, con pocas imágenes y contenidos estáticos a páginas complejas con contenidos dinámicos que provienen de bases de datos, lo que permite la creación de "aplicaciones web". De forma breve, una aplicación web se puede definir como una aplicación en la cual un usuario por medio de un navegador realiza peticiones a una aplicación remota accesible a través de Internet (o a través de una intranet) y que recibe una respuesta que se muestra en el propio navegador. El contenido de este libro se estructura en dos partes. En la primera parte del libro se tratan temas introductorios a la programación de aplicaciones web: un breve repaso de la historia de Internet y de la Web, características de las arquitecturas cliente/servidor, el concepto de aplicación web y la estructura de un sitio web tanto a nivel físico como lógico. La segunda parte del libro se centra en la programación de la parte cliente de las aplicaciones web. En el "mundo Internet" existen muchas tecnologías que se pueden emplear para programar los clientes web, como ActiveX, applet, Flash, VRML, etc., pero sólo dos son las tecnologías más extendidas y se pueden considerar "el estándar": HTML y Java Script. Este libro se centra en esas dos tecnologías y presta una especial atención a la creación de formularios, la base para cualquier aplicación web. 2.2.6. Sitio Web Es un conjunto de archivos electrónicos y páginas Web referentes a un tema en particular, que incluye una página inicial de bienvenida, generalmente denominada home page, con un nombre de dominio y dirección en Internet específicos, empleados por las instituciones públicas y privadas, organizaciones e individuos para comunicarse con el mundo entero. En el caso particular de las empresas, este mensaje tiene que ver con la oferta de sus bienes y servicios a través de Internet, y en general para ser eficiente sus funciones de mercadotecnia. Su Sitio Web no necesariamente debe localizarse en el sistema de cómputo de su negocio. Los documentos que integran el Sitio Web pueden ubicarse en un equipo en otra localidad, inclusive en otro país. El único requisito es que el 17 equipo en el que residan los documentos esté conectado a la red mundial de Internet. Este equipo de cómputo o Servidor Web, como se le denomina técnicamente, puede contener más de un sitio Web y atender concurrentemente a los visitantes de cada uno de los diferentes sitios. Al igual que los edificios, oficinas y casas, los Sitios Web requieren de una dirección particular para que los usuarios puedan acceder a la información contenida en ellos. Estas direcciones, o URLs (por sus siglas en inglés Uniform Resource Locator), aparecen cotidianamente en todos los medios de comunicación como son prensa escrita, radio, televisión, revistas, publicaciones técnicas y en el propio Internet a través de los motores de búsqueda (por su denominación en inglés searchengines). Los nombres de estos sitios Web obedecen a un sistema mundial de nomenclatura y están regidos por el ICANN (Internet Corporation for Assigned Names and Numbers). Los Sitios Web pueden ser de diversos géneros, destacando los sitios de negocios, servicio, comercio electrónico en línea, imagen corporativa, entretenimiento y sitios informativos. 2.2.7. El Lenguaje HTML Este lenguaje estructura documentos. La mayoría de los documentos tienen estructuras comunes (títulos, párrafos, listas…) que van a ser definidas por este lenguaje mediante tags. Cualquier cosa que no sea un tag es parte del documento mismo. Este lenguaje no describe la apariencia del diseño de un documento sino que ofrece a cada plataforma que le dé formato según capacidad y la de su navegador (tamaño de la pantalla, fuentes que tiene instaladas...). Por ello y para no frustrarnos, no debemos diseñar los documentos basándonos en como lucen en nuestro navegador sino que debemos centrarnos en proporcionar un contenido claro y bien estructurado que resulte fácil de leer y entender, 2.2.8. Plataforma J2EE J2EE es un conjunto de especificaciones de APIs Java para la construcción de aplicaciones empresariales 18 o La mayor parte de las abstracciones de las APIs corresponden a interfaces y clases abstractas. o Existen múltiples implementaciones de distintos fabricantes, incluso algunas OpenSource. o Una aplicación construida con J2EE no depende de una implementación particular. La plataforma J2EE cuenta con las siguientes características: o Escalabilidad o Portabilidad o Seguridad ¿Cómo se debe diseñar una aplicación empresarial para que sea mantenible y contenga partes reusables? o Debería estar diseñada siguiendo la arquitectura que fijan los patrones arquitectónicos Model-View-Controller (MVC). o Un patrón arquitectónico es un patrón de alto nivel que fija la arquitectura global de una aplicación. o Posteriormente, el diseño hará uso de patrones de diseño para resolver problemas específicos. En el patrón arquitectónico MVC existe una separación clara entre el modelo (lógica de negocio) y la vista (interfaz gráfica), gracias a un controlador que los mantiene independientes unos de otros (desacoplados). Ventajas: o • El modelo es reusable con distintas vistas (ej.: una vista web y una con interfaz de ventanas) o • División clara de trabajo entre los miembros de un equipo, que estará formado por personas con distintos niveles de especialización 2.2.9. CSS Según (Eguíluz Pérez, CSS Avanzado, 2009) indica que “CSS es un lenguaje de hojas de estilos creado para controlar el aspecto o presentación de los documentos electrónicos definidos con HTML y XHTML. CSS es la mejor forma de separar los contenidos y su presentación y es imprescindible para crear páginas web complejas”. 19 2.2.10. AJAX Según (Eguíluz Pérez, Introducción a AJAX, 2008) indica que “AJAX es un acrónimo de Asynchronous JavaScript + XML, que se puede traducir como "JavaScript asíncrono + XML. “Ajax no es una tecnología en sí mismo. En realidad, se trata de varias tecnologías independientes que se unende formas nuevas y sorprendentes.” Las tecnologías que forman AJAX son: o XHTML y CSS, para crear una presentación basada en estándares. o DOM, para la interacción y manipulación dinámica de la presentación. o XML, XSLT y JSON, para el intercambio y la manipulación de información. o XML Http Request, para el intercambio asíncrono de información. o JavaScript, para unir todas las demás tecnologías. 2.2.11. Apache Web Server Es un servidor web libre, es decir, el encargado de construir y devolver las páginas web que solicitan los navegadores. Su nombre procede de “a patchy server” por ser una versión “parcheada” en 1995 de uno de los primeros servidores web, el NCSA HTTPD, y actualmente corre en muy diversas plataformas (Unix, Windows, etc.). Debido a su licencia libre pero ni copyleft, existe también versiones propietarias de Apache, aunque es desarrollado y mantenido por la comunidad del software libre a través de la fundación Apache. 2.2.12. Concepto de Control de Gestión Pese a que el control de gestión no es una herramienta nueva, recién en los últimos años ha alcanzado un sitial especial en el mundo de los negocios. No obstante lo anterior, todavía existe poco conocimiento en relación a qué es realmente el control de gestión y la utilidad que éste tiene para la dirección de empresas, por lo que son muchos los mitos, imprecisiones y errores que han contribuido a desvirtuar su real significado. 20 En primer lugar, se puede mencionar la idea generalizada de creer que el control de gestión es sólo un sistema de control, sin embargo, su significado esencial no se ajusta a este concepto, básicamente, porque controlar significa evaluar resultados con posterioridad a su ocurrencia (ex post) con el propósito de analizar si se cumplió o no el objetivo deseado. Aunque es indiscutible la necesidad de evaluar la realidad versus un estándar definido, resulta claramente ineficiente centrar la atención de los directivos en resultados que ya se lograron y que no se pueden revertir. Todo lo contrario, el control de gestión busca influir en resultados futuros de manera de aumentar la probabilidad de que éstos ocurran. Dicho de otra manera, el control de gestión es un sistema de dirección que busca impactar el futuro de la organización y no controlar su pasado. En segundo lugar, otro mito ampliamente difundido se relaciona con la idea de pensar el control de gestión como la construcción y el seguimiento aislado de un conjunto de indicadores de carácter financiero y no financiero. Si bien los indicadores o métricas que permiten precisar los objetivos son elementos fundamentales en un sistema de este tipo, el control de la gestión utiliza los indicadores como expresiones cuantitativas que permiten analizar qué tan bien se está ejecutando la estrategia. Hablar de control de gestión es hablar de un sistema integrado y coherente de información que permite tener una visión global del desempeño de la empresa que facilite y apoye la toma de decisiones de dirección estratégica. Por último, el control de gestión tampoco está orientado a los niveles directivos máximos de una organización. Si bien, un buen sistema de control de gestión parte en los niveles superiores necesariamente debe bajar a los niveles inferiores a través de un proceso de desdoblamiento o despliegue. Sólo así es posible alinear a la compañía en relación a sus objetivos fundamentales y definir cursos de acción que potencien las fortalezas y neutralicen las debilidades. En otras palabras, cada unidad de negocios, área y/o departamento debe tener su propio control de gestión sobre los objetivos estratégicos que les conciernen. 2.2.13. Metodología de desarrollo de software Desde que el desarrollo de aplicaciones informáticas se considerara un proceso de ingeniería, muchas metodologías de desarrollo han ido naciendo 21 con el fin de dar soporte al ciclo de desarrollo del proyecto. Entre estas, podemos destacar algunas como Cascada (1956), Métrica (1980), Merisse (1972), Espiral (1986) y ya más recientes como el Proceso Racional Unificado (1995).Al principio estas metodologías estaban orientadas al desarrollo de aplicaciones que gestionaran información guardada en las bases de datos, por tanto estas se preocupaban del almacenamiento y la recuperación adecuada de datos. El término de aplicación multimedia surgió con la evolución de la tecnología, estas aplicaciones tienen como objetivo difundir información a través de medios multimedia como, video, sonido, imágenes, etc. A partir de 1993 surgieron nuevas propuestas metodológicas, para afrontar a la problemática de estas aplicaciones: HDM (Garzoto 1993), RMM (Isakowitz 1995), RUP (IBM 1995), etc. UML basado en Ingeniería Web UWE (UML-Based Web Engineering) es una propuesta basada en UML y en el Proceso Unificado Racional para modelar aplicaciones web. Los sistemas adaptativos y la sistematización son dos aspectos sobre los que se enfoca UWE. Otras características relevantes del proceso y método de autoría de UWE son el uso del paradigma orientado a objetos, su orientación al usuario, la definición de un meta modelo (modelo de referencia) que da soporte al método y el grado de formalismo que alcanza debido al soporte que proporciona para la definición de restricciones sobre los modelos. UWE, no separa el análisis y el diseño e incluyen estos modelos en la fase de análisis-diseño1. UWE propone al menos un tipo de diagrama UML para la visualización de dichos modelos buscando representar los aspectos estructurales de las diversas vistas .Se puede decir que se realiza una separación considerando etapas de desarrollo, vistas del sistema y aspectos como la estructura y el comportamiento. Este tipo de separación provee ventajas a la hora de realizar mantenimientos y reingenierías de sistemas web, y también en la generación de sistemas Web para distintos contextos y plataformas. 1 Escalona Cuaresma MJ. Modelos y técnicas para la especificacióny el análisis de la navegación en sistemas software.[Tesis Doctoral]. España: Universidad de Sevilla; 2004. 22 El modelo que propone UML basado en Ingeniería Web está compuesto por cinco modelos principales, cabe mencionar que el número de modelos variará con la versión de UWE. Véase Gráfico N° 2.1. Figura N° 2.1. Modelos que comprende UWE. Fuente: Página oficial. [Disponible en: http://uwe.pst.ifi.lmu]. Elaborado por: El Investigador UML-Based Web Engineering, es una extensión de UML muy poderosa para el diseño de Aplicaciones Web, provee una serie de herramientas tanto para diseño y modelado. Es una propuesta que en los últimos años ha conseguido gran aceptación en los foros de investigación. Sus modelos basados totalmente en UML están siendo muy bien valorados. Además, es una propuesta viva. 2.2.14. Metodología Rational Unified Process® (RUP) o Proceso Racional Unificado El Proceso Racional Unificado es un producto de Rational (IBM). Es un proceso de desarrollo de software que se caracteriza por ser iterativo e incremental, y por estar centrado en la arquitectura y guiado por los casos de uso. RUP es un proceso de desarrollo de software genérico, sin embargo se concibió principalmente para el desarrollo de sistemas basados en programación orientada a objetos. •Fija los requisitos funcionales de la aplicación para reflejarlos en un modelo de casos de uso. 1. Modelado de Requerimientos • Incluye los objetos implicados en las actividades de la aplicacion. 2. Modelo de Contenido •Especifica que objetos serán visitados por el navegador a través de la aplicación. 3. Modelo de Navegación •Se divide en dos partes: •Modelo de Estructura de Procesos •Modelo de Flujo de Procesos. 4.Modelo de Procesos •Representa las vistas del interfaz.5.Modelo de Presentación 23 RUP se basa en la asignación de tareas y responsabilidades dentro de una organización de desarrollo, cubre todo el ciclo de vida de desarrollo y asegura que el software que se produzca sea de alta calidad. RUP puede ser adaptado y extendido para satisfacer las necesidades de una organización. Muchas de las mejores prácticas de desarrollo están incluidas dentro de este modelo de desarrollo de software; entre ellas destacan las siguientes: Desarrolla el software de manera iterativa. Maneja requerimientos. Utiliza arquitecturas basadas en componentes. Modela el software de manera visual. Verifica la calidad del software. Controla los cambios del software. El proceso puede ser descrito en dos dimensiones o a lo largo de dos ejes, como se muestra en la Figura N° 2.1. Figura 2.2. Estructura de RUP Fuente: [Wikipedia, 2006b] El Eje Horizontal representa el tiempo y muestra los aspectos dinámicos del proceso a medida que éste se desarrolla. Es expresado en términos de ciclos, fases, iteraciones e hitos. 24 El Eje Vertical representa el aspecto estático del proceso: cómo es descrito en términos de actividades, artefactos, trabajadores y flujos de trabajo. Estructura Estática del Proceso El proceso que describe RUP es representado utilizando cuatro elementos de modelaje primario: Trabajadores, Actividades, Artefactos y Flujos de Trabajo. Trabajador: Define el comportamiento y responsabilidades de un individuo o de un grupo de personas que trabajan en un equipo. Actividad: Es una unidad de trabajo que un individuo debe realizar. Artefacto: Es una pieza de información que es producido, modificado o utilizado por un proceso. Flujo de Trabajo: Es una secuencia de actividades. Estructura Dinámica del Proceso: Desarrollo Iterativo El ciclo de vida del software se divide en ciclos, Cada ciclo concluye con una generación del producto para los clientes. RUP divide cada ciclo de desarrollo en cuatro fases consecutivas: Inicio, Elaboración, Construcción y Transición. Estas fases a su vez se dividen en iteraciones. Cada fase concluye con un hito bien definido, un punto en el tiempo en el cual se deben tomar ciertas decisiones críticas y alcanzar las metas clave antes de pasar a la siguiente fase. A continuación, se describen brevemente cada una de las fases: Inicio: Durante esta fase se define el modelo del negocio y el alcance del proyecto. Se identifican todos los actores y Casos de Uso y se delimita el alcance del proyecto. Elaboración: El propósitos de esta fase es analizar el dominio del problema, así como establecer una base de arquitectura sólida, desarrollar el plan del proyecto y eliminar los mayores elementos de riesgo. En esta fase se construye un prototipo de la arquitectura, que debe evolucionar en iteraciones sucesivas hasta convertirse en el sistema final. 25 Construcción: Durante esta fase se debe alcanzar la capacidad operacional del producto; se implementan e integran todas las características y requisitos, además de realizar las pruebas necesarias para verificar que la versión del producto sea aceptable. Transición: En esta fase se entrega el producto a los usuarios finales. Incluye actividades como: envío, entrenamiento, soporte y mantenimiento del producto. En la figura Nº 2.2, se muestra el desarrollo de estas fases a través del tiempo. Figura 2.3. Fases e Hitos en RUP Fuente: [Wikipedia, 2006b] El Proceso Unificado de Rational, es un proceso de ingeniería de software que proporciona un acercamiento disciplinado a la asignación de tareas y responsabilidades en la agencia de desarrollo. Su propósito es asegurar la producción de software de alta calidad que se ajuste a las necesidades de los usuarios finales. En definitiva el RUP es una metodología de desarrollo de software que intenta integrar todos los aspectos a tener en cuenta durante todo el ciclo de vida del software, con el objetivo de hacer abarcables tanto pequeños como grandes proyectos software. Los tres principios básicos de RUP son: o Dirigido por casos de uso La razón de ser de un sistema software es servir a usuarios ya sean humanos u otros sistemas, un caso de uso es una facilidad que el software debe proveer a sus usuarios. Los casos de uso reemplazan la antigua especificación funcional y constituyen la guía fundamental establecida para las actividades a realizar durante todo el proceso de desarrollo incluyendo el diseño, la implementación y las pruebas del sistema. Los casos de uso dirigen y controlan el proceso de desarrollo en su totalidad. 26 Figura N° 2.4. Diagrama de Representación del ejemplo. Fuente: El Investigador Elaborado por: El Investigador o Centrado en la arquitectura Arquitectura de un sistema es la organización o estructura de sus partes más relevantes y constituye la pieza clave que permite comprender el sistema, organizar el desarrollo y hacer evolucionar el software. La arquitectura involucra los elementos más significativos del sistema y está influenciada entre otros por plataformas software, sistemas operativos, manejadores de bases de datos, protocolos, consideraciones de desarrollo como sistemas heredados y requerimientos no funcionales. Es como una radiografía del sistema que estamos desarrollando, lo suficientemente completa como para que todos los implicados en el desarrollo tengan una idea clara de que es lo que están construyendo, pero lo suficientemente simple como para que si quitamos algo, una parte importante del sistema quede sin especificar. Una arquitectura ejecutable es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades. RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo. 27 o Proceso iterativo e incremental Para hacer más manejable un proyecto se recomienda dividirlo en ciclos, para cada ciclo se establecen fases de referencia, cada una de las cuales debe ser considerada como un mini proyecto cuyo núcleo fundamental está constituido por una o más iteraciones de las actividades principales básicas de cualquier proceso de desarrollo. El desarrollo se plantea de manera progresiva, de tal modo que se atenúen los riesgos y se planteen las cuestiones en el instante en que se está capacitado para resolverlas. Cada etapa de RUP itera sobre 5 flujos de trabajo que son: Requisitos Averiguar lo que el sistema debe hacer. Análisis Conseguir una comprensión más precisa de los requisitos. Diseño Comprensión de los requisitos no funcionales y adaptación de los requisitos funcionales para su implementación. Implementación Implementación de clases y pruebas de componentes individuales. Pruebas Planificar, diseñar y realizar las pruebas de integración y de sistemas. 2.3. MODELO APLICADO Las aplicaciones web son un caso especial del desarrollo de software. El modelo de aplicación que se propone para el presente proyecto está basado en la metodología de Proceso Racional Unificado (RUP) con su Lenguaje de Unificado de Moldeamiento orientado al desarrollo de aplicaciones en web, basada en la extensión de UML (UWE). Actualmente las aplicaciones de internet presentan complejidad creciente. El equilibrio correcto entre los Casos de Uso y la arquitectura es algo muy parecido al equilibrio de la forma y la función en el desarrollo del producto, lo cual se consigue con 28 el tiempo. Para esto, la estrategia que se propone en RUP es tener un proceso iterativo e incremental en donde el trabajo se divide en partes más pequeñas o mini proyectos. Permitiendo que el equilibrio entre Casos de Uso y arquitectura se vaya logrando durante cada mini proyecto, así durante todo el proceso de desarrollo. Cada miniproyecto se puede ver como una iteración (un recorrido más o menos completo a lo largo de todos los flujos de trabajo fundamentales) del cual se obtiene un incremento que produce un crecimiento en el producto. Una iteración puede realizarse por medio de una cascada de etapas como se muestra en la Figura 6. Se pasa por los flujos fundamentales (Requisitos, Análisis, Diseño, Implementación y Pruebas), también existe una planificación de la iteración, un análisis de la iteración y algunas actividades específicas de la iteración. Al finalizar se realiza una integración de los resultados con lo obtenido de las iteraciones anteriores. Figura N° 2.5. Iteracion RUP. Fuente: El Investigador Elaborado por: El Investigador El proceso iterativo e incremental consta de una secuencia de iteraciones. Cada iteración aborda una parte de la funcionalidad total, pasando por todos los flujos de trabajo relevantes y refinando la arquitectura. Cada iteración se analiza cuando termina. Se puede determinar si han aparecido nuevos requisitos o han cambiado los existentes, afectando a las iteraciones siguientes. Durante la planificación de los detalles de la siguiente iteración, el equipo también examina cómo afectarán los riesgos que aún quedan al trabajo en curso. Toda la retroalimentación de la iteración pasada permite reajustar los objetivos para las siguientes iteraciones. Se continúa con 29 esta dinámica hasta que se haya finalizado por completo con la versión actual del producto. Requerimientos Esta disciplina tiene como objetivos establecer lo que el sistema debe hacer (Especificar Requisitos), definir los límites del sistema, y una interfaz de usuario, realizar una estimación del costo y tiempo de desarrollo. Utiliza el Modelo de Casos de Uso para modelar el Sistema que comprenden los Casos de Uso, Actores y Relaciones, además utiliza los diagramas de Estados de cada Casos de Uso y las especificaciones suplementarias. Análisis y diseño Esta disciplina define la arquitectura del sistema y tiene como objetivos trasladar requisitos en especificaciones de implementación, al decir análisis se refiere a transformar Casos de Uso en clases, y al decir diseño se refiere a refinar el análisis para poder implementar los diagramas de clases de análisis de cada Casos de Uso, los diagramas de colaboración de cada Casos de Uso, el de clases de diseño de cada Casos de Uso, el de secuencia de diseño de Casos de Uso, el de estados de las clases, el modelo de despliegue de la arquitectura. Implementación Esta disciplina tiene como objetivos implementar las clases de diseño como componentes (ej. fichero fuente), asignar los componentes a los nodos, probar los componentes individualmente, integrar los componentes en un sistema ejecutable (enfoque incremental). Utiliza el Modelo de Implementación, conjuntamente los Diagramas de Componentes para comprender cómo se organizan los Componentes y dependen unos de otros. Pruebas Esta disciplina tiene como objetivos verificar la integración de los componentes (prueba de integración), verificar que todos los requisitos han sido implementados (pruebas del sistema), asegurar que los defectos detectados han sido resueltos antes de la distribución 30 2.4. MARCO CONCEPTUAL Tecnología Web: Es una tecnología que utiliza todas las tecnologías de inter conectividad de ordenadores que permite a los usuarios el intercambio, en formato de hipertexto, de todo tipo de datos e información (Texto, imágenes, sonidos) y de aplicaciones de software. Integración de datos: Es el proceso de combinar datos que residen en diferentes fuentes y permitirle al usuario final tener una vista unificada de todos sus datos. La habilidad de transformar datos inter-departamentales de fuentes heterogéneas en un plan de acción que se convertido en un reto y en una ventaja competitiva para compañías que requieran la integración de datos Telefonía Móvil: Es actualmente el medio de comunicación interpersonal más utilizado en el mundo junto al World Wide Web. Los medios de financiación del servicio de telefonía móvil son principalmente dos: la tarjeta prepago y el contrato. Prepago: La tarjeta prepago nos da derecho a adquirir un número de teléfono y hacer uso del servicio. La financiación, como bien indica el nombre, se realiza antes del disfrute del servicio. Se recarga el saldo de la tarjeta con una determinada cantidad económica, y el usuario puede disfrutar del servicio hasta que se agote lo que inicialmente ha invertido. Postpago: En el contrato de telefonía móvil la financiación es postpago, es decir, el usuario abona cada mes la cantidad económica equivalente al uso exacto que ha tenido durante todo este periodo. En postpago tienes la opción de varias tarifas a elegir según el uso que le des al celular (móvil) puedes optar por planes en segundo o minutos. Smartphone: Un teléfono inteligente es un teléfono móvil construido sobre una plataforma informática móvil, con una mayor capacidad de almacenar datos y realizar actividades semejantes a una minicomputadora y conectividad que un teléfono móvil convencional. Servidor Web: Programa que se ejecuta continuamente en una computadora (también se emplea el término para referirse a la computadora que lo ejecuta), manteniéndose a la espera de peticiones por parte de un cliente (un navegador Web) y que responde a estas peticiones mediante una página Web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detecta algún error. 31 Sistema de Información: Conjunto de elementos que interactúan entre sí con el fin de apoyar las actividades de una empresa, negocio o institución. Un sistema de información realiza cuatro actividades básicas: entrada, almacenamiento, procesamiento y salida de información. XHTML: Siglas del inglés eXtensible Hyper Text Markup Language, es básicamente HTML expresado como XML válido. XMI: XML de Intercambio de Metadatos. Su principal objetivo es permitir un intercambio de metadatos entre herramientas de modelado basadas en UML, repositorios de metadatos, basados en MOF en distintos entornos distribuidos. XML: Metalenguaje de marcado que permite la definición de etiquetas y el intercambio de datos a través de la red. Permite que un documento pueda usar separa una gran variedad de propósitos, facilita el desarrollo de aplicaciones para navegar por internet, buscadores, y el intercambio de datos entre bases de datos. Estadígrafo: Es un valor numérico que se obtiene a partir de datos muéstrales. Describe alguna característica de la muestra, y la toma de decisiones respecto a la población contiene cierto grado de incertidumbre. Teniendo las investigaciones y proyectos realizados anteriormente, conociendo la metodología, las herramientas y los pasos a seguir se proceden a aplicar dichos conocimientos para la obtención de resultados que servirán en el mejoramiento de los procesos de la agencia de ventas. 32 CAPÍTULO III INTERVENCION METODOLOGICA En el capítulo III mostraremos el desarrollo del diseño, el empleó del Lenguaje Unificado de Modelamientos (UML), basándose en la metodología RUP, explicando los procesos. Por otro lado vale la pena investigar y entender el enfoque UML por su gran aceptación, considerando que brinda un conjunto estandarizado de herramientas de UML incluye diagramas que permite a las personas visualizar la construcción de un sistema orientado a objetos. 3. 3.1. CAPTURA DE REQUISITOS A continuación se presentarán los productos elaborados durante la fase de concepción siguiendo los lineamientos establecidos en la metodología de desarrollo RUP. 3.1.1. Modelado del negocio Esta disciplina tiene como objetivos comprender la estructura y la dinámica de la organización, comprender problemas actuales e identificar posibles mejoras, comprenderlos procesos de negocio. Utiliza el Modelo de Caso de Uso del Negocio para describir los procesos del negocio y los clientes, el Modelo de Objetos del Negocio para describir cada Caso de Uso del Negocio con los Trabajadores, además utilizan los Diagramas de Actividad y de Clases. 33 3.1.2. Requerimientos Esta disciplina tiene como objetivos establecer lo que el sistema debe hacer (Especificar Requisitos), definir los límites del sistema, y una interfaz de usuario, realizar una estimación del costo y tiempo de desarrollo. Utiliza el Modelo de CU para modelar el Sistema que comprenden los Casos de Uso, Actores y Relaciones, además utiliza los diagramas de Estados de cada Caso de Uso y las especificaciones suplementarias. Los principales objetivos de esta disciplina son: Definir el ámbito del sistema. Definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario. Tener un mejor entendimiento de los requerimientos del sistema. Tener una base para estimar recursos y tiempo de desarrollo del sistema. Los requerimientos serán divididos en dos grupos: Los funcionales, que describirán las funciones que el software va a ejecutar; y los no funcionales, que especificarán criterios que pueden usarse para juzgar la operación de un sistema en lugar de sus funciones específicas. 3.1.2.1. Requerimientos Funcionales Los requerimientos funcionales ofrecen una descripción detallada del comportamiento de la aplicación y de las necesidades del sistema así como soluciones a posibles situaciones adversas o anómalas tales como datos inválidos, errores, fallos del sistema entre otras. Por lo tanto, para poder realizar correctamente el proyecto en cuestión debemos asegurarnos que tenemos claros todos los requerimientos a cumplir. En el siguiente listado veremos qué requisitos mínimos debe cumplir nuestra aplicación. Módulo de Personal Evidentes para todos los tipos de usuarios. 34 R-1. El sistema permitirá la creación, modificación e inactivación de usuarios y roles para tener diferentes niveles de acceso al sistema. R-2. El sistema debe permitir administrar las autorizaciones para la ejecución de las acciones del sistema dependiendo del rol de cada usuario. R-3. El sistema debe permitir el ingreso a través de un formulario para la identificación de los usuarios. R-4. El sistema debe permitir visualizar la lista del personal de la empresa. R-5. El sistema debe permitir las ventas personales de cada empleado. Módulo de Almacén Evidentes para todos los tipos de usuarios. R-6. El sistema debe permitir registrar e ingresar los productos nuevos a la agencia como las tarjetas SIM y equipos. R-7. El sistema permitirá la modificación de los datos de los productos. R-8. El sistema permitirá mostrar la información actualizada de los productos existentes y disponibles de los productos. R-9. El sistema debe permitir realizar búsquedas de artículos por coincidencia, por series. R-10. Sección para el ingreso de productos por artículos, series y otros datos. R-11. El sistema debe permitir generar un inventario por artículos y series. R-12. El sistema debe permitir la actualización continua de contenidos. Módulo de Ventas Evidentes para todos los tipos de usuarios. R-13. El sistema permitirá registrar los datos del cliente. 35 R-14. El sistema debe permitir hacer ventas según el tipo: Prepago, Postpago, Fijo e internet y otros. R-15. El sistema debe permitir la actualización continua de contenidos, es decir, se debe poder introducir, modificar y eliminar elementos de las bases de datos. R-16. El sistema debe guardar las cantidades de artículos vendidas y los precios a los que fueron vendidas. R-17. El sistema debe permitir hacer consultas. R-18. El sistema debe validar los campos de los formularios, para campos numéricos como cantidad sólo debe permitir introducir números, para campos con números decimales. R-19. El sistema debe validar los campos de los formularios antes de su envío. R-20. El sistema debe permitir la actualización continua de contenidos. R-21. Sección de activación que visualiza información necesaria: nombre, dirección, teléfono de referencia y otros del cliente, además de tipo de plan y tipo de ventas. R-22. Sección de activación en los diferentes tipos, planes y otros. R-23. Sección de activación para modificar el campo de número telefónico. Módulo de Caja Evidentes para todos los tipos de usuarios. R-24. El sistema debe permitir realizar pagos de las ventas realizadas. R-25. Sección para generar guías de remisión de las ventas realizadas. R-26. Sección para generar reporte de los movimientos diarios. R-27. Sección para generar reporte de ingresos y egresos mensual. R-28. El sistema debe guardar las cantidades de artículos vendidas y los precios a los que fueron vendidas. 36 3.1.2.2. Requerimientos No Funcionales Los requerimientos no funcionales tienen que ver con características que de una u otra forma puedan limitar el sistema. Estos requerimientos se basan en restricciones impuestas por los usuarios o bien surgidas por sucesos previstos improvistos y que afectan al diseño final. Normalmente son cuantificables. Algunos ejemplos son, el rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad, mantenimiento, seguridad, portabilidad, estándares, etc. El sistema de control y gestión debe satisfacer los siguientes requerimientos suplementarios: usabilidad, fiabilidad, desempeño y mantenibilidad. Cada uno de estos requerimientos impacta la toma de cualquier decisión sobre la arquitectura del sistema. Todo sistema debe ser capaz de aceptar modificaciones sin que esto afecte la operabilidad del mismo, lo cual se garantiza diseñando un sistema en componentes. 3.1.2.2.1. Requerimientos de Equipos Se deberá contar con un servidor de internet que permita la conexión de múltiples usuarios. Para que un encuestador pueda acceder a una encuesta debe tener una conexión a Internet a través de un punto con acceso a internet. 3.1.2.2.2. Disponibilidad El Sistema debe estar disponible cuando el usuario desee acceder al sistema. 3.1.3. Actores del sistema Los actores del sistema son las personas que interactúan con el software. Se ha identificado los siguientes usuarios: Administrador o Administrativo. 37 Almacenero. Vendedores. Activador. Personal de Caja. 3.1.4. Diagramas de Caso de Uso El diagrama de caso de uso es el conjunto de los modelos de interacción entre los usuarios externos de un sistema (actores) y el sistema mismo. Se han identificado los siguientes casos de uso generales: Gestionar proceso de acceso al personal Gestionar procesos de almacén. Gestionar procesos de activación. Gestionar proceso de ventas. 3.2. ANALISIS Esta disciplina define la arquitectura del sistema y tiene como objetivos trasladar requisitos en especificaciones de implementación, al decir análisis se refiere a transformar Caso de Uso en clases, y al decir diseño se refiere a refinar el análisis para poder implementar los diagramas de clases de análisis de cada Caso de Uso, los diagramas de colaboración de cada Caso de Uso, el de clases de diseño de cada Caso de Uso, el de secuencia de diseño de Caso de Uso, el de estados de las clases, el modelo de despliegue de la arquitectura. 3.2.1. Modelo de Casos de Uso del Negocio Este diagrama representa la funcionalidad completa de un sistema (o una clase) mostrando su interacción con los agentes externos. Esta representación se hace a través de las relaciones entre los actores (agentes externos) y los casos de uso (acciones) dentro del sistema. Los diagramas de casos de uso 38 definen conjuntos de funcionalidades afines que el sistema debe cumplir para satisfacer todos