La modélisation est une technique d'ingénierie permettant de représenter un système; elle s'appuie sur l'établissement des modèles. Un modèle est une abstraction simpliste de la réalité, centrée sur la représentation conceptuelle et physique d'un système [KAS2012].
II.2.1. Dictionnaire des données
Le dictionnaire des données est un document qui permet de recenser, de classer et de trier toutes les informations (les données) collectées lors des entretiens ou de l’étude des documents. Le dictionnaire peut être plus ou moins élaboré selon le niveau de granularité souhaité [KAS2012].
Notre modèle répertorie les données comme suit :
26
Tableau II.7 : Dictionnaire des données
Nom de la donnée |
Format |
Longu eur |
Type |
Règle de calcul |
Règle de gestion |
Document |
|
E |
C |
||||||
Adresse Fournisseur |
Alphabétique |
50 |
x |
// |
|||
Code Catégorie |
Alphanumérique |
10 |
x |
- |
|||
Code Fournisseur |
Alphanumérique |
10 |
x |
Fiche de stock |
|||
Code Matériel |
Alphanumérique |
10 |
x |
Réquisition |
|||
Code Opération |
Alphanumérique |
10 |
x |
- |
|||
Code Service |
Alphanumérique |
10 |
x |
- |
|||
Contact Fournisseur |
Alphanumérique |
30 |
x |
// |
|||
Date Commande |
Date |
x |
|||||
Date Emission |
Date |
x |
Facture |
||||
Date Opération |
Date |
x |
- |
||||
Date paiement |
Date |
x |
- |
||||
Date Réquisition |
Date |
||||||
Dénomination |
Alphabétique |
50 |
x |
// |
|||
Désignation Catég |
Numérique |
50 |
x |
- |
|||
Désignation Mat |
Alphabétique |
50 |
x |
Réquisition |
|||
Désignation Service |
Alphabétique |
90 |
x |
Réquisition |
|||
Ecart |
Numérique |
x |
Index actuel-index précédent |
Bon de carburant |
|||
Index Actuel |
Numérique |
x |
Bon de carburant |
||||
Index Précédent |
Numérique |
x |
Bon de carburant |
||||
Marque du véhicule |
Alphabétique |
30 |
x |
Bon de carburant |
Montant Facture |
Monétaire |
x |
Facture |
||||
Montant Payé |
Monétaire |
x |
- |
||||
Moyenne de consommation |
Numérique |
x |
Qté accordée/Ecart |
Bon de carburant |
|||
Num Commande |
Alphanumérique |
10 |
x |
||||
Num Facture |
Alphanumérique |
10 |
x |
Facture |
|||
Num Réquisition |
Alphanumérique |
10 |
x |
Réquisition |
|||
Payée |
Oui/Non |
x |
- |
||||
Plaque |
alphanumérique |
30 |
x |
Bon de carburant |
|||
Prix Total |
Monétaire |
x |
Prix Unitaire*Qté Cmdée |
||||
Prix Unitaire |
Monétaire |
x |
|||||
Qté accordée précédemment |
Numérique |
x |
Bon de carburant |
||||
Quantité accordée |
Numérique |
x |
Réquisition |
||||
Quantité Commandée |
Numérique |
x |
|||||
Quantité Demandée |
Numérique |
x |
Réquisition |
||||
Quantité Entrée |
Numérique |
x |
- |
||||
Quantité Sortie |
Numérique |
x |
- |
||||
Reste à payer |
Monétaire |
x |
Montant facture-montant payé |
||||
Stock |
Numérique |
x |
Réquisition |
||||
Stock Final |
Numérique |
x |
(SI+QtéEntrée)-Qté Sortie |
||||
Stock Initial |
Numérique |
x |
- |
||||
Unité |
Alphabétique |
5 |
x |
Réquisition |
II.2.3. Le modèle conceptuel des données (MCD)
Le modèle conceptuel des données a pour but de décrire d’une manière formelle les différentes données qui seront utilisées par le système d’information. Il est une représentation graphique des structures des données dans laquelle ne figure aucune redondance. C’est une représentation simplifiée de la réalité bâtie à l’aide d’entités et d’associations [KAS2012].
Partant des tables dégagées du dictionnaire de données aux pages et 28, notre Modèle conceptuel de données se présente comme indiqué à la figure suivante.
Figure II.3. Modèle Conceptuel de données (MCD)
Règles de gestion :
R1 : une et une seule catégorie contient un ou plusieurs matériels
R2 : une ou plusieurs demandes d’offre ont un ou plusieurs matériels
R3 : une demande d’offre est envoyée à un ou plusieurs fournisseurs
R4 : un fournisseur reçoit une ou plusieurs commandes
R5 : une ou plusieurs commandes correspondent à un ou plusieurs matériels
R6 : un fournisseur émet une ou plusieurs factures
R7 : une ou plusieurs factures comportent un ou plusieurs matériels
R8 : une ou plusieurs opérations concernent un ou plusieurs matériels
R9 : un service produit une ou plusieurs réquisitions
R10 : une ou plusieurs réquisitions comprennent un ou plusieurs matériels
II.2.4. Le Modèle logique de données (MLD)
Le modèle logique des données permet de voir de façon claire l’organisation des données. Il consiste en deux étapes : supprimer les relations complexes pour les transformer en tables à part entière d’une part et d’autre part pour trouver les clés étrangères. Il décrit la structure des données utilisées sans faire référence à un langage de programmation.
Il a pour objectif de traduire le schéma conceptuel dans le modèle du système de gestion de base des données choisi pour implémenter la base de données. Le résultat appelé aussi schéma logique, dépend donc du modèle choisi. Le processus est de garantir que le schéma logique est conforme au modèle du Système de Gestion de Base des Données [HAI2009].
Du MCD précédent et des règles des relations entre les tables, nous avons déduit le schéma logique suivant :
Figure II.4. Modèle logique de données (MLD)
De ce qui précède, nous obtenons le modèle logique relationnel suivant :
MATERIEL (CodeMat, DesignMat, Unite, #CodeCateg,)
CATEGORIE (CodeCateg, DesignCateg)
DMDEOFFRE (NumDmdeOffre, DateDmdeOffre, #CodeFss)
DETAIL-DMDEOFFRE (QteDmdeOffre, #NumDmdeOffre, #CodeMat)
COMMANDE (NumCmde, DateCmde, #CodeFss)
DETAIL-COMMADE (QteCmdee, PrixUnitaire, prixTotal, #CodeMat, #NumCmde)
FACTURE (NumFact, DateEmission, MontantTotal, Payee, DatePaiement,MontantPaye,
Avance, ResteAPayer, #CodeFss)
DETAIL-FACTURE (Quantite, PrixUnitaire, PrixTotal, #NumFacture, #CodeMat)
FOURNISSEUR (CodeFss, Denomination, Adresse, Contact)
REQUITION (NumReq, DateReq, DateService, #CodeService)
DETAIL-RAQUISITION (QteDmdee, QteAccordee, QteAccordPrecedem, MarqueVehicule,
Plaque, IndexActuel, IndexPreced, Ecart, MoyenneConsommat°, #CodeMat,
#NumReq)
OPERATION (CodeOp, DateOp)
DETAI-OPERATION (StockInitial, QteEntree, QteSortie, StockFinal, #CodeOp, #CodeMat) SERVICE (CodeService, DesignService).
II.2.5. Le modèle physique de données (MPD)
Le modèle physique de données est le dernier modèle à réaliser avant de programmer la définition de la base de données. A ce stade, il s’agit de prendre en compte les aspects matériels et le système de gestion de base de données, afin de préparer la description en machine. Le MPD est l’enrichissement du MLD. Celui-ci est complété de constructions techniques qui conféreront à la future base de données des bonnes performances [HAI2009].
Les aspects matériels choisis pour une bonne utilisation de ce logiciel sont :
Comme chaque base de données suppose un système de gestion de base de données, de tous les SGBD étudiés, nous avons opté pour MS Access 2007 avec le langage Visual Basic for Application (VBA) pour nous permettre d’organiser les données sur les périphériques en fournissant la procédure de sélection et de recherche des données.
Les critères d’une bonne base de données tels que décrits par Jean-Luc HAINAUT sont les raisons qui nous ont le plus poussé à utiliser MS Access :
la bonne représentation des données, la non redondance de l’information, l’indépendance du programme par rapport aux données, la sécurité et la confidentialité des données ainsi que la performance des applications permettant d’offrir à l’utilisateur une interaction avec la base de données sous forme d’un dialogue pour la recherche, la sélection et la modification de données [HAI2009].
En plus la disponibilité du langage VBA sous Access et de son compilateur, la compatibilité avec les requêtes SQL (Structured Query Language), la maitrise que nous avons de ce langage, une documentation fort disponible ainsi que sa programmation événementielle sont pour nous des atouts majeurs pour aborder notre sujet.
L’environnement MS Access nous a permis d’implanter des tables, des requêtes, des formulaires, des états, des macros et des modules Visual Basic for Application.
II.2.5.1. Les tables
Les tables sont des objets qui nous servent à l’enregistrement des données dans la base. Elles sont constituées des données organisées sous formes des tableaux où les colonnes correspondent à des champs et les lignes à des enregistrements (appelés aussi « entrées »). Elles contiennent toutes les informations de la base et sont constituées par la liste de champs, leurs types de données ainsi que leur taille [SIN2012].
Après analyse du système d’information, nous avons reparti les données présentées dans le dictionnaire de données précédent dans quatorze (14) tables dont neuf (9) tables principales et cinq (5) tables intermédiaires issues de l’application des règles de gestion et de la relation n à n entre tables.
Ci-dessous nous présentons la table « Materiel » en mode création et mode feuille de données. Cette table contiendra les informations statiques c'est-à-dire qui ne seront pas appelées à varies à chaque opération sur le matériels et fournitures tels que le code du matériel, sa désignation et l’unité d’expression.
Figure II.5 : Table « Materiel » en mode création
Figure II.6 : Table « Materiel » en mode feuille de données
II.2.5.2. Les requêtes
Elles sont utilisées pour obtenir les données contenues dans une ou plusieurs tables à partir d’une question ; bref, elles servent à interroger la base de données en affichant uniquement certaines données contenue dans les tables selon certains critères. Elles peuvent calculer les données, créer des sources de données pour les formulaires, états ou d’autres requêtes ainsi que modifier des tables existantes ou en créer des nouvelles.
Il existe plusieurs types de requête mais celle dont nous nous sommes servi le plus est la « requête sélection » qui permet de sélectionner des enregistrements, de faire des calculs et des regroupements et permettent en plus de travailler sur plusieurs tables simultanément.
Ci dessous nous présentons une requête en mode création et en mode feuille de données regroupant les détails d’une facture provenant des tables Fournisseur, Facture, Détail-Facture et Matériel comme indiqué à la figure suivante :
Figure II. 7 : Requête « DetailFacture » en mode création
La même requête en mode feuille des données se présente comme suit :
Figure II.8: Requête « DetailFacture » en mode feuille des données
II.2.5.3. Les formulaires
Sont des objets utilisés pour faciliter la saisie, la modification et l’affichage des données d’une table de façon bien plus agréable que le mode « feuille de données » (lignes et colonnes). Ils permettent en plus de manipuler au même endroit des informations provenant de plusieurs tables simultanément [HAI2009].
Nous avons utilisé des formulaires indépendants (c'est-à-dire non lié à une table ou requête) pour l’ajout/création, modification et suppression des données et des formulaires dépendants (c'est-à-dire crées à partir d’une table ou d’une requête pour la manipulation au même endroit des données de plusieurs tables ou requêtes).
Ci-dessous, nous présentons un formulaire de création/ajout, modification et suppression des matériels.
Figure II.9: Formulaire de création, modification et suppression des matériels
En cliquant une fois sur le bouton Créer (ci-haut encerclé en rouge), le clic exécute le code permettant d’enregistrer dans la table « Materiel » les éléments saisis au formulaire, par exécution des instructions suivantes :
Private Sub NouveauMateriel_Click()
Dim db As Database, rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Materiel", dbOpenDynaset) rs.FindFirst "CodeMat = '" & Me!FrmCodeMat & "'"
If IsNull(Me!FrmCodeMat) = True Or IsNull(Me!FrmDesignMat) = True Or
IsNull(Me!FrmUnite) = True Or IsNull(Me!FrmCodeCateg) = True Then
DoCmd.OpenForm "Paspermis"
Else
If rs.NoMatch Then rs.AddNew rs!CodeMat = Me!FrmCodeMat rs!DesignMat = Me!FrmDesignMat rs!Unite = Me!FrmUnite rs!CodeCateg = Me!FrmCodeCateg rs.Update
DoCmd.OpenForm ("Enregistrement")
Me!FrmCodeMat = ""
Me!FrmDesignMat = ""
Me!FrmUnite = ""
Me!FrmCodeCateg = ""
Else
Me!FrmDesignMat = rs!DesignMat
Me!FrmUnite = rs!Unite
Me!FrmCodeCateg = rs!CodeCateg
DoCmd.OpenForm ("Existe") End If rs.Close
End If
End Sub
Le formulaire suivant sert à enregistrer, modifier et supprimer un fournisseur.
Figure II.10 : Formulaire de création, modification et suppression des fournisseurs
Un clic sur le bouton « Modifier » (encerclé en rouge) déclenche l’exécution du code de modification telle que décrit par le code suivant :
Private Sub ModifierFourn_Click()
Dim db As Database, rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Fournisseur", dbOpenDynaset) rs.FindFirst "CodeFss = '" & Me!FrmCodeFss & "'"
If IsNull(Me!FrmCodeFss)= True Or IsNull(Me!FrmDenominationFss)= True Or IsNull(Me!FrmAdresseFss)= True Or IsNull(Me!FrmContactFss)=
True Then
DoCmd.OpenForm "Paspermis"
Else
If Not rs.NoMatch Then rs.Edit rs!Denomination = Me!FrmDenominationFss rs!Adresse = Me!FrmAdresseFss rs!Contact = Me!FrmContactFss rs.Update
DoCmd.OpenForm ("Modification")
Me!FrmCodeFss = ""
Me!FrmDenominationFss = ""
Me!FrmAdresseFss = ""
Me!FrmContactFss = ""
Else
DoCmd.OpenForm ("Existepas") End If rs.Close
End If
End Sub
Le formulaire suivant permet la création, la modification et la suppression des réquisitions existantes dans la table correspondante.
Figure II.11: Formulaire de création, modification et suppression des réquisitions
Pour supprimer une réquisition, il faut cliquer sur la liste déroulante du « N° Réquisition », choisir l’élément puis cliquer sur le bouton « Supprimer » encerclé en rouge. Dès lors le code supprime l’élément en exécutant le code suivant :
Private Sub Supprimer_Click()
Set db = CurrentDb()
Set rs = db.OpenRecordset("Requisition", dbOpenDynaset) rs.FindFirst "NumReq = '" & Me!FrmNumReq & "'"
If rs.NoMatch Then
DoCmd.OpenForm ("Existepas") Else reponse = MsgBox("Etes-vous sûr de vouloir supprimer cet élement
?", vbQuestion + vbYesNoCancel, "suppression d'enregistrement") If reponse = vbYes Then rs.Delete
DoCmd.OpenForm ("Suppression")
Me!FrmNumReq = ""
Me!FrmDateReq = ""
Me!FrmDateLivraison = ""
Me!FrmCodeService = ""
End If End If rs.Close
End Sub
II.2.5.4. Les états
Les états sont des objets permettant l’affichage et l’impression des données contenues dans les tables sur support papier suivant une présentation bien définie en y intégrant éventuellement des calculs.
Ce travail est constitué de dix (10) états de sotie qui résument toutes les opérations relatives aux approvisionnements et à l’usage de matériels et fournitures à la BCC/Bukavu. Ci-dessous nous présentons l’état de sortie de la réquisition des matériels et fournitures utilisée par tous les services lors de la demande des matériels au bureau approvisionnement.
Figure II.12 : Etat de sortie, réquisition des équipements, matériels et fournitures
II.3. Présentation et utilisation du logiciel
Le présent logiciel dénommé « BCC-APPROMAF » est conçu pour la gestion des approvisionnements en matériels et fournitures. Il est utilisable sur environnement MS Windows avec MS Office préalablement installé. Au lancement du programme, l’écran de présentation s’affiche comme illustré à la figure suivante :
Figure II.13:Formulaire d’accueil
Après chargement du logiciel, ce formulaire disparaît et vous donne accès au Menu Général qui vous offre, à gauche, la possibilité de choisir l’opération à effectuer en cliquant sur le bouton correspondant et, à droite, un espace d’un bref commentaire décrivant chaque bouton.
Figure II.14 : Menu Général principal
Un petit commentaire de guide d’utilisateur, incorporé à ce logiciel, est accessible en pointant simplement sur chaque bouton du Menu général.
1) Bouton « 1. Création Eléments statiques »
En cliquant sur le bouton « 1. Création Eléments statiques », le formulaire suivant s’affiche, vous proposant à gauche les boutons de commande et à droite un commentaire sur chaque bouton.
Figure II .15 : Sous-Menu Création éléments statiques
Un clic sur « Créer Catégorie » vous ouvre l’interface de saisie pour ajouter une nouvelle catégorie, modifier une catégorie existante ou en supprimer une sur la liste de catégorie des matériels et fournitures existante, Voici la procédure :
Figure II.16: Formulaire de création, Modification et suppression des catégories
2) Bouton « 2. Elaboration des documents »
Ce bouton permet de créer les documents les plus souvent utilisés au bureau approvisionnement.
Un click dessus vous ouvre le formulaire suivant :
Figure II.17 : Sous-Menu Elaboration des documents
En cliquant sur le bouton « Demande d’offre » vous accédez au formulaire suivant où vous saisissez uniquement le numéro et la date de la demande :
Figure II.18 : Formulaire Demande d’offre
Après avoir saisie le numéro et la date de la demande, cliquer sur le bouton « Créer » pour enregistrer la demande, puis sur suivant pour ouvrir le formulaire de saisie des détails de la demande d’offre sur lequel il faut enregistrer les articles composant la demande l’un après l’autre.
Figure II.19 : Formulaire Détail de la commande
Pour chaque article choisi, il faut toujours préciser le numéro de la demande d’offre, puis cliquer sur le bouton « Sauvegarder » pour enregistrer la demande d’offre. Cliquer sur « Aperçu » pour visualiser la demande d’offre et sur « Imprimer » pour sortir la demande sur support papier, enfin sur « Retour » pour quitter.
En cliquant sur « Aperçu », la demande d’offre se présente comme suit :
Figure II.20 : Aperçu de la fiche de demande d’offre
Ce bouton permet d’enregistrer les factures sans détails.
Figure II.21 : Formulaire d’enregistrement de la facture
Après avoir saisi la facture, cliquer sur « Enregistrer » puis sur « Détail Facture » afin d’en préciser les détails et faire la mise en stock au formulaire suivant :
Notez que c’est au moment de la saisie des détails de la facture que s’effectue la mise en stock des matériels et fournitures l’un après l’autre en cliquant sur « Stockage » du formulaire cidessous.
g
Figure II.22 : Formulaire Détail-Facture
Ce bouton permet de gérer les mouvements du stock : les entrées en stock sont conditionnées par la facture et les sorties en stock sont conditionnées par la réquisition. Un clic sur ce bouton ouvre un sous-menu sur lequel il faut choisir l’action à faire :
Figure II.23 : Sous menu opérations d’entrée -sortie
En cliquant sur « Entrée Matériels » vous ouvrez un formulaire quasi-vide sur lequel il faut encore préciser l’opération à effectuer pour faire apparaître les éléments correspondant. Après avoir cliqué sur « cliquer ici » de «1. Entrée en stock » le formulaire se présente comme cidessous indiqué :
Figure II.24 : Formulaire d’Entrée – Sortie en stock
Renseigner tous les champs, puis cliquer sur « Enregistrer » et sur « Suivant » pour saisir les détails, tous les articles l’un après l’autre, au formulaire suivant :
Figure II.25 : Formulaire d’enregistrement des opérations d’entrée
Cliquer sur « Confirmer » pour confirmer l’opération enfin sur « Retour » pour aller au Menu.
Comme le nom l’indique, ce bouton permet de faire un aperçu avant impression des documents en cliquant sur « Aperçu » à gauche du formulaire et l’impression proprement dite sur support papier en cliquant sur « Imprimer » à droite du formulaire.
Figure II.26. Sous Menu « Aperçu et Impression »
Ce bouton permet de fermer l’application en toute sécurité, fermeture qu’il faut valider en répondant par « Oui » à la boite de dialogue de confirmation, sinon cliquer sur « Non ».
Figure II.27 : Boite de dialogue de fermeture