Académique Documents
Professionnel Documents
Culture Documents
Thème :
Conception et réalisation d’une application mobile sous
Android pour le suivi de la « Gestion de la
distribution » cas « TOYOTA -Algérie »
Promotion : 2014/2015.
Remerciement
Nous tenons à remercier notre promoteur Mr HAMMACHE.A pour la
ses encouragements.
Membre de la société SAI qui nous ont suivis durant toute la durée de
maternelle.
Naima
Naima.
Dédicace :
Nous voici au bout de notre cursus .A la fin d’un long parcours d’études
préliminaires à une spécialisation peut-
peut-être, au terme duquel j’élabore, avec
mon binôme NAIMA le présent mémoire de fin d’étude que je dédie
cordialement à :
- Mes adorables parents MOUHAMED ET MALIKA pour leur amour
leur aide matérielle et surtout leur soutien moral ainsi que pour leurs
précieux conseils ; encore mille merci à vous deux.
- Mes très chères
chères sœurs
sœurs :SADIA, TINHINANE,
TINHINANE, LOUIZA
ET SON MARI RACHID.
- Et les petits enfants : RAZANE, ABDOU et MOUH.
- A Toute la famille CHIKH.
- Mon binôme et chère amie NAIMA, pour les merveilleux
moments passés ensemble, et à sa fa
famille.
- Mes amis : NAWAL et sa famille, HASSINA, CYLYA
- Et tous
tous les autres, la liste est longue, je m’en excuse.
- Et à tous ceux qui prêtent attention à ma thèse.
Dédicace FARIDA
Sommaire
Introduction générale
Chapitre I : Généralités sur le système Android
I.3.1 Définition………………………………………………………………...…………..…………….5
I.3.4.2 Le framework…………………………………………………………………….………….…..8
I.4.1 Définition……………………………………………………………..…………..………………11
I.4.2.1 L’Activité……………………………………………………………………………………....11
I.6 Conclusion…………………………………………………………………………………..……...20
II.1 Introduction……………………………………………………………………………..………....21
I.3.1 Définition…………………………………………………………………………….…….…….24
II.5 L’analyse……………………………………………………………………………………..…....26
II.5.4.1 Définition……………………………………………………………………………..……….28
II.6 Conception……………………………………………………………………………………..….43
II.6.1.1 Définition…………………………………………………………………………….………..44
II.6.2.1 Définition………………………………………………………………………….………….49
II.7 Conclusion…………………………………………..……………………………………………..53
II.1 Introduction…………………………………………..……………………………………………54
III.2.1 Matériels……………………………………………….……………………………………….54
III.2.2 Logiciels……………………………………………….…………………………….………….54
III.4 Conclusion…………………………………………………………………………...……74
En Algérie les réseaux internet mobile sont disponibles à large échelle après avoir réussi
le challenge de déployer la technologie de la 3G.
En effet, les appareils mobiles d'aujourd'hui sont allées au-delà de leur rôle primitif
d'outils de communication ils sont devenu comme des périphériques qu'ont le but de satisfaire
les besoins des clients qui peuvent être des utilisateurs simples ou des entreprises c’est le cas
de notre projet. D'ailleurs, les téléphones mobiles sont des systèmes embarqués, ce qui rend
les services intégrés des applications mobiles embarqués. Toutefois, les applications mobiles
ont permis de faciliter la vie avec beaucoup de simplicité par exemple localisé des services
(Hôtellerie, restauration, etc). C’est dans ce cadre que s'inscrit notre projet de fin d'étude qui
consiste en la mise au point d’une application mobile pour l’automatisation des tâches de la
gestion de distribution dans l’objectif principal est d’améliorer la situation actuelle de la
gestion de la distribution de l’entreprise « TOYOTA-Algérie ».
En effet, Actuellement la distribution des articles se fait par le livreur qui charge les
produits puis les transmet aux clients sans se préoccuper de la gestion de distribution ce qui
présente des inconvénients majeur comme l’impossibilité de la quantification des stocks en
temps réel.
Pour surmonter les aléas de la situation actuelle de la distribution nous avons comme
objectif le développement d’une application mobile qui sera installée sur des terminaux
mobiles des livreurs. Cette application permettra à ces derniers de réaliser certaines tâches de
la gestion de distribution à partir de n’importe quel endroit délocalisé.
Pour atteindre cet objectif, nous avons structuré ce mémoire en trois chapitres : Le premier
chapitre intitulé « Généralités sur le système Android » introduit des généralités sur le
système Andoid. Le second chapitre est consacré à l’analyse et à la conception de
l’application. Le troisième chapitre intitulé « Réalisation » présente les outils et le langage
utilisé pour la mise en œuvre de notre application, ainsi que le déroulement de cette dernière à
travers la présentation de quelques interfaces de l’application.
Généralités sur le système
Android
I.1 Introduction
En initiant le débat sur l'avenir de l'industrie du mobile, il apparaît que Google souhaite
élargir autant que possible l'accès des utilisateurs à une grande variété de services comme les
cartes géographiques, les réseaux sociaux et le partage de vidéo.
I.2.1 Définition
Un système d'exploitation mobile est un système d'exploitation conçu pour fonctionner sur
un appareil mobile. Ce type de système d'exploitation se concentre entre autres sur la gestion
de la connectivité sans fil et celle des différents types d'interface [1].
Il existe une multitude de systèmes d’exploitation mobile, la figure suivante illustre les
parts de marché de ces différents systèmes d’exploitation.
A partir de cette figure nous pouvons remarquer que le système Android domine largement
les autres systèmes pour Smartphones. La section suivante est consacrée à la présentation de
ce système.
I.3 Le Système Android
I.3.1 Définition
Android est un système d'exploitation mobile pour smartphones, tablettes tactiles, PDA,
smartwatches et d’autres terminaux mobiles. C'est un système open source utilisant le noyau
Linux. Il a été lancé par une start-up du même nom rachetée par Google en 2005. D'autres
types d'appareils possédant ce système d'exploitation existent par exemple des téléviseurs, des
radio-réveils, des montres connectées, des autoradios et même des voitures [2].
• Open source : Le contrat de licence pour Android respecte les principes de l’open
source, c’est à-dire-que c’est possible de le télécharger à tout moment et le modifier
selon nos besoins. Android utilise des bibliothèques open source puissantes par
exemple SQLite pour les bases de données et OpenGL pour la gestion d’images 2D et
3D.
• Gratuit : autant pour les utilisateurs que pour les constructeurs. La publication
d’applications sur le Play Store (une plateforme de téléchargement d’applications
Android), permettent de publier autant d’applications que l’on souhaite gratuitement.
• Disponibilité via une licence Apache version 2 : le système d’exploitation inclut
tout les utilitaires requis par un constructeur ou par un opérateur pour mettre en œuvre
un téléphone portable.
I.3.4.1 Applications
Android est fourni avec un ensemble de programmes de base permettant d'accéder à des
fonctionnalités comme les courriels, les SMS, le téléphone, le Web, etc. Ces applications sont
développées à l'aide du langage de programmation Java. Pour l'utilisateur final, c'est la seule
couche accessible et visible.
I.3.4.2 Le framework (Application Framework)
A) CorePlateform Service
Activity Manager : gère le cycle de vie des applications et maintient une "pile de
navigation" (navigation backstack) permettant d'aller d'une application à une autre et
de revenir à la précédente quand la dernière application ouverte est fermée.
Package Manager : utilisé par l'Activity Manager pour charger les informations
provenant des fichiers. "apk".
Window Manager : juste au-dessus du "Surface Flinger", il gère les fenêtres des
applications.
Resource Manager : gère tous ce qui n'est pas du code, toutes les ressources images,
fichier audio, etc.
Content Provider : gère le partage de données entre applications, comme par
exemple la base de données de contact, qui peut être consultée par d'autres
applications que l'application "Contact ". Les données peuvent être partagées à travers
une base de données (SQLite), des fichiers, le réseau, etc.
View System : fournit tous les composants graphiques : listes, grille, text box, buttons
et même un navigateur web embarqué.
B) Hardwar Services
Les services matériels (Hardware Services) founissent un accès vers les API matérielles de
bas niveau :
Chaque application Android s'exécute dans son propre processus, avec sa propre instance de
machine virtuelle Dalvik. Dalvik VM (Virtual machine) est une implémentation de machine
virtuelle ayant été conçue pour optimiser l'exécution multiple de machines virtuelles. Elle
exécute du bytecode qui lui est dédié : le bytecode dex. (Format qui est optimisé pour une
empreinte mémoire minimale).
Un code source est une suite d'instructions que l'on trouve dans un fichier ".java" qui est
traduit en une autre suite d'instructions dans un autre
autre langage que l'on appelle le " bytecode ".
Ce code est contenu dans un fichier ".class". Le bytecode est un langage
ngage spécial qu'une
machine virtuelle Java peut comprendre et interpréter.
interpréter Lee bytecode Java ne peut être lu que
par une machine virtuelle Java et Dalvik n'était pas une machine virtuelle Java. Il faut donc
procéder à une autre conversion à l'aide
l'aid d'un programme qui s'appelle "dx
dx" qui s'occupe de
traduire les applications de bytecode Java
Jav en bytecode Dalvik, qui est compréhensible par la
machine virtuelle Dalvik, le résultat est mis dans un ficher ".dex".
I.3.4.5 Le noyau
oyau Linux (Linux Kernel)
Android
id repose sur un noyau Linux (version 2.6) qui gère les services du système, comme
la sécurité, la gestion de la mémoire et des processus, la pile réseau et les pilotes. Il agit
également comme une couche d'abstraction entre le matériel et la pile logicielle.
logiciel
I.4 Le Développement d’applications Android
I.4.1 Définition
Les applications Android sont constituées d’un ensemble d’activités qui permettent
l’interaction avec l’utilisateur, et d’un ensemble de services qui fonctionnent en arrière-plan et
s’occupent d’effectuer certains traitements précis [6].
I.4.2.1 L’Activité :
• Définition :
Une activité est la composante principale d’une application Android. Elle représente
l’implémentation et les interactions des interfaces [6].
• OnCreate ()
Cette méthode est appelée à la création d’une activité. Elle sert à initialiser l’activité ainsi que
toutes les données nécessaires à cette dernière.
Quand la méthode OnCreate() est appelée, on lui passe un “Bundle“ en argument. Ce Bundle
contient l’état de sauvegarde enregistré lors de la dernière exécution de l’activité.
• OnStart()
Cette méthode est utilisée pour signifier le début d’exécution de l’activité (début du passage
au premier plan). Si l’activité ne peut pas aller en avant plan quelque soit la raison, l’activité
sera transférée à OnStop().
• OnResume()
Cette méthode est appelée après OnStart (au moment où l’application repasse en premier
plan). A la fin de l’appel à la méthode onResume() l’application se trouve au premier plan et
reçoit les interactions utilisateurs.
• OnPause()
Si une autre activité passe au premier plan, la méthode OnPause() est appelée sur l’activité.
Afin de sauvegarder l’état de l’activité et les différents traitements effectués par l’utilisateur.
A ce stade, l’activité n’a plus accès à l’écran, on doit arrêter de faire toute action en rapport
avec l’interaction utilisateur (désabonner les listeners). On doit par contre continuer à
exécuter des algorithmes nécessaires mais qui ne consomment pas trop de CPU.
• OnStop()
Est appelée quand l’activité n’est plus du tout visible quelque soit la raison. Dans cette
méthode on doit arrêter tous les traitements et les services exécutés par l’application.
• OnDestroy()
Est appelée quand l’application est totalement fermée (Processus terminé). Toutes les données
non sauvegardées sont perdues.
• OnRestart ()
Exécutée lorsque l’activité est arrêtée via un OnStop() (repasse en premier plan).
I.4.2.2 Les Services
Un service, à la différence d’une activité, ne possède pas de vue mais permet l’exécution
d’un algorithme sur un temps indéfini. Il ne s’arrêtera que lorsque la tâche est finie ou que son
exécution est arrêtée.
Démarrage du téléphone.
Moment d’arrivée d’un événement (arrivée d’un appel, SMS, mail, etc).
Lancement de l’application.
Moment de réalisation d’une action particulière ou enté actions sur l’application.
Un Broadcast Receiver permet d’écouter ce qui se passe sur le système ou sur l’application
et de déclencher une action prédéfinie. C’est souvent par ce mécanisme que les services sont
lancés.
Les content providers servent à accéder à des données depuis une application. Notamment
pour accéder aux:
Pour développer sous Android et créer des applications, ajouter des packages, débogage
d’application plusieurs outils sont disponible, on présente ci-dessous trois outils :Eclipse-
SDK-ADT, Android Studio et Windev Mobile.
Pour développer des applications Android deux outils lui sont associés le Kit SDK et le
plugin ADT.
A) SDK Android
Émulateur
Le SDK comprend un émulateur qui permet de simuler les déférentes versions d'Android,
permettant ainsi aux développeurs de tester leurs applications ou de tester les fonctionnalités
d’Android. Le SDK contient plusieurs images en fonction des différentes versions d'Android.
Chaque version du SDK Android contient l'intégralité du code source d'Android, ce qui
permet aux développeurs de créer leurs propres versions d'Android.
L'Android Debug Bridge (ADB) est un outil inclus dans le package Android SDK. Il se
compose d'un programme client et d'un programme serveur qui communique entre eux.
ADT est un plugin pour l’IDE Eclipse, il est conçu pour donner un puissant environnement
intégré pour la création d’application Android. Il étend les fonctionnalités d’Eclipse pour
mettre en place rapidement de nouveau projet Android [9].
WinDev est un atelier de génie logiciel(AGL) édité par la société française PC SOFT et
conçu pour développer des applications, principalement orientées données pour Windows8, 7,
Vista, XP, 2008, 2003, 2000, mais également pour Linux .NET et Java. Il propose son propre
langage, Apparenté « Wlangage ». Windev, WebDev et WinDev Mobile permettent d'utiliser
le même langage de programmation (WLangage), et les mêmes concepts (analyse, fenêtre,
états, composants, classes, etc) pour la génération des sites Web et d’applications [11].
Notre application est développé dans l’environnement WinDev Mobile qui est un
puissant outil de développement d’applications pour les systèmes Windows Mobile, Android,
Windows Phone, Windows 8 tablette, iPhone et iPad, qui fournit en standard tous les outils
nécessaires à la conception et à la réalisation d’application.
Le développement d’une application avec Windev Mobile repose sur deux éléments
principaux : projet et analyse.
Phase tests et génération : Windev Mobile offre toute une panoplie d’outils de tests
automatique pour garantir la fiabilité des applications et assurer la non-régression entre les
phases de développement.
Les applications Android ont une grande utilité dans tous les domaines et en voici quelques
applications parmi les plus connues :
• Domaine de transports
Tube Maps : elle permet d’afficher des plans, de même elle permet la
recherche d'itinéraires et des horaires temps réel.
Nombre de téléchargement : plus de 5000000.
Google Maps : est un service gratuit de cartographie en ligne, il permet de
zoomer et de fixer des prises de vue pour montrer les détails des itinéraires.
Nombre de téléchargement : 173554 et 12793 utilisations quotidiennement.
• Domaine se la sante
Atlas d’anatomie humaine : c’est une application 3D utilisé dans les études
de l’anatomie humaine, construit sur une interface 3Dtactile.
Dans ce premier chapitre nous avons introduit une présentation détaillée du système
Android et du développement d’application sous Android, puis nous avons cité quelques
outils de développement d’applications Android tel que Windev Mobile utilisé dans la
réalisation de notre projet. En fin nous avons cité quelques applications Android par domaine.
Dans le prochain chapitre nous allons cerner les objectifs de notre application puis nous
allons les modélisé en s’appuyant sur le langage UML.
Analyse et conception
II.1 Introduction
La conception de toute solution informatique est d’une grande importance et doit être
traitée avec rigueur et précision, car elle constitue la base du système à développer.
Avant de s’engager dans la conception, il est impératif de passer par la phase d’analyse qui
permet d’identifier les différents acteurs qui interagissent avec le système ainsi que leurs
besoins.
La phase de la conception est réalisée en s’appuyant sur les résultats de l’analyse qui
donneront la description détaillée du système cible et des objectifs à atteindre.
Pour ce faire, notre démarche s’appuiera sur le langage UML, qui est largement utilisé
dans le monde de développement orienté objet.
Dans ce chapitre nous présentons l’organisme d’accueil, la problématique qui a fait appel à
la réalisation de notre projet. Nous présentons l’UML, son historique, ses diagrammes puis
l’approche de modalisation UML adoptée. Nous consacrons une large partie pour l’analyse et
la conception. Dans la partie analyse nous identifions les acteurs de notre système ainsi que
leurs besoins, le diagramme de contexte et le diagramme de cas d’utilisation. Dans la partie
conception nous présentons les diagrammes de séquences, les diagrammes d’activité ainsi que
le diagramme de classe globale suivi par les règles de gestion.
II.2 Présentation de système existant
Nous avons effectué notre projet de fin d’étude au sein de SAI (Saftware Associates
International) qu’est une entreprise algérienne, de service et d’ingénierie des systèmes. Depuis
plus de 30 ans, SAI développe et intègre des logiciels de gestion basés sur les technologies les
plus avancées et les plus fiables du marché informatique.
SAI propose une offre globale, étroitement liée aux besoins des entreprises en matière de
traitement de l'information et aux nouveaux produits mis sur le marché et couvre les services
suivants :
• Le diagnostic de situation.
• L’analyse des besoins dans le domaine du traitement de l'information.
• La conception et la réalisation des systèmes d’informations.
• Le développement des logiciels liés à l'activité de transport et de logistique.
• L’installation de plates formes de développement sous ORACLE.
• L’étude, l’installation et la mise en marche de tous types de réseaux.
• L’installation et la mise en œuvre des sites Web dynamique.
• L’installation et la mise en œuvre des serveurs de base de données, des
serveurs d’application, serveur pour le partage des ressources sur Internet, etc.
• L’audit, l’analyse et l’installation des stratégies de sécurité des systèmes
d’informations
• L’installation de systèmes de géo-localisation par GPS/GPRS.
II.2.2 Problématique
La société SAI est chargée de développer une application mobile au profit de la société
TOYOTA-Algérie qui est une entreprise de commercialisation de matériels roulants et des
pièces détachées. L’acheminement de ces marchandises s’effectue à l’aide des unités mobiles.
Pratiquement l’unité mobile (livreur) se rapproche d’un magasin pour charger les produits à
distribuer.
Afin de remédier aux limites du système actuel nous avons comme objectif la mise au
point d’une application Mobile pour l’automatisation des tâches de la gestion de la
distribution des produits. L’application assurera un environnement interactif et permettra à
l’utilisateur (livreur) de gérer les mouvements d’entrées, les retours et les sorties à son niveau.
I.3.1 Définition
Le langage UML (Unified Modeling Language) est un langage graphique de modélisation
conçu pour représenter, spécifier, concevoir et documenter les artefacts de systèmes logiciels.
Adopté par l’Object Management Group (OMG) en tant que standard, il est devenu une
référence incontournable dans le domaine du génie logiciel. Sa richesse et sa puissance
d’expression le rendent également éligible pour la modélisation de concepts et de
processus « métier » ainsi que pour l’ingénierie de système non logiciels. UML résulte de
l’unification de techniques ayant fait leurs preuves dans l’analyse et conception de grands
logiciels et des systèmes complexes [12].
Fig II.1 La hiérarchie des diagrammes UML.2.0 sous forme d’un diagramme de
classe [14].
• L’analyse, c’est-à-dire
dire l’étude de la solution du problème.
problème
• La conception est la mise au point d’une solution au problème.
La démarche
arche choisie pour la modélisation
modéli de notre application est représentée
représenté par la figure
suivantee où les deux aspects d’un système sont couverts :
Identification
des acteurs Diagramme de
contexte
Identification
des besoins
Diagrammes de
Diagramme
Séquence et
des cas
diagrammes
d’utilisation
d’activité
: Analyse
Diagramme de
Diagra
: Conception
classe
II.5 L’analyse
Un acteur représente toute entité externe pouvant interagir avec le système. Autrement dit
c’est un objet actif qui utilise les fonctions du système. En réponse à l’action d’un acteur le
système fournit un service qui correspond à son besoin [16].
« Gestion de la Système
II.5.4.1 Définition
Les cas d’utilisation sont des outils ‘’formels’’ qui permettent de consigner et d’exprimer
les interactions et les dialogues entre le système et les utilisateurs (acteurs).
acteurs). L’ensemble
L’e des
cas d’utilisation donne une description détaillée du comportement du système aux
sollicitations de ces derniers. Un cas d’utilisation doit exprimer ce que le système doit
effectuer sans préjuger de la façon dont cela sera fait [15].
Les cas d’utilisation que nous avons recensé sont les suivants :
Nous décrivons dans ce qui suit la description textuelle des différents cas d’utilisation.
Identification
Titre : S’authentifier
Résumé : ce cas d’utilisation a le but de sécuriser le système, l’utilisateur doit s’authentifier
avant chaque utilisation de l’application.
Pré-conditions
• Le terminal mobile utilisé par le gestionnaire de distribution doit être connecté à un
réseau internet et le serveur doit être accessible.
• L’application doit être lancée.
Scénario nominal
1. l’utilisateur lance l’application après avoir cliqué sur l’icône de l’application.
2. Le système affiche la page d’authentification.
3. L’utilisateur saisie le nom de l’utilisateur.
4. L’utilisateur saisie le mot de passe.
Post-condition
Identification
Titre : Déconnecter.
Résumé : ce cas d’utilisation permet à un gestionnaire de distribution de fermer l’application.
Pré-conditions
• Le terminal mobile utilisé par le gestionnaire de distribution doit être connecté à un
réseau internet et le serveur doit être accessible.
• L’application doit être lancée.
Scénario nominal
1. L’utilisateur lance l’application après avoir cliquer sur l’icône de l’application.
2. Le système affiche la page d’authentification.
3. L’utilisateur saisie le nom de l’utilisateur.
4. L’utilisateur saisie le mot de passe.
5. L’utilisateur clique sur le bouton valider.
6. Le système affiche le « Menu ».
7. L’utilisateur clique sur le bouton « Fermer ».
Post-condition
L’application est déconnectée.
Tab II.2 Description textuelle de cas d’utilisation "Déconnecter"
Identification
Pré-conditions
L’utilisateur doit être authentifié.
Scénario nominal
1. L’utilisateur accède à son espace.
2. L’utilisateur clique sur le bouton « Bon de chargement ».
3. Le système affiche la fenêtre « Bon de chargement ».
4. L’utilisateur sélectionne un fournisseur.
5. L’utilisateur sélectionne un type mouvement.
6. L’utilisateur saisit le numéro du bon de chargement.
7. L’utilisateur saisit la référence du bon de chargement.
8. L’utilisateur saisit une observation sur le bon (l’observation est facultative).
9. L’utilisateur clique sur le bouton « Valider ».
10. Le système affecte le numéro du bon de chargement.
11. Le système enregistre les informations entrées.
12. Le système affiche la fenêtre « Articles ».
13. L’utilisateur sélectionne un article.
14. L’utilisateur sélectionne la référence d’article.
15. L’utilisateur saisit la quantité à charger.
16. L’utilisateur clique sur « Valider ».
Post-condition
Un bon de chargement est enregistre
Identification
Pré-conditions
L’utilisateur doit être authentifié
Scénario nominal
1. L’utilisateur accède à son espace.
2. L’utilisateur clique sur le bouton « Bon de chargement ».
3. Le système affiche la fenêtre « Bon de chargement ».
4. L’utilisateur saisie le numéro de bon de chargement à modifier ;
5. L’utilisateur clique sur le bouton « Chercher ».
6. Le système affiche le bon relatif à la recherche.
7. L’utilisateur modifie le bon de chargement.
8. L’utilisateur clique sur le bouton « Modifier ».
Identification
Pré-conditions
L’utilisateur doit être authentifié.
Scénario nominal
1. L’utilisateur accède à son espace.
2. L’utilisateur clique sur le bouton « Bon de chargement ».
3. Le système affiche la fenêtre « Bon de chargement ».
4. L’utilisateur saisie le numéro de bon de chargement à supprimer.
5. L’utilisateur clique sur le bouton « Chercher ».
6. Le système affiche le bon relatif à la recherche.
7. L’utilisateur clique sur le bouton « Supprimer ».
8. Le système valide la suppression et affiche un message de confirmation.
Post-condition
Un bon de chargement est supprimé.
Identification
Pré-conditions
L’utilisateur doit être authentifié.
Scénario nominal
1. L’utilisateur accède à son espace.
2. L’utilisateur clique sur le bouton « Bon de livraison ».
3. Le système affiche la fenêtre «Bon de livraison».
4. L’utilisateur sélectionne un bénéficiaire.
5. L’utilisateur sélectionne un type mouvement.
6. L’utilisateur saisit le numéro du bon de livraison.
7. L’utilisateur saisit la référence du bon de livraison.
8. L’utilisateur saisit une observation sur le bon (l’observation est facultative).
9. L’utilisateur clique sur le bouton « Valider ».
10. Le système affecte le numéro du bon de livraison.
Identification
Post-conditon
Un bon de livraison est modifié.
Identification
Post-condition
Un bon de livraison est supprime.
Identification
Pré-conditions
L’utilisateur doit être authentifié
Scénario nominal
6. L’utilisateur accède à son espace.
7. L’utilisateur clique sur le bouton «Bon de chargement ».
8. Le système affiche la page
post-condition
L’utilisateur consulte la liste affichée.
Tab II.9 Description textuelle de cas d’utilisation "Consulter la liste des articles"
10) Description textuelle de cas d’utilisation "Consulter la liste des articles en stock"
Identification
Titre : Consulter la liste des articles en stock.
Résumé : ce cas d’utilisation permet à un gestionnaire de distribution de consulter une liste
qui contient l’ensemble des articles disponibles en stock mobile ainsi que leurs quantités
respectives.
Pré-conditions
L’utilisateur doit être authentifié.
Scénario nominal
1. L’utilisateur accède à son espace.
2. L’utilisateur clique sur le bouton «Articles en stock ».
3. Le système affiche la liste d’articles en stock mobile.
Post-condition
Identification
Pré-conditions
L’utilisateur doit être authentifié.
Scénario nominal
1. L’utilisateur accède à son espace.
2. L’utilisateur clique sur le bouton «Journal des chargements ».
3. L’utilisateur entre la date pour laquelle il veut consulter les chargements.
4. L’utilisateur clique sur le bouton « Rechercher »
5. Le système affiche les bons de chargements relatifs à la date entrée.
Post-condition
L’utilisateur consulte le journal des chargements.
Identification
Pré-conditions
L’utilisateur doit être authentifié
Scénario nominal
1. L’utilisateur accède à son espace.
2. L’utilisateur clique sur le bouton «Journal des livraisons ».
3. L’utilisateur entre la date pour laquelle il veut consulter les livraisons.
4. L’utilisateur clique sur le bouton « Rechercher »
5. Le système affiche les bons de livraisons relatifs à la date entrée.
Post-condition
Tab II.12 Description textuelle de cas d’utilisation "Consulter le journal des livraisons"
13) Description textuelle de cas d’utilisation "Changer le mot de passe"
Identification
Pré-conditions
L’utilisateur doit être authentifié
Scénario nominal
3. L’utilisateur accède à son espace.
4. L’utilisateur clique sur le bouton « Changer le mot de passe ».
5. Le système affiche la page « changement de mot de passe ».
6. L’utilisateur entre le nouveau mot de passe et le confirme.
7. L’utilisateur clique sur le bouton « Valider ».
8. Le système compare le nouveau mot de passe avec sa confirmation.
9. Le système valide la modification ou affiche un message d’erreur en cas de non
identité.
Post-condition
Le mot de passe est changé.
Tab II.13 Description textuelle de cas d’utilisation "Changer le mot de passe"
II.6 Conception
La phase de conception suit immédiatement la phase d’analyse. La conception consiste à
traduire les besoin en spécifiant comment l’application peut les satisfaire avant de procéder à
sa réalisation. Afin de modéliser cette étape nous utilisons le digramme de séquence pour
représenter l’aspect dynamique et le diagramme de classe pour représenter l’aspect statique
[16].
Alt
Si ok
Si non
Ref S’authentifier
Alt
FigII.6 Diagramme de séquence de cas d’utilisation « Changer le mot de passe ».
Ref
S’authentifier
Loop
FigII.7 Diagramme de séquence de cas d’utilisation « Ajouter un bon de chargement ».
Ref
S’authentifier
Alt
Sinon
II.6.2.1 Définition
Fig II.10 Diagramme d’activité de cas d’utilisation « Consulter le journal des chargements»
Le diagramme de classe est destiné à décrire les propriétés structurelles des objets du
monde réel, les concepts spécifiques du domaine considéré ou encore les notions abstraites
que le système doit appréhender. Ce sont les diagrammes les plus fréquemment utilisés en
modélisation orientée objet. En phase de conception du logiciel, ils sont exploités pour décrire
l’architecture statique du système et les interdépendances entres ses constituants [15].
14. Un ARTICLE dois avoir un ou plusieurs FOURNISSEUR avec une référence donnée.
La figure suivante représente le diagramme de classe qu’on a obtenu :
II.7 Conclusion
La partie de la conception consiste à identifier les différents objets qui nous aident à
réaliser les fonctionnalités souhaitées. Tout en donnant une description complète de ces
diagrammes pour une meilleure compréhension du système.
Après cette phase de l’élaboration de notre application nous allons passer à la phase de
réalisation ou nous allons décrire les différents moyens logiciels et matériels pour la création
de notre application ce qui fera l’objet de chapitre suivant.
Réalisation
III .1 Introduction
III.2.1 Matériel
Pour la réalisation de notre projet nous avons utilisé :
III.2.2 Logiciels : Pour la mise en œuvre de notre application nous avons utilisé :
III.2.2.1 Windev
Windev est un atelier de génie logiciel conçu pour développer des applications,
principalement orientées données. A l'usage particulier du Windev la programmation orientée
objet est possible, quoique moins puissante que dans la plupart des langages tels que C++ et
Java ou une fonction virtuelle est une fonction destinée à être redéfinie dans des classes
héritant d'une classe de base, dans WinDev on appelle “virtuelles” les fonctions redéfinies.
Les applications développées avec WinDev bénéficient par défaut de fonctionnalités
automatiquement proposées à l'utilisateur final,
f qui sont néanmoins désactivables par le
concepteur. Ces fonctionnalités sont :
• Export des tables vers Word , Excel, OpenOffice et XML.
• Création de fichier PDF.
• Possibilité
ossibilité de saisir des macros en code WLangage.
• Possibilités
ossibilités de tri et recherche directe
direc dans les tables.
• Possibilité de mémoriser les valeurs saisies dans un champ de saisie et de les choisir à
nouveau.
WinDev comporte aussi son propre système de gestion de base de données appelé
HyperFileSQL (HFSQL) qui existe en version locale, client/serveur sous Windows, Linux et
mobile ces versions sont compatibles entre elles.
el
Pour le développement
pement de notre application nous avons choisi la version 18 de Windev
mobile, la figure suivante montre
ontre l’interface principale de Windev Mobile 18.
18
Fig III.1 : Interface principale de Windev Mobile 18.
18.
Le volet "Analyse" affiche l'analyse (description des fichiers de données et des rubriques) en
cours d'édition et permet de manipuler la description des fichiers de données ou des rubriques.
L'analyse affichée correspond à la dernière analyse générée et utilisable dans l'application.
L’analyse utilisée dans notre application exploite plusieurs bases de données externes, ces
bases de données sont présentées en section III.5.
L’élément fenêtre contient les différentes fenêtres de notre application, une fenêtre représente
une interface intermédiaire entre l’utilisateur et l’application. Ces interfaces sont présentées
en section III.6.
Table Bénéficiaire : Cette table contient les informations sur les bénéficiaires.
Nom Cod Type de donnée
Code bénéficiaire BENCOD VA6
Désignation bénéficiaire BENRSO VA80
Adresse bénéficiaire BENADR VA80
Téléphone bénéficiaire BENTEL VA20
Fax bénéficiaire BENFAX VA20
Email bénéficiaire BENML VA20
Responsable BENNRS VA80
bénéficiaire
Tab III.1 : Table bénéficiaire
Table Fournisseur : Cette table contient les informations sur les fournisseurs.
Nom Cod Type de donnée
Code fournisseur FOUCOD VA6
Désignation fournisseur FOURSO VA80
Adresse fournisseur FOUADR VA80
Fax fournisseur FOUFAX VA20
Téléphone fournisseur FOUTEL VA20
Email fournisseur FOUML VA20
Table Magasin : Cette table contient les informations sur les magasins mobiles.
Nom Cod Type de donnée
Code magasin MGSCOD VA6
Numéro agent AGENUM N8
Désignation magasin MGSRSO VA80
Table AFFECTART : Cette table contient les informations sur les bons de chargements ou
de bon de livraisons.
Table Agent : Cette table contient les informations sur les agents.
Nom Cod Type de donnée
Numéro agent AGENUM N8
Code magasin MGSCOD VA6
Nom agent AGENOM VA40
Prénom agent AGEPRENOM VA40
Téléphone agent AGETEL VA20
Fonction agent AGEFON VA40
Nom utilisateur AGEUSER VA20
Mot de passe AGPSW VA20
Tab III.8 : Table Agent.
Table Référence : Cette table contient les informations sur les référencess.
Le Menu est affiché après authentification, Il est composé d’une barre de menu
horizontale de sept boutons, chaque bouton permet l’accès à une fonction de
l’application et un bouton « Fermer » pour quitter l’application.
Une fenêtre de bon de chargement viérge s’affiche en cliquant sur le bouton « Bon de
chargement » dans la fenêtre Menu. Cette fenêtre permet :
Une fenêtre de bon de livraison viérge s’affiche en cliquant sur le bouton « Bon de
livraison » dans la fenêtre Menu. Cette fenêtre permet :
Fig III.10
III. : Interface articles en stock mobile.
La fenêtre « Journal des chargements » est affichée en cliquant sur le bouton : « Journal
des chargements » dans la fenêtre Menu. Elle contient
contie un champ de saisie dénommé « Date ».
Si l’utilisateur souhaite connaitre les chargements effectués à une date donnée, il doit saisir
une date dans ce champ.
En cliquant sur le bouton « Afficher » le système affiche les bons des chargements effectués
durant cette journée. Les bons affichés contiennent les informations suivantes :
La fenêtre «Journal des livraisons » est affichée en cliquant sur le bouton : « Journal des
livraisons » dans la fenêtre Menu. Elle contient
contie un champ de saisie dénommé « Date »
Si l’utilisateur souhaite
haite connaitre les livraisons effectuéess à une date donnée, il doit saisir une
date dans ce champ.
En cliquant sur le bouton « Afficher » le système affiche les bons de livraisons effectuées
durant cette journée. Les bons affichés contiennent les informations suivantes :
III.5.9
.9 L’interface changement mot de passe
III.6 Conclusion
Dans ce chapitre nous avons au premier lieu, présenté l’environnement, le langage de
programmation et les outils que nous avons utilisé pour implémenter notre application. Par la
suite, nous avons présenté les tables de la base de données et les différentes interfaces de notre
application.
Conclusion générale
Les perspectives envisagées pour faire évoluer ce projet sont nombreuses dont les plus
importantes sont :
Ce projet nous a enrichi par les connaissances qui nous a permis d’acquérir en UML,
Android, Windev Mobile, d’une part et d’autre part par l’expérience du travail dans une
société d’informatique et la fréquentation du domaine de travail durant toute la durée de la
réalisation de notre projet.
Références bibliographique
[1] http://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation_mobile
[2] http://www.frandroid.com/quest-ce-que-android
[3] http://socialcompare.com/fr/comparison/android-versions-comparison
[4] https://search?q=architecture+android
[5] http://openclassrooms.com/courses/creez-des-applications-pour-android/l-architecture-d-
android
[6] http://mathias-seguy.developpez.com
[7] http://fr.wikipedia.org/wiki/Android_SDK
[8] http://fr.wikipedia.org/wiki/Eclipse_%28projet%29
[9] http://developer.android.com/tools/help/adt.html
[10] http://en.wikipedia.org/wiki/Android_Studio
[11] http://www.pcsoft-windev-webdev.com/conceptsWM18.pdf
[12] http://www.additeam.com/SSII/uml/
[13] https://www.projet-plume.org/ressource/uml
[14] http://fr.wikipedia.org/wiki/UML_%28informatique%29
[15] http://fr.wikipedia.org/wiki/Diagramme_des_cas_d%27utilisation
[16] UML 2 par la pratique étude de cas et exercices corrigés 5emme eddition EYROLLES,
Pascal Roques.