manejador de encuestas desarrollo de software

116
ISC-2003-2-22 2 MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE LUCIA FERNANDA MUÑOZ GIRON ANA CAROLINA MARTINEZ SAENZ UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE SISTEMAS PREGRADO BOGOTA, 2004

Upload: others

Post on 13-Nov-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

2

MANEJADOR DE ENCUESTAS

DESARROLLO DE SOFTWARE

LUCIA FERNANDA MUÑOZ GIRON

ANA CAROLINA MARTINEZ SAENZ

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE SISTEMAS

PREGRADO

BOGOTA,

2004

Page 2: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

MANEJADOR DE ENCUESTAS

DESARROLLO DE SOFTWARE

LUCIA FERNANDA MUÑOZ GIRON

ANA CAROLINA MARTINEZ SAENZ

Proyecto Dirigido

Juan Pablo Quiroga

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE SISTEMAS

PREGRADO

BOGOTA,

2004

Page 3: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

2

CONTENIDO

Pag. INTRODUCCION ….……………………………………………………………. 4 Capitulo 1 OBJETIVOS ………………………………………………………. 6 Capitulo 2 MARCO TEORICO ………………………………………………. 8 2.1 Encuestas ……………………………………………………………………….... 8 2.1.1 Definición ……………….……………………………………………….... 8 2.1.2 Pasos de planificación de una encuesta ………………………… 8 2.2 Tecnología a utilizar…………………………………………………………….... 14 2.3 Servlet ………………………………………………………………………….... 14 2.3.1 Definición ……………….……………………………………………….... 14 2.3.2 Ventajas de los Servlets sobre los CGIs ………………………… 15 2.3.3 Estructura básica de un Servlet ..………………………..………….. 16 2.3.4 Ciclo de vida de un Servlet ………………………………………….... 17 2.3.5 Manejo de peticiones del cliente ……………………………..….... 18 2.3.6 Generación de respuestas de servidor …………………….……... 19

2.3.6.1 Codigos de estado …………………………………….. 19 2.3.6.2 Encabezados de respuesta http ..……………….. 22

2.3.7 Ejemplo de un servlet …………………………………………………… 23

2.3 Java Server Pages (JSP) ..………………………………………………….... 25

2.3.1 Definición ……………….……………………………………………….... 25 2.3.2 Comandos en JSP …………………………….………………………… 25

2.3.2.1 Elementos de secuencia de comandos ………... 25 2.3.2.2 Directivas ……………………………….……………….. 26 2.3.2.3 Acciones .……………………………….……………….. 28

2.3.3 Uso de los Java Beans con JSP ..………………………..………….. 28 2.3.4 Ejemplo de un JSP ………………....………………………..………….. 30

Page 4: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

3

2.4 Integración de los Servlets y JSP .………………………………………….... 31 2.5 JDBC y conexión a Base de Datos .……………………………………….... 34 2.6 MySQL ………………………………..………………………………………….... 35 2.7 Hojas De Estilo En Cascada (CSS) .........……………….........….... 36

2.7.1 Definición ……………….……………………………………………….... 36 2.7.2 Componentes de CSS ...……………………….………………………… 37 Capitulo 3 ARQUITECTURA DE LA APLICACIÓN .…………………. 39 Capitulo 4 DISEÑO DE LA APLICACIÓN .……………………………. 44 4.1 Diagrama de Casos de uso ..…………………….....………………….... 44 4.1 Casos de uso ………………………………………….....………………….... 45 4.2 Diagrama de Clases ...……………………………….....………………….... 60

Page 5: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

4

INTRODUCCIÓN

La aplicación surge de la necesidad que se percibió de automatizar el proceso de

realización de una encuesta que logre ser útil y agilizar el proceso actual; dado que

para realizar una encuesta es necesario pasar por varios pasos, que pueden llegar

hacer largos y tediosos como lo son: su creación, el darle formato, publicarla,

hacerla llenar, generar las estadísticas de esta y realizar su respectivo análisis.

La idea es no perder el concepto fundamental de realización de una encuesta, en

el cual se busca obtener un instrumento versátil de recolección, proceso y análisis

de información por medio de entrevistas con varias personas (una muestra de la

población objeto de la investigación). [7]

Al buscar automatizar este proceso encontramos puntos a favor y en contra,

dentro de las principales ventajas tenemos: ahorro de tiempo en el proceso,

organización y persistencia de los datos tanto de creación como de respuesta y

reutilización de la información. Por otro lado encontramos algunas desventajas

frente al proceso manual: El rechazo que puede generar en algunas personas la

tecnología y el controlar el llenado, y libertad de opinión al ingresar los datos por

el encuestado.

Un aspecto muy importante fue la elección de la tecnología en que se desarrolla la

aplicación, ya que se busca una herramienta poderosa que permitiera cumplir con

los objetivos propuestos y que al mismo tiempo le de portabilidad al producto, por

lo cual se elige trabajar bajo tecnología Java y se busca aprovechar su eficiencia,

seguridad y economía para procesos cliente-servidor.

Page 6: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

5

La herramienta permite crear encuestas, esta maneja diferentes roles para la

manipulación y creación de estas. Entre las actividades de manipulación de las

encuestas encontramos modificación (alterar la encuesta en cuestión), duplicación

(realizar una copia de la encuesta elegida), eliminación (borrar una encuesta

determinada), publicación (dar una fecha de vigencia de la encuesta elegida para

ser contestada por otros), verificación de estadísticas (ver la fecha de publicación

de la encuesta), presentación (realizar una vista de cómo será visualizada la

encuesta por los demás usuarios) y adición de preguntas. Esta ultima actividad

trae a su vez el manejo que puede realizarse a las preguntas y a las respuestas

según el tipo de pregunta elegida; para las preguntas también es posible la

modificación (alteración de la pregunta elegida), la consulta (la visualización de la

pregunta elegida), la eliminación (borrar una determinada pregunta) y si el tipo de

pregunta es de selección múltiple, la adición de posibles respuestas. Por otro lado,

da la posibilidad de contestarlas y producir las estadísticas de los datos ingresados

por los usuarios finales. Por medio de esta aplicación se logra tener un manejo

persistente de los datos que componen la estructura de la encuesta, como de los

diferentes datos que se diligencian al contestar esta.

Page 7: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

6

CAPITULO 1 OBJETIVOS

a. Lograr entender a fondo el problema propuesto, a través de la

necesidad percibida, de manera que sea posible obtener una

solución que permita resolverlo, es decir, lograr automatizar el

proceso de manejo que se le debe dar a una encuesta, desde el

momento en que se crea, se coloca en vigencia, se es contestada, se

generan las estadísticas de los datos que fueron ingresados; porque con

ellos se puede lograr un mejor control, manipulación y organización de los

datos para el usuario final de la aplicación.

b. Conocer acerca del manejo que comúnmente se le da a las encuestas para

así lograr que el producto que se va a ofrecer permita mejorarlo y obtener

un mayor aprovechamiento de la información que con ellas se puede

almacenar.

c. Analizar previamente la funcionalidad de la herramienta, su campo de

acción, y para quien va dirigida; las ventajas y desventajas que esta puede

tener de acuerdo al tipo de usuario que interactuará con la herramienta.

d. Estructurar la implementación de la herramienta de modo que

permita obtener un software de calidad, cumpliendo con los

requerimientos funcionales establecidos en el diseño para obtener

un buen desarrollo de la aplicación.

e. Elegir herramientas para el desarrollo de la aplicación que permitan brindar

a los usuarios finales un grado de confiabilidad y veracidad, al momento de

usar la aplicación.

Page 8: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

7

f. Desarrollar un producto util, que logre ser utilizado con facilidad por los

usuarios finales y en el cual se deposite la confianza necesaria para el

almacenamiento de la información.

g. Lograr un desarrollo base, el cual sea escalable para que se logre mejorar,

ampliando su funcionalidad y acoplándose a nuevas necesidades de los

usuarios.

Page 9: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

8

CAPITULO 2 MARCO TEÓRICO

2.1 ENCUESTAS

2.1.1 Definición

La encuesta es un instrumento versátil de recolección, proceso y análisis de

información que permite obtener retroalimentación acerca de un tema especifico;

Por medio de preguntas realizadas a varias personas (una muestra de la población

objeto de la investigación).

2.1.2 Pasos de planificación de una encuesta

Para realizar correctamente una encuesta es necesario comprender a fondo cada

uno de los pasos en la planificación de cualquier encuesta. El proceso consta de

una secuencia de nueve aspectos que deben considerarse cuidadosamente.[7]

a. Establecimiento de Objetivos

Establezca los objetivos de la encuesta de una manera clara, y remítase a estos

objetivos conforme se vaya progresando en el diseño e instrumentación de la

encuesta. Mantenga los objetivos suficientemente simples para completar

exitosamente la encuesta.

Page 10: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

9

b. Población Objetivo

Defina cuidadosamente la población que va a ser objeto de investigación. Si los

entrevistados van a ser adultos, entonces defina qué se entiende por adulto;

(ejemplo: todos aquellos con más de 18 años de edad). También es importante

establecer qué grupo de adultos está incluido; (ejemplo: todos los residentes

permanentes de un sector). Tenga presente que se va a obtener una muestra de

esa población, por tanto, defina la población de tal manera que la selección sea

factible.

c. Diseño de Muestreo

Seleccione el diseño de muestreo, incluyendo el número de elementos en la

muestra, según el tamaño de la población, de tal manera que sí proporcione

suficiente información, según los objetivos de la encuesta. Muchas encuestas

producen poca información porque no fueron propiamente diseñadas.

Para que una muestra sea confiable en términos estadísticos, debe ser lo

suficientemente grande para representar a la población total y debe ser

proporcionada. Los porcentajes de las diferentes características tales como: sexo,

edad, estado civil, entre otros presentes en la población total, deben ser

aproximadamente igual en la muestra.

d. Métodos de Recolección de Datos

Elegir un métodos apropiado para la recolección de datos como lo son: entrevistas

personales, entrevistas por teléfono, encuestas por Internet y encuestas por

observación directa.

Page 11: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

10

e. Diseño de un Cuestionario

Esta es quizá la fase más crítica de toda la encuesta. Además, el diseño de

cuestionario es algo que se considera como un arte. Sin embargo, existen algunas

pautas generales que sirven de ayuda. Para esto es necesario recordar:

• ¿Qué se está tratando de determinar?

• ¿Usamos preguntas cerradas o abiertas?

El contenido de las preguntas de un cuestionario puede ser tan variado

como los aspectos que se midan a través de éste. Podemos hablar de dos

tipos de preguntas, preguntas cerradas y preguntas abiertas.

- preguntas cerradas

Las preguntas cerradas contienen respuestas que han sido previamente

determinadas por el investigador. Se presenta al entrevistado las posibles

respuesta a cada una de las preguntas y ellos deben circunscribirse a éstas.

Las preguntas cerradas permiten que el entrevistado pueda seleccionar de

entre dos o más alternativas.

- preguntas abiertas

Las preguntas abiertas no delimitan de antemano la respuesta. Por lo que el

número de respuestas es elevado. En teoría es infinito.

• ¿Una o varias preguntas para medir una variable?

