Vous êtes sur la page 1sur 42

Rapport de mini projet

Sous thème :

Développement d’une application de gestion


des étudiants sous JAVA

Effectuer au sein de l'Ecole Nationale des Sciences


Appliquées d'Al-Hoceima (ENSAH)

2ème GI

Réalisé par : Encadré par :

ES-SEDRATY Mohamed
Table des matières
Chapitre 1 : Présentation de l’ENSAH..........................................................................................................................................3
1-Présentation de l’ENSAH :..................................................................................................................................................4
2-Présentation des filières :...................................................................................................................................................4
Chapitre 2 : Etat de l’art..............................................................................................................................................................5
1-Introduction....................................................................................................................................................................... 6
2-Présentation d’UML :.........................................................................................................................................................6
2.1- Définition :................................................................................................................................................................. 6
2.3-Les Diagrammes UML :...............................................................................................................................................6
2.4-Diagrammes structurels ou statiques :.......................................................................................................................6
2.5-Les points forts et les points faibles d’UML :..............................................................................................................8
3-Méthode de calcul des estimations de développement :...................................................................................................8
4-Conclusion :........................................................................................................................................................................8
Chapitre 3 : Spécification des Besoins..........................................................................................................................................9
1-Introduction :................................................................................................................................................................... 10
2. Description de projet :.....................................................................................................................................................10
3-Objectifs :......................................................................................................................................................................... 10
4-Identification des acteurs :...............................................................................................................................................10
5-Diagramme de cas d’utilisation :......................................................................................................................................11
6-Description textuelle / Diagramme de séquence / Diagramme d’activité :......................................................................13
6.1-Cas d’utilisation « s’authentifier à l’application bureau ».........................................................................................13
6.2- Cas d’utilisation « Inscription».................................................................................................................................16
6.3- Cas d’utilisation « Modifier étudiant»......................................................................................................................19
6.4- Cas d’utilisation « Supprimer étudiant »..................................................................................................................25
6.6. Cas d’utilisation « Rechercher étudiant »...........................................................................................................28
7-Conclusion :...................................................................................................................................................................... 28
Chapitre 3 : Analyse et conception............................................................................................................................................29
1-Introduction :................................................................................................................................................................... 33
2-Conclusion :...................................................................................................................................................................... 34
Chapitre 4 : Implémentation.....................................................................................................................................................35
1. Introduction :................................................................................................................................................................... 36
2. Les règles de passages :...................................................................................................................................................36
3. Présentation de l’environnement de développement :....................................................................................................37
3.1. Plateformes matérielles :....................................................................................................................................37
3.2. Plateformes Logiciels :........................................................................................................................................38
4-Présentation des langages utilisés :..................................................................................................................................39
5.1. Descriptions de quelques interfaces :.................................................................................................................37
6. Conclusion :...................................................................................................................................................................... 40
Conclusion générale................................................................................................................................................................. 41
Chapitre 1 : Présentation de l’ENSAH
1- Présentation de l’ENSAH :

Ecole Nationale des Sciences Appliquées d'Al-Hoceima est un établissement public


d'enseignement supérieur relevant de l'université Abdelmalek Essaadi.
2- Présentation des filières :

Génie Informatique 
Génie Civil 
Génie de l'eau et de l'Environnement
Génie énergétique et énergies renouvelables
Chapitre 2 : Etat de l’art
1- Introduction

La réalisation d'une application Web,Desktop,Mobile doit être précédée d'une méthode


d'analyse, de conception et d’implémentation qui a pour objectif de faciliter et de maitriser la
complexité du développement d'une application afin de rendre ce développement plus fidèle
aux besoins du client. Mais pour utiliser cette méthode et appliquer ces différentes phases, il
faut un langage de modélisation afin d'en faciliter la réalisation. Durant le développement de
notre application j’ai utilisé le langage de modélisation UML, alors c’est quoi UML ?

2- Présentation d’UML :

2.1- Définition :

UML (Unified Modeling Language), que l'on peut traduire par "langage de modélisation
unifié) est une notation permettant de modéliser un problème de façon standard. Ce langage
est né de la fusion de plusieurs méthodes existant auparavant, et est devenu désormais la
référence en terme de modélisation objet, à un tel point que sa connaissance est souvent
nécessaire pour obtenir un poste de développeur objet.
2.3-Les Diagrammes UML :

Les 14 diagrammes UML sont dépendants hiérarchiquement et se complètent, de façon à


