Vous êtes sur la page 1sur 70

.

Mémoire de projet de fin


d’études de licence
appliqué en informatique
Copie 0
Application Android de localisation « Market Finder Tunisia »
2014-2015

Réalisé par : Mohamed Aziz Aribi et Mchala Rahma


Sommaire :

Introduction............................................................................................................................................6
Chapitre 1 : Présentation Générale..........................................................................................................8
I. Introduction..............................................................................................................................................8
II. Présentation de l’organisme d’accueille....................................................................................................8
1. Présentation de la Société Tunisienne d’Entreprises de Télécommunications Sotetel :1*.......8
III. Contexte du travail..................................................................................................................9
1. Problématique........................................................................................................................9
2. Présentation du sujet............................................................................................................10
3. Objectif.................................................................................................................................10
IV. Méthodologies du travail......................................................................................................10
1. Langage de modélisation......................................................................................................11
2. Processus de développement...............................................................................................11
V. Conclusion..............................................................................................................................................13
Chapitre 2 : Etudes préliminaires..........................................................................................................14
I. Introduction............................................................................................................................................14
II. Cahier de charges...................................................................................................................................14
1. Présentation du projet..........................................................................................................14
2. Grand choix techniques........................................................................................................15
3. Recueille des besoins fonctionnels........................................................................................15
4. Recueille des besoins non fonctionnels.................................................................................16
III. Acteurs..................................................................................................................................16
IV. Identifications des messages.................................................................................................17
V. Modéliser le contexte.............................................................................................................................19
1. Diagramme de contexte statique:.........................................................................................19
2. Diagramme de contexte dynamique.....................................................................................19
VI. Conclusion............................................................................................................................20
Chapitre 3 : Capture des besoins fonctionnels.......................................................................................21
I. Introduction............................................................................................................................................21
II. Identifier les cas d’utilisation..................................................................................................................21
III. Diagramme de cas d’utilisation.............................................................................................25
IV. Description des cas d’utilisations..........................................................................................25
1. Cas d’utilisation « Localiser un supermarché »......................................................................27
2. Cas d’utilisation « Consulter les promotions des produits »..................................................33

2
3. Cas d’utilisation « Faire des achats ».....................................................................................36
4. Cas d’utilisation « S’authentifier ».........................................................................................38
5. Cas d’utilisation « Consulter son panier ».............................................................................40
6. Cas d’utilisation « Gérer les données ».................................................................................42
V. Structuration des cas d’utilisations en package:......................................................................................44
VI. Identifier les classes candidates............................................................................................45
VII. Conclusion............................................................................................................................46
Chapitre 4 : Analyse.............................................................................................................................47
I. Introduction............................................................................................................................................47
II. Découpage en catégories........................................................................................................................47
III. Les diagrammes de classes préliminaires par catégorie........................................................47
IV. Dédier les dépendances entre catégories.............................................................................49
V. Développement du modèle statique.........................................................................................50
VI. Développement du modèle dynamique................................................................................52
1. Développement des diagrammes de séquence.....................................................................52
2. Développement du diagramme d’états.................................................................................61
VII. Conclusion............................................................................................................................62
Chapitre V : Capture des besoins techniques........................................................................................63
I. Introduction..............................................................................................................................63
Chapitre VI : Réalisation et tests...........................................................................................................64
I. Introduction..............................................................................................................................64
Conclusion générale..............................................................................................................................65
Webographie.........................................................................................................................................66

3
Liste des figures :
Figure 1 : Identité de SOTETEL (1).......................................................................................................9
Figure 2 : Le processus de développement en Y...................................................................................12
Figure 3 : Diagramme de contexte statique de l'utilisateur....................................................................19
Figure 4 : Diagramme de contexte statique de l'administrateur.............................................................19
Figure 5 : Diagramme de contexte dynamique de l’utilisateur..............................................................19
Figure 6 : Diagramme de contexte dynamique de l'administrateur........................................................20
Figure 7 : Diagramme de cas d’utilisation Générale.............................................................................25
Figure 8 : Diagramme de sous cas d'utilisation Localiser un supermarché............................................27
Figure 9 : Diagramme de séquence du sous cas d'utilisation localiser un supermarché selon sa position
............................................................................................................................................................... 29
Figure 10 : Diagramme du sous cas d'utilisation localiser un supermarché selon une position choisi . 32
Figure 11 : Diagramme de séquence du cas d'utilisation consulter les promotions des produits............35
Figure 12 : Diagramme de séquence du cas d'utilisation faire des achats..............................................38
Figure 13 : Diagramme de séquence du cas d'utilisation s'authentifier..................................................40
Figure 14 : Diagramme du séquence du cas d'utilisation consulter son panier......................................42
Figure 15 : Diagramme de séquence du cas d'utilisation gérer les données...........................................44
Figure 16 : Diagramme de classe préliminaire......................................................................................45
Figure 17 : Découpage en catégorie de Market Finder Tunisia.............................................................47
Figure 18 : Catégorie de la classe personne..........................................................................................48
Figure 19 : Diagramme de classe préliminaire de la catégorie Personne...............................................48
Figure 20 : Catégorie de la classe Supermarché....................................................................................49
Figure 21 : Diagramme de classe préliminaire de la catégorie supermarché.........................................49
Figure 22 : Diagramme de packages d'analyse......................................................................................50
Figure 23 : Diagramme de classe..........................................................................................................51
Figure 24 : Diagramme de séquence du scénario S'authentifier............................................................53
Figure 25 : Diagramme de séquence du scénario Localiser un supermarché selon une position choisi 55
Figure 26 : Diagramme de séquence du scénario Localiser un supermarché selon sa position choisi.. 56
Figure 27 : Diagramme de séquence du scénario Consulter les promotions des produits..Erreur ! Signet
non défini.
Figure 28 : Diagramme de séquence du scénario Faire des achats........................................................59
Figure 29 : Diagramme de séquence du scénario Consulter son panier.................................................60
Figure 30 : Diagramme de séquence du scénario Gérer les données.....................................................61
Figure 31 : Diagramme d'état de localiser un supermarché...................................................................62

4
Liste des tableaux :
Tableau 1: Liste des messages émis et recus par le systéme..................................................................18
Tableau 2 : Liste préliminaire des cas d'utilisation de Market Finder Tunisia.......................................25
Tableau 3 : Description textuelle du cas Localiser un supermarché selon sa position...........................28
Tableau 4 : Description textuelle du cas Localiser un supermarché selon une position choisie.............31
Tableau 5 : Description textuelle du cas Consulter les promotions des produits....................................34
Tableau 6 : Description textuelle du cas Faire des achats......................................................................37
Tableau 7 : Description textuelle du cas S'authentifier..........................................................................38
Tableau 8 : Description textuelle du cas Consulter son panier..............................................................42
Tableau 9 : Description textuelle gérer les données...............................................................................44
Tableau 10 : Structuration des cas d'utilisation......................................................................................45

5
Introduction

Le marché des applications mobiles connait un essor phénoménal et devient une


véritable manne financière pour les entreprises.
C’est dans cette optique, que plusieurs entreprises n'ont pas hésité à exploiter les
avancées technologiques pour offrir des services innovants et rapides à leurs
consommateurs.
Actuellement les Technologies de l’Information et de la Communication (TIC)
connaissent un développement vertigineux, ce qui concerne presque tous les
domaines de notre société, la communication, le service clientèle.
Le seul et unique objectif était la recherche perpétuelle de solutions pratiques
pour fidéliser les clients et faciliter leurs achats et leurs recherches.
Une idée ingénieuse est née : Inutile désormais de perdre ses temps à la
recherche d'un simple chemin pour visiter un supermarchés, inutile de
s'emmener sur place lorsqu'on veut faire ses achats ou de voir les promotions
disponibles, inutile de trimballer les différents catalogues lorsqu'on veut
consulter les produits, depuis qu'une application mobile a été développée pour
les Smartphones et qui stocke toutes les cordonnées nécessaires pour localiser
les supermarchés les plus proches et consulter leurs catalogues et les différentes
utilités.
En effet, la place des applications Smartphones et tablettes n’est plus à faire
aujourd’hui. Avec un pourcentage croissant des utilisateurs de Smartphones et
de tablettes, les applications prennent de plus en plus d’espace et de poids dans
l’utilisation de nos terminaux mobiles.
Et c’est dans ce cadre que se déroule notre projet au sein SOTETEL. Le projet
consiste à concevoir et développer une application mobile « Android » sous
forme de guide interactif facilitant la découverte des emplacements des
supermarchés les plus proches, permettant à l’utilisateur de localiser un
supermarchés en exploitant des outils de géolocalisation, donne la possibilité de
6
consulter les catalogues des supermarchés voulus ainsi que passer une
commander en ligne en ayant la possibilité de feuilleter les promotions présente.
La Sotetel a pour objectif d’offrir cette solution à son partenaire officiel "Tunisie
Télécom " dans le but de l'intégrer dans son Cloud.
Ce rapport présente l’ensemble des étapes suivies pour développer la solution. Il
contient six chapitres organisés comme suit :
- Le premier chapitre consiste à mettre notre projet dans son cadre
général. Il présente l’organisme d’accueil et la méthodologie utilisée dans
notre application.
- Le deuxième chapitre présente l’étude de l’existant, les besoins
fonctionnels et non fonctionnels du système, les différents acteurs, et le
diagramme de contexte statique et dynamique.
- Le troisième chapitre est basé sur les captures des besoins fonctionnels,
je modélise graphiquement et textuellement mon application pour aboutir
aux classes et objets nécessaires au codage. Nous détaillons d'abord les
besoins fonctionnels ébauchés durant l'étude préliminaire en décrivant les
différentes façons qu'auront les acteurs d'utiliser la future application.
- Le quatrième chapitre se base sur l’analyse qui a le but de réaliser le
découpage en catégorie et le développement du modèle statique..
- Le cinquième chapitre va présenter les captures des besoins techniques
la correspondance entre les cas d'utilisation et les contraintes techniques et
matérielles existantes.
- Le sixième chapitre « Réalisation » présente les différents outils de
développements utilisés, la phase de test et de validation et quelques
interfaces de l’application.

