El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
Presentación EETAC2Travel
1. Disseny de Xarxes i Aplicacions Telemàtiques
Iván Francisco, Sergi Madonar, David Arance, Raúl Freire, David Calero, Alex
Ariza, Sergio Lluch, Eduard Marin, Norbert Nebra, Santi Pérez.
2. Disseny de Xarxes i Aplicaciones Telemàtiques ÍNDICE
Introducción
Objetivos
Descripción de la aplicación
Motivación y Beneficios
Funcionalidades
Estructura de la Aplicación y Pantallas
Arquitectura
Diagrama de Capas y Diagrama de Clases
Entorno Desarrollo y Tecnologías
Metodología
Planificación
Grupos de trabajo
2
3. Disseny de Xarxes i Aplicaciones Telemàtiques Introducción
• EETAC2Travel forma parte de un proyecto para el desarrollo de una
aplicación innovadora, social y en línea con las nuevas tendencias
tecnológicas.
• Además, este proyecto nos permitirá familiarizarnos con metodologías de
desarrollo, herramientas para facilitar la colaboración y el trabajo en equipo.
• Pese a tratarse de un proyecto académico, todo ello se llevará a cabo dentro
de un entorno lo más real posible, por ello también tendremos en cuenta
aspectos como la monitorización, trazabilidad y modelado del uso de la
aplicación, para el posterior dimensionamiento de la misma.
3
4. Disseny de Xarxes i Aplicaciones Telemàtiques Objetivos
• Diseño de una aplicación siguiendo los procedimientos de modelado de sistemas de software más
utilizados: UML.
• Diagrama punto vista de la Información, Diagrama punto de vista del procesado, etc.
• Diseño, implementación y administración de bases de datos.
• Valorar en cada caso la tecnología o solución que más se adecua a nuestras necesidades.
• La utilización de tecnologías de desarrollo basadas en lenguajes orientado a objetos.
• Desarrollo para plataformas móviles y uso de Web Services.
• Uso de la arquitectura multi-capa para la implementación de sistemas (3-tier).
• Uso de API’s (Application program Interface) de proveedores externos para dotar a la aplicación de
funcionalidades/características adicionales:
• Mapas y POI’s (Google Maps, Bing)
• Integración con redes Sociales: Twitter, Facebook, .. (Oauth)
• Funcionalidades de Realidad aumentada (Layar) y lectura de QR.
• Utilización de repositorios que faciliten el desarrollo colaborativo.
• Aplicar metodologías, planificaciones y equipos de trabajo propios de entornos de desarrollo.
• Monitorización del tráfico y Modelado de usuarios para el Dimensionado de la aplicación
4
5. Disseny de Xarxes i Aplicaciones Telemàtiques Descripción de la aplicación
• La aplicación EETAC2Travel es un gestor/planificador de rutas que permite al
usuario elaborarse sus propios itinerarios de viaje, enriquecer sus visitas con
contenidos multimédia y compartir información del viaje con sus amigos.
• Dentro de la aplicación se definen tres secciones: configuración de la
aplicación y gestión del perfil de usuario, planificador y gestor de rutas, red
social.
• Planificador y gestor de rutas: Este bloque permitirá al usuario crear y modificar sus propias
rutas con los puntos de interés éste haya seleccionado. Además, también podrá hacer el
seguimiento a sus rutas y consultar la información multimédia asociada a cada uno de los puntos
de la ruta.
• Red social: Este bloque permitirá al usuario interactuar con sus amigos y conocidos (viajeros
afines), así como compartir fotos, comentarios, mensajes y todo tipo de recomendaciones acerca
a las rutas o puntos de interés que haya visitado.
• Configuración y perfil de usuario: Este bloque permitirá al usuario modificar tanto el
comportamiento de algunos parámetros de la aplicación, como su información personal de la
cuenta.
5
6. Disseny de Xarxes i Aplicaciones Telemàtiques Motivación y Beneficios
• Motivaciones:
• Tecnológicas:
• Multitud de servicios tecnológicos relacionados con el el ocio.
• Incremento del uso de las TIC para búsquedas o recolección de información a través, tanto de explorador
web como, de dispositivos móviles → Mayor accesibilidad a la información.
• Tendencia:
• Proliferación del turismo gracias a las líneas de bajo coste y portales de oportunidades online.
• Una parte importante del gasto de un viaje suelen ser las excursiones: visitas guiadas o audioguias.
• Incremento en el uso de las redes sociales para hacer saber dónde me encuentro o qué estoy haciendo.
• Beneficios:
• Enriquece los viajes a través de contenido adicional.
• Facilita la gestión del tiempo cuando realizas un viaje.
• Ahorro económico en excursiones y visitas guiadas.
• Ayuda a conocer nuevos lugares de interés.
• Permite tener un feedback de gente cercana a ti de los diferentes puntos de interés.
6
7. Disseny de Xarxes i Aplicaciones Telemàtiques Funcionalidades
• Planificador y gestor de rutas: • Red Social:
• Consulta de rutas y puntos de interés más • Posibilidad de búsqueda y agregación de
destacados amigos (Viajeros)
• Búsqueda y filtrado de puntos de interés • Mensajería dentro de la aplicación.
• Seguimiento en tiempo real de la ruta que • Notificaciones de eventos en tiempo real.
estás haciendo. • Posibilidad de agregar, compartir y ver fotos
• Consulta de información y contenidos a y álbumes de tus amigos.
través de QR y Realidad Aumentada • Creación de recomendaciones de puntos de
• Geolocalización de fotografías. interés.
• Creación de puntos de interés • Consulta de personas que vayan a realizar la
personalizados. misma ruta en la misma fecha (Viajero Afín)
• Planificación de rutas personalizadas.
• Configuración y perfil de usuario:
• Crear o modificar datos personales de usuario.
• Restablecer y cambiar contraseña.
• Configuración de parámetros y notificaciones.
7 • Gestión y Vinculación a redes sociales.
8. Disseny de Xarxes i Aplicaciones Telemàtiques Diagrama Aplicación Web
Anexo 1: Pantallas Interfaz Web
8
9. Disseny de Xarxes i Aplicaciones Telemàtiques Diagrama Aplicación Móvil
Anexo 2: Pantallas Interfaz Móvil
9
10. Disseny de Xarxes i Aplicaciones Telemàtiques
Arquitectura
Servidor Web
Base de Datos
Internet
HTTP Web Services Lectura QR Login
Contenido Realidad Consulta
Aumentada Mapas
Dispositivos Móviles
Explorador Web
10
11. Disseny de Xarxes i Aplicaciones Telemàtiques Diagrama de capas
Capa de presentación
Interfaz Android Windows
Web Phone Phone
Capa de Lógica de Negocio
User Social Travel Event
Manager Manager Manager Manager
Capa de Persistencia
Base de Web
Datos Services
11
15. Tecnologías escogidas
Web Server:
Lenguaje de programación JAVA:
• Lenguaje simple: De fácil aprendizaje.
• Orientado a objetos: Agrupación de estructuras de datos en objetos.
• Independiente a la plataforma de trabajo.
• Nos proporciona una fácil implementación para web services.
Apache TomCAT: Servidor web para programación en JAVA.
• Compatible con las API’s más recientes de JAVA
• Open source, comunidad de mantenimiento del software.
• Gratuito
• Servlets & JSP’s, uso de multithread
• Compatible sobre qualquier sistema operativo.
16. Tecnologías escogidas
Base de datos:
Uso de la tecnología Perst para gestionar la base de datos:
• Open Source.
• Basado en objetos.
• Optimizado para para Java y .NET
• Código compacto: 5000 lineas.
• Base de datos segura : Soporta atomicidad, coherencia, aislamiento y durabilidad.
• Persistencia transparente.
• Muy veloz, más que MYSQL.
• SQL vs. Perst: Benchmark Results Time response
Operation SQLite Perst Performance Disparity
Insert 299,166 18,214 Perst is 16.43 times faster
Search 104,796 15,743 Perst is 6.65 times faster
Scan 6,457 9,747 SQLite is 1.51 times faster
Delete 203,253 37,811 Perst is 5.38 times faster
17. Tecnologías escogidas
Página web:
• HTML5 permite la implementación de métodos directamente en el cliente.
Es una tecnología innovadora.
• CSS3 permite un abanico de formatos, animaciones, transiciones para dar
un estilo dinámico a la pagina web compatible con HTML5.
• Wicket permite el uso de etiquetas para un dinamismo web y separa la
parte visual de la funcional de manera sencilla. Trabaja en modo BUS, con
lo que nos permite enviar notificaciones a otras funciones.
• jQuery permite el uso dinámico de objetos y sobretodo la fácil y rápida
implementación de AJAX para comunicarse con el servidor.
• AJAX (Asynchronous Javascript and XML)
• Peticiones HTTP
• Recibe estructuras de datos en formato XML / JSON.
18. Tecnologías escogidas
Aplicación móvil:
• Android:
• Lenguaje de programación JAVA
• Personaliza el dispositivo para la aplicación
• Permite acceder a todas las funcionalidades del dispositivo.
• Windows Phone:
• Lenguaje de programación C#
• Estandard para todas las plataformas HW
• Uso de Jersey (REST) para comunicarse entre cliente móvil y servidor:
• Representational State Transfer un protocolo cliente/servidor sin estado.
• Con REST se definen un conjunto de operaciones para asi optimizar la
cantidad de información.
• Dependiendo de la plataforma en que se trabaja el cliente móvil se puede
enviar las estructuras de datos en formato XML / JSON, para optimizar.
19. Disseny de Xarxes i Aplicaciones Telemàtiques Entorno de desarrollo
Jersey
Base de Datos Web Services
Servidor Web
API’s de Terceros
Desarrollo
Desarrollo Web Desarrollo Android Windows Phone
19
20. Disseny de Xarxes i Aplicaciones Telemàtiques Dimensionado de la red
• Parámetro: Tiempo medio de sesión (por usuario)
• Solución: Se creara un fichero que almacenará la hora, minuto y
segundo en el que el usuario entre al sistema. Cuando este
mismo usuario salga se repetirá este mismo proceso(en un nuevo
fichero), de manera que podremos calcular , en media, el tiempo
de sesión de los usuarios.
• Parámetro: Nº usuarios (en media)
• Solución: Cada 60 min mirar el nº de líneas que hay en el fichero.
Sabiendo también el tiempo medio de sesión se puede determinar
este dato.
20
21. Disseny de Xarxes i Aplicaciones Telemàtiques Dimensionado de la red
• Parámetro: nº páginas que ve un usuario (en media)
• Solución: Se prevé crear una clase “Monitor” que tenga un campo
identificar de usuario “iduser” y un contador “cont” que permita
saber el numero de clicks que realiza por sesión un usuario.
• Parámetro: bytes Rx y Tx por un usuario (en media)
• Solución: Se prevé obtener los datos de Tx y Rx de bytes del usuario
a partir de los sockets abiertos con Java que establezca el usuario
con los Web Services.
21
22. Disseny de Xarxes i Aplicaciones Telemàtiques Metodología
• La metodología utilizada durante el desarrollo de proyecto será
Scrum. Es un marco de trabajo para la gestión y desarrollo de
software basada en un proceso iterativo e incremental.
• ¿Por qué scrum?
• Es muy fácil de aprender
• Requiere muy poco esfuerzo para comenzarse a utilizar
• Roles dentro del proyecto
• Scrum Master: Representante Equipo de desarrollo
• Product Owner: Profesorado
• Team: Equipos de desarrollo
• Sprints
• 5 Sprints (4 de 1 semana y 1 de 2 semanas)
22
24. Disseny de Xarxes i Aplicaciones Telemàtiques Product Backlog
Diseño User Interface Implementación funciones mapas
• Plantilla interface grafica usuario web • Crear/Borrar/Modificar Ruta
• Plantilla interface grafica usuario móvil • Consulta Ruta (personalizada)
• Creación patrón CSS • Crear/Borrar/Modificar Punto de interés
• creación patrón XML Android • Consulta Punto de interés
• Buscar Ruta
Persistencia datos • Buscar Punto de Interés
• Diseño y Creación Base de datos • Checkin Ruta
• Subir Foto (geolocalizada o no)
Comunicación con el servidor • Ranking de Rutas
• Implementar Web Services • Ranking de Punto de Interés
• Lectura QR
• Integración Realidad aumentada
24 Anexo 3: Planificación Detallada
25. Disseny de Xarxes i Aplicaciones Telemàtiques Product Backlog
Implementación funciones red social Implementación funciones configuración
• Control Visibilidad Red Social • Crear/Modificar/Eliminar Perfil
• Buscar Amigos • Restablecer/Cambiar contraseña
• Agregar/Bloquear/Eliminar Amigos • Modificar parámetros perfil
• Crear/eliminar mensaje • Enlace a redes sociales
• Ver mensaje • Login usuario
• Crear/eliminar Álbum de fotos
• Ver álbum de fotos Dimensionado
• Crear/Elimina Notificaciones • Modelado tráfico y usuarios
• Consulta Notificaciones • Calculo dimensionado aplicación
• Crear/Eliminar Recomendación
• Consulta Recomendación Integración desarrollos equipos
• Buscar Viajero Afín Testeo aplicación
25 Anexo 3: Planificación Detallada
27. Disseny de Xarxes i Aplicaciones Telemàtiques Reuniones
• Reuniones Diarias: Cada día de clase de DXAT (Lunes y Miércoles), se realizarán
reuniones internas de cada uno de los grupos de desarrollo. Éstas, siguiendo las
prácticas establecidas por Scrum, no serán de más de 10 minutos y cada uno de los
participantes deberá dar respuesta a las siguientes cuestiones:
• ¿Qué has hecho desde la última sesión?
• ¿Qué es lo que harás hoy?
• ¿Has tenido algún problema que te haya impedido alcanzar tu objetivo?
• Reuniones planificación: Al inicio de cada Sprint y con un representante de cada
grupo.
• Preparar el Sprint Backlog que detallará el tiempo de cada tarea.
• Identificar el trabajo probable que se realice durante el Sprint.
• Reuniones revisión: Al final de cada Sprint y con un representante de cada grupo.
• Revisar el trabajo que fue completado y no completado
• Presentar el trabajo completado
27 • Impresiones sobre el sprint recién acabado.
43. Disseny de Xarxes i Aplicaciones Telemàtiques Interfaz móvil
Pantalla de bienvenida Lista de Rutas destacadas Mapa de situación
43 Volver
44. Disseny de Xarxes i Aplicaciones Telemàtiques Interfaz móvil
Pantalla para hacer fotos, Sitios de interés filtrados Pantalla de Mis Rutas I
extraer información por por criterio del usuario
realidad aumentada o leer
Volver
44 QRs
45. Pantalla de Mis Rutas II Pantalla de configuración I Pantalla de configuración II
Volver
46. Disseny de Xarxes i Aplicaciones Telemàtiques Interfaz móvil
Pantalla de configuración III Pantalla de configuración IV Mi viajero
46 Volver
47. Disseny de Xarxes i Aplicaciones Telemàtiques Interfaz móvil
Pantalla de Amigos Pantalla de un amigo Viajero afín
seleccionado
47 Volver
48. Disseny de Xarxes i Aplicaciones Telemàtiques Interfaz móvil
Pantalla de juegos Pantalla de mensajes con Pantalla de Álbum (fotos)
histórico
48 Volver
49. Disseny de Xarxes i Aplicaciones Telemàtiques Interfaz móvil
Crear Álbum Buscar Recomendaciones Crear Recomendaciones
49 Volver
51. Disseny de Xarxes i Aplicaciones Telemàtiques Planificación Detallada
Nombre de tarea Duración Nombre de tarea Duración
Sprint 1: Interfície + BD + WS 5 días Sprint 2: Rutas (I) 10 días
Equipo Desarrollo Web 5 días Equipo Desarrollo Web
Plantilla GUI Web 2 días Crear/Borrar/Modificar Punto de interes
Consulta/Búsqueda Punto de interés
Creación patron CSS Web 3 días
Crear/Borrar/Modificar Ruta
Equipo Desarrollo Android 5 días
Consulta/Búsqueda Ruta
Plantilla GUI Android 2 días
Equipo Desarrollo Android
Creación patron XML Android 3 días Crear/Borrar/Modificar Punto de interes
Equipo Desarrollo Win Phone 5 días Consulta/Búsqueda Punto de interés
Plantilla GUI Windows Phone 2 días Consulta/Búsqueda Ruta
Creación patron XAML Windows Phone 3 días Lectura QR
Equipo Desarrollo Server 5 días Integración Realidad aumentada
Diseño y Creación Base de datos 2 días Equipo Desarrollo Win Phone
Implementar Web Services 3 días Crear/Borrar/Modificar Punto de interes
Consulta/Búsqueda Punto de interés
Consulta/Búsqueda Ruta
Lectura QR
Integración Realidad aumentada
Equipo Desarrollo Server
Logica de Negocio Servidor
51 Volver
52. Disseny de Xarxes i Aplicaciones Telemàtiques Planificación Detallada
Nombre de tarea Duración Nombre de tarea Duración
Sprint 3: Rutas (II) + Configuraciones 5 días Sprint 4: Social 5 días
Equipo Desarrollo Web Equipo Desarrollo Web
Ranking de POIs/Rutas Control Visibilidad Red Social
Subir Foto (geolocalizada o no) Agregar/Bloquear/Eliminar Amigos
Crear/Modificar/Eliminar Perfil Buscar Amigos
Login/Restablecer/Cambiar contraseña Crear/eliminar mensaje
Enlace a redes sociales Ver mensaje
Equipo Desarrollo Android Crear/eliminar Album de fotos
Ranking de POIs/Rutas Ver album de fotos
CheckIn Ruta Consulta Notificaciones
Subir Foto (geolocalizada o no) Crear/Eliminar Recomendacion
Crear/Modificar/Eliminar Perfil Consulta Recomendación
Login/Restablecer/Cambiar contraseña Buscar Viajero Afin
Enlace a redes sociales Equipo Desarrollo Android
Control Visibilidad Red Social
Equipo Desarrollo Win Phone
Agregar/Bloquear/Eliminar Amigos
Ranking de POIs/Rutas
Buscar Amigos
CheckIn Ruta
Crear/eliminar mensaje
Subir Foto (geolocalizada o no)
Ver mensaje
Crear/Modificar/Eliminar Perfil
Ver album de fotos
Login/Restablecer/Cambiar contraseña Consulta Notificaciones
Enlace a redes sociales Crear/Eliminar Recomendacion
Consulta Recomendación
52 Volver Buscar Viajero Afin
53. Disseny de Xarxes i Aplicaciones Telemàtiques Planificación Detallada
Nombre de tarea Duración Nombre de tarea Duración
Sprint 4: Social 5 días Sprint 5: Integración y dimensionamiento 5 días
Equipo Desarrollo Win Phone Integración Aplicación Final + Pruebas 5 días
Control Visibilidad Red Social Modelado Tráfico y Usuarios 5 días
Agregar/Bloquear/Eliminar Amigos Estudio dimensionamiento Aplicación 5 días
Buscar Amigos
Crear/eliminar mensaje
Ver mensaje
Ver album de fotos
Consulta Notificaciones
Crear/Eliminar Recomendacion
Consulta Recomendación
Buscar Viajero Afin
53 Volver