OBTENCIÓN DE LA RED SOCIAL DEL USUARIO MÓVIL Y SU GRUPO DE INFLUENCIADORES A PARTIR DE LA RECUPERACIÓN DE DATOS ALMACENADOS EN LOS SMARTPHONES

Tamaño: px
Comenzar la demostración a partir de la página:

Download "OBTENCIÓN DE LA RED SOCIAL DEL USUARIO MÓVIL Y SU GRUPO DE INFLUENCIADORES A PARTIR DE LA RECUPERACIÓN DE DATOS ALMACENADOS EN LOS SMARTPHONES"

Transcripción

1 OBTENCIÓN DE LA RED SOCIAL DEL USUARIO MÓVIL Y SU GRUPO DE INFLUENCIADORES A PARTIR DE LA RECUPERACIÓN DE DATOS ALMACENADOS EN LOS SMARTPHONES NESTOR ARMANDO GARCIA CUERVO UNIVERSIDAD AUTONOMA DE OCCIDENTE FACULTAD DE INGENIERIA DEPARTAMENTO DE OPERCIONES Y SISTEMAS PROGRAMA DE INGENIERIA INFORMATICA SANTIAGO DE CALI 2014

2 OBTENCIÓN DE LA RED SOCIAL DEL USUARIO MÓVIL Y SU GRUPO DE INFLUENCIADORES A PARTIR DE LA RECUPERACIÓN DE DATOS ALMACENADOS EN LOS SMARTPHONES NESTOR ARMANDO GARCIA CUERVO Proyecto de Grado para optar el título de Ingeniero Informático Director ALEXANDER GARCIA DAVALOS Ingeniero de Sistemas UNIVERSIDAD AUTONOMA DE OCCIDENTE FACULTAD DE INGENIERIA DEPARTAMENTO DE OPERCIONES Y SISTEMAS PROGRAMA DE INGENIERIA INFORMATICA SANTIAGO DE CALI

3 Nota de aceptación: Aprobado por el Comité de Grado en cumplimiento de los requisitos exigidos por la Universidad Autónoma de Occidente para optar al título de Ingeniero Informático ZEIDA MARIA SOLARTE Jurado DIEGO FERNANDO ALMARIO Jurado Santiago de Cali, Diciembre de

4 AGRADECIMIENTOS Muchas gracias a mi esposa quien estuvo ahí, apoyándome, día, noche y madrugada, por su amor y comprensión. Agradecimiento especial al señor Jairo Giraldo quien me apoyo laboral y económicamente, fue importante para que éste trabajo se llevara a cabo. Gracias a mis padres y hermanos que permitieron que creciera en una familia integra y siempre me apoyaron en mis estudios. Gracias a los docentes que contribuyeron con su conocimiento y experiencia a mi formación profesional y personal. 4

5 CONTENIDO pág. RESUMEN 14 INTRODUCCION 15 1 PLANTEAMIENTO DEL PROBLEMA 17 2 JUSTIFICACIÓN 19 3 ANTECEDENTES MARCO TEÓRICO LAS REDES SOCIALES PROPIEDADES DE LAS REDES SOCIALES Distancia en las redes Coeficiente de agrupamiento Cliques Puentes Camino CLASIFICACIÓN DE LAS REDES SOCIALES Redes basadas en su tamaño Redes basadas en su evolución Redes basadas en su origen Redes basadas en su topología REPRESENTACIÓN DE REDES SOCIALES 25

6 4.5 SISTEMAS PARA EL ANÁLISIS DE REDES SOCIALES MUESTREO DE REDES SOCIALES Muestreo bola de nieve Muestreo de nodo Muestreo de enlace LOS INFLUENCIADORES MARCO LEGAL LEY 1581 DE OCT 17 DE 2012 PROTECCIÓN DE DATOS ARTÍCULO 15 DE LA CONSTITUCIÓN POLÍTICA ARTÍCULO 20 DE LA CONSTITUCIÓN POLÍTICA LEY 1273 DE 2009 DELITOS INFORMÁTICOS OTRAS LEYES OBJETIVOS OBJETIVO GENERAL OBJETIVOS ESPECÍFICOS METODOLOGÍA INICIO Y EXPLORACIÓN ELABORACIÓN Y PRODUCTIZACIÓN ESTABILIZACIÓN PRUEBAS DE SISTEMA DESARROLLO DEL PROYECO 35 6

7 8.1 DESARROLLO PROPUESTO DEFINICIÓN DEL ALCANCE DEFINICIÓN DE LA ARQUITECTURA Arquitectura Patrón arquitectónico DEFINICIÓN DEL ENTORNO DE DESARROLLO Máquina virtual de java jre Eclipse Sdk de android Android Jgrapht Grapher ESPECIFICACIÓN DE REQUERIMIENTOS Requerimientos funcionales Requerimientos no funcionales Actores del sistema Listado de casos de uso Matriz de casos de uso MODELADO DE REQUERIMIENTOS Diagrama de casos de uso Diagramas de actividad IMPLEMENTACIÓN DE REQUERIMIENTOS 69 7

8 8.7.1 Identificación de clases Definición de interfaces Diagrama de clases Base de datos Estructura del proyecto Diagrama de paquetes Funciones implementadas PRUEBAS DE ACEPTACIÓN CONCLUSIONES RECOMENDACIONES 100 BIBLIOGRAFIA 101 8

9 LISTA DE FIGURAS pág. Figura 1. Red social de contactos telefónicos. 36 Figura 2. Red social del usuario de Facebook. 37 Figura 3. Arquitectura de la Aplicación. 39 Figura 4. Arquitectura Android. 42 Figura 5. Clase MainActivity. 69 Figura 6. Clase PhoneContacts. 70 Figura 7. Clase MessageContacts. 71 Figura 8. Clase FacebookActivity. 72 Figura 9. Clase Network. 73 Figura 10. Clase Workspace. 74 Figura 11. Clase GraphViewController. 75 Figura 12. Interfaz de Usuario. 76 Figura 13. Interfaz de Usuario Figura 14. Estructura del proyecto. 81 Figura 15. Estructura del Proyecto Figura 16. Archivo Manifiest.xml. 82 Figura 17. Método getcontacts(). 84 Figura 18. Método graphfacebook(). 84 9

10 Figura 19. Método getfriendsfacebook. 85 Figura 20. Método getmutualfriendfacebook(). 86 Figura 21. Métodos createvertex-getvertex_of_graph() y drawgraphmf(). 87 Figura 22. Método drawgraph(). 88 Figura 23. Métodos createcommunity() y setcommunitygraph()

11 LISTA DE CUADROS pág. Cuadro 1. Matriz de Casos de Uso. 47 Cuadro 2. Prueba N Cuadro 3. Prueba N Cuadro 4. Prueba N Cuadro 5. Prueba N Cuadro 6. Prueba N Cuadro 7. Prueba N Cuadro 8. Prueba N Cuadro 9. Prueba N 8 94 Cuadro 10. Prueba N Cuadro 11. Prueba N Cuadro 12. Prueba N Cuadro 13. Prueba N Cuadro 14. Prueba N Cuadro 15. Prueba N Cuadro 16. Prueba N Cuadro 17. Prueba N

12 LISTA DE DIAGRAMAS pág. Diagrama 1. Diagrama de Casos de Uso. 48 Diagrama 2. Diagrama de actividad CU Diagrama 3. Diagrama de actividad CU Diagrama 4. Diagrama de actividad CU Diagrama 5. Diagrama de actividad CU Diagrama 6. Diagrama de actividad CU Diagrama 7. Diagrama de actividad CU Diagrama 8. Diagrama de actividad CU Diagrama 9. Diagrama de actividad CU Diagrama 10. Diagrama de actividad CU Diagrama 11. Diagrama de actividad CU Diagrama 12. Diagrama de actividad CU Diagrama 13. Diagrama de actividad CU Diagrama 14. Diagrama de actividad CU Diagrama 15. Diagrama de actividad CU Diagrama 16. Diagrama de actividad CU Diagrama 17. Diagrama de actividad CU Diagrama 18. Diagrama de actividad CU Diagrama 19. Diagrama de actividad CU

13 Diagrama 20. Diagrama de actividad CU Diagrama 21. Diagrama de actividad CU Diagrama 22. Diagrama de actividad CU Diagrama 23. Diagrama de clases. 78 Diagrama 24. Diagrama de paquetes

14 RESUMEN Las aplicaciones móviles, en su gran mayoría han sido destinadas al consumo de entretenimiento y al comercio, el análisis de redes sociales es un tema aún en desarrollo en éste tipo de aplicaciones. Resulta un reto poder crear la red social de un usuario móvil a partir de los datos almacenados en su dispositivo móvil y allí mismo, analizarlo mediante el uso de teoría de grafos y mostrarlo gráficamente a través de nodos conectados entre sí, formando estructuras sociales que presentan comportamientos objeto de estudio en Análisis de Redes Sociales. En éste trabajo se ha desarrollado una aplicación en Android que construye la red social del usuario móvil, entendida como el conjunto de nodos y enlaces que representan su grafo social, para su implementación se ha utilizado una metodología compuesta por conceptos del desarrollo ágil y el proceso unificado, así como estructuras de extracción de datos nativas de Android y también proporcionadas por la API de Facebook. Los datos se han obtenido desde tres fuentes del dispositivo: los contactos telefónicos con los que el usuario se comunica a través de llamadas, con los que se comunica por mensajes y los amigos de Facebook. Resultado del análisis matemático y el diseño gráfico, se ha obtenido la estructura social del usuario móvil, una estructura de nodos y enlaces que puede ser manipulada por pantalla táctil, de manera dinámica y en donde se identifican factores propios de un grafo y de interés en el estudio de redes sociales, como los son las comunidades, cliques, puentes y caminos entre nodos. Palabras Clave: Análisis de Redes Sociales, Grafos, Android, Facebook, Dispositivo Móvil, Aplicaciones Móviles, Detección de Comunidades, Clustering, Nodos, Enlaces, Contactos, Influenciadores. 14

15 INTRODUCCIÓN Una red social es una estructura compuesta por un conjunto de actores o entidades relacionadas entre sí a través de vínculos que se pueden interpretar como lazos interpersonales de amistad, parentesco, política, ideales, etc. El análisis de redes sociales se basa en la teoría de grafos para estudiar su comportamiento, los actores son los nodos y las relaciones son las aristas del grafo. El estudio de redes sociales tiene múltiples aplicaciones en las ciencias sociales como la sociología, antropología, política, economía, entre otras, y el resultado de su estudio es una compleja red de actores y relaciones muy densa y difícil de graficar manualmente, por lo cual es necesario utilizar programas para simular el comportamiento de éste tipo de grafos. La red que envuelve a una persona en sus diferentes maneras de interactuar en un contexto social, se denomina red social personal, cada elemento de la red interactúa con el usuario entorno a un factor común que los relaciona, esto permite encontrar dentro de una red, comportamientos importantes en el estudio de redes sociales como la formación de comunidades, nodos que representan un puente entre dos comunidades o el grupo de influenciadores de un nodo. La red social de una persona o grupo de personas se obtiene a través de técnicas de recolección de datos reconocidas como encuestas, entrevistas, investigaciones, simulaciones, entre otras. Con el incremento de la tecnología móvil y su uso, así como el surgimiento de nuevos dispositivos móviles cada día más potentes, cada persona tiene su información automatizada y lista para ser extraída de su dispositivo, esto significa una demografía lo suficientemente grande como para satisfacer cualquier estudio sociológico. La problemática abarcada en éste proyecto es la posibilidad que nos da los dispositivos móviles de tener una vasta demografía de usuarios y diseñar e implementar soluciones para extraer los datos del usuario almacenados en un dispositivo Android, presentarlos gráficamente, y mediante técnicas matemáticas de grafos reconocer los nodos influenciadores y las comunidades formadas dentro de la red. Este trabajo tiene como fin, obtener la red social personal de un usuario móvil a partir de la recuperación de los datos de su Smartphone como contactos y 15

16 mensajería corta, así como de la utilización de aplicaciones orientadas al manejo de redes sociales online. 16

17 1. PLANTEAMIENTO DEL PROBLEMA El análisis de redes sociales nace a principios de los años 70 como una metodología de estudio para detectar estructuras sociales basadas en la relación que tienen sus actores, para identificar sus propiedades, clasificarlas y visualizarlas 1. En sus principios, las redes sociales se identificaban a través de registros escritos por los actores, la comunicación verbal y la relación que tienen con los otros actores, cada actor expresaba una identidad que lo hacía perteneciente a una comunidad, un ejemplo de ello son los árboles genealógicos. La incorporación de las nuevas tecnologías ha evolucionado la forma de extraer los datos de una red social, la aparición de la web y la gran cantidad de información contenida en los sistemas de redes sociales en línea, ha permitido a los investigadores realizar diferentes estudios e implementar nuevas técnicas de muestreo para obtener información de los actores de éstas redes, para eso se deben utilizar mecanismos complejos y algoritmos de extracción de información. El auge de la telefonía móvil, la convergencia de las redes, y la integración del poder computacional y la movilidad, ha permitido que cada persona (nodo) esté conectada en red con todos sus contactos a través de un teléfono inteligente (smartphone), formando una inmensa y compleja red rica en información desde el punto de vista del análisis de redes sociales. Objetivos como poder detectar comunidades agrupadas en torno a un tema, o identificar los contactos que ejercen mayor influencia sobre un determinado usuario móvil son temas que para ser estudiados ampliamente con los programas actuales requerirían sincronizar el dispositivo móvil con un computador que ejecute aplicaciones de extracción de datos y análisis de redes sociales, en este caso, se perdería el carácter de movilidad. Las aplicaciones móviles, en su gran mayoría han sido destinadas al consumo de entretenimiento y al comercio, el análisis de redes sociales es un tema aún en desarrollo en éste tipo de aplicaciones. Ante esta situación la pregunta problema que se aborda en el presente trabajo es: 1 What is Social Network Analysis? [en linea]: International Network for Social Network Analysis. Delaware, INSA, 2010 [Consultado 01 de Marzo de 2013]. Disponible en internet: 17

