Professional Documents
Culture Documents
par
MEMOIRE
Prsent
Ddicaces
Je ddie ce travail
Mes parents, Ma fiance, Mes frres et Ma sur, Mes beaux parents, Et tous mes amis.
Remerciements
Au terme de ce travail, je tiens remercier Monsieur Adnen CHERIF, pour avoir accept de prsider le jury de ma soutenance.
Mon encadreur Monsieur Riadh BOUHOUCH, pour ses qualits humaines et professionnelles, pour son encadrement, ses directives, ses remarques constructives, et sa disponibilit.
Mon encadreur Monsieur Hichem KLOUZ, directeur technique de la socit iSecure, pour ses qualits humaines et professionnelles et ses conseils fructueux.
Tous les personnels de la socit iSecure pour leurs encouragements continus et leurs aides prcieuses.
CONCLUSION .................................................................................................................................... 22
CHAPITRE 4 : ANALYSE
INTRODUCTION ............................................................................................................................... 23 I ANALYSE DU CAS DUTILISATION SIDENTIFIER .................................................. 23 I.1 Description ............................................................................................................................ 23 I.2 Diagramme de cas dutilisation ............................................................................................. 24 II ANALYSE DU CAS DUTILISATION GERER COMPTE .............................................. 24 II.1 Cas dutilisation : Crer un compte ................................................................................... 24 II.1.a Description .................................................................................................................... 24 II.2 Cas dutilisation : Modifier un compte .............................................................................. 25 II.2.a Description .................................................................................................................... 25 II.3 Diagramme de cas dutilisation ......................................................................................... 26 III ANALYSE DU CAS DUTILISATION LISTER LES APPLICATIONS ....................... 26 III.1 III.2 IV.1 IV.2 V V.1 V.2 VI.1 VI.2 VII Description ........................................................................................................................ 26 Diagramme de cas dutilisation ......................................................................................... 27 Description ........................................................................................................................ 28 Diagramme de cas dutilisation ......................................................................................... 28 Description ........................................................................................................................ 29 Diagramme de cas dutilisation ......................................................................................... 29 Description ........................................................................................................................ 30 Diagramme de cas dutilisation ......................................................................................... 31
ANALYSE DU CAS DUTILISATION DONNER UN AVIS ........................................ 31 VII.1 Description ........................................................................................................................ 31 VII.2 Diagramme de cas dutilisation ......................................................................................... 32
VIII
ANALYSE DU CAS DUTILISATION VOIR ACTUALITES ..................................... 32 VIII.1 Description ........................................................................................................................ 32 VIII.2 Diagramme de cas dutilisation ......................................................................................... 33
CONCLUSION .................................................................................................................................... 33
CHAPITRE 5 : CONCEPTION
INTRODUCTION ............................................................................................................................... 34 I DIAGRAMME DACTIVITES : ............................................................................................... 34 I.1 I.2 I.3 I.4 II Diagramme dactivits de cas dutilisation Sidentifier .................................................. 34 Diagramme dactivits de cas dutilisation Crer un compte ............................................ 36 Diagramme dactivits de cas dutilisation Tlcharger une application .......................... 37 Diagramme dactivits de cas dutilisation Lister les applications par catgorie .............. 38
II.1 Diagramme de squence de cas dutilisation Sidentifier ........................................... 39 II.2 Diagramme de squence de cas dutilisation Grer compte ........................................ 40 II.2.a Diagramme de squence de cas dutilisation Crer compte .................................... 40 II.2.b Diagramme de squence de cas dutilisation Modifier compte ............................... 41 II.3 Diagramme de squence de cas dutilisation Lister les Applications .......................... 42 II.4 Diagramme de squence de cas dutilisation Rechercher une Application ................. 43 II.5 Diagramme de squence de cas dutilisation Donner un avis ..................................... 44 II.6 Diagramme de squence de cas dutilisation Mise A Jours Application ..................... 44 II.7 Diagramme de squence de cas dutilisation Tlcharger une application ................. 45 II.8 Diagramme de squence de cas dutilisation Voir Actualits ...................................... 45 III DIGRAMME DE CLASSE ........................................................................................................ 46 CONCLUSION .................................................................................................................................... 46
Diagramme 1: Diagramme de cas dutilisation gnral ........................................................................ 19 Diagramme 2: Diagramme de cas dutilisation Sidentifier ............................................................ 24 Diagramme 3: Diagramme de cas dutilisation Grer Compte ....................................................... 26 Diagramme 4: Diagramme de cas dutilisation Lister les applications ........................................... 27 Diagramme 5: Diagramme de cas dutilisation Mise jour application ......................................... 28 Diagramme 6: Diagramme de cas dutilisation Rechercher une application .................................. 29 Diagramme 7: Diagramme de cas dutilisation Tlcharger une application .................................. 31 Diagramme 8: Diagramme de cas dutilisation Donner un avis ...................................................... 32 Diagramme 9: Diagramme de cas dutilisation Voir Actualits ...................................................... 33 Diagramme 10: Diagramme dactivits de cas dutilisation Sidentifier ....................................... 35 Diagramme 11: Diagramme dactivits de cas dutilisation Crer un compte ............................... 36 Diagramme 12: Diagramme dactivits de cas dutilisation Tlcharger une application ............. 37 Diagramme 13: Diagramme dactivits de cas dutilisation Lister les applications par catgorie .. 38 Diagramme 14: Diagramme de squence de cas dutilisation Sidentifier ...................................... 39 Diagramme 15: Diagramme de squence de cas dutilisation Crer Compte ................................. 40 Diagramme 16: Diagramme de squence de cas dutilisation Modifier compte .............................. 41 Diagramme 17: Diagramme de squence de cas dutilisation Lister les applications ..................... 42 Diagramme 18: Diagramme de squence de cas dutilisation Rechercher une application ........... 43 Diagramme 19: Diagramme de squence de cas dutilisation Donner un avis .............................. 44 Diagramme 20: Diagramme de squence de cas dutilisation Mise jour application .................. 44 Diagramme 21: Diagramme de squence de cas dutilisation Tlcharger une application ........... 45 Diagramme 22: Diagramme de squence de cas dutilisation Voir Actualits ............................... 45 Diagramme 23: Diagramme de classe gnral ...................................................................................... 46
Introduction gnrale
INTRODUCTION GENERALE
Les progrs conjoints de la microlectronique, des technologies de transmission sans fil et des applications embarques ont permis de produire cot raisonnable des terminaux mobiles de haute technologie comme les Smartphones et les tablettes PC. Actuellement la socit Apple travers son Smartphone iPhone, sa tablette PC iPad et son systme dexploitation iPhone OS est en forte concurrence avec la communaut Open Handset Alliance (OHA) qui englobe Google, Motorola, HTC, Samsung, etc. Cette dernire quipe ses terminaux mobiles par le systme dexploitation mobile Android OS. Cette concurrence a stagn lvolution des tlphones, alors que les Smartphones sont en croissance forte. Dans cette perspective, la socit iSecure en collaboration avec la socit F.T.D (Fliss Technologie Developpement) ont choisit de sintgrer dans la communaut OHA, en dposant sur le march des TIC leur propre tablette PC, appele FTAB,
fonctionnant sous Android OS . Durant le stage de PFE, il nous a t demand de faire la conception, le dveloppement et lintgration dune application embarque de tlchargement des applications Android sur la FTAB, cette application est appele Ftab Store. Ce prsent rapport sera structur en 6 chapitres : Dans le premier chapitre Cadre Gnral , nous prsentons le cadre de notre stage de projet de fin dtude savoir lorganisme de la socit iSecure , la tablette PC FTAB ainsi que le sujet sur lequel portera notre PFE et la mthodologie de travail adopte. Dans le second chapitre intitul Etude pralable , nous nous proposons danalyser lexistant et donnons un aperu sur la plateforme Web Ftab Store . Et enfin, nous critiquons lexistant et proposons une solution. Dans le troisime chapitre Capture des besoins , nous identifions les acteurs du futur systme, les besoins fonctionnels et non fonctionnels ainsi que le diagramme de cas
1
Introduction gnrale
dutilisation gnral. Des prototypes dinterfaces utilisateurs seront insrs pour donner un aperu prliminaire. Dans le quatrime chapitre Analyse , nous faisons une analyse dtaille et complte des cas dutilisation reprs travers le chapitre prcdent. Dans le cinquime chapitre Conception , nous laborons une conception dtaille des cas dutilisation, les diagrammes de squence, ainsi que le diagramme de classe complet. Dans le dernier chapitre intitul Implmentation , nous prsentons lenvironnement matriel et logiciel, le passage vers le schma relationnel et quelques composantes applicatives ralises. Enfin, nous clturons ce mmoire par une conclusion dans laquelle nous rsumons notre solution et exposant quelques perspectives futures.
Comptences et technologies : iSecure propose des prestations informatiques globales s'articulant autour de 3 activits : Scurit, Rseaux et Services. Elle propose une large gamme de services informatiques : Scurit : Systme d'alarme, Camra de surveillance,
3
Camra IP, Contrle d'accs. Vente : Matriels et quipements informatique, Cblage et quipements rseaux. Installation : Matriels et quipements informatique, Rseaux informatiques, Systmes de protection et de stockage de donnes, Maintenance : Matriels et quipements informatique, Equipements rseaux. Dveloppement : Logiciels personnaliss et spcifiques, Cration de sites web, hbergement et rfrencement, Solutions cl en main pour magasins, boutiques, Formation Lorganisation de la socit iSecure se prsente comme suit:
PRODUIT
Nom du produit : Usage : Public cibl : Date de production FTAB Affaires, divertissement, Manipuler facilement le web, email, photos, etc. Tous Dcembre 2010
Systme
Entre /Sortie
Vido
Internet Photos
Figure 2: Reprsentation graphique des caractristiques de la FTAB
Recherche: est un module qui permet de rechercher une application en entrant par exemple son titre ou le nom de son dveloppeur, Mes tlchargements: chaque accs cet onglet, l'application recherche automatiquement des mises jour pour les applications tlcharges sur la Ftab. Linterface de prsentation de chaque application affichera les lments suivants : Une description et diverses informations comme la date de parution, le poids de l'application ainsi que la version actuelle, Un bouton pour la tlcharger, Une interface permettant de visionner les captures d'cran du logiciel, Les avis des utilisateurs. Quand une application est tlcharge partir de la Ftab Store, elle est directement installe sur la FTAB.
Dfinition des objectives: Cette tape consiste dfinir la finalit du projet et son inscription dans une stratgie globale, Analyse des besoins et faisabilit: Cest--dire lexpression, le recueil et la formalisation des besoins du demandeur (le client) et de lensemble des contraintes, puis lestimation de la faisabilit de ces besoins, Specifications ou conception gnrale: Il sagit de llaboration des spcifications de larchitecture gnrale du logiciel, Conception dtaille: Cette tape consiste dfinir prcisment chaque sous-ensemble du logiciel, Codage (Implmentation ou programmation): Cest la traduction dans un langage de programmation des fonctionnalits dfinies lors de phases de conception, Tests unitaires: Ils permettent de vrifier individuellement que chaque sous-ensemble du logiciel est implment conformment aux spcifications, Intgration : Lobjectif est de sassurer de linterfaage des diffrents lments (modules) du logiciel. Elle fait lobjet de tests dintgration consigns dans un document, Qualification (ou recette) : Cest--dire la vrification de la conformit du logiciel aux spcifications initiales, Documentation : Elle vise produire les informations ncessaires pour lutilisation du logiciel et pour des dveloppements ultrieurs, Mise en production : Cest le dploiement sur site du logiciel, Maintenance : Elle comprend toutes les actions correctives (maintenance corrective) et volutives (maintenance volutive) sur le logiciel. La squence et la prsence de chacune de ces activits dans le cycle de vie dpend du choix dun modle de cycle de vie entre le client et lquipe de dveloppement. Le cycle de
vie permet de prendre en compte, en plus des aspects techniques, lorganisation et les aspects humains. Ils existent plusieurs modles de cycles de vie dun logiciel tels que : Modle en cascade, en V, en spiral, par incrment, etc.
Vrification Tests unitaires Intgration Test dintgration Mise en production Validation Maintenance
Codage
Le modle original ne comportait pas de possibilit de retour en arrire. Celle-ci a t rajoute ultrieurement sur la base quune tape ne remet en cause que ltape prcdente, ce qui, dans la pratique, savre insuffisant. Linconvnient majeur du modle de cycle de vie en cascade est que la vrification du bon fonctionnement du systme est ralise trop tardivement: lors de la phase dintgration, ou pire, lors de la mise en production.
Spcifications
Qualification
Conception gnrale
Tests dintgration
Conception dtaille
Tests unitaires
Codage
Figure 4: Modle du cycle de vie en V Le principe de ce modle est quavec toute dcomposition doit tre dcrite la recomposition et que toute description dun composant est accompagne de tests qui permettront de sassurer quil correspond sa description. Ceci rend explicite la prparation des dernires phases (validation-vrification) par les premires (construction du logiciel), et permet ainsi dviter un cueil bien connu de la spcification du logiciel : noncer une proprit quil est impossible de vrifier objectivement aprs la ralisation.
10
La reprsentation en V tient d'avantage compte de la ralit, le processus de dveloppement n'est pas rduit un enchanement de tches squentielles. Elle montre que: C'est en phase de spcification que l'on se proccupe des procdures de qualification, C'est en phase de conception globale que l'on se proccupe des procdures d'intgration, C'est en phase de conception dtaille que l'on prpare les tests unitaires. Le modle de cycle de vie en V permet d'anticiper sur les phases ultrieures de dveloppement du produit. En particulier le modle en V permet de commencer plus tt: Plan de tests de qualification, Plan d'valuation des performances. Cependant, ce modle souffre toujours du problme de la vrification trop tardive du bon fonctionnement du systme.
11
Une organisation et des moyens de mise en uvre. Merise s'est attache, en son temps, proposer un ensemble "cohrent" sur ces trois composantes. Certaines ont vieilli et ont du tre ractualises (la dmarche), d'autre "tiennent encore la route" (les modlisations). UML se positionne exclusivement comme un ensemble de formalismes. Il faut y associer une dmarche et une organisation pour constituer une mthode. Mthode pour ? Merise se positionne comme une mthode de conception de SI organisationnel, plus tourne vers la comprhension et la formalisation des besoins du mtier que vers la ralisation de logiciel. En sens, Merise se rclame plus de l'ingnierie du SI mtier que du gnie logiciel. Jamais Merise ne s'est voulu une mthode de dveloppement de logiciel ni de programmation. UML, de par son origine (la programmation objet) s'affirme comme un ensemble de formalismes pour la conception de logiciel base de langage objet. Merise est encore tout fait valable pour: La modlisation des donnes en vue de la construction d'une base de donnes relationnelle, La modlisation des processus mtiers d'un SI automatis en partie par du logiciel. la formalisation des besoins utilisateur dans le cadre de cahier des charges utilisateur, en vue de la conception d'un logiciel adapt. UML est idal pour : Concevoir et dployer une architecture logiciel dveloppe dans un langage objet (Java, C++, VB.net). Certes UML, dans sa volont "unificatrice" a propos des formalismes, Pour modliser les donnes (le modle de classe rduit sans mthodes et strotyp en entits), mais avec des lacunes que ne prsentait pas l'entit relation de Merise, Pour modliser le fonctionnement mtier (le diagramme d'activit et de cas d'utilisation) qui sont des formalismes trs anciens.
12
Figure 5: Mthodologie de conception adopte Notre outil de conception UML est le logiciel Rational Rose 2003 Enterprise Edition de Rational Software Corporation. Cest une rfrence pour la modlisation UML. Nous allons lutiliser pour raliser tous les diagrammes UML.
CONCLUSION
Aprs avoir prsent le cadre gnral du projet, une tude pralable simpose afin dtudier le domaine de plus prs et de reprer la procdure de fonctionnement actuelle.
13
I ANALYSE DE LEXISTANT
I.1 PRESENTATION DE LANDROID MARKET
L'Android Market, existant depuis le 22 octobre 2008, est une boutique en ligne, similaire l'App Store, cre par Google pour le systme d'exploitation Android. Cest une application pr-installe sur chaque tlphone fonctionnant sous Android, permettant de tlcharger des applications dvelopps par des socits ou des dveloppeurs indpendants.
14
15
II CRITIQUES DE LEXISTANT
Comme nous pouvons le constater, la plateforme actuelle de la socit iSecure prsente certaines limites : Du fait que elle est mal optimise pour tre dploye sur un terminal mobile, Lutilisateur de la FTAB a besoin dun accs rapide aux diffrentes applications hberges sous la plateforme Web Ftab Store avec un cout minimum, Devant la popularit de lAndroid Market, la plateforme Web Ftab Store reste peu utilise, voire inconnue, par les utilisateurs de la FTAB.
Client Ftab
La FTAB
CONCLUSION
Ce chapitre nous a permis de dgager les limites de la plateforme dploye actuellement par la socit iSecure. Ce qui prpare le terrain une capture des futurs besoins qui seront tudis et modliss dans le chapitre suivant.
16
17
Lister les 20 applications les plus tlcharges, Lister les 10 nouvelles applications, Rechercher une application, Tlcharger et installer une application, Mettre jours ses tlchargements, Donner son avis sur une application quil a tlcharg, Voir les actualits de la socit iSecure.
18
19
Boite de dialogue dauthentification Login : Mot de passe : Bouton OK Bouton Annuler Appuie sur OK [identifi] 1. 2. 3. 4. 5.
Menu principal Onglet Slection Onglet Catgories Onglet Top 20 Onglet Recherche Onglet Mes tlchargements
Onglet Slection 1. Publicits iSecure 2. Liste des 10 nouvelles applications Appuie sur 2 : Choisir une application Infos Application Dtail application :titre, description, etc Bouton Tlcharger Application Bouton Noter Application Bouton Avis Application
Appuie sur Tlcharger Interface dinstallation Botton OK Bouton Annuler Boite de dialogue : Tlchargement ProgressBar pour voir le temps de tlchargement. Fin tlchargement
Appuie Sur OK
20
Voici un prototype dinterface offert au Client Ftab aprs identification pour chercher une application Onglet Recherche :
Boite de dialogue dauthentification Login : Mot de passe : Bouton OK Bouton Annuler Appuie sur OK [identifi] 1. 2. 3. 4. 5.
Menu principal Onglet Slection Onglet Catgories Onglet Top 20 Onglet Recherche Onglet Mes tlchargements
Non identifi Appuie sur 4 Onglet Recherche Rafficher la boite de dialogue dauthentification Message Accs refus 1. Recherche : 2. Bouton Recherche
Appuie sur 2 Appuie sur Annuler Onglet Recherche Message Aucun rsultat ne correspond votre recherche
Choisir une application Infos Application Dtail application :titre, description, etc Bouton Tlcharger Application Bouton Noter Application Bouton Avis Application Interface dinstallation Botton OK Bouton Annuler Appuie sur Tlcharger Boite de dialogue : Tlchargement Appuie Sur Annuler Fin tlchargement ProgressBar pour voir le temps de tlchargement.
Appuie Sur OK
21
CONCLUSION
Ce chapitre nous a permis de faire un dcoupage fonctionnel de notre futur systme par le biais du diagramme de cas dutilisation et danticiper sur les interfaces qui seront dveloppes ultrieurement. Dans le chapitre suivant, nous prsentons une analyse dtaille pour les cas dutilisation de notre systme.
22
Chapitre 4: Analyse
CHAPITRE 4 : ANALYSE
INTRODUCTION
Dans ce prsent chapitre, nous nous proposons danalyser les diffrents cas dutilisation que nous venons de reprer travers lactivit de capture des besoins afin de dterminer les diffrentes classes intervenant dans chacun des cas et de reprer le squencement des flux pour chaque scnario de ralisation. Il sagit donc l dune activit importante, qui sert de base pour le passage lactivit de conception.
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab doit avoir un compte sur Ftab Store SCENARIO NOMINAL 1. Le client Ftab demande laccs au systme, 2. Le systme affiche le formulaire dauthentification, 3. Le client Ftab saisit son login et son mot de passe, 4. Le systme vrifie les champs (champs obligatoires,..), Post conditions Accs son espace priv.
23
Chapitre 4: Analyse
5. Le systme vrifie lexistence de lutilisateur, 6. Si le client Ftab est identifi, le systme affiche linterface de Ftab Store. ENCHAINEMENT ALTERNATIF E1 : Champs obligatoires non valides et/ou vides 1. Le systme affiche un message derreur, 2. Le scnario reprend de 2. E2 : Login ou mot de passe non valide 1. Le systme affiche un message derreur Accs refus , 2. Le scnario reprend de 2.
Client Ftab
S'identifier
24
Chapitre 4: Analyse
SCENARIO NOMINAL 1. Le client Ftab demande la cration dun nouveau compte Ftab Store, 2. Le systme affiche le formulaire dinscription, 3. Le client Ftab remplit le formulaire puis valide, 4. Le systme vrifie puis cre un nouveau compte avec les informations fournies,
5. Le client Ftab accde linterface de Ftab Store.
ENCHAINEMENT ALTERNATIF E1 : Champs obligatoires non valides et/ou vides 1. Le systme affiche un message derreur, 2. Le scnario reprend de 2. E2 : Login existe dans la base de donnes 1. Le systme affiche un message derreur Login non disponible , 2. Le scnario reprend de 2.
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab est authentifi. SCENARIO NOMINAL Post conditions
Compte Ftab Store modifi.
1. Le client Ftab consulte ses informations personnelles, 2. Le systme affiche les informations de son compte,
25
Chapitre 4: Analyse
3. Le client Ftab effectue les modifications ncessaires puis valide, 4. Le systme sauvegarde les nouvelles informations fournies. ENCHAINEMENT ALTERNATIF E1 : Champs obligatoires non valides et/ou vides 1. Le systme affiche un message derreur 2. Le scnario reprend de 2 E2 : Login existe dans la base de donnes 1. Le systme affiche un message derreur Login non disponible 2. Le scnario reprend de 2
Rsum :
lister les applications par catgorie, lister les 10 nouvelles applications, lister les 20 applications les plus tlcharges.
26
Chapitre 4: Analyse
Acteur :
Client Ftab
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab est authentifi Post conditions Afficher la prsentation dune application choisie. SCENARIO NOMINAL 1. Le client Ftab choisit un critre pour lister les applications, 2. Le systme affiche la liste des applications selon le critre choisit par le client Ftab, 3. Le client Ftab choisit une application, 4. Le systme affiche la prsentation de lapplication choisie. ENCHAINEMENT ALTERNATIF E1 : Lutilisateur na pas trouv son application dsire 1. scenario reprend de 1
27
Chapitre 4: Analyse
Client Ftab
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab est authentifi Post conditions Le client Ftab tlcharge et installe la mise jour
SCENARIO NOMINAL 1. Le client demande la liste de ses tlchargements 2. Le systme notifie le client Ftab par les mises jour disponibles. 3. Le client Ftab tlcharge la mise jour dsire. 4. Le systme affiche la barre de tlchargement. 5. Le systme demande lutilisateur sil veut installer la mise jour. 6. Le client Ftab valide linstallation. ENCHAINEMENT ALTERNATIF E1 : Aucune mise jour nest disponible
Chapitre 4: Analyse
V ANALYSE
DU
CAS
DUTILISATION
RECHERCHER
UNE
APPLICATION
V.1 DESCRIPTION
SOMMAIRE DIDENTIFICATION Titre : But : Rsum : Acteur :
Rechercher une application. Rechercher une application travers un mot cl. Le client Ftab recherche une application en tapant son titre, le systme affiche toutes les applications qui correspondent sa requte.
Client Ftab
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab est authentifi Post conditions Rechercher une application
SCENARIO NOMINAL 1. Le client demande le formulaire de recherche, 2. Le systme affiche le formulaire de recherche, 3. Le client Ftab tape sa requte, 4. Le systme cherche toutes les applications qui correspondent sa requte, 5. Le systme affiche le rsultat. ENCHAINEMENT ALTERNATIF E1 : Application non trouve 1. Le systme affiche un message derreur Aucun rsultat ne correspond votre
recherche .
2. Le scnario reprend de 1
29
Chapitre 4: Analyse
VI ANALYSE
DU
CAS
DUTILISATION
TELECHARGER
UNE
APPLICATION
VI.1 DESCRIPTION
SOMMAIRE DIDENTIFICATION Titre : But :
Tlcharger une application. Tlcharger une application et linstaller sur la tablette. Le client Ftab demande de tlcharger une application, le systme affiche une
Rsum :
barre de progression. Une fois le tlchargement est termin, le systme lance le service dinstallation automatiquement.
Acteur :
Client Ftab
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab est authentifi Le client Ftab a choisit une application SCENARIO NOMINAL Post conditions Application tlcharge et installe
1. Le client Ftab demande de tlcharger une application. 2. Le systme affiche la barre de tlchargement. 3. Une fois le tlchargement est termin, le systme lance le service dinstallation 4. Le client Ftab valide linstallation ENCHAINEMENT ALTERNATIF E1 : Erreur de tlchargement 1. Le systme affiche un message derreur. 2. Le scnario reprend de 2
30
Chapitre 4: Analyse
Client Ftab
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab est authentifi Le client Ftab a choisit une application quil a tlcharger 1. Le client demande le formulaire davis, 2. Le systme affiche le formulaire davis, 3. Le client Ftab peut noter ou commenter une application puis valide, 4. Le systme sauvegarde lavis de lutilisateur. ENCHAINEMENT ALTERNATIF Post conditions Application note
SCENARIO NOMINAL
31
Chapitre 4: Analyse
E1 : Utilisateur na pas tlcharg lapplication quil veut la noter 1. Le systme affiche un message derreur Vous devez tlcharger cette
application avant de poster votre avis
Client Ftab
DESCRIPTION DES ENCHAINEMENTS Pr conditions Le client Ftab est authentifi SCENARIO NOMINAL 1. Lutilisateur choisit une publicit.
2. Le systme accde au site de la socit iSecure et affiche la publicit.
Post conditions
Accder de site www.isecure.tn
32
Chapitre 4: Analyse
ENCHAINEMENT ALTERNATIF
Aucun
VIII.2
CONCLUSION
Comme nous pouvons le constater, lactivit danalyse a permis de livrer une spcification complte des besoins issus du diagramme de cas dutilisation, de les structurer sous une forme qui facilite la comprhension et qui bauche vers lactivit de conception.
33
Chapitre 5: Conception
CHAPITRE 5 : CONCEPTION
INTRODUCTION
Dans le cadre de ce chapitre, nous nous intressons la conception des cas dutilisation que nous venons danalyser dans le chapitre prcdent.
I DIAGRAMME DACTIVITES :
Un diagramme d'activits permet de modliser un processus interactif, global ou partiel pour un systme donn (logiciel, systme d'information). Il est recommandable pour exprimer une dimension temporelle sur une partie du modle, partir de diagrammes de classes ou de cas d'utilisation, par exemple. Le diagramme d'activits est une reprsentation proche de l'organigramme ; la description d'un cas d'utilisation par un diagramme d'activits correspond sa traduction algorithmique. Une activit est l'excution d'une partie du cas d'utilisation, elle est reprsente par un rectangle aux bords arrondis. Dans ce qui suit, nous prsentons les diagrammes dactivits pour quelques cas
34
Chapitre 5: Conception
35
Chapitre 5: Conception
Chapitre 5: Conception
DE CAS DUTILISATION
TELECHARGER
UNE
Le processus de tlchargement dune application peut tre rsum dans le diagramme dactivits suivant :
37
Chapitre 5: Conception
I.4 DIAGRAMME
DACTIVITES
DE
CAS
DUTILISATION
LISTER
LES
Diagramme 13: Diagramme dactivits de cas dutilisation Lister les applications par catgorie
38
Chapitre 5: Conception
II DIAGRAMME DE SEQUENCE
Les diagrammes de squences sont la reprsentation graphique des interactions entre les acteurs et le systme selon un ordre chronologique dans la formulation UML. Dans ce qui suit, nous prsentons le diagramme de squence pour chaque cas dutilisation dans notre systme.
39
Chapitre 5: Conception
40
Chapitre 5: Conception
41
Chapitre 5: Conception
II.3 DIAGRAMME
DE SEQUENCE
DE CAS
DUTILISATION
LISTER
LES
APPLICATIONS
Le diagramme suivant prsente le cas dutilisation Lister les applications par catgorie :
42
Chapitre 5: Conception
II.4 DIAGRAMME
RECHERCHER
UNE
APPLICATION
43
Chapitre 5: Conception
II.6 DIAGRAMME
MISE A JOURS
APPLICATION
44
Chapitre 5: Conception
CAS DUTILISATION
TELECHARGER UNE
45
Chapitre 5: Conception
CONCLUSION
Comme nous pouvons le constater, lactivit de la conception a facilit la comprhension de notre systme, qui bauche vers lactivit dimplmentation.
46
Chapitre 6: Implmentation
CHAPITRE 6 : IMPLEMENTATION
INTRODUCTION
Dans ce chapitre, nous prsentons l'architecture sur laquelle nous avons dvelopp notre application, les diffrents outils utiliss ainsi que les composantes applicatives ralises.
I ENVIRONNEMENT MATERIEL
I.1 ARCHITECTURE MATERIELLE
Ftab Store est une application embarque qui se connecte un serveur de bases de donnes distant, via Internet, afin de rcuprer les donnes. Ce qui ncessite aussi lintgration dun serveur web entre lapplication client et le serveur de bases de donnes . Do larchitecture de notre partage entre: Le client Android : Conteneur dapplication et demandeur de ressources, Le serveur Web : Vue que les donnes serons communiques entre deux environnements htrognes, le rle principale du serveur web est de grer la communication entre le client Android et le serveur de base de donnes, Le serveur de base de donnes fournis les donnes au serveur web. application est 3 niveaux (architecture 3-tiers), elle est
47
Chapitre 6: Implmentation
Processeur Intel Core 2 Duo 2.2 GHz, 2 Go de mmoire vive, Disque dur de capacit 300 Go, Systme dexploitation Microsoft Windows 7.
La tablette PC FTAB , pour raliser les tests.
II TECHNOLOGIES
Ci-dessous un tableau reprsentant les diffrentes technologies utilises dans notre application : Android Systme d'exploitation open source pour Smartphones, PDA et terminaux mobiles. PHP Langage de scripts libre principalement utilis pour produire des pages Web dynamiques. MySQL Systme de gestion de base de donnes (SGBD). JSON (JavaScript Object Notation) Format de donnes textuel, gnrique, driv de la notation des objets du langage ECMAScript.
La mthode la plus rpandue de se connecter une base de donnes MySQL distance partir d'un appareil Android, est de mettre une sorte de service dans le milieu. MySQL est habituellement utilis avec PHP, donc la faon la plus simple et le plus vident d'crire des scripts PHP pour grer la base de donnes et excuter ces scripts en utilisant le protocole HTTP du systme Android. Nous avons cod les donnes dans le format JSON1, afin de communiquer les donnes entre PHP et Android, en exploitant les options facile utiliser construit dans les fonctions JSON dans les deux langages.
1
48
Chapitre 6: Implmentation
Si nous parlons de l'architecture 3-tiers de point de vue technologie, le client est la plateforme Android, le serveur web est le PHP et le serveur de bases de donnes est le MySQL.
Client
Serveur Web
Serveur de donnes
Figure 10: Architecture 3-tiers du point de vue technologie Aprs avoir prsent larchitecture matrielle ainsi que les technologies employes, il est clair que notre projet est divis en deux parties : Ecriture des scripts PHP, Dveloppement de lapplication client: Ftab Store.
49
Chapitre 6: Implmentation
disponibles depuis novembre 2007 en version 1.0. La version actuelle des sources est la version 3.0 (Gingerbread) qui est sortir en novembre 2010. Android a une trs grande communaut de dveloppeurs qui produisent des applications diverses et varies pour tendre les fonctionnalits du systme dexploitation. Il y a actuellement plus de 100 000 applications sur lAndroid Market, ce qui en fait le deuxime environnement de dveloppement le plus populaire, derrire iOS. Les applications sont crites pour la plupart en Java, et peuvent utiliser le hardware et les fonctionnalits du systme via des librairies Java dveloppes par Google. Le fait que le code soit compltement ouvert, permet de nombreux dveloppeurs de le modifier pour y ajouter des fonctionnalits ou corriger des bugs, et ainsi de proposer la communaut des builds personnaliss, souvent plus avancs que les versions officielles proposes par les constructeurs.
III.1.bArchitecture dAndroid
Pour bien comprendre la plateforme Android, nous dtaillons par la suite larchitecture du systme Android. Le portail des dveloppeurs Android nous prsente larchitecture du systme avec le schma ci-contre
Figure 11: Architecture du systme dexploitation Android Linux Kernel : Android sappuie sur le noyau Linux 2.6 pour les services systme de base tels que la scurit, la gestion de la mmoire et des processus, le rseau et
50
Chapitre 6: Implmentation
la gestion des drivers. Le noyau sert de couche dabstraction entre le matriel et le reste de la pile logicielle. Android Runtime : Android inclut un ensemble de librairies fournissant la plupart des fonctionnalits des librairies standard de Java. Chaque application Android sexcute dans un processus, avec sa propre instance de la machine virtuelle Java, appele Dalvik. Dalvik a t crit pour optimiser lexcution dune multitude dinstances de la machine virtuelle, avec une empreinte mmoire rduite. Dalvik sappuie sur le noyau Linux pour les fonctionnalits bas-niveau tels que les threads ou la gestion de la mmoire. Librairies: Android fournit un ensemble de librairies C/C++ utilises par diffrents composants du systme. Ces fonctionnalits sont rendues disponibles aux dveloppeurs au travers du framework dapplication dAndroid. On trouve parmi ces librairies: librairie C standard, moteurs daffichage 2D et 3D, SQLite, rendu des polices de caractres etc. Application Framework : Le framework dapplication est la couche qui nous intresse tout particulirement. Cest elle qui fait le lien, grce un ensemble dAPIs Java, entre le systme et lapplication. tant un systme ouvert, Android permet aux dveloppeurs de concevoir des applications trs riches et de tirer partie dun maximum de fonctionnalits. Les dveloppeurs ont donc accs aux mmes fonctionnalits que celles utilises par les applications fournies avec Android. Toute application Android repose sur un ensemble de services et systmes parmi lesquels : Un ensemble de Views permettant de construire linterface graphique de lapplication : listes, grilles, champs textes, images, et mme intgration dun navigateur web ou dune vue Google Maps, Des Content Providers qui permettent aux applications daccder des donnes dautres applications ou de partager ses propres donnes, Un Ressource Manager pour accder des lments autres que du code : donnes textuelles traduites, images, descriptions XML dinterfaces graphiques etc, Un Activity Manager pour grer le cycle de vie de lapplication.
51
Chapitre 6: Implmentation
Ce rapide survol de larchitecture du systme m a permis de mieux comprendre comment fonctionne une application Android. Confine dans la couche la plus haute, elle accde au systme uniquement via les APIs Java exposes par la couche Application Framework. Ainsi, si une fonctionnalit est prsente dans le noyau Linux (couche rouge sur le schma) ou dans les librairies systme (couche verte), mais quelle nest pas relie au framework dapplication, elle ne sera pas utilisable directement dans une application Android.
Figure 12: Portail des dveloppeurs Android Trs complet, ce site prsente Android, explique comment installer et utiliser les diffrents outils (SDK, NDK etc.), propose un ensemble de tutoriels et articles concernant le dveloppement dapplications Android, expose la rfrence de lAPI Android ainsi que les actualits lies Android.
52
Chapitre 6: Implmentation
Le tout est trs bien fait et permet de rapidement tre confortable vis--vis du dveloppement sur Android. Le SDK Android Loutil le plus important est le SDK Android. Facile installer, il permet de tlcharger tous les outils indispensables au dveloppement dapplications. Un petit logiciel permet dabord de tlcharger les diffrentes versions du SDK (une version du SDK par version dAndroid : 1.4, 1.5, 1.6, 2.0 etc.). Il permet galement de tlcharger les diffrentes versions des Google APIs (APIs pour intgrer des fonctionnalits lies aux services Google tels que Maps etc.) ou de la documentation JavaDoc. Son fonctionnement est similaire aux gestionnaires de paquets de Linux. [3]
Figure 13: Interface dinstallation du SDK Android ADT pour Eclipse Eclipse est lEnvironnement de Dveloppement Intgr (ou IDE) le plus largement utilis pour la programmation Java; trs performant, il est de plus gratuit et open source.
Le langage privilgi pour le dveloppement dapplications Android est justement Java. Google a donc tout naturellement conu un plugin pour Eclipse (un plugin est un module qui complte un logiciel hte pour lui apporter de nouvelles fonctionnalits).
53
Chapitre 6: Implmentation
Android Development Tools, ou ADT, est trs complet et surtout trs pratique : conception graphique dinterfaces utilisateur, debug distant sur un tlphone, gestion de larchitecture de fichiers dune application etc.
Figure 14: Interface dEclipse Emulateur Nous lavons voqu plus haut, le SDK propose un mulateur Android. Il permet de lancer sur la machine du dveloppeur un terminal virtuel reprsentant lcran un tlphone embarquant Android. Cest bien videmment un outil indispensable pour le dveloppement mobile. A chaque version dAndroid est associe une version de lmulateur, permettant au dveloppeur de voir exactement quoi ressemblera son application sur un matriel rel. Rappelons cependant que lmulateur ne propose pas toutes les fonctionnalits dun vrai tlphone. Il ne permet par exemple pas dmuler la gestion du Bluetooth.
54
Chapitre 6: Implmentation
III.3 SERVEURS
La partie serveur est compos de deux serveurs distants: le serveur web et le serveur de base donnes. Le serveur Web utilis est le serveur Apache. Il est le serveur le plus rpandu sur Internet pour dployer les scripts PHP, Le serveur de bases de donnes utilis est le serveur MySQL, puisque le Web Ftab Store utilise ce serveur pour stocker les donnes.
55
Chapitre 6: Implmentation
Exemple :
56
Chapitre 6: Implmentation
Le principal avantage de lutilisation de JSON, dans notre application, est quil est simple mettre en uvre. Au rang des avantages, nous pouvons galement citer : Facile apprendre, car sa syntaxe est rduite et non-extensible; Ses types de donnes sont connus et simples dcrire ; Peu verbeux et lger, ce qui le rend bien adapt aux terminaux mobiles au contraire au langage XML qui est trs verbeux. COMMENT JSON VA TRE UTILIS DANS NOTRE APPLICATION ? Lorsque l'application Android Fatb Store s'excute, elle se connectera au script PHP. Le script PHP va rcuprer les donnes depuis la base de donnes MySQL. Ensuite les donnes seront encodes au format JSON et envoyes au systme Android. Ensuite, l'application Android va obtenir ces donnes codes. Elle les analysera et les affichera sur la tablette. Le schma suivant illustre bien la faon dchanger les donnes entre le client Android et la partie des serveurs(Web/SGBD) :
Client Android Mthode Post : Envoi/Rception -Rcupration de la liste des applications -Recherche -etc. Serveurs : web/SGBD Web
Srialisation/ Dsrialisation
Donnes en format Json : -la liste des applications, -Dtail application, etc.
Srialisation/ Dsrialisation
gson 1.4
Package json
57
Chapitre 6: Implmentation
La description pralable de la charte graphique permet davoir une cohrence dans l'ensemble de l'habillage graphique et visuel de lapplication. Cest tout simplement le thme de lapplication.
Barre de titre
58
Chapitre 6: Implmentation
59
Chapitre 6: Implmentation
Figure 19: Interface de cration dun compte Ftab Store Onglet Slection : Cet onglet affiche les dix nouvelles applications ainsi que les actualits de la socit iSecure.
60
Chapitre 6: Implmentation
Onglet Catgories : Classe les applications en plusieurs thmes selon leurs utilits, parmi lesquels se trouvent les jeux, divertissements, utilitaires, rseaux sociaux, finances, photographie etc.
Figure 21: Interface onglet Catgories Onglet Top20 : Affichera le classement des vingt applications les plus tlcharges.
61
Chapitre 6: Implmentation
Onglet Recherche : Est un module qui permet de rechercher une application en entrant par exemple son titre ou le nom de son dveloppeur.
Figure 23: Interface onglet Recherche Onglet Mes tlchargements : A chaque accs cet onglet, l'application recherche automatiquement des mises jour pour les applications tlcharges sur la Ftab.
Chapitre 6: Implmentation
Interface prsentation application Linterface de prsentation de chaque application affichera les lments suivants : Une description et diverses informations comme la date de parution, le poids de l'application ainsi que la version actuelle, Un bouton pour la tlcharger, Une interface permettant de visionner les captures d'cran de lapplication, Les avis des utilisateurs.
Interface tlchargement dapplication Quand un tlchargement est lanc, une barre de progression saffiche montrant lavancement de tlchargement en pourcentage. A la fin de tlchargement le service dinstallation de lapplication est lanc automatiquement.
63
Chapitre 6: Implmentation
Figure 26: Interface tlchargement de lapplication Interface de gestion des paramtres Cette interface permet au client Ftab de se dconnecter ou modifier les paramtres de son compte.
64
Chapitre 6: Implmentation
CONCLUSION
Lactivit dimplmentation tait la plus dlicate dans le dveloppement de notre systme. Enfin, nous nous intressons tester lapplication en rseau.
65
Conclusion et Perspectives
CONCLUSION ET PERSPECTIVES
Notre projet a consist en la conception, le dveloppement et lintgration dune
application de tlchargement des applications Android Ftab Store au sein de la socit iSecure, afin dapporter une valeur ajoute et un meilleur service aux clients de la FTAB. Nous sommes arrivs dvelopper toutes les fonctionnalits du systme dans les temps. Lintgration a t ralise avec succs, c'est--dire que lapplication est maintenant installe sur la tablette et prte tre commercialis. Ce stage nous a permis dapprofondir nos connaissances thoriques, acquises tous le long de notre formation, par la pratique des nouvelles technologies. Cette exprience nous a permis de matriser le langage de modlisation UML, les outils de dveloppement Android savoir le SDK Android , sous lequel, le dveloppement na pas t une tche facile, mais nous navons pas hsit y participer, malgr quil y a peu du support puisque cest un langage rcent. Il nous a galement permis de dcouvrir comment se passe lintgration dune application sur un serveur web distant ainsi que lutilisation du langage JSON pour grer la
communication des donnes entre deux environnements htrognes qui sont le client Android et le serveur de bases de donnes. Le stage quotidien au sein de la socit a aussi t pour nous une occasion unique pour panouir nos capacits de communication dans un environnement professionnel. Cest une exprience trs enrichissante sur tous les domaines. Enfin, lapplication que nous avons dvelopp pourrait tre enrichie par des fonctionnalits avances telles que lintgration du modle MVC, lutilisation dun protocole de
communication plus scuris que le HTTP comme le HTTPS. Nous pouvons aussi, la rendre compatible avec plusieurs plateformes mobile, en la dveloppant avec loutil Adobe Flash qui gnre des programmes dextension SWF et qui est la tendance actuellement dans le dveloppement des applications embarques pour mobile.
66
Bibliographie
BIBLIOGRAPHIE
[1] : Encyclopdie en ligne comment a marche [En ligne]. -http://www.commentcamarche.net/contents/genie-logiciel/cycle-de-vie.php3 [2] : Portail des dveloppeurs Android [En ligne]. -http://developer.android.com/ [3] : Rfrence du SDK Android[En ligne].
-http://developer.android.com/sdk/ndk/1.5_r1/index.htm [4] : JSON[En ligne]. -http://fr.wikipedia.org/wiki/JavaScript_Object_Notation
67
Rsum : Ftab Store est une application embarque de tlchargement des applications pour
Android. Elle est conue pour tre installe sur la tablette PC FTAB (cest un produit de la socit iSecure). Pour la dvelopper nous avons utilis plusieurs technologies parmi lesquelles, nous citons : La plateforme Android en utilisant son outil de dveloppement SDK Android, le format lger d'change de donnes JSON , le langage UML pour raliser ltude conceptuelle du systme, le PHP comme serveur web et le MySQL comme serveur de base de donnes. Mots cls : Android, JSON, PHP, MySQL, iSecure
designed to be installed on the Tablet PC "FTAB" (it is a product of iSecure company). In order to develop it, we used several technologies as for example: The Android platform using the Android SDK development tool, the lightweight format for data exchange "JSON", UML for the study of conceptual system , PHP as web server and MySQL as