Download Universidad Tecnológica de Querétaro

Document related concepts
no text concepts found
Transcript
Universidad
Tecnológica de
Querétaro
Firmado digitalmente por Universidad
Tecnológica de Querétaro
Nombre de reconocimiento (DN): cn=Universidad
Tecnológica de Querétaro, o=UTEQ, ou=UTEQ,
[email protected], c=MX
Fecha: 2014.05.09 09:18:57 -05'00'
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
 Promoción de venta
 Multimedia
 Relaciones públicas
 Internet
 Administración y finanzas
 Publicidad
 Investigación de mercados
 Comunicación
 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
Causa
Incumplimiento
del
proyecto
en 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 Que
no
se
conozcan
las
herramientas correctas
herramientas de desarrollo
Ocupaciones extralaborales
Se presentan actividades que no
son parte del proyecto
Diseño Erróneo
Mal análisis
Mala planificación en las actividades
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
ineficientes
11
de
comunicación
Riesgos agrupados por categorías
SARA POLL SYSTEM
Riesgo Técnico
Requerimientos
diferentes a las
necesidades del
Cliente
Ausencia de, o mala,
configuración de
seguridad
Falta de habilidades
en el manejo
herramientas de
desarrollo
Riesgo administratvo
Riesgo Organizacional
Incumplimiento del
proyecto en tiempo y
forma
Cambios en los
Requisitos
Mala Planeación de
actividades
Error de estimación
en el presupuesto
Diseño Erróneo
12
Ocupaciones
extralaborales
Falta de comunicación
con el cliente
Riesgo Externo
Falla del servidor
de alojamiento de
la aplicación web
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,
entrevistados.

Crear Proyectos.

Crear encuestas.

Capturar las respuestas de los entrevistados.

Generar reportes.
24
encuestadores
y
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
modificación,
eliminación
y
la
web permite el registro,
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
XIII. Anexos
PLAN DE ACTIVIDADES
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.
http://www.elwebmaster.com/general/ventana-modal-con-jquery-en-3pasos
 2008, Verreti, Redirigir un servlet a un página JSP pasándole parámetros
http://varetti.wordpress.com/2008/09/25/redirigir-un-servlet-a-un-paginajsp-pasandole-parametros/
52