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
1
2
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
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
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
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
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
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
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.
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
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.
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).
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.
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
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
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.
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
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.
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
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).
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
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.
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
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.
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
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
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
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.
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
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
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.
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
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.
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
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.
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 .
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.
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
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.
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.
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
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.
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
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
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;
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
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
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.
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
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
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.
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
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
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
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