126
Application web et mobile de Mobile Banking Attijari Bank Elaboré par Yasmine TORKHANI Cyrine TAHARI Filière Licence Fondamentale en Informatique de Gestion Encadré par Encadrant pédagogique Encadrants professionnels M. Mohamed Hedi AMLOUK M. Hosni Kricha Année Universitaire 2014 2015 Ministère de l’Enseignement Supérieur Et de la Recherche Scientifique Université de Tunis Institut Supérieur de Gestion Mme. Nadia YACOUBI

Rapport dernier tirage.pdf

  • Upload
    dangthu

  • View
    244

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Rapport dernier tirage.pdf

Application web et mobile de

Mobile Banking

Attijari Bank

Elaboré par

Yasmine TORKHANI Cyrine TAHARI

Filière

Licence Fondamentale en Informatique de Gestion

Encadré par

Encadrant pédagogique Encadrants professionnels

M. Mohamed Hedi AMLOUK

M. Hosni Kricha

Année Universitaire

2014 – 2015

Ministère de l’Enseignement Supérieur Et de la Recherche Scientifique

Université de Tunis Institut Supérieur de Gestion

Mme. Nadia YACOUBI

Page 2: Rapport dernier tirage.pdf

Dédicaces

Je dédie ce modeste travail et ma profonde gratitude :

À mon père et ma mère

Pour l’amour, l’affection et la bienveillance dont ils m’entouraient ;

pour les efforts et les sacrifices qu’ils ont dû faire.

Pour leurs patiences et leurs encouragements...

"Je vous dois ce que je suis aujourd’hui et ce que je serai demain et je

ferai toujours de mon mieux pour rester votre fierté et ne jamais vous

décevoir.."

Qu’ils trouvent dans ce travail un humble témoignage de ma gratitude

et de ma reconnaissance.

À ma grande famille qui a cru en moi, à mes cousins et cousines…

À tous mes amis qui m’ont soutenu tout au long de mon parcours

À tous mes professeurs pendant mon parcours de l’école vers

l’université.

À toute personne qui a gravé ma vie par un mot qui m’a orienté vers

le bon chemin…

Cyrine TAHARI

Page 3: Rapport dernier tirage.pdf

Dédicaces

Je dédie ce modeste travail et ma profonde gratitude :

À mon père et ma mère

Autant de phrases aussi expressives soient-elles ne sauraient montrer

le degré d’amour et d’affection que j’éprouve pour eux.

Merci pour tout l'amour et la confiance et pour votre énorme support

pendant la rédaction de mon projet.

A mon frère Youssef

Pour sa patience, son amour et ses encouragements.

A ma sœur Haifa

Sans ses conseils et son amour je serai perdue

A Nilou

Pour ses encouragements continus et sa confiance énorme en moi.

A tous les membres de ma famille, petits et grands, veuillez trouver

dans ce modeste travail l'expression de mon affectation.

A tous mes amis et mes collègues qui m’ont soutenu.

Yasmine TORKHANI

Page 4: Rapport dernier tirage.pdf

Remerciements

Nous tenons, tout d’abord, à remercier Dieu le tout puissant et miséricordieux, qui nous a

donné la force et la patience d’accomplir ce modeste travail.

Au terme de notre projet de fin d’études, qu’il nous soit permis d’exprimer nos

sentiments de gratitude aux différentes personnes qui nous ont encadrés et soutenues tout au

long de notre travail rendant ainsi possible l’accomplissement du présent projet.

Nous tenons tout particulièrement à exprimer notre profonde gratitude et respect à

Monsieur Mohamed El Hedi AMLOUK, de nous avoir offert l’opportunité d’effectuer notre

stage au sein d'Attijari Bank.

Notre profonde gratitude s’adresse également à Monsieur Hosni KRICHA qui, en dépit

de ses multiples occupations et sollicitations, nous a été d'une aide judicieuse.

Notre profonde gratitude s’adresse tout particulièrement à Madame Nadia YACOUBI,

qui a accepté de diriger, de lire et d’apporter des correctifs à ce travail sans oublier ses conseils

et suggestions éclairées.

Nos remerciements s’adressent aussi à toutes l'équipe du département informatique

d'Attijari Bank qui nous a accompagné et aidé d’une manière et d’une autre à la réalisation

du présent travail.

Page 5: Rapport dernier tirage.pdf

Table des matières

Introduction générale ..................................................................................................................................... 1

Chapitre 1 Cadre du projet ............................................................................................................................. 3

1.1. Introduction ....................................................................................................................................... 3

1.2 Présentation de l’organisme d’accueil ............................................................................................. 3

1.3 Analyse de l’existant ......................................................................................................................... 3

1.4 Solutions envisagées .......................................................................................................................... 4

1.5 Travail à faire .................................................................................................................................... 4

1.6 Méthodologie et formalisme adoptés ............................................................................................... 6

1.6.1. Scrum ......................................................................................................................................... 6

1.7 Conclusion ....................................................................................................................................... 10

Chapitre 2 Sprint 0 ....................................................................................................................................... 11

2.1. Introduction ..................................................................................................................................... 11

2.2. Capture des besoins ........................................................................................................................ 11

2.2.1 Identification des acteurs ....................................................................................................... 11

2.2.2 Description des acteurs ........................................................................................................... 12

2.3. Les besoins fonctionnels.................................................................................................................. 12

2.4. Les besoins non fonctionnels .......................................................................................................... 13

2.5. Backlog du produit ......................................................................................................................... 14

2.6. Planification des Releases ............................................................................................................... 22

2.7. Identification de l’équipe Scrum.................................................................................................... 23

2.8. Diagramme de cas d’utilisation initial ........................................................................................... 23

2.9. Technologies et outils de développement ...................................................................................... 24

2.9.1 Présentation du système d’exploitation mobile Android..................................................... 24

2.9.2 Architecture de l’application Front Office ........................................................................... 25

2.9.3 Framework et développement de l’application Back Office ............................................... 26

2.10. Environnement technique du travail ............................................................................................. 28

2.10.1 Outil de conception ................................................................................................................. 29

2.10.2 Outils de développement ........................................................................................................ 29

2.10.3 Langages de programmation ................................................................................................. 30

2.10.4 Langage de modélisation : ...................................................................................................... 31

2.11. Conclusion ....................................................................................................................................... 31

Chapitre 3Développement de l'application Front Office ............................................................................ 32

Page 6: Rapport dernier tirage.pdf

3.1. Introduction ......................................................................................................................................... 32

3.2. Sprint 1 : Authentification .................................................................................................................. 32

3.2.1 Sprint planning ou planification du sprint .................................................................................. 32

3.2.2 Spécification fonctionnelle ............................................................................................................. 33

3.2.2.1 Diagramme de Cas d'utilisation ............................................................................................ 33

3.2.2.2 Description textuelle ............................................................................................................... 33

3.2.3 Conception ....................................................................................................................................... 34

3.2.4 Test ................................................................................................................................................... 38

3.2.5 Sprint planning ou planification du sprint ................................................................................... 40

3.2.6 Spécification fonctionnelle .............................................................................................................. 41

3.2.6.1 Diagramme de Cas d'utilisation ............................................................................................ 41

3.2.6.2 Description textuelle ............................................................................................................... 42

3.2.7 Conception ....................................................................................................................................... 44

3.2.8 Test ................................................................................................................................................... 52

3.3. Sprint 3: Accès aux services publics ................................................................................................... 54

3.3.1 Sprint planning ou planification du sprint ................................................................................... 55

3.3.2 Spécification fonctionnelle .............................................................................................................. 56

3.3.2.1 Diagramme de Cas d'utilisation ............................................................................................ 56

3.3.2.2 Description textuelle ............................................................................................................... 57

3.3.3 Conception ....................................................................................................................................... 59

3.3.4 Test ................................................................................................................................................... 68

3.4. Conclusion ....................................................................................................................................... 71

Chapitre 4 Développement de l'application Backoffice .............................................................................. 72

4.1. Introduction ......................................................................................................................................... 72

4.2. Sprint 1 : Administration .................................................................................................................... 72

4.2.1 Sprint planning ou planification du sprint ................................................................................... 72

4.2.2 Spécification fonctionnelle .............................................................................................................. 73

4.2.2.1 Diagramme de Cas d'utilisation ............................................................................................ 74

4.2.2.2 Description textuelle ............................................................................................................... 75

4.2.3 Conception ....................................................................................................................................... 75

4.3. Sprint 2: Gestion des demandes transactionnelles (Cartes, Chéquiers, Virements)...................... 80

4.3.1 Sprint planning ou planification du sprint ................................................................................... 80

4.3.2 Spécification fonctionnelle .............................................................................................................. 82

4.3.2.1 Diagramme de Cas d'utilisation ............................................................................................ 82

Page 7: Rapport dernier tirage.pdf

4.3.2.2 Description textuelle ............................................................................................................... 83

4.3.3 Conception ....................................................................................................................................... 84

4.3.4 Test ................................................................................................................................................... 87

4.4. Sprint 3: Gestion des contacts ............................................................................................................ 88

4.4.1 Sprint planning ou planification du sprint ................................................................................... 88

4.4.2 Spécification fonctionnelle .............................................................................................................. 89

4.4.2.1 Diagramme de Cas d'utilisation ............................................................................................ 89

4.4.2.2 Description textuelle ............................................................................................................... 89

4.4.3 Conception ....................................................................................................................................... 90

4.4.4 Test ................................................................................................................................................... 94

4.5. Conclusion ....................................................................................................................................... 95

Chapitre 5 Codage et déploiement ............................................................................................................... 96

5.1. Introduction ......................................................................................................................................... 96

5.2. Codage .................................................................................................................................................. 96

5.2.1 Diagramme de composants ............................................................................................................ 96

5.2.1.1 Diagrammes de composants de M1 ....................................................................................... 96

5.2.1.2 Diagrammes de composants de M2 ....................................................................................... 97

5.2.2 Diagramme de classes global de l’application .............................................................................. 98

5.2.3 Schéma de la base de données ........................................................................................................ 99

5.3. Déploiement ........................................................................................................................................ 110

5.3.1 Diagramme de déploiement de M1 .............................................................................................. 110

5.3.2 Diagramme de déploiement de M2 .............................................................................................. 111

5.4. Conclusion .......................................................................................................................................... 111

Conclusion et perspective ........................................................................................................................... 112

Annexe A ..................................................................................................................................................... 113

Neto graphie ................................................................................................................................................ 114

Page 8: Rapport dernier tirage.pdf

Liste des figures

FIGURE 1 : LE DEROULEMENT D’UNE ITERATION [1] ................................................................................ 8

FIGURE 2 : DEROULEMENT D’UN SPRINT [2] .............................................................................................. 10

FIGURE 3 : HERITAGE ENTRE LES ACTEURS .............................................................................................. 11

FIGURE 4 : SCHEMA DE RELEASES ............................................................................................................... 22

FIGURE 5: DIAGRAMME DE CAS D’UTILISATION GLOBAL DE L’APPLICATION ................................ 23

FIGURE 6 : ETUDE COMPARATIVE DES SYSTEMES D’EXPLOITATION MOBILE SUR LE MARCHE

[3] .................................................................................................................................................................. 24

FIGURE 7:ARCHITECTURE GENERALE DE L’APPLICATION MOBILE [4] .............................................. 25

FIGURE 8: ARCHITECTURE GENERALE D'APPLICATION WEB [5] .......................................................... 26

FIGURE 9: DIAGRAMME DE CAS D’UTILISATION GLOBAL SPRINT 1 ................................................... 33

FIGURE 10 : DIAGRAMME DE CLASSES DU CAS D’UTILISATION «S’AUTHENTIFIER» ..................... 35

FIGURE 11: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «S'AUTHENTIFIER» ................ 36

FIGURE 12 DIAGRAMME DE CLASSES DU CAS D’UTILISATION «MODIFIER MOT DE PASSE». ..... 37

FIGURE 13 DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «MODIFIER MOT DE PASSE». 38

FIGURE 14 : INTERFACE PRINCIPALE DE L’APPLICATION MOBILE ...................................................... 39

FIGURE 15: INTERFACE D’AUTHENTIFICATION. ....................................................................................... 39

FIGURE 16: INTERFACE DE MODIFICATION DU MOT DE PASSE ............................................................ 39

FIGURE 17: DIAGRAMME DE CAS D’UTILISATION GLOBAL SPRINT 2 ................................................. 42

FIGURE 18: DIAGRAMME DE CLASSES DU CAS D’UTILISATION «CONSULTER L’EXTRAIT DE

COMPTE» ..................................................................................................................................................... 45

FIGURE 19: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «CONSULTER L’EXTRAIT DU

COMPTE» ..................................................................................................................................................... 46

FIGURE 20: DIAGRAMME DE CLASSE DU CAS D'UTILISATION «DEMANDER UNE CARTE

BANCAIRE»................................................................................................................................................. 47

FIGURE 21: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «DEMANDER UNE CARTE

BANCAIRE»................................................................................................................................................. 48

FIGURE 22: DIAGRAMME DE CLASSES DU CAS D'UTILISATION «OPPOSER UNE CARTE

BANCAIRE»................................................................................................................................................. 49

FIGURE 23: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «OPPOSER UNE CARTE

BANCAIRE»................................................................................................................................................. 50

FIGURE 24: DIAGRAMME DE CLASSES DU CAS D'UTILISATION «CONSULTER LA BOITE DE

RECEPTION» ............................................................................................................................................... 51

FIGURE 25: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «CONSULTER LA BOITE DE

RECEPTION» ............................................................................................................................................... 52

FIGURE 26 : INTERFACE DU MENU PRINCIPAL .......................................................................................... 53

FIGURE 27 : INTERFACE DE CONSULTATION DES COMPTES BANCAIRES .......................................... 53

FIGURE 28 : INTERFACE DE CONSULTATION DE L’EXTRAIT BANCAIRE ............................................ 53

FIGURE 29 INTERFACE DE DEMANDE D’UNE CARTE ............................................................................... 54

FIGURE 30: DIAGRAMME DE CAS D’UTILISATION GLOBAL SPRINT3 .................................................. 57

FIGURE 31: DIAGRAMME DE CLASSES DU CAS D’UTILISATION «SUIVRE LES COURS DE

DEVISE» ....................................................................................................................................................... 60

FIGURE 32: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «SUIVRE LES COURS DE

DEVISE» ....................................................................................................................................................... 60

Page 9: Rapport dernier tirage.pdf

FIGURE 33: DIAGRAMME DE CLASSES DU CAS D’UTILISATION «CONTACTER LA BANQUE» ..... 61

FIGURE 34: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «CONTACTER LA BANQUE»

PARTIE1 ....................................................................................................................................................... 63

FIGURE 35 : DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «CONTACTER LA BANQUE»

PARTIE2 ....................................................................................................................................................... 64

FIGURE 36: DIAGRAMME DE CLASSES DU CAS D’UTILISATION «CONSULTER LE SYSTEME DE

GEOLOCALISATION» ................................................................................................................................ 65

FIGURE 37: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «CONSULTER LE SYSTEME DE

GEOLOCALISATION » ............................................................................................................................... 66

FIGURE 38 : DIAGRAMME DE CLASSES DU CAS D'UTILISATION «CONSULTER LA LISTER DES

POINTS DE CONTACT». ............................................................................................................................ 67

FIGURE 39: DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «CONSULTER LA LISTER DES

POINTS DE CONTACT» ............................................................................................................................. 68

FIGURE 40 : INTERFACE DU MENU PUBLIC ................................................................................................ 69

FIGURE 41 : INTERFACE DE SUIVI DES COURS DE DEVISE ..................................................................... 69

FIGURE 42: INTERFACE DE CONSULTATION DE LA LISTE DES REGIONS. .......................................... 70

FIGURE 43: INTERFACE DE CONSULTATION DE LA LISTE DES AGENCES. ......................................... 70

FIGURE 44 : INTERFACE D’ENVOI D’UN POUR UN ABONNE ................................................................... 70

FIGURE 45: INTERFACE D’APPEL ................................................................................................................... 70

FIGURE 46 : DIAGRAMME DE CAS D’UTILISATION GLOBAL DU SPRINT 1 ......................................... 74

FIGURE 47 : DIAGRAMME DE CAS D’UTILISATION «GERER LES AGENCES» ..................................... 74

FIGURE 48 : DIAGRAMME DE CLASSES DU CAS D’UTILISATION «GERER LES AGENCES» ............. 76

FIGURE 49 : DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «GERER LES AGENCES» ...... 77

FIGURE 50 : INTERFACE PRINCIPALE DE LA GESTION DES AGENCES ................................................. 78

FIGURE 51 : INTERFACE DE L’OPERATION DE SUPPRESSION D’UNE AGENCE .................................. 78

FIGURE 52 : INTERFACE DE L’OPERATION D’AJOUT D’UNE AGENCE ................................................. 79

FIGURE 53 : INTERFACE DEL’OPERATION DE MODIFICATION DES COORDONNEES D’UNE

AGENCE ....................................................................................................................................................... 79

FIGURE 54 : DIAGRAMME DE CAS D’UTILISATION GLOBALE SPRINT2 ............................................... 82

FIGURE 55 : DIAGRAMME DE CAS D’UTILISATION «GERER LES DEMANDE DE CARTES» ............. 83

FIGURE 56 : DIAGRAMME DE CLASSES DU CAS D’UTILISATION «GERER LES DEMANDES DE

CARTE» ........................................................................................................................................................ 85

FIGURE 57: CAS D'UTILISATION GENERE «GERER LES DEMANDES D'OBTENTION » ...................... 86

FIGURE 58 : INTERFACE DE LA GESTION DES DEMANDES D’OBTENTION ......................................... 87

FIGURE 59 : CONSULTATION DES DEMANDES DE CARTES .................................................................... 87

FIGURE 60 : DIAGRAMME DE CAS D’UTILISATION GLOBAL SPRINT3 ................................................. 89

FIGURE 61 : DIAGRAMME DE CLASSE DU CAS D’UTILISATION «GESTION DES CONTACTS» ........ 91

FIGURE 62 DIAGRAMME DE SEQUENCES DU CAS D’UTILISATION «GERER LES MESSAGES» ...... 93

FIGURE 63 : INTERFACE DE LA GESTION DE LA LISTE DES RENDEZ-VOUS ....................................... 94

FIGURE 64 : INTERFACE DE LA GESTION DES RENDEZ-VOUS .............................................................. 94

FIGURE 65 : DIGRAMME DE COMPOSANTS DU MODULE M1 ................................................................. 97

FIGURE 66 : DIAGRAMME DE COMPOSANTS DU MODULE M2 ............................................................... 97

FIGURE 67 : DIAGRAMME DE CLASSE GLOBAL DE L’APPLICATION .................................................... 98

