Vous êtes sur la page 1sur 32

République Algérienne Démocratique et Populaire

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

Université Abderrahmane Mira de Bejaia

Faculté des Sciences Exactes

Département d’Informatique

Projet de fin de cycle


En vue d’obtenir le diplôme de licence académique en Système
Informatique

Thème

Conception et Réalisation d’une Application pour la Gestion de


Stock.

Réalisé par :

Mazioua Dalia Encadré par Mr. Khaled Bedjou


Djouder Skoura
Ferroudj Manel Devant les membres du jury :
Kacimi Hanafi Examinatrice K. Khoulalene.
Mouhou Dihia Examinateur F. Mir.
Hammiche Said
« Promo 2018/2019 »

0
Remerciements

Nous remercions en premier lieu le bon Dieu de nous avoir donnés les moyens et l’énergie
mais surtout la volonté nécessaire pour la réalisation de ce modeste travail.

Et nous adressons nos vifs remerciements et notre gratitude à :

Nos chers parents pour tous les sacrifices consentis à notre égard ;

Nous tenons à adresser nos plus profonds et sincères remerciements à notre encadreur
Mr. Khaled Bedjou de nous avoir encadré et guidé tout au long de ce projet ;

Nous tenons à remercier tous ceux qui nous ont soutenu et aidé dans la réalisation de ce
mémoire de près ou de loin.

Nous remercions, enfin, les membres du jury qui ont accepté d’évaluer ce mémoire.

- Table des matières -


1
Remerciments………………………………………………………………………………..1
Table des matières ................................................................................................................2
Table des figures ..................................................................................................................4
Liste des abréviations ..........................................................................................................5
Introduction générale……………………………………………………………..……….6

1-Presentation du projet ……………………………………………………………....7


1.1 Problématique…………………………………………………………………………..7
1.2 Objectifs…………………………………………………………………………………7
1.3 Solution proposé…………………………………………………………………...……7
1.4 Généralité sur code a barre…………………………………………………………….8
1-4-1 Définition de code a barre……………………………………..…………….......8
1-4-2 Typologies des codes-barres…………………………………………… …….8
a) Unidimensionnel…………………………………………………………………8
b) Bidimensionnels…………………………………………………………............9
b.1) Les codes empiles…………………………………………………………..9
b.2) Les codes bidimensionnelles……………………………………………….9

1-4-3 Appareil de lecteur de code-barres …………………………………………….10

1-4-4 Avantages du code-barres……………………………………………………….10

1-4-5 Le code-barres utilisé dans l’implémentation………………………………..11

2-Analyse et conception……………………………………………………..............11
2-1 Analyse………………………………………………………………………………..11

2-1-1 Analyse des besoins…………………………………………………..................11

2-1-2 Langage de modélisation UML………………………………………………….11

2-1-3 Processus up…………………………………………………………………….12

2-1-4 Identification des acteurs……………………………………………………….12

1-Administrateur..…………………………………………………………………12

2-Directeur……………………………………………………………..................12

3-Responsable dépôt………………………………………………………………13

4-Chef magasin……………………………………………………………………13

5-Magasinier……………………………………………………………………..13

2-1-5 Besoins fonctionnels et non fonctionnels ………………………………………13

A) Besoins fonctionnels………………………………………………………….13
B) Besoins non fonctionnels…………….………………………………………14

2-1-6 Diagrammes de cas d’utilisation………………………………….………………14

2-1-7 Diagramme de séquence…………………………………………………………16


2
2-2 Conceptions……………………………………………………………………….19
2.2.1 Diagramme de classe…………………………………………………...............19
2.2.2 Diagramme de modèle de domaine……………………………………………..21
2.2.3 Modelés relationnels de données ………………………………………………22
3 Implémentation ………………………………………………………………….23

3-1 Les outils et les langages utilisé………………………………………………….23


1- Outille utilisé…………………………………………………………………23
2- Langage utilisé……………………………………………………….………25

3-2 Présentations de l’application …………………………………………………….26

1- Interface accueil ………………………………….…………………………..26

2-Interface d’authentification …………………………………………………….27

3-Interface de gestion des clients…………………………………………………..27

4-Interface Etablir facture…………………………………………………………..28

Conclusion et perspectives………………………………………………………………29

Reference Bibliographique…………… ………………………………………………30

- Table des figures -


Figure 1-1 : code barre (1D)…………………………………………………………………...8
3
Figure 1-2 : code barre (2D)…………………………………………………………………...9

Figure 1-3 : appareil de lecture……………………………………………………………….10