En ocasiones sólo basta una pregunta para recopilar la información

necesaria sobre la variable a medir. En otras ocasiones es necesario

Page 12: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

11

elaborar varias preguntas para verificar la consistencia de las repuestas. Es

recomendable hacer solamente las preguntas necesarias para obtener la

información deseada o medir la variable.

• ¿Qué características debe tener una pregunta?

Deben ser claras para los entrevistados.

No deben incomodar al entrevistado.

Deben referirse a un sólo aspecto.

No pueden apoyarse en instituciones o ideas respaldadas socialmente ni

en evidencia comprobada.

En las preguntas con varias alternativas y donde el entrevistado sólo

tiene que elegir una, puede ocurrir que el orden en que se presenten

dichas alternativas afecte las respuestas de los sujetos.

El lenguaje utilizado en las preguntas debe ser adaptado a las

características del entrevistado.

• ¿Cómo deben ser las primeras pregunta de un cuestionario?

No se recomienda comenzar con preguntas difíciles de responder o

preguntas muy directas. Los cuestionarios pueden comenzar con preguntas

demográficas, tales como, sexo, estado civil, edad, nivel de educación,

ocupación, nivel de ingreso entre otras. Cuando construimos un cuestionario

es indispensable que pensemos en cuáles son las preguntas ideales para

Page 13: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

12

iniciar. Estas deberían lograr que el entrevistado se concentre en el

cuestionario.

• ¿De qué está formado un cuestionario?

Además de las preguntas y de las respuestas, un cuestionario está formado

por instrucciones que nos indican cómo contestar el mismo. Las

instrucciones son tan importantes como las preguntas y es necesario que

sean claras para los usuarios a quienes van dirigidas. Es necesario incluir

una instrucción para las preguntas en las cuales los entrevistados pueden

seleccionar más de una alternativa. Una instrucción muy importante es

agradecer al entrevistado por haberse tomado el tiempo de contestar el

cuestionario. También es importante incluir una carta donde se explique el

propósito del cuestionario y se garantice la confidencialidad de la

información, esto ayuda a ganar la confianza del entrevistado.

• ¿De qué tamaño debe ser un cuestionario?

No existe una regla al respecto, aunque si es muy corto se pierde

información y si resulta largo puede ser tedioso de responder. El tamaño

depende del número de variables a medir, el interés de los entrevistados y

la manera como es administrado el cuestionario. Cuestionarios que tomen

más de 35 minutos completarlos pueden resultar tediosos a menos que los

entrevistados estén muy motivados para contestar.

f. Selección y Adiestramientos de Investigadores de Campo

Seleccione cuidadosamente y adiestre a los investigadores de campo. Después de

que el plan de muestreo esté claro y completamente establecido, alguien debe

Page 14: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

13

recopilar los datos. Aquellos que van a reunir los datos, deben ser cuidadosamente

adiestrados sobre qué mediciones hacer y cómo hacerlas.

El adiestramiento es especialmente importante si se usan entrevistas personales o

por teléfono, porque la tasa de respuesta y la exactitud de las respuestas son

afectada por el estilo personal y el tono de voz del entrevistador.

g. Organización del Trabajo de Campo

Planee en detalle el trabajo de campo. Cualquier encuesta de gran escala involucra

un gran número de personas trabajando como entrevistadores, coordinadores o

personal dedicado al manejo de datos. Antes de que empiece la encuesta deben

organizarse cuidadosamente los diferentes trabajos y establecerse claramente las

líneas de autoridad.

h. Organización del Manejo de Datos

Elabore un esquema de cómo se debe manejar cada pieza de información para

todas las etapas de la encuesta. Las grandes encuestas generan gran cantidad de

información. Es por eso que un plan bien preparado para el manejo de los datos es

importante. Este plan debe incluir los pasos para el proceso de los datos, desde el

momento en que se hace una medición en el campo hasta que se complete el

análisis final. Se debe incluir también un esquema de control de calidad para

verificar la correlación entre los datos procesados y los datos recopilados en el

campo.

i. Análisis de los Datos

Defina el análisis que debe realizarse. Estrechamente relacionados con el paso

anterior, este paso involucra la especificación detallada de los análisis que deben

Page 15: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

14

ser ejecutados. Se pueden listar los temas que serán incluidos en el informe final.

Si usted considera el informe final antes de que la encuesta sea llevada a cabo,

puede tener más cuidado en la selección de los aspectos a ser medidos en la

encuesta.

Si se siguen estos pasos, la encuesta está lista para un buen comienzo y debe

proporcionar información útil para el investigador.

2.2 TECNOLOGÍA A UTILIZAR

Se implementará una aplicación Web, que es un sistema que permite a un usuario

final acceder a una parcela de información contenida en el universo de información

accesible a través de la red. Las aplicaciones Web son aplicaciones basadas en el

muy extendido paradigma “cliente/servidor”. Este paradigma consiste en un

servidor que sabe cómo proporcionar un servicio y un cliente que desea acceder al

servicio. [8]

2.3 SERVLETS

2.3.1 Definición

Un Servlet es básicamente un programa ejecutado en un servidor Web, que tiene

la función de servir como capa intermedia entre una petición hecha por el

navegador Web o cliente http (Explorer o Netscape) y las aplicaciones en el

servidor Web que pueden incluir bases de datos.

Los Servlets tienen muchas aplicaciones como:

1. Leer datos que se han introducido y enviado en un formulario, página Web o

subprograma.

Page 16: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

15

2. Buscar información de la petición HTTP que ha sido enviada.

3. Generar resultados usando bases de datos a través de una aplicación existente

o a través de cálculos directos.

4. Dar un formato especifico a los documentos resultantes.

5. Dar a conocer al navegador el tipo de documento que le será devuelto,

estableciendo las cookies y los parámetros que serán mostrados.

6. Devolver el documento a cliente, en un formato específico. [1]

2.3.2 Ventajas de los Servlets sobre los CGIs

Los Servlets frente a los CGIs son mas eficientes, ya que manejan subprocesos no

tan pesados para ejecutar y administrar cada petición, permaneciendo en memoria

después de dar una respuesta; adecuados, puesto que su fácil uso permite un

mejor provecho, a través de operaciones de análisis y decodificación automática de

los datos de formularios, lectura y establecimiento de encabezados http, entre

otras; transportables, ya que están escritos en un lenguaje de fácil acceso como

lo es Java; poderosos, ya que pueden comunicarse directamente con el servidor

sin necesidad de un API, pueden comunicarse entre ellos para compartir datos y

pueden mantener información de una petición a otra; y seguros, porque no

necesitan del sistema operativo para ejecutarse, y muchas de las verificaciones se

hacen por parte del lenguaje de programación Java. [1]

2.3.3 Estructura básica de un Servlet

Los Servlets manejan dos tipos de peticiones: las peticiones GET y las peticiones

POST. Las peticiones GET son las mas usadas por el navegador para las páginas

Web, siendo el navegador quien las genera cuando un usuario teclea una dirección

URL. Las peticiones POST, que son generadas cuando un usuario envía un

formulario HTML.

Page 17: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

16

Una clase, es un Servlet, si extiende a HttpServlet y sustituye los métodos doGet y

doPost por los datos enviados por las peticiones GET y POST respectivamente.

Estos métodos a su vez deben incluir los argumentos HttpServletRequest y

HttpServletResponse, el primero contiene los métodos para encontrar la

información que esta entrando (datos del formulario, encabezado HTTP, nombre

del host del cliente) y el segundo especifica la información de salida (códigos de

estado, encabezados de respuesta) y permite obtener el PrintWriter que es usado

para enviar el contenido del documento de regreso al cliente. El servlet debe

importar las clases java.io (para PrintWriter), java.servlet (para HttpServlet) y

javax.servlet.http (para HttpServletRequest y HttpServletResponse). [1]

Estructura de un servlet

2.3.4 Ciclo de vida de un servlet

Al iniciarse un servlet se invoca el método init y no lo vuelve a hacer en la próxima

petición del usuario, en este método se incluye el código de configuración de

ejecución único. El metodo init puede especificarse sin argumentos o con

Templates

Archivos Configuracion

Servidor HTTP

Template Cache

Template Loader

Modulo principal

del servlet

Inicializacion Parser XML

Configuracion remota

Servidor HTTP

HTML browser

Interprete

Almac. Persistente de datos

Implementaciones Tag

Envio

Salida CacheSalida Html

Llamado HTTP(Template, parametros)

Page 18: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

17

argumentos. El primero, es usado, cuando el servlet no requiere leer ninguna

configuración de un servidor a otro. El segundo, es necesario, cuando se requiere

leer una configuración especial del servidor.

Al ejecutarse cada petición de usuario, esta da lugar a un subproceso que invoca el

método service, que es el encargado de verificar el tipo de petición HTTP (GET,

PUT, POST, etc) y ejecutar las instrucciones doXxx necesarias de acuerdo al tipo

de petición que recibe.

Las peticiones doXxx se consideran la esencia de los servlets, ya que en muchos

casos el noventa por ciento del código ejecutado corresponde a instrucciones de

este tipo.

Una vez el servidor decide descargar el servlet, llama al método destroy, con este

se asegura que el usuario podrá cerrar las conexiones a bases de datos y

subprocesos entre otros. [1]

Ciclo de vida de un Servlet

Servidor

Servidor

Servidor

Codigo del Servlet

Codigo del Servlet

Codigo del Servlet

Cargar

Cliente

Cliente

Manejo de requerimientos

del cliente

Descargar

Page 19: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

18

2.3.5 Manejo de peticiones del cliente

• Datos del formulario (datos de consulta): Si se tiene el siguiente URL:

http://host/path?user=nuser+auser&origin=bwi&dest=lax. Los datos del

formulario son los encontrados después del signo de interrogación. Esta es la

manera más fácil de obtener información acerca de una página Web en un

programa colocado en el servidor.

• Lectura de datos del formulario desde los servlets: La administración de la

información en los servlets se hace de manera automática a través del método

getParameter (dando el nombre como argumento) de HttpServletRequest, y si son

varios valores para el mismo parámetro se deberá utilizar getParameterValues.

• Lectura de los encabezados de petición desde un servlet: Este es realizado a

través de getHeader de HttpServletRequest que devuelve una cadena si el

encabezado se ha proporcionado en la petición, o de lo contrario, retornará null.

2.3.6 Generación de respuestas del Servidor

2.3.6.1. Códigos de Estado

En el momento en que el servidor Web responde a una petición del navegador

Web, esta siempre consta de una línea de estado, encabezados de respuesta, una

línea en blanco y el documento.

La línea de estado consta de la versión HTTP, el código de estado y un mensaje

pequeño. Muchos de los encabezados son opcionales excepto Content-Type que

es el encargado de especificar el tipo de MIME del documento que sigue. Los

Page 20: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

19

servlets muchas veces ejecutan tareas cuando se están manejando líneas de

estado y encabezados de petición. A través del método setStatus, los sevlets

pueden establecer el código de estado. Este método toma el código de estado que

es de tipo int, como argumento utilizando constantes definidas en

httpServletResponse.

Los códigos de estado pueden clasificarse en cinco categorías:[1]

• 100 y 199: La función de este grupo de códigos es informar. Entre estos se