18 Cómo obtener la red social personal de un usuario móvil a partir de la recuperación de los datos de su teléfono móvil (Smartphone), como contactos y mensajería corta, así como de la utilización de aplicaciones orientadas al manejo de redes sociales en línea? La red social personal se puede representar mediante el grafo de los contactos del usuario, lo cual se puede lograr con una aplicación móvil que extraiga la información desde el teléfono inteligente del usuario, la analice y presente de manera gráfica en cualquier momento y lugar. 18

19 2. JUSTIFICACIÓN Una aplicación que extraiga la información desde un dispositivo móvil, la analice, y presente al usuario su propia red social de manera gráfica, en la que pueda reconocer la estructura social de la red y sus influenciadores, es un aporte importante al análisis de redes sociales y su aplicación en los dispositivos móviles. El uso de conceptos de teoría de redes y teoría de grafos demuestra la importancia de la matemática aplicada al estudio de una red social, factores como la centralidad, distancia entre redes y tipos de interacción son propiedades de un grafo, y por lógica, de una red social. Otro aspecto importante de la realización de este proyecto es el aporte y contribución a la sociología, sociometría y demás ciencias sociales, al permitir obtener datos particulares de muchas personas y sus relaciones, resultado del uso masivo de los dispositivos móviles y el acceso casi total de una persona a uno de ellos, además, el aporte a las otras áreas del conocimiento y entidades que deben su objetivo de negocio al contacto con las personas y la identificación de estrategias para influenciarlas. El desarrollo de aplicaciones para dispositivos móviles con sentido no comercial y generadoras de conocimiento, es otro aspecto importante de este proyecto, investigadores, empresas, instituciones educativas, pueden usar este tipo de herramientas en la realización o estudio de otras soluciones móviles en el campo de análisis de redes sociales. 19

20 3. ANTECEDENTES El análisis de redes sociales tiene sus raíces en la antropología, psicología, sociología, las matemáticas y la sociometría, inicialmente se concebía una red social como una totalidad conceptual compleja y organizada que posee propiedades especificas diferentes de la simple adición de las propiedades de las partes, en un espacio social formado por grupos de individuos y su entorno 2. Una red social configura un campo de relaciones que pueden ser analizadas por procedimientos matemáticos, es así como grupos de investigadores incorporaron las teorías de grafos como aplicación a las redes sociales para determinar la estructura de estas redes, y cómo ésta estructura afecta el comportamiento individual de sus elementos. En los últimos años el análisis de redes sociales ha tomado forma con la incorporación de métodos, técnicas, algoritmos, recolección de datos y muestreo, estos factores permiten identificar grupos y subgrupos dentro de una red y establecer estadísticas a partir de datos relacionales con el fin de definir la estructura de la red y sus propiedades. Recientemente las redes sociales en la red han tomado gran popularidad, sitios como Facebook, Twitter, Youtube y Flickr son un ejemplo de redes sociales con millones y millones de usuarios que tienen relaciones de amistad, parentesco, compartición de recursos y demás, éstas redes se convierten en una fuente de información para afianzar el estudio de redes sociales. Existen técnicas y aplicaciones destinadas a la extracción de datos de redes sociales en la web, tal es el caso de FLINK 3 y POLYPHONET 4 que explotan los 2 SCOTT, John. Social Network Analysis: A Handbook. Segunda Edición. Los Angeles (USA): SAGE Publications Ltd, p MIKA, Peter. Flink: Web Technology for Extractation and Analysis of Social Networks [en linea], Amsterdam, Department of Computer Science. Vrije University, 2005 [Consultado 01 de Marzo de 2013]. Disponible en internet: 4 YUTAKA, Matsuo, JUNICHIRO Mori, MASAHIRO Hamasaki. Polyphonet: An Advanced Social Network Extraction System from the Web [en linea]. Tokio, [Consultado 01 de Marzo de 2013]. Disponible en internet: 20

21 motores de búsqueda como google y yahoo para obtener información de la web a través de búsquedas basadas en semántica. Las redes sociales online brindan a los desarrolladores API s para que puedan extraer datos de estos sistemas y realizar aplicaciones con los mismos estándares, tal es el caso de Facebook 5. Algunos desarrolladores en Facebook han creado aplicaciones que se ejecutan en los perfiles de usuario de las redes sociales, donde pueden ver una gráfica que representa su red de contactos. También se ha trabajado en algoritmos de extracción de datos basados en listas de contactos y en relaciones por contenido, así como algoritmos para la detección de comunidades basados en intermediación y cliques 6. Existen aplicaciones en la red destinadas a modelar y visualizar redes sociales a partir de conjuntos de datos relacionales y matriciales, tal es el caso de E-NET, NetDraw, UCINET, Pajek 7, entre otras, muchas de éstas aplicaciones reconocen formatos estandarizados que son computados y modelados, por lo cual se pueden integrar con otras aplicaciones que realizan el trabajo matemático y algorítmico en cuanto a teoría de grafos. 5 Facebook API [en linea], Cambridge, Facebook Inc., 2013 [Consultado frecuentemente desde 01 de Marzo de 2013] Disponible en internet: 6 ALDECOA, Rodrigo. Detección de Comunidades en Redes Complejas, [en linea]. Valencia, Universidad Pontificia de Valencia [Consultado 01 de Marzo de 2013]. Disponible en internet: 7 HUISMAN, DUIJN Mark and van, MARIJTJE A.J. Software for Social Network Analysis [en linea]. Londres, SAGE (2011), [Consultado 01 de Marzo de 2013]. Disponible en internet: 21

22 4. MARCO TEORICO 4.1 LAS REDES SOCIALES S. Wasserman y K. Faust definen las Redes Sociales como un conjunto bien delimitado de actores -individuos, grupos, organizaciones, comunidades, sociedades globales, etc.- vinculados unos a otros a través de una relación o un conjunto de relaciones sociales 8. El análisis de redes sociales se centra en el estudio de las relaciones como base para construir el comportamiento de los individuos a través de un conjunto de métodos y técnicas para tal fin. La medición de datos y formalización de una red social se fundamenta en la teoría de grafos y teoría matricial, donde los actores se representan como nodos o vértices y las relaciones o vínculos se representan como arcos o aristas. Los actores pueden ser individuos, empresas, unidades colectivas sociales, departamentos en una empresa, agencias de servicio público en la ciudad, estados, etc. Las relaciones son los vínculos entre pares de actores y son de tipo personales, transferencias de recursos, asociaciones, interacciones comportamentales, movilidad geográfica o social, conexiones físicas, relaciones formales u organizacionales, etc PROPIEDADES DE LAS REDES SOCIALES Las redes sociales se representan mediante grafos y utilizan las técnicas de teoría de grafos para determinar la estructura de una red social con base en su forma, distribución y similitud entre los conjuntos de nodos y relaciones que existen en la red. 8 WASSERMAN Stanley, FAUST Katherine. Social Network Analysis: Method and Applications. Cambridge, Cambridge University Press, p MONSALVE, Mauricio. Análisis de redes sociales [en linea]: un tutorial. Chile, Universidad de Chile [Consultado 01 de Marzo de 2013]. Disponible en internet: 22

23 4.2.1 Distancia en las redes. La distancia entre redes es un parámetro de teoría de grafos que permite definir la posición de un nodo dentro de la estructura del grafo. La trayectoria es el número de enlaces existentes entre dos actores, la trayectoria mínima también llamada distancia geodésica es importante en el Análisis de Redes Sociales, ya que permite hallar el camino más eficiente entre actores. La manera de interacción entre los actores de una red permite determinar sus relaciones, a esto se le llama conectividad, una red con un alto nivel de conectividad permite encontrar trayectorias más cortas entre actores. Cuando dos actores presentan reciprocidad, es decir, hay un enlace dirigido del nodo A al nodo B y uno del nodo B al nodo A, el diámetro del grafo es reducido Coeficiente de agrupamiento. El coeficiente de agrupamiento es una medida de grafos que representa la similaridad entre nodos, se determina a partir de las conexiones entre un nodo y sus nodos adyacentes. Se puede determinar el coeficiente de agrupamiento local y global, midiendo el nivel de agrupamiento entre un nodo y sus nodos vecinos, así como el grupo con respecto al resto del grafo. En redes sociales el coeficiente de agrupamiento, permite identificar el grado de pertenencia de un nodo a un grupo de nodos o comunidad, y la relación de la comunidad dentro de la red completa, permitiendo detectar comunidades dentro de la red, esta actividad en redes sociales se denomina clustering Cliques. Un clique es un subgrafo de una red donde cada nodo del clique tiene al menos un enlace con cada uno de los otros nodos. En redes sociales identificar cliques representa encontrar subgrupos de nodos que tienen una relación muy fuerte como la familia o un grupo de amigos en la universidad o en el trabajo Puentes. Un puente es la relación existente entre dos nodos que pertenecen a diferentes comunidades, matemáticamente hablando, es una arista que de ser eliminada, incrementa el número de componentes conexos (comunidades) en un grafo. Una manera de detectar comunidades en una red social es eliminando puentes hasta que una eliminación incremente el número de comunidades, esto se hace iterativamente con todas las aristas. 23

24 4.2.5 Camino. Un camino es la sucesión de vértices existentes entre el nodo origen y el nodo destino, siempre y cuando exista una arista entre cada nodo y el siguiente. El camino más corto entre dos nodos depende del tipo de grafo, en un grafo ponderado el camino se calcula sumando los pesos de cada arista, en un grafo no ponderado el camino más corto es el que contenga menor cantidad de vértices en su trayectoria. 4.3 CLASIFICACIÓN DE REDES SOCIALES Las redes sociales debido a su complejidad y a diferencia de los grafos matemáticos se han clasificado de distintas maneras según el área que las investiga, existen maneras generales de clasificar una red social: Redes basadas en su tamaño. La distancia más larga entre dos actores se denomina diámetro de la red, las redes sociales se pueden medir según el diámetro, aunque no de una manera exacta, un valor obtenido a través de aplicaciones de visualización puede determinar el diámetro de una red social y clasificarlas entre redes a pequeña y grande escala Redes basadas en su evolución. Este tipo de redes se mide según los cambios adquiridos a lo largo del tiempo, pueden representar diferentes tamaños y formas. Existen redes que presenta cambios muy esporádicos y conservan su estado por largos espacios de tiempo, estas redes se llama redes estáticas. Redes como las que vemos en la web, presentan una evolución constante en tamaño y forma debido a la incorporación y eliminación de actores, estas redes se llaman redes dinámicas Redes basadas en su origen. Este tipo de redes dependen de la fuente de donde se obtienen los datos. Las redes sociales obtenidas a través de datos no electrónicos, como documentos físicos e investigaciones se denomina redes offline, las redes obtenidas producto de un algoritmo computarizado como la 10 MEJIA, Olivares Cristian. Análisis de Redes Sociales a gran escala [en linea]: Mexico DF. Centro de investigación y de estudios avanzados del instituto politécnico nacional [Consultado 06 de Marzo de 2013]. Disponible en internet: 24

25 gestión de contactos, se denominan redes online, es el caso de redes sociales como Facebook, twitter, y otras redes en la web Redes basadas en su topología. Estas redes dependen de su forma y complejidad, una red poco compleja puede ser analizada con conceptos básicos de grafos, una red compleja que presenta propiedades no triviales como las redes aleatorias, debe ser estudiada con conceptos empíricos de las redes del mundo real. 4.4 REPRESENTACIÓN DE REDES SOCIALES El análisis de redes sociales identifica los nodos de una red como actores, y los enlaces entre actores se identifican como vínculos. El análisis de redes sociales utiliza dos técnicas matemáticas para representar los actores y sus vínculos; los grafos y las matrices, estas dos técnicas permite analizar grafos a través de programas computarizados. La representación gráfica de redes sociales se lleva a cabo diseñando los actores como nodos y los vínculos como líneas dirigidas, formando así un grafo dirigido mejor llamada en sociología como un sociograma. 4.5 SISTEMAS PARA EL ANÁLISIS DE REDES SOCIALES El análisis de redes sociales utiliza diversos programas para gestionar grafos, los cuales se clasifican según su capacidad para hacer mediciones (MultiNet, StOCNET, SIENA, GNU R), visualizar los grafos formados y analizar su estructura (NetDraw, NetMiner, Pajek, GUESS). La visualización de redes utiliza algoritmos para representación gráfica. 4.6 MUESTREO DE REDES SOCIALES El muestreo es la técnica utilizada para recolectar información de una red sin identificar para analizar sus datos, diseñar la red y visualizarla desde un modelo estructurado. El muestreo de redes sociales en línea es una oportunidad de obtener mucha información de las redes sociales basadas en web 2.0, pero no es una tarea fácil gracias a la complejidad de estos sistemas. Existen sistemas como 25