permettre la modélisation d'un projet tout au long de son cycle de vie.

2.4-Diagrammes structurels ou statiques :

Les diagrammes structurels ou statiques rassemblent : 9


 Diagramme de classes : il représente les classes intervenant dans le système.
 Diagramme d'objets : il sert à représenter les instances de classes (objets) utilisées dans
le système.
 Diagramme de composants : il permet de montrer les composants du système d'un point
de vue physique, tels qu'ils sont mis en œuvre (fichiers, bibliothèques, bases de
données…)
 Diagramme de déploiement : il sert à représenter les éléments matériels (ordinateurs,
périphériques, réseaux, systèmes de stockage…) et la manière dont les composants du
système sont répartis sur ces éléments matériels et interagissent entre eux.
 Diagramme des paquetages : un paquetage étant un conteneur logique permettant de
regrouper et d'organiser les éléments dans le modèle UML, le diagramme de paquetage
sert à représenter les dépendances entre paquetages, c’est-à-dire les dépendances entre
ensembles de définitions.
 Diagramme de structure composite : depuis UML 2.x, permet de décrire sous forme de
boîte blanche les relations entre composants d'une classe.
 Diagramme de profils : depuis UML 2.2, permet de spécialiser, de personnaliser pour un
domaine particulier un méta-modèle de référence d'UML.

 Diagrammes comportementaux :

Les diagrammes comportementaux rassemblent :


 Diagramme des cas d'utilisation : il permet d'identifier les possibilités d'interaction entre
le système et les acteurs (intervenants extérieurs au système), c'est-à-dire toutes les
fonctionnalités que doit fournir le système.
 Diagramme états-transitions : permet de décrire sous forme de machine à états finis le
comportement du système ou de ses composants.
 Diagramme d'activité : permet de décrire sous forme de flux ou d'enchaînement
d'activités le comportement du système ou de ses composants.

 Diagrammes d'interaction ou dynamiques :


Les diagrammes d'interaction ou dynamiques rassemblent :

 Diagramme de séquence : représentation séquentielle du déroulement des traitements


et des interactions entre les éléments du système et/ou de ses acteurs.

 Diagramme de communication : depuis UML 2.x, représentation simplifiée d'un


diagramme de séquence se concentrant sur les échanges de messages entre les objets.

 Diagramme global d'interaction : depuis UML 2.x, permet de décrire les


enchaînements possibles entre les scénarios préalablement identifiés sous forme de
diagrammes de séquences (variante du diagramme d'activité).
 Diagramme de temps (Timing Diagram) : depuis UML 2.3, permet de décrire les
variations d'une donnée au cours du temps.

2.5-Les points forts et les points faibles d’UML :

2.5.1-Les points forts d'UML :

 UML est un langage formel et normalisé


o gain de précision
o gage de stabilité
o encourage l'utilisation d'outils
 UML est un support de communication performant
o cadre l'analyse.
o Il facilite la compréhension de représentations abstraites complexes.
o Son caractère polyvalent et sa souplesse en font un langage universel.

2.5.2- Les points faibles d'UML :

 La mise en pratique d'UML nécessite un apprentissage et passe par une


période d'adaptation.

3- Méthode de calcul des estimations de développement :


On distingue plusieurs méthodes permettant d'estimer le coût développement d'un
logiciel parmi lesquelles nous avons le modèle COCOMO (COnstructive COst MOdel). Cette
méthode existe en trois versions : simple, moyen et complexe. J’utilise le modèle COCOMO
simple qui est le mieux documenté, il donne des estimations en s'appuyant sur la taille
(estimée) du logiciel et sur le type de logiciel ou projet à réaliser.

En se référant aux applications de gestion des écoles déjà sur le marché, le nombre de lignes
de code pour l'application à mettre en place est estimé à 3000 lignes. En application les formules
de COCOMO, les estimations de développement de l'application sont les suivants :

o la Charge = 3*(3)^1,12 = 10,26 Homme-mois


o le Délai = 2.5*(10,26) ^0,35=5,64 mois
o Taille d’équipe = 10,26/5,64= 1,82 hommes soit environ 2 hommes.

4- Conclusion :

Ce chapitre présente l’essentiel sur le langage UML et la gestion de notre projet, depuis
la conception de ce dernier jusqu’à la livraison de la solution. Notez bien que le projet sera
réalisé en utilisant l’approche pascal roque, qui est une instance de ce processus.
Chapitre 3 : Spécification des Besoins
1- Introduction :
Dans ce chapitre nous allons suivre la première phase de la méthode de Pascal
Roques c’est-à-dire la spécification des besoins qui présente l’étude préliminaire détaillé de
notre projet en réalisant le diagramme de cas d’utilisation puis la description textuelle des
cas importantes, et enfin un diagramme de séquence et d’activité pour chacun d’eux.

2. Description de projet :
Il s’agit de développer une application de gestion d’une école supérieure (gestion des
étudiants etc. …). L’application est développée à l’aide des technologies Java et des bases
de données relationnelles.

Les informations gérées par l’application sont :

 Un ensemble d’enseignants
 Un ensemble de sections.
 Un ensemble des étudiants.
 Un ensemble de cours.

3- Objectifs :

 L’objective principale de notre projet c’est le renoncement de l’utilisation des supports


papiers au sein de l’école.

 Faciliter les gestions des étudiants, enseignants, des cours.

 Offrir au responsable d’accueil de consulter toutes les informations sur les


étudiants, enseignants d’une manière simple et rapide.

4- Identification des acteurs :

Dans notre système, l’acteur principale est la responsable d’accueil de l’école,


presque elle fait la majorité de travail administratif (elle gère les dossiers des
professeurs, elle s’occupe de la scolarité des étudiants, puis il y a un acteur secondaire
est le directeur de l’école.
Cette application doit permettre aux :

 Responsable d’accueil de :

 Inscription d’un nouvel étudiant.


 L’ajout d’un nouvel enseignant.
 supprimer ou modifier un étudiant ou un enseignant.
 Rechercher à un étudiant ou un enseignant selon les conditions voulu par la responsable
d’accueil.
 Imprimer La liste des étudiants..

5- Diagramme de cas d’utilisation :

Figure 1: Diagramme cas d'utilisation.


Figure 2 : Exemple d'une Gestion
6- Description textuelle / Diagramme de séquence / Diagramme d’activité :

6.1-Cas d’utilisation « s’authentifier à l’application bureau »

Fiche Descriptive :

Cas d’utilisation : s’authentifier à l’application bureau.

Acteurs principaux : Responsable d’accueil.

Acteur secondaire : Directeur.

Objectif : permet de s’identifier et d’accéder au menu.

Précondition : lancer l’application

Post condition : menu principale.

Scénario nominal :

1. Le système affiche des champs d’authentification

2. L’utilisateur remplit les champs (Nom d’utilisateur, Mot de passe)

3. l’utilisateur valide l’envoie des identifiants

4. Le système accède à la base de données et vérifie le contenu de formulaire

5. L’utilisateur accède à l’application

Scénario alternatif :

4. a Nom d’utilisateur ou mot de passe sont incorrect

4. a.1 le système affiche un message d’erreur.


Figure 3 : Diagramme de séquence « S’authentifier a l’application bureau
Diagramme de séquence « S’authentifier a l’application
Figure 4 : Diagramme d’activité « S’authentifier a l’application bureau »
6.2- Cas d’utilisation « Inscription»

Fiche Descriptive :

Cas d’utilisation : Inscrire étudiant.

Acteurs principaux : Responsable d’accueil.

Acteurs secondaires : Directeur.

Objectif : ajouter un nouvel étudiant

Pré condition : Consulter la liste des étudiants.

Post-condition : mise à jour de la liste des étudiants

Scénario nominal :

1. L’utilisateur inscrit un étudiant


2. Le système affiche un formulaire d’inscription.
3. L’utilisateur remplit les champs.
4. L’utilisateur valide l’inscription.
5. Le système affiche un message de succès
6. L’utilisateur quitte le formulaire.
7. La liste des étudiants est mise à jour

Scénario alternatif :

4. a.. Le formulaire est mal remplit

4. a.1. Un message d’erreur est affiché.

4.b l’étudiant déjà existe

4. b.1. Un message d’erreur.


Figure 5 : Diagramme de séquence « Inscription »
Figure 6 : Diagramme d'activité inscription
6.3- Cas d’utilisation « Modifier étudiant»

Fiche Descriptive :

Cas d’utilisation : Modifier étudiant

Acteurs principaux : Responsable d’accueil.

Acteurs secondaires : aucun

Objectif : modifier un étudiant

Pré condition : Consulter liste des étudiants.

Post-condition : mise à jour de la liste des étudiants

Scénario nominal :

1. L’utilisateur cherche l’étudiant concerné


2. L’utilisateur choisit l’étudiant
3. Le système affiche une fenêtre contenant tous les informations de l’étudiant
4. L’utilisateur modifie les informations de l’étudiant.
5. L’utilisateur valide l’opération.
6. L’utilisateur quitte le formulaire.
7. La liste des étudiants est mise à jour

Scénario alternatif :

5. a. le formulaire est mal remplit

5. a.1. Un message d’erreur est affiché.

8. a. Mot de passe incorrecte

8. a.1 afficher un message d’erreur.


Figure 7 : Diagramme de séquence « Modifier étudiant » 23
Figure 8 : Diagramme d’activité « Modifier étudiant »
6.4- Cas d’utilisation « Supprimer étudiant »

Fiche Descriptive :

Cas d’utilisation : Supprimer étudiant

Acteurs principaux : Responsable d’accueil.

Acteurs secondaires : aucun

Objectif : supprimer un étudiant

Pré condition : Consulter liste des étudiants.

Post-condition : mise à jour de la liste des étudiants

Scénario nominal :

1. L’utilisateur recherche l’étudiant concerné


2. L’utilisateur choisit l’étudiant
3. L’utilisateur supprime l’étudiant
4. Le système affiche un message de succès
5. La liste des étudiants est mise à jour

Scénario alternatif :

3. a. étudiant à supprimer est non choisit

2. a.1. Le système affiche un message d’erreur.

5. a. Mot de passe invalide

5. a.1 afficher un message d’erreur.


Figure 9 : Diagramme de Séquence Supprimer Etudiant
Figure 10 : Diagramme d'activité Supprimer Etudiant
6.6. Cas d’utilisation « Rechercher étudiant »

Fiche Descriptive :

Cas d’utilisation : Rechercher étudiant

Acteurs principaux : Responsable d’accueil.

Acteurs secondaires : aucun

Objectif : Trouver un étudiant

Pré condition : Consulter liste des étudiants.

Post-condition : étudiant trouvé

Scénario nominal :

1. L’utilisateur choisit le type de recherche (nom Complet


ou bien Niveau/Classe)
2. L’utilisateur saisit les informations nécessaires.
3. L’utilisateur valide la requête.
4. Le système affiche l’étudiant recherché.

Scénario alternatif :

4. a. Le système ne trouve aucun résultat

4. a.1. Le système affiche la liste des

étudiants autrefois

.
Figure 11 Diagramme de séquence Rechercher Etudiant
Figure 12 : Diagramme d'activité Rechercher Etudiant 30
7- Conclusion :
Dans ce chapitre j’ai présenté et expliqué notre système en s’appuyant sur les besoins
d’utilisateur à l’aide des étapes de spécification de la méthode pascal roque.

Maintenant dans le chapitre suivant nous allons passer vers l’analyse et la conception en
élaborant le diagramme de classe ce qui nous permet de mieux comprendre le
fonctionnement de notre système.

[Type here]
Chapitre 3 : Analyse et conception
1- Introduction :
Après avoir expliqué le fonctionnement de notre système, nous allons dans ce
chapitre donner une vision de notre implémentation en réalisant le diagramme de classe.

Figure 18: Diagramme de

Figure 13 : Diagramme de classe


2- Conclusion :
À ce stade du projet, il ne reste plus que le tiers du travail à accomplir, dont
l'implémentation, celle-ci s'appuie sur les diagrammes de conceptions et notre maitrise des
bases de données du langage java. Néanmoins toutes notre modélisation peut être
révisée en cas de difficulté de transition vers l'implémentation ou l’ajout de nouvelles
fonctionnalités.
Chapitre 4 : Implémentation
1. Introduction :
Dans ce chapitre nous allons réaliser notre travailles, c’est-à-dire la mise en œuvre de
notre application, nous allons d’abord présenter les différents outils et moyens que j’ai utilisé
ainsi que la plate-forme logiciel et matérielle de l’application, ensuite je montre les principales
interfaces et fenêtre de notre application.

2. Les règles de passages :

 Implémentation java :
Parfois, la génération automatique de code produit, pour chaque classe, un constructeur et
une méthode finalise comme ci-dessous. Rappelons que cette méthode est invoquée par le
ramasse miettes lorsque celui-ci constate que l’objet n’est plus référencé. Pour des raisons de
simplification, nous ne ferons plus figurer ces opérations dans les sections suivantes :

 La classe UML devient une classe Java.


 Les attributs UML deviennent des variables d’instances Java.

 Les opérations UML deviennent des méthodes Java.

 Implémentation en SQL

Il est possible de traduire un diagramme de classe en modèle relationnel. Bien entendu, les
méthodes des classes ne sont pas traduites. Aujourd’hui, lors de la conception de base de
données, il devient de plus en plus courant d’utiliser la modélisation UML plutôt que le
traditionnel modèle entités-associations. Cependant, à moins d’avoir respecté une
méthodologie adaptée, la correspondance entre le modèle objet et le modèle relationnel n’est
pas une tâche facile. En effet, elle ne peut que rarement être complète puisque l’expressivité
d’un diagramme de classes est bien plus grande que celle d’un schéma relationnel. Cette
traduction respecte les règles suivant :

 Chaque classe UML devient une relation.


 Les attributs de la classe deviennent les attributs de la relation.


 Pour représenter une association 1 vers 1 entre deux relations, la clé primaire de l’une
des relations doit figurer comme clé étrangère dans l’autre relation.
 Pour représenter une association du type plusieurs vers plusieurs, il faut introduire une
nouvelle relation dont les attributs sont les clés primaires des relations en association
et dont la clé primaire est la concaténation de ces deux attributs…etc.

3. Présentation de l’environnement de développement :

3.1. Plateformes matérielles :

PC : Accent notebook

Composants Caractéristiques

Système D’exploitation Windows 10 Pro 64 bits

Intel(R) Core(TM) i7-7500U CPU @


Processeur 2.70GHz 2.90 GHz
12 Go DDR3
RAM

1000 Go
Disque dur

Intel R HD Graphics 620


Carte Graphique
3.2. Plateformes Logiciels :

• Environnement de développement eclipse :

est un projet, décliné et organisé en un ensemble de sous-projets de développements


logiciels, de la fondation Eclipse visant à développer un environnement de production de
logiciels libre qui soit extensible, universel et polyvalent, en s'appuyant principalement sur
Java.

• Astah :

Astah est un outil de modélisation UML qui fonctionne avec l'environnement d'exécution
Java et qui peut gérer la plupart des diagrammes spécifiés dans la norme UML 2.0.
4- Présentation des langages utilisés :
• Java :

Le langage Java est un langage de programmation informatique orienté objet créé par
James Gosling et Patrick Naughton, employés de Sun Microsystems, avec le soutien de
Bill Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement le 23 mai
1995 au SunWorld. La particularité et l'objectif central de Java est que les logiciels écrits
dans ce langage doivent être très facilement portables sur plusieurs systèmes
d’exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu ou pas de
modifications. Pour cela, divers plateformes et frameworks associés visent à guider, sinon
garantir, cette portabilité des applications développées en Java.

• SQL :

SQL (sigle de Structured Query Language, en français langage de requête structurée)


est un langage informatique normalisé servant à exploiter des bases de données
relationnelles. La partie langage de manipulation des données de SQL permet de
rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de
données relationnelles.
5.1. Descriptions de quelques interfaces :

Figure 14 : Authentification
Figure 15 : menu Administrateur

Figure 16 : Gestion des étudiants


6. Conclusion :
Dans ce chapitre nous avons, au premier lieu, présenté les différents outils et
langages que nous avons utilisé pour implémenter nos différents applications. Par la suite,
nous avons présenté quelques interfaces de l’application bureau ainsi que le site et
l’application mobile.
Conclusion générale

L'objectif de notre projet était de créer un système de gestion des étudiants, offrant
un ensemble de services tels que la gestion des étudiants et les professeurs. L'application
offre aussi la possibilité d’imprimer automatiquement la liste des étudiants, tout en assurant
la facilité et la simplicité de l’utilisation par la responsable d’accueil ou bien le Directeur
d’école.

Plusieurs technologies ont été nécessaires pour la réalisation de notre projet, on citera
donc principalement le langage de programmation Java. Avec des bases de données
relationnelles et SQL pour la manipulation des données.

Après le passage par les différentes étapes de développement, l'application a abouti à un


logiciel fonctionnel qui répond globalement aux critères imposés dans ce domaine.

Le présent travail nous a permis d'acquérir des connaissances dans le domaine de la


programmation, et de conforter nos connaissances en conception logicielle.