7
Chapitre 1 : Présentation Générale

I. Introduction
Nous entamons ce chapitre par présenter le cadre général de notre travail.
Ensuite, nous passons, dans la deuxième section, à présenter l’entreprise
accueillante la Société Tunisienne d'Entreprises de Télécommunication
SOTETEL ainsi que notre projet. Enfin, nous exposons la méthodologie de
conception adoptée tout au long de notre travail.

II. Présentation de l’organisme d’accueille :


1. Présentation de la Société Tunisienne d’Entreprises de
Télécommunications Sotetel : 1*
La Société Tunisienne d'Entreprises de Télécommunication SOTETEL est un
acteur de référence dans le domaine des télécommunications opérant Depuis
1981 sur le marché Tunisien et à l'étranger.
C'est une entreprise pionnière dans la mise en œuvre et la maintenance des
réseaux privés et des réseaux publics de télécommunications.
Ses activités couvrent principalement quatre Domaines:
- Les infrastructures réseaux ;
- Les réseaux « Wireless »
- Le câblage et la Connectivité ;
- Les systèmes et les solutions.

Elle a constamment joué un rôle prépondérant dans le déploiement de


l'infrastructure de Télécommunications en Tunisie en prenant part à presque tous
les grands projets réalisés pour Le compte de l'opérateur national « Tunisie
Télécom ».

8
Elle est également le partenaire privilégié des principaux équipementiers
internationaux Opérant en Tunisie.

Figure 1 : Identité de SOTETEL (1)

III. Contexte du travail :


1. Problématique :
Le marché des téléphones intelligents (Smartphones) reconnait actuellement une
véritable révolution.
Les statistiques montrent que parmi 5milliards d’utilisateurs de téléphones
portables dans le monde entier, plus d’un milliard sont des utilisateurs de
Smartphone. En 2005, Google, ayant l’intention de s’introduire dans le marché
des produits mobiles, a racheté le système d’exploitation Open Source Android.
Android est le système le plus utilisé pour Smartphone (il détient le marché avec
environ 50% de sa part 2*.
De là, plusieurs applications mobiles sont de plus en plus proposées.
Ces dernières exploitent des outils de géolocalisation tels que le GPS et des
équipements multimédia miniaturisés dans l’appareil mobile telles que : la
boussole et la caméra.
Par ailleurs, le nombre d’application de référencement dans la Tunisie est très
modeste comparé à celui dans d’autres pays. La plus part des applications
réalisées sont très limitées en termes de performance, ergonomie, fonctionnalités
et techniques utilisées.

9
C’est principalement ces raisons qui ont poussée SOTETEL à réfléchir à un
sujet alliant l’utile aux technologies en nous proposant de concevoir et de
développer une application mobile « Market Finder Tunisia» pour les
supermarchés intégrer dans Cloud de son partenaire « Tunisie Télécom ».

2. Présentation du sujet :
Vu que la Société Tunisienne d'Entreprises de Télécommunication veule
toujours s’adapter aux nouvelles Technologies, nous avons eu comme une
mission de développer une application mobile « Market Finder Tunisia ».
Market Finder Tunisia est une application embarquée pour la plateforme
Android, présente un guide et plusieurs utilités.

3. Objectif :
« Market Finder Tunisia » offre à l’utilisateur un ensemble de fonctionnalités tel
que le service de géo localisation. Et d’autres fonctionnalité d’où elle :
- Permet de se repérer et de trouver les supermarchés les plus proches selon
une position choisi ou par défaut.
- Permet de visualiser les catalogues des différents supermarchés.
- Ajouter des produits à un panier.
- Permet de passer une commande et la payer par carte.
- Afficher les promotions disponibles dans tous les supermarchés.
Ces fonctionnalités sont accessibles depuis un téléphone mobile ayant un accès
Internet.

IV. Méthodologies du travail :


Dans cette partie, nous définissons le langage et la méthode de cycle de vie
utilisée tout au long du projet afin de modéliser d’une manière claire et précise
la structure et le comportement de notre système indépendamment de tout
langage de programmation.

10
1. Langage de modélisation :
La démarche de conception de notre projet s’appuiera sur UML qui nous
permettra d'exprimer des modèles objet en faisant abstraction de leur
implémentation, c'est-à-dire : Les modèles fournis par UML seront valables pour
n'importe quel langage de programmation. UML se définit comme un langage
de modélisation graphique et textuel destiné à comprendre et décrire des
besoins, spécifier et documenter des systèmes, esquisser des architectures
logicielles, concevoir des solutions et communiquer des points de vue
(ROQUES, 2008).UML représente le standard de modélisation objet le plus
répandu et le plus utilisé aujourd’hui. Il s’articule autour de treize types de
diagrammes(Les diagrammes d'UML comme le montre la Figure 2, chacun
d’eux étant dédié à la représentation des concepts particuliers d’un système
logiciel. Ces types de diagrammes sont répartis en deux grands groupes : des
Diagrammes structurels et comportementaux.

2. Processus de développement :
Dans la communauté objet et des nouvelles technologies, ils existent plusieurs
processus unifiés en vogue comme extrêmeProgramming (XP) et
RationalUnifiedProcess (RUP). Dansnotreétudenous avons choisi de travailler
avec le processus 2TUP parce qu’il cible des projets de toute taille, et il a pu
faire une large place dans le domaine de la technologie et les risques des projets.
Le processus 2TUP (TwoTrackUnifiedProcess) est un processus unifié. Il gère
la complexité technologique en donnant part à la technologie dans son
processus de développement. Le 2TUP propose un cycle de développement qui
sépare les aspects techniques des aspects fonctionnels et propose une étude
parallèle des deux branches : fonctionnelle (étude de l’application) et technique
(étude de l’implémentation).

11
Illustré dans (Figure 2) si dessous, le processus 2TUP s’articule autour de trois
branches :
 Une branche technique
 Une branche fonctionnelle
 Une branche de conception et réalisation.
La figure suivante détaille les étapes de développement des trois branches du
processus 2TUP.

Figure 2 : Le processus de développement en Y

-La capture des besoins fonctionnels, qui produit un modèle des besoins focalisé
sur le métier des utilisateurs. Elle qualifie au plus tôt le risque de produire un
système inadapté aux utilisateurs.
-L’analyse consiste à étudier précisément la spécification fonctionnelle de
manière à obtenir une idée de ce que va réaliser le système en terme de métier.
-L’étape capture des besoins techniques recense toutes les contraintes sur les
choix de dimensionnement et la conception du système. Les outils et le matériel
sélectionnés ainsi que la prise en compte des contraintes d’intégration avec
l’existant (pré requis d’architecture technique). Cette étape permet de définir le

12
modèle d’analyse technique. Le rôle de ce dernier est d’établir les couches
logicielles et y spécifier les activités techniques attendues.

V. Conclusion :
A ce niveau nous avons pu élaborer un schéma général du contexte et nous
avons une vision plus claire sur les objectifs à atteindre. Maintenant, il est utile
de commencer une analyse détaillée des besoins. Ceci est l’objectif du chapitre
suivant.

13
Chapitre 2 : Etudes préliminaires

I. Introduction :
Dans ce chapitre nous allons présenter l’étude préliminaire qui consiste à
effectuer un premier repérage des besoins fonctionnels et opérationnels, en
utilisant principalement le texte, ou diagrammes très simples. Elle prépare les
activités plus formelles de capture des besoins fonctionnels et de capture
techniques.

II. Cahier de charges :


1. Présentation du projet :
Ce projet rentre dans les nouvelles technologies sous la plateforme Android dont
la société SOTETEL offre à son partenaires Tunisie Telecom une application
« Market Finder Tunisia» simple à manipuler qui va être intégrer dans son
Cloud vu que Tunisie Telecom cherche à améliorer son Cloud.
Deja Du point de vue économique, le cloud est essentiellement une offre
commerciale d'abonnement économique à des services externes. Selon le
National Institute of Standards and Technology il existe trois catégories de
services qui peuvent être offerts en cloud computing : IaaS, PaaS et SaaS.
Notre application est dans ce type de services SAAS (Software as a service ),est
mise à la disposition des consommateurs en packs.
Un fournisseur de software as a service peut exploiter des services de type
platform as a service, qui peut lui-même se servir de infrastructure as a service.
En effet cette application fait gagner pour le client (utilisateur) de Bien gérer son
temps, avoir un choix efficace et optimale.
« Market Finder Tunisia» offre à l’utilisateur un ensemble de fonctionnalité:

14
- Permet de localiser les supermarchés les plus proches par rapports à son
emplacement actuel ou choisis en précisant le rayon X voulu par
conséquence nous aurons la distance nécessaire pour y arriver.
- Consulter les promotions des supermarchés.
- La Possibilité d’acheter et commander en ligne les produits voulus en
consultant le catalogue du supermarché choisis.
 Chaque responsable d’un supermarché a la possibilité de mettre à
jour son catalogue ainsi que les promotions de produits pour cette
raison une application web peuvent être développé pour la gestion
administratif avec des fonctionnalités administratif sera liée
automatiquement à l’application Android Market Finder Tunisia.

2. Grand choix techniques :


Afin de maitriser les risques, nous souhaitons utiliser une approche itérative et
incrémentale fondée sur le processus en y (2TUP). Les technologies à utiliser
sont :
 UML pour la modélisation
 L’architecture 3 tiers
 MySQL pour la base de données
 Plateforme Android, Java pour le langage de développement

3. Recueille des besoins fonctionnels :


L’application Android doit présenter les fonctionnalités suivantes :
 Localisation des supermarchés les plus proches vi à vis l’emplacement de
l’utilisateur ou un emplacement choisi.
 Indication de distance des supermarchés les plus proches de sa position et
possibilité de sauvegardé le nom de supermarché.
 Pour localiser, un rayon sera choisi par l’utilisateur pour limiter sa
recherche.

15
 Consulter un catalogue d’un supermarché choisis ou du supermarché
sauvegardé.
 Consulter son panier.
 Ajouter des produits dans son panier.
 Modifier la quantité d’un produit dans son panier.
 Annuler un produit de son panier.
 Consulter les promotions courantes dans les supermarchés ou dans le
supermarché sauvegardé.
L’application Web doit présenter les fonctionnalités suivantes :
 Gérer la partie administrative : mettre à jour le catalogue ainsi que les
promotions des produits.
4. Recueille des besoins non fonctionnels :
La simplicité et la lisibilité représentent les principaux besoins non fonctionnels
que doivent fournir notre application mobile ainsi que d’autres contraintes :
 Contraintes ergonomies: Simplicité et convivialité des interfaces
graphiques.
 Contraintes de performance: Accès facile, chargement rapide.
 La rapidité de chargement : L’application doit assurer la rapidité de
chargement des informations. Le temps de réponse de l’application doit
être très réduit.
 Extensibilité : Afin d’améliorer la qualité des services offertes par
l’application, la possibilité d’ajouter d’autres fonctionnalités.

III. Acteurs :
Les acteurs sont des personnes physiques ou des systèmes de l’application.
Notre système identifie l'acteur principal :
- Utilisateur a la possibilité d’accéder à l’application et avoir la possession
des bénéfices de « Market Finder Tunisia ».

1
- Administrateur : responsable sur la gestion administratif dans une
application web liée à Market Finder Tunisia.

IV. Identifications des messages :


Messages émis par le système Messages reçus par le système
2) Confirmation de localisation d’un 1) Demander de localiser un supermarché
supermarché avec la distance selon sa position et rayon par défaut par
nécessaire pour y arriver vers l’utilisateur.
l’utilisateur.
4) Confirmation de localisation d’un 3) Demander de localiser un supermarché
supermarché avec la distance selon une position choisis et rayon par
nécessaire pour y arriver vers défaut par l’utilisateur.
l’utilisateur.
6) Confirmation de localisation d’un 5) Demander de localiser un supermarché
supermarché avec la distance selon sa position et rayon choisi par
nécessaire pour y arriver vers l’utilisateur..
l’utilisateur.
8) Confirmation de localisation d’un 7) Demander de localiser un supermarché
supermarché avec la distance selon une position choisis et rayon choisi
nécéssaire pour y arriver vers par l’utilisateur.
l’utilisateur.
10) Validation de la demande vers 9) Demander de sauvegardé un
l’utilisateur. supermarché par l’utilisateur.

