• No se han encontrado resultados

Gestor de cuestionarios vía web.

N/A
N/A
Protected

Academic year: 2023

Share "Gestor de cuestionarios vía web."

Copied!
119
0
0

Texto completo

(1)

INSTITUTO POLITÉCNICO NACIONAL

Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Zacatenco

Ingeniería en Comunicaciones y Electrónica

SEMINARIO DE TITULACIÓN

REDES DE COMPUTADORAS, MICROCONTROLADORES Y ADQUISICIÓN DE DATOS VÍA WEB

PROYECTO DE TITULACIÓN

“GESTOR DE CUESTIONARIOS VÍA WEB”

QUE PARA OBTENER EL TÍTULO DE:

INGENIERO EN COMUNICACIONES Y ELÉCTRONICA

P R E S E N T A:

ÁLVAREZ LÓPEZ JORGE ALBERTO.

MAYA MORENO MARICELA.

PÉREZ MELÉNDEZ TOMÁS ROBERTO.

Asesores:

ING. ARTURO A. HIT ESPINOSA.

ING. JOSÉ GERARDO ROMERO BADILLO.

MÉXICO D.F. MAYO 2010

(2)

1

(3)

2

(4)

3 INDICE

OBJETIVO……….……….8

JUSTIFICACION………...8

INTRODUCCION………...………...10

CAPITULO I. SERVIDORES……….12

1.1 Tipos de servidores………...12

1.1.1 Servidores WEB……….………...13

1.1.2 Servidor DNS (Domain Name Server)….……..……….15

1.1.3 Servidor Correo….………..………...17

1.1.4 Servidor FTP (File Tranfer Protocol)….………...…...18

1.1.5 Servidor Usuarios….……….…...21

1.1.6 Servidor DHCP (Dynamic Host Configuration Protocol)………...…22

1.1.7 Servidor de Aplicaciones……….23

CAPITULO II. BASES DE DATOS….………...25

2.1 Modelos de Bases de Datos.……….…………...26

2.1.1 Bases de Datos Jerárquicas….………...26

2.1.2 Base de datos de red….………...27

2.1.3 Bases de datos transaccionales….………....27

2.1.4 Bases de datos relacionales….………..………...27

2.1.5 Bases de datos multidimensionales…...….………..28

2.1.6 Bases de datos orientadas a objetos……….29

2.1.7 Bases de datos documentales….…..………...30

(5)

4

2.1.8 Bases de datos deductivas….………..………...30

2.2 Sistema de Gestión de Base de Datos (SGBD) ….………....30

2.3 Entidad – Relación….………...………...31

2.4 Estructura de una Base de Datos….………...34

2.5 MYSQL….………...34

CAPITULO II. LENGUAJES PARA PROGRAMACION WEB….………...36

3.1 HTML….………...36

3.2 PHP………... 37

3.3 CSS……….39

3.4 Javascript.……..……….40

CAPITULO IV. DISEÑO E IMPLEMENTACION………...41

4.1 Requerimientos y Análisis….………41

4.2 Diseño del Sistema……….44

4.3 Implementación………..56

CONCLUSIONES………67

ANEXOS………...69

REFERENCIAS BIBLIOGRAFICAS………118

(6)

5 INDICE DE FIGURAS

Figura 1.1 Navegador y Servidor………14

Figura 1.2 Incorpora una Base de Datos, Una típica transacción Web con base de datos. Por ejemplo una petición HTTP, listado de nuestros cuestionarios………14

Figura 1.3 Análisis de la comunicación. Cliente-Servidor………...15

Figura 1.4 Servidor DNS………...17

Figura 1.5 Servidor de Usuarios………21

Figura 1.6 Servidor DHCP………23

Figura 2.1 Funcionamiento de una Base de Datos………25

Figura 2.2 Base de Datos Jerárquica……….26

Figura 2.3 Base de Datos de Red………..27

Figura 2.4 Base de Datos Relacional………28

Figura 2.5 Base de Datos Multidimensional………29

Figura 2.6 Base de Datos Orientada a Objetos……….30

Figura 2.7 Componentes del SGBD………..…31

Figura 2.8 Entidad - Relación………...32

Figura 2.9 Relación uno a uno………..……32

Figura 2.10 Relación uno a muchos………..33

Figura 2.11 Relación muchos a muchos………...34

Figura 3.1 Funcionamiento PHP………...38

Figura 4.1 Diagrama Entidad-Relación………41

Figura 4.2 Tabla cuestionarios. ………42

Figura 4.3 Tabla preguntas………42

(7)

6

Figura 4.4 Tabla respuestas………...43

Figura 4.5 Tabla data………43

Figura 4.6 Tabla usuarios………..43

Figura 4.7 Vista Login………..44

Figura 4.8 Menús administración del sistema………...45

Figura 4.9 Menús operación del sistema………...45

Figura 4.10 Diagrama de flujo Login………46

Figura 4.11.- Acciones cuestionarios………46

Figura 4.12 Vista cuestionarios……….47

Figura 4.13 Diagrama de flujo Cuestionarios………..47

Figura 4.14 Acciones preguntas………48

Figura 4.15 Vista preguntas………..48

Figura 4.16 Diagrama de flujo Preguntas………49

Figura 4.17 Acciones respuestas………...49

Figura 4.18 Vista Respuestas………50

Figura 4.19 Diagrama de flujo de Respuestas………...50

Figura 4.20 Acciones data……….51

Figura 4.21 Vista data………..51

Figura 4.22 Diagrama de Flujo Data………52

Figura 4.23 Acciones usuarios………..52

Figura 4.24 Vista usuarios……….53

Figura 4.25 Diagrama de flujo de Usuarios………..…53

Figura 4.26 Acciones área operativa……….54

(8)

7

Figura 4.27 Vista área operativa………...54

Figura 4. 28 Diagrama de flujo Operador……….55

Figura 4.29 Pantalla Login………....56

Figura 4.30 Pantalla Principal usuario Administrador………..57

Figura 4.31 Pantalla menú Cuestionarios….……….57

Figura 4.32 Pantalla Nuevo cuestionario………..58

Figura 4.33 Pantalla modificar Cuestionario………58

Figura 4.34 Pantalla Preguntas………..59

Figura 4.35 Pantalla para ingresar Preguntas………60

Figura 4.36 Pantalla ingreso de Respuestas……….60

Figura 4.37 Eliminar cuestionarios………...61

Figura 4.38 Pantalla Vista previa……….62

Figura 4.39 Pantalla Extracción de información………..62

