La réalisation d’un logiciel ayant pour but de résoudre un problème, nous allons tenter de donner le guide de réalisation et une brève présentation du logiciel que nous avons y à modélisé tout au long du deuxième chapitre.
Chaque réalisation exige une utilisation des matériaux, matériels et des méthodes
Une base de données est un ensemble de données modélisant les objets d’une partie de monde réel et servent de support à une application informatique.
Un SGBD peut être perçu comme un ensemble de logiciels systèmes permettant aux utilisateurs d’insérer, de modifier et de rechercher efficacement des données spécifiques dans une grande masse d’informations partagée entre plusieurs utilisateurs.
Un SGBD est un outil informatique qui permet la sauvegarde, l’interrogation, la recherche et la mise en forme de données stockées sur mémoires secondaires. Ce sont des fonctions premières, complétés par des fonctions souvent plus complexes destinés par exemple à assurer le partage de données mais aussi à protéger les données contre tout incident et à obtenir des performances acceptables.
Pour notre travail nous avons utilisé « SQL Server » qui est un SGBD développé et commercialisé par Microsoft. Fonctionnant sous Windows, Linux et Mac OS via Docker. Ecrit en C++ et dont la première version est sortie en 1989.
La version utilisée dans la réalisation de notre logiciel est le « Microsoft SQL Server 2014 »
Un langage de programmation est un système d’instructions et de règles syntaxiques servant à la programmation informatique.
Nous avons utilisé C# qui est un langage de programmation orienté objet multiplateforme, commercialisé par Microsoft depuis 2002 et destinée à développer sur une plateforme « Microsoft .Net »
Il est dérivé du C++ et très proche du JAVA dont il reprend la syntaxe générale ainsi que les concepts en y ajoutant des notions de surcharge des opérateurs, les indexeurs et les délégués (qui sont des références à une méthode qui comporte certains paramètres, ils permettent d’assigner des méthodes à des variables et les passer en paramètre).
C# est utilisé pour le développement des applications web sur la plateforme « ASP.NET », des applications de bureau, des services web, des applications mobiles, etc.
La réalisation est l’action de rendre réel et effectif ; construire, élaborer quelque chose qui était à l’état de projet, de pensée.
Les tables sont des éléments contenant les données à gérer, composées des champs et d’enregistrements. (MUTIJIMA, 2010-2011)
Une table est une collection de données relatives à un sujet spécifique tel qu’un produit ou des fournisseurs. L’utilisation d’une table distincte pour chaque sujet signifie que vous ne stockez ces données qu’une seule fois. Ceci renforce l’efficacité de votre base de données et réduit les erreurs de saisie. (CIBANGU, 2011-2012)
Dans notre travail nous avons utilisés sept tables ci-après pour les stockages de nos données
Une requête est une sélection des données ou des informations provenant d’une ou de plusieurs tables. D’où, une requête créée à partir de plusieurs tables est appelée requête sélection.
Figure 14 La requête d'affichage des élèves ayant passé une commande
Figure 15 Requête d'affichage des commandes par date
Un formulaire est un objet dans lequel nous pouvons placer les codes de contrôles servant à la mise à jour des données, c’est-à-dire la saisie, la modification, la suppression et aussi l’affichage de données dans le champ.
Il consiste à une présentation de façon visuelle des données ou informations relative à une table. Il est aussi utilisé comme Menu Principal qui permet l’accès aux autres formulaires et aux états à imprimés.
Ci-après nous présentons les formulaires nous permettant l’entrée, la modification des données pour un élève.
Figure 16 Formulaire d'entrée des données d'un nouvel élève
Figure 17 Formulaire de modification d'un Elève
Un Etat est une représentation optimale des résultats, c’est-à-dire une représentation facile et correcte à imprimer et tiré des résultats obtenus dans les requêtes.
Dans notre travail, nous aurons quelques Etats à imprimer que nous allons présenter dans le les lignes qui suivent.
Un élève en ordre a droit à un billet permettant de montrer que ce dernier est en ordre avec l’atelier et qu’il aura droit à son bulletin.
Figure 19 Liste des élèves en ordre
Figure 20 La liste des élèves avec litiges
Figure 21 Liste de matériels d'atelier disponible
Un logiciel est ensemble de programmes, procédés et règles d’un système de traitement informatique de données.
3.3.1. Formulaire de connexion
Pour commencer, un utilisateur est tenu de se connecter au système en fournissant son mot de passe et le nom d’utilisateur pour raison de sécurité.
Figure 22 Formulaire de connexion
3.3.2. Le Menu d’accueil
Le menu d’accueil de ce logiciel que nous présentons ci-après utilise l’interface graphique de « Modern UI » anciennement appelé « Metro UI » car s’étant inspiré des images et notifications dans les métros. Modern UI est le même que celui utilisé par le système d’exploitation Windows 8 et Windows Phone 8 ou 8.1 les boutons porte les noms « hubs » ou « tiles » en anglais qui sont généralement simple, de forme rectangulaire ou carré.
On clique sur l’un des hubs du menu d’accueil selon l’opération qu’on veut faire. On peut faire des opérations sur des commandes, les élèves, les classe, matériels, les équipements, les enseignants qui sont aussi les utilisateurs ou sur les opérations concernant les impressions pour la sortie des états.
3.3.3. Les sous-menus
En cliquant sur l’un des hubs on a un formulaire permettant de donner une vue d’ensemble sur les données enregistrées relatives au sujet de l’opération.
Ce formulaire nous permettra d’entrer les informations relative à un sujet, d’en modifier son contenu ou la suppression grâce aux boutons situés dans la partie basse de la fenêtre.
Les hubs dans la partie gauche, nous permettra de faire le tri selon les possibilités offertes.
Au-dessus de la grille, nous avons une barre de recherche qui nous permettra de faire une recherche sur les éléments de la grille.
Figure 24 Sous-menu - Commande
En cliquant sur le bouton « Nouveau » du formulaire ci-haut nous avons le formulaire suivant qui nous permettra d’entrer les éléments d’une commande.
Figure 25 Formulaire de saisie d'une commande
En cliquant sur « Enregistrer » la commande en cours sera enregistré dans la table « Commande » et en cliquant sur « Commander » nous aurons la possibilité d’entrer les matériels qui seront stocké dans la table « Concerner ».
Les figures 16 et 17 nous permettrons d’enregistrer un nouvel élève ou de modifier les informations concernant l’un des élèves enregistrés.
Nous avons aussi le sous-menu « Impression » qui s’ouvre en cliquant sur le hub « Impression » du Menu d’accueil. Et ce dernier nous permettra d’imprimer différents états dont quelques exemples sont les figures 18 à 21. Ce sous-menu est repris ci-après :
Figure 26 Sous-menu - Impression
Le clic sur l’un des hubs du sous-menu précédent entrainera l’ouverture d’un état relatif au hub en question.
Notons qu’à l’enregistrement ou à la création d’un élève, il a droit au billet. Et il perdra ce droit quand il passera une commande et il aura de nouveau droit au billet une fois qu’il aura remis tous les matériels.
Aussi pour raisons de sécurité un enseignant n’aura pas le droit de modifier le compte de d’un autre, c’est pourquoi s’il y’a une tentative de modification d’un compte un mot de passe est encore requis pour pouvoir faire une opération de modification.
Figure 27 Sous-menu – Enseignant
En programmation, un module est une partie du code sources d’un logiciel pouvant être développée indépendamment.
Ci-après nous présentons à titre illustratif la classe qui nous a permis de réalisé le formulaire « Liste Commande »
using System; using System.Collections.Generic; using System.ComponentModel;
using System.Drawing; using System.Data; using System.Text; using System.Linq;
using System.Threading.Tasks; using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace EricTFC.UsersControl
{
public partial class ucListeCommande : DevExpress.XtraEditors.XtraUserControl
{
public event EventHandler loadAccueil;
public event EventHandler loadNewCommande;
public event EventHandler loadUcEditCommande;
public int Pk;
public string Matricule;
public ucListeCommande()
{
InitializeComponent();
}
//Methode de déclanchement d'évènements
private void ucListeCommande_Load(object sender, EventArgs e)
{
//chargement des données journaliers
rqtEleveCmdTableAdapter.Fill(this.tfcDataSet1.rqtEleveCmd);
DateTime aujourdhui = new DateTime();
aujourdhui = DateTime.Today;
rqtEleveCmdTableAdapter.FillByDateCommande(this.tfcDataSet1.rqtEleveCmd, aujourdhui.ToString());
}
private void btnPnlCommand_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
{
switch (e.Button.Properties.Caption)
{
case "Nouveau":
{
if (loadNewCommande != null)
loadNewCommande(sender, e);
break;
}
case "Editer":
{
DataRow row = gridView1.GetDataRow(gridView1.FocusedRowHandle);
try
{
//MessageBox.Show(row[6].ToString());
String id = row[7].ToString();
Pk = int.Parse(id);
Matricule = row[8].ToString();
if (loadUcEditCommande != null)
loadUcEditCommande(sender, e);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message /*"Aucune ligne n'est selectionné" */, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
break;
}
case "Annuler":
{
if (loadAccueil != null)
loadAccueil(sender, e);
break;
}
case "Supprimer":
{
DataRow row = gridView1.GetDataRow(gridView1.FocusedRowHandle);
try
{
String id = row[6].ToString();
int tmp = int.Parse(id);
commandeTableAdapter.FillById(tfcDataSet1.Commande, tmp);
DialogResult confirm = MessageBox.Show("Vous êtes sûr de vouloir supprimer", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
if (confirm == DialogResult.Yes)
{
CommandebindingSource.RemoveCurrent();
}
rqtEleveCmdTableAdapter.Fill(this.tfcDataSet1.rqtEleveCmd);
DateTime aujourdhui = new DateTime();
aujourdhui = DateTime.Today;
rqtEleveCmdTableAdapter.FillByDateCommande(this.tfcDataSet1.rqtEleveCmd, aujourdhui.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
break;
}
default:
break;
}
}
private void tileTotal_ItemClick(object sender, TileItemEventArgs e)
{
rqtEleveCmdTableAdapter.Fill(this.tfcDataSet1.rqtEleveCmd);
}
private void tileRetrait_ItemClick_1(object sender, TileItemEventArgs e)
{
rqtEleveCmdTableAdapter.FillByRemise(this.tfcDataSet1.rqtEleveCmd, "NON");
}
private void tileRemise_ItemClick_1(object sender, TileItemEventArgs e)
{
rqtEleveCmdTableAdapter.FillByRemise(this.tfcDataSet1.rqtEleveCmd, "OUI");
}
private void tileItem4_ItemClick(object sender, TileItemEventArgs e)
{
DateTime aujourdhui = new DateTime();
aujourdhui = DateTime.Today;
rqtEleveCmdTableAdapter.FillByDateCommande(this.tfcDataSet1.rqtEleveCmd, aujourdhui.ToString());
}
}
}
Tout au long de ce chapitre nous avons essayé de montrer la réalisation et présenté notre logiciel qui était énoncé dans les objectifs de ce travail en montrant les outils utilisés pour la mise au point.
Notons que dans ce chapitre nous n’avons présenté que les parties essentiels de notre logiciel qui a été réalisé grâce au langage de programmation C# et SQL Server comme notre SGBD.