26 Flink y POLYPHONET, que se dedican a la explotación de motores de búsqueda como Google y Yahoo mediante el análisis de los resultados de las búsquedas, aunque éstos resultados no son exactos y puede presentarse ambigüedad a la hora de estructurar la red, por eso existen métodos de muestreo para redes sociales Muestreo bola de nieve. En este tipo de muestreo se empieza con un nodo semilla o inicial, enlazándolo a todos los nodos conectados directamente a éste y luego se hace este proceso recursivamente para todos los nodos directamente conectados al paso anterior Muestreo de nodo. Este método consiste en seleccionar un número n de nodos de la red original aleatoriamente y posteriormente relacionarlos con los enlaces de la red inicial que existen entre los n nodos seleccionados, Los nodos que son seleccionados y no se enlazan con ningún otro nodo son removidos de la nueva red Muestreo de enlace. Una vez seleccionado los nodos, se seleccionan enlaces de manera aleatoria, en este caso no se remueven nodos ni enlaces. 4.7 LOS INFLUENCIADORES Las redes sociales vistas como grafos representan nodos enlazados por vínculos de interdependencia que pueden ser de tipo parentesco, amistad, compartición de recursos, entre otros, cada vínculo puede ser ponderado por indicadores que representan la fuerza del vínculo, esto hace que un nodo dentro de la red sea altamente influenciable por otro 11. Los indicadores que ponderan un enlace entre dos nodos dependen del tipo de relación que tengan, en una red social de contactos telefónicos, se puede utilizar indicadores como la cantidad o extensión de llamadas para identificar los 11 TANBEER Syed K., LEUNG Carson Kai-Sang, CAMERON Juan J. DIFSoN [en linea]: Discovering Influential Friends from Social Networks. Winnipeg, MB, Canada, Department of Computer Science, University of Manitoba [Consultado 04 de Marzo de 2013]. Disponible en internet: 26

27 contactos que ejercen mayor influencia sobre el usuario, en el caso del uso de aplicaciones de mensajería, la cantidad o extensión de los mensajes. En redes sociales online el panorama es aún más extenso, pues se tiene un sinfín de indicadores, además de la cantidad o extensión de mensajes, podemos pensar en la cantidad de amigos en común que se tiene con un contacto o la cantidad de etiquetas o likes. 27

28 5. MARCO LEGAL Dentro del procedimiento para cumplir con el objetivo de éste proyecto, es necesario implementar técnicas de extracción de datos para recolectar información personal del usuario almacenada en los Smartphone, el tratamiento de la información personal está regulado por las leyes del estado colombiano, dentro de este marco legal hay que tener en cuenta que aunque para efectos de pruebas se manejarán dispositivos con datos experimentales, para el uso de la aplicación se requiere del consentimiento previo, expreso e informado del usuario y estar dentro de los parámetros legales que el gobierno estipula. A continuación se presenta un resumen de las leyes colombianas relacionadas con la información personal y su protección. 5.1 LEY 1581 DE OCT 17 DE 2012 PROTECCIÓN DE DATOS Esta ley protege los datos personales registrados en cualquier base de datos que realiza operaciones de recolección, almacenamiento, uso, circulación o supresión (Tratamiento) por parte de entidades públicas o privadas. El tratamiento de datos personales deben seguir unos principios básicos de: - Legalidad: debe seguir los parámetros establecidos por la ley en ésta y todas las disposiciones. - Finalidad: debe tener una finalidad legítima de acuerdo con la constitución y la ley. Debe ser informada al usuario. - Libertad: debe realizarse con el consentimiento previo e informado del titular. - Veracidad y calidad: la información debe ser verás, completa, exacta, actualizada, comprobable y comprensible. 28

29 - Transparencia: el titular tiene todo derecho de obtener del responsable o encargado del tratamiento, información que le concierne y sin restricciones. - Acceso y Circulación Restringida: el tratamiento se limita por lo dispuesto en la ley y la naturaleza de los datos personales. - Seguridad: los datos personales deben tratarse con las medidas necesarias para dar seguridad a las bases de datos. - Confidencialidad: las personas involucradas en el tratamiento deben garantizar la reserva de la información. La ley establece los deberes de los responsables y encargados del tratamiento de la información, categorización de los datos, establecimiento de sanciones, regulación de transferencia entre países y demás reglamentos que protegen la información personal. 5.2 ARTÍCULO 15 DE LA CONSTITUCIÓN POLÍTICA Todas las personas tienen derecho a su intimidad personal y familiar y a su buen nombre, y el Estado debe respetarlos y hacerlos respetar. De igual modo, tienen derecho a conocer, actualizar y rectificar las informaciones que se hayan recogido sobre ellas en bancos de datos y en archivos de entidades públicas y privadas. En la recolección, tratamiento y circulación de datos se respetarán la libertad y demás garantías consagradas en la Constitución. La correspondencia y demás formas de comunicación privada son inviolables. Sólo pueden ser interceptadas o registradas mediante orden judicial, en los casos y con las formalidades que establezca la ley. Para efectos tributarios o judiciales y para los casos de inspección, vigilancia e intervención del Estado podrá exigirse la presentación de 29

30 libros de contabilidad y demás documentos privados, en los términos que señale la ley ARTÍCULO 20 DE LA CONSTITUCIÓN POLÍTICA Se garantiza a toda persona la libertad de expresar y difundir su pensamiento y opiniones, la de informar y recibir información veraz e imparcial, y la de fundar medios masivos de comunicación. Estos son libres y tienen responsabilidad social. Se garantiza el derecho a la rectificación en condiciones de equidad. No habrá censura LEY 1273 DE 2009 DELITOS INFORMÁTICOS Ley en la cual se establece nuevos tipos penales para delitos informáticos, penas de prisión y multas para quienes incurra en estos delitos. La ley 1273 por medio de la cual se modifica el Código Penal, se crea un nuevo bien jurídico tutelado - denominado de la protección de la información y de los datos - y se preservan integralmente los sistemas que utilicen las tecnologías de la información y las comunicaciones, entre otras disposiciones 14. Esta ley tipificó como delitos un conjunto de conductas relacionadas con el tratamiento de datos personales, generalmente estas conductas son: - Acceso abusivo a un sistema informático. - Obstaculización ilegítima de sistema informático o red de telecomunicación. 12 Constitución Política de Colombia [en linea]: Artículo 15, Derecho a la Intimidad. Colombia. Bitajor.com [Consultado 04 de Marzo de 2013]. Disponible en internet: 13 Constitución Política de Colombia [en linea]: Artículo 20, Libertad de Expresión. Colombia. Bitajor.com [Consultado 04 de Marzo de 2013]. Disponible en internet: 14 COLOMBIA CONGRESO DE LA REPUBLICA. Ley 1273 de 05 de Enero de 2009 [en linea]: Por medio de la cual se modifica el Código Penal, se crea un nuevo bien jurídico tutelado denominado de la protección de la información y de los datos. [Consultado el 06 de Marzo de 2013]. Disponible en internet: pdf. 30

31 - Interceptación de datos informáticos. - Daño Informático. - Uso de software malicioso. - Violación de datos personales. - Suplantación de sitios web para capturar datos personales. - Circunstancias de agravación punitiva. - Hurto por medios informáticos y semejantes. - Transferencia no consentida de activos. 5.5 OTRAS LEYES Dentro del marco legal del tratamiento de datos personales hay que tener en cuenta leyes como la 201 de 2012 que reglamenta los derechos de autor y la ley 527 de 1999 que regula el comercio electrónico, envió y recepción de mensajes de datos, certificados y firmas digitales. 31

32 6. OBJETIVOS 6.1 OBJETIVO GENERAL Diseñar e implementar una aplicación móvil para obtener la red social de un usuario y su grupo de influenciadores a partir de la recuperación de los datos almacenados en su Smartphone utilizando técnicas de extracción de datos y la aplicación de teoría de grafos. 6.2 OBJETIVOS ESPECIFICOS - Documentar información tanto de comprensión del problema como de requerimientos a establecer, para desarrollar la aplicación. - Diseñar e implementar una solución para recuperar los datos almacenados en un dispositivo móvil (contactos, agenda, llamadas, mensajes etc.). - Diseñar e implementar la base de datos para almacenar la información de la aplicación. - Diseñar e implementar una solución para obtener la red social del usuario a partir de los datos recuperados de su dispositivo móvil. 32

33 7. METODOLOGIA La metodología a implementar sigue muchos de los lineamientos del proceso unificado, aunque al ser una aplicación que se ejecutará en un dispositivo móvil, se incorporará conceptos del desarrollo ágil 15, que se basa en las características básicas de una aplicación móvil, como lo es la limitación en memoria de ejecución y almacenamiento, limitaciones en el tiempo de desarrollo, énfasis en el objetivo actual de la aplicación por encima de los objetivos futuros, y sobre todo la capacidad de añadir componentes adicionales a productos previamente terminados (actualizaciones), y por último prima la funcionalidad sobre la documentación, permitiendo iterar sobre las fases en las actividades diarias, teniendo así entregables funcionales y ejecutables constantemente. Teniendo en cuenta las características de este proyecto, podemos incluir conceptos ya estudiados y recomendados de la metodología Mobile-D, favoreciendo el desarrollo ágil, y la metodología RUP, favoreciendo el desarrollo orientado a objetos. Las etapas del proyecto serán: 7.1 INICIO Y EXPLORACIÓN En esta etapa se define el plan del proyecto, la línea de arquitectura a seguir y el entorno de desarrollo que vamos a utilizar. Se analiza los objetivos y los alcances del proyecto y se define el documento inicial de requerimientos funcionales y no funcionales y su ilustración (historias de usuario), la descripción del diseño y la arquitectura de la aplicación. Se implementa la funcionalidad de la aplicación para poder obtener una primera versión del producto para realizarle pruebas de aceptación. 7.2 ELABORACIÓN Y PRODUCTIZACIÓN En esta etapa se implementa la funcionalidad prioritaria del sistema, haciendo énfasis en el core de la aplicación, se documentan las pruebas de aceptación para definir el listado de defectos, se debe iterar sobre las etapas anteriores para actualizar el documento de requerimientos y la arquitectura si se requiere. 15 AGILE Software Technologies Research Programme [en linea]: Mobile-D. Finlandia, Tecnical VTT Research Ltd [Consultado 04 de Marzo de 2013]. Disponible en internet: 33

34 7.3 ESTABILIZACIÓN En esta etapa se debe finalizar la implementación de toda la aplicación y finalizar la documentación, con el fin de asegurar la calidad del producto, para llevar a cabo esta etapa es necesario actualizar y finalizar los productos de las etapas anteriores. 7.4 PRUEBAS DE SISTEMA En esta etapa se llevan a cabo las pruebas de sistema basado en el documento de pruebas establecido, se retroalimenta con el usuario el funcionamiento de la aplicación y se elabora un documento de defectos encontrados y el plan para corregirlos. Se corrigen los defectos. Los resultados de esta etapa pueden llevarnos a la etapa de estabilización de nuevo. El proceso finaliza cuando se han cumplido los objetivos fijados en el inicio. 34

35 8. DESARROLLO DEL PROYECTO 8.1 DESARROLLO PROPUESTO Una aplicación móvil que se ejecute en una plataforma Android en dispositivos móviles inteligentes, que permita al usuario extraer los datos almacenados en el teléfono como contactos, llamadas, mensajes e información de Facebook, con el fin de crear la red social personal del usuario y su círculo de influencia, la aplicación debe permitir visualizar la información y modelarla mediante la utilización de grafos. En el desarrollo propuesto el usuario obtendrá su red social personal, entendida como la construcción de los nodos y enlaces que represente su grafo social, los nodos representan los contactos del teléfono o los amigos de Facebook y se visualizan mediante círculos, y los enlaces representan relaciones de contacto o amistad entre dos nodos y se visualizan mediante líneas. La red social se obtiene a partir de los datos almacenados en el dispositivo móvil desde tres perspectivas, llamadas, mensajería y Facebook. La información que se extrae del dispositivo ha sido recolectada mediante el uso de aplicaciones, el acceso que se tiene a la información de cada aplicación es diferente y permite llegar a diferentes niveles de profundidad dentro de un grafo. La aplicación de contactos, es decir, la agenda telefónica, permite conocer los contactos y la cantidad o duración de llamadas a cada contacto, la aplicación de mensajería permite conocer la cantidad, extensión y destinatario de los mensajes enviados o recibidos, estas dos aplicaciones tienen un nivel de profundidad limitado porque solo podemos conocer información de la interacción del usuario propietario del dispositivo con cada uno de sus contactos, pero no de la interacción entre contactos terceros. En este orden de ideas, la red social de contactos telefónicos, tanto de llamadas como de mensajería, permite identificar dentro de la estructura del grafo, los nodos influyentes posicionados más cerca del nodo central que representa el usuario, el grado de cercanía tiene relación directa con la frecuencia de llamadas o de mensajes. El grafo se construye mediante un muestreo bola de nieve donde se empieza por un nodo semilla que representa el usuario y luego se crea un enlace para cada uno de los contactos. 35

36 Figura 1. Red social de contactos telefónicos. En la figura se puede identificar los nodos influyentes dentro de la red social de contactos telefónicos, posicionados más cerca del nodo central que representa el usuario. En el caso de la red social de Facebook, al ser una red social en línea, se puede extraer información tanto de la interacción del usuario con cada amigo como la interacción entre amigos. La red social del usuario obtenida mediante el uso de Facebook es una red más estructurada y profunda, se crean los nodos que representan los amigos de Facebook del usuario, luego, implementando un muestreo bola de nieve se crean los enlaces para cada nodo, que representan relaciones de amistad entre cada amigo y los amigos en común que tiene con el usuario. La red social del usuario de Facebook es una red sobre la cual se puede obtener información producto de la aplicación de la teoría de grafos: - El diámetro del grafo representa la cantidad de amigos del usuario, - Los cliques representan grupos de amigos con gran cohesión, - Los cluster representan comunidades agrupadas como la familia, compañeros de trabajo o amigos de la universidad, 36

