UNIVERSIDAD TÉCNOLOGICA DE QUERÉTARO. Nombre del proyecto: DESARROLLO DE UN SISTEMA DE PROCESAMIENTO DE INFORMACIÓN PARA ESTUDIOS DE MERCADO.

Documentos relacionados
Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

JAVA EE 5. Arquitectura, conceptos y ejemplos.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Capitulo 5. Implementación del sistema MDM

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Diseño dinámico de arquitecturas de información

Qué es una página web?, qué conoces al respecto?, sabes crear una página

emuseum PUBLIQUE SUS COLECCIONES EN LA WEB Por qué elegir emuseum? Se integra fácilmente con TMS Búsqueda eficaz Completamente personalizable

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Eficiencia en la Automatización y Gestión de Servicios

Visión General de GXportal. Última actualización: 2009

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Curso de PHP con MySQL Gratis

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE

Studium, Campus Virtual de la Universidad de Salamanca.

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

Qué necesito saber para tener mi sitio web en Internet?

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capitulo VI. Conclusiones.

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu

Manual de NetBeans y XAMPP

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

CMS JOOMLA. Características

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

PORTAL DE LA CIUDAD DIGITAL DE MAZARRÓN ESQUEMA DE MÓDULOS DE LA PLATAFORMA

BearSoft. SitodeCloud. Rafael Rios Bascón Web: Móvil:

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

TRÁFICO DE PISO 2. Rev. 1 15/04/09

Facultad de Ingeniería Escuela de Ciencias y Sistemas Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Capítulo 1. Introducción

Capítulo 5. Cliente-Servidor.

Utilización del sistema operativo GNU/ Linux en las netbooks

Análisis y diseño del sistema CAPÍTULO 3

Curso de HTML5 y CSS3

CAPITULO 4. ANALISIS COMPARATIVO Y SELECCION DE LA PLATAFORMA EDUCATIVA.

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

Tablas y Campos Nuevos

LiLa Portal Guía para profesores

Nombre del Trabajo: Control ActiveX que garantiza la seguridad de las aplicaciones desarrolladas para windows.

I. OBJETIVOS INTRODUCCIÓN. Oscar Daniel Camuendo Vásquez

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

PROPUESTA DE DESARROLLO DE SITIO WEB AVANZADO

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

Introducción a Gestión de Proyectos. Beneficios del Sistema. Arquitectura y Diseño del Aplicativo. Requerimientos del Sistema.

Sistema de gestión de procesos institucionales y documental.

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO SIMDIA ADMINISTRADOR JUNTA

REQUISITOS DE HARDWARE...

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

IV. Implantación del sistema.

Novedades en Q-flow 3.02

ing Solution La forma más efectiva de llegar a sus clientes.

I. DATOS DE IDENTIFICACIÓN. 1. Unidad Académica: _Facultad de Ciencias

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

Producto. Información técnica y funcional. Versión 2.8

Objetivos del proyecto:


POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

CAPÍTULO 4 ANÁLISIS DE IMPLEMENTACIONES

MANUAL DE NAVEGACIÓN DEL SIIA-WEB versión PRONAD

Manual de Usuario De Respaldo y Restauración de Información

Descripción. Este Software cumple los siguientes hitos:

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

Base de datos en Excel

Modulo Profesional de Proyecto PROPUESTA

Configuracion Escritorio Remoto Windows 2003

Nos encargamos del tuyo, tú disfruta

Sistema PYMES Ventas e Inventarios H&S

CAPÍTULO 3 VISUAL BASIC

UNIVERSIDAD TECNICA DEL NORTE

Configuración de la red

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Base de datos relacional

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012

TRABAJO GRUPAL TEMA: COMO CREAR BASE DE DATOS EN SQL

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Tema 1. Introducción a Java EE

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

Capítulo III. Diseño del sistema. Dentro de este capítulo veremos a detalle el diseño del sistema, que como se había

MANUAL DE USUARIO CMS- PLONE

Presentación de servicios

Windows Server Windows Server 2003

Manual CMS Mobincube

Anexo 4 Documento de Arquitectura

Workflows? Sí, cuántos quiere?

BackflipSD Modelo de Diseño

Transcripción:

