ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el...

66
Desarrollo de un sistema de encuestas para apoyo telemático en medicina Indice ÍNDICE 1.- INTRODUCCIÓN ...................................................................................................... 3 2.- APLICACIÓN 1 ......................................................................................................... 5 2.1 OBJETIVO.................................................................................................................5 2.2.- SOLUCIÓN DEL PROBLEMA............................................................................ 6 2.2.1.- BASE DE DATOS................................................................................................. 6 2.2.2 APLICACIÓN.......................................................................................................... 8 3.- APLICACIÓN 2 ....................................................................................................... 13 3.1 OBJETIVO...............................................................................................................13 3.2.- SOLUCIÓN DEL PROBLEMA.......................................................................... 16 3.2.1 BASE DE DATOS................................................................................................. 16 3.2.2 APLICACIÓN........................................................................................................ 22 4.- APLICACIÓN 3 ....................................................................................................... 28 4.1 OBJETIVO...............................................................................................................28 4.2 SOLUCIÓN DEL PROBLEMA.............................................................................28 4.2.1 MODELO ENTIDAD/INTERRELACIÓN (E/R).................................................. 28 4.2.2 PASO DEL MODELO E/R AL MODELO RELACIONAL..................................37 4.2.3 CAMBIOS EN EL MODELO ORIGINAL DE LA BASE DE DATOS................41 4.2.4 SCRIPTS DE LA BASE DE DATOS.................................................................... 43 4.2.5 APLICACIÓN........................................................................................................ 44 4.2.6 MANUAL DE USUARIO DE LA APLICACIÓN................................................ 50 CONCLUSIONES ......................................................................................................... 64 BIBLIOGRAFIA ........................................................................................................... 66 Roberto García Manchón 1

Transcript of ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el...

Page 1: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Indice

ÍNDICE

1.- INTRODUCCIÓN ...................................................................................................... 3

2.- APLICACIÓN 1 ......................................................................................................... 5

2.1 OBJETIVO.................................................................................................................52.2.- SOLUCIÓN DEL PROBLEMA............................................................................ 62.2.1.- BASE DE DATOS................................................................................................. 62.2.2 APLICACIÓN.......................................................................................................... 8

3.- APLICACIÓN 2 ....................................................................................................... 13

3.1 OBJETIVO...............................................................................................................133.2.- SOLUCIÓN DEL PROBLEMA.......................................................................... 163.2.1 BASE DE DATOS................................................................................................. 163.2.2 APLICACIÓN........................................................................................................ 22

4.- APLICACIÓN 3 ....................................................................................................... 28

4.1 OBJETIVO...............................................................................................................284.2 SOLUCIÓN DEL PROBLEMA.............................................................................284.2.1 MODELO ENTIDAD/INTERRELACIÓN (E/R)..................................................284.2.2 PASO DEL MODELO E/R AL MODELO RELACIONAL..................................374.2.3 CAMBIOS EN EL MODELO ORIGINAL DE LA BASE DE DATOS................414.2.4 SCRIPTS DE LA BASE DE DATOS.................................................................... 434.2.5 APLICACIÓN........................................................................................................ 444.2.6 MANUAL DE USUARIO DE LA APLICACIÓN................................................ 50

CONCLUSIONES ......................................................................................................... 64

BIBLIOGRAFIA ........................................................................................................... 66

Roberto García Manchón 1

Page 2: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Indice

Roberto García Manchón 2

Page 3: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Introducción

1.- INTRODUCCIÓN

El proyecto fin de carrera: DESARROLLO DE UN SISTEMA DEENCUESTAS PARA APOYO TELEMÁTICO EN MEDICINA, está formado por tresaplicaciones, dos de ellas están realizadas utilizando el lenguaje de programación VisualBasic y la tercera utilizando el lenguaje Active Server Pages.

Las dos aplicaciones realizadas con el lenguaje de programación Visual Basicson dos encuestas mediante las que se pretende recabar información sobre el hábito deltabaco entre los alumnos de la UNIVERSIDAD CATÓLICA SAN ANTONIO DEMURCIA (UCAM).

Estas dos aplicaciones se han utilizado como prototipos para intentar determinarlas siguientes características:

•Tipo de preguntas y respuestas.

•Número y forma en la que se presentan las posibles contestaciones a unapregunta.

•Orden y apariencia de las preguntas.

•Forma en la que se recoge la información de las encuestas.

La información recabada tras la realización de ambas aplicaciones se utiliza parafacilitar el diseño y posterior desarrollo de la aplicación de encuestas genéricas.

La primera de estas dos encuestas trata de averiguar el grado de interés quetienen los alumnos de la UCAM en dejar de fumar. La segunda intenta saber el grado dedependencia hacia el tabaco que tienen aquellos alumnos que mostraron interés en dejarde fumar.

La tercera aplicación consiste en el desarrollo vía web de un proceso degeneración y recuperación de encuestas.

Las tres aplicaciones hacen uso de bases de datos para su funcionamiento. Parael desarrollo de las bases de datos de la primera y segunda aplicación no he necesitadoel uso de modelos de datos conceptuales, ya que son bases de datos pequeñas, conescasas tablas y sólo se utilizan para almacenar información generada por lacontestación de las preguntas que componen las encuestas. Para el desarrollo de latercera aplicación sí he hecho uso de modelos y metodologías de diseño de bases dedatos. Concretamente el modelo que he utilizado ha sido el ModeloEntidad/Interrelación (E/R).

Roberto García Manchón 3

Page 4: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Introducción

En resumen, el proyecto está constituido por tres aplicaciones y sus respectivasbases de datos. Por lo tanto en esta documentación se presentan primero los dosprototipos y luego la aplicación final.

Roberto García Manchón 4

Page 5: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

2.- APLICACIÓN 1

2.1 OBJETIVO

El objetivo de esta aplicación, es la realización de una encuesta a los estudiantesde la UNIVERSIDAD CATÓLICA SAN ANTONIO DE MURCIA (UCAM). En laencuesta se pretende averiguar el grado de interés que tienen los alumnos en dejar defumar.

La aplicación se ejecuta cuando el alumno accede a su cuenta de usuario y sólose ejecuta una vez por alumno.

La encuesta consta de seis preguntas. El enunciado y las posibles contestacionesde cada pregunta, así como el orden en el que aparecen es el siguiente: 1ª) Teniendo en cuenta que la OMS considera fumador a aquella persona queconsume cualquier cantidad de cigarrillos al día en el último mes. ¿Vd. Se considerafumador/a? Si No

Si el alumno responde negativamente a esta primera pregunta, la encuesta seda por finalizada, si por el contrario el alumno responde afirmativamente la encuestacontinua con la siguiente pregunta.

2ª) Vd. Se ha definido como fumador/a. ¿Ha pensado dejar de fumar en las próximassemanas? Si No

Si el alumno responde negativamente a esta segunda pregunta, la encuesta seda por finalizada, si por el contrario el alumno responde afirmativamente la encuestacontinua con las siguientes preguntas.

Llegados a este punto, la encuesta muestra las cuatro preguntas restantes conindependencia de lo que el encuestado responda en cada una de ellas.

3ª) ¿Le gustaría dejar de fumar si pudiera hacerlo fácilmente? Si No

4ª) ¿Cuánto interés tiene Vd. en dejarlo?

Ningún Interés Poco Interés Algún Interés

Roberto García Manchón 5

Page 6: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

Mucho Interés

5ª) ¿Intentará dejar de fumar completamente en las próximas dos semanas? Ningún Interés Poco Interés Algún Interés Mucho Interés

6ª) ¿Cree usted que dentro de 6 meses será un ex-fumador/a? No Puede que sí Seguramente sí Seguro que sí

2.2.- SOLUCIÓN DEL PROBLEMA

2.2.1.- BASE DE DATOS

Para la aplicación he creado una base de datos en la cual se va a almacenar elDNI del alumno y un valor para cada una de las preguntas. El tipo de base de datos esMicrosoft Access.

Para la conexión con la base de datos he utilizado un DSN llamado “tabacoDB”.

La base de datos consta de una única tabla llamada Respuestas. Esta tabla tienesiete campos, uno para almacenar el DNI y los otros seis para almacenar el valorasociado a cada respuesta de las seis preguntas de la que costa la encuesta.

La clave primaria es el campo DNI, en este campo se almacena los DNI de losencuestados. La razón por la que he elegido el campo DNI como clave primaria es por lanula posibilidad de que dos alumnos tengan el mismo número de DNI.

A continuación se muestra la tabla en vista de diseño. En ella podemos ver lossiete campos de la tabla, con su nombre de campo, tipo de datos y descripción.

Roberto García Manchón 6

Page 7: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

Figura 1.1-Tabla Respuestas en vista de diseño.

Como ya he mencionado antes el valor que se almacena para el campo DNI es elnúmero del Documento Nacional de Identidad. El valor que se puede almacenar en loscampos Pregunta1, Pregunta2, Pregunta3, es un número, el cual puede ser un 0 si elencuestado responde No a las citadas preguntas o bien un 1 si respondeafirmativamente.

El valor que se puede almacenar en el campo Pregunta4, es un número, el cualtoma el valor 0 si el encuestado responde a la pregunta seleccionado la contestaciónNingún Interés, 1 si responde a la pregunta seleccionando la contestación Poco Interés,2 si responde seleccionado la contestación Algún Interés y 3 si responde seleccionandoMucho Interés.

El valor que se puede almacenar en el campo Pregunta5, es un número, el cualtoma el valor 0 si el encuestado responde a la pregunta seleccionado la contestaciónNingún Interés, 1 si responde a la pregunta seleccionando la contestación Poco Interés,2 si responde seleccionado la contestación Algún Interés y 3 si responde seleccionandoMucho Interés.

El valor que se puede almacenar en el campo Pregunta6, es un número, el cualtoma el valor 0 si el encuestado responde a la pregunta seleccionado la contestación No,1 si responde a la pregunta seleccionando la contestación Puede que sí, 2 si respondeseleccionado la contestación Seguramente sí y 3 si responde seleccionando Seguro quesí.

