J Monasterio S
J Monasterio S
J Monasterio S
Valencia, 10-10-2016
II
III
IV
V
Dedicatoria
A mi abuela Lola (que en paz descanse), porque fue un factor importante para
finalizar esta carrera, ya que ella fue el motor que ayudo a motivarme para
culminarla exitosamente a pesar de las circunstancias.
A mis padres y mi hermana por su amor y apoyo incondicional, se que sin ellos
yo no sería la persona que soy hoy en día, ya que con sus consejos en los
momentos más importantes de mi vida he logrado salir adelante. LOS AMO.
Javier A. Monasterios M.
VI
Agradecimientos
A mi esposa por ser mi apoyo desde el primer día y en todo el curso de este
postgrado.
Javier A. Monasterios M.
VII
UNIVERSIDAD DE CARABOBO
Facultad Experimental de Ciencias y Tecnología
Especialización en Desarrollo de Software
Resumen
La Ley de Interoperabilidad en Venezuela tiene como objeto establecer las bases y
principios que regirá el acceso e intercambio electrónico de datos, información y
documentos entre los órganos y entes del Estado, con el fin de garantizar la implementación
de un estándar de interoperabilidad. Este trabajo de investigación tiene como objetivo
desarrollar un sistema de gestión colectiva para mesas de trabajo en un ambiente virtual
que sirva de apoyo al Centro Nacional de Tecnologías de Información en el manejo de la
interoperabilidad, con el fin de generar un aporte tecnológico el cual sirva de apoyo para
impulsar el proyecto de Ley de Infogobierno publicado en la Gaceta Oficial de la República
Bolivariana de Venezuela N° 40274 de fecha 17 de Octubre de 2013.
Para lograr lo antes expuesto, se propone desarrollar una aplicación que permita la gestión
colectiva para mesas de trabajo en ambientes virtuales entre los entes del estado,
facilitando el acceso a una información de interés completa y actualizada. Lo cual no solo
implica la utilización de herramientas tecnológicas tales como correo electrónico, chats o
mesas de trabajo, sino que contará con una base de datos en donde quedarán registrados
los acuerdos logrados en cada una de las mesas de trabajo, así como también soluciones
definidas en temas específicos bajo el marco de la Interoperabilidad. Se utilizará la
metodología investigación acción y la metodología de desarrollo de software AgilUs para el
desarrollo de sistema basado en la usabilidad.
Los resultados de esta investigación serán por una parte el desarrollo del Sistema de
Gestión Colectiva para Mesas de trabajo y por otra la percepción de los usuarios sobre el
sistema respecto a la facilidad de uso y las bondades que le permitirán una comunicación
efectiva en el equipo de trabajo.
Autor Tutor(es)
Javier Monasterios Dra. Desiree Delgado
VIII
UNIVERSIDAD DE CARABOBO
Facultad Experimental de Ciencias y Tecnología
Especialización en Desarrollo de Software
Abstract
Interoperability Law in Venezuela aims to establish the basis and principles that govern the
access and electronic exchange of data, information and documents between the organs
and agencies of the State, in order to ensure implementation of an interoperability standard.
This research aims to develop a System of Collective Management Bench in a Virtual
Environment that will support the National Centre for Information Technologies in managing
interoperability, in order to generate a technological contribution which will support to push
the Infogovernment Law published in the Official Gazette of the Bolivarian Republic of
Venezuela No. 40274 dated October 17, 2013.
The results of this research will be on the one hand the development of the System of
Collective Administration for Work tables and on the other the perception of users on the
system on the ease of use and the benefits that will enable effective communication in the
team work.
Author Tutor
Javier Monasterios Dra. Desiree Delgado
IX
Índice General
DEDICATORIA .......................................................................................................... V
AGRADECIMIENTOS ................................................................................................. VI
RESUMEN .............................................................................................................. VII
ABSTRACT ............................................................................................................ VIII
ÍNDICE GENERAL ..................................................................................................... IX
ÍNDICE DE FIGURAS ............................................................................................... XIII
INTRODUCCIÓN .......................................................................................................16
CAPÍTULO 1 ............................................................................................................18
1. EL PROBLEMA..................................................................................................18
1.1. PLANTEAMIENTO DEL PROBLEMA....................................................................18
1.2. OBJETIVOS ..................................................................................................20
1.2.1 Objetivos Generales ..............................................................................20
1.2.2 Objetivos Específicos ............................................................................20
1.3. JUSTIFICACIÓN.............................................................................................21
CAPÍTULO 2 ............................................................................................................23
CAPÍTULO 3 ............................................................................................................55
CAPÍTULO 4 ............................................................................................................73
4. RESULTADOS ..................................................................................................73
4.1 FASE DE ANÁLISIS DE REQUERIMIENTOS ............................................................73
4.1.1. Tormenta de Ideas ................................................................................73
4.1.2. Evaluación de Sistemas Existentes .......................................................74
4.1.2.1. BaseCamp 3 ......................................................................................75
4.1.2.2. Wrike .................................................................................................76
4.1.2.3. Teambox ............................................................................................78
4.1.3. Perfiles de Usuario ................................................................................79
4.1.4. Requisitos Funcionales..........................................................................81
4.1.5. Requisitos No Funcionales ....................................................................82
4.2. FASE DE ANÁLISIS ........................................................................................83
4.2.1. Modelo de Casos de Uso ......................................................................83
4.2.2. Modelos de Objetos del Dominio ...........................................................87
4.2.3. Guía de Estilos ......................................................................................88
4.2.3.1. Color y uso tipográfico del color .........................................................88
4.2.3.2. Identidad Visual .................................................................................89
4.2.3.3. Uso de iconos y descripción ..............................................................90
4.2.3.4. Descripción de la estructura...............................................................90
4.2.3.5. Descripción de la estructura de la página de inicio ............................91
4.2.4. Patrón de Sistema .................................................................................91
4.3. FASE DE PROTOTIPAJE .................................................................................92
4.3.1. Evaluación Heurística ............................................................................92
4.3.1.1. Metodología de la evaluación ............................................................92
4.3.1.2. Resultados de la evaluación ergonómica ...........................................93
4.3.1.3. Análisis de resultados de la evaluación ergonómica ..........................94
4.3.2. Lista de Comprobación ..........................................................................96
4.3.3. Prototipo Ejecutable ..............................................................................96
4.4. FASE DE ENTREGA .......................................................................................97
4.4.1. Prueba de Aceptación ...........................................................................97
4.5 APLICACIÓN A LIBERAR.....................................................................................99
4.5.1 Estructura del proyecto ..........................................................................99
XII
CAPÍTULO 5 ..........................................................................................................103
ANEXOS ................................................................................................................110
XIII
Índice de Figuras
Índice de Tablas
La interoperabilidad (IO) es un tema que cobra auge a nivel mundial, de ahí que
Venezuela no puede escaparse de su impacto, ya que es ampliamente vista como un
factor clave en el desarrollo de eficaces y atractivos servicios electrónicos.
Actualmente, el Estado Venezolano ha dado comienzo al desarrollo de la
interoperabilidad en la gestión pública, generando la Ley titulada "Ley de Intercambio
Electrónico de Datos, Información y Documentos entre los Órganos y Entes del
Estado" la cual fue promulgada mediante Decreto Nº 9.051 publicado el 15/06/2012 en
la Gaceta Oficial Nº 39.945.
Según lo expresado por Largillier & Vassileva (2012) “Hay muchas situaciones en las
que la gente tiene que colaborar”, en el presente trabajo un aspecto clave en la gestión
de grupos colaborativos, está en el asegurarse de que el grupo se reunió para realizar
una tarea determinada, y de que fue cumplida eficientemente. Para lograr esto, a
menudo se requiere que los participantes realicen ejercicios o proyectos como grupos.
16
Asimismo, se hace necesaria la integración de estos equipos a través de meetings o
reuniones en mesas de trabajo, las cuales ayudarán a determinar si se están
alcanzando los objetivos deseados y cómo se están logrando. Esto para conocer si las
metas o proyecciones que se trazaron con antelación se han cumplido en su totalidad
y si no, tomar las medidas pertinentes a que haya lugar. Un ejemplo claro está en el
CNTI como ente coordinador de la interoperabilidad en Venezuela, la cual es una tarea
que amerita de mucha interacción entre los involucrados y motivado a que las
instituciones del estado se encuentran distanciadas físicamente, se hace necesario
efectuar meetings a través de un entorno virtual donde puedan interactuar sin
problemas.
Según Alag (2008), cuando un grupo de individuos colaboran o compiten entre sí, la
inteligencia o el comportamiento que de otro modo no existía, emerge repentinamente;
Esto se conoce comúnmente como la inteligencia colectiva.
17
Capítulo 1
1. El problema
El presente capitulo se expondrán cuales son los objetivos que se desean lograr en
este trabajo de investigación; tanto generales, como específicos. Adicionalmente, se
definirá la justificación y antecedentes que forman parte y motivaron a desarrollar este
proyecto.
Rivera, Rojas, Ramírez y Álvarez (2005) aseguran que las teorías de comunicación e
información y de desarrollo organizacional, consideran a la comunicación como
herramienta fundamental para lograr que las relaciones en las organizaciones sean
exitosas, y es por esto que, se produce la necesidad de crear un pilar básico para la
simplificación de trámites y el Gobierno Electrónico, basándose en un operador único
que se encargue de gestionar las solicitudes y el intercambio de información entre
18
entidades, como lo es el Centro Nacional de Tecnologías de Información (CNTI), cuyo
objetivo es generar bienestar al ciudadano a través de mejores servicios.
Por esa razón, el éxito del equipo únicamente se conseguirá si todos los miembros del
mismo grupo aprenden los unos de los otros, y al asegurarse que cada uno de los
miembros del grupo ha logrado el objetivo del proyecto en común.
Por lo expuesto anteriormente, ha surgido la necesidad de generar una solución que
permita centralizar la comunicación entre los entes gubernamentales, a través de un
ambiente virtual que permita de manera colectiva intercambiar información entre ellos.
19
En este proyecto, se propone la creación de un Sistema de Gestión Colectiva para
Mesas de Trabajo en Ambientes Virtuales, el cual va dirigido a todos los operadores de
la interoperabilidad en Venezuela. Dicho software, tiene como objetivo apoyar la
gestión de una manera efectiva a través de mesas de trabajo enfocadas en el tema de
la interoperabilidad, con el fin de gestionar las actividades del proceso de IO.
1.2. Objetivos
A continuación se desglosaran las metas u objetivos que se quieren alcanzar con este
trabajo de investigación. Definir los objetivos nos ayudara a responder a la pregunta el
"qué" y "para qué” de este trabajo de investigación.
Realizar una revisión bibliográfica del tema que trabaja aspectos como la
interoperabilidad, construcción colectiva del conocimiento, reuniones de trabajo.
20
Realizar las pruebas de funcionalidad, usabilidad y ergonomía para que la
experiencia del usuario al utilizar el sistema sea agradable e intuitiva.
1.3. Justificación
21
Por otra parte, no sirve de nada implementar la IO en las instituciones
gubernamentales, sin que los usuarios de estos sistemas estén educados en el tema.
Recordemos que un adecuado proceso de formación es primordial para garantizar el
éxito de la implantación de la interoperabilidad en Venezuela.
De esta manera, con el fin de acelerar el proceso de Transformación del Estado como
vía para alcanzar la Democracia Protagónica y Participativa, y con base en la
construcción de un modelo de Gobierno Electrónico para el Estado Venezolano en el
marco de la IO, se presenta esta investigación que pretende dar a los profesionales de
las instituciones públicas la formación y las herramientas para realizar las actividades
propias del proceso de IO, con el fin de propiciar una interrelación eficaz entre las
instituciones y apoyar la optimización de la gestión de IO para dar soluciones rápidas y
eficientes al ciudadano común. Además, con el desarrollo de esta investigación se
contribuirá con el cumplimiento de las funciones descritas en la Ley de Infogobierno, la
cual establece el carácter de obligatoriedad del uso de las Tecnologías de Información,
basadas en software libre y con estándares abiertos en el ejercicio de las
competencias del Poder Público dentro de su gestión interna, en sus relaciones con las
personas y con el Poder Popular.
22
Capítulo 2
2. Marco Teórico
Para poder adentrarse en el tema de trabajo colectivo y su aplicación utilizando las
actuales herramientas tecnológicas, es importante aportar teoría que explique ambos
términos.
Los términos la “sociedad en la red”, la “sociedad de la información”, la “sociedad del
conocimiento” Lund & Rasmussen (2010) presentan un aspecto del mundo donde los
adelantos del conocimiento distribuido y colaborativo retan las tradicionales prácticas
educativas. El ambiente tecnológico de la Web 2.0, mencionada por Millard & Essex
(2007) como una red enfocada a la creación de contenidos por el usuario, está
cambiando la forma en que el mundo interactúa, socializa y aprende.
La Web 1.0 fue la web de los datos, Web 2.0 es un paradigma de cambio, una web de
personas enfocadas a la interacción social. Esto está dando paso a un nuevo modelo
de aprendizaje, c-Learning o comunidad de aprendizaje donde los recursos de la Web
2.0 son aplicados como una nueva filosofía, situando al participante en el centro del
proceso de aprendizaje, el cual es construido en colaboración junto con sus pares, y el
contexto entero que los rodea. (Casamayor, 2008).
2.1 Antecedentes
A continuación, se presentarán algunos antecedentes directos y trabajos relacionados
a este trabajo de investigación:
Trabajos relacionados
23
en este artículo contribuyeron en el enfoque en el cual se basara la
aplicación para obtener resultados satisfactorios de las mesas de trabajo.
o En el artículo titulado: “Simulating a Collective Intelligence Approach to
Student Team Formation” (J.M. Alberola et al, 2013), explican la
importancia del trabajo en equipo, y como esto influye en el éxito de la
formación de equipos, siguiendo patrones basados en roles. Esto genera
un aporte considerable a este trabajo de investigación, ya que el enfoque
de colaboración colectiva entre los participantes de mesas de trabajo
están basadas en roles de usuario.
o Acosta (2011), en su artículo titulado: “AgilUs: un método ágil de
desarrollo de software que incorpora la usabilidad”, describe una
metodología de desarrollo ágil que permite la construcción de la
usabilidad desde las primeras etapas del ciclo de vida de software
orientado a desarrollos de aplicaciones que involucren un alto grado de
interacción con los usuarios. En vista a la gran interacción que tendrá la
aplicación resultante de esta investigación con los usuarios, se tomara en
cuenta algunas buenas prácticas descritas en AgilUs para incorporar la
usabilidad en el proceso de desarrollo de software.
A lo largo del texto del presente trabajo, se utilizan los términos trabajo
colectivo/cooperativo y aprendizaje colectivo/cooperativo. Algunos autores marcan
diferencia en estos términos, pero para efectos de la presente investigación se hace la
aclaración que se utilizaron de manera indistinta.
Según lo expuesto por Johnson & Johnson (2004), el trabajo cooperativo o colectivo es
la asociación de individuos que trabajan en forma organizada para ayudar a mejorar la
vida de todos, buscando la unidad y los acuerdos en el desarrollo de los procesos de
producción o de servicios. Esto implica objetivos bien claros (planificación), toma de
24
decisiones en común (acuerdos), la activa colaboración y cooperación, compartir las
responsabilidades, las dificultades y los logros.
Desde la perspectiva del trabajo colectivo, donde cada individuo puede dar un aporte
al grupo y a la comunidad, en la búsqueda de un bien común, se vislumbra también
una posibilidad de fortalecimiento político, ya que el trabajo colectivo requiere de una
participación activa de los integrantes en la toma de decisiones y en la incidencia en
ámbitos más amplios (Johnson & Johnson, 2004).
25
Con relación a lo anterior, Vygotsky defiende su idea sobre la importancia de la
relación y la interacción con otras personas como origen de los procesos de
aprendizaje y desarrollo humano, profundizando en el ámbito psicológico y educativo.
Según Caldeiro & Vizcarra (1999), se puede resumir que en los grupos cooperativos:
26
La intervención se ajusta a un feed-back adecuado a los modos de interrelación
mostrados por los miembros.
Además de la evaluación grupal se implementa también una evaluación
individual para cada miembro.
Según Caldeira & Vizcarrra (1999), una mesa de trabajo colectiva o cooperativa se
distingue por:
La actividad
La dificultad de la tarea asignada impide que un solo participante pueda hacerse
cargo de todo el trabajo, por lo tanto, la necesidad de dividirlo y asumir
27
responsabilidades que sumen a la totalidad, es un aprendizaje en sí mismo, ya que
responde a las características reales de la sociedad en la que vivimos.
Factores Motivacionales
La motivación por el compromiso nace del hecho de que el éxito de cada uno está
ligado al éxito de los demás o de que la dificultad individual puede ser atenuada por
la ayuda que se recibe del resto. Aunque puede darse el caso de una motivación
extrínseca, no pasa de ser inicial y secundaria. Progresivamente la calidad de la
relación entre los miembros, la ayuda recíproca, la estima mutua, el éxito,
determinan una motivación intrínseca y convergente de todos los participantes de la
mesa de trabajo.
Existen cuatro (4) tipos de aprendizaje cooperativo, los cuales pueden ser usados en
combinación con la tecnología instruccional: Aprendizaje de Cooperación formal,
Aprendizaje de cooperación informal, Grupos de Base Cooperante y Controversia
Académica.
28
2.5.1 Aprendizaje Cooperativo Formal
29
2.5.2 Aprendizaje Cooperativo Informal
Según Johnson & Johnson (2004), este tipo de aprendizaje consiste en tener
estudiantes que trabajen juntos para lograr un objetivo común de aprendizaje en
grupos temporales, que duran desde pocos minutos hasta una hora. Los
grupos de aprendizaje cooperativo informal suelen organizarse con el fin de
involucrarse en discusiones enfocadas de 3 a 5 minutos antes y luego de una
lectura.
Figura 1.- Tipos de aprendizaje cooperativo. (Fuente: Johnson & Johnson, 2004).
30
2.5.4 Controversia Académica
Mientras que las computadoras se han utilizado como herramientas educativas desde
la década de 1970, integrar el diseño y el despliegue de equipos con la teoría
educativa ha sido difícil. Las instrucciones apoyadas en la tecnología, por ejemplo,
necesita ser integrada en las teorías que subyacen al uso del aprendizaje cooperativo.
Según Johnson & Johnson (2004), existen al menos tres perspectivas teóricas
generales que han guiado la investigación acerca del aprendizaje cooperativo,
cognitivo, conductual y de interdependencia social.
La perspectiva constructivista del desarrollo está basada en gran medida en las
teorías de Piaget y Vigotsky. El trabajo de Piaget y teóricos relacionados se basa en la
31
premisa de que cuando los individuos cooperan en el ambiente, los conflictos socio-
cognitivos crean desequilibrio cognitivo, que a su vez estimula la capacidad de toma de
perspectiva y el desarrollo cognitivo. El trabajo de Vygotsky y teóricos relacionados se
basa en la premisa de que el conocimiento es social, construido a partir de los
esfuerzos de cooperación para aprender, comprender y resolver problemas.
La perspectiva de la teoría del aprendizaje conductual se centra en el impacto de
los refuerzos y recompensas en el aprendizaje del grupo.
La interdependencia social existe cuando los participantes o individuos comparten
metas en común y el éxito de cada persona se ve afectado por las acciones de los
demás.
La interdependencia social existe cuando los participantes o individuos comparten
metas en común y el éxito de cada persona se ve afectado por las acciones de los
demás.
Elevado grado de Igualdad: debe existir un grado de simetría en los roles que
desempeñan los participantes en una actividad grupal.
33
mutualidad se darán cuando se promueva la planificación y la discusión en conjunto,
se favorezca el intercambio de roles y se delimite la división del trabajo entre los
miembros.
Evaluar cuánto del esfuerzo que realiza cada miembro contribuye al trabajo de
grupo.
Proporcionar retroalimentación a nivel individual así como grupal.
Auxiliar a los grupos a evitar esfuerzos redundantes por parte de sus miembros.
Asegurar que cada miembro sea responsable del resultado final.
34
Johnson & Johnson (2004) indican que, vivimos en una época de la historia en donde
el conocimiento es el recurso más importante para el desarrollo económico y social, y
en donde la gente tiene que ser capaz de participar interconectados en red.
Anteriormente, la gente que ejecutaba trabajo manufacturero lo completaba
generalmente de forma independiente, hoy en día, la gente se involucra en el trabajo
rico en tecnologías de la información, donde ellos deben trabajar en equipo para lograr
el éxito. La gente debe ser capaz de trabajar en colaboración en el diseño, uso y
mantenimiento de las herramientas de la tecnología. La tecnología y el trabajo en
equipo jugarán continuamente un gran rol en la vida de la mayoría de las persona.
Niños, adolescentes y adultos jóvenes no tienen más remedio que desarrollar y
aumentar su capacidad tecnológica y de trabajo en equipo. No hay mejor lugar para
ellos que empezar en la escuela. El aprendizaje en grupos cooperativos haciendo uso
de herramientas tecnológicas debe ocurrir en todas las materias y niveles.
35
Figura 2.- resultados de aprendizaje cooperativo apoyado por tecnología. (Fuente: Johnson &
Johnson, 2004).
De acuerdo a Pérez (2004), los entornos virtuales son ambientes que permiten el
trabajo en grupo de sus integrantes a partir de metas compartidas y estructuradas
altamente flexibles de acuerdo a las necesidades de los alumnos. Para Gros (2008)
citado por Cardona (2010), se ha de entender por entorno el conjunto de elementos en
interrelación que constituyen un sistema que favorece el aprendizaje. Utilizaremos el
término de entorno de aprendizaje para referirnos a la creación de espacios de
formación basados en un sistema de comunicación mediada por el ordenador. En
36
nuestro caso nos hemos centrado en las herramientas diseñadas específicamente
para apoyar la construcción colaborativa del conocimiento.
Continuando con las características de los entornos (Llorente M.C., 2007) presenta su
versión denotando que además de ser una aplicación informática, debe estar
caracterizado por diferentes propiedades, que lo configuren, incrementando su
relevancia en el desarrollo de aspectos didácticos. Como aplicación informática que es,
está constituida por diferentes herramientas, como las de comunicación (síncronas
como el chat y asíncronas como el correo electrónico); las de elaboración de
contenidos de aprendizaje (editores de páginas Web, Wikies o Blogs) o las de gestión
de participantes.
37
Para presentar un mayor detalle sobre la diferencia entre herramientas síncronas y
asíncronas, se describen las siguientes categorías:
Figura 3.- Características de los Entornos Virtuales (Fuente: Cabero, 2007, Revuelta, 2009).
38
2.12 Entornos virtuales para trabajo colaborativo
2.13 Interoperabilidad
2.13.1 Definición
41
2.13.2 IO en el mundo
2.13.3 IO en Venezuela
2.13.4 Normativas
Por otra se han definido ciertas normas técnicas con el fin de promover la
calidad, integración, y adecuación de los productos y servicios informáticos de
las instituciones del Estado, mediante el establecimiento de disposiciones de
uso común y continuidad de las Tecnologías de Información (TI) en la APN.
46
Laravel, propone en el desarrollo usar 'Routes with closures', en lugar de un MVC
tradicional con el objetivo de hacer el código más claro. Aun así permite el uso de MVC
tradicional (Sierra, Acosta, Ariza & Salas, 2013). Laravel es un framework PHP libre, y
se puede encontrar en el siguiente link: http://laravel.com/
47
Micro-servicios y APIs, permite desarrollar fácil y rápidamente micro-
servicios y APIs de gran rendimiento para los proyectos.
HTTP Routing, es un sistema de enrutamiento rápido y eficiente
similar al que se usa en Ruby on Rails. Este permite relacionar las
partes de una aplicación con rutas que ingresa el usuario en el
navegador.
HTTP Middleware, se encarga de analizar y filtrar las llamadas HTTP
en el servidor. Puede usarse para que se encargue de verificar
registro de usuarios, evitar problemas de tipo Cross-Site-Scripting
(XSS) y otras medidas de seguridad.
Cache, la cual permite que las aplicaciones carguen mas rápido, con
el fin de ofrecer la mejor experiencia a los usuarios.
Autenticación, es una funcionalidad que viene lista para implementar
la autenticación de usuarios de forma nativa.
Tareas automatizadas, permiten la definición de tareas de Gulp con
las que se pueden definir el uso de pre-procesadores para comprimir
CSS y JavaScripts.
Encriptación, permita usar seguridad OpenSSL y cifrado AES-256-
CBC. Adicionalmente, todos los valores encriptados están firmados
por un código de autenticación de mensaje que detecta si el mensaje
encriptado fue alterado.
Eventos, se pueden definir, registrar y escuchar eventos.
Object-Relational-Map (ORM), Laravel incluye una capa para manejo
de bases de datos que cuentan con un ORM llamado Eloquent.
Unit Testing, Laravel incluye métodos para realizar Unit Testing
usando PHPUnit.
Cola de tareas (Queues), Laravel permite ejecutar procesos largos y
complejos en segundo plano usando lista de tareas, lo cual permite
trabajar de forma asíncrona con ciertos procesos que no son
necesarios para continuar con la navegación del usuario.
48
Figura 6.- Operaciones de Bases de Datos en Laravel. Recuperado de
https://leanpub.com/laravel-first-framework/read
Figura 7.- Interrelación entre los elementos del patrón MVC. (Fuente: Fernández & Díaz, 2012).
49
Acceder a la capa de almacenamiento de datos. Lo ideal es que el
modelo sea independiente del sistema de almacenamiento.
Define reglas de negocio (la funcionalidad del sistema). Un ejemplo de
regla puede ser: "Si la mercancía pedida no está en el almacén, consultar
el tiempo de entrega estándar del proveedor". Es opcional, pues las
reglas de negocio, pueden estar también en los controladores,
directamente en las acciones.
Notificará a las vistas los cambios que en los datos pueda producir un
agente externo si se está ante un modelo activo (por ejemplo, un fichero
batch que actualiza los datos, un temporizador que desencadena una
inserción, etc.).
Un ejemplo de MVC con un modelo pasivo (aquel que no notifica cambios en los
datos) es la navegación web, que responde a las entradas del usuario, pero no
50
detecta los cambios en datos del servidor. El Diagrama de Secuencia que se
muestra en la figura 8 ilustra la interrelación de los elementos del patrón.
Figura 8.- Diagrama de Secuencia de patrón MVC. (Fuente: Fernández & Díaz, 2012).
Para Figueroa (s.f.) citado por Fernández & Díaz (2012), establece que el uso
de los frameworks basados en este patrón permite tener una separación lógica
y física de los componentes de la aplicación, ya que por un lado se tienen los
modelos, por otro las vistas y por otro los controladores. De esta forma, los
desarrolladores de la aplicación pueden centrarse en la parte que les toca, ya
sea como diseñadores en las vistas, o como programadores de los modelos del
negocio. Los frameworks ofrecen una elevada organización en el trabajo, ya que
todo parece tener un sitio, aunque siempre existen cosas que son difíciles de
acomodar, pero generalmente se obtiene mucha más organización que cuando
se hace el layout de carpetas y la organización de los archivos manualmente.
Generalmente, estos frameworks poseen generadores que crean los archivos
51
base de los modelos o vistas, para no tener que crear cada archivo relacionado
a mano. En la figura 9 se pueden observar los Frameworks más populares en la
actualidad.
52
2.15.1 Características de AngularJS
53
2.15.3 Desventajas de AngularJS
54
Capítulo 3
3. Marco Metodológico
En este capítulo se presentan cada uno de los pasos del método de investigación que
se aplicará para cumplir con los objetivos específicos de esta investigación.
55
(Carr y Kemmis, 1988, pág. 197).
Tal y como comenta Elliott (1978), la I-A pretende, como otras metodologías
cualitativas, estudiar la práctica educativa tal y como ocurre en su escena-rio natural,
profundizando en la comprensión de situaciones en las que está implicado el
profesorado y que vive como problemáticas y, por tanto, susceptibles de mejora (Carr y
Kemmins, 1988). Lejos de enfoques teorizantes, la I-A pretende ofrecer respuestas
prácticas a situaciones reales, y para ello interpreta lo que ocurre desde el punto de
vista de quienes actúan o interactúan en la situación del problema, por ejemplo,
profesores y alumnos, profesores y director.
El término investigación-acción fue introducido por Lewin (1946), este autor describía
una forma de investigación que podía combinar el enfoque experimental de las
ciencias sociales con programas de acción social que respondiera a los problemas
sociales principales de ese entonces. Mediante la investigación – acción, Lewis
argumentaba que se podía lograr en forma simultáneas avances teóricos y cambios
sociales. De acuerdo a Lewin (1946), la investigación-acción tiene un doble propósito,
de acción para cambiar una organización o institución, y de investigación para generar
conocimientos.
3.1.1 Características de la IA
De acuerdo a Kemmis & McTaggart (1988), han descrito con amplitud las
características de la investigación-acción. Como rasgos más destacados de la
investigación-acción se mencionan las siguientes características:
56
Es participativa. Las personas trabajan con la intención de mejorar sus
propias prácticas.
La investigación sigue una espiral introspectiva: una espiral de ciclos de
planificación, acción, observación y reflexión.
Es colaborativa, se realiza en grupo por las personas implicadas.
Crea comunidades autocríticas de personas que participan y colaboran en
todas las fases del proceso de investigación.
Es un proceso sistemático de aprendizaje, orientado a la praxis (acción
críticamente informada y comprometida).
Induce a teorizar sobre la práctica.
Somete a prueba las prácticas, las ideas y las suposiciones.
Implica registrar, recopilar, analizar nuestros propios juicios, reacciones e
impresiones en torno a lo que ocurre; exige llevar un diario personal en el
que se registran nuestras reflexiones.
Es un proceso político porque implica cambios que afectan a las personas.
Realiza análisis críticos de las situaciones.
Procede progresivamente a cambios más amplios.
Empieza con pequeños ciclos de planificación, acción, observación y
reflexión, avanzando hacia problemas de más envergadura; la inician
pequeños grupos de colaboradores, expandiéndose gradualmente a un
número mayor de personas.
57
que investiga con y para la gente interesada por los problemas prácticos y la
mejora de la realidad.
Emancipadora. El enfoque no es jerárquico, sino simétrico, en el sentido de
que los participantes implicados establecen una relación de iguales en la
aportación a la investigación.
Interpretativa. La investigación social no asume los resultados desde la
visión de los enunciados del investigador positivista basados en las
respuestas correctas o equivocadas para la cuestión de investigación, sino
en soluciones basadas sobre los puntos de vista e interpretaciones de las
personas involucradas en la investigación. La validez de la investigación se
logra a través de estrategias cualitativas.
Crítica. La comunidad crítica de participantes no sólo busca mejoras
prácticas en su trabajo dentro de las restricciones sociopolíticas dadas, sino
también actuar como agentes de cambio críticos y autocríticos de dichas
restricciones. Cambian su ambiente y son cambiados en el proceso.
3.1.2 Fases de la IA
De acuerdo a Kemmis & McTaggart (1988) citado por Latorre (2003), elaboran un
modelo para aplicarlo a la enseñanza. El proceso se organiza sobre dos ejes: uno
estratégico, constituido por la acción y reflexión; y otro organizativo, constituido por
la planificación y la observación. Ambas dimensiones están en continua interacción,
de manera que se establece una dinámica que contribuye a resolver los problemas.
El proceso está integrado por cuatro fases o momentos interrelacionados:
planificación, acción, observación y reflexión. Cada uno de los momentos implica
una mirada retrospectiva, y una intención prospectiva que forman conjuntamente
una espiral autorreflexiva de conocimiento y acción. En la figura 12 se concretan los
momentos de investigación-acción.
58
Figura 12.- Los momentos de la investigación-acción (Kemmis & McTaggart, 1988)
60
Acción - Generar el modelo de Capítulo IV
diseño de acuerdo a la
metodología de desarrollo
de software. Software
- Desarrollar el prototipo del
sistema
Observación Realizar y analizar las Capítulo IV
pruebas de funcionalidad y
usabilidad
Reflexión - Presentar resultados y Capítulo IV / Conclusiones
análisis de las pruebas.
- Realizar sugerencias para Recomendaciones
futuras versiones
(Fuente: Autor)
Para el desarrollo del software que cumpla con cada uno de los objetivos planteados
en esta investigación, además tomando en cuenta los lineamientos descritos en la
Ingeniería de Software de obtener un software confiable y eficiente, además que
cumplas otras métricas de calidad, se seleccionará la metodología más adecuada
tomando en cuenta el dominio de esta investigación.
61
AgilUs es un método de desarrollo iterativo e incremental que pone el mayor peso
del desarrollo en la consecución de la usabilidad. Se centra en que la construcción
y desarrollo de las interfaces de usuario no debe ser una adición estética que se da
al final del desarrollo del sistema sino, muy por el contrario, el desarrollo de
interfaces de usuario debe guiar las decisiones en Ingeniería de Software.
62
Figura 13.- AgilUs. (Fuente: Acosta, 2011)
3.2.1.1 Principios
Según lo expresa Acosta, (2011), algunas de las “buenas prácticas” del desarrollo
de software que se aplican en AgilUs, las cuales están enfocadas en satisfacer
las demandas del usuario y el desarrollo iterativo e incremental, procurando la
usabilidad en cada paso del proceso de desarrollo, son las siguientes:
Diseño centrado en el usuario (DCU). El DCU es un enfoque de diseño y
desarrollo que se centra en los deseos, limitaciones y necesidades de los
usuarios finales de un software. En las técnicas de DCU es relevante que
los desarrolladores realicen pruebas constantes para verificar el curso que
63
lleva el desarrollo del sistema y su interfaz de usuario. De este modo, el
usuario guía indirecta pero influyentemente el proceso de desarrollo del
sistema. La diferencia fundamental entre éste y otros enfoques de diseño
es que en el DCU se procura construir el sistema para adaptarse, a través
de su interfaz, a cómo el usuario desea trabajar, en lugar de forzar al
usuario a cambiar su modo de trabajar para adaptarse a lo que los
desarrolladores consideraron apropiado.
Diseño basado en prototipos. El desarrollo de software en AgilUs está
guiado por la construcción de prototipos de alta fidelidad y la evaluación de
los mismos por los usuarios y por especialistas en usabilidad. Se entiende
entonces que, tras una inspección inicial, los desarrolladores producen un
primer prototipo, los especialistas y el usuario lo evalúan, los analistas
preguntan directamente al usuario sus opiniones sobre el desarrollo, y con
esa retroalimentación, los desarrolladores se disponen a producir un
siguiente prototipo. Este ciclo continúa hasta que se tiene un producto listo
para la entrega, cuando las evaluaciones de usabilidad, requerimientos y
calidad del software están completamente satisfechas.
Desarrollo ágil, iterativo e incremental. Una de las máximas del desarrollo
iterativo e incremental y del Manifiesto Ágil es la simplicidad. Se
recomienda entonces desarrollar el sistema más simple que satisfaga las
necesidades actuales de los usuarios, preparándose para cambios futuros.
El desarrollo por incrementos permite proveer resultados sin necesidad de
esclarecer todo los requisitos de una vez al inicio del desarrollo. La
iteratividad permite regresar a etapas anteriores una vez recibida la
retroaliemnatción producto de las evaluaciones realizadas.
Usabilidad como atributo de la calidad. Como se indica en el estándar
ISO/IEC 9126‐1, la usabilidad es considerada un atributo de la calidad
interna y externa de software, y AgilUs hace énfasis en la producción de
software usable, siguiendo la recomendación de este estándar
internacional.
Interacción continúa con el usuario, propiciando un intercambio cara a
cara. Naturalmente, para AgilUs la presencia constante y participativa del
64
usuario es fundamental. El equipo de desarrollo sólo puede tomar
decisiones tras realizar evaluaciones de usabilidad, y la usabilidad del
sistema sólo puede ser determinada por el usuario.
65
A continuación se describen las etapas de este método:
66
Figura 15.- plantilla para evaluación de sistema existente
67
o Modelo de Casos de Uso, es usado para definir los posibles
escenarios que se pueden ejecutar en un sistema. Las
interacciones entre el usuario y el sistema son definidas a través de
secuencias de acciones que describen el comportamiento del
sistema. Los casos de usos han sido tradicionalmente asociados
con la captura de requerimientos y con el análisis del dominio de la
aplicación.
68
objetos que interactúan, se modifican y responden a acciones,
construyendo un modelo que simula el comportamiento del mundo
real.
69
Distribución y breve descripción de las secciones de la
aplicación
Aspecto de los estilos de interacción (menú, botones,
enlaces,…).
o Patrones de Interacción, describen una solución exitosa a un
problema recurrente concerniente a la interfaz de usuario, en un
contexto dado.
70
o Lista de Comprobación, ayudan a asegurar que los principios de
usabilidad sean considerados en un diseño. Normalmente, las listas
de comprobación se utilizan en combinación con algún método de
inspección de usabilidad, proporcionando al inspector una base con
la que comparar el producto.
o Pensamiento en voz alta, es una técnica popular utilizada durante
la prueba (test) de usabilidad. Durante el transcurso de la prueba,
donde el participante está realizando una tarea como parte de un
escenario de usuario, se solicita que exprese en voz alta sus
pensamientos, sensaciones y opiniones mientras interactúa con el
producto.
o Prototipo ejecutable, permite a los usuarios visualizar el sistema e
informar sobre el mismo pudiéndose utilizar para aclarar opciones
sobre los requerimientos de usuarios y para especificar detalles de
la interfaz de usuario a incluir en el sistema futuro.
Entrega: Se aplican las pruebas al sistema para certificar que la aplicación
desarrollada sea un software usable y sin errores, finalmente se pone en
producción la aplicación. Algunas de las técnicas utilizadas en esta fase
son:
o Protocolo de preguntas, es un método que lleva un paso más allá
al protocolo del pensamiento manifestado o en voz alta, al provocar
las manifestaciones del usuario respecto del producto mediante la
formulación de preguntas directas acerca del mismo. La capacidad
del usuario para contestar estas preguntas sirven de ayuda para
detectar qué partes de la interfaz resultan obvias y qué otras
resultan oscuras.
o Prueba de aceptación, es realizada por un grupo de usuarios
finales o los clientes del sistema, para asegurarse que el sistema
desarrollado cumple sus requisitos. La prueba de aceptación de
usuario se distingue generalmente por la incorporación de un
trayecto feliz o casos de prueba positivos.
71
Figura 18.- Ciclo de vida de AgilUs.
72
Capítulo 4
4. Resultados
Esta técnica fue utilizada en el inicio del proceso de desarrollo, se realizó una serie
de reuniones donde se discutieron diferentes ideas y opiniones referentes a la
aplicación. Esto con el fin de llegar a un consenso entre los tutores y el autor de esta
investigación.
73
“Sistema de Gestión del Conocimiento de la Interoperabilidad en un espacio
Colaborativo”, expuesto por el investigador de este proyecto junto algunas profesoras
de la especialización, entre ellas se encontraban: Dra. Dinarle Ortega, Dra. Mirella
Herrera y la Dra. Desiree Delgado.
La finalidad de esta reunión fue para determinar la factibilidad del proyecto y de
definir aspectos importantes con el fin de culminar con éxito dicha investigación.
Una vez presentado este proyecto, las personas presentes dieron las siguientes
acotaciones y compromisos:
Desarrollar un Sistema de Gestión Colectiva para Mesas de Trabajo en
ambientes virtuales.
Caso de Estudio: Centro Nacional de Tecnologías de Información y el
manejo de Interoperabilidad.
Dicho sistema tendrá las siguientes características:
o Perfiles de usuarios por roles definidos.
o El sistema debe permitir la Creación/Modificación/Eliminación de
mesas de trabajo.
o Creación de cronograma de reuniones de mesas de trabajo.
o Mesas de trabajo interactivas, donde se pueda chatear, adjuntar
archivos, etc.
74
4.1.2.1. BaseCamp 3
Actualmente, Basecamp 3 está muy bien considerado y valorado como
organizador y gestor de tareas para equipos de personas que trabajan de
manera colaborativa (Basecamp, 2015). Desde su aparición en 2004, esta
herramienta de gestión de proyectos online, cuenta con 5 millones de
usuarios.
Algunas de las características más resaltantes de BaseCamp son:
Es un desarrollo propio.
Precios que oscilan entre 24 y 149 dólares al mes.
Número de proyectos limitado según las tarifas.
Dispone de API para desarrolladores y aplicaciones para iPhone que
lo utilizan.
Es un gestor sencillo con historial de mensajes, archivos y
documentos base.
Permite crear tareas y marcar hitos en un calendario con asignación a
usuarios.
Se pueden adjuntar archivos de todo tipo.
Notificaciones automáticas por correo.
Tiene ayuda guiada por vídeos al empezar a usarlo.
75
Figura 19.- Interfaz de BaseCamp 3
4.1.2.2. Wrike
Wrike, es un software de gestión de proyectos y colaboración online
diseñado para gestionar la carga de trabajo en empresas y organizaciones
de distintos tamaños (Filev, 2006). El software está disponible en tres
versiones: Gratis, Profesional y Empresa. La versión gratuita es la menos
completa. Ofrece la posibilidad de crear tareas, asignarlas, marcarlas como
completadas y compartir archivos. La versión gratuita permite un número
ilimitado de usuarios, mientras que tan solo 5 usuarios pueden crear, asignar
y tener acceso a las tareas. La versión Profesional incorpora diagramas de
Gantt, seguimiento de tiempo y la opción de compartir archivos
arrastrándolos, También ofrece compatibilidad mediante API , entre otras
funciones. La versión Empresa incorpora datos y análisis en tiempo real y la
posibilidad de asignar distintos grupos de trabajo a los usuarios (entre otras
muchas funcionalidades).
76
Desarrollo propio.
Precios desde 9.95 dólares y pago por número de usuarios.
No hay límite de proyectos que en realidad son “carpetas” dentro de la
aplicación.
Se basa en un modelo de gestión de tareas asignadas a usuarios y
ofrece distintos filtros que llama “informes” para ordenar las tareas
Dispone de calendario de hitos, línea de tiempo, feed y exportación iCal
(según contratación).
Dispone de importación de documentos MSProject y Excel
No se pueden adjuntar otros tipos de archivos
Dispone de una funcionalidad de gestión de correo electrónico pero que
en la interfaz no he sido capaz de localizar
77
Figura 20.- Interfaz del sistema Wrike.
4.1.2.3. Teambox
Teambox, también conocida como Redbooth es una aplicación colaborativa
para gestionar proyectos en-línea. Permite organizar grupos de trabajo,
proyectos y tareas (Redbooth, 2008). Cualquiera puede utilizar gratuitamente
Teambox en su versión en-línea, lo cual probablemente es suficiente y muy
cómodo para un profesional o para un pequeño grupo de trabajo.
78
Principal atractivo: Para el que le guste el software libre y tenga restricciones
de presupuesto no hay duda que ésta es una buena opción. Tiene varios
detalles en cada funcionalidad que lo hacen muy atractivo si se busca algo más
que la máxima simplicidad.
79
Tabla 4.- Perfiles de Usuario:
80
4.1.4. Requisitos Funcionales
81
4.1.5. Requisitos No Funcionales
82
4.2. Fase de Análisis
Para una representación más detallada de las actividades del usuario y las respuestas
del sistema a dichas actividades, se han representado en cada diagrama de caso de
uso dos vistas: uno con las actividades del usuario y otro con las actividades del
sistema.
Caso de uso del usuario registrado: los usuarios registrados pueden ingresar al
sistema a través de un login y contraseña y visualizar su perfil de usuario (Ver
Fig. 22).
Caso de uso del participante: el participante tiene como opción el acceder a la
mesa de trabajo y participar en la misma como colaborador (Ver Fig. 23).
Caso de uso del coordinador: el coordinador tiene la potestad de crear nuevas
mesas de trabajo, administrar participantes, administrar los tópicos a tratar y
administrar el cronograma de reuniones para la mesa de trabajo (Ver Fig. 24).
Caso de uso del administrador: el administrador puede administrar el acceso a
otros usuarios dentro del sistema, administrar los perfiles de usuarios y los
menús a los que tendrán acceso, administración de proyectos, administración
de mesas de trabajo (Ver Fig. 25).
83
Sistema
Acceso al Sistema
(LOGIN)
*
Muestra Dashboard
*
*
*
*
**
*
Participante Ver Manual de
Usuario
*
Salir del Sistema
(LOGOUT)
84
Sistema
Cierra Mesa
«extends»
Abre Mesa
«extends»
«extends»
Participante
«extends» Elimina
«extends»
Conclusiones
85
Sistema
Editar Mesa de
Crear Mesa de
trabajo
trabajo
* Agregar
*
Participante
Eliminar Mesa de
«extends»
* trabajo «uses»
*
*
*
* Participantes
*
* «extends»
*
* Eliminar Mesa de Eliminar
trabajo Participante
*
Coordinador
Eliminar Mesa de
trabajo
*
Ir a Consulta de
minutas
Sistema
Administrar
Proyectos
*
Administración de
«extends»
usuarios
Gestión de Menús
Gestión de Usuarios «extends»
* «extends»
Administración de
Roles
* Administración de
*
Mesas de Trabajo
«extends»
Administrador
«extends»
*
Gestión de Mesas Categoria de Mesas
«extends»
Categorias de
Reuniones
86
4.2.2. Modelos de Objetos del Dominio
Un modelo objeto del dominio describe los objetos que del dominio de la aplicación y
las relaciones estáticas entre estos. En la Fig. 26 se muestra el modelo de objeto del
dominio de SIGECO. Se especifican los siguientes objetos: Proyectos (Proyectos a
tratar en el sistema), Mesas de Trabajo (Herramienta para el trabajo en equipo de los
participantes), Adjuntos (Archivos adjuntos que agregan los participantes en la
interacción), Categoría de Mesa (Pública o Privada), Tópicos (Temas a tratar en la
mesa de trabajo), Conclusiones (Acuerdos a los que llegaron los participantes por cada
tópico tratado), Minuta (Es el resultado de todos los acuerdos o conclusiones
registradas en la mesa de trabajo), Participantes (Integrantes de la mesa de trabajo),
Roles de Participación (perfil del participante que define su rol en la mesa de trabajo),
Cronograma de reuniones (Especifica el grupo de fechas para las reuniones de la
mesa de trabajo), reuniones (se refiere a cada fecha definida para una reunión en
particular de los participantes), Clase de reunión (categorización de la reunión pautada,
ya que estas pueden ser de inicio, seguimiento o cierre de la mesa), Chat (Herramienta
de comunicación que permite interactuar a los participantes de la mesa de trabajo).
Entre estos objetos se establecen las siguientes relaciones: Un proyecto se basa en
una (1) o más mesas de trabajo, una mesa de trabajo puede poseer cero (0) o más
(1..*) archivos adjuntos, la mesa de trabajo posee una (1) categoría, una mesa de
trabajo puede tener uno (1) o más (1..*) tópicos, una mesa de trabajo puede contener
uno (1) o más (1..*) participantes, una mesa de trabajo posee un (1) cronograma de
reuniones y un chat. Igualmente, un tópico puede contener uno (1) o más (1..*)
conclusiones o acuerdos, que a su vez definen la minuta de la mesa de trabajo. Un
participante tiene un (1) rol de participación. El cronograma de reuniones puede tener
una (1) o más (1..*) reuniones configuradas, las cuales tienen una (1) clasificación
asignada (reunión de inicio, seguimiento o cierre).
87
Proyecto
*
1 1
1 Mesa de Trabajo 1
1
1
1
* 1 * 1
*
1 1 1
* 1 *
1 1
1 1
Se define como guía de estilo al documento que recoge normativas y patrones básicos
relacionados con el aspecto de un interfaz para su aplicación en el desarrollo de
pantallas dentro de un entorno concreto. La guía de estilo de SIGECO describe los
colores primarios y/o secundarios, el aspecto de los iconos, cabecera, entre otras.
88
Otros Colores utilizados en el sistema:
89
Figura 30. Pie/Footer de la aplicación. (Fuente: Autor).
Minuta
Fuente: Autor.
90
4.2.3.5. Descripción de la estructura de la página de inicio
91
Fuente: Autor.
92
Seleccionar a los expertos evaluadores: En este caso se conto con
el apoyo de tres (3) expertos del área de sistemas para realizar la
evaluación ergonómica.
Evaluación de los expertos: en esta fase los expertos realizaron sus
evaluaciones individualmente y luego compararon sus hallazgos.
Cada experto revisó la interfaz al menos dos (2) veces, fijándose en
cada elemento de la misma (menú, controles, botones, etc.) y
evaluando su diseño, localización e implementación de acuerdo con la
lista de heurísticas.
Registro de la información obtenida: es en este punto donde los
expertos proporcionan la información obtenida con el fin de generar
un resumen de los problemas de usabilidad encontrados.
93
Figura 33. Tabla de Resultados de Evaluación Heurística de Morae, aplicado a SIGECO.
94
Problema de 1
usabilidad Nro.
Localización Página de inicio
Directriz La página de inicio contiene información
gráfica con sentido, sin clip art por ejemplo.
Recomendación Se recomienda incluir gráficos más llamativos
y clip arts que hagan la pagina más atractiva al
usuario
Severidad Baja
Problema de 2
usabilidad Nro.
Localización Página de inicio
Directriz El diseño de la página de inicio va a animar a
los usuarios a explorar más del sitio.
Recomendación Se recomienda mejorar el diseño de la página
de inicio, de manera tal que atrape y agrade
más al usuario.
Severidad Baja
95
Conforme a las expectaciones que genera.
Tolerante con los errores que el usuario pueda cometer.
Personalizable por el usuario.
Documentado suficientemente para facilitar su aprendizaje.
Página de Inicio
Orientación a Tareas y Funcionalidad del Sitio
Navegabilidad y Arq. De la Información
Formularios y entrada de datos
Confianza y Credibilidad
Calidad del Contenido y Escritura
Diagramación y Diseño Gráfico
Búsquedas
Ayuda, Retroalimentación & Recuperación de Errores
96
4.4. Fase de Entrega
97
Tabla 6: Datos de pruebas de aceptación
Fuente: Autor.
10
9
8
7
6 Nunca
5
Pocas veces
4
Algunas veces
3
Casi siempre
2
Siempre
1
0
98
4.5 Aplicación a Liberar
El proyecto posee una estructura basada en Laravel 5.2, a continuación el árbol del
proyecto:
.
Figura 36. Estructura principal del proyecto. (Fuente: Autor).
Los modelos de la aplicación son los mostrados a continuación en la figura 37.
99
Figura 37. Modelos del proyecto. (Fuente: Autor).
100
Figura 39. Vistas del proyecto. (Fuente: Autor).
101
En primer lugar, suponiendo que en el servidor o hosting se posee la carpeta
www en el cual es de acceso público, entonces se debe crear un nuevo
directorio el cual contenga todos los códigos fuentes de la aplicación y colocarla
al nivel dentro de www. Por ejemplo: www/proyecto/. Hasta este punto
aparentemente no es accesible el sistema en la web aún.
El siguiente paso es copiar todo el contenido de la carpeta /proyecto/public en el
directorio /www. Es necesario que el archivo public/.htaccess este igualmente
en la raíz de www, ya que sin este archivo no funcionará la configuración de
rutas utilizada por Laravel.
Luego, se debe modificar el archivo index.php ubicado en la carpeta www,
específicamente se deben modificar las siguientes líneas:
Cambiarlas a:
102
Capítulo 5
5. Conclusiones y Recomendaciones
5.1 Conclusiones
Se implementó un sistema que servirá de apoyo para que los entes del estado
interactúen en mesas de trabajo con el objetivo de llegar a acuerdos
relacionados con temas de la Interoperabilidad
Se diseñó e implementó una nueva interfaz de usuario usable que permite que
la experiencia en el uso del sistema sea intuitivo y amigable.
Según los Resultados obtenidos se puede decir que se cumplió con el objetivo
general, es decir, desarrollar un sistema de gestión colectiva para mesas de
trabajo que sirva de apoyo al CNTI para facilitar el manejo de la
interoperabilidad en Venezuela.
103
El diseño modular de la aplicación permite la adaptabilidad a cambios, es decir,
las interfaces pueden mantenerse o cambiarse mientras que los detalles de
representación son internos a los modelos y están ocultos al resto. La
modularidad también permite la fácil comprensión del código por qué se reduce
el acoplamiento y la visibilidad.
5.2 Recomendaciones
104
Referencias
Carrillo, B.; Cedeño, J.; González, A. y Ríos, A. (2012). Los sistemas colaborativos.
Panamá: Universidad de Panamá.
105
Centro Nacional de Tecnologías de Información. (2011). Marco de Interoperabilidad
(MIO), Integrando los servicios del usuario. Extraído el 25 de Enero de 2014 desde
http://www.slideshare.net/gtorresdive/marco-de-interoperabilidad-del-estado-
venezolano-v1.
Darwin, P. B., & Kozlowski, P. (2013). AngularJS web application development. Packt
Publ.
106
Guiza, M. (2012) Trabajo colaborativo en la web: Entorno Virtual de autogestión para
docentes. Universitat de les illes balears.
http://www.tesisenred.net/bitstream/handle/10803/59037/tmge1de1.pdf?sequence=1.
Consultado el 20 de Mayo de 2016
Hernández, MªE.; Álvarez, G.; Muñoz, J.; (2003). Patrones de Interacción para el
Diseño de Interfaces Web Usables. CIECE 2003, Zacatepec, Morelos, México, Abril 9,
2003.
Johnson, D. W., & Johnson, R. T. (2004). Cooperation and the use of technology.
Disponible en: http://www.aect.org/edtech/30.pdf. Consultado 25 de mayo de 2016.
Ministerio del Poder Popular para Ciencia, Tecnología e Innovación. (17 de febrero de
2016). Ley de Infogobierno. Obtenido de Centro Nacional de Tecnología de
Inofrmación - CNTI:
http://www.cnti.gob.ve/images/stories/documentos_pdf/leydeinfogob.pdf
Millard, M. & Essex, C. (2007). Web 2.0 Technologies for Social and Collaborative E-
Learning. In T. Bastiaens & S. Carliner (Eds.), Proceedings of World Conference on E-
Learning in Corporate, Government, Healthcare, and Higher Education 2007 (pp. 1117-
1121). Disponible en: http://www.editlib.org/p/26487, Chesapeake, VA: AACE.
Consultado el 05 de Junio 2016.
107
Nielsen, J. (1999). Designing web usability: The practice of simplicity. New Riders
Publishing.
Largillier, T. & Vassileva, J. (2012). Using collective trust for group formation.
Universidad de Saskatchewan. MADMUC Lab.
Lewin, K. (1946). Action research and minority problems. Journal of Social Issues, 2(4),
34-46.
Lund, A. & Rasmussen, I. (2010). Tasks 2.0: Education Meets Social Computing and
Mass Collaboration. In D. Gibson & B. Dodge (Eds.), Proceedings of Society for
Information Technology & Teacher Education International Conference 2010 (pp. 4058-
4065). Disponible en: http://www.editlib.org/p/34016 Chesapeake,VA: AACE.
Consultado el 05 de Junio 2016.
Piaget J. (1969) The Mechanisms of Perception. New York: Routledge Kegan Paul. En
Palloff R. (2005) Op. cit.
108
Revuelta F. (2009) Interactividad en los entornos de formación on-line Barcelona,
España, Ed. UOC.
Sierra, F., Acosta, J., Ariza, J., & Salas, M. (2013). Estudio y análisis de los framework
en php basados en el modelo vista controlador para el desarrollo de software orientado
a la web.
109
Anexos
110
111
112
113
114
115
116
117
118
Formato de Encuesta para pruebas de aceptación
119
Manual de Usuario - SIGECO
Se pretende mostrar de una manera clara y concisa el funcionamiento del Sistema de Gestión
Colectiva para Mesas de Trabajo en todos sus módulos.
2. Manual de usuario
Acceso a Usuarios
Nota: El nombre del usuario es el correo electrónico del mismo, cuya formato sera validado
por la aplicación antes de habilitar el boton “Conectar”.
Pantalla Inicial
120
Es importante destacar, que dependiendo del rol o perfil que posea el usuario se podrán
visualizar o no las funciones del sistema, ya que algunas pantallas son específicamente para
el administrador, y otras para los coordinadores de mesa. Entre los roles básicos se
encuentran: Rol Administrador, Rol Coordinador, Rol Participante.
Esta es la pantalla más importante de este sistema, ya que a través de la misma los
participantes interactuan entre ellos, haciendo uso de funciones tales como: Chat, adjunto
de archivos, Carga de acuerdos por topicos, cierre de la mesa. Esta pantalla puede ser
accedida a traves de los siguientes puntos de menu: “Mis Mesas de Trabajo”, “Admin.
Mesas” o “Participar en Mesas”.
121
A continuación se detalla el funcionamiento de la pantalla representada por la imagen
anterior:
1. Datos Generales de la Mesa de Trabajo: En esta sección se detallan los
datos básicos de la mesa de trabajo de manera informativa a los participantes o
usuarios del sistema.
2. Sección Participantes: en esta sección se muestran cada uno de los participantes
invitados a la mesa de trabajo y al lado del nombre aparece el rol de cada uno de
manera informativa para los involucrados.
Nota: La mesa de trabajo estará vigente para acceder a ella siempre y cuando este en los
rangos establecidos y configurados por el coordinador de la mesa de trabajo. Igualmente, la
mesa estará abierta siempre y cuando no se haya cerrado por el usuario con el rol de
“Cerrador”.
En esta pantalla se muestran los siguientes campos: Nombre, Fecha de Inicio, Fecha de
Fin, Categoría, Estatus (Abierta o Cerrada), Tipo (Pública o Privada), Acción (En este
campo se podrá ir a las siguientes opciones: Buscar, Editar mesa, Eliminar mesa,
Administrar Participantes, Administrar Tópicos, Administrar Cronograma de reuniones o
Acceso a mesa de trabajo.
Editar Mesa
Esta opción permite al administrador o coordinador gestionar los datos basicos de las
mesas de trabajo tales como: Nombre, Proyecto al cual pertenece, Fecha de Inicio, Fecha
de Fin, Categoria de la Mesa, Tipo de mesa, Metodología y contraseña. Véase imagen 4.
Eliminar Mesa
Esta opción permite al administrador o coordinador eliminar las mesas de trabajo. Véase
imagen 5.
123
Administrar Participantes
Administración de tópicos
124
Imagen 8.- Pantalla de administración de tópicos.
Cronograma de Reuniones
125
Imagen 11.- Email de notificación del cronograma de reuniones
Administración
En el punto de menú “Administración”, se encuentran una serie de sub-menús, los cuales
son vitales para la parametrización del sistema de gestión colectiva para mesas de
trabajo (SIGECO). Los mismos son:
Proyectos
Esta opción permitirá Buscar, Crear, Editar, Eliminar y Activar/Desactivar los
proyectos que se trataran en este sistema:
Leyenda:
Buscar:
Editar:
Eliminar:
Agregar:
126
Usuarios
Esta opción permitirá Buscar, Crear, Editar, Eliminar y Activar/Desactivar los
usuarios que tendrán acceso al sistema:
Leyenda:
Buscar:
Editar:
Eliminar:
Agregar:
Roles
Leyenda:
Buscar:
Editar:
Eliminar:
Agregar:
Ver Menús:
127
Ver Menús:
Esta opción del sistema, permitirá asignarle a un rol de usuario los menús que le
correspondan.
Admin Mesas
128
Administrar Tópicos, Administrar Cronograma de reuniones o Acceso a
mesa de trabajo.
Categoría de Mesas
Esta opción permite administrar las categorías que podrán ser seleccionadas
para clasificar el rubro de la mesa de trabajo.
Esta opción permitirá Buscar, Crear, Editar y Eliminar dichas categorías tal y
como se muestra en la imagen 17.
Leyenda:
Buscar:
Editar:
Eliminar:
Agregar:
Roles de participante
Esta opción permite administrar los roles que asumirán los participantes en
las mesas de trabajo.
Esta opción permitirá Buscar, Crear, Editar y Eliminar dichos roles tal y como
se muestra en la imagen 18.
1
Script de creación de Base de Datos
2
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`tag` varchar(50) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- Estructura de tabla para la tabla `mesas`
CREATE TABLE `mesas` (
`id` int(10) UNSIGNED NOT NULL,
`nombre` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`idusuario` int(11) NOT NULL,
`fechainicio` datetime NOT NULL,
`fechafin` datetime NOT NULL,
`idcategoria` int(11) NOT NULL,
`tipo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`contraseña` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`proyecto_id` int(11) NOT NULL,
`estatus` int(11) NOT NULL,
`metodologia` varchar(255) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `migrations` (
`migration` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`batch` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `participantes` (
`id` int(10) UNSIGNED NOT NULL,
`mesa_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`notificado` int(11) NOT NULL,
`role_participante_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
3
-- Estructura de tabla para la tabla `reunions`
CREATE TABLE `reunions` (
`id` int(10) UNSIGNED NOT NULL,
`mesa_id` int(11) NOT NULL,
`fecha` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`categoria_reunion_id` int(11) NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- Estructura de tabla para la tabla `roles`
CREATE TABLE `roles` (
`id` int(10) UNSIGNED NOT NULL,
`descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`activo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- Estructura de tabla para la tabla `role_menus`
CREATE TABLE `role_menus` (
`id` int(10) UNSIGNED NOT NULL,
`role_id` int(11) NOT NULL,
`menu_id` int(11) NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- Estructura de tabla para la tabla `role_participantes`
CREATE TABLE `role_participantes` (
`id` int(10) UNSIGNED NOT NULL,
`descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`activo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- Estructura de tabla para la tabla `topicos`
CREATE TABLE `topicos` (
`id` int(10) UNSIGNED NOT NULL,
`mesa_id` int(11) NOT NULL,
`descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4
`remember_token` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`role_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ALTER TABLE `adjuntos`
ADD PRIMARY KEY (`id`);
-- Indices de la tabla `categorias`
ALTER TABLE `categorias`
ADD PRIMARY KEY (`id`);
-- Indices de la tabla `categoria_reunions`
ALTER TABLE `categoria_reunions`
ADD PRIMARY KEY (`id`);
-- Indices de la tabla `conclusions`
ALTER TABLE `conclusions`
ADD PRIMARY KEY (`id`);
-- Indices de la tabla `menus`
ALTER TABLE `menus`
ADD PRIMARY KEY (`id`);
5
-- Indices de la tabla `topicos`
ALTER TABLE `topicos`
ADD PRIMARY KEY (`id`),
ADD KEY `topicos_mesa_id_foreign` (`mesa_id`);
-- Indices de la tabla `users`
ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `users_email_unique` (`email`);
-- AUTO_INCREMENT de las tablas volcadas
-- AUTO_INCREMENT de la tabla `adjuntos`
ALTER TABLE `adjuntos`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
-- AUTO_INCREMENT de la tabla `categorias`
ALTER TABLE `categorias`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=4;
-- AUTO_INCREMENT de la tabla `categoria_reunions`
ALTER TABLE `categoria_reunions`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=5;
-- AUTO_INCREMENT de la tabla `conclusions`
ALTER TABLE `conclusions`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
-- AUTO_INCREMENT de la tabla `menus`
ALTER TABLE `menus`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=18;
-- AUTO_INCREMENT de la tabla `mesas`
--
ALTER TABLE `mesas`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=10;
-- AUTO_INCREMENT de la tabla `participantes`
ALTER TABLE `participantes`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=27;
-- AUTO_INCREMENT de la tabla `proyectos`
ALTER TABLE `proyectos`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=3;
-- AUTO_INCREMENT de la tabla `reunions`
ALTER TABLE `reunions`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=9;
-- AUTO_INCREMENT de la tabla `roles`
ALTER TABLE `roles`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=5;
6
-- AUTO_INCREMENT de la tabla `role_menus`
ALTER TABLE `role_menus`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=29;
-- AUTO_INCREMENT de la tabla `role_participantes`
ALTER TABLE `role_participantes`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=5;
-- AUTO_INCREMENT de la tabla `topicos`
ALTER TABLE `topicos`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=11;
-- AUTO_INCREMENT de la tabla `users`
ALTER TABLE `users`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=5;