Figure 2-1 : Unified Modeling Language (UML)…………… ………………………………11

Figure 2-2 : Unified Process (UP)…………… ……………………………………………...12

Figure 3-1 : ArgoUML………………………………………………………………………..23

Figure 3-2 : MYSQL………………………………………………………………………….23

Figure 3-3 : wampServeur……………………………………………………………………24

Figure 3-4 :NetBeans…………………………………………………………………………24

Figure 3-5 : JDBC……………………………………………………………………………25

Figure 3-6 : LangageJava……………………………………………………………………..25

Figure 3-7 : SQL……………………………………………………………………………...25

Figure 3-8 : Code barre générer par l’application………………………….………...………26

Figure 3-9 : Interface accueil …………...……………………………………………………26

Figure 3-10 : Interface d’authentification………………………………………...…………..27

Figure 3-11 : Interface de gestion des clients………………………………………………...27

Figure 3-12 : établir facture……………...……………………………………………….…..28

- Liste des abréviations -


 BDD :Base De Données.
 DPM: Direct part mark.
4
 EAN : European Article Numbering.
 GS1: Global standards.
 JDBC : Java Database Connectivity.
 MMCC: Mobile multi-colored composite.
 MySql : My Structured Query Language.
 PHP: Hypertext Preprocessor.
 SGBD :System de Gestion de Base de Données.
 SQL :Structured Query Language
 UML: Unified Modeling language.
 UP :Unified Process.

Introduction Générale

5
Avant l'invention de l'ordinateur, les entreprises enregistraient toutes les informations
manuellement sur des supports en papier ce qui n’était pas vraiment pratique car cela créé
beaucoup de problèmes tel que la perte de temps considérable dans la recherche de ces
informations ou la dégradation de ces dernières. Mais Une entreprise étant déterminée par une
concurrence acharnée, elle est dans l'obligation de respecter les exigences de productivité, de
qualité, de coût et de délai pour répondre au mieux aux besoins des clients.

-En effet, les stocks entraînent avec le temps des coûts de plus en plus importants. Le fait de
maintenir une grande quantité de stocks peut provoquer un effet nuisible sur la gestion
financière d’une entreprise. D’un autre côté, ces stocks sont importants pour éviter les risques
reliés aux délais de livraison et aux comportements changeants des utilisateurs. C’est là où les
gestionnaires doivent trouver un bon équilibre entre les niveaux de leurs stocks afin de réduire
les coûts, en réduisant les niveaux d'inventaire sans risquer l'interruption de vente en raison de
rupture de stock.

Pour éviter ces problèmes à présent l'ordinateur est le moyen le plus sûr pour le traitement et
la sauvegarde de l'information. Cette invention a permis d'informatiser les systèmes de gestion
de données des entreprises, ce qui est la partie essentielle dans leur développement
aujourd'hui.

C’est pour ça que notre projet de fin de cycle a pour objectif de concevoir et mettre en œuvre
une application desktop de gestion de stocks avec code a barre interactive, fiable et facile à
intégrer dans l'environnement de travail des entreprises. Pour cela, notre choix s'est porte sur
la Méthode de développement logiciel UP (Processus Unified) et UML (Unified Modeling
Language) comme langage de modélisation.

Nous avons commencé notre projet par la présentation de la problématique et les objectifs
visés par notre travail. Après nous avons fait une analyse et conception détaillée de notre
application en présentant les spécifications des besoins et les cas d'utilisation avec les
diagrammes nécessaires. Ensuite il y a l'implémentation et la réalisation de notre application,
ou nous avons défini tous les outils qui nous ont permis de concevoir notre application
desktop et quelques interfaces y seront présentées. Enfin, notre projet s’achèvera par une
conclusion générale.

6
1-Présentation du projet 
Dans cette partie on présente quelques problèmes avec objectifs et solutions qui
concernent des applications de gestion de stock.

1-1 Problématique 
La gestion des fournitures et des informations dans n’importe quelle entreprise
nécessite une organisation pointue et une sécurité accrue, surtout dans le domaine de la
gestion de stocks.

Une organisation bureaucratique de la gestion des stocks entraine plusieurs problématiques


parmi elle :

 Une lourdeur dans la gestion quotidienne du stock en utilisant des fiches et des
documents en papiers.
 Une faible sécurité des informations concernant les documents.
 Une difficulté dans la recherche de documents qui engendre une perte de temps.
 La non disponibilité des informations en temps réel, ce qui peut engendrer une perte
d’argent.
 Risque de ruptures de stocks.
 Des erreurs de calcul, erreur administratives et non traçabilité des taches réaliser.

