Thèse : Développement logiciel mobile Android et géolocalisation

Le développement logiciel mobile, particulièrement sous Android, est un domaine en pleine expansion qui combine programmation, systèmes embarqués et technologies de géolocalisation.

D'après le document Thèse : Développement logiciel mobile Android et géolocalisation

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

Thèse : Développement logiciel mobile Android et géolocalisation

Programming, Math, etc. · PDF · 55 pages · 2010

Afficher l'aperçu du document

Consulter le document original →

Le développement logiciel mobile, particulièrement sous Android, est un domaine en pleine expansion qui combine programmation, systèmes embarqués et technologies de géolocalisation. Cette étude s’intéresse à la conception d’une application Android dédiée à la géolocalisation d’un véhicule, un sujet pertinent pour les étudiants en informatique mobile, les développeurs débutants et les passionnés de systèmes embarqués.

La question

Le projet aborde la problématique suivante : comment concevoir une application mobile Android permettant à un utilisateur de localiser facilement sa voiture en cas d’oubli ou de perte de son emplacement ? Cette question est importante car, malgré la multiplicité d’applications existantes, aucune ne propose une solution gratuite, complète et fonctionnelle dans toutes les circonstances, notamment en cas de rupture de connexion internet ou de perte d’orientation.

L’objectif est donc de développer une application fiable, accessible et ergonomique qui exploite pleinement les outils de géolocalisation et d’orientation disponibles sur la plateforme Android.

Concepts de base

Pour comprendre ce projet, il est essentiel de saisir plusieurs notions clés :

  • Informatique ubiquiste (pervasive computing) : il s’agit de la miniaturisation et de l’intégration des dispositifs électroniques dans les objets du quotidien, permettant un accès aux services informatiques indépendamment de la localisation.
  • Informatique mobile : sous-catégorie de l’informatique ubiquiste, elle concerne les dispositifs mobiles communicants, souvent de petite taille, capables de se connecter à divers réseaux. Les smartphones en sont l’exemple typique.
  • Smartphone : téléphone intelligent doté d’un système d’exploitation ouvert, capable d’exécuter des applications tierces. Il intègre des fonctionnalités de communication, bureautique, multimédia et géolocalisation.
  • Android : système d’exploitation open source basé sur un noyau Linux, conçu pour les appareils mobiles. Il offre une architecture en couches, comprenant le noyau Linux, des bibliothèques middleware, une machine virtuelle Java (Android Runtime), un framework de développement et des applications natives.
  • Google Maps API : interface de programmation permettant d’intégrer des cartes interactives dans une application, avec différents types de vues (classique, satellite, mixte, relief).
  • GPS (Global Positioning System) : système de positionnement par satellite permettant de connaître sa position géographique, sa vitesse et de planifier des itinéraires. C’est une technologie gratuite mais nécessite un équipement compatible.
  • Android Radar et Android Compass : applications exploitant les capteurs du téléphone (GPS, boussole numérique, accéléromètre) pour fournir des informations d’orientation et de distance vers une cible.

Approche

Le projet s’est déroulé dans le cadre d’un stage en entreprise, Instance-IT, spécialisée dans le développement de solutions informatiques personnalisées. La méthodologie adoptée est l’eXtreme Programming (XP), qui repose sur quatre valeurs clés : communication, simplicité, feedback et courage. Le cycle de vie du projet comprend une phase d’exploration, la transformation des scénarios clients en tâches et tests fonctionnels, la réalisation des tâches en binôme, puis la livraison du produit lorsque tous les tests sont validés.

La conception de l’application s’appuie sur une architecture Android classique, avec des composants tels que les vues (éléments graphiques), les contrôles (boutons, champs de saisie), les activités (fenêtres affichées à l’utilisateur), les ressources (textes, images) et le fichier de configuration AndroidManifest.xml.

Le développement utilise les outils suivants : Eclipse avec le plugin ADT, le SDK Android, et les langages Java pour la programmation et XML pour la définition des interfaces.

Le projet s’est structuré en plusieurs étapes : étude théorique, analyse critique des applications existantes, spécification des besoins fonctionnels et non fonctionnels, modélisation UML (diagrammes de cas d’utilisation, classes et séquences), conception architecturale (architecture MVC), puis réalisation technique.

Résultats

L’étude des applications existantes a révélé que, bien que nombreuses, elles présentent des limites, notamment en termes de disponibilité gratuite, de fonctionnement en mode hors ligne, et de complétude des fonctionnalités. Certaines ne gèrent pas bien la perte de connexion internet ou la perte de direction.

La solution proposée, « Locate My Car », vise à combler ces lacunes en offrant :

  • Un choix entre mode de navigation en ligne (On-Line) et hors ligne (Off-Line).
  • Le marquage et l’enregistrement de la position de la voiture via GPS, utilisable en mode connecté ou non.
  • La consultation de la position actuelle de l’utilisateur par rapport à celle de la voiture, avec affichage sur carte ou vue radar indiquant distance et direction.
  • La possibilité d’envoyer la localisation enregistrée à un contact via SMS.
  • Une section d’introduction expliquant le fonctionnement de l’application.

Les besoins non fonctionnels ont également été pris en compte : l’application doit être ergonomique, rapide, efficace en toutes circonstances, et son code doit être maintenable et évolutif.

La modélisation UML a permis d’identifier clairement l’acteur principal (le propriétaire du téléphone Android) et ses interactions avec le système, facilitant la conception et la réalisation.

Limites et questions ouvertes

Le travail ne traite pas explicitement des contraintes liées à la précision GPS dans des environnements urbains denses ou en intérieur, ni des questions de sécurité et de confidentialité des données de localisation. De plus, la gestion des interruptions système ou des erreurs liées aux capteurs n’est pas détaillée.

Enfin, bien que la méthodologie XP favorise l’adaptabilité, le rapport ne mentionne pas d’évaluations utilisateurs ou de tests sur le terrain, ce qui pourrait être une étape future pour valider l’efficacité réelle de l’application.

Glossaire

  • Android : système d’exploitation open source pour appareils mobiles basé sur Linux.
  • API (Application Programming Interface) : interface permettant à un logiciel d’utiliser les fonctionnalités d’un autre.
  • GPS (Global Positioning System) : système de positionnement par satellites fournissant la localisation géographique.
  • Informatique ubiquiste : informatique intégrée dans tous les objets du quotidien, accessible partout.
  • Java : langage de programmation utilisé pour développer des applications Android.
  • Methodologie eXtreme Programming (XP) : méthode agile de développement logiciel basée sur la communication, simplicité, feedback et courage.
  • Smartphone : téléphone mobile intelligent doté d’un système d’exploitation et d’applications tierces.
  • UML (Unified Modeling Language) : langage de modélisation standardisé pour représenter les systèmes logiciels.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions