Proyecto de Titulo - Sebastian Diaz Castro

97
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

description

Trabajo de titulación en pre grado académico Universitario.

Transcript of Proyecto de Titulo - Sebastian Diaz Castro

Page 1: 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

Page 2: 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

Alumno: Sebastián Boris Díaz Castro

Profesor Guía: Miguel Carrasco Quijada

Ingeniero Civil Industrial

TEMUCO - CHILE

JUNIO 2014

Page 3: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 4: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 5: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 6: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 7: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 8: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 9: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 10: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 11: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 12: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 13: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 14: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 15: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 16: Proyecto de Titulo - Sebastian Diaz Castro

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).

Page 17: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 18: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 19: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 20: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 21: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 22: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 23: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 24: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 25: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 26: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 27: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 28: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 29: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 30: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 31: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 32: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 33: Proyecto de Titulo - Sebastian Diaz Castro

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)

Page 34: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 35: Proyecto de Titulo - Sebastian Diaz Castro

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:

Page 36: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 37: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 38: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 39: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 40: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 41: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 42: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 43: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 44: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 45: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 46: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 47: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 48: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 49: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 50: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 51: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 52: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 53: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 54: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 55: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 56: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 57: Proyecto de Titulo - Sebastian Diaz Castro

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).

Page 58: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 59: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 60: Proyecto de Titulo - Sebastian Diaz Castro

51

FIGURA Nº 9. Gráfico de estimación de uso de smartphones comunes.

Fuente: NETMARKETSHARE (Market Share Statistics for Internet

Technologies). (Enero 2014)

Page 61: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 62: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 63: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 64: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 65: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 66: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 67: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 68: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 69: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 70: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 71: Proyecto de Titulo - Sebastian Diaz Castro

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).

Page 72: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 73: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 74: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 75: Proyecto de Titulo - Sebastian Diaz Castro

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:

Page 76: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 77: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 78: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 79: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 80: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 81: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 82: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 83: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 84: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 85: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 86: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 87: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 88: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 89: Proyecto de Titulo - Sebastian Diaz Castro

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,

Page 90: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 91: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 92: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 93: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 94: Proyecto de Titulo - Sebastian Diaz Castro

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.

Page 95: Proyecto de Titulo - Sebastian Diaz Castro

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

Page 96: Proyecto de Titulo - Sebastian Diaz Castro

87

ANEXOS

ANEXO N1: PATROCINIO DEL TESISTA POR ROWSIS LTDA.

Page 97: Proyecto de Titulo - Sebastian Diaz Castro

88