El documento resume un proyecto de aplicación móvil para un juego de preguntas geolocalizadas llamado Trivial 2.0. La aplicación incluye funcionalidades de juego donde los usuarios pueden crear y responder preguntas, y también características de red social para interactuar. Se implementó una versión web usando Apache Wicket y Hibernate, y una versión móvil para Android usando geolocalización, comunicación con servicios web y realidad aumentada. El documento analiza el comportamiento de los usuarios y dimensiona el ancho de banda requ
El Trivial 2.0 es una aplicación móvil y web que permite a los usuarios participar en un juego de preguntas geolocalizadas, ganar puntos y escalar en un ranking a medida que acierten preguntas. Los usuarios podrán crear y editar sus propios trivials y preguntas. La aplicación usa Foursquare para identificar puntos y Mixare para realidad aumentada. Se implementará con metodología Scrum en dos sprints, priorizando la autenticación y juego básico en el primero.
El documento describe varios frameworks web populares. Explica qué es un framework web y proporciona una breve historia. Luego discute los frameworks Struts y Spring para el lado del servidor y jQuery y HTML5 para el lado del cliente.
The document provides a status update on the first sprint of the El Trivial 2.0 project. It summarizes the progress made on the Android app, database, and web components. For the Android app, basic user authentication and geolocation-based question answering are partially complete. The augmented reality layer is mostly working. The database now has secure password storage remaining. The web component has basic user registration, login, rankings, and editing complete but user profiles and last question details are missing. Plans for the next sprint include finishing geolocation in the app, adding OAuth login, and improving security. The database will save passwords securely and the web will add social features, administration, and image uploads. Performance metrics will also be tracked
El documento describe la aplicación Trivial 2.0, un juego basado en preguntas geolocalizadas. Los usuarios pueden participar respondiendo preguntas para ganar puntos y escalar en la clasificación. La aplicación se implementará tanto en web como en Android, siguiendo metodología Scrum en dos sprints para desarrollar las funcionalidades de autenticación, geolocalización, puntuación y comentarios entre usuarios.
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?Antonio Ognio
Este documento discute cómo elegir el lenguaje de programación y el framework para una nueva aplicación web. Explica que para aplicaciones innovadoras con una vida útil larga se deben considerar lenguajes dinámicos con comunidades activas. También recomienda lenguajes que soporten programación orientada a objetos, funcional y concurrencia. Finalmente, concluye que se debe elegir un lenguaje moderno que se actualice frecuentemente.
Este documento describe los frameworks para el desarrollo de aplicaciones web. Explica qué es un framework, su objetivo y el patrón MVC. Luego se enfoca en Grails, describiendo qué es, su filosofía, componentes e instalación. También cubre las características de un proyecto Grails como su estructura y los pasos para crear un proyecto como la creación del dominio.
El resumen del documento es:
1) El congreso web 2012 se celebrará del 1 al 3 de junio en Zaragoza y presentará aplicaciones como DrawCloud, Back.beam.io, Mail Marketing de Nerion y ShoTools.
2) Se ofrecerán talleres sobre el desarrollo de aplicaciones iOS e introducción a Objective-C así como sobre usabilidad en el diseño de aplicaciones y desarrollo web para móviles.
3) El programa incluye también sesiones sobre programación avanzada con Android y el desarrollo de sitios web con WordPress
¿Perteneces al sector consultoría? recíclate! FCEN
¿Perteneces al sector consultoría? Aprovecha la oportunidad y recíclate! No lo dejes pasar, formación gratuita!
Podrán participar en los cursos todos los trabajadores de EMPRESAS PERTENECIENTES AL SECTOR CONSULTORÍA.
Inscripción hasta el 21 de marzo
informacion@fundacionconfemetal.es
El Trivial 2.0 es una aplicación móvil y web que permite a los usuarios participar en un juego de preguntas geolocalizadas, ganar puntos y escalar en un ranking a medida que acierten preguntas. Los usuarios podrán crear y editar sus propios trivials y preguntas. La aplicación usa Foursquare para identificar puntos y Mixare para realidad aumentada. Se implementará con metodología Scrum en dos sprints, priorizando la autenticación y juego básico en el primero.
El documento describe varios frameworks web populares. Explica qué es un framework web y proporciona una breve historia. Luego discute los frameworks Struts y Spring para el lado del servidor y jQuery y HTML5 para el lado del cliente.
The document provides a status update on the first sprint of the El Trivial 2.0 project. It summarizes the progress made on the Android app, database, and web components. For the Android app, basic user authentication and geolocation-based question answering are partially complete. The augmented reality layer is mostly working. The database now has secure password storage remaining. The web component has basic user registration, login, rankings, and editing complete but user profiles and last question details are missing. Plans for the next sprint include finishing geolocation in the app, adding OAuth login, and improving security. The database will save passwords securely and the web will add social features, administration, and image uploads. Performance metrics will also be tracked
El documento describe la aplicación Trivial 2.0, un juego basado en preguntas geolocalizadas. Los usuarios pueden participar respondiendo preguntas para ganar puntos y escalar en la clasificación. La aplicación se implementará tanto en web como en Android, siguiendo metodología Scrum en dos sprints para desarrollar las funcionalidades de autenticación, geolocalización, puntuación y comentarios entre usuarios.
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?Antonio Ognio
Este documento discute cómo elegir el lenguaje de programación y el framework para una nueva aplicación web. Explica que para aplicaciones innovadoras con una vida útil larga se deben considerar lenguajes dinámicos con comunidades activas. También recomienda lenguajes que soporten programación orientada a objetos, funcional y concurrencia. Finalmente, concluye que se debe elegir un lenguaje moderno que se actualice frecuentemente.
Este documento describe los frameworks para el desarrollo de aplicaciones web. Explica qué es un framework, su objetivo y el patrón MVC. Luego se enfoca en Grails, describiendo qué es, su filosofía, componentes e instalación. También cubre las características de un proyecto Grails como su estructura y los pasos para crear un proyecto como la creación del dominio.
El resumen del documento es:
1) El congreso web 2012 se celebrará del 1 al 3 de junio en Zaragoza y presentará aplicaciones como DrawCloud, Back.beam.io, Mail Marketing de Nerion y ShoTools.
2) Se ofrecerán talleres sobre el desarrollo de aplicaciones iOS e introducción a Objective-C así como sobre usabilidad en el diseño de aplicaciones y desarrollo web para móviles.
3) El programa incluye también sesiones sobre programación avanzada con Android y el desarrollo de sitios web con WordPress
¿Perteneces al sector consultoría? recíclate! FCEN
¿Perteneces al sector consultoría? Aprovecha la oportunidad y recíclate! No lo dejes pasar, formación gratuita!
Podrán participar en los cursos todos los trabajadores de EMPRESAS PERTENECIENTES AL SECTOR CONSULTORÍA.
Inscripción hasta el 21 de marzo
informacion@fundacionconfemetal.es
Este documento trata sobre aplicaciones orientadas al cliente-servidor. Explica brevemente la historia y filosofía de Java, así como programas orientados a redes y la tecnología de sockets. Luego presenta tres programas de ejemplo de complejidad creciente: un programa sencillo, uno intermedio y un juego de tres en raya.
Este documento presenta el módulo 1 de un curso sobre redes de computadoras. El módulo introduce conceptos básicos sobre redes, incluyendo diferentes topologías y estándares de cableado. Incluye objetivos, competencias, contenidos y 4 actividades para que los estudiantes analicen y apliquen los conceptos aprendidos.
Socialbro por dentro - Betabeers Córdoba (18/10/2012)betabeers
SocialBro es una suite de herramientas para gestionar comunidades en Twitter. El documento describe la arquitectura y tecnologías utilizadas por SocialBro, incluyendo su equipo de 8 personas, más de 130000 usuarios en 83 países, y el uso de metodologías ágiles como Scrum. Explica que la arquitectura de escritorio se basa en PHP y HTML5, mientras que la nube usa Node.js, MongoDB y otros servicios.
El documento compara y contrasta cuatro tecnologías emergentes: ISO 3166, Web 2.0, Web 3.0 e Internet 2. ISO 3166 codifica nombres de países y subdivisiones. Web 2.0 facilita compartir y colaborar en contenido generado por usuarios. Web 3.0 evoluciona hacia inteligencia artificial y semántica. Internet 2 es una red de alta velocidad entre universidades para investigación y educación avanzadas.
Este documento presenta una introducción a Web 2.0, incluyendo sus características principales como la participación de los usuarios, la inteligencia colectiva y la compartición y combinación de información. También describe algunas tecnologías clave de Web 2.0 como AJAX, así como frameworks para implementar aplicaciones Web 2.0 con Java EE.
Joomla v3.0 presenta mejoras en la interfaz para dispositivos móviles, plantillas responsive, interfaz administrativa más fácil de usar, soporte para Bootstrap, Less CSS e IcoMoon, e integración con PostgreSQL y Memcached. Ofrece una experiencia de usuario y administrador mejorada, con instalación simplificada en tres pasos.
Este documento presenta cinco sistemas de software para diseñar redes informáticas, describiendo sus características, ventajas, desventajas y línea de tiempo. Los sistemas discutidos incluyen SmartDraw, Gliffy, EDrawsoft, CADE y LANFLOW. El objetivo es que los estudiantes reconozcan diferentes opciones de software para uso personal o profesional en el diseño de redes.
El documento introduce el framework Django para desarrollo web. Django promueve el desarrollo rápido de aplicaciones y código limpio a través de su arquitectura MVT. El documento también explica conceptos clave como modelos, vistas, plantillas, formularios, contenido estático, autenticación de usuarios y despliegue del servidor web.
Este documento introduce el framework Django. Django es un framework web de código abierto escrito en Python que permite construir aplicaciones web más rápido y con menos código. Django promueve el desarrollo de código limpio y se adhiere al principio DRY. Usa una variación del patrón MVC llamada MTV. Django se originó como una herramienta para resolver problemas reales y fue diseñado para optimizar el tiempo de desarrollo.
Este documento describe cómo usar Liferay y XMLPortletFactory para desarrollar aplicaciones rápidamente sin programación. Se muestra cómo generar portlets para la gestión de incidencias usando solo archivos XML, incluyendo funcionalidades como workflows, búsqueda, etiquetado y más. Se demuestra la creación e instalación automática de portlets, el uso de workflows y búsqueda con una incidencia de ejemplo.
RAD Portlet Development using XMLPortletFactoryJack A. Rider
Presentación desarrollo portlet usando XMLPortletFactory en el Liferay Madrid Symposium 2012
Portlet Development presentation using Liferay and XMLPortletFactory at the Liferay's Madrid Symposium 2012
El documento describe la metodología Iconix para el desarrollo de software. Iconix es una metodología iterativa e incremental que utiliza casos de uso y modelado de objetos. El documento explica las fases de Iconix, incluyendo el análisis de requisitos, análisis y diseño preliminar, diseño e implementación. También describe diagramas como el modelo de dominio, casos de uso y diagramas de secuencia utilizados en el proceso Iconix.
Este documento presenta el proyecto de un minimarket llamado "Bombelbur" desarrollado por estudiantes de la Universidad Nacional de Trujillo en Perú en 2014. El proyecto incluye el desarrollo de un software en Java usando NetBeans para modelar el registro de clientes, productos, proveedores y ventas del minimarket. El documento describe el marco teórico sobre tecnologías como Java, JDBC, NetBeans, bases de datos y el modelo entidad-relación, así como las etapas de análisis, diseño e implement
Este documento describe EasyData, una gema para Ruby on Rails que genera automáticamente Linked Data. Explica cómo mapea los datos de la base de datos a RDF y los publica usando RDFa para añadir significado a las vistas HTML. También presenta casos prácticos de Linked Data y concluye describiendo el estado actual y futuros desarrollos del proyecto EasyData.
Este documento presenta un taller sobre el desarrollo de aplicaciones Android. Resume el origen y objetivos del taller, así como una breve introducción a los conceptos fundamentales de Android como actividades, servicios, intenciones y otros componentes. Finalmente, muestra un ejemplo básico de una aplicación de geolocalización "Hola Mundo" para ilustrar el proceso de desarrollo de aplicaciones en Android.
Este documento describe una aplicación móvil para iOS que se desarrolló para promover una casa modular innovadora. La aplicación permite la navegación interactiva por la casa y un juego para involucrar a los usuarios. Se construyó usando Xcode e Interface Builder para aprovechar las capacidades de iOS y proporcionar una experiencia de usuario intuitiva.
Este documento presenta el módulo "NTIC's II" de la carrera de Ingeniería Mecánica de la Universidad Técnica de Ambato. El módulo se enfoca en enseñar a los estudiantes a utilizar las nuevas tecnologías de la información y comunicación de manera efectiva. Incluye contenido sobre redes, internet, programación visual básica y el uso de herramientas web. El módulo se imparte en el segundo semestre del 2010-2011 con 4 créditos y 80 horas de clase.
Modulo Ntics II FICM (marzo-septiembre 2011)jcastellanob
Este documento presenta el módulo "NTIC's II" de la carrera de Ingeniería Mecánica de la Universidad Técnica de Ambato. El módulo tiene como objetivo desarrollar la competencia de aplicar herramientas de información y computación para resolver problemas y optimizar el tiempo. El contenido incluye redes, internet, programación visual basic y uso de herramientas web. La metodología se basa en el aprendizaje por problemas y comprende actividades teóricas y prácticas. La evaluación considera cuatro
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioDavid Gil Sánchez
Este documento describe un caso de éxito de la implementación de Drupal para el sitio web de Banca Cívica. Se resumen los principales módulos de Drupal utilizados como Views, Panels y CCK. También se describe la metodología SCRUM utilizada para gestionar el proyecto de manera iterativa, así como algunas lecciones aprendidas como la importancia de incorporar el multilingüismo y los diseños desde el principio.
El documento describe los pasos para realizar una demostración de una aplicación utilizando Arquitectura Dirigida por Modelos (MDA). Se capturan los requisitos, se extrae la pila de productos, se planifica el proyecto y el primer sprint. En el sprint 1 se crean los proyectos, se modela la solución, se implementa la lógica y las pruebas, y se desarrolla la interfaz de usuario para la gestión de libros. Al final del sprint se compila, despliega y revisa la primera versión del sistema.
Este documento trata sobre aplicaciones orientadas al cliente-servidor. Explica brevemente la historia y filosofía de Java, así como programas orientados a redes y la tecnología de sockets. Luego presenta tres programas de ejemplo de complejidad creciente: un programa sencillo, uno intermedio y un juego de tres en raya.
Este documento presenta el módulo 1 de un curso sobre redes de computadoras. El módulo introduce conceptos básicos sobre redes, incluyendo diferentes topologías y estándares de cableado. Incluye objetivos, competencias, contenidos y 4 actividades para que los estudiantes analicen y apliquen los conceptos aprendidos.
Socialbro por dentro - Betabeers Córdoba (18/10/2012)betabeers
SocialBro es una suite de herramientas para gestionar comunidades en Twitter. El documento describe la arquitectura y tecnologías utilizadas por SocialBro, incluyendo su equipo de 8 personas, más de 130000 usuarios en 83 países, y el uso de metodologías ágiles como Scrum. Explica que la arquitectura de escritorio se basa en PHP y HTML5, mientras que la nube usa Node.js, MongoDB y otros servicios.
El documento compara y contrasta cuatro tecnologías emergentes: ISO 3166, Web 2.0, Web 3.0 e Internet 2. ISO 3166 codifica nombres de países y subdivisiones. Web 2.0 facilita compartir y colaborar en contenido generado por usuarios. Web 3.0 evoluciona hacia inteligencia artificial y semántica. Internet 2 es una red de alta velocidad entre universidades para investigación y educación avanzadas.
Este documento presenta una introducción a Web 2.0, incluyendo sus características principales como la participación de los usuarios, la inteligencia colectiva y la compartición y combinación de información. También describe algunas tecnologías clave de Web 2.0 como AJAX, así como frameworks para implementar aplicaciones Web 2.0 con Java EE.
Joomla v3.0 presenta mejoras en la interfaz para dispositivos móviles, plantillas responsive, interfaz administrativa más fácil de usar, soporte para Bootstrap, Less CSS e IcoMoon, e integración con PostgreSQL y Memcached. Ofrece una experiencia de usuario y administrador mejorada, con instalación simplificada en tres pasos.
Este documento presenta cinco sistemas de software para diseñar redes informáticas, describiendo sus características, ventajas, desventajas y línea de tiempo. Los sistemas discutidos incluyen SmartDraw, Gliffy, EDrawsoft, CADE y LANFLOW. El objetivo es que los estudiantes reconozcan diferentes opciones de software para uso personal o profesional en el diseño de redes.
El documento introduce el framework Django para desarrollo web. Django promueve el desarrollo rápido de aplicaciones y código limpio a través de su arquitectura MVT. El documento también explica conceptos clave como modelos, vistas, plantillas, formularios, contenido estático, autenticación de usuarios y despliegue del servidor web.
Este documento introduce el framework Django. Django es un framework web de código abierto escrito en Python que permite construir aplicaciones web más rápido y con menos código. Django promueve el desarrollo de código limpio y se adhiere al principio DRY. Usa una variación del patrón MVC llamada MTV. Django se originó como una herramienta para resolver problemas reales y fue diseñado para optimizar el tiempo de desarrollo.
Este documento describe cómo usar Liferay y XMLPortletFactory para desarrollar aplicaciones rápidamente sin programación. Se muestra cómo generar portlets para la gestión de incidencias usando solo archivos XML, incluyendo funcionalidades como workflows, búsqueda, etiquetado y más. Se demuestra la creación e instalación automática de portlets, el uso de workflows y búsqueda con una incidencia de ejemplo.
RAD Portlet Development using XMLPortletFactoryJack A. Rider
Presentación desarrollo portlet usando XMLPortletFactory en el Liferay Madrid Symposium 2012
Portlet Development presentation using Liferay and XMLPortletFactory at the Liferay's Madrid Symposium 2012
El documento describe la metodología Iconix para el desarrollo de software. Iconix es una metodología iterativa e incremental que utiliza casos de uso y modelado de objetos. El documento explica las fases de Iconix, incluyendo el análisis de requisitos, análisis y diseño preliminar, diseño e implementación. También describe diagramas como el modelo de dominio, casos de uso y diagramas de secuencia utilizados en el proceso Iconix.
Este documento presenta el proyecto de un minimarket llamado "Bombelbur" desarrollado por estudiantes de la Universidad Nacional de Trujillo en Perú en 2014. El proyecto incluye el desarrollo de un software en Java usando NetBeans para modelar el registro de clientes, productos, proveedores y ventas del minimarket. El documento describe el marco teórico sobre tecnologías como Java, JDBC, NetBeans, bases de datos y el modelo entidad-relación, así como las etapas de análisis, diseño e implement
Este documento describe EasyData, una gema para Ruby on Rails que genera automáticamente Linked Data. Explica cómo mapea los datos de la base de datos a RDF y los publica usando RDFa para añadir significado a las vistas HTML. También presenta casos prácticos de Linked Data y concluye describiendo el estado actual y futuros desarrollos del proyecto EasyData.
Este documento presenta un taller sobre el desarrollo de aplicaciones Android. Resume el origen y objetivos del taller, así como una breve introducción a los conceptos fundamentales de Android como actividades, servicios, intenciones y otros componentes. Finalmente, muestra un ejemplo básico de una aplicación de geolocalización "Hola Mundo" para ilustrar el proceso de desarrollo de aplicaciones en Android.
Este documento describe una aplicación móvil para iOS que se desarrolló para promover una casa modular innovadora. La aplicación permite la navegación interactiva por la casa y un juego para involucrar a los usuarios. Se construyó usando Xcode e Interface Builder para aprovechar las capacidades de iOS y proporcionar una experiencia de usuario intuitiva.
Este documento presenta el módulo "NTIC's II" de la carrera de Ingeniería Mecánica de la Universidad Técnica de Ambato. El módulo se enfoca en enseñar a los estudiantes a utilizar las nuevas tecnologías de la información y comunicación de manera efectiva. Incluye contenido sobre redes, internet, programación visual básica y el uso de herramientas web. El módulo se imparte en el segundo semestre del 2010-2011 con 4 créditos y 80 horas de clase.
Modulo Ntics II FICM (marzo-septiembre 2011)jcastellanob
Este documento presenta el módulo "NTIC's II" de la carrera de Ingeniería Mecánica de la Universidad Técnica de Ambato. El módulo tiene como objetivo desarrollar la competencia de aplicar herramientas de información y computación para resolver problemas y optimizar el tiempo. El contenido incluye redes, internet, programación visual basic y uso de herramientas web. La metodología se basa en el aprendizaje por problemas y comprende actividades teóricas y prácticas. La evaluación considera cuatro
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioDavid Gil Sánchez
Este documento describe un caso de éxito de la implementación de Drupal para el sitio web de Banca Cívica. Se resumen los principales módulos de Drupal utilizados como Views, Panels y CCK. También se describe la metodología SCRUM utilizada para gestionar el proyecto de manera iterativa, así como algunas lecciones aprendidas como la importancia de incorporar el multilingüismo y los diseños desde el principio.
El documento describe los pasos para realizar una demostración de una aplicación utilizando Arquitectura Dirigida por Modelos (MDA). Se capturan los requisitos, se extrae la pila de productos, se planifica el proyecto y el primer sprint. En el sprint 1 se crean los proyectos, se modela la solución, se implementa la lógica y las pruebas, y se desarrolla la interfaz de usuario para la gestión de libros. Al final del sprint se compila, despliega y revisa la primera versión del sistema.
3. 1. Introducción 4. Android
1. Casos de uso
1. Descripción del proyecto
2. Mapa conceptual
2. Normativa del juego 3. Características tecnológicas
3. Objetivos del proyecto 4. Resultado
5. Arquitectura
2. Implementación
1. Funcionalidades
3. Dimensionado de la aplicación
1. Introducción
2. Diagrama de despliegue
2. Cadena de Markov
3. Web
1. Casos de uso 3. Comportamiento del usuario
2. Mapa conceptual
3. Tecnologías utilizadas 4. Planning
4. Modelo de datos
5. Arquitectura 1. Metodología de trabajo
6. Resultado 2. Product Backlog, primer y segundo sprint
3. Pivotal Tracker
5. Líneas futuras
2
4. Juego para móviles con preguntas geolocalizadas.
El usuario que acierte preguntas ganará puntos y
ascenderá en el ranking.
Los usuarios pueden participar activamente: crear
nuevos trivials y preguntas.
Los usuarios pueden modificar su perfil y ver
información del resto de usuarios.
Un usuario puede seguir a otros usuarios (following), ver
y comentar sus acciones: trivials empezados, preguntas
contestadas.
4
5. Reglas del Trivial de LENA:
3 visualizaciones máximas por
pregunta (se contabilizará como
incorrecta).
Respuesta correcta = 20 puntos.
Respuesta incorrecta = 0 puntos.
Máximo tiempo por pregunta: 40
segundos.
Contestar todas las preguntas de
un trivial correctamente = 50
puntos.
5
6. Juego:
Plataforma que aloje un trivial basado en geocatching preguntas
geolocalizadas.
Democratizar el sistema: los usuarios pueden crear preguntas y trivials.
Ofrecer un servicio de noticias con las últimas actualizaciones.
Capa de Realidad Aumentada (AR) para contestar las preguntas de los
trivials.
Red social:
Facilitar el registro de los usuarios utilizando cuentas ya creadas en otras
redes sociales (Twitter).
Ofrecer servicio para que los miembros interactúen entre ellos:
▪ Cada usuario puede tener su red de contactos.
▪ Un usuario puede ver y comentar acciones de sus amigos.
6
7. Registro de usuarios:
A través de LENA.
A través de perfiles creados en:
▪ GoogleMail.
▪ Facebook.
▪ Twitter.
▪ Foursquare.
Juego:
Creación de trivials.
Inserción de preguntas en trivials ya existentes.
Realidad aumentada.
Ranking.
▪ General.
▪ Trivial.
▪ Following/Followers.
Ver las noticias.
Crear quejas sobre preguntas.
Ganar Pins. 7
8. Red Social:
Perfil.
▪ Ver perfil de usuario.
▪ Modificación de datos personales.
▪ Información sobre trivials completados.
Red de amigos.
▪ Ver seguidores (Followers).
▪ Añadir y ver seguidos (Following).
Interacción con otros miembros.
▪ Ver actividad.
▪ Comentar actividad.
Rol de administrador.
Inserción de noticias.
Borrar perfil de usuario.
Cambiar rol de usuario.
Administración de quejas de usuarios.
Modificación /Eliminación de preguntas erróneas.
Crear Pins.
8
9. Apache Wicket
- Separa vista y lógica
- Sigue el modelo GUI como SWT
- Permite reutilización de código
Apache Tomcat
MySQL:
REST - Mayor
- Ligero velocidad
- Fácil - Tamaño de
implementación fila ilimitado
- Resultados legibles: - Consume
XML, JSON… pocos
recursos
9
10. 2.3.1. Casos de Uso
Autorización:
▪ Registro/Login.
▪ Registro/Login con Twitter.
Red Social:
▪ Ver / Editar perfil.
▪ Ver following / followers.
▪ Añadir following.
▪ Ver actividades.
▪ Ver/Añadir comentarios.
▪ Integración con Twitter.
Juego:
▪ Ver información sobre trivials
jugados.
▪ Añadir trivials y preguntas
▪ Ver ranking.
▪ Admin: Añadir noticia.
10
12. 2.3.3. Tecnologías utilizadas
Twitter4j
▪ API de integración con Twitter.
Apache Wicket
▪ Framework web open-source para Java.
▪ Separa vista y lógica.
▪ Programa todo el comportamiento en Java.
▪ Sigue el modelo GUI (Graphical User Interface).
▪ Permite reutilización de código (Herencia de markups o Paneles).
▪ Complementos de AJAX (Asynchronous JavaScript and XML).
12
13. 2.3.3. Tecnologías utilizadas
Apache Wicket
▪ Permite reutilización de código (Herencia de
markups o Paneles).
▪ Complementos de AJAX (Asynchronous
JavaScript and XML).
Validación de formularios Autocompletado Paginador
13
14. 2.3.3. Tecnologías utilizadas
Hibernate
▪ Herramienta de software libre ORM (Object-Relational mapping) para Java.
▪ Facilita el mapeo de POJOs Java (Modelo) y una base de datos relacional.
▪ Se puede utilizar con:
▪ Archivos declarativos en XML.
▪ Anotaciones en el modelo. Más sencillo, rápido y fácil de visualizar para el programador.
User
Mail Pasword … totalPoints
User-User
User UserFollowed
Mail (Foreing Key) Mail (Foreing Key)
UserTrivial
Points numHits numFailures User
Mail (Foreign Key)
14
15. 2.3.4. Modelo
de datos
Datos
gestionados.
Relaciones
entre ellos.
15
16. 2.3.5. Arquitectura
Arquitectura por capas:
▪ Modelo: datos gestionados.
▪ Vista/Presentación: Interfaces
para la interacción entre usuario y
aplicación.
▪ Controladores/Negocio:
Implementación de las
funcionalidades de la vista.
▪ Integración: Gestiona el acceso a
los datos, a la base de datos
(Hibernate)…
16
22. 2.4.3. Características tecnológicas
Geolocalización
Comunicación con servidor: WebServices
Realidad aumentada
Reconocimiento gestos táctiles
Base de datos local
Integración con otras redes sociales: Twitter
22
23. 2.4.3. Características tecnológicas
Geolocalización
▪ Determinar el posicionamiento de un objeto en un sistema de
coordenadas determinado.
▪ Triangulación mediante:
▪ Dispositivo interno GPS.
▪ WIFI o 3G.
▪ Visualización mediante Google Maps API for Android.
▪ Necesario dar de alta la aplicación para obtener una clave.
23
24. 2.4.3. Características tecnológicas
Comunicación con servidor: WebServices
▪ Implementados WebServices del tipo RESTful:
▪ Utilizan métodos propios de HTTP (GET, PUT; DELETE…) para realizar
acciones remotas.
▪ La URL tiene un significado y es mucho más ligero que otras tecnologías
como SOA.
▪ +Info: http://openwisp.net:8080/LENAWeb/rest/application.wadl
▪ Librerías utilizadas:
▪ Jersey (servidor de WS), debido a su sencillez y al serializador de JSON
interno.
▪ Apache HTTPClient (cliente Android), debido a que es el más común y con
un gran soporte.
▪ GSON (cliente Android), parseador de JSON a objetos y viceversa.
24
25. 2.4.3. Características tecnológicas
Realidad aumentada
▪ Visión directa o indirecta de un entorno físico en el mundo real
combinada con elementos virtuales para la creación de una realidad
mixta a tiempo real.
Basado en marcadores Basado en posición GPS
25
26. 2.4.3. Características tecnológicas
Reconocimiento de gestos táctiles
▪ Para el cambio de contenido de algunas secciones de la aplicación es
necesario detectar algunos gestos horizontales similares al «pasar
página de un libro».
▪ Definir los gestos mediante GestureBuilder (aplicación incluida en el
Android SDK).
raw/gestures
26
27. 2.4.3. Características tecnológicas
Integración con twitter
▪ Se utiliza la biblioteca twitter4j.
▪ Vinculación de la cuenta con Twitter.
▪ Publicación de la actividad durante el juego.
▪ Autenticación basada en Oauth.
▪ Consumer key/secret para la aplicación.
▪ accessToken para registro y login.
27
28. 2.4.3. Características tecnológicas
Base de Datos local en móvil
▪ Persistencia de objetos durante ejecuciones de la aplicación.
▪ Almacenaje de las credenciales de login (objeto User, accessToken de Twitter).
▪ Preparado para futuras mejoras en la interacción cliente/servidor: base de datos
local de preguntas + descargas incrementales del WS.
▪ Basada en la biblioteca de la base de datos orientada a objetos db4o:
▪ Alternativa OO (Orientada a Objetos) a SQLite.
▪ Simplifica la programación evitando conversión objeto-RDBM (tarea manual).
28
38. Diagrama de estados:
Cadena de Markov discreta.
“Session” ON – OFF
Estado ON GetQuestions – Think – SendAnswer
Intervalos discretos Tiempo de ttx de un mensaje SendAnswer (long. invariable)
▪ 225 bytes a 64 Kbps (28,125 ms)
38
40. Cálculo del ancho de banda (Downlink):
Ancho de banda promedio un usuario:
(PGetQuestions + PSendAnswer)·BW (64 kbps)
(0,00001255+ 0,00000181)·64 kbps ≈ 1 bps
40
41. Eventos sesión
Intervalo de confianza = 95% = 1-α
Función Valor
Media (mean) 418,6711
Varianza (std) 624,7016
Máximo (max) 3389
41
42. Listar preguntas
Intervalo de confianza = 95% = 1-α
Función Valor
Media (mean) 1754,7
Varianza (std) 1970,6
Máximo (max) 7070
42
43. Realización paralela de trabajo en:
Cliente Android
Interfaz web
Metodología utilizada: SCRUM
Product Owner: Toni Oller
Team: Grupo LENA
Reuniones de 15 minutos de pie todos los lunes y al terminar una funcionalidad.
División en «sprints»
Se empieza con un «product backlog» que describe las funcionalidades del
proyecto.
El primer sprint procede del primer «sprint planning meeting» según las
estimaciones del trabajo.
Por restricciones de tiempo, ha habido sólo dos sprints (iteraciones) del
producto.
43
44. Product backlog
Autenticación de usuarios vía web y Android.
Responder trivials con preguntas geolocalizadas mediante Foursquare.
Sistema de puntuación de trivials.
Capa de Realidad Aumentada.
Integración con redes sociales.
Ranking de usuarios: web y Android.
Gestión de Following/Followers.
Comentar acciones de los usuarios (Muro).
Inserción de trivials y preguntas vía Web y Android.
Admin: Gestión de quejas de los usuarios sobre las preguntas.
Diseño y creación de la base de datos.
Persistencia de objetos en Android y descarga incremental de datos
44
45. Primer sprint (finalizado el 31/12/2011)
Diseño y creación de la base de datos.
Autenticación de usuarios vía web y móvil (Android).
Responder trivials con preguntas geolocalizadas.
Capa de Realidad Aumentada.
Sistema de puntuación de trivials.
Edición de perfil de usuario vía web.
Ranking de usuarios vía web.
Información de trivials de usuario vía web.
Inserción de trivials y preguntas vía web.
Admin: Creación de noticias vía web.
45
46. Segundo sprint (31/12/2011 – 05/02/2012)
Integración con herramientas sociales en web: Twitter.
Ranking de usuarios en móvil (Android).
Gestión de Following/Followers.en web y móvil (Android).
Ver acciones de following en web y móvil (Android).
Búsqueda de usuarios en web y móvil (Android).
Comentar acciones de los usuarios vía web y móvil (Android).
Información de trivials de usuario vía Android.
Login automático con sesión en Android
Sign in con OAuth y integración con Twitter en Android
Admin: Edición de roles vía web.
Admin: Eliminar usuarios vía web.
Añadir imágenes de perfil y de trivial vía web.
46
47. Herramienta de Agile Project Management and Collaboration.
Creación de Historias Funcionalidades del product backlog + tareas
intermedias + bugs.
Permite ver:
Tareas en espera.
Tareas ya realizadas.
Tareas en desarrollo y quien está trabajando en ellas.
Cada Historia tiene un peso (puntos):
1 punto: 1 persona – 1 día.
2 puntos: 1 persona – 2/4 días.
3 puntos: 1 persona – 1 semana o más.
Monitorización de velocidad: cada semana se hace un recuento de los
puntos terminados y muestra la velocidad media del equipo.
Permite ajustas las tareas cada semana o por sprint según la velocidad media del pasado.
47
48. LENA
Gráfica de Historias y Puntos:
Primeras semanas Especificación, creación servidor y base de datos.
Semana 12 (Navidad) Velocidad muy baja.
Últimas semanas Velocidad muy alta Últimas funcionalidades + bugs.
48
49. Posibles mejoras de LENA:
Web
▪ Administrador: Modificación/Eliminación de preguntas erróneas.
▪ Administración de quejas de usuarios.
▪ Añadir Pins.
Aplicación Android
▪ Ver noticias.
▪ Modificación de perfil de usuario.
▪ Creación y edición de trivials y preguntas.
▪ Notificaciones en el móvil avisando de:
▪ Preguntas cercanas, acciones de following, comentarios sobre las acciones del usuario, ….
▪ Base de Datos local para permitir guardar cierta información en local:
▪ Preguntas de trivials ya consultadas, aciones o comments ya vistos…
Además…
▪ Registro de usuarios a través de perfiles creados en otras redes sociales:
▪ GoogleMail, Facebook, Foursquare.
▪ Crear quejas sobre las preguntas.
49