Вы находитесь на странице: 1из 55

GestEn: Plataforma web para la

gestin de encuestas
Universidad de La Laguna
Diciembre 2006
Escuela Tcnica Superior de Ingeniera
Informtica
Proyecto
Ingeniera Informtica
Csar Perera Sanz
Hctor Amador Cceres

Introduccin

Importancia de las encuestas

Falta de gestores de
encuestas

Conceptos bsicos de encuestas

Etapas de una encuesta

Internet como herramienta de


encuestas

Medios tradicionales:
problemas
Internet: ventajas e
inconvenientes

Introduccin
Conceptos bsicos de encuestas

Censo vs Encuesta

Ventajas de la Encuesta

Menor coste econmico


Mayor rapidez anlisis y obtencin resultados
Menos entrevistadores y ms capacitados
Acota el pblico objetivo
Mtodos cientficos para corregir errores

Introduccin
Conceptos bsicos de encuestas

Desventajas de la Encuesta frente al Censo

No permite estimaciones para reas pequeas


Planeamiento y ejecucin complejos
Diseo a cargo de profesionales capacitados
Generalmente el pblico las rechaza

Introduccin
Etapas de una encuesta

1.Planeacin
2.Elaboracin diseo de investigacin
3.Diseo de la muestra
4.Diseo de cuestionario
5.Trabajo de campo
6.Verificacin y codificacin
7.Preparacin para el anlisis
8.Anlisis y preparacin del informe

Introduccin
Internet como medio de encuestas

Mtodos de encuesta tradicionales (correo


postal, telefnica, cara a cara, reparto de
cuestionarios)

Desventajas:

Alto coste econmico


Proceso lento de recogida de datos
Necesidad de entrevistadores cualificados
Necesidad de verificacin y codificacin de datos
recogidos.

Introduccin
Internet como medio de encuestas

Internet como medio para la realizacin de


encuestas

Ventajas:

Menos coste econmico


Inmediatez en publicacin y recogida de datos
Diversas ubicaciones e idiomas
Contenido multimedia
Mayor interactividad y menos intrusivas

Introduccin
Internet como medio de encuestas

Internet como medio para la realizacin de


encuestas

Desventajas:

Riesgo de no abarcar homogneamente muestra


escogida
Sin supervisin en las contestaciones
Rechazo en algunos sectores de la poblacin
Se excluye sectores sin Internet o no familiarizados
con ella

Objetivos

Entorno Web intuitivo: diseo de encuestas y


recogida de datos.
Metodologa

Modelo ingeniera del software

UML

Documentacin del proyecto

Requisitos

Accesibilidad

Multiplataforma

Software libre

Escalabilidad

Seguridad

Uso de estndares

Objetivos
Entorno Web intuitivo: diseo de encuestas y recogida de datos

Atacar dos problemas asociados a los


mtodos tradicionales de encuestas

Alto coste econmico


Tiempo invertido en el trabajo de campo,
verificacin y codificacin de los resultados

Investigacin en el campo del desarrollo de


aplicaciones web

Integracin de herramientas de software libre

Uso de estndares abiertos (XML, ...)

Objetivos
Metodologa: Modelo ingeniera del software

Modelo de desarrollo incremental

Variacin del ciclo de vida clsico en cascada


Modelo flexible para proyectos modulares y
equipos de trabajo reducidos
Los requisitos evolucionan en el tiempo

Objetivos
Metodologa: Modelo ingeniera del software (II)

Modelo de desarrollo incremental

Ventajas:

Se adapta a la naturaleza evolutiva del software


Incrementos permiten descubrir nuevos
requerimientos
Cliente se involucra mas (versiones operativas)
Menor riesgo fracaso (riesgo distribuido)

Inconvenientes

Determinar funcionalidades en cada incremento


Peligro de caer en el modelo construir y corregir

Objetivos
Metodologa: UML

Estndar de facto para el DOO

Flexibilidad en el modelado

No es un mtodo de desarrollo paso a paso

Anlisis dirigido por casos de uso (requisitos de usuario)

Permite modelar la estructura esttica y el


comportamiento dinmico
Diagramas utilizados

Casos de uso

Diagrama de paquetes

Diagrama de clases

Diagrama de secuencia (comportamiento dinmico)

Objetivos
Metodologa: Documentacin del proyecto

Herramientas de software libre

Objetivos
Requisitos

Accesibilidad

Internet (mayor difusin)


Compatibilidad con navegadores, S.O., etc
Entorno visual claro, sencillo e intuitivo
Tiempos de acceso reducidos

Multiplataforma

Servidor Web
Tecnologa de desarrollo en el servidor
SGBD
Aplicaciones de soporte

Objetivos
Requisitos (II)

Software libre

Escalabilidad

Sistemas de software utilizados (Web, ...)


Cdigo modular (fcil ampliacin, OO)

Seguridad

Disponibilidad del cdigo fuente


Evita los costes de las licencias comerciales

Datos confidenciales (diseadores, encuestados)


Parte pblica y privada (requiere autenticacin)

Uso de estndares

XML, CSS, PDF, ...

Investigacin

Estndares de encuestas
existentes
Gestores existentes
Legislacin y proteccin de
datos

Investigacin
Estndares de encuestas existentes

ADM Asociacin alemana de institutos de


investigacin de mercado y opinin

Centro Centroamericano de Poblacin,


Universidad de Costa Rica

Estndar de calidad para la realizacin de encuestas


por Internet

EQML (especificacin XML), basado en un modelo


matemtico llamado lgebra de preguntas

Triple-S

Estndar abierto XML para compartir encuestas entre


sistemas multiplataforma

Investigacin
Gestores existentes

Survey Manager de NetQuest (web)

QuestionMark (Windows, Web)

Entryware (Windows, PalmOS)

Atnova Perception (Web)

Encuesta Fcil (Web)

2Ask (Web)

CleverForm (Web)

SnapSurveys (Windows)

Web Survey Toolbox (opensource, Java)

PhpESP (opensource, web)

PhpSurvey (opensource, web)

Investigacin
Legislacin, proteccin de datos

Datos personales contenidos en el sistema

Regulado por la Ley Orgnica 15/1999 de Proteccin


de Datos de Carcter Personal.
Si el fichero que contiene las encuestas no refleja
ningn dato personal, conforme la definicin dada por
la Ley Orgnica 15/1999, ste no estara sometido a
lo dispuesto en el artculo 20 del mismo texto legal.
Por lo tanto, no existe, obligacin de declarar e
inscribir el mismo en el Registro de Ficheros de Datos
de Carcter Personal de la Agencia Espaola de
Proteccin de Datos.

Diseo de la solucin

Tecnologas Web involucradas

Concepto de aplicacin Web

Arquitectura MVC

AJAX

XML

PHP

Servidor Web: Apache

SGBD: Firebird

Diseo de la solucin
Tecnologas Web involucradas: Concepto de aplicacin Web

Diseo de la solucin
Tecnologas Web involucradas: Arquitectura MVC

Patrn de diseo de software

El modelo: representacin del dominio de la


informacin (lgica de negocio)

La vista: componentes encaminados a mostrar


una representacin concreta del modelo
(interfaz de usuario)

El controlador: relaciona las entradas externas


al sistema con acciones necesarias sobre el
modelo (cambios en el modelo y actualizaciones
en la vista)

Diseo de la solucin
Tecnologas Web involucradas: Arquitectura MVC (II)

Diseo de la solucin
Tecnologas Web involucradas: AJAX

Tcnica para potenciar la interactividad:

Presentacin basada en estndares usando


XHTML y CSS.
Visualizacin e interaccin dinmicas usando el
Document Object Model.
Intercambio y manipulacin de datos mediante
XML y XSLT.
Recuperacin de datos asincrnica usando el
objeto XMLHttpRequest.
JavaScript como hilo conductor de todas estas
tecnologas.

Diseo de la solucin
Tecnologas Web involucradas: AJAX (II)

Diseo de la solucin
Tecnologas Web involucradas: XML

Estndar del W3C concebido para describir


informacin.
Portabilidad entre aplicaciones heterogneas
Formado por elementos (componentes
lgicos) y atributos (calificadores)
Tipos de documentos:

Bien formados: cumplen las especificaciones


sintcticas del lenguaje
Vlidos: semntica determinada por un documento de
definicin (DTD o XML Schema)

Diseo de la solucin
Tecnologas Web involucradas: XML (II)

Estructura de un documento XML:

Puede contener un prlogo con una declaracin XML y


una declaracin de tipo de documento (DTD)
Estructura estrictamente jerrquica
Sintaxis de elementos sin contenido:
<elemento_sin_contenido />
Slo un elemento raz del que parten todos los dems
Valores de atributos deben estar encerrados entre
comillas simples o dobles.
Sensible a maysculas y minsculas
Nomenclatura de elementos y atributos similar a los
identificadores en la mayora de lenguajes de
programacin.

