Arrow Table de matières
1325174

CHAP. III. REALISATION ET PRESENTATION DU LOGICIEL

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.

3.1.          Description des outils utilisés :

Chaque réalisation exige une utilisation des matériaux, matériels et des méthodes

3.1.1.  Système de Gestion de Base de données

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 »

3.1.2.  Langage de Programmation

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.

3.2.          Réalisation

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.

3.2.1.     Tables

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

  • Classe

Figure 7          Table Classe

  • Commande

Figure 8          Table Commande

  • Concerner

Figure 9          Table Concerner

  • Elève

Figure 10        Table Elève

  • Enseignant

Figure 11        Table Enseignant

  • Equipement

Figure 12        Table Equipement

  • Matériel

Figure 13        Table Matériel

3.2.2.     Requêtes

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

3.2.3.     Formulaires

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

3.2.4.     Etats

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.

  • Le billet d’atelier

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 18        Billet d'atelier

  • Listes
  • Ci-après nous présentons la liste des élèves en ordre avec l’atelier

Figure 19 Liste des élèves en ordre

  • La liste suivant nous permettra de voir les élèves qui n’auront pas droit à leur billet pour le retrait des bulletins.

Figure 20        La liste des élèves avec litiges

  • Nous aurons aussi la possibilité de voir les listes des matériels disponible dans le magasin.

Figure 21        Liste de matériels d'atelier  disponible        

3.3.          Navigation dans le logiciel

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é.

Figure 23        Menu d'Accueil

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.

  • « Ajouter » permettra d’enregistrer une nouvelle opération
  • « Editer » permettra de modifier les informations
  • « Supprimer » servira à supprimer
  • « Annuler » nous donnera la possibilité de retourner au formulaire précédent.

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

3.4.          Module

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.

Partager ce travail sur :