Proyecto de Titulo - Sebastian Diaz Castro
-
Upload
sebastian-boris-diaz-castro -
Category
Documents
-
view
86 -
download
0
description
Transcript of Proyecto de Titulo - Sebastian Diaz Castro
UNIVERSIDAD MAYOR
FACULTAD DE INGENIERÍA
FASE FUNCIONAL DEL SISTEMA DIGITAL DE EVALUACIÓN DE
SATISFACCIÓN DEL CLIENTE PARA ROWSIS LTDA.
Proyecto de Titulo para Optar al Título de
Ingeniero en Computación e Informática
SEBASTIÁN BORIS DÍAZ CASTRO
TEMUCO - CHILE
JUNIO 2014
UNIVERSIDAD MAYOR
FACULTAD DE INGENIERÍA
FASE FUNCIONAL DEL SISTEMA DIGITAL DE EVALUACIÓN DE
SATISFACCIÓN DEL CLIENTE PARA ROWSIS LTDA.
Proyecto de Titulo para Optar al Título de
Ingeniero en Computación e Informática
Alumno: Sebastián Boris Díaz Castro
Profesor Guía: Miguel Carrasco Quijada
Ingeniero Civil Industrial
TEMUCO - CHILE
JUNIO 2014
AGRADECIMIENTOS
El presente trabajo de tesis primeramente me gustaría agradecerte a ti Dios por
bendecirme para llegar hasta donde he llegado, porque hiciste realidad este sueño
anhelado.
A mi novia, mi familia, mis amigos, en general por todo el esfuerzo empeñado en mí
y por toda la confianza a través de estos 6 años de universidad que he cursado,
también agradecer a mis seres amados que ya no están en este mundo, y que en
algún lugar nos observan y nos cuidan, Gracias por Todo.
A la Universidad Mayor Sede Temuco por darme la oportunidad de estudiar y ser el
primer Ingeniero de mi familia, y de poder dar descendencia de este conocimiento.
A mis compañeros de Universidad, con los cuales yo compartí los mejores momentos
de mi vida universitaria, por todo lo ayudado, enseñado y aprendido, Gracias.
A mi Profesor de tesis, Don Miguel Carrasco por su esfuerzo y dedicación, quien con
sus conocimientos, su experiencia, su paciencia y su motivación ha logrado en mí
que pueda terminar mis estudios con éxito.
También me gustaría agradecer a mis profesores durante toda mi carrera profesional
porque todos han aportado con un granito de arena a mi formación, y en especial a
mis profesores Don Miguel Carrasco, Don Marcos y Don Esteban Bastias por sus
consejos, su enseñanza y más que todo por su amistad.
A mis maestros que en este andar por la vida, influyeron con sus lecciones y
experiencias en formarme como una persona de bien y preparada para los retos que
pone la vida, a todos y cada uno de ellos les dedico cada una de estas páginas de mi
tesis al cuerpo docente de la Escuela de Ingeniería Mayor Temuco, y también a los
docentes que ya no están presentes en la escuela:, Tatiana Aranguiz, , Norman
Moreno, Pedro Manquilef, Andrés Morales, Jorge Gálvez, Mario Sepúlveda, Fredna
Riquelme, Loreto Yañez, Miguel Carrasco, Raúl Burgos, Rodrigo Collipal, Roberto
Conejeros, Jorge Méndez, Sergio Figueroa.
DEDICATORIA
Con todo mi cariño y mi amor para las personas que hicieron todo en la vida para
que yo pudiera lograr mis sueños, por motivarme y darme la mano cuando sentía que
el camino se terminaba, a ustedes por siempre mi corazón y mi agradecimiento,
Mama Gladys y Mama Rosa.
A tu paciencia y comprensión, preferiste sacrificar tu tiempo para que yo pudiera
cumplir con el mío. Por tu bondad y sacrificio me inspiraste a ser mejor para usted,
ahora puedo decir que esta tesis lleva mucho de usted, gracias por estar siempre a
mi lado, Lidia.
Como un padre siempre te he visto y como una madre también, gracias a su
sabiduría influyeron en mi la madurez para lograr todos los objetivos en la vida, es
para ustedes está tesis en agradecimiento por todo su amor. Gracias amados
abuelos, Dina y Alfonso.
Gracias a esas personas importantes en mi vida, que siempre estuvieron listas para
brindarme toda su ayuda, ahora me toca regresar un poquito de todo lo inmenso que
me han otorgado. Con todo mi cariño está tesis se las dedico a ustedes: Madrina
Cristina, Padrino Alfonso, Tío Rodrigo, Tía Viviana, Amigo Juan Carlos
Al equipo ROWSIS, quienes me acogieron y apadrinaron en su emprendimiento me
han enseñado los valores profesionales duros y blandos del día a día: Enzo Agüero,
Mauricio Pérez, Gonzalo Cea, Bruno Di Carlo, Daniel LLanquinao, Pablo Álvarez
i
INDICE
Página
INDICE ........................................................................................................................................ i
RESUMEN ............................................................................................................................... iv
ABSTRACT .............................................................................................................................. v
CAPITULO I: INTRODUCCIÓN ............................................................................................ 1
1.1. ANTECEDENTES GENERALES ................................................................... 1
1.2. OBJETIVOS ................................................................................................... 5
1.2.1. Objetivo General .............................................................................................................. 5
1.2.2. Objetivos Específicos ........................................................................................................ 5
1.2.3. Resultados Esperados....................................................................................................... 6
1.3. METODOLOGÍA DE DESARROLLO DEL PROYECTO ............................... 7
FIGURA Nº 1. Diagrama del modelo evolutivo ................................................................................. 7
CAPITULO II: MARCO TEÓRICO ....................................................................................... 8
2.1. SISTEMAS DE INFORMACIÓN .................................................................... 8
2.1.1. Clasificación de los Sistemas de Información ................................................................... 9
2.2. METODOLOGÍAS DE DESARROLLO ..................................................................................... 10
2.3. TECNOLOGÍAS DE DESARROLLO ........................................................... 15
2.3.1. Internet ........................................................................................................................... 15
2.3.2. Intranet ........................................................................................................................... 16
2.3.3. Red de Área Local ........................................................................................................... 17
2.3.4. Plataforma de Trabajo .................................................................................................... 18
2.3.5. Base de Datos ................................................................................................................. 26
2.3.6. MYSQL ............................................................................................................................ 30
2.3.7. Servidor Web .................................................................................................................. 31
2.3.8. Appserv ........................................................................................................................... 31
2.3.9. Apache ............................................................................................................................ 32
2.3.10. Lenguaje de Programación ............................................................................................. 33
2.3.11. Tipos de Lenguajes de Programación ............................................................................. 35
ii
2.3.12. Herramienta de Desarrollo ............................................................................................. 39
2.3.13. Dispositivos Móviles ....................................................................................................... 50
CAPITULO III: REQUERIMIENTOS .................................................................................. 54
3.1. ANÁLISIS DE REQUERIMIENTOS ............................................................. 54
3.2. DIAGNÓSTICO DE LA SITUACIÓN ACTUAL ............................................ 56
3.3. FORTALEZAS Y DEBILIDADES ................................................................ 56
3.4. TECNOLOGIAS Y METODOS IMPLEMENTADOS .................................... 58
3.4.1. Encuestas ........................................................................................................................ 58
3.5. INVESTIGACION DE FUNCIONALIDADES DE LOS SUBTITUTOS ......... 63
3.6. INVESTIGACION DE FUNCIONALIDADES DE SURVEYMONKEY COMO MODELO SUBTITUTO A DESARROLLAR .......................................................... 66
CAPITULO IV: DISEÑO Y CODIFICACION DEL SISTEMA BASE ............................. 68
4.1. GENERALIDADES Y CONTEXTO .............................................................. 68
4.2. DESARROLLO DEL PROYECTO ............................................................... 68
4.3. DIAGRAMA DE PROTOTIPO BASE ........................................................... 69
FIGURA N° 9: Diagrama de prototipo base .................................................................................... 69
4.4. Diagrama de Prototipo con conexión a motor Wordpress ..................... 70
DIAGRAMA N° 10: Prototipo con conexión a motor Wordpress ................................................... 70
4.5. DESCRIPCIÓN DEL PROTOTIPO BASE ................................................... 71
4.5.1. PANTALLA PRINCIPAL DE PROTOTIPO BASE ................................................................... 71
4.5.2. PANTALLA VER TU SUCURSAL ........................................................................................ 72
4.5.3. PANTALLA ENCUESTA ..................................................................................................... 73
4.5.4. PANTALLA ESTILOS DE ENCUESTAS ................................................................................ 74
4.5.5. PANTALLA ESTILOS DE ENCUESTAS ................................................................................ 75
4.5.6. PANTALLA PREVISUALIZAR ............................................................................................. 76
4.5.7. PANTALLA DE PRODUCTOS ............................................................................................ 77
4.5.8. PANTALLA DE DESCUENTOS ........................................................................................... 78
4.5.9. PANTALLA CODIGO QR ................................................................................................... 79
4.5.10. PANTALLA REPORTES ..................................................................................................... 80
4.5.10.1. PANTALLA ESTADISTICAS............................................................................................ 81
4.5.11. PANTALLA SOPORTE ....................................................................................................... 82
4.6. PANTALLA DE PROTOTIPO CON WORDPRESS Y MYSQL ................. 83
iii
CONCLUSIONES .................................................................................................................. 84
CONCLUSIONES TÉCNICAS ............................................................................... 84
CONCLUSIONES GENERALES ........................................................................... 85
BIBLIOGRAFÍA Y REFERENCIAS ELECTRÓNICAS ................................................... 86
ANEXOS ................................................................................................................................. 87
ANEXO N1: PATROCINIO DEL TESISTA POR ROWSIS LTDA. ........................ 87
iv
RESUMEN
El presente proyecto, llamado “fase funcional del sistema digital de evaluación de
satisfacción del cliente para ROWSIS LTDA”, está enfocado a resolver una
problemática que afecta a ROWSIS., ROWSIS es un emprendimiento chileno local,
que fue patrocinado por CORFO, en una iniciativa de Innova Chile.
El proyecto, consiste en crear un sistema de encuestas para empresas en la que los
clientes puedan hacer estudio de tus potenciales nuevos productos y/o servicios a
través de la participación del público consumidor de sus clientes, mediante una
aplicación móvil en la cual interactuaran con un módulo QR.
En la primera parte de este trabajo de título, se requiere desde el aspecto técnico la
finalización del producto mínimo viable (PMV) con control de calidad y procesos,
también se presente investigar y probar prototipos de aplicación móvil, que integran
varias funciones actuales sobre reportes estadísticos vía gráficos en sus distintos
formatos.
En la segunda etapa, consiste en desarrollar un estudio de mercado e innovación del
proyecto para medir el impacto concluyente con clientes contratados y tomar
decisiones respecto del futuro comercial y técnico del proyecto.
v
ABSTRACT
This project, called "functional phase of the digital system for evaluating customer
satisfaction to ROWSIS Ltda”, is focused on solving a problem that affects ROWSIS
Ltda ROWSIS Ltda. is a local Chilean venture, which was sponsored by CORFO,
Innova initiative in Chile.
The project is to create a system of surveys for companies in which customers can
make your study of potential new products and / or services through the public
participation of their consumer customers through a mobile application which interact
with a QR module.
In the first part of this paper’s title, required support from the technical aspect
completion of minimum viable product (PMV) with quality control and processes, this
will also investigate and test prototypes of mobile application, integrating various
existing functions on statistical reports via graphics in various formats.
The second step is to develop a market research and innovation project to measure
the impact conclusive contracted customers and make decisions regarding the
business and technical project future.
1
CAPITULO I: INTRODUCCIÓN
1.1. ANTECEDENTES GENERALES
Sistema de encuestas, es un sistema digital para evaluar la satisfacción del cliente,
en el cual los consumidores de los clientes que usan Smartphone, pueden acceder a
la encuesta a través de un código QR (código de respuesta rápida), es una
plataforma de análisis estadísticos para clientes que buscan conocer el impacto de
sus productos y/o servicios desde la perspectiva económica, técnica e innovación en
sus clientes o usuarios finales (consumidores).
Una vez que dichos usuarios deciden interactuar con el modulo multimedia de
información automáticamente son redirigidos a una página web móvil en la cual se
ingresaran los datos de correo de la persona y luego responderá no más de 3
preguntas y 5 alternativas, posteriormente realizada la encuesta, se notificara a la
persona un agradecimiento junto con la posibilidad de participar en un sorteo de
algún producto o servicio dependiendo del lugar en donde efectúen la encuesta.
El Sistema de encuestas, esta principalmente manejado sobre un CMS llamado
Wordpress en el cual se manipula de forma pura y libre el html5, js, php,y también
integrando las tecnologías de hightchat y hightstock, se puede lograr una sección de
la página que realice los gráficos.
Descripción del equipo
ROWSIS Ltda., es un emprendimiento chileno, nació en la cuidad de Temuco en la
región de la Araucanía (Región IX), y está compuesto por un grupo multidisciplinario
de jóvenes emprendedores provenientes de la Universidad Mayor Sede Temuco
entre otras casas de estudio, participan Ingenieros en Computación e Informática,
Ingenieros Civiles industriales, Ingenieros Comerciales y Diseñadores Gráficos, su
principal rubro el desarrollo web a nivel local e internacional.
2
Enzo Agüero (CEO & Co-Founder | Director Ejecutivo): El emprendedor Principal o
más bien dicho el arquitecto detrás de la plataforma y organización, respalda por
años el estudio de mercado objetivo, para asegurar que la ejecución del producto se
ajuste a las necesidades del mercado, utilizando tecnologías y recursos de punta.
Encargado de la parte comercial y de gestión de procesos, también ligado a dar
soporte al equipo técnico. Licenciado en Ciencias de la Ingeniería de la Universidad
Mayor Sede Temuco, reconocido por el colegio de ingenieros, tiene experiencia en
los modelos de negocios orientados la innovación tecnológica industrial, ROWSIS
Ltda.es su primer emprendimiento, fue gestado desde la universidad a través de la
orientación de su director de escuela Señor Marcos Chandía.
Pablo Álvarez (Ingeniero de Proyectos): El planificador detrás de cada proyecto, es
encargado de la parte comercial de ROWSIS Ltda, la cual se encarga de contactar y
administrar a los clientes y transmitir las necesidades del desarrollo al equipo técnico,
traduciendo los requerimientos de cada proyecto y dar retroalimentación a la gestión
de procesos. Licenciado en Ciencias de la Ingeniería de la Universidad Mayor Sede
Temuco, ha estado desde el inicio formal de ROWSIS como empresa funcional.
Mauricio Pérez (PMO | Director Técnico | Consultor): Esta encargado de
retroalimentar a todas las áreas de procesos que tiene ROWSIS Ltda, como la parte
comercial, de gestión y técnica, con implementaciones de modelos de negocios,
gestión de clientes, desarrollo, y control de calidad. Licenciado en Ciencias de la
Ingeniería de la Universidad Mayor Sede Temuco, ha pertenecido a ROWSIS desde
su emprendimiento en la Universidad.
Gonzalo Cea (Director de Desarrollo | Consultor): El líder de la programación de los
proyectos, encargado de la calidad y eficiencia de todas las documentaciones a nivel
de código que se crean en cada proyecto, también está encargado de velar por la
calidad de las tecnologías usadas, participa en una área de la gestión de proyectos,
supervisa a todos los consultores, es Licenciado en Ciencias de la Ingeniería de la
Universidad Mayor Sede Temuco.
3
Bruno Di Carlo (Consultor): Experto en desarrollo de sistemas y aplicaciones
móviles en sistemas iOS, es Licenciado en Ciencias de la Ingeniería de la
Universidad Mayor Sede Temuco. Encargado de la programación y documentación
de los proyectos, coordina con el líder de programación y el líder del arte gráfico,
para definir las necesidades de cada proyecto y transmitírselo a los demás
desarrolladores.
Daniel Llanquinao (Consultor): Experto en desarrollo de sistemas y aplicaciones
móviles en sistemas Android y Windows8, es Licenciado en Ciencias de la Ingeniería
de la Universidad Mayor Sede Temuco. Encargado de la programación y
documentación de los proyectos coordina con el líder de programación y el líder del
arte gráfico, para definir las necesidades de cada proyecto y transmitírselo a los
demás desarrolladores.
Claudio Manzati (Director de Arte | Diseñador Gráfico): El líder de arte en esta arista
de ROWSIS, él es la mente artística y creativa detrás de los diseños web, también es
encargado de los diseños de usabilidad para hacer los sitios y aplicaciones web lo
más cómodas para el usuario, coordina con todo el resto del equipo desde los líderes
de cada área hasta los demás diseñadores que están a su cargo, es Licenciado en
Diseño de la Universidad Mayor Sede Temuco.
Pantalla de Imagen Corporativa, Fuente: Rowsis 2014
4
PRESENTACIÓN DEL PROBLEMA
El problema del proyecto en la actualidad, es que no hay alguien dentro del equipo
de ROWSIS Ltda., que se encargue del desarrollo del mismo, desde todas las
perspectivas que relacionan el área comercial (Validar Servicios con los Clientes),en
la gestión de procesos (Control de calidad y procesos), y en el área técnica de
desarrollo (Coordinar las tecnologías, programación y Diseño), por compromisos de
tiempos dedicados a otros proyectos por parte de todos los funcionarios, el proyecto
se encuentra en una etapa de gestación conceptual y está en trayectoria de avanzar
a la etapa del producto mínimo viable (PMV), para posteriormente ser enfocado a la
venta como un servicio de encuestas, como lo realiza la competencia directa o más
bien dicho el substituto de este servicio llamado “SurveyMonkey”, empresa estado
unidense, fundada el 2009 y que permite a sus usuarios crear encuestas online para
conocer la necesidad de sus respectivos clientes, dentro de sus 15 millones de
clientes se encuentran algunos como Facebook, Google, Samsung, entre otras.
Es requerido conseguir a una persona capacitada para las necesidades del proyecto,
que pueda cubrir las áreas y perspectivas anteriormente mencionadas, y converger
con el equipo de ROWSIS Ltda. En el desarrollo integral del proyecto, su posterior
puesta en macha y etapas de validación.
5
1.2. OBJETIVOS
1.2.1. Objetivo General
Proponer y disponer alternativas de innovación desarrollo, para el sistema de
evaluación digital de satisfacción del cliente, y dar soporte a todas las necesidades
del proyecto y al equipo de ROWSIS Ltda., para llevar a cabo el proyecto y cubrir
cada una de las necesidades de esta.
1.2.2. Objetivos Específicos
Investigar las tendencias en tecnologías de información para un sistema de
encuestas eficientes.
Evaluar las particularidades de cada plataforma en la documentación respectiva.
Crear y probar prototipos que controlen los diferentes parámetros de la base de
datos sobre los reportes y estadísticas que se quieren entregar.
Desarrollar interfaz de usuario mediante los diagramas de UML (Lenguaje
Unificado de Modelado), definir y programar los módulos de información de la
página del cliente, verificar con control de calidad si estos corresponden a los
resultados estipulados.
Integrar el resultado de la investigación y desarrollo con el Csm Wordpress y los
Plugins de Highchsrts y Hightstock.
6
1.2.3. Resultados Esperados
Lograr identificar una tecnología que permita cubrir las plataformas no cubiertas
por el sistema actual.
Definir el modelo de negocio, consumidor, proveedor y mercado objetivo.
Definir e identificar todas las aristas del proyecto y proyectar mitigaciones para
los plazos estipulados.
Crear una lista de clientes potenciales con alta probabilidad de contratar el
servicio.
Buscar un cliente con el cual se puedan realizar pruebas del sistema, en cuestión
de solucionar todas las grietas de los requerimientos mismos.
Desarrollar prototipos funcionales, generando versiones de éstos que permitan
servir de salvavidas en caso de requerir volver a una versión anterior, usando un
sistema de gestión de versiones.
Funcionamiento correcto de las aplicaciones demostrativas, para su correcta
presentación.
Correcta interacción del desarrollo y las tecnologías en cuestión con las
tecnologías previamente definidas.
Entregar a la ROWSIS Ltda., un sistema de información funcional y eficiente, que
sirva de base para el desarrollo de la futura versión de su sistema estadístico de
reportes, cubriendo las plataformas que no fueron tomadas en cuenta en la
producción de su actual sistema móvil.
7
1.3. METODOLOGÍA DE DESARROLLO DEL PROYECTO
Metodología de desarrollo incremental
El desarrollo del proyecto utilizará un marco de trabajo para estructurar, planificar y
controlar el proceso de desarrollo para este sistema de monitoreo, llamado
metodología Incremental. Su principal fortaleza es controlar la complejidad y los
riesgos asociados, avanzando al mismo tiempo en el producto (aplicación) final,
reservando además un margen para futuras mejoras (escalabilidad).
Los principios básicos son:
Una serie de mini-Cascadas representan tareas que se deben llevar a cabo
para avanzar hacia la siguiente fase del proyecto. La cascada principal
representa el avance general del proyecto (La Figura N°1 muestra un ejemplo
de estructura evolutiva).
Este modelo de desarrollo exige que se cumplan todas las tareas de una
etapa antes de proceder a la próxima etapa incremental.
Se definen los requisitos antes de proceder con la siguiente etapa, por lo tanto
se realiza un mini-Cascada que indica un paso hacia la siguiente etapa por
cumplir y marca el incremento del sistema total.
FIGURA Nº 1. Diagrama del modelo evolutivo
Fuente: Diagrama Propio en Lucidchart (2014).
8
CAPITULO II: MARCO TEÓRICO
2.1. SISTEMAS DE INFORMACIÓN
Es un conjunto de procedimientos interrelacionados que forman “un todo”, es decir,
obtienen, procesan, almacenan y distribuyen información para apoyar la toma de
decisiones y el control en una organización.
Entrada de Información: Es el proceso mediante el cual el Sistema de
Información toma los datos que requiere para procesar la información. Las
entradas pueden ser manuales o automáticas. Las manuales son aquellas que
se proporcionan en forma directa por el usuario, mientras que las automáticas
son datos o información que provienen o son tomados de otros sistemas o
módulos.
Almacenamiento de información: El almacenamiento es una de las
actividades o capacidades más importantes que tiene un computador, ya que a
través de esta propiedad el sistema puede recordar la información guardada en
la sección o proceso anterior. Esta información suele ser almacenada en
estructuras de información denominadas archivos. La unidad típica de
almacenamiento son los discos magnéticos o discos duros, memorias “Flash” y
los discos compactos (CD o DVD-ROM).
Procesamiento de Información: Es la capacidad del Sistema de Información
para efectuar cálculos de acuerdo con una secuencia de operaciones
prestablecida. Estos cálculos pueden efectuarse con datos introducidos
recientemente en el sistema o bien con datos que están almacenados. Esta
característica de los sistemas permite la transformación de datos fuente en
información que puede ser utilizada para la toma de decisiones, lo que hace
posible, entre otras cosas, que un tomador de decisiones genere una proyección
financiera a partir de los datos que contiene un estado de resultados o un
balance general de un año base.
9
Salida de Información: La salida es la capacidad de un Sistema de Información
para proveer la información procesada o bien datos de entrada al exterior.
FIGURA Nº 2. Diagrama del proceso de datos
Fuente: Diagrama Propio en Lucidchart (2014).
2.1.1. Clasificación de los Sistemas de Información
A continuación en esta sección se darán a conocer los sistemas de información
usados en este desarrollo.
2.1.1.1. Sistemas Transaccionales
Es un tipo de sistema de información diseñado para recolectar, almacenar, modificar
y recuperar todo tipo de información que es generada por las transacciones en una
organización. Una transacción es un evento o proceso que genera o modifica la
información que se encuentra eventualmente almacenada en un sistema de
información.
10
2.1.1.2. Sistemas de Apoyo a las Decisiones
Suelen introducirse después de haber implantado los sistemas transaccionales. Se
define como un conjunto de programas y herramientas que permiten obtener
oportunamente la información requerida durante el proceso de la toma de decisiones,
en un ambiente de incertidumbre.
2.1.1.3. Sistemas Estratégicos
Se define como el uso de la tecnología de la información para soportar o dar forma a
la estrategia competitiva de la organización, a su plan para incrementar o mantener
la ventaja competitiva o bien reducir la ventaja de sus rivales.
2.2. METODOLOGÍAS DE DESARROLLO
Para el desarrollo de Software, los profesionales utilizan modelos del ciclo de vida,
que intentan determinar el orden de las etapas involucradas y los criterios de
transición asociadas entre estas etapas.
Un modelo de ciclo de vida del Software:
Describe las fases principales de desarrollo de Software.
Define las fases primarias a ser ejecutadas durante esas fases.
Ayuda a administrar el progreso del desarrollo.
Provee un espacio de trabajo para la definición de un detallado proceso de
desarrollo de Software.
Los modelos por una parte suministran una guía para los ingenieros de Software con
el fin de ordenar las diversas actividades técnicas en el proyecto; por otra parte
suministran un marco para la administración del desarrollo y el mantenimiento, en el
sentido que permiten estimar recursos, definir puntos de control intermedios y
monitorear el avance.
11
2.2.1. Modelos del Ciclo de Vida
Para desarrollar e implementar un Sistema de Información se usan variados métodos
del ciclo de vida, con el fin de ordenar las diversas actividades del Proyecto. El
modelo de ciclo de vida escogido es un factor esencial para alcanzar los objetivos
buscados; de la mala elección del modelo del ciclo de vida depende que se retrase el
trabajo enormemente o que se tenga una planificación perfecta.
2.2.1.1. Modelo de Desarrollo Cascada
Es el más básico de todos los modelos y sirve como bloque de construcción para los
demás modelos de ciclo de vida. La visión del modelo cascada del desarrollo de
Software es muy simple; dice que este desarrollo puede realizarse a través de una
secuencia simple de fases. Cada fase tiene un conjunto de metas bien definidas y las
actividades dentro de ella contribuyen a la satisfacción de metas o quizás a una sub-
secuencia de metas de esa fase.
El modelo de ciclo de vida cascada, captura algunos principios básicos:
Planear un proyecto antes de ejecutarlo.
Definir el comportamiento externo deseado del sistema, antes de diseñar su
arquitectura interna.
Documentar los resultados de cada actividad.
Diseñar un sistema antes de codificarlo.
Probar un sistema después de construirlo.
Una de las contribuciones más importantes del modelo cascada, es permitir a los
administradores avanzar en el desarrollo.
12
2.2.1.2. Modelo de Desarrollo Incremental
Los riesgos asociados con el desarrollo de sistemas largos y complejos son
enormes. Una forma de reducir los riesgos es construir sólo una parte del sistema,
reservando otros aspectos para niveles posteriores.
El modelo de desarrollo incremental provee algunos beneficios significativos para los
proyectos:
1. Construir un sistema pequeño es siempre menos riesgoso que construir un
sistema grande.
2. Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los
requerimientos planeados para los niveles subsiguientes son correctos.
3. Si un error importante es detectado, sólo la última iteración necesita ser
descartada.
4. Los errores de desarrollo realizados en un incremento, pueden ser corregidos
antes del comienzo del próximo incremento.
2.2.1.3. Modelo de Desarrollo Evolutivo
Como el modelo de desarrollo incremental, el modelo de desarrollo evolutivo
construye una serie de grandes versiones sucesivas de un producto. El modelo
evolutivo asume que los requerimientos no son completamente conocidos al inicio
del proyecto; éstos son cuidadosamente examinados y sólo los que son bien
comprendidos son seleccionados para el primer incremento. Los desarrolladores
construyen una implementación parcial del sistema que recibe sólo éstos
requerimientos.
El sistema es entonces desarrollado, los usuarios lo utilizan y proveen
retroalimentación a los desarrolladores. Con base en esta retroalimentación, la
especificación de requerimientos es actualizada y una segunda versión del producto
es desarrollada y desplegada. El proceso se repite indefinidamente.
13
2.2.1.4. Modelo de Desarrollo Espiral
En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como se completa
un esfuerzo de desarrollo, otro comienza. Además, en cada desarrollo ejecutado, se
puede seguir estos cuatros pasos:
Determinar qué se quiere lograr.
Determinar las rutas alternativas que se puede tomar para lograr estas metas;
para cada una, se analiza los riesgos y resultados finales, seleccionando la mejor.
Seguir la alternativa seleccionada en el paso 2.
Establecer qué se tiene terminado.
El modelo espiral no es una alternativa del modelo cascada, ellos son
completamente compatibles.
2.2.1.5. Modelo de Desarrollo a Usar
Entre las alternativas de modelos del ciclo de vida para el presente Proyecto, se ha
escogido el modelo Incremental; éste modelo combina elementos del modelo
cascada con la creación de prototipos; fue elegido porque permite modificar
constantemente el sistema utilizando la metodología de versiones, en donde cada
nueva entrega del sistema o versión constituye mejoras, actualizaciones y nuevas
funciones para el sistema.
Se han establecido las siguientes etapas, que se describen en el FIGURA N°3, en la
página siguiente.
14
FIGURA Nº 3. Diagrama del modelo incremental
Fuente: Diseño Propio en Lucidchart (2014).
2.2.2. Fases del modelo
Análisis: Consiste en el análisis de los requerimientos entregados por la empresa
en un documento que se adhiere a este Proyecto de Título.
Diseño: En esta etapa se plantea la forma en que se desarrollará el sistema; se
trata de modelar la realidad del proyecto y del futuro sistema, utilizando modelos
de esquemas o diagramas como, por ejemplo, diagramas de Base de Datos
como modelos relacionales, entidad-relación, otros modelos asociados al
funcionamiento del sistema de tipo flujo, modelos de red, gráficos UML, de
funcionalidades y procesos.
Codificación: Consiste en utilizar todos los diagramas generados en la fase de
diseño y con base en éstos hacer el código, las aplicaciones, ventanas e
interfaces del sistema.
15
Pruebas: Se validan los requerimientos iniciales con el producto final. Se hacen
pruebas básicas así como también pruebas de integración y finalmente se
realizan pruebas de aceptación, que son las que determinan cuándo el Software
está completamente finalizado y listo para ser implementado.
Al término de cada incremento se analiza su rendimiento y funcionalidad
evaluando si es necesario realizar el proceso nuevamente para hacer mejoras.
2.3. TECNOLOGÍAS DE DESARROLLO
2.3.1. Internet
Internet se define como una "red de redes", es decir, una red que no sólo
interconecta computadores, sino que interconecta redes de computadores entre sí.
Una red de computadores es un conjunto de máquinas que se comunican a través de
algún medio (cable coaxial, fibra óptica, radiofrecuencia y líneas telefónicas) con el
objetivo de compartir recursos. De esta manera, Internet sirve de enlace entre redes
más pequeñas y permite ampliar su cobertura al hacerlas parte de una "red global".
Esta red global tiene la característica de que utiliza un lenguaje común que garantiza
la intercomunicación de los diferentes participantes; este lenguaje común o protocolo
(un protocolo es el lenguaje que utilizan los computadores al compartir recursos), se
conoce como TCP/IP que es el más usado en la actualidad.
El conjunto TCP/IP está diseñado para “enrutar1” y tiene un grado muy elevado de
fiabilidad, es adecuado para redes grandes, medianas y empresariales. Es utilizado a
nivel mundial para conectarse a Internet y a servidores Web.
1 Seleccionar el camino en una red de computadores por donde se envían datos.
16
FIGURA Nº 4. Diagrama de Internet
Fuente: Diseño Propio en Lucidchart (2014).
2.3.2. Intranet
Intranet, quiere decir red interna o, en palabras técnicas, es una Red de Área Local o
LAN, la cual tiene la característica de ser de uso exclusivo de la empresa u
organización que la ha instalado. Debido a ello, utiliza protocolos HTML y TCP/IP,
protocolos que permiten la interacción en línea de la Intranet con la Internet.
Cualquier Intranet, lleva consigo distintos niveles de seguridad según el usuario.
Estos niveles de seguridad son asignados según la relevancia del puesto del usuario
dentro de la organización. Claro que existen niveles compartidos por todos. Ahora,
los niveles básicos de seguridad impiden la utilización de la Intranet por parte de
personas foráneas a la empresa.
En cuanto a la funcionalidad de la Intranet, ésta es utilizada en casi todos los
departamentos de una organización. No hay duda alguna que Intranet es un medio
amistoso y agradable de tener disponibilidad permanente de información,
entrenamiento y otros elementos, además de disminuir los gastos corporativos, ya
que al utilizarla, gran parte del papeleo y tiempo-hombre se aminoran. Por otra parte,
es una manera moderna y segura de manejar la información calificada de toda
17
organización, la cual, dependiendo de los niveles de seguridad, puede ser muy difícil
de obtener.
Hoy en día la Intranet es parte esencial del funcionamiento ágil y eficiente de
diversos departamentos dentro de toda organización, destacándose el caso de los
departamentos de Recursos Humanos y el de Comunicaciones Corporativas.
FIGURA Nº 5. Diagrama de Intranet
Fuente: Diseño Propio en Lucidchart (2014).
2.3.3. Red de Área Local
Una red de área local, red local o LAN (Red de Área Local), es la interconexión de
varios computadores y periféricos. Normalmente, se localizan dentro de una zona
limitada, como puede ser una oficina o un piso de un edificio, para compartir recursos
e intercambiar datos y aplicaciones. En definitiva, permite que dos o más máquinas
se comuniquen eficientemente.
El término red local incluye tanto el Hardware como el Software necesario para la
interconexión de los distintos dispositivos y el tratamiento de la información.
18
2.3.4. Plataforma de Trabajo
La plataforma de trabajo se refiere al Sistema Operativo sobre el que se trabaja. Un
sistema operativo es un Software de sistema y es el más importante del computador
para que funcionen otros programas sobre él.
Los Sistemas Operativos realizan tareas básicas, tales como reconocimiento de la
conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y
directorios en el disco y controlar los dispositivos periféricos tales como escáner o
impresoras, se puede decir que es un conjunto de programas de computador
destinado a permitir una administración eficaz de sus recursos.
El Sistema Operativo funciona como un intermediario para que el usuario pueda
comunicarse con el Hardware y así el sistema pueda proporcionar un ambiente en
donde el usuario pueda ejecutar programas. Esta relación hace que el sistema
operativo y el Hardware funcionen de manera eficiente.
Los Sistemas Operativos proporcionan una plataforma de Software encima de la cual
otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se
programan para que funcionen en un sistema operativo particular, por tanto, la
elección del Sistema Operativo determina en gran medida las aplicaciones que se
pueden utilizar.
Las tareas que generalmente realiza un Sistema Operativo son las siguientes:
Realizar la interfaz sistema-usuario.
Compartir los recursos de Hardware entre los usuarios.
Permitir a los usuarios compartir sus datos.
Prevenir que las actividades de un usuario interfieran en las de los demás.
Calendarizar los recursos de los usuarios.
Facilitar el acceso a los dispositivos de E/S.
Recuperarse de fallas o errores.
Llevar el control sobre el uso de los recursos.
19
FIGURA Nº 6. Gráfico de estimación de uso de sistemas operativos comunes
Fuente: NETMARKETSHARE (Market Share Statistics for Internet Technologies).
(Enero 2013)
A fines de los 60’, nació UNIX y se utilizó como la base de los sistemas operativos
que hoy en día se conocen; en la familia Windows se tiene: Windows 95, 98, ME,
NT, 2000, 2000 Server, XP, Server 2003, CE, Mobile, XP 64 bits y Vista. En
Macintosh están: Mac OS 7, 8, 9 y X; por último en UNIX, se tiene: Aix, Amix, GNU/
Linux, GNU/ Hurd, Hp-Ux, Iris, Minix, System V, Solarios y Unix Ware.
2.3.4.1. Navegadores Web
Un navegador o navegador web, o browser, es un software que permite el acceso a
Internet, interpretando la información de archivos y sitios web para que éstos puedan
ser leídos.
20
La funcionalidad básica de un navegador web es permitir la visualización de
documentos de texto, posiblemente con recursos multimedia incrustados. Además,
permite visitar páginas web y hacer actividades en ella, es decir, podemos enlazar un
sitio con otro, imprimir, enviar y recibir correo, entre otras funcionalidades más.
Los documentos que se muestran en un browser pueden estar ubicados en la
computadora en donde está el usuario, pero también pueden estar en cualquier otro
dispositivo que esté conectado en la computadora del usuario o a través de Internet,
y que tenga los recursos necesarios para la transmisión de los documentos (un
software servidor web).
Tales documentos, comúnmente denominados páginas web, poseen hipervínculos
que enlazan una porción de texto o una imagen a otro documento, normalmente
relacionado con el texto o la imagen.
El seguimiento de enlaces de una página a otra, ubicada en cualquier computadora
conectada a Internet, se llama navegación, de donde se origina el nombre navegador
(aplicado tanto para el programa como para la persona que lo utiliza, a la cual
también se le llama cibernauta). Por otro lado, ojeador es una traducción literal del
original en inglés, browser, aunque su uso es minoritario.
21
Tipos de Navegador Web
Google Chrome
Uno de los grandes navegadores de internet gratis en el Mercado es además
el más joven y con más rápido crecimiento, desde su lanzamiento en el 2008
ha tenido un meteórico ascenso en el mercado, con más de 300 millones de
usuarios hasta la fecha se pelea usuario por usuario la supremacía de entre
los navegadores de internet con Internet Explorer.
Su crecimiento es gracias mayormente al enorme aparato de publicidad
implementado por Google que prácticamente nos invita por todos lados a
descargar y usar su navegador, por ejemplo cuando abrimos el buscador de
Google vemos un mensajito “invitándonos” a instalar Google Chrome, si se
trata de descargar navegadores de internet los chicos de Google tienen muy
claro dónde poner sus anuncios.
Mozilla Firefox
Otro grande entre los navegadores de internet, actualmente ocupa el tercer
lugar detrás de IE y Chrome con una cuota del 23% del mercado, este
navegador es un proyecto de software libre desarrollado por la fundación
Mozilla es decir que su código fuente es libre y abierto.
Quizás su mayor ventaja respecto a los demás navegadores de internet gratis
es que es más seguro y personalizable de todos, con miles de complementos
desarrollados por terceros disponibles para descargar desde el mismo
navegador.
Internet Explorer
Hasta hace algunos años el líder indiscutible del mercado de navegadores de
internet gratis, después de derrotar a Netscape parecía que nadie lo podría
22
opacar, a pesar de sus evidentes fallos de seguridad y la lentitud con que
trabajaba. Es obvio que la principal razón de la predominancia de Internet
Explorer se debe a que viene listo para usar en todos los sistemas operativos
Windows.
Opera
Opera es usualmente catalogado como el Ferrari de los navegadores de
internet, uno de los más seguros, estables y rápidos del mercado,
extrañamente usado por una mínima cantidad de personas en comparación
con los enormes números de usuarios de IE, Chrome y Firefox.
Safari
Desarrollado por Apple, hasta hace algún tiempo solo era instalable en
sistemas operativos Mac OS e IOS, actualmente existe una versión para
Windows.
Chrome supera a Internet Explorer como el navegador más utilizado por periodos
cortos, pero el número de usuarios de Chrome está en constante crecimiento
dibujando una curva ascendente, por el contrario, la curva de usuarios de Internet
Explorer esta en decrecimiento, así que es sencillo inferir que el nuevo rey de los
navegadores será Google Chrome dentro de poco tiempo, y esto gracias a la enorme
maquinaria publicitaria que Google ha implementado para promocionar su navegador
y también a ciertos errores de los chicos de Mozilla al momento de lanzar versiones
de Firefox que después presentan problemas de rendimiento.
El la figura 7 y 7.1, se aprecia un gráfico junto con su tabla de porcentajes nos
muestra la evolución del uso de navegadores desde Mayo del 2013 hasta Mayo del
2014.
23
FIGURA Nº 7. Gráfico de uso navegadores web comunes.
Fuente: startcounter 2013.
Es el momento de descargar navegadores de internet, pero no nos hemos decidido
por cual, mejor veamos cuales son las ventajas y desventajas de cada uno de los
competidores en esta pelea de navegadores. Así podremos decidir cual nos conviene
más.
24
FIGURA Nº 7.1. Gráfico de estimación de uso de exploradores web comunes.
Fuente: NETMARKETSHARE (Market Share Statistics for Internet Technologies).
(Mayo 2014)
25
Kernel
En informática, un núcleo o kernel (de la raíz germánica Kern, núcleo, hueso) es
un software que constituye una parte fundamental del sistema operativo. Es el
principal responsable de facilitar a los distintos programas acceso
seguro al hardware de la computadora o en forma básica, es el encargado de
gestionar recursos, a través de servicios de llamada al sistema, en la figura 8 se
puede apreciar el contexto.
FIGURA Nº 8. Gráfico de arquitectura de sistema operativo
Fuente: Andrew Tanenbaum, Sistemas Operativos: Diseño e implementación,
Capítulo 1: Introducción. (Tanenbaum, s.f.)).
Como hay muchos programas y el acceso al hardware es limitado, también se
encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y
durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware
directamente puede ser realmente complejo, por lo que los núcleos suelen
implementar una serie de abstracciones del hardware. Esto permite esconder la
complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo
que facilita su uso al programador.
26
Una visión típica de la arquitectura de computadores como una serie de capas de
abstracción: hardware, firmware, lenguaje de máquina, núcleo, software de
sistema y aplicaciones
2.3.5. Base de Datos
Es un conjunto de datos pertenecientes a un mismo contexto y almacenados
sistemáticamente para su posterior uso. En cierto sentido se puede decir que una
biblioteca se puede considerar una Base de Datos, compuesta en su mayoría por
documentos y textos impresos en papel e indexados para su consulta.
Debido al desarrollo tecnológico de campos como la informática y la electrónica, la
mayoría de las bases de datos en la actualidad están en formato digital, que favorece
el uso de la información y ofrece un amplio rango de soluciones al problema de
almacenar datos.
2.3.5.1. Modelos de Bases de Datos
Un modelo de datos es básicamente una descripción de algo conocido como
contenedor de datos (donde se guarda la información), así como de los métodos
para almacenar y recuperar información de esos contenedores.
Los modelos de datos no son objetos físicos: 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.
Algunos modelos que con frecuencia son utilizados en las Bases de Datos:
27
Bases de Datos Jerárquicas
Es una estructura en forma de árbol compuesta de nodos, que representan las
entidades enlazados por arcos, que representan las asociaciones o interrelaciones
entre dichas entidades.
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.
Bases de Datos de Red.
Es una variación del modelo de datos jerárquico. De hecho las Bases de Datos
pueden traducirse de jerárquicas a en redes y viceversa, con el objeto de optimizar la
velocidad y la conveniencia del procesamiento, mientras que las estructuras
jerárquicas describen relaciones de muchos a muchos.
En este modelo, la recuperación y la actualización de la Base de Datos se lleva a
cabo registro a registro y su implementación por medio de punteros2.
Base de Datos Relacional
Es el más reciente de estos modelos, supera algunas de las limitaciones de los otros
dos anteriores.
El modelo relacional de datos, representa todos los datos en la Base de Datos como
sencillas tablas de dos dimensiones llamadas relaciones. Las tablas son semejantes
a los archivos planos, pero la información en más de un archivo puede ser fácilmente
extraída y combinada.
En este modelo, el lugar y la forma en que se almacenen los datos no tienen
relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene
2 Variable cuyo valor es una dirección de memoria.
28
la considerable ventaja de que es más fácil de entender y de utilizar para un usuario
esporádico de la Base de Datos. La información puede ser recuperada o almacenada
mediante consultas que ofrecen una amplia flexibilidad y poder para administrar la
información.
Modelo Relacional
El modelo relacional para la gestión de una base de datos es un modelo de datos
basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo más
utilizado en la actualidad para modelar problemas reales y administrar datos
dinámicamente.
En este modelo todos los datos son almacenados en relaciones, y como cada
relación es un conjunto de datos, el orden en el que éstos se almacenen no tiene
relevancia (a diferencia de otros modelos como el jerárquico y el de red).
Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un
usuario no experto. La información puede ser recuperada o almacenada por medio
de consultas que ofrecen una amplia flexibilidad y poder para administrar la
información
Modelo Entidad Relación
Un diagrama o modelo entidad-relación (a veces denominado por sus siglas en
inglés, E-R "Entity relationship", o del español DER "Diagrama de Entidad Relación")
es una herramienta para el modelado de datos que permite representar las entidades
relevantes de un sistema de información así como sus interrelaciones y propiedades.
El modelo de datos entidad-relación está basado en una percepción del mundo real
que consta de una colección de objetos básicos, llamados entidades, y de relaciones
entre esos objetos.
29
Los atributos son las características que definen o identifican a una entidad. Estas
pueden ser muchas, y el diseñador solo utiliza o implementa las que considere más
relevantes. Los atributos son las propiedades que describen a cada entidad en un
conjunto de entidades.
2.3.5.2. Sistema de Gestión de Base de Datos
Los Sistemas de Gestión de Base de Datos (SGBD) son un tipo de Software muy
específico, dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan.
El propósito general de los SGBD es manejar de manera clara, sencilla y ordenada,
un conjunto de datos que posteriormente se convertirá en información relevante.
Ventajas de los SGBD
Proveen facilidades para la manipulación de grandes volúmenes de datos.
Simplifican la programación de chequeos de consistencia.
Garantizan que los cambios de la Base de Datos serán siempre consistentes,
manejando las políticas de respaldo adecuadas
Permiten realizar modificaciones en la organización de los datos, con un impacto
mínimo en el código de los programas.
Permiten implementar un manejo centralizado de la seguridad de la información
(acceso a usuarios autorizados), protección de información, de modificaciones,
inclusiones y consulta.
Las facilidades anteriores bajan drásticamente los tiempos de desarrollo y
aumentan la calidad del sistema desarrollado si son bien explotados por los
desarrolladores.
Usualmente, proveen interfaces y lenguajes de consulta que simplifican la
recuperación de los datos.
30
Inconvenientes de los SGBD
Es necesario disponer de una o más personas que administren la Base de Datos.
Si se tienen muy pocos datos que son usados por un único usuario por vez y no
hay que realizar consultas complejas sobre los datos, entonces es posible que
sea mejor usar una planilla de cálculo.
Los SGBD son Software muy complejos y las personas que lo utilizan deben
tener conocimiento de sus funcionalidades para aprovecharlo al máximo.
Su complejidad y la gran cantidad de funciones que tienen, hacen que sea un
Software de gran tamaño, que requiere de gran cantidad de memoria.
Los requisitos de Hardware que permiten que funcione un SGBD por lo general
son relativamente altos, por lo que estos equipos pueden llegar a costar grandes
cantidades de dinero.
2.3.6. MYSQL
MySQL es un sistema de gestión de bases de datos relacional, y multiusuario,
software libre en un esquema de licenciamiento dual, MySQL es usado por muchos
sitios web grandes y populares, como Wikipedia, Google, Facebook, Twitter, Flickr,
YouTube. MySQL es una base de datos muy rápida en la lectura cuando utiliza el
motor no transaccional MyISAM, pero puede provocar problemas de integridad en
entornos de alta concurrencia en la modificación. En aplicaciones web hay baja
concurrencia en la modificación de datos y en cambio el entorno es intensivo en
lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual
sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano
el rendimiento para detectar y corregir errores tanto de SQL como de programación.
31
2.3.7. Servidor Web
Un servidor Web entrega contenido estático a un navegador, carga un archivo y lo
sirve a través de la red al navegador de un usuario. Este intercambio es mediado por
el navegador y el servidor que se comunican mediante HTTP (Hypertext Transfer
Protocol). Instalar un servidor Web en un computador permitirá, entre otras cosas,
poder montar una página Web sin necesidad de contratar un Hosting3, probar
desarrollos vía local y acceder a los archivos del equipo desde un computador
remoto. El problema de usar un equipo como servidor Web es que conviene tenerlo
encendido permanentemente (para que esté accesible de forma continua como la
mayoría de los sitios Web); por ello se debe considerar el consumo de energía
eléctrica.
2.3.8. Appserv
Appserv es una herramienta OpenSource para Windows con Apache, MySQL, PHP
y otras adherencias, en la cual estas aplicaciones se configuran en forma automática,
lo que permite ejecutar un servidor web completo. Como extra incorpora
phpMyAdmin para el manejo de MySQL.
Inmediatamente después de la instalación está disponible completamente funcional
del servidor web Apache, que se ejecuta en el equipo local, que puede ejecutar un
número ilimitado de sitios para ser muy eficaz para desarrollar y depurar scripts PHP
sin subir archivos a un servidor remoto. El programa se distribuye gratuitamente bajo
licencia GNU General Public License y es gratis, fácil de usar web-servidor capaz
de servir páginas dinámicas. Con esta configuración, puede implementar
rápidamente un equipo hecho y derecho y el servidor web rápido, con acceso desde
la red local, sin necesidad de configuración adicional. Puede ser utilizado como un
servidor web público en Internet.
3 Sistema para poder almacenar información accesible vía Web.
32
2.3.9. Apache
El servidor HTTP Apache es un Software de código abierto para plataformas Unix
(BSD, GNU/Linux), Windows, Macintosh y otras, que implementa el protocolo
HTTP/1.1 y la noción de sitio virtual.
Este servidor se desarrolla dentro del proyecto HTTP Server (HTTPD) de Apache
Software Foundation, además presenta entre otras características, mensajes de error
altamente configurables y bases de datos de autenticación, pero fue criticado por la
falta de una interfaz gráfica que ayude en su configuración.
Apache tiene amplia aceptación en la red, desde 1996 es el servidor HTTP más
usado, la arquitectura de este servidor es muy modular y consta de una sección Core
con diversos módulos que aportan mucha de la funcionalidad que se considera
básica para el funcionamiento de un servidor Web.
Características de Apache
Funciona en una multitud de Sistemas Operativos, lo que lo hace prácticamente
universal.
Apache es una tecnología gratuita de código fuente abierto4. El hecho de ser
gratuita es importante pero no tanto como que se trate de código fuente abierto.
Esto le da una transparencia a este Software de manera que si se quiere ver que
es lo que se está instalando como servidor, se puede saber, sin ningún secreto,
sin ninguna puerta trasera.
Apache es un servidor altamente configurable, de diseño modular y sencillo de
ampliar en sus capacidades. Actualmente existen muchos módulos para Apache
que son adaptables a éste y están ahí para instalarlos cuando se necesiten. Otra
cosa importante es que cualquiera que posea experiencia en la programación de
lenguaje C o Perl puede escribir un módulo para realizar una función
determinada.
4 El código de programación de un software puede ser modificado.
33
Apache trabaja con gran cantidad de Perl, PHP y otros lenguajes de Script.
También trabaja con Java y páginas JSP. Teniendo todo el soporte que se
necesita para tener páginas dinámicas.
Apache permite personalizar la respuesta ante los posibles errores que se
puedan dar en el servidor. Es posible configurar Apache para que ejecute un
determinado Script cuando ocurra un error en concreto.
Tiene una alta gama de configuraciones en la creación y gestión de Log5. Apache
permite la creación de ficheros de Log a medida del administrador; de este modo
se puede tener un mayor control sobre lo que sucede en el servidor.
Ventajas de Apache
Modular:
Open source6:
Multi-plataforma:
Extensible:
Popular (fácil de conseguir ayuda / soporte)
Gratuito:
2.3.10. Lenguaje de Programación
Es un conjunto de símbolos, reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos y expresiones; es utilizado para controlar
el comportamiento físico y lógico de una máquina.
Aunque muchas veces se usan los términos lenguaje de programación y lenguaje
informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes
informáticos engloban a los lenguajes de programación y a otros más, como, por
ejemplo, el HTML, lenguaje para el marcado de páginas Web que no es propiamente
un lenguaje de programación.
5 Usado para registrar datos o información sobre quién, qué, cuándo, dónde y por qué un evento ocurre para un
dispositivo o aplicación en particular. 6 Se refiere a código abierto.
34
Un lenguaje de programación permite a uno o más programadores especificar de
manera precisa sobre qué datos debe operar un computador, cómo estos datos
deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada
gama de circunstancias, todo esto, a través de un lenguaje que intenta estar
relativamente próximo al humano, tal como sucede con el lenguaje Léxico.
Según la forma de ejecución de los lenguajes se pueden clasificar de la siguiente
forma:
Lenguajes compilados
Estos lenguajes requieren de un traductor para que la máquina pueda utilizar el
código escrito; estos traductores se conocen con el nombre de compiladores.
En simples palabras, los compiladores son Software cuya función es traducir un
programa escrito en un determinado lenguaje, a un idioma que la computadora
entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son, por ejemplo, los lenguajes del popular
Visual Studio de Microsoft), el programa desarrollado nunca se podrá ejecutar
mientras haya errores, sino hasta que, tras la compilación ya no aparecen errores en
el código.
Lenguajes interpretados
Se puede también utilizar una alternativa diferente de los compiladores para traducir
lenguajes. En vez de traducir el programa fuente y grabar en forma permanente el
código objeto que se produce durante la compilación para utilizarlo en una ejecución
futura, el programador sólo carga el programa fuente en la computadora junto con los
datos que se van a procesar. A continuación, un programa intérprete, que se
encuentra en el Sistema Operativo o incluido de manera permanente dentro de la
máquina, convierte cada proposición del programa fuente en lenguaje de máquina
35
conforme vaya siendo necesario durante el procesamiento de los datos. El código
objeto no se graba para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se deberá interpretar otra vez y
traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los
pasos de un ciclo o bucle, cada instrucción del bucle tendrá que volver a ser
interpretada en cada ejecución repetida del ciclo, lo cual hace que el programa sea
más lento en tiempo de ejecución (porque se va revisando el código en tiempo de
ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar
compilando a cada momento el código completo). El intérprete elimina la necesidad
de realizar una compilación después de cada modificación del programa cuando se
quiere agregar funciones o corregir errores; un programa objeto, compilado con
antelación, deberá ejecutarse con mucha mayor rapidez que uno que se debe
interpretar a cada paso durante la ejecución del código.
2.3.11. Tipos de Lenguajes de Programación
PHP
Es un lenguaje de programación usado frecuentemente para la creación de
contenido para sitios Web con los cuales se pueden programar páginas HTML y
códigos fuente. PHP es un acrónimo recursivo que significa "PHP Hypertext Pre-
processor" (inicialmente PHP Tools o Personal Home Page Tools), y se trata de un
lenguaje interpretado usado para la creación de aplicaciones para servidores, o
creación de contenido dinámico para sitios Web. Últimamente también utilizado para
la creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica
usando las librerías GTK+7.
7 The GIMP Toolkit (GTK+) es un conjunto de bibliotecas multiplataforma para desarrollar interfaces gráficas de
usuario.
36
Características Generales de PHP
El fácil uso y la similitud con los lenguajes más comunes de programación
estructurada, como los lenguajes C y Perl, permite crear aplicaciones complejas sin
tener que aprender todo un nuevo grupo de funciones y prácticas.
Debido al diseño de PHP, es posible crear aplicaciones con una interfaz gráfica para
el usuario (llamada GUI), utilizando la extensión PHP-GTK. También puede ser
usado desde la línea de comandos, de la misma manera como Perl o Phyton pueden
hacerlo; esta versión de PHP se llama PHP CLI (Command Line Interface).
Su interpretación y ejecución se hace en el servidor Web, en el cual se encuentra
almacenado el Script, y el cliente sólo recibe el resultado de la ejecución. Cuando el
cliente hace una petición al servidor para que le envíe una página Web, generada por
un script PHP, el servidor ejecuta el intérprete de PHP, el cual procesa el script
solicitado que generará el contenido de manera dinámica, pudiendo modificar el
contenido a enviar, y regresa el resultado al servidor, el cual se encarga de
regresarlo al cliente. Además es posible utilizar PHP para generar archivos en
formato PDF, Flash, así como imágenes en diferentes formatos, entre otras cosas.
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, lo
cual permite la creación de Aplicaciones Web muy robustas.
PHP también tiene la capacidad de ser ejecutado en la mayoría de los Sistemas
Operativos tales como UNIX, Linux, Windows y Mac OS X, y puede interactuar con
los servidores Web más populares ya que existe en versión CGI, módulo para
Apache, e ISAPI.
Ventajas de PHP
Es un lenguaje multiplataforma.
Tiene capacidad de conexión con la mayoría de los manejadores de Base de
Datos que se utilizan en la actualidad; destaca su conectividad con MySQL.
37
Posee una amplia documentación en su página oficial, entre la cual se destaca
que todas las funciones del sistema están explicadas y ejemplificadas en un único
archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso.
Permite las técnicas de Programación Orientada a Objetos.
Permite crear los formularios para Web.
Posee biblioteca nativa de funciones sumamente amplia.
No requiere definición de tipos de variables ni manejo detallado del bajo nivel.
Es un lenguaje de programación de uso general de script del lado del servidor
originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los
primeros lenguajes de programación del lado del servidor que se podían incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que
procese los datos. En la actualidad es uno de los lenguajes más utilizados para el
desarrollo sitios web, es por esto que existen más de 20 millones de sitios
desarrollados con esta tecnología en el mundo.
JavaScript
Es un lenguaje de programación interpretado, es decir, que no requiere compilación,
utilizado principalmente en páginas Web, con una sintaxis semejante a la del
lenguaje Java y C.
Entre las acciones típicas que se pueden realizar en Javascript se tienen dos
vertientes. Por un lado los efectos especiales sobre páginas Web, para crear
contenidos dinámicos y elementos de la página que tengan movimiento, cambien de
color o cualquier otro dinamismo. Por el otro, Javascript permite ejecutar
instrucciones como respuesta a las acciones del usuario, con lo que se puede crear
páginas interactivas con programas como calculadoras, agendas o tablas de cálculo.
Javascript es un lenguaje con muchas posibilidades; permite la programación de
pequeños Script, pero también de programas más grandes, orientados a objetos, con
funciones y estructuras de datos complejas. Además pone a disposición del
38
programador todos los elementos que forman la página Web, para que éste pueda
acceder a ellos y modificarlos dinámicamente.
Todos los navegadores modernos interpretan el código JavaScript integrado dentro
de las páginas Web, como Internet Explorer, Google Chrome, Opera, Mozilla Firefox,
entre otros.
HTML5
HTML5 es la quinta versión de HTML (Hyper Text Markup Language). HTML5 es una
colección de estándares para el diseño y desarrollo de páginas web. Esta colección
representa la manera en que se presenta la información en el explorador de internet
y la manera de interactuar con ella.
HTML5 incluye un conjunto de nuevos elementos y atributos principalmente
originados por las formas típicas de uso de los sitios Web modernos.
Algunos elementos son técnicamente similares a las etiquetas <div> y <span>, pero
tienen un significado semántico, por ejemplo <nav> es un bloque de navegación del
sitio web y <footer> la parte inferior de la página. Hay otros elementos nuevos que
proporcionan nuevas funcionalidades a través de una interfaz estandarizada, como
los elementos <audio> y <video> que además están disponibles en Javascript.
Por otra parte se mejoró bastante el elemento <canvas>.
CSS
CSS es un lenguaje de estilo que define la presentación de los documentos
HTML. Abarca aspectos relativos a fuentes, colores, márgenes, líneas, altura,
anchura, imágenes de fondo, posicionamiento avanzado entre otros temas. Es
soportado por la mayoría de los navegadores Web.
Dentro de las características que nos ofrece están; control de la presentación de
muchos documentos desde una única hoja de estilo, control más preciso de la
39
presentación, aplicación de diferentes presentaciones a diferentes tipos de medios
(pantalla, impresión), numerosas técnicas avanzadas y sofisticadas.
Desde el año 2005 se inició a definir lo que se conoce como CSS3 o Cascading Style
Sheets Level 3. Trayendo con si una serie de soluciones importantes para las
necesidades del diseño web actual, como los son las opciones de sombreado y
redondeado, funciones avanzadas de movimiento y transformación, CSS3 es el
estándar que dominará la web por los siguientes años.
2.3.12. Herramienta de Desarrollo
El desarrollo Web es quizás la rama informática que agrupa más lenguajes distintos
(HTML, CSS, Javascript, PHP, Java, entre otros), que deben interactuar entre sí, y
por ello se requiere un editor Web que facilite el trabajo.
Son muchos los editores Web existentes en el mercado (Adobe Dreamweaver, Front
Page, CoffeCup HTML Editor, Homesit, Eclipse, Netbeans, etcétera), cada uno con
sus propias peculiaridades, aunque en realidad no son muy distintos unos de otros.
Framework
Se define como “Marco de trabajo”, en términos generales, un conjunto
estandarizado de conceptos, prácticas y criterios para enfocar un tipo de
problemática particular que sirve como referencia, para enfrentar y resolver nuevos
problemas de índole similar.
En el desarrollo de software, un framework o infraestructura digital, es una estructura
conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos
de software concretos, que puede servir de base para la organización y desarrollo de
software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje
interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los
diferentes componentes de un proyecto.
40
Representa una arquitectura de software que modela las relaciones generales de las
entidades del dominio, y provee una estructura y una especial metodología de
trabajo, la cual extiende o utiliza las aplicaciones del dominio.
No es más que una base de programación que atiende a sus descendientes
(manejado de una forma estructural y/o en cascada), posibilitando cualquier
respuesta ante las necesidades de sus miembros, o en secciones de una aplicación
(web), satisfaciendo así las necesidades más comunes del programador. Dentro del
controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de
nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el único dato
de una dirección estática web es: conseguir un archivo físico en el disco duro o de
internet, etc. he interpretado o no, el servidor responde.
UML
Lenguaje Unificado de Modelado (LUM o UML, por sus siglas en inglés, Unified
Modeling Language) es el lenguaje de modelado de sistemas de software más
conocido y utilizado en la actualidad; está respaldado por el OMG (Object
Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y
documentar un sistema. UML ofrece un estándar para describir un "plano" del
sistema (modelo), incluyendo aspectos conceptuales tales como procesos de
negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes
de programación, esquemas de bases de datos y compuestos reciclados.
Es importante remarcar que UML es un "lenguaje de modelado" para especificar o
para describir métodos o procesos. Se utiliza para definir un sistema, para detallar
los artefactos en el sistema y para documentar y construir. En otras palabras, es el
lenguaje en el que está descrito el modelo.
Se puede aplicar en el desarrollo de software gran variedad de formas para dar
soporte a una metodología de desarrollo de software (tal como el Proceso Unificado
Racional o RUP), pero no específica en sí mismo qué metodología o proceso usar.
41
JQuery
JQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que
permite simplificar la manera de interactuar con los documentos HTML, manipular el
árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la
técnica AJAX a páginas web.
JQuery es software libre y de código abierto, posee una doble licencia, por un lado
tiene licencia MIT y por otro licencia Pública General de GNU v2, permitiendo su uso
en proyectos libres y privados.
Al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en
JavaScript que de otra manera requerirían de mucho más código, es decir, con las
funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y
espacio.
jQuery es una biblioteca de JavaScript, la cual permite simplificar la manera de
interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos,
desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web.
JQuery mobile
JQuery mobile Es un framework de Javascript basado en jQuery, para el desarrollo
de aplicaciones web y de escritorio en dispositivos móviles. Soportando una amplia
variedad de dispositivos.
Está basado en jQuery, por lo tanto la curva de aprendizaje será mínima para
aquellas personas que hayan utilizado jQuery anteriormente.
Compatible con las principales plataformas móviles y de escritorio: iOS,
Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Phone 7,
MeeGo, Opera Mobile/Mini, Firefox Mobile, Kindle, Nook y todos los
navegadores modernos.
Su peso de (20kb) y utiliza un mínimo de imágenes en sus componentes.
42
Uso de marcado HTML5 en la estructura de las páginas y componentes,
utilizando los diferentes atributos para disparar automáticamente los
componentes de jQueryMobile. Además puede aplicar los diferentes
comportamientos que trae cada componente sin tener que aplicar ningún
script adicional.
Enfocado tanto a aplicaciones web como a aplicaciones nativas.
Combinando jQuery Mobile con PhoneGap.
Accesibilidad en sus componentes, basados en la especificación WAI-
ARIA y haciendo uso de los roles. De tal manera que trabaje con los lectores
de pantalla. Accesibilidad en jQuery Mobile
Proporciona una potente herramienta para crear diferentes themes en su sitio
web, esta es Theme Roller, la cual permite diseñar, descargar e implementar
estilos de creación propia para las aplicaciones en desarrollo.
Notepad++
Es un editor de texto y de código libre con soporte para varios lenguajes de
programación. Sólo funciona en Microsoft Windows.
Similar a Bloc de notas, ya que puede editar texto sin formato y de forma simple. No
obstante, incluye opciones más avanzadas que son útiles para desarrolladores y
programadores. Se distribuye bajo los términos de la Licencia Pública General de
GNU.
JSON
Json es un formato ligero para el intercambio de datos. Es un subconjunto de la
notación literal de objetos de JavaScript que no requiere el uso de XML.
La simplicidad de Json ha dado lugar a la generalización de su uso, especialmente
como alternativa a XML en Ajax. Una de las ventajas de JSON sobre XML como
43
formato de intercambio de datos en este contexto, es que es mucho más sencillo
escribir un analizador sintáctico en JSON.
En JavaScript, un texto JSON se puede analizar fácilmente usando el
procedimiento eval, lo cual ha sido fundamental para que JSON haya sido aceptado
por los desarrolladores Ajax, debido a la característica multiplataforma de JavaScript,
esto hace que pueda estar presente en cualquier navegador web.
XML
XML, es un lenguaje de marcas desarrollado por el World Wide Web Consortium.
Deriva del lenguaje SGML y permite definir la gramática de lenguajes específicos (de
la misma manera que HTML es a su vez un lenguaje definido por SGML para
estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a
bases de datos, siendo útil cuándo varias aplicaciones se deben comunicar entre sí o
integrar información.
Es también un estándar para el intercambio de información estructurada entre
diferentes plataformas.
Se puede usar en bases de datos, editores de texto, hojas de cálculo y muchas otras
aplicaciones. XML es una tecnología sencilla que tiene a su alrededor otras que la
complementan y la hacen mucho más grande y con unas posibilidades mucho
mayores.
Tiene un papel muy importante en la actualidad ya que permite la compatibilidad
entre sistemas para compartir la información de una manera segura, fiable y fácil.
44
AJAX
Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es
una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich
Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el
navegador de los usuarios mientras se mantiene la comunicación asíncrona con el
servidor en segundo plano. De esta forma es posible realizar cambios sobre las
páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y
usabilidad en las aplicaciones.
Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se
solicitan al servidor y se cargan en segundo plano sin interferir con la visualización ni
el comportamiento de la página. JavaScript es el lenguaje interpretado (scripting
language) en el que normalmente se efectúan las funciones de llamada de Ajax
mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto
disponible en los navegadores actuales. En cualquier caso, no es necesario que el
contenido asíncrono esté formateado en XML.
Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas
operativos y navegadores dados que está basado en estándares abiertos como
JavaScript y Document Object Model (DOM).
DOM
El Document Object Model o DOM ('Modelo de Objetos del Documento' o 'Modelo en
Objetos para la Representación de Documentos') es esencialmente una interfaz de
programación de aplicaciones (API) que proporciona un conjunto estándar de objetos
para representar documentos HTML y XML, un modelo estándar sobre cómo pueden
combinarse dichos objetos, y una interfaz estándar para acceder a ellos y
manipularlos. A través del DOM, los programas pueden acceder y modificar el
contenido, estructura y estilo de los documentos HTML y XML, que es para lo que se
diseñó principalmente.
45
CMS
Un sistema de gestión de contenidos (o CMS, del inglés Content Management
System), es un programa que permite crear una estructura de soporte (framework)
para la creación y administración de contenidos, principalmente en páginas web, por
parte de los administradores, editores, participantes y demás usuarios.
El gestor de contenido es una aplicación informática usada para crear, editar,
gestionar y publicar contenido digital multimedia en diversos formatos. El gestor de
contenidos genera páginas web dinámicas interactuando con el servidor web para
generar la página web bajo petición del usuario, con el formato predefinido y el
contenido extraído de la base de datos del servidor.
Esto permite gestionar, bajo un formato estandarizado, la información del servidor,
reduciendo el tamaño de las páginas para descarga y reduciendo el coste de gestión
del portal con respecto a un sitio web estático, en el que cada cambio de diseño debe
ser realizado en todas las páginas web, de la misma forma que cada vez que se
agrega contenido tiene que maquetarse una nueva página HTML y subirla al servidor
web.
Un sistema de administración de contenidos siempre funciona en el servidor web en
el que esté alojado el portal. El acceso al gestor se realiza generalmente a través del
navegador web, y se puede requerir el uso de FTP para subir contenido
Wordpress
WordPress es un sistema de gestión de contenido o CMS (por sus siglas en inglés,
Content Management System) enfocado a la creación de blogs (sitios web
periódicamente actualizados). Ha sido desarrollado en PHP para entornos que
ejecuten MySQL y Apache, bajo licencia GPL y código modificable, y su fundador es
Matt Mullenweg. WordPress fue creado a partir del desaparecido b2/cafelog y se ha
convertido junto a Movable Type en el CMS más popular de la blogosfera y en el más
popular con respecto a cualquier otro CMS de aplicación general. Las causas de su
46
enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus
características como gestor de contenidos.
Otro motivo a considerar sobre su éxito y extensión es la enorme comunidad de
desarrolladores y diseñadores, encargados de desarrollarlo en general o crear
complementos y temas para la comunidad. En agosto de 2011 era usado por el 14,7
% de todos los sitios existentes en internet.
Plugins Wordpress
Los Plugin son herramientas que extienden la funcionalidad del WordPress. Este
artículo contiene una lista categorizada de plugins y enlaces a otros repositorios de
plugins. El núcleo de WordPress está diseñado para ser escueto, para maximizar la
flexibilidad y minimizar el empacho de código. Los plugin ofrecen funciones y
características personalizadas que permiten al usuario diseñar su sitio web según
sus necesidades específicas.
HighCharts Plugin
Es una librería escrita en Javascript y ajax capaz de crear gráficos estadísticos
interactivos de todo tipo y estilo, como por ejemplo líneas, tortas, de barras, áreas,
columnas entre otras.
Una de las ventajas principales de este script, es que lo podrás utilizar en tu proyecto
web, sin necesidad de instalar plugins externos en la computadora del usuario para
que pueda visualizar las gráficas, por ejemplo Flash o Java.
Highcharts es una biblioteca de gráficos escritos en JavaScript puro, que ofrece una
forma fácil de añadir gráficos interactivos a su sitio web o aplicación web. Highcharts
actualmente soporta la línea, spline, área, areaspline, columnas, barras, circulares,
de dispersión, patrones angulares, arearange, areasplinerange, columnrange,
burbuja, diagrama de caja, barras de error, un embudo, una cascada y tipos de
gráficos polares.
47
Funciona en todos los navegadores de escritorio y móviles modernos, como el
iPhone / iPad e Internet Explorer desde la versión 6. En iOS y Android, soporte
multitouch proporciona una experiencia de usuario sin fisuras. Navegadores estándar
utilizan SVG para el procesamiento de gráficos. En el legado Internet Explorer
gráficos se dibujan usando VML.
Una de las características clave de Highcharts es que en ninguna de las licencias,
libres o no, se le permite descargar el código fuente y hacer sus propias ediciones.
Esto permite modificaciones personales y una gran flexibilidad.
Highstock Plugin
Highstock permite crear acciones o de línea de tiempo general de gráficos en
JavaScript puro, incluyendo sofisticadas opciones de navegación como una pequeña
serie del navegador, rangos de fechas preestablecido, selector de fechas, al
desplazarse o moverse.
Funciona en todos los navegadores modernos, incluyendo el iPhone / iPad e Internet
Explorer desde la versión 6. Navegadores estándar utilizan SVG para el
procesamiento de gráficos. En el legado Internet Explorer gráficos se dibujan usando
VML.
Una de las características clave de Highstock es que en ninguna de las licencias,
libres o no, se le permite descargar el código fuente y hacer sus propias ediciones.
Esto permite modificaciones personales y una gran flexibilidad.
Highstock se basa únicamente en las tecnologías de navegación nativos y no
requiere cliente plugins secundarios como Flash o Java. Además no es necesario
instalar nada en tu servidor. No PHP o ASP.NET. Highstock sólo necesita dos
archivos JS a ejecutar: El núcleo highstock.js y, o bien los de jQuery, MooTools o
marco Prototype. Uno de estos marcos es muy probable que ya esté en uso en su
página web.
48
QR
Un código QR (quick response code, código de respuesta rápida) es un módulo útil
para almacenar información en una matriz de puntos o un código de barras
bidimensional creado por la compañía japonesa Denso Wave, subsidiaria de Toyota,
en 1994. Se caracteriza por los tres cuadrados que se encuentran en las esquinas y
que permiten detectar la posición del código al lector. La sigla «QR» se deriva de la
frase inglesa Quick Response (Respuesta Rápida en español)
Mozilla Firefox
Mozilla Firefox es un navegador web libre y de código abierto desarrollado para
Microsoft Windows, Mac OS X y GNU/Linux coordinado por la Corporación Mozilla y
la Fundación Mozilla. Usa el motor Gecko para renderizar páginas webs, el cual
implementa actuales y futuros estándares web.A partir de agosto de 2012 Firefox
tiene aproximadamente un 23 % de la cuota de mercado, convirtiéndose en el tercer
navegador web más usado, con particular éxito en Indonesia, Alemania y Polonia,
donde es el más popular con un 65 %,13 47 %14 y 47 %15 de uso, respectivamente
Caja de Herramientas de Firefox
La Caja de herramientas proporciona un único hogar para la mayoría de las
herramientas de desarrollo que están incorporadas en Firefox. Puede abrirlo
seleccionando "Herramientas de palanca" en el menú Web Developer (en
"Herramientas" en OS X y Linux, o "Firefox" en Windows), o mediante la activación
de cualquier herramienta alojada en el mismo (por ejemplo, el depurador JavaScript
o el Inspector de la página).
49
Vista 3d de Firefox
Al hacer clic en el botón de vista 3D, la página pasa al modo de vista en 3D, en este
modo, se puede ver su página presentada en una vista 3D en el que los bloques de
HTML anidado son cada vez más "alto", se proyecta hacia fuera desde el fondo de la
página. Este punto de vista hace que sea fácil de visualizar el anidamiento de su
contenido.
Firebug
Firebug es una extensión de Firefox creada y diseñada especialmente para
desarrolladores y programadores web. Es un paquete de utilidades con el que se
puede analizar (revisar velocidad de carga, estructura DOM), editar, monitorizar y
depurar el código fuente, CSS, HTML y JavaScript de una página web de manera
instantánea e online. Firebug no es un simple inspector como DOM (Modelo de
Objetos del Documento' o 'Modelo en Objetos para la Representación de
Documentos) Inspector, además edita y permite guardar los cambios, un paso por
delante del conocido Web Developer. Su atractiva e intuitiva interfaz, con solapas
específicas para el análisis de cada tipo de elemento (consola, HTML, CSS, Script,
DOM y red), permite al usuario un manejo fácil y rápido. Firebug está encapsulado en
forma de plug-in o complemento de Mozilla, es Open Source, libre y de distribución
gratuita.
50
2.3.13. Dispositivos Móviles
Smartphone
Un teléfono inteligente (smartphone en inglés) es un teléfono móvil construido sobre
una plataforma informática móvil, con una mayor capacidad de almacenar datos y
realizar actividades semejantes a una minicomputadora, y con una mayor
conectividad que un teléfono móvil convencional.
El término “inteligente” es un término utilizado para fines comerciales que hace
referencia a la capacidad de usarse como un ordenador de bolsillo, y llega incluso a
reemplazar a un ordenador personal en algunos casos.
Generalmente, los teléfonos con pantallas táctiles son los llamados teléfonos
inteligentes, pero el soporte completo al correo electrónico parece ser una
característica indispensable encontrada en todos los modelos existentes y
anunciados desde 2007.
Casi todos los teléfonos inteligentes también permiten al usuario instalar programas
adicionales, habitualmente incluso desde terceros, hecho que dota a estos teléfonos
de muchísimas aplicaciones en diferentes terrenos; sin embargo, algunos teléfonos
son calificados como inteligentes aun cuando no tienen esa característica.
En la figura 7 se aprecia la estadística desde mayo del 2013 a mayo del 2014 sobre
los teléfonos más usados por los usuarios.
51
FIGURA Nº 9. Gráfico de estimación de uso de smartphones comunes.
Fuente: NETMARKETSHARE (Market Share Statistics for Internet
Technologies). (Enero 2014)
52
Android
Android es un sistema operativo móvil basado en Linux, que junto con
aplicaciones middleware está enfocado a ser utilizado en dispositivos
móviles como teléfonos inteligentes, tablets y otros dispositivos. Es desarrollado por
la Open Handset Alliance, la cual es liderada por Google. Este sistema por lo general
maneja aplicaciones distribuidas por Google Play.
Fue desarrollado inicialmente por Android Inc., una firma comprada
por Google en 2005. Es el principal producto del Open Handset Alliance, un
conglomerado de fabricantes y desarrolladores de hardware, software y operadores
de servicio.
IPhone
IPhone es una familia de teléfonos inteligentes multimedia con conexión
a internet, pantalla táctil capacitiva y escasos botones físicos, diseñado por la
compañía Apple Inc. Iphone utiliza el sistema operativo iOS (anteriormente
denominado iPhone OS), el cual es un sistema operativo móvil de Apple.
desarrollado para el iPhone, siendo después usado en dispositivos como el iPod
Touch, iPad y el Apple TV. Apple, Inc. no permite la instalación de iOS en hardware
de terceros.
Tenía el 26% de cuota de mercado de sistemas operativos móviles vendidos en el
último cuatrimestre de 2010, detrás de Google Android y Nokia Symbian.
Windows Phone
Sistema operativo móvil creado por Microsoft, como sucesor de la plataforma
Windows Mobile. A diferencia de su antecesor, está enfocado en el mercado de
consumo generalista en lugar del mercado empresarial. Con Windows Phone,
Microsoft ofrece una nueva interfaz de usuario que integra varios servicios propios
como SkyDrive, Skype y Xbox Live en el sistema operativo.
53
El 29 de octubre de 2012 se lanzó al mercado la última versión del sistema operativo,
Windows Phone 8 solo para nuevos dispositivos, debido a un cambio completo en el
kernel que lo hace incompatible con dispositivos basados en la versión anterior,
fragmentando de esta forma el mercado de aplicaciones disponibles. Esta versión
incluye nuevas funciones que de acuerdo a Microsoft lo harán competitivo con
sistemas operativos como iOS de Apple o Android de Google.
BlackBerry
Marca de teléfonos. Desarrollada por la compañía canadiense BlackBerry que integra
el servicio de correo electrónico móvil en 1999; aunque incluye las aplicaciones
típicas de un smartphone: libreta de direcciones, calendario, listas de tareas, block de
notas etc., así como capacidades de teléfono en los modelos más nuevos.
Es fundamentalmente conocido por su teclado QWERTY incorporado, y por su
capacidad para enviar y recibir correo electrónico de Internet accediendo a las redes
de las compañías de telefonía celular que brindan este servicio.
BlackBerry usa el sistema operativo BlackBerry OS, el cual pueden tomar fotos,
grabar vídeos, reproducir música, acceder a internet y a su correo, aparte de su
sistema de mensajería llamado BlackBerry Messenger.
54
CAPITULO III: REQUERIMIENTOS
3.1. ANÁLISIS DE REQUERIMIENTOS
Los requerimientos de sistemas de Software se pueden clasificar en requerimientos
funcionales y no funcionales. Los funcionales declaran los servicios que debe
proporcionar el sistema, de qué manera debe reaccionar éste a diferentes entradas o
cómo se debe comportar en distintas situaciones. Los requerimientos no funcionales
son las restricciones de los servicios o funciones ofrecidas por el sistema, pueden
incluir restricciones de tiempo sobre el proceso de desarrollo y estándares.
La idea de tomar en una pauta los requerimientos para proveer una solución a la
problemática expuesta por el cliente, es la de lograr entender de forma transversal el
contexto en el que se desarrolla el proyecto, de ese modo se tomará conciencia de
los plazos, deberes, metas y aspiraciones del ámbito en el cual se desarrollará este
proyecto de título.
Es de real importancia en este caso el programar reuniones periódicas o
conferencias, como así también entrevistas individuales a los involucrados y
evaluaciones semanales de las metas propuestas.
La toma de requerimientos puede resultar una tarea compleja y que involucra
reiteradas observaciones y revisiones, todo esto debido a que muchas veces existen
cambios en términos de recursos humanos dentro de la institución a la cual se le está
desarrollando el Software o solución. Así también en términos de relaciones
interpersonales y visión de la empresa misma.
Todos estos factores pueden afectar los requerimientos que se recopilaron
inicialmente, dando paso a nuevas funcionalidades o modificación de funciones; es
por esto que es necesario poder identificar de forma clara a todos los actores
55
involucrados en el sistema, considerar las necesidades e inquietudes de cada uno y
asegurar que entienden cada aspecto del sistema a desarrollar.
Para las entrevistas, en primera instancia se trató de sólo escuchar y comprender el
contexto en el que se encontraba el Proyecto de Encuestas de ROWSIS; de esa
forma se logró tener un enfoque de la envergadura de las instituciones y entidades
relacionadas con la investigación y desarrollo que se comenzaría.
Luego de entender el entorno que rodea a ROWSIS, se dio paso a introducirse en el
ámbito tecnológico del proyecto, el cual fue difícil de entender al principio, esto
debido a lo desconocido que resulta pensar en la informática integral de problemas y
la computación móvil mezclado con estadística y recopilación de datos.
Objetivos de las conferencias
• Definir un modelo de desarrollo apropiado, siendo cuidadoso y respetuoso con
los plazos extremadamente cortos para este proyecto de título e investigación y
desarrollo para ROWSIS.
• Proponer alternativas a su proyecto en desarrollo.
• Comprender el entorno que rodea al proyecto ROWSIS.
• Comprender los puntos críticos del desarrollo móvil, para así lograr identificar
vías de investigación y desarrollo.
• Entender los compromisos, plazos y metas del proyecto.
• Lograr captar el enfoque tecnológico correspondiente a la parte móvil del
proyecto.
• Identificar y conocer al equipo ROWSIS, con el fin de crear la confianza
necesaria para proponer ideas o solicitar ayuda cuando se requiera.
56
3.2. DIAGNÓSTICO DE LA SITUACIÓN ACTUAL
Actualmente el desarrollo del sistema de encuestas de ROWSIS, está netamente
enfocado en crear un sistema de estadísticas con las cuales sus clientes puedan
tomar decisiones de todo tipo y ámbito, y en una próxima etapa hacer lo mismo pero
con los dispositivos que operan bajo el sistema operativo Android y iOS. Este
desarrollo se lleva a cabo en el entorno de desarrollo Wordpress en su primera
instancia, luego se migro a un CSM propio de ROWSIS, y en el lenguaje de
programación html5, php5, ccs5, y javascript.
Al desarrollar en dichos lenguajes se interactúa directamente con el lenguaje nativo
de los la página web y su base de datos, lo que dificulta y sube enormemente el
grado de dificultad respecto de los objetivos y metas planteadas con respecto al
tiempo disponible para el desarrollo.
3.3. FORTALEZAS Y DEBILIDADES
Fortalezas
Todo el Hardware necesario para el desarrollo de este proyecto existe; en este
caso se consideran dos: por un lado está el sistema base de ROWSIS, el cual
consta de servicios webs alojados en servidores, estos reciben peticiones y
emiten sugerencias surgidas de su motor de CSM.
Por otro lado, se tiene el Hardware imprescindible para investigar y desarrollar
prototipos en el proyecto aplicado de titulación, el cual consta de un Notebook con
conexión a Internet y un dispositivo Smartphone para realizar las pruebas
pertinentes; con todo lo anterior se da por hecho que el recurso Hardware está en
un estado óptimo para comenzar a trabajar.
57
El Software básico requerido para el desarrollo, sólo será relevante en el contexto
del alumno tesista. En este sentido es imprescindible contar con un sistema
operativo estable y un entorno de desarrollo potente; es por eso que se eligió
Windows 8.1 en arquitectura de 64 bits actualizado a la fecha, y en él se instaló el
SDK Android, ADT Android y la plataforma de desarrollo Wordpress, integrando
en el CSM propio del equipo de desarrollo de ROWSIS.
Debilidades
El equipo de desarrollo de ROWSIS se encuentra en la ciudad de Temuco, por lo
cual el escenario para el proyecto se centra en una situación de deslocalización;
esto implica que el método de conexión entre las partes se limite sólo a
videoconferencias o correos electrónicos, perdiéndose cierta formalidad en el
transcurso del proyecto.
Para el caso de los registros manuales, la opción de editar información es
compleja, ya que se necesita hacer borradores. La posibilidad de anexar nuevos
registros es otra complicación ya que se complementa actualmente añadiendo
hoja tras hoja, adjuntas a las originales, lo que genera un volumen y desorden
importante de información y presentación.
58
3.4. TECNOLOGIAS Y METODOS IMPLEMENTADOS
3.4.1. Encuestas
Una encuesta es un estudio observacional en el que el investigador busca recaudar
datos por medio de un cuestionario previamente diseñado, sin modificar el entorno ni
controlar el proceso que está en observación (como sí lo hace en un experimento).
Los datos se obtienen realizando un conjunto de preguntas normalizadas dirigidas a
una muestra representativa o al conjunto total de la población estadística en estudio,
integrada a menudo por personas, empresas o entes institucionales, con el fin de
conocer estados de opinión, características o hechos específicos. El investigador
debe seleccionar las preguntas más convenientes, de acuerdo con la naturaleza de
la investigación.
3.4.1.1. Encuesta Web
Una encuesta web es una encuesta electrónica realizada en Internet a partir de las
respuestas aportadas por los usuarios en un determinado sitio web.
3.4.1.2. Tipos de encuestas
Según sus objetivos
Encuestas descriptivas: Buscan reflejar o documentar las actitudes o condiciones
presentes. Esto significa intentar describir en qué situación se encuentra una
determinada población en momento en que se realiza la encuesta.
Encuestas analíticas: Buscan en cambio, además de describir, explicar los porqués
de una determinada situación. En este tipo de encuestas las hipótesis que las
respaldan suelen contrastarse por medio de la examinación de por lo menos dos
59
variables, de las que se observan interrelaciones y luego se formulan inferencias
explicativas.
Según las preguntas
De respuesta abierta: En estas encuestas se le pide al interrogado que responda el
mismo a la pregunta formulada. Esto le otorga mayor libertad al entrevistado y al
mismo tiempo posibilitan adquirir respuestas más profundas así como también
preguntar sobre el porqué y cómo de las respuestas realizadas. Por otro lado,
permite adquirir respuestas que no habían sido tenidas en cuenta a la hora de hacer
los formularios y pueden crear así relaciones nuevas con otras variables y
respuestas.
De respuesta cerrada: En éstas, los encuestados deben elegir para responder una
de las opciones que se presentan en un listado que formularon los investigadores.
Esta manera de encuestar da como resultado respuestas más fáciles de cuantificar y
de carácter uniforme. El problema que pueden presentar estas encuestas es que no
se tenga en el listado una opción que coincida con la respuesta que se quiera dar,
por esto lo ideal es siempre agregar la opción “otros”.
Según el medio de captura
Los medios de captura para realizar una encuesta incluyen papel, el teléfono, la
Internet y los dispositivos móviles.
El papel (PAPI: Paper and Pencil Interview): En términos generales, el papel (PAPI)
se usa para encuestas que van a ser aplicadas en sitios remotos donde no existe
señal de Internet, donde la Internet no sea confiable o cuando se requiera un registro
físico del llenado para su posterior vaciado y procesamiento; por ejemplo, encuestas
en zonas rurales. El papel sigue siendo el medio más usado a pesar de los avances
tecnológicos de las últimas décadas por su bajo costo, versatilidad y seguridad. La
tasa de rechazos de una encuesta en papel mediante encuestador es muy baja.
60
Entrevistas telefónicas (CATI: Computer Assited Telephone Interview): Las
encuestas telefónicas (CATI) se emplean cuando se desea aplicar un cuestionario
corto, de no más de 10 preguntas, y se desean obtener resultados inmediatos; se
utilizan en encuestas de coyuntura política, sondeos de opinión, recordación
publicitaria y posicionamiento de marcas. La tasa de rechazo de una encuesta CATI
es comparativamente baja, siempre que se cuenten con encuestadores bien
entrenados que logren persuadir al entrevistado para lograr la entrevista y mantener
su atención.
La Web (CAWI: Computer Assisted Web Interview): Las encuestas en la web (CAWI)
suelen usarse cuando para encuestas autoadministradas, es decir, cuando no sea
requerido un encuestador. El problema de este tipo de encuesta es la baja tasa de
respuestas, dado que habitualmente el sujeto no se motiva a responder, a no ser que
tenga algún interés en los resultados del estudio o porque está recibiendo un pago.
Una variante de la encuesta en la web (CAWI) es la encuesta enviada por correo
electrónico.
Dispositivos móviles (CAPI: Computer Assisted Personal Interview): Las encuestas
mediante dispositivos móviles permiten su aplicación con encuestador, grabando los
datos directamente en algún dispositivo tipo teléfono celular o tableta, con o sin
conexión a la Internet. El principal problema de usar este medio, más allá del costo
del dispositivo, es que no pueden ser usados en sitios con alta tasa de delincuencia o
pobreza, pues se corre el riesgo de perder tanto el equipo como los datos.
3.4.1.3. Reglas de una encuesta
Medir las relaciones entre variables demográficas, económicas y sociales.
Evaluar las estadísticas demográficas como errores, omisiones e
inexactitudes.
Conocer profundamente patrones de las variables demográficas y sus factores
asociados como fecundidad y migraciones determinantes.
61
Evaluar periódicamente los resultados de un programa en ejecución.
Saber la opinión del público acerca de un determinado tema.
Investigar previamente de las características de la población para hacer las
preguntas correctas.
3.4.1.4. Encuesta por muestreo
Ventajas
Bajo costo.
Información más exacta (mejor calidad) que la del censo, debido a que el
menor número de encuestadores permite capacitarlos mejor y más
selectivamente.
Es posible introducir métodos científicos objetivos de medición para corregir
errores.
Mayor rapidez en la obtención de resultados
Técnica más utilizada y que permite obtener información de casi cualquier tipo
de población
Gran capacidad para estandarizar datos, lo que permite su tratamiento
informático y el análisis estadístico
Desventajas
El planeamiento y ejecución de la investigación suele ser más complejo que si se
realizara por censo.
Requiere para su diseño de profesionales con buenos conocimientos de teoría
y habilidad en su aplicación. Hay un mayor riesgo de sesgo muestral.
Es necesario dar un margen de confiabilidad de los datos, una medida del
error estadístico posible al no haber encuestado a la población completa. Por
lo tanto deben aplicarse análisis estadísticos que permitan medir dicho error
62
con intervalos de confianza, medidas de desviación estándar, coeficiente de
variación, etc. Esto requiere de profesionales capacitados al efecto, y complica
el análisis de las conclusiones.
Software y herramientas para procesar encuestas
Existen en el mercado un sinnúmero de herramientas de software profesionales para
realizar el procesamiento de la encuesta de forma eficiente y productiva.
El tipo de software a utilizar dependerá en gran medida de la metodología de
aplicación del instrumento en campo, es decir, si la encuesta será autoadministrada o
administrada mediante entrevista personal; igualmente, el tipo de software
dependerá del medio de captura, bien sea papel (PAPI), web (CAWI), entrevista
telefónica (CATI) o dispositivos móviles (CAPI).
Algunas herramientas para el escritorio o para la web ofrecen una facilidad llamada
OLAP, lo cual permite almacenar los datos en un formato cúbico y así poder rotar las
dimensiones de análisis para obtener múltiples vistas de la información y poder
analizar fácilmente cada pregunta del cuestionario por sus variables de análisis
(sexo, ciudad, edad, estrato social, etcétera).
63
3.5. INVESTIGACION DE FUNCIONALIDADES DE LOS SUBTITUTOS
RotatorSurvey
Es el software procesador de encuestas más potente y fácil de usar desarrollado en
español. Permite construir cuestionarios en papel, tabular y digitar los datos,
asegurar la calidad y confiabilidad de todo el proceso y controlar al máximo las
inconsistencias.
Es la plataforma d software para el modelaje y análisis de estudios cuantitativos
basado en entrevistas a ser aplicadas en campo, completamente desarrollada en
español.
Permite construir cuestionarios en papel, entrevistas telefónicas o usando
dispositivos de computación móviles, asegurando la calidad y confiabilidad de todo el
proceso así como el análisis de los resultados de forma amigable e intuitiva por
medio de Rotator Analizador OLAP de estudios. Herramienta OLAP especifica que
permite realizar cruces, filtros y análisis de los datos.
E-encuestas
Proporciona a los departamentos de marketing, ventas y atención al cliente una
intuitiva herramienta para realizar sus encuestas de una forma eficiente, es decir, de
una forma rápida y económica.Conozca mejor el comportamiento y las necesidades
sus clientes actuales y potenciales, realice un seguimiento de su competencia y mida
la efectividad de los recursos que dedica a marketing y ventas a través de encuestas
on-line.Se enfoca a las siguientes áreas>
Conocimiento y segmentación del Mercado.
Opiniones, tendencias y competencia.
Lanzamiento de nuevos productos o servicios.
Evaluación de campañas publicitarias.
Evaluación del impacto de un cambio en los precios.
64
Software-Sacsa
Las Encuestas requieren: planeación cuidadosa, ejecución coordinada, análisis
estadístico y supervisión del trabajo. El sistema Encuestas utiliza la computadora
para disminuir costos y facilitar su trabajo en estas cuatro labores, para Encuestas
telefónicas, de campo (usando una Palm) e internet.
The Survey System
El sistema de encuestas es el paquete más completo software de encuestas
disponibles para trabajar con los cuestionarios de la encuesta. Este software es lo
suficientemente simple para los usuarios ocasionales, pero potente y lo
suficientemente flexibles para que los investigadores, encuestadores y otros
profesionales de la encuesta.
Sintecta
Es un software especializado para analizar información primaria de mercado que
permite realizar cualquier cruce de variables y reactivos tanto en tablas como
gráficamente en forma instantánea en formatos amigables e interactivos con el
usuario final, con altos niveles de desempeño.
Tecnología Sintecta/Palm.
Encuestas en tiempo real con software de análisis.
SurveyMonkey
Técnicamente, somos el proveedor mundial líder en soluciones de encuestas
basadas en la web en el que confían millones de compañías, organizaciones y
personas por igual que usan nuestros servicios para recopilar las perspectivas
necesarias y así tomar decisiones más informadas.
65
TeleForm
Cardiff Teleform permite administrar un centro de captura masiva de encuestas,
exámenes, pedidos, cuestionarios, requisiciones o formularios en general, limpiando
y confirmando datos automáticamente, por medio de reglas de negocio y
validaciones en bases de datos.
Tgi tecnologías para la gestión industrial s.a.
QSS software para toma de encuestas en terreno. QSS 2.0 (Quick Survey System)
es un software que permite la toma de encuestas en terreno utilizando computadores
de bolsillo con sistema operativo Windows for Pocket PC. QSS busca reducir
significativamente el tiempo que transcurre entre la captura de los datos y la
disponibilidad de los resultados, a la vez que reduce los errores en la toma de
encuestas.
Adding Solutions
Encuestas AS es un programa para realización de encuestas telefónicas. Encuestas
AS es un software para encuestas que incluye toda la potencia necesaria para
realizar encuestas telefónicas de alta complejidad (sociológicas, estudios de
mercado, etc.). Encuestas AS permite el diseño de complejos cuestionarios en
diferentes idiomas, de una forma muy sencilla.
NetQuest
Survey Manager es una solución de software desarrollada íntegramente por Netquest
para la gestión de encuestas avanzadas a través de Internet.Cubre todas las fases
del proceso de creación y lanzamiento de una encuesta online.
No requiere ninguna instalación, se usa a través de Internet. Desarrollada
íntegramente por Netquest. * En constante actualización y adaptación a las
demandas del sector.
66
3.6. INVESTIGACION DE FUNCIONALIDADES DE SURVEYMONKEY COMO
MODELO SUBTITUTO A DESARROLLAR
Es el software de encuestas en línea más famoso del mundo. Ahora, crear
cuestionarios y encuestas es más fácil que nunca para obtener información sobre
todo tipo de temas, desde satisfacción del cliente hasta compromiso de los
empleados. Suscríbase para acceder a nuestra biblioteca de ejemplos de preguntas
para encuestas y plantillas certificadas por expertos.
Personalice las preguntas de las encuestas, distribuya los cuestionarios en la web y
comience a recopilar respuestas en tiempo real. Nuestra herramienta Analizar lo
ayuda a convertir los datos de las encuestas en perspectivas y generar informes
profesionales.En 2013, SurveyMonkey tenía 15 millones de usuarios.
SurveyMonkey es una herramienta creada por la empresa SurveyMonkey de Estados
Unidos que le permiten a los usuarios la creación de encuestan en línea. A través de
esta herramienta se puede elaborar una encuesta, aplicarla y analizar los resultados
utilizando preguntas con respuestas abiertas y cerradas o con una o múltiples
opciones de respuestas.
Grandes marcas, empresas que recién comienzan, educadores y directores de RR.
HH., entre otros... por eso 15 millones de personas eligen las encuestas en línea de
SurveyMonkey para obtener las respuestas, y los resultados, que necesitan para sus
campañas, eventos y proyectos, pequeños y grandes.
Características potenciales de SurveyMonkey:
67
Gratis: Los Usuarios pueden enviar un número ilimitado de encuestas y
votaciones con nuestro plan GRATUITO.
Fácil de Usar: Los Usuarios pueden crear y supervisar su encuesta
directamente por Internet mediante un sencillo proceso de comienzo,
aprendizaje y uso.
Diseño intuitivo: No es necesario ser programador ni ingeniero para usar
SurveyMonkey, solo basta con saber revisar el correo electrónico o usar
Facebook.
Resultados en tiempo real: Puede visualizar sus datos a medida que llegan y
elegir que sean visibles solo para usted o permitir que otros también lo vean.
Confianza y experiencia: SurveyMonkey ha ayudado a más de 15 millones
de clientes satisfechos a recopilar información en línea.
Crece junto a sus necesidades: Los planes profesionales de
SurveyMonkey mejoran su capacidad de recopilar e interpretar información
con análisis avanzados y más.
68
CAPITULO IV: DISEÑO Y CODIFICACION DEL SISTEMA BASE
4.1. GENERALIDADES Y CONTEXTO
En este capítulo veremos los tópicos esenciales de la construcción del proyecto
desde el punto de vista técnico, como lo son sus distintos diagramas de
funcionamiento de mapa de sitio, base de datos, y estadísticas.
Se explicara paso a paso las funciones y características del sitio de acuerdo a las
generalidades, y aspectos técnicos del desarrollo.
4.2. DESARROLLO DEL PROYECTO
En esta sección daremos a conocer la intervención y auditoria por parte del tesista
quien está a cargo de dar retroalimentación al equipo de desarrollo, sobre las
pruebas y el control de calidad del proyecto.
También se darán a conocer aspectos importantes en los que se realizó el aporte en
el desarrollo del proyecto respectivo. En varios lugares del sitio construido se realizó
una auditoria de lo ya construido y se corrigieron errores de sintaxis en el código de
fuente además de agregar módulos funcionales como la página de estilos de
encuestas y la integración de los pligins de cálculos de gráficos y estadísticas.
También se implementó algunos algoritmos de mejora en cada página como por
ejemplo validar solo el ingreso de clientes del sitio restringiendo al administrador del
sitio a ver los datos de los clientes
69
4.3. DIAGRAMA DE PROTOTIPO BASE
En el diagrama expuesto a continuación, se puede observar las secciones que
llevará el prototipo del sistema que será usado como base de este desarrollo, en el
cual destacan los siguientes segmentos:
INICIO (Iniciar sección del cliente, se muestra el perfil)
SUCURSAL (Inscribir ver editar sucursales existentes)
ENCUESTAS (gestionar encuestas, crear, editar, borrar)
CODIGO QR (Generador de módulos multimedia)
REPORTES (Generador cuantitativo de parámetros, estadísticas graficas)
SOPORTE (Contacto)
FIGURA N° 9: Diagrama de prototipo base
Fuente: Diseño Propio 2014 en Microsoft Office Profesional Plus Visio 2013.
70
4.4. Diagrama de Prototipo con conexión a motor Wordpress
En el diagrama n°10 expuesto a continuación, se puede observar las secciones que
llevará el prototipo de aplicación con conexión a las funciones web de Wordpress, la
cual va a interactuar con algunas funciones específicas de la base de datos, entre
ellas, las de inicio de sesión y creación de nuevos usuarios.
DIAGRAMA N° 10: Prototipo con conexión a motor Wordpress
Fuente: Diseño Propio 2014 en Microsoft Office Profesional Plus Visio 2013.
El desarrollo de esta investigación y desarrollo fue llevado a cabo tomando en cuenta
los requerimientos previamente expuestos por el equipo ROWSIS; se emplearon
principalmente los lenguajes JavaScript y HTML5; para la conexión con los servicios
web de ROWSIS, se utilizó el método Post, todo esto se realizó bajo la plataforma de
desarrollo Wordpress y utilizando el framework Jquery.
71
4.5. DESCRIPCIÓN DEL PROTOTIPO BASE
A continuación se realizará una descripción de los prototipos desarrollados y
probados en desarrollo de este proyecto de titulación.
4.5.1. PANTALLA PRINCIPAL DE PROTOTIPO BASE
En esta pantalla se puede ver el prototipo base, el cual controla los distintos lugares
y tipos de las encuestas a través de la web, ya sea en Smartphones, como Adnoird,
iOS o Windowsphone. Esta pequeña aplicación fue probada en aparatos con
sistemas operativos iPhone y Android, Windows; así se comprobó la capacidad de
manipular el hardware con una programación multiplataforma.
72
4.5.2. PANTALLA VER TU SUCURSAL
Esta captura de pantalla le permite al cliente ingresar sus sucursales a través de este
formulario, en las cuales estarán referenciadas sus encuestas, esta administra las
distintas sucursales, el cliente puede crear, editar, eliminar una sucursal a gusto.
73
4.5.3. PANTALLA ENCUESTA
Esta captura de pantalla nos conecta con el formulario de la creación de encuestas
para los usuarios finales, o más bien dicho, los clientes de nuestros clientes. Esta
creada en base al html y css de la plantilla Wordpress, y en la parte lógica está
construida por php y las consultas SQL para que los datos se guarden en la el
servidor.
74
4.5.4. PANTALLA ESTILOS DE ENCUESTAS
Esta captura de pantalla nos conecta con el formulario de la creación de encuestas
para los usuarios finales, o más bien dicho, los clientes de nuestros clientes. Esta
creada en base al HTML y CSS de la plantilla Wordpress, y en la parte lógica está
construida por PHP y las consultas SQL para que los datos se guarden en la el
servidor.
75
4.5.5. PANTALLA ESTILOS DE ENCUESTAS
En esta captura de pantalla, se muestra el ColorPick-plugin que permite cambiar el
color del formato de la encuesta, y almacenar estos datos en una consulta SQL para
ser guardadas por id de cliente en la base de datos.
El cliente puede hace más estético la encuesta, con los colores institucionales de la
empresa usuaria.
76
4.5.6. PANTALLA PREVISUALIZAR
Esta pantalla, nos permite pre-visualizar las encuestas previamente creadas, estas
se agrupan de forma enlistas. En esta parte del sitio sirve para ver la coherencia de
encuesta, la gramática y el sentido del dato que se quiere capturar y cuantificar.
Sirve para ubicar rápidamente la encuesta del cliente según la sucursal en la cual fue
enlazada dicha encuesta.
77
4.5.7. PANTALLA DE PRODUCTOS
Esta captura de pantalla nos muestra la lista de productos que están adheridos a las
encuestas, es una forma de búsqueda para el cliente. Es opcional si el cliente desea
ligar una encuesta a un producto o servicio específico. Técnicamente lo que realiza
esta página del sitio es hacer una consulta en SQL, en la plantilla del PHP de la
página, de modo que busca los productos enlazados a alguna encuesta previamente
creada, y luego la visualiza en una lista creada por un diseño HTML y CSS.
78
4.5.8. PANTALLA DE DESCUENTOS
Esta captura de pantalla nos revela la utilidad de la pestaña de descuentos, en la
cual se indica cual va a ser el beneficio sorteado para el usuario final que realizo la
encuesta, por ejemplo, de los 100 personas que realizaron la encuesta sobre un local
de bebidas, uno de aquellos usuarios, recibirá un cupón de descuento o un canje de
producto en dicho lugar.
79
4.5.9. PANTALLA CODIGO QR
Esta captura de pantalla nos conecta la pestaña de códigos QR, en el framework se
integró un plugin que permite la creación de códigos para enlazar las encuestas de
los usuarios finales, de modo que los usuarios puedan escanear el código con sus
dispositivos móviles y acceder a responder la encuesta, el beneficio de responder
esta misma muchas veces va ligada al descuento y sorteo de productos de un cliente
hacia sus usuarios.
80
4.5.10. PANTALLA REPORTES
Esta captura de pantalla nos conecta con el visualizador de reportes de encuestas,
Tabula los datos de las encuestas realizadas y emite un reporte al email del cliente,
señalando a través de tablas o gráficos la cantidad de encuestas realizadas online,
81
4.5.10.1. PANTALLA ESTADISTICAS
Esta captura de pantalla nos conecta con el graficado de datos de encuestas, en la
cual el cliente podrá cuantificar y calificar los datos adquiridos por las encuestas,
cabe destacar que el cliente puede elegir los tipos de gráficos disponibles, puede
imprimir los gráficos y análisis, también puede hacer su consultas del gráfico, es
decir, el grafico dentro del gráfico, para un análisis más sensible y preciso. Esta es la
pestaña principal del sitio ya que con esta información el cliente lograra tomar
decisiones más aciertas en base a la nueva incorporación de productos o servicios,
ya que se aportara al análisis del mercado competente.
82
4.5.11. PANTALLA SOPORTE
Esta captura de pantalla nos conecta con el formulario de envió de soporte al equipo
de desarrollo en caso de que ocurriera algún desperfecto con el sistema. También en
el caso de contactar a algún nuevo cliente o consultar por algún aspecto especifico
de este mismo
83
4.6. PANTALLA DE PROTOTIPO CON WORDPRESS Y MYSQL
En esta pantalla se puede ver el prototipo base, el cual controla los distintos lugares
y tipos de las encuestas a través de la web, ya sea en Smartphones, como Adnoird,
iOS o Windowsphone. Esta pequeña aplicación fue enviada al equipo ROWSIS para
que fuera probada en aparatos con sistemas operativos iPhone y Android, Windows;
así se comprobó la capacidad de manipular el hardware con una programación
multiplataforma.
84
CONCLUSIONES
Se ha logrado desarrollar una aplicación que cumple con los objetivos para los que
fue creada, que son: Alertar caída y subida de un servidor. La aplicación siguió una
estructura incremental en su desarrollo, cumpliéndose cada uno de los pasos
necesarios para la finalización del proyecto, por lo cual se cuenta con un desarrollo
estable que reconoce tanto fortalezas como limitaciones. La aplicación tiene una
base que permite escalar a futuras versiones más elaboradas y que apliquen
mayores funcionalidades para el usuario final.
Se demostró que es posible innovar utilizando una gama de herramientas disponibles
en Internet; libres, con excelente documentación, y por sobretodo, con el constante
respaldo de la comunidad que las utiliza; recibiendo ayuda por parte de creadores del
código como usuarios experimentados. Estás características y entorno de trabajo,
demostraron que el proyecto pudo ser desarrollado con una inversión de riesgo
mínimo, logrando que el éxito dependa estrictamente de una metodología y
estructura de trabajo bien aplicada, capaz de atender las necesidades del usuario
final.
CONCLUSIONES TÉCNICAS
El resultado de la investigación y desarrollo, para validar la factibilidad y viabilidad
técnica de obtener una programación multiplataforma que sirva como base para la
segunda versión del proyecto de Encuestas, fue exitoso y toda la documentación y
habilidades adquiridas en el tiempo que duró este proyecto de tesis, será utilizado
por el equipo de Encuestas para llevar a cabo su desarrollo en más de una
plataforma móvil, superando así, el mayor problema que les arrojó su inadecuada
elección de tecnologías a utilizar en la ejecución de su proyecto.
85
CONCLUSIONES GENERALES
Desarrollar en los tiempos estipulados.
Familiarizarse de forma óptima con las tecnologías que ROWSIS seleccionara
para llevar a cabo en el proyecto.
Cumplir con las expectativas que instituciones como ROWSIS y CORFO
tienen en este proyecto, entregando la mejor solución posible para este
emprendimiento digital.
Obtener notas de prensa en medios digitales y escritos que faciliten la
masificación del proyecto, una vez este sea terminado desde el ámbito de
desarrollo.
Las pruebas se realizaron primeramente por módulos, a medida que se iba
desarrollando y se terminaba cierto modulo, se testeaba de forma inmediata; luego el
sistema como un todo, al final del proceso y en detalle cada módulo de igual forma;
durante este periodo no se encontraron grandes problemas, ya que la revisión
progresiva de detalles y errores permitieron acortar la brecha de un trabajo de Debug
post-desarrollo; sí se corrigieron pequeños errores de redacción y diseño con el fin
de otorgar comodidad de trabajo a los usuarios.
86
BIBLIOGRAFÍA Y REFERENCIAS ELECTRÓNICAS
http://rowsis.com/presentacion/Presentaci%f3n%20Rowsis(Umayor).pdf,
Consultado el 18-12-2013.
http://www.ayerviernes.com/wp- , Consultado el 18-12-20113.
content/uploads/2012/07/soydigital2012.pdfhttp://www.desarrolloweb.com,
Consultado el 19-12-2013.
www.mobiledevelopersolutions.com, Consultado el 23-12-2013.
http://www.w3schools.com/html/ , Consultado el 30-12-2013.
http://www.phpbuilder.com/, Consultado el 06-01-2014.
http://net.tutsplus.com/ Consultado el 06-01-2014.
http://dev.mysql.com/doc/refman/5.6/en/, Consultado el 06-01-2014.
http://codex.wordpress.org/, Consultado el 06-01-2014.
http://www.w3counter.com/features/tour, Consultado el 13-01-2014.
https://www.lucidchart.com, Consultado el 17-01-2014
PHP; "funciones”; “estructuras de control”; “sintaxis para SQL Server”. 2012.
http://www.php.net/manual/en/langref.php
Java Script Source; “Documentación Ajax”; “Funciones de contenido dinámico
para JScript”, 2012. http://javascriptsource.com/
SQL Server; “Recursos técnicos de migración de datos, librerías, soporte e
información”; 2012. http://www.microsoft.com/spain/sql/2008/technical-
resources.aspx
Robert Johnson & Patricia Kuby (2005). Estadística elemental, lo esencial (3ª
ed). Thomson
http://www.highcharts.com/products/highcharts
87
ANEXOS
ANEXO N1: PATROCINIO DEL TESISTA POR ROWSIS LTDA.
88