Diseo de la solucin
Tecnologas Web involucradas: XML (III)

Tipos de procesamiento de un documento


XML:

SAX: recorrido secuencial basado en procesamiento


orientado a eventos
DOM: creacin en memoria del rbol de objetos que
representa el documento XML

Tecnologas asociadas con XML

DTD/XML Schema

XSLT

XSL-FO

XPath

Diseo de la solucin
Tecnologas Web involucradas: PHP

Lenguajes de lado del servidor ms extendidos en Internet.

Cdigo embebido en documentos HTML.

Cdigo libre y abierto.

Multiplataforma.

Soporte para varios servidores Web.

Soporte para mltiples SGBD.

Dispone de mucha documentacin de forma gratuita.

Diseo modular y ampliamente extensible.

Flexibilidad en el lenguaje y sintaxis clara y prxima a


lenguajes como C++, java o perl.
Seguro.

Diseo de la solucin
Tecnologas Web involucradas: Servidor Web: Apache

Servidor HTTP de cdigo abierto multiplataforma.

Gran rendimiento con unos requerimientos de hardware razonables.

Soporte del ltimo protocolo HTTP 1.1.

Altamente configurable, con un fichero de configuracin nico y potente.

Modularidad (un ncleo y mltiples extensiones en forma de mdulos)

Soporte para CGI y FastCGI.

Soporta mltiples hosts virtuales, adems de hosts basados en IP.

Soporte de autenticacin HTTP.

Perl integrado.

Integracin absoluta, mediante mdulos, con lenguajes de scripting como PHP,


JSP e incluso con la plataforma .NET.

Servidor Proxy integrado.

Soporte SSL utilizando OpenSSL.

Diseo de la solucin
Tecnologas Web involucradas: SGBD: Firebird

SGBD relacional de cdigo abierto y multiplataforma,


basado en la versin 6 de Interbase.
Requerimientos de hardware bajos en comparacin con
otros sistemas.
Pleno soporte del estndar SQL-92, tanto de sintaxis como
de tipos de datos.
Soporta varias arquitecturas como cliente/servidor sobre
protocolo TCP/IP, sistemas embebidos, etc.
Soporte de transacciones, reglas de integridad avanzadas,
procedimientos almacenados, triggers, almacenamiento de
objetos binarios, seguridad mediante usuarios y roles, etc
Controlador nativo para PHP.

GestEn: descripcin funcional

Descripcin general

Descripcin de una encuesta

Ciclo de vida de una encuesta


en GestEn
Usuarios. Parte pblica y rea
de administracin
XML: descripcin de los
formatos
Condiciones de flujo

GestEn: descripcin funcional


Descripcin general

Entorno Web uniforme:

Diseo y gestin de encuestas.


Publicacin y mantenimiento.
Recogida y exportacin de datos.

XML como representacin de encuestas y


respuestas.

GestEn: descripcin funcional


Descripcin general (II)

GestEn: descripcin funcional


Descripcin de una encuesta

Cinco tipos de preguntas

Valor entero
Valor decimal
Texto
Seleccin
Seleccin mltiple

Preguntas organizadas en bloques

Flujo de control para la presentacin de bloques

Tipos de accesos:

Pblico
Protegido por contrasea

GestEn: descripcin funcional


Ciclo de vida de una encuesta en GestEn

GestEn: descripcin funcional


Usuarios: Parte pblica

Parte Pblica:

Un Buscador de encuestas activas, agrupadas por


reas de conocimiento o grupos temticos. Este
buscador permitir acceder a una pequea
descripcin de las encuestas, en la cual el
encuestado decidir si desea o no iniciar la encuesta
que haya seleccionado.
Un buscador de aquellas encuestas cerradas que
tengan publicados su resumen de resultados.
Tambin existir un acceso directo a cualquier
encuesta del sistema introduciendo su cdigo
identificador.

GestEn: descripcin funcional


Usuarios. rea de administracin

Entorno de administracin y diseo:

Diseo de encuestas
Publicacin y gestin de encuestas
Administracin de usuarios

Permisos globales:

Diseador
Operador
Administrador

GestEn: descripcin funcional


Usuarios. rea de administracin (II)

Grupos de usuarios (departamentos, reas, etc)

Niveles de acceso a encuestas por grupos


Ninguno
Solo lectura
Operacin
Diseo y operacin
Los permisos globales prevalecen sobre los niveles de
acceso