Figura 4.40 Ejemplo archivo procesado de Datos………63

Figura 4.41 Pantalla Usuarios………...64

Figura 4.42 Pantalla Formulario de datos para usuarios nuevos………..64

Figura 4.43 Pantalla principal usuario Operador………..65

Figura 4.44 Pantalla para contestar cuestionario………...65

Figura 4.45 Pantalla confirmación de cuestionario contestado……….66

(9)

8 OBJETIVO

Desarrollar una aplicación WEB que permita la gestión de cuestionarios, mantenimiento (altas, bajas y cambios), consulta de los cuestionarios y explotación de datos de los resultados obtenidos, para reducir tiempos y costos en la realización de encuestas de empresas públicas o privadas.

JUSTIFICACIÓN

En estos tiempos donde las empresas compiten con productos y servicios y la calidad de dichos productos y servicios juega un papel muy importante, dicha calidad esta representada primeramente como la capacidad de los productos y servicios de satisfacer las necesidades de los consumidores.

Para conocer esta satisfacción por parte de los consumidores, las empresas se han encargado de buscar personal u otras empresas quienes se encargan de medir y cuantificar la satisfacción de los consumidores con respecto a los servicios o productos que ofrecen, esto lo hace a través de estudios y métodos que les ayudan a conocer en que proporciones les agrada o desagrada un producto o servicio.

Para muchas empresas el conocer las necesidades de sus consumidores es de vital importancia, ya que de esto depende de la prosperidad de su empresa o su decaimiento.

En esta actividad se llegan a gastar grandes cantidades tanto las empresas que piden el

estudio, en los casos que sea por parte de una empresa externa como para quienes realizan

el estudio. Para esto se realiza un análisis para determinar que es los que se quiere conocer

del producto o servicio, una vez planteado esto se procede a decidir que método de estudio

es el que más se adecua para la obtención de información de características de los

(10)

9 productos o servicios. Para la obtención de esta información la empresas se remiten a los consumidores, mediante una entrevista en la cual el consumidor externara sus gustos y preferencias mediante una entrevista por parte de una persona adiestrada previamente y la cual conoce las características a evaluar y que le serán externadas al consumidor para conocer su opinión o mediante un cuestionario con preguntas bien estructuradas que contienen la características a evaluar, en la que se procede solo leyendo y siguiendo las instrucciones que están escritas en el cuestionarios.

Para la realización de estos cuestionarios puede llevar un tiempo importante, ya que se

realiza primeramente en formato electrónico, el cual debe llevar un formato establecido por

la empresa y en el cual podría llevarse la mayor parte de la construcción de cuestionario,

restando tiempo a la obtención de la información por parte de las personas a cargo de

encuestar y aplazar los resultados del estudio, hasta llegar a la impresión para su posterior

salida.

(11)

10 INTRODUCCIÓN

Gracias a la evolución de las nuevas tecnologías informáticas y tecnología en general se han podido realizar grandes aportaciones en varias ramas. Hemos observado que al combinarlas se han tenido grandes logros. Muchas de estas aportaciones y logros han tenido gran impacto beneficiando a las actividades cotidianas en empresas o simplemente a usuarios particulares, proporcionando una manera más eficaz y eficiente de realizar actividades. Uno de estos avances con el que compartimos la vida diaria y cada vez es mas usado es la Internet y todo aquel dispositivo capaz de ingresar a ella como los ordenadores, teléfonos celulares, PDA‟s (Personal Digital Assistant), reproductores de música. La Internet a hecho posible cosas que no hubiésemos imaginado antes y permitiendo a los usuarios compartir información a millones de personas, las cuales pueden acceder a esta información con respecto a sus prioridades, gustos, deseos, pasatiempo entre otros y realizando esto en tiempos muy cortos sin importar donde se encuentre la información.

Entre los dispositivos que más destacan en la conexión a la Internet son los ordenadores y

los teléfonos celulares ya que como hemos visto en el caso de los ordenadores cada vez son

más portátiles, sin perder sus características y en algunos casos anexando nuevos avances

tecnológicos que proporcionan una mayor accesibilidad a la información y a la forma de

compartirla y beneficiando a millones de usuarios sin importar la actividad de la persona

gracias a las basta cantidad de aplicaciones que existen y que se siguen generando con

respecto a las necesidades de los usuarios o empresariales y en la telefonía celular los

dispositivos han generado gran cantidad de aplicaciones que ofrecen a los usuarios otra

forma de compartir información así como de acceder a ella mediante estas aplicaciones que

(12)

11 se asemejan cada vez más a la de los ordenadores y sin perder la portabilidad con la que ya contaban.

Uniendo a estos tres avances tecnológicos podemos crear grandes aplicaciones que faciliten

las tareas que realizamos cotidianamente en las empresas. Así como mejor la calidad de los

servicios ofreciendo menores tiempos de realización de las actividades, con menores costos

en procesos y materiales y ayudando a la ecología en la medida que se pueda en el menor

uso de papel en las actividades y procesos.

(13)

12 CAPITULO I. SERVIDORES

¿Qué es un servidor?

Como primer punto definiremos que es un servidor, sus características y su uso. Para usos en informática la palabra “Servidor” es un ordenador que es parte de una red ya sea LAN (Local Area Network) o MAN (Metropolitan Area Network) que se encarga de proveer servicio a otros ordenadores denominados “Cliente”. También es utilizado para nombrar a una aplicación la cual provee algún servicio a otras aplicaciones llamadas “Cliente” con lo cual haciendo posible que el servidor cumpla la tarea Cliente-Servidor simultáneamente.

Cabe destacar que para que un ordenador sea un servidor, sus componentes no necesariamente deberán ser de última generación, ya que podríamos usar un ordenador casero con pocos recursos hasta uno especializado con el máximo de recursos posibles para dicha tarea. Esto dependerá del uso al cual se destinara dicho servidor.

1.1 Tipos de servidores.

Estos servidores pueden interactuar en un mismo servidor o lo pueden hacer individualmente. Entre los servidores que podemos encontrar están;

Servidor Dedicado el cual es un ordenador con sistema operativo que solo permite ofrecer servicios, compartir recursos y no se utiliza como estación de trabajo.

Servidor NO dedicado el cual se encarga ofrecer servicios, compartir recursos y además se utiliza como estación de trabajo.

Debemos también tomar en cuenta el rol que tienen los equipos en una red, ya que

dependiendo del rol todas pueden ser servidores y clientes al mismo tiempo, a esto se le