12) Affichage du catalogue vers 11)Demander la consultation du


l’utilisateur. catalogue du supermarché sauvegardé par
l’utilisateur.
14) Affichage du catalogue vers 13) Demander la consultation du
l’utilisateur. catalogue du supermarché choisi par
l’utilisateur.

2
16) Validation de l’ajout du produit 15)Demander d’ajouter un produit au
vers l’utilisateur. panier par l’utilisateur.
18) Validation de l’authentification 17)Demander l’authentification du panier
vers l’utilisateur. par l’utilisateur.
20) Validation de la suppression 19) Demander de supprimer un produit
vers l’utilisateur. du panier par l’utilisateur.
22) Confirmation de la modification 21)Demander la modification de la
de la quantité vers l’utilisateur. quantité par l’utilisateur..
24) Validation du paiement par carte 23) Demander le paiement du panier par
vers l’utilisateur carte par l’utilisateur.
26)Affichage des promotions du 25)Demander la consultation des
supermarché sauvegardé selon type promotions de supermarché sauvegardé
produit vers l’utilisateur. par l’utilisateur.
28)Affichage des promotions des 27)Demander la consultation des
supermarchés selon type produit promotions des supermarché par
vers l’utilisateur. l’utilisateur.
30) Validation de l’ajout du produit 29) Demander l’ajout d’un produit en
en promos vers l’utilisateur. promos dans son panier par l’utilisateur.
Tableau 1: Liste des messages émis et recus par le systéme

Messages émis par le système Messages reçus par le système


2) Validation de l’authentification 1)Demander l’authentification par
vers l’administrateur l’administrateur.
4) Validation de l’ajout des produits 3) Demander d’ajouter des produits
en promos vers l’administrateur. en promos par l’administrateur.
6) Validation de l’ajout des produits 5) Demander d’ajouter des produits
en catalogue par l’administrateur. en catalogue par l’administrateur

3
8)Validation de modification prix, 7) Demander de modifier prix,
image, quantité, libellé, description image, libellé, description d’un
d’un produit vers l’administrateur. produit par l’administrateur.

V. Modéliser le contexte :
Tous les messages (système acteurs) identifiées précédemment
peuvent être représentés de façon synthétique sur un diagramme, que l’on peut
qualifier de diagramme de contexte dynamique.

1. Diagramme de contexte statique:

1*
Market Finder Tunisia

Utilisateur

Figure 3 : Diagramme de contexte statique de l'utilisateur

1 .. *

Market Finder Tunisia

Administrateur

Figure 4 : Diagramme de contexte statique de l'administrateur

2. Diagramme de contexte dynamique :


1 3 5 7 9 11 13 15 17 19 21
23 25 27 29

Market Finder Tunisia

Utilisateur
2 4 6 8 10 12 14 16 18 20
22 24 26 28 30

Figure 5 : Diagramme de contexte dynamique de l’utilisateur

4
1 3 5 7

Market Finder Tunisia

Administrateur
2 4 6 8

Figure 6 : Diagramme de contexte dynamique de l'administrateur

VI. Conclusion :
Ce chapitre nous a permis de présenter et définir le cahier des charges ainsi les
acteurs, les messages entres les acteurs et on a modélisé le contexte. Dans le
chapitre suivant nous allons présenter la branche fonctionnelle.

5
Chapitre 3 : Capture des besoins fonctionnels

I. Introduction :
Le capture des besoins fonctionnels a pour objectifs principaux d’un part
compléter le recueil initial des besoins effectué pendant l’étude préliminaire en
expliquant comment utiliser à cet effet le concept central de cas d’utilisation
proposé par UML et d’autre part de préparer l’analyse orientée objet alors pour
chaque cas d’utilisation, nous avons vu comment identifier les classes
candidates du modèle statique d’analyse.

II. Identifier les cas d’utilisation :

