Architecture, Patterns, et Intégration : systèmes embarqués et mobiles en Java et Android (2)
NSY209


Objectifs pédagogiques

Savoir concevoir et développer des systèmes intégrant des éléments embarqués et communicants, en utilisant les produits industriels ou grand public (téléphones mobiles, cartes à puce, tablettes, ...) et les technologies logicielles actuelles (Java, C#, .NET, Android,...).

Public et conditions d'accès

Auditeurs se destinant aux métiers de l'intégration. Des connaissances préalables en génie logiciel et en conception par objet sont requises pour suivre ce cours. Ce cours fait suite au cours NSY208 qui doit avoir été préalablement suivi.

Compétences

Maîtriser l'architecture d'un système autonome ou basé sur un intergiciel (middleware). Savoir choisir les patrons de conception (design patterns) adaptés. Etre capable de réaliser la conception, l'intégration, le déploiement, et la mise en oeuvre de tels systèmes

Méthodes de validation

Contrôle continu (projet avec remise d'un document livrable et soutenance orale)     

Contenu de la formation

Introduction:les plateformes mobiles, Cordova

Présentation Android : la plate-forme Android. Composants et outils. Développement avec Android, communications inter activités, intensions, Publish & Subscribe, Services, content providers, ...

Vues Android, Activité, Modèle Vue Contrôleur : couplage faible de classes, pattern Observable/Observateur. La classe Activité. Cycle de vie d'une activité. Mise en Pratique

Android et la programmation concurrente: exécutions concurrentes. La classe Thread. Priorité et ordonnancement. Accès au ressources et synchronisation. Requêtes sur le Web. Appels distants JRMP (RMI). Exemples.

Notions avancées d'Android: Android UIThread, Handler, AsyncTask, ...

Services Android: géolocalisation, multimedia, communications WiFi, NFC, Bluetooth: Mise en oeuvre.

Technologies JAVA, C#, .NET - Middlewares orientés messages (MOM), JMS, MQSeries, ... courtiers d'objets, Java/RMI, NET, ... environnement d'exécution pour dispositifs mobiles : J2ME, OSGi, Windows ME, ....

Projet : Développement d'un projet tutoré de mise en œuvre des technologies étudiées, seul ou par groupes d'auditeurs.

Bibliographie
  • Mark L. Murphy: L’art du développement Android
  • McGraw Hill: Android. A Programmer's Guide
  • Wrox: Professional Android Application Development
  • Florent Garin: Android. Concevoir et développer des applications mobiles et tactiles
  • Yann Pollet: Architectures, systèmes, intégration (Ellipses, Références sciences)
  • Yann Pollet: Architectures logicielles réparties (Ellipses, Références sciences

Cette UE apparaît dans les diplômes et certificats suivants :

  • CYC9101A : Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)

Prochaines sessions de formation

Recherche en cours ...