Gestion des informations relatives aux élèves d'une école primaire( Télécharger le fichier original )par Félix NIYOMUGABA Université adventiste d'Afrique Centrale - Bachelor's degree 2007 |
3.3.2.5 Identifiant d'une entitéC'est une propriété (ou ensemble de propriétés) particulière qui permet d'identifier de façon unique une occurrence de l'entité. Pour être identifiant, la ou le groupe de propriétés ne doit pas prendre plusieurs fois la même valeur sur l'ensemble des occurrences possibles de l'entité. L'identifiant figure en premier dans la liste des propriétés. L'identifiant est souligné ( ou parfois précédé d'un # ). 3.3.2.6 Identifiant d'une relation : C'est l'identifiant obtenu par concaténation des identifiants des entités participant à la relation. La démarche à suivre pour la construction d'un MCD est la suivante : Recherche des propriétés à gérer ( dictionnaire des données ), Regroupement des propriétés, Représentation des objets Recherche des relations Recherche des cardinalités, Vérification et validation du modèle Figure 3: Modèle conceptuel Entité Relation
Cours Notes Elèves 1,n Elève_Id Date Avoir Etudier Cours_Id Elève_Id Section_Id 1,1 0, n 0, n 0, n Categorie Cours_Id Résultat EquipeID Intitulé Archive Nom Enseignant Classe Archive Origine Résidence Bailleur Inscription Paiement 0,n Faire Effectuer 1,1 1,1 Banque Eleve_ID Eleve_ID
3.4 Le modèle conceptuel des traitements Le modèle conceptuel des traitements permet de traiter le dynamisme du système d'information, c'est-à-dire les opérations qui sont réalisées en fonction d'événements. Ce modèle permet donc de représenter de façon schématique l'activité d'un système d'information sans faire référence à des choix organisationnels ou des moyens d'exécution, c'est-à-dire qu'il permet de définir simplement ce qui doit être fait, mais il ne dit pas quand, comment ni où. Un événement représente un changement dans l'environnement extérieur au système d'information, il peut représenter un changement aussi dans le système d'information lui-même. D'ou on aura deux sortes d'événements : Un événement externe est un changement du milieu extérieur, il est représenté par une ellipse en traits pointillés Un événement interne est un changement interne au système d'information il est représenté par une ellipse en traits pleins Un processus est un sous-ensemble de l'activité de l'entreprise, cela signifie que l'activité de l'entreprise est constituée d'un ensemble de processus. Un processus est lui-même composé de traitements regroupés en ensembles appelés opérations. Une opération est un ensemble d'actions exécutées par le système suite à un événement, ou à une conjonction d'événements. Cet ensemble d'actions est ininterrompu, c'est-à-dire que les événements ne sont pas pris en compte tant que l'opération n'a pas été accomplie. La synchronisation d'une opération définit une condition booléenne sur les événements contributifs devant déclencher une opération. Il s'agit donc de conditions au niveau des événements régies par une condition logique réalisée grâce aux opérateurs : OU, ET et NON 3.5. Le modèle conceptuel des traitements (MCT) Figure 4: Le modèle conceptuel des traitements
Demande d'inscription d'élève Vérification Non Oui Incomplet Demande incomplète Demande Complet Enregistrement Listes des élèves Passation des examens Oui Non Liste des élèves irreguliers correction Liste des notes Demande rejetée copies
Vérification Non Incomplet Oui Elaboration d'horaire Enregistrement des résultats Vérification Non Oui Enseignement et évaluation
3.6 Le modèle organisationnel du traitement MOT Figure 5:Schéma du modèle organisationnel des traitements 3.7 Le dictionnaire des données Tableau 2: Dictionnaire des données
Table identite (matricule, nom, prénom, pere, mere,sexe, DOB, provinceOrigine,districtOrigine, secteurOrigine, provinceResidence, districtResidence, secteurResidence, celluleResidence, contactParents, boitePostal, religion, situationFamiliale) Table inscription (#matricule, anneeScolaire, anneeEtude, bailleur, doubleur,dateJour, TotPaye, solde ) Table paiement(numero, #matricule, anneeScolaire, numeroBordereau, banque, montant, dateJour,dateBordereau,) Table classe(codeClasse, niveau, anneeEtude, codeEmploye) Table cours(codeCours, #codeClasse, libelle, maxTj, maxExamen, maxTrimestre, maxAnnuel) Table notes(#matricule, #codeClasse,trimestre, anneeScolaire, #codeCours, Note_Tj, NoteExam, NoteTrimestrielle, NoteAnnuelle) Table Employe(codeEmploye, nom, prenom, DOB, Niveau, Nationalite, specialite, Departement) Table classe(codeClasse, ,niveau,anneeEtude, #codeEmploye) Table bailleur(codebailleur, Libelle, pourcentage) Table banque (codeBanque, Libelle) Table province(code, Libelle) Table district(codeDistrict, Libelle, #codeProvince) Table cellule(codeCellule, Libelle, #codeSecteur) Table religion(codeReligion, libelle) Figure 6: Model physique des données
CHAPITRE 4 : REALISATION ET TEST DU NOUVEAU SYSTEME Dans le chapitre précédent, nous avons présenté le modèle de gestion et l'architecture générale de notre application. Dans ce chapitre nous allons décrire de manière générale le modèle client-serveur en dot net qui constitue la base de notre architecture. Nous détaillerons aussi les différents niveaux qui constituent notre application. Enfin, nous présenterons les résultats et tests effectués. Dans la conception d'un nouveau système d'information, l'architecture se présente enfin de faciliter le choix de technologies à utiliser. Le choix se base sur les objectifs à poursuivre, les besoins, le volume d'activités que l'on doit gérer et le genre de la communication. Dans la conception de l'application SYGEP, nous avons fait recours aux différents outils qui nous ont aidés à la mise en place de l'application SYGEP. Nous pouvons mentionner : -SQL Server 2000 pour l'implémentation de la base des données -Visual Basic .net 2003 pour la mise en place d'une interface homme machine -Crystal Report 8.5 pour générer les rapports Le langage SQL a été initialement conçu dans les années 1970 par la firme IBM. Il a été ensuite normalisé (la norme actuelle, SQL-2000, date de 1992) et est devenu le standard de tous les SGBDR. Ce langage permet de masquer aux programmeurs les algorithmes de recherche des données dans des fichiers physiques eux-mêmes structurés de manière très complexe et différemment selon les SGBDR. Transact SQL prend certaines libertés par rapport à la norme, mais la majeure partie de ce qu'on aborde ici est réutilisable avec un autre système de gestion. Il se décompose en quatre sous langages qui s'occupent de : - La définition des données (LDD) : création des tables, des contraintes, etc. ; - La manipulation des données (LMD) : sélectionner, insérer, supprimer et modifier ; - Le contrôle des données : intégrité, droits d'accès, verrous et cryptage ; - La programmation (Transact SQL) : procédures stockées, fonctions, déclencheurs. Dans ce langage, les données sont stockées dans les objets appelés tables. Ce logiciel utilise treize tables qui sont les suivants : - La table Identite nous permet de saisir les informations générales sur un élève. Cette table garde les informations statiques d'un élève. - La table Inscription nous permet de saisir les détails concernant l'élève. Ces détails sont des informations qui varient au cours des années quand l'élève change d'une classe à l'autre. - La table note nous aide à stocker les notes des élèves. - La table paiement nous aide à garder les enregistrements en relation avec le paiement des élèves. - La table cours nous permet de saisir les cours suivis par les élèves. - La table classe garde les classes disponibles pour toutes les promotions scolaires. - La table bailleur est une table qui stocke les informations en relation avec les bailleurs qui prennent en charge en partie ou en totalité le paiement des frais scolaire des élèves. - La table religion garde les différentes religions. - La table banque garde les différentes banques. - La table provinces garde les différentes provinces. - La table districts garde les différents districts. - La table secteur garde les différents secteurs. - La table cellule garde les différentes cellules. 4.2.2 VISUAL BASIC dot net 2003 Visual Basic est un outil développé par la société américaine appelée "Microsoft" pour développer facilement des applications fonctionnant sous Microsoft Windows. Visual Basic est, comme son nom l'indique, un outil visuel permettant de créer sans notion de programmation l'interface graphique (GUI - Graphical User Interface) en disposant à l'aide de la souris des éléments graphiques (boutons, images, champs de texte, menus déroulants,...). Visual Basic .NET Visual Basic .NET (VB.NET) est la nouvelle
génération du langage Visual Basic. Bien que les syntaxes de
Visual Basic .NET et Visual basic restent sensiblement proche, Par ailleurs, Visual Basic .NET dispose avec Visual Studio d'un
IDE et d'assistants générateurs de code avancés. Crystal Reports est un des générateurs d'états le plus connus. Il présente une interface facile à utiliser qui permet aux utilisateurs de construire des rapports rapidement mais ayant assez de profondeur pour produire des rapports complexes et répondre aux besoins avancés. Crystal Reports a la possibilité de se connecter aux sources des données telles que SQL Server, Oracle, Microsoft Access, des fichiers logs de type Web,... On peut naviguer à travers ces systèmes de stockage de données, et trouver les informations dont on a besoin, et extraire les données pour produire des rapports sophistiqués. Crystal Reports est l'outil de création des rapports le plus populaire utilisé pour afficher ces rapports dans les applications Visual Basic 6.0 ainsi que Visual Basic .NET. Les outils ci haut cités nous ont aidé à mettre en place un logiciel qui répond aux problèmes évoqués dans le deuxième chapitre. Pendant et après la mise en place de ce logiciel, il faut effectuer certains tests. Le test de l'application après le développement s'avère nécessaire pour s'assurer de la bonne marche de l'application. Pour mieux comprendre cette partie, certaines définitions sont importantes : - La faute est définie comme étant une cause d'une erreur. - Une erreur est un écart entre une valeur ou condition calculée, observée ou mesurée et la valeur ou condition qui est vraie, spécifiée ou théoriquement correcte. - Un défaut ou anomalie est la manifestation d'une erreur dans un logiciel. Un défaut peut causer une panne. - Une panne est la fin de la capacité d'un système ou d'un de ses composants d'effectuer la fonction requise, ou de l'effectuer à l'intérieur de limites spécifiées. - Le test est un processus manuel ou automatique, qui vise à établir qu'un système vérifie les propriétés exigées par sa spécification, ou à détecter des différences entre les résultats engendrés par le système et ceux qui sont attendus par la spécification. En vue de minimiser les risques d'erreurs de programmation et de vérifier la conformité du produit intermédiaire ou final avec le cahier des charges, de nombreux outils et méthodes ont été créés. La capacité du produit à résister à différentes montées en charge fait également partie de la batterie de tests qu'une solution se doit de passer avant d'être mise en place. Le test visant la mise en évidence des erreurs d'un logiciel, n'a pas l'objectif de diagnostiquer la cause de ces erreurs ni celui de corriger les fautes. Cependant l'efficacité du test (son aptitude à détecter des erreurs) doit être conforme à certains critères de qualité. La qualité étant l'ensemble des propriétés et caractéristiques d'un produit ou service qui lui confèrent l'aptitude à satisfaire des besoins exprimés ou implicites, son niveau dépend du contexte d'utilisation du logiciel : plus le contexte est critique, plus l'effort de test doit être important. La programmation d'un logiciel aérospatial requiert des exigences de qualité supérieures à la programmation d'un éditeur de dessins techniques. Pour un logiciel critique, le coût du test peut représenter plus de 40% du coût du développement. Dans le panorama des solutions de test du logiciel, trois catégories de solutions ont été détaillées : - La première catégorie concerne les tests sur le code source à proprement parler quelque soit le langage utilisé. L'objectif est bien entendu de détecter, de manière la plus automatisée qui soit, les anomalies. - La deuxième catégorie de solutions concerne les tests fonctionnels. Ces derniers reposent sur l'analyse des spécifications de tout le logiciel ou une partie, sans tenir compte de sa programmation intrinsèque. La solution est testée de telle sorte qu'un input dans telle ou telle de ses sections doit renvoyer une réponse conforme au cahier des charges. - La troisième catégorie de solution est celle relative à la performance des logiciels développés, que ces derniers soient des applications web, réseau,... Le but des tests fonctionnels (appelés aussi tests boite noire) est de : - Vérifier le comportement d'un logiciel par rapport aux spécifications (fonctions non-conformes ou manquantes,...) - Vérifier le respect des contraintes (performances, espace mémoire,...) et des facteurs qualité associés au logiciel (portabilité,...). Il n'est pas facile de connaître à priori le nombre des tests nécessaires, le seul élément dont on est sûr auquel on peut se baser est la spécification. La spécification étant l'ensemble des exigences auxquelles le produit ou le service doit se conformer. La spécification contient les fonctions à réaliser par le logiciel, les interfaces de ce logiciel et les contraintes fixées au développeur (performances temporelles, performances spatiales, contraintes matérielles, critères de sécurité et la portabilité). 4.3.2 Couverture des tests fonctionnels Les tests fonctionnels sont divisés en quatre grandes catégories à savoir : les tests nominaux, les tests aux limites fonctionnels, les tests de robustesse et les tests de conformité. Les tests nominaux aident à vérifier la conformité par rapport à la spécification pour un comportement normal du logiciel, les tests aux limites aident à vérifier le comportement aux limites du logiciel. Au niveau des tests nominaux et des tests aux limites fonctionnelles, on teste les fonctions du logiciel. Les tests de robustesse permettant de valider la robustesse du logiciel vis-à-vis de son environnement comme les tests hors limites fonctionnelles, les tests en charges (saturation des réseaux, saturation des requêtes,...) et les pannes des équipements externes. Les tests de conformité vérifient les contraintes associées au logiciel. Ces contraintes peuvent être des performances, l'ergonomie (c'est-à-dire l'interface homme-machine) et la portabilité (environnement). Développement Test Analyse (spécification) du logiciel Conception générale Conception détaillée Codage Tests unitaires Intégration et tests d'intégration Tests de validation Modifications et tests de régression http://www.inrs.fr/htm/comment_construire_les_tests_d_un_logiciel.htm : Enchaînement : Lien logique Durant les phases de descente du cycle, le testeur élabore les Plans de Tests du Logiciel décrivant essentiellement : - la stratégie des tests mise en place - les moyens mis en oeuvre (matériel, logiciel et humain) - l'ensemble des fiches des tests. Durant les phases de remontée du cycle, le testeur exécute les fiches des tests décrites dans les plans et produit les rapports des tests associés. Ces rapports contiennent essentiellement : - la synthèse des résultats de tests - les résultats des tests détaillés - la trace d'exécution des tests. Les tests unitaires ont pour but de valider chaque composant logiciel pris unitairement par rapport à sa spécification détaillée. Ce test est effectué dès qu'une pièce de code a été codée et compilée correctement et il utilise le type de test appelé test structurel. Ce dernier consiste à analyser la structure interne du programme en déterminant les chemins minimaux afin de s'assurer que toutes les conditions d'arrêt de boucle ont été vérifiées, toutes les branches d'une instruction conditionnelle ont été testées et les structures de données internes ont été testées (pour s'assurer la validité). Le but de ce test est la validation des sous systèmes logiciels entre eux c'est-à-dire l'intégration de l'interface entre les composants logiciels et l'intégration de l'interface entre le logiciel et le matériel. Le test d'intégration est effectué dès qu'un sous système fonctionnel (module, objet) est entièrement testé unitairement. Une progression ordonnée de tests dans laquelle des éléments logiciels et matériels sont assemblés et testés jusqu'à ce que l'ensemble du système soit testé. Ce test consiste en la vérification de la conformité du logiciel aux spécifications du logiciel c'est-à-dire vérifier que le système construit correspond bien aux besoins exprimés par le client. Ce test de validation est effectué dès que l'ensemble des sous-systèmes fonctionnels ont été testés et intégrés. A ce niveau, les tests fonctionnels et les tests de robustesse sont utilisés. 4.3.6 Le test du logiciel ou test de réception Ce test de réception est un test généralement effectué par l'acquéreur après l'installation d'un système ou d'une entité fonctionnelle avec la participation du fournisseur, pour vérifier que les dispositions contractuelles sont bien respectées. Il est appelé test du logiciel car à ce niveau le test est effectué dans l'environnement réel du logiciel, avec les données du client, sa plate-forme,... A la suite de la modification d'un logiciel (ou d'un de ses constituants), un test de régression a pour but de montrer que les autres parties du logiciel n'ont pas été affectées par cette modification, c'est le test de régression. Cela est dû au fait que l'utilisation du logiciel peut engendrer les nouveaux besoins dans l'organisation. Le développement pouvant aussi être la cause de cette modification. Comme nous l'avons signalé dans les parties précédentes, le logiciel sujet de notre travail a été développé en vue de répondre aux besoins que présentait la gestion des écoles primaires. Le module de gestion d'enregistrement développé dans ce logiciel nous a permis de résoudre quelques problèmes comme la gestion d'enregistrement, la gestion de l'inscription des élèves et la liste des élèves. Pour l'inscription, les données concernant chaque élève étaient saisies dans un registre d'inscription et pour établir le rapport concernant ces inscriptions, il fallait faire le pointage dans le registre. Avec le nouveau système, l'utilisateur va saisir les données dans la base des données et il pourra imprimer des rapports automatiques. Pour la saisie dans la classe montante, le processus est le même. Le module comptabilité, à son tour, nous a permis de résoudre les problèmes comme la détermination du nombre d'élèves en dette automatiquement. Pour sortir les bulletins, se fait par sélection de classe ou d'un élève individuellement. Pour avoir ces résultats, des tests ont été effectués. Le logiciel que nous avons développé a subi des tests unitaires, des tests d'intégrations et le test de validation. Les tests unitaires ont été effectués après l'écriture de chaque morceau de code. Avant de passer à une nouvelle section, il a toujours été nécessaire de faire des tests pour les sections déjà effectuées. A cause du nombre élevé des unités développées et testées, il n'est pas facile de citer tous les tests unitaires qui ont été effectué mais nous pouvons identifier certains d'entre eux. Ces tests sont par exemple la saisie des élèves, la détermination du résultat,... Un formulaire a été préparé pour la saisie de ces élèves dans la base des données. Après le test unitaire, il a fallu effectuer des tests d'intégration. Les tests d'intégration sont aussi multiples comme des tests unitaires car il a fallu intégrer toutes les unités testées dans un même logiciel scriptions et la gestion de notes. La gestion de notes devrait tirer les données dans l'unité. Ces tests ont confirmé le bon fonctionnement de l'interface entre les différentes sections déjà testées unitairement ou séparément. L'un des exemples est la gestion des in inscription. Le test d'intégration a montré que ces données saisies dans l'inscription arrivaient immédiatement dans l'unité qui nous permet la gestion de note. C'est-à-dire quand un élève est saisi sur le formulaire d'inscription, ces informations sont aussi enregistrées directement dans l'unité de gestion de note et le test l'a confirmé. Le test de validation s'avérait aussi nécessaire pour vérifier si réellement le logiciel mis en place répond exactement aux besoins exprimés dans les spécifications. Ce test n'a pas été effectué pour plusieurs raisons. Ce test devrait se passer en deux phases : la première phase pour le test du module gestion d'enregistrement des inscriptions et des notes et la seconde pour le module de comptabilité. Dans la gestion de paiement, nous devrions saisir des opérations paiement possibles et d'autres opérations comme la contribution des bailleurs. Dans le module comptabilité, il fallait essayer d'enregistrer les opérations réelles pour voir comment le logiciel se comporte. A la fin il fallait aussi faire le contrôle pour vérifier aussi si le résultat était déterminé correctement avec des données réelles. Signalons aussi que le test de réception n'a pas été effectué à cause de plusieurs exigences qui n'ont pas été disponibles à temps. Après ces tests qui ont été effectués avec succès, nous pouvons dire que le travail a atteint son objectif. La politique de sécurisation détermine les actions à mener pour assurer l'intégrité, la confidentialité des données et la disponibilité du service. Sauvegarder régulièrement le fichier contenant la base de données est l'une de mesure de protection des données. C'est lui qui contient les fiches principales. Cette sauvegarde peut se faire sur un lecteur externe (disquette, CD, Flash disc...). Il est intéressant de noter que les données de ce fichier peuvent être compressées. Pour cela il suffit d'utiliser un utilitaire comme Win Zip, WinRAR etc. Du côté des postes client Les systèmes d'exploitations suivant supportent la conception et le déploiement d'applications .NET développées avec VB.NET. Microsoft Windows Server 2003 Windows XP Professionnel Windows XP Édition familiale (Sans possibilité de création d'applications Web et de services WEB XML) Windows 2000 Professionnel (Service Pack 3 ou version ultérieure requis) Windows 2000 Server (Service Pack 3 ou version ultérieure requis) Windows NT 4.0 (VSNET 2002 exclu) Les plates-formes Windows 98, Windows 98 Deuxième
Édition et Windows ME, Microsoft Windows NT 4.0 (pour VS.NET 2002) ne
sont pas prises en charge pour la conception et le développement avec
Visual Studio .NET. L'installation du runtime Framework.NET est indispensable sur le poste cible. - CPU : Pentium III ou supérieur - RAM : 128 Mo ou supérieur - 15 Mo libres sur le disque dur Du côté du serveur -La plate-forme : WINDOWS 2000 Server - 3 Go libre sur le disque dur Les logiciels pré requis : -SQL Server 2000 Installation des Service Pack les plus récents des logiciels cités ci haut pour garantir le bon fonctionnement du système. |
|