You are on page 1of 84

Table des matires

Introduction gnrale I Etude Prliminaire


1 Contextualisation du projet
1.1 Cadre du projet . . . . . . . . . . . . . . . . 1.2 Prsentation de l'organisme d'accueil . . . . 1.2.1 Les valeurs de Tunisiana . . . . . . . 1.2.2 Prsentation de la direction d'accueil 1.2.3 Prsentation du service d'accueil . . 1.3 Prsentation du projet . . . . . . . . . . . 1.3.1 Description gnral . . . . . . . . . . 1.3.2 Description plus dtaille . . . . . . 1.4 Etude de l'existant . . . . . . . . . . . . . . 1.4.1 Android Market . . . . . . . . . . . 1.4.2 Laboutique Tunisiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 7
8
9 9 10 10 11 11 11 12 12 13 15

2 Etat de l'art
2.1 Elaboration du cahier des charges . . . . . . . . 2.1.1 Rdaction du cahier des charges . . . . . 2.2 Grands choix techniques . . . . . . . . . . . . . 2.2.1 Mthodologies de conception UML : . . 2.2.2 La technique de dveloppement 2TUP : 2.2.3 API de Golocalisation . . . . . . . . . . 2.2.4 API de Ralit augmente . . . . . . . . 2.2.5 Rseaux socieaux : API facebook . . . . 2.3 Recueil des besoins fonctionnels . . . . . . . .

17
18 18 19 19 21 23 24 26 27

TABLE DES MATIRES

2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 28 28 28 29

2.3.1 Localisation : . . . . . . . 2.3.2 Interaction . . . . . . . . 2.3.3 Services orients produits 2.4 Recueil des besoins oprationnels 2.5 Modlisation du contexte . . . .

II

Analyse et conception

31
32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 34 36 38 45 50 50 50 51

3 Analyse et spcication
3.1 Capture des besoins fonctionnels . . . . . . . . . . . . . 3.1.1 Identication des Acteurs . . . . . . . . . . . . . 3.1.2 Identication des cas d'utilisation . . . . . . . . . 3.1.3 Description dtaille des cas d'utilisation . . . . . 3.1.4 Cas Interaction avec le rseau de vente Tunisiana 3.1.5 Cas d'utilisation "services orints produits" . . . 3.2 Organisation des cas d'utilisations . . . . . . . . . . . . 3.3 Capture des besoins techniques . . . . . . . . . . . . . . 3.3.1 Spcication technique du point de vue matriel 3.3.2 Spcication d'architecture . . . . . . . . . . . .

4 Conception
4.1 Analyse . . . . . . . . . . . . . . . . . . . . . 4.1.1 Dcoupage en cathgorie . . . . . . . . 4.1.2 Dveloppement du modle statique . . 4.1.3 Dveloppement du modle dynamique 4.2 Conception dtaille . . . . . . . . . . . . . . 4.2.1 Conception des attributs . . . . . . . . 4.2.2 Conception des associations . . . . . . 4.2.3 Conception de la base de donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56
57 57 59 62 68 68 69 69

III Ralisation
5 Ralisation
5.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Environnement matriel du dveloppement . . . . . . . . . . . . . . . . . 5.1.2 Environnement logiciel du dveloppement . . . . . . . . . . . . . . . . . .

71
72
73 73 73

TABLE DES MATIRES

3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 75 75 76 78 80 81

5.2 Application WikiShop . . 5.2.1 Interface d'accueil 5.2.2 Menu principal . . 5.2.3 Menu Recherche . 5.2.4 Golocalisation : . 5.2.5 Ralit augmente 5.3 Chronogramme . . . . . .

Conclusion gnrale et perspectives Bibilographie

83 83

Table des gures


1.1 Direction Technique . . . . . . . . . 1.2 Android Market . . . . . . . . . . 1.3 Localisation des boites aux lettres . . 1.4 Application Wikitude world Browser 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.1 4.2 4.3 4.4 Diagramme UML . . . . . . . . . Proccessus de dveloppment en Y Ralit augmente . . . . . . . . Qualcomm . . . . . . . . . . . . Facebook . . . . . . . . . . . . . Modlisation du contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 13 14 15 20 22 25 25 27 29 36 38 39 40 42 44 45 49 54 58 60 61 63

. . . . 2TUP . . . . . . . . . . . . . . . .

Diagramme de cas d'utilisation de WikiShop . . . . . . . . . . . . . Diagramme d'activit " localisation du rseau de vente" . . . . . . Diagramme de cas d'utilisation "interaction rseau de vente" . . . Diagramme d'activit "interaction avec rseau de vente" . . . . . . Diagramme de cas d'utilisation "Consultation des informations lis vente" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cas d'utilisation "Visualiser itinraire" . . . . . . . . . . . . . . . . Diagramme cas d'utilisation "envoyer mail" . . . . . . . . . . . . . Diagramme d'activit du cas Recherche de promotions et services . Diagramme d'architecture . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . au rseau de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dcoupage en catgorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagramme de classes "interaction Boutiques" . . . . . . . . . . . . . . . . . . . Diagramme de classes de "interaction avec produits Boutiques" . . . . . . . . . Diagramme de squence du scnario "localisation du rseau de vente Tunisiana"

TABLE DES FIGURES

4.5 Diagramme squence de "consultation des informations lis aux rseau de vente Tunsiana" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Diagramme de squence de "Visualisation de l'itinraire vers une boutique Tunisiana 4.7 Diagramme de squence du scnario "envoie de rclamation" . . . . . . . . . . . . 4.8 Diagramme de squence Rechercher une promtion d'une boutique et interaction avec rseaux sociaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Diagramme de squence du scnario "Recherche de services dans une boutique et convertisseur de points merci" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10 Organisation d'une classe drive de la conception des attributs de la classe  Tlephone  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11 Schma de conception de la base de donnes . . . . . . . . . . . . . . . . . . . . . 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 Interface d'acceuil . . . . . . Menu principal . . . . . . . . Menu recherche . . . . . . . . Liste des services . . . . . . . Convertisseur de points merci Facebook . . . . . . . . . . . Google map et GPS . . . . . Interface Google map . . . . . Itineraire . . . . . . . . . . . Ralit augmente . . . . . . Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64 65 66 67 68 69 70 75 76 76 77 77 78 78 79 80 81 81

Liste des tableaux


2.1 API de golocalisation pour mobile . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Modlisation du contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Identication des cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . Dommaire du cas d'utilisation "Localisation du rseau de vente" . . . . Sommaire cas d'utilisation consulter informations lis au rseau de vente Sommaire cas d'utilisation visualiser itinraire . . . . . . . . . . . . . . . Sommaire cas d'utilisation Envoyer rclamation . . . . . . . . . . . . . . Sommaire cas "Recherche de tlphone en points merci" . . . . . . . . . Sommaire cas d'utilisation "Recherche de promotions" . . . . . . . . . . Diagramme de packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 30 35 37 41 42 44 46 47 50

Premire partie

Etude Prliminaire

Chapitre 1

Contextualisation du projet
*******************************************

1- Cadre du pro jet . . . . . . . . . . . . . . . . . . . . . . . . . . .9

2- Prsentation de l'organisme d'accueil . . . . . . . . . . . . .9

3- Prsentation du pro jet . . . . . . . . . . . . . . . . . . . . . .11

4- Etude de l'existant . . . . . . . . . . . . . . . . . . . . . . . . 12

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

Chapitre 1 Contextualisation du projet


Introduction
Cette partie ayant pour but de dissiper quelques ambiguts concernant des notions fondamentales sans lesquelles la bonne comprhension du travail serait compromise, nous allons commencer dans ce premier chapitre par prsenter mon projet d'une faon gnrale en dcrivant entre autre le cadre spatio-temporel dans lequel le projet s'est droul. Une vue dtaill du sujet est aussi prsente an de l'claircir. Nous clturerons ce chapitre par une prsentation des projets existants et qui traitent du mme besoin. Ces solutions peuvent faire partie de l'univers de

Tunisiana

ou pas.

1.1

Cadre du projet

Ce stage s'inscrit dans le cadre du projet de n d'tudes (PFE) pour l'obtention du diplme national d'ingnieur en informatique et cela au terme du cursus de la formation ingnieur qui s'est tale sur trois annes l'Ecole Nationale d'Ingnieur de Tunis. Mon stage a t eectu au sein de

Tunisiana

, dpartement direction technique (DT), service

applications vente et a dur quatre mois du 16 fvrier au 16 juin 2011. Mon stage consiste concevoir et raliser une application mobile d'aide la localisation du rseau de vente Tunisiana. La suite du rapport expliquera plus en dtail le sujet de mon application.

1.2

Prsentation de l'organisme d'accueil

TUNISIANA, premier oprateur priv de tlphonie mobile en Tunisie, est une socit anonyme au capital de 359,172 millions de dinars. Elle a t cre le 11 mai 2002 et a pour actionnaires le Groupe Orascom Telecom (Egypte) et le Groupe QTel (Quatar). Ce jour l, TUNISIANA a sign avec l'Etat Tunisien la convention de licence d'installation et d'exploitation d'un deuxime rseau de tlphonie mobile en Tunisie valable pour 15 ans et renouvelable pour une priode de 5 ans. Le rseau GSM, les produits et les services ont t commercialiss au grand public partir du 27 dcembre 2002.

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

10

Dans le souci permanent d'amliorer le processus client, la socit adopte des mthodes de travail volues ainsi qu'un suivi et des analyses rgulires en interne comme en externe. Les processus et la gestion de toute activit sont donc clairs et connus par tous. Pour assurer un tel degr de performance et pour avoir une vision globale, TUNISIANA a depuis toujours mis sur les technologies les plus innovantes du march. Cette stratgie a port ses fruits : six mois seulement aprs son lancement commercial, la socit couvrait dj 60% du march local.

1.2.1 Les valeurs de Tunisiana


Tunisiana se mobilise an de crer des services que ses clients apprcient et dont ils ont besoin. Il est essentiel de respecter et de vhiculer des valeurs qui dtermineront la fois les actions et la manire de raliser les objectifs de Tunisiana. Croire en ces valeurs, les partager, en faire un guide de comportement ne peut qu'assurer la cohsion et renforcer la culture d'entreprise. Les valeurs de Tunisiana sont au nombre de quatre : orientation client, professionnalisme, transparence, innovation.

1.2.2 Prsentation de la direction d'accueil


Mon projet s'est droul au sein de la direction technique (DT). La direction technique est responsable de la mise en place, du suivi, de maintenance et de l'optimisation du rseau. Elle comporte plusieurs dpartements et services dcrits dans la gure suivante.

Figure 1.1: Direction Technique

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

11

1.2.3 Prsentation du service d'accueil


Le service Applications Ventes, dirig par M.

Ben Slimane Wassim

, joue un rle

important dans l'histoire de succs de Tunisiana. Il s'agit d'un service qui assure le dveloppement, le maintien et la gestion de systmes assez critiques et essentiels pour le travail quotidien de l'oprateur. Les systmes grs par ce service ne sont pas des systmes qui permettent d'orir des services commerciaux optionnels ou bien des ores marketing passagres, mais reprsentent plutt des systmes qui assurent des fonctions primordiales pour l'activit de Tunisiana. De ce fait, les fautes au niveau de ces systmes ne sont jamais tolrables. Le Service Applications Ventes est donc soumis une immense charge qui consiste a garantir le bon fonctionnement et la disponibilit des systmes dont il a la charge. A titre d'exemple, tous les centres de services et les points de vente de Tunisiana a travers toute la rpublique utilisent des systmes dvelopps et grs par le service Applications Ventes pour eectuer leurs tches, ce qui implique qu'un problme au niveau des ces systmes acterait au fond les processus mtiers de Tunisiana. Dans ce qui prcde, on souligne l'importance du service Applications Ventes et le travail norme qu'il est en charge de raliser ainsi que la responsabilit qui lui a t con et qui se rsume dans la gestion de systmes cruciaux sans lesquels le travail de l'operateur serait bloqu et des pertes nancires importantes seraient enregistres.

1.3

Prsentation du projet

Mon sujet consite en gnral la conception et au dveloppemen d'une solution mobile pour I'aide la dtermination et la localisation des centres de services dans le rseau de vente

1.3.1 Description gnral


Concrtement, mon projet est une application mobile sous android dont le but est d'orir un parcours du rseau de vente de Tunisiana en touchant les dirents marqueurs situs sur la carte 

Google map 

et de lui proposer direntes mthodes d'interaction avec

ces points de contact mais aussi de lui proposer une visite en ralit augmente avec notamment la possibilit de consulter les dirents services disponibles dans chaque boutique. L'application ore aussi la possibilit de partager un service via les rseaux sociaux,

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

12

dans notre cas facebook, mais aussi d'interagir avec les services client des boutiques par mail et enn de rechercher et consulter en temps rel la disponibilit des produits oerts par chaque type de boutique Tunisiana.

1.3.2 Description plus dtaille


Le but de ce projet de n d'tudes est la conception et le dveloppement d'une application Mobile Androide et les web services lis son fonctionnement Cette application permet de :

Rechercher un centre de service Tunisiana dans une zone bien dtermine. La zone est Caractrise par un point gographique et un rayon. Ce point peut tre la position GPS de l'utilisateur ou une autre position slectionne sur une carte.

Acher les rsultats de la recherche sur une carte. Exemple, on peut acher toutes les Boutiques dans la zone slectionne en mettant un indicateur de distinction pour les centres de service,

Consulter les dtails de la Boutique slectionn comme son adresse, tlphone, fax. . . et la liste des Services disponibles (paiement de facture, les portables disponibles dans le stock d centre,

 

Acher l itinraire vers la boutique slectionne partir d'un point gographique. l'application permet aussi d'intgrer un ensemble de services orients produits : simulateur de point Merci , consultation des promotions et des services. . .

Ma mission consite donc concevoir et dvelopper une application mobile Android et des web services d'une part et d'autre part Etudier et implmenter le principe de ralit augment pour la localisation des centres de service. Cependant mesure que le dveloppement de l'application avanait, d'autres besoins apparaissaient nous essayions chaque fois d'intgrer des amliorations sans pour autant ngliger le but initial de l'application, celui d'orir une visite du rseau de vente de Tunisiana.

1.4

Etude de l'existant

Cette partie est consacre une recherche approfondie de toutes les applications qui traitent d' peu prs les mme besoins que mon projet. Et pour ne pas me perdre dans les recherches non cibles, nous avons prfr nous rfrer d'un cot l'

Android Market

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

13

qui est la rfrence en matire d'application dveloppes sous android et de l'autre une application web dvelopp par l'quipe application vente de Tunisiana pour rester dans le contexte de l'entreprise.

1.4.1 Android Market


L'

Android Market
App Store

existant depuis le 22 octobre 2008 est une boutique en ligne,

similaire l'

d'exploitation

Android

pour

Apple

et son

Iphone

, cre par

Google

pour le systme

. Une application est prinstalle sur chaque tlphone sous An-

droid, permettant de tlcharger des 

apps 

dvelopps par des socits ou des dvelop-

peurs indpendants. Depuis le 2 fvrier 2011 le site ociel permet une navigation dans tout le contenu du

market

.L'

Android Market

est donc la place de march pour les

applications Android sur laquelle on peut consulter, tlcharger et mme commenter des applications android. La gure suivante reprsente l'icne qu'on trouve sur les tlphones android quip de l'application

android market

Figure 1.2  Android Market


Dans l

' Android

Market

quelques applications ont suscit mon intrt : quelques

unes utilisant la golocalisation et d'autres la ralit augmente. Ici nous ne citerons que deux, celles qui m'ont le plus inspir pour mon travail.

1.4.1.1 Localisation des boites aux lettres


Cette application est disponible sur l'Android Market, elle est conu par un dveloppeur J2EE , Mr

Pierre MEDINA

permet d'acher les botes aux lettres

situes partout en France. La position est rcupre du

GPS

Laposte

ou en saisissant une adresse.

L'achage est rendu sous forme d'une carte et les bal sont aches par une icne de couleur dirente selon la couleur.

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

14

La gure suivante prsentent quelques imprim ecran des interfaces que nous pouvons voir en utilisant l'application [1]

Figure 1.3  Localisation des boites aux lettres


1.4.1.2 Wikitude
Wikitude est un Guide de Voyage sur mobile en ralit augmente, dvelopp sous Android par la socit

Mobilizy. ING

. L'application prsente l'utilisateur des donnes

sur son environnement, des sites proximit et d'autres points d'intrt en superposant des informations sur l'appareil-photo. Comme celui de layar, il propose galement des api pour les dveloppeurs. Wikitude est une application mobile qui valorise le contenu golocalis, car elle s'appuie sur le concept des logiciels libres et des wiki, c'est la seule permettant n'importe qui de mettre en ligne ses propres points d'intrts gratuitement.Wikitude est disponible sur

[2].

Iphone

via

Apple Store

Android ,via

Android Market

mais aussi sur

Symbian

La gure suivante propose quelques uns des imprims ecran que nous obtenons en utilisant l'application wikitude disponible sur l'android market.

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

15

Figure 1.4  Application Wikitude world Browser


1.4.2 Laboutique Tunisiana

La boutique Tunisiana

ou plus communment appel Eshop est une application

web dvelopp par les quipes de Tunsiana. Comme son nom l'indique c'est la boutique en ligne de Tunisiana . Cette application hberge plusieurs services en ligne : achat des produits en ligne, payement de facture en ligne, convertisseur de points merci mais aussi un service de go localisation. C'est de cette application qu'est ne l'ide de mon projet avec, bien entendu, quelques extensions propres aux applications mobiles.

Conclusion
Ce chapitre nous met dans l'univers de Tunisiana et nous montre quel point cette entreprise cherche innover et veille tre pionnire dans tout ce qui est nouvelle technologie lie la tlphonie mobile. En eet Tunisiana ore ses abonns la possibilit de ctoyer avant, les clients d'autres entreprises concurrentes, des applications innovantes

CHAPITRE 1.

CONTEXTUALISATION DU PROJET

16

qui lui permettent de rester toujours en tte des ventes. Dans notre cas ici entre autres les services de golocalisation cible et la ralit augmente.

Chapitre 2

Etat de l'art
*******************************************

1- Elaboration du cahier des charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

2- Grands choix techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

3- Recueil des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .27

4- Recueil des besoins oprationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5- Modlisation du contexte. . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . .29

17

CHAPITRE 2.

ETAT DE L'ART

18

Chapitre 2 :Etat l'art

Introduction
Pendant l'laboration de chaque logiciel informatique, il est indispensable de faire une tude des direntes technologies pouvant tre utilise pour raliser les besoins de notre application. Dans un premier temps nous allons essayer dans ce chapitre de capturer les besoins fonctionnels et les besoins techniques de l'application tout en tudiant quelques applications existantes dans l'Android Market, et qui utilisent les mme technologies. Nous parlerons de leurs nouveauts ainsi que les amliorations que nous comptons apporter. Nous prsenterons aussi l'application web http ://laboutique.tunisiana.com/ dont certains modules de mon application s'inspirent, notamment la partie go localisation sur Google Map. Dans un second temps nous ferons une tude comparative des API de ralit augmente disponible pour les plateformes mobiles tout en justiant mticuleusement chaque choix.

2.1

Elaboration du cahier des charges

Dans cette partie,nous prsenterons les objectifs du projet tout en prcisant la mthodologie que nous adopterons pour tudier ce travail. Nous spcierons ensuite les outils qui vont servir pour implmenter l'application, les raisons qui nous ont pouss utiliser de tels outils et non pas d'autres, le matriel disponible au sein de l'entreprise pour aboutir un rsultat concret et les contraintes techniques que nous avons pu contourner.

2.1.1 Rdaction du cahier des charges


Le rseau de vente Tunisiana est compos de boutiques de 3 types dirents : CDS , Franchises, Espace. Les franchises sont de simples points de ventes et les espaces sont les boutiques Tunisiana qui se trouvent dans les grands espaces commerciaux comme Carrefour, Gant . . . Dans notre projet nous ne nous intresserons qu'aux CDS car ce sont les boutiques Tunisiana qui regroupent tous les services, les promotions, les ores. . . Une boutique du rseau de vente Tunisiana est caractrise par son nom, son adresse, son tlphone, son fax, son mail, sa longitude, sa latitude. Chaque boutique dispose d'un

CHAPITRE 2.

ETAT DE L'ART

19

stock prcis des dirents produits. Un client peut passer une rclamation par mail auprs d'une boutique. Chaque boutique ore des services qui ne sont pas les mmes dans toutes les boutiques. En eet dans quelque unes des boutiques les clients peuvent payer leurs factures de tlphone par exemple et dans d'autres pas. Les services peuvent aussi tre tout simplement les produits qui sont vendus dans cette boutique. Les produits disponibles dans une boutique peuvent tre rpartis en 4 types : Tlphones, pack, accessoires et lignes. Chacun de ces produits est caractris par un stock. Les produits sont caractriss par leurs : noms, descriptions, prix, code. Chaque produit peut bncier d'une dure de promotion dnie par un dbut et une n.

Remarque

:Ce cahier de charge prpare le terrain pour la partie conception dans la-

quelle nous allons prsenter le schma de base de donnes. Les tables que nous allons dnir vont bien sur s'inspirer de cette description.

2.2

Grands choix techniques

Aprs une premire tude, nous choisissons un certain nombre de technologies-cls pour l'laboration de ce projet. Ces technologies sont principalement :

2.2.1 Mthodologies de conception UML :


Pour garantir le bon droulement du projet, j'ai choisi d'utiliser la mthodologie UML (

Unied Modeling Language ) qui est considre comme le standard en matire de modli-

sation objet capable de rsoudre la plupart des problmes lis aux traitements. UML est conue pour tre lisible sur des supports papiers trs varis, les concepteurs de la notion UML ont cherch avant tout la simplicit. UML est intuitive, homogne et cohrente. Les symboles embrouills, redondants ou superus ont t limins en faveur d'un meilleur rendu visuel . UML ne recherche pas la spcication outrance car il n'y a pas de reprsentation graphique pour tous les concepts imaginables. En cas de besoins particuliers, des prcisions peuvent tre apportes aux moyens des mcanismes d'extension et de commentaires textuels. Concevoir en UML donne une libert aux outils de ltrage et la visualisation d'information. UML unie la fois les notations et les concepts orients objet. Il ne s'agit

CHAPITRE 2.

ETAT DE L'ART

20

donc pas d'une simple notation, mais de concepts transmis par un diagramme ayant une smantique prcise et tant porteurs de sens au mme titre que les mots d'un langage. Les dirents types de diagrammes UML sont prsents dans l'extrait du mta modle donn par la gure suivante :

Figure 2.1  Diagramme UML


       
Les diagrammes d'activits reprsentent le comportement d'une opration en terme d'action. Les diagrammes de cas d'utilisation reprsentent les fonctions systme du point de vu utilisateur. Les diagrammes de classes reprsentent la structure statique en termes de classes et de relations. Le diagramme de collaboration est une reprsentation spatiale des objets, des liens et des interactions. Les diagrammes de composants reprsentent les composants physiques d'une application. Les diagrammes de dploiement reprsentent le dploiement des composants sur les dispositifs matriels. Les diagrammes d'tats transition reprsentent le comportement d'une classe en terme d'tat. Les diagrammes d'objets reprsentent les objets et leurs relations et correspondent des diagrammes de collaboration simplis, et sans reprsentation des envois de messages.

Le diagramme de squence est une reprsentation temporelle des objets et de leurs interactions.

CHAPITRE 2.

ETAT DE L'ART

21

Le diagramme de collaboration et les diagrammes d'activits reprsentent le comportement d'une opration en terme d'action.

2.2.2 La technique de dveloppement 2TUP :


Le mot 2TUP signie "2 Track Unied Process".2TUP est un processus de dveloppement uni construit sur UML.Ce processus apporte une rponse aux contraintes de changements continuels imposes aux systmes d'information de l'entreprise. En ce sens, il renforce le contrle sur les capacits d'volution et de correction de tels systmes. "2 Track" signie littralement que le processus suit deux chemins "fonctionnels" et "d'architecture technique", qui correspondent aux deux axes des changements imposs au systme d'information. A l'issue des volutions du modle fonctionnel et de l'architecture technique, la ralisation du systme consiste fusionner les rsultats des deux branches. Cette fusion conduit l'obtention d'un processus de dveloppement en forme de Y, comme illustr par la gure suivante [3].

CHAPITRE 2.

ETAT DE L'ART

22

Figure 2.2  Proccessus de dveloppment en Y 2TUP


La branche gauche fonctionnelle comporte :

 

La capture des besoins fonctionnels : Produit un modle des besoins focalis sur le mtier des utilisateurs. L'analyse : Consiste tudier prcisment la spcication fonctionnelle de manire obtenir une ide de ce que va raliser le systme en terme de mtier. Les rsultats de l'analyse ne dpendent d'aucune technique particulire.

La branche droite prsentant l'architecture technique comporte :

La capture des besoins techniques : Elle couvre toutes les choix toutes les contraintes et les choix dimensionnant la conception du systme. Les outils et les matriels

CHAPITRE 2.

ETAT DE L'ART

23

slectionns ainsi que la prise en compte de contraintes d'intgration avec l'existant.

Spcication de l'architecture technique : Elle dnit les composants ncessaires la construction de l'architecture technique. Cette spcication est compltement indpendante des aspects fonctionnels. Elle a pour objectif d'uniformiser et de rutiliser les mmes mcanismes pour tout un systme et d'carter les risques au niveau technique.

La branche du milieu comporte :

La conception prliminaire : Elle intgre le modle d'analyse dans l'architecture technique de manire prsenter la cartographie des composants du systme dvelopper en modles statiques et dynamiques.

Conception dtaille : Elle tudie comment raliser chaque composant.

2.2.3 API de Golocalisation


2.2.3.1 Dnition de la golocalisation
La tlphonie mobile est un enjeu majeur depuis quelques annes pour les oprateurs tlphoniques. Rgulirement, de nouveaux services apparaissent sur le march an de satifsaire les besoins potentiels des consommateurs. Un des derniers en date est la

localisation [4]. Elle permet de fournir des informations en fonction de la position gographique de l'utilisateur. La golocalisation peut avoir de nombreuses applications dans dirents domaines . Une personne peut l'utiliser pour trouver le cinma ou le restaurant le plus proche, avoir des informations touristiques sur le lieu qu'il visite. . .ect. Les parents soucieux peuvent localiser leur enfant tout moment. Les profesionnels peuvent localiser leurs vhicules, suivre le personnel, les livraisons et dtecter un ventuel problme. Pour les autorits, la golocalisation peut tre d'une grande aide pour avoir des informations sur les personnes victimes d'un kidnapping, surveiller les dplacements de suspects. . .

go-

2.2.3.2 Google map


Avant de commencer mon projet, nous avons d eectuer une recherche approfondie sur les API de golocalisation en gnral et en particulier celles utilises pour les tlphones mobiles(

Android,Iphone,Blachberry

).Deux API ont retenu mon attention :

Open

CHAPITRE 2.

ETAT DE L'ART

24

Layers et Google map


Google Map Open Layer

. Le tableau qui suit est un tableau comparatif des deux API

qui s'appuie sur les caractristiques les plus imoortantes des deux API :

Langage de codage
javascript javascript

Disponiblit
par dfaut dans le SDK android ncessite l'ajout de l'API

Utilisation
trs rpandu pas rpandu

cl
ncessite une cl ne ncessite pas de cl

Documentation disponible

rare

Table 2.1  API de golocalisation pour mobile


Compte tenu des information rcolts dans ce tableau et avec quelques tests eectus en pratique , le choix de l'API google map s'est impos nous, vu tous ses avantages et la uidit de son utilisation sur un client mobile.

2.2.4 API de Ralit augmente


La ralit augmente est une technologie qui vise ajouter des lments virtuels au monde qui nous entoure, en orant l'utilisateur la possibilit d'tre immerg dans cet environnement mixte. La ralit augmente doit respecter trois rgles fondamentales : combiner le rel et le virtuel, de manire interactive (en temps rel) et en respectant l'homognit perspectiviste. Cette dnition exclut donc les simples collages 2D qui ne respectent pas la cohrence 3D, ainsi que la composition en post-production qui n'est pas en temps rel [5]. Dans l'environnement des smartphone,certaines applications pourront tirer parti des interfaces de programmation de l'appareil photo du smartphone pour ajouter quelques informations complmentaires, par exemple l'histoire d'un monument ou les horaires d'une ligne de mtro. La localisation par

GPS location

n'est pas encore assez prcise pour beaucoup d'appli-

cations qui exigent une localisation trs pointue comme pour la promotion de magasins, ou les jeux o souvent on doit placer des objets virtuels de manire trs prcise cot d'objets existants, c'est pour cela que la ralit augmente est plus adapte pour certaines applications commerciales. Les gures suivantes prsentent quelques exemples de vues en ralit augmente sur des

Smartphones.

CHAPITRE 2.

ETAT DE L'ART

25

Figure 2.3  Ralit augmente


Dans ce qui suit nous prsenterons quelques API de ralit augmente disponible et compatible avec des terminaux mobiles.

2.2.4.1 Qualcom
C'est une plateforme et un kit de dveloppement an de dployer des applications de ralit augmente sur les smartphones Android.. Alors que les systmes de ralit augmente actuels se base sur les donnes du GPS des smartphones, le SDK de Qualcomm comprend pour sa part un dispositif de reconnaissance d'images pour produire de la ralit virtuelle en 3D et en surimpression. Le kit de dveloppement est dsormais disponible sur le rseau dveloppeurs en ligne de Qualcomm, QDevNet, et librement tlchargeable [6].

Figure 2.4  Qualcomm


2.2.4.2 Layer
Layar Reality Browser est une application gratuite pour Android qui permet d'acher des infos d'intrt sur le monde qui vous entoure grce aux calques, une application de

CHAPITRE 2.

ETAT DE L'ART

26

ralit augmente qui se dveloppe avec le succs des

smartphones . Layar Reality Browser Layar Reality Browser ,


ce

dispose d'un rpertoire tendu et international de restaurants, htels, magasins, rseaux de transport, sites naturels, mais pas seulement. L'intrt de

sont ses calques qui achent des objets en 3D ou des infos par dessus le dcor environnant. Les calques pouvant tre crs par des auteurs... Layar est un logiciel pour Android qui utilise cette technologie et la go-localisation par GPS pour vous donner des informations sur les restaurants, les maisons vendre ou encore les htels.

2.2.4.3 wikitude
La socit Mobilizy a mis disposition sur son site une API pour le systme d'exploitation Android, ddie la cration d'applications de ralit augmente. Mobilizy s'tait dj illustre sur ce terrain avec une application de golocalisation de points d'intrts, Wikitude , dont la majeure partie des informations visibles sur l'cran d'un mobile sont issues de l'encyclopdie Wikipedia. Cette API de dveloppement reprend le principe de l'application Wikitude et permet ainsi l'utilisateur de crer ses propres points d'intrts sur le plan en temps rel d'une application Android.

Pourquoi le choix s'est- il port sur wikitude ?


Wikitude a mis disposition un plus grand nombre de fonctionnalits que ses concurents. Il est possible de crer des POIs personnelles sans les hberger sur le serveur de Wikitude. Un point fort de leur API est de permettre l'association d'une action personnalise pour chaque POI. Wikitude permet de faire fonctionner la partie ralit augmente de l'application mobile. Lorsque l'utilisateur entre dans la partie ralit augmente de l'application, il lui est possible de choisir un type de POI

1 acher l'cran . Une fois

sa slection faite, les POIs sont crs l'aide de l'api et une vue de ralit augmente est lance : L'utilisateur a la possibilit de slectionner un POI et d'acher une nouvelle vue spcique ce POI.

2.2.5 Rseaux socieaux : API facebook


Les rseaux sociaux faisant fureur sur le web , voila que les applications mobiles s'y mettent aussi. En eet Facebook dbarque prsent avec un SDK qui permettra aux d1. POI=point d'interet, ce sont les points virtuels qui se superposent sur une vue camera et qui indiquent l'emplacement d'un lieu particulier.

CHAPITRE 2.

ETAT DE L'ART

27

veloppeurs de lier leurs applications nativement Facebook. An d'enrichir mon application,l'api facebook va nous permettre de partager certaines informations sur les boutiques Tunisiana.Par exemple partager une ore, une promotion spciale, une vente ash ; tout cela en temps rel.

Figure 2.5  Facebook


2.3 Recueil des besoins fonctionnels

Dans cette section nous allons essayer de cerner les besoins fonctionnels de l'application c'est dire ce que l'application doit permettre l'utilisateur de faire concrtement.

2.3.1 Localisation :

Localiser les centres de service Tunisiana (CDS) dans une zone bien dtermin. Cette zone peut tre dtecte automatiquement par la position GPS de l'utilisateur ou alors en donnant la possibilit l'utilisateur d'introduire une adresse manuellement.Cette adresse sera directement introduite sur la carte

Google map .

Le client peut choisir de visualiser les rsultats sous forme de points marqus sur une carte, ou travers l'image de la camera du tlphone en

ralit augmente

[5].

Cette option utilise aussi le GPS mais aussi la connexion internet disponible dans les Smartphones.

CHAPITRE 2.

ETAT DE L'ART

28

2.3.2 Interaction
Une interaction est possible avec ces points d'interet dctects en cliquant sur l'un d'eux .il est donc possible de :

Tracer l'itinraire vers une boutique slectionne partir d'un point de dpart. Ce point de dpart peut tre dtecte automatiqmenet par la position GPS de l'utilisateur ou alors en donnant la possibilit l'utilisateur d'introduire une adresse manuellement.Cette adresse sera directement introduite sur la carte

Google map .

  

Consulter les dtails de la boutique slectionne (adresse, tlphone, fax . . .) et la liste des services disponibles pour la boutique Tunisiana slectionne . Envoyer un mail de rclamation vers la boutique slectionne. Calculer la distance qui spare l'utilisateur d'une boutique.

2.3.3 Services orients produits


Indpendament du service de golocalisation, l'application contient un autre module qui s'occupe de tout ce qui est produits et ores Tunisiana.Ce module contient la plus grande intraction avec la base de donne.

  

Recherche des services par boutique. Recherche des produits en promotion par boutique. Convertisseur de points merci .

2.4

Recueil des besoins oprationnels

 Scurit et base de donnes


donne des applications

: Une base de donne contenant tous les pro-

duits tunisiana et leur caractristiques sont dja en place . Il s'agit de la base de

eshop

et

ment dvelopps par les quipes de Tunisiana

storecash, .

deux applications web pralable-

Dans notre cas une autre base de

donne avec une conception bien tudie pour notre application va tre implmente. Cette base va tre compltement indpendante de l'existante et cela par soucis d'optimisation et surtout de scurit . De plus un bus ESB est prvu an d'interfacer

CHAPITRE 2.

ETAT DE L'ART

29

avec le base de donne du Storecash et Eshop.

 Scurit du protocol de communication :

Le protocole de communi-

cation utilis dans les changes entre le client android et la base de donnes doit assurer une scurit contre toute attaque. Il est invitable de trouver certains problmes petits ou grands  une fois le logiciel mis disposition mais nous devons faire des choix judicieux pour minimiser les risques au maximum.

2.5

Modlisation du contexte

La modlisation du contexte consiste dterminer les fonctionnalits qu'apporte le systme pour chaque utilisateur. Ce petit schma montre que l'utilisateur envoit des demandes au systme et ce dernier lui envoit la rponse. C'est un systme purement interactif et c'est le propre mme des applications mobiles. C'est pour cela que l'aspect ergonomique est trs important dans les applications Smartphones. L'utilisateur doit pouvoir se balader dans les direntes interfaces de l'application sans se perdre et sans tre embrouill .

Figure 2.6  Modlisation du contexte


Le tableau ci-aprs vient pour enrichir et expliquer le diagramme de contexte. Il reprsente les direntes informations changes entre le systme et l'utilisateur :

CHAPITRE 2.

ETAT DE L'ART

30

Table 2.2  Modlisation du contexte


Conclusion
Dans ce chapitre, nous avons pu identier les besoins fonctionnels et oprationnels et tous les points qui permettront d'entamer la partie conception. Dans le chapitre suivant, nous traiterons l'analyse objet et l'architecture du systme raliser, et nous reprsenterons les divers diagrammes de la conception UML.

Deuxime partie

Analyse et conception

31

Chapitre 3

Analyse et spcication
*******************************************

1- Capture des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33

2- Organisation des cas d'utilisations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3- Capture des besoins techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

32

CHAPITRE 3.

ANALYSE ET SPCIFICATION

33

Introduction
Aprs l'tude prliminaire du systme dans la premire partie, nous entamons dans cette partie la conception du systme. Nous commencerons d'abord par dtailler les besoins fonctionnels recueillis durant l'tude prliminaire en dcrivant les direntes faons qu'aura l'acteur d'utiliser le futur systme. Ensuite, nous entamerons la capture des besoins techniques qui permettent d'assurer la correspondance entre les cas d'utilisation et les contraintes techniques et matrielles existantes.

3.1

Capture des besoins fonctionnels

La capture des besoins fonctionnels nous permettera de prciser l'tude du contexte fonctionnel de l'application, en dcrivant les direntes faons qu'aura l'acteur d'utiliser l'application. L'accent sera mis dans cette partie sur :

    

Identication des acteurs, L'identication des cas d'utilisation du systme, Une description dtaille des cas d'utilisation, L'organisation des cas d'utilisation, L'identication des classes candidates du modle d'analyse,

3.1.1 Identication des Acteurs


Un acteur dans le modle UML reprsente l'abstraction d'un rle jou par des entits externes. Un acteur peut consulter et/ou modier directement l'tat du systme, en mettant et/ou en recevant des messages ventuellement porteurs de donnes. Les acteurs de l'application "aide la localisation des boutiques Tunisiana" sont :

Administrateur
L'administrateur de l'application est toute personne manipulant travers des interfaces, les tables de la base de donnes utilise par cette application. En l'occurrence, toutes les htesses des boutiques Tunisiana responsables de la gestion de stock des produits de la boutique ainsi que les ingnieurs ayant accs la base dans le but d'ajouter une boutique ou un produit sont considrs comme administrateurs.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

34

Dans notre application cette partie n'a pas t traite et le seul acteur qui nous intresse est celui qui utilise l'application.

Utilisateur
Le seul acteur dont nous allons parler dans ce projet est celui qui va utiliser l'application, en l'occurence un abonn Tunisiana possdant un Smartphone android.

3.1.2 Identication des cas d'utilisation


Un cas d'utilisation reprsente un ensemble de squences d'actions ralises par le systme et produisant un rsultat observable intressant pour un acteur particulier. Un cas d'utilisation modlise un service rendu par le systme. Il exprime les interactions acteurs/systme et apporte une valeur ajoute l'acteur concern. Chaque cas d'utilisation spcie un comportement attendu du systme considr comme un tout, sans imposer le mode de ralisation de ce comportement. Il permet de dcrire ce que le systme devra faire, sans spcier comment il le fera. Dans le cadre de la branche fonctionnelle, le cas d'utilisation doit mettre en valeur les interactions mtier entre les acteurs et le systme. Le tableau 3 reprsente les cas d'utilisations identies pour notre systme. Ce tableau est reprsent graphiquement dans le diagramme de cas d'utilisation du systme de la gure ci-dessous.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

35

Table 3.1  Identication des cas d'utilisation


On peut distinguer dja ce stade que les cas d'utilisation peuvent tre rpartis en deux types, et l nous entrons dans la notion de package que nous verrons plus longuement dans la suite.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

36

Figure 3.1  Diagramme de cas d'utilisation de WikiShop


Ce diagramme montre les dirents cas d'utilisation que nous pouvons avoir avec notre systme. Il est dduit partir de l'identication des cas d'utilisations.

3.1.3 Description dtaille des cas d'utilisation


La description dtaille est assimile la description textuelle des cas d'utilisation. Il s'agira donc de donner pour chaque cas d'utilisation son nom, son objectif, les acteurs qui y participent, les pr-conditions et les scnarii. Cependant, nous distinguons trois types de scnarii : les scnarii nominaux, les scnarii alternatifs et les scnarii d'exceptions. Nous nous limiterons juste la description des scnarii nominaux et alternatifs.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

37

localisation du rseau de vente Tunisiana :


Titre But

Localisation du rseau de vente

Le systme doit localiser le rseau de vente Tunsiana c'est dire les boutiques selon les demandes de l'utilisateur. Acteur Abonn Tunisiana

Table 3.2  Dommaire du cas d'utilisation "Localisation du rseau de vente"


Pr-conditions :
  
L'utilisateur possde un tlphone android quip d'une camera et d'un GPS. L'utilisateur a activ l'application

WikiShop

L'utilisateur a choisi les services orients boutiques

Post-condition :

Localisation eectue avec succs sur une carte Google map ou en vue ralit augmente.

Scnario principal :

Choisir la mthode de positionnement : automatique par GPS, saisie d'une adresse directement sur la carte Google Map ou choisir la vue ralit augmente qui s'ache sur la camera.

  

Visualiser les boutiques avec des marqueurs spciques. Naviguer vers une boutique prcise. Quitter

Scnario alternatif :
  
L'adresse selectionne est fausse. Retour au menu principal. Choisir une autre adresse ou une autre mthode de positionnement.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

38

Le diagramme d'activit suivant montre les dirents enchainements qu'un utilisteur rencontre lors de la localisation du rseau de vente Tunsiana.

Figure 3.2  Diagramme d'activit " localisation du rseau de vente"


3.1.4 Cas Interaction avec le rseau de vente Tunisiana
Ce cas d'utilisation entre en vigueur ds que la localisation du rseau a t eectue. On peut le fractionner en trois autres cas d'utilisation car le schma est le mme pour les direntes possibilits d'interactions avec une boutique particulire. En eet le diagramme qui suit montre que pour interagir avec une boutique il faut dj avoir tout le rseau ach, ensuite trois cas sont possibles :

Consulter les services disponibles pour chaque boutique sachant que les services peuvent tre lis aux produits disponibles (Tlphones, lignes, accessoires, pack) ou

CHAPITRE 3.

ANALYSE ET SPCIFICATION

39

alors d'autres services comme le payement de factures ect. . .

 

Envoyer une rclamation par mail une boutique particulire en prcisant le motif ou alors envoyer tout simplement un mail de demander une information. Visualiser l'itinraire partir de la position GPS de l'utilisateur vers la boutique slectionne.

Figure 3.3  Diagramme de cas d'utilisation "interaction rseau de vente"


Dans le diagramme d'activit suivant, j'ai essay de runir ces trois cas en un seul digramme vu qu'ils dcoulent tous d'une seule nalit qui est celle d'interagir avec le rseau de vente

CHAPITRE 3.

ANALYSE ET SPCIFICATION

40

Figure 3.4  Diagramme d'activit "interaction avec rseau de vente"

CHAPITRE 3.

ANALYSE ET SPCIFICATION

41

Cas Consultation des informations lies au rseau de vente


Titre But

Consulter les informations lis au rseau de vente

Le systme doit permettre l'utilisateur de consulter les dtails lis chaque boutique (nom, adresse, tlphone, fax, mail) ainsi que les services disponibles dans chacune d'entre elles. Acteur Abonn Tunisiana

Table 3.3  Sommaire cas d'utilisation consulter informations lis au rseau de vente
Pr-conditions :
   
L'utilisateur possde un tlphone android quip d'une camera et d'un GPS. L'utilisateur a activ l'application

WikiShop

L'utilisateur a choisi les services orients boutiques. L'utilisateur a russi localiser au moins une boutique dans la zone de recherche.

Post-condition :
 
Consultation des dtails lis la boutique slectionne eectue avec succs. Liste des services numrs avec succs .

Scnario principal :
    
Choisir la mthode de localisation en cliquant sur l'un des choix proposs ; positionnement automatique par GPS, saisie d'une adresse, Vue ralit augmente. Visualiser toutes les boutiques sur la carte ou sur la vue camera. Faire le choix d'une boutique en la slectionnant. Visualiser les dtails dans une info-Bulle en cliquant sur le marqueur de la boutique L'application propose l'utilisateur d'acher la liste des services ou d'annuler l'opration.

Si l'utilisateur est d'accord, il clique sur service. Le systme charge la liste des services disponibles.

 

S'il n'est pas d'accord, il clique sur annuler. Le systme revient sur la vue prcdente.

Aprs l'achage des services sous la forme d'une liste, le systme propose l'utilisateur de partager via facebook ce service propos par tunisiana. Le but de cette

CHAPITRE 3.

ANALYSE ET SPCIFICATION

42

dmarche est purement commercial et publicitaire.

Scnario alternatif :
   
Le service recherch par l'utilisateur n'existe pas dans la boutique slectionne. Retour dans la vue prcdente et choisir une autre boutique. Consulter les services disponibles. Quitter

vente"

Figure 3.5  Diagramme de cas d'utilisation "Consultation des informations lis au rseau de

Cas Visualiser l'itinraire vers une boutique Tunisiana.


Titre But

Visualiser l'itinraire vers la boutique Tunsiana.

Le systme doit permettre l'utilisateur de visualiser un itinraire vers les boutiques Tunisiana. Acteur Abonn Tunisiana

Table 3.4  Sommaire cas d'utilisation visualiser itinraire


Pr-conditions :

CHAPITRE 3.

ANALYSE ET SPCIFICATION

43

   

L'utilisateur possde un tlphone android quip d'une camera et d'un GPS. L'utilisateur a activ l'application

WikiShop

L'utilisateur a choisi les services orients boutiques. L'utilisateur a russi localiser au moins une boutique dans la zone de recherche.

Post-condition :

L'itinraire visualis avec succs sur la carte.

Scnario principal :

Choisir la mthode de localisation.

      

Par GPS. Par saisie d'adresse.

Visualiser les boutiques sur la carte ou en vue ralit augmente. Slectionner une boutique. Valider la slection. slectionner l'option itinraire. visualiser l'itinraire depuis la position de l'utilisateur vers la boutique slectionne.

Scnario alternatif :
   
L'itinraire ne convient pas l'utilisateur Retour dans la vue prcdente et choisir une autre boutique. Visualiser l'itinraire. Quitter.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

44

Figure 3.6  cas d'utilisation "Visualiser itinraire"


Cas d'utilisation "envoyer rclamation"
Titre But

Envoyer rclamation

Le systme doit permettre l'utilisateur d'envoyer des rclamations, ou des demandes d'informations par mail aux boutiques du rseau de vente Tunisiana. Acteur Abonn Tunisiana

Table 3.5  Sommaire cas d'utilisation Envoyer rclamation


Pr-conditions :
   
L'utilisateur possde un tlphone android quip d'une camera et d'un GPS. L'utilisateur a activ l'application

WikiShop

L'utilisateur a choisi les services orients boutiques. L'utilisateur a russi localiser au moins une boutique dans la zone de recherche.

Post-condition :

Rclamation envoye avec succs..

Scnario principal :

Choisir la mthode de localisation.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

45

        

Par GPS. Par saisie d'adresse. Vue ralit augmente

Visualiser les boutiques. Slectionner la boutique avec laquelle on dsire interagir. Choisir l'option  envoyer mail . Ecrire message. Envoyer ou annuler. Quitter

Scnario alternatif :
   
L'itinraire ne convient pas l'utilisateur Retour dans la vue prcdente et choisir une autre boutique. Visualiser l'itinraire. Quitter.

Figure 3.7  Diagramme cas d'utilisation "envoyer mail"


3.1.5 Cas d'utilisation "services orints produits"
Ce sont les cas d'utilisation qui concernent les activits orients produits, c'est dire qu' travers ces activits, l'utilisateurs consulte les promotions , les ores, les stocks disponibles pour chaque produit, l'quivalent des prix en points merci ect. . .Nous verrons

CHAPITRE 3.

ANALYSE ET SPCIFICATION

46

dans ce sens deux scnaris mais l'application peut tre enrichie dans une future version.

Cas d'utilisation "Recherche de services"


Titre But

Recherche de services

Le systme doit permettre l'utilisateur de rechercher une promotion dans une boutique et d'acher les caractristiques du produits slectionn. Acteur Abonn Tunisiana

Table 3.6  Sommaire cas "Recherche de tlphone en points merci"


Pr-conditions :
  
L'utilisateur possde un tlphone android. l'utilisateur est un abonn Tunisiana. l'utilisateur a choisi le service de recherche de tlphone en points merci.

Post-condition :
 
Recherche eectue avec suces . Liste des services ache n'est pas vide.

Scnario principal :
         
Choisir le service recherche de service et promotions. Choisir une boutqiue Choisir Type de produit. Appuyer sur chercher . Accder la liste de produits susceptibles d'tres achets. selectionner un produit Accder au convertisseur de points merci. Introduire le nombre de points merci Valider. Les systme ache la somme complter pour acheter le tlphone en utilisant les points merci dj acquis.

Scnario alternatif :

Nombre de points merci infrieur au minimum.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

47

Une alerte nous propose de rintroduire un chire ou de quitter.

Cas d'utilisation "Recherche de promotions"


Titre But

Recherche de promotions

Le systme doit permettre l'utilisateur de rechercher une promotion dans une boutique et d'acher les caractristiques du produits slectionn. Acteur Abonn Tunisiana

Table 3.7  Sommaire cas d'utilisation "Recherche de promotions"


Pr-conditions :
   
L'utilisateur possde un tlphone androd. l'utilisateur est un abonn Tunisiana. l'utilisateur a choisi le service recherche de promotions dans une boutique.

Post-condition :

Recherche eectue avec succs

Scnario principal :
          
Lancer l'application

Choisir les services orients client. Choisir la recherche de promotion par boutique. Lancer l'activit de recherche. Choisir le type de promotion (Tlphone/ligne/Accessoire/Pack). Choisir la boutique ou chercher. Valider. Accder la liste Choisir un produit. Lister ses caractristiques. L'application donne la possibilit de convertir le prix du produit slectionn en points merci.

Scnario alternatif :

Promotion recherche non disponible dans la liste.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

48

 

Choisir une autre Boutique. Lancer la recherche nouveau.

Le diagramme d'activit suivant rsume les deux scnaris de recherche de promotion et recherche de services dans une boutique. Nous les avons runi cause de leur grande dpendance .Le traitement sur la base de donnes n'est pas le mme mais le formulaire de recherche est le mme.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

49

Figure 3.8  Diagramme d'activit du cas Recherche de promotions et services

CHAPITRE 3.

ANALYSE ET SPCIFICATION

50

3.2

Organisation des cas d'utilisations

Le regroupement de dirents cas d'utilisation dans un espace de nommage ou package selon leur forte cohrence d'ensemble, leur nature identique et leur mme niveau smantique permet l'tablissement du diagramme de packages. Il est reprsent ci dessous :

Cas d'utilisation

Acteur

Package

-Localiser les Boutiques Package orient Boutiques -Visualiser l'itinraire -Consulter les services Abonn Tunisiana -Envoyer rclamation -Rechercher un tlphone acheter avec des points merci. Package orients produits -Recherche les promotions et le stock disponible.

Table 3.8  Diagramme de packages


3.3 Capture des besoins techniques

La capture des besoins techniques couvre avec celle des besoins fonctionnels, toutes les contraintes qui ne traitent ni de la description du mtier des utilisateurs, ni de la description applicative. Cette tape ncessite une connaissance des pr-requis techniques. Le modle s'y exprime suivant les deux points de vue qui sont la spcication logicielle et la structure du matriel exploiter.

3.3.1 Spcication technique du point de vue matriel


Les choix techniques sont de nature gographique, organisationnelle, et technique. Elles concernent les performances d'accs aux donnes, la scurit du systme, l'interoprabilit, la volumtrie et le mode d'utilisation du systme. Ils impliquent des contraintes relatives la conguration du rseau matriel.

Cot serveur
La conguration que peut avoir le serveur est :

Un ordinateur ou une station,

CHAPITRE 3.

ANALYSE ET SPCIFICATION

51

  

Un systme d'exploitation Windows, Environnement Java JDK 1.6 Une machine Virtuel Java.

Le serveur doit se situer dans une zone du rseau local fortement scurise. La base de donnes peut tre place dans le mme poste du serveur comme elle peut tre place sur un serveur distant de base de donnes Oracle.

Cot client
Le framework Android mis disposition dans l'environnement de dveloppement Eclipse a t utilis pour la partie Client. Pour construire une interface graphique, Android dispose nativement de composants graphiques assez volus et adapts spcialement aux contraintes du tlphone portable.Pourant la ralit augmente a necessit l'utilisation d'un vrai tlphone de test dont la conguration est la suivante :

    

Samsung GT i5303 Galaxy 5. Version de l'SDK Android 2.1 GPS intgr. Camera 2 M. Connexion WIFI et 3G.

3.3.2 Spcication d'architecture


Un schma de l'architecture globale de la solution a t mis en place. L'expression des pr-requis techniques implique galement le choix d'un systme client/serveur. Ce choix conditionne la faon dont sont organiss et dploys les composants du systme qui prsente une architecture 3-tiers. L'architecture 3-Tiers, est une architecture partage entre :

  

Le client android. Les serveur web Tomcat. Le serveur de base de donnes oracle.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

52

Persistence
Persistance est un mcanisme permettant un objet de survivre au processus qui l'a cr.Parmi ses caractristiques :

   

Rcupration et Stockage Stockage organisation et rcupration organisation , Stockage organisation et rcupration des donnes structures (tri, agrgation), Concurrence et intgrit des donnes ,

Partage des donnes.

Plusieurs framework de persistence existent en open source mais notre choix s'est port sur le framework hibernate vu que c'est le framework communment utilis dans les projets j2ee dvelopp au sein de Tunsiana , de plus les contraintes de notre projet ne requirent ne nous imposent pas de changer de framework de mapping.

Framework Hibernate :
est un

Hibernate

framework de mapping objet-relationnel le plus populaire pour J2EE, c'est un projet open source visant proposer un outil de mapping entre les objets et des donnes stockes dans une base de donnes relationnelle. Ce framework ne repose sur
aucun standard mais il est trs populaire notamment cause de ses bonnes performances et de son ouverture avec de nombreuses bases de donnes. D'ailleurs ce choix a t impos par les quipes de Tunsiana car c'est le framework de persistence communment utilis au sein de l'entreprise [8]. Le plug-in Hibernate Synchronizer permet la gnration de code utilisant le framework Hibernate. Il permet aussi de re-gnrer ce code lorsqu'un chier de mapping est modi.


Ce

Pattern DAO :

pattern

permet de faire le lien entre la couche d'accs aux donnes et la couche mtier

d'une application. Il permet de mieux matriser les changements susceptibles d'tre oprs sur le systme de stockage des donnes, donc, par extension, de prparer une migration d'un systme un autre . Ceci se fait en sparant accs aux donne et objets mtiers.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

53

Choix du protocole de communication


Concernant le choix du protocole

HTTP

pour la communication entre le serveur et

le client, d'autres possibilts se sont prsents comme par exempemple l'utilisation du protocole

SOAP (Simple Object Access Protocol) SOAP soap

qui est essentiellement conu

pour fournir un mcanisme lger d'changer des donnes dans un format XML. Mise en place d'un service Web SOAP n'est pas aussi dicile mais un inconvnient rside dans l'utilisation de comme protocole de communication dans la cas d'un client android par dfaut dans la bibliothque Android, il faut donc

car n'y a pas de support utiliser

Ksop

Le serveur HTTP Apache a une bonne rputation en matire de scurit et possde une communaut de dveloppeurs trs sensibiliss aux problmes de scurit, c'est pour cette raison que nous avons prfr utiliser des servlet java car c'est la forme la plus simple d'changer des donnes au moyen du protocole HTTP . Il n'est pas ncessaire de srialiser partir de XML, de sorte qu'il peut tre un vritable gain de temps [7].

Description de l'architecture
La gure ci-dessous montre un schma dtaill de l'architecture adopt pour ce projet.

CHAPITRE 3.

ANALYSE ET SPCIFICATION

54

Figure 3.9  Diagramme d'architecture


On peut dtailler la communication entre les direntes parties de l'architecture en nous concentrant sur deux aspects importants.

[1]Communication Serveur-BDD
langage de requtage Hibernate.

: les couches Hibernate et dao permettent

l'acce aux donnes travers des mthodes contenants des requtes HQL qui est un

[2]Communication Client-serveur

: les servlet assureront la communication

entre le client androd et le serveur. Le transfert se fait vers les couches d'accs aux donnes.Les servlets ont de nombreux avantages par rapport aux autres technologies ct serveur. Tout d'abord, tant donn qu'il s'agit d'une technologie Java, les servlets fournissent un moyen d'amliorer les serveurs web sur n'importe quelle plateforme, d'autant plus que les servlets sont indpendantes du serveur web . En eet, les servlets s'excutent dans un moteur de servlet utilis pour tablir le lien entre la servlet et le serveur web. Ainsi le programmeur n'a pas se soucier de dtails techniques tels que la connexion au

CHAPITRE 3.

ANALYSE ET SPCIFICATION

55

rseau, la mise en forme de la rponse HTTP, ...

Algorithme de fonctionnement

: Le client envoit les paramtres via des

requtes HTTP, les traitements sont excuts dans un moteur de servlet. Chaque servlet instancie une connexion la base de donnes, rcupre un objet DAO et interroge la base de donnes. Enn l'objet rcupr est srialis puis envoy dans le ux de sortie de la servlet.

Conclusion
A ce niveau nous avons pu eectuer une capture des besoins fonctionnels et des besoins techniques ce qui nous a permis de dvelopper le squelette de notre projet. A travers ce chapitre nous avons pu laborer le modle logique de la conception technique qui va nous permettre de bien entamer la conception au chapitre suivant.

Chapitre 4

Conception
*******************************************

1- Analyse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

2- Conception dtaill. . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

56

CHAPITRE 4.

CONCEPTION

57

Introduction
A ce niveau, nous proposons d'entamer la phase de conception qui consiste fusionner notre tude fonctionnelle avec l'tude technique. Nous pouvons donc dmarrer l'analyse objet du systme raliser. Dans ce chapitre, nous illustrerons donc notre conception par le dveloppement du modle statique et du modle dynamique et une prsentation des diagrammes des classes de conception. Nous insisterons sur les interactions entre les classes de conception permettant de consolider la conception des cas d'utilisation fonctionnels tenant compte des contraintes oprationnelles.

4.1

Analyse

L'analyse correspond la troisime phase du processus 2TUP et la deuxime phase de sa branche fonctionnelle. Son but consiste tudier la spcication fonctionnelle de manire obtenir une ide sur ce que va raliser le systme en terme de mtier. Cette tape comprend deux parties : le dcoupage en catgories de classes d'analyse et le dveloppement du modle statique ainsir que le dveloppement du modle dynamique de l'application.

4.1.1 Dcoupage en cathgorie


Le dcoupage en catgorie est une solution pour remdier au problme de redondance des classes candidates aux cas d'utilisation.Cette partie permet de dterminer les classes fondamentales du projet grce aux diagrammes des classes participantes. Une catgorie est le regroupement logique de classe forte cohrence interne et faible couplage externe. Nous pouvons identier les catgories suivantes : Catgorie traitement, catgorie entit, catgorie test, catgorie ressources. Nous prsentons dans la gure suivante la rpartition des classes participantes en catgories.

CHAPITRE 4.

CONCEPTION

58

Figure 4.1  Dcoupage en catgorie


D'aprs le schma prcdent nous pouvons identier les catgories suivantes :

 

Entites : Catgorie qui regroupe les classes permettant la reprsentation des tables de la base des donnes au niveau de l'application. Traitement : Regroupe les classes de dnition de processus mtier de l'application qui sont les chiers DAO ainsi que les servlet qui assurent la communication avec la base de donne.

   

Layout : Regroupe l'ensemble des chiers XML qui dcrivent les interfaces de l'application cliente android Assets : contient les chiers javascript utiliss .

Librairie : Regroupent les librairies externes et les api utilises pour l'application. Conguration : Regroupe les chiers de conguration et de mapping de la base de donnes

CHAPITRE 4.

CONCEPTION

59

4.1.2 Dveloppement du modle statique


Le dveloppement du modle statique constitue une tape importante de la phase de conception. Ce modle rassemble les direntes classes et associations du systme. Cette partie va nous permettre d'illustrer les principales constructions du diagramme de classes UML durant l'tape d'analyse. Le diagramme de classes a toujours t le diagramme le plus important dans toutes les mthodes orientes objet. Les diagrammes de classes expriment de manire gnrale la structure statique d'un systme, en terme de classes et de relations entre ces classes.

Diagramme des classes participantes aux activits orients "interaction avec Boutiques"
Ce diagramme de classe n'inclut que les classes qui participent aux activits orients boutique.Ces classes sont :

   

POI :Points d'intrt ou toutes les boutiques enregistres dans le serveur de base de donnes distante RECLAMATION :dans laquelle les rclamations eectus par les utilisateurs vont tre enregistres. SERVICES :les dirents services disponibles dans le rseau de vente

Tunsiana

TELEPHONE,PACK,ACCESOIRES,TELEPHONES :les dirents produits disponibles dans le rseau de vente

Tunsiana.

CHAPITRE 4.

CONCEPTION

60

Figure 4.2  Diagramme de classes "interaction Boutiques"


Diagramme des classes participantes aux activits orients "interaction avec produits boutiques"
Ce diagramme de classe n'inclut que les classes qui participent aux activits orients boutique.Ces classes sont :

POI : Points d'intrt ou toutes les boutiques enregistres dans le serveur de base de donnes distante

CHAPITRE 4.

CONCEPTION

61

 

PROMOTION : Contient tous les produits en promotions avec la date de dbu et de de n de la promotion et d'autres caractristiques. STOCK : renseigne sur le stock de produit disponible dans chaque boutique.

Figure 4.3  Diagramme de classes de "interaction avec produits Boutiques"

CHAPITRE 4.

CONCEPTION

62

4.1.3 Dveloppement du modle dynamique


Cette partie va nous permettre d'illustrer l'utilisation des concepts dynamiques d'UML et des diagrammes associs en phase d'analyse en dcrivant des scnaris mettant en jeu un ensemble d'objets changeant des messages. Ces interactions seront dcrites au moyen de diagrammes de squence qui mettent l'accent sur la chronologie des messages.

4.1.3.1 Diagramme de squence du scnario "localisation du rseau de vente Tunisiana"


Le diagramme de squence suivant montre bien la simplicit de l'enchainement des interfaces que l'utilisateur rencontre lors de l'activation de le fonctionnalit de localisation du rseau de vente. Cette facilit rentre dans l'tude ergonomique. Deux cas se prsentent : l'achage sur une carte ou sur la vue camera. Les deux cas ont t spars sur deux diagrammes pour plus de lisibilit.

CHAPITRE 4.

CONCEPTION

63

Figure 4.4  Diagramme de squence du scnario "localisation du rseau de vente Tunisiana"


Diagramme de squence d'interaction avec le rseau de vente Tunisiana
Le diagramme de squence suivant montre que l'interaction se fait principalement sur l'interface de localisation(carte google map). Les dtails des boutiques sont achs dans une info-bulle. Cette interface rappelle beaucoup les applications web. D'ailleurs on verra par la suite que l'application
1.

WikiShop

est une application

1 Une application android

hybride.

CHAPITRE 4.

CONCEPTION

64

hybride est une application qui crite en java, javascript et html.Ce type d'application est la mode depuis l'arrive de l'

Iphone Android
et

sur le march.

Diagramme squence de "consultation des informations lis aux rseau de vente Tunsiana"

Suite la localisation des boutiques sur la carte, nous avons la possibilt d'accder aux services oerts par cette boutique.

Tunsiana" 

Figure 4.5  Diagramme squence de "consultation des informations lis aux rseau de vente
Diagramme de squence de "Visualisation de l'itinraire vers une boutique Tunisiana".

CHAPITRE 4.

CONCEPTION

65

Apres la localisation des boutiques, en cliquant sur l'une d'elle, on a la possibilit d'acher l'itinraire vers cette boutique partir de la position de l'utilisateur ou partir d'une adresse saisie. Le diagramme de squence suivant illustre bien ce scnario.

Figure 4.6  Diagramme de squence de "Visualisation de l'itinraire vers une boutique Tunisiana 
Diagramme de squence du scnario "envoie de rclamation"

Aprs la localisation il est possible d'interagir avec une boutique en choisissant l'option rclamation et d'envoyer une rclamation via mail. L'adresse mail de la destination est dj entre, il ne reste plus que l'adresse mail de l'envoyeur.

CHAPITRE 4.

CONCEPTION

66

Figure 4.7  Diagramme de squence du scnario "envoie de rclamation"


Diagramme de squence du scnario "Recherche de services dans une boutique et convertisseur de points merci"
Ce scnario fait partie des activits orientes produits. C'est dire q'un client peut consulter les services disponibles dans une boutique particulire. Dans ce cas on veut dire par service, les produits, que ce soit les tlphones, les accessoires, les packs ect. . . Il peut aussi accder aux dtails de ces services et mme accder un service de convertisseur de points merci. Le diagramme de squence qui suit illustre ce scnario.

CHAPITRE 4.

CONCEPTION

67

Figure 4.8  Diagramme de squence Rechercher une promtion d'une boutique et interaction
avec rseaux sociaux

Diagramme de squence du scnario "Rechercher une promotion d'une boutique et interaction avec rseaux sociaux"
Dans le mme esprit que la recherche de service, nous avons ici la possibilit de chercher les produits qui sont en promotion, la dure de cette promotion et surtout la possibilit de partager cela via les rseaux sociaux, en l'occurrence ici facebook. Le digramme de squence suivant explique les interactions.

CHAPITRE 4.

CONCEPTION

68

Figure 4.9  Diagramme de squence du scnario "Recherche de services dans une boutique et
convertisseur de points merci"

4.2

Conception dtaille

La conception dtaille s'inscrit dans l'organisation dnie par la conception prliminaire. Dans cette partie, nous transformons les concepts provenant de l'analyse, en techniques disponibles, avec les langages et l'environnement de dveloppement.

4.2.1 Conception des attributs


La conception des attributs consiste principalement dnir le type et la visibilit des attributs identis en analyse. Pour assurer respectivement la modication et la lecture de la valeur de l'attribut, il faut ajouter deux oprations

get<NomAttribut> .

 set<NomAttribut> 

et

CHAPITRE 4.

CONCEPTION

69

La gure suivante montre montre l'application de ce principe sur la classe Tlphone.

Figure 4.10  Organisation d'une classe drive de la conception des attributs de la classe 
Tlephone 

4.2.2 Conception des associations


Lors de la section analyse, nous avons mis le point sur les classes participantes de chaque catgorie. La conception des associations s'accompagne d'un ensemble d'oprations ncessaires sa gestion. Elle se complique lorsqu'elle comporte des contraintes respecter mais dans notre cas toutes les relations sont simples, en eet il n'y a ni hritage, ni agrgation.

4.2.3 Conception de la base de donnes


Le passage du modle conceptuel de donnes au modle physique se fait selon certaines rgles :

   

Transformation des classes en tables, Transformation des attributs en colonne, Suppressions des mthodes des tables, Transfert des cls primaires pour les liaisons faibles, de relations 0..1 et 1..1et cration des tables porteuses pour les entits fortes.

Le schma de la base de donnes que nous avons obtenu apres application de ces rgle est le suivant.

CHAPITRE 4.

CONCEPTION

70

Figure 4.11  Schma de conception de la base de donnes


Conclusion
La conception prcde la phase de l'implmentation. ce niveau, toutes les questions relatives l'agencement et aux dtails de la solution doivent tre modlises, c'est en conception que l'on gnre le plus gros volume d'informations .Ainsi dans ce chapitre, nous avons prsent l'tude conceptuelle de notre systme avec un maximum d'informations, ncessaires construire et documenter prcisment les classes, les interfaces, les tables et les mthodes qui constituent le codage de notre solution.

Troisime partie

Ralisation

71

Chapitre 5

Ralisation
*******************************************

1- Environnement de travail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

2- Application WikiShop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

3- Chronogramme du pro jet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

72

CHAPITRE 5.

RALISATION

73

Introduction
Aprs avoir achev la partie conception de l'application, il s'agit de prsenter la partie ralisation et mettre en uvre mon travail ainsi que les tests d'valuation du produit nal. Pour cela, nous prsenterons, en premier lieu, l'environnement de travail, les outils de dveloppement utiliss ainsi que les tapes de dveloppement de

WikiShop

. En second

lieu, nous prsenterons l'application avec les direntes interfaces utilisateurs. Enn nous terminerons par un chronogramme de l'volution du du projet.

5.1

Environnement de travail

5.1.1 Environnement matriel du dveloppement


L'environnement matriel de dveloppement qui a t utilis lors du la ralisation du projet se prsente comme ce qui suit : Systme d'exploitation Windows XP Professionnel Service Pack 2. Pentium 4 a 1,8 GHz , avec 1,5 G de RAM. C'est l'environnement matriel fourni par l'entreprise.

5.1.2 Environnement logiciel du dveloppement


L'environnement de logiciel :ce sont tous les outils qui ont t utilis tout le long du projet, allant de la conception de la base de donnse au serveur d'applications en passant par la plateforme de dveloppement.

Langages de dveloppement
Nous faisons la synthse dans cette partie des dirents langages manipuls lors du dveloppement de l'application WikiShop. Ainsi, pour la ralisation de notre projet nous avons pu manipuler 3 langages de programmations dirents.

Java : Le SDK Android fournit les outils et les API ncessaires pour dvelopper des
applications sur la plate-forme Android en utilisant le langage de programmation Java. Java est la fois un langage de programmation et une plateforme d'excution. C'est la plateforme qui garantit la portabilit des applications dveloppes en Java.

CHAPITRE 5.

RALISATION

74

Javascript : JavaScript est un langage de programmation de scripts principalement


utilis dans les pages web interactives mais aussi ct serveur1. C'est un langage orient objet prototype, c'est--dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes

SQL  Structured Query Language  : SQL est un langage informatique normalis


qui sert eectuer des oprations sur des bases de donnes. La partie langage de manipulation de donnes de SQL permet de rechercher, d'ajouter, de modier ou de supprimer des donnes stockes dans des SGBD tels que ou

MySql.

oracle, PostgreSQL

Outils de dveloppement:


Eclipse Galilelo

: Eclipse est un environnement de dveloppement intgr libre

extensible, universel et polyvalent, permettant de crer des projets de dveloppement mettant en uvre n'importe quel langage de programmation. Dans notre cas , nous avons ajout le SDK android pour pouvoir dvelopper notre application.

 

Oracle 9 : Oracle Database est un systme de gestion de base de donnes relationnel.


C'est un outil libre disponible en tlchargement.

Apache Tomcat :

Tomcat est un serveur d'applications Java.Tomcat est un pro-

jet issu de Jakarta, le groupe de projets open-source du groupe Apache ddi Java. Apache produit un grand nombre d'autres outils open-source, et notamment le serveur HTTP Apache, le serveur le plus utilis au monde. Tomcat est un serveur galement d'une grande qualit, mme s'il n'est pas le serveur d'applis Java le plus utilis [9].

SDK ANDROID : Android est un systme d'exploitation pour tlphone portable


de nouvelle gnration dvelopp par Google. Celui-ci met disposition un kit de dveloppement (SDK) bas sur le langage Java. Le SDK Android ncessite d'avoir un JDK (5 ou 6) install sur sa machine pour pouvoir tre utilis. Le SDK est disponible en tlchargement pour les plateformes Linux, Mac et Windows. Nous avons utilis dans notre cas la version 2.1 du SDK, la version 7 de l'API.

CHAPITRE 5.

RALISATION

75

5.2

Application

WikiShop

Dans cette partie nous allons voir les direntes interfaces utilisateurs de l'applications, les direntes fonctionnalits et cela en respectant la cinmatique de l'application et les scnaris que l'on a dj abord dans le chapitre prcdent.

5.2.1 Interface d'accueil

Comme dans toute application mobile adresse aux Smartphones , l'application WikiShop a une interface d'accueil qui la suivante.

Figure 5.1  Interface d'acceuil


5.2.2 Menu principal
Ce menu est le premier qui apparait aprs l'interface d'accueil , il nous invite choisir entre les activits orients boutiques ou celles orients Produits.

CHAPITRE 5.

RALISATION

76

Figure 5.2  Menu principal


5.2.3 Menu Recherche
Le remplissage de ce formulaire permet l'accs un la liste de services ainsi que la liste des produits en promotion disponibles dans une boutique particulire choisie parmi une liste.

Figure 5.3  Menu recherche


et voici un exemple de ce qu'on obtient.

CHAPITRE 5.

RALISATION

77

Figure 5.4  Liste des services


en cliquant sur l'un des produits , nous avons la possibilit d'accder au convertisseur de points merci comme le montre la gure suivante :

Figure 5.5  Convertisseur de points merci


mais si on au contraire nous choissions un produit qui est en promotion , nous avons la possibilit de partager cela via facebook.

CHAPITRE 5.

RALISATION

78

Figure 5.6  Facebook


5.2.4 Golocalisation :
5.2.4.1 API Google map
En choisissant la recherche des boutiques proximit, le GPS est activ est une carte Google map apparait avec les positions des boutiques les plus proches apparaissent l'cran comme le montre cette gure.

Figure 5.7  Google map et GPS

CHAPITRE 5.

RALISATION

79

5.2.4.2 API javascript


Nous allons voir dans cette partie que l'application ralise n'est pas une application android au vrai sens du terme mais plutt ce qu'on appelle une application hybride. En eet une application hybride sur android est une application dont :

  

Une partie de votre application est faite en Les ressources

HTML & Javascript . HTML, Javascript, images

etc . . . sont "embarques" dans le

binaire compil (.apk) . C'est le programme compil qui s'occupe d'excuter le code javascript et d'acher le HTML et non pas un navigateur

La gure suivante montre un exemple de l'achage de la carte google map dans un compsant WebView d'android qui joue le rle du navigateur dans ce cas l.

Figure 5.8  Interface Google map


Voici l'exemple de l'achage d'un itinraire sur la carte.

CHAPITRE 5.

RALISATION

80

Figure 5.9  Itineraire


5.2.5 Ralit augmente
de Pour la vue Ralit Augmente, il a fallu tout d'abord enregistrer l'application auprs pour obtenir une cl an de ne plus avoir l'inscription BETA visible sur

Wikitude

la vue Camra si l'application n'est pas enregistre. Une fois le bouton ralit augmente selectionn,une requte est envoye une Servlet pour interroger la base de donnes et rcuperer sous la forme d'un chier XML les POI stockes. Les POI sont dserialiss cot mobile l'aide du parser. Voici un imprim ecran ralis directement du tlphone , car la camra n'ache rien sur l'mulateur.Cet imprim ecran est ralis grce l'utilitaire prsent dans le SDK android et intgr

eclipse

CHAPITRE 5.

RALISATION

81

Figure 5.10  Ralit augmente


Nous distinguons trs clairement les petits objets virtuels rouges qui ne sont en fait que les positions des boutiques tels qu'ils ont t capts par la camra du tlphone l'aide du GPS. En cliquant sur l'un deux, une petite fentre apparait avec des informations relatives la boutique slectionne.

5.3

Chronogramme

Nous avons ralis ce projet pendant une priode de seize semaines s'talant entre le 16 fvrier 2011 et le 16 juin 2011. Nous reprsentons dans le chronogramme ci dessous les direntes tches que nous avons ralises tout au long de la priode du stage et la dure de chacune d'entre elles.

Figure 5.11  Chronogramme

CHAPITRE 5.

RALISATION

82

Conclusion
Dans ce chapitre nous avons dcrit le fonctionnement de l'application WikiShop travers des exemples des direntes interfaces. Par ce chapitre nous clturons notre rapport de projet de n d'tude, cependant l'application n'est pas son stade nale et dnitif, elle peut encore subir des changements si cela s'avre ncessaire.

Conclusion gnrale et perspectives


La concurrence dans le secteur des tlcommunications notamment au niveau des oprateurs de la tlphonie mobile et la multitude des services proposs permet de rpondre aux besoins d'une socit gouverne par les TIC. Les politiques de marketing de ces oprateurs visent donc acqurir de nouveaux abonns et s'adapter leurs besoins permanents de connaitre l'information en temps rel et de la meilleure des faons en poussant encore plus loin les limites d'un tlphone. Le nouveau march des Smartphones et des applications mobiles en Tunisie relance la concurrence entre les oprateurs toujours en qute d'innovation. Comme moyen d'encouragement, TUNISIANA a lanc de son market d'applications Tunisiana Apps qui permet aux dveloppeurs tunisiens de vendre leurs applications sur ce market contre un pourcentage des gains. Dans le cadre de notre projet d'aide la localisation du rseau de vente de Tunisiana, nous tions amens explorer l'univers Android, le systme d'exploitation pour mobiles et faire une application interactive, qui exploite au maximum les technologies du monde des Smartphones. L'application dveloppe dans ce projet sera mise en production et sera disponible en tlchargement dans le market de Tunisiana pour ses abonnes. D'autres services peuvent tre rajouts pour enrichir le projet et surtout pour concurencer les autres oprateurs mobiles entre autres Orange. Je voudrai terminer en disant que malgr le fait qu'android soit une technologie intressante et malgr les eorts consentis par les cadres de l'entreprise, j'ai t confront aux problmes de scurit du rseau de Tunisiana. Sans cela le travail aurait t beaucoup plus riche et plus intressant.

83

Bibliographie
[1] Boite aux lettre, Pierre Medina ,[https ://market.android.com/details ?id=com.pmedina.ballocation], dernire visite 20/02/2011. [2] Wikitude Mobilizy , [http ://www.wikitude.org/en/] , dernire visite 18/05/2011. [3] Processus uni 2TUP, [http ://www.e-bancel.com/Processus_2TUP.php], dernire visite 15/05/2011. [4] Golocalisation : votre portable vous suit la trace [http seau.echelon.free.fr/reseau.echelon/geolocalisation.htm], dernire visite 06/04/2011. ://re-

[5] Gilles Simon, Julien Decollogne,Intgrer images relles et images 3D,Post-production et ralit augmente,[http ://webloria.loria.fr], dernire visite 01/05/2011. [6] Qualcomm : un SDK pour la ralit augmente sur Android, [http ://www.clubic.com/smartphone/android/actualite-350492-qualcomm-sdk-realiteaugmentee-android.html], dernire visite 02/03/2011. [7] Le protocole SOAP : [http ://wiebe-elsinga.com/blog/ ?p=405], dernire visite 14/04/2011. [8] Hibernate [http ://defaut.developpez.com/tutoriel/java/eclipse/hibernate/], dernire visite 10/04/2011. [9] Apache Tomcat, [http ://java.sun.com/products/jsp/tomcat/], dernire visite 08/05/2011

84

You might also like