37 - Los puentes representan los amigos que tienen en común dos comunidades diferentes, también representan los amigos a contactar para relacionarse con otra comunidad, - El camino más corto entre dos nodos representa la forma más fácil de influenciar una persona dentro de mi red de amigos u obtener información sobre ella, - La centralidad de grado permite reconocer los amigos de cada nodo, - El coeficiente de agrupamiento permite encontrar la similaridad entre nodos y así formar comunidades. Figura 2. Red social del usuario de Facebook. En la figura se puede identificar los amigos de Facebook del usuario agrupados en comunidades. El objetivo de éste desarrollo es mostrar la red social personal del usuario móvil desde tres perspectivas distintas, llamadas, mensajería corta y Facebook. 37

38 8.2 DEFINICION DEL ALCANCE El alcance de la aplicación tendrá los siguientes aspectos: - El usuario podrá consultar la información del dispositivo como contactos, registro de llamadas y mensajería. - El usuario podrá iniciar sesión en Facebook y consultar la información de sus amigos. - El usuario tendrá la opción de crear su red social personal basada en los contactos de su teléfono y Facebook, y visualizarla en forma de grafo. - El usuario podrá conocer su círculo de influencia mediante la detección de comunidades en su grafo social, a partir de criterios característicos de la relación con sus contactos. - El usuario podrá compartir su grafo en un formato reconocible por otras aplicaciones tanto de dispositivos móviles como de Pc s. - El usuario podrá encontrar las comunidades de su grafo agrupadas por un interés en común. - El usuario podrá interactuar con su grafo social, mover y conocer cada nodo. - El usuario podrá guardar registro de cada grafo creado. 38

39 8.3 DEFINICIÓN DE LA ARQUITECTURA Figura 3. Arquitectura de la Aplicación Fuentes: Clip Art [en línea]: Servidor. Panamá: clipartlogo.com, 2011 [consultado 06 de Marzo de 2013]. Disponible en Internet: Clip Art [en línea]: Firewall. Panamá: clipartlogo.com, 2009 [consultado 06 de Marzo de 2013]. Disponible en Internet: Clip Art [en línea]: Plaza de la antena. Panamá: clipartlogo.com, 2008 [consultado 06 de Marzo de 2013]. Disponible en Internet: 39

40 Clip Art [en línea]: Teléfono Android. Panamá: clipartlogo.com, 2010 [consultado 06 de Marzo de 2013]. Disponible en Internet: Comunicación interactiva [en línea]: El impacto de las redes sociales en la música. España, Mariana Peraza, 2013 [consultado 06 de Marzo de 2013]. Disponible en Internet: La importancia de MVC en Android [en línea]: Modelo-Vista-Controlador. México: Androideity, 2012 [consultado 06 de Marzo de 2013]. Disponible en Internet: Arquitectura. La arquitectura de la aplicación consta de varias capas, aunque en aplicaciones para PC las capas representarían también componentes físicos como un servidor y varios pc clientes, en aplicaciones móviles nos referimos a las capas que se identifican en los componentes funcionales dentro de un sistema Android en un dispositivo Smartphone, sin embargo, el dispositivo se conecta a través de internet con servidores de redes sociales y mediante la utilización de API s se extraen datos para su procesamiento a nivel de dispositivo (ver figura 1) donde las capas funcionales son: - Capa de presentación: es la visual que tiene el usuario de la aplicación, con un mínimo de desarrollo, a través de una interfaz XML, aquí se captura la información, se comunica con las otras capas y muestra el resultado obtenido. - Capa de lógica de negocio: escrita en código java contiene las operaciones de recepción y devolución de datos y procesamiento de información, se comunica con la capa de datos para solicitar o actualizar información y con la capa de presentación para enviar los eventos a mostrar. En esta capa se valida la información capturada en la capa de presentación. - Capa de datos: es donde residen los datos de la aplicación, sin necesidad de un manejador de base de datos, Android contiene las librerías de SQLite para el manejo de persistencia de datos, recibe las solicitudes de almacenamiento o actualización provenientes de las otras capas, los datos de contactos del teléfono son accedidos a través de proveedores de contenidos y los datos de contactos de redes sociales online son accedidos a través de API s y conexión a internet. 40

41 8.3.2 Patrón Arquitectónico. Los patrones arquitectónicos son estrategias de diseño empleadas para aprovechar las buenas practicas reconocidas en procesos y experiencias que han sido efectivas y reutilizables, el diseño en Android está ligado a su arquitectura y la forma como fueron creados sus componentes, es decir que hay una manera recomendada en la documentación Android para diseñar las aplicaciones, y esta manera sigue muchos de los lineamientos del patrón arquitectónico de Modelo-Vista-Controlador, pero no todos, ya que en la implementación veremos que en componentes como las Activity se crean elementos de presentación y se efectúan operaciones de datos, por tanto, éste proyecto no implementa un patrón arquitectónico reconocido sino que su diseño es fuertemente influenciado por el Modelo-Vista-Controlador. 8.4 DEFINICIÓN DEL ENTORNO DE DESARROLLO El entorno de desarrollo es el conjunto de herramientas necesarias para programar aplicaciones, en nuestro caso, aplicaciones móviles, a continuación se describe los componentes a utilizar en este proyecto: Máquina Virtual de Java JRE. Es el entorno de ejecución del código java, como las aplicaciones Android se programan en código java, es necesario tener instalado la máquina virtual de java Eclipse. Es un entorno de programación para casi cualquier lenguaje. Para programar en Android es necesario descargar desde el repositorio de Google el plugin para Eclipse e instalarlo SDK de Android. Es el conjunto de librerías, api s, recursos, herramientas y fuentes necesarias para el flujo de trabajo de una aplicación Android, se puede descargar desde el repositorio de Google Máquina Virtual Java [en linea]. Oracle Technology Network [Consultado 06 de Marzo de 2013]. Disponible en internet: downloads html. 17 Entorno de Desarrollo Eclipse [en linea]. The Eclipse Foundation [Consultado 06 de Marzo de 2013]. Disponible en internet: 18 SDK Android [en linea]. Google Inc [Consultado 06 de Marzo de 2013]. Disponible en internet: 41

42 8.4.4 Android. Sistema operativo basado en el kernel de Linux y diseñado para dispositivos táctiles, a continuación se describe sus componentes principales: Figura 4. Arquitectura Android Fuente: Arquitectura Android [en línea]: Arquitectura Android. México: Androideity, 2012 [consultado 06 de Marzo de 2013]. Disponible en Internet: Aplicaciones: conjunto de elementos visuales interactivos presentados al usuario y escritos en lenguaje java, cumplen funciones esenciales del dispositivo como llamadas, mensajes, correos, navegadores, etc. Framework de aplicaciones: conjunto de API s disponibles y reutilizables usadas por desarrolladores para construir aplicaciones. Bibliotecas: conjunto de librerías usadas por el sistema para su funcionamiento, escritas en C/C++ y accesibles para el desarrollador a través del Framework de aplicaciones. 42

43 Kernel de Linux: funciona como capa de abstracción entre el hardware y el software, encargado de gestionar los recursos del teléfono, garantiza la seguridad al ser solo accesible desde las librerías del sistema JgraphT 19. Conjunto de librerías java que proporciona objetos y algoritmos de teoría de grafos, soporta grafos dirigidos, no dirigidos, ponderados y no ponderados, creado para ser practico y sencillo, tiene licencia GNU y EPL. JgraphT está diseñado para ser visualizado gráficamente usando la biblioteca JGraph en PC s, para efectos de la aplicación Android se utilizará una colaboración llamada Grapher Grapher 20. Proyecto liberado como GPL por Pal Gronas Drange diseñado para crear y visualizar grafos en sistemas Android. Se usará como base para dibujar los grafos sociales y se integrará con JgraphT para las operaciones matemáticas. El código de este proyecto tiene un objetivo diferente al proyecto propuesto, pero será modificado para que cumpla las funciones que éste proyecto necesita. 8.5 ESPECIFICACIÓN DE REQUERIMIENTOS Los requerimientos constituyen las especificaciones en cuanto a características y funcionalidades propuestas en éste proyecto, se clasifican en requerimientos funcionales y no funcionales Requerimientos Funcionales. Los requerimientos funcionales están enfocados al comportamiento interno de la aplicación. En éste proyecto se tendrán los siguientes requerimientos funcionales: - REQF-1. El sistema debe permitir consultar el listado de contactos almacenados. - REQF-2. El sistema debe permitir consultar la información de cada contacto. - REQF-3. El sistema debe permitir consultar las llamadas realizadas. 19 NAVEH, Barak. JGraphT [en línea]. Barak and Contributors [Consultado 10 de Enero de 2014]. Disponible en internet: 20 DRANGE, Pal Gronas. Grapher [en línea]. Bergen (Norway). Github [Consultado 15 de Marzo de 2014]. Disponible en internet: 43

44 - REQF-4. El sistema debe permitir consultar la duración de llamadas. - REQF-5. El sistema debe permitir consultar los mensajes realizados. - REQF-6. El sistema debe permitir crear una red social en forma de grafo con los contactos que interactúa a través de mensajes de texto. - REQF-7. El sistema debe permitir crear una red social personal en forma de grafo con los contactos que interactúa a través de llamadas. - REQF-8. El sistema debe permitir visualizar en una red social los contactos más influyentes con los que se comunica por mensajes de texto. - REQF-9. El sistema debe permitir visualizar en una red social los contactos más influyentes con los que se comunica por llamadas. - REQF-10. El sistema debe permitir al usuario iniciar sesión en su cuenta de Facebook. - REQF-11. El sistema debe permitir al usuario consultar el listado de contactos de Facebook. - REQF-12. El sistema debe permitir al usuario crear una red social personal en forma de grafo con sus contactos de Facebook. - REQF-13. El sistema debe permitir al usuario visualizar en una red social los contactos de Facebook más influyentes. - REQF-14. El sistema debe permitir visualizar las comunidades que forma su red social entorno a un interés común. - REQF-15. El sistema debe permitir que el usuario cambie de posición los nodos del grafo social. - REQF-16. El sistema debe permitir consultar la información de cada nodo (nombre, número, foto, etc.). - REQF-17. El sistema debe permitir visualizar en cada nodo de Facebook, la comunidad a la cual pertenece. - REQF-18. El sistema debe permitir guardar un grafo social creado. - REQF-19. El sistema debe permitir cargar un grafo social guardado. 44

45 - REQF-20. El sistema debe permitir eliminar un grafo social guardado. - REQF-21. El sistema debe permitir visualizar el camino más corto entre dos nodos. - REQF-22. El sistema debe permitir consultar el diámetro del grafo social. - REQF-23. El sistema debe permitir visualizar el clique máximo dentro del grafo social. - REQF-24. El sistema debe permitir visualizar los puentes del grafo social. - REQF-25. El sistema debe permitir exportar el grafo en un formato reconocible por programas externos de visualización de grafos. - REQF-26. El sistema debe permitir al usuario acercar y alejar la vista del grafo social. - REQF-27. El sistema debe permitir al usuario cerrar sesión en su cuenta de Facebook Requerimientos no Funcionales. Los requerimientos no funcionales están relacionados con las características generales del sistema, hacen referencia a factores como la seguridad, integridad, usabilidad, escalabilidad, etc... En este proyecto se tendrán los siguientes requerimientos no funcionales: - REQNF-1. El sistema debe asegurarse de tener los permisos necesarios para el tratamiento de datos personales del usuario. - REQNF-2. El sistema debe estar implementado en Android. - REQNF-3. El sistema debe tener un diseño de interfaz amigable e intuitivo. - REQNF-4. El sistema debe controlar el acceso a las redes sociales validando los datos de usuario Actores del Sistema. Los actores son los elementos que interactúan con la aplicación, para éste proyecto se han definido los siguientes actores: 45

46 - El usuario de la aplicación: el usuario final quien podrá utilizar todas las opciones de la aplicación. - El sistema: la aplicación que en nombre del usuario podrá interactuar con las redes sociales y los datos del teléfono Listado de Casos de Uso. Los casos de uso son las situaciones de interacción entre el usuario y la aplicación, otorga un sentido realista de lo que el usuario puede hacer con las opciones de la aplicación, se construyen a partir de los requerimientos dados, a continuación el listado de casos de uso para éste proyecto. - CU-1. Consultar listado de contactos del teléfono. - CU-2. Consultar la información del contacto - CU-3. Consultar los mensajes de texto realizados. - CU-4. Crear red social de contactos por llamadas. - CU-5. Crear red social de contactos por mensajes. - CU-6. Iniciar sesión de Facebook. - CU-7. Consultar listado de contactos de Facebook. - CU-8. Crear una red social de contactos de Facebook. - CU-9. Cambiar posición de un nodo. - CU-10. Consultar información de un nodo. - CU-11. Visualizar la comunidad de un nodo de Facebook. - CU-12. Guardar grafo. - CU-13. Cargar grafo. - CU-14. Eliminar grafo. - CU-15. Visualizar el camino más corto entre dos nodos de Facebook. 46