encuentra el 100 (Continue), que le indica al cliente que continúe; y el 101

(Switching Protocols), que indica que el servidor acatará el encabezado

Upgrade y cambiará a un protocolo distinto.

• 200 y 299: Este grupo de códigos dan conocer que la operación fue exitosa.

Entre estos se encuentra, el 200 (OK), que indica que todo está bien; el 201

(Created), que indica que el servidor generó un nuevo documento como

respuesta a la petición; el 202 (Accepted), que indica que la petición está en

proceso, pero que aún no se ha completado; el 203 (Non-Authoritative

Information), que indica que el documento será devuelto en forma normal,

pero que es posible que algunos de los encabezados de respuesta puedan ser

incorrectos, debido a que se está usando una copia del documento; el 204 (No

Content), que estipula que el documento anterior seguirá mostrándose debido

a que no hay disponible uno nuevo; el 205 (Reset Content), que indica que no

hay ningún nuevo documento; y el 206 (Partial Content), que es enviado

cuando el servidor satisface una petición parcial que incluye el encabezado

Range.

• 300 y 399: Estos son usados para archivos que han sido movidos, estos

incluyen un encabezado location que indica la nueva dirección. Entre estos se

encuentran, el 300 (Multiple Choices), que indica que el documento puede ser

Page 21: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

20

encontrado en varios lugares; el 301 (Moved Permanently), que indica que el

documento solicitado está en otro lugar; el 302 (Founded), similar al anterior,

pero el encabezado Location debe tomarse como un reemplazo temporal; el

303 (See Other), similar a los dos anteriores, pero con la diferencia es que se la

petición anterior fue POST, entonces el nuevo documento debe ser obtenido

con GET; el 304 (Not Modified), indica que la versión guardada en el caché es

actual; el 305 (Use Proxy), el cual establece que el documento que se desea

ver debe ser obtenido mediante el proxy listado en el encabezado Location; y el

307 (Temporary Redirect), tiene el mismo funcionamiento del 302, este fue

agregado debido a ciertos problemas que se generaban en muchos

navegadores Web.

• 400 y 499: Este grupo muestran que el cliente ha cometido un error. Entre

estos se encuentran, el 400 (Bad Request), que indica que hay sintaxis

incorrecta en la petición del cliente; el 401 (Unauthorized), muestra al cliente

que intento acceder a una pagina protegida por contraseña sin la información

adecuada en el encabezado Authorization; el 403 (Forbidden), indica que el

servidor no quiso dar el recurso, sin tener en cuenta la autorización; el 404

(Not Found), que indica al cliente que no puede encontrarse ningún recurso en

esa dirección; el 405 (Method Not Allowed), muestra que el método de petición

no fue permitido para ese recurso; el 406 (Not Acceptable), indica que el tipo

de recurso solicitado tiene un MIME que no es compatible con los tipos

indicados por el cliente en el encabezado Accept; el 407 (Proxy Authentication

Required), que le indica al cliente que deber autenticarse con el servidor proxy;

el 408 (Request Timeout), que indica que el cliente tardó demasiado en

terminar el envío de la petición; el 409 (Conflict), que es utilizado en

situaciones donde se ha intentado enviar una información incorrecta de un

archivo; y el 412 (Precondition Failed), indica que alguna precondición

establecida en los encabezados de petición fue falsa.

Page 22: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

21

• 500 y 599: Este grupo indican que hay un error en el servidor. Entre estos se

encuentra, el 500 (Internal Server Error), que este es el código genérico para

especificar que el servidor no tiene claro lo que debe hacer; el 501 (Not

Implemented), el cual indica que el servidor no permite la funcionalidad

necesaria para satisfacer la petición; el 503 (Service Unavailable), que muestra

que el servidor no puede responder debido a que no se encuentra disponible; y

el 505 (HTTP Versión Not Supported), que indica que el servidor no permite la

versión HTTP indicada en la línea de petición.

2.3.6.2 Encabezados de respuesta http

Los encabezados de petición se establecen junto con los encabezados de estado y

son usados para especificar las cookies, la fecha de modificación de la página, para

darle instrucciones al navegador Web de cuando debe cargar de nuevo una

página, indicar el tamaño del archivo utilizando conexiones persistentes,

especificar el tipo de documento que se generará y realizar muchas otras tareas.

Formación de los encabezados de respuesta desde los sevlets

Los encabezados de respuesta permiten una buena efectividad en la elaboración

de los servlets. El método setHeader de HttpServletResponse permite establecer

los encabezados de respuesta. Este método se caracteriza porque recibe dos

cadenas, el nombre del encabezado y el valor que tendrá. Existen otros dos

métodos que se han especializado en establecer encabezados que contengan

fechas y enteros: setDateHeader (String encabezado, long miliseg) y

setIntHeader (String encabezado, int valor).

Otros métodos para especificar encabezados son: [1]

• setContentType, que establece el encabezado Content-Type, siendo muy

utilizado por muchos Servlets.

Page 23: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

22

• setContentLength, que establece el encabezado Content-Length, muy usado

cuando las conexiones son persistentes.

• addCookie, que inserta una cookie en el encabezado set-Cookie.

• SendRedirect, que establece el encabezado location.

Los servlets para generar imágenes GIF [1]

1 Con el método createImage de la clase component, se debe generar un objeto

Image.

2 Con el método getGraphics que pertenece al objeto Image, se dibujará una

imagen.

3 El método setContentType se debe establecer el encabezado de respuesta

ContentType.

4 Cuando se han enviado datos binarios es necesario ejecutar el método

getOutputStream.

5 Con la clase GifEncoder se debe enviar la imagen en formato GIF al

OutputStream.

Page 24: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

23

2.3.7 Ejemplo de un servlet