denomina Punto a Punto (Peer to Peer).

(14)

13 En el caso que exista un servidor y el resto de los ordenadores como clientes, a esta arquitectura se le conoce como Cliente-Servidor (Client-Server).

Entre estos podemos encontrar diferentes tipos de servidores dependiendo al servicio que ofrecen como:

1.1.1 Servidor Web

Es llamado así a la aplicación encargada de almacenar y servir páginas Web. Las páginas

almacenadas pueden corresponder aun solo sitio Web o a varios sitios cada uno separado en

diferentes carpetas las cuales se definen en la aplicación para su reconocimiento y posterior

llamado. Para realizar el llamado el servidor esta en ejecución continua en espera de la

petición de algún cliente mediante un navegador Web, este navegador Web será el

encargado de interpretar el código HTML (Hyper Text Markup Language) en el cual están

escritas la paginas Web, este código es enviado desde el servidor a través del protocolo

HTTP (HypeText Transfer Protocol) y es mostrado en el ordenar cliente. La interpretación

casi en su totalidad es hecha del lado del cliente, en algunos casos es necesario que el

navegador Web del ordenador cliente cuente con pequeñas aplicaciones que son las

encargadas de interpretar pequeñas partes de código escrito en otros lenguajes, pero

también existen aplicaciones que contiene parte de código que es procesado e interpretado

por el servidor y enviado como código HTML mediante el protocolo HTTP para que del

lado del cliente pueda ser visualizado y normalmente utiliza los puertos numero 80 y 8080

para conexiones seguras. Entre los servidores más conocidos tenemos IIS (Internet

Information Services) y Apache. Cabe mencionar que no solo es capaz de almacenar solo

páginas sino también otro tipo de archivos como imágenes, videos, música, documento

etcétera, los cuales pueden ser mostrados o llamados por alguna página Web.

(15)

14 Figura 1.1 Navegador y Servidor

Figura 1.2 Incorpora una Base de Datos, Una típica transacción Web con base de datos. Por

ejemplo una petición HTTP, listado de nuestros cuestionarios

(16)

15 Figura 1.3 Análisis de la comunicación. Cliente-Servidor

1.1.2 Servidor DNS (Domain Name System)

Es una aplicación encargada de interpretar o traducir los nombres escritos en los navegadores de los ordenadores Cliente por las direcciones IP (Internet Protocol) de los servidores así como asociar diferentes tipos de información que refiere a dichos nombres.

Para esto se basa en un sistema jerárquico, el cual se va interpretando de derecha a

izquierda para poder localizar la información, mediante un tipo de etiquetado y su

concatenación que conforma el nombre del dominio. Este etiquetado corresponde a

servidores raíz. Los servidores DNS son de tipo primario, secundario y locales o caché, los

cuales son los encargados de la búsqueda e interpretación de los nombres. Los servidores

(17)

16

primarios son lo encargados de almacenar la información de los nombres de dominio, los

secundarios obtienen la información (una copia) de los servidores primarios en caso que

estos fallen y lo servidores locales o caché obtienen información de otro servidor en

respuesta a consultas de los servidores DNS primarios y secundarios las cuales son

almacenadas por un tiempo determinado en estos servidores, esto se hace para un mayor

eficiencia y reducción del tráfico de los servidores DNS primarios y secundarios. Para

realizar las consultas los servidores pueden ser autorizados y no autorizados, los

autorizados son aquellos que contienen copias de todos los dominios como son los DNS

primarios y secundarios y los no autorizados solo contienen copias de las búsquedas de los

DNS que se han consultado en el pasado y de los cuales se ha recibido una respuesta

autorizada como lo es el DNS caché. Las consultas a los servidores DNS pueden ser de 2

tipos Recursiva e Iterativa, en las consultas recursivas el servidor DNS busca dentro de sus

datos locales incluyendo su caché la mejor respuesta y en la consultas iterativas el servidor

DNS no cuenta con la información así que busca el servidor raíz y repite el proceso hasta

obtener la resolución de la consulta. El sistema funciona en base al protocolo UDP (User

Datagram Protocol) y trabaja sobre el puerto numero 53. Entre los servidores más utilizados

podemos encontrarnos con los siguientes Bind, PowerDNS, MaraDNS, djbdns, pdnsd,

MyDNS, DNS (Windows 2000/2003/2008), dnsmasq.

(18)

17 Figura 1.4 Servidor DNS

1.1.3 Servidor Correo

Es una aplicación encargada de enviar y recibir mensajes o correos, estos mensajes pueden contener solo texto y/o se puede incorporar más información como archivos adjuntos. Para realizar la tarea de envió y recepción entre un ordenador a otro se basa en un Agente de Trasferencia de Correos o MTA (Mail Transfer Agent) por sus siglas en ingles. De esta manera al enviar el un correo mediante un MTA lo recibe otro MTA este correo es tomado por un MSA (Mail Submission Agent) a través de un MUA (Mail User Agent), este MUA puede recibir directamente el correo desde otro MUA supliendo y actuando como un MSA.

La parte con la que interactúa el usuario el MUA. Esta transferencia se realiza mediante

protocolos, los cuales cumplen una función especifica. Estos protocolos son SMTP (Send

Mail Transfer Protocol); este protocolo es el encargado de enviar los mensajes ya sea de un

servidor a otro o desde un cliente de correo a un servidor, POP (Post Office Protocol); este

(19)

18 protocolo es el encargado de la obtención de los mensajes en un servidor y lo pasa al usuario de correo y el protocolo IMAP (Internet Message Acces Protocol) es un protocolo al igual que POP se encarga de la obtención de los mensajes en un servidor y también los pasa al usuario de correo, pero es mas complejo ya que también permite ver los mensajes en el servidor sin ser descargados, los puertos que utilizan son; SMTP los puerto numero 25, 587 (Alternativo para clientes de correo) y 465 (SMTPS), POP los puertos numero 110 y 995 (cifrado) y el IMAP los puertos numero 149, 220 (IMAP3) y 993(IMAPS). Entre los agentes de transferencia (MTA) más conocidos y utilizados nos podemos encontrar con los siguientes Sendmail, Postfix, Exim, Mdaemon y Microsoft Exchange Server. Y entre los agentes de correo de usuario (MUA) esta Thunderbird, Evolution, Microsoft Outlook y Microsoft Express.

1.1.4 Servidor FTP (File Transfer Protocol)

Como su nombre lo indica es un protocolo de transferencia de archivos. Este tipo de servidor se encarga de almacenar archivos para su intercambio entre distintos ordenadores.