Cas d’utilisation Acteurs Primaires Messages émis et reçus


par l’acteur
Localiser un Utilisateur Emis :Demander de
supermarché localiser un supermarché
selon sa position.
Reçus :Confirmation de
localisation d’un
supermarché.
Emis :Demander de
localiser un supermarché
selon une position choisi.
Reçus : Confirmation de
localisation d’un
supermarché.
Emis :Demander de
sauvegardé un

6
supermarché.
Reçus : Validation de la
demande.
Consulter les promotions Utilisateur Emis :Demander de
des produits. consulter les promotions
du supermarché
sauvegardé.
Reçus :Affichage des
promotions selon type.
Emis :Demander de
consulter les promotions
du supermarché choisi.
Reçus :Affichage des
promotions selon type.
Emis : Demander l’ajout
d’un produit en promos.
Reçus :Validation de
l’ajout de produit en
promos.
Faire des achats. Utilisateur Emis :Demander de
consulter catalogue du
supermarché sauvegardé.
Reçus : Affichage du
catalogue d’un
supermarché.
Emis :Demander de
consulter catalogue d’un
supermarché choisi.

7
Reçus :Affichage du
catalogue du supermarché
choisi.

Emis :Demander
d’ajouter un produit au
panier.
Reçus :Validation de
l’ajout d’un produit au
panier.
Gérer les données. Administrateur Emis :Demander
l’authentification.
Reçus : Validation de
l’authentification.
Emis :Demander
d’ajouter des produits en
promos.
Reçus :Validation de
l’ajout des produits en
promos.
Emis :Demander
d’ajouter des produits en
catalogue.
Reçus :Validation de
l’ajout des produits en
catalogue.
Emis :Demander de
modifier prix, image,
libellé,description d’un

8
produit
Reçus : Validation de
modification prix,
image,ibellé, description
d’un produit
S’authentifier Utilisateur Emis :Demander
Administrateur l’authentification du
panier.
Reçus :Validation de
l’authentification.
Consulter son panier Utilisateur Emis :Demander de
consulter panier.
Recus :Validation de
consultation du panier.
Emis :Demander
d’annuler un produit.
Recus :Validation de
l’annulation du produit.
Emis :Demander
d’annuler un produit.
Recus :Validation de
l’annulation du produit.
Emis :Demander de
modifier quantité d’un
produit.
Recus :Validation de
modifier quantité d’un
produit.

9
Emis :Demander de payer
la commande.
Recus :Validation de
paiement.
Tableau 2 : Liste préliminaire des cas d'utilisation de Market Finder Tunisia

III. Diagramme de cas d’utilisation :

Gérer les données

Administrateur

<< include >>

Localiser les supermarchés

Consulter les promotions des produits

Utilisateur

<< include >>

Faire des achats S'authentifier

<< include >>


Consulter son panier

Figure 7 : Diagramme de cas d’utilisation Générale

IV. Description des cas d’utilisations :


L’utilisateur peut effectuer trois principaux cas d’utilisation dans notre système :

« Localiser un supermarché »

10
Nous offrons dans ce module à l’utilisateur la possibilité de choisir une position
sélectionner ou sa position par défaut et de préciser le rayon X voulu de façon
nous aurons les supermarchés les plus proches, comportant la distance
nécessaire pour y arriver (Sous forme d’un tableau détaillée) et sauvegarder le
supermarché choisis.
« Consulter les promotions des produits »
Dans ce module ,l’utilisateur peut avoir différents résultats sur les promotions
disponible dans les supermarchés en sélectionnant un type de produit bien défini
ainsi qu’il a l’opportunité d’ajouter au panier les promotions voulu.
« Faire des achat »
L’utilisateur a accès dans ce module, à les catalogues des supermarchés choisis
ainsi que son panier et commander, payer ses achats par carte bancaire après
avoir vérifié la quantité et valider ses articles.
« Consulter son panier »
L’utilisateur peut consulter son panier, ce panier contient les produits qu’il a
ajouté d’après la rubrique achats ou promotions.
C’est son environnement ou il peut annuler un produit, changer de quantité et
payer en ligne..

Ainsi que l’administrateur effectue ce cas d’utilisation :


« Gérer les données »
L’administrateur a accès une application web liée a « Market Finder Tunisia »
qui lui donne la possibilité de gérer les données et mettre à jour le catalogue de
son supermarché et les promotions actuelles, modifier le prix d’un produit.
C’est une zone administrative accessible seulement aux responsables des
supermarchés.
« S’authentifier »
N’importe quel responsable de supermarchés doit avoir un compte dans
l’application web « Market Finder Tunisia » pour gérer ses données.

1
L’utilisateur doit s’authentifier lorsqu’il demande d’ajouter un produit dans son
panier ou de consulter son panier.
1.Cas d’utilisation « Localiser un supermarché »
Le cas d’utilisation « Localiser un supermarché » possède lui-même des sous
cas d’utilisation comme il est présenté dans le diagramme de cas d’utilisation
ci-dessous :

Localiser les supermarchés


selon sa position

Localiser un
supermarché

Utilisateur

Localiser les supermarchés


selon une position choisi

Figure 8 : Diagramme de sous cas d'utilisation Localiser un supermarché

Cas d’utilisation : Localiser un supermarché selon sa position


Objectif : Ce service permet à l’utilisateur de localiser et compter la distance
des supermarchés les proches selon sa position en sélectionnant un Rayon X ou
par défaut.
Acteur : Utilisateur
Déclencheur : Cliquer sur le logo de l’application et choisir ce service.
Pré-condition : Connexion à l’internet réussite.
Description : Après avoir déclenché l’application et choisir ce service de

2
localisation, le système affichera :
 Sélectionner « Ma position ».
 une liste déroulante pour préciser et changer le rayon de localisation des
supermarchés proches après avoir sauvegarder sa position par défaut.
 Un bouton de validation.
Scénario : enchainement (a) : localiser un supermarché selon sa position :
- Lors du clic, le système vous propose de sélectionner « Ma position ».
Enchainement (b) : choisir rayon :
- Après vous aurez la possibilité de changer le rayon (périmètre) par
défaut. Ce rayon vous donne la possibilité de chercher un supermarché
selon un kilométrage paramétrable :
Enchainement (c) : sauvegarder un supermarché :
- Après l’apparition du tableau des supermarchés les plus proches. Vous
pouvez sauvegarder un supermarché pour y revenir après et consulter son
catalogue ou voir ses promotions. Lors du clic, le système valide la
sauvegarde.
Post-condition : Se renseigner et voir la distance des supermarchés les plus
proches par rapport à sa position, selon un rayon X.
Le résultat sera affiché sous forme d’un tableau.
Exception : Un message d’erreur s’affichera en cas ou la connexion internet est
interrompue.
Besoin IHM :
Tableau 3 : Description textuelle du cas Localiser un supermarché selon sa position

3
Sd Localiser un supermarché selon sa position

: M arket Fi nder T uni si a


: B a se d e d o n n é
es

:Utilisateur

Lancer l'application ( )

Génration de l'interface ( )

Choisir la rubrique localisation ( )

Sélectionner selon sa position ( )

préciser rayon ( )

alt
[ Si rayon par défaut ]
Récuperer longitude et latitude des
supermarchés avec un rayon par défaut( )

Renvoie les coordonnées géographiques des


supermarchés ( )

Affichage des supermarchés les plus


Calcul de la plus courte distance selon
proches et la distance pour y arriver ( )
rayon par défaut ( )

Demander la sauvegarde d'un supermarché ( )


Récuperer la sauvegarde du supermarché ( )

Confirmer la sauvegarde ( )

[ Si rayon choisi ]
Récuperer longtitude et latitude des
Changer le rayon X ( ) supermarchés et le rayon choisi ( )

Renvoi des cordonnés géographiques des


supermarchés ( )

Calcul de la plus courte distance selon


Affichage des supermarches les plus rayon choisi ( )
proches et la distance pour y arriver ( )

Demander la sauvegarde d'un supermarché ( )


Récuperer la sauvegarde su supermarché ( )

Confirmer la sauvegarde ( )

Figure 9 : Diagramme de séquence du sous cas d'utilisation localiser un supermarché selon sa


position

29
Cas d’utilisation : Localiser un supermarché selon une position choisie
Objectif : Ce service permet à l’utilisateur de localiser et compter la distance
des supermarchés les proches selon une position choisi en sélectionnant un
Rayon X ou par défaut.
Acteur : Utilisateur
Déclencheur : Cliquer sur le logo de l’application et choisir ce service.
Pré-condition : Connexion à l’internet réussite.
Description : Après avoir déclenché l’application et choisir ce service de
localisation, le système affichera :
 Sélectionner « Position choisi ».
 une liste déroulante pour préciser et changer le rayon de localisation des
supermarchés proches après avoir changer de position.
 Un bouton de validation.
Scénario : enchainement (a) : localiser un supermarché selon une position
choisi :
- Lors du clic, le système vous propose de sélectionner «Position choisi ».
Enchainement (b) : Choisir rayon :
- Après vous aurez la possibilité de changer le rayon (périmètre) par
défaut. Ce rayon vous donne la possibilité de chercher un supermarché
selon un kilométrage paramétrable :
Enchainement (c) : Choisir sa position sur la map :
- Il faut choisir sa position sur la carte (Mapp) par exemple glisser votre
doigt sur un emplacement voulu ‘Kram, Tunis,Bizerte ect ..’
Enchainement (d) : Sauvegarder un supermarché :
- Après l’apparition du tableau des supermarchés les plus proches. Vous
pouvez sauvegarder un supermarché pour y revenir après et consulter son
catalogue ou voir ses promotions. Lors du clic, le système valide la

1
sauvegarde.
Post-condition : Se renseigner et voir la distance des supermarchés les plus
proches par rapport à une position choisie, selon un rayon X.
Le résultat sera affiché sous forme d’un tableau.
Exception : Un message d’erreur s’affichera en cas ou la connexion internet est
interrompue.
Besoin IHM :
Tableau 4 : Description textuelle du cas Localiser un supermarché selon une position choisie

2
Sd l ocal i ser un supermarché sel on une posi ti on choi si

: M arket Fi nder T uni si a


:B a se d e d o n n é
es

Uti l i
sateur
Lancer l 'appl i cati on ( )

Générati on de l 'i nterface ( )

Choi si r l a rubri que l ocal i sati on ( )

Sél ecti onner sel on une posi ti on choi si ( )

Préci ser un rayon X ( )

al t
[ Si rayon par défaut ]

Générati on de l a Map ( )

Posi ti onner l e marqueur sur une posi ti


on voul u ( ) Récuperer l ongti tude et atti tude
des supermarchés et rayon par
défaut ( )

Renvoi des coordonées géographi ques des


supermarchés ( )

Affi cher l es supermarchés l es pl us


proches et l a di stance pour y arri ver ( Cal cul de l a pl us courte di stance sel
) on rayon par défaut ( )

Demander l a sauvegarde d'un supermarché ( )


Récuperer l a sauvegarde du supermarché ( )

Confi rmer l a sauvegarde ( )

[ Si rayon choi si
]
Changer l e rayon X ( )

Générati on de l a Map ( )

Posi ti onner l e marqueur sur une posi ti Récuperer l ongti tude et atti tude
on voul u ( ) des supermarchés et rayon choi si
()

Renvoi des coordonnées géographi que des


supermarchés ( )

Cal cul de l a pl us courte di stance sel


on rayon choi si ( )
Affi cher l es supermarchés l es pl us
proches et l a di stance pour y arri ver (
)
Récuperer l a sauvegarde du supermarché ( )

Demander l a sauvegarde d'un supermarché ( )

Confi rmer l a sauvegarde ( )

3
Figure 10 : Diagramme du sous cas d'utilisation localiser un supermarché selon une position
choisi

4
2. Cas d’utilisation « Consulter les promotions des
produits » :
Cas d’utilisation : Consulter les promotions des produits
Objectif : Ce service permet à l’utilisateur de voir les promotions courantes
dans les différents supermarchés ou dans le supermarché sauvegardé.
Acteur : Utilisateur
Déclencheur : Après avoir lancé l’application, il faut cliquer sur le bouton de
Promotion.
Pré-condition : Une connexion internet nécessaire pour avoir la dernière mise à
jour des promotions.
Description : Après avoir déclenché l’application et choisir le service
Promotion, le système affichera
- Le choix de sélectionner la recherche des promotions de supermarché
sauvegardé ou une recherche Open, ouverte.
- Après avoir précisé votre choix, il faut sélectionner ensuite un type de
produits (catégories produits) bien définis : Nourriture, Jardinage, Textile
Habillement, Cosmétiques etc.
Scénario : Enchainement (a) : Choisir un supermarché :
- Lors du clic sur l’interface de promotion, le système vous propose de
choisir de voir les promotions dans le magasin sauvegardé ou dans tous
les magasins (Open).
Enchainement (b) : Préciser un type de produits :
- Une liste de catégories s’affichera « Nourriture », « Jardinage »,
« Textile Habillement », « Cosmétiques », « Electroménager » etc.
Parmi ces catégories, une doit être sélectionné.
Enchainement (c) : Afficher les produits en promos :
- Le système affichera les produits en promotions avec le nouveau prix et

1
l’identité du supermarché (logo).
Enchainement (d) : Ajouter des produits au panier :
- Cliquer sur le produit pour ajouter ce dernier au panier.
- Le système vérifie si vous êtes authentifié ou non.
- Si vous êtes authentifié, le système valide votre ajout sinon une
authentification nécessaire.
Post-condition :L’utilisateur avoir la possibilité de limiter sa recherche des
produits en promotions.
Exception : exception (a) : En ajoutant un produit au panier Une erreur
s’affichera en cas ou vous n’est pas authentifié.
Besoins IHM :
Tableau 5 : Description textuelle du cas Consulter les promotions des produits

2
Sd consulter les promotions des produits

: M arket Fi nder T uni si a


: B a se d e d o n n é e s

Utilisateur

Lancer l'application ( )

Génération de l'interface ( )

Accéder au promotions ( )

Génration de l'interface ( )

choisir un supermarché ( )

alt
[Si supermarché sauvegardé ]
Récuperer l' ID du supermarché ( )

Préciser un type de produits ( ) Récuperer le type de produits choisi ( )

Envoyer les promotions disponible selon


Afficher les produits en promos les critére( )

Demander d'ajouter produit au panier ( )

ref
Sd s'authentifier()

alt
[Si authentification valide ]
Valider l'ajout du produit au panier ( )

[Si authentification non valide]


