Télécharger le fichier pdf d’un mémoire de fin d’études
La valorisation du stock
L’étude de la valorisation du stock se fera à travers l’étude des méthodes de valorisation des stocks. Toutes les méthodes partent de la constatation qu’un stock nul en quantité doit être nul en valeur. De plus, l’administration fiscale exige que le coût de valorisation des articles soit un coût complet. En voici quelque méthode parmi cela :
La méthode FIFO (first in first out) ou PEPS (premier entré premier sorti)
Elle est encore appelée méthode de l’épuisement des lots, elle part du fait que la première unité entrée en stock sera sortie en premier du stock. Même si elle a pour inconvénient de biaiser les coûts de revient car la valeur des articles utilisée est ancienne et les calculs sont complexes, elle présente l’avantage de rapprocher la valeur du stock de la valeur du renouvellement au fur et à mesure de l’épuisement des lots les plus anciens.
La méthode du coût unitaire moyen pondéré (CUMP)
Ce coût présente plusieurs variantes : le coût moyen pondéré après chaque entrée qui est une méthode de valorisation utilisée lorsque l’entreprise pratique un système d’inventaire permanent. Elle est recommandée par l’administration fiscale.
• Le CUMP calculé sur la durée moyenne de stockage : est préconisé lorsque l’entreprise pratique l’inventaire intermittent. La valorisation du stock final est effectuée par le coût moyen des entrées de la dernière période de l’exercice correspondant à la durée moyenne de stockage.
• Une autre variante du CUMP est le CUMP sur le total formé par le stock initial et les entrées de la période. Il s’agit du coût unitaire moyen pondéré calculé à la fin de chaque période.
Exemple d’application d’un logiciel de gestion de stock
Nous allons explorer brièvement un logiciel de gestion de stock déjà sur les marchés.
On s’est donc référer au logiciel SAP écrit en langage C,C++ et ABAP. Ce logiciel est composé de module fonctionnel pour gérer : la logistique, la gestion comptable et les ressources humaines. Celle-ci donc peut à la fois gérer la gestion de stock dont sont intégrés les notions tel que le calcul de besoins, la gestion des achats,… ; mais aussi l’administration des ventes comme les contrats, les commandes des clients,… et il gère aussi les salaires de tous les personnels de l’entreprise.
Ce logiciel est multifonctionnel car il couvre l’ensemble des gestions de l’entreprise et les besoins complets de gestion.
C’est pourquoi, il est attribué avec une licence estimé à 5000$ et doit être raccordé par une formation du logiciel avec 850$ par jour.
A Madagascar, ce logiciel est utilisé par la société de distribution « Shoprite ».
Contexte du projet
Présentation du projet
D’après les enquêtes établies, nous avons pu constater que le déroulement de la gestion d’une boutique est entretenu par cinq personnes. Dont trois s’occupent de gérer les stocks, l’achat des marchandises ; deux pour le rangement des produits dans les étagères et dont l’un de ses deux personnes s’occupe en même temps de la caisse.
De plus, le logiciel qui permet cela, vu précédemment, n’est pas à la portée de tous pourtant chaque entreprise se doit être performant.
En toute honnêteté, en dépit de leur capacité sur la gestion, ils s’avèrent que les performances du travail ne seraient pas optimales pour l’entreprise.
La solution qui se présente est d’augmenter le personnel néanmoins cela serait une charge de plus pour la société.
C’est ainsi qu’est née l’idée de créer une application qui leur faciliterai le travail mais aussi qui gèrera le flux des activités de la boutique en question.
Cette dernière permettra de faire les calculs à la caisse (plus besoin d’utiliser la machine à calculer pour rendre la monnaie des clients,..) de gérer le rangement des produits, d’avoir des notes sur le fournisseur, mais surtout que le directeur ou le responsable puisse vérifier le bon déroulement du magasin et d’être informé en cas d rupture de stock car en effet il est le seul responsable des achats des éventuels produits, cela se fera par la réception d’un message pour lui informer que tel produits à atteint son seuil de stock. C’est ainsi qu’un cahier de charge est nécessaire pour la conception et la réalisation de ce projet.
Cahier de charge
Le cahier des charges permet de définir les besoins de l’entreprise et explique en même temps la solution proposée pour illustrer la gestion commerciale. C’est pourquoi il doit être précis. L’application doit permettre d’ :
• Identifier un utilisateur par son authentification (ou login) et son mot de passe qu’on enregistrera au préalable, par le biais de l’application, dans la base de données.
• Consulter les informations concernant les articles et les fournisseurs.
• Ajouter de nouvelles données que ce soit un utilisateur, ou des articles ou le fournisseur.
• Modifier les propriétés concernant ces données.
• Pouvoir Supprimer les données.
• Gérer les ventes des articles.
• Gérer le stock.
• Permet d’informer le responsable en cas de rupture de stock (via l’envoi d’un Sms)
• Possibilité d’imprimer des formulaires (l’état du stock, bon livraison, facture, bon commande…) si nécessaires. (mais nécessitant une sortie ‘imprimante’)
Conclusion
Comme pour tout travail, il est primordial, de bien étudier le système en vue de recenser tous les éléments qui pourraient avoir une incidence sur les traitements des données ; ces études sont alors primordiales afin de connaitre tous les calculs à implémenter dans notre ouvrage. Par la suite afin d’optimiser au maximum la conception de la solution à adopter, et c’est justement ce point-là qui fera le sujet de la partie suivante.
CONCEPTION
Introduction
Pour mieux comprendre la conception du l’environnement utilisé, avec respectivement éléments nécessaires à notre ouvrage. système, nous allons d’abord nous orienter dans les définitions indispensables, puis de concevoir .
L’environnement Java
Quelques définitions utiles
Byte code
Un byte code est un code intermédiaire entre le code java et la machine. Elle se trouve dans le fichier précompilé avec une extension « .class », comme dit précédemment, il n’est pas compréhensible par notre machine.
Objet
Un objet est tout d’abord une variable presque comme toutes les autres. C’est une classe d’information qui a une existence propre reconnue. Il est désigné par son comportement.
Pour créer un objet, il est nécessaire de déclarer la variable dont le type est la classe à instancier, et d’ensuite faire appel à son constructeur. Exemple : Produits ; Produits = new Produits() ;
Classe
Une classe est le domaine de définition d’un ensemble d’objets. Chaque objet appartient donc à une classe, il est généré par un processus d’instanciation de la classe. Chaque classe a un nom, type, des attributs, des opérations.
La définition d’une classe inclus les attributs, les identifiants, et les règles de cette classe. Une classe permet de créer des objets. Chaque objet créée possède les membres décrits dans sa classe et peut-être manipulé par les méthodes de sa classe. On dit qu’un « objet est une instance de la classe ».
Pour accéder à une classe, il faut déclarer l’objet comme étant de la classe à manipuler, on parle d’instanciation d’un objet.
Instance
Une instance est un objet qui appartient à une classe donnée.
Donnée
C’est une pièce d’information élémentaire dans un modèle ; il représente un fait ou une définition dans un système d’information. On peut attacher une donnée à une ou des classes, et même à un domaine il devient attribut de la ou des classes et du domaine.
Entité
C’est un objet dans lequel on peut stocker des informations. C’est donc un vocabulaire que Merise utilise pour le mot classe de UML. Une occurrence de cette entité est un individu appartenant à cette entité.
Bibliothèque
Ce n’est en aucun cas le stock des livres mais plutôt le stock des fonctions pouvant aider à écrire un programme sans vouloir tout réinventer.
IDE (Intregrated Development Environment)
Un IDE ou un environnement de développement rassemble tous les outils permettant de développer confortablement les applications.
Cet outil peut être soir un éditeur intelligent (mise en forme,…) soit un simulateur (tester l’exécution de l’app ) soit un compilateur soit un débogueur (fonctionnalité d’aide à la correction de bugs). Il est donc fonctionnel, adapté et évolutif.
Compilateur
C’est l’action de transformer le code source rédigé par le développeur en un code compréhensible par la machine (code binaire). [5]
Généralités et fonctionnalités
Java est un langage de programmation moderne développé par Sun Microsystems qui est aujourd’hui racheté par Oracle. C’est un langage orienté objet. La programmation orientée-objet propose une méthodologie centrée sur les données.
Le programmeur Java va d’abord identifier un ensemble d’objets, tel que chaque objet représente un élément qui doit être utilisé ou manipulé par le programme, sous la forme d’ensemble de données. Ce n’est que dans un deuxième temps, que le programmeur va écrire les traitements, en associant chaque traitement à un objet donné. Un objet peut être vu comme une entité regroupant un ensemble de données et de méthode de traitement.
Java est un langage interprété, cela signifie qu’un programme compilé n’est pas directement compilé par le système d’exploitation mais il doit être interprété par un autre programme nommé ‘interrupteur’.
Un programmeur Java écrit son code source, sous la forme de classes (nous verrons ultérieurement sa signification), dans des fichiers dont l’extension est « .java ». Ce code source est alors compilé par le compilateur « javac » en un langage appelé « byte code » et enregistre le résultat dans un fichier dont l’extension est « .class ». Le byte code ainsi obtenu n’est pas directement utilisable. Il doit être interprété par la JVM de Java qui transforme alors le code compilé en code machine compréhensible par le système d’exploitation. C’est la raison pour laquelle Java est un langage portable : le byte code reste le même quel que soit l’environnement d’exécution.
Il est à noter qu’il y a différent types de langage java, qui est utilisé par rapport aux types d’applications que nous voulons développer, soit :
• Java SE ou Java Standard Edition : permet de développer des applications dites « client », celle-ci est associé avec une plateforme de développement et sa machine virtuel ainsi que le déploiement des outils pour l’application java.
• Java EE ou Java Enterprise Edition : permet de développer des applications web en Java.
• Java ME ou Java Micro Edition : permet de développer des applications pour appareil portable, comme des téléphones portables,…
• modulaire : on peut écrire des portions de code génériques, c’est-à-dire utilisables par plusieurs applications
• rigoureux : la plupart des erreurs se produisent à la compilation et non à l’exécution
• portable : peut s’exécuter sur différents environnements
En contrepartie, les applications Java ont le défaut d’être plus lentes à l’exécution par rapport aux autres langages (C par exemple). [5]
UML (Unified Modeling Language)
Présentation
Le processus Unifié semble être la solution idéale pour remédier à l’éternel problème des développeurs. En effet, il regroupe les activités à mener pour transformer les besoins d’un utilisateur en un système logiciel quel que soit la classe, la taille et le domaine d’application de ce système. Il utilise le langage UML.
Ce langage de modélisation est une partie intégrante du processus unifié, ils ont été d’ailleurs développés de concret.
Elle se définit comme un langage de modélisation graphique et textuel destiné à comprendre et à définir des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points de vue. UML modélise l’ensemble des données et des traitements en élaborant des différents diagrammes. En clair, il ne faut pas designer UML en tant que méthode (Il manque la démarche) mais plutôt comme une boite d’outils qui sert à améliorer les méthodes de travail. [6]
Types de diagrammes
Un type de diagramme est d’abord une collection de symboles (liens et places) qui peut être utilisé pour créer un diagramme de ce type.
UML dans sa version s’articule autour de treize diagrammes, chacun d’entre eux est dédié à la représentation d’un système logiciel suivant un point de vue particulier. Ces diagrammes sont regroupés dans deux grands ensembles: les diagrammes structurels et les diagrammes de comportement.
Voici donc ces treize diagrammes :
• diagramme de classe
• diagramme d’’objet
• diagramme de composants
• diagramme de déploiement
• diagramme de paquetages
• diagrammes structurels
• diagramme de séquences
• diagramme de communication
• diagramme de temps
• diagrammes d’interaction
• diagramme des cas d’utilisation
• diagramme d’états-transitions
• diagramme d’activités.
Ce qui nous intéresse ici c’est le diagramme de classe, ainsi nous allons le définir, le généraliser et en même temps l’établir dans notre projet. [7]
Le diagramme de classe
Généralités
Il permet de décrire les relations entre les classes. Un diagramme de classes permet de modéliser la structure d’un système grâce à des classes et à des relations entre ces classes. Les diagrammes de classes sont les diagrammes les plus courants dans la modélisation des systèmes orientés objets. Par exemple, ce diagramme peut représenter notre gestion de stock.
Nous avons donc tout d’abord élaboré un diagramme de classe comportant essentiellement des attributs. Chaque classe est destinée à correspondre avec une table de la base de données.
Ensuite, on étudie les relations existantes entre ces classes ainsi que les cardinalités de ces relations. Ces relations correspondent aux relations d’une base de données relationnelle. Ensuite on génère la base de données correspondante grâce aux liens de l’UML et de la BD.
Composition
Ce diagramme de classe est composé de :
• Classe
Tout bêtement comme son nom l’indique, celle-ci représente les structures de l’application. Elle est divisée en trois compartiments qui sont :
– Le nom de la classe pour indiquer ce que la classe est et non ce qu’elle fait
– Les attributs de la classe qui donnent les caractéristiques de la classe
– Les opérations de la classe représentent les actions possibles sur la classe Soutirons un exemple dans notre ouvrage pour être plus explicite.
Soit la classe Produits l’attribut : code_produit et les opérations : ajouter ou encore supprimer.
Le langage définit trois niveaux de visibilité pour les attributs et opérations d’une classe qui sont
• Public (noté par + ) : l’élément est visible par toutes les autres classes
• Protégé (noté par # ) : l’élément n’est visible que par la classe elle-même et ses sous-classes
• Privé (noté par – ) : l’élément n’est visible qu’uniquement que par sa classe.
Les interfaces
En UML, une interface est décrite par le mot-clé «interface» dans le bloc d’entête.
Les relations
Elle décrit le comportement des classes entre elles.
Trois types de relations existent :
• Association : qui est la relation structurelle entre classes.
Par exemple, la classe Utilisateur est lié aux classes Produits. L’Utilisateur peut ajouter un ou plusieurs produits.
• Dépendance : est la relation d’utilisation qui établit que les instances d’une classe sont reliées aux instances d’un autre élément. Par exemple, la classe Utilisateur utilise la classe Stock : avant d’ajouter un produit, il est nécessaire de vérifier si ce produit existe en stock.
• Généralisation : est la relation entre une classe générale (parent) et une classe spécifique (enfant) qui en dérive.
En conception orientée objet, les relations englobent notamment les relations d’héritage et de réalisation d’interface.
L’héritage
L’héritage est le lien entre deux objets.
L’idée principale de l’héritage est d’organiser les classes de manière hiérarchique. La relation d’héritage est unidirectionnelle et, si une classe B hérite d’une classe A, on dira que B est un Sousclasse de A.
Cette notion de sous-classe signifie que la classe B est un cas particulier de la classe A et donc que les objets instanciant la classe B instancient également la classe A.
En UML, l’héritage se représente par une flèche à la pointe creuse. Soit deux classes : Super-classe et Sous-classe. La classe Sous-classe hérite de la classe Super-classe.
La réalisation
La réalisation d’une interface par une classe se représente par une flèche pointillée à pointe creuse.
Les associations
Certaines relations entre classes d’un même diagramme sont représentées en UML sous la forme d’associations. Le plus souvent une association ne relie que deux classes. Une association peut être identifié par un nom et chacune de ses extrémités définissent le nombre d’instances des classes reliées qui sont impliquées dans cette association. On appelle multiplicité ce nombre d’instances qui peut prendre les valeurs dans la figure suivante.
Base de données
Quelques définitions utiles
• La base de données : C’est l’ensemble des tables utilisées pour gérer l’information.
• La table : c’est un ensemble de données organisées en rangées et en colonnes.
C’est dans cette table que les données sont regroupées en plusieurs valeurs dont on spécifiera les valeurs utilisés.
• Le champ (ou colonne) : C’est l’unité d’information dans une table. Une table est constituée de différents champs.
• L’enregistrement (ou la ligne) : C’est l’ensemble des données relatif à la même information.
Généralités
Une BD est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. C’est un moyen sure pour conserver les données. Ces données doivent pouvoir être utilisées par des programmes, par des utilisateurs différents… On parle généralement de système d’information pour désigner toute la structure regroupant les moyens mis en place pour pouvoir partager des données. En grosso modo, il s’agit d’un système permettant de stocker les données de notre application.
Elle permet de mettre des données à la disposition d’utilisateurs pour une consultation, une saisie ou bien une mise à jour, tout en s’assurant des droits accordés à ces derniers. Cela est d’autant plus utile que les données informatiques sont de plus en plus nombreuses.
Elle peut être aussi locale, c’est-à-dire utilisable sur une machine par un utilisateur, ou bien répartie, c’est-à-dire que les informations sont stockées sur des machines distantes et accessibles par réseau. [8]
Type de BD
Il existe cinq modèles, différenciés selon la représentation des données qu’elle contient.
• le modèle hiérarchique : les données sont classées hiérarchiquement, selon une arborescence descendante. Ce modèle utilise des pointeurs entre les différents enregistrements. Il s’agit du premier modèle de SGBD.
• le modèle réseau : comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements. Toutefois la structure n’est plus forcément arborescente dans le sens descendant.
• le modèle relationnel : les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La manipulation de ces données se fait selon la théorie mathématique de la relation qui n’est autre que l’algèbre relationnelle.
• le modèle déductif : les données sont représentées sous forme de table, mais leur manipulation se fait par calcul de prédicats.
• le modèle objet : les données sont représentées en tant qu’instances de classes hiérarchisées.
Chaque champ est un objet. De ce fait, chaque donnée est active et possède ses propres méthodes d’interrogation et d’affectation.
Notre outil de développement (dans on verra ultérieurement) utilise le modèle relationnel et déductif car nos données sont enregistrés dans des tableaux à deux dimensions et qui sont formés de table. [9]
Exemple de logiciel de BD
Il existe plusieurs bases de données et toutes sont utilisées par beaucoup de dév.
En voici une liste non exhaustive recensant les principales :
– PostgreSQL
– MySQL
– SQL Server
– Oracle
– WampServer
– …
Chacune a des spécificités : certaines sont payantes (Oracle) ; certaines sont assez laxistes avec les données qu’elles contiennent (MySQL) ; d’autres ont un système de gestion très simple à utiliser (MySQL). Dans notre ouvrage, nous nous intéresserons à WampServer.
|
Table des matières
NOTATIONS
INTRODUCTION GENERALE
CHAPITRE 1 ANALYSE ET CONTEXTE GENERAL DU PROJET
1.1 Introduction
1.2 Gestion de stocks
1.3.1 Définition
1.3.2 Evaluation des stocks
1.3.3 Méthode de gestion de stocks
1.3.4 La valorisation du stock
1.3 Approvisionnements
1.3.1 Définition
1.3.2 Les étapes de l’approvisionnement
1.3.3 Processus de l’approvisionnement
1.4 Exemple d’application d’un logiciel de gestion de stock
1.5 Contexte du projet
1.5.1 Présentation du projet
1.5.2 Cahier de charge
1.6 Conclusion
CHAPITRE 2 CONCEPTION
2.1 Introduction
2.2 L’environnement Java
2.2.1 Quelques définitions utiles
2.2.2 Généralités et fonctionnalités
2.2.3 Types primitifs des variables.
2.3 UML (Unified Modeling Language)
2.3.1 Présentation
2.3.2 Types de diagrammes
2.4 Base de données
2.4.1 Quelques définitions utiles
2.4.2 Généralités
2.4.3 Type de BD
2.4.4 Exemple de logiciel de BD
2.5 MODEM vers TERMINAUX
2.5.1 Généralité
2.5.2 SMS
2.5.3 Modem
2.5.4 API
CHAPITRE 3 : REALISATION
3.1 Introduction
3.2 Outils de développement
3.2.1 Netbeans IDE
3.2.2 WAMP Server
3.3 Génération de la base de données
3.3.1 Création de la BD via WampServer
3.2.2 Création de la BD via la console MySQL
3.4 Fenêtre et les requêtes
3.4.1 Fenêtre Login
3.4.2 Fenêtre principale
3.4.3 Fenêtre Utilisateur
3.4.4 Fenêtre Produits
3.4.5 Fenêtre caissier
3.4.6 Fenêtre reçu
CONCLUSION GENERALE
ANNEXES
BIBLIOGRAPHIE
Télécharger le rapport complet