1-2 Objectifs
Les objectifs de la gestion des stocks sont précisément dirigés vers une performance
accrue pas une meilleure maitrise des stocks telle :

 Avoir l'état du stock d'un produit en temps réel.


 Suivre automatiquement les entrées et sorties des produits.
 Etablissement et impression des bons de commande, bons de livraison et
factures d’une manière automatique via l’application.
 Avoir les chiffres d’affaire par client et par produit.
 Etablissement et impression des devis automatiquement.
 Une traçabilité (personnes, modification apportées avec dates précises) des
taches effectuées au niveau de l’application.
1-3 Solution proposée 
Nous proposons une application de bureau client-serveur qui permettra aux différents
acteurs (administrateur, directeur, responsable dépôt, chef magasin, magasinier) d’accéder
séparément à l’application et d’utiliser son interface spécifique à laquelle il aura accès à partir de
l’interface d’authentification ; en s’authentifier l’utilisateur sélectionné dans le champs type
utilisateur. Cette application garantira :

- Une gestion souple et rapide (ajout, modification et suppression) des produits, des clients et
des fournisseurs.

- Une sécurité d’accès et une traçabilité et historiques de toutes les tâches effectuées sur
l’application.

- Une conception qui permet de faire sortir les états de stocks (liste de tous les produits, listes
des entrées, listes des sorties…).

7
Le code a barre a pour but d’aider les entreprises dans la gestion des stocks dans la
recherche des produits, c’est pour cela quand la ajouté dans notre application.

1-4 Généralités sur les Code-barres 


De nos jour le code a barre représente un gain de temps énorme grâce au lecteur de
code a barre. Il est désormais facile de retrouver un produit sans avoir besoin de saisir les
informations dans l’application, elles s’affichent automatiquement. Contrairement à ce que son
nom suggère « le code à barres n’a pas été universellement adopté, c’est à partir de 1977 que les
européens ont adopté la codification EAN 13. Il existe aujourd’hui des codes EAN 8 et EAN 13,
composés respectivement de 8 ou 13 chiffres ; le premier est employé sur des produits de petite
taille tandis que le second apparaît sur tous les autres produits ». [W1]

1-4-1 Définition du code-barres 


Le code a barre Est la traduction symbolique d’une donnée numérique ou alphanumérique
sous la forme de barre et d’espace dans l’épaisseur varie en fonction des caractéristiques de la
donnée.

Si les barre sont remplacé par des carrés ou des points, il est considéré comme bidimensionnel.

Les codes barre portent des indications concernant le pays d’où les produits proviennent. [W2]

1-4-2 Typologies des codes-barres 


On distingue deux types généraux de codes-barres :

a) Unidimensionnel (1D)
Ces codes sont ceux représentés par une série de lignes parallèles (voir figure1-1)
d'épaisseur variable. Leur lecture est unidimensionnelle. Selon la technologie de lecture utilisée,
le décodage pourra se faire de façon unidirectionnelle ou bidirectionnelle afin de confirmer le
premier décodage. [W3]

Figure 1-1 : code barre (1D)

-En voici quelques types de codes-barres unidimensionnels (1D)

 Les codes-barres EAN : EAN 8, EAN 13, Code Universel des Produits (CUP).
 Le code-barres Monarch (alias 2 parmi 7, 2 of 7, Ames Code, Rationalized Codabar) :
format obsolète utilisé dans les bibliothèques.
 Le Code 11 : format obsolète utilisé en téléphonie.
 Le Code 39 : utilisé dans le secteur automobile, constructeurs et équipementiers.
 Le Code 93 : utilisé pour 'acheminement du courrier.
8
 Le Code128 : utilisé pour des besoins de logistique et de traçabilité.
 Le 2 parmi 5 : utilisé par les postes de canada.
 Le Code Plessey : utilisé pour les magasins à rayons, les entrepôts et les inventaires.
 Le code GS1  : utilisées dans la chaîne logistique.
 Le code PostBar : utilisé par Postes Canada.
 Le code Postnet : utilisé par la poste américaine.

b) Bidimensionnels (2D)
Ces codes utilisent une variété de symboles (rectangles, points, hexagones et autres
formes géométriques). Cette forme matricielle permet d'enregistrer davantage d'informations
(voir figure 1-2). On distingue deux familles de codes 2D : [W3]

b.1) Les codes empilés Il s'agit de codes 1D empilés (Code one, PDF417, etc.).

Ces codes peuvent aussi être lus par les lecteurs 1D en faisant un balayage du code.