Afficher ("Erreur d'ajout d'un produit,
compte non disponible")

[ Si tous les supermarchés ]


Préciser un type de produit ( )
Envoyer le type de produit choisi ( )

Envoyer les promotions disponible selon


les critéres ( )
Afficher les produits en promos (
)

Demander d'ajouter produit au panier ( )

ref

Sd s'authentifier()

alt
[Si authentification valide ]
Valider l'ajout du produit ( )

[Si authentification non valide ]


Afficher ( "Erreur d'ajout d'un produit ,
compte non disponible")

3
Figure 11 : Diagramme de séquence du cas d'utilisation consulter les promotions des produits

4
3. Cas d’utilisation « Faire des achats » :
Cas d’utilisation : Faire des achats
Objectif : Ce service permet à l’utilisateur de consulter le catalogue d’un
supermarché choisi et d’ajouter un produit au panier pour l’acheter.
Acteur : Utilisateur
Déclencheur : En cliquant sur le logo de l’application, il faut se diriger vers
logo Achat en cliquant au dessus.
Pré-condition : Authentification nécessaire en cas d’ajouter un produit au
panier.
Description : Après avoir lancer l’application et choisir le service d’achat, le
système affichera :
- Un bouton de choix : supermarché sauvegardé ou d’autres supermarchés,
pour accéder à leur catalogue
- La recherche est affiché sous forme des imagines (produit) avec leur prix
distribuer sur plusieurs page.
- Vous pouvez sélectionner un produit pour l’ajouter au panier.
Scénario : Enchainement (a) : Préciser un supermarché
- Lors du clic, le système vous propose de choisir votre supermarché
sauvegardé ou un autre supermarché d’où vous voulez consulter son
catalogue.
Enchainement (b) : consulter catalogue
- Le système affichera un catalogue sous formes d’images de produit avec
leur prix distribué sur plusieurs pages.
Enchainement (c) : Ajouter un article affiché au panier :
- Cliquer sur le produit affiché pour ajouter ce dernier au panier.
- Le système vérifie si vous êtes authentifié ou non.
- Si vous êtes authentifié, le système valide votre ajout sinon une
authentification nécessaire.

1
Post condition : L’utilisateur consulte le catalogue et avoir une idée sur les
produit et ajouter ses produits en ligne et les payer.
Exception : Une erreur s’est produite lorsque l’authentification s’est
interrompue.
Besoin IHM :
Tableau 6 : Description textuelle du cas Faire des achats
Sd fai re des achats

: M arket Fi nder T uni si a


:B a se d e d o n n é e s

Uti l i sateur

l ancer l 'appl i cati on ( )

Génrati on de l 'i nterface ( )

choi si r l a rubri que achats ( )

Générati on de l 'i nterface ( )

Sél écti onner un supermarché ( )

al t
[Si supermarché sauvegardé] Récuperer l 'ID du supermarché ( )

Affi chage du catal ogue de supermarché ( ) Renvoi l es produi ts du supermarché ( )

[Si un autre supermarché]

Récuperer L'ID du supermarché ( )

Renvoi l es produi ts du supermarché ( )


Affi chage du catal ogue de supermarché (
)

Aj outer un produi t au pani er ( )

ref
Sd s'authenti fi er()

al t [Si authenti fi cati on val i de]

Val i der l 'aj out du produi t au pani er ( )

[Si authenti fi cati on non val i de ]

Affi cher (''Erreur d'aj out un produi t,


compte non di sponi bl e")

2
Figure 12 : Diagramme de séquence du cas d'utilisation faire des achats

4. Cas d’utilisation « S’authentifier » :


Cas d’utilisation : S’authentifier
Objectif : Ce service permet à l’utilisateur de s’authentifier pour accéder à son
panier.
Ce service aussi permet à l’administrateur de s’authentifier pour accéder à son
interface concerné.
Acteur : Utilisateur et administrateur
Déclencheur : Concernant l’utilisateur pour s’authentifier il suffit de cliquer
sur le logo de l’application et accéder à son panier ou ajouter un produit en
toute sécurité, une authentification automatique se déclenche.
Pré-condition : Avoir un identifiant et un mot de passe valide dans le système.
Description : Après le clic sur le déclencheur, le système affiche l’interface
d’authentification. Elle contient un formulaire qui est composé :
- Un champ de texte pour le remplir par le login.
- Un champ de texte pour le remplir par un mot de passe.
- Un bouton de connexion.
Scénario : Enchainement (a) : s’authentifier
- Lors du clic, le système affiche l’interface d’authentification
- L’utilisateur ou l’administrateur saisie son login et mot de passe.
- Le système affiche l’interface concerné après la vérification des droits
d’accès.
Post condition : Page concerné est affiché.
Exception : Un message d’erreur s’affichera lorsque les droits d’accès sont
incorrects ou il suffit qu’un champ soit vide.
Besoin IHM :
Tableau 7 : Description textuelle du cas S'authentifier

3
Sd s'authentifier

+"Utilisateur
Market Fjnder Tunjsia Base de données

Accéder au formulai re d'ithentification ( )

Saisie du Login et mot de passe ( )

- Demande d'ithentification (
-
-
)

Valider la connexion ( ) ..
- Vérifier les identifiants( )

Envoyer "identifiant trouvé "

ait [ Si identifiant correcte ]

Afficher ( "Authentification validerr'' )

1
[ S identifiant incorrecte ] 1
Envoyer "identifiant non trouvables"

Afficher message d'erreur ( )

1
Sd s'authentifier

M arket Fi nder T uni si a B a se d e d o n n é e s

Administrateur
Accéder au formulaire d'ithentification ( )

Saisie du Login et mot de passe ( )

Valider la connexion ( )

Demande d'ithentification ( )

Vérifier les identifiants( )


alt [ Si identifiant correcte ]
Envoyer "identifiant trouvé
"

Afficher ( "Authentification validerr" )

[ Si identifiant incorrecte ]
Envoyer "identifiant non trouvables"

Afficher message d'erreur ( )

Figure 13 : Diagramme de séquence du cas d'utilisation s'authentifier

5. Cas d’utilisation « Consulter son panier » :


Cas d’utilisation : Consulter son panier
Objectif : Ce service permet à l’utilisateur de consulter son panier.
Acteur : Utilisateur
Déclencheur : Pour accéder à son panier il suffit de cliquer sur le logo de
l’application et puis le logo du panier .Une authentification nécessaire.
Pré-condition : Avoir un identifiant et un mot de passe valide dans le
1
système.
Description : Après le clic sur le déclencheur, le système affiche l’interface
du panier qui lui précède l’espace d’authentification. Elle contient un
formulaire qui est composé :
- Un champ de texte pour le remplir par le login.
- Un champ de texte pour le remplir par un mot de passe.
- Un bouton de connexion.
Lors du connexion réussite nous trouvons l’interface du panier .Elle contient :
- Tous les produits ajoutés.
- Espace de modification de quantité ou d’annulation de produit.
- Un bouton de paiement.
Scénario : Enchainement (a) : Consulter son panier
- Lorsque la connexion est réussite, le système affiche l’interface du
panier :
- Le système affichera une liste contenant les produits ajoutés.
Enchainement (b) : Modifier quantité produit
- Le systéme donnera la possibilité à l’utilisateur de changer la quantité
mentionnée du produit.
Enchainement (c) : Annuler produit
- Le système donnera la possibilité à l’utilisateur d’annuler un produit
dans le panier.
Enchainement (d) : Payer commande
- Il suffit de cliquer sur le bouton « Payer », l’utilisateur sera dans
l’interface du paiement pour entrer son RIB et son mot de passe.
- Si les identifiants sont correctes, La validation du paiement s’affichera
sinon un message d’erreur s’affichera.
Post condition : Panier utilisateur concerné est affiché.
Exception : Un message d’erreur s’affichera lorsque les droits d’accès sont
incorrects ou il suffit qu’un champ soit vide.

2
Besoin IHM :
Tableau 8 : Description textuelle du cas Consulter son panier

Sd consulter son panier

: Market Finder Tunisia : Base de données

Utilisateur

Lancer l'application ( )

Génration de l'interface ( )

Demander de consulter son panier ( )

ref

Sd s'authentifier()

alt
[Si authentification valide ]

Génération de l'interface du panier ( )

Demander de modifier quantité d'un produit


deja ajouter ( ) Récuperer la quantité du produit modifier
()

Valider la modification du quantité ( )


Renvoi la modification valider ( )

Demander d'annuler un produit ( )


Récuperer l' ID du produit supprimer ( )

Valider l'annulation du produit ( )


Renvoi la suppression du produit ( )

Demander de payer la commande ( )

Entrer coordonnées et numero carte


bancaire ( )

Vérification du paiement ( )

Valider le paeiment ()

[Si authentification non valide ]

Afficher message d'erreur ( )

Figure 14 : Diagramme du séquence du cas d'utilisation consulter son panier

6. Cas d’utilisation « Gérer les données » :


Cas d’utilisation : S’authentifier
Objectif : Ce service permet à l’administrateur de gérer sa base de données et
appliquer des mises à jour sur le catalogue de son supermarché.

42
Acteur : Administrateur
Déclencheur : Il suffit de cliquer sur le logo de l’application et entrer son
identifiant en toute sécurité, une authentification automatique se déclenche.
Pré-condition : Avoir un identifiant et un mot de passe valide dans le système.
Description : Après le clic, le système affichera l’interface. Elle contient une
liste d’action :
- Mettre à jour le catalogue.
- Mettre à jour les promotions.
- Annuler produit
chaque action mène à un formulaire à remplir pour que le produit se rajoute au
catalogue ou se mentionne comme en promotion ou il sera annuler.
Scénario : Enchainement (a) : Mettre à jour le catalogue
- Lors du clic, le système affiche un formulaire à remplir : Nom produit,
libellé produit, Id produit, type produit, prix produit, image produit.
- Le système valide l’ajout du produit au catalogue.
Enchainement (b) : Mettre à jour les promotions
- Lors du clic, le système affiche un formulaire à remplir : Nom produit,
libellé produit, Id produit, type produit, prix produit, image produit,
ancien prix, nouveau prix.
- Le systéme valide l’ajout du produit en promotions.
Enchainement (c) : Annuler produit
- Lors du clic, le système affiche une liste déroulante de choix :
Produit en catalogue /Produit en promotions
- En choisissant l’un de ses rubriques, il suffit d’entrée l’id du produit pour
qu’il soit annulé.
- Le système valide l’annulation.
Ces enchainements sont liées à la base de données de Market Finder
Tunisia.
Post condition : Profil administrative est affiché.

1
Exception : Un message d’erreur s’affichera lorsque les droits d’accès sont
incorrects ou il suffit qu’un champ soit vide.
Besoin IHM :
Tableau 9 : Description textuelle gérer les données
Sd gérer les données

: Market Finder T unisia : Base de données

Administrateur

ref

Sd s'authentifier()

alt
[Si authentification valide ]
Génration de l'interface ( )
Récuperer les détails du mise à jour du
Mettre à jour le catalogue ( ) catalogue ( )

Renvoi les nouvelles mise à jour ( )

valider la mise à jour du catalogue ( )

[Si authentification non valide ]

Envoyer message d'erreur ('Vérifier vos


identifianrts")

Figure 15 : Diagramme de séquence du cas d'utilisation gérer les données

V. Structuration des cas d’utilisations en package:


Cette phase va permettre de structurer les cas d’utilisations en groupes fortement
cohérents, ceci afin de préparer le terrain pour la prochaine phase qui est le «
découpage en catégories ».Si nous prenons le tableau préliminaire, en affectant
chaque cas d’utilisation à un package, nous obtenons ce qui suit :

Cas d’utilisation Acteur package

Localiser Utilisateur Gestion


les supermarchés De localisation

2
Consulter les promotions Utilisateur Gestion économique
des produits.
Faire des achats
Consulter son panier
Gérer les données Administrateur Gestion
administrative
S’authentifier Utilisateur/Administrateur Gestion de sécurité
Tableau 10 : Structuration des cas d'utilisation

VI. Identifier les classes candidates :


Cette phase va préparer la modélisation orientée objet en aidant à trouver les
classes principales du futur modèle statique d’analyse.
Le schéma suivant présente le diagramme de classe préliminaire et montre qu’il
existe 8 classes dans notre application (Promotion, catalogue, supermarché,
coordonnées, produit, panier, catégorie, client, administrateur) et qu’il existe
aussi des différents associations entre ces classes.
Catalogue
Produit
Administrateur
1..* 0..*
1..1

0..*
Promotion

0..1
1..1 1..1

0..*
Supermarché
0..*

0..1 0..* 0..1


0..*
Panier
0..*
Client

0..*
1..1

Catégorie
Coordonée

Figure 16 : Diagramme de classe préliminaire

3
VII. Conclusion :
Ce chapitre nous permet d’avoir la description de chaque cas d’utilisation a fin
de les développer en des diagrammes de séquences et les regrouper en des
packages, puis nous identifions les classes candidats dans le but de réaliser le
découpage en catégorie dans le chapitre suivant.

4
Chapitre 4 : Analyse

I. Introduction :
Cette phase marque le démarrage de l’analyse objet du système à réaliser.
Elle utilise la notion de package pour définir des catégories de classes d’analyse
et découper le modèle UML en blocs logiques les plus indépendants possibles.

II. Découpage en catégories :


Une catégorie consiste en un regroupement logique de classes, les classes
doivent rendre des services de même nature aux utilisateurs comme les classes
«Supermarché» et «Personne».
Le découpage en catégories de notre projet a donné le résultat suivant :

<< category >>


Personne << category >>
Supermarché

Supermarché
Utilisateur
Administrateur Promotion
Catalogue
Produit
Panier
Coordonées
Catégorie

Figure 17 : Découpage en catégorie de Market Finder Tunisia

III. Les diagrammes de classes préliminaires par


catégorie :

5
<< category >>
Personne

Utilisateur
Administrateur

Figure 18 : Catégorie de la classe personne


Administrateur

1..1

1..1

Supermarché

0..*

0..*

Client

Figure 19 : Diagramme de classe préliminaire de la catégorie Personne

6
<< category >>
Supermarché

Supermarché

Promotion
Catalogue
Produit
Panier
Coordonées
Catégorie

Figure 20 : Catégorie de la classe Supermarché


Supermarché
Catalogue

0..*
0..*

0..*
0..*

Promotion 0..* 0..* Produit


0..* Personne:Personne 0..*

0..*
1..1 1..1

Panier
1..1

0..*
1..*

Catégorie
Coordonée

Figure 21 : Diagramme de classe préliminaire de la catégorie supermarché

IV. Dédier les dépendances entre catégories :


Maintenant nous allons déterminer la dépendance entre catégorie qui est une
relation unidirectionnelle, en effet ce diagramme va représenter les différente
dépendances entre les packages d’analyse :

7
<< category >>
Personne << category >>
Supermarché

Supermarché
Utilisateur
Administrateur Promotion
Catalogue
Produit
Panier
Coordonées
Catégorie

Figure 22 : Diagramme de packages d'analyse

V. Développement du modèle statique :


Le développement du modèle statique constitue la deuxième étape d’analyse, tel
que chaque objet d’une classe porte une valeur spécifique pour chaque attribut

8
de classe.
Catalogue
- Id_catalogue : int
- Date_catalogue : char
+ Consulter_catalogue () : void

1..* 1..*

Avoir

gérer

Promotion
0..*
Cordonnées - Id_promotion : int
- id_coordonée : int - prix_promotion : int
- attitude : long + Chercher_promotion ()
- longtitude 1..1
: long + Ajouter_promotion ()
+ Getlongtitude () : void Avoir
+ Getlattitude () : void Supermarché
1..1
+ Setlongtitude () : void - Id_magasin : int
+ Setattitude () 0..*
: void - nom_magasin : char
- address_magasin : char
- ville_magasin :
1..1
- image_magasin char
- descritpion : contient
- type_valeur char
1..1
:
char
: int
+ Localiser supermarché () : void
Administrateur + Choisir supermarché () : void 0..*
- id_admin + sauvegardé_supermarché () : void
: int appartient
- nom_admin
:
- prénom_admin
char
- mdp_admin 0..* 1..*
:
char
:
char
- descritpion_admin : char
- poste_admin : 1..1 Gérer Produit
char
- adresse_adm i n : char 0..* - Id_produit : int
+ S'authentifier () : void - nom_produit : char
+ mettre à jour le catalogue () : void - prix_produit : char
- description_produit : char
- img_produit : char
+ Ajouter produit () : void
+ Afficher produit () : void
Panier
- Id_panier : int
Localiser - quantité : int 0..*
1..* 1..*
+ Consulter_panier () : void
comporte
+ Ajouter_produit () : void
+ Modifier_quantité () : void
+ Annuler_produit : void
1..1 () appartient
1..1

Client
0..*
- id_client Catégorie
: int 1..1
9
- cin_client : int - Id_categorie : int
- password posséde - nom_categorie : char
:
char
+ S'authentifier () : void - img_categ : char
+ Choisir catégorie () : void

Figure 23 : Diagramme de classe

10
VI. Développement du modèle dynamique :
1. Développement des diagrammes de séquence :

 Cas d’utilisation « S’authentifier » :

L’utilisateur peut s’authentifier à l’application Market Finder Tunisia en tapant


le login et le mot de passe de la classe client.
Sd s'authentifier

connecte:adm i ni strateur:cl i ent B a se d e d o n n é e s

Utilisateur
Accéder au formulaire d'ithentification ( )

Saisie du Login et mot de passe ( )

Valider la connexion ( )

Demande d'ithentification ( )

Vérifier les identifiants( )


alt [ Si identifiant correcte ]
Envoyer "identifiant trouvé
"

Afficher ( "Authentification validerr" )

[ Si identifiant incorrecte ]
Envoyer "identifiant non trouvables"

Afficher message d'erreur ( )

L’administrateur peut s’authentifier à l’application Market Finder Tunisia en


tapant le login et le mot de passe de la classe Administrateur :

52
Sd s'authentifier

connecte:adm i ni strateur:cl i ent B a se d e d o n n é e s

Administrateur
Accéder au formulaire d'ithentification ( )

Saisie du Login et mot de passe ( )

Valider la connexion ( )

Demande d'ithentification ( )

Vérifier les identifiants( )


alt [ Si identifiant correcte ]
Envoyer "identifiant trouvé
"

Afficher ( "Authentification validerr" )

[ Si identifiant incorrecte ]
Envoyer "identifiant non trouvables"

Afficher message d'erreur ( )

Figure 24 : Diagramme de séquence du scénario S'authentifier

 Cas d’utilisation « Localiser un supermarché » :


L’utilisateur localise à travers l’application les supermarchés selon sa
position ou une position choisie en entrant un rayon X pour avoir une idée
sur la distance nécessaire pour y arriver à un supermarché.
Il a la possibilité de sauvegardé son supermarché pour lui faciliter la
recherche des promotions disponibles dedans ou son catalogue.

53
54
Sd localiser un supermarché selon une position choisi

localisation_supermarché: coordonées : B a se d e d o n n é
es

Utilisateur

Lancer l'application ( )

Génération de l'interface ( )

Choisir la rubrique localisation ( )

Sélectionner selon une position choisi ( )

Préciser un rayon X ( )

alt
[ Si rayon par défaut ]

Génération de la Map ( )

Positionner le marqueur sur une position


voulu ( ) Récuperer longtitude et attitude des
supermarchés et rayon par défaut ( )

Renvoi des coordonées géographiques des


supermarchés ( )

Afficher les supermarchés les plus


proches et la distance pour y arriver ( ) Calcul de la plus courte distance selon
rayon par défaut ( )

Demander la sauvegarde d'un supermarché ( )


Récuperer la sauvegarde du supermarché ( )

Confirmer la sauvegarde ( )

[ Si rayon choisi ]

Changer le rayon X ( )

Génération de la Map ( )

Positionner le marqueur sur une position Récuperer longtitude et attitude des


voulu ( ) supermarchés et rayon choisi ( )

Renvoi des coordonnées géographique des


supermarchés ( )

Calcul de la plus courte distance selon


rayon choisi ( )
Afficher les supermarchés les plus
proches et la distance pour y arriver ( )

Récuperer la sauvegarde du supermarché ( )


Demander la sauvegarde d'un supermarché ( )

Confirmer la sauvegarde ( )

Figure 25 : Diagramme de séquence du scénario Localiser un supermarché selon une position


choisi

55
Sd Localiser un supermarché selon sa position

localisation_supermarché: coordonées : B a se d e d o n n é
es

:Utilisateur

Lancer l'application ( )

Génration de l'interface ( )

Choisir la rubrique localisation ( )

Sélectionner selon sa position ( )

préciser rayon ( )

alt
[ Si rayon par défaut ] Récuperer longitude et latitude des
supermarchés avec un rayon par défaut(
)

Renvoie les coordonnées géographiques des


supermarchés ( )

Affichage des supermarchés les plus


Calcul de la plus courte distance selon
proches et la distance pour y arriver (
rayon par défaut ( )
)

Demander la sauvegarde d'un supermarché ( )


Récuperer la sauvegarde du supermarché ( )

Confirmer la sauvegarde ( )

[ Si rayon choisi ]
Récuperer longtitude et latitude des
Changer le rayon X ( ) supermarchés et le rayon choisi ( )

Renvoi des cordonnés géographiques des


supermarchés ( )

Calcul de la plus courte distance selon


Affichage des supermarches les plus rayon choisi ( )
proches et la distance pour y arriver (
)

Demander la sauvegarde d'un supermarché ( )


Récuperer la sauvegarde su supermarché ( )

Confirmer la sauvegarde ( )

Figure 26 : Diagramme de séquence du scénario Localiser un supermarché selon sa position


choisi
56
 Cas d’utilisation « Consulter les promotions des produits » :
L’utilisateur consulte les promotions disponibles dans son supermarché
sauvegardé ou dans l’autre supermarché.

57
Sd consulter les promotions des produits

: M arket Fi nder T uni si a


: B a se d e d o n n é e s

Utilisateur

Lancer l'application ( )

Génération de l'interface ( )

Accéder au promotions ( )

Génration de l'interface ( )

choisir un supermarché ( )

alt
[Si supermarché sauvegardé ]
Récuperer l' ID du supermarché ( )

Préciser un type de produits ( ) Récuperer le type de produits choisi ( )

Envoyer les promotions disponible selon


Afficher les produits en promos les critére( )

Demander d'ajouter produit au panier ( )

ref
Sd s'authentifier()

alt
[Si authentification valide ]
Valider l'ajout du produit au panier ( )

[Si authentification non valide]


Afficher ("Erreur d'ajout d'un produit,
compte non disponible")

[ Si tous les supermarchés ]


Envoyer le type de produit choisi ( )
Préciser un type de produit ( )

Envoyer les promotions disponible selon


les critéres ( )
Afficher les produits en promos ( )

Demander d'ajouter produit au panier ( )

ref

Sd s'authentifier()

alt
[Si authentification valide ]
Valider l'ajout du produit ( )

[Si authentification non valide ]


Afficher ( "Erreur d'ajout d'un produit ,
compte non disponible")

Figure 27 : Diagramme de séquence du scénario Consulter les promotions des produits

58
 Cas d’utilisation « Faire des achats » :
L’utilisateur peut à travers l’application consulter le catalogue de
supermarché qu’il a localisé ou d’autres supermarchés et ajouter des produits
à son panier à travers ce dernier.
Sd faire des achats

fai re_achats: catal ogue


:B a s e d e d o n n é e s

Utilisateur

lancer l'application ( )

Génration de l'interface ( )

choisir la rubrique achats ( )

Génération de l'interface ( )

Séléctionner un supermarché ( )

alt
[Si supermarché sauvegardé] Récuperer l'ID du supermarché ( )

Affichage du catalogue de supermarché ( ) Renvoi les produits du supermarché ( )

[Si un autre supermarché]


Récuperer L'ID du supermarché ( )

Renvoi les produits du supermarché ( )


Affichage du catalogue de supermarché ( )

Ajouter un produit au panier ( )

ref
Sd s'authentifier()

alt [Si authentification valide]

Valider l'ajout du produit au panier ( )

[Si authentification non valide ]

Afficher (''Erreur d'ajout un produit,


compte non disponible")

Figure 28 : Diagramme de séquence du scénario Faire des achats

59
 Cas d’utilisation « Consulter son panier » :
L’utilisateur doit avoir un panier pour qu’il puisse ajouter des produits. Ce
scénario offre à l’utilisateur la consultation de son panier.
Sd consulter son panier

pani er_consul tati on:pani er : Base de données

Utilisateur

Lancer l'application ( )

Génration de l'interface ( )

Demander de consulter son panier ( )

ref

Sd s'authentifier()

alt
[Si authentification valide ]

Génération de l'interface du panier ( )

Demander de modifier quantité d'un produit


Récuperer la quantité du produit modifier
deja ajouter ( )
()

Valider la modification du quantité ( )


Renvoi la modification valider ( )

Demander d'annuler un produit (


Récuperer l' ID du produit supprimer ( )
)

Valider l'annulation du produit ( )


Renvoi l'annulation du produit ( )

Demander de payer la commande ( )

Entrer coordonnées et numero carte


bancaire ( )

Vérification du paiement ( )

Valider le paeiment ()

[Si authentification non valide ]

Afficher message d'erreur ( )

Figure 29 : Diagramme de séquence du scénario Consulter son panier

60
 Cas d’utilisation « Gérer les données » :
L’administrateur gérer la partie administrative et mettre à jour le catalogue et les
promotions disponibles.
Sd gérer les données

g é re r_ d o n n é e s: a d m i n i st ra t e u r : Base de données

Administrateur

ref

Sd s'authentifier()

alt
[Si authentification valide ]
Génration de l'interface ( )
Récuperer les détails du mise à jour
Mettre à jour le catalogue ( ) du catalogue ( )

Renvoi les nouvelles mise à jour ( )

valider la mise à jour du catalogue ( )

[Si authentification non valide ]

Envoyer message d'erreur ('Vérifier vos


identifianrts")

Figure 30 : Diagramme de séquence du scénario Gérer les données

2. Développement du diagramme d’états :

61
Figure 31 : Diagramme d'état de localiser un supermarché

VII. Conclusion :
Ce chapitre consiste à découper les classes candidats et les regrouper en
catégorie a fin de réaliser un diagramme de classe préliminaire par catégorie et
de décider les dépendances entre elles .En fin nous avons développé le modèle
statique.

62
Chapitre V : Capture des besoins techniques

I. Introduction :
La capture des besoins techniques couvre avec celle des besoins fonctionnels,
toutes les contraintes qui ne traitent ni de la description du métier des
utilisateurs, ni de la description applicative. Cette étape nécessite une
connaissance des prés requis techniques. Le modèle s'y exprime suivant les deux
points de vue qui sont la spécification logicielle et la structure du matériel à
exploiter.

63
Chapitre VI : Réalisation et tests

I. Introduction
Ce chapitre constitue la dernière partie de mon processus de développement de
l’application. Je commence par représenter les choix logiciels. Ensuite, je passe
à la présentation de l’application par l’élaboration des captures d’écrans qui
montrent les scénarios d'utilisation de l'application par les acteurs.

64
Conclusion générale

Au terme de ce travail intitulé « Conception et réalisation d’une application de


localisation des supermarchés en Tunisie », nous considérons ce projet de fin
d’études nous a été bénéfique. En effet, il nous a permis de consolider nos
efforts et nos compétences via la conception d’une application innovante qui
sera utile dans l’amélioration du domaine technologique en Tunisie.
Ce travail était également une occasion pour s’habituer à l’environnement
Android et entrer en profondeur dans la conception et dans la réalisation des
applications mobiles. La réalisation de ce projet nous a été bénéfique dans la
mesure où elle nous a amené à découvrir de prés la programmation des
applications mobiles et à résoudre les éventuels problèmes que révèlent leurs
conceptions. Enfin, nous estimons que les objectifs à atteindre sont réalisés en
grandes parties.
Cependant, comme tout autre travail, ce projet ne prétend pas la perfection. En
guise de perspective, nous souhaitons intégrer des API des bibliothèques
permettant d’intégrer dans une application des fonctionnalités et intégrer aussi la
fonctionnalité de paiement en ligne par carte bancaire à notre environnement .La
durée du stage ne nous a pas permis de développer ce module car il demande
une charge de travail assez importante et des connaissances plus abouties ainsi
que des autorisations de sécurités avec la ministre de d’intérieure.
Au niveau personnel, cette expérience pratique et professionnelle nous a permis
de découvrir le milieu professionnel avec tout ce qu’il exige de discipline,
travail en équipe et responsabilité ce qui va nous aider à commencer la vie
professionnelle dans des meilleurs niveaux d’appartenance et savoir.

65
Webographie

66

Vous aimerez peut-être aussi