47 - CU-16. Consultar el diámetro del grafo. - CU-17. Visualizar clique máximo. - CU-18. Visualizar los puentes entre comunidades de Facebook. - CU-19. Compartir grafo. - CU-20. Cambiar vista (acercar/alejar) - CU-21. Cerrar sesión de Facebook Matriz de Casos de Uso. La matriz de casos de uso relaciona cada uno de los casos de uso con los requerimientos contemplados. Cuadro 1. Matriz de Casos de Uso N Nombre Requerimientos Relacionados CU-1 Consultar listado de contactos del teléfono REQF-1 CU-2 Consultar la información del contacto REQF-2, REQF-3, REQF- 4. CU-3 Consultar los mensajes de texto realizados. REQF-5. CU-4 Crear red social de contactos por llamadas. REQF-7, REQF-9. CU-5 Crear red social de contactos por mensajes. REQF-6, REQF-8. CU-6 Iniciar sesión de Facebook. REQF-10. CU-7 Consultar listado de contactos de Facebook. REQF-11. CU-8 Crear una red social de contactos de Facebook REQF-12. REQF-13, REQF-14. CU-9 Cambiar posición de un nodo. REQF-15. CU-10 Consultar información de un nodo. REQF-16. CU-11 Visualizar la comunidad de un nodo de Facebook. REQF-17. CU-12 Guardar grafo. REQF-18. CU-13 Cargar grafo. REQF-19. CU-14 Eliminar grafo. REQF-20. CU-15 Visualizar el camino más corto entre dos nodos de REQF-21. Facebook. CU-16 Consultar el diámetro del grafo. REQF-22. CU-17 Visualizar clique máximo. REQF-23. CU-18 Visualizar los puentes entre comunidades de Facebook. REQF-24. CU-19 Compartir grafo. REQF-25. CU-20 Cambiar vista (acercar/alejar). REQF-26. CU-21 Cerrar sesión de Facebook. REQF

48 8.6 MODELADO DE REQUERIMIENTOS Diagrama de Casos de Uso Diagrama 1. Diagrama de Casos de Uso. 48

49 El diagrama de casos de uso es la representación gráfica de las funcionalidades de la aplicación y los actores que interactúan con ellas, en dispositivos móviles existe un único usuario que es el propietario del dispositivo y accede a todas las funcionalidades, todos los casos de uso de ésta aplicación son accesibles por el usuario, algunos, especificaciones de otros casos de uso y representados mediante relaciones de inclusión > <<include>>, se menciona porque no aparecen en el diagrama para no confundir al lector Diagramas de Actividad. Esta actividad tiene como fin describir cada uno de los casos de uso de manera gráfica mediante el uso de diagramas, comúnmente se utilizan guiones de caso de uso, sin embargo, en éste proyecto se decidió implementar diagramas de actividad para una mejor comprensión del flujo de la aplicación. Cada caso de uso se especificará con los siguientes apartados, pudiendo prescindir de alguno de no ser necesario: - Definición - Pre-condición: condición que debe cumplirse antes de empezar el caso de uso. - Post-condición: condición a satisfacer después de concluir el caso de uso. - Diagrama de actividad: grafica que representa la interacción entre el usuario y la aplicación. Se sobreentiende para todos los casos de uso que como precondición se debe haber iniciado la aplicación y otorgado los permisos para el acceso a datos personales. No incluimos en los diagramas el apartado de actores ya que los únicos que interactúan están descritos en la gráfica. CU-1. Consultar listado de contactos del teléfono. Ver en pantalla el listado de contactos almacenados en el dispositivo ordenados por frecuencia de llamadas. Pre-condiciones: - Los contactos deben estar almacenados en el dispositivo. Post-condiciones: - Muestra el listado de contactos del dispositivo. 49

50 Diagrama 2. Diagrama de actividad CU-1. CU-2. Consultar la información del contacto. Ver información del contacto como nombre, número de teléfono, foto de contacto, , etc. Pre-condiciones: - Los contactos debe estar almacenados. - Cada contacto debe tener diligenciados los campos de información. - Cada contacto debe tener una foto de contacto. Post-condiciones: - La aplicación mostrara la información del contacto que esté diligenciada en su tarjeta de contacto. 50

51 Diagrama 3. Diagrama de actividad CU-2. CU-3. Consultar los mensajes de texto realizados. Ver la actividad de conversaciones a través de mensajería corta del dispositivo. Pre-condiciones: - El dispositivo debe tener una aplicación nativa de SMS-MMS. Post-condiciones: - Muestra las conversaciones mediante SMS. 51

52 Diagrama 4. Diagrama de actividad CU-3. CU-4. Crear red social de contactos por llamadas. Crear un grafo donde los nodos son los contactos y donde existe un enlace entre cada contacto y el usuario. Pre-condiciones: - El dispositivo debe tener contactos almacenados Post-condiciones: - Muestra un grafo con un nodo central y los contactos con los que más se comunica por llamadas enlazadas más cerca que los otros. 52

53 Diagrama 5. Diagrama de actividad CU-4. CU-5. Crear red social de contactos por mensajes. Crear un grafo donde los nodos son los contactos y donde existe un enlace entre cada contacto y el usuario. Pre-condiciones: - El dispositivo debe tener contactos almacenados - El usuario debe haberse comunicado con alguno de sus contactos a través de mensajes. Post-condiciones: - Muestra un grafo con un nodo central y los contactos con los que interactuó por mensajería. Los contactos con los que se comunica más frecuentemente enlazados más cerca que los otros. 53

54 Diagrama 6. Diagrama de actividad CU-5. CU-6. Iniciar sesión de Facebook. Iniciar sesión en la red social online Facebook Pre-condiciones: - El usuario debe tener una cuenta de Facebook asignada - El usuario debe tener acceso a internet. Post-condiciones: - Sesión de Facebook abierta y disponible para consultar información del usuario. 54

55 Diagrama 7. Diagrama de actividad CU-6. CU-7. Consultar listado de contactos de Facebook. Ver en pantalla el listado de amigos de Facebook del usuario. Pre-condiciones: - El usuario debe haber iniciado sesión en su cuenta de Facebook. - El usuario debe tener al menos un contacto en su cuenta de Facebook. Post-condiciones: La aplicación muestra los nombres de los amigos de Facebook del usuario. 55

56 Diagrama 8. Diagrama de actividad CU-7. CU-8. Crear una red social de contactos de Facebook. Crear un grafo donde los nodos son los amigos de Facebook y los enlaces son las relaciones de amistad entre ellos. Pre-condiciones: - El usuario debe haber iniciado sesión en su cuenta de Facebook. - El usuario debe haber cargado el listado de amigos de Facebook. Post-condiciones: - Muestra la red social de Facebook representada en un grafo, organizada en comunidades agrupadas por un interés en común como familia, colegio, universidad, trabajo, religión, etc. Cada comunidad diferenciada por el color de sus nodos. 56

57 Diagrama 9. Diagrama de actividad CU-8. CU-9. Cambiar posición de un nodo. Mover el nodo en cualquier dirección haciendo un toque sobre él y arrastrándolo hacia la posición deseada. Pre-condiciones: - El usuario debe haber cargado el grafo. Post-condiciones: - La aplicación detecta la coordenada donde el usuario toca y donde suelta para mover el nodo desde el origen hasta el destino. 57

58 Diagrama 10. Diagrama de actividad CU-9. CU-10. Consultar información de un nodo. Ver la información de cada nodo mediante una pulsación larga sobre el nodo. Pre-condiciones: - El usuario debe haber cargado el grafo. Post-condiciones: - La aplicación muestra la tarjeta de contacto si el grafo es de contactos telefónicos, si el grafo es de amigos de Facebook, muestra el nombre, foto de perfil y numero de amigos en común con el usuario. 58

59 Diagrama 11. Diagrama de actividad CU-10. CU-11. Visualizar la comunidad de un nodo de Facebook. Ver solo los contactos pertenecientes a la comunidad del nodo seleccionado. Pre-condiciones: - El usuario debe haber cargado el grafo de Facebook. Post-condiciones: - Muestra la comunidad del nodo seleccionado. 59

60 Diagrama 12. Diagrama de actividad CU-11. CU-12. Guardar grafo. Guardar el grafo creado en el sistema de archivos del dispositivo para que pueda ser cargado después. Pre-condiciones: - El usuario debe haber cargado el grafo. Post-condiciones: - La aplicación guarda el grafo con el nombre ingresado por el usuario. 60

61 Diagrama 13. Diagrama de actividad CU-12. CU-13. Cargar grafo. Cargar un grafo seleccionado desde una lista de grafos guardados. Pre-condiciones: - El usuario debe haber guardado el grafo que va a cargar. Post-condiciones: - Muestra en pantalla la imagen del grafo guardado con anterioridad. 61

62 Diagrama 14. Diagrama de actividad CU-13. CU-14. Eliminar grafo. Eliminar un grafo seleccionado desde una lista de grafos guardados. Pre-condiciones: - El usuario debe haber guardado el grafo que va a eliminar. Post-condiciones: - Se elimina el grafo seleccionado. 62

63 Diagrama 15. Diagrama de actividad CU-14. CU-15. Visualizar el camino más corto entre dos nodos de Facebook. Ver en el grafo de Facebook la ruta de acceso más corta entre dos nodos seleccionados mediante el uso de algoritmos de teoría de grafos. Pre-condiciones: - El usuario debe haber cargado el grafo de Facebook. Post-condiciones: - La aplicación resalta los nodos y los enlaces de la ruta más corta entre dos nodos seleccionados. 63

64 Diagrama 16. Diagrama de actividad CU-15. CU-16. Consultar el diámetro del grafo. Mostrar en pantalla la cantidad de nodos del grafo creado. Pre-condiciones: - El usuario debe haber cargado el grafo. Post-condiciones: - Muestra en pantalla el número de nodos. Diagrama 17. Diagrama de actividad CU

65 CU-17. Visualizar clique máximo. Ver en el grafo el clique máximo entendido como el mayor subgrafo donde cada nodo esta enlazado con cada uno de los demás nodos, calculado mediante algoritmos de teoría de grafos. Representa la comunidad más compacta entre los amigos de Facebook. Pre-condiciones: - El usuario debe haber cargado el grafo de Facebook. Post-condiciones: - La aplicación muestra solo el subgrafo que representa el clique máximo. Diagrama 18. Diagrama de actividad CU

66 CU-18. Visualizar los puentes entre comunidades de Facebook. Ver en el grafo los puentes representados como la única conexión entre dos comunidades. Pre-condiciones: - El usuario debe haber cargado el grafo de Facebook. Post-condiciones: - La aplicación resalta los nodos y los enlaces que representan los puentes entre comunidades. Diagrama 19. Diagrama de actividad CU-18. CU-19. Compartir grafo. Enviar a través de otra aplicación como , mensajería, bluetooth, Facebook, etc..., un texto en formato Metapost o Tikz que representa el grafo compartido para ser reconocido por algún software de visualización externo. Pre-condiciones: - El usuario debe haber cargado el grafo. - El usuario debe tener alguna aplicación disponible para enviar la información del grafo. 66

67 - Post-condiciones: - La aplicación envía un texto en formato Metapost o Tikz. Diagrama 20. Diagrama de actividad CU-19. CU-20. Cambiar vista (acercar/alejar). Acercar y alejar la vista del grafo haciendo el gesto de pellizco hacia adentro para alejar y hacia afuera para acercar. Pre-condiciones: - El usuario debe haber cargado el grafo. - La aplicación debe estar configurada para detectar el gesto. Post-condiciones: - La aplicación muestra con mayor detalle el grafo cuando acerca la vista y una visión más general cuando aleja. 67

68 Diagrama 21. Diagrama de actividad CU-20. CU-21. Cerrar sesión de Facebook. Cerrar sesión en la cuanta de Facebook. Pre-condiciones: - El usuario debe haber iniciado sesión de Facebook. Post-condiciones: - Se cierra sesión de Facebook. Diagrama 22. Diagrama de actividad CU

69 8.7 IMPLEMENTACIÓN DE REQUERIMIENTOS Identificación de clases. En sistemas Android su componente principal son las Activity, clases que lanzan el componente visual XML y que están almacenados como recursos en conjunto con cadenas e imágenes, también gestionan los elementos de entrada y los elementos a mostrar en pantalla, cada pantalla en Android es una Activity y los componentes algorítmicos son archivos java utilizables como librerías. Este proyecto usó los archivos java de las librerías de JgraphT para gestionar los algoritmos de teoría de grafos, las librerías java de Android 4.2 para gestionar los recursos del dispositivo, el entorno de desarrollo y almacenamiento de datos, las librerías java de GRAPHER se usaron para dibujar en pantalla los grafos creados, algunas de las clases de esta librería fueron modificadas y mencionadas en éste proyecto, y por ultimo las clases de la API de Facebook que se usaron para los procesos de autorización de usuarios y para ejecutar consultas con el fin de extraer la información del usuario. MainActivity: Es la actividad principal y la primera que se ejecuta al iniciar la aplicación, muestra las opciones para que el usuario escoja si desea ver su grafo social a partir de su información de contactos telefónicos, mensajería o su cuenta de Facebook. Figura 5. Clase MainActivity. 69

70 PhoneContacts: Es la actividad que se ejecuta cuando el usuario quiere ver el grafo social de sus contactos telefónicos, esta actividad gestiona todas las operaciones de consulta de información a la base de datos de contactos del teléfono, de allí podrán lanzarse actividades nativas como la agenda telefónica para consultar o editar contactos, o la lista de llamadas. Esta actividad es la encargada de darle la opción de crear el grafo de contactos telefónicos del usuario. Figura 6. Clase PhoneContacts. 70

71 MessageContacts: Es la actividad que se ejecuta cuando el usuario quiere ver el grafo social de sus contactos telefónicos con los que se comunica por mensajes de texto, esta actividad gestiona todas las operaciones de consulta de información a la base de datos de mensajería corta, de allí podrán lanzarse actividades nativas como la lista de conversaciones de mensajería. Esta actividad es la encargada de darle la opción de crear el grafo de contactos del usuario con los que se comunica por mensajería. Figura 7. Clase MessageContacts. FacebookActivity: Es la actividad que se ejecuta cuando el usuario quiere ver el grafo social de Facebook, gestiona los procesos de acceso a Facebook y las consultas necesarias para extraer los datos del usuario, muestra el listado de amigos de Facebook y muestra la opción de crear el grafo de amigos de Facebook. 71

72 Figura 8. Clase FacebookActivity. Network: Esta clase contiene algoritmos de grafos escritos en java especialmente orientados a hacer clustering o detección de comunidades en grafos a gran escala, esta clase fue usada porque contiene un algoritmo de detección de comunidades más eficiente, algoritmo de Louvain implementado en java por Ludo Waltman y Nees Jan van Eck 21 y basado en el paper Fast unfolding of communities in large networks (Blondel, Guillaume, Lambiotte, and Lefebvre (2008)) WALTMAN, Ludo, and ECK, Nees Jan van. A smart local moving algorithm for large-scale modularity-based community detection [en línea] : Eindhoven. Ludo Waltman Website [Consultado 25 de Junio de 2014]. Disponible en internet: 22 D. BLONDELA, Vincent GUILLAUME, Jean-loup LAMBIOTTE, renaud LEFEBVRE, Eetienne. Fast unfolding of communities in large networks [en línea] : Ithaca NY. Cornell University Library [Consultado 25 de Junio de 2014]. Disponible en internet: 72

73 Figura 9. Clase Network. 73

74 Workspace: Es la actividad que carga la vista de cada grafo pintando sobre una cuadricula, círculos y líneas que representan nodos y enlaces, recibe información de las clases anteriores según sea la opción de grafo escogida por el usuario, gestiona el componente visual del grafo y sus opciones, diálogos en pantalla, y funciones de almacenamiento de grafos. Esta actividad está dentro del paquete del proyecto GRAPHER, se menciona en éste proyecto porque será modificada en su mayoría para que realice las funciones que éste proyecto necesita. Figura 10. Clase Workspace. GraphViewController: Es una clase java que controla la clase GraphView (clase que hereda de View y contiene los atributos y métodos del componente gráfico), contiene las operaciones del grafo a nivel de estructura de los nodos y enlaces como los vemos en la pantalla, define lo que se ve o no se ve del grafo, ejecuta las operaciones de bajo nivel de las librerías de JgraphT, obtiene datos de las clases FacebookActivity, PhoneContacts y MessageContacts para establecer descripciones, posiciones y conexiones de los nodos en el grafo, parametriza los componentes de GraphView y usa la clase Workspace para mostrar elementos en pantalla. 74

75 Figura 11. Clase GraphViewController. 75

76 8.7.2 Definición de interfaces. De acuerdo con la metodología se procedió a implementar los componentes funcionales de la aplicación para poder generar una primera versión, éste proceso nos permite definir las interfaces de usuario en lenguaje XML, es decir, diseñar las actividades que se verán en pantalla. Figura 12. Interfaz de Usuario 76

77 En la figura anterior vemos el cuadro por cuadro la función Contactos de la aplicación, que inicialmente nos muestra el listado de contactos, la opción Editar contactos ejecuta la actividad nativa de la agenda telefónica, la opción Ver llamadas ejecuta la actividad nativa del registro de llamadas y la opción Ver grafo genera el grafo social de contactos telefónicos. Volviendo a la pantalla principal, la opción Mensajes ejecuta otra actividad donde aparece las opciones Ver mensajes que nos lleva a la actividad nativa de conversaciones de la aplicación de mensajería corta, y la opción Crear grafo nos muestra el grafo social de los contactos telefónicos con los que interactuó por mensajería. Presionando por más de 2 segundos sobre un nodo veremos la tarjeta de contacto del nodo. Figura 13. Interfaz de Usuario 2. 77

78 La opción Facebook nos muestra el listado de amigos de Facebook del usuario si ya ha iniciado sesión, de lo contrario deberá presionar sobre la opción iniciar sesión y luego cargar la lista de amigos desde la opción Lista de amigos, solo después de esto podrá crear el grafo con el listado de amigos ya cargado, la opción Crear grafo muestra el grafo social de Facebook organizado en comunidades por colores, si el usuario presiona por dos segundos sobre un nodo, la aplicación muestra la foto de perfil del amigo de Facebook que representa ese nodo y se podrá ver la comunidad de la cual es parte Diagrama de clases. El diagrama de clases nos muestra las clases resultantes del análisis de clases y sus relaciones en notación UML, generada en el mismo proceso de implementación de la funcionalidad prioritaria. Diagrama 23. Diagrama de clases 78

79 8.7.4 Base de datos. Dentro de los objetivos principales del proyecto esta elaborar la base de datos para almacenar la información extraída del dispositivo, inicialmente en fase de planeación se pensaba que se debería tener la información del usuario lo suficientemente estructurada para acceder a ella, en la fase de exploración y documentación de los conceptos necesarios para el desarrollo de la aplicación, se descubrió que la información del usuario en el dispositivo está estructurada desde la arquitectura misma de Android. Android utiliza SQLite como librería para la gestión de base de datos, que a diferencia de los gestores de bases de datos conocidos, no se usa como un componente independiente sino que se integra con la aplicación misma, logrando así ser más simple y fiable. La información de los contactos telefónicos es accedida a través de estructuras llamadas contentproviders, estas estructuras acceden a la librería SQLite y contienen la información que se desea conocer por otras aplicaciones, en nuestro caso, información de los contactos telefónicos en cuanto se refiere a lista de contactos, llamadas realizadas y recibidas, mensajes enviados y recibidos, contactos frecuentes, etc. La información obtenida de las redes sociales también puede ser accedida de manera estructurada a través de las API de la red social consultada, los sistemas gestores de bases de datos de las redes sociales online son sistemas no convencionales diseñados especialmente para manejar inmensas cantidades de información. La aplicación desarrollada en éste proyecto está destinada a consultar y consumir información, mas no a crearla o estructurarla, es por eso que se hace innecesario elaborar un modelo de base de datos, por tanto se usaron las estructuras ya diseñadas para ello, se describen a continuación: SQlite: SQlite es un proyecto público de 500 Kb creado para funcionar como un sistema gestor de bases de datos relacionales, rápido, ágil y liviano. Las consultas no se comunican con un motor de base de datos sino que SQlite se integra a la aplicación como una librería más, es multiplataforma y no necesita ser instalado. El uso de una máquina virtual interna facilita el desarrollo de las aplicaciones, en el caso de Android, se puede acceder a los datos a través de estructuras como los 79

80 ContentProviders, eximiendo al desarrollador incluso de utilizar lenguaje de consultas. 23 Contentproviders: Un ContentProvider es una estructura proporcionada por la librería Android para compartir información entre aplicaciones, los ContentProvider se usan cuando determinada información de la base de datos es solicitada frecuentemente y por varias aplicaciones, en nuestro caso, los contactos, las llamadas y los mensajes, los ContentProvider actúan como intermediarios y facilitadores en la consulta de información conteniendo los datos por la cual fueron creados. Facebook Request: Los Request son estructuras diseñadas para consultar información de Facebook a través de GRAPH API y de manera asíncrona. Se puede solicitar información individual o en bloques llamados Batch. La respuesta es una estructura Response que puede ser gestionada a nivel de aplicación y extraer de ella la información que se necesita específicamente. Un Request necesita una Sesión iniciada, unos parámetros de consulta e implementar la forma en que la información retorna Estructura del proyecto. La estructura de un proyecto de Android es un modelo empleado para todo proyecto, las clases implementados son incluidas en la carpeta src del proyecto, las demás son generadas por el entorno de desarrollo, algunas de las cuales deben ser modificadas, a continuación se muestra una visión general del proyecto. 23 CABERO, Gerardo Antonio, MALDONADO, Daniel. SQlite [en línea]: Rápido, Ágil, Liviano y Robusto. Revista Linux [Consultado 25 de Junio de 2014]. Disponible en internet: 80

81 Figura 14. Estructura del proyecto. Algunos de los paquetes de las librerías utilizadas de Grapher y JGraphT, fueron importados para el correcto funcionamiento de la aplicación como se muestra a continuación: Figura 15. Estructura del Proyecto 2. El AndroidManifiest.xml contiene todas las especificaciones de la aplicación, lo referente en cuanto nombre de la aplicación, actividades utilizadas, intents y permisos solicitados. 81

Actualización de versión a Bizagi 10.x

Actualización de versión a Bizagi 10.x Actualización de versión a Bizagi 10.x Actualización de versión a Bizagi 10.x 1 Tabla de contenidos Introducción... 2 Actualizar un proyecto desde v9.1.x a 10.x... 2 Preparación... 3 Habilitación de formas

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales.

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales. 1 Arquitectura de una Aplicación Android Para empezar con el desarrollo de aplicaciones en Android es importante conocer cómo está estructurado este sistema operativo. A esto le llamamos arquitectura y

Más detalles

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Caso práctico de Cuadro de Mando con Tablas Dinámicas 1 Caso práctico de Cuadro de Mando con Tablas Dinámicas Luis Muñiz Socio Director de SisConGes & Estrategia Introducción Hay una frase célebre que nos permite decir que: Lo que no se mide no se puede controlar

Más detalles

Manual de usuario Página 1 ÍNDICE

Manual de usuario Página 1 ÍNDICE Manual de usuario Página 1 ÍNDICE 1. Qué es lacentral.coop? 2. Cómo funciona lacentral.coop? 3. Cómo funciona el catálogo de servicios, productos, y cooperativas? Buscador Ficha de cooperativa Perfil personal

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

PEEPER PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS. Mayo 2014. Versión 2.1 OSCAR IVAN LÓPEZ PULIDO

PEEPER PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS. Mayo 2014. Versión 2.1 OSCAR IVAN LÓPEZ PULIDO PEEPER Implementación del cambio de técnica usada para la actualización de datos en los reportes de esfuerzo, usados como métrica de productividad, progreso y costo de los proyectos, de la compañía de

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI Versión: 1.0 Fecha de la versión: Febrero del 2012 Creado por: PwC Costa Rica Aprobado

Más detalles

SECRETARÍA VIRTUAL Perfil Ciudadano

SECRETARÍA VIRTUAL Perfil Ciudadano SECRETARÍA VIRTUAL Perfil Ciudadano Marzo 2012 ÍNDICE 1. INTRODUCCIÓN...1 3. COMPONENTES NECESARIOS...3 4. TELETRAMITAR UNA SOLICITUD...4 4.1 Enviar una solicitud...4 4.1.1. Grabación de la solicitud...5

Más detalles

POLÍTICA DE COOKIES. A continuación explicaremos qué son las cookies y los tipos de cookies que utiliza la Fundación Fuertes en su sitio Web:

POLÍTICA DE COOKIES. A continuación explicaremos qué son las cookies y los tipos de cookies que utiliza la Fundación Fuertes en su sitio Web: POLÍTICA DE COOKIES En cumplimiento de lo dispuesto en el artículo 22.2 de la Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Información y de Comercio Electrónico (LSSI- CE), le informamos

Más detalles

MEMORANDO CIRCULAR No. 037. CARLOS IVÁN VILLEGAS Presidente POLÍTICA DE TRATAMIENTO DE DATOS PERSONALES

MEMORANDO CIRCULAR No. 037. CARLOS IVÁN VILLEGAS Presidente POLÍTICA DE TRATAMIENTO DE DATOS PERSONALES Bogotá D.C., Abril 25 de 2014 MEMORANDO CIRCULAR No. 037 PARA DE ASUNTO FUNCIONARIOS CISA CARLOS IVÁN VILLEGAS Presidente POLÍTICA DE TRATAMIENTO DE DATOS PERSONALES 1. Objetivo Para garantizar la adecuada

Más detalles

El proceso de edición digital en Artelope y CTCE

El proceso de edición digital en Artelope y CTCE El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos

Más detalles

Plataforma de Formación Online con Moodle!

Plataforma de Formación Online con Moodle! Plataforma de Formación Online con Moodle! Moodle es un alternativa a las soluciones comerciales como Blackboard y WebCT, y se distribuye gratuitamente bajo licencia Open Source. El entorno de aprendizaje

Más detalles

Base de datos en la Enseñanza. Open Office

Base de datos en la Enseñanza. Open Office 1 Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 1: Introducción Instituto de Tecnologías Educativas 2011 Introducción Pero qué es una base de datos? Simplificando mucho, podemos

Más detalles

La publicación. Pere Barnola Augé P08/93133/01510

La publicación. Pere Barnola Augé P08/93133/01510 La publicación Pere Barnola Augé P08/93133/01510 FUOC P08/93133/01510 La publicación Índice Introducción... 5 1. El dominio... 7 2. Alojamiento web... 9 3. FTP... 11 3.1. Cliente FTP... 11 3.1.1. Cómo

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

Más detalles

Métricas, Estimación y Planificación en Proyectos de Software

Métricas, Estimación y Planificación en Proyectos de Software Métricas, Estimación y Planificación en Proyectos de Software Cuando se planifica un proyecto se tiene que obtener estimaciones del costo y esfuerzo humano requerido por medio de las mediciones de software

Más detalles

PROGRAMA DE GESTIÓN DOCUMENTAL PGD UNIDAD PARA LA ATENCIÓN Y REPARACIÓN INTEGRAL A LAS VICTIMAS APROBACIÓN DEL PROGRAMA DE GESTIÓN DOCUMENTAL- PGD

PROGRAMA DE GESTIÓN DOCUMENTAL PGD UNIDAD PARA LA ATENCIÓN Y REPARACIÓN INTEGRAL A LAS VICTIMAS APROBACIÓN DEL PROGRAMA DE GESTIÓN DOCUMENTAL- PGD PROGRAMA DE GESTIÓN PGD UNIDAD PARA LA ATENCIÓN Y REPARACIÓN INTEGRAL A LAS VICTIMAS APROBACIÓN DEL PROGRAMA DE GESTIÓN - PGD GRUPO GESTIÓN ADMINISTRATIVA Y Bogotá, Noviembre 2015 PROGRAMA DE GESTIÓN PROCESO

