PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales Integral Profesional Desarrollo de aplicaciones para dispositivos móviles Programa elaborado por: Horas teóricas: 2 Horas prácticas: 2 Total de Horas: 4 Total de créditos: 6 Clave: F1256 Tipo: Asignatura Carácter de la Optativa asignatura Oscar Alberto Chávez Bosquez, Arturo Corona Ferreira, Álvaro Ernesto Javier Baeza Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización: *Seriación explícita Asignatura antecedente: Ninguna No Asignatura Subsecuente: Ninguna *Seriación implícita Conocimientos previos: Sí Programación, Ingeniería de Software, Base de Datos, Redes Presentación F1256 Desarrollo de aplicaciones para dispositivos móviles 1/11
Esta asignatura proporciona al estudiante las habilidades y conocimientos necesarios para desarrollar programas que se ejecuten sobre un dispositivo con procesamiento y capacidades limitadas. Esta asignatura se ubica dentro del área integral profesional y con respecto a las áreas de conocimiento de la ANIEI, se encuentra ubicada dentro del área de Programación e Ingeniería de Software. Los conocimientos adquiridos en esta asignatura los aplicará en el desarrollo de aplicaciones de software para la plataforma móvil, con acceso a bases de datos y envío de mensajes, implementado seguridad y empleando estándares para dispositivos móviles. La enseñanza de la asignatura en esta licenciatura, favorecerá en el perfil del estudiante el análisis, diseño, construcción e implementación de software para dispositivos con capacidades limitadas, aplicando metodologías y paradigmas de desarrollo de vanguardia a través del dominio de herramientas de desarrollo de software. Desarrollo de Aplicaciones para Dispositivos Móviles se encuentra dentro del área de formación Integral Profesional. Objetivo General Desarrollar la habilidad de programar aplicaciones que involucren mensajería, persistencia y seguridad en dispositivos con capacidades limitadas. Competencias que se desarrollarán en esta asignatura Desarrollar la habilidad de abstracción y análisis. Desarrollar y administrar sistemas de información para dispositivos con capacidades limitadas. Aplicar nuevas tecnologías a la solución de problemas de su entorno laboral. Innovar en la solución de problemas con la implementación de software para dispositivos móviles. Fomentar el trabajo en equipo para la resolución de problemas. F1256 Desarrollo de aplicaciones para dispositivos móviles 2/11
Competencias del perfil de egreso que apoya esta asignatura Capacidad de administrar, analizar, diseñar, construir e implementar sistemas con calidad basados en computadoras para múltiples plataformas Desarrollo de aplicaciones para dispositivos móviles Escenario de aprendizaje Laboratorio de cómputo, salón de clases, ambiente virtual de aprendizaje Perfil sugerido del docente El perfil ideal del docente de Desarrollo de aplicaciones para dispositivos móviles es un profesional egresado de Maestría en Informática, Sistemas Computacionales o áreas afines. Un perfil alternativo sería un docente que posea conocimientos, habilidades y experiencia en el desarrollo de programas para dispositivos con capacidades limitadas. Son actitudes necesarias en el docente de esta asignatura: Que promueva el aprendizaje participativo basado en proyectos y problemas Que aplique las herramientas ofimáticas en el desarrollo de sus actividades académicas y profesionales Contenido Temático Unidad No. I Introducción a la Plataforma Móvil Objetivo particular Conocer el rol que desempeña la arquitectura móvil en el comercio actual, y las posibles plataformas de desarrollo móvil más importantes de la actualidad. Hrs. Estimadas 12 F1256 Desarrollo de aplicaciones para dispositivos móviles 3/11
Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación Un documento acerca de los Sesiones de práctica Portafolio de evidencias de dispositivos móviles desde el supervisada en el centro de aprendizaje. Deberá contener punto de vista de sus cómputo. todos los ejercicios y los capacidades de avances semanales de la procesamiento. solución de los problemas propuestos. 1.1 Dispositivos móviles 1.2 Comercio móvil 1.3 Arquitectura de las aplicaciones móviles 1.4 Plataformas de desarrollo móvil Un ensayo acerca de la visión, realidades y oportunidades del comercio basado en plataformas móviles. Un mapa mental describiendo la arquitectura y los elementos básicos necesarios para una aplicación móvil. Un ensayo en el cual se describan las diferencias entre las principales plataformas de desarrollo de aplicaciones móviles. Solución de ejercicios que involucren el uso de diversas plataformas de creación de aplicaciones móviles (Java Micro Edition, iphone Open Application Development, Objective-C,.Net Compact Framework). Solución de problemas de estudio empleando diversos IDEs para el desarrollo de aplicaciones móviles (Netbeans IDE, Eclipse IDE, Xcode,.Net IDE). Investigación por parte del alumno en la bibliografía recomendada. Exposición oral por parte del profesor. Exposición de problemas resueltos. Se considerarán todos los elementos mencionados en la rúbrica de exposición de problemas resueltos. F1256 Desarrollo de aplicaciones para dispositivos móviles 4/11
Unidad No. II Desarrollo de Aplicaciones Cliente Objetivo particular Desarrollar aplicaciones gráficas para dispositivos móviles siguiendo patrones de diseño, así como administrar y configurar su entorno de ejecución. Hrs. Estimadas 12 Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación Un documento conteniendo Sesiones de práctica los principales patrones de supervisada en el centro de diseño móvil. cómputo. 2.1 Patrones de diseño móvil 2.2 Diseño de aplicaciones móviles con UML 2.2 Anatomía de una aplicación 2.3 GUI en dispositivos móviles 2.4 Desarrollo de Smart clients Un mapa mental con los elementos principales que componen una aplicación móvil. Una aplicación móvil ligera (smart client) implementando un patrón de diseño móvil. Un prototipo de interfaz de usuario dirigida por eventos. Solución de ejercicios propuestos utilizando una herramienta de modelado UML (VioletUML, ArgoUML) Solución de problemas de estudio utilizando una plataforma / IDE para la creación de aplicaciones móviles (Java Micro Edition, Netbeans IDE). Portafolio de evidencias de aprendizaje. Deberá contener todos los ejercicios y los avances semanales de la solución de los problemas propuestos en la plataforma móvil seleccionada. Exposición de problemas resueltos. Se considerarán todos los elementos mencionados en la rúbrica de exposición de problemas resueltos. Un documento con los diagramas UML correspondientes al diseño de aplicaciones móviles. Una guía de administración de aplicaciones móviles Investigación por parte del alumno en la bibliografía recomendada. Exposición oral por parte del profesor. F1256 Desarrollo de aplicaciones para dispositivos móviles 5/11
smart clients con las siguientes características: Entregadas sobre la red. No requieran instalación. Actualizadas automáticamente sin intervención del usuario. Construcción de aplicaciones utilizando la Connected, Limited Device Configuration (CLDC) Construcción de aplicaciones básicas utilizando la Mobile Interface Device Profile (MIDP 1.0) (MIDlets) "Look and Feel" de aplicación de escritorio. Unidad No. III Mensajería móvil Objetivo particular Desarrollar aplicaciones para dispositivos móviles que procesen información basada en red. Hrs. Estimadas 15 Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación Una aplicación para Sesiones de práctica dispositivos móviles supervisada en el centro de aplicando las principales cómputo. técnicas HTTP: 3.1 Técnicas HTTP avanzadas 3.2 Mensajería en el cliente 3.2 Mensajería empresarial 3.3 Mobile Web Services Enoque Decorator Enfoque Process- Chain. Solución de ejercicios propuestos utilizando una plataforma / IDE para la Portafolio de evidencias de aprendizaje. Deberá contener todos los ejercicios y los avances semanales de la solución de los problemas propuestos en la plataforma móvil seleccionada. F1256 Desarrollo de aplicaciones para dispositivos móviles 6/11
Manejo de sesiones vía cookies. Autenticación básica Autenticación Digest. HTTP seguro. Una aplicación para dispositivos móviles implementando mensajería: E-mail SMS Instant Messaging SIP APIs de comunicación móvil SOAP Mobile Web Services creación de aplicaciones móviles (Java Micro Edition, Netbeans IDE). Solución de problemas de estudio. Construcción de aplicaciones MIDP 2.0 (MIDlets), implementando: JavaPhone API, PDA optional package, Wireless Messaging API, Java RMI, Java Messaging Service, ksoap, & JAX-RPC API. Investigación por parte del alumno en la bibliografía recomendada. Exposición oral por parte del profesor. Exposición de problemas resueltos. Se considerarán todos los elementos mencionados en la rúbrica de exposición de problemas resueltos. Unidad No. IV Manejo de persistencia Objetivo particular Implementar el manejo de persistencia en aplicaciones para dispositivos móviles, tanto en sistemas manejadores de bases de datos instalados en el cliente, como en sistemas manejadores de bases de datos remotos. Hrs. Estimadas 15 F1256 Desarrollo de aplicaciones para dispositivos móviles 7/11
Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación Una aplicación para Investigación por parte del dispositivos móviles alumno en la bibliografía implementando persistencia: recomendada. 4.1 Bases de datos móviles 4.2 Sincronización de bases de datos 4.3 Accceso a bases de datos remotas APIs de acceso a bases de datos Bases de datos para dispositivos móviles Movilidad y sicronización Legacy applications Exposición oral por parte del profesor. Solución de ejercicios propuestos utilizando una plataforma / IDE para la creación de aplicaciones móviles (Java Micro Edition, Netbeans IDE). Solución de problemas de estudio. Construcción de aplicaciones MIDP 2.0 (MIDlets), implementando JDBC Construcción de MIDlets con acceso a bases de datos HSQL Construcción de MIDlets con acceso a bases de datos Oracle9i Mobile Server Portafolio de evidencias de aprendizaje. Deberá contener todos los ejercicios y los avances semanales de la solución de los problemas propuestos en la plataforma móvil seleccionada. Exposición de problemas resueltos. Se considerarán todos los elementos mencionados en la rúbrica de exposición de problemas resueltos. F1256 Desarrollo de aplicaciones para dispositivos móviles 8/11
Construcción de MIDlets con implementando el Oracle J2ME SODA SDK. Unidad No. V Seguridad en Aplicaciones Cliente Objetivo particular Implementar mecanismos de seguridad en aplicaciones para dispositivos móviles. Hrs. Estimadas 10 5.1 Seguridad móvil 5.2 Criptografía Temas Resultados del aprendizaje Sugerencias didácticas Estrategias y criterios de evaluación Una aplicación para Investigación por parte del dispositivos móviles alumno en la bibliografía implementando mecanismos recomendada. de seguridad: Seguridad B3 Encriptación simétrica Encriptación basada en password Encriptación de llave pública Firmas digitales APIs de seguridad específicas de dispositivo Toolkits ligeros de criptografía móvil Exposición oral por parte del profesor. Solución de ejercicios propuestos utilizando una plataforma / IDE para la creación de aplicaciones móviles (Java Micro Edition, Netbeans IDE). Construcción de aplicaciones MIDP 2.0 (MIDlets), implementando: Bouncy Castle Lightweight Portafolio de evidencias de aprendizaje. Deberá contener todos los ejercicios y los avances semanales de la solución de los problemas propuestos en la plataforma móvil seleccionada. Exposición de problemas resueltos. Se considerarán todos los elementos mencionados en la rúbrica de exposición de problemas resueltos. F1256 Desarrollo de aplicaciones para dispositivos móviles 9/11
API, IAIK ME JCE, Phaos Technologý Micro Foundation Toolkit & NTRU jneo for Java Toolkit Bibliografía básica B'Far R. (2005). Mobile Computer Principles: Designing and developing mobile applications with UML and XML. USA: Cambridge University Press. Deitel, H., Deitel, P. (2009). Java How to Program: Early Objects Version. USA:Prentice Hall Juntao, M. (2004) Enterprise J2ME: Developing Mobile Java Applications. USA: Pearson.* Mallick, M. (2003) Mobile and Wireless Design Essentials. USA: Wiley & Sons* Object Management Group (2010). UML resource page. [en línea] URL http://www.uml.org. Sun Developer Network (2010). Mobility Learning Paths & Wireless Deveplopment Tutorial. [en línea] URL http://developers.sun.com/mobility/learning/tutorial/index.html. Sun Microsystems (2010). The Java Tutorial. [en línea] URL http://java.sun.com/docs/books/tutorial/. Bibliografía complementaria Cetus Team (2010). Architecture and Design: Unified Modeling Language (UML). [en línea] URL http://www.cetuslinks.org/oo_uml.html. Jones, M., Marsden, G. (2006). Mobile Interaction Design. USA: Wiley. Wagner, R. (2008). iphone and ipod touch programming: Handling touch interactions and events for mobile safari. USA: Wiley. F1256 Desarrollo de aplicaciones para dispositivos móviles 10/11
Wigley, A., Moth, D., Foot, P. (2007). Microsoft Mobile Development Handbook. USA: Microsoft Press. Zdziarski, J. (2008). Iphone Open Application Development: Write native Objective-C applications for the Iphone. 2 nd ed. USA: O'Reilly. * Se utiliza bibliografía con más de 5 años debido a que ya no hay nuevas ediciones y se considera que estos libros tratan los temas de acuerdo al perfil de la asignatura. F1256 Desarrollo de aplicaciones para dispositivos móviles 11/11