FIGURE 68 : DIAGRAMME DE DEPLOIEMENT DE M1 .............................................................................. 111

FIGURE 69 : DIAGRAMME DE DEPLOIEMENT DE M2 .............................................................................. 111

Page 10: Rapport dernier tirage.pdf

Liste des tableaux

TABLEAU 1 : DESCRIPTION DETAILLEE DES ACTEURS ........................................................................... 12

TABLEAU 2: PRODUCT BACKLOG ................................................................................................................. 16

TABLEAU 3: IDENTIFICATION DE L’EQUIPE SCRUM ................................................................................ 23

TABLEAU 4: DESCRIPTION DES MACHINES DE DEVELOPPEMENT ...................................................... 28

TABLEAU 5: SPRINT 1 BACKLOG ................................................................................................................... 33

TABLEAU 6: DESCRIPTION TEXTUELLE DE CAS D’UTILISATION «S’AUTHENTIFIER» .................... 34

TABLEAU 7 :SPRINT2 BACKLOG .................................................................................................................... 40

TABLEAU 8 : DESCRIPTION TEXTUELLE DU CAS D’UTILISATION «CONSULTER L’EXTRAIT DU

COMPTE» ..................................................................................................................................................... 42

TABLEAU 9: DESCRIPTION TEXTUELLE DU CAS D’UTILISATION «DEMANDER UNE CARTE

BANCAIRE»................................................................................................................................................. 43

TABLEAU 10: DESCRIPTION TEXTUELLE DU CAS D’UTILISATION «CONSULTER LA BOITE

RECEPTION» ............................................................................................................................................... 44

TABLEAU 11 : SPRINT3 BACKLOG ................................................................................................................. 55

TABLEAU 12 : DESCRIPTION DU CAS D’UTILISATION «ACCEDER AUX SERVICES PUBLIC

D’ATTIJARI BANK» ................................................................................................................................... 57

TABLEAU 13: DESCRIPTION DU CAS D’UTILISATION «CONTACTER LA BANQUE» .......................... 58

TABLEAU 14 : SPRINT1 BACKLOG ................................................................................................................. 73

TABLEAU 15 : DESCRIPTION TEXTUELLE DU CAS D’UTILISATION «GERER LES AGENCES» ........ 75

TABLEAU 16 : SPRINT2 BACKLOG ................................................................................................................. 80

TABLEAU 17 : DESCRIPTION TEXTUELLE DU CAS D’UTILISATION «GERER LES DEMANDE

D'OBTENTION»........................................................................................................................................... 83

TABLEAU 18 : SPRINT3 BACKLOG ................................................................................................................. 88

TABLEAU 19 : DESCRIPTION TEXTUELLE DU CAS D’UTILISATION «GERER LES DEMANDES DE

RENDEZ-VOUS» ......................................................................................................................................... 90

TABLEAU 20 : DESCRIPTION TEXTUELLE DU CAS D'UTILISATION «GERER LES MESSAGES» ...... 90

TABLEAU 21 TABLE « ABONNE » .................................................................................................................. 99

TABLEAU 22 : TABLE « REGION » .................................................................................................................. 99

TABLEAU 23: TABLE « CLIENT » .................................................................................................................. 100

TABLEAU 24 : TABLE « COMPTE » ............................................................................................................... 100

TABLEAU 25 : TABLE « AGENT » ................................................................................................................. 101

TABLEAU 26 : TABLE «PARAMETRE» ......................................................................................................... 101

TABLEAU 27 : TABLE «AGENCE» ................................................................................................................. 102

TABLEAU 28 : TABLE «DAB»" ....................................................................................................................... 102

TABLEAU 29 : TABLE «DDE_CARTE» .......................................................................................................... 103

TABLEAU 30 : TABLE «MOUVEMENT» ....................................................................................................... 103

TABLEAU 31 : TABLE «DDE_CHEQ» ............................................................................................................ 104

TABLEAU 32 : TABLE « DE_OP_CARTE» .................................................................................................... 104

TABLEAU 33 : TABLE «DDE_OP_CHEQ» ..................................................................................................... 105

TABLEAU 34 : TABLE «CHEQUIER» ............................................................................................................. 105

TABLEAU 35 : TABLE «DDE_VIR» ................................................................................................................ 106

TABLEAU 36 TABLE «MESSAGE» ................................................................................................................ 107

TABLEAU 37 : TABLE «CHEQUE» ................................................................................................................. 108

Page 11: Rapport dernier tirage.pdf

TABLEAU 38 : TABLE «TYPCARTE» ............................................................................................................ 108

TABLEAU 39 : TABLE «RENDEZVOUS» ...................................................................................................... 109

TABLEAU 40 : TABLE «CARTE» .................................................................................................................... 110

Page 12: Rapport dernier tirage.pdf

1

Introduction générale

Le marché des téléphones intelligents ou « Smartphone » est un marché en plein essor avec plus

d’un milliard de téléphones vendu dans le monde en 2014.

Ces téléphones mobiles dotés d’une intelligence équivalente à celle d’un ordinateur ne sont plus

seulement un moyen de communication, mais aussi un outil pour faciliter la vie de tous les

jours. Les utilisateurs ne peuvent plus s’en passer, il y en a même qui les considèrent comme

leurs meilleurs amis, car ils représentent pour eux une source d’information de tout ce qui se

passe autour d’eux, un moyen de divertissement, mais aussi un outil de travail.

Afin d'élargir les canaux de communication avec les clients, les banques n'ont pas fait figure

d'exception à cette émergence et ont investi dans le domaine de Smartphone en inventant le

concept de Mobile Banking.

En effet, le mobile Banking signifie l'ensemble des services bancaires tels que la consultation

de soldes, des extraits bancaires, les demandes d'opposition ou d'obtention sur cartes ou sur

chéquiers ... qui sont accessibles par un terminal mobile.

Dans ce contexte, notre projet de fin d’études a pour but de concevoir et développer une

application de mobile banking comprenant deux parties:

Une application mobile pour les utilisateurs de M-banking qui constitue le front office.

Une application web pour l'administration, dédiés aux employés de la banque qui

constitue le Back office.

Notre travail s’intitulant « Conception et développement d’une application web et mobile de

Mobile Banking » est composé de cinq chapitres :

Dans le premier chapitre, nous présenterons le cadre de notre projet.

Le deuxième chapitre présentera notre sprint 0 ou encore la phase de préparation où nous

détaillerons les technologies que nous allons manipulé tout au long de notre projet.

Le troisième chapitre portera sur le les étapes de développement du front office et le quatrième

chapitre sur les étapes de développement du back office.

Page 13: Rapport dernier tirage.pdf

2

Et notre dernier chapitre, sera dédié à la partie déploiement et codage de notre application où

nous allons détaillé l'architecture des deux applications et le schéma de la base de données.

Nous finirons par une conclusion générale ainsi que la proposition de quelques perspectives.

Page 14: Rapport dernier tirage.pdf

3

Chapitre 1 Cadre du projet

1. Introduction

Pour la gestion des opérations financières, l’échange d'information avec la banque, le téléphone

mobile (ou la tablette utilisée en mobilité comme un Smartphone) est un média plus pratique,

plus immédiat et plus simple. Nous vivons à une époque où la technologie mobile est

omniprésente. Le téléphone mobile occupe une place centrale dans cette évolution

technologique rendant possible l’accès aux réseaux n’importe où et n’importe quand.

Ainsi, étant donnée le nombre croissant de téléphones portables en usage, il est intéressant d’en

faire un canal principal pour matérialiser ce qui constitue l’ossature d’une relation fidèle à sa

banque : gérer ses comptes, accéder aux services bancaires essentiels où, quand et comme l’on

veut.

2 Présentation de l’organisme d’accueil

Attijari Bank Tunisie est une banque tunisienne détenant le réseau d’agences le plus important

en Tunisie et classée troisième banque privée en terme de dépôt et d’engagement. Elle est

fortement présente sur l’ensemble des segments de marchés particuliers, professionnels et

entreprises. En vue de se positionner sur le marché tunisien en tant qu’acteur de référence,

Attijari Bank a conçu un plan de développement stratégique visant la réalisation d’objectifs

ambitieux à l'horizon 2015.

A travers la mise en place de son projet de développement, elle a contribué d’une façon active

à la performance du système bancaire tunisien et à la croissance du pays notamment grâce à

l’appui de ses partenaires. Outre son implication dans le développement économique du pays,

son projet s’inscrit dans une logique de coopération économique entre les pays du Maghreb.

3 Analyse de l’existant

L’analyse de l’existant consiste à présenter les services diversifiés d’Attijari Bank tel que, la

consultation de solde, la prise de rendez-vous, le suivi de la bourse .... En effet, ces services

offerts par Attijari Bank peuvent se faire de deux manières à savoir : Le mode classique et le

mode à distance.

Pour le premier mode, Attijari Bank met à la disposition de ses clients des agences pour servir

leurs besoins. Les guichets de l’agence émettrice proposent des services qui conviennent aux

besoins de ces clients.

Page 15: Rapport dernier tirage.pdf

4

Concernant le second mode, Attijari Bank met à la disposition de ses clients un service de

consultation et virement bancaire via internet. En effet, le client doit passer par le site web

d’Attijari Bank1 et choisir le service désiré ayant des paramètres d’authentification fournis

préalablement par son agence. Dans le but d’interagir d’avantage avec les clients et d’en attirer

des nouveaux, Attijari Bank décide de développer des services bancaires pour mobile.

4 Solutions envisagées

Depuis le milieu des années 2000, les plus grandes banques mondiales commencent à investir

dans le Mobile Banking appelé aussi M-Banking. Rappelons que le «M-Banking désigne une

spécificité du Mobile Business adaptée au métier de la Banque. Il s’agit du traitement des

services bancaires à travers le mobile» [1]

Attijari Bank nous a confié la tâche de concevoir et de développer une application web et

mobile. C’est dans ce contexte que vient s’inscrire notre projet de fin d’études.Il s’agit en fait

d’une application Android M-Banking permettant à sa clientèle de bénéficier des services

bancaires qu’elle offre sur un terminal mobile (Smartphone, tablette..) d’où vient le concept de

l'informatique ubiquitaire.

«Les systèmes dits ubiquitaires supportent la mobilité de l'utilisateur. Le principal intérêt de ces

