Semestre 2017-20
Nombre del curso: | Construcción de Aplicaciones Móviles |
Course Name: | —— |
Créditos: | 3 |
Profesor: | Claudia Jimenez. |
Versión PDF | Click Aquí |
Descripción
El objetivo de este curso es generar en el estudiante las habilidades necesarias para diseñar y construir soluciones informáticas sobre plataformas de computación móviles. Para ello, se estudian las particularidades de estos dispositivos, de la infraestructura de computación móvil, de los ambientes y el proceso de desarrollo.
Objetivos
La computación móvil exige hoy en día estrategias de diseño y construcción diferentes a las utilizadas en el software convencional. Cambian los procesos, metodologías, ambientes de desarrollo y esquemas de puesta en marcha. En particular, es necesario integrar en ese proceso estrategias de diseño no convencionales, que tengan en cuenta las restricciones de este entorno.
Se entiende por no convencional la restricción impuesta por los ambientes de ejecución de una solución, tales como: hardware especializado, funcionamiento en tiempo real, limites en la capacidad de almacenamiento, límites en la capacidad de procesamiento, visualización en condiciones limitadas y transmisión de información por medio de canales y anchos de banda limitados.
Además de las restricciones antes planteadas, se trabaja con soluciones que requieren manejar posición y movilidad como requerimientos básicos.
De esta forma, los objetivos específicos del curso son:
Generar en el estudiante habilidades de diseño de software sobre plataformas computacionales con restricciones
A partir del conocimiento de las plataformas computacionales móviles, sus particularidades y diferencias, generar experiencia de desarrollo que permita tener criterio sobre la selección de plataformas móviles para la solución de problemáticas específicas donde la movilidad representa valor agregado y nuevos paradigmas de computación.
Concebir y construir aplicaciones sobre plataformas móviles, que ofrezcan soluciones innovadoras en cuanto al uso de tales dispositivos en contextos de valor agregado para las organizaciones
Objetivos pedagógicos transversales
Objetivo Pedagógico | Metas específicas |
---|---|
OT1 | Integrar herramientas de desarrollo en ambientes móviles no heterogéneos |
OT2 | Seleccionar plataformas, priorizar requerimientos y atributos de calidad |
OT3 | Realizar evaluación de pares |
OT4 | Desarollar aplicaciones de manera grupal |
OT6 | Proponer y analizar soluciones innovadoras para un entorno definido |
OT8 | Completar soluciones preconcebidas a partir de la investigación sobre la tecnología |
Categorías de habilidades y objetivos pedagógico
Objetivo Pedagógico | Metas específicas | % |
---|---|---|
O1 | Entender el valor agregado e impacto de una solución en el contexto de los usuarios de ambientes restringidos | 2% |
O2 | Entender el contexto de desarrollo de aplicaciones móviles desde el punto de vista técnico y de negocio | 1% |
O3 | Entender el mercado existente y los elementos diferenciadores frente al mercado objetivo | 2% |
O4 | Definir una aplicación diferenciadora teniendo en cuenta la diversidad de plataformas | 5% |
O5 | Especificar los requerimientos del proyecto, de acuerdo con las restricciones que se deben abordar | 3% |
O6 | Definir el valor agregado de una aplicación móvil para un grupo de usuarios objetivo | 3% |
O7 | Definir las etapas de desarrollo de un proyecto teniendo en cuenta restricciones tecnológicas y diversidad de ambientes objetivo | 3% |
O8 | Diseñar una arquitectura global de solución que hace explícitos los elementos funcionales y escenarios de calidad para el producto esperado en diferentes arquitecturas de dispositivos | 17% |
O9 | Realizar el diseño detallado de una aplicación móvil en diferentes configuraciones de dispositivos | 12% |
O10 | Definir de manera incremental los resultados esperados para una aplicación dadas unas restricciones marco que se esperan en la solución | 6% |
O13 | Desarrollar una aplicación móvil en iteraciones que reflejen la incorporación de las restricciones de arquitectura e infraestructura | 35% |
O14 | Documentar el desarrollo de una aplicación móvil | 2% |
O15 | Desplegar la aplicación en dispositivos reales, incluyendo varias plataformas | 5% |
O17 | Presentar de manera adecuada los resultados del proyecto para un público externo al curso | 2% |
Perfil del Estudiante
Este curso es obligatorio en el ciclo profesional de la carrera de Ingeniería de Sistemas y Computación. Puede ser tomado como materia electiva por estudiantes de otras carreras de pregrado, en la medida en que cumplan con los prerrequisitos establecidos.
Para estudiantes de Ingeniería de Sistemas y Computación, con carnets anteriores a 2010-2, el curso puede ser visto como electiva profesional, previo lleno de los requisitos establecidos en el esquema de transición curricular. En particular, este curso no debe ser tomado por quienes tomaron en 2010-1 el curso ISIS 3508 – Pervasive Information.
En casos excepcionales, el curso puede ser tomado por estudiantes de maestría que requieran formación específica en el tema para adquirir habilidades requeridas por su formación de investigación. En ese caso es necesario contactar previamente al profesor del curso y a la Coordinación de la Maestría de Ingeniería de Sistemas y Computación para estudiar el caso y la autorización respectiva.
Metodología
El curso gira alrededor del desarrollo de software sobre dispositivos móviles y su integración con otras plataformas computacionales. El desarrollo de los temas está organizado en 4 niveles pedagógicos, donde se presentan los temas de forma incremental y complementaria.
Durante el curso los estudiantes desarrollan un proyecto, consistente en la concepción, diseño y construcción de una aplicación móvil. El desarrollo incremental de ese proyecto es articulado a través de talleres y laboratorios. Al final del curso se espera que los estudiantes hayan diseñado y puesto en marcha una aplicación móvil completa y funcional.
En cada uno de los niveles se tienen actividades que permiten a los estudiantes:
-
Estructurar el conocimiento sobre los temas a desarrollar. Esto se realiza mediante actividades de exploración bibliográfica, presentaciones y discusiones en clase, tutoriales, revisión de ejemplos.
-
Entender y plantear arquitecturas para soluciones construidas sobre ambientes móviles y con restricciones
-
Seleccionar apropiadamente ambientes de desarrollo de acuerdo con las restricciones de la plataforma objetivo
-
Utilizar la tecnología de computación móvil para solucionar problemas no convencionales
-
Reconocer y gestionar la calidad de una solución móvil
La evaluación de los productos y entregables del software desarrollado pueden incluir en los mecanismos:
-
Presentaciones orales
-
Demostración práctica del producto
-
Evaluación de pares
-
Publicación de código desarrollado
-
Publicación de documentación producida
En todos los casos, es indispensable que el software desarrollado corra de forma efectiva sobre dispositivos móviles reales.
Manejo de los Aspectos Transversales
Aspecto | Descripción |
---|---|
Calidad | El proceso de desarrollo seguido presenta estrategias para el aseguramiento de la calidad,El producto cumple con las restricciones y aprovecha los recursos definidos en el alcance del proyecto |
Sector externo | Los proyectos están enmarcados por oportunidades reales de uso de tecnología de punta,Los entregables del curso son fácilmente presentados al sector externo |
Innovación | El curso fomenta el uso novedoso de la tecnología |
Seguridad | Se considera la seguridad como un atributo de calidad principal en el proceso y en el producto, que guía y determina el resultado de la solución |
Evaluación
-
Si el promedio de parciales > = 3.25
Evaluación | Porcentaje | |
---|---|---|
Exámenes (40%) |
Parcial 1 | 20% |
Parcial 2 | 20% | |
Proyecto (50%) |
Taller 0 (T0) | 5% |
Taller 1 (T1) | 10% | |
Taller 2 (T2) | 25% | |
Taller 3 (T3) | 10% | |
Laboratorios, quices, preparación y participación en clase | 10% |
-
Si ( 2.80 < = Promedio de parciales < 3.25) y al menos uno de los parciales >= 3.0
Evaluación | Porcentaje | |
---|---|---|
Exámenes (50%) |
Parcial 1 | 25% |
Parcial 2 | 25% | |
Proyecto (40%) |
Taller 0 (T0) | 4% |
Taller 1 (T1) | 8% | |
Taller 2 (T2) | 20% | |
Taller 3 (T3) | 8% | |
Laboratorios, quices, preparación y participación en clase | 10% |
-
Si Promedio de parciales < 2.8 ó (2.8 < = Promedio de parciales < 3 y los 2 parciales < 3.0)
Evaluación | Porcentaje | |
---|---|---|
Exámenes (60%) |
Parcial 1 | 30% |
Parcial 2 | 30% | |
Proyecto (30%) |
Taller 0 (T0) | 3% |
Taller 1 (T1) | 6% | |
Taller 2 (T2) | 15% | |
Taller 3 (T3) | 6% | |
Laboratorios, quices, preparación y participación en clase | 10% |
Las reglas de juego para cada uno de los talleres son definidas con el enunciado correspondiente. Pueden incluir pre-entregas o puntos de bono por desarrollos o actividades complementarios.
El hecho de no mostrar habilidades de desarrollo en al menos dos plataformas móviles, penaliza la nota final del estudiante en un 20%.
Así mismo, se espera que calidad de la documentación generada, tanto escrita como en software. El no cumplimiento de estas características conlleva a penalizaciones en las evaluaciones correspondientes. Estas penalizaciones serán indicadas en los enunciados correspondientes.
Para aprobar el curso el total de la nota lograda en las evaluaciones debe ser al menos de 3.0 / 5.0. No hay nota final aprobatoria para promedios de notas inferiores a 3.0
Calendario Global del Curso
El calendario propuesto para el curso se presenta de forma general y puede tener modificaciones a lo largo del semestre. Se actualiza con la bitácora de los temas cubiertos a medida que avanza el semestre.
Semana | Nivel | Actividades |
---|---|---|
1, 2, 3 y 4 | Nivel 0: Introducción y contexto de ambientes móviles, ambientes embebidos y ambientes restringidos |
Enunciado Proyecto Enunciado T0 Entrega T0 Laboratorio 1 Presentación T0 Laboratorio 2 |
5, 6, 7 y 8 | Nivel 1: Manejo de características relacionadas con el dispositivo: Memoria, capacidad de procesamiento, potencia, interacción básica. |
Enunciado T1 Laboratorio 3 Laboratorio 4 Entrega T1 Presentación T1 |
Parcial 1 | ||
Receso | Semana de Trabajo Individual | |
9, 10, 11 y 12 | Nivel 2: Manejo de características relacionadas con una arquitectura que trasciende al dispositivo: Almacenamiento, comunicación, localización, integración |
Enunciado T2 Laboratorio 5 |
13 y 14 | Nivel 3: Manejo de interacción sobre dispositivos móviles de última generación y gestión de sensores |
Entrega T2 Enunciado T3 |
15 | Parcial 2 | |
Fecha registro examen final | Entrega T3 Presentación T3 |
FAQ, librerias útiles y tutoriales
A continuación encuentra un conjunto de preguntas fecuentes y tutoriales que le pueden ayudar en el desarrollo del curso. Si tiene alguna pregunta o solución a algun problema no dude en comunicarnos para publicarlo. El canal regular para hacer las preguntas es el foro SicuaPlus del curso.
FAQ (Preguntas frecuentes)
Puede consultar preguntas frecuentes en el FAQ del laboratorio de computación móvil.
Librerías útiles
Se presentan algunas librerias utiles para el desarrollo de aplicaciones móviles.
Nombre | MidMaps: Google Maps Java ME library |
---|---|
Enlace | MidMaps |
Descarga de Respaldo | Respaldo MidMaps midmapsrespaldo |
Descripción | Permite integrar las funcionalidades ofrecidas por Google Maps en cualquier aplicación JME. Además, facilita al programador el acceso a este API creando de manera automática los elementos de conexión con servicios externos al dispositivo. Para mayor información puede consultar el API. |
Nombre | KSOAP |
Enlace | KSOAP 2 |
Descarga de Respaldo | respaldoksoap |
Descripción | Permite integrar las funcionalidades ofrecidas por Google Maps en cualquier aplicación JME. Además, facilita al programador el acceso a este API creando de manera automática los elementos de conexión con servicios externos al dispositivo. Para mayor información puede consultar el API. |
Tutoriales
Nokia
Symbian S60
integrar_emulador_s60_netbeans
monitorear_uso_de_recuros_emulador_nokia_s60
ejecucion_emulador_s60_desde_escritorio_remoto
Qt
recomendaciones_qt_windows_7
BlackBerry
JDE Eclipse plugin
firma_de_aplicaciones_blackberry
Adobe Air
Laboratorio
El curso tiene su apoyo en el Laboratorio de Computación Móvil del Departamento.
El desarrollo en los equipos móviles se complementa con los recursos disponibles en los laboratorios Mac, Wuaira y servidores del Departamento.
Para el desarrollo de sus proyectos, los estudiantes cuentan con máquinas virtuales configuradas para los objetivos específicos del curso, disponibles en servidores.