Para que esto sea posible se debe instalar la aplicación en un ordenador destinado a solo

esta tarea o en conjunto con otro tipo de servidor. Una vez instalada la aplicación puede ser

configurada para su acceso, mediante Web o por medio de algún programa FTP. Para el

acceso mediante Web lo único que necesitamos es tener un navegador Web, esto mediante

el protocolo HTTP y el puerto numero 80 (que es quien ve al usuario) actuara como

intermediario en conjunto con los protocolos numero 20 y 21 que maneja el servidor FTP,

el cliente tecleara en la barra de direcciones el protocolo en este caso ftp y el dominio al

que se ingresara en caso que exista.

(20)

19 Seguido de esto aparecerá una ventana pidiendo un usuario y una contraseña las cuales debemos ingresar para poder tener acceso al servidor FTP. En el caso de usar una aplicación cliente, esta se conecta a través del protocolo FTP para realizar la transferencia, es necesario registrar en el programa FTP el dominio en el que se desea hacer el intercambio de archivos así como ingresar el nombre de usuario y contraseña del dominio registrado. En ambos casos el intercambio de archivos puede ser solo de subida, descargas o ambos, esto dependerá de los privilegios configurados en cada cuenta de usuarios de FTP.

Para tener acceso puede estar configurado con acceso anónimo, invitado y como usuario.

En el caso que un servidor este configurado como anónimos, se permite tener acceso sin tener una cuenta de usuario, solo se teclea en el login “anonymous” y se tendrá acceso a los archivos. En el acceso como usuario, el servidor contara con información de las diferentes cuentas registradas en el equipo que podrán tener acceso a él, esto nos ayuda a dar privilegios para interactuar con los archivos existentes o ingresar nuevos archivos. Y al intentar establecer la conexión nos pedirá el usuario y la contraseña, los cuales en caso de contar con ellos se ingresaran para pode acceder al servidor FTP. Los usuarios invitados o

“guest” es una mezcla entre los accesos anteriores, la parte más importante de este acceso

es no perder seguridad en nuestro servidor permitiendo que usuarios mal intencionados

ingresen a otras partes del sistema dañándolo, esto mediante el login y password, y que

incorpore la libertad del los usuarios anónimos pero solo en cierto tipo de archivos y/o

carpetas y con mas privilegios. Para establecer la conexión entre el servidor y el cliente

existen dos modos el modo activo (estándar o PORT debido a que el cliente envía un

comando tipo PORT al servidor por el canal de control al establecer la conexión) y el modo

pasivo (o PASV por que para este caso envía comando tipo PASV al servidor). En ambos

(21)

20 modos el cliente es quien establece la conexión mediante el puerto número 21, quien es el encargado de establecer el canal de control. En modo Activo, el servidor siempre crea el canal de datos en su puerto numero 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el puerto numero 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole el número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos, en el número de puerto especificado. Esto genera problemas de seguridad y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un número de puerto superior al 1024, esto puede generar grandes problemas si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo Pasivo. En este modo cuando el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal de control, el numero de puerto (mayor a 1023 del servidor. Ej:2040 ) al que debe conectarse el cliente. El cliente inicia una conexión desde el numero de puerto siguiente al puerto de control (Ej: 1036) hacia el puerto del servidor especificado anteriormente (Ej:

2040. Antes de cada nueva transferencia, tanto en el modo Activo como en el Pasivo, el

cliente debe enviar otra vez un comando de control (PORT o PASV, según el modo en el

que haya conectado), y el servidor recibirá esa conexión de datos en un nuevo puerto

aleatorio (si está en modo pasivo) o por el puerto numero 20 (si está en modo activo).

(22)

21 1.1.5 Servidor Usuarios

Un servidor de usuarios, es un ordenador el cual se encarga de validar usuarios de una red, esto al escribir un usuario y una contraseña que pertenezcan a dicha red. Esto le permite tener acceso a los recursos compartidos de esta red así como a aplicaciones que pueden ejecutar usuarios autentificados. Para poder acceder los usuarios debe ser dado de alta y configurado previamente como usuarios del dominio en el servidor de usuarios que funcionara también como controlador de dominio. Para la gestión de usuarios (alta, baja y modificación de la cuentas), se debe acceder a la aplicación encargada de esta tarea. Los usuarios pueden ser de diferentes tipos, cada uno con diferentes privilegios de acceso y modificación de archivos, esto para incrementar la seguridad dentro y fuera de nuestro dominio.

Figura 1.5 Servidor de Usuarios

(23)

22 1.1.6 Servidor DHCP (Dynamic Host Configuration Protocol)

Este es un servidor encargado de la asignación automática de la configuración a los

ordenadores cliente en una red mediante el protocolo de configuración dinámica de

servidor. Es este servidor el que contiene los rangos de direcciones red IP dinámicas que se

irán asignando a los clientes con forme se realice la solicitud por parte del cliente y en el

servidor existan IP‟s libres para ser asignadas, y con esto saber en todo momento quien

tiene una IP a quien se le asigno después y el tiempo de uso de la IP. Para la asignación de

IP‟s, DHCP incluye tres métodos; Asignación manual o Estática, Asignación automática y

Asignación dinámica. En la asignación estática se configura una única IP la cual tendrá que

conservar para poder tener acceso a una red determinada en caso de que se haga cambio de

una red tendrá que asignarse una nueva IP que contenga los parámetro de la nueva red. En

la asignación automática se configura una dirección IP de forma permanente la primera vez

que se realiza la petición a al servidor DHCP y hasta que el cliente termina de ocupar la

dirección IP. La asignación dinámica es el único método de reutilización de direcciones IP,

para esto el administrador de la red configura previamente un rango de direcciones IP‟s, las

cuales serán solicitadas al servidor DHCP conforme las tarjetas de red de los clientes

enciendan y mediante un procedimiento entre el cliente y el servidor DHCP en un tiempo

controlable se lleva acabo la asignación de la dirección IP. Esto facilita la configuración de

nuevos ordenadores cliente conectados a una red.

(24)

23 Figura 1.6 Servidor DHCP

1.1.7 Servidor de Aplicaciones

Un servidor de aplicaciones es un software que proporciona aplicaciones a los equipos o dispositivos cliente, por lo general a través de Internet y utilizando el protocolo http. Los servidores de aplicación se distinguen de los servidores web por el uso extensivo del contenido dinámico y por su frecuente integración con bases de datos.

Además, Un servidor de aplicaciones es un producto basado en un componente que se encuentra en el plano medio de la arquitectura central de un servidor. Proporciona servicios de „middleware‟, es decir, trabaja como un intermediario para la seguridad y el mantenimiento, además de proveer acceso a los datos.

Un servidor de aplicación maneja la mayoría de las transacciones relacionadas con la lógica

y el acceso a los datos de la aplicación (esto se solía llamar „centralización‟, hace algún

tiempo...). La ventaja principal de un servidor de aplicaciones es la facilidad para

desarrollarlas, puesto que éstas no necesitan ser programadas y en cambio, se arman a partir

(25)

24 de módulos provistos por el servidor de aplicaciones. Por ejemplo, un wiki es un servidor de aplicación que permite a los usuarios crear contenido dinámico a partir del ensamble de los artículos. Más aún, las enciclopedias en la red son un wiki ensamblado que entrega una enciclopedia almacenada en un sistema de ficheros, cuyos cambios a la enciclopedia se hallan almacenados en una base de datos.

El término servidor de aplicaciones se aplica a todas las plataformas , y hay muchas variaciones sobre el tema, por lo que resulta un poco ambiguo. El término se utiliza para referirse a los servidores de aplicaciones basadas en Web, como el control de las plataformas de comercio electrónico integrado, sistemas de gestión de contenido de sitios Web y asistentes o constructores de sitios de Internet. Por esta razón, algunos los llaman también „servidor web‟.

Uno de los ejemplos destacados es el de Sun Microsystems, plataforma J2EE. Los

servidores de aplicaciones Java se basan en la Plataforma Java ™ 2, Enterprise lEdition

(J2EE ™). J2EE utiliza un modelo de este tipo y, en general, incluye un nivel Cliente, un

nivel Medio, y un EIS. El servidor de tipo Cliente puede contener una o más aplicaciones o

navegadores. La Plataforma J2EE es del Nivel Medio y consiste en un servidor Web y un

servidor EJB. (Estos servidores son también llamados "contenedores".) También podría

haber sub- niveles adicionales en el nivel intermedio. El nivel del Sistema Enterprise

Information System contiene las aplicaciones existentes, archivos y bases de datos.

(26)

25 CAPITULO II. BASES DE DATOS

¿Qué es una Base de Datos?

Una base de datos es un almacén que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente.

Una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.

Entre las principales características de los sistemas de base de datos podemos mencionar:

 Independencia lógica y física de los datos.

 Redundancia mínima.

 Acceso concurrente por parte de múltiples usuarios.

 Integridad de los datos.

 Consultas complejas optimizadas.

 Seguridad de acceso y auditoría.

 Respaldo y recuperación.

 Acceso a través de lenguajes de programación estándar.

Figura 2.1 Funcionamiento de una Base de Datos

(27)

26 2.1 Modelos de bases de datos

Un modelo de datos es un contenedor de datos y métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos son abstracciones que permiten la implementación de un sistema eficiente de base de datos por lo general se refieren a algoritmos y conceptos matemáticos.

2.1.1 Bases de datos jerárquicas

Éstas son bases de datos que almacenan su información en una estructura jerárquica. Los datos se organizan en una forma similar a un árbol en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.

Figura 2.2 Base de Datos Jerárquica

(28)

27 2.1.2 Base de datos de red

En este modelo se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Ofrece una solución eficiente al problema de redundancia de datos.

Figura 2.3 Base de Datos de Red

2.1.3 Bases de datos transaccionales

Son bases de datos cuyo fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, se caracteriza por recolectar y recuperar los datos a la mayor velocidad, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, permiten algún tipo de conectividad a bases de datos relacionales.

2.1.4 Bases de datos relacionales

Modelo utilizado para modelar problemas reales y administrar datos dinámicamente. Su

característica fundamental es el uso de relaciones. Estas relaciones podrían considerarse en

forma lógica como conjuntos de datos llamados tuplas. En este modelo, el lugar y la forma

(29)

28 en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). La información puede ser recuperada o almacenada mediante consultas que ofrecen una amplia flexibilidad y poder para administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.

Figura 2.4 Base de Datos Relacional

2.1.5 Bases de datos multidimensionales

Son bases de datos para desarrollar aplicaciones muy concretas, como creación de Cubos

OLAP. Los campos o atributos de una tabla pueden ser de dos tipos, o bien representan

dimensiones de la tabla, o bien representan métricas que se desean estudiar.

(30)

29 Figura 2.5 Base de Datos Multidimensional

2.1.6 Bases de datos orientadas a objetos

Este modelo es propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento).

Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.

Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.

Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los

datos como parte de la definición de la base de datos. Una operación se especifica en dos

partes. La interfaz de una operación incluye el nombre de la operación y los tipos de datos

(31)

30 de sus argumentos. La implementación de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.

Figura 2.6 Base de Datos Orientada a Objetos 2.1.7 Bases de datos documentales

Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes.

2.1.8 Bases de datos deductivas

Un sistema de base de datos deductiva, es un sistema de base de datos que permite hacer deducciones a través de inferencias. Se basa en reglas y hechos que son almacenados en la base de datos.

2.2 Sistema de Gestión de Base de Datos (SGBD)

Los Sistemas de Gestión de Bases de Datos (en inglés DataBase Management System) son

un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el

(32)

31 usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.

Figura 2.7 Componentes del SGBD

2.3 Entidad-Relación

Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram

Entity relationship”) son una herramienta para el modelado de datos de un sistema de

información. Estos modelos expresan entidades relevantes para un sistema de información,

sus inter-relaciones y propiedades.

(33)

32 Figura 2.8 Entidad - Relación

Cardinalidad de las Relaciones: El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:

Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B.

Figura 2.9 Relación uno a uno

(34)

33 Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B.

Figura 2.10 Relación uno a muchos

Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con

cualquier instancia de la entidad B.

(35)

34 Figura 2.11 Relación muchos a muchos

2.4 Estructura de una Base de Datos

Una base de datos, con el fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente. Cada base de datos contiene una o más tablas, que cumplen la función de contener los campos.

Por consiguiente una base de datos posee el siguiente orden jerárquico:

 Tabla

 Campos

 Registros

 Lenguaje

2.5 MYSQL

MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario desarrollado como software libre y gestionado por distintos lenguajes de programación.

Permite la creación de cualquier sistema de registro de usuarios y funcionalidades

avanzadas de un proyecto WEB. Utiliza un sistema de administración relacional de bases

(36)

35 de datos, archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo lo que permite flexibilidad y velocidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas.

Existen varias APIs que permiten acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby,Gambas, REALbasic (Mac y Linux), (x)Harbour (Eagle1), FreeBASIC, y Tcl cada uno de estos utiliza una API específica.

También existe un interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de

programación que soporte ODBC comunicarse con las bases de datos MySQL. También se

puede acceder desde el sistema SAP, lenguaje ABAP.

(37)

36 CAPITULO III. LENGUAJES DE PROGRAMACION WEB

Un lenguaje de programación es un idioma diseñado para expresar comandos que interprete una maquina. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, expresar algoritmos con precisión, o como modo de comunicación humana. Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones Con el comienzo de Internet y la programación Web, se desfasaron los diseños gráficos tradicionales, con lo que se empezaron a diseñar interfaces concretas para este medio, buscando ficheros pequeños para facilitar la carga de los mismos. La programación Web se orientaba a un diseño muy cargado e interactuando con el usuario, mientras que al empezar a competir con millones de Web se ha optado más por el diseño sencillo y de fácil comprensión.

3.1 HTML

Es un lenguaje estático para el desarrollo de sitios Web (HyperText Markup Language, en español Lenguaje de Marcas Hipertextuales). Es el lenguaje de marcado predominante para la elaboración de páginas web, es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de etiquetas. HTML puede incluir un script, el cual puede afectar el comportamiento de navegadores Web y otros procesadores de HTML.

HTML también es usado para referirse al contenido del tipo de MIME text/html o todavía

más ampliamente como un término genérico para el HTML, ya sea en forma descendida del

XML o en forma descendida directamente de SGML .

(38)

37 HTML utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y final, mediante las cuales se determinan la forma en la que debe aparecer en su navegador el texto, así como también las imágenes y los demás elementos, en la pantalla del ordenador.

El diseño en HTML aparte de cumplir con las especificaciones propias del lenguaje debe respetar unos criterios de accesibilidad web, siguiendo unas pautas, o las normativas y leyes vigentes en los países donde se regule dicho concepto.

3.2 PHP

Es un lenguaje de programación utilizado para la creación de sitio web. PHP (PHP Hypertext Pre-processor ).

PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el servidor. No necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas. Los archivos cuentan con la extensión (php).Soporta en cierta medida la orientación a objeto. Clases y herencia. Es un lenguaje multiplataforma: Linux, Windows, entre otros. Capacidad de conexión con la mayoría de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.

Es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor.

Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea

insegura por naturaleza.

(39)

38 Su diseño está orientado a facilitar la creación de página Web, es posible crear aplicaciones con una interfaz gráfica para el usuario, también puede ser usado desde la línea de órdenes, Cuando el cliente hace una petición al servidor para que le envíe una página Web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica. El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.

Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. Tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de Web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI. Es libre, por lo que se presenta como una alternativa de fácil acceso.

Figura 3.1 Funcionamiento PHP

(40)

39 3.3 CSS

Las hojas de estilo en cascada (Cascading Style Sheets), CSS es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores.

La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación.

La información de estilo puede ser adjuntada tanto como un documento separado o en el mismo documento HTML. Existen tres caminos diferentes para aplicar las reglas de estilo a una página Web.

Externa

Es una hoja de estilo que está almacenada en un archivo diferente al archivo donde se almacena el código HTML de la página Web. Esta es la manera de programar más potente, porque separa completamente las reglas de formateo para la página HTML de la estructura básica de la página.

Interna

Es una hoja de estilo que está incrustada dentro de un documento HTM se usa cuando se quiere proporcionar alguna característica a una página Web en un simple fichero

Línea

Es un método para insertar el lenguaje de estilo de página, directamente, dentro de una

etiqueta HTML.

(41)

40 3.4 Javascript

Este es un lenguaje interpretado que no requiere compilación. JavaScript es un lenguaje de scripting basado en objetos, utilizado para acceder a objetos en aplicaciones.

Principalmente, se utiliza integrado en un navegador Web permitiendo el desarrollo de interfaces de usuario mejoradas y páginas Web dinámicas. Es un dialecto de ECMAScript y se caracteriza por ser un lenguaje basado en prototipos, con entrada dinámica y con funciones de primera clase..

JScript es la implementación de ECMAScript de Microsoft, muy similar al JavaScript de Netscape, pero con ciertas diferencias en el modelo de objetos del navegador que hacen ambas versiones sean incompatibles con frecuencia.

Javascript puede incluirse en cualquier documento y es compatible con HTML en el

navegador del cliente, ya sea PHP, Active Server Pages, ASP, JSP y SVG. Incluir código

directamente en una estructura HTML es una práctica invasiva y no recomendada. El

método correcto que define la W3C es incluir javascript como un archivo externo, tanto por

cuestiones de accesibilidad, como práctica y velocidad en la navegación.

(42)

41 CAPITULO IV. DISEÑO E IMPLEMENTACION

4.1 Requisitos y Análisis

Para los requisitos del Gestor de Cuestionarios, primeramente fue necesario crear una base de datos, la cual contendrá toda la información correspondiente a los cuestionarios, información de usuarios y la información de los cuestionarios contestados.

Para ello se realizo un análisis en el cual se considero crear 4 tablas relacionadas, que contendrán todo lo correspondiente a la creación de cuestionarios y la obtención de la información que arrojara el cuestionario así como una tabla donde se almacenara los usuarios que administraran el sistema y los que contestaran cuestionarios dando así mayor seguridad a nuestro sistema y que no cualquier persona haga uso de la aplicación. Esta última tabla puede relacionarla, pero dependerá del rubro donde se incorpore el sistema o puede utilizar una base de datos con usuarios ya existente e incorporarse. Todo esto se muestra en el diagrama de entidad relación siguiente:

Figura 4.1 Diagrama Entidad-Relación

(43)

42 Tres de las tablas corresponden a la información de los cuestionarios así como de sus preguntas y respuestas, estas tablas son;

Cuestionarios: contendrá toda la información correspondiente al cuestionario, como lo es el nombre, la fecha de creación y un identificador de cuestionario como lo muestra la siguiente tabla.

Campo Tipo Cotejamiento Atributos Nulo Predeterminado Extra

ID_CUEST int(4) UNSIGNED No auto_increment

NOM_CUEST varchar(80) utf8_general_ci No

FECHA timestamp No CURRENT_TIMESTAMP

Figura 4.2 Tabla cuestionarios.

Preguntas: contendrá todas las preguntas de todos los cuestionarios así como la información que corresponderá a cada una de las preguntas, como lo es la pregunta, el tipo de pregunta, instrucciones de la pregunta, si es requerido que se conteste, un numero identificador de pregunta y un numero de relación con algún cuestionario como es mostrado en la siguiente tabla.

Campo Tipo Cotejamiento Nulo Extra

ID_PREG int(4) No auto_increment

ID_CUEST int(4) No

PREGUNTA varchar(400) utf8_general_ci No

INSTRUCCIONES varchar(200) utf8_general_ci Sí NULL

REQ tinyint(1) Sí NULL

TIPO set('TEXT', 'CHECKBOX', 'RADIO')

utf8_general_ci No

Figura 4.3 Tabla preguntas

Respuestas: contendrá todas las respuestas y la información que corresponda como lo es

un identificador de respuesta, un identificador que se relaciona con la pregunta, un valor de

respuesta y el texto de la respuesta.

(44)

43

Campo Tipo Cotejamiento Nulo Predeterminado Extra

ID_RESP int(4) No auto_increment

ID_PREG int(4) No

RESPUESTA varchar(40) utf8_general_ci No

VALOR tinyint(4) Sí NULL

Figura 4.4 Tabla respuestas

La cuarta tabla de cuestionarios son los resultados del cuestionario:

Data: contendrá la información proveniente del cuestionario contestado como lo es los identificadores de cuestionario, pregunta y respuesta, así como el valor de dicha respuesta y un campo de data donde se registrara el texto de la respuesta en el caso que sea cerrada tendrá el texto de la respuesta mostrado en pantalla y en caso que corresponda a una pregunta abierta, contendrá todo lo escrito por la persona que contesta.

Campo Tipo Cotejamiento Nulo Predeterminado Extra

ID_REGIS int(4) No auto_increment

ID_PREG int(4) No

ID_RESP int(4) No

ID_CUEST int(4) No

VALOR smallint(6) Sí NULL

DATA varchar(400) utf8_general_ci No

Figura 4.5 Tabla data

Nuestra quinta tabla es la de usuarios: esta tabla contendrá a los usuarios que podrán acceder al sistema, ya sea en la administración, como en la sección donde se contestaran los cuestionarios. Tendrá la información como el nombre de usuario, contraseña y un identificador de usuario.

Campo Tipo Cotejamiento Atributos Nulo Extra

ID_USUARIO int(4) No auto_increment

USUARIO varchar(150) utf8_general_ci No

PASS varchar(20) utf8_general_ci No

TIPO set('ADMIN', 'USER') utf8_general_ci No

Figura 4.6 Tabla usuarios

(45)

44 4.2 Diseño del Sistema

Se considero que el sistema debía estar dividido en dos partes, una para quien se hará cargo de la gestión de los cuestionarios, la explotación de la información y la administración de los usuarios y para quienes solo contestaran cuestionarios, con esto dotando al sistema de mayor seguridad para intrusiones de personas malintencionadas. Para ello creamos una pagina con un formulario, esta pagina esta encargada de obtener la información, para que se realice una consulta a nuestra base de datos y verificar que existe el usuario, en caso de existir, ver que tipo de usuario es y direccionarlo a su sección, en caso contrario no dejara en esta pagina sin lograr ingresar al sistemas.

Una vez verificada la existencia del usuario se crea una variable de sesión y si este es administrador se direccionara a la página principal de la administración de nuestro sistema donde se encontrara con los siguientes menús.

Administrador

Cuestionarios Data

Siguiente Regresa LOGIN

Administrador

Operador

Operador

Contestar Salir

Salir

principal.php Autenticar

contesta_cuestionario.php. Autenticar

Figura 4.7 Vista Login

(46)

45 Administración del Sistema

Figura 4.8 Menús administración del sistema

Si el usuario es tipo user, se direccionara a la sección de la operación del sistema, que es donde se selecciona el cuestionario y se contesta.

Operación del Sistema

Figura 4.9 Menús operación del sistema

El siguiente diagrama de flujo muestra lo que ocurre en el Login;

(47)

46

Login

Usuario registrado

NO

SI

Principal Elige

cuestionario Tipo

usuario Operador

Administrador

Figura 4.10 Diagrama de flujo Login

Como ya se menciono la sección de administración contiene un menú con diferentes opciones y que describiremos a continuación.

En el menú cuestionarios se pensó que debería contener todo aquello relacionado con la gestión de los cuestionarios y debería de ser secuencial para que el sistema sea sencillo, como lo puede ilustrar la figura 4.11:

Figura 4.11.- Acciones cuestionarios

(48)

47 Con esto visualizamos como seria la vista de este menú en la figura 4.12:

Figura 4.12 Vista cuestionarios

Y para seguir la secuencia de la información se creo el siguiente un diagrama de flujo que nos muestra como, la información es requerida, si se encuentra es procesada y almacenada.

Cuestionarios

Nuevo Modificar Eliminar Vista previa

Muestra vista previa del cuestionario Registra datos de

cuestionario

Almacena datos

Confirmación de cuestionario

registrado

Registra cambios del cuestionario

Almacena datos

Confirmación de cambios

Elimina usuario en la BD

Preguntas Respuestas

Figura 4.13 Diagrama de flujo Cuestionarios

(49)

48 Una vez creado el cuestionario, se procede a crear las preguntas para, así que se seleccionara el cuestionario y damos clic en preguntas y nos enviara a una página donde se podrá gestionar lo referente a las preguntas, tal como se muestra en la figura 4.14.

Figura 4.14 Acciones preguntas Al igual que en cuestionarios se creo una vista como guía, la cual contendrá las respuestas ingresadas y botones para la gestión como se puede ver en la figura 4.15.

Figura 4.15 Vista preguntas

Basándonos en el siguiente diagrama de flujo para procesar y almacenar la información.

(50)

49

Nuevo Modificar Eliminar

Registra datos de pregunta

Almacena datos

Confirmación de pregunta

registrada

Registra cambios en pregunta

Almacena datos

Confirmación de cambios

Elimina pregunta

Cuestionarios Preguntas Respuestas

Figura 4.16 Diagrama de flujo Preguntas

Ya con las preguntas creadas pasaremos a crear las respuestas a cada una de las preguntas, esta parte puede ser como el usuario lo considere mas conveniente ya que puede crear las respuestas después de ingresar una pregunta y no crear todas las preguntas y después todas las respuestas. En esta parte solo hará la gestión de las preguntas, aquí es mas simple que cuestionarios y preguntas como lo vemos en la figura 4.17.

Figura 4.17 Acciones respuestas

(51)

50 La vista de esta sección es sencilla y con pocas acciones como lo vemos a continuación

Figura 4.18 Vista respuestas

En su diagrama de flujo se muestra como la información es requerida para ser procesada

Respuestas

Nuevo

Registra datos de respuesta

Almacena datos

Confirmación de respuesta registrado

Eliminar

Elimina respuesta Preguntas

Figura 4.19 Diagrama de flujo de Respuestas

(52)

51 Ahora pasaremos a ver el menú de data este es uno de los mas sencillos, ya que se pensó que solo tendría una acción la cual es obtener la información de un cuestionario como lo observamos en las figuras 4.20 y 4.21. Y mostrarla en un archivo separado por comas CSV (Comma Separated Values), para su posterior análisis de esta información.

Figura 4.20 Acciones data

Figura 4.21 Vista data

El flujo de la obtención de la información lo podemos observar en la imagen siguiente.

(53)

52

Data

Seleccionar cuestionario

Vista previa

Extraer cuestionario

Genera archivo

Figura 4.22 Diagrama de Flujo Data

El menú de usuarios es sencillo, solo para limitar el acceso, para ello se pensó en una gestión sencilla como se observa en la figura 4.23 y 4.24. Con una vista similar a los demás menús.

Figura 4.23 Acciones usuarios

(54)

53

USUARIOS

Nuevo Eliminar

NUEVO

Guardar Regresar

inserta_usuario .php

Regresar

Siguiente Regresa

Figura 4.24 Vista usuarios

Con un diagrama de flujo sencillo para procesar e ingresar la información a continuación

Usuarios

Nuevo Eliminar

Registrar datos

Usuario almacenado en la Base de Datos

Confirmación de registro

Usuario eliminado de la Base de Datos

Figura 4.25 Diagrama de flujo de Usuarios

(55)

54 Ahora será el turno de la sección operativa, donde se pensó que fuera lo mas sencillo posible, donde solo seleccionáramos el cuestionario y posteriormente se procedería a contestarlo, lo podemos observar en la figura 4.26.

Figura 4.26 Acciones área operativa

La vista para esta parte debería solo contener la selección contesta el cuestionario, esto lo podemos observar en la figura 4.27.

Figura 4.27 Vista área operativa

(56)

55 En ambas secciones se encuentra la opción en el menú de salir, el cual se encargara de destruir la variable de sesión almacenada en los archivos temporales del ordenador cliente.

Elige cuestionario

Contesta

cuestionario Almacena respuestas en Base de Datos

Confirmación de datos guardados

Figura 4. 28 Diagrama de flujo Operador

(57)

56 4.3 Implementación

En base al análisis diseñado para el sistema, se obtienen los siguientes resultados del sistema

En la pantalla principal se encuentra el login (autentificación de usuarios), en esta pantalla se ingresa el usuario y se define el rol del usuario para enviarlo al modulo correspondiente del sistema ya sea administrativo u operativo, en caso de no existir el usuario no permite ingresar al sistema

Figura 4.29 Pantalla Login

En caso de que el usuario tenga perfil Administrador , se muestra la siguiente pantalla en la

cual se tiene el menú Cuestionarios , Data y Usuarios

(58)

57 Figura 4.30 Pantalla Principal usuario Administrador

En la opción de cuestionarios se tienen las opciones: nuevo, modificar, eliminar, crear preguntas (acceso al menú preguntas) y vista previa

Figura 4.31 Pantalla menú Cuestionarios

(59)

58 Al elegir nuevo cuestionario, que es el primer paso en la creación del cuestionario o encuesta, se muestra el siguiente formulario en el cual se ingresa el nombre del cuestionario

Figura 4.32 Pantalla Nuevo cuestionario

En el caso de que se requiera modificar datos de un cuestionario existente, se ingresa a la opción modificar en la cual se guardan los cambios registrados

Figura 4.33 Pantalla modificar Cuestionario

(60)

59 Para el modulo de preguntas, se tiene el siguiente menú, en el cual se pueden realizar altas, bajas y modificaciones de preguntas sobre el cuestionario previamente seleccionado, en este modulo también se encuentra el acceso a preguntas, sobre la pregunta seleccionada

Figura 4.34 Pantalla Preguntas

En la siguiente pantalla se muestra el formulario de los datos que se requieren para ingresar

la pregunta nueva, en este podemos observar que se requiere nombre, instrucciones, tipo de

respuesta y si esta pregunta debe tener carácter obligatorio al responder

(61)

60 Figura 4.35 Pantalla para ingresar Preguntas

En la siguiente pantalla observamos el menú de respuesta a ingresar sobre la pregunta previamente seleccionada, en esta se tienen las opciones de nuevo y eliminar

Figura 4.36 Pantalla ingreso de Respuestas

(62)

61 Para eliminar registros, se tiene como ejemplo la siguiente pantalla ya que en esta observamos como al eliminar un registro, en este caso un cuestionario manda una alerta de confirmación antes de realizar la acción, cabe mencionar que en el caso de cuestionarios elimina todos los registros implicados en este, es decir preguntas y respuestas, en el caso de preguntas elimina también sus respuestas.

Figura 4.37 Eliminar cuestionarios

La pantalla Vista Previa, nos muestra como su nombre lo indica una vista final del

cuestionario que previamente capturamos, al seleccionar el cuestionario deseado, nos

muestra sus preguntas y sus respuestas de los diferentes tipos solicitados, la vista que se

muestra es la pantalla final que vera el usuario operador para contestar el cuestionario

(63)

62 Figura 4.38 Pantalla Vista previa

Para la explotación de la información se tiene la opción data en la que se selecciona el cuestionario del cual se desea obtener la información contestada por los usuarios

Figura 4.39 Pantalla Extracción de información

(64)

63 Este es un ejemplo de archivo de un cuestionario del cual se obtuvo información en formato Excel donde tenemos los ID de preguntas, respuestas y cuestionarios, y el valor asignado de cada pregunta, así como las respuestas de los usuarios

Figura 4.40 Ejemplo archivo procesado de Datos

En usuarios, administramos los usuarios de la aplicación, en este se dan las altas y bajas

(65)

64 Figura 4.41 Pantalla Usuarios

Estos son los datos necesarios para el alta de un usuario, en este se asigna el perfil o rol que tendrá el usuario

Figura 4.42 Pantalla Formulario de datos para usuarios nuevos

Referencias

Documento similar