UNIVERSIDAD TÉCNOLOGICA DE QUERÉTARO Nombre del proyecto: DESARROLLO DE UN SISTEMA DE PROCESAMIENTO DE INFORMACIÓN PARA ESTUDIOS DE MERCADO Empresa: ENLACE MÉXICO Memoria que como parte de los requisitos para obtener el título de: INGENIERO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Presenta: LAURA CHÁVEZ GRANADOS Asesor de la UTEQ Mta. Araceli Soto Hernández Asesor de la Organización Lic. Astrid Tenorio Ochoa Santiago de Querétaro, Qro. Mayo del 2014

Resumen La empresa Marvo es una empresa dedicada a la elaboración y aplicación de soluciones mercadológicas a la medida para el ámbito comercial, industrial y político. Actualmente la empresa no cuenta con una aplicación que le permita capturar sus encuestas, así como analizar los resultados esta sigue un proceso tradicional realizando las encuestas cara a cara registrando los datos en hojas de papel para posteriormente capturarlas en Excel; por esta razón la empresa considera necesario automatizar su proceso de investigación de mercados a través de una aplicación web. Sara poll System consiste en una aplicación web que permitirá registrar administradores de la aplicación, entrevistados, encuestadores, así como crear encuestas y capturar las respuestas que los encuestadores obtendrán por parte de los entrevistados al realizar la encuesta a través de vía telefónica; además el administrador podrá generar reportes de la información registrada en la aplicación. La aplicación Sara poll System será desarrollada en la plataforma JEE (Java Enterprise Edition) utilizando java Server Pages (JSP), los cuales trabajan en una arquitectura cliente-servidor o también llamada arquitectura multi-capa. Los datos se almacenarán en el gestor de base de datos MySQL ya que es de alto rendimiento y muy fiable. Palabras claves: Aplicación web, Jee, Jsp, Cliente, Servidor, MySQL. 2

Summary The proyect was developed in the company Marvo. The purpose of the proyect was to automate the process that the company has to perform its marketing studies through a web aplication. The objectives of the application was to facilitate the storage, handling and query of data from polls conducted; also, to reduce time in the application of user polls. Sara poll System allows to save, delete, modify and view information of respondents, interviewers, administrators. It also creates polls, proyects and reports of polls conducted. The aplication was developed in the JEE platform using Java Server Pages, which work in a clientserver architecture. The data is stored in the database manager. The resources used for the development of the application were Java EE, JDK, Adobe CS4 Deamweaver, Filezilla, Apache Tomcat, MySQL and Computer. During the develop this proyect I learned to work with a new programing language called Java EE; I also learned to have good comunication with the people. 3

Índice RESUMEN... 2 SUMMARY... 3 ÍNDICE... 4 I. INTRODUCCIÓN... 5 II. ANTECEDENTES... 6 III. JUSTIFICACIÓN... 7 IV. OBJETIVOS... 8 V. ALCANCE... 9 VI. ANÁLISIS DE RIESGOS... 10 VII. FUNDAMENTACIÓN TEÓRICA... 13 VIII.PLAN DE ACTIVIDADES... 20 IX. RECURSOS MATERIALES Y HUMANOS... 21 X. DESARROLLO DEL PROYECTO... 23 X.I. FASE DE ANÁLISIS... 23 X.II. FASE DE DISEÑO... 25 X.III. FASE DE CONSTRUCCIÓN... 36 X.IV. FASE DE PRUEBAS... 43 XI. RESULTADOS OBTENIDOS... 44 XII. CONCLUSIONES Y RECOMENDACIONES... 45 XIII.ANEXOS XIV.BIBLIOGRAFÍA 4

I. Introducción Una aplicación web consiste en aplicaciones que los usuarios pueden utilizar accediendo a un servidor web, estas aplicaciones ofrecen servicios a los usuarios de internet que acceden utilizando un navegador web como I.Explorer, Firefox o Safari entre otros, dirigiéndose a una dirección de internet específica. Las aplicaciones web pueden ser de acceso público (tiendas virtuales, diarios digitales, portales de internet) o de acceso restringido como son las intranets para mejorar las gestiones internas de la empresa. Algunas de las tecnologías que se utilizan para el desarrollo de aplicaciones web son: Javascript, Microsoft SQL Server, Microsoft.NET, ASP, Oracle, PostgreSQL, DB2, XML, Action Script, Java, Java con sus tecnologías Java Servlets y Java Server Pages (JSP), MySQL, XHTML, CSS, Flash, PHP, Perl, Ruby, Python, HTML, XML. La aplicación web Sara poll System será desarrollada en la plataforma JEE lenguaje orientado al desarrollo de servicios web en internet, mediante tecnologías java servelets y java Server Pages (JSP). El presente escrito tiene como objetivo documentar el proyecto que se realizará dentro de la empresa Enlace México la cual considera que es necesario automatizar su proceso de Investigación de mercados de manera que puedan registrar, analizar y consultar la información de las encuestas elaboradas a través de una aplicación web. 5

II. Antecedentes Marvo es una empresa con más de 10 años de experiencia en la elaboración y aplicación de soluciones mercadológicas a la medida para el ámbito comercial, industrial y político. Marvo Marketing brinda a sus clientes resultados satisfactorios gracias a la disponibilidad de un equipo interdisciplinario que ofrece soluciones en las siguientes áreas: Diseño gráfico Multimedia Internet Publicidad Comunicación Promoción de venta Relaciones públicas Administración y finanzas Investigación de mercados Comercialización Misión Ser una empresa que proporcione a su clientes soluciones mercadológicas efectivas de acuerdo a sus alcances y necesidades, adecuándose a los recursos disponibles de éste Visión Ser una empresa confiable y reconocida en el mercado por la efectividad de sus proyectos mercadológicos al demostrar los beneficios que puede obtener una empresa al hacer uso de la mercadotecnia. 6

III. Justificación Actualmente Marvo no cuenta con una aplicación o sistema que le permita realizar y elaborar las encuestas de una manera más sencilla y práctica, el proceso que sigue la empresa para realizar su trabajo de campo en sus investigaciones de mercados es de una manera tradicional, realizando la encuesta cara a cara, es decir, la encuesta se completa en una entrevista personal con el encuestado, tomando registro de sus respuestas. Realizar encuestas requiere un tiempo dedicado al diseño del conjunto de preguntas, hacer llegar dicho conjunto a una muestra representativa, recolección de las respuestas y analizar la información para extraer unas conclusiones; por esta razón se hace necesario el uso de herramientas que faciliten el correcto desarrollo de cada una de las fases mediante un método sistemático para la organización del procedimiento de diseño, automatización,recolección de encuestas y el proceso de la información generada. 7

IV. Objetivos Objetivo General Crear una herramienta que permita registrar, consultar y analizar la información de encuestas realizadas de una manera más sencilla y práctica. Objetivos Específicos Automatizar el proceso de elaboración, realización y recolección de encuestas a través de una aplicación web que permita al encuestador capturar las respuestas que los entrevistados darán a través de vía telefónica. Facilitar el almacenamiento, manejo y consulta de datos de las encuestas realizadas. Reducir el tiempo en la aplicación de las encuestas a los usuarios. Elaborar reportes de la información registrada. 8

V. Alcance La Aplicación web Sara poll System será capaz de generar proyectos y encuestas creadas por el administrador de la aplicación web que serán almacenadas en un base de datos creada en el gestor de base de datos MySQL. La aplicación web tendrá dos tipos de usuarios administrador y encuestador a los cuales se les asignaran distintos privilegios. El administrador se tendrá que autentificar con su usuario y contraseña para poder tener acceso a la aplicación, este se encargará de toda la parte administrativa el podrá crear proyectos y encuestas, dar de alta, modificar o eliminar a los encuestadores y entrevistados registrados, asignar encuestas a los encuestadores, consultar, analizar, elaborar reportes y conclusiones de la información almacenada y los datos obtenidos de las encuestas. El encuestador al igual que el administrador se tendrá que autentificar con su usuario y contraseña para poder tener acceso a la aplicación pero el solo podrá capturar las respuestas de las encuestas y entrevistados que le fueron asignadas y asignados por el administrador. Para capturar las respuestas se hará una llamada telefónica a los entrevistados registrados. 9

VI. Análisis de Riesgos El propósito de análisis de riesgos es identificar los riesgos que se puedan presentar en el desarrollo del proyecto, analizarlos, calcular la exposición y en base a ello poder priorizarlos, para establecer estrategias de control y resolución, que permitan ejercer una correcta supervisión de los mismos. Además nos permita seleccionar e implantar las medidas para conocer, prevenir, impedir, reducir o controlar los riesgos identificados, y así reducir al mínimo su potencialidad o posibles perjuicios para la implementación Identificación de Riesgos ID Riesgo R-01 Irresponsabilidad por parte de equipo de trabajo. R-02 Incumplimiento del proyecto en tiempo y forma R-03 Mala planeación en las actividades R-04 Requerimientos diferentes a las necesidades del usuario R-05 Diseño Erróneo R-06 Cambio en los requisitos R-07 Falta de habilidades en el manejo herramientas correctas R-08 Fallo equipo principal (Fallo hardware) R-09 Falta de un Experto R-10 Ocupaciones extralaborales R-11 Falta de Comunicación con el cliente 10

R-12 Falla del servidor de alojamiento de la aplicación web Causas del riesgo Riesgo Incumplimiento del proyecto en Causa Retraso de las actividades tiempo y forma Requerimientos diferentes a las Mal análisis de la aplicación necesidades del usuario Fallo equipo principal (Fallo Mal funcionamiento hardware) Falta de habilidades en el manejo herramientas correctas Ocupaciones extralaborales Que no se conozcan las herramientas de desarrollo Se presentan actividades que no son parte del proyecto Diseño Erróneo Mala planificación en las actividades Mal análisis Falta de Experiencia en tareas de planificación Cambios en los Requisitos El cliente requiere algo más Falta de comunicación con el cliente Medios de comunicación ineficientes 11

Riesgos agrupados por categorías SARA POLL SYSTEM Riesgo Técnico Riesgo administratvo Riesgo Organizacional Riesgo Externo Requerimientos diferentes a las necesidades del Cliente Incumplimiento del proyecto en tiempo y forma Ocupaciones extralaborales Falla del servidor de alojamiento de la aplicación web Ausencia de, o mala, configuración de seguridad Cambios en los Requisitos Falta de comunicación con el cliente Falta de habilidades en el manejo herramientas de desarrollo Mala Planeación de actividades Error de estimación en el presupuesto Diseño Erróneo 12

VII. Fundamentación Teórica Hoy en día vivimos en una época donde el Internet ha tenido un gran avance y un gran auge para muchas áreas de nuestra vida diaria, tales como, laboral, escolar, social, familia, salud, etc., cubriendo necesidades de una persona y ayudándola a llevar a cabo sus labores diarias. Por estas necesidades es que las aplicaciones web surgieron, para darle mayor comodidad al usuario de Internet para poder acceder a información más rápidamente, realizar tareas o investigaciones mucho más eficientemente, compartir imágenes, vídeos, o lo que se te ocurra con todos tus amigos a través de redes sociales, poder crear documentos, presentaciones todo esto sin necesidad de instalar algún software en nuestra PC. Podemos ver siempre el gran auge que tienen las aplicaciones web, solo con abrir nuestro navegador y entrar a la página de Google estamos viendo una de las aplicaciones más famosas y sobre todo más conocidas hoy en día, un buscador que nos ayuda a encontrar lo que deseamos. 13

La aplicación web Sara poll System será desarrollada en la plataforma JEE lenguaje orientado al desarrollo de servicios web en internet, mediante tecnologías java servelets y java Server Pages (JSP), utilizando el gestor de base de datos MySQL y el servidor Apache Tomcat. Aplicación web Una aplicación web es un conjunto de páginas que interactúan unas con otras y con diversos recursos en un servidor web, incluidas bases de datos. También el término aplicación web se utiliza para referirnos a aquellos programas que se ejecutan desde un navegador web, sea Internet Explorer, Google Chrome, Mozilla Firefox, etc., y que se pueden programar en cualquier lenguaje que soporte el navegador, como PHP, JAVASCRIPT, ASP, JQUERY, AJAX, combinándolos con HTML. Cómo funcionan las aplicaciones web Los administradores de contenidos vía web almacenan los datos en bases de datos (BD). Estas BD están formadas por un número variable de tablas que contienen columnas y filas, estas tablas se componen del contenido que ha sido previamente cargado en ellas a través de formularios. En estas tablas llamamos al nombre de cada columna campo y a cada fila registro. Ambos poseen números de id (identificación) que son únicos para cada uno de ellos. 14

