Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Option :
Ralis par :
Wafa KHROUF
Encadrants :
M. Aymen ELLOUZE
Signature
Signature
Ddicaces
A mon trs cher pre Habib,
A ma trs chre mre Nabila,
Nulle Expression ne peut tmoigner mes sentiments damour, de respects et de
gratitudes.
Je vous dois tout mon succs et mon bonheur.
Merci pour votre amour, vos efforts, vos sacrifices et vos prires.
Jespre du fond du cur tre digne de vous et sujet de fiert vos yeux en esprant ne
jamais vous dcevoir et tre toujours la hauteur de vos esprances.
Que ce travail soit le fruit de vos efforts, lexpression de mon amour et de ma gratitude.
Je vous suis ternellement reconnaissante.
Que Dieu vous protge et vous procure du bonheur et de la sant.
A mon trs cher frre Mohamed Ridha & sa femme Basma,
A ma trs chre sur Raafa & son mari Moez,
A ma trs chre soeur Mouna & son mari Ayman,
Quils trouvent ici le tmoignage de mon respect et de mon amour.
Que Dieu vous protge et vous donne la plus belle vie.
A toutes mes chres amies,
Merci pour votre aide et votre gentillesse.
A tous ceux que jai omis de citer, loubli du nom nest pas celui du cur,
Je ddie ce travail.
Rsum
Ce travail, effectu au sein de Telnet, sinscrit dans le cadre du projet de fin dtudes
en vue de lobtention du diplme dingnieur en tlcommunications. Il consiste mettre
en place une solution mobile Android pour la gestion des projets.
En effet, Telnet propose une solution Web appele ALM (Application Lifecycle Management) qui a pour but de grer les cycles de vie des projets labors au sein de lentreprise.
Cette solution Web, malgr son importance et son efficacit, nest pas suffisante pour satisfaire les besoins de ces utilisateurs du fait quon ne peut y accder qu travers un
ordinateur.
Dans ce cadre, notre projet a pour but de crer une solution mobile Android qui va
servir pour client de la solution Web utilis Telnet, et ceci afin de faciliter laccs aux
fonctionnalits usuelles dALM.
Mots cls : Solution mobile, Android, Gestion des projets et ALM.
ii
Remerciements
Je tiens exprimer mon respect et mes remerciements mon encadrant Telnet
Monsieur Aymen ELLOUZE pour son accueil, son assistance et ses conseils pertinents
tout au long de la priode de mon projet.
Je tiens aussi remercier mon encadrante de SupCom Madame Malek BEN
YOUSSEF pour ses conseils, son support et la grande patience quelle ma accorde
durant la ralisation de mon travail.
Ma gratitude et mes remerciements les plus sincres sont adresss mes parents pour
leur patience et leur soutien continus.
Je remercie par ailleurs toute personne qui, de prs ou de loin, ma aide pour bien
accomplir ce travail et le mener ses fins.
iii
ii
Introduction gnrale
1 tude Pralable
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1
1.1.1
1.1.2
Prsentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2.1
tude de lexistant . . . . . . . . . . . . . . . . . . . . . .
1.1.2.2
1.1.2.3
Mthodologie adapte . . . . . . . . . . . . . . . . . . . .
tat de lart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1
. . . . . . . . . .
1.2.2
Plateforme Android . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2.1
Prsentation de la plateforme . . . . . . . . . . . . . . . .
1.2.2.2
Architecture dAndroid
. . . . . . . . . . . . . . . . . . .
1.2.2.3
Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3.1
1.2.3.2
1.2.3.3
Solution retenue . . . . . . . . . . . . . . . . . . . . . . . 10
1.2
1.2.3
1.2.4
1.2.5
Hibernate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.4.1
Couche DAO . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.4.2
Couche Service . . . . . . . . . . . . . . . . . . . . . . . . 12
Base de donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
iv
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Spcification des besoins et Conception
13
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1
2.1.2
2.2
Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . 14
2.1.1.2
Spcifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2.1
2.1.2.2
Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1
Conception globale . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2
Conception dtaille . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.3
2.2.2.1
Diagramme de classes . . . . . . . . . . . . . . . . . . . . 20
2.2.2.2
Diagramme dactivits . . . . . . . . . . . . . . . . . . . . 24
2.2.2.3
Diagrammes de squences . . . . . . . . . . . . . . . . . . 26
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3 Ralisation
32
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1
3.2
Environnement matriel . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.2
Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.2.1
Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.2.2
SDK Android . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.2.3
Apache Tomcat . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.2.4
pgAdmin III
3.1.2.5
Photoshop CC . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.2.6
PowerAMC . . . . . . . . . . . . . . . . . . . . . . . . . . 35
. . . . . . . . . . . . . . . . . . . . . . . . . 34
Interface dauthentification . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Conclusion gnrale et Perspectives
50
Bibliographie
51
Ntographie
52
vi
Architecture 3 tiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
2.1
2.2
2.3
Le modles MVC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4
2.5
Diagramme dactivits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6
2.7
2.8
3.1
3.2
3.3
Interface dauthentification. . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4
3.5
3.6
3.7
3.8
3.9
. . . . . . . . . . . .
vii
viii
2.2
3.1
Logiciels utiliss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ix
Introduction gnrale
Le nombre de solutions logicielles en gestion de projet augmente considrablement ces
dernires annes vu leurs utilits indniables. Dans ce cadre, Telnet adopte un solution
Web ALM qui rpond ce besoin. Toutefois, cette solution, malgr son importance et
son efficacit, manque dergonomie car elle nest accessible qu travers un ordinateur. De
plus, vu le dveloppement spectaculaire des applications de technologies de linformation
et des communications, on a cern la ncessit dune application mobile rendant possible
laccs aux fonctionnalits usuelles dALM (tels que la consultation des projets et des
tches correspondantes effectuer) via un appareil mobile.
Cest au sein de ce contexte que se situe le sujet de notre projet de fin dtudes effectu
Telnet Sfax. Il consiste en fait concevoir et dvelopper cette solution mobile.
Pour dcrire ce travail, notre rapport est organis en trois chapitres qui refltent la
dmarche utilise dans notre projet.
Dans le premier chapitre, on va mettre le projet dans son cadre, puis, on va prsenter
ltat de lart afin de dfinir les concepts lis ce projet sur le plan thorique.
Dans le deuxime chapitre, on va analyser et spcifier, dans sa premire partie, les
besoins fonctionnels et non fonctionnels et on va prsenter les diffrents cas dutilisation
qui y sont associs. On va ensuite consacrer sa deuxime partie la phase de la conception.
En effet, on va prsenter larchitecture de lapplication ainsi quune description dtaille
des diagrammes de classes, dactivits et de squences.
Finalement, on va aborder dans le dernier chapitre lenvironnement technique de ce
travail, ainsi que les outils utiliss. Par la suite, on va prsenter les principales interfaces
graphiques ralises et on va analyser les diffrents rsultats obtenus.
Chapitre 1
tude Pralable
Introduction
Dans ce chapitre, on va mettre le projet dans son cadre gnral. Au dbut, on va
prsenter lentreprise daccueil et lobjectif de notre projet. Ensuite, on va faire une tude
sur les technologies et les concepts sur lesquels se base notre projet.
1.1
1.1.1
1.1.2
Prsentation du sujet
1.1.2.1
tude de lexistant
ALM est une application utilise par Telnet. Elle assure la gestion des projets, laffectation des ressources et llaboration des plannings et le suivi des projets.
Lapplication ALM existante Telnet est une solution Web. Donc, il nest possible dy
accder qu partir du navigateur dun ordinateur puissant.
1.1.2.2
La solution Web dALM nest pas suffisante pour satisfaire aux besoins de ces utilisateurs. En fait, elle nest pas trs pratique, surtout quon a parfois besoin dy accder pour
faire des tches simples ou mme pour donner des commentaires.
Cest pour cela quon a pens dvelopper une application mobile conviviale qui assure
laccs et la manipulation de diffrentes fonctionnalits fournis par lapplication ALM.
Citons lexemple dun dveloppeur qui accde son compte sur cette application et
passe pour voir les nouvelles tches qui lui sont affectes. En les lisant, il dcouvre quil a
besoin dune simple clarification de lune de ces tches. Il crit donc sa question comme
un "work item" (lment de travail). Mais, il savre que le chef du projet est en congs,
donc il devra travailler laveuglette jusquau retour de celui-l. Par contre, si le chef de
projet possde cette application sur son tlphone mobile, il va tout simplement rpondre
la question de cet employ sans perdre beaucoup de temps (pour ne pas tre drang
pendant son congs).
On peut remarquer de cet exemple que cette application mobile peut encourager les
employs et surtout les chefs des projets de se rassurer du bon droulement de leurs projets
mme pendant leurs vacances, ce qui est important pour le bien de lentreprise.
1.1.2.3
Mthodologie adapte
Pour raliser notre projet, on a adopt larchitecture 3 tiers pour ses diffrents avantages. Dabord, elle permet aux donnes dtre gres dune faon centralise. Elle permet
aussi de sparer les 3 couches habituelles dune application : IHM, traitements et donnes[N1].
Notre application sera donc compose de 3 couches indpendantes :
. Couche prsentation qui correspond lapplication Android.
. Couche traitements qui est compose de la couche service et la couche web service.
. Couche daccs aux donnes qui est compose de la couche DAO et la base de
donnes.
La figure 1.1 prsente larchitecture de lapplication ainsi que les relations entre les
diffrentes couches quon a cites et quon va dtailles dans la partie suivante.
La sparation entre les couches a pour but de rendre indpendante chacune des couches
afin de simplifier la maintenance et les volutions futures de lapplication (par exemple,
changement de systme de base de donnes, portage dun environnement graphique un
autre, ...). Elle assure une scurit plus importante car laccs la base de donnes nest
autoris que par la couche traitements.
Application Android
Web Service
Service
Hibernate
DAO
Base de donnes
Figure 1.1 Architecture 3 tiers.
1.2
tat de lart
Dans cette partie, on va commencer par dfinir dune faon dtaille la solution ALM
utilise par Telnet pour la gestion des projets. Ensuite on va tudier la plateforme Android
tout en justifiant le choix de celle-ci dans le dveloppement de notre application mobile.
Puis, on fera une comparaison entre les technologies de services web pour en choisir la
meilleure. Enfin, on va dfinir Hibernate (voir figure 1.1).
1.2.1
La Gestion du cycle de vie des Applications (ou ALM pour Application Lifecycle
Management) est la gestion coordonne du cycle de dveloppement dune application
logicielle de son ide initiale sa livraison et sa maintenance impliquant tous les acteurs
participant au projet, tout en appliquant les processus propres lentreprise[N2].
ALM fournit des outils pour lquipe dingnieurs pour la gestion du dveloppement
logiciel (Software Development Lifecycle) et des outils adapts pour les autres personnes
impliques dans le projet.
ALM concerne toutes les entreprises de tous les secteurs car en ralit leurs besoins sont
similaires. En effet, linnovation logicielle est devenue un facteur clef de comptitivit pour
les entreprises. La bonne gestion de leur portefeuille de projets prend une place capitale
pour ces entreprises dites High-Tech .
Lobjectif gnral de lALM est damliorer la gestion des projets logiciels et de leurs
dveloppements. De plus, ALM permet de :
. Industrialiser les dveloppements ;
. Amliorer la qualit des livrables ;
. Obtenir la traabilit des changements ;
. Suivre en temps rel lavancement des projets ;
. Rduire les cots et respecter les dlais ;
. Amliorer la productivit ;
. Grer les risques ;
. Faciliter la collaboration et la communication entre les membres.
1.2.2
Plateforme Android
Prsentation de la plateforme
Android est un systme dexploitation Open Source destin tourner sur des terminaux mobiles, promu par Google et lOpen Handset Alliance qui comprend plus de 35
constructeurs, fournisseurs de logiciel, et oprateurs. Il concurrence des plateformes telles
que liOS dApple, Windows Mobile de Microsoft, RIM OS intgr dans les BlackBerry
de Research In Motion, WebOS dHP Bada de Samsung, ou encore Symbian et MeeGo
de Nokia.
Exploiter une nouvelle plateforme nest pas toujours aussi vident. Cest pourquoi
Google fournit, en plus du systme dexploitation, un kit de dveloppement (Software
Development Toolkit ou SDK). Ce dernier est un ensemble doutils qui permet aux dveloppeurs et aux entreprises de crer des applications Android[1]. Le SDK Android est
compos de plusieurs lments pour aider les dveloppeurs crer et maintenir leurs
applications (des API (interfaces de programmation), des exemples de code, de la documentation, des outils (parmi lesquels un mulateur)) permettant de concevoir et de
dvelopper des applications assez complexes, bases sur le langage Java et destines
tourner sur des terminaux quips de lOS Android.
1.2.2.2
Architecture dAndroid
Applications
Bureau
Contacts
Tlphone
Navigateur
Framework Applicatif
Gestionnaire
dactivits
Gestionnaire
de paquetages
Gestionnaire de
fentres
Gestionnaire de
la tlphonie
Fournisseur de
contenu
Gestionnaire
des ressources
Gestionnaire de
localisation
Bibliothques
Gestionnaire
des surfaces
Gestionnaire de
notifications
Moteur dexcution
Android
SQLite
Plateforme
Mdia
Mcanisme des
vues
Bibliothques
internes
OpenGL|ES
SGL
FreeType
WebKit
SSL
Machine virtuelle
Dalvik
libc
Noyau Linux
Pilote
de lcran
Pilote de
lappareil photo
Pilote de la
mmoire Flash
Pilote IPC
Pilote
du clavier
Pilote du wifi
Pilotes Audio
Gestion de
lalimentation
1.2.2.3
1.2.3
Web Service
Les web services sont des composants distribus qui offrent des fonctionnalits aux
applications au travers du rseau en utilisant des standards ouverts. Ils peuvent donc tre
utiliss par des applications crites dans diffrents langages et excutes dans diffrentes
plateformes sur diffrents systmes.
Les web services utilisent une architecture distribue compose de plusieurs ordinateurs et/ou systmes diffrents qui communiquent sur le rseau. Ils mettent en uvre un
ensemble de normes et standards ouverts qui permettent aux dveloppeurs dimplmenter
des applications distribues internes ou externes en utilisant des outils diffrents fournis
par les fournisseurs[N4].
Un web service permet gnralement de proposer une ou plusieurs fonctionnalits
mtiers qui seront invoques par un ou plusieurs consommateurs. Il existe deux grandes
familles de web services :
Les web services de type SOAP
Les web services de type REST.
1.2.3.1
SOAP (acronyme de Simple Object Acces Protocol) est un standard du W3C qui
permet lchange format dinformations entre un client et un serveur. SOAP peut tre
utilis pour la requte et la rponse de cet change.
Son grand intrt est dutiliser XML ce qui le rend ouvert contrairement aux autres
protocoles qui sont propritaires : cela permet la communication entre un client et un
serveur utilisant des technologies diffrentes. Mais, il faut mentionner que lutilisation du
protocole SOAP pose des problmes qui concernent principalement lalourdissement des
changes cause du nombre important dinformations quimpose le format XML.
1.2.3.2
Solution retenue
10
1.2.4
Hibernate
Hibernate est une solution open source de type ORM (Object Relational Mapping)
qui permet de faciliter le dveloppement de la couche persistance dune application. Elle
permet donc de reprsenter une base de donnes en objets Java et vice versa[N5].
Hibernate facilite la persistance et la recherche de donnes dans une base de donnes
en ralisant lui-mme la cration des objets et les traitements de remplissage de ceux-ci
en accdant la base de donnes.
Hibernate est trs populaire notamment cause de ses bonnes performances et de son
ouverture de nombreuses bases de donnes.
Les bases de donnes supportes sont les principales du march : PostgreSQL, DB2,
Oracle, MySQL, Sybase, SQL Server, Sap DB, Interbase, ...
Hibernate a besoin de plusieurs lments pour fonctionner :
. Un fichier de configuration qui assure la correspondance entre la classe et la table :
il sagit du mapping ou mappage de donnes qui est le mcanisme visant faire correspondre les attributs dune fiche du systme de stockage (BDD) avec les attributs
dune entit (entit Java dans notre cas).
. Des proprits de configuration notamment des informations concernant la connexion
la base de donnes.
Une fois ces lments sont correctement dfinis, on peut passer limplmentation de
la couche DAO puis la couche service qui va tre utilis par le web service.
1.2.4.1
Couche DAO
Le modle DAO (Data Access Object) permet de faire le lien entre la couche mtier
(qui correspond nos entits Java mappes sur notre base) et la couche persistante (qui
correspond la base de donnes), ceci afin de centraliser les mcanismes de mapping entre
les deux couches[N6].
Le modle DAO consiste ajouter un ensemble dobjets dont le rle sera de lire, crire,
modifier et supprimer les donnes stockes dans la base de donnes. Cet ensemble dobjet
sappelle la couche DAO.
11
1.2.4.2
Couche Service
La couche service fait le lien entre la couche DAO et les couches suprieures. Elle va
donc tre charge, par exemple lors de la connexion dun utilisateur, de vrifier que le
login et le mot de passe saisis correspondent bien un utilisateur existant dans la base de
donnes. Elle sera galement charge de demander la couche DAO de renvoyer la liste
de tous les projets enregistrs lorsquon veut les afficher une fois lutilisateur est connect
lapplication.
Lutilisation de la couche service permet dapporter une modularit et un meilleur
dcouplage lapplication.
1.2.5
Base de donnes
Conclusion
Dans ce chapitre, on a mis le projet dans son cadre et on a expliqu son sujet. On a
aussi prsent ltat de lart des diffrents concepts lis ce projet sur le plan thorique.
Le chapitre suivant portera sur les fonctionnalits quoffrira notre solution et prsentera
ses diffrents diagrammes de cas dutilisation et sa conception.
12
Chapitre 2
Spcification des besoins et
Conception
Introduction
Dans ce chapitre, on va commencer tout dabord par lanalyse et la spcification des
besoins de notre application. Ensuite, on va passer la phase de conception.
2.1
La spcification des besoins consiste recenser les besoins potentiels et fournir une liste
des fonctionnalits attendues par la nouvelle application. Ces fonctionnalits et exigences
sont dcrites sous forme textuelle au dbut de cette partie.
Ensuite, on va modliser selon le langage UML afin de dcrire les fonctionnalits dune
faon formelle. Plus prcisment, on va commencer par lidentification des acteurs qui vont
interagir avec le systme. Puis, on va laborer les diagrammes des cas dutilisation.
2.1.1
On spcifiera dans cette partie les besoins de notre application en termes de fonctionnalits atteindre. Ces besoins sont rpartis en deux types : fonctionnels et non
fonctionnels.
13
2.1.1.1
Besoins fonctionnels
Lapplication doit permettre aux utilisateurs dassurer un bon suivi de leurs projets.
Pour ce faire, on prsente dans cette partie toutes les fonctionnalits que doit offrir notre
application.
1. Authentification
Laccs au menu de lapplication ncessite un nom dutilisateur et un mot de passe
correcte.
Une fois lauthentification est russite, des interfaces spcifiques chaque utilisateur
(selon son rle) saffichent.
2. Gestion des membres de lquipe
Le but de la gestion des membres de lquipe est dassocier aux projets lensemble
des ressources humaines qui y sont relis.
3. Gestion de la liste des projets
Crer un nouveau projet : Ladministrateur de lapplication et le chef de projet
peuvent crer un nouveau projet. Ils doivent donc fournir les donnes suivantes :
nom du projet, abrviation, client, description, statut, groupe, date de dbut et
date de fin.
Afficher les listes des projets relatifs lutilisateur qui sest authentifi. Sil sagit
de ladministrateur de lapplication, alors il pourra voir tous les projets existants.
Afficher les dtails du projet slectionn.
4. Gestion des lments de travail (work item)
Crer un nouveau lment de travail : Lors de lajout, lutilisateur doit fournir les
donnes suivantes : titre, type, business key (qui doit tre unique), description,
priorit, svrit, statut et qui sera affect llment de travail.
Il est noter quun lment de travail peut tre de type Task, Risk, Defect, Question, Requirement, Notification, Change Request, Acceptance, Improvement, New
Feature, Test Case, Regression, Business Case ou User Story.
Afficher les listes dlments de travail relatifs au projet choisi.
Afficher des dtails dun lment de travail.
Ajouter un commentaire un lment de travail en cas de besoin.
14
2.1.1.2
Les besoins non fonctionnels dcrivent toutes les contraintes auxquelles est soumise
lapplication pour sa ralisation et son bon fonctionnement :
1. Les contraintes ergonomiques Les contraintes ergonomiques sont les contraintes
lies ladaptation entre les fonctionnalits de lapplication, leurs interfaces et leurs
utilisations. Pour notre application, on doit obir aux contraintes ergonomiques
suivantes :
Ergonomie et souplesse : Lapplication doit offrir une interface conviviale et ergonomique comprhensible par lutilisateur.
Prsenter les informations dune faon simple et claire.
Rapidit : Lapplication doit optimiser les traitements pour avoir un temps de
rponse raisonnable.
2. Les contraintes techniques
Compatibilit : les fonctions de lapplication doivent tre compatibles avec celles
existantes.
Homognit des interfaces de lapplication : les diffrentes pages doivent suivre
le mme modle de reprsentation (couleurs, images, etc.).
Efficacit : Lapplication doit tre fonctionnelle si le smartphone est connect
linternet indpendamment de toute autre circonstance pouvant entourer lutilisateur.
Le code doit tre extensible et maintenable pour faciliter toute opration damlioration ou doptimisation.
2.1.2
Spcifications
Aprs une description textuelle des besoins, on prsentera dans cette partie les fonctionnalits de notre application dune faon formelle en utilisant le langage de modlisation
UML qui se dfinit comme un langage de modlisation graphique.
Pour ce faire, on commencera par identifier et prsenter les acteurs en premier lieu
pour arriver enfin aux diagrammes des cas dutilisation.
15
2.1.2.1
Les acteurs reprsentent les entits externes qui interagissent avec le systme. Notre
application comporte essentiellement trois acteurs prsents dans le tableau 2.1.
Table 2.1 Prsentation des acteurs.
travail.
de nouveaux projets.
2.1.2.2
Un diagramme de cas dutilisation est utilis pour donner une vision globale du comportement fonctionnel dun systme logiciel, car il reprsente une unit discrte dinteraction acteur/systme.
1. Diagramme de cas dutilisation global Le diagramme de cas dutilisation globale reprsente les fonctionnalits principales quoffre notre application. Il est reprsent par la figure 2.1.
16
<<include>>
Slectionner un projet
<<include>>
Dveloppeur
Afficher la liste des projets
<<include>>
Ajouter un projet
Admin
<<include>>
S'authentifier
Chef de projet
<<include>>
17
Titre
Authentification.
Acteurs
Pr-conditions
Utilisateur inscrit.
Enchainement nominal :
1. Lutilisateur demande laccs au systme.
2. Le systme affiche le formulaire dauthentification.
3. Lutilisateur saisit son nom dutilisateur et son mot
de passe et clique sur le bouton Connexion .
4. Le systme vrifie les informations.
Dfinition des
enchainements
18
<<extend>>
Ajouter un lment de travail
Dveloppeur
<<extend>>
<<include>>
Admin
Chef de projet
Afficher les commentaires
2.2
Conception
La conception consiste dcrire la manire avec laquelle le systme ralise les exigences
et les besoins de notre application.
Cette tape est primordiale dans le droulement du projet et a pour but de dtailler
les tches entreprendre pour prparer le terrain ltape de ralisation.
On va prsenter dabord la conception globale du systme. Ensuite, on va dtailler
travers les diagrammes de classes, dactivits et de squences, la conception de lapplication dveloppe au sein de notre projet. Puis, on va prsenter la conception de la base de
donnes en sappuyant sur le modle conceptuel de donnes.
2.2.1
Conception globale
On a utilis dans notre projet le modle MVC (Modle-Vue-Contrleur) pour dvelopper notre application mobile (figure 2.3).
Le modle MVC est une mthode de conception qui organise linterface homme machine (IHM) dune application logicielle. Ce paradigme divise lIHM en un modle, une
vue et un contrleur, chacun ayant un rle prcis dans linterface[N9] :
19
Les avantages du modle MVC sont nombreux. Dune part, il permet de formaliser
lapplication pour faciliter la comprhension de sa structure. Il permet aussi de crer des
limites trs claires et bien dfinies entre les diffrents morceaux de code ce qui rend la
rutilisation beaucoup plus simple. Dautre part, il assure lindpendance des donnes, de
laffichage et des actions ce qui donne plus de souplesse pour la maintenance et lvolution
de lapplication.
2.2.2
Conception dtaille
Diagramme de classes
tions[N13].
La figure 2.4 prsente les classes les plus importantes de notre projet des deux parties :
client et serveur.
Dune faon gnrale, les activits Android font appel aux classes de la couche Web
Service. Ceux-ci excutent les classes de la couche service qui leurs sont relies. De mme,
ces dernires font appel aux classes de la couche DAO qui excutent des requtes HQL
pour extraire les donnes demandes de la base de donnes.
On va prsenter maintenant ces classes selon la couche laquelle elles appartiennent.
1. Couche DAO Dans cette couche, on a 4 classes :
GenericDao : Cest une classe abstraite qui implmente linterface IGenericDao dans laquelle on trouve la mthode create(Entity entity) qui va servir
la cration de nouvelle entity.
Il est noter que dans ce diagramme on utilise les entits Project (Projet), Workitem (lment de travail) et User (Utilisateur) dont on va expliquer davantage
leurs relations dans le modle de conception de donnes (dans la partie 2.2.3).
UserDao : Cette classe implmente linterface IUserDao qui contient la mthode getUsersList() qui va extraire la liste des utilisateurs et les donnes qui
leurs sont relatives (comme le rle de lutilisateur dans lapplication (UserRole)).
WorkitemDao : Cette classe implmente linterface IWorkitemDao qui contient
la mthode getWorkitemsByProject(Project project) qui va extraire la liste
des lments de travail relatifs au projet entr en paramtre. Ceux-ci seront accompagns par les donnes qui leurs sont relatives.
ProjectDao : Cette classe implmente linterface IProjectDao qui contient la
mthode getAllProjects() qui va extraire la liste des projets et les donnes qui
leurs sont relatives.
Ces 3 dernires classes de cette couche hritent de la classe GenericDao et les
interfaces quelles implmentent hritent de linterface IGenericDao.
21
22
txtDetailProject
name
json
id
jsonArray
element
data
:
:
:
:
:
:
:
TextView
String
String
int
JSONArray
JSONObject
JSONObject
ProjectDetailActivity
editTitle
editBusinessKey
editWorkitemStatus
editAssignedTo
editWorkitemDescription
spinnerProjectName
spinnerWorkitemType
spinnerWorkitemSeverity
spinnerWorkitemPriority
btnAddWorkitem
listProjectName
listWorkitemType
listWorkitemSeverity
listWorkitemPriority
actionBar
otherAction
jsonArray
element
data
json
jsonPost
url
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
EditText
EditText
EditText
EditText
EditText
Spinner
Spinner
Spinner
Spinner
Button
List<String>
List<String>
List<String>
List<String>
ActionBar
Action
JSONArray
JSONObject
JSONObject
String
String
String
AddWorkitemActivity
EditText
EditText
Button
String
String
String
PagerSlidingTabStrip
ViewPager
PagerAdapter
ActionBar
Action
String
String
String
int
JSONArray
JSONObject
JSONObject
:
:
:
:
:
:
:
:
:
:
:
:
SelectedProjectActivity
tabs
pager
mPagerAdapter
actionBar
otherAction
json
name
workitems
id
jsonArray
data
element
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
EditText
EditText
EditText
Spinner
Spinner
Spinner
Button
Button
Button
DatePickert
DatePickerDialog.OnDateSetListener
DatePickerDialog.OnDateSetListener
List<String>
List<String>
List<String>
ActionBar
Action
String
String
String
AddProjectActivity
editName
editAbreviation
editDescription
spinnerCustomer
spinnerProjectStatus
spinnerProjectGroup
btnPlannedStartDate
btnPlannedEndDate
btnAddProject
datePicker
startDatePickerListener
endDatePickerListener
listCustomer
listProjectStatus
listProjectGroup
actionBar
otherAction
json
jsonPost
url
1..*
:
:
:
:
:
:
AuthentificationActivity
username
password
btnConnexion
url
msgErreur
json
:
:
:
:
:
:
:
:
:
:
EditText
ListView
Button
ActionBar
Action
List<String>
ArrayAdapter<String>
String
String
String
ProjectListActivity
filterEditText
listViewProject
btnAddProject
actionBar
otherAction
projectList
adapter
json
userRole
url
ProjectWS
- workitemService : IWorkitemService
WorkitemWS
+ getProjectList ()
: List<Project>
+ postProject (MultivaluedMap<String, String> projectListParams) : Project
- projectService : IProjectService
UserDao
WorkitemService
+ create (Workitem workitem) : Workitem
- workitemDao : IWorkitemDao
IWorkitemDao
GenericDao
IGenericDao
IWorkitemService
+ getAllProjects () : List<Project>
- workitemDao : IWorkitemDao
ProjectDao
+ getAllProjects () : List<Project>
IProjectDao
+ getAllUsers () : List<User>
IUserDao
+ getAllUsers () : List<User>
WorkitemDao
+ listProjects ()
: List<Project>
+ create (Project project) : Project
- projectDao : IProjectDao
ProjectService
+ listProjects ()
: List<Project>
+ create (Project project) : Project
IProjectService
+ listUsers () : List<User>
IUserService
+ listUsers () : List<User>
UserService
- usersDao : IUserDao
+ getUsersList () : List<User>
UserWS
- userService : IUserService
ExpandableListView
Button
ViewHolder_Child
ViewHolder_Parent
String
String
JSONArray
JSONObject
JSONObject
+
+
+
:
:
:
:
:
:
:
:
:
expandableListViewWorkitems
btnAddWorkitem
holder_child
holder_parent
json
workitems
workitemsJsonArray
element
data
WorkitemsActivity
1..*
2. Couche Service
UserService : Cette classe implmente linterface IUserService qui contient
la mthode listUsers() qui va faire appel la mthode getAllUsers() de la
classe UserDao.
WorkitemService : Cette classe implmente linterface IWorkitemService
qui contient la mthode create(Workitem workitem) qui va faire appel la
mthode create(Entity entity) de la classe GenericDao travers la classe
WorkitemDao.
ProjectService : Cette classe implmente linterface IProjectService qui contient
la mthode listProjects() qui va faire appel la mthode getAllProjects() de
la classe ProjectDao.
La classe ProjectService contient aussi la mthode create(Project project)
qui va faire appel la mthode create(Entity entity) de la classe GenericDao
travers la classe ProjectDao.
3. Couche Web Service
UserWS : Cette classe contient la mthode getUserslist() qui va faire appel
la mthode listUsers() de la classe UserService.
WorkitemWS : Cette classe contient la mthode postWorkitem qui va faire
appel la mthode create(Workitem workitem) de la classe WorkitemService pour crer un nouveau lment de travail.
ProjectWS : Cette classe contient la mthode getProjectlist() qui va faire
appel la mthode listProjects() de la classe ProjectService.
La classe ProjectWS contient aussi la mthode postProject qui va faire appel
la mthode create(Project project) de la classe ProjectService pour crer
un nouveau projet.
4. Activits Android
AuthentificationActivity : Cest la premire activit Android qui se lance en
ouvrant lapplication. Elle permet, tout dabord, de lancer une requte GET pour
rcuprer la liste des utilisateurs partir de la BDD. Pour ce faire, elle fait appel
la mthode getUsersList() de la classe UserWS. Ensuite, elle vrifie les
donnes saisies par lutilisateur pour lui permettre daccder lactivit suivante
(au cas o il saisit des donnes valides).
23
Diagramme dactivits
Le diagramme dactivits reprsente la dynamique du systme. Il montre lenchanement des activits dun systme ou mme dune opration[N10].
Le diagramme dactivits est utilis pour illustrer les flux de travail dans un systme,
du niveau mtier jusquau niveau oprationnel[N11].
24
La figure 2.5 prsente le diagramme dactivits qui traduit les diffrentes tches ralises par le chef de projet ou ladministrateur de lapplication :
1. Aprs avoir lancer lapplication, une interface dauthentification saffiche dans laquelle lutilisateur (le chef de projet ou ladministrateur de lapplication) saisit son
nom dutilisateur et son mot de passe.
2. Si le nom dutilisateur ou le mot de passe nest pas valide, un message derreur sera
affich sinon lutilisateur accde linterface qui contient liste des projets.
3. En accdant cette interface, lutilisateur peut ajouter un nouveau projet (en cliquant sur le bouton Add Project ). Dans ce cas, une nouvelle interface souvre.
Celle-ci contient des champs spcifiques pour ajouter les informations relatives au
nouveau projet. Aprs les avoir enregistres, la liste de projets saffiche de nouveau
tout en contenant le nom du projet ajout.
Lutilisateur peut aussi (aprs avoir accder linterface qui contient liste des pro25
jets) slectionner un projet en cliquant sur son nom dans la liste. Dans ce cas, il peut
afficher les dtails du projet slectionn ou afficher la liste des lments de travail
relatifs celui-ci.
Au cas o lutilisateur choisit dafficher la liste des lments de travail, une nouvelle
interface souvre dans laquelle il va pouvoir ajouter ou commenter un lment de
travail ou encore afficher les dtails dun lment de travail existant en le slectionnant.
Ce diagramme dactivits reste valable mme pour le dveloppeur sauf que ce dernier
na pas la permission dajouter un nouveau projet.
2.2.2.3
Diagrammes de squences
Le diagramme de squences est un diagramme dinteraction dont les principales informations sont les messages changs entre les lignes de vie, prsents dans un ordre
chronologique. Il peut servir illustrer un cas dutilisation[N12]. On va prsenter, dans
ce qui suit, des exemples de scnarios dcrivant quelques cas dutilisation prsents prcdemment.
1. Diagramme de squences du scnario Sauthentifier Pour accder aux
diffrentes fonctionnalits de lapplication, lutilisateur (dveloppeur, chef de projet
ou admin) doit sauthentifier.
Les tapes dauthentification sont dcrites dans la figure 2.6.
En ouvrant lapplication, une requte GET se lance pour rcuprer la liste des
utilisateurs existants dans la base de donnes. Lexcution de cette requte entrane
lexcution successive des mthodes : getUsersList() du Web Service, listUsers()
de la couche service et getAllUsers() de la couche DAO. Cette dernire excute
une requte HQL qui va servir la rcupration de la liste des utilisateurs partir
de la base de donnes PostgreSQL.
Aprs lexcution de ces mthodes, lapplication laisse la main lutilisateur pour
entrer son nom dutilisateur et son mot de passe. Puis, elle vrifie ces donnes. Si ces
derniers sont valides, alors lutilisateur pourra accder linterface suivante, sinon,
un message derreur sera affich.
26
DS Authentification
:Application_Android
:Web_Service
:Couche_Service
:Couche_DAO
:Base_de_donnes
Utilisateur
Ouvrir l'application
getUsersList()
userService.listUsers()
usersDao.getAllUsers()
Rcuper la liste
des utilisateurs
Retourner la liste
des utilisateurs
Retourner la liste
des utilisateurs
Retourner la liste
des utilisateurs
Ouvrir l'interface
d'authentification
Retourner la liste
des utilisateurs
[Valide]
Autoriser l'acces
[Non valide]
Afficher message d'erreur
:Application_Android
:Web_Service
:Couche_Service
:Couche_DAO
:Base_de_donnes
Dveloppeur
S'authentifier
alt
[Non Valide]
Afficher message d'erreur
[Valide]
Lancer
ProjectListActivity
getProjectList()
projectService.listProjects()
projectDao.getAllProjects()
workitemDao.getWorkitems
ByProject(project)
Rcuper la liste des projets
Afficher la liste des projets
2.2.3
28
29
ProjectRole
UserRole
1,1
1,1
0,n
Project
0,n
avoir
1,n
Identifiant_9 <pi>
Identifiant_8 <pi>
1,1
Identifiant_1 <pi>
1,1
contient
Identifiant_10 <pi>
WorkitemSeverity
possde3
idProject
<pi> Long integer
name
Long variable characters (30)
1,1
abreviation
Long variable characters (10)
planned_start_date
Date
planned_end_date
Date
description
Text
Identifiant_3 <pi>
0,n
User
idUser
<pi> Long integer
username
Long variable characters (60)
password
Long variable characters (100)
appartient
0,n
0,n
0,n
0,n
WorkitemStatus
1,1
1,1
possde2
correspond
possde1
possde
WorkitemType
Identifiant_7 <pi>
ProjectGroup
Identifiant_6 <pi>
ProjectStatus
Identifiant_5 <pi>
Customer
Identifiant_4 <pi>
Identifiant_12 <pi>
Workitem
1,1
contient2
0,n
0,n
1,1
possde5
WorkitemPriority
0,n
Identifiant_11 <pi>
0,n
Identifiant_2 <pi>
idWorkitem
<pi> Long integer
business_key
Long variable characters (30)
title
Long characters (255)
asigned_to
Long variable characters (60)
description
Text
Identifiant_13 <pi>
possde4
0,n
0,n
WorkitemComment
idWComment <pi> Long integer
name
Long variable characters (30)
La figure 2.8 prsente le modle conceptuel de donnes de notre projet qui contient les
entits suivantes :
Project : Cette entit contient lidentifiant du projet, son nom, son abrviation, sa
description et ses dates de dbut et de fin.
Customer : Cest le client du projet.
ProjectStatus : Cest le statut du projet qui peut prendre lune des valeurs suivantes : "In progress", "Closed", "Cancelled", "New" ou "Planned".
ProjectGroup : Cest le groupe du projet.
User : Cette entit contient lidentifiant de lutilisateur, son nom et son mot de
passe.
UserRole : Cest le rle de lutilisateur dans lapplication. Celui-ci peut tre ladmin ou un simple utilisateur dans lapplication.
ProjectRole : Cest le rle de lutilisateur dans un projet donn. Celui-l peut tre
un chef de projet ou un dveloppeur.
Workitem : Cette entit prsente llment de travail. Elle contient son identifiant,
son titre, son business key, sa description et qui il est affect.
WorkitemType : Cest le type de llment de travail. Ceui-ci peut tre de type :
"Requirement", "Defect", "Change Request", "Test Case", "Risk", "Task", "Acceptance", "Improvement", "New feature", "Regression", "Business Case", "Notification",
"Question" ou "User Story".
WorkitemStatus : Cest le statut de llment de travail. Celui-ci peut tre
"Draft", "Accepted", "Active", "New", "Assigned", "In Progress", "Implemented", "Resolved", "Done", "Verified" ou "Closed".
WorkitemSeverity : Cest le degr de svrit de llment de travail. Il peut
tre : "Must Have", "Normal", "Blocker", "Critical", "Major", "Minor", "Trivial" ou
"Moderate".
WorkitemPriority : Cest le degr de priorit de llment de travail. Il peut
tre : "Highest", "High", "Medium", "Low" ou "Lowest".
WorkitemComment : Cette entit prsente les commentaires relatifs un lment de travail.
30
Conclusion
Dans ce chapitre, on a prsent en premier lieu les besoins fonctionnels et non fonctionnels de notre application. On a ensuite reprsent ces besoins en dtaillant les fonctionnalits attendues travers les diagrammes des cas dutilisation.
Puis, on a prsent la conception globale de notre solution. Aprs, on a dtaill la
conception de notre application travers une description des diagrammes de classes,
dactivits et de squences. Enfin, on a reprsent la conception de notre base de donnes.
Dans le chapitre suivant, on va exposer la ralisation de notre projet en prsentant
lenvironnement de travail ainsi que les rsultats obtenus.
31
Chapitre 3
Ralisation
Introduction
Limplmentation du projet est une tape aussi importante que la conception. Cette
tape constitue la phase dachvement et daboutissement du projet.
Pour accomplir cette tche avec succs, il faut bien choisir les outils ncessaires au
dveloppement. Ce choix peut influencer sur la qualit du produit obtenu et donc ncessite
une attention particulire et doit se baser sur les besoins du projet et le rsultat escompt.
Dans ce chapitre, on va prsenter alors lenvironnement de travail et les diffrentes
technologies utilises pour notre application. Par la suite, on va prsenter les interfaces
de notre solution.
3.1
3.1.1
. RAM : 4 Go ;
. Systme dexploitation : Windows 7.
32
3.1.2
Environnement logiciel
Type
Nom
Version
Environnement de dveloppement
Eclipse Juno
4.2
Kit de dveloppement
SDK Android
22.0.1
Serveur dapplication
Apache Tomcat
7.0.37
SGBD
PostgreSQL
8.4
pgAdmin III
1.14
Adobe Photoshop CC
14.0
Navigateur Web
Google Chrome
35
PowerAMC
16.5
On va prsenter maintenant les logiciels les plus importants parmi ceux situs dans le
tableau 3.1.
3.1.2.1
Eclipse
Eclipse est un environnement de dveloppement intgr (IDE) dont le but est de fournir
une plateforme modulaire pour permettre de raliser des dveloppements informatiques.
Le choix dEclipse se justifie par la multitude des points forts quil possde dont les
principaux sont[N16] :
. Une plateforme ouverte pour le dveloppement dapplications et extensible grce
un mcanisme de plugins.
. Malgr son criture en Java, Eclipse est trs rapide lexcution grce lutilisation
de la bibliothque SWT.
. Une ergonomie entirement configurable qui propose selon les activits raliser
diffrentes perspectives
. Le gestionnaire de mise jour permet de tlcharger de nouveaux plugins ou nouvelles versions dun plugin dj installes partir de sites web ddis.
Pour le dveloppement de notre projet, on a ajout les deux plugins suivants :
Android Development Tools (ADT) : Cest un plugin pour lIDE Eclipse qui est
33
conu pour offrir un environnement puissant et intgr pour crer des applications
Android[N17].
Hibernate Tools : Cest un ensemble doutils pour Hibernate implment en tant
quune suite intgre de plugins Eclipse. Il contribue la gnration des fichiers
de mapping.
3.1.2.2
SDK Android
Le SDK Android fournie les librairies et les outils de dveloppement ncessaire pour
compiler, tester, et dboguer les applications Android.
3.1.2.3
Apache Tomcat
Tomcat[N18] est un serveur dapplications Java, cest dire quil est intgralement crit
en Java et que les applications web quil est capable dexcuter doivent tre dveloppes
en Java. Pour traiter les requtes entrantes, il existe des connecteurs capables de vhiculer
les requtes du serveur web frontal au serveur dapplications.
Tomcat est un projet open source, ralis par la communaut Jakarta, au sein du
groupe Apache.
3.1.2.4
pgAdmin III
Photoshop CC
Adobe qui est mondialement utilis pour ses capacits hors du commun[N20]. Photoshop
est loutil le plus utilis actuellement pour la retouche dimages de qualit professionnelle.
Ses nombreux outils lui permettent deffectuer quasiment tout ce qui est possible de faire
sur une image.
Ses principales fonctionnalits sont :
. La conception de slections dans diffrents modes qui permet de choisir avec une
grande prcision les parties de limage devant subir des modifications.
. Les nombreux outils permettant de dtourer tout ou partie dune image afin deffectuer des montages.
. De nombreux filtres permettant des effets spciaux.
On a utilis Photoshop dans le design de lapplication mobile essentiellement pour
supprimer larrire plan des images et parfois leurs ombres.
3.1.2.6
PowerAMC
3.2
Aprs avoir choisi lenvironnement de dveloppement, on va prsenter dans cette section les diffrentes interfaces de notre application.
Il faut signaler que lors de la phase dimplmentation, on na pas pris compte des rles
de lutilisateur dans les projets, mais plutt, son rle dans lapplication (administrateur
ou utilisateur).
Avant de lancer lapplication, on doit dmarrer le serveur Tomcat (figure 3.1).
35
3.2.1
Interface dauthentification
En lanant lapplication, une requte GET sexcute pour rcuprer la liste des utilisateurs partir de la base de donnes. Durant son excution, un ProgressDialog apparat sur
linterface de lapplication pour signaler lutilisateur que celle-ci est entrain de rcuprer
des donnes (voir figure 3.2).
Les donnes demandes sont reues de la couche Web Service sous forme de fichier
JSON aprs avoir pass par toutes les autres couches (service et DAO) venant de la base
de donnes.
Ds la rcupration des donnes, le ProgressDialog disparait afin de donner la main
lutilisateur pour entrer son nom dutilisateur (username) et son mot de passe (password)
comme le montre la figure 3.3.
36
Dans cette figure, on a utilis le compte administrateur pour voir les diffrentes fonctionnalits offertes par lapplication.
En cliquant sur le bouton connexion, lapplication vrifie les donnes saisies. Si lutilisateur ne saisit pas son username ou son password, ou quil utilise des donnes non valides,
un message derreur spcifique apparat pour lui signaler lerreur commise.
Au cas o lutilisateur saisie des donnes valides, il pourra accder linterface suivante.
3.2.2
En lanant cette interface, une requte GET sexcute pour rcuprer la liste des projets partir de la base de donnes. Durant son excution, de mme que dans linterface
dauthentification, un ProgressDialog apparat pour indiquer lutilisateur que lapplication est entrain de rcuprer des donnes (voir figure 3.4).
Ds larrive de ces donnes, le ProgressDialog disparait et la liste des noms des projets
saffiche comme le montre la figure 3.5.
37
38
Linterface prsente par la figure 3.5 contient un EditText (qui sert comme un filtre
pour les noms des projets), la liste des projets et un bouton : "Add Project" qui permet
daccder linterface dajout de projet.
3.2.3
En choisissant lun des projets de la liste (ALM - PFE par exemple), une nouvelle
interface souvre. Celle-ci contient un menu qui glisse horizontalement.
Dans ce menu, on peut choisir dafficher les dtails du projet slectionn comme le
montre la figure 3.6, ou bien, on peut choisir dafficher la liste des Work Items (lments
de travail) (voir figure 3.7).
39
40
Lutilisateur a aussi la possibilit de cliquer sur lun des boutons : "Comment Work
Item" (pour commenter un lment de travail) ou "Add Work Item" (pour ajouter un
nouveau lment de travail).
3.2.4
Pour ajouter un nouveau projet, lutilisateur clique sur le bouton "Add Project" prsent dans la figure 4.5. Alors, une nouvelle interface souvre pour permette lutilisateur
de saisir les donnes relatifs son projet. La figure 3.9 montre cette interface.
En cliquant sur le menu droulant (spinner) relatif "Customer", la liste des clients apparat (voir figure 3.10). On peut faire de mme pour les menus droulants correspondants
"Project Status" et "Project Group".
41
42
43
44
3.2.5
Pour ajouter un nouveau lment de travail, lutilisateur clique sur le bouton "Add
Work Item" prsent dans la figure 3.7. Alors, une nouvelle interface souvre pour permette
lutilisateur de saisir les donnes relatifs son nouveau lment de travail. Les figures
3.15 et 3.16 montrent cette interface.
En cliquant sur le bouton "Save", une requte POST sexcute pour enregistrer ce
nouveau lment de travail dans la base de donnes.
Aprs lenregistrement du nouveau lment de travail, linterface de la liste des projets
souvre et charge de nouveau la liste actuelle des projets avec leurs lments de travail.
Pour vrifier le bon droulement de lopration dajout dlment de travail, on slectionne le projet "ALM - PFE" et on choisit dafficher la liste des lments de travail.
Daprs les figures 3.17 et 3.18, on vrifie que les donnes existantes dans cette interface
correspondent bien aux donnes ajoutes.
45
46
47
3.2.6
48
Conclusion
Dans ce chapitre, on a prsent la ralisation du projet ainsi que les diffrents outils
de dveloppement utiliss pour accomplir cette tche.
49
50
Bibliographie
[1] D. Guignard, J. Chable et E. Robles : "Programmation Android : De la conception au
dploiement avec le SDK Google Android 2", EYROLLES, 2010.
[2] P. Gambarotto, "Technologies pour Web Services faciles : REST, JSON", INPT DSI,
ENSEEIHT Dpartement Informatique, Toulouse, France, 2009.
51
Ntographie
[N1] http://doc.pcsoft.fr/?3013072&name=gestion_3tiers consult le 18/02/2014.
[N2] http://www.journaldunet.com/solutions/expert/51364/comprendre-la-gestiondu-cycle-de-vie-des-applications--alm--en-2-min.shtml consult le 05/02/2014.
[N3] http://www.alcyonix.com/articles/google-android-premieres-impressions/
consult le 06/02/2014.
[N4] http://www.jmdoudoux.fr/java/dej/chap-service-web.htm#service-web-1
consult le 10/02/2014.
[N5] http://www.jmdoudoux.fr/java/dej/chap-hibernate.htm consult le 07/05/2014.
[N6] http://cyrille-herby.developpez.com/tutoriels/java/mapper-sa-base-donneesavec-pattern-dao/ consult le 07/05/2014.
[N7] http://www.adproxima.fr/glossaire-208-base-donnees.html consult le 07/05/2014.
[N8] http://www.commentcamarche.net/contents/814-postgresql-introduction
consult le 07/05/2014.
[N9] http://notes.mazenod.fr/le-design-pattern-mvc1.html consult le 18/02/2014.
[N10] http://saoudyihab.voila.net/cours_uml/Diagramme_d_activite.pdf consult
le 21/02/2014.
[N11] http://support.objecteering.com/objecteering6.1/help/fr/objecteering_
uml_modeler/diagrams/activity_diagrams.htm consult le 21/02/2014.
[N12] http://dico.developpez.com/html/991-Conception-diagramme-de-sequence.
php consult le 23/02/2014.
[N13] http://www.uml-sysml.org/diagrammes-uml-et-sysml/diagramme-uml/diagrammede-classe consult le 24/02/2014.
[N14] http://developer.android.com/reference/android/support/v4/view/ViewPager.
html consult le 01/04/2014.
[N15] http://www.commentcamarche.net/contents/659-merise-modele-conceptuel-
52
53