Roberto García Manchón 7

Page 8: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

En el caso que el encuestado responda negativamente a la primera o segundapregunta provocando la finalización de la encuesta, el valor que tomarán el resto depreguntas será de 0.

A continuación se muestra la tabla en vista de datos con algunos registros.

Figura 1.2-Tabla Respuestas en vista de datos.

2.2.2 APLICACIÓN

La aplicación está realizada con Visual Basic 6 de Microsoft y esta compuestapor tres ficheros, un módulo de formulario (.frm), un módulo estándar (.bas) y unfichero de proyecto (.vbp).

La aplicación comienza mostrando una ventana, en la cual se informa al alumnoque se esta realizando un proyecto de investigación relacionado con el apoyo a ladeshabituación tabáquica.

Figura 1.3-Ventana informativa.

El alumno, una vez leída la nota no tiene otra alternativa que pulsar el botón deAceptar.

Esta ventana es un formulario que recibe el nombre de caja de dialogopredefinida, para ello utilizo la función MsgBox, que se utiliza para visualizar unmensaje.

La segunda ventana que se muestra es la siguiente:

Roberto García Manchón 8

Page 9: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

Figura 1.4-1ª pregunta.

En este momento la encuesta ha comenzado y lo que muestra la ventana es laprimera pregunta.

Este formulario también es una caja de dialogo predefinida, que a diferencia dela anterior devuelve un valor dependiendo de que botón se pulse.

Si el encuestado responde No a esta pregunta, la aplicación finaliza y se muestrauna ventana agradeciendo la colaboración antes de finalizar. La aplicación almacena elDNI del alumno en la base de datos y escribe un 0 para los campos restantes. El valorpara el campo DNI lo obtengo de la variable de entorno Environ.

La aplicación posee un control que impide que un usuario realice la encuestamás de una vez, para ello nada más ejecutarse chequea la tabla con el DNI del alumno ycomprueba que no se encuentra en ella el DNI buscado. En el caso de que el DNI ya seencuentre en la tabla la aplicación se cierra automáticamente sin mostrar ningunaventana.

Si por el contrario responde Si, la aplicación continua con el siguienteformulario.

Figura 1.5-2ª pregunta.

Este formulario contiene la segunda pregunta de la encuesta y al igual que laanterior es una caja de dialogo predefinida y finaliza la aplicación en caso de que seresponda negativamente.

En caso de respuesta negativa, la aplicación almacena en el campo DNI el DNIdel alumno y en el campo Pregunta1, el valor 1. Para los campos restantes se almacenael valor 0.

En este momento de la aplicación, aun no ha aparecido ningún formulario “aluso”. El motivo por el que no he utilizado formularios para esta parte de la aplicación,es porque considero que no es necesario crear formularios para realizar esta tarea, yaque utilizando cajas de dialogo puedo mostrar y recoger información y determinar si sedebe continuar o no con la aplicación.

Roberto García Manchón 9

Page 10: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

A continuación se muestra un formulario que contiene las últimas cuatropreguntas de la encuesta. Estas van apareciendo en el formulario conforme elencuestado responde a la pregunta precedente.

Seguidamente se muestra el formulario sólo con la primera pregunta visible.

Figura 1.6- Formulario general.

Una vez que el encuestado responda a esta primera pregunta, aparecerá lasiguiente y así sucesivamente hasta completar el formulario.

A continuación se muestra el formulario con las cuatro preguntas visibles:

Roberto García Manchón 10

Page 11: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

Figura 1.7-Formulario general.

Una vez que el encuestado responde a las cuatro preguntas y pulsa el botón deEnviar, la encuesta a concluido y se almacenan en los campos de la base de datos loscorrespondientes valores. Si el encuestado no responde a alguna de las preguntas quecomponen el formulario y pulsa el botón de Enviar, la aplicación almacena un cero enel campo de la base de datos que corresponda con la pregunta que se ha dejado sinresponder.

Por último, la aplicación muestra la ventana de agradecimiento y se cierra.

Roberto García Manchón 11

Page 12: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 1

Figura 1.8-Ventana final.

Roberto García Manchón 12

Page 13: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

3.- APLICACIÓN 2

3.1 OBJETIVO

El objetivo de esta aplicación, es la realización de una encuesta a aquellosalumnos de la UNIVERSIDAD CATÓLICA SAN ANTONIO DE MURCIA (UCAM)que tras haber realizado la primera encuesta sobre deshabituación tabáquica, mostraroninterés al respecto.

Esta nueva encuesta recibe el nombre de CUADERNO DE RECOGIDA DEDATOS y pretende recabar más información sobre el hábito de fumar del alumno.

La encuesta está formada por un formulario que recoge información de carácterpersonal y tres test que recogen información sobre el hábito de fumar.

El primer test es un cuestionario general en el que se realizan preguntas relacionadascon el comienzo del hábito de fumar, antecedentes familiares e intentos y métodos paradejar el tabaco. En total son nueve preguntas de las cuales cuatro poseen una únicacontestación, dos tienen dos contestaciones, dos tienen cinco contestaciones y una poseehasta ocho contestaciones.

El segundo test es conocido en el ámbito de la medicina como Test deFrageström, esta compuesto por seis preguntas, cuatro de ellas tienes doscontestaciones y las otras dos tienen cuatro contestaciones. El test de Frageström sedetalla a continuación:

PREGUNTAS CONTESTACIONES VALORES

1. ¿Cuánto tiempo pasaentre que se levanta y fumasu primer cigarrillo?

∙ Hasta 5 minutos∙ Entre 6 y 30 minutos∙ De 31 a 60 minutos∙ Más de 60 minutos

3210

2. ¿Encuentra difícil fumaren lugares donde estáprohibido, como la sala deespera, el cine o la iglesia?

∙ Sí∙ No

10

3. ¿Qué cigarrillo le cuestamás dejar de fumar?

∙ El 1º de la mañana∙ Cualquier otro

10

Roberto García Manchón 13

Page 14: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

4. ¿Cuántos cigarrillosfuma Vd. a diario?

∙ 10 ó menos∙ 11-20∙ 21-30∙ Más de 30

0123

5. ¿Fuma con más frecuencia durante las primeras horas después delevantarse que durante elresto del día?

∙ Sí∙ No

10

6. ¿Fuma aunque esté tanenfermo que tenga queguardar cama la mayorparte del día?

∙ Sí∙ No

10

El tercer y último test es el conocido como Test de Glover Nilson. Este test estácompuesto por dieciocho preguntas con cinco contestaciones cada una.

A continuación se detalla el Test de Glover Nilson:

Valores: Preguntas 1-3

0= nada en absoluto, 1= algo, 2= moderadamente, 3= mucho, 4= muchísimo

1. Mi hábito de fumar es muy importante para mi.2. Juego y manipulo el cigarrillo como parte del ritual del hábito de fumar.3. Juego y manipulo paquete de tabaco como parte del ritual del hábito de fumar.

Valores: Preguntas 4-18

0= nunca, 1= reramente, 2= a veces, 3= a menudo, 4= siempre

4. ¿Ocupa sus manos y dedos para evitar el tabaco?5. ¿Suele ponerse algo en la boca para evitar fumar?6. ¿Sse recompensa a sí mismo con un cigarrillo tras cumplir una tarea?7. ¿Se angustia cuando se queda sin cigarrillos o no consigue encontrar el paquete

de tabaco?.

Roberto García Manchón 14

Page 15: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

8. Cuándo no tiene tabaco, ¿Le resulta difícil concentrarse o realizar cualquiertarea?

9. cuando se haya en un lugar donde está prohibido fumar, ¿Juega con su cigarrilloo paquete de tabaco?

10. ¿Algunos lugares o circunstancias le incitan a fumar: su sillón favorito, sofá,habitación, coche o la bebida (café, alcohol, etc.)?

11. ¿Se encuentra a menudo encendiendo un cigarrillo por rutina, sin desearlorealmente?

12. ¿le ayuda a reducir el estrés tener un cigarrillo en las manos aunque sea sinencenderlo?

13. ¿A menudo se coloca cigarrillos sin encender u otros objetos en la boca(bolígrafos, palillos, chicles, etc.)

14. ¿Parte del placer de fumar parte del ritual que supone encender un cigarrillo?15. ¿Parte del placer del tabaco consiste en mirar el humo cuando lo inhala?16. ¿Enciende alguna vez un cigarrillo sin darse cuenta que ya tiene uno encendido

en el cenicero?17. Cuando está sólo en un restaurante, parada de autobús, fiesta, etc., ¿se siente más

seguro, a salvo o más confiado con un cigarrillo en las manos?18. ¿Suele encender un cigarrillo si sus amigos lo hacen?

Roberto García Manchón 15

Page 16: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

3.2.- SOLUCIÓN DEL PROBLEMA

3.2.1 BASE DE DATOS

La base de datos que recoge la información generada por la encuesta, estáformada por cuatro tablas. El tipo de base de datos es Microsoft Access.

Para la conexión con la base de datos utilizo un DSN llamado “EncuestasDB”.

La primera tabla recibe el nombre de Datospersonales y en ella almaceno todoslos datos que se generan cuando el alumno realiza el formulario que recoge informaciónde carácter personal.

La tabla está formada por cinco campos. El primer campo recibe el nombre deNº de Identificación y en el se almacenan los valores introducidos por los alumnos enla casilla NºIDENTIFICACIÓN que se encuentra en el formulario de la encuesta. Estenúmero de identificación es el DNI del alumno. Debido a la nula posibilidad de que doso más alumnos tengan el mismo número de DNI, he decidido establecer el campo Nº deIdentificación como la clave primaria de la tabla.

