[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY Organisme ou entreprise Validation du document Nom Date Visa Amel LIMAM Organisme ou entreprise Approbation du document Nom Date Visa
Table des matières Introduction... 3 Contexte... 3 Contraintes d exploitation du logiciel... 3 Périmètre du logiciel... 3 Processus métier... 3 Intervenants... 3 Données... 3 Activités... 3 Processus... 3 Fonctionnalités du Logiciel... 4 Cas d utilisation... 4 Scénario de validation... 4 Contraintes non-fonctionnelle... 5 Lien avec d autres logiciels... 5 Disponibilités... 5
Introduction Contexte Le nombre d applications Android ne cesse de s accroître. Seulement, une certaine partie de ces applications révèle des disfonctionnements lors de leur utilisation dus notamment à des erreurs de structuration. Ce logiciel se veut donc un assistant pour les développeurs d applications Android. Il permet de vérifier qu une application Android a été correctement construite et ce, en étant conforme à certaines règles définies dans le logiciel. Contraintes d exploitation du logiciel Le logiciel n a aucune contrainte d exploitation si ce n est celle de pouvoir être lancé, utilisé et fermé à la demande de l utilisateur. Périmètre du logiciel Le logiciel est destiné aux développeurs d applications Android afin de les aider à vérifier la validité de leur application. A ce même titre, il peut être utilisé par les vérificateurs d applications déployées sur les markets. Processus métier Intervenants [?] Données Le logiciel s intéressera aux composants de l application Android (composants graphiques) Activités Sélectionner le projet Parcourir le projet (analyse des fichiers) Construire le modèle Analyser les propriétés et vérifier la conformité aux règles Présenter les résultats à l utilisateur Processus Scan du code du projet Afin de pouvoir identifier les différents composants, il est nécessaire de parcourir le code de l application. Pour ce faire, on utilise JDT pour les fichiers java et DOM pour les fichiers xml. Elaboration du modèle On utilise EMF pour créer un méta-modèle représentatif de la structure des applications android. A partir de ce méta-modèle, on instancie le modèle de l application. Analyse des propriétés On se basera essentiellement sur les propriétés suivantes : o Tous les ressources xml définies sont bie utilisées dans les fichiers java.
o o Toute vue utilisée dans les fichiers java est déclarée dans les fichiers xml A chaque type d élément déclaré dans les fichiers java correspond un type compatible dans les fichiers xml Fonctionnalités du Logiciel Cas d utilisation [cf Story Board ] Scénario de validation Téléchargement plug-in/installation Pour l url fourni, l update site est accessible et des paquets sont téléchargeables Suite à l installation du plugin, ce dernier est présent dans les perspectives d Eclipse Lancement et chargement d un projet Si un projet n est pas chargé dans le workspace courant, un message d erreur doit s afficher. De la même façon, un message d erreur doit s afficher si le projet n est pas un projet Android (Vérification qu il contient au minimum les deux fichiers src et res ainsi qu un fichier indiquant que c est bien un projet Android) Lorsque le projet est chargé, le chemin physique du projet doit s affiche dans l EditText Lorsque le projet est chargé, il doit apparaître dans l arborescence (package explorer) Analyse de code et vérification des propriétés Id = 1 Nom = Contrôler la détection des erreurs de cast par le plugin /** *Prendre un projet contenant une erreur de cast et contrôler que l erreur *apparaît bien dans la page de résultats */ setcontentview(r.layout.test); TextView tv= (TextView) findviewbyid(r.id.btn); Code XML (fichier test.xml) <Button android :id= @+id/btn /> Cast error: type in machin.java line xx is incompatible with machin.xml line yy
Id = 2 Nom = Détecter les layout xml inutiles setcontentview(r.layout.fichier1); //setcontentview(r.layout.fichier2) ; Le fichier /res/layout/fichier2.xml n est pas utilisé dans le code Java. Id = 3 Nom = Vérifier que tout élément graphique appelé dans le code Java existe dans le fichier xml /** *Prendre un projet avec deux fichiers xml fichier1.xml et fichier 2.xml. Dans le *code java, n appeler qu un de ces deux fichiers */ setcontentview(r.layout.fichier) ; TextView tv= (TextView) findviewbyid(r.id.btn); Code XML (fichier.xml) Absence d une balise de type TextView ayant l id btn dans ce fichier. L élément référencé dans la méthode findviewbyid (fichier.java l.30) ne figure pas dans le layout /res/layout/fichier.xml. Contraintes non-fonctionnelle Lien avec d autres logiciels Le logiciel se présente sous forme d un plugin qui pourra être rajouté dans l IDE Eclipse. C est ce dernier qui lui fournira notamment les fonctionnalités de l EMF. Disponibilités Le plugin devra être disponible en téléchargement à tout moment.