package servlets; import java.io.*; import java.util.*; import javax.servlet.*; import javas.servlet.http.*; public class MostrarParametos extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String titulo ="Lectura de todos los parametros de peticion"; out.println (ServletUtilities.headWithTitle(titulo)+ "<BODY BGCOLOR = \"#FDF5E6\">\n"+ "<H1 ALIGN = CENTER>" + titulo + "</H1>\n"+ "<TABLE BORDER=1 ALIGN=CENTER>\n"+ "<TR BGCOLOR = \"#FFADOO\">\n"+ "<TH>Nombre del parametro<TH>Valor del Parametro"); Enumeration nombresParam=request.gerParameterNames(); while(nombresParam.hasMoreElements()) { String nombreParam =(String)nombresParam.nextElement(); out.print("<TR><TD>"+ nombreParam + "\n<TD>"); String[] valorParam= request.getParamerValues(nombreParam); if(valoresParam.length==1) { String valorParam=valoresParam[0]; if(valorParam.length()==0) out.println("<I>Sin valor</I>"); else out.println(valorParam); } else { out.println("</UL>"); } } out.println("</TABLE>\n</BODY></HTML>"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

Page 25: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

24

2.4 JAVA SERVER PAGES (JSP)

2.4.1 Definición

Una página JSP es un tipo especial de página HTML que contiene unos pequeños

programas (también llamados scripts) que son ejecutados en servidores antes de

ser enviados al usuario para su visualización en forma de página HTML.

Habitualmente esos programas realizan consultas a bases de datos y los resultados

de esas consultas determinan la información que se envía a cada usuario

específico. Los ficheros de este tipo llevan el sufijo .jsp.[2]

Java Server Pages (JSP) nos permite mezclar HTML estándar y estático con

contenido dinámico que se genera con los servlets. Esta tecnología es

ampliamente usada, puesto que no se necesita usar en un sistema operativo o en

un servidor Web específico, además permite acceder profundamente a los servlets

y Java en la parte dinámica.

JSP es transportable a otros sistemas operativos y servidores Web, su parte

dinámica esta escrita en Java contando con una extensa API para redes, acceso a

base de datos, objetos distribuidos, entre otros. [1]

2.4.2 Comandos en JSP

En las páginas que utilizan JSP, además del HTML estándar es necesario incluir

tres tipos de estructuras, como lo son: [1]

2.4.2.1 Elementos de secuencias de comandos

Elementos de secuencias de comandos los cuales permiten especificar el código de

Java, que hará parte del servlet resultante. Existen tres formas:

Page 26: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

25

• Expresiones: <%= expresión %>, que son evaluados e insertados en el servlet

resultante. Existen variables predefinidas que son utilizadas para simplificar las

expresiones, las mas importantes son request, response, session y out.

Sintaxis:

<jsp:expresión>

expresión de java

</jsp:expresión>

• Scriptlets: <% codigo %>, que se insertan en el método _jspService del

servlet. Estos tienen acceso a las variables definidas como expresiones, además

estos pueden ejecutar varias tareas.

Sintaxis:

<jsp:scriptlet>

expresión de java

</jsp:scriptlet>

• Declaraciones: <%! codigo %>, permite definir métodos que se insertan en el

cuerpo principal de la clase servlet.

Sintaxis:

<jsp:declaration>

expresión de java

</jsp:declaration>

2.4.2.2 Directivas

Las directivas, que son las que controlan la estructura general de los servlets.

Existen tres tipos de directivas: [1]

Page 27: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

26

• page controla la estructura del servlet cuando se importan clases, cuando se

personaliza la superclase del servlet, o cuando se establece el tipo de contenido.

Esta directiva le permite definir los siguientes atributos:

- El atributo import, encargado de especificar los paquetes que deberán ser

importados por el servlet.

- El atributo contentType, que establece el encabezado de respuesta

contentType el cual indica el tipo de MIME del documento que será enviado

a cliente.

- El atributo isThreadSafe, que garantiza que no se presentaran accesos

simultáneos a la misma instancia del servlet controlando si el servlet

resultante de la página JSP integrará la interfaz SingleThreadModel.

- El atributo session, que controla si la página es parte de una sesión HTTP.

- El atributo buffer, que establece cual es el tamaño utilizado por la variable

out.

- El atributo autoflush está encargado de controlar si el búfer resultante

genera una excepción cuando se llene o se descarga cuando se sobresature.

- El atributo extends, quien muestra la superclase del servlet que será

generado por la página JSP.

- El atributo errorPage, que especifica la página JSP que deberá procesar

varias excepciones.

- El atributo isErrorPage, que especifica si la página JSP en curso puede ser

una página de error para otra página JSP.

- El atributo Language, que especifica el lenguaje de programación que será

utilizado.

• include para insertar un archivo en la clase servlet cuando el archivo JSP se

traduce a un servlet.

• taglib sirve para definir etiquetas de marcado.

Page 28: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

27

2.4.2.3 Acciones

Las acciones, que son las que permiten especificar componentes existentes que

deberían ser utilizados, y además controlar el comportamiento del motor JSP.

2.4.3 Uso de los JavaBeans con JSP

La API de los JavaBeans otorga un formato estándar de las clases Java. Los beans

permiten aprovechar la capacidad de utilizar las clases de Java, teniendo en cuenta

la capacidad de JSP sobre los servlets. [1]

• La clase de Beans deberá contar con un constructor vacío, que será ejecutado

cuando los elementos JSP generen los beans.

• La clase de Beans no puede tener variables de instancia públicas, es decir

campos, así se asegurará los valores de las variables.

• Los valores persistentes se deben acceder mediante métodos getXxx y setXxx.

a. Uso básico de los beans

jsp:useBean permite cargar un bean que será usado en la página JSP.

Sintaxis:

< jsp:useBean id = ”nombre” class = “Paquete.clase” />

Cuando se establece el atributo scope, se permite establecer una asociación con

otras páginas. El atributo beanName se usa en ves del atributo class y permite

señalar también un archivo que contenga un objeto bean en serie.

Page 29: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

28

b. Cómo acceder y establecer las propiedades de beans

Es posible conocer las propiedades a través de jsp:getProperty, cuyos atributos

son name, el cual debe coincidir con el identificador dado, property que indica la

propiedad que se necesita y value que tiene el nuevo valor.

c. Cómo compartir los beans

Con el atributo scope los beans pueden almacenarse en uno de cuatro lugares

distintos; este atributo tiene los siguientes posibles valores:

• page, este indica que el objeto se debe colocar en el objeto PageContext

durante la petición en curso.

• Application, señala que el bean debe estar almacenado en el ServletContext

durante la petición en curso.

• Session, este valor indica que el bean será almacenado en el HttpSession

durante la petición en curso.

• Request, este valor indica que el bean será almacenado en el objeto

ServletRequest durante la petición en curso.

Page 30: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

29

2.4.4 Ejemplo de un JSP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>ENCUESTAS</TITLE> <link rel="stylesheet" href="presentacion.css" type="text/css"> </HEAD> <BODY> <H1>ESTADISTICAS</H1>

<jsp:useBean id = "usuario" class= "PaqueteEncuestas.usuario" scope= "session"/> <jsp:useBean id = "encuesta" class= "PaqueteEncuestas.encuesta" scope= "session"/> <jsp:useBean id = "pregunta" class= "PaqueteEncuestas.pregunta" scope= "session"/> <jsp:useBean id = "respuesta" class= "PaqueteEncuestas.respuesta" scope= "session"/>

<%@ page import="java.lang.Integer"%> <%@ page import="java.util.*"%> <FORM ACTION="http://localhost:8080/encuesta/principalEncuestas"> <INPUT TYPE="HIDDEN" NAME="idusuario" VALUE=<%=usuario.getIdentificador() %> /> <BLOCKQUOTE> <P><H3>IDENTIFICADOR DE LA ENCUESTA :</H3> <%=(String)request.getAttribute("idEncuesta")%></P> <P><H3>IDENTIFICADOR DE LA ENCUESTA EJECUTADA :</H3> <%=(String)request.getAttribute("encuestaElegida")%></P> <P><H3>NUMERO DE RESPUESTAS :</H3> <%=(String)request.getAttribute("numrtasAN")%></P> <P><H3>PROMEDIO :</H3> <%=(String)request.getAttribute("prom")%></P> <P><H3>VARIANZA :</H3> <%=(String)request.getAttribute("varianzaS")%></P> <P><H3>RESPUESTAS</H3></P> <%@ page import="java.sql.*"%> <%@ page import="java.util.*"%> <%@ page import="PaqueteEncuestas.*"%> <% Vector estadisticasF = (Vector) session.getAttribute("PreguntasAbNumero"); int numeroElementos = estadisticasF.size(); int i=0; for (i=0; i<numeroElementos;i++)

Page 31: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

30

{ %> <BLOCKQUOTE><P><%=(String)estadisticasF.elementAt(i)%>

</P></BLOCKQUOTE> <% } %> </BLOCKQUOTE> <CENTER>

<A HREF="http://localhost:8080/encuesta/principalEncuestas?pagAnt= <%=request.getAttribute("paginaA")%> & pag=0 & idEncuesta=<%=request.getAttribute("idEncuesta")%> &opcion=VerEjecucion&encuestaElegida=<%= request.getAttribute("encuestaElegida")%> & idusuario=<%=usuario.getIdentificador() %>">

<img border=0 width=30 height=30 src="http://localhost:8080/encuesta/regresar.jpg" v:shapes="_x0000_i1025" alt="Regresar Encuestas">

</A> </CENTER> </FORM> </BODY> </HTML>

2.5 INTEGRACIÓN DE LOS SEVLET Y JSP

El hecho de generar HTML con los servlets es complicado y difícil de cambiar el

resultado, por eso es que es importante el uso de JSP, puesto que permite separar

la parte dinámica de la estática, controlando la disposición de las páginas.

• Modelo MVC implementado

Arquitectura de tipo Modelo – Vista – Controlador, utilizada para separar la lógica

de la aplicación de su representación en HTML[9]

Page 32: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

31

Modelo MVC

Model View Controller(MVC) [10]

• Model: Donde recide la lógica de la aplicación

JavaBeans y clases para manejo de la lógica de la aplicación

• View: Interfaz

JSP que despliega la página del usuario

• Controller: Procesamiento centralizado

Un servlet que maneja el procesamiento de la transacción lógica, recibe los

pedidos del cliente y coordina la respuesta

La separacion en componentes facilita la reusabilidad e interconexión con otros

componentes [9]

Page 33: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

32

Modelo MVC Implementado con JSP, Servlets y Beans

• Como reenviar peticiones

Lo primero es hacer uso del método RequestDispatcher para reenviar peticiones o

incluir contenido externo. Luego se debe usar forward para transmitir el control al

URL que esta asociado, y producir el contenido asociado del URL con el método

include.

• Como proveer de información a la página objetivo

Para reenviar la petición de una pagina JSP es necesario obtener el

RequestDispatcher a través del método getRequestDispatcher y luego ejecutar el

forward.

• Como incluir contenido estático o dinámico

Cuando un servlet utiliza forward, no se puede enviar ningún resultado al cliente,

hay que dejarlo en la página objetivo. Al usar el método include, el servlet puede

generar parte del contenido él mismo utilizando una página JSP o un documento

Page 34: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

33

estático HTML; con este método se puede enviar los datos al navegador Web

antes del llamado, el control se devuelve al servlet y se finaliza la ejecución.

2.6 JDBC Y CONEXIÓN A BASE DE DATOS

JDBC es un API que otorga una biblioteca estándar para acceder a la base de

datos relacional, ofreciendo la posibilidad de tener acceso a diversas bases de

datos SQL con la misma sintaxis de Java. [5]

• Como utilizar JDBC [1]

a Cargar el controlador JDBC: El controlador es el Software que sabe como

comunicarse con el servidor de las bases de datos en uso, este puede

cargarse, al cargar la clase adecuada. Una posible opción es a través del

método Class.forName, con este se toma una cadena que representa al

nombre de la clase y la carga.

b Definir el URL de la conexión: Para esto es importante conocer la

ubicación del servidor de la base de Datos. Los URL’s que apuntan a la

base de datos, utilizan el protocolo jdbc:, el host del servido, puerto y

nombre de la base de Datos.

c Establecimiento de la conexión: Esta se hace a través del paso al

método getConnection la URL, el nombre del usuario de la base de

datos, y la contraseña.

d Crear un objeto Statement: El objeto Statement se usa para enviar

consultas y comando a la base de datos y se genera desde Connection.

Page 35: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

34

e Ejecutar una consulta o actualización: Al tener el objeto Statement

puede utilizarse para enviar consultas a través del método executeQuery

que devuelve un objeto de tipo ResultSet.

f Procesamiento de los resultados: La manera mas sencilla de procesar los

resultados por filas, con ayuda de los métodos ResultSet, entre los

cuales se encuentra next y los métodos getXxx representándolos con los

nombre de las columnas de la tabla.

g Cerrar la conexión: Para cerrar la conexión se ejecuta el comando

conexion.close.

2.7 MySQL

MySQL es un sistema de administración para bases de datos relacionales (rdbms)

que provee una solución robusta a los usuarios con poderosas herramientas multi-

usuario, soluciones de base de datos SQL (structured Query Language) multi-

threaded.[3]

MySQL posee ciertas características que hacen que sea bastante apropiado en el

desarrollo de aplicaciones Web, entre estas tenemos, rápidez, seguridad, fácil uso,

estabilidad y disponibilidad en muchas plataformas.[4]

2.8 HOJAS DE ESTILO EN CASCADA (CSS)

2.8.1 Definición

CSS es un conjunto de reglas que permite interpretar directamente los documentos

indicando los tipos de letra, las márgenes, el estilo usados para mostrar dicho

Page 36: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

35

documento al explorador Web, todo esto para que el usuario final pueda apreciar

de una manera agradable la información. CSS tiene en cuenta fuentes, texto,

colores, sangría, entre otros. CSS se diferencia de otras hojas de estilo como XSLT

porque conserva los elementos originales, pero indica como se deben mostrar. [6]

Inicialmente CSS fue generada para HTML, pero con el paso de los años, y la

complejidad que ha alcanzado este lenguaje se empezó a utilizar también con XML

y JSP.

2.8.2 Componentes de una CSS

• Comentarios

Los comentarios son partes de la hoja que sirven al creador de la CSS para tener

presente algunos datos, aunque para el explorador Web estos son ignorados. Los

comentarios se ponen entre /* y */.[6]

• Selector

El selector es similar a la ruta de acceso XSL, pero se debe asociarle propiedades.

Un selector selecciona los elementos a los que se le aplicaran ciertas propiedades.

CSS selecciona un elemento con el nombre que este tiene, por ejemplo, si tenemos

un elemento elem, todos los elementos de este tipo tendrán las siguientes

propiedades:

Page 37: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

36

elem {

font-family: “Verdana”, serif;

font-size: 12pt;

margin: 5px;

}

Ahora si se desea que varios elementos tengan estas mismas propiedades se

deben poner comas entre estos al declararlos. Si se desea seleccionar un

elemento de acuerdo con su ancestro se deben poner los dos elementos separados

por espacios.

Existen selectores especializados como son el selector fraterno, que solo tienen en

cuenta si un elemento sigue inmediatamente a otro elemento, para lo cual se

utiliza el símbolo +. Otro selector es el de elementos hijos en los que solo se tiene

en cuenta el elemento que está contenido directamente en otro elemento, para lo

cual se utiliza el símbolo /. [6]

• Propiedades

Las propiedades son las normas que aplican a los elementos que las contienen,

cada una tiene un nombre, seguido de dos puntos y uno o varios valores.

Las propiedades se trabajan normalmente con cuatro valores: longitud, porcentaje,

color y URL. El primero es usado para anchuras, alturas y tamaños. El segundo se

utiliza para anchuras, alturas y posición. El tercero representa un valor RGB en

hexadecimal, un valor RGB con enteros o porcentajes, o un valor entendible en

idioma Ingles. El cuarto es utilizado para las imágenes.

Page 38: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

37

Existen propiedades para el recuadro, entre las que se encuentran las propiedades

de despliegue, margen, relleno, y borde; propiedades para el texto y fuente, entre

los que se encuentran el nombre, tamaño, estilo y grosor de la fuente, la

alineación y sangrado del texto; propiedades de color y fondo, entre los que se

encuentran el color del primer plano, el del fondo, el del borde, y la imagen del

fondo. [6]

• Prioridades

a. Si dos o mas selectores tienen al mismo elemento, las normas se unen.

b. Si las propiedades son diferentes entre si, las normas que tengan un

selector más específico tendrán una prioridad mas alta.

c. No se tiene en cuenta el orden en que se elabora la CSS, es decir, es

posible que las normas que aparecen en la parte superior de la hoja de

estilo tengan una prioridad menor. [6]

Page 39: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

38

CAPITULO 3 MANEJADOR DE ENCUESTAS

El manejador de encuestas surge como una manera de suplir una necesidad

hallada, automatizar el proceso de elaboración de encuestas, permitiendo asi de

una manera fácil, ágil y útil, el diseño, creación y ejecución de estas para luego ser

contestadas por otros usuarios.

La aplicación consta de dos módulos, el primero, que tiene que ver con el manejo

de usuarios (encuestadores, analizadores, administrador), y encuestas; y el

segundo, que tiene que ver con los usuarios (encuestados), quienes responderán

las preguntas para una determinada encuesta.

En el primer modulo se manejan tres roles diferentes, el administrador, el

encuestador y el analizador.

El administrador es quien esta encargado de toda la parte del manejo de usuarios

que tendrán acceso al primer modulo de la aplicación, entonces para él es posible

la creación, modificación, consulta y eliminación de estos. Para la creación de

usuarios, la aplicación pedirá al administrador ciertos datos los cuales deben ser

ingresados; para la modificación de un usuario, la aplicación pedirá al

administrador cambiar algunos datos de este; para la consulta, bien puede pedir el

login de un usuario cuando solo se desea buscar uno, puede también pedir el rol

para así mostrar los usuarios según el rol, o bien puede simplemente mostrar

todos los usuarios existentes; y para la eliminación la herramienta simplemente se

encargara de eliminar todas aquellas encuestas (si las tiene) de la aplicación y

procederá a borrar dicho usuario.

El encuestador, es quien podrá manipular sus encuestas, es decir, podrá crear,

consultar, modificar, duplicar, ejecutar, consultar la ejecución, eliminar, ver la

Page 40: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

39

presentación y ver las estadísticas. Para la creación, la herramienta pedirá al

encuestador los datos básicos de la encuesta. Para la consulta, la herramienta

desplegará la información inicial de la encuesta. Para la modificación, esta solo

podrá hacerse si la encuesta no ha sido ejecutada, si se ha ejecutado la

modificación no se realizará. Para la duplicación, el sistema pedirá al usuario

nuevos datos, permitiendo crear una nueva encuesta, con las mismas preguntas

pero con distinto nombre. Para la ejecución el sistema pedirá al usuario las fechas

en que será publicada la encuesta, deben ser fechas vigentes. Para consultar la

ejecución, el sistema simplemente mostrará todos los rangos de fecha en que la

encuesta ha sido ejecutada. Para eliminar una encuesta, la herramienta borrara

todas las preguntas, estadísticas, ejecuciones, respuestas, etc., que se hallan

obtenido para esta. Para ver la presentación, el sistema mostrara una imagen de

cómo quedo la encuesta para que sea contestada por los encuestados. Para ver

las estadísticas de una determinada encuesta ejecutada, la aplicación pedirá al

usuario la pregunta de la cual desea conocer la información almacenada. El

encuestador también tiene la capacidad de manipular las preguntas y respuestas

que se encuentran dentro de una determinada encuesta, el encuestador podrá

tanto para las preguntas como para las respuestas, crearlas, modificarlas,

eliminarlas y moverlas. Para la creación de una pregunta, aparte de la información

básica el usuario debe tener en cuenta el tipo de respuesta para la pregunta (si es

abierta numero, abierta texto o selección múltiple), ya que de esto dependerán el

tipo de estadísticas dadas, y si debe adicionar respuestas. Para la modificación de

una pregunta el sistema pedirá al usuario que cambie algunos datos en esta. Para

la eliminación de una pregunta, el sistema borrara todos los datos de esta, incluso

las respuestas si el tipo era de selección múltiple. Para la creación de una

respuesta, el sistema pedirá algunos datos al encuestador. Para la modificación de

una respuesta el sistema pedirá cambiar algunos datos al encuestador. Para la

eliminación, el sistema simplemente borrara dicha respuesta.

Page 41: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

40

El analizador, es quien podrá consultar todas las encuestas existentes, así como

sus estadísticas, preguntas, y respuestas. Hay que tener en cuenta que este rol no

podrá hacer ninguna modificación para una encuesta creada.

3.1 ARQUITECTURA DE LA APLICACIÓN

Arquitectura de la aplicación

La arquitectura de la aplicación cuenta con 5 niveles de arquitectura esenciales

(JSP, Servlets, Objetos de procesamiento, Objetos Manejadores BD, Beans) que

procesan los datos desde la petición del usuario hasta la respuesta a esta petición

y 5 módulos de funcionalidad (Usuario, Encuesta, Pregunta, Respuesta,

Page 42: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

41

contestarEncuesta) que son manejadas por clases aparte en cada nivel. A

continuación se explicarán cada uno:

• Java Server Pages (JSP)

Una petición siempre comienza por medio de la intervención del usuario, donde se

genera la orden para realizar algún proceso. En este nivel se encuentran paginas

básicas en cada modulo como lo son: adicionar, modificar, manejador y verDatos,

que son utilizadas para realizar funcionalidades básicas como adicionar, modificar,

eliminar y consultar dependiendo de cada módulo.

• Servlet

En este módulo se reciben las ordenes del usuario, se leen los datos necesarios

para procesar la petición y se redirecciona la orden a un objeto que se encargará

de procesar según la lógica de la petición. En este nivel se encuentran las clases

manejadoras para cada módulo como lo son: principalUuario, principalEncuesta,

principalPregunta, principalRespueta y PrincipalContestarEncuesta.

• Objetos De Procesamiento

Estos objetos son los encargados de procesar las solicitudes realizadas por el

usuario, aquí se encuentra lo que se conoce comúnmente como “la lógica del

negocio”, este nivel recibe los datos del servlet, los procesa y por medio de beans,

se comunica con la base de datos. Este nivel cuenta con una clase encargada del

manejo lógico de cada módulo, esto archivos son identificados por que su nombre

comienza con “manejo” seguido por el nombre del módulo, dentro de las cuales se

Page 43: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

42

encuentran: manejoUsuario, manejoEncuesta, manejoPregunta, manejoRespueta y

manejoContestarEncuesta.

• Beans

Son clases que representan objetos físicos de nuestra aplicación. Como lo son:

usuario, encuesta, pregunta y respuesta.

• Objetos Manejadores Base Datos

Este nivel maneja la comunicación directa con la base de datos, para lograr la

persistencia de los datos. Este nivel esta conformado por una única clase que

cuenta con funciones generales para realizar la comunicación con la Base de

Datos.

En general nuestra aplicación se divide en cuatro módulos principales que

interactúan entre si, a continuación se realizara una tabla que recopila cada nivel,

y los archivos correspondientes.

Page 44: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

43

CAPITULO 4 DISEÑO DE LA APLICACIÓN

4.1 Diagrama de casos de Uso

Page 45: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

44

4.2 Casos de Uso

Nombre Del Caso De Uso: Adicionar Usuario

Identificador: C1

Actores: Administrador

Iteración:

Resumen: El administrador adiciona un usuario, el cual dependiendo del rol asignado

tendrá ciertos permisos para ejecutar ciertas acciones.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el usuario elige la opción adicionar Usuario.

2. El sistema solicita los datos básicos del usuario, como son nombre, login,

password y rol.

3. El administrador ingresa los datos solicitados del usuario a adicionar y elige

la opción aceptar.

4. El sistema verifica el ingreso de los datos como obligatorios y validos.

5. El sistema despliega un mensaje dando como realizada la transacción.

Caminos Alternativos: N/A

Caminos De Excepción: 4. Se le informa al usuario que los datos suministrados, están incompletos o mal

ingresados.

5. Se le informa al usuario que la transacción no fue realizada

satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Modificar Usuario

Identificador: C2

Actores: Administrador

Iteración:

Resumen: El administrador modifica los datos de un usuario ya existente.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el administrador elige la opción modificar

Usuario.

2. El sistema solicita el login del usuario del cual se quieren modificar los datos.

3. El administrador ingresa el login del usuario a modificar.

4. El sistema verifica la existencia del login del usuario que se desea modificar.

5. El sistema despliega los datos actuales del usuario, al cual se quiere

modificar.

6. El administrador modifica los datos que desee cambiar.

Page 46: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

45

7. El sistema verifica el ingreso de los datos como obligatorios y validos.

8. El sistema despliega un mensaje comunicando al administrador que la

transacción fue exitosamente realizada.

Caminos Alternativos: N/A

Caminos De Excepción: 4. Se le informa al usuario que el login ingresado no existe.

7. Se le informa al usuario que los datos suministrados, están incompletos o mal

ingresados.

8. Se le informa al usuario que la transacción no fue realizada

satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Consultar Usuarios

Identificador: C3

Actores: Administrador

Iteración:

Resumen: El Administrador consulta los datos de todos los usuarios existentes.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el administrador elige la opción Consultar

Usuarios.

2. El sistema despliega en una tabla la información de todos los usuarios.

3. El administrador elige Aceptar cuando a verificado la información solicitada.

Caminos Alternativos: N/A

Caminos De Excepción: 2. Se le informa al usuario que la consulta no se pudo realizar.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Eliminar Usuario

Identificador: C4

Actores: Administrador

Page 47: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

46

Iteración:

Resumen: El administrador elimina un usuario existente.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el administrador elige la opción Eliminar

Usuario.

2. El sistema solicita el login del usuario a eliminar.

3. El administrador ingresa el login del usuario a eliminar.

4. El sistema verifica la existencia del usuario.

5. El sistema elimina el usuario identificado con el login ingresado por el

administrador.

6. El sistema Informa que la transacción se realizo satisfactoriamente.

Caminos Alternativos: N/A

Caminos De Excepción: 4. Se le informa al usuario que el login ingresado no existe.

6. Se le informa al usuario que la transacción no se pudo realizar

satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Consultar Usuario

Identificador: C5

Actores: Administrador

Iteración:

Resumen: El Administrador consulta los datos de un usuarios existente.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el administrador elige la opción Consultar

Usuario.

2. El sistema despliega los identificadores de los usuarios existentes.

3. El administrador elige el login del usuario a consultar.

4. El sistema verifica la existencia del login del usuario que se desea consultar.

5. El sistema despliega los datos actuales del usuario

Caminos Alternativos: N/A

Caminos De Excepción: 2. Se le informa al usuario que la consulta no se pudo realizar.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Page 48: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

47

Lucía Muñoz

Fecha: Febrero 16, 2003

Caso De Uso: Identificar Usuario

Identificador: C6

Actores: Encuestador

Iteración:

Resumen: El encuestador se identifica para tener acceso a la aplicación

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el encuestador digita sus datos para ingresar

a la aplicación: login, password y rol.

2. El sistema verificará que los datos ingresados sean correctos.

3. Si los datos son correctos, el sistema debe desplegar la ventana de las

encuestas si el usuario es un encuestador o analizador, o la ventana de

manejo de usuarios si el usuario es el administrador.

Caminos Alternativos: 1.1 El usuario desea cancelar la opción de ingreso

Caminos De Excepción: 1. Se le informa al usuario que los datos suministrados, están incompletos o

ingresados de forma incorrecta.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: El usuario debe haber ingresado a la aplicación.

Post-Condiciones:

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 13, 2003

Caso De Uso: Adicionar Encuesta

Identificador: C6

Actores: Encuestador

Iteración:

Resumen: El encuestador crea una nueva encuesta

Curso Básico De Eventos: 1. Este caso de uso inicia cuando, el encuestador elige la opción de crear una

nueva encuesta.

2. El sistema despliega una ventana, en la que se le pedirá al usuario los datos

iniciales de la encuesta, como son: el nombre de la encuesta, las palabras

claves para la misma, y los comentarios.

3. El encuestador debe ingresar los datos al sistema y oprimir el botón de

aceptar.

4. El sistema retornará al encuestador un número para identificar la encuesta

Caminos Alternativos: 3.1 El usuario desea cancelar la acción de crear nueva encuesta.

3.2 El sistema retorna al usuario a la ventana donde aparecen todas las

encuestas disponibles para ese usuario.

Page 49: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

48

Caminos De Excepción: 3. Se le informa al usuario que los datos suministrados, están incompletos, mal

ingresados, o que el nombre de la encuesta ya existe.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: El usuario tiene acceso al sistema y por lo tanto se encuentra en la ventana de

encuestas

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 13, 2003

Caso De Uso: Consultar Encuesta

Identificador: C7

Actores: Encuestador, Analista

Iteración:

Resumen: El usuario desea observar una encuesta ya existente

Curso Básico De Eventos: 1. Este caso de uso comienza cuando el usuario selecciona alguna de las

encuestas existentes y elige la opción de consultar encuesta.

2. El sistema despliega los datos básicos de la encuesta, es decir, nombre,

comentarios, palabras claves y el identificador.

Caminos Alternativos:

Caminos De Excepción:

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 13, 2003

Caso De Uso: Modificar Encuesta

Identificador: C8

Actores: Encuestador

Iteración:

Resumen: El encuestador quiere hacer modificaciones a una encuesta ya existente

Curso Básico De Eventos: 1. Este caso de uso inicia cuando, el encuestador selecciona dentro de las

encuestas alguna ya existente y la opción para modificarla.

2. El sistema muestra los datos iniciales de la encuesta.

3. El usuario modifica el nombre, palabras claves o comentarios.

Page 50: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

49

Caminos Alternativos: 3.1 El usuario desea cancelar la opción de modificar la encuesta.

3.2 El sistema deja la encuesta como inicialmente estaba.

3.3 El sistema retorna a la ventana de encuestas disponibles para ese

determinado usuario.

Caminos De Excepción: 1. Se le informa al usuario que ya no es posible modificar la encuesta elegida

debido a que esta ya ha sido respondida por algún (os) encuestado (s). Es

decir ya ha sido ejecutada.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: La encuesta no ha sido publicada

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 13, 2003

Caso De Uso: Duplicar Encuesta

Identificador: C9

Actores: Encuestador

Iteración:

Resumen: El usuario desea crear una encuesta a partir de una ya existente

Curso Básico De Eventos: 1. Este caso de uso comienza cuando el usuario selecciona alguna de las

encuestas existentes y elige la opción de duplicar encuesta.

2. El sistema retorna el formato de la encuesta, con los campos titulo,

comentarios, y palabras claves para ser modificados.

3. El usuario ingresa los nuevos valores.

4. El sistema guarda los valores ingresados y realiza la copia de la encuesta,

junto con todas las posibles preguntas y respuestas existentes en la original.

5. El sistema devuelve el identificador de la nueva encuesta, junto con los datos

que el usuario modificó.

Caminos Alternativos: 3.1 El usuario desea cancelar la petición de duplicar una encuesta existente.

3.2 El sistema retorna a la ventana donde se encuentran todas las encuestas

disponibles para ese usuario.

Caminos De Excepción: 3. Se informa al usuario que ha ingresado un nombre ya existente para la

encuesta, y que por lo tanto debe cambiarlo.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 13, 2003

Page 51: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

50

Caso De Uso: Eliminar Encuesta

Identificador: C10

Actores: Encuestador

Iteración:

Resumen: El usuario desea eliminar una encuesta existente

Curso Básico De Eventos: 1. Este caso de uso comienza cuando el usuario selecciona alguna de las

encuestas existentes y elige la opción de eliminar encuesta.

2. El sistema muestra los datos iniciales de la encuesta, es decir el

identificador, nombre, comentarios, y palabras claves.

3. El usuario oprime el botón de eliminar.

4. El sistema elimina toda la información concerniente a la encuesta elegida es

decir, identificador, palabras claves, comentarios, preguntas y respuestas;

así como también todas las posibles soluciones que esta pudo tener por

parte de otros usuarios.

5. El sistema notifica al usuario que la encuesta ha sido eliminada.

Caminos Alternativos: 3.1. El usuario oprime el botón de cancelar.

3.2. El sistema retorna a las encuestas de ese determinado usuario

Caminos De Excepción:

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 13, 2003

Caso De Uso: Ejecutar Encuesta

Identificador: C11

Actores: Encuestador

Iteración:

Resumen: El usuario desea poner a disposición de los encuestados la encuesta elegida

Curso Básico De Eventos: 1. Este caso de uso comienza cuando el usuario selecciona alguna de las

encuestas existentes y elige la opción de ejecutar encuesta.

2. El sistema despliega una ventana en la se deben ingresar las fechas de

disponibilidad de la encuesta

3. El usuario ingresa las fechas de vigencia de la encuesta.

4.

Caminos Alternativos: 4.1 El usuario desea cancelar la acción.

4.2 El sistema retorna a la ventana en que aparecen todas las encuestas

disponibles para ese determinado usuario.

Caminos De Excepción: 3. El sistema informa al usuario que ha ingresado un intervalo de tiempo

inadecuado.

Page 52: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

51

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 13, 2003

Caso De Uso: Consultar Ejecución

Identificador: C12

Actores: Encuestador, analizador

Iteración:

Resumen: El usuario desea conocer las estadísticas encontradas en una encuesta específica

Curso Básico De Eventos: 1. Este caso de uso comienza cuando el usuario selecciona alguna de las

encuestas existentes y elige la opción de consultar ejecución.

2. El sistema despliega una ventana en la que se verifica los principales datos

de la encuesta y la vigencia de esta, es decir todos los intervalos de fecha en

los que la encuesta ha sido ejecutada.

Caminos Alternativos:

Caminos De Excepción: 1. El sistema le informa al usuario que ha elegido una encuesta que no ha sido

ejecutada.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: N/A

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

echa: Febrero 13, 2003

Caso De Uso: Ver Estadísticas

Identificador: C13

Actores: Encuestador, analizador

Iteración:

Resumen: El usuario desea conocer la información de las preguntas para una determinada

encuesta, para así conocer las estadísticas.

Curso Básico De Eventos: 1. Este caso de uso comienza cuando el usuario ha seleccionado de una

encuesta existente la opción Ver Ejecución, oprimiendo el Botón de Ver

Estadísticas en la ventana de Ver Ejecución.

Page 53: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

52

2. El sistema despliega una ventana en la que se puede observar la información

de todas las preguntas, identificador, orden, pregunta, descripción, tipo de

respuesta.

3. El usuario debe elegir la pregunta de la cual desea conocer las estadísticas y

luego debe oprimir el botón de Ver Resultados.

4. El usuario ha seleccionado una pregunta de selección por tanto el sistema

desplegará las estadísticas de acuerdo a este tipo de pregunta, es decir

mostrará el identificar de la encuesta, el identificador de la encuesta

ejecutada, la pregunta, la descripción, el número de respuestas obtenidas, y

para cada respuesta la frecuencia y el porcentaje

Caminos Alternativos: 3.1 El usuario ya no desea conocer las estadísticas, por tanto oprimirá el botón

de Cancelar.

3.2

Page 54: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

53

pregunta, descripción, tipo de dato de las respuestas, numero de

respuestas, tipo de despliegue y si es requerido o no dar una respuesta.

3. El encuestador ingresa los datos solicitados por el sistema y elige la opción

aceptar.

4. El sistema verifica el ingreso de los datos como obligatorios y validos

5. El sistema despliega un mensaje comunicando al encuestador que la

transacción fue exitosamente realizada.

Caminos Alternativos: N/A

Caminos De Excepción: 4.Se le informa al usuario que los datos suministrados, están incompletos o mal

ingresados.

5. Se le informa al usuario que la transacción no fue realizada

satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le adicionará la pregunta exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Modificar Pregunta

Identificador: C15

Actores: Encuestador

Iteración:

Resumen: El encuestador modifica la información de una pregunta ya creada.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el Encuestador elige la pregunta a modificar

y la opción Modificar Pregunta.

2. El sistema verifica la existencia de la pregunta y despliega los datos

ingresados para esta.

3. El encuestador modifica los datos a cambiar y elige la opción Aceptar.

4. El sistema verifica el ingreso de la información.

5. El sistema despliega un mensaje comunicando al encuestador que la

transacción fue exitosamente realizada.

Caminos Alternativos: N/A

Caminos De Excepción: 2. Se le informa al usuario que la pregunta no existe para la encuesta.

4. Se le informa al usuario que la información está incompleta o mal ingresada.

5. Se le informa al usuario que la transacción no fue realizada

satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le modificará la pregunta exista.

Page 55: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE
Page 56: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

55

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le modificará la pregunta exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Cambiar orden Preguntas

Identificador: C18

Actores: Encuestador

Iteración:

Resumen: El encuestador cambia el orden delas preguntas de una encuesta ya existente.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el Encuestador cambia de orden las

preguntas, por medio de las flechas y elige la opción Cambiar orden.

2. El sistema cambia el orden de las preguntas, para el despliegue en la

encuesta.

3. El sistema informa al encuestador que la operación fue realizada

satisfactoriamente.

Caminos Alternativos: N/A

Caminos De Excepción: 3. Se le informa al usuario que la transacción no fue realizada satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le cambiara el orden de las preguntas exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Adicionar Respuesta

Identificador: C19

Actores: Encuestador

Iteración:

Resumen: El encuestador adiciona una respuesta a una encuesta ya creada.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el Encuestador elige la opción Adicionar

respuesta.

2. El sistema solicita el ingreso de la respuesta.

3. El encuestador ingresa los datos solicitados por el sistema y elige la opción

Page 57: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

56

aceptar.

4. El sistema verifica el ingreso de los datos como obligatorios y validos

5. El sistema despliega un mensaje comunicando al encuestador que la

transacción fue exitosamente realizada.

Caminos Alternativos: N/A

Caminos De Excepción: 4.Se le informa al usuario que los datos suministrados, están incompletos o mal

ingresados.

5. Se le informa al usuario que la transacción no fue realizada

satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le adicionará la respuesta exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Modificar Respuesta

Identificador: C20

Actores: Encuestador

Iteración:

Resumen: El encuestador modifica la información de una respuesta ya creada.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el Encuestador elige la respuesta a modificar

y la opción Modificar Respuesta.

2. El sistema verifica la existencia de la respuesta y despliega los datos

ingresados para esta.

3. El encuestador modifica los datos a cambiar y elige la opción Aceptar.

4. El sistema verifica el ingreso de la información.

5. El sistema despliega un mensaje comunicando al encuestador que la

transacción fue exitosamente realizada.

Caminos Alternativos: N/A

Caminos De Excepción: 2. Se le informa al usuario que la pregunta no existe para la encuesta.

4. Se le informa al usuario que la información está incompleta o mal ingresada.

5. Se le informa al usuario que la transacción no fue realizada

satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le modificará la respuesta exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Page 58: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

57

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Consultar Respuesta

Identificador: C21

Actores: Encuestador

Iteración:

Resumen: El encuestador consulta una respuesta ya existente.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el Encuestador elige la respuesta a consultar

y la opción Consultar Respuesta.

2. El sistema verifica la existencia de la respuesta y despliega los datos

ingresados para esta.

3. El Encuestador elige la opción aceptar, cuando haya consultado la

información solicitada.

Caminos Alternativos: N/A

Caminos De Excepción: 2. Se le informa al usuario que la respuesta no existe para la encuesta o que la

transacción no fue realizada satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le consultará la respuesta exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Eliminar Respuesta

Identificador: C22

Actores: Encuestador

Iteración:

Resumen: El encuestador elimina una respuesta ya existente.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el Encuestador elige la respuesta a eliminar y

la opción Eliminar Respuesta.

2. El sistema verifica la existencia de la respuesta.

3. El sistema elimina la respuesta seleccionada, e informa al encuestador que

la operación fue realizada satisfactoriamente.

Caminos Alternativos: N/A

Caminos De Excepción: 2. Se le informa al usuario que la respuesta no existe.

3. Se le informa al usuario que la transacción no fue realizada satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Page 59: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

58

Pre-Condiciones: Que la encuesta a la que se le modificará la respuesta exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Nombre Del Caso De Uso: Cambiar orden Respuestas

Identificador: C23

Actores: Encuestador

Iteración:

Resumen: El encuestador cambia el orden de las respuestas de una encuesta ya existente.

Curso Básico De Eventos: 1. Este caso de uso inicia cuando el Encuestador cambia de orden las

respuestas, por medio de las flechas y elige la opción Cambiar orden.

2. El sistema cambia el orden de las respuestas, para el despliegue en la

encuesta.

3. El sistema informa al encuestador que la operación fue realizada

satisfactoriamente.

Caminos Alternativos: N/A

Caminos De Excepción: 3. Se le informa al usuario que la transacción no fue realizada satisfactoriamente.

Puntos De Extensión: N/A

Triggers: Bajo pedido del usuario.

Suposiciones: N/A

Pre-Condiciones: Que la encuesta a la que se le cambiara el orden de las respuestas exista.

Post-Condiciones: N/A

Autor: Carolina Martínez

Lucía Muñoz

Fecha: Febrero 16, 2003

Page 60: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

59

4.3 Diagrama De Clases

a. Principal.java

b. PrincipalEncuestas.java

Page 61: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

60

c. PrincipalPregunta.java

d. PrincipalRespuesta.java

e. PrincipalContestarEnc.java

f. ManejoUsuarios.java

Page 62: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

61

g. ManejoEncuestas.java

h. ManejoPreguntas.java

Page 63: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

62

i. ManejoRespuestas.java

j. ManejoContestarEnc.java

k. Usuario.java

Page 64: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

63

l. Encuesta.java

m. Pregunta.java

n. Respuesta.java

o. EncuestaEjecutada.java

Page 65: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

64

p. ManejadorBD.java

Page 66: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

65

Niveles

Módulos

JSP Servlet

Objetos de procesamiento Beans Objetos maneja-

dores BD

Usuario

adicionarUsuario

consultarUsuarios

elegirRol

elegirUsuario

eliminarUsuario

frameUsuario

ingresoUsuario

menuUsuario

menuUsuarioFrame

modificarUsuario

noExisteUsuario

verDatosUsuario

PrincipalUsuario manejoUsuarios Usuario

Encuesta

adicionarEncuesta(encuesta)

ejecutarEncuesta

eliminadaEncuesta

encuestaNoModificada

manejadorEncuesta(menuEncuesta)

menuEncuestaAnalista

modificarEncuesta

noEjecutadaEncuesta

verDatosEncuesta

verEncuesta

principal encuesta manejoEncuestas Encuesta

manejadorBD

Page 67: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

66

Pregunta

adicionarPregunta

consultarPreguntas

manejadorPreguntas

modificarPregunta

verDatosPregunta

PrincipalPregunta manejoPreguntas Pregunta

Respuesta

adicionarRespuesta

manejadorRespuesta

modificarRespuesta

verDatosRespuesta

principalRespuesta manejoRespuestas Respuesta

EjecutarEncuesta

constestarEncuesta

encuestaEnviada

llenarEncuesta

manejadorConstestarEnc

verEjecucucionEncuesta

verEjecutadaEncuesta

PrincipalContestarEncuesta manejoContestarEncuesta encuestaEjecutada

Estadísticas

verEstadisticasAbNumero

verEstadisticasAbTexto

verEstadisticasSeleccion

verPreguntasEncEjec

PrincipalEncuesta manejoEncuesta

Tabla 1. Arquitectura de la aplicación

Page 68: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

67

4.3 Modelo Entidad Relación

Page 69: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

68

4.4 Tablas Relacionales

ROLES

identificador Rol

PK, NN NN

USUARIOS

identificador nombre login password cod_rol

PK, NN NN NN NN FK, NN

ENCUESTAS

Identificador nombre pal_clave Comentario cod_usuario

PK, NN NN NN NN FK, NN

ENCUESTAS REALIZADAS

identificador cont_usuario fecha_inicio fecha_fin cod_encuesta

PK, NN NN NN NN FK, NN

TIPOS_DESPLIEGUE

identificador Despliegue

PK, NN NN

TIPOS_PREGUNTA

Identificador tipo

PK, NN NN

Page 70: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

69

PREGUNTAS

id Nombre Desc requerido Orden

Num_

respuestas

cod_tipo

_pregunta

cod_tipo_

despliegue Cod_encuesta

PK,

NN NN NN NN NN NN PK, NN PK, NN FK, NN

RESPUESTAS

Identificador respuesta orden cod_pregunta

PK, NN NN NN FK, NN

PREGUNTAS_CONTESTADAS

identificador valor_numerico comentario cod_pregunta cod_respuesta

PK, NN FK, NN FK

ENCUESTAS_LLENADAS

identificador Cod_preg_contestada cod_enc_realizada cont_usuario

PK, NN FK, NN FK, NN NN

Page 71: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

70

4.5 Diagramas De Secuencia

ADICIONAR USUARIO

Page 72: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

71

CONSULTAR USUARIO

Page 73: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

72

CONSULTAR USUARIOS

Page 74: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

73

CONSULTAR USUARIOS POR ROL

Page 75: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

74

ELIMINAR USUARIO

Page 76: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

75

INGRESO USUARIO

Page 77: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

76

ADICIONAR ENCUESTA

Page 78: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

77

MODIFICAR ENCUESTA

Page 79: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

78

CONSULTAR ENCUESTA

Page 80: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

79

DUPLICAR ENCUESTA

Page 81: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

80

ELIMINAR ENCUESTA

Page 82: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

81

EJECUTAR ENCUESTA

Page 83: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

82

VER EJECUCION

Page 84: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

83

VER PREGUNTAS

Page 85: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

84

VER ENCUESTA

Page 86: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

85

CONTESTAR ENCUESTA

Page 87: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

86

LLENAR ENCUESTA

Page 88: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

87

ADICIONAR PREGUNTA

Page 89: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

88

MODIFICAR PREGUNTA

Page 90: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

89

CONSULTAR PREGUNTA

Page 91: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

90

ELIMINAR PREGUNTA

Page 92: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

91

ADICIONAR RESPUESTA

Page 93: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

92

MODIFICAR RESPUESTA

Page 94: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

93

CONSULTAR RESPUESTA

Page 95: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

94

ELIMINAR RESPUESTA

Page 96: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

95

4.6 Interfaz Asociada A Los Diagramas De Secuencia

INGRESAR USUARIO

Si un usuario desea ingresar debe suministrar su login y password. Una vez ingresados los datos debe oprimir Aceptar. El sistema se encarga de validar el usuario y dependiendo del rol se desplegará dos pantallas, una para el rol administrador y otra para el rol de encuestador o el de analista.

CONSULTAR USUARIO

Para lograr modificar un usuario, se debe elegir su login, como se muestra en la pantalla. Una vez elegido el usuario se debe proceder a oprimir el botón.

Page 97: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

96

ELEGIR USUARIO

Una vez elegido el usuario, se mostraran los datos básicos de este.

CONSULTA USUARIOS EXISTENTES

Una vez elegida la opción CONSULTAR USUARIOS, se mostrarán todos los usuarios mostrando de cada uno su nombre, login y rol.

CONSULTAR POR ROL

Para consultar los usuarios según su rol, el cual puede ser: Administrador, Encuestador o Analista. Luego se debe proceder a oprimir el botón ELEGIR ROL.

Page 98: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

97

Al elegirse un rol determinado, se desplegará por pantalla sólo los usuario que tienen como rol, el que se ha seleccionado anteriormente. En nuestro ejemplo el rol elegido es “Encuestador”.

ELIMINAR USUARIO

Para eliminar un usuario se debe primero elegir el usuario que se desea eliminar, y luego oprimir el botón ELEGIR USUARIO. Si la eliminación del usuario fue exitosa, se desplegará por pantalla un mensaje que verifica la eliminación del usuario.

Page 99: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

98

ADICIONAR ENCUESTA

Si el rol del usuario es encuestador, siempre observará esta pantalla en la que se encuentran todas las encuestas creadas por él y la opción de adicionar una nueva encuesta con el icono:

El encuestador debe ingresar los datos para la nueva encuesta como son el titulo, los comentarios y las palabras claves. Una vez realiza esta operación tiene la posibilidad de Aceptar o de Devolverse si ya no desea realizar la operación, es decir, si no desea crear una nueva encuesta. Una vez el encuestador ha decidido crear una nueva encuesta tendrá la posibilidad de verla y conocer así el número identificador asignado para esta, junto con los datos que el ingreso en el paso anterior: identificador, nombre, comentarios y palabras claves

Page 100: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

99

CONSULTAR ENCUESTA

En la pantalla donde muestra todas las encuestas creadas por un usuario con rol encuestador, este puede consultar cualquiera de ellas, oprimiendo el icono:

Que se encuentra al mismo nivel de la encuesta que desea consultar.

Una vez se ha oprimido el botón de consultar se despliega esta pantalla con los datos de la encuesta: identificador, nombre, comentario y palabras claves.

MODIFICAR ENCUESTA

Una vez el encuestador se encuentra en esta pantalla, observando todas sus encuestas, podrá modificar solo aquellas que aun no han sido publicadas, es decir las que aun no han sido contestadas por ningún usuario con rol encuestado. El icono que identifica esta acción es:

Page 101: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

100

Una vez el encuestador ha oprimido el botón para modificar una encuesta, aparecerán los datos actuales de esta. El encuestador debe ingresar los nuevos datos para dicha encuesta. Si el encuestador quiere modificarla realmente bebe oprimir el botón de Aceptar; sino, podrá cancelar la operación con el botón de Regreso, retornando a la pantalla de encuestas.

En este momento tenemos dos casos

1. El caso en que la encuesta puede modificarse: Si el encuestador modifica la encuesta seleccionada aceptando en la pantalla anterior, observará en esta pantalla los ultimos datos ingresados: nombre, comentarios, palabras claves. Observe quedentificador no ha cambiado.

2. El caso en que la encuesta no pueda modificarse:

En este caso la encuesta elegida no puede modificarse porque la encuesta ya ha sido ejecutada, es decir ya ha sido publicada para ser contestada. En ese momento el sistema desplegará una pantalla como la mostrada, en la que se tiene en cuenta el identificador de la encuesta.

Page 102: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

101

DUPLICAR ENCUESTA

Una vez el encuestador se encuentra en esta pantalla, observando todas sus encuestas, podrá duplicarlas todas, sin ninguna restricción. El icono que identifica esta acción es:

El encuestador debe ingresar un nuevo titulo para la encuesta, y si quiere puede cambiar o agregar comentarios y palabras claves para esta. Si el encuestador quiere duplicar realmente la encuesta deberá oprimir el botón de aceptar; si no esta seguro pude devolverse. El sistema mostrara al encuestador los datos, que el ingreso anteriormente: nombre, comentarios, palabras claves; y además el nuevo identificador. Es importante tener en cuenta que las preguntas y respuestas de dicha encuesta también se duplican.

Page 103: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

102

ELIMINAR ENCUESTA Una vez el encuestador se encuentra en esta pantalla, observando todas sus encuestas, podrá eliminar cualquiera sin ninguna restricción. El icono que identifica esta acción es:

El sistema mostrara este mensaje si la encuesta ha podido ser eliminada

ADICIONAR PREGUNTA

Para lograr adicionar una pregunta a una encuesta específica es necesario ingresar por el siguiente

icono: El cual se encuentra en la parte inferior de la página.

Page 104: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

103

Luego se desplegará la página que observamos a nuestra izquierda, donde se nos pedirá los datos básicos para la creación de la pregunta. Una vez ingresados estos procederemos a confirmar la información presionando ACEPTAR. Si la operación anterior fue exitosa, el sistema retornará a la primera pantalla mostrada, con la diferencia que la pregunta adicionada aparecerá al final, junto con las otras preguntas pertenecientes a una específica encuesta. Por otro lado si la operación no fue exitosa, saldrá una pantalla de error que retornara a la primera pantalla mostrada.

MODIFICAR PREGUNTA

Para modificar una pregunta se debe hacer clic, sobre el icono :

El cual es la primera opción que se encuentra dentro de las funciones básicas para cada pregunta.

Al elegir la opción de modificar una pregunta, se despliega esta pantalla con los datos existentes de la pregunta, dando la posibilidad de poder modificar cualquier dato existente, una vez se hayan cambiado los datos, se procede a presionar ACEPTAR.

Page 105: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

104

Si la operación fue exitosa, se desplegará una pantalla de visualización de los datos modificados y se dará la opción de regresar nuevamente a la primera pantalla, que es la manejadora de preguntas, con la pregunta, claro está ya modificada.

CONSULTAR PREGUNTA

Para poder consultar una pregunta, se debe hacer clic sobre el icono:

El cual es la segunda opción que se encuentra dentro de las funciones básicas para cada pregunta.

Una vez se elija la opción de consultar la pregunta, se desplegará esta pantalla con la información básica de la pregunta y se dará la opción de regresar nuevamente a la anterior pantalla, que es la manejadora de preguntas.

Page 106: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

105

ELIMINAR PREGUNTA Para elegir la opción de eliminar pregunta se debe presionar el icono:

El cual es la tercera opción que se encuentra dentro de las funciones básicas para cada pregunta. Una vez se presione esta opción. Si la operación fue exitosa se desplegará la misma pantalla, con la diferencia, que la pregunta eliminada no aparecerá.

MANEJO RESPUESTAS

Existe por ultimo la opción de modificar las respuestas para cada pregunta, presionando el icono

Esta opción solo se desplegará para la preguntas que sean de opción múltiple.

Page 107: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

106

Una vez se presione la opción nombrada anteriormente, se desplegará esta pantalla, que dará la opción de adicionar, modificar, consultar, eliminar las respuestas para una específica pregunta.

ADICIONAR RESPUESTA

Para adicionar una respuesta a una pregunta, se debe presionar el link:

El cual se encuentra en la parte inferior de la página.

Luego de presionar el icono, se desplegará esta pantalla para ingresar la respuesta que se desea adicionar, una vez se ingrese la información, se debe presionar el botón ACEPTAR.

Page 108: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

107

Una vez se haya adicionado la respuesta correspondiente, se desplegarán las respuestas existentes incluyendo la que se acaba de adicionar, con las opciones para modificarla, consultarla o eliminarla.

MODIFICAR RESPUESTA Para modificar una respuesta es necesario hacer click sobre el icono:

de la respuesta a la cual se quiere modificar.

A continuación se desplegará esta pantalla, con la información existente de la respuesta para poder modificarla, una vez se halla modificado se debe presionar el botón ACEPTAR.

Page 109: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

108

Una vez se de ACEPTAR, se desplegarán los datos modificados de la respuesta, y si se está de acuerdo con esto se debe presionar el botón: REGRESAR MANEJO RESPUESTA. Para continuar.

Y por último se desplegará la pantalla principal de respuestas, con las respuestas existentes y la respuesta ya modificada.

CONSULTAR RESPUESTA Para consultar una respuesta es necesario oprimir el icono:

correspondiente de la respuesta que se quiere consultar.

Page 110: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

109

Entonces se desplegará a continuación la información de la respuesta, y luego de esto se debe oprimir el botón: REGRESAR MANEJO RESPUESTA, para volver a la pantalla anterior.

Page 111: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

110

CAPITULO 5 CONCLUSIONES

a. Se logró entender a fondo el problema propuesto, a través de la

necesidad que se percibió en un primer momento, obteniendo

una solución que permitió resolverlo, es decir, se logró

automatizar el proceso de manejo que se le debe dar a una

encuesta, desde el momento en que se crea, se coloca en vigencia, se es

contestada, se generan las estadísticas de los datos que fueron ingresados;

permitiendo un mejor control, manipulación y organización de los datos

para el usuario final de la aplicación.

b. Se obtuvo un conocimiento previo acerca del manejo que comúnmente se

le da a las encuestas, de modo que permitiera que el producto ofrecido

mejorará el proceso, para obtener un mayor aprovechamiento de la

información que con ellas se puede almacenar.

c. A través del análisis previo a la elaboración de la aplicación se logró

conocer el campo de acción, su funcionalidad y hacia quien va dirigida; asi

como las ventajas y desventajas que el usuario obtendría al interactuar con

esta

d. Se obtuvo un software de calidad, gracias a la estructuración que

se obtuvo para implementar la herramienta, a través del

cumplimiento de los requerimientos funcionales establecidos en la

etapa de diseño.

e. Se logró un producto de calidad que cumplió con los objetivos iniciales a

través del conocimiento, manejo e integración de las herramientas

elegidas, como son Java, Servlet, Jsp y MySql, permitiendo brindar a los

Page 112: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

111

usuarios finales un grado de confiabilidad y veracidad, al momento de usar

la aplicación.

f. Se logró que el producto realizado tuviera un uso fácil, para que así los

usuarios finales adquirieran un grado de confianza para la elaboración, el

manejo de las encuestas y el almacenamiento de información.

g. El desarrollo realizado hasta este momento para la herramienta permitirá

en un futuro su mejora y escalabilidad, debido a la portabilidad, seguridad,

eficiencia y flexibilidad de las herramientas utilizadas para el desarrollo de

este, de acuerdo a las necesidades que se presenten en los usuarios.

Page 113: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

112

CAPITULO 6 TRABAJO POR REALIZAR

Debido al corto tiempo que se tuvo para realizar la aplicación se considera que

existe trabajo que puede ser realizado en un futuro:

1. Es importante brindarle mayor seguridad a la base de datos, para así evitar

fallas o alteraciones en la información.

2. Permitir flexibilidad y estandarización en el transporte y manipulación de datos,

para lo cual se requiere el uso de XML.

3. Realización de varias plantillas para lograr que cada encuestador escoja la más

apropiada para el diseño de su encuesta.

4. En cuanto a la elaboración de las estadísticas, es importante tener en cuenta

que para un encuestador es mucho mas agradable poder observar el resumen

de la información a través de gráficos que le permitan una mejor comprensión

de los resultados obtenidos para su encuesta.

5. En cuanto al ingreso de los usuarios encuestadores, se buscaría que estos

tuvieran acceso a todas las encuestas, para reconocer que información, puede

ser reutilizada, sin afectar la original.

6. Formar un banco de preguntas y respuestas de modo que puedan ser utilizadas

por todos los usuarios encuestadores.

7. En cuanto a los usuarios encuestados, es importante definir que pueden existir

usuarios que necesiten ingresar con una clave de acceso y otros que puedan

ser libres, en cuanto a los que necesitan ingresar con clave de acceso pueden

clasificarse según grupos, para que así haya una mayor facilidad en el

Page 114: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

113

momento en que se decida que usuarios pueden llenar una determinada

encuesta.

Page 115: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

114

BIBLIOGRAFIA

[1] Hall Marty. Servlet y Java Server Pages, Pearson Educación, Prentice Hall. México, 2001.

[2] Diccionario de términos Xombra.

Consultar en http://www.xombra.com/terminos.php?cat=10 (diciembre 2003)

[3] Base de Datos MySQL.

Consultar en http://www.terra.com.mx/servicioaclientes/articulo/118449/default.htm

(Enero 2004)

[4] Aprenda MySQL en 120 min.

Consultar en http://www.mysql-hispano.org (febrero 2003)

[5] Operaciones Avanzadas con JDBC y Java

Consultar en http://programacion.com/java/tutorial/jdbcadv (marzo 2003)

[6] Marchal Benoit. XML con ejemplos, Pearson Educación, Prentice Hall. México,

2001.

[7] proyectos de Evaluación

Consultar en http://oducuh.upr.clu.edu/vision.htm (enero 2004)

[8] Diseño y desarrollo de aplicaciones web multidispositivo

Consultar en

http://www.germinus.com/sala_prensa/articulos/Diseno_desarr_aplicaciones_web_multidis

po%20(Febrero%202003).pdf (enero 2004)

[9] Desarrollo de aplicaciones web con Java y XML

Consultar en http://congreso.javahispano.org/files/ppt/javaXMLXSL.pdf

(enero 2004)

[10] Taller de sistemas de información I

Consultar en http://www.fing.edu.uy/inco/cursos/tsi1/teorico/10-web.pdf

(enero 2004)

Page 116: MANEJADOR DE ENCUESTAS DESARROLLO DE SOFTWARE

ISC-2003-2-22

115