El segundo campo recibe el nombre de Fechanacimiento y en el se almacenanlas fechas de nacimiento introducidas por los alumnos en la casilla FECHA DENACIMIENTO que se encuentra en el formulario de la encuesta. Este campo tienecomo tipo de dato texto. La razón por la cual no he puesto a este campo un tipo de datosfecha, es por que en el formulario de la encuesta se solicita específicamente que la fechatenga el formato de año (A.A.), mes (M.M.), día(D.D) y este formato no se encuentracomo uno de los formatos de fecha posible de Microsoft Access.

El tercer campo recibe el nombre de Carrera y en el se almacenan los datosintroducidos por los alumnos en la casilla Carrera que se encuentra en el formulario dela encuesta.

El cuarto campo recibe el nombre de Email y en el se almacenan los datosintroducidos por los alumnos en la casilla E-mail que se encuentra en el formulario de laencuesta.

Y por último el campo Sexo que almacena el sexo del alumno encuestado.

A continuación se muestra la tabla Datopersonal en vista de diseño, en la que sepuede ver los campos que la forman, sus tipos y descripciones. Después se muestra latabla en vista de datos con algunos registros.

Roberto García Manchón 16

Page 17: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Figura 2.1-Tabla Datospersonales en vista de diseño.

Figura 2.2-Tabla Datospersonales en vista de datos.

La segunda tabla recibe el nombre de Testgeneral y en ella almaceno los valoresgenerados cuando el alumno responde en la encuesta el test general. La tabla estáformada por diez campos.

El primer campo recibe el nombre de Id y es de tipo autonumérico. Este campolo utilizo coma clave primaria de la tabla.

El segundo campo recibe el nombre de Edad1ªvez y en él, almaceno el valorque el alumno escribe al responder a la pregunta “EDAD que fumó la 1ª vez”.

Roberto García Manchón 17

Page 18: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

El tercer campo recibe el nombre de Edadcomienzo y en el se almacena la edaden la que el encuestado comenzó a fumara diario.

El cuarto campo recibe el nombre de Pareja y en el se almacena “SI” si lapareja del encuestada fuma o bien “NO” si no lo hace.

El quinto campo recibe el nombre de Padres y en el se almacena “SI”, si lospadres del encuestada fuma o bien “NO” si no lo hacen.

El sexto campo recibe el nombre de Pregunta1 y en el se recoge la informacióna la pregunta “¿Cuántos intentos serios ha hecho para dejar de fumar?”.

El séptimo campo recibe el nombre de Pregunta2 y en el se recoge lainformación a la pregunta “¿Cuánto tiempo permaneció sin fumar, en meses?”.

El octavo campo recibe el nombre de Pregunta3 y en el se almacena un valordependiendo de lo que el encuestado responda a la pregunta “¿Qué método siguió paradejarlo en el último intento?”. Este campo es de tipo Memo y en el se almacena lacontestación a la pregunta.Se almacena la contestación tal cual y las cincocontestaciones posibles son “Ninguna ayuda”, “Sustitutos de nicotina (parches, chicles,etc.)”, “Apoyo médico pautado”, “Bupropion (Zintabac o Quemen) y una última que sele brinda la posibilidad al encuestado que escriba él. Si el encuestado decide escribir lacontestación a la pregunta esta también se almacena en el campo tal cual la escribe elencuestado.

El noveno campo recibe el nombre de Pregunta4 y sigue el mismoprocedimiento que el campo anterior. La pregunta es: “¿Cuál considera el motivoprincipal de la recaída?” y las posibles contestaciones son: “Estrés”, “Presión social”,“Pareja o padres fumadores”, “Ganancia de peso” y una quinta que puede especificar elencuestado.

El décimo y último campo recibe el nombre de Pregunta5 es de tipo memo yen él se almacena la contestación a la pregunta “Señale los motivos más importantespara dejar de fumar”, en esta pregunta el encuestado puede seleccionar más de unacontestación y estas se almacenan en el campo una seguida de otro separadas por elsímbolo “#”. Las posibles contestaciones a la pregunta son:”Prevención de posiblesenfermedades”, “Problemas actuales de salud”, “No quiere depender de ningunasustancia”, “Motivos económicos”, “Prescripción médica”, “Indicación de familiares y/oamigos”, “Respeto a los no fumadores”, y una octava contestación que puede especificarel encuestado.

El campo Id es de tipo autonumérico, los campos Edad1ªvez, Edadcomienzo,Pareja Padres, Pregunta1, Pregunta2 son de tipo texto y los campos Pregunta3,Pregunta4, Pregunta5 son de tipo memo.

Seguidamente se muestra las vistas de diseño y datos de la tabla.

Roberto García Manchón 18

Page 19: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Figura 2.3-Tabla Testgeneral en vista de diseño.

Figura 2.4-Tabla Testgeneral en vista de datos.

La segunda tabla recibe el nombre de Testfragestrom y en ella almaceno losvalores generados por el test de Frageström de la encuesta. La tabla está formada porsiete campos.

El primer campo recibe el nombre de Id y es de tipo autonumérico. Este campolo utilizo coma clave primaria de la tabla. Los seis campos restantes reciben los nombresde Pregunta1, Pregunta2, Pregunta3, Pregunta4, Pregunta5, Pregunta6 y en ellosalmaceno los valores generados al responder a las preguntas que componen el test deFragestróm de la encuesta.

Roberto García Manchón 19

Page 20: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Seguidamente se muestra las vistas de diseño y datos de la tabla.

Figura 2.5-Tabla Testfragestrom en vista de diseño.

Figura 2.6-Tabla Testfragestrom en vista de datos.

La segunda tabla recibe el nombre de Testglovernilson y en ella almaceno losvalores generados por el test de Glover Nilson de la encuesta. La tabla está formada pordiecinueve campos.

Roberto García Manchón 20

Page 21: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

El primer campo recibe el nombre de Id y es de tipo autonumérico. Este campolo utilizo coma clave primaria de la tabla. Los dieciocho campos restantes reciben losnombres de Pregunta1, Pregunta2, Pregunta3, Pregunta4, Pregunta5, Pregunta6,Pregunta7, Pregunta8, Pregunta9, Pregunta10, Pregunta11, Pregunta12,Pregunta13, Pregunta14, Pregunta15, Pregunta16, Pregunta17 y Pregunta18 y enellos almaceno los valores generados al responder a las preguntas que componen el testde Glover Nilson.

A continuación se muestra la tabla en vista de diseño y datos:

Figura 2.7-Tabla Testglovernilson en vista de diseño.

Figura 2.8- Tabla Testglovernilson en vista de datos.

Roberto García Manchón 21

Page 22: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

3.2.2 APLICACIÓN

La aplicación está realizada con Visual Basic 6 de Microsoft y esta compuestapor nueve ficheros, siete de formularios (.frm), un módulo estándar (.bas) y un ficherode proyecto (.vbp).

Los siete formularios se reparten de la siguiente forma: Un formulario pararecoger los datos de carácter personal que solicita la encuesta, un formulario pararecoger los datos del test general, un formulario para recoger los datos del test deFrageström y cuatro formularios para la información que genera el test de GloverNilson.

La aplicación comienza mostrando el formulario que recoge los datos de carácterpersonal del encuestado. En este formulario además de pedir los datos, muestra la fechade la realización de la encuesta. Esta fecha la obtengo del sistema. El formularioimplementa un control de errores en todos los campos de texto.

Figura 2.9-Formulario de datos.

Una vez que el alumno rellena el primer formulario y pulsa el botón decontinuar, aparece el siguiente formulario que muestra las preguntas que contiene el testgeneral.

Este formulario también tiene implementado un control de error y compruebaque todas las preguntas del formulario son respondidas.

A continuación se muestra el formulario del test general rellenado:

Roberto García Manchón 22

Page 23: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Figura 2.10-Formulario Test General.

Una vez que el encuestado rellena correctamente el formulario y pulsa el botónde continuar, la aplicación muestra el siguiente formulario.

El siguiente formulario es el formulario que contiene las preguntas del test deFrageström. Este formulario también comprueba que se han respondido a todas laspreguntas antes de continuar.

Roberto García Manchón 23

Page 24: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Figura 2.11-Formulario Test de Frageström.

A continuación se muestran los cuatro formularios que contienen las preguntasdel test de Glover Nilson. Los cuatro formularios comprueban que se han respondido atodas las preguntas antes de pasar al siguiente formulario.

Roberto García Manchón 24

Page 25: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Figura 2.12-Formulario Test de Glover Nilson.

Figura 2.13- Formulario Test de Glover Nilson.

Roberto García Manchón 25

Page 26: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Figura 2.14- Formulario Test de Glover Nilson.

Roberto García Manchón 26

Page 27: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 2

Figura 2.15- Formulario Test de Glover Nilson.

Una vez que el encuestado ha respondido a todas las preguntas y pulsa el botónde finalizar, la aplicación almacena los datos correspondientes en las distintas tablas ymuestra una ventana de agradecimiento. Cuando el encuestado pulsa el botón de aceptarde la ventana de agradecimiento la aplicación se cierra.

Roberto García Manchón 27

Page 28: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

4.- APLICACIÓN 3

4.1 OBJETIVOEl objetivo es desarrollar una aplicación por medio de la cual un usuario pueda

crear encuestas y estas encuestas por medio de otra aplicación ser respondidas porcualquier otra persona.

Por lo tanto tenemos dos aplicaciones, la aplicación para crear encuestas y laaplicación para responderlas. Ambas son aplicaciones web y se ejecutan en un servidorde ASP (Active Server Pages).

4.2 SOLUCIÓN DEL PROBLEMA

4.2.1 MODELO ENTIDAD/INTERRELACIÓN (E/R)La aplicación se divide en dos partes. La primera parte se encarga del proceso de

crear la encuesta y la segunda parte se encarga de mostrar y almacenar el contenido dela encuesta una vez respondida. Por este motivo, el modelo E/R se divide en dos. Elmodelo E/R que recoge la vista de los datos encargada del proceso de crear la encuesta,y el modelo E/R que recoge la vista de datos del proceso de almacenar la encuestarespondida.

E/R CREAR ENCUESTA

USUARIODNI

NOMBRE APELLIDOS

PASSWORD

CREA(1,1)

FECHA

ENCUESTA

COD_ENCUESTA DESCRIPCION

(1,n)

N:1

PIDE

DATOPERSONAL

(1,n)

(0,n)

N: M

COD_DATO

ETIQUETA

CONTIENE MUESTRA

(1,n) (1,n)

N:M

PREGUNTA(1,n)

COD_PREGUNTA

TIPO

ENUNCIADO

TEMA

TIENE CONTESTACIÓN(1,1) (1,n)

N:1

COD_CONTESTACIÓN TEXTO

VALOR

PERTENECEGRUPOCOD_GRUPO

(1,n)

(0,n) N:MN:M(0,n) NUM_SELECCIONADO

MODO

Figura 3.1-Esquema E/R.

Roberto García Manchón 28

Page 29: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

ENTIDADES

En el modelo E/R del proceso de creación de la encuesta se identifican lassiguientes entidades:

La entidad USUARIO es referida a aquella persona que realiza el acto de crearuna encuesta. La entidad USUARIO tiene los siguientes atributos:

La clave primaria es el atributo DNI. En el atributo DNI se recoge el DNI delusuario que realiza la encuesta. En el atributo NOMBRE se recoge el nombre delusuario que realiza la encuesta. En el atributo APELLIDOS se recoge los apellidos delusuario que realiza la encuesta. En el atributo PASSWORD re recoge una palabra claveque sirve para identificar al usuario de manera única.

La entidad ENCUESTA es referida al objeto que va a contener las preguntas dela encuesta creada por el usuario. La entidad encuesta tiene los siguientes atributos:

La clave primaria es el atributo COD_ENCUESTA. En COD_ENCUESTA sealmacena un código que identifica a la encuesta. En el atributo DESCRIPCIÓN sealmacena una descripción sobre el contenido de la encuesta.

La entidad DATOPERSONAL es referida a los datos personales que el usuarioque crea la encuesta ve conveniente pedir al encuestado que la realiza. La entidadDATOPERSANAL tiene los siguientes atributos:

Roberto García Manchón

USUARIO

ENCUESTA

DNI NOMBRE

APELLIDOS

PASSWORD

COD_ENCUESTA DESCRIPCIÓN

DATOPERSONAL

COD_DATO

ETIQUETA TIPO

29

Page 30: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

La clave primaria es el atributo COD_DATO. En COD_DATO se almacena uncódigo que identifica el dato solicitado. En el atributo ETIQUETA se almacena el textocon el que se quiere identificar el dato. En el atributo TIPO se almacena el tipo de dato.

La entidad pregunta es referida a las preguntas que el usuario crea. La entidadpregunta tiene los siguientes atributos:

La clave primaria es el atributo COD_PREGUNTA. En COD_PREGUNTA sealmacena un código que identifica la pregunta. En el atributo ENUNCIADO sealmacena el enunciado de la pregunta. En el atributo TEMA vamos a tener el tema delque trata la pregunta.

La entidad CONTESTACIÓN es referida a las posibles contestaciones quepuede haber para una pregunta. La entidad CONTESTACIÓN tiene los siguientesatributos:

La clave primaria es el atributo COD_CONTESTACIÓN. EnCOD_CONTESTACIÓN se almacena un código que identifica la contestaciónseleccionada. En TEXTO tenemos el texto que identifica la contestación. En VALOR sealmacena un valor que identifica a la contestación seleccionada.

INTERRELACIONES

En el modelo E/R del proceso de creación de la encuesta se identifican lassiguientes interrelaciones:

Roberto García Manchón

PREGUNTA

COD_PREGUNT ENUNCIADO

TEMA

CONTESTACIÓN

COD_CONTESTACIÓN

TEXTO VALOR

CRE

30

Page 31: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

La interrelación CREA se establece entre la entidad USUARIO y la entidadENCUESTA. El tipo de correspondencia que se establece entre ambas entidades es unoa varios (N:1). Esta correspondencia es debida a que un usuario puede crear una o variasencuestas y una encuesta es creada por un único usuario. La interrelación CREA tieneun atributo.

En el atributo FECHA se almacena la fecha de creación de la encuesta.

La interrelación PIDE se establece entre la entidad ENCUESTA y la entidadDATOPERSONAL. El tipo de correspondencia que se establece entre ambas entidadeses varios a varios (N:M). Esta relación es debida a que una encuesta puede pedir 0 ovarios datos personales y un dato personal puede estar en una o varias encuestas.

La interrelación CONTIENE se establece entre la entidad ENCUESTA y la entidadPREGUNTA. El tipo de correspondencia que se establece entre ambas entidades esvarios a varios (N:M). Esta relación es debida a que una encuesta contiene una o variaspreguntas y una pregunta esta contenida en una o varias encuestas.

La interrelación TIENE se establece entre la entidad PREGUNTA y la entidadCONTESTACIÓN. El tipo de correspondencia que se establece entre ambas entidadeses uno a varios (N:1). Esta relación es debida porque una pregunta tiene una o variascontestaciones y una contestación determinada se encuentra en una única pregunta.

Roberto García Manchón

FECHA

PID

CONTIEN

TIEN

31

Page 32: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

La interrelación PERTENECE se establece entre la entidad CONTESTACIÓNy la entidad GRUPO. El tipo de correspondencia que se establece entre ambas entidadeses varios a varios (N:M). Esta relación se debe a que una contestación pertenece a 0 ovarios grupos y un grupo esta formado por una o varias contestaciones. La interrelaciónPERTENECE tiene el siguiente atributo.

En el atributo COD_GRUPO almacenaremos un código que identifica a cadagrupo.

La interrelación MUESTRA se establece entre la entidad GRUPO y la entidadENCUESTA. El tipo de correspondencia que se establece entre ambas entidades esvarios a varios (N:M). Esta relación se debe a que una encuesta muestra 0 o variosgrupos y un grupo se encuentra en una o varias encuestas. La interrelación MUESTRAposee los siguientes atributos.

En el atributo NUM_SELECCIONADO se almacena el número decontestaciones seleccionadas. En el atributo MODO se almacena el modo en el que semuestra la contestación.

E/R ALMACENAR RESPUESTA

Roberto García Manchón

PERTENECE

COD_GRUPO

MUESTR

NUM_SELECCIONADO

MODO

32

Page 33: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

ENCUESTADO ENCUESTA

PREGUNTA

DATOPERSONAL

RELLENA

RESPONDE

MARCA CONTESTACIÓN

COD_ENCUESTADO HORA

FECHA

COD_ENCUESTA DESCRIPCIÓN

COD_DATO

VALOR

ETIQUETA

COD_PREGUNTA ENUNCIADO

TEMA

VALOR

COD_CONTESTACIÓN

TEXTO

(1,n) (1,n)

N:M

(0,n)

N:1

(1,1) (1,n)

(1,n)

(1,n)

(1,1)

N:M

TIPO

Figura 3.2- Esquema E/R.

ENTIDADES

En el modelo E/R del proceso de almacenar respuesta se identifican lassiguientes entidades:

La entidad ENCUESTADO se refiere a la persona que responde a la encuesta. Laentidad ENCUESTADO tiene el siguiente atributo.

Roberto García Manchón

ENCUESTADO

COD_ENCUESTADO

33

Page 34: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

La clave primaria es COD_ENCUESTADO. En COD_ENCUESTADO sealmacena un código que identifica al encuestado.

La entidad ENCUESTA es referida al objeto que va a contener las preguntas dela encuesta creada por el usuario. Esta entidad es la misma que se describe en el procesode crear encuesta. La entidad encuesta tiene los siguientes atributos:

La clave primaria es el atributo COD_ENCUESTA. En COD_ENCUESTA sealmacena un código que identifica a la encuesta. En el atributo DESCRIPCIÓN sealmacena una descripción sobre el contenido de la encuesta.

La entidad DATOPERSONAL es referida a los datos personales que el usuarioque crea la encuesta ve conveniente pedir al encuestado que la realiza. Esta entidad es lamisma que se describe en el proceso de crear encuesta. La entidad DATOPERSANALtiene los siguientes atributos:

La clave primaria es el atributo COD_DATO. En COD_DATO se almacena uncódigo que identifica el dato solicitado. En el atributo ETIQUETA se almacena el textocon el que se quiere identificar el dato. En el atributo TIPO se almacena el tipo de dato.

La entidad pregunta es referida a las preguntas que el usuario crea. Esta entidades la misma que se describe en el proceso de crear encuesta. La entidad pregunta tienelos siguientes atributos:

Roberto García Manchón

COD_ENCUESTA DESCRIPCIÓN

ENCUESTA

DATOPERSONAL

COD_DATO

ETIQUETA TIPO

PREGUNTA

34

Page 35: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

La clave primaria es el atributo COD_PREGUNTA. En COD_PREGUNTA sealmacena un código que identifica la pregunta. En el atributo ENUNCIADO sealmacena el enunciado de la pregunta. En el atributo TEMA vamos a tener el tema delque trata la pregunta.

La entidad CONTESTACIÓN es referida a las posibles contestaciones quepuede haber para una pregunta. Esta entidad es la misma que se describe en el procesode crear encuesta. La entidad CONTESTACIÓN tiene los siguientes atributos:

La clave primaria es el atributo COD_CONTESTACIÓN. EnCOD_CONTESTACIÓN se almacena un código que identifica la contestaciónseleccionada. En TEXTO tenemos el texto que identifica la contestación. En VALOR sealmacena un valor que identifica a la contestación seleccionada.

INTERRELACIONES

La interrelación RESPONDE se establece entre las entidades ENCUESTADO yENCUESTA. El tipo de correspondencia que se establece entre ambas entidades esvarios a varios (N:M). Esta relación es debida a que un encuestado responde a una omás encuestas y una encuesta puede ser respondida por uno o más encuestados. Lainterrelación RESPONDE tiene los siguientes atributos.

Roberto García Manchón

COD_PREGUNT ENUNCIADO

TEMA

CONTESTACIÓN

COD_CONTESTACIÓN

TEXTO VALOR

RESPOND

35

Page 36: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

En el atributo FECHA se almacena la fecha en la que se responde la encuesta.

En el atributo HORA se almacena la hora en la que se responde la encuesta.

La interrelación RELLENA se establece entre la entidad ENCUESTADO y laentidad DATOPERSONAL. El tipo de correspondencia que se establece entre ambasentidades es uno a varios (N:1). Esta relación es debida a que un encuestado rellena 0 ovarios datos personales y un dato personal es rellenado por un sólo encuestado. Lainterrelación RELLENA dispone del siguiente atributo.

El atributo VALOR almacena un valor asociado a cada dato personal que serellena.

La interrelación MARCA se establece entre las entidades ENCUESTADO,ENCUESTA, PREGUNTA y CONTESTACIÓN. El tipo de correspondencia que seestablece entre estas entidades es varios a varios (N:M). El motivo de estacorrespondencia entre entidades se debe a que un encuestado marca una o variascontestaciones, una contestación es marcada por un único encuestado, a la vez esa o esascontestaciones marcadas se encuentran en una o varias preguntas que a su vez formanparte de una o varias encuestas.

Roberto García Manchón

FECHA

HORA

RELLEN

VALOR

MARCA

36

Page 37: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

4.2.2 PASO DEL MODELO E/R AL MODELO RELACIONAL

PASO DEL MODELO E/R AL MODELO RELACIONAL DE LA APLICACIÓNQUE SE ENCARGA DE CREAR LA ENCUESTA

Todas las entidades presentes en el modelo E/R se transforman en tablas en elmodelo relacional, manteniendo el número y tipo de los atributos, así como las clavesprimarias.

En las interrelaciones binarias N:M, se construye una nueva tablacorrespondiente a la relación, que tiene los atributos correspondientes a la relación ycuya clave está formada por la composición de los identificadores de las entidades queparticipan en la relación.

Todas las interrelaciones son del tipo N:M, menos las interrelaciones CREA yTIENE.

Existen dos soluciones para la transformación de una interrelación 1:N:a) Propagar la clave primaria de la entidad que tiene de cardinalidad máxima 1 a la

que tiene N, es decir en el sentido de la flecha, desapareciendo el nombre de lainterrelación, con lo cual se pierde semántica.

b) Trasformarlo en una relación, como si se tratara de una interrelación N:M.

Para ambas interrelaciones he optado por la opción b, y transformar lasinterrelaciones CREA y TIENE como si se trataran de interrelaciones N:M. Los motivosde esta elección son los siguientes: para la interrelación CREA, porque se recomiendaesta opción cuando la interrelación tiene atributos propios. La interrelación CREA poseeel atributo Fecha. Para la interrelación TIENE, porque se recomienda esta opcióncuando se prevé que dicha interrelación en un futuro se convertirá en una de tipo N:M.En la interrelación TIENE no es seguro suponer que una contestación pertenecerá a unasola pregunta.

A continuación se muestran todas las tablas resultantes:

USUARIODNI Password Nombre Apellidos

Tabla que contiene los datos relativos al usuario que crea una encuesta. Elcampo DNI es de tipo texto y en el se almacena el DNI del usuario. El campo Passwordes de tipo texto y en el se guarda la palabra clave definida por el usuario. En los camposNombre y Apellidos se almacenan el nombre y los apellidos del usuario, ambos camposson de tipo texto. La clave primaria es el campo DNI.

CREADNI Cod_Encuesta Fecha

Roberto García Manchón 37

Page 38: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Tabla que contiene los datos relativos a la creación de la encuesta. El campoDNI es de tipo texto y en el se almacena el DNI del alumno. El campo Cod_Encuesta esde tipo autonumérico y en el se guarda un código que identifica la encuesta creada por elusuario. El campo Fecha es de tipo Fecha/Hora y en el se guarda la fecha de creación dela encuesta. Las claves primarias son los campos DNI y Cod_Encuesta.

ENCUESTACod_Encuesta Descripción

Tabla que recoge los datos de la encuesta. El tipo de dato de el campoCod_Encuesta es autonumérico y en el se guarda un código que identifica la encuesta.En el campo Descripción se almacena la descripción de la encuesta, este campo es detipo Memo. La clave primaria es el campo Cod_Encuesta.

PIDECod_Encuesta Cod_Dato

Esta tabla recoge los datos que el usuario que crea la/s encuesta/s considera quedebe pedir. El campo Cod_Encuesta es autonumérico y en el se guarda un código queidentifica la encuesta. En el campo Cod_Dato se almacena el código que identifica eldato, este campo es de tipo texto. Las claves primarias son los campos Cod_Encuesta yCod_Dato.

DATOPERSONALCod_Dato Etiqueta Tipo

Tabla que contiene la definición del dato personal que se solicita. El campoCod_Dato es de tipo autonumérico y tiene como cometido almacena el código queidentifica el dato. El campo Etiqueta es de tipo texto y en el se guarda un nombreidentificativo del dato. El campo Tipo es del tipo de datos texto y en el se almacena eltipo del dato solicitado. Este tipo puede ser numérico, texto o bien fecha. La claveprimaria es el campo Cod_Dato.

CONTIENECod_Encuesta Cod_Pregunta

Tabla que recoge la relación entre encuesta y pregunta. El campo Cod_Encuestaes de tipo autonumérico y se almacena en el un código que identifica la encuesta. Elcampo Cod_Pregunta es de tipo texto y en el se guarda el código que identifica lapregunta. Las claves primarias son los campos Cod_Encuesta y Cod_Pregunta.

Roberto García Manchón 38

Page 39: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

PREGUNTACod_Pregunta Enunciado Tema

Tabla que contiene los datos relativos a las preguntas. El campo Cod_Preguntaes de tipo autonumérico y en el se guarda el código que identifica la pregunta. El campoEnunciado es de tipo Memo y en el se guarda el enunciado de la pregunta. El campoTema es de tipo Memo y guarda una explicación del tema relacionado con la pregunta.La clave primaria es el campo Cod_Pregunta.

TIENECod_Pregunta Cod_Contestación

Tabla que recoge la relación entre una pregunta y la contestación asociada. Elcampo Cod_Pregunta es de tipo texto y en el se guarda el código que identifica lapregunta. El campo Cod_Contestación es de tipo autonumérico y en el se almacena elcódigo que identifica a la contestación. Las claves primarias son los camposCod_Contestación y Cod_Pregunta.

CONTESTACIONCod_Contestación Texto Valor

Tabla que recoge los datos de la contestación. El campo Cod_Contestación es detipo autonumérico y en el se almacena el código que identifica a la contestación. Elcampo Texto es de tipo texto y este campo almacena el texto de la contestación. Elcampo Valor es de tipo texto y almacena un valor asociado a la contestación. La claveprimaria es el campo Cod_Contestación.

GRUPOCod_Grupo

Tabla que contiene los grupos que hay. La clave primaria es el campoCod_Grupo.

MUESTRACod_Encuesta Cod_Grupo Num_Seleccionad

oModo

Roberto García Manchón 39

Page 40: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Tabla que recoge como se muestra una determinada contestación. El campoCod_Encuesta es de tipo autonumérico y en el se almacena el código que identifica laencuesta. El campo Cod_Grupo es de tipo texto y almacena el grupo al que pertenece lacontestación. El campo Num_Seleccionado es de tipo texto y especifica el número decontestaciones que se deben seleccionar en una pregunta. El campo Modo es de tipotexto y en el se almacena el modo en el que se va a mostrar una determinadacontestación. Las claves primarias son los campos Cod_Encuesta y Cod_Grupo.

De todas las tablas resultantes he desestimado la tabla GRUPO, ya que consideroque es una tabla que recoge escasa información, además esta información ya se recogeen las tablas PERTENECE y MUESTRA.

PASO DEL MODELO E/R AL MODELO RELACIONAL DE LAAPLICACIÓN QUE SE ENCARDA DE ALMACENAR EL CONTENIDO DE LAENCUESTA

Todas las entidades presentes en el modelo E/R se transforman en tablas en elmodelo relacional, manteniendo el número y tipo de los atributos, así como las clavesprimarias.

En las interrelaciones binarias N:M, se construye una nueva tablacorrespondiente a la relación, que tiene los atributos correspondientes a la relación ycuya clave está formada por la composición de los identificadores de las entidades queparticipan en la relación.

Todas las interrelaciones son del tipo N:M, menos la interrelación RELLENA.

Existen dos soluciones para la transformación de una interrelación 1:N:c) Propagar la clave primaria de la entidad que tiene de cardinalidad máxima 1 a la

que tiene N, es decir en el sentido de la flecha, desapareciendo el nombre de lainterrelación, con lo cual se pierde semántica.

d) Trasformarlo en una relación, como si se tratara de una interrelación N:M.

Para la interrelación RELLENA, he optado por la opción b y transformarla al tipoN:M. El motivo de esta elección es porque se recomienda esta opción cuando lainterrelación tiene atributos propios. La interrelación RELLENA posee el atributoValor.

A continuación se muestran todas las tablas resultantes:

ENCUESTADOCod_Encuestado

Encuestados que hay. La clave primaria es el campo Cod_Encuestado.

Roberto García Manchón 40

Page 41: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

RESPONDECod_Encuesta Cod_Encuestado Fecha Hora

Recoge que encuestado realiza que encuesta. El campo Cod_Encuesta es de tipotexto y en el se recoge la encuesta seleccionada por el encuestado. El campoCod_Encuestado es de tipo autonumérico y en el se recoge un código que identifica alencuestado que ha seleccionado la encuesta. El campo Fecha es de tipo Fecha/hora y enel se almacena la fecha en la que el encuestado responde a la encuesta. El campo Horaes de tipo texto y almacena la hora en la que el encuestado responde a la encuesta. Lasclaves primarias son los campos Cod_Encuesta y Cod_Encuestado.

RELLENACod_Encuestado Cod_Dato Valor

Tabla que recoge la información rellenada por el encuestado y que solicitó elusuario. El campo Cod_Encuestado es de tipo texto y en el se recoge un código queidentifica al encuestado. El campo Cod_Dato es de tipo texto y recoge el código del datorespondido por el encuestado. El campo Valor de tipo texto almacena un valor asociadoa un dato. Las claves primarias son los campos Cod_Dato y Cod_Encuestado.

MARCACod_Encuestado Cod_Encuesta Cod_Pregunta Cod_Contestació

n

Tabla que recoge la relación entre lo marcado y las tablas ENCUESTADO,ENCUESTA, PREGUNTA y CONTESTACIÓN. Los cuatro campos son de tipo texto ytodos almacenan los respectivos códigos identificativos. Las claves primarias son loscampos Cod_Encuestado, Cod_Encuesta, Cod_Pregunta, Cod_Contestación.

De todas las tablas resultantes he desestimado la tabla ENCUESTADO, ya queconsidero que es una tabla que recoge escasa información, además esta información yase recoge en las tablas RESPONDE y RELLENA.

Para la conexión con la base de datos he utilizado un DSN llamado“ENCUESTA”.

4.2.3 CAMBIOS EN EL MODELO ORIGINAL DE LA BASE DE DATOS

A medida que se realizaban las dos aplicaciones, algunas tablas que componen elmodelo relacional han sufrido algunas modificaciones. Las nuevas tablas ya modificadasjunto con el motivo de su modificación se exponen a continuación:

Roberto García Manchón 41

Page 42: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

CONTIENECod_Encuesta Cod_Pregunta

A la tabla CONTIENE en el campo Cod_Encuesta se elimina la característicade clave primaria, ya que un campo con clave primaria no puede repetir registro, sinembargo para esta tabla que recoge la relación entre encuesta y pregunta es necesarioque se puedan incluir registros con el mismo valor, ya que esta tabla muestra laspreguntas que contiene una determinada encuesta. El tipo de datos del campoCod_Encuesta pasa a ser texto y se almacena en él un código que identifica la encuesta.El campo Cod_Pregunta es de tipo texto y en el se guarda el código que identifica lapregunta. La clave primaria es el campo Cod_Pregunta.

ENCUESTACod_Encuesta Descripción Nombre

A la tabla ENCUESTA se le añade el campo Nombre para facilitar suidentificación. Este campo es de tipo Memo y en el se guarda el nombre de la encuesta.El tipo de dato de el campo Cod_Encuesta es autonumérico y en el se guarda un códigoque identifica la encuesta. En el campo Descripción se almacena la descripción de laencuesta, este campo es de tipo Memo. La clave primaria es el campo Cod_Encuesta.

MUESTRACod_Encuesta Cod_Grupo Modo

A la tabla MUESTRA se le elimina el campo Num_Seleccionado, ya que estecampo no se utiliza en la aplicación que muestra las encuestas creadas. . El campoCod_Encuesta es de tipo autonumérico y en el se almacena el código que identifica laencuesta. El campo Cod_Grupo es de tipo texto y almacena el grupo al que pertenece lacontestación.El campo Modo es de tipo texto y en el se almacena el modo en el que seva a mostrar una determinada contestación. Las claves primarias son los camposCod_Encuesta y Cod_Grupo.

PIDECod_Encuesta Cod_Dato

A la tabla PIDE en el campo Cod_Encuesta se elimina la característica de claveprimaria, esta tabla recoge los datos que el usuario que crea la/s encuesta/s considera

Roberto García Manchón 42

Page 43: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

que debe pedir, por lo tanto se debe permitir que el campo Cod_Encuesta tenga valoresduplicados y así mostrar a que encuesta pertenece cada dato. También se intercambianlos tipos entre ambos campos, pasando el campo Cod_Encuesta a tener el tipo de datoscomo texto y el campo Cod_Dato como tipo de datos autonumérico. La clave primariaes al campo Cod_Dato.

TIENECod_Pregunta Cod_Contestación

A la tabla TIENE en el campo Cod_Encuesta se elimina la característica declave primaria, esta tabla recoge la relación entre una pregunta y las contestacionesasociadas a cada pregunta, por lo tanto se debe permitir que el campo Cod_Encuestatenga valores duplicados y así mostrar a que pregunta pertenece cada contestación. Elcampo Cod_Pregunta es de tipo texto y en el se guarda el código que identifica lapregunta. El campo Cod_Contestación es de tipo autonumérico y en el se almacena elcódigo que identifica a la contestación. La clave primaria es el campoCod_Contestación.

4.2.4 SCRIPTS DE LA BASE DE DATOS

CREATE TABLE Contestación (Cod_Contestación COUNTER PRIMARY KEY,Texto TEXT,Valor TEXT)

CREATE TABLE Contiene (Cod_Encuesta TEXT,Cod_Pregunta TEXT)

CREATE TABLE Crea (DNI TEXT(8), Cod_Encuesta COUNTER,Fecha DATETIME,PRIMARY KEY(DNI, Cod_Encuesta))

CREATE TABLE Datopersonal (Cod_Dato TEXT PRIMARY KEY, Etiqueta TEXT,Tipo TEXT)

CREATE TABLE Encuesta ( Cod_Encuesta COUNTER PRIMARY KEY ,DescripciónLONGTEXT,Nombre LONGTEXT)

CREATE TABLE Marca (Cod_Encuestado TEXT, Cod_Encuesta TEXT,Cod_Pregunta TEXT,Cod_Contestación TEXT,PRIMARY KEY(Cod_Encuestado,Cod_Encuesta,Cod_Pregunta,Cod_Contestación)))

CREATE TABLE Muestra(Cod_Encuesta COUNTER,Cod_Grupo TEXT, ModoTEXT, PRIMARY KEY(Cod_Encuesta,Cod_grupo))

CREATE TABLE Pertenece (Cod_Contestación COUNTER , Cod_GrupoTEXT,PRIMARY KEY(Cod_Contestación,Cod_Grupo))

Roberto García Manchón 43

Page 44: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

CREATE TABLE Pide (Cod_Encuesta TEXT , Cod_Dato COUNTER PRIMARYKEY)

CREATE TABLE Pregunta (Cod_Pregunta TEXT PRIMARY KEY,EnunciadoLONGTEXT, Tema LONGTEXT)

CREATE TABLE Rellena (Cod_Encuestado TEXT, Cod_Dato TEXT,PRIMARY KEY(Cod_Encuestado,Cod_Dato))

CREATE TABLE Responde (Cod_Encuestado TEXT,Cod_Encuesta COUNTER,FechaDATETIME,Hora TEXT , PRIMARY KEY(Cod_Encuestado,Cod_Encuesta))

CREATE TABLE Tiene( Cod_Contestación COUNTER PRIMARYKEY,Cod_Pregunta TEXT )

CREATE TABLE Usuario (DNI TEXT(8) PRIMARY KEY,Password TEXT(15),Nombre TEXT(20),Apellidos TEXT(50))

4.2.5 APLICACIÓN

La aplicación del proceso de crear encuestas está formada por doce ficheros y laaplicación que muestra las encuestas esta formada por cinco ficheros, todos conextensión .ASP. Todos los ficheros se encuentran en el directorio de publicación delservidor web.

El servidor web utilizado para la realización de ambas aplicaciones ha sidoPersonal Web Server (PWS). Para el diseño de las páginas se ha utilizado la herramientaDreamweaver Ultra dev 4.

Los doce ficheros de los que esta compuesta la aplicación que crea las encuestasreciben los siguientes nombres:

• Alta.asp

• Contestacion.asp

• Encuesta.asp

• Listar_Preguntas.asp

• Pregunta.asp

• Seleccion.asp

• Alta_Datos.asp

• Datos_Encuesta.asp

Roberto García Manchón 44

Page 45: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

• Index.asp

• Pide_Dato.asp

• Pregunta_Crea.asp

• Visualizar_Pregunta.asp

A continuación, se pasa a exponer el cometido de los ficheros y después semostrará la arquitectura de la aplicación.

INDEX.ASP

Index.asp es la página de inicio y a ella se accede a través de la URLhttp://127.0.0.1/Index.asp, si ejecutamos la aplicación desde la misma maquina en laque reside. La IP 127.0.0.1 le indica al servidor que la máquina peticionaria es lamáquina local.

En la página Index.asp hay dos formularios, uno para darse de alta y otro paraaquellos usuarios que ya estén registrados y deseen comenzar el servicio.

Si los formularios se encuentran vacíos la página simplemente los muestra paraque sean rellenados. Si por el contrario se han rellenado y enviado la página realiza dosacciones dependiendo del formulario enviado. Si es el formulario que contiene loscampos de login y password, es la propia página Index.asp quien procesa los datosrealizando un chequeo en la tabla Usuario. Si el usuario no se encuentra registradomuestra un mensaje de error junto con un enlace a la propia página para que puedadarse de alta. Si el usuario se encuentra registrado muestra un mensaje de bienvenidajunto con un enlace para comenzar el proceso. Si el formulario enviado es el de alta lapágina envía los datos a la página Alta.asp.

ALTA.ASP

La página Alta.asp recoge los datos procedentes del formulario de alta que hayen Index.asp y guarda los datos en la tabla Usuario. A continuación muestra un mensajeinformando al usuario que se ha registrado satisfactoriamente y muestra el formulario delogin y password, para que una vez complementado se envíe a Index.asp donde secomprobará la existencia del usuario.

ENCUESTA.ASP

Una vez que el usuario se ha registrado o se ha comprobado que se encuentraregistrado, la aplicación pasa a la página Encuesta.asp. Esta página muestra la fecha derealización de la encuesta junto con un formulario en el que se pide el nombre y la

Roberto García Manchón 45

Page 46: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

descripción de la encuesta. Además esta página almacena los datos correspondientes enla tabla crea.

DATOS_ENCUESTA.ASP

Una vez que se complementa el formulario que se encuentra en la páginaEncuesta.asp y se pulsa el botón de enviar, esta nos lleva hasta la páginaDatos_Encuesta.asp. Esta página recoge los datos del formulario y los almacena en latabla Encuesta. Además muestra un menú donde se puede elegir entre: Agregar Dato,Crear Pregunta y Listar Preguntas.

PIDE_DATO.ASP

La página Pide_Dato.asp almacena el código de encuesta que extrae de lavariable de sesión “Cod_Encuesta” en la tabla Pide y muestra un formulario en el que sepide la etiqueta y el tipo del dato que se desea solicitar. Cuando el usuario rellena elformulario y pulsa el botón de enviar los datos son enviados a la página Alta_Datos.asp.

ALTA_DATOS.ASP

La página Alta_Datos.asp hace dos cosas. Posee un formulario igual al que hayen la página Pide_Dato.asp salvo que los datos se envían a Pide_Dato.asp, si esteformulario se encuentra vacío lo muestra al usuario. Si por el contrario, ha sidorellenado se almacenan los valores del formulario en la tabla Datopersonal y muestra unmenú compuesto de tres enlaces, en el cual el usuario puede elegir entre: Otro_Dato,Crear_Preguntas y Listar_Preguntas.

PREGUNTA_CREA.ASP

La página Pregunta_Crea.asp simplemente muestra un formulario en el que sepide el enunciado y el tema de la pregunta que el usuario desea crear. Los datos dlformulario se envían a la página Pregunta.asp.

PREGUNTA.ASP

La página Pregunta.asp recupera los valores procedentes del formulario que hayen Pregunta_Crea.asp y los almacena en la tabla Pregunta, después recupera el valor delcampo Cod_Pregunta que se encuentra en la tabla Pregunta y lo almacena en el campoCod_Pregunta de la tabla Tiene. Por último, muestra un formulario en el que se pide lascaracterísticas de la contestación asociada a la pregunta.

Cuando el usuario rellena el formulario con las características de la pregunta,que se encuentra en la página Pregunta_Crea.asp y pulsa el botón de enviar, este noslleva a la página Pregunta.asp donde aparece el formulario para que se especifiquen lascaracterísticas de la contestación. El motivo por el que he hecho esto así, es por queconsidero que una pregunta debe tener obligatoriamente al menos una contestación.

Roberto García Manchón 46

Page 47: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

CONTESTACIÓN.ASP

La página Contestación.asp recupera los valores del formulario que se encuentraen la página Pregunta.asp y los almacena en las tablas Contestación, Pertenece yMuestra. Seguidamente muestra un menú con las siguientes opciones: OtraContestación, Otra Pregunta, Listar Preguntas.

LISTAR_PREGUNTAS.ASP

La página Listar_Preguntas.asp muestra una tabla con todas las preguntas que seencuentran disponibles en la tabla Pregunta, tanto si las ha creado el usuario actual o no,y brinda la posibilidad de que el usuario seleccione aquellas preguntas que más le gustenpara que formen parte de su encuesta. Además el usuario tiene la posibilidad de ver lascontestaciones asociadas a cada pregunta pinchando sobre el enunciado de la pregunta.Al final de la tabla hay un enlace mediante el cual el usuario puede crear otra preguntapara que se añada a la tabla si así lo desea.

VISUALIZAR_PREGUNTA.ASP

La página Visualizar_Pregunta.asp muestra las contestaciones asociadas a lapregunta de la tabla Listar_Preguntas.asp, para ello extrae los valor del campoCod_Contestación de la tabla Tiene asociado al Cod_Pregunta de la tabla Pregunta ydespués muestra los valores del campo Texto de la tabla Contestación cuyos códigossean los extraídos de la tabla Tiene. Al final de la página hay un enlace para volver allistado.

SELECCION.ASP

La página Selección.asp lo que hace es relacionar las preguntas seleccionadas enla tabla que hay en la página Listar_Preguntas.asp con la encuesta que se está creando,para ello almacena los Cod_Preguntas junto con el Cod_Encuesta en la tabla Contiene.Después muestra un menú con dos posiblilidades: Otra Encuesta, si el usuario deseacrear otra encuesta o bien Salir, si el usuario desea abandonar la aplicación.

Roberto García Manchón 47

Page 48: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

A continuación se muestra la arquitectura de la aplicación y el flujo de pantallas.

INDEX.ASP ALTA.ASP ALTA_DATOS.ASP PIDE_DATOS.ASP

PREGUNTA_CREA.ASP ENCUESTA.ASP

PREGUNTA.ASP

SELECCIÓN.ASP

CONTESTACIÓN.ASP

LISTA_PREGUNTAS.APS VISUALIZAR_PREGUNTA.ASP

DATOS_ENCUESTA.ASP

Figura 3.3-Arquitectura y flujo de pantallas.

Los cinco ficheros de los que esta compuesta la aplicación que muestra lasencuestas creadas reciben los siguientes nombres:

• Datos_Respuesta.asp

• Responder_Preguntas.asp

• Visualizar_Respuestas.asp

• Index3.asp

• Visualizar_Preguntas.asp

A continuación, se pasa a exponer el cometido de los ficheros y después semostrará la arquitectura de la aplicación.

Roberto García Manchón 48

Page 49: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

INDEX3.ASP

Index3.asp es la página de inicio, en esta página se muestra una tabla con elnombre de la encuesta y la descripción de las encuestas creadas. La página toma lasdatos de la tabla Encuesta. El usuario debe de seleccionar una única encuesta y pulsar elbotón de enviar.

VISUALIZAR_PREGUNTAS.ASP

En Visualizar_Preguntas.asp creo una variable de sesión con el código de laencuesta seleccionada, capturo la fecha y hora y almaceno estos datos en la tablaResponde. Seguidamente obtengo el código de encuestado de la mencionada tabla ycreo una variable de sesión que contiene el código de encuestado que identifica a este demanera única. A continuación de realizar estas operaciones, la página muestra dosenlaces: Responder Datos, si el usuario desea responder a los datos de carácter personalque solicita la encuesta y Responder a las Preguntas, si desea responder a las preguntasque contiene la encuesta.

DATOS_RESPUESTA.ASP

La página Datos_Respuesta.asp selecciona en la tabla Pide los códigos de datosasociados a la encuesta seleccionada. Si la tabla no contiene datos para la encuestaseleccionada, se muestra un mensaje informando de este hecho y se proporciona unenlace para responder a las preguntas de la encuesta. Si por el contrario la encuestaseleccionada si pide datos, se muestra la etiqueta del dato, junto con un campo de textoy un botón dentro de una tabla. El usuario rellena el campo de texto con el datosolicitado y pulsa el botón de enviar. La página finalmente guarda los códigos de dato yel código de encuestado en la tabla Rellena.

RESPONDER_PREGUNTAS.ASP

La página Responder_Preguntas.asp muestra en una tabla el enunciado y el temade las preguntas que forman la encuesta seleccionada. El enunciado de las preguntasqueda marcado en forma de enlace, de forma que si pinchamos sobre la preguntaaccedemos a la página Visualizar_Respuestas.asp que nos muestra sus contestaciones.

VISUALIZAR_RESPUESTAS

La página Visualizar_Respuestas.asp visualiza las contestaciones de laspreguntas que forman la encuesta. Estas aparecen dentro de una tabla. El usuario debeseleccionar una contestación y pulsar el botón de enviar. Cuando el encuestado pulsa elbotón de enviar se almacena en la tabla Marca el código de encuestado, el código deencuesta, el código de pregunta y el código de la contestación y se muestra un menú condos posibilidades: Responder Otra Pregunta, para seguir respondiendo a las preguntas dela encuesta, o bien, Salir, para abandonar la aplicación.

Roberto García Manchón 49

Page 50: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

A continuación se muestra la arquitectura de la aplicación y el flujo de pantallas

INDEX3.ASP VISUALIZAR_PREGUNTAS.ASP

DATOS_RESPUESTA.ASP

RESPONDER_PREGUNTAS.ASP VISUALIZAR_RESPUESTAS.ASP

Figura 3.4- Arquitectura y flujo de pantallas.

4.2.6 MANUAL DE USUARIO DE LA APLICACIÓN

A continuación se va a mostrar un manual de usuario en el que se puede ver medianteun sencillo ejemplo como se crea una encuesta y su posterior visualización ycontestación.

Roberto García Manchón 50

Page 51: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Figura 3.5-Index.asp.

El sitio web comienza mostrando la página de inicio Index.asp. En el ejemplo se puedever como un usuario se registra rellenando los campos del formulario destinado a ello.

Figura 3.6-Alta.asp.

Roberto García Manchón 51

Page 52: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Una vez que el usuario rellena el formulario y pulsa el botón de enviar la aplicaciónmuestra la página Alta.asp en la que se comunica al usuario que se ha registradocorrectamente y le pide que introduzca su login y password.

Figura 3.7-Encuesta.asp.

La siguiente página es Encuesta.asp y en ella se muestra un formulario para que elusuario introduzca los datos relativos a la encuesta que desea crear. Para el ejemplovamos a crear la encuesta “La superencuesta”.

Roberto García Manchón 52

Page 53: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Figura 3.8-Datos_Encuesta.asp.

De Encuesta.asp pasamos a Datos_Encuesta.asp en la que se muestra un mensaje alusuario indicando que los datos de la encuesta se han almacenado correctamente y acontinuación muestra un menú con tres opciones: AGREGAR DATO, si el usuariodesea pedir datos personales en su encuesta, CREAR PREGUNTA, si desea pasar acrear una pregunta, o bien LISTAR PREGUNTAS, donde el usuario podrá ver la listade preguntas que hay disponible. Para el ejemplo pinchamos en AGREGAR DATO.

Roberto García Manchón 53

Page 54: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Figura 3.9-Pide_Dato.asp.