Las páginas que se generan a partir de esos contenidos son llamadas dinámicas. En este contexto el término dinámico no indica movimiento o animación, sino que hace referencia al hecho de que las páginas dinámicas de un sitio web se generan a partir de una solicitud o consulta que realiza una máquina cliente a un servidor web se podría decir que la página dinámica no existe hasta que no es solicitada por el navegante. Cuando el navegante la solicita oprimiendo alguno de los comandos disponibles se dispara la consulta a la base de datos, y la aplicación muestra una página web con el contenido que este programado en la consulta. Diversas aplicaciones se ejecutan en un entorno cliente/servidor. Esto significa que los equipos clientes (equipos que forman parte de una red) contactan a un servidor, un equipo generalmente muy potente en materia de capacidad de entrada/salida, que proporciona servicios a los equipos clientes. Estos servicios son programas que proporcionan datos como la hora, archivos, una conexión, etc. Los servicios son utilizados por programas denominados programas clientes que se ejecutan en equipos clientes. Por eso se utiliza el término "cliente cuando un programa que se ha diseñado para ejecutarse en un equipo cliente, capaz de procesar los datos recibidos de un servidor. En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la arquitectura generalmente está compartida por: 15

1. Un cliente, es decir, el equipo que solicita los recursos, equipado con una interfaz de usuario (navegador Web) para la presentación. 2. El servidor de aplicaciones (software intermedio), cuya tarea es proporcionar los recursos solicitados, pero que requiere de otro servidor para hacerlo. 3. El servidor de datos, que proporciona al servidor de aplicaciones los datos que requiere. Ventajas de las aplicaciones web La principal ventaja que tienen las aplicaciones web es su independencia de ser instaladas en la pc, ya que solo necesitamos una computadora, Internet y un buen navegador web, como Mozilla Firefox o Google Chrome, ya que muchas personas están desechando Internet Explorer por ineficiencia. Existe otra ventaja la cual es la independencia del sistema operativo que se maneja, ya que eso no importa, lo único que le interesa a la aplicación es que tengas un navegador web y conexión a Internet, ya sea que estés en Windows 16

(XP, Vista, Seven, Eight), MacOS o Linux (Ubuntu, Kubuntu, Xubuntu, Fedora, etc.) Jee La plataforma Java Enterprise Edition (Java EE) son un conjunto de especificaciones que facilitan el desarrollo y despliegue de aplicaciones empresariales multi-capa. Java EE ofrece un conjunto de especificaciones y técnicas que proporcionan soluciones completas, seguras, estables y escalables para el desarrollo, despliegue y gestión de aplicaciones de múltiples niveles de funcionalidad basadas en servidores. Los componentes principales de la plataforma Java EE, son los Java Servlets, Java Server Pages (JSP), Java Server Pages Standard Tag Library (JSTL), Java Server Faces (JSF) y los Enterprise JavaBeans (EJB). Las aplicaciones Java EE suelen ser consideradas aplicaciones de tres capas porque se distribuyen en tres localizaciones, ordenadores clientes, el sistema donde se ejecuta el servidor de aplicaciones, y el sistema donde reside la base de datos. Jsp Java Server Pages (JSP) es una tecnología que ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML, XML entre otros tipos de documentos. JSP es similar a PHP pero usa el lenguaje de programación Java. 17

Para desplegar y correr Java Server Pages, es requerido un servidor web compatible con contenedores servlet como Apache Tomcat o Jetty. Java Server Pages (JSP) es una tecnología para el desarrollo de páginas Web compatibles con el contenido dinámico que ayuda a los desarrolladores insertar código Java en páginas HTML, haciendo uso de etiquetas especiales JSP, la mayoría de los cuales comienzan con <% y terminan con%>. Un componente Java Server Pages es un tipo de servlet de Java diseñada para cumplir con el papel de una interfaz de usuario para una aplicación web en Java. Los desarrolladores web escriben páginas JSP como archivos de texto que combinan código HTML o XHTML, los elementos XML, y las acciones y comandos JSP embebidos. El uso de JSP, puede obtener información de los usuarios a través de formularios de páginas web, registros actuales de una base de datos u otra fuente, y crear páginas web de manera dinámica. Etiquetas JSP se pueden utilizar para una variedad de propósitos, como la recuperación de información de una base de datos o registro de las preferencias del usuario, el acceso a componentes JavaBeans, pasar el control de una página y el intercambio de información entre peticiones, páginas, etc. 18

Apache tomcat Apache Tomcat (también llamado Jakarta Tomcat o simplemente Tomcat) funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de Java Server Pages (JSP) de Sun Microsystems. Tomcat es un servidor web con soporte de servlets y JSPs. Tomcat no es un servidor de aplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que compila JSPs convirtiéndolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinación con el servidor web Apache. Mysql MySQL es la base de datos de código abierto más popular del mundo, que permite la entrega rentable de aplicaciones escalables de bases de datos y embebidos basados en la Web, de alto rendimiento y fiable. 19