systèmes est de s’adapter à l'environnement de l'homme (géo localisation, disponibilité des

réseaux de communication, identification de l'utilisateur ...). En d'autre termes, c'est le système

qui s'adapte à l'Homme, et pour y arriver le système se doit d'être présent partout et en temps

réel.» [2] D'où le nom du guichet virtuel dans le secteur bancaire permettant d’assurer ces trois

principes :

Any Time : continuité de service, au besoin du client.

Any Where : à la maison, au travail, à l'extérieur, en Tunisie, à l'étranger.

Any Acces : multi canaux.

5 Travail à faire

Le travail à faire est de concevoir et développer une application de M-Banking que nous avons

nommée «Attijari Mobile Banking». Il s’agit d’une application divisée en deux modules : un

premier dédié au Front Office et un second pour le Back Office.

1 Site Officiel : http://www.attijaribank.com.tn/Fr/

Page 16: Rapport dernier tirage.pdf

5

M1 : Front Office

Une application Android qui sera installée sur un terminal mobile développé en langage de

programmation JAVA dédiée à la fois aux clients d’Attijari Bank et aux clients potentiels. En

effet, l’application mobile permet aux clients d'Attijari Bank de:

Accéder à des relevés bancaires électroniques

Demander et/ou opposer un chéquier.

Demander et/ou opposer une carte bancaire.

Effectuer des virements simples intra-bancaires.

Consulter la boite de notifications.

En plus, notre application s'adresse aux clients des autres banques qui seront traités comme des

clients potentiels. On leur offre un ensemble de fonctionnalités qui pourront servir dans leur vie

quotidienne mais aussi bien pour les tenir au courant des actualités de la banque et leur aider à

trouver des agences ou des DAB d'Attijari Bank en cas de besoin. Nos solutions permettent à

tous les utilisateurs de l'application de :

Trouver et lister les agences et les DAB.

Suivre les actualités de la banque.

Suivre le marché de la bourse.

Suivre les cours des devises.

Simuler des crédits et des placements.

Contacter la banque soit par message, par téléphone ou en demandant un rendez-vous

auprès de notre service clientèle.

M2 : Back Office

Pour cela, nous avons prévu une plateforme web J2EE pour l’administration de l’application

mobile. En effet, le Back Office désigne l'ensemble des parties du système

d’information auxquelles l'utilisateur final n'a pas accès. C'est la partie, que les employés

d'Attijari Bank doivent assurer le bon fonctionnement de l'application mobile.

La mise à jour de la base de données et de l'application mobile, l'approbation des demandes

clients, le contrôle d'identité et la communication avec les clients, sont les principales

fonctionnalités de cette application web.

Page 17: Rapport dernier tirage.pdf

6

6 Méthodologie et formalisme adoptés

Dans le cadre de ce projet, nous nous sommes intéressées à l’adoption d’une approche Agile.

«Une méthode agile est une approche itérative et incrémentale, qui est menée dans un esprit

collaboratif, avec juste ce qu’il faut de formalisme. Elle génère un produit de haute qualité tout

en prenant en compte l’évolution des besoins des clients.» [3]

Ce sont des méthodologies essentiellement dédiées à la gestion de projets informatiques. Elles

reposent sur des cycles de développement itératifs et adaptatifs en fonction des besoins évolutifs

du client. Elles permettent notamment d'impliquer l'ensemble des collaborateurs ainsi que le

client dans le développement du projet.

Ces méthodes permettent généralement de mieux répondre aux attentes du client en un temps

limité (en partie grâce à son implication) tout en faisant monter les collaborateurs en

compétences.

On citera comme méthodes de développement Agile :

• Scrum

• Extreme Programming

• Adaptive Software Development (ASD)

• Dynamic System Development Method (DSDM)

Nous nous sommes intéressées à la méthode Scrum.

6.1. Scrum

« La méthode SCRUM définit un cadre de travail permettant la réalisation de projets complexes.

Initialement prévu pour le développement de projets type « Software », cette méthode peut être

appliquée à tout type de projet, du plus simple au plus innovant, et ce de manière très

simple.»[4] Cette méthodologie permet de s’adapter rapidement aux changements d’un client à

fréquence régulière. Chaque fin d'itération, l'équipe et le client réévaluent les spécifications du

logiciel.

Pourquoi Scrum ?

Avant, le client ne voyait pas l’évolution du travail et n’était pratiquement pas impliqué pendant

l’exécution de son projet. En effet il ne pouvait pas commencer à faire des tests avant que tout

soit presque fini. Par contre en Scrum, le client est plus impliqué dans le processus car un projet

contient plusieurs livrables qu'il doit approuver. A chaque livrable les fonctionnalités sont en

Page 18: Rapport dernier tirage.pdf

7

amélioration continue et le client voit régulièrement l'évolution des travaux et si quelque chose

ne lui convient pas, il est plus facile de l'ajuster pour satisfaire ses besoins. Donc Scrum vise

essentiellement à optimiser la prévisibilité d'un projet et à mieux contrôler les risques.

Les intervenants dans Scrum

La méthode Scrum définit trois rôles pour un projet:

o Le Product Owner

Il s'agit du représentant officiel du client au sein d'un projet Scrum. Il définit les besoins

du produit et rédige les spécifications. Il est également chargé de définir et prioriser les

users stories pour chaque sprint.

o Le Scrum Master

Il s'agit d'une personne chargée de veiller à la mise en application de la méthode et au

respect de ses objectifs. Il ne s'agit pas d'un chef de projet, mais d'une personne chargée

de lever les obstacles éventuels qui empêcherait l'avancement de l'équipe et du projet

pendant les différents sprints.

o Team Members

Ce sont les personnes chargées de la réalisation du sprint et d'un produit utilisable en fin

de sprint. Il peut s'agir de développeurs, architectes, personnes chargées de faire des tests

fonctionnels…

Sprint

Scrum s'appuie sur le découpage des projets en itérations encore nommées «Sprints».Un Sprint

est une période durant laquelle une fonctionnalité (ou incrément du projet) est réalisée.

Il peut avoir une durée qui varie généralement entre deux semaines et un mois. Cette courte

durée permet de livrer rapidement au propriétaire du produit un incrément de logiciel

comportant le plus de valeur d’affaire. Le logiciel livré a de la valeur pour le propriétaire du

produit puisque les fonctionnalités développées sont celles qui ont la plus haute priorité, celles

se trouvant en tête du carnet de produit. Un autre avantage de la courte durée des itérations est

de permettre au propriétaire du produit de modifier les priorités des fonctionnalités demandées

au fur et à mesure de l’avancement du projet de développement. En effet, s'il désire ajouter des

fonctionnalités, celles-ci seront potentiellement prises en compte lors de la prochaine itération.

À la fin de chaque sprint, les membres de l’équipe obtiennent un produit partiel potentiellement

livrable et le feedback récolté permet d’ajuster le backlog pour le sprint suivant.En soi, Scrum

Page 19: Rapport dernier tirage.pdf

8

ne suggère que trois jalons2: la planification d'itération (sprint planning), la mêlée quotidienne

(daily Scrum) et la revue d'itération (sprint review). Durant ces derniers, il y a production de

trois artéfacts « de gestion » : le carnet de produit priorisé (product backlog), le carnet

d'itération.

La figure 1 schématise le cycle de vie d’un projet Scrum

Figure 1 : Le déroulement d’une itération [1]

Les artéfacts de Scrum

o Product Backlog (Carnet de produits)

Scrum débute avec un produit backlog, qui est une liste des requis priorisés partagé et

détenu par le Product Owner, «User Stories» ou «Uses Cases».Le propriétaire du produit

est responsable de prioriser les fonctionnalités. Ces derniers servent à articuler et à finaliser

ce que le client désire obtenir. Des nouvelles fonctionnalités peuvent être ajoutées ou

retirées à tout moment du carnet de produit. Cette flexibilité offerte au propriétaire du

produit est un grand avantage de Scrum.

o Sprint Backlog (Carnet d'itération)

A chaque sprint, on choisit une partie des fonctionnalités du backlog de produit pour les

réaliser.

2Un jalon (ou, en anglais milestone), dans le cadre de la gestion de projet, est la fin d'une étape, la fin d'un

travail.

Page 20: Rapport dernier tirage.pdf

9

La réalisation de ces fonctionnalités doit permettre d'atteindre un objectif de sprint défini

au début de celui-ci. Chaque fonctionnalité est alors découpée en tâches qui pourront

être réalisées par différents membres de l'équipe.

o Burn Down Chart (Graphique d’avancement)

Le graphique d'avancement d'itération permet aux équipes de voir leur avancement par

rapport au travail engagé dans l'itération en cours. L’axe vertical présente la quantité de

travail à faire et l’axe horizontal les jours de travail.

Les activités d'un sprint

o Planification d'itération «Sprint Planning»

Lors de cette réunion, l’équipe discute des objectifs du sprint et décide de ce qui sera

accompli pendant cette période. À la fin de la réunion, l’équipe s’engage à livrer une ou

plusieurs fonctionnalités.

o Mêlée quotidienne «Daily Scrum Meeting»

La mêlée quotidienne est une rencontre de courte durée où l'équipe fait un compte rendu de

son avancement vers l’atteinte de l’objectif de l’itération. Chaque membre de l'équipe

répond à trois questions :

• Qu'as-tu accompli depuis la dernière mêlée?

• Que vas-tu accomplir jusqu'à la prochaine mêlée?

• Est-ce que des éléments te bloquent dans ton avancement?

Et si on doit obtenir des informations de la part du client, c’est le product owner qui doit

s’assurer de le contacter pour obtenir les réponses.

o Revue d'itération «Sprint Review»

La revue d'itération se fait à la fin du cycle de développement de l'itération et permet au

propriétaire du produit de prendre connaissance des fonctionnalités qui ont été développées

durant l'itération. À la revue d'itération, le propriétaire évalue si le produit qui lui est

présenté correspond bien à l’engagement de livraison pris par l’équipe lors de la séance de

planification de l’itération. Après la revue d'itération, une nouvelle itération débute et

relance ainsi le cycle de planification, développement et revue.

La figure 2 explique le déroulement d'un Sprint

Page 21: Rapport dernier tirage.pdf

10

Figure 2 : Déroulement d’un sprint [2]

7 Conclusion

Dans ce premier chapitre, nous avons commencé par présenter notre organisme d'accueil

Attijari Bank. Ensuite, nous avons décrit le contexte du projet et la solution proposée qui

constituera le sujet de notre projet. Enfin, après avoir choisi Scrum comme méthodologie de

gestion de projet, nous nous dirigerons naturellement vers le Sprint 0.

Page 22: Rapport dernier tirage.pdf

11

Chapitre 2 Sprint 0

1. Introduction

Le principe de base de Scrum est de se focaliser de façon itérative sur un ensemble de

fonctionnalités à réaliser dans chaque sprint. Dans ce chapitre, la première phase de Scrum qui

est le Sprint 0 sera présentée. Il s’agit en fait d’une phase de planification et architecture qui ne

se termine pas nécessairement par une livraison. Les travaux réalisés dans cette période

conduits à construire une bonne vision du produit, identifier les rôles des utilisateurs, dégager

les fonctionnalités principales, préparer l’environnement de développement et déterminer un

plan de Release afin de produire le Product Backlog initial ainsi qu'une première planification

des sprints.

2. Capture des besoins

Nous procéderons par l’identification des acteurs puis la description des histoires utilisateurs

de la future application.

2.1 Identification des acteurs

Les deux acteurs principaux de l'application Attijari Mobile Banking sont :

Client d'Attijari Bank

Client potentiel d'Attijari Bank

En tenant compte des fonctionnalités offertes en commun pour les deux acteurs, il existe un

autre plus général «Utilisateur M-Banking» avec lequel ils constituent une relation d’héritage.

La figure 3 illustre la relation d'héritage entre les acteurs:

Figure 3 : Héritage entre les acteurs

Page 23: Rapport dernier tirage.pdf

12

2.2 Description des acteurs

Le tableau 1 définit les acteurs de l'application Attijari Mobile Banking ainsi que leurs rôles.

3. Les besoins fonctionnels

«Les besoins fonctionnels expriment une action que doit effectuer le système en réponse à une

demande (sorties qui sont produites pour un ensemble donné d’entrées)». [7]

Dans ce qui suit, nous décrivons les besoins fonctionnels de notre application appelés dans

Scrum «User stories»:

Tableau 1 : Description détaillée des acteurs

Acteur Définition Rôle

Client d'Attijari Bank Tout client de la banque possédant le

pack « Mobile Banking » afin de

pouvoir utiliser l'application Attijari

Mobile Banking

-Il s’authentifie afin qu’il puisse

accéder à son espace client où il

bénéficiera d’un ensemble de

fonctionnalités (consultation compte,

demande carte ou chéquier,

virements ...).Il a également l’accès à

un espace public qui regroupe un

ensemble de services (trouver agence

ou distributeur, convertisseur de

devise, bourse..).

Client potentiel d'Attijari

Bank

Toute personne utilisant l'application

M-Banking d’Attijari Bank, qui n'est

pas encore client, et qui pourra le

devenir.

-Il a accès à un espace public de

l’application où il pourra bénéficier

d'un ensemble de fonctionnalités tel

que la recherche d'une agence ou d'un

DAB, le suivi des actualités de la

banque et de la bourse...

Administrateur M-

Banking d'Attijari Bank

Il s’agit de la personne qui possède

toute les permissions sur le

système.

Il est responsable de la gestion des

abonnés M-Banking, la gestion des

agences, des DAB, des régions et des

demandes clients (demandes

d’opposition ou d’obtention de carte

ou de chéquier, demandes de

virements…).

Page 24: Rapport dernier tirage.pdf

13

S’authentifier : Pour bénéficier des fonctionnalités offertes de l’application, le client

d'Attijari Bank doit s'authentifier en saisissant son code client et son mot de passe.

Accéder aux services public d’Attijari Bank : L’utilisateur M-Banking aura accès à

un espace public où un ensemble de fonctionnalités seront offertes tel que le suivi de la

bourse, des cours de devise, des actualités de la banque (Offre, Evénements, Ouverture

de nouvelles agences...), consultation des simulateurs et recherche des agences et des

DAB.

Accéder aux services clients d’Attijari Bank : C'est un espace dédié seulement aux

clients M-Banking qui leur permet d'effectuer des transactions bancaires tel que la

consultation de l'extrait bancaire, demande et/ou opposition sur un chéquier ou sur une carte

bancaire

Gérer le backoffice de l'application Mobile : L'administrateur de l'application doit

gérer la partie Backoffice. Il aura la possibilité de mettre à jour les données (ajouter une

nouvelle agence, supprimer une agence, actualiser les cours de devise ...), confirmer ou

décliner les demandes clients (demande d'obtention ou opposition sur carte, demande de

rendez-vous ...).

4. Les besoins non fonctionnels

«Il s’agit des besoins qui caractérisent le système. Ce sont des besoins en matière de

performance, de type de matériel ou le type de conception. Ces besoins peuvent concerner les

contraintes d’implémentation (langage de programmation, type SGBD.) ». [7]

Les besoins non fonctionnels de notre système, appelés dans Scrum «Technical Stories», se

décrivent comme suit :

Contraintes ergonomiques

o La navigation entre les interfaces de notre future application mobile doit être légère et

fluide.

o Les interfaces de notre future application web doivent être simples et homogènes.

o L’utilisateur M-Banking doit être guidé lors de la saisie de certaines informations, afin

de respecter les formats des champs de notre base de données.

Page 25: Rapport dernier tirage.pdf

14

Contraintes techniques

o Vu que notre application mobile manipule des données confidentielles, tous les accès

des clients doivent être protégés par un login, un mot de passe et un IMEI3 récupéré

lors de l’ajout d’un nouvel abonné. Ce code permet d’assurer la sécurité en donnant

accès aux abonnées de manipuler l’application uniquement par leurs propres téléphones.

o Toutes les applications web au sein d'Attijari Bank nécessitent une authentification par

certificat qui sera établit en mettant en place le Framework Spring Security.Pour notre

cas, on a dû suivre le protocole interne et intégrer ce Framework d’authentification et

de contrôle d’accès.

o Les mots de passes des abonnés doivent êtres cryptés au niveau de la base de données

afin de garder sécurisé l’accès à l’application «Attijari Mobile Banking».

o Les requêtes doivent être optimisées afin d’assurer un temps de réponse minimal.

5. Backlog du produit

Le Backlog produit est utilisé pour planifier la release et aussi à chaque sprint, lors de la réunion

de planification du sprint pour décider du sous-ensemble qui sera réalisé. Ses éléments sont

classés par ordre de priorité ce qui permet de définir l’ordre de réalisation.

Pour chaque user story on identifie le rang, l’estimation, l'importance et la description.

Rang: Pour les user stories ayant la même priorité, un rang est assigné pour indiquer l'ordre

dans lequel l'équipe doit les implémenter.

Estimation: Sert à estimer l’effort nécessaire à une équipe pour implémenter une

fonctionnalité. Elle prend en compte l’effort pour le développement.

Importance :C'est un nombre qu'attribue le product owner à l'histoire : plus l'importance est

grande, plus l'histoire devra être traitée en priorité.

Priorité: Le product Owner classe les user story par ordre de priorité dans le Backlog produit

en travaillant avec le client pour savoir ce qui est important pour lui.

3International Mobile Equipment Identity, numéro qui permet d'identifier de manière unique chacun des

terminaux de téléphonie mobile.

Page 26: Rapport dernier tirage.pdf

15

Description : Elle permet de décrire les user stories. Généralement, pour rendre ce nom

explicite, une bonne façon de procéder est d'utiliser le Template suivant : «En tant que X, je

veuxY,afinde...».

Le tableau 2 décrit le product backlog de notre apllication.

Page 27: Rapport dernier tirage.pdf

16

Tableau 2: Product Backlog

Id Nom Rang Estimation Priorité Description

1 S'authentifier 1 2 20 En tant que client d'Attijari Bank, je veux

m'authentifier afin de bénéficier des

fonctionnalités de l'application.

2 Modifier mot de passe 2 2 20 En tant que client d'Attijari Bank, je veux changer

mon mot de passe afin de mieux maitriser mes

paramètres de connexion.

3 Consulter la boite de réception. 3 2 20 En tant que client d'Attijari Bank, je veux

consulter ma boite de réception afin de voir si mes

demandes sont confirmées ou déclinées.

4 Demander une carte bancaire 4 3 20 En tant que client d'Attijari Bank, je veux

demander une nouvelle carte afin de faciliter mes

transactions quotidiennes.

6 Demander un chéquier 6 3 20 En tant que client d'Attijari Bank, je veux

demander un nouveau chéquier afin de faciliter

mes transactions quotidiennes.

7 Opposer un chéquier 7 3 20 En tant que client d'Attijari Bank, je veux opposer

mon chéquier en cas de perte ou de vol afin de

bloquer son utilisation.

8 Demander des virements simples

intra-bancaires

8 7 20 En tant que client d'Attijari Bank, je veux

transférer de l’argent entre mes comptes

domiciliés au sein d’Attijari Bank..

9 Consulter l’extrait du compte 9 5 20 En tant que client d'Attijari Bank, je veux

consulter mon extrait de compte afin de voir mes

dix dernières transactions effectuées sur ce

compte.

10 Suivre les actualités de la banque

10 2 20 En tant qu’utilisateur M-Banking, je veux suivre

les actualités d’Attijari Bank afin d'être au

courant de ses nouveautés.

11 Suivre les cours de devise 11 2 20 En tant qu’utilisateur M-Banking, je veux suivre

les cours de devise afin d’être au courant des

changements de devise.

Page 28: Rapport dernier tirage.pdf

17

12 Suivre le marché de la bourse 12 2 20 En tant qu’utilisateur M-Banking, je veux suivre

le marché de la bourse afin d'être au courant des

changements.

13 Prendre un rendez-vous 13 2 20 En tant qu’utilisateur M-Banking je veux prendre

un rendez-vous afin de planifier une rencontre

avec le chargé clientèle de mon agence

14 Envoyer un message 14 2 20 En tant qu’utilisateur M-Banking je veux envoyer

un message la banque afin de communiquer mes

réclamations et mes suggestions.

15 Appeler la banque 15 1 20 En tant qu’utilisateur M-Banking je veux appeler

la banque afin d’entrer en contact immédiat avec

le centre de relation client.

16 Consulter le système de géo

localisation des agences

16 9 20 En tant qu’utilisateur M-Banking, je veux

consulter le système de géo localisation afin de

visualiser sur la carte les agences d’Attijari Bank

sur le territoire tunisien.

17 Consulter le système de géo

localisation des D AB

17 9 20 En tant qu’utilisateur M-Banking, je veux

consulter le système de géo localisation afin de

visualiser sur la carteles DAB d’Attijari Bank sur

le territoire tunisien.

18 Consulter la liste des points de

contacts des agences

18 3 20 En tant qu’utilisateur M-Banking, je veux

consulter la liste des DAB afin d'avoir une idée

sur leurs adresses.

Page 29: Rapport dernier tirage.pdf

18

19 Consulter la liste des points de

contacts des DAB

19 3 20 En tant qu’utilisateur M-Banking, je veux

consulter la liste des agences ou des DAB afin

d'avoir une idée sur leurs adresses.

20 Ajouter une agence 20 3 10 En tant qu'administrateur, je veux ajouter une

nouvelle agence afin que mon application soit

mise à jour.

21 Modifier les coordonnées d'une

agence.

21 3 10 En tant qu’administrateur, je veux modifier les

coordonnées d'une agence afin que mon

application soit mise à jour.

22 Supprimer une agence 22 3 10 En tant qu'administrateur, je veux désactiver une

agence afin que mon application soit mise à jour.

23 Ajouter un DAB 23 3 10 En tant qu'administrateur, je veux ajouter un DAB

afin que mon application soit mise à jour.

24 Modifier les coordonnées d'un

DAB

24 3 10 En tant qu'administrateur, je veux modifier les

coordonnées d'un DAB afin que mon application

soit mise à jour.

25 Supprimer un DAB 25 3 10 En tant qu'administrateur, je veux désactiver un

DAB afin que mon application soit mise à jour.

26 Ajouter un abonné 26 3 10 En tant qu'administrateur, je veux ajouter un

abonné afin que mon application soit mise à jour.

Page 30: Rapport dernier tirage.pdf

19

27 Mettre à jour les coordonnées

d'un abonné

27 3 10 En tant qu'administrateur, je veux mettre à jour les

coordonnées des abonnées (en cas d’annulation

de pack ou de changement de numéro de

téléphone ou de nom) afin de leur faciliter l'accès.

28 Supprimer un abonné 28 3 10 En tant qu'administrateur, je veux supprimer un

abonné afin que mon application soit mise à jour.

29 Accepter la demande d'obtention

d'une carte

29 3 10 En tant qu'administrateur, je veux accepter la

demande d’obtention d’une carte afin de répondre

aux demandes des clients.

30 Décliner la demande d'obtention

d'une carte

30 3 10 En tant qu'administrateur, je veux décliner les

demandes d’obtention d’une carte afin de

respecter les demandes d'obtention d'une carte.

31 Supprimerlademande

d’obtention d’une carte

31 3 10 En tant qu'administrateur, je veux supprimer les

demandes d’obtention d’une carte afin de mettre

à jour les données.

32 Accepter la demande

d'opposition sur une carte

32 3 10 En tant qu'administrateur, je veux accepter les

demandes d'opposition sur une carte afin de

répondre aux demandes des clients.

33 Décliner la demande

d'opposition sur une carte

33 3 10 En tant qu'administrateur, je veux décliner les

demandes d'opposition sur une carte afin de

respecter les conditions d'opposition sur une

carte.

34 Supprimer la demande

d'opposition sur une carte

34 3 10 En tant qu'administrateur, je veux supprimer les

demande d'opposition sur une carte afin de mettre

à jour les données.

Page 31: Rapport dernier tirage.pdf

20

35 Accepter la demande d'obtention

d'un chéquier

35 3 10 En tant qu'administrateur, je veux accepter les

demandes d'obtention d'un chéquier de répondre

aux demandes des clients.

36 Décliner la demande d'obtention

d'un chéquier

36 3 10 En tant qu'administrateur, je veux décliner les

demandes d'obtention d'un chéquier afin de

respecter conditions d'obtention d'un chéquier.

37 Supprimer la demande

d'obtention d'un chéquier

37 3 10 En tant qu'administrateur, je veux supprimer les

demandes d'obtention d'un chéquier afin de

mettre à jour les données.

38 Accepter la demande

d'opposition sur un chéquier

38 3 10 En tant qu'administrateur, je veux accepter les

demandes d'opposition sur un chéquier afin de

répondre aux demandes des clients.

39 Décliner la demande

d'opposition sur un chéquier

39 3 10 En tant qu'administrateur, je veux décliner les

demandes d'opposition sur un chéquier afin de

respecter les conditions d'opposition sur un

chéquier

40 Supprimer la demande

d'opposition sur un chéquier

40 3 10 En tant qu'administrateur, je veux supprimer les

demandes d'opposition sur un chéquier afin de

mettre à jour les données.

41

Consulter les demandes

d'obtention ou d'opposition de

cartes ou de chéquiers

41 3 10 En tant qu'administrateur, je veux consulter les

demandes d'obtention ou d'opposition sur

chéquiers ou sur cartes afin de vérifier les

données.

42 Confirmer la réception des

messages

42 3 10 En tant qu'administrateur, je veux confirmer les

messages envoyés par les clients afin de prendre

en charges les suggestions et les réclamations des

clients.

Page 32: Rapport dernier tirage.pdf

21

43 Consulter la liste des messages

archivés

43 3 10 En tant qu'administrateur, je veux consulter la

liste des messages archivés afin de vérifier les

données.

44 Confirmer les demandes de

rendez-vous.

44 3 10 En tant qu'administrateur, je veux confirmer les

demandes de rendez-vous afin de gérer les

rencontres avec le chargé clientèle de l'agence

concernée.

45 Supprimer la demande de rendez

vous

45 3 10 En tant qu'administrateur, je veux supprimer les

demandes de rendez-vous afin de faciliter la visite

des clients à la banque.

46 Consulter la liste des anciens

rendez-vous

46 3

10 En tant qu'administrateur, je veux consulter la

liste des anciens rendez-vous afin de vérifier les

données.

47 Accepter la demande de

virements

47 3 1 En tant qu'administrateur, je veux accepter la

demande de virement afin de répondre aux

demandes des clients.

48 Décliner la demande de

virements

48 3 10 En tant qu'administrateur, je veux déclinerla

demande afin de respecter les conditions de

virement.

49 Supprimer la demande de

virement

49 3 10 En tant qu'administrateur, je veux supprimer la

demande afin de mettre à jour les données.

50 Consulter les anciennes

demandes de virements

50 3 10 En tant qu'administrateur, je veux consulter la

liste ancienne des rendez-vous afin de vérifier les

données.

Page 33: Rapport dernier tirage.pdf

22

6. Planification des Releases

La réunion de planification des sprints est une étape importante dans SCRUM. Le planning de

travail et l'identification du Backlog des sprints sont les buts de cette réunion. Durant ce meeting,

la durée de chaque sprint est décidée selon la complexité du contexte et la taille de l'équipe.

La planification de Sprint répond aux questions suivantes :

Qu’est-ce qui peut être terminé au cours de ce Sprint ?

Comment sera effectué le travail choisi ?

Et donc, une succession de Releases est le produit de cette réunion pour organiser le travail de

l'équipe. Un Release est une série de Sprints qui se termine quand les incréments successifs

constituent un produit présentant suffisamment de valeurs à ses utilisateurs. Dans notre cas, nous

avons décidé de découper notre projet en deux Releases.

La figure 4 schématise le découpage en Releases.

Figure 4 : Schéma de Releases

Page 34: Rapport dernier tirage.pdf

23

7. Identification de l’équipe Scrum

Dans le tableau 3, nous définissons, tout d’abord, notre équipe de travail ainsi que le rôle de chaque

équipier selon les rôles définis par Scrum

8. Diagramme de cas d’utilisation initial

Maintenant, nous allons présenter les différents besoins fonctionnels de notre application exprimés

précédemment d'une manière informelle en utilisant le digramme de cas d'utilisation d'UML.

La figure 5 illustre le diagramme de cas d'utilisation global de notre application

Rôles Scrum Personnes Affectées

Product Owner M. Mohamed Hedi AMLOUK

Scrum Master M. Hosni KRICHA, Mme. Nadia YACOUBI

Team TAHARI Cyrine, TORKHANI Yasmine

Tableau 3: Identification de l’équipe Scrum

Figure 5: Diagramme de cas d’utilisation global de l’application

Page 35: Rapport dernier tirage.pdf

24

9. Technologies et outils de développement

Dans cette partie, nous décrivons tous les outils matériels et logiciels de développement et de

conception, avec lesquels cette application a été réalisée. Nous allons commencer par une brève

description du système d'exploitation Android, de l’architecture de notre application mobile et web

J2EE, et nous allons finir par les outils de développement utilisé pour réaliser ce projet.

9.1 Présentation du système d’exploitation mobile Android

Android est développé par un consortium : l'Open Handset Alliance (OHA) , créée officiellement

en novembre 2007et qui regroupe beaucoup de sociétés liées aux nouvelles technologies,

intervenant, plus ou moins directement, dans le marché de la téléphonie mobile (Intel, HTC,

Motorola, Garmin…), mais le principal contributeur est Google .Son but est de mettre en place des

normes ouvertes dans le domaine de la téléphonie mobile. C'est à dire que les développeurs

d'application Android pourront accéder aux fonctionnalités du base d'un téléphone via une API4

spécifique.

Android connait la plus forte croissance sur le marché des OS mobiles avec son propre marché

d’applications nommé Google Play. Une étude faite en 2014 par ABI Researchpour évaluer la

vente mondiale de Smartphones par système d'exploitation mobile, montre une grande dominance

du système d'exploitation Android.

La figure 6 illustre l’étude montrant la dominance du système d’exploitation d’Android sur le

marché.

4Application Programming Interface

Figure 6 : Etude Comparative des systèmes d’exploitation mobile sur le marché [3]

Page 36: Rapport dernier tirage.pdf

25

9.2 Architecture de l’application Front Office

Nous décrivons dans cette partie le fonctionnement de notre application mobile «Attijari Mobile

Banking». Elle est connectée à un serveur de bases de données distant, via Internet, afin de

récupérer les données en utilisant des requêtes SQL, ce qui nécessite alors l’intégration d’un

serveur web entre l’application client et le serveur de bases de données. D’où l’architecture de notre

application mobile est une architecture 3-tiers partagée entre:

Le client Android :Il s’agit du demandeur de ressources et consommateurs des web services.

Le serveur Web : Il permet de gérer la communication entre le client Android et le serveur de base

de données.

Le serveur de base de données : Il permet de fournir les données au serveur web.

Afin de gérer la base de données, nous avons écrit et exécuter des scripts PHP(en utilisant le

protocole HTTP du système Android) et nous avons codé les données dans le format JSON.

La figure 7 schématise l’architecture générale de note application mobile.

Figure 7:Architecture générale de l’application mobile [4]

Page 37: Rapport dernier tirage.pdf

26

9.3 Framework et développement de l’application Back Office

Tout système d'information nécessite la réalisation de trois groupes de fonctions: le stockage des

données, la logique applicative et la présentation. Ces trois parties sont indépendantes les unes des

autres. D'où notre choix de l'architecture 3 tiers pour l'application Web (Figure 8).

L’architecture 3-tiers, est une architecture partagé entre :

Les pc clients (ou administrateurs)

Le serveur Web et le serveur d’application.

Le serveur de base de données.

En effet, cette architecture est un modèle logique d’architecture applicative qui vise à séparer, très

nettement trois couches logicielles au sein d’une même application ou système, à modéliser et à

présenter cette application comme un empilement de trois couches, étages, ou niveaux qui sont les

suivantes :

Couche Présentation (premier niveau)

Elle correspond à la partie de l’application visible et interactive avec les utilisateurs. On parle

d’interface homme machine. La couche présentation relaie les requêtes de l’utilisateur à destination

de la couche métier, et lui présente en retour les informations renvoyées par les traitements de cette

couche. Il s’agit donc d’un assemblage de services métiers et applicatifs offerts par la couche

inférieure.

Couche Métier / Business (second niveau)

Elle correspond à la partie fonctionnelle de l’application, celle qui implémente la «logique», et qui

décrit les opérations que l’application opère sur les données en fonction des requêtes des utilisateurs

effectuées au travers de la couche présentation.

Couche Accès aux données (troisième niveau)

C'est la partie qui gère l’accès aux données du système. Ces données peuvent être propres au

système, ou gérées par un autre système.

La figure 8 schématise l’architecture générale de note application web.

Figure 8: Architecture générale d'application web [5]

Page 38: Rapport dernier tirage.pdf

27

Parlons maintenant de la mise en place de la plate-forme J2EE : Cette opération se constitue de

deux étapes fondamentales : la mise en place des couches et celle du serveur web.

Mise en place des couches

Nous avons choisi de coder l’application en se basant sur les couches Hibernate, Spring et Spring

Security afin de faciliter l’effort de l’implémentation et de favoriser l’aspect sécurité ainsi que la

bibliothèque de composants PrimeFaces pour JSF2pour les interfaces.

o La couche Spring

Spring est un Framework libre pour construire et définir l’infrastructure d’une application

java2, dont il facilite le développement et les tests.

«SPRING est effectivement un conteneur dit «léger» .Il prend donc en charge la création

d'objets et la mise en relation d'objets par l'intermédiaire d'un fichier de configuration qui décrit

les objets à fabriquer et les relations de dépendances entre ces objets.» [6]

Pour l'authentification on a du intégrer le Framework Spring Security.En effet C’est est un

sous-projet de Spring, il a été lancé en 2003 sous le nom d’Acegi Secuirty. En 2007 il sera

renommé Spring Security. C’est l’un des projets les plus avancés de Spring.

«Spring Security est un cadre qui se concentre sur la fourniture de l'authentification et

l’autorisation aux applications Java. Comme tous les projets de Spring , la puissance réelle de

Spring Security se trouve dans la façon dont facilement il peut être étendu pour répondre aux

besoins personnalisés».[7]

o La couche Hibernate

C’est une couche qui sert à la persistance des objets dans les bases de données relationnelles.

Elle présente un avantage remarquable contre l’accès classique aux données manifestés par les

JDBCs «Java Data Base Connectivity», vue la rapidité de traitement via des appels à des

méthodes objet de haut niveau.

o La couche Prime faces

Le développement d’interface web avec JSF était limité à cause de peu de composants

graphiques disponibles.A cause de ce manque de composants, de nombreux lancés afin de créer

des bibliothèques de composants JSF plus ou moins spécifiques.

Page 39: Rapport dernier tirage.pdf

28

D’où l’apparition de Prime Faces qui est maintenue par «Prime Teknoloji», une entreprise de

logiciels Turque de développement spécialisée dans Agile et Java EE conseil.

«Prime Faces est une bibliothèque open source de composants JSF.Il est basé, côté serveur, sur

l’API standard de JSF 2.Coté client, les scripts de Prime Faces sont basés sur la librairie la plus

populaire de JavaScript jQuery.Prime Faces vise à garder le traitement propre, rapide et

léger».[8]

Mise en place du serveur Web

o Apache Tomcat 7.0.59

«Apache Tomcat est un serveur d’application Java permettant d’exécuter des servlets et des

pages serveurs Java(JSP). Il peut être utilisé ou couplé avec un serveur Web, et porté sur

n’importe quel système sur lequel une machine virtuelle Java est installée».[9] Il est

paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et

la gestion. Il comporte également un serveur HTTP.

10. Environnement technique du travail

Le tableau 4 détaille la configuration matérielle des machines de développement et de déploiement

utilisées ainsi que les différents logiciels qui y sont installés :

Tableau 4: Description des machines de développement

Machines Machine1 Machine2

Propriétaire TORKHANI Yasmine TAHARI Cyrine

Processeur Intel Core i5 Intel Core i5

RAM 8GB 8GB

Système d’exploitation Windows 8.1 Entreprise (x64) Windows 8.1 Entreprise (x64)

Logiciels installés Eclipse

MyEclipse for Spring

Rational Rose

WampServer

Apach Tomcat Server

plsqldevloper 7.0.3

Oracle 10g

ScreenPresso

Eclipse

MyEclipse for Spring

Rational Rose

WampServer

Apach Tomcat Server

plsqldevloper 7.0.3

Oracle 10g

ScreenPresso

Page 40: Rapport dernier tirage.pdf

29

10.1 Outil de conception

Rational Rose

Rational Rose est un logiciel édité par l'entreprise Rational Machines pour créer et éditer les

différents diagrammes du modèle UML (Unified Modeling Language) d'un logiciel. [10]

10.2 Outils de développement

Dans cette partie nous allons décrire les outils de développement utilisé pour réaliser ce projet.

Environnement de développement : Eclipse Luna 4.4 (La nouvelle version de l'IDE)

Eclipse est un environnement de développement open source, décliné et organisé en un ensemble

de sous-projets de développements logiciels, de la Fondation Eclipse visant à développer un

environnement de production de logiciels libre qui soit extensible et universel en s’appuyant

principalement sur le langage Java.[11]

Environnement de développement : MyEclipse for Spring 9.0

MyEclipse est un environnement de développement intégré basé sur le très connu Eclipse. Son

intérêt se situe dans la facilitation de la mise en place de différents Framework, tels que Hibernate

ou Spring. [12]

L'ensemble des bibliothèques logicielles : Java Développent Kit (JDK7 64bits)

Le JDK désigne un ensemble de bibliothèques logicielles de base du langage de

programmation Java, ainsi que les outils avec lesquels le code Java peut être compilé, transformé

en byte code destiné à la JVM (Java Virtual Machine).[13]

Android Software Development Kit (SDK)

Le SDK est' un ensemble d'outils que met à disposition Google afin de vous permettre de

développer des applications pour Android. [14] Il est disponible pour Windows, MacOs X et linux

et inclut des outils ainsi qu'un émulateur Android pour exécuter des applications.

AndroidDevelopment Tools (ADT)

Eclipse a été conçu de manière à pouvoir recevoir des plugins. Le plugin pour les développements

d'applications Android s'appelle ADT Outils de développement Android) et il peut être téléchargé

directement depuis Eclipse. [14]

Android Virtual Device (AVD)

L'Android Virtual Device est un émulateur de terminal sous Android, c'est-à-dire que c'est un

logiciel qui se fait passer pour un appareil sous Android à votre ordinateur. [14]

Page 41: Rapport dernier tirage.pdf

30

SGBDR Oracle 10g express

Oracle Database est un système de gestion de base de donnéesrelationnel (SGBDR) fourni

par Oracle Corporation. [15]

WampServer 32 bits

WampServer est une plate-forme de développement Web sous Windows pour des applications

Web dynamiques à l’aide du serveur Apache2, du langage de scripts PHP et d’une base de données

MySQL. Il possède également PHPMyAdmin pour gérer plus facilement vos bases de données.[16]

10.3 Langages de programmation

Java

Java est un langage de programmation orienté objet, développé par Sun Microsystems permettant

de créer des logiciels compatibles avec des nombreux systèmes d’exploitation et donne aussi la

possibilité de développer des programmes pour téléphones portables. [17]

PHP

PHP (Hypertext Preprocessor) est un langage de programmation informatique essentiellement

utilisé pour produire des pages web dynamiques via un serveur HTTP. [18]

REST

REST (Representational State Transfer) est un style d'architecture réseau pour Web Services qui

met l'accent sur la définition de ressources identifiées par des URI, et utilise les messages du

protocole HTTP pour définir la sémantique de la communication client/serveur: [19]

GET pour le rapatriement d'une ressource,

POST pour une création

REST n'est pas vraiment un standard. Il n'existe donc pas de spécifications de REST. Il faut

comprendre le style REST et ensuite concevoir des applications ou des services Web selon ce style.

Bien que REST ne soit pas un standard, il utilise des standards. En particulier :

URI comme syntaxe universelle pour adresser les ressources

HTTP un protocole sans état (stateless) avec un nombre très limité d'opérations,

Des liens hypermedia dans des documents (X)HTML et XML pour représenter à la fois le

contenu des informations et la transition entre états de l'application,

Les types MIME comme text/xml, text/html, image/jpeg, application/pdf, video/mpeg

pour la représentation des ressources. [20]

Page 42: Rapport dernier tirage.pdf

31

JSON

JSON (JavaScript Object Notation) un format d'encodage de données structurées en JavaScript qui

date de 2002. Il permet de représenter de l’information structurée. Il n'est pas rare d'associer le

couple REST/JSON pour des raisons de simplicité. Son avantage est de fournir un support pour

une écriture simple et légère au format texte, relativement compréhensible par les développeurs

JavaScript, mais aussi - et surtout - d'être nativement interprété.

10.4 Langage de modélisation :

UML (en anglais Unified Modeling Language ou « langage de modélisation unifié ») est un langage

de modélisation graphique à base de représentations graphiques. Il est apparu dans le monde du

génie logiciel, dans le cadre de la «conception orientée objet». Couramment utilisé dans les projets

logiciels, il peut être appliqué à toutes sortes de systèmes ne se limitant pas au domaine

informatique. [21]

11. Conclusion

Au long de ce chapitre, nous avons présenté le Sprint 0 qui, est en fait une phase de préparation

pendant laquelle on a construit notre backlog du produit en se basant sur les besoins fonctionnels

et non fonctionnels. En plus, nous avons découpé notre projet en des releases qui formeront les

chapitres suivants. Et finalement, nous avons défini les technologies et les environnements de

développement ainsi que l’architecture globale de l’application.

Page 43: Rapport dernier tirage.pdf

32

Chapitre 3Développement de l'application

Front Office

1. Introduction

Notre premier release sera composé de trois sprints. Tout au long de ce chapitre, nous allons traiter

les histoires utilisateurs de nos sprints pour produire un ensemble d'incréments potentiellement

livrable. Avant de se lancer dans le premier sprint, l'équipe doit définir le but de ce dernier qui doit

être défini en terme métier et non pas terme technique pour qu'il soit compréhensible par les

membres en dehors de l’équipe. Il s’agit de répondre à une question fondamentale «Pourquoi

faisons-nous ce sprint?».

2. Sprint 1 : Authentification

Au début de chaque sprint, on définit un objectif et on lui associe une liste de fonctionnalités qui

constitueront le backlog de sprint. Au cours d'un sprint, l'objectif et la composition de l'équipe ne

peuvent être modifiés.

Ci-dessous la définition de l'objectif et des développeurs de ce sprint.

Objectif : Les clients de l'application «Attijari Mobile Banking» sont capables de

s’authentifier avec succès avec la possibilité de changer le mot de passe en cas de besoin.

Développeurs : Team.

2.1 Sprint planning ou planification du sprint

Une fois nous avons défini le but de notre sprint, il est temps de décider quelles histoires de notre

backlog du produit inclure dans le backlog du sprint.

Le tableau 5 résume donc le backlog du premier sprint.

Page 44: Rapport dernier tirage.pdf

33

Passons maintenant au vif de notre sujet : les activités et le cycle de développement. Dans un sprint

nous pouvons dégager trois étapes principales qui sont la spécification fonctionnelle, la conception,

et le test. Tout au long de ce sprint, nous respectons ces activités pour construire le plan de notre

travail.

2.2 Spécification fonctionnelle

Dans cette partie, nous procéderons par un diagramme de cas d'utilisation du sprint puis une

description textuelle de ses histoires utilisateurs.

2.2.1 Diagramme de Cas d'utilisation

Il s'agit de la première étape du sprint 1. Afin d'accéder aux différentes fonctionnalités offertes par

l'application Mobile Banking d'Attijari Bank, le client doit s'authentifier en saisissant un code client

et un mot de passe généré par la banque lors de son inscription dans le pack Mobile Banking

d’Attijari Bank. Il a également la possibilité de modifier son mot de passe afin de personnaliser ses

paramètres d'authentification.

La figure 9 illustre le diagramme de cas d'utilisation global du premier Sprint.

2.2.2 Description textuelle

Le tableau 6 décrit textuellement le même cas d'utilisation

Id Nom Description Priorité

1

S’authentifier En tant que client d'Attijari Bank je veux

m'authentifier afin de bénéficier des

fonctionnalités de l'application.

20

2 Modifier mot de passe

En tant que client d'Attijari Bank je veux

changer mon mot de passe afin de mieux

personnaliser mes paramètres de

connexion.

20

Tableau 5: Sprint 1 Backlog

Figure 9: Diagramme de cas d’utilisation global Sprint 1

Page 45: Rapport dernier tirage.pdf

34

Cas d’utilisation S’authentifier

Acteur Client d’Attijari Bank

Pré condition : L’utilisateur M-Banking télécharge l’application sur

son terminal mobile.

Post condition : L’utilisateur M-Banking est identifié comme étant

un client d’Attijari Bank.

Description du scénario principal : -Le client remplit les champs d’authentification et

clique sur le bouton «Connexion».

-Le système vérifie les informations saisies par le

client et affiche l’interface suivante.

Exception : Si un des champs est invalide, le système affiche un

message d’erreur.

Point d'extension:

Modifier mot de passe

-Le client clique sur «Changer mot de passe».

-Le système affiche l’interface appropriée.

- Le client saisit les champs nécessaires et clique sur

«Enregistrer».

-Le système vérifie les informations saisies par le

client et enregistre les modifications.

2.3 Conception

La conception est la deuxième étape dans un sprint. Elle se traduit par un diagramme de classes et

un diagramme de séquences.

Le diagramme de classes permet de représenter une vue statique du système

d’information.[23] Il identifie la structure des classes du système, y compris les propriétés

et les méthodes de chaque classe, et les diverses relations qui peuvent exister entre les

classes y sont également représentées.

Tableau 6: Description textuelle de cas d’utilisation «S’authentifier»

Page 46: Rapport dernier tirage.pdf

35

Le diagramme de séquences permet de représenter une vue dynamique du système

d’information.[23] Il permet de décrire les scénarios de chaque cas d'utilisation en mettant

l'accent sur la chronologie des opérations en interaction avec les objets.

Pour les cas d’utilisation «S’authentifier» et «Modifier mot de passe», nous allons présenter ces

deux diagrammes.

Cas d’utilisation «S’authentifier»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «S’authentifier» se traduit par les différentes classes

participantes à la réalisation de ce dernier.

La figure 10 illustre le diagramme de classes du cas d'utilisation «S'authentifier».

Figure 10 : Diagramme de classes du cas d’utilisation «S’authentifier»

o Diagramme de séquences

A travers ce diagramme, nous décrivons le scénario du même cas d’utilisation. Dans un premier

lieu, l’utilisateur M-Banking remplit le formulaire d’authentification et clique sur le bouton

«Connexion». Ensuite le système vérifie s’il s’agit bien d’un abonné ou non à travers le web service

«Login».

Page 47: Rapport dernier tirage.pdf

36

La figure 11 illustre le diagramme de séquences du cas d’utilisation «S'authentifier».

Figure 11: Diagramme de séquences du cas d’utilisation «S'authentifier»

Cas d’utilisation «Modifier Mot de passe»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Modifier mot de passe» se traduit par les différentes

classes participantes à la réalisation de ce dernier.

La figure 12 illustre le diagramme de classes du cas d’utilisation «Modifier mot de passe».

Page 48: Rapport dernier tirage.pdf

37

Figure 12 Diagramme de classes du cas d’utilisation «Modifier mot de passe».

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Modifier mot de

passe». Dans un premier lieu, le client d’Attijari Bank remplit le formulaire de modification du mot

de passe.Ensuite le système vérifie la saisie et enregistre le nouveau mot de passe à travers le web

service «Update MDP».

La figure 13 illustre le diagramme de séquences du cas d’utilisation «Modifier mot de passe».

Page 49: Rapport dernier tirage.pdf

38

Figure 13 Diagramme de séquences du cas d’utilisation «Modifier mot de passe».

2.4 Test

L'approche Agile met le test au cœur des projets. Pour Scrum et les méthodes agiles en général, le

test ne se fait pas après la fin de développement. Au contraire, le test est une phase intégrée dès le

début du premier sprint jusqu'à la livraison du produit final.

Pour notre application mobile, les tests ont été effectués sur un smartphone Android (Version 4.2.2)

via un câble USB et sur des clients réels de la banque. Donc, pour des raisons de confidentialité on

a du flouter les informations personnelles des clients.

Nous illustrons à ce niveau les captures d’écran réalisés au niveau de ce sprint. Commençons par

l’interface principale au niveau de laquelle l’utilisateur M-Banking choisit l’espace auquel il veut

Page 50: Rapport dernier tirage.pdf

39

accéder. Dans le cas d’un abonné, il va choisir d’accéder à l’espace client afin de bénéficier des

services bancaires privés tel que la modification de mot de passe. Il doit donc s’authentifier en

saisissant son code client et son mot de passe.

La figure 14 illustre la première interface de l’application mobile.

La figure 15 illustre l’interface d’authentification.

La figure 16 illustre l’interface de modification du mot de passe

Figure 14 : Interface principale

de l’application mobile

Figure 15: Interface

d’authentification.

Figure 16: Interface de

modification du mot de passe

. Sprint 2: Accès aux services clients

Au début de chaque sprint, on définit un objectif et on lui associe une liste de fonctionnalités qui

constitueront le backlog de sprint. Au cours d'un sprint, l'objectif et la composition de l'équipe ne

peuvent être modifiés.

Ci-dessous la définition de l'objectif et des développeurs de ce sprint.

Objectif : Les clients de l'application «Attijari Mobile Banking» sont capables d’effectuer

des demandes d'obtention et d’opposition sur carte et/ou chéquier et des demandes de

virement. Ils sont aussi capables de consulter leur extrait de compte ainsi que leur boite de

réception afin de voir si la banque a répondu à leurs demandes.

Page 51: Rapport dernier tirage.pdf

40

Développeurs : Team.

2.5 Sprint planning ou planification du sprint

Une fois nous avons défini le but de notre sprint, il est temps de décider quelles histoires de notre

backlog du produit inclure dans le backlog du sprint.

Le tableau 7 résume donc le backlog du deuxième sprint.

Tableau 7 :Sprint2 backlog

Id Nom Priorité Description

1 S'authentifier 20 En tant que client d'Attijari Bank, je veux

m'authentifier afin de bénéficier des

fonctionnalités de l'application.

2 Modifier mot de passe 20 En tant que client d'Attijari Bank, je veux

changer mon mot de passe afin de mieux

maitriser mes paramètres de connexion.

3 Consulter la boite de

réception.

20 En tant que client d'Attijari Bank, je veux

consulter ma boite de réception afin de voir si

mes demandes sont confirmées ou déclinées

.

4 Demander une carte

bancaire

20 En tant que client d'Attijari Bank, je veux

demander une nouvelle carte afin de faciliter

mes transactions quotidiennes.

5 Opposer une carte bancaire 20 En tant que client d'Attijari Bank, je veux

opposer ma carte bancaire en cas de perte ou

de vol afin de

bloquer son utilisation.

6 Demander un chéquier 20 En tant que client d'Attijari Bank, je veux

opposer mon chéquier en cas de perte ou de

vol afin de bloquer son utilisation.

Page 52: Rapport dernier tirage.pdf

41

7 Opposer un chéquier 20 En tant que client d'Attijari Bank, je veux

demander un nouveau chéquier afin de

faciliter mes transactions quotidiennes.

8 Demander des virements

simples intra-bancaires

20 En tant que client d'Attijari Bank, je veux

opposer mon chéquier en cas de perte ou de

vol afin de bloquer son utilisation.

9 Consulter l’extrait du

compte

20 En tant que client d'Attijari Bank, je veux

demander des virements afin de manipuler le

transfert d’argent entre mes comptes.

10 Consulter la boite de

réception

20 En tant que client d'Attijari Bank, je veux

consulter mon extrait de compte afin de voir

mes dix dernières transactions effectuées sur

ce compte.

Passons maintenant au vif de notre sujet : les activités et le cycle de développement. Dans un sprint

nous pouvons dégager trois étapes principales qui sont la spécification fonctionnelle, la conception,

et le test. Tout au long de ce sprint, nous respectons ces activités pour construire le plan de notre

travail.

2.6 Spécification fonctionnelle

Dans cette partie, nous procéderons par un diagramme de cas d'utilisation du Sprint puis une

description textuelle de ses histoires utilisateurs.

2.6.1 Diagramme de Cas d'utilisation

Il s'agit de la première étape de ce sprint. Après authentification, le client d'Attijari Bank se trouve

capable de bénéficier des différents services bancaires offerts par Attijari Bank.

La figure 17 illustre le diagramme de cas d’utilisation global du deuxième Sprint.

Page 53: Rapport dernier tirage.pdf

42

Figure 17: Diagramme de cas d’utilisation global Sprint 2

2.6.2 Description textuelle

Ci-dessous la description textuelle des différents cas d'utilisation généralisés du cas

d’utilisation«Accéder aux services clients d'Attijari Bank».

Le tableau 8 décrit textuellement le cas d'utilisation «Consulter l’extrait du compte»

Tableau 8 : Description textuelle du cas d’utilisation «Consulter l’extrait du compte»

Cas d’utilisation : Consulter l’extrait du compte

Acteur : Client d'Attijari Bank

Pré condition : L’utilisateur M-Banking est identifié comme étant un client

d’Attijari Bank.

Post condition : Le client consulte son extrait du compte avec succès.

Description du scénario

principal :

-A travers un sliding menu, le client choisit «Extrait

Bancaire».

-Le système affiche la liste des comptes du client.

-Le client choisit un des comptes.

-Le système affiche l’interface des mouvements du compte

approprié.

Page 54: Rapport dernier tirage.pdf

43

Point d'extension:

Effectuer des

virements simples

intra-bancaires

-A travers un sliding menu, le client choisit «Virements».

-Le système affiche l’interface appropriée.

-Le client remplit les champs nécessaires et clique sur le bouton

«Valider». -Le système vérifie les informations saisies par le client et

affiche un message de succès.

A titre d'exemple, nous détaillons le cas d'utilisation «Demander une carte bancaire». Le scénario

pour la demande et l'opposition sur un chéquier et demande virement est identique à celui de la

demande et l'opposition sur une carte.

Tableau 9: Description textuelle du cas d’utilisation «Demander une carte bancaire»

Cas d’utilisation : Demander une carte bancaire

Acteur : Client d'Attijari Bank

Pré condition : L’utilisateur M-Banking est identifié comme étant un client

d’Attijari Bank.

Post condition : La demande de la carte bancaire est enregistrée.

Exception : Si un des champs est vide, le système affiche un message

d’erreur.

Description du scénario

principal :

-A travers un sliding menu, le client choisit «Demande carte».

-Le système affiche l'interface appropriée.

-Le client remplit les champs nécessaires et clique sur le

bouton «Valider».

-Le système vérifie les informations saisies par le client,

enregistre la demande et affiche un message de succès.

Point d'extension

Opposer une carte

bancaire

-A travers un sliding menu, le client choisit «Opposition sur

Carte».

-Le système affiche l’interface appropriée.

-Le client saisit les champs nécessaires et clique sur

«Valider».-Le système vérifie les informations saisies par le

client, enregistre la demande et affiche un message de succès.

Le tableau 10 décrit textuellement le cas d'utilisation«Consulter la boite de réception»

Page 55: Rapport dernier tirage.pdf

44

Tableau 10: Description textuelle du cas d’utilisation «Consulter la boite réception»

Cas d’utilisation : Consulter la boite de réception

Acteur : Client d'Attijari Bank

Pré condition : L’utilisateur M-Banking est identifié comme étant un client

d’Attijari Bank.

Post condition : Le client d'Attijari Bank consulte sa boite de réception avec

succès.

Description du scénario

principal :

-A travers un sliding menu, le client choisit «Boite de

réception».

-Le système affiche l’interface appropriée.

-Le client consulte sa boite de réception.

2.7 Conception

La conception est la deuxième étape dans un sprint. Elle se traduit par un diagramme de classes et

un diagramme de séquences.

Le diagramme de classes permet de représenter une vue statique du système d’information.

[23] Il identifie la structure des classes du système, y compris les propriétés et les méthodes

de chaque classes, et les diverses relations qui peuvent exister entre les classes y sont

également représentées.

Le diagramme de séquence permet de représenter une vue dynamique du système

d’information. [23] Il permet de décrire les scénarios de chaque cas d'utilisation en mettant

l'accent sur la chronologie des opérations en interaction avec les objets.

Pour les cas d’utilisation de ce Sprint, nous allons présenter ces deux diagrammes.

Cas d’utilisation «Consulter l’extrait du compte»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Consulter l’extrait de compte» se traduit par les

différentes classes participantes à la réalisation de ce dernier.

La figure 18 illustrant le diagramme de classes du cas d’utilisation «Consulter l’extrait de compte».

Page 56: Rapport dernier tirage.pdf

45

Figure 18: Diagramme de classes du cas d’utilisation «Consulter l’extrait de compte»

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Consulter l’extrait du

compte». Si le client d’Attijari Bank choisit de faire une consultation de l’extrait bancaire, il doit

choisir au début le compte auquel il veut faire cette consultation. Pour cela, deux web services sont

nécessaires : «GetInfosCompte» pour les consultations des comptes que possédé le client, et

«GetMouvement» pour la consultation des mouvements du compte.

La figure 19 illustre le diagramme de séquences du cas d’utilisation «Consulter l’extrait du

compte».

Page 57: Rapport dernier tirage.pdf

46

Figure 19: Diagramme de séquences du cas d’utilisation «Consulter l’extrait du compte»

Cas d’utilisation «Demander une carte bancaire»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Demander une carte bancaire» se traduit par les

différentes classes participantes à la réalisation de ce dernier.

La figure 20 illustre le diagramme de classe du cas d'utilisation «Demander une carte bancaire»

Page 58: Rapport dernier tirage.pdf

47

Figure 20: Diagramme de classe du cas d'utilisation «Demander une carte bancaire»

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Demander une carte

bancaire». Dans un premier lieu, le client d’Attijari Bank remplit le formulaire. Ensuite le système

vérifie la saisie et enregistre la demande à travers le web service «DemandeCarte».

La figure 21 illustre le diagramme de séquences du cas d’utilisation «Demander une carte bancaire»

Page 59: Rapport dernier tirage.pdf

48

Figure 21: Diagramme de séquences du cas d’utilisation «Demander une carte bancaire»

«Opposer une carte bancaire»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Opposer une carte bancaire» se traduit par les

différentes classes participantes à la réalisation de ce dernier.

La figure 22 illustre le diagramme de classes du cas d'utilisation «Opposer une carte bancaire».

Page 60: Rapport dernier tirage.pdf

49

Figure 22: Diagramme de classes du cas d'utilisation «Opposer une carte bancaire»

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Opposer une carte

bancaire». Dans un premier lieu, le client d’Attijari Bank consulte la liste des différentes cartes

qu’il possède. Ensuite, il choisit celle qu’il veut opposer, consulte les détails de la carte

concernée, puis enregistre la demande d’opposition sur carte.

La figure 23 illustre le diagramme de séquences du cas d’utilisation «Opposer une carte bancaire ».

Page 61: Rapport dernier tirage.pdf

50

Figure 23: Diagramme de séquences du cas d’utilisation «Opposer une carte bancaire»

«Consulter la boite de réception»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Consulter la boite de réception» se traduit par les

différentes classes participantes à la réalisation de ce dernier.

La figure 24 illustre le diagramme de classes du cas d'utilisation «Consulter la boite de réception».

Page 62: Rapport dernier tirage.pdf

51

Figure 24: Diagramme de classes du cas d'utilisation «Consulter la boite de réception»

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Consulter la boite de

réception». Le client d’Attijari Bank consulte sa boite de réception afin de suivre l’avancement de

ses demandes (si elles sont en cours, acceptées ou déclinées).

Page 63: Rapport dernier tirage.pdf

52

La figure 25 illustre le diagramme de séquences du casd’utilisation «Consulter la boite de

réception».

Figure 25: Diagramme de séquences du cas d’utilisation «Consulter la boite de réception»

2.8 Test

L'approche Agile met le test au cœur des projets. Pour Scrum et les méthodes agiles en général, le

test ne se fait pas après la fin de développement. Au contraire, le test est une phase intégrée dès le

début du premier sprint jusqu'à la livraison du produit final.

Page 64: Rapport dernier tirage.pdf

53

Nous illustrons à ce niveau les captures d’écran réalisés au niveau de ce sprint. Après avoir

s’authentifier, le client d’Attijari Bank se trouve capable de bénéficier des différents services

bancaires offerts par Attijari Bank.

La figure 26 illustre l’interface du menu principal (qui inclut uniquement les services dédiés aux

clients).

L’interface de consultation de l’extrait bancaire se divise en deux:

-La figure 27 illustre l’interfacede consultation des comptes ainsi que le solde de chaque compte.

-La figure 28 illustre l’interface des mouvements du compte approprié.

Figure 26 : Interface du menu

principal

Figure 27 : Interface de

consultation des comptes

bancaires

Figure 28 : Interface de

consultation de l’extrait bancaire

La figure 29 illustre l’interface de demande carte.

Page 65: Rapport dernier tirage.pdf

54

Figure 29 Interface de demande d’une carte

3. Sprint 3: Accès aux services publics

Au début de chaque sprint, on définit un objectif et on lui associe une liste de fonctionnalités qui

constitueront le backlog de sprint. Au cours d'un sprint, l'objectif et la composition de l'équipe ne

peuvent être modifiés.

Ci-dessous la définition de l'objectif et des développeurs de ce sprint.

Objectif : Les utilisateurs M-Banking de l'application «Attijari Mobile Banking» sont

capables d’accéder un espace public où ils bénéficieront d’un ensemble de fonctionnalités

(consulter le système de géo localisation, consulter les cours de devise…).

Développeurs : Team.

Page 66: Rapport dernier tirage.pdf

55

3.1 Sprint planning ou planification du sprint

Une fois nous avons défini le but de notre sprint, il est temps de décider quelles histoires de notre

backlog du produit inclure dans le backlog du sprint.

Le tableau 11 résume donc le backlog du troisième sprint

Tableau 11 : Sprint3 backlog

Id Nom Priorité Description

1 Suivre les actualités de la

banque

20 En tant qu’utilisateur M-Banking, je veux

suivre les actualités d’Attijari Bank afin

d'être au courant de ses nouveautés.

2 Suivre les cours de devise 20 En tant qu’utilisateur M-Banking, je veux

suivre les cours de devise afin d’être au

courant des changements de devise.

3 Suivre le marché de la

bourse

20 En tant qu’utilisateur M-Banking, je veux

suivre le marché de la bourse afin d'être au

courant des changements.

4 Prendre un rendez-vous 20 En tant qu’utilisateur M-Banking je veux

prendre un rendez-vous afin de planifier une

rencontre avec le chargé clientèle de mon

agence.

5 Envoyer un message 20 En tant qu’utilisateur M-Banking je veux

envoyer un message la banque afin de

communiquer mes réclamations et mes

suggestions.

6 Appeler la banque 20 En tant qu’utilisateur M-Banking je veux

appeler la banque afin d’entrer en contact

immédiat avec le centre de relation client.

7 Consulter le système de

géo localisation des

agences

20 En tant qu’utilisateur M-Banking, je veux

consulter le système de géo localisation afin

de visualiser sur la carte les agences

d’Attijari Bank sur le territoire tunisien.

Page 67: Rapport dernier tirage.pdf

56

8 Consulter le système de

géo localisation des D AB

20 En tant qu’utilisateur M-Banking, je veux

consulter le système de géo localisation afin

de visualiser sur la carteles DAB d’Attijari

Bank sur le territoire tunisien.

9 Consulter la liste des

points de contacts des

agences

20 En tant qu’utilisateur M-Banking, je veux

consulter la liste des DAB afin d'avoir une

idée sur leurs adresses.

10 Consulter la liste des

points de contacts des

DAB

20 En tant qu’utilisateur M-Banking, je veux

consulter la liste des agences ou des DAB

afin d'avoir une idée sur leurs adresses.

Passons maintenant au vif de notre sujet : les activités et le cycle de développement. Dans un sprint

nous pouvons dégager trois étapes principales qui sont la spécification fonctionnelle, la conception,

et le test. Tout au long de ce sprint, nous respectons ces activités pour construire le plan de notre

travail.

3.2 Spécification fonctionnelle

Dans cette partie, nous procéderons par un diagramme de cas d'utilisation du sprint puis une

description textuelle de ses histoires utilisateurs.

3.2.1 Diagramme de Cas d'utilisation

Il s'agit de la première étape de ce sprint. N’importe quelle personne possédant un terminal mobile

Android peut manipuler l’application pour différentes raisons. Ces utilisateurs, qui sont considérés

comme des clients potentiels de la banque, ont accès à un espace public dans lequel ils peuvent

bénéficier des différents services.

La figure 30 illustre le diagramme de cas d’utilisation global du Sprint 3.

Page 68: Rapport dernier tirage.pdf

57

Figure 30: Diagramme de cas d’utilisation global Sprint3

3.2.2 Description textuelle

Ci-dessous la description textuelle des différents cas d'utilisation généralisés de «Accéder aux

services publics d'Attijari Bank».

Le tableau 12 décrit textuellement le cas d'utilisation «Accéder aux services public d'Attijari

Bank»

Tableau 12 : Description du cas d’utilisation «Accéder aux services public d’Attijari Bank»

Cas d’utilisation : Accéder aux services public d'Attijari Bank

Acteur : Utilisateur M-Banking

Pré condition : L’utilisateur M-Banking télécharge l’application sur son

terminal mobile.

Post condition : L’utilisateur accède à l’espace public avec succès.

Description du scénario

principal :

-Le système affiche l’interface principale de l'application.

-Le client clique sur le bouton «Espace public».

-Le système affiche le menu principal.

Page 69: Rapport dernier tirage.pdf

58

Scénarii de base:

Suivre les actualités de

la banque

-A travers un sliding menu, le client choisit «Actualités».

-Le système affiche l’interface appropriée.

Simuler les crédits et

les placements

-A travers un sliding menu, le client choisit «Simulateur de

crédit » ou «Simulateur de placement».

-Le système affiche l’interface appropriée.

-L’utilisateur remplit les champs de simulation et clique sur le

bouton «Simuler».

-Le système affiche le résultat calculé.

Suivre le marché de la

bourse

-A travers un sliding menu, le client choisit «Bourse».

-Le système affiche l’interface appropriée.

Suivre les cours de

devise

-A travers un sliding menu, le client choisit de «Cours de

devise».

-Le système affiche l’interface appropriée.

A titre d'exemple, nous détaillons le cas d'utilisation «Suivre les cours de devise». Le scénario

pour le suivi de la bourse et des actualités estidentique à celui des cours de devise. Concernant les

simulateurs, il s’agit des simples calculs que l’utilisateur aura la possibilité de faire.

Le tableau 13 décrit textuellement le cas d'utilisation «Contacter la banque»

Tableau 13: Description du cas d’utilisation «Contacter la banque»

Cas d’utilisation : Contacter la banque

Acteur : Utilisateur M-Banking

Pré condition : L’utilisateur M-Banking télécharge l’application sur son

terminal mobile.

Post condition : L’utilisateur est capable d’accéder à l’espace public avec

succès.

Description du scénario

principal :

-Le système affiche l’interface principale de l'application.

-Le client clique sur le bouton «Espace public».

-Le système affiche le menu principal.

Points d'extension:

Consulter le système de

géolocalisation

-A travers un sliding menu, le client choisit de «Recherche

DAB et Agence» puis choisit «Localiser une Agence» ou

«Localiser un DAB».

Page 70: Rapport dernier tirage.pdf

59

-Le système affiche l'interface appropriée qui contient une carte

où sont affichés les agences ou les DAB sur le territoire tunisien

avec leur coordonnés.

Consulter la liste les

points de contact

-A travers un sliding menu, le client choisit de «Liste des points

de contact» puis choisit «Liste des Agences» ou «Liste des

DAB». -Le système affiche l'interface qui contient les régions dans

lesquelles Attijari Bank a une ou plusieurs agence(s) ou DAB.

-Le client choisit une région.

-Le système affiche la liste appropriée.

3.3 Conception

La conception est la deuxième étape dans un sprint. Elle se traduit par un diagramme de classes et

un diagramme de séquences.

Le diagramme de classes permet de représenter une vue statique du système d’information.

[23]Il identifie la structure des classes du système, y compris les propriétés et les méthodes

de chaque classes, et les diverses relations qui peuvent exister entre les classes y sont

également représentées.

Le diagramme de séquence permet de représenter une vue dynamique du système

d’information. [23] Il permet de décrire les scénarios de chaque cas d'utilisation en mettant

l'accent sur la chronologie des opérations en interaction avec les objets.

Pour les cas d’utilisation de ce Sprint, nous allons présenter ces deux diagrammes.

A titre d'exemple, nous détaillons le cas d'utilisation «Suivre les cours de devise».Le scénario

pour les actualités et le marché de la bourse est identique à celui de devise.

Cas d’utilisation «Suivre les cours de devise»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Suivre les cours de devise» se traduit par les

différentes classes participantes à la réalisation de ce dernier

La figure 31 illustre le diagramme de classes du cas d’utilisation «Suivre les cours de devise».

Page 71: Rapport dernier tirage.pdf

60

Figure 31: Diagramme de classes du cas d’utilisation «Suivre les cours de devise»

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Suivre les cours de

devise». L’utilisateur M-Banking d’Attijari Bank accède au menu public et consulte la liste des

cours de devise à travers le web service «GetDevise».

La figure 32 illustre le diagramme de séquences du casd’utilisation «Suivre les cours de devise».

Figure 32: Diagramme de séquences du cas d’utilisation «Suivre les cours de devise»

Cas d’utilisation «Contacter la banque»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Contacter la banque» se traduit par les différentes

classes participantes à la réalisation de ce dernier.

Page 72: Rapport dernier tirage.pdf

61

La figure 33 illustre le diagramme de classes du cas d’utilisation «Contacter la banque».

Figure 33: Diagramme de classes du cas d’utilisation «Contacter la banque»

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Contacter la banque».

Si l’utilisateur M-Banking d’Attijari Bank choisit de contacter la banque, il peut prendre un rendez-

vous et/ou envoyer un message et/ou appeler la banque directement du téléphone.

Pour le cas de prise d’un rendez-vous et envoi d’un message deux scénarios sont possibles :

un pour les clients d’Attijari Bank, qui trouveront dans l’interface des informations

Page 73: Rapport dernier tirage.pdf

62

personnelles affichées tel que le nom, prénom, code client, numéro de compte...,et doivent

également saisir d’autres informations supplémentaires Et l’autre pour les clients potentiels

de la banque qui doivent saisir plusieurs informations d’identification.

Pour le cas d’appel, l’utilisateur M-Banking peut effectuer un appel direct vers le centre de

relation client.

La figure 34 illustre le diagramme de séquences du cas d’utilisation «Contacter la banque»

Page 74: Rapport dernier tirage.pdf

63

Figure 34: Diagramme de séquences du cas d’utilisation «Contacter la banque» Partie1

Page 75: Rapport dernier tirage.pdf

64

Figure 35 : Diagramme de séquences du cas d’utilisation «Contacter la banque» Partie2

Page 76: Rapport dernier tirage.pdf

65

Cas d’utilisation «Consulter le système de géolocalisation»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Consulter le système de géolocalisation» se traduit

par les différentes classes participantes à la réalisation de ce dernier.

La figure 36 illustre le diagramme de classes du cas d’utilisation «Consulter le système de

géolocalisation».

Figure 36: Diagramme de classes du cas d’utilisation «Consulter le système de géolocalisation»

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Consulter le système

de géolocalisation».Si l’utilisateur M-Banking d’Attijari Bank choisit de consulter le système de

géolocalisation, il peut visualiser la carte de toutes les agences d’Attijari Bank et/ou visualiser la

carte de tous les DAB d’Attijari Bank

Page 77: Rapport dernier tirage.pdf

66

La figure 37 illustre le diagramme de séquences du casd’utilisation «Consulter le système de

géolocalisation »

Cas d’utilisation «Consulter la liste des points de contact»

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Consulter la lister des points de contact» se traduit

par les différentes classes participantes à la réalisation de ce dernier.

Figure 37: Diagramme de séquences du cas d’utilisation «Consulter le système de géolocalisation »

Page 78: Rapport dernier tirage.pdf

67

La figure 38 illustre le diagramme de classes du cas d'utilisation«Consulter la lister des points de

contact».

Figure 38 : Diagramme de classes du cas d'utilisation «Consulter la lister des points de contact».

o Diagramme de séquences

A travers ce diagramme, nous allons décrire le scénario du cas d’utilisation «Consulter la liste des

points de contact». Si l’utilisateur M-Banking d’Attijari Bank choisit de consulter la lister des

points de contact, il peut consulter la liste de toutes les agencesd’Attijari Bank par région et/ou

consulter la liste de tous les DAB d’Attijari Bank

Page 79: Rapport dernier tirage.pdf

68

La figure 39 illustre le diagramme de séquences du casd’utilisation «Consulter la lister des points

de contact»

3.4 Test

L'approche Agile met le test au cœur des projets. Pour Scrum et les méthodes agiles en général, le

test ne se fait pas après la fin de développement. Au contraire, le test est une phase intégrée dès le

début du premier sprint jusqu'à la livraison du produit final.

Nous illustrons à ce niveau les captures d’écran réalisés au niveau de ce sprint. Après avoir

s’authentifier, le client d’Attijari Bank se trouve capable de bénéficier des différents services

bancaires offerts par Attijari Bank.

La figure 40 illustre l’interface du menu public.

Figure 39: Diagramme de séquences du cas d’utilisation «Consulter la lister des points de contact»

Page 80: Rapport dernier tirage.pdf

69

La figure 41 illustre l’interface de suivi des cours de devise.

Figure 40 : Interface du menu public

Figure 41 : Interface de suivi des cours de devise

L’interface de consultation de la liste des agences divise en deux:

-La figure 42 illustre l’interfacede consultation des comptes ainsi que le solde de chaque compte.

-La figure 43 illustre l’interface des mouvements du compte approprié.

Page 81: Rapport dernier tirage.pdf

70

Figure 42: Interface de consultation de la liste des

régions.

Figure 43: Interface de consultation de la liste des

agences.

La figure 44 illustre l’interface d’envoi d’un message pour un abonné.

La figure 45 illustre l’interface permettant d’appeler la banque.

Figure 44 : Interface d’envoi d’un pour un abonné

Figure 45: Interface d’appel

Page 82: Rapport dernier tirage.pdf

71

4. Conclusion

Le résultat d’un release est un produit livrable au client contrairement au résultat d’un sprint qui

est un produit potentiellement livrable. A la fin de ce chapitre, nous avons réussi à produire un

incrément ayant suffisamment de valeur pour notre client. Dans le chapitre qui suit, notre effort

sera consacré pour produire un nouveau release couvrant les fonctionnalités de gestion de

l’application mobile.

Page 83: Rapport dernier tirage.pdf

72

Chapitre 4 Développement de l'application

Backoffice

1. Introduction

Notre deuxième release sera composé de quatre sprints. Tout au long de ce chapitre, nous allons

traiter les histoires utilisateurs (User story) de nos sprints pour produire un ensemble d'incréments

potentiellement livrable. Avant de se lancer dans le premier sprint, l'équipe doit définir le but de ce

dernier qui doit être défini en terme métier et non pas en terme technique pour qu'il soit

compréhensible par les membres en dehors de l’équipe. Il s’agit de répondre à une question

fondamentale «Pourquoi faisons-nous ce sprint?».

2. Sprint 1 : Administration

Au début de chaque sprint, on définit un objectif et on lui associe une liste de fonctionnalités qui

constitueront le backlog de sprint. Au cours d'un sprint, l'objectif et la composition de l'équipe ne

peuvent être modifiés.

Ci-dessous la définition de l'objectif et des développeurs de ce sprint.

Objectif : L’administration de l'application Web: gérer les agences, les DAB, les régions

et les abonnés.

Développeurs : Team.

2.1 Sprint planning ou planification du sprint

Une fois nous avons défini le but de notre sprint, il est temps de décider quelles histoires de notre

backlog du produit inclure dans le backlog du sprint.

Le tableau 14 résume donc le backlog du premier sprint.

Page 84: Rapport dernier tirage.pdf

73

Tableau 14 : Sprint1 backlog

Id Nom Description Priorité

1

Ajouter une agence En tant qu'administrateur, je veux ajouter une

nouvelle agence afin que mon application soit mise

à jour.

10

2 Modifier les coordonnées

d'une agence.

En tant qu’administrateur, je veux modifier les

coordonnées d'une agence afin que mon application

soit mise à jour.

10

3 Supprimer une agence En tant qu'administrateur, je veux désactiver une

agence afin que mon application soit mise à jour.

10

4 Ajouter un DAB En tant qu'administrateur, je veux ajouter un DAB

afin que mon application soit mise à jour.

10

5 Modifier les coordonnées

d'un DAB.

En tant qu'administrateur, je veux modifier les

coordonnées d'un DAB afin que mon application

soit mise à jour.

10

6 Supprimer un DAB En tant qu'administrateur, je veux désactiver un

DAB afin que mon application soit mise à jour.

10

7 Ajouter un abonné En tant qu'administrateur, je veux ajouter un abonné

afin que mon application soit mise à jour.

10

8 Mettre à jour les

coordonnées d'un abonné

En tant qu'administrateur, je veux mettre à jour les

coordonnées des clients M-Banking (en cas de

changement de mot de passe ou de numéro de tel ou

de nom) afin de faciliter l'accès pour nos clients.

10

9 Supprimer un abonné En tant qu'administrateur, je veux supprimer un

abonné afin que mon application soit mise à jour.

10

Passons maintenant au vif de notre sujet : les activités et le cycle de développement. Dans un sprint

nous pouvons dégager trois étapes principales qui sont la spécification fonctionnelle, la conception,

et le test. Tout au long de ce sprint, nous respectons ces activités pour construire le plan de notre

travail.

2.2 Spécification fonctionnelle

Dans cette partie, nous procéderons par un diagramme de cas d'utilisation du sprint puis une

description textuelle de ses histoires utilisateurs.

Page 85: Rapport dernier tirage.pdf

74

2.2.1 Diagramme de Cas d'utilisation

Après authentification, l'administrateur se trouve capable de gérer les abonnées, les agences, les

DAB et les régions.

La figure 46 illustre le diagramme de cas d’utilisation global du Sprint 1.

A titre d'exemple, nous détaillons le cas d'utilisation «Gérer les agences» et les autres cas

d'utilisation généralisés suivent le même principe.

Après avoir s'authentifier, l'administrateur de l'application Mobile Banking pourra gérer les

agences. La gestion inclut l'opération d'ajout, de modification des coordonnées et de suppression.

La figure 47 illustre le diagramme de cas d’utilisation «Gérer les agences».

Figure 46 : Diagramme de cas d’utilisation global du Sprint 1

Figure 47 : Diagramme de cas d’utilisation «Gérer les agences»

Page 86: Rapport dernier tirage.pdf

75

2.2.2 Description textuelle

Le tableau 15 décrit textuellement le cas d'utilisation «Gérer les agences»

Tableau 15 : Description textuelle du cas d’utilisation «Gérer les agences»

Cas d’utilisation : Gérer les agences

Acteur : Administrateur M-Banking Attijari Bank

Pré condition : -L’administrateur M-Banking Attijari Bank est identifié comme

étant un administrateur.

Post condition : Une nouvelle agence est ajoutée, modifiée ou supprimée avec

succès.

Description du scénario

principal :

-Le système affiche l'interface principale.

-L'administrateur clique sur l'onglet Agences.

-Le système affiche l'interface appropriée.

-Le client clique sur l'onglet "Agences".

Point d'extension :

Ajouter une agence

-Le système affiche l'interface relative à «Ajouter une agence »

-L'administrateur remplit les champs demandés et clique sur

Enregistrer.

-Le système enregistre les données et affiche un message de

succès.

Point d'extension :

Modifier les

coordonnées d'une

agence

-Le système affiche l'interface relative à «Modifier les

coordonnées d'une agence»

-L'administrateur remplit les champs demandés et clique sur

Enregistrer.

-Le système enregistre les données et affiche un message de

succès.

Point d'extension :

Supprimer une

agence

-Le système affiche l'interface relative à «Supprimer une

agence»

-L'administrateur remplit les champs demandés et clique sur

Enregistrer.

-Le système enregistre les données et affiche un message de

succès.

2.3 Conception

La conception est la deuxième étape dans un sprint. Elle se traduit par un diagramme de classes et

un diagramme de séquences.

Page 87: Rapport dernier tirage.pdf

76

Le diagramme de classes permet de représenter une vue statique du système d’information

[23].Il identifie la structure des classes du système, y compris les propriétés et les méthodes

de chaque classe, et les diverses relations qui peuvent exister entre les classes y sont

également représentées.

Le diagramme de séquences permet de représenter une vue dynamique du système

d’information. [23]. Il permet de décrire les scénarios de chaque cas d'utilisation en mettant

l'accent sur la chronologie des opérations en interaction avec les objets.

Pour le Sprint 1 «Administration» nous allons présenter les diagrammes de classes et de

séquences de l'opération «Gestion des agences» seulement puisque la gestion des abonnées, des

DAB et des régions suit le même principe.

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Gérer les agences» se traduit par les différentes

classes participantes à la réalisation de ce dernier.

La figure 48 illustre le diagramme de classes du cas d'utilisation «Gérer les agences».

o Diagramme de séquences

A travers ce diagramme, nous décrivons le scénario du même cas d’utilisation. L’administrateur

choisit l'opération à effectuer: Ajouter, supprimer ou modifier les coordonnées d'une agence. Aussi,

il peut effectuer une recherche avancée sur l'agence à modifier ou à supprimer.

La figure 49 illustre le diagramme de séquences du cas d’utilisation «Gérer les agences».

Figure 48 : Diagramme de classes du cas d’utilisation «Gérer les agences»

Page 88: Rapport dernier tirage.pdf

77

Figure 49 : Diagramme de séquences du cas d’utilisation «Gérer les agences»

Page 89: Rapport dernier tirage.pdf

78

2.4. Test

L'approche Agile met le test au cœur des projets. Pour Scrum et les méthodes agiles en général, le

test ne se fait pas après la fin de développement. Au contraire, le test est une phase intégrée dès le

début du premier sprint jusqu'à la livraison du produit final.

Nous illustrons à ce niveau les captures d’écran réalisés au niveau de ce Sprint. Commençons par

l’interface principale de la gestion des agences et par la suite nous illustrons les fonctionnalités

d'ajout, de modification et de suppression d'une agence.

La figure 50 illustre l'interface principale de la gestion des agences.

La figure 51 illustre l'opération de suppression d'une agence

Figure 51 : Interface de l’opération de suppression d’une agence

Figure 50 : Interface principale de la gestion des agences

Page 90: Rapport dernier tirage.pdf

79

La figure 52 illustre l'opération d'ajout d'une agence

La figure 53 illustre l'opération de modification des coordonnées d'une agence

Figure 52 : Interface de l’opération d’ajout d’une agence

Figure 53 : Interface del’opération de modification des coordonnées d’une agence

Page 91: Rapport dernier tirage.pdf

80

3. Sprint 2: Gestion des demandes transactionnelles (Cartes,

Chéquiers, Virements)

Au début de chaque sprint, on définit un objectif et on lui associe une liste de fonctionnalités qui

constitueront le backlog de sprint. Au cours d'un sprint, l'objectif et la composition de l'équipe ne

peuvent être modifiés.

Ci-dessous la définition de l'objectif et des développeurs de ce sprint.

Objectif : Gestion des demandes d'obtention et demandes d'opposition sur les cartes et les

chéquiers. Egalement, la gestion des demandes de virements.

Développeurs : Team.

3.1 Sprint planning ou planification du sprint

Une fois nous avons défini le but de notre sprint, il est temps de décider quelles histoires de notre

backlog du produit inclure dans le backlog du sprint.

Le tableau 16 résume donc le backlog du deuxième sprint.

Tableau 16 : Sprint 2 backlog

Id Nom Description Priorité

1

Accepter la demande

d'obtention d'une carte

En tant qu'administrateur, je veux accepter la

demande afin de répondre aux demandes des

clients.

10

2 Décliner la demande

d'obtention d'une carte

En tant qu'administrateur, je veux décliner la

demande afin de respecter les conditions

d'obtention d'une carte bancaire.

10

3 Supprimer la demande

d'obtention d'une carte

En tant qu'administrateur, je veux supprimer la

demande afin de mettre à jour les données.

10

4 Accepter la demande

d'opposition sur une carte

En tant qu'administrateur, je veux accepter la

demande afin de répondre aux demandes des

clients.

10

5 Décliner la demande

d'opposition sur une carte

En tant qu'administrateur, je veux décliner la

demande afin de respecter les conditions

d'opposition d'une carte.

10

6 Supprimer la demande

d'opposition sur une carte

En tant qu'administrateur, je veux supprimer la

demande afin de mettre à jour les données.

10

Page 92: Rapport dernier tirage.pdf

81

7 Accepter la demande

d'obtention d'un chéquier

En tant qu'administrateur, je veux accepter la

demande afin de répondre aux demandes des

clients..

10

8 Décliner la demande

d'obtention d'un chéquier

En tant qu'administrateur, je veux décliner la

demande afin de respecter les conditions

d'obtention d'un chéquier.

10

9 Supprimer la demande

d'obtention d'un chéquier

En tant qu'administrateur, je veux supprimer la

demande afin de mettre à jour les données.

10

10 Accepter la demande

d'opposition sur un chéquier

En tant qu'administrateur, je veux accepter la

demande afin de répondre aux demandes des

clients.

10

11 Décliner la demande

d'opposition sur un chéquier

En tant qu'administrateur, je veux décliner la

demande afin de respecter les conditions

d'opposition sur chéquier.

10

12 Supprimer la demande

d'opposition sur un chéquier

En tant qu'administrateur, je veux supprimer la

demande afin de mettre à jour les données.

10

13 Consulter les demandes

d'obtention et d'opposition

de cartes et de chéquiers

En tant qu'administrateur, je veux consulter les

demandes d'obtention ou d'opposition sur

chéquiers ou sur cartes afin de vérifier les

données.

10

14 Accepter la demande de

virement

En tant qu'administrateur, je veux accepter la

demande afin de répondre aux demandes des

clients.

10

15 Décliner la demande de

virement

En tant qu'administrateur, je veux décliner la

demande afin de respecter les conditions de

virements

10

16 Supprimer la demande de

virement

En tant qu'administrateur, je veux supprimer la

demande afin de mettre à jour les données.

10

17 Consulter la liste des

anciens virements

En tant qu'administrateur, je veux consulter les

demandes de virements afin de vérifier les

données.

10

Passons maintenant au vif de notre sujet : les activités et le cycle de développement. Dans un

sprint nous pouvons dégager trois étapes principales qui sont la spécification fonctionnelle, la

conception, et le test. Tout au long de ce sprint, nous respectons ces activités pour construire le

plan de notre travail.

Page 93: Rapport dernier tirage.pdf

82

3.2 Spécification fonctionnelle

Dans cette partie, nous procéderons par un diagramme de cas d'utilisation du sprint puis une

description textuelle de ses histoires utilisateurs.

3.2.1 Diagramme de Cas d'utilisation

Après avoir s'authentifier, l'administrateur se trouve capable de gérer les demandes

transactionnelles des clients de la banque qui sont les demandes d'obtention ou de opposition sur

cartes ou chéquiers et les demandes de virements réalisés par le client.

La figure 54 illustre le diagramme de cas d’utilisation global du deuxième sprint.

Figure 54 : Diagramme de cas d’utilisation globale Sprint2

A titre d'exemple, nous traitons le cas de demandes d'obtention de carte puisque le même scénario

se produit pour les autres cas d'utilisations générés qui sont «Gérer les demandes de chéquiers» et

«Gérer les demandes de virements».

Après authentification, l'administrateur pourra gérer les demandes d'obtention ou d'opposition sur

cartes réalisées par les clients; Il peut soit approuver une demande, si toutes les conditions sont

vérifiées, soit décliner les demandes, si une des conditions n'est pas vérifiée, ou supprimer la

demande si c'était juste une demande de test effectuée par l'équipe de développement. Aussi,

l'administrateur pourra consulter la liste des anciennes demandes déjà traitées.

La figure 55 illustre le diagramme de cas d’utilisation «Gérer les demandes de cartes»

Page 94: Rapport dernier tirage.pdf

83

Figure 55 : Diagramme de cas d’utilisation «Gérer les demande de cartes»

.

3.2.2 Description textuelle

Pour la gestion des cartes, le client a le choix entre effectuer une demande d'obtention ou

d'opposition. A titre d'exemple, notre raffinement se limite du cas d'utilisation généré : «Gérer les

demandes d'obtention».

Le tableau 17 décrit textuellement cas d’utilisation «Gérer les demandes d'obtention»

Tableau 17 : Description textuelle du cas d’utilisation «Gérer les demande d'obtention»

Cas d’utilisation : Gérer des demandes d'obtention

Acteur : Administrateur M-Banking Attijari Bank

Pré condition : -L’employé d’Attijari Bank est identifié comme étant un

administrateur de l’application web du M-Banking.

Post condition : La table demande carte est mise à jour.

Description du scénario

principal :

-Le système affiche l'interface appropriée.

-L'administrateur choisit l'opération qu'il désire effectuer en

cliquant sur un bouton de commande.

-Le système enregistre les données et affiche l'interface

appropriée.

Points d'extension :

Accepter une demande

-Le système affiche le dialogue relatif à «Accepter une

demande» -L'administrateur traite la demande et enregistre son traitement

-Le système enregistre les données.

Page 95: Rapport dernier tirage.pdf

84

Décliner une demande -Le système affiche le dialogue relatif à «Décliner une

demande»

-L'administrateur traite la demande et enregistre son traitement

-Le système enregistre les données.

Supprimer une

demande

-Le système affiche le dialogue relatif à «Supprimer une

demande»

-L'administrateur traite la demande et enregistre son traitement

-Le système enregistre les données.

Consulter les

anciennes demandes

-Le système affiche l'interface relative à la consultation des

anciennes demandes.

-L'administrateur peut faire une recherche avancée.

3.3 Conception

La conception est la deuxième étape dans un sprint. Elle se traduit par un diagramme de classes et

un diagramme de séquences.

Le diagramme de classes permet de représenter une vue statique du système

d’information.[23]Il identifie la structure des classes du système, y compris les propriétés

et les méthodes de chaque classes, et les diverses relations qui peuvent exister entre les

classes y sont également représentées.

Le diagramme de séquence permet de représenter une vue dynamique du système

d’information.[23] Il permet de décrire les scénarios de chaque cas d'utilisation en mettant

l'accent sur la chronologie des opérations en interaction avec les objets.

Comme déjà expliqué, nous illustrons seulement le cas d'utilisation généralisé «Gérer les

demandes de cartes».

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Gérer les demandes de cartes» se traduit par

les différentes classes participantes à la réalisation de ce dernier.

Page 96: Rapport dernier tirage.pdf

85

La figure 56 illustrant le diagramme de classes du cas d’utilisation «Gérer les demandes de cartes».

Figure 56 : Diagramme de classes du cas d’utilisation «Gérer les demandes de carte»

Page 97: Rapport dernier tirage.pdf

86

o Diagramme de séquences

L'administrateur gère les demandes d'obtention et d'opposition sur cartes ; Dans les deux cas il peut soit accepter une demande, la décliner ou bien la supprimer s'il s'agit d'une demande de test effectuée par l'équipe de

développement. Egalement, l'administrateur peut consulter les demandes qui sont déjà traité auparavant. Et encore il peut effectuer une recherche avancée "La fonction (Saisir)" par code client, nom et d'autres critères.

A titre d'exemple nous illustrons le diagramme de séquence du cas d'utilisation généré «Gérer les demandes d'obtention des cartes ».

Figure 57: Cas d'utilisation généré «Gérer les demandes d'obtention »

Page 98: Rapport dernier tirage.pdf

87

3.4 Test

L'approche Agile met le test au cœur des projets. Pour Scrum et les méthodes agiles en général, le

test ne se fait pas après la fin de développement. Au contraire, le test est une phase intégrée dès le

début du premier sprint jusqu'à la livraison du produit final.

Nous illustrons à ce niveau les captures d’écran réalisés au niveau de ce sprint. Après avoir

s’authentifier, le client d'Attijari Bank se trouve capable de bénéficier des différents services

bancaires offerts par Attijari Bank.

La figure 58 illustre l’interface de gestion des demandes d'obtention de cartes.

La figure 59 illustre l'interface de la consultation des demandes cartes (demandes qui sont déjà

traitées).

Figure 58 : Interface de la gestion des demandes d’obtention

Figure 59 : Consultation des demandes de cartes

Page 99: Rapport dernier tirage.pdf

88

4. Sprint 3: Gestion des contacts

Au début de chaque sprint, on définit un objectif et on lui associe une liste de fonctionnalités qui

constitueront le backlog de sprint. Au cours d'un sprint, l'objectif et la composition de l'équipe ne

peuvent être modifiés.

Ci-dessous la définition de l'objectif et des développeurs de ce sprint.

Objectif : La gestion de contacts qui inclut la gestion des messages envoyés par les clients

et des demandes de rendez-vous.

Développeurs : Team.

4.1 Sprint planning ou planification du sprint

Une fois nous avons défini le but de notre sprint, il est temps de décider quelles histoires de notre

backlog du produit inclure dans le backlog du sprint.

Le tableau 18 résume donc le backlog du troisième sprint

Tableau 18 : Sprint 3 backlog

Id Nom Description Priorité

1

Confirmer la demande de

rendez-vous

En tant qu'administrateur, je veux accepter la

demande afin d'organiser les visites des clients

à l'agence.

10

2 Consulter la liste des

anciens rendez-vous

En tant qu'administrateur, je veux consulter la

liste des anciens rendez-vous afin de vérifier

les données.

10

3 Confirmer la réception d'un

message

En tant qu'administrateur, je veux confirmer la

réception d'un message afin que la réclamation

ou la suggestion du client soit prise en compte.

10

4 Consulter la liste des

messages archivés

En tant qu'administrateur, je veux consulter la

liste des messages archivés afin de vérifier les

données

10

Passons maintenant au vif de notre sujet : les activités et le cycle de développement. Dans un Sprint

nous pouvons dégager trois étapes principales qui sont la spécification fonctionnelle, la conception,

et le test. Tout au long de ce Sprint, nous respectons ces activités pour construire le plan de notre

travail.

Page 100: Rapport dernier tirage.pdf

89

4.2 Spécification fonctionnelle

Dans cette partie, nous procéderons par un diagramme de cas d'utilisation du sprint puis une

description textuelle de ses histoires utilisateurs.

4.2.1 Diagramme de Cas d'utilisation

Après avoir s'authentifier, l'administrateur pourra gérer les demandes de contact effectuées par les

abonnés qui sont une demande de rendez-vous ou un envoi de message dans le but de réclamer ou

de suggérer. Ces deux moyens de contact doivent être gérer par l’administrateur.

La figure 60 illustre le diagramme de cas d’utilisation global du troisième Sprint..

4.2.2 Description textuelle

Les tableaux suivants présentent la description textuelle des cas d'utilisation générés du cas

«Gestion des contacts»

Le tableau 19 décrit textuellement le cas d'utilisation «Gérer les demandes de rendez-vous»

Figure 60 : Diagramme de cas d’utilisation global Sprint3

Page 101: Rapport dernier tirage.pdf

90

Tableau 19 : Description textuelle du cas d’utilisation «Gérer les demandes de rendez-vous»

Cas d’utilisation : Gérer les demandes de rendez-vous

Acteur : Administrateur M-Banking Attijari Bank

Pré condition : -Administrateur M-Banking Attijari Bank est identifié comme

étant un administrateur.

Post condition : Les demandes de rendez-vous sont traitées.

Description du scénario

principal :

-Le système affiche l'interface appropriée.

-L'administrateur traite la demande et confirme son traitement.

Point d'extension :

Consulter la liste des

anciens rendez-vous

-Le système affiche l’interface relative à «Consulter la liste

des anciens rendez-vous»

Le tableau 20 décrit textuellement le cas d'utilisation «Gérer les messages»

Tableau 20 : Description textuelle du cas d'utilisation «Gérer les messages»

Cas d’utilisation : Gérer les messages

Acteur : Administrateur M-Banking Attijari Bank

Pré condition : - Administrateur M-Banking Attijari Bank est identifié comme

étant un administrateur.

Post condition : -Les messages sont bien reçus.

Description du scénario

principal :

-Le système affiche l'interface appropriée.

-L'administrateur choisit l'opération qu'il doit effectuée en

cliquant sur un bouton de commande

Point d'extension :

Confirmer les demandes

de rendez vous

-Le client traite la demande de rendez vous du client et

enregistre les modifications.

-Le système enregistre les données.

Consulter la liste des

anciens rendez-vous

-Le système affiche l’interface relative à «Consulter la liste

des messages archivés»

4.3 Conception

La conception est la deuxième étape dans un sprint. Elle se traduit par un diagramme de classes et

un diagramme de séquences.

Le diagramme de classes permet de représenter une vue statique du système

d’information.[23].Il identifie la structure des classes du système, y compris les propriétés

Page 102: Rapport dernier tirage.pdf

91

et les méthodes de chaque classes, et les diverses relations qui peuvent exister entre les

classes y sont également représentées.

Le diagramme de séquence permet de représenter une vue dynamique du système

d’information.[23].Il permet de décrire les scénarios de chaque cas d'utilisation en mettant

l'accent sur la chronologie des opérations en interaction avec les objets.

Pour les cas d’utilisation de ce Sprint, nous allons présenter ces deux diagrammes.

o Diagramme de classes

Le diagramme de classes du cas d’utilisation «Gestion de contacts» se traduit par les différentes

classes participantes à la réalisation de ce dernier.

o Diagramme de séquences

Figure 61 : diagramme de classe du cas d’utilisation «Gestion des contacts»

Page 103: Rapport dernier tirage.pdf

92

A titre d'exemple nous illustrons le diagramme de séquence de«Gérer les rendez-vous » puisque

c'est le même principe que celui de la gestion des messages.

Après authentification, l'administrateur aura accès à l'interface de gestion des rendez-vous où il

pourra soit confirmer la demande de rendez-vous dans l'une des dates proposés par le client ou

proposer une autre date selon la disponibilité du chargé clientèle de son agence, soit supprimer la

demande et contacter le client par téléphone. D'autre part, l'administrateur peut consulter la liste

des anciens rendez-vous. Dans les deux cas, il peut faire une recherche avancée pour faciliter sa

tâche.

La figure 63 illustre le diagramme de séquences du cas d’utilisation «Gérer les messages».

Page 104: Rapport dernier tirage.pdf

93

Figure 62 Diagramme de séquences du cas d’utilisation «Gérer les messages»

Page 105: Rapport dernier tirage.pdf

94

4.4 Test

L'approche Agile met le test au cœur des projets. Pour Scrum et les méthodes agiles en général, le

test ne se fait pas après la fin de développement. Au contraire, le test est une phase intégrée dès le

début du premier sprint jusqu'à la livraison du produit final.

Nous illustrons à ce niveau les captures d’écran réalisés au niveau de ce sprint. Après avoir

s’authentifier, l'administrateur de l'application «Attijari Mobile Banking» pourra gérer les

demandes de contact comme expliquer au début de notre sprint 3.

La figure 63 illustre l'interface de gestion de la liste des rendez-vous

La figure 64 illustre l'interface de gestion des rendez-vous

Figure 63 : Interface de la gestion de la liste des rendez-vous

Figure 64 : Interface de la gestion des rendez-vous

Page 106: Rapport dernier tirage.pdf

95

5. Conclusion

Le résultat d’un release est un produit livrable au client contrairement au résultat d’un sprint qui

est un produit potentiellement livrable. A la fin de ce chapitre, nous avons réussi à produire un

incrément ayant suffisamment de valeur pour notre client. Cet incrément est notre produit final et

donc la fin de ce release marque la fin de notre projet.

Page 107: Rapport dernier tirage.pdf

96

Chapitre 5 Codage et déploiement

1. Introduction

Dans ce chapitre, nous donnerons un aperçu sur le travail accompli au niveau de

l’implémentation des deux modules M1 (Front Office) et M2 (Back Office) définis dans les

chapitres précédents. Plus précisément, nous allons présenter les diagrammes de composant et

de déploiement de ces deux derniers, ainsi qu’un diagramme de classes global de toute

l’application suivi du schéma de la base de données.

2. Codage

Les travaux menés dans cette étape résument tout simplement dans l’implémentation et la

réalisation des histoires utilisateurs analysés lors des étapes précédentes. Pour notre cas, le

codage se traduit par un diagramme de composants pour chaque module, un diagramme de

classes global de toute l’application et un schéma de la base de données.

2.1 Diagramme de composants

«Le diagramme de composants représente les concepts connus de l’exploitant pour installer et

dépanner le système. Il s’agit dans ce cas de déterminer la structure des composants

d’exploitation que sont les librairies dynamiques, les instances de bases de données, les

applications, les objets distribués, les exécutables, etc…» [24].

Dans ce qui suit, nous allons commencer par présenter le diagramme de composants de chaque

module.

2.1.1 Diagrammes de composants de M1

Les classes d'interfaces et les classes contrôleurs au niveau conceptuel deviennent, au niveau

d'implémentation, les mêmes classes d'interface.Dans notre cas, le contrôleur est le couple

(class.java et webService.PHP).

La figure 88 illustre le diagramme de composants du module M1.

Page 108: Rapport dernier tirage.pdf

97

2.1.2 Diagrammes de composants de M2

Pour des raisons d'implémentation, le contrôleur dans notre cas est un fichier .XML, le modèle

est un fichier .java qui est le managedBean.

La figure 66 illustre le diagramme de composants du module M2

Figure 65 : Digramme de composants du module M1

Figure 66 : Diagramme de composants du module M2

Page 109: Rapport dernier tirage.pdf

98

2.2 Diagramme de classes global de l’application

Figure 67 : Diagramme de classe global de l’application

Page 110: Rapport dernier tirage.pdf

99

2.3 Schéma de la base de données

Pour construire le schéma de base de données de notre application, nous devons appliquer

certaines règles pour passer d’un schéma entité association (diagramme de classe) vers un

schéma relationnel {Voir Annexe A}.

Dans ce qui suit, nous présentons les tables de notre base de données.

Tableau 21 Table « abonne »

Nom de la table : abonne

Champs Types Contraintes

id_abonne VARCHAR(10) PRIMARY KEY

Nom VARCHAR(255) ---

Prenom VARCHAR(255) ---

password_abonne VARCHAR(255) ---

code_abonne VARCHAR(255) ---

Tel VARCHAR(255) ---

Mail VARCHAR(255) ---

id_mobile VARCHAR(255) ---

Typdoc VARCHAR(20) ---

Numdoc VARCHAR(15) ---

Tableau 22 : Table « region »

Nom de la table : region

Types Contraintes Contraintes

code_region VARCHAR2(3) PRIMARY KEY

Langue VARCHAR2(255) ---

titre_region VARCHAR2(255) ---

Page 111: Rapport dernier tirage.pdf

100

Tableau 23: Table « client »

Nom de la table : client

Champs Types Contraintes

Codclt VARCHAR2(8) PRIMARY KEY

Nom VARCHAR(30) ---

Prenom VARCHAR(30) ---

Tel VARCHAR(20) ---

Mail VARCHAR(30) ---

typdoc VARCHAR(20) ---

numdoc VARCHAR(15) ---

Tableau 24 : Table « compte »

Nom de la table : compte

Champs Types Contraintes

nucmpt VARCHAR2(13) PRIMARY KEY

clebct VARCHAR2(2) PRIMARY KEY

codugbct VARCHAR2(3) PRIMARY KEY

codbanq VARCHAR2(2) PRIMARY KEY

typdoc VARCHAR2(20) ---

numdoc VARCHAR2(15) ---

Nom VARCHAR2(255) ---

prenom VARCHAR2(255) ---

datclo DATE ---

adressecpt VARCHAR2(255) ---

Sin VARCHAR2(255) ---

Page 112: Rapport dernier tirage.pdf

101

Tableau 25 : Table « agent »

Nom de la table : agent

Champs Types Contraintes

matricule VARCHAR(5) PRIMARY KEY

idnom NUMBER(10) ---

Pwd VARCHAR2(100) ---

Nom VARCHAR2(50) ---

prenom VARCHAR2(50) ---

Telph VARCHAR2(50) ---

telph_poste VARCHAR2(50) ---

Mail VARCHAR2(100) ---

adresse VARCHAR2(254) ---

date_embauche DATE ---

Cout NUMBER(3) ---

authority VARCHAR(50) ---

flg_suspendu NUMBER(1) ---

Tableau 26 : Table «parametre»

Nom de la table : parametre

Champs Types Contraintes

codparam VARCHAR2(10) PRIMARY KEY

libparam VARCHAR2(255) ---

valparam VARCHAR2(255) ---

Page 113: Rapport dernier tirage.pdf

102

Tableau 27 : Table «agence»

Nom de la table : agence

Champs Types Contraintes

Codug VARCHAR2(3) PRIMARY KEY

nom_ug VARCHAR2(255) ---

adresse_ug VARCHAR2(255) ---

altitude_ug NUMBER ---

longitude_ug NUMBER ---

zoom_ug NUMBER ---

tel_ug VARCHAR2(255) ---

fax_ug VARCHAR2(255) ---

type_oper VARCHAR2(1) ---

date_oper DATE ---

user_oper VARCHAR(5) ---

Tableau 28 : Table «DAB»"

Nom de la table : DAB

Champs Types Contraintes

Code_dab VARCHAR2(3) PRIMARY KEY

nom_dab VARCHAR2(255) ---

adresse_dac VARCHAR2(255) ---

altitude_dab NUMBER ---

longitude_dab NUMBER ---

zoom_dab NUMBER ---

type_oper VARCHAR2(1) ---

date_oper DATE ---

user_oper VARCHAR(5) ---

Page 114: Rapport dernier tirage.pdf

103

Tableau 29 : Table «dde_carte»

Nom de la table dde_carte

Champs Types Contraintes

id_dde_carte VARCHAR2(10) PRIMARY KEY

type_carte VARCHAR2(5) ---

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

date_valid DATE ---

user_valid VARCHAR2(1) ---

etat_demande VARCHAR2(1) ---

date_demande DATE ---

Nom VARCHAR2(255) ---

prenom VARCHAR2(255) ---

typdoc VARCHAR2(20) ---

numdoc VARCHAR2(15) ---

Tableau 30 : Table «mouvement»

Nom de la table : mouvement

Champs Types Contraintes

Codop VARCHAR2(10) PRIMARY KEY

Libop DATE ---

sensop VARCHAR2(255) ---

Datop DATE ---

Dag DATE ---

mntop VARCHAR2(255) ---

Page 115: Rapport dernier tirage.pdf

104

Tableau 31 : Table «dde_cheq»

Nom de la table : dde_cheq

Champs Types Contraintes

id_dde_cheq VARCHAR2(10) PRIMARY KEY

type_cheq VARCHAR2(255) ---

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

date_valid DATE ---

user_valid DATE ---

etat_demande VARCHAR2(1) ---

date_demande DATE ---

Tableau 32 : Table « de_op_carte»

Nom de la table : dde_op_carte

Champs Types Contraintes

id_op_carte VARCHAR2(10) PRIMARY KEY

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

date_valid DATE ---

user_valid DATE ---

etat_demande VARCHAR2(1) ---

date_demande DATE ---

Page 116: Rapport dernier tirage.pdf

105

Tableau 33 : Table «dde_op_cheq»

Tableau 34 : Table «chequier»

Nom de la table : chequier

Champs Types Contraintes

numchequier VARCHAR2(10) PRIMARY KEY

datelivraison DATE ---

numdebut VARCHAR2(255) ---

numfin VARCHAR2(255) ---

type_cheq VARCHAR2(255) ---

etat_chequier VARCHAR2(255) ---

Nom de la table : dde_op_cheq

Champs Types Contraintes

id_op_cheq VARCHAR2(10) PRIMARY KEY

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

date_valid DATE ---

user_valid DATE ---

etat_demande VARCHAR2(1) ---

date_demande DATE ---

description VARCHAR2(255) ---

Page 117: Rapport dernier tirage.pdf

106

Tableau 35 : Table «dde_vir»

Nom de la table : dde_vir

Champs Types Contraintes

id_dde_vir VARCHAR2(10) PRIMARY KEY

numcpt_ben VARCHAR2(13) ---

numcpt_don VARCHAR2(13) ---

codugbct_ben VARCHAR2(3) ---

codugbct_don VARCHAR2(3) ---

codug_ben VARCHAR2(3) ---

codug_don VARCHAR2(3) ---

codbanq VARCHAR2(2) ---

codbanq VARCHAR2(2) ---

clecbt_ben VARCHAR2(13) ---

clecbt_don VARCHAR2(13) ---

mnt_vir VARCHAR2(255) ---

lib_vir VARCHAR2(255) ---

date_vir DATE ---

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

date_valid DATE ---

user_valid DATE ---

etat_demande VARCHAR2(1) ---

date_demande DATE ---

Page 118: Rapport dernier tirage.pdf

107

Tableau 36 Table «message»

Nom de la table : message

Champs Types Contraintes

id_envmsg VARCHAR2(10) PRIMARY KEY

nom VARCHAR2(255) ---

prenom VARCHAR2(255) ---

Tel VARCHAR2(255) ---

email VARCHAR2(255) ---

message VARCHAR2(255) ---

typdoc VARCHAR2(20) ---

numdoc VARCHAR2(15) ---

type_user VARCHAR2(1) ---

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

date_valid DATE ---

user_valid VARCHAR(15) ---

etat_demande VARCHAR2(1) ---

date_demande DATE ---

Page 119: Rapport dernier tirage.pdf

108

Tableau 37 : Table «cheque»

Nom de la table : cheque

Champs Types Contraintes

numchq VARCHAR2(10) PRIMARY KEY

datecheq DATE ---

etatcheq VARCHAR2(255) ---

mntcheq VARCHAR2(255) ---

nombenef VARCHAR2(255) ---

dateopp DATE ---

Tableau 38 : Table «typcarte»

Nom de la table : typcarte

Champs Types Contraintes

codtypcarte VARCHAR2(10) PRIMARY KEY

type_carte VARCHAR2(255) ---

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

observation VARCHAR2(255) ---

nature VARCHAR2(255) ---

plancher VARCHAR2(255) ---

bin_carte VARCHAR2(255) ---

Page 120: Rapport dernier tirage.pdf

109

Tableau 39 : Table «rendezvous»

Nom de la table : rendezvous

Champs Types Contraintes

id_dde_rendv VARCHAR2(10) PRIMARY KEY

nom VARCHAR2(255) ---

prenom VARCHAR2(255) ---

Tel VARCHAR2(255) ---

email VARCHAR2(255) ---

plage_horaire VARCHAR2(255) ---

message VARCHAR2(255) ---

typdoc VARCHAR2(20) ---

numdoc VARCHAR2(15) ---

date_rendv1 DATE ---

date_rendv2 DATE ---

type_user VARCHAR2(1) ---

date_oper DATE ---

user_oper VARCHAR2(5) ---

type_oper VARCHAR2(1) ---

date_valid DATE ---

user_valid VARCHAR2(15) ---

etat_demande VARCHAR2(1) ---

date_demande DATE ---

Page 121: Rapport dernier tirage.pdf

110

Tableau 40 : Table «carte»

Nom de la table : carte

Champs Types Contraintes

num_carte VARCHAR2(10) PRIMARY KEY

nom VARCHAR2(15) ---

prenom VARCHAR2(255) ---

typdoc VARCHAR2(20) ---

numdoc VARCHAR2(15) ---

type_carte VARCHAR2(255) ---

dateopp DATE ---

mntreatrait VARCHAR2(255) ---

mntpaie VARCHAR2(255) ---

mntdebit VARCHAR2(255) ---

etat_carte VARCHAR2(255) ---

3. Déploiement

Pour notre cas, le déploiement se traduit par un diagramme de déploiement qui permet de

représenter la répartition géographique des composants matériels de notre système sous forme de

nœuds.

3.1 Diagramme de déploiement de M1

L'utilisateur M-Banking demande une ressource auprès de son équipement Android. Ceci se traduit

par une requête HTTP GET ou POST qui sera envoyée à travers des web services PHP au serveur

de la base de données. La réponse finale est renvoyée au serveur de l'application mobile sous forme

d'un fichier JSON.

Page 122: Rapport dernier tirage.pdf

111

3.2 Diagramme de déploiement de M2

L'utilisateur demande une ressource auprès de son ordinateur. Ceci se traduit par une requête HTTP

qui sera envoyée au serveur de l'application. Ce dernier fournit la ressource, mais en faisant appel

à un autre serveur qui est le serveur de la base de données.

4. Conclusion

Au cours de ce chapitre, nous avons essayé de donner une meilleure visibilité du projet sur le plan

technique, mettre en place le schéma de la base de données et présenter diagramme de déploiement

des deux modules de l’application globale.

Figure 68 : Diagramme de déploiement de M1

Figure 69 : Diagramme de déploiement de M2

Page 123: Rapport dernier tirage.pdf

112

Conclusion et perspective

Les Smartphones sont devenus les accompagnantes indispensables de l’homme. Ceci est dû

principalement à la mise au point de multitude d’applications mobiles qui couvrent beaucoup de

secteurs, et parviennent même à satisfaire quelqu’un de nos besoins quotidiens.

C’est en considération de ce cadre qu’il nous a été confié de réaliser, au sein d'Attijari Bank, une

application de Mobile Banking sous Android qui constitue le Front office et une application Web

qui constitue, à son tour, le back office. Les études conceptuelles et techniques, ainsi que les

différentes étapes qui ont abouti à la réalisation de notre solution, ont fait l’objet des chapitres de

ce rapport.

Ce stage représente pour nous une opportunité irremplaçable, qui nous apermis de participer à un

projet d’envergure, de faire face aux contraintes réelles de l’entreprise, et de vivre les différentes

phases clés du développement et la production d’un logiciel.

Pour accomplir ce travail, nous avons adopté les méthodes agiles et plus précisément Scrum pour

la gestion de projet, UML est désormais notre langage de modélisation en utilisant le logiciel

Rational Rose. L'application mobile est développée en langage JAVA sous éclipse Luna et

l'application web enJ2eesous MyEclipse. D'autre part, nous avons développé des web services PHP

permettant de gérer la connexion avec le serveur de base de données. Afin de créer la base de

données, un système de gestion de base de données ORACLE a été exploité.

Ces choix nous ont permis de réaliser une application complète répondant aux attentes de

l’entreprise pour laquelle nous avons œuvré.

À l’issue de ce projet, nous pouvons envisager les perspectives suivantes :

Multilinguisme de l'application.

Gestion des habilitations pour les administrateurs de l'application web.

Augmenter le niveau de sécurité de l'application en utilisant le principe de Code QR .

Améliorer le design de l'application mobile.

Page 124: Rapport dernier tirage.pdf

113

Annexe A

Passage d’un schéma Entité/Association à un Schéma Relationnel

La déduction du schéma relationnel se base sur un ensemble de règles qui sont présentées comme

suit :

Règle 1 : Toute entité devient une table.

Règle 2 : Chaque propriété de l’entité devient un attribut de la table.

Règle 3 : L’identifiant de l’entité devient une clé primaire de la table

Règle 4 : Chaque association « un à plusieurs » est représentée par une clé étrangère dans la table

fille.

Règle 5 : Chaque association devient une relation, si les cardinalités maximales sont «n..n»

Règle 6 : Chaque association «1..1» est représentée par l’intégration d’une clé étrangère dans la

table la moins récente.

Règle 7 : Chaque classe association entre deux classes est représentée par une table qui prend pour

clé primaire la concaténation des clés primaires des deux classes.

Page 125: Rapport dernier tirage.pdf

114

Neto graphie

[1]Site internet «SeanRon», DeveloppemtEtDesign,

Available:http://seanron.free.fr/?article7/la-methode-agile-scrum-et-extreme-programming

[2] MazziveBlog, Available:http://mazzive.com/blog/?p=12

[3]ABI Research, Available: https://www.abiresearch.com/press/2q-2014-smartphone-results-

forked-android-aosp-gro/

[4]UNIVERSITE VIRTUELLE DE TUNIS (uvt), rapport de PFE «Conception et réalisation

d'une application mobile M-Banking», Available : http://pf-mh.uvt.rnu.tn/803/1/Conception-

realisation-application-mobile-M-BANKING.pdf

[5]Oracle's Developper Guide,

Available:http://otndnld.oracle.co.jp/document/products/as10g/101300/B25221_03/web.1013/b1

3593/undtldev010.html

[6]Site Personnel: Gradeux Vincent, de Gradeux Vincent, Available:http://gardeux-

vincent.eu/Documents/ProjetJEE/BACSWW_Hibernate_Jaxb_Spring/content/spring.html

[7] Site officiel du Spring, Cours de Spring Security Avalaible:http://projects.spring.io/spring-

security/

[8]Site: SlideShare.net, Available: http://fr.slideshare.net/cagataycivici/primetime-jsf-with-

primefaces-dec-2014

[9]Site Journal du net, Available:

http://www.journaldunet.com/encyclopedie/definition/972/34/20/tomcat.shtml

[10] Wikipedia, http://fr.wikipedia.org/wiki/Rational_Rose

[11]Wiki du Fablab Robert Houdin, Available:

http://fablab-robert-houdin.org/wiki/doku.php?id=tuto_installation_de_eclipse

[12]Site Personnel: Gradeux Vincent, de Gradeux Vincent, Available: http://gardeux-

vincent.eu/Documents/ProjetJEE/BACSWW_Hibernate_Jaxb_Spring/content/hibernate/hibernat

e_3.html

[13]Wikipedia, Available: http://fr.wikipedia.org/wiki/Java_Development_Kit

Page 126: Rapport dernier tirage.pdf

115

[14]Site «Zeste de savoir», Available: https://zestedesavoir.com/tutoriels/335/creez-des-

applications-pour-android/420/les-bases-indispensables-a-toute-application/2135/installation-et-

configuration-des-outils/#3-eclipse-ladt-et-le-sdk

[15]Wikipedia, Available: http://fr.wikipedia.org/wiki/Oracle_Database

[16]Site officiel WampServer, Available : http://www.wampserver.com/

[17]Site: Futur, Available: http://www.futura-sciences.com/magazines/high-

tech/infos/dico/d/internet-java-485/

[18]Site officiel du groupe «AddiTeam», Available: http://www.additeam.com/SSII/php/

[19]Pierre Gambarotto «Technologies pour Web Services faciles : REST, JSON», Available:

https://2009.jres.org/planning_files/article/pdf/92.pdf

[20]Site: Figer.com, REST, un style d'architecture universel, , Par: Jean-Paul Figer,

Available: http://www.figer.com/publications/REST.htm#.VWCsPU9_Okq

[21]Site officiel du groupe «AddiTeam», Available: http://www.additeam.com/SSII/uml/

[22]Site MemoireOnLine, Informatique et télécommunication, Par Alain CHIKURU

MUGISHO,Available:http://www.memoireonline.com/10/12/6148/m_Conception-dune-

application-web-de-suivi-des-passagers-sur-tous-les-vols-nationaux-et-internation14.html

[23]Tarak Chaari «Atelier UML», Available :

http://www.redcad.org/members/tarak.chaari/cours/coursUML.pdf

[24]Pascla Roques, Franck Vallée «UML2 De l’action à l’analyse des besoins à la conception»