Más detalles

LA PROTECCIÓN DE DATOS PERSONALES Y LA LEY DE DELITOS INFORMÁTICOS.

LA PROTECCIÓN DE DATOS PERSONALES Y LA LEY DE DELITOS INFORMÁTICOS. LA PROTECCIÓN DE DATOS PERSONALES Y LA LEY DE DELITOS INFORMÁTICOS. Sol Beatriz Calle D Aleman Candidata a PhD Magister en Informática y Derecho Arean Hernando Velasco Melo Magister en Informática y Derecho

Más detalles

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Antecedentes y Fundamentación Un Sistema de Información es un conjunto de componentes que interactúan entre sí, orientado

Más detalles

Proyectos de Innovación Docente

Proyectos de Innovación Docente Proyectos de Innovación Docente Manual de Usuario Vicerrectorado de Docencia y Profesorado Contenido INTRODUCCIÓN... 3 DATOS PERSONALES... 6 Modificar email... 6 Modificar contraseña... 7 GESTIÓN PROYECTOS...

Más detalles

Gestión de Proyectos en Bibliotecas Universitarias bajo el Enfoque de Marco Lógico. Alejandra M. Nardi anardi@eco.unc.edu.ar

Gestión de Proyectos en Bibliotecas Universitarias bajo el Enfoque de Marco Lógico. Alejandra M. Nardi anardi@eco.unc.edu.ar Gestión de Proyectos en Bibliotecas Universitarias bajo el Enfoque de Marco Lógico Alejandra M. Nardi anardi@eco.unc.edu.ar Qué es el Marco Lógico? Es una herramienta para facilitar el proceso de conceptualización,

Más detalles

Licenciatura en Computación

Licenciatura en Computación Res. CFI 21/06/2012 Res. CDC 25/09/2012 Pub. DO 31/10/2012 Plan de Estudios Licenciatura en Computación Facultad de Ingeniería 1 Antecedentes y fundamentos 1.1 Antecedentes En la Facultad de Ingeniería,

Más detalles

ORIENTACIONES SIMCE TIC

ORIENTACIONES SIMCE TIC ORIENTACIONES SIMCE TIC Sistema Nacional de Medición de Competencias TIC en Estudiantes ORIENTACIONES SIMCE TIC Sistema Nacional de Medición de Competencias TIC en Estudiantes INDICE Introducción 7 Prueba

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

Capítulo 6: Conclusiones

Capítulo 6: Conclusiones Capítulo 6: Conclusiones 6.1 Conclusiones generales Sobre el presente trabajo se obtuvieron varias conclusiones sobre la administración del ancho de banda en una red inalámbrica, basadas en la investigación

Más detalles

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

CAPÍTULO I. Sistemas de Control Distribuido (SCD). 1.1 Sistemas de Control. Un sistema es un ente cuya función es la de recibir acciones externas llamadas variables de entrada que a su vez provocan una o varias reacciones como respuesta llamadas variables

Más detalles

Servicio de telefonía ip de la Universidad Carlos III de Madrid

Servicio de telefonía ip de la Universidad Carlos III de Madrid Servicio de telefonía ip de la Universidad Carlos III de Madrid Mediante este documento se hace una presentación del servicio de telefonía ip de la Universidad Carlos III de Madrid, así como de otros sistemas

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Documento de Arquitectura de Software. KunaySoft. Autores: Juan Camilo González Vargas. Javier Leonardo Parra Laguna

Documento de Arquitectura de Software. KunaySoft. Autores: Juan Camilo González Vargas. Javier Leonardo Parra Laguna Documento de Arquitectura de Software KunaySoft Autores: Juan Camilo González Vargas Javier Leonardo Parra Laguna Pontificia Universidad Javeriana Bogotá, Colombia Noviembre 2014 Tabla de contenido 1.

Más detalles

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman 11/06/2011 Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman Introducción Gestión de tareas Unificar la vía por la que se requieren las tareas Solución única y global Seguimiento de las tareas

Más detalles

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...

Más detalles

FICHA DE REGISTRO DE TRABAJOS INSTITUCIÓN PÚBLICA

FICHA DE REGISTRO DE TRABAJOS INSTITUCIÓN PÚBLICA FICHA DE REGISTRO DE TRABAJOS Nombre del trabajo : SISTEMA INTEGRAL DE ADMINISTRACIÓN (SIA) Elija el tipo de participante: Institución pública Categoría en la que se inscribe el trabajo: Elija la temática

Más detalles

Instituto Tecnológico de Costa Rica

Instituto Tecnológico de Costa Rica Instituto Tecnológico de Costa Rica Escuela de Ingeniería en Computación Proyecto Programado: Revisión de Utilización Médica: Aplicación Web para el control de pacientes en hospitales de Puerto Rico Práctica

Más detalles

Política de Privacidad y Protección de Datos Mercedes-Benz Impulsando Pymes

Política de Privacidad y Protección de Datos Mercedes-Benz Impulsando Pymes Política de Privacidad y Protección de Datos Mercedes-Benz Impulsando Pymes Protección de datos Daimler le agradece su visita a nuestra página web, así como su interés por nuestra empresa y nuestros productos.

Más detalles

CAPÍTULO III 3. MÉTODOS DE INVESTIGACIÓN. El ámbito de los negocios en la actualidad es un área donde que cada vez más

CAPÍTULO III 3. MÉTODOS DE INVESTIGACIÓN. El ámbito de los negocios en la actualidad es un área donde que cada vez más CAPÍTULO III 3. MÉTODOS DE INVESTIGACIÓN El ámbito de los negocios en la actualidad es un área donde que cada vez más se requieren estudios y análisis con criterios de carácter científico a fin de poder

Más detalles

Para llegar a conseguir este objetivo hay una serie de líneas a seguir:

Para llegar a conseguir este objetivo hay una serie de líneas a seguir: INTRODUCCIÓN La Gestión de la Calidad Total se puede definir como la gestión integral de la empresa centrada en la calidad. Por lo tanto, el adjetivo total debería aplicarse a la gestión antes que a la

Más detalles

GESTIÓN DE LA DOCUMENTACIÓN

GESTIÓN DE LA DOCUMENTACIÓN Página: 1 de 8 Elaborado por: Revidado por: Aprobado por: Comité de calidad Responsable de calidad Director Misión: Controlar los documentos y registros del Sistema de Gestión de Calidad para garantizar

Más detalles

UML, ejemplo sencillo sobre Modelado de un Proyecto