VIII. Plan de Actividades Se estima que se contara con 15 semanas para el desarrollo de Sara Poll System, iniciando el 7 de enero y finalizando el 15 de abril del presente año 2014, durante este periodo se realizaran diferentes actividades que permitirán lograr los objetivos del proyecto. Ver anexo 1. Plan de actividades Sara Poll System 20

IX. Recursos Materiales y Humanos Para llevar a cabo el desarrollo del proyecto Sara Poll System de la empresa Enlace México es necesario contar con los siguientes recursos: A) Recursos Materiales Software Java EE JDK Adobe Deamweaver CS4 Filezilla(FTP) Apache Tomcat MySQL Hardware Computadora Mobiliario Escritorio 21

Características de la Computadora Característica Descripción Procesador Intel (R) Pentium (R) Dual 2.00 Ghz Memoria Ram 2GB Sistema Operativo Windows Vista de 32 bits B) Recursos Humanos Personal Programador Analista Diseñador 22

X. Desarrollo del Proyecto El desarrollo del proyecto se llevó a cabo en 4 fases análisis (Identificación del problema y definición de los requerimientos), diseño, construcción, pruebas. X.I. Fase de Análisis Identificación del problema La empresa Marvo es una empresa con más de 10 años de experiencia en la elaboración y aplicación de soluciones mercadológicas a la medida para el ámbito comercial, industrial y político, actualmente dicha empresa no cuenta con una aplicación web que le permita realizar sus investigaciones de mercados de una manera más sencilla y práctica, ellos las realizan a través del proceso tradicional que consiste en realizar las encuesta cara a cara lo cual requiere más tiempo en realizarlas; por esta razón la empresa considera necesario automatizar el proceso de realización a través de una aplicación web. Definición de requerimientos La empresa requiere llevar a cabo el registro de los administradores, entrevistados, encuestadores; así como crear proyectos, encuestas, registrar las repuestas dadas por los entrevistados y generar reportes de las mismas. 23

Requisitos de la aplicación web Autentificación de Administradores Registrar de Administradores, encuestadores y entrevistados. Actualizar la información de los Administradores, encuestadores y entrevistados. Eliminar los registros de Administradores, encuestadores y entrevistados. Crear Proyectos. Crear encuestas. Capturar las respuestas de los entrevistados. Generar reportes. 24

X.II. Fase de Diseño Durante el diseño de las interfaces se establecieron los prototipos para la interacción de la aplicación con el usuario. JSP Login Imagen01: Login JSP Catálogo Administrador Imagen02: Catálogo administrador 25

JSP Registrar Administrador Imagen03: Registrar Administrador JSP Modificar Administrador Imagen04: Modificar Administrador 26

JSP Eliminar Administrador Imagen05: Eliminar Administrador 27

JSP Catalogo Encuestador Imagen06: Catalogo Encuestador JSP Registro Encuestador Imagen07: Registrar Encuestador 28

JSP Modificar Encuestador Imagen08: Modificar Encuestador JSP Eliminar Encuestador Imagen10: Eliminar Encuestador 29

JSP Catálogo Entrevistado Imagen11: Catálogo Entrevistado JSP Registrar Entrevistado Imagen12: Registrar Entrevistado 30

JSP Modificar Entrevistado Imagen13: Modificar Entrevistado JSP Eliminar Entrevistado Imagen14: Eliminar Entrevistado 31

JSP Catálogo Proyectos Imagen15: Catálogo Proyecto JSP Registrar Proyecto Imagen16: Registrar Proyecto 32

JSP Modificar Proyecto Imagen17: Modificar Proyecto JSP Eliminar Proyecto Imagen18: Eliminar Proyecto 33

JSP Encuesta Imagen19: Crear Encuesta JSP Pregunta Imagen20: Nueva Pregunta 34

JSP Respuesta Imagen21: Nueva Respuesta 35

X.III. Fase de Construcción Para la construcción de la aplicación se utiliza el patrón de diseño MVC (Modelo, Vista, Controlador). El patrón de arquitectura MVC (Modelo Vista Controlador) es un patrón que define la organización independiente del Modelo (Objetos de Negocio), la Vista (interfaz con el usuario u otro sistema) y el Controlador (controlador del workflow de la aplicación). Contiene el núcleo de la funcionalidad (dominio) de la aplicación. Encapsula el estado de la aplicación. No sabe nada / independiente del Controlador y la Vista. Es la presentación del Modelo. Puede acceder al Modelo pero nunca cambiar su estado. Puede ser notificada cuando hay un cambio de estado en el Modelo. Reacciona a la petición del Cliente, ejecutando la acción adecuada y creando el modelo pertinente 36