b.2) Les codes bidimensionnels Il s'agit de codes dont les motifs constituent une forme souvent
rectangulaire ou carrée qui ne peuvent être lus que par des technologies de prise de photos. Voici
quelques types de codes-barres bidimensionnels (2D).

 Le PDF-417 : Portable Data File, code avec une grande capacité de stockage.
 Le Code 1 : de domaine public, utilisé pour les étiquettes médicales et l'industrie du
recyclage.
 Le code One : utilisé dans les industries électronique et chimique.
 Le DataMatrix surnommé Tag pour certaines applications.
 Le DPM : Direct Part Mark, code DataMatrix gravé dans la matière comme le métal, le
verre, le caoutchouc…
 Le Flashcode : spécification issue de DataMatrix.
 Le MaxiCode : de domaine public, utilisé par United Parcel Service.
 Le Code Aztec : utilisé par les compagnies ferroviaires.
 Le Bokode : code expérimental, prévu pour contenir beaucoup plus d’informations que
les autres codes-barres tout en étant bien plus petit.
 Le Code QR : Quick Response, conçu pour être décodé rapidement, stocker une grande
quantité d'informations et être lu par plusieurs types d'appareils.
 Le High CapacityColorBarcode : créé par Microsoft.
 Le MMCC : Mobile Multi-Coloured Composite

Figure 1-2: Code barre (2D)

9
1-4-3 Appareil de lecture de code-barres 
Pour décoder un code-barres, il faut un lecteur relié à un ordinateur. Un lecteur de codebarres
est un appareil électronique servant à lire les informations stockées sous la forme de codes-barres
(voir figure 1-3 ) . Il est l'ancêtre du lecteur de code QR. Tout d'abord implémentés sous la forme
de crayons optiques avec lesquels l'utilisateur devait manuellement balayer le code à une vitesse
aussi constante que possible, ils ont ensuite évolués grâce à l'application de miroirs mobiles, vers
des scanners automatiques. [W4]

Figure 1-3 : appareil de lecture.

1-4-4 Avantages du code-barres


Les codes-barres procurent des avantages pour tous les opérateurs économiques
(producteurs, grossistes, distributeurs...) intervenant tout le long de la chaîne commerciale et aux
consommateurs. Ils permettent d’assurer :

- Une connaissance plus rapide des ventes réalisées pour un produit par tous ses partenaires
commerciaux.

- Une meilleure traçabilité des produits commercialisés.

- Une meilleure gestion des stocks et rationalisation de la gestion des entrepôts.

- Un meilleur contrôle sur la distribution des produits.

- L’élimination des erreurs d’inventaire.

- L’amélioration du service au client.

- Un meilleur service au consommateur.

- Une fluidité des opérations et temps d’attente réduit au niveau des caisses.

- La disparition des erreurs de prix.

10
1-4-5 Le code-barres utilisé dans l’implémentation 
Le code-barres utilisé dans notre travail est de type unidimensionnel c’est un type de code-
barres à une seule dimension.

-On a choisi un code a une dimension car facilite la traçabilité des produit

2. Analyse et conception 
Nous présentons dans cette partie, deux phases du processus UP qui sont : L’analyse et la
Conception. Nous commençons par l’analyse ensuite la conception.

2-1 Analyse
Dans cette 1ère partie, nous allons présenter le langage de modélisation UML et le processus UP,
qu’on a utilisé pour notre application avec les acteurs et quelques diagrammes.

2-1-1 Analyse des besoins 


Afin de spécifier les besoins fonctionnels du futur système, l’analyser et le concevoir par la
suite, nous avons choisi d’utiliser UML (Unified Modeling Language) comme langage de
modélisation car il est le plus adapté à notre application et UP (unified process ) comme processus
de développement parce-que c’est le plus utilisé dans les mini-projet .

2-1-2 Langage de modélisation UML 


UML se définit comme un langage de modélisation graphique et textuel destiné à comprendre et
décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles,
concevoir des solutions et communiquer les divers aspects d’un système d’information.
(Voir figure 2-1)

Ce langage est certes issu du développement logiciel, mais pourrait être appliqué à toute science
fondée sur la description d’un système.

UML modélise l'ensemble des données et des traitements en élaborant des différents diagrammes.
[W5]

Figure 2-1: unified modeling language(uml).

11
2-1-3 Processus up
Le processus unifié est un processus de développement logiciel, il regroupe les activités à
mener pour transformer les besoins d’un utilisateur en système logiciel (voir figure 2-2). L'objectif
d'un processus unifié est de maîtriser la complexité des projets informatiques en diminuant les
risques. C'est un patron de processus pouvant être adapté à une large classe de systèmes logiciels,
à différents domaines d'application, à différents types d'entreprises, à différents niveaux de
compétence et à différentes tailles de l'entreprise. [W6]