UML, ejemplo sencillo sobre Modelado de un Proyecto UML, ejemplo sencillo sobre Modelado de un Proyecto Normal &DOLILFDU 0L3DQRUDPD 626 (VFULEHSDUD1RVRWURV Por Armando Canchala Contenido Introducción Objetivo Requerimientos Casos de Uso Subcasos de Uso

Más detalles

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN Francisco Belmonte Díaz Diseño e implementación de Sistemas Informáticos. Coordinación de Tareas de Programación Servicio de Gestión Informática. Consejería

Más detalles

Alumnos de Nuevo Ingreso Master en Gestión y Administración Pública

Alumnos de Nuevo Ingreso Master en Gestión y Administración Pública Alumnos de Nuevo Ingreso Master en Gestión y Administración Pública Facultad de Ciencias Sociales y de la Comunicación 1 Contenido 1.- Información previa a la matriculación: plazos y procedimientos....

Más detalles

Guías de ayuda para la configuración de la privacidad y seguridad de las redes sociales

Guías de ayuda para la configuración de la privacidad y seguridad de las redes sociales PROYECTO DE INVESTIGACIÓN CONJUNTO INTECO-UPM Guías de ayuda para la configuración de la privacidad y seguridad de las redes sociales Red social: FACEBOOK OBSERVATORIO DE LA SEGURIDAD DE LA INFORMACIÓN

Más detalles

La e-capacitación: Estrategia Competitiva

La e-capacitación: Estrategia Competitiva La e-capacitación: Estrategia Competitiva del siglo XXI Jessica Meza-Jaques Dirección de Tecnología Educativa Universidad Andrés Bello jmeza@unab.cl Carolina Pacheco M. Facultad de Economía y Negocios

Más detalles

Por qué es importante la planificación?

Por qué es importante la planificación? Por qué es importante la planificación? La planificación ayuda a los empresarios a mejorar las probabilidades de que la empresa logre sus objetivos. Así como también a identificar problemas claves, oportunidades

Más detalles

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES

Más detalles

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de diseño en ingeniería El diseño de productos tecnológicos (artefactos, procesos, sistemas e infraestructura) está en el centro de la naturaleza

Más detalles

Plan de Estudios. Maestría en Seguridad Informática

Plan de Estudios. Maestría en Seguridad Informática Plan de Estudios Maestría en Seguridad Informática Antecedentes y Fundamentación El surgimiento de la sociedad de la información, y con ello el incremento en el uso de las Tecnologías de la Información

Más detalles

Implantación de los servicios web 2.0 para la pagina del Departamento de Eléctrica y Electrónica de la Escuela Politécnica del Ejercito

Implantación de los servicios web 2.0 para la pagina del Departamento de Eléctrica y Electrónica de la Escuela Politécnica del Ejercito Implantación de los servicios web 2.0 para la pagina del Departamento de Eléctrica y Electrónica de la Escuela Politécnica del Ejercito ESCUELA POLITÉCNICA DEL EJÉRCITO DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

Más detalles

Manual de Procedimientos

Manual de Procedimientos 1 de 13 Elaborado por: Oficina de Planeación y Desarrollo Institucional -Área de Calidad y Mejoramiento- Revisado por: Aprobado por: Coordinador Área de Jefe de la Oficina de Informática y Telecomunicaciones

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Módulo 2. Inicio con Java

Módulo 2. Inicio con Java Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar

Más detalles

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Proyecto de Fin de Carrera Universidad Politécnica de Valencia Escuela Técnica Superior de Informática Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Realizado por: Dirigido

Más detalles

SEGUIMIENTO EDUCATIVO. Comunicaciones

SEGUIMIENTO EDUCATIVO. Comunicaciones SEGUIMIENTO EDUCATIVO Comunicaciones Diciembre 2013 Índice 1.INTRODUCCIÓN...1 2.ACCESO...1 3.MENSAJERÍA...2 3.1 Grupos a los que pertenezco...3 3.2 Enviar mensaje...4 3.3 Mis mensajes...7 3.4 Papelera

Más detalles

3. Participantes en el diseño y seguimiento curricular del programa

3. Participantes en el diseño y seguimiento curricular del programa 1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: SATCA 1 : Carrera: Sistemas Operativos Móviles AMB-1502 1-4-5 Ingeniería Informática. 2. Presentación Caracterización

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Técnica de modelado de objetos (I) El modelado orientado a objetos es una técnica de especificación semiformal para

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN Y FORMACIÓN PROFESIONAL DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES GLOSARIO DE TÉRMINOS

Más detalles

POLÍTICA PARA EL MANEJO DE DATOS PERSONALES 3M COLOMBIA S.A.

POLÍTICA PARA EL MANEJO DE DATOS PERSONALES 3M COLOMBIA S.A. POLÍTICA PARA EL MANEJO DE DATOS PERSONALES 3M COLOMBIA S.A. 3M Colombia S.A., en adelante 3M, sociedad con domicilio en la Av. El Dorado No. 75-93 de Bogotá D.C., en cumplimiento de lo previsto en la

Más detalles

Programa de Criminología UOC

Programa de Criminología UOC Programa de Criminología UOC Trabajo Final de Grado Presentación Descripción La asignatura en el conjunto del plan de estudios Campos profesionales en que se proyecta Conocimientos previos Objetivos y

Más detalles

Capítulo 1. Introducción

Capítulo 1. Introducción Capítulo 1 Introducción 1.1 Antecedentes La producción musical, en su mayoría, se ha valido de distintos tipos de software computacional para realizar la edición de composiciones musicales. De toda la

Más detalles

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes VAST: Manual de usuario Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes Índice general Índice general 2 1. Introducción 4 2. Representación intermedia del AST 5 2.1. Funcionamiento del VAST

Más detalles

MODULO ADMINISTRATIVO

MODULO ADMINISTRATIVO MODULO ADMINISTRATIVO 2 Tipo: Estado: Disponibilidad: Copyright: Informe Ejecutivo Versión Final Publico 2013 Makrosoft Resumen Descripción del Sistema DocXFlow 3 Tabla de Contenido DocXFlow Sistema de

Más detalles

Capítulo 1 INTRODUCCIÓN. Introducción

Capítulo 1 INTRODUCCIÓN. Introducción Capítulo 1 INTRODUCCIÓN La palabra robot es de origen Checo y significa trabajo. Fue aplicada por primera vez a las máquinas en los años 1920. Sin embargo, existían máquinas autónomas mucho antes de que

Más detalles

1-9 August 2003, Berlin

1-9 August 2003, Berlin World Library and Information Congress: 69th IFLA General Conference and Council 1-9 August 2003, Berlin Code Number: 014-S Meeting: 91. Education and Training Simultaneous Interpretation: Yes Informe

Más detalles

GERENCIA DE INTEGRACIÓN

GERENCIA DE INTEGRACIÓN GERENCIA DE INTEGRACIÓN CONTENIDO Desarrollo del plan Ejecución del plan Control de cambios INTRODUCCIÓN La gerencia de integración del proyecto incluye los procesos requeridos para asegurar que los diversos

Más detalles

Guía breve para la. administración de la capacitación en las. entidades públicas. Versión abreviada del Manual para la. entidades públicas

Guía breve para la. administración de la capacitación en las. entidades públicas. Versión abreviada del Manual para la. entidades públicas Guía breve para la administración de la en las entidades públicas Versión abreviada del Manual para la administración de la en las entidades públicas Noviembre 2012 sentando bases para una gestión pública

Más detalles

REPUBLICA DE COLOMBIA PROGRAMA DE LAS NACIONES UNIDAS PARA EL DESARROLLO PNUD

REPUBLICA DE COLOMBIA PROGRAMA DE LAS NACIONES UNIDAS PARA EL DESARROLLO PNUD REPUBLICA DE COLOMBIA PROGRAMA DE LAS NACIONES UNIDAS PARA EL DESARROLLO PNUD DOCUMENTO DE S SOLICITUD DE ACLARACIONES EFECTUADAS POR ESCRITO POR POSIBLES PROPONENTES. Proceso 2014-5293 Objeto Realizar

Más detalles

E-learning: E-learning:

E-learning: E-learning: E-learning: E-learning: capacitar capacitar a a su su equipo equipo con con menos menos tiempo tiempo y y 1 E-learning: capacitar a su equipo con menos tiempo y Si bien, no todas las empresas cuentan con

Más detalles

Recomendaciones jurídicas para que una empresa empiece un negocio en la web

Recomendaciones jurídicas para que una empresa empiece un negocio en la web Recomendaciones jurídicas para que una empresa empiece un negocio en la web Por: Germán Realpe Delgado Cuando un empresario quiere iniciar un negocio en línea en muchas ocasiones, no sabe a que normatividad

Más detalles

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP 1. Introducción La información puede adoptar o estar representada en diversas formas: impresa o escrita (papeles de trabajo,

Más detalles

Convención sobre los Derechos del Niño (CDN)

Convención sobre los Derechos del Niño (CDN) Primer Módulo para adultos: La Convención sobre los Derechos del Niño Temas desarrollados en este módulo: La Convención: significado, cronología, marco, Naciones Unidas, Asamblea General Enlaces de interés

Más detalles

Proyecto 10. Universidades Comprometidas con Sociedades Sustentables. Indicadores de Sustentabilidad Ambiental

Proyecto 10. Universidades Comprometidas con Sociedades Sustentables. Indicadores de Sustentabilidad Ambiental ASOCIACIÓN DE UNIVERSIDADES CONFIADAS A LA COMPAÑÍA DE JESÚS EN AMÉRICA LATINA RED DE HOMÓLOGOS DE AMBIENTE Y SUSTENTABILIDAD Proyecto 10. Universidades Comprometidas con Sociedades Sustentables Indicadores

Más detalles

ISO 27001- Anexo A OBJETIVOS DE CONTROL Y CONTROLES DE REFERENCIA DANIELA RAMIREZ PEÑARANDA 1150453 WENDY CARRASCAL VILLAMIZAR 1150458

ISO 27001- Anexo A OBJETIVOS DE CONTROL Y CONTROLES DE REFERENCIA DANIELA RAMIREZ PEÑARANDA 1150453 WENDY CARRASCAL VILLAMIZAR 1150458 ISO 27001- Anexo A OBJETIVOS DE CONTROL Y CONTROLES DE REFERENCIA DANIELA RAMIREZ PEÑARANDA 1150453 WENDY CARRASCAL VILLAMIZAR 1150458 UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERIA DE SISTEMAS SEGURIDAD

Más detalles

Sistemas de Calidad Empresarial

Sistemas de Calidad Empresarial Portal Empresarial Aljaraque Empresarial Sistemas de Calidad Empresarial 1 ÍNDICE 1. INTRODUCCIÓN. 2. CONCEPTO DE CALIDAD Y SU SISTEMA. 3. MÉTODO PARA IMPLANTAR UN SISTEMA DE GESTIÓN DE LA CALIDAD. 4.

Más detalles

Our Mobile Planet: España

Our Mobile Planet: España Our Mobile Planet: España Conoce mejor al consumidor móvil Mayo de 2013 1 Resumen Los smartphones se han convertido en un elemento indispensable de nuestra vida cotidiana. La penetración de smartphones

Más detalles

Institución Educativa Inem Felipe Pérez de Pereira 2012 Estrategia taller. AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10

Institución Educativa Inem Felipe Pérez de Pereira 2012 Estrategia taller. AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10 Grado 10º Tiempo (semanas) GUÍA DE FUNDAMENTACIÓN Institución Educativa AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10 Fecha Real 1 2 3 4 5 6 7 8 9 10 Área/proyecto: es y Mantenimiento

Más detalles

Web Crawler en eva.fing.edu.uy

Web Crawler en eva.fing.edu.uy Recuperación de Información y Recomendaciones en la Web(2014) Grupo 4 Andrea Estefan CI 4303805-6 andyestefan@gmail.com Gerardo Fanjul CI 4542811-6 gerardo.fanjul@gmail.com Instituto de Computación - Facultad

Más detalles

Itinerario Formativo en Innovación Docente

Itinerario Formativo en Innovación Docente Módulo I: Los Mapas Conceptuales Los Mapas Conceptuales Itinerario Formativo en Innovación Docente Los mapas conceptuales son una herramienta muy poderosa para organizar, analizar y sintetizar información

Más detalles

EDITOR E INTÉRPRETE DE ALGORITMOS REPRESENTADOS EN DIAGRAMAS DE FLUJO 1 RESUMEN

EDITOR E INTÉRPRETE DE ALGORITMOS REPRESENTADOS EN DIAGRAMAS DE FLUJO 1 RESUMEN Informática Educativa Vol 11, No, 1, 1998 UNIANDES - LIDIE pp. 101-106 EDITOR E INTÉRPRETE DE ALGORITMOS REPRESENTADOS EN DIAGRAMAS DE FLUJO 1 Fabián CÁRDENAS VARELA Nelson CASTILLO IZQUIERDO Eduardo DAZA

Más detalles

Análisis de la implantación de Facturación Electrónica en una empresa ASPECTOS LEGALES Uno de los aspectos principales para la implantación de la factura electrónica en la empresa es el cumplimiento de

Más detalles

Características y ventajas de WinZip

Características y ventajas de WinZip Características y ventajas de WinZip Métodos de compresión Zip disponibles Existen varios métodos de compresión de archivos disponibles. Zip es el más conocido y es un formato abierto que ha evolucionado

Más detalles

ANEXO VI REFERIDO EN EL ARTÍCULO 2.3 EN RELACIÓN CON LA ASISTENCIA ADMINISTRATIVA MUTUA EN ASUNTOS ADUANEROS

ANEXO VI REFERIDO EN EL ARTÍCULO 2.3 EN RELACIÓN CON LA ASISTENCIA ADMINISTRATIVA MUTUA EN ASUNTOS ADUANEROS ANEXO VI REFERIDO EN EL ARTÍCULO 2.3 EN RELACIÓN CON LA ASISTENCIA ADMINISTRATIVA MUTUA EN ASUNTOS ADUANEROS ANEXO VI REFERIDO EN EL ARTÍCULO 2.3 EN RELACIÓN CON LA ASISTENCIA ADMINISTRATIVA MUTUA EN ASUNTOS

Más detalles

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web. Sesión 01: Introducción a los lenguajes web COMPUTACION E INFORMATICA WEB DEVELOPPER III Competencias a Conseguir: - Introducción general a la programación web. - Conocer y diferenciar el concepto de páginas

Más detalles

En cumplimiento con lo establecido en la "Ley Federal de Protección de. Datos Personales en Posesión de los Particulares" vigente en México, y

En cumplimiento con lo establecido en la Ley Federal de Protección de. Datos Personales en Posesión de los Particulares vigente en México, y Aviso de privacidad En cumplimiento con lo establecido en la "Ley Federal de Protección de Datos Personales en Posesión de los Particulares" vigente en México, y con la finalidad de asegurar la protección

Más detalles

CAPÍTULO 3 3 DISEÑO DE UN MECANISMO DE DETECCIÓN DE TRÁFICO MALICIOSO PARA REDUNAM

CAPÍTULO 3 3 DISEÑO DE UN MECANISMO DE DETECCIÓN DE TRÁFICO MALICIOSO PARA REDUNAM CAPÍTULO 3 3 DISEÑO DE UN MECANISMO DE DETECCIÓN DE TRÁFICO MALICIOSO PARA REDUNAM 59 En este tercer capítulo se presenta el diseño de un mecanismo de detección de tráfico malicioso para RedUNAM. Abarca

Más detalles

TÍTULO III: ADAPTACIONES, RECONOCIMIENTOS Y TRANSFERENCIA DE CRÉDITOS EN ESTUDIOS DE GRADO

TÍTULO III: ADAPTACIONES, RECONOCIMIENTOS Y TRANSFERENCIA DE CRÉDITOS EN ESTUDIOS DE GRADO TÍTULO III: ADAPTACIONES, RECONOCIMIENTOS Y TRANSFERENCIA DE CRÉDITOS EN ESTUDIOS DE GRADO 1. DEFINICIONES Titulaciones de origen y de destino Se denominará titulación de origen aquélla que se ha cursado

Más detalles

INGENIERÍA EN SISTEMAS COMPUTACIONALES (ISIC-2010-224)

INGENIERÍA EN SISTEMAS COMPUTACIONALES (ISIC-2010-224) INGENIERÍA EN SISTEMAS COMPUTACIONALES (ISIC-2010-224) ÁREAS DE CONOCIMIENTO DESCRITAS Lenguajes de Programación. Bases de Datos. Redes de Computadoras. Arquitectura de Computadoras. Programación Web.

Más detalles

Wiip Surveillance. Sistema de gestión de rondas de vigilancia. Wiip Systems C.B. S.L. 2013-2014

Wiip Surveillance. Sistema de gestión de rondas de vigilancia. Wiip Systems C.B. S.L. 2013-2014 Wiip Surveillance Sistema de gestión de rondas de vigilancia Wiip Systems C.B. S.L. 2013-2014 Wiip! Surveillance es la solución de Wiip! Systems para la gestión integral de rondas de vigilancia. Wiip!

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

El contenido ha sido siempre un factor importante a la hora de. El valor de los contenidos para móviles

El contenido ha sido siempre un factor importante a la hora de. El valor de los contenidos para móviles El valor de los contenidos para móviles Jerry Roest Lograr que los contenidos para móviles sean auténticamente interactivos es clave para maximizar los ingresos. El contenido ha sido siempre un factor

Más detalles

Guía breve para la. Versión abreviada del Manual para la. evaluación de desempeño y potencial

Guía breve para la. Versión abreviada del Manual para la. evaluación de desempeño y potencial Guía breve para la evaluación de desempeño y potencial Versión abreviada del Manual para la evaluación de desempeño y potencial Febrero 2013 INSTITUCIONES PÚBLICAS SUSTENTADAS EN EL BUEN DESEMPEÑO DE SUS

Más detalles

Web colegial. Especificaciones Funcionales. Versión 1.0 Fecha de Elaboración Última Modificación Elaboración a Cargo Revisón a Cargo

Web colegial. Especificaciones Funcionales. Versión 1.0 Fecha de Elaboración Última Modificación Elaboración a Cargo Revisón a Cargo Web colegial Especificaciones Funcionales Versión 1.0 Fecha de Elaboración Última Modificación Elaboración a Cargo Revisón a Cargo Índice 1.- Introducción 2.- Web 2.0 3.- Contenidos 3.1 Gestión de documentos

Más detalles

Preguntas Frecuentes. Plataforma ScienTI. Aplicativos CvLAC y GrupLAC

Preguntas Frecuentes. Plataforma ScienTI. Aplicativos CvLAC y GrupLAC Preguntas Frecuentes Plataforma ScienTI Aplicativos CvLAC y GrupLAC Departamento Administrativo de Ciencia, Tecnología e Innovación - Colciencias Dirección de Fomento a la Investigación Bogotá D.C., 10

Más detalles

CAPÍTULO 2 IMPORTANCIA DE LA ASIGNATURA OUTSOURCING EN TECNOLOGÍAS DE INFORMACIÓN

CAPÍTULO 2 IMPORTANCIA DE LA ASIGNATURA OUTSOURCING EN TECNOLOGÍAS DE INFORMACIÓN CAPÍTULO 2 IMPORTANCIA DE LA ASIGNATURA OUTSOURCING EN TECNOLOGÍAS DE INFORMACIÓN CAPÍTULO 2 IMPORTANCIA DE LA ASIGNATURA OUTSOURCING EN TECNOLOGÍAS DE INFORMACIÓN 2.1 INTRODUCCIÓN. En este capítulo se

Más detalles

Norma ISO 9001:2015. Cuáles son los cambios presentados en la actualización de la Norma?

Norma ISO 9001:2015. Cuáles son los cambios presentados en la actualización de la Norma? Norma ISO 9001:2015 Cuáles son los cambios presentados en la actualización de la Norma? Norma ISO 9001:2015 Contenido Introducción Perspectiva de la norma ISO 9001 Cambios de la norma ISO 9001 Cambios

Más detalles

Auditoría administrativa

Auditoría administrativa Auditoría administrativa 1 Lectura No. 1 Nombre: Auditoría administrativa Contextualización Cuál crees que sea la herramienta más útil para la administración? La auditoría administrativa es y será siempre

Más detalles

Transmisión de documentos digitalizados a través de ORVE/SIR. Argumentario.

Transmisión de documentos digitalizados a través de ORVE/SIR. Argumentario. Transmisión de documentos digitalizados a través de ORVE/SIR. Argumentario. ÍNDICE 1. OBJETO DE DOCUMENTO... 3 2. ÁMBITO DE LA DIGITALIZACIÓN DE DOCUMENTOS ORIGINALES EN PAPEL... 4 3. MARCO LEGAL PARA

Más detalles