Conexión a base de datos Mysql La clase conexión.java es la que permite la conexión con la base de datos MySql, aquí es donde se indica el nombre, usuario y contraseña de la base de datos. Dao El dao es la clase java donde se crean y ejecutan los métodos de registrar, modificar, eliminar, listar y buscar cada uno de los módulos de la aplicación (Administrador, Encuestador, Entrevistado, Proyectos, Encuestas). Controlador El controlador es la clase servelet donde se reciben los valores o parámetros por parte del jsp que le usuario ingresa en los formularios. Bean El bean es la clase java donde se encuentran todos los atributos de cada uno de los módulos con sus getters y setters. Jsp El Jsp es la interface o la vista con la que interactúa el usuario con la información. 37

Script de la base de datos create database marvopoll01; use marvopoll01; create table administrador( idadministrador int auto_increment, nombre varchar(30) not null, appaterno varchar(30) not null, apmaterno varchar(30) not null, telefono varchar(20), email varchar(30), usuario varchar(40) not null, password varchar(30) not null, estatus varchar(20) not null, primary key (idadministrador), unique(usuario,password) ); create table proyecto ( idproyecto int auto_increment, idadministrador int not null, proyecto varchar(30) not null, descripcion varchar(50), estatus varchar(20)not null, 38

foreign key (idadministrador) references administrador(idadministrador), primary key(idproyecto), unique(proyecto)); create table encuesta( idencuesta int auto_increment, idproyecto int, encuesta varchar(30) not null, descripcion varchar(50), estatus varchar(20) not null, foreign key (idproyecto) references proyecto(idproyecto), primary key(idencuesta), unique(encuesta)); create table pregunta( idpregunta int auto_increment, pregunta varchar(70) not null, descripcion varchar(50), estatus varchar(20) not null, primary key(idpregunta), unique(pregunta)); 39

create table respuesta( idrespuesta int auto_increment, respuesta varchar(50) not null, descripcion varchar(50), estatus varchar(20) not null, primary key (idrespuesta), unique(respuesta)); create table encuestador( idencuestador int auto_increment, nombre varchar(30) not null, appaterno varchar(30) not null, apmaterno varchar(30) not null, telefono varchar(20), email varchar(30), usuario varchar(40) not null, password varchar(30) not null, estatus varchar(20) not null, primary key (idencuestador), unique(usuario,password) ); 40

create table entrevistado( identrevistado int auto_increment, telefono varchar(20) not null, colonia varchar(30) not null, municipio varchar(30) not null, estado varchar(30) not null, codigopostal varchar(10), estatus varchar(20) not null, primary key (identrevistado) ); create table encuesta_encuestador( idencuesta int not null, idencuestador int not null, foreign key (idencuesta) references encuesta(idencuesta), foreign key (idencuestador) references encuestador(idencuestador)); create table encuesta_pregunta( idencuesta int not null, idpregunta int not null, foreign key (idencuesta) references encuesta(idencuesta), foreign key (idpregunta) references pregunta(idpregunta)); 41

create table pregunta_respuesta( idpregunta int not null, idrespuesta int not null, foreign key (idpregunta) references pregunta(idpregunta), foreign key (idrespuesta) references respuesta(idrespuesta)); create table encuestador_entrevistado( idencuestador int not null, identrevistado int not null, foreign key (idencuestador) references encuestador(idencuestador), foreign key (identrevistado) references entrevistado(identrevistado)); create table entrevistado_respuesta( identrevistado int not null, idrespuesta int not null, foreign key (identrevistado) references entrevistado(identrevistado), foreign key (idrespuesta) references respuesta(idrespuesta)); 42

X.IV. Fase de Pruebas Las pruebas se llevaron a cabo durante todo el desarrollo del proyecto, sin embargo también se hacen pruebas finales de aplicación para detectar los errores de diseño y funcionalidad. Imagen22: Prueba módulo Administrador Imagen23: Prueba módulo Entrevistado 43