Figure 2-2 : processus up

Suivant le processus up, nous allons nous nous sommes limités à 3 types de Diagrammes qui
sont :

Diagramme de cas d’utilisation.

Diagramme de séquence.

Diagramme de classe.

On a choisi Le diagramme de cas d’utilisation parce qu’il donne une version globale de
comportement d’un système logiciel, et pour le diagramme de séquence il aide a représenté
graphiquement les interactions entre les acteurs et les systèmes.

Enfin le diagramme de classe est utilisé pour mettre en relation les classes et les interfaces du
système.

2-1-4 Identification des acteurs 


Un acteur représente un rôle joué par une personne qui interagit avec le système.

Alors nous avons déterminé Cinq acteurs principaux interagissant avec le système qui
sont :

1. Administrateur : C’est la personne qui gère les comptes utilisateurs et assure la


configuration générale de l’application.

12
2. Directeur : supervise l’ensemble des activités et possède les mêmes droits
d’utilisation que tous les acteurs du système.

3. Responsable dépôt : C’est la personne qui gère les magasins, les fournisseurs et le
stock des produits, valide la facture et les bons fournisseurs.

4. Chef magasin : C’est la personne qui peut gérer les clients et les produits du magasin
et établit la facture client.

5. Magasinier : C’est la personne qui établit le devis, la facture et les bons clients et peut
consulter les produits.

2-1-5 Besoins fonctionnels et non fonctionnels 


Nous présentons dans ce qui suit tous les besoins fonctionnels classés par acteur ainsi
que les besoins non fonctionnels du système :

A) Besoins fonctionnels

Les besoins fonctionnels expriment une action que doit effectuer le system en réponse à une
demande.
L’analyse des besoins fonctionnels nous a amené à décomposer ces besoins pour chaque
acteur de notre système en Cinq parties principales :

Fonctionnalités Administrateur : l’administrateur doit pouvoir :

 S’authentifier afin d’accéder à l’interface.


 Ajouter, modifier, supprimer, rechercher, bloquer et réactiver un compte utilisateur.
 Assurer la configuration générale du système.
 Ajouter un dépôt.
 Désigner un responsable dépôt.

Fonctionnalités Directeur : le directeur doit pouvoir :

 S’authentifier afin d’accéder à l’interface.


 Consulter, ajouter, modifier, rechercher ou supprimer un fournisseur.
 Consulter, ajouter, modifier ou supprimer un client de la liste des clients.
 Consulter les statistiques et le chiffre d’affaire par client et par produit.

Fonctionnalités Responsable de dépôt : Le responsable de dépôt doit pouvoir :

 S’authentifier afin d’accéder à l’interface.


 Consulter, ajouter, modifier, rechercher ou supprimer un fournisseur.
 Ajouter un magasin.
 Désigner un chef magasinier.
 Imprimer et valider la facture et les bons fournisseurs.
 Imprimer et Etablir le bon d’achat fournisseur.

Fonctionnalités Chef magasin : Le gérant doit pouvoir :

 S’authentifier afin d’accéder à l’interface.

13
 Consulter, ajouter, modifier, rechercher ou supprimer un client et un produit du
magasin.
 Imprimer et Etablir la facture client.
 Imprimer et valider le bon d’achat client.

Fonctionnalités Magasinier : Le magasinier doit pouvoir :

 S’authentifier afin d’accéder à l’interface.


 Consulter et rechercher les produits du magasin.
 Imprimer et établir un bon de commande, un bon de livraison client.
 Etablir une liste des produits avec des prix.

B) Besoins non fonctionnels

Il s’agit des besoins qui caractérisent le système. Ce sont des besoins en matière de
performance ou de type matériels. Ces besoins peuvent concerner les contraintes
d’implémentation.

Dans le cadre de ce travail, c’est une application desktop client/serveur qui sera installé dans
un réseau local (LAN) et qui devra être extensible, c’est-à-dire qu’il pourra y avoir une
possibilité d’ajouter ou modifier de nouvelles fonctionnalités, et devra aussi répondre aux
caractéristiques suivantes :

 L’accès doit se faire au moyen d’un numéro utilisateur et d’un mot de passe.
 Le système doit être interactif et fiable.
 L’interface doit être simple à cerner par l’utilisateur.
 Chaque produit doit posséder un code barre unique

2-1-6 Diagramme de cas d’utilisation 


C’est un langage qui permet une meilleure compréhension du système et qui désigne
l’interface entre les différents acteurs d’un projet.

Ci-dessous nous avons représenté le diagramme de cas d’utilisation globale qui décrit
l’ensemble des cas d’utilisation associés aux différents acteurs de notre système. [W7]

14
Diagramme de cas d’utilisation globale

15
2-1-7 Diagramme de séquence 
Les diagrammes de séquences sont la représentation graphique des interactions
entre les acteurs et le système selon un ordre chronologique. Ci-dessous nous avons choisis de
représenter que trois diagrammes de séquences qui sont crucial pour notre application. [W8]

Diagramme de séquence s’authentifier

16
Diagramme de séquence ajout d’un produit

17
Diagramme de séquence recherche

18
Après avoir fait l’analyse des besoins de notre application, et élaboré les différents
digrammes de cas d’utilisation et de séquences qui représentent les différentes fonctionnalités
et interactions entre les acteurs et le système, nous entamons la partie Conception de notre
solution à travers l’élaboration du diagramme de Classe de Conception, le modèle du domaine
et le modèle relationnel.

2-2-Conception 
Dans cette partie, nous présentons la conception de notre application, en illustrant le
diagramme de Classe de Conception, le modèle du domaine et le modèle relationnel.

2-2-1 Diagramme de classe 


Le diagramme de classe est l'un des types de diagrammes UML les plus utiles, car ils
décrivent clairement la structure d’un système particulier en représentant la structure d’une
application orientée objet en montrant les classes et les relations qui s’établissent entre elles.
[W9]

Ci-dessous nous avons représenté le diagramme de classe qui décrit la constitution de notre
système.

19
Diagramme de classes

20
2-2-2 Diagramme de modèle de domaine 
Le diagramme de modèle de domaine est le modèle conceptuel d’un domaine. Il
comprend tant le comportement que les données. [W10]

Modèle de domaine

21
2-2-3 Modèle relationnel de données 
Le modèle relationnel de données est une manière de modéliser les relations existantes
entre plusieurs informations, et de les ordonner entre elles. Nous avons fait le passage vers le
modèle relationnel en respectant les règles de passage. [W11]

Utilisateur (id_U, Type_U, password_U , nom_U, prenom_U, email_U, adresse_U, tel_U,


statut_U, etat_U)

Dépôt (id_Dep, nom_dep, adr_dep, ville_dep, superficie_dep, fax_dep, #id_u)

Client (id_Cl, prenom_cl, nom_cl, tel_cl, email_cl, #id_u)

Produit (id_P, nom_p, quantité_réelle, quantité_virtuelle, prix_achat, prix_vente, poids, taille,


designiation, description, marque, type, code_barre, seriel_nbr, seuil, mesure, #id_ct)

Magasin (id_mag, nom_mag, adr_mag, ville_mag, superficie_mag, fax_mag, #id_dep, #id_u)

Produit_stocké ( #id_mag, #id_p , quantité_ps)

Fournisseur (id_f, prenom_f, nom_f, tel_f, email_f, fax_f, #id_u ,)

Vent ( #id_f, #id_p)

Bon_commande_f ( id_bf, date_bf, etat_bf,#id_f)

Ligne_commande_f ( #id_bf, #id_p, quantité_lignef)

Bon_reception_f ( id_r, date_r, etat_r, #id_bf)

Facture_f (id_ff, date_ff, etat_ff, montant_ff, #id_r)

Catégorie ( id_ct, nom_ct, description_ct)

Bon_commande_c (id_bc, date_bc, etat_bc, #id_cl)

Ligne_commande_c ( #id_bc, #id_p , quantité_lignec)

Bon_livraison_c ( id_l, date_l, etat_l, #id_bc)

Facture_c ( id_fc, date_fc, etat_fc, montant_fc, #id_l)

22
Après avoir fait le diagramme de classe et élaboré la relation entre les différents de ces
dernières, on a ensuite réalisé le modèle de domaine et le modèle relationnel de données qui
modélise les relations existantes entre plusieurs informations, nous entamons la partie
implémentation de notre solution à travers l’élaboration des différent outils et langages utilisé
dans notre application et une brève de notre application.

3. Implémentation 
Dans cette partie, Nous allons essayer de projeter la lumière sur les grandes étapes de
la réalisation de notre application, en commençant par le choix des outils de développement et
langage utilisés en arrivant à la présentation des différentes fonctionnalités offertes.

3-1 Outils et langages utilisé 


Nous allons présenter les différents outils et langages utilisés dans le développement
de
notre application.

1-Outils utilisés 
Dans cette partie nous avons défini les outils utilisés dans notre programmation.

 ArgoUML 
ArgoUML est un logiciel libre de création de diagrammes UML. Programmé en Java, il
est édité sous licence EPL 1.0. Il est multilingue, supporte la génération de code et l'ingénierie
inverse (voir figure 3-1). [W12]

Figure 3-1 : ArgoUML

 MYSQL 
MYSQL est un système de gestion de bases de données relationnelles (SGBDR). Il est
distribué sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de
base de données les plus utilisés au monde, autant par le grand public (applications web
principalement) que par des professionnels, en concurrence avec Oracle, PostgreSQL et
Microsoft SQL Server (Voir figure 2-3). [W13]

23
Figure 3-2 : MYSQL

 WampServeur 
WampServeur est une plateforme de développement Web de type WAMP, permettant de
faire fonctionné localement (sans avoir à se connecter à un serveur externe) des scripts PHP.
WampServer n'est pas en soi un logiciel, mais un environnement comprenant trois serveurs
(Apache, MySQL et MariaDB), un interpréteur de script (PHP), ainsi que phpMyAdmin pour
l'administration Web des bases MySQL (voir figure 3-3) . [W14]

Figure 3-3 : wampserver.

 NetBeans 
NetBeans est un environnement de développement intégré (EDI), placé en open source par
Sun en juin 2000 sous licence CDDL (Common Development and Distribution License) et
GPLv2. En plus de Java, NetBeans permet la prise en charge native de divers langages tels le
C, le C++, le JavaScript, le XML, le Groovy, le PHP et le HTML, ou d'autres (dont Python et
Ruby) par l'ajout de greffons. Il offre toutes les facilités d'un IDE moderne (éditeur avec
coloration syntaxique, projets multi-langage, refactoring, éditeur graphique d'interfaces et de
pages Web) (voir la figure 3-4). [W15]

Figure 3-4 : NetBeans.

24
 JDBC
JDBC Est une interface de programmation créée par Sun Microsystems, depuis racheté
par Oracle Corporation, pour les programmes utilisant la plateforme Java. Elle permet aux
applications Java d'accéder par le biais d'une interface commune à des sources de données
pour lesquelles il existe des pilotes JDBC. Normalement, il s'agit d'une base de données
relationnelle, et des pilotes JDBC sont disponibles pour tous les systèmes connus de bases de
données relationnelles (voir la figure3-5) [W16]

Figure 3-5 : JDBC

2 Langages utilisés 
Dans cette partie nous avons défini les langages utilisés dans notre programmation.

 Langage Java 
Java est un langage de programmation orienté objet.

La particularité et l'objectif central de Java est que les logiciels écrits dans ce langage doivent
être très facilement portables sur plusieurs systèmes d’exploitation tels que Unix, Windows,
Mac OS ou GNU/Linux, avec peu ou pas de modifications, mais qui ont l'inconvénient d'être
plus lourd à l'exécution (en mémoire et en temps processeur) à cause de sa machine virtuelle.
Pour cela, divers plateformes et frameworks associés visent à guider, sinon garantir, cette
portabilité des applications développées en Java (Voir figure 3-6). [W17]

Figure 3-6 : langage java

 SQL 
SQL est un langage informatique destiné à interroger ou piloter une base de donnée, La
partie langage de manipulation des données de SQL permet de rechercher, d'ajouter, de
modifier ou de supprimer des données dans les bases de données relationnelles (Voir figure 3-
7). [W18]

25
Figure3-7 : SQL

 Bibliothèques externes 

Connectcodebarrecodefontlibrary.jar : permet de générer le code a barre

Figure 3-8 : code barre générer par l’application

MySQL-connector-java.jar: permet de connecter la base de données à l’application.

jfreechart-1.0.14.jar : permet de faire des graphes.

3-2 Présentation de l’application 


Dans cette parie nous allons présenter le contenu des principales interfaces de notre
Application « Gestion de stock » :

1. L’interface d’accueil 

Au démarrage de l’application la fenêtre ci-dessous apparait.

Figure 3-9 : interface accueil.

L’application se charge pour accéder à l’authentification.


26
2. Interface d'authentification 

Cette figure représente l’interface d’authentification qui permet à l’utilisateur


d’introduire un identifiant et un mot de passe propre à lui pour pouvoir accéder à
l’application, cette étape est pour sécuriser les données et protéger l’application.

Figure 3-10 : interface d’authentification.

Si le système valide les données entrer par l’utilisateur, l’interface concerner sera affichée ou
il pourra accéder aux différentes fonctionnalités.

3. Interface gestion des clients 

La fenêtre ci-dessous permet à l’utilisateur de gérer les clients en renseignant.

27
Figure 3-11 : interface de gestion des clients.

Elle permet aussi de consulter, ajouter, modifier, supprimer et imprimer.

4-Interface établir une facture 

L’interface ci-dessous permet à l’utilisateur d’établir une facture en renseignant toutes


les informations nécessaires.

Figure 3-12 : établir facture.

Elle permet aussi de consulter, ajouter, modifier, supprimer et imprimer.

28
Conclusion et perspective 
Dans ce travail, nous nous somme intéressé au développement d’une application de
gestion du stock. Notre application permet aux magasiniers de garder une trace sur tous les
mouvements effectués (entrée et sortie des produits,) dans les stocks de l’entreprise. Avec ses
mouvements. L’application permet aussi la gestion des clients, des fournisseurs, ainsi que la
gestion des factures des achats et des ventes.

La conception du système de notre application a été faite en utilisant le langage UML et en se


basant sur le processus UP. L’implémentation de l’application a été réalisée sous
l’environnement Java. Dans ce projet de fin cycle, nous avons essayé de réaliser la majorité
des objectifs visée par notre étude.

Au final, les recherches et les études réalisées toute au long de ce projet de fin d’études, nous
ont permis de consolider nos connaissances dans le domaine de gestion de stock, mais aussi
d’acquérir de nouvelles connaissances à-propos de l’utilisation des codes à barres et d’enrichir
nos connaissances dans d’autres domaines variés à l’instar de la modélisation UML, la
programmation sous Java et la gestion des bases de données.

Bien que les objectifs que nous avons tracés lors de la réalisation de ce projet ont été réalisés
avec succès, il reste certains points à perfectionner et d’autres fonctionnalités à développer,
comme :

- Les chiffres d’affaires.

- Prendre en considération le coté Fournisseur (Commande, Livraison et Facturation).

- L’intégration de l’historique dans notre application.

29
- Références Bibliographique -
Sites web :

[W1] https://www.gralon.net/articles/materiel-et-consommables/materiels-
industriels/articlele-code-barres-histoire-d-une-invention-3942.htm.........................................8

[W2]  https://www.futura-sciences.com/tech/definitions/technologie-code-barres-11112........8

[W3]  https://fr.wikipedia.org/wiki/Code-barres........................................................................8

[W4]  https://fr.wikipedia.org/wiki/Lecteur_de_code-
barres....................................................10

[W5]  https://fr.wikipedia.org/wiki/UML_(informatique) .......................................................11

[W6]  https://fr.wikipedia.org/wiki/Unified_process................................................................12

[W7]  https:/fr.m.wikipedia.org/wiki/Diagramme_des_cas_d%27utilisation………………..14

[W8]  https://fr.m.wikipedia.org/wiki/Diagramme_de_s%C3%A9quence……………..........16

[W9]  https://www.lucidchart.com/page/fr/tutoriel-sur-les-diagrammes-de-classes……........19

[W10] https://www.fr.m.wikipedia.org/wiki/Mod%C3%A8le-de-domaine...........................21

[W11] https://www.fr.m.wikipedia.org/wiki/mod%C3%A8le_relationnel............................22

[W12]  https://fr.wikipedia.org/wiki/ArgoUML......................................................................23

[W13]  https://fr.wikipedia.org/wiki/MySQL..........................................................................23

[W14]  https://fr.wikipedia.org/wiki/WampServer..................................................................24
30
[W15]  https://fr.wikipedia.org/wiki/NetBeans........................................................................24

[W16]  https://fr.wikipedia.org/wiki/Java_Database_Connectivity.........................................25

[W17]  https://fr.wikipedia.org/wiki/Java_Database_Connectivity.........................................25

[W18] https://www.futura-sciences.com/tech/definitions/informatique-sql-2524..................25 

Ouvrages :

L. Debrauwer, F. Van Der Heyde, UML 2.5 : Initiation, Exemples et Exercice corrigés, ENI,
4e édition, 2016

J. Gaba, D. Gaba, UML 2 : Analyse et Conception, DUNOD, 2016

T. Bouchouchane. Y. Titouah, « Conception et Réalisation d’une Application pour la Gestion


de Stock. Cas d’étude : ALL PLAST », Mémoire de fin de cycle Master, Université A/Mira
Bejaia, Algérie, 2018.

31

Vous aimerez peut-être aussi