Institut de la Francophonie pour l Informatique RAPPORT DU PROJET GÉNIE LOGICIEL AVANCÉ Implémentation d un logiciel de gestion d emploi du temps de l IFI Réalisé par: KASEREKA Kabunga Selain TRƯƠNG Xuân Hà PHI Huu Tuan Hanoï, Avril 2013
TABLE DES MATIERES 1. INTRODUCTION... 3 2. SPECIFICATION DE L'APPLICATION... 3 3. LES EXIGENCES FONCTIONNELLES ET NON FONCTIONNELLES DE L'APPLICATION... 4 3.1. Méthodes pour définir/capturer les exigences... 4 3.2. Exigences fonctionnelles de l application... 4 a. Diagramme de cas d utilisation... 6 3.3. Les exigences non-fonctionnelles de l application... 6 4. LA CONCEPTION... 7 4.1. Diagramme de classe... 7 4.2. Diagramme de séquence... 8 a. Ajouter des nouvelles informations... 8 b. Connexion au système par l administrateur... 8 c. Afficher les informations... 9 5. IMPLEMENTATION ET TEST... 9 5.1. Solutions techniques... 9 a. Le choix de la plate forme de développement... 9 b. Le choix du langage de programmation... 9 c. La base de données... 10 d. Architecture générale de l application... 10 e. Partage des tâches... 11 6. CONCLUSION ET PERSPECTIVES... 15
1. INTRODUCTION C est dans le cadre du cours de Génie logiciel avancé que nous avons réalisé ce travail. Le but poursuivi est de mettre en place un logiciel de gestion d emploi tu temps à l IFI Jadis les notions de gestion par les technologies de l'information et de la communication n'existaient pas, la gestion d'informations était totalement manuelle et plusieurs désavantages de cette façon de faire se sont vite fait remarquer par plusieurs indices. Nous pouvons citer le gaspillage de temps dans la gestion, la sécurité des informations non garantie, les erreurs dans les calculs rendant ainsi le résultat biaisé, etc. L outil que nous développons est un logiciel qui doit permettre à l IFI de gérer l emploi du temps pour ses étudiants concernant les séances de cours, les professeurs, les emplois du temps selon les années, Ce petit document présente d une manière générale les spécifications du logiciel implémenté, l analyse du problème, la modélisation et l implémentation. 2. SPECIFICATION DE L'APPLICATION Le projet que nous concevons et réalisons dans ce travail est un gestionnaire de l emploi du temps de l IFI. Ce logiciel fourni aux utilisateurs les fonctionnalités suivantes: 1. Ajouter un emploi du temps; 2. Ajouter une séance de cours à l emploi du temps; 3. Ajouter un professeur 4. Ajouter un module de classe 5. Supprimer une séance de cours 6. Afficher Emploi du temps 7. Afficher module de classe 8. Afficher des informations sur le module 9. Afficher un professeur et les informations sur lui 10. Modifier un emploi du temps; 11. Modifier une séance de cours; 12. Modifier un professeur 13. Modifier un module de classe
3. LES EXIGENCES FONCTIONNELLES ET NON FONCTIONNELLES DE L'APPLICATION 3.1. Méthodes pour définir/capturer les exigences Pour bien capturer les exigences de notre logiciel, nous avons appliqué quelques méthodes vues au cours : Interview : cette méthode nous a permis de discuter avec Monsieur Tuan sur l utilisation de l emploi du temps qui existe déjà à l IFI. Observation : cette méthode nous a permis de voir le logiciel existant en ligne et directement chez monsieur Tuan, son administrateur enfin de relever ses difficultés et voir ses souhait sur son utilisation. Séance de réflexion : grâce a cette méthode nous avons effectue quelques discussion avec les utilisateurs prévus pour le nouveau système (étudiant, monsieur Tuan, ) 3.2. Exigences fonctionnelles de l application Notre application se base sur plusieurs exigences fonctionnelles que nous décrivons dans le tableau ci-dessous : EF 1.0 EF 1.1 EF 1.2 EF 1.3 Ajouter un emploi du temps Le système doit demander de saisir des informations sur l emploi du temps Le système doit enregistrer l emploi du temps Le système doit attribuer un identifiant à cet emploi du temps EF 2.0 EF 2.1 EF 2.2 EF 2.3 Ajouter une séance de cours à l emploi du temps Le système doit demander de saisir des informations sur la séance Le système doit enregistrer la séance Le système doit attribuer un identifiant à cette séance EF 3.0 EF 3.1 Modifier un professeur Le système doit permettre de modifier un professeur
EF 3.2 Le système doit permettre d enregistrer les nouvelles informations sur la personne EF 4.0 EF 4.1 EF 4.2 Supprimer un professeur Le système doit permettre de supprimer un professeur Le système doit demander la confirmation de suppression EF 5.0 EF 5.1 Afficher Le système doit permettre d afficher les informations sur l emploi du temps, sur les classes, sur les modules, sur les professeurs EF 6.0 EF 6.1 EF 6.2 EF 6.3 Ajouter un professeur Le système doit demander de saisir des informations sur le professeur Le système doit enregistrer le professeur Le système doit attribuer un identifiant à ce professeur EF 7.0 EF 7.1 EF 7.2 EF 7.3 Ajouter un module de classe Le système doit demander de saisir des informations sur le module Le système doit enregistrer le module Le système doit attribuer un identifiant à ce module EF 8.0 EF 8.1 EF 8.2 Modifier une séance de cours Le système doit permettre de modifier une séance Le système doit permettre d enregistrer les nouvelles informations sur une séance EF 9.0 EF 9.1 EF 9.2 Supprimer une séance de cours Le système doit permettre de supprimer une séance Le système doit permettre de mettre a jour Tableau 1. Tableau des exigences fonctionnelles
a. Diagramme de cas d utilisation Ci-dessous nous présentons le diagramme de cas d utilisation pour montrer l interaction entre les utilisateurs et le système : Figure 1. Diagramme de cas d utilisation 3.3. Les exigences non-fonctionnelles de l application Ci-dessous nous présentons un tableau qui présente les exigences non fonctionnelles, leur description et leur numéro d exigence fonctionnelle utilisées. Description EF utilisée ENF 1.0 Le taux pour qu un échec survienne lors Toutes les exigences
d une opération sur le système doit être très faible soit 0.0001% ENF 2.0 Le système doit être disponible durant toutes les opérations ENF 3.0 En cas de défaillance, le système ne devra pas causer de dommages matériels ENF 4.0 En cas d erreurs venant de l utilisateur, les données ne doivent subir aucun changement, la disponibilité des données doit être garantie. ENF 5.0 Le système doit avoir au plus 3 secondes comme temps de réponse à une opération. Toutes les exigences Toutes les exigences Toutes les exigences Toutes les exigences Tableau 2. Tableau des exigences non fonctionnelles 4. LA CONCEPTION 4.1. Diagramme de classe Voici le diagramme de classe de notre application : Figure 2. Diagramme de classe
4.2. Diagramme de séquence Dans ce point nous présentons les opérations qui se font sur le système via le diagramme de séquence : a. Ajouter des nouvelles informations Figure 3. Diagramme de séquence de l ajout dans le système b. Connexion au système par l administrateur Figure 4. Diagramme de séquence connexion au système par l administrateur
c. Afficher les informations Figure 5. Diagramme de séquence pour afficher les informations 5. IMPLEMENTATION ET TEST 5.1. Solutions techniques a. Le choix de la plate forme de développement Pour implémenter notre application nous avons utilisé Eclipse IDE, qui est un environnement de développement intégré libre extensible, universel et polyvalent, permettant potentiellement de créer des projets de développement mettant en œuvre n'importe quel langage de programmation. b. Le choix du langage de programmation Le langage utilisé pour l implémentation de cette application est le langage java, le JSP, le XHTML, le CSS, et JavaScript. Notons que les serveurs Apache et tomcat7 nous ont aussi servi pour la mise en place de ce logiciel. Grace au langage java nous avons programmée notre applications d'une façon orientée objet, donc une application bien structurée, modulable, maintenable beaucoup plus facilement et efficace. Le JSP a été utilisé pour appelé nos classes java dans des pages HTML grâce aux Beans, le CSS nous a servi pour faire nos feuilles de style.
c. La base de données Nous avons utilisé Mysql comme système de gestion de base de base de données pour créer notre base de données. Ci-dessous nous présentons la structure de nos tables dans la base. Figure 5. La structure des tables dans la base de données d. Architecture générale de l application Figure 6. Architecture générale
e. Partage des tâches Pour mieux réaliser ce travail nous avons jugé bon de partager les taches spécifiques: Codage Java et base de données: TRƯƠNG Xuân Hà et KASEREKA Selain Codage view JSP, CSS, JavaScript, HTML, XHTML : TRƯƠNG Xuân Hà et KASEREKA Selain Analyse et conception : TRƯƠNG Xuân Hà, KASEREKA Selain et PHI Huu Tuan Rapport : TRƯƠNG Xuân Hà, KASEREKA Selain et PHI Huu Tuan 5.2. Le test d acceptation Dans cette partie nous soumettons à notre programme un jeu de données pour le tester. Ces opérations englobent l ensemble d opérations qui seront faites par les utilisateurs de ce logiciel. 1. Home Page La page ci-dessous est le Home Page de notre logiciel, grâce à cette page, l utilisateur a la possibilité de faire le choix dans les options précises ci-dessous (choisir promotion et choisir la classe) pour voir l emploi du temps correspondant ou voir les cours correspondants. Soulignons que nous utilisons un navigateur web pour visualiser nos pages car nous avons mis en place une application web.
Admettons que l utilisateur choisisse de voir l emploi du temps, la fenêtre ci-dessous s affiche selon les choix de l utilisateur. 2. Affichage de l emploi du temps Sur cette page plusieurs options sont disponibles : Voir les détails sur le cours, il suffit de cliquer sur le cours pour savoir la durée du cours et s il enseigné par quel professeur. Voir la semaine suivante ou précédente en cliquant sur suivant ou précédent sur le bas de page droit. 3. Détails sur le cours
Ici nous voyons les détails sur le cours Initiation UNIX enseigné par le Professeur Nguyen Hong Quang dont la durée est de 15 Heures. Soulignons que toutes ces informations sont tirées de notre base de données. 4. Détails sur le professeur Sur la figure ci-dessus, il suffit de cliquer sur le nom du professeur pour avoir des informations sur lui, notamment son email, et tous les cours qu il donne. 5. Ajouter des informations sur l emploi du temps
6. Affichage des tous les cours 7. Supprimer une séance dans l emploi du temps Sur cette fenêtre, l administrateur peut, après s être connecté avec succès, supprimer les séances dans l emploi du temps.
6. CONCLUSION ET PERSPECTIVES Dans ce document nous présentons le logiciel que nous avons réalisé. Ce programme permet de gérer l emploi du temps dans une institution académique, nous avons pris le cas spécifique de l IFI. Pour la partie modélisation nous avons utilisé UML. Les opérations, dans ce logiciel, sont faites en interaction avec une base de données Mysql. Ce programme marche très bien et répond aux exigences décrites dans le cahier de charge. Cependant, ce programme peut être amélioré dans l avenir pour permettre la prise en charge d autres fonctionnalités que nous n avons pas fini à implémenter, notamment les notifications automatiques par mail.