XI. Resultados Obtenidos Con la implementación de la aplicación web Sara poll System la empresa enlace México automatizo su proceso de realización de las investigaciones de mercado de tal manera que se reduce el tiempo en la realización de las encuestas y genera los reportes de los estudios de mercados de una manera más fácil y sencilla, ya que esta aplicación web permite el registro, modificación, eliminación y la visualización de Administradores, entrevistados, encuestadores, proyectos, encuestas y respuestas de las mismas; lo cual facilita llevar a cabo un mejor proceso en el almacenamiento de la información. 44

XII. Conclusiones y Recomendaciones Después de haber desarrollado la aplicación se puedo observar que la planificación inicial fue poco optimista, por lo cual no se ha cumplido estrictamente con la planificación, ya que no todos los días se disponía de ese tiempo. Lo que se ha hecho pues ha sido dedicar diariamente todas aquellas horas que se ha podido, así como algunos fines de semana que en un principio no se habían tenido en cuenta. La variación de horas dedicadas ha surgido por problemas en el desarrollo de la aplicación. La aplicación puede ampliarse en cuanto a la funcionalidad, además puede mejorar su interface gráfica de manera que se más atractiva y fácil de usar para el usuario. 45

PLAN DE ACTIVIDADES XIII. Anexos Imagen24: Plan de actividades 46

Código java de la conexión a la base de datos package modelo.conexion; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; import javax.naming.context; public class Conexion { private Connection con; private String namebd = "marvopoll01"; private String urlbd = "jdbc:mysql://localhost:3306/" + namebd; private String userbd = "root"; private String passbd = ""; public Connection getconexion() { Context initcontext = null; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Driver Encontrado"); } catch (ClassNotFoundException e) { e.printstacktrace(); }try { con = DriverManager.getConnection(urlBD, userbd, passbd); System.out.println("Conexion a BD Vamos Bien!"); } catch (SQLException e) { 47

e.printstacktrace(); } Return con; } Public static void main(string[] args) { Conexion con = newconexion(); con.getconexion();} } 48

Código java del módulo administrador package modelo.dao; import java.sql.connection; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.util.arraylist; import modelo.bean.beanadministrador; import modelo.conexion.*; public class DaoLogin { BeanAdministrador beanadministrador= newbeanadministrador(); private Connection con = null; private Conexion classconexion = new Conexion(); private String sql = ""; private PreparedStatement ps=null; private ResultSet rs=null; ArrayList<BeanAdministrador>lista = new ArrayList<>(); public ArrayList<BeanAdministrador> daologin(beanadministrador beanadministrador) throws SQLException {System.out.println(beanAdministrador.getUsuario()+beanAdministrador.g etpassword()); lista= new ArrayList<>(); 49

sql="select * from administrador where usuario='"+beanadministrador.getusuario()+"' and password='"+beanadministrador.getpassword()+"'"; ps=classconexion.getconexion().preparestatement(sql); rs=ps.executequery(); while(rs.next()){ beanadministrador.setusuario(rs.getstring("usuario")); beanadministrador.setpassword(rs.getstring("password")); beanadministrador.setnombre(rs.getstring("nombre")); beanadministrador.setappaterno(rs.getstring("appaterno")); beanadministrador.setapmaterno(rs.getstring("apmaterno")); lista.add(beanadministrador); } returnlista; } } 50

XIV. Bibliografía Roger1345 (2012), Java México, Consultado registro de una BD usando JSP y Servlets. http://www.javamexico.org/blogs/roger1345/consultado_registros_de_una _bd_usando_jsp_y_servlets Jose Luis Bugarin (2013), Consultor java, Ejercicio Encuesta Con Jsp y Servlets. http://www.consultorjava.com/wp/2013/05/05/ejercicio-encuesta-con-jspy-servlets/ Roger Villamarin Rodriguez (2012), My Java Zone, Consultando registros de la BD, en JEE. http://www.myjavazone.com/2012/07/consultando-registros-de-la-bd-enjee.html Programación Fácil, Java Jsp Introducción A Las Bases De Datos. http://www.programacionfacil.com/java_jsp/select_bases_de_datos 51

Micaela (2009), El Web Master, Ventana Modal con jquery en 3 pasos. pasos 2008, Verreti, Redirigir un servlet a un página JSP pasándole parámetros http://www.elwebmaster.com/general/ventana-modal-con-jquery-en-3- http://varetti.wordpress.com/2008/09/25/redirigir-un-servlet-a-un-paginajsp-pasandole-parametros/ 52