Hemos pinchado en AGREGAR DATO y la aplicación nos ha llevado hasta la páginaPide_Dato.asp. En esta página vamos a especificar el dato de carácter personal quequeremos pedir para nuestra encuesta. Para el ejemplo pedimos el dato “Edad”.

Figura 3.10-Alta_Datos.asp.

Roberto García Manchón 54

Page 55: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Una vez que hemos especificado el dato en el formulario la aplicación nos lleva hasta lapágina Alta_Dato.asp en la que se nos comunica que el dato se ha creadosatisfactoriamente y nos muestra un menú con tres posibilidades: OTRO DATO, si elusuario quiere pedir otro dato, CREAR PREGUNTA, si desea pasar a crear unapregunta, y LISTAR PREGUNTAS, para ver las preguntas disponibles. Para nuestroejemplo pedimos sólo un dato, así que pinchamos en CREAR PREGUNTA.

Figura 3.11-Pregunta_Crea.asp.

Pasamos a Pregunta_Crea.asp donde se nos muestra un formulario para crear lapregunta. El usuario sólo tiene que rellenar el formulario y pulsar enviar. Para elejemplo creamos la pregunta “¿Qué tipo de música es su favorita?.

Roberto García Manchón 55

Page 56: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Figura 3.12-Pregunta.asp

Una vez que hemos especificado la pregunta, obligatoriamente tenemos que especificaral menos una contestación para la pregunta. Esto se realiza rellenando el formulario quehay en Pregunta.asp.

Figura 3.13-Contestación.asp.

Roberto García Manchón 56

Page 57: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Una vez rellenado el formulario de Pregunta.asp la aplicación nos muestra la páginaContestación.asp, donde se comunica al usuario que la contestación se ha especificadocorrectamente y muestra un menú con tres opciones: OTRA CONTESTACIÓN, siqueremos crear otra contestación para la pregunta, OTRA PREGUNTA, si queremoscrear otra pregunta, y LISTAR PREGUNTAS, para ver las preguntas disponibles.Aunque en el ejemplo no aparece, se va a crear dos contestaciones más para la pregunta,en concreto el texto de las contestaciones es Rock y clásica. Después pasamos a ver laspreguntas disponibles.

Figura 3.14-Listar_Preguntas.asp.

En Listar_Preguntas.asp se nos muestra una tabla con todas las preguntas disponibles,tanto la que hemos creado en el ejemplo, como las creadas por otros usuarios. En laparte central de la tabla, aparecen los enunciados de las preguntas y en la parte derechael tema. Como se mostrará a continuación, si pinchamos sobre el enunciado de laspreguntas podremos ver las contestaciones que llevan asociadas. En esta páginaseleccionamos aquellas preguntas que queremos que formen parte de nuestra encuesta,para ello marcamos los check box asociados a las preguntas deseadas y pulsamos elbotón de enviar. Por último, la página muestra un enlace por si queremos añadir unanueva pregunta a la lista. Para nuestro ejemplo seleccionamos las preguntas queaparecen en la figura 3.14.

Roberto García Manchón 57

Page 58: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Figura 3.15-Visualizar_Pregunta.asp.

La página Visualizar_Preguntas.asp nos muestra las contestaciones que tienen asociadaslas preguntas de la página Listar_Preguntas.asp. En la figura 3.15 podemos ver lascontestaciones de la pregunta que hemos creado.

Figura 3.16-Selección.asp.

Roberto García Manchón 58

Page 59: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Por último, una vez elegidas las preguntas que formarán parte de nuestra encuesta laaplicación nos lleva a Selección.asp, donde podremos crear otra encuesta o abandonar laaplicación. Para el ejemplo concluimos aquí, por lo tanto pinchamos en salir.

En estos momentos ya hemos creado la encuesta, ahora se pasa ha mostrar un ejemplode cómo se responde a la encuesta que hemos creado. Para ello hacemos uso de laaplicación que muestra la encuesta. Esta se encuentra en la direcciónhttp://127.0.0.1/Index3.asp.

Figura 3.17-Index3.asp.

Index3.asp es la página de inicio y en ella se nos muestra una tabla con el nombre de laencuesta y su descripción. En esta tabla tenemos que seleccionar la encuesta quequeremos responder. En nuestro caso seleccionaremos la encuesta que hemos creadoanteriormente.

Roberto García Manchón 59

Page 60: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Figura 3.18-Visualizar_Preguntas.asp.

De Index3.asp pasamos a Visualizar_Preguntas.asp donde se muestra un menú con dosopciones: RESPONDER DATOS, para responder a los datos de carácter personal quepueda pedir la encuesta, o bien RESPONDER A LAS PREGUNTAS, sino queremosresponder a los datos y queremos responder a las preguntas directamente. Para nuestrocaso pasamos a responder a los datos que se soliciten.

Roberto García Manchón 60

Page 61: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Datos_Respuesta.asp es la página que nos muestra los datos que se solicitan para laencuesta. En nuestro caso sólo se pide un dato, la edad. Si la encuesta no solicitasedatos, la página nos envía a Responder_Preguntas.asp.

Figura 3.20-Responder_Preguntas.asp.

En Responder_Preguntas.asp se nos muestra una tabla con todas las preguntas queconforman la encuesta seleccionada. Para responder a las pregunta hay que pincharsobre el enunciado. Como ejemplo vamos a responder a la pregunta creada en laaplicación anterior.

Roberto García Manchón 61

Page 62: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Figura 3.21-Visualizar_Respuestas.asp.

Cuando pinchamos sobre la pregunta a responder, la aplicación nos lleva hastaVisualizar_Respuestas.asp, donde seleccionaremos la contestación deseada.

Figura 3.22-Visualizar_Respuestas.asp.

Roberto García Manchón 62

Page 63: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Aplicación 3

Una vez que respondemos a la pregunta, la página Visualizar_Respuestas.asp nosmuestra dos opciones: RESPONDER OTRA PREGUNTA, si deseamos responder otrapregunta de la encuesta, o SALIR si deseamos abandonar el sitio web. Para el ejemplose concluye aquí, por lo tanto pinchamos SALIR.

Roberto García Manchón 63

Page 64: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Conclusiones

CONCLUSIONES

Ha sido muy gratificante para mi la realización de este proyecto fin de carrera, yaque me ha servido para darme cuenta que soy capaz de realizar un trabajo de tan altaenvergadura y responsabilidad.

Con la realización del proyecto, ha sido la primera vez que desarrollo unaaplicación y esta se utiliza realmente, y además por tantas personas, ya que todas lasaplicaciones que había desarrollado hasta ahora han sido prácticas de asignaturas. Estehecho, ha provocado que me enfrentara a la realización de este proyecto con másmotivación y entrega.

A la hora de realizar la primera aplicación me surgieron varios inconvenientes ensu desarrollo. El primero de ellos, y quizá el que más me costó solucionar, fue el hechode realizar una conexión a una base de datos por medio de ODBC en Visual Basic. Aeste problema le encontré la solución consultando la ayuda que proporciona el MSDN yvisitando numerosas páginas dedicadas a Visual Basic en Internet. El segundo escollofue encontrar la variable de entorno que necesitaba para obtener el DNI del alumno. Esteinconveniente lo solucioné consultando de nuevo la ayuda de Visual Basic. Por últimome encontré con el problema de que en el cuestionario final de la encuesta, una de lascontestaciones de la primera pregunta se encontraba marcada a priori, provocando lavisualización de la siguiente pregunta. Para este problema encontré la soluciónestableciendo la propiedad del botón de enviar la encuesta como botón pre-determinado.

En la realización de la segunda aplicación no me surgió ningún inconvenienteserio, ya que esta es muy parecida a la primera, y por lo tanto ya contaba con laexperiencia de haber hecho una aplicación de este tipo. Cabe destacar, que la grancantidad de preguntas de las que consta la encuesta provocó un mayor esfuerzo en sudesarrollo.

Para la tercera aplicación, el primer inconveniente que me surgió fue encontrarun servidor de ASP. Para solucionar este problema tuve que eliminar el sistemaoperativo Windows XP Home Edition que poseía mi ordenador e instalar el WindowsXP Professional. El motivo de este cambio, es por que Windows XP Professionaldispone del servidor web Internet Information Server. Una vez que disponía del servidorweb y de una herramienta de desarrollo, por algún motivo que no conseguí solucionar laaplicación no insertaba en la base de datos, tras comprobar que la aplicación funcionabacorrectamente en otro ordenador que dispone de otro tipo de servidor web, en concretoPersonal Web Server, continué el desarrollo de la aplicación en este último ordenador.

En el desarrollo de la tercera aplicación, ha sido la primera vez que he trabajadocon una base de datos tan grande y con tantas tablas y la primera vez que he necesitadodel uso de una metodología para su diseño. El uso de esta metodología me ha ayudadomucho, ya que gracias a ella he podido saber el número de tablas que necesitaba para mibase de datos, así como que información debe recoger cada tabla. Gracias a los

Roberto García Manchón 64

Page 65: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Conclusiones

esquemas E/R, he podido desarrollar la aplicación de una forma más ordenada ysabiendo en cada momento que tablas debía utilizar.

Por último decir que ha sido una experiencia muy gratificante de la cual estoyseguro que me servirá para mi futura incorporación al mundo laboral.

Roberto García Manchón 65

Page 66: ÍNDICE - robertogm3.files.wordpress.com · pregunta provocando la finalización de la encuesta, el valor que tomarán el resto de preguntas será de 0. A continuación se muestra

Desarrollo de un sistema de encuestas para apoyo telemático en medicina Bibliografía

BIBLIOGRAFIA

- Bobadilla Sancho, J., Alcocer Jarabo, A., Rodríguez-Manzaneque Sánchez, L.,Active Server Pages, Mc Graw Hill.

- Ceballos Sierra, FJ., Visual Basic Curso de Programación, edición RA-MA,Madrid, 1999.

Roberto García Manchón 66