Permiten la colaboracin en el proceso de diseo y


mantenimiento de las encuestas
Un usuario puede pertenecer a varios grupos

GestEn: descripcin funcional


XML: formato encuesta

GestEn: descripcin funcional


XML: formato encuesta (II)

GestEn: descripcin funcional


XML: formato respuesta

GestEn: descripcin funcional


Condiciones de flujo

Las encuestas se presentan al encuestado en


bloques
Condiciones de flujo:

Permiten alterar el flujo predeterminado que sigue el


proceso de contestacin de una encuesta

Formato:
Si condicin entonces: ir a bloque X

Lenguaje de expresiones condicionales

Ejemplo: ((p1 > 6) or (p2 > p1)) and (p4 = 7.1)


Implementa un analizador sintctico para la validacin
y evaluacin de las expresiones

GestEn: descripcin funcional


Condiciones de flujo (II)

Mtodo de anlisis empleado:

Anlisis sintctico descendente predictivo


recursivo

GestEn: descripcin tcnica

Esquema general: POO, MVC y


AJAX
Diagrama de paquetes.
Descripcin de cada paquete.
Algn diagrama de clases UML
AJAX: implementacin en
GestEn (motor / RPC)
Estructura de la base de datos (y
funcin aplana)
Demostracin

GestEn: descripcin tcnica


Esquema general: POO, MVC y AJAX

Programacin orientada a objeto. Todo el cdigo


fuente PHP de la aplicacin est desarrollado
siguiendo orientacin a objetos
Arquitectura MVC. GestEn ha sido implementado
siguiendo el patrn de diseo modelo-vista-controlador.
Por tanto, todas las clases que componen la aplicacin
estn claramente englobadas en alguno de los tres
componentes del modelo.
Uso de AJAX. GestEn hace uso de esta tecnologa,
especialmente en el rea de administracin, tanto para
reducir los tiempos de servicio de la aplicacin, como
para dar un mayor dinamismo a la interfaz con el
usuario.

GestEn: descripcin tcnica


Diagrama de paquetes

GestEn: descripcin tcnica


Descripcin de cada paquete

Modelo

Clases XML: aqu engloban todas las clases que modelan


la definicin XML de las encuestas y de las respuestas
Clases BD: contiene el subconjunto de las llamadas clases
de negocio que son persistentes, es decir, se graban en la
base de datos.
Soporte: clases de soporte general que proveen,
funcionalidades como el tratamiento de fechas, la gestin
de las conexiones con la base de datos y la gestin de las
sesiones de usuario en el servidor.
Excepciones: las clases que se encargan del tratamiento
de las excepciones y la personalizacin de los mensajes
de error.

GestEn: descripcin tcnica


Descripcin de cada paquete (II)

Controlador

Main: contiene el cdigo de control de la aplicacin.


RPC/AJAX: cdigo JavaScript del motor AJAX
implementado y cdigo PHP que da servicio a las
peticiones del motor.

Vista

Pginas HTML: clases encargadas de la generacin


del cdigo HTML
Soporte HTML: clases de apoyo para la generacin
del interfaz HTML (generacin de formularios, tablas
de resultados, control de la paginacin, generacin
de PDF, etc)

GestEn: descripcin tcnica


AJAX: implementacin en GestEn

Lado del cliente

Motor AJAX

Encapsula la creacin y manipulacin del objeto


XMLHttpRequest
Ofrece funcionalidades bsicas de comunicacin

Lado del servidor

Funcionamiento de las clases RPC


1. Reciben la peticin del motor AJAX
2. Interactan con el modelo
3. Se construye la vista o cdigo de resultado
4. El resultado se enva al motor AJAX
5. El motor integra la vista generada con la vista actual

GestEn: descripcin tcnica


Estructura de la base de datos

GestEn: descripcin tcnica


Estructura de la base de datos (II)

Uso de procedimientos almacenados:

Operaciones ms costosas
Operaciones de creacin de registros, que incluyen el
clculo de nuevos identificadores

Uso de dominios para la definicin de todos los


campos.
El uso de campos BLOB (Binary Large Objects)
para el almacenamiento de los documentos XML
de definicin de las encuestas y de las respuestas.
Uso de UDF (Funciones Definidas por el Usuario).

GestEn: descripcin tcnica


Demostracin

www.goma.ull.es/gesten_web

GestEn
Agradecimientos

Gracias por su atencin.

Вам также может понравиться