You are on page 1of 30

I Introduction :

La vision de l’université qui offre en plus du support théorique, une base technique et pratique se
renforce de plus en plus au sein de la communauté scientifique. Sur cet esprit on vous présente notre
projet qui porte sur la réalisation d’une application qui gère une bibliothèque universitaire.

II Objectifs :

Notre principal objectif était l’application concrète des notions théoriques acquises de Unified
Modelisation Language (UML) dans un travail pratique.

De ce fait on a saisies cette occasion pour nous essayer à la réalisation d’un travail professionnel
et organisé, cela nous a mené à attribuer un nom a notre équipe ‘BEESOFT’ , et à la lui affilier un logo,
de plus pour valoriser l’esprit de travail d’équipe, on a crée un groupe virtuel, pour que le membres de
l’équipe interagisses et coopères entre eux et c’échanges les ides et la documentation, pour organise
notre travail le contenue de nos réunions était transcrit dans des rapports qui nous on beaucoup servie
en fin de projet.

III Choix du thème :

Les membres de l‘équipe ce sont vue à attribuer à chaque un d’entre eux la responsabilité
d’effectuer des recherche concernant chaque thème proposé par l’enseignant. Après concertation des
membre de l’équipe, le choix de gestion de bibliothèque c’est imposé par :

 La disponibilité des ressources.

 Une connaissance non négligeable du domaine.

 Facilité pour interagir avec le bibliothécaire.

 Proximité de la bibliothèque pour économiser le temps de déplacement.

IV Choix de la méthode :

Nous avons adopté la méthode 2tup, qui se base sur un modèle de cycle de vie en Y, d’après les
critères suivant :

 adaptabilité de la méthode aux spécificités de l’équipe (compétences, taille de l’équipe).

 Disponibilité des ressources documentaires.

 Exigence de la méthode sur la disponibilité et d’implication de l’équipe (estimé à 52%).


IV.1 LE PROCESSUS UNIFIÉ

Le Processus Unifié (PU ou UP en anglais pour Unified Process) est une méthode de
développement logiciel construite sur UML ; elle est itérative et incrémentale, centrée sur l’architecture,
conduite par les cas d’utilisations.
Gestion de Bibliothèque BAHETH®

2TUP signifie « 2 Track Unified Process» .C’est un processus qui répond aux caractéristiques du
Processus Unifié. Le processus 2TUP apporte une réponse aux contraintes de changement continuel
imposées aux systèmes d’information de l’entreprise. En ce sens, il renforce le contrôle sur les
capacités d’évolution et de correction de tels systèmes.

« 2 Track» signifie littéralement que le processus suit deux chemins. Il s’agit des « chemins
fonctionnels » et « d’architecture technique », qui correspondent aux deux axes de changement
imposés au système d’information.

1
IV.2 UN PROCESSUS DE MODELISATION AVEC UML

Le processus 2TUP s’appuie sur UML tout au long du cycle de développement, car les différents
diagrammes de ce dernier permettent de part leur facilité et clarté, de bien modéliser le système à
chaque étape.

« Unified Modeling Language » : UML se définit comme un langage de modélisation graphique et


textuel destiné à comprendre et décrire des besoins, spécifier, concevoir des solutions et communiquer
des points de vue. (Pitman, 2006)

UML unifie à la fois les notations et les concepts orientés objet.il ne s’agit pas d’une simple
notation, mais les concepts transmis par un diagramme ont une sémantique précise et sont porteurs de
sens au même titre que les mots d’un langage, c’est pour ça qu’UML est présenté parfois comme une
méthode alors qu’il ne l’est absolument pas.

UML unifie également les notations nécessaires aux différentes activités d’un processus de
développement et offre, par ce biais, le moyen d’établir le suivi des décisions prises, depuis la définition
des besoins jusqu’au codage. (Roques, 2006)

Page 2 sur 30
Gestion de Bibliothèque BAHETH®

V Capture initiale des besoins

L’étude préliminaire (ou Pré-étude) est la toute première étape du processus 2TUP. Elle consiste à
effectuer un premier repérage des besoins fonctionnels et opérationnels, en utilisant principalement le
texte, ou diagrammes très simples. Elle prépare les activités plus formelles de capture des besoins
fonctionnels et de capture des besoins techniques.

V.1 Rédiger le cahier de charge préliminaire :

V.1.i Présentation du projet :

Ce projet consiste à informatiser le système d’information de la bibliothèque de la faculté des


sciences de l’ingénieur afin d’offrir aux étudiants la possibilité de naviguer dans la base des ouvrages
et de maîtriser le prêt des ouvrages.

La durée de vie de cette application est estimée à 5 ans.

V.1.ii Grands choix techniques:

• Modélisation en UML 2, méthode utilisée 2TUP.


• BOUML pour la dessin des diagrammes.
• SGBD utilisé : MySQL.
• Plateforme utilisée : JAVA (IDE : NetBeans).
• Adobe Photoshop pour les images et les icônes.
• Architecture à deux niveaux :

V.1.iii Besoins fonctionnels:

V.1.iii.a Gestion des prêts :

L’étudiant effectue la recherche d’un ouvrage. S’il est disponible l’étudiant soumet la cote à l’agent.
Ce dernier vérifie les informations sur l’étudiant, met à jour l’état de disponibilité du livre et répond à la
demande de l’étudiant.

Cette fonctionnalité prend en compte le renouvellement des prêts et les pénalités de retard.

Page 3 sur 30
Gestion de Bibliothèque BAHETH®

V.1.iii.b Mise à jour des ouvrages :

Elle porte sur l’ajout des livres.

V.1.iii.c Gestion des dossiers :

Elle porte sur la création, l’ajout ou la modification des dossiers étudiant.


V.1.iii.d Administrateur :

L’application doit permettre à l’administrateur d’avoir la possibilité de créer des comptes utilisateurs
et de gérer leurs droits d’accès.

V.1.iv Besoins opérationnels:

• Sécurité :
o L’application 1 est publique (celle de l’étudiant).
o L’application 2 possède deux niveaux de sécurité :

Niveau agent
Niveau administrateur
• Volume des données :

Type de données Volume unitaire (Ko) Quantité Volume total (Mo)


Livre 2048 50 000 100 000
Etudiant 20 30 000 600
Employé 20 50 1
Données statiques 100 601
Tableau de volume de données de la base

V.2 Identification des acteurs

V.2.i Etudiant :

C’est une personne exploitant la base.

V.2.ii Agent 1 :

C’est la personne effectuant les mises à jour des dossiers et des ouvrage.

V.2.iii Agent 2 :

Concerné par la création des dossiers / ouvrages

V.2.iv Administrateur :

Gère les dossiers employés.

Page 4 sur 30
Gestion de Bibliothèque BAHETH®

V.3 Identifier les messages

V.3.i Emis par le système :

V.3.i.a Résultats sur le livre :

Fournit des informations sur le livre selon l’identifiant entré par l’étudiant.

V.3.i.b Confirmation :

Fournit des informations sur l’existence d’un dossier.

V.3.i.c Résultat de vérification :

Conformité aux règles.

V.3.ii Reçus par le système :

V.3.ii.a Formuler des recherches :

Effectuer des recherches à partir de l’interface étudiant selon les critères qui définissent un
ouvrage.

V.3.ii.b Ajouter/archiver un dossier / ouvrage :

• Inscrire les nouveaux étudiants.


• Archiver les étudiants diplômés.
• Ajout d’un nouveau ouvrage.

V.3.ii.c Vérifier dossier / ouvrage :

• Demande de vérification de conformité aux règles.


• Vérification de la disponibilité d’un ouvrage.

V.3.ii.d Mise à jour des dossiers / ouvrages :

• Les modifications qui portent sur les réinscriptions et le prêt des ouvrages.

V.3.ii.e Modifier les accès :

• Ajout, suppression ou modification des droits d’accès.

Page 5 sur 30
Gestion de Bibliothèque BAHETH®

V.4 Modéliser le contexte:

V.4.i Diagramme du contexte dynamique

: Agent 2

Ajouter /archiver / modifier


Confirmation un dossier / ouvrage

: Agent 1 : Etudiant

Résultat de Résultats sur


vérification le livre

- Vérifier dossier / ouvrage


Recherche
- Mise à jour des dossiers /
d’un livre
ouvrages Baheth

Gérer les dossiers employé

: Administrateur

V.4.ii Diagramme du contexte statique

: Agent 2

: Agent 1 0..* : Etudiant

0..* 0..*
Baheth

0..1 : Administrateur

Page 6 sur 30
Gestion de Bibliothèque BAHETH®

VI Capture des besoins fonctionnels

VI.1 Identifier les cas d’utilisations :

VI.1.i Liste préliminaire de cas d’utilisations :

Cas d’utilisation Acteur principal Acteurs Message(s) émis / reçus par les acteurs
secondaires
Chercher un ouvrage Etudiant Agent 1 Emet : lancer une recherche

Agent 2 Reçu : résultats sur la recherche


Acquisition d’un Agent 2 Emet : ajouter/archiver/modifier un
ouvrage ouvrage

Reçu : confirmation
Gestion des dossiers Agent 2 Emet : ajouter/modifier un dossier

Reçu : confirmation
Gestion des Prêts Agent 1 Emet : vérifier/mettre à jour d’un ouvrage

Reçu : résultats
Gérer les dossiers administrateur Emet : ajouter /archiver un compte
employés employé

Reçu : confirmation

VI.1.ii Diagramme de cas d’utilisations

Page 7 sur 30
Gestion de Bibliothèque BAHETH®

VI.1.iii Décrire les cas d’utilisation :

VI.1.iii.aCas Un :

Sommaire d’identification :
Titre : Chercher un ouvrage.

But : Chercher un ouvrage.

Acteurs : étudiant, agent 1, agent 2.

Description des enchaînements :


Pré conditions :
- L’existence des ouvrages.
Scénario nominal :
- Taper les mots clés :
L’étudiant saisie les mots clés (titre, auteur, cote, ISBN, éditeur)
- Choisir le mode de recherche :
L’étudiant peut chercher suivant deux modes : Le mode simple qui fait la recherche selon
les mots clés saisis, Le mode avancé fait la recherche selon les options choisies (et, ou,
sans, recherche dans les sommaires, recherche dans les résumés).
- afficher les résultats :
Après terminer la recherche le système affiche la liste des ouvrages trouvés (titre, auteur).

VI.1.iii.bCas Deux :

Sommaire d’identification :
Titre : Acquisition d’un ouvrage

But : ajouter et modifier un ouvrage.

Acteur : agent 2.

Description des enchaînements :

Pré conditions :
- L’agent 2 est authentifié.
- L’existence de livre dans la base dans le cas de suppression.
- L’existence de livre dans la base dans le cas de modification.
Scénario nominal :
- Ajouter un ouvrage :

Page 8 sur 30
Gestion de Bibliothèque BAHETH®

L’agent 2 saisie les informations sur l’ouvrage (cote , ISBN , langue, titre , auteur, nombre
d’exemplaire, nombre de pages , sommaire, photo , mots clés , résumé ,
disponible,emprunte) [Exception 1].
Enfin il sauvegarde les informations.
- Modifier un ouvrage :
L’agent 2 peut modifier les informations suivantes : Nombre d’exemplaires.
Exceptions :
Exception 1 : Existence d’un ouvrage.
Dans le cas de l’existence de l’ouvrage qu’on veut ajouter (ISBN identique), on passe au
mode modification.

VI.1.iii.cCas Trois :

Sommaire d’identification :

Titre : Gestion des dossiers (inscriptions).

But : ajouter, archiver et modifier un dossier d’étudiant.

Acteur : agent 2.

Description des enchaînements :

Pré conditions :
- L’agent 2 est authentifié.
- L’existence du dossier dans la base dans le cas d’archivage, modification ou mise à jour.
Scénario nominal :
- Ajouter un dossier :
L’agent 2 saisie les informations suivantes : numéro carte, nom, prénom, date de
naissance, adresse, E-mail, année courante, filière, photo. [Exception1].
- Archiver un dossier :
L’agent 2 entre le n° de la carte d’étudiant à archiver, une recherche s’est faite
automatiquement pour trouver l’étudiant, l’agent 2 appuie sur le bouton Archiver, une
fenêtre de confirmation s’affiche, l’agent confirme ou non l’archivage.
- Modifier un dossier :
L’agent 2 peut modifier les informations suivantes : l’année courante, l’adresse, n°
téléphone, filière.
- Vérifier un dossier :
Après que l’étudiant ramène la cote et le titre à l’agent 1, ce dernier vérifie l’existence du
dossier.[ Exception 1]
- Mettre à jour un dossier :

Page 9 sur 30
Gestion de Bibliothèque BAHETH®

Une fois l’ouvrage est emprunté, les opérations suivantes seront apportées :
Les ouvrages empruntés, les délais pour retourner ces ouvrages et le nombre
d’exemplaires sortants.
Exceptions :
Exception 1 :l’existence du dossier.
Dans le cas de l’existence d’un dossier qu’on veut ajouter (n° de la carte d’étudiant
identique) une fenêtre apparaît indiquant que le dossier existe déjà.

VI.1.iii.dCas Quatre :

Sommaire d’identification :

Titre : Gestion des Prêts

But : vérifier ou mettre à jour l’état de disponibilité d’un ouvrage.

Acteurs : agent 1.

Description des enchaînements :

Pré conditions :
- L’agent 1 est authentifié.
- L’étudiant est inscrit.
Scénario nominal :
- Vérifier un ouvrage :
Après que l’étudiant ramène la cote et le titre à l’agent 1, ce dernier vérifie la disponibilité
de l’ouvrage.
- Mettre à jour un ouvrage :
Une fois l’ouvrage est emprunté ou retourné par un étudiant, les opérations suivantes
seront apportées : nombre d’exemplaire et ouvrages empruntés.

VI.1.iii.eCas Cinq:

Sommaire d’identification :

Titre : Gérer les dossiers employés

But : Accorder les droits d’accès.

Acteur : Administrateur.

Page 10 sur 30
Gestion de Bibliothèque BAHETH®

Description des enchaînements :

Pré conditions :
- L’administrateur est authentifié.
Scénario nominal :
- Créer, supprimer ou modifier une session :
L’administrateur a la possibilité de créer, modifier ou supprimer une session.
- Modifier les droits d’accès :
L’administrateur a la possibilité d’ajouter, modifier ou supprimer un droit d’accès.

VI.1.iv Diagrammes de Séquences :

VI.1.iv.aCas Un :

Page 11 sur 30
Gestion de Bibliothèque BAHETH®

VI.1.iv.bCas Deux :

VI.1.iv.cCas Trois :

Page 12 sur 30
Gestion de Bibliothèque BAHETH®

VI.1.iv.dCas Quatre :

VI.1.iv.eCas Cinq :

Page 13 sur 30
Gestion de Bibliothèque BAHETH®

VI.1.v Diagramme de classes participantes :

VI.1.vi Diagramme de classes affiné :

Après plusieurs itérations on a obtenu le diagramme de classes affiné :

Page 14 sur 30
Gestion de Bibliothèque BAHETH®

VII ANALYSE

VII.1 Découpage en catégories

Cette phase marque le démarrage de l’analyse objet du système à réaliser.

Elle utilise la notion de package pour définir des catégories de classes d’analyse et découper le
modèle UML en blocs logiques les plus indépendants possibles.

Le découpage en catégories constitue la première activité de l’étape d’analyse et elle va s’affiner


de manière itérative au cours du développement du projet. Elle se situe sur la branche gauche du cycle
en Y et succède à la capture des besoins fonctionnels.

Une catégorie consiste en un regroupement logique de classes à forte cohérence interne et faible
couplage externe.

Le découpage en catégories de notre projet a donné le résultat suivant :

Découpage en catégories

Page 15 sur 30
Gestion de Bibliothèque BAHETH®

VII.2 Diagramme de packages d’analyse

Ce diagramme va représenter les différentes dépendances entre les packages d’analyse

Diagramme de package d’analyse

Cette phase a été utilisée par le chef de projet pour distribuer le travail de développement entre les
membres de l’équipe.

VII.3 Développement du modèle statique :

Personne

# Nom : String ;
# Prenom : String ;
# Date_de_naissance : String ;
# Adresse : String ;
# e-mail : String ;

+ Personne() : void ;
+ Enregistrer() : void ;

Pret extends JPanel

- Date : String ;

+ Pret() : void ;
+ Ajouter() : void ;
+ Supprimer() : void ;
+ Sanctionner() : void ;

Page 16 sur 30
Gestion de Bibliothèque BAHETH®

Etudiant extends Personne

- Num_carte : String ;
- Annee_courante : String ;
- Filière : String ;

+ Etudiant() : void ;
+ Existe(Num_carte) : bool ;
+ Chercher(Num_carte) : bool ;
+ Enregistrer() : void ;
+ Modifier() : void ;
+ Archiver() : void ;

Employe extends Personne

- Num_employe : String ;
- Mot_passe : String ;
- Droits : String ;
- Num_tel : String ;
- Etat_civile : String ;

+ Employe() : void ;
+ Existe(Num_employe) : bool ;
+ Chercher(Num_employe) : bool ;
+ Enregistrer() : void ;
+ Modifier() : void ;
+ Archiver() : void ;

Pret extends JPanel

- Date : String ;

+ Pret() : void ;
+ Ajouter() : void ;
+ Supprimer() : void ;
+ Sanctionner() : void ;

Administration extends JPanel

+ Administration() : void ;
+ Ajouter_compte() : void ;
+ Modifier_compte() : void ;
+ Enregistrer_compte() : void ;
+ Archiver_compte() : void ;

Page 17 sur 30
Gestion de Bibliothèque BAHETH®

Ouvrage

- ISBN : String ;
- Cote : String ;
- Titre : String ;
- Auteur : String ;
- Editeur : String ;
- Langue : String ;
- Format : String ;
- Nbr_page : int ;
- Mots_cles : String;
- Resume : String ;
- Nbr_exemplaire : int ;
- Disponible : int ;
- Emprunte : int ;

+ Ouvrage() : void ;
+ Existe(Cote) : bool ;
+ Chercher(Cote) : bool ;
+ Disponible(Cote) : bool ;
+ Enregistrer() : void ;
+ Modifier() : void ;

Inscription extends JPanel

+ Inscription() : void ;
+ Inscrire() : void ;
+ Reinscrire() : void ;
+ Enregistrer() : void ;
+ Archiver() : void ;

Acquisition extends JPanel

- Sommaire : String ;
- Couvert : String ;

+ Acquisition() : void ;
+ Ajouter_ouvrage() : void ;
+ Modifier_ouvrage() : void ;
+ Enregistrer_ouvrage() : void ;

Page 18 sur 30
Gestion de Bibliothèque BAHETH®

Recherche extends JPanel

- Cote : String ;
- Titre : String ;
- Auteur : String ;
- Mot_cle : String ;
- Editeur : String ;
- ET : bool ;
- OU : bool ;
- SANS : bool ;
- Chercher_resume : bool ;
- Chercher_sommaire : bool ;

+ Recherche() : void ;
+ Chercher() : ResultSet ;

VII.4 Développement du modèle dynamique :

VII.4.i Acquisition :

Scénario « Ajouter un ouvrage »

Page 19 sur 30
Gestion de Bibliothèque BAHETH®

Scénario « Modifier un ouvrage »

Page 20 sur 30
Gestion de Bibliothèque BAHETH®

VII.4.ii Prêt

Scénario « Prêter un ouvrage »

Page 21 sur 30
Gestion de Bibliothèque BAHETH®

Scénario « Rendre un ouvrage »

Page 22 sur 30
Gestion de Bibliothèque BAHETH®

VII.4.iii Inscription

Scénario « Inscrire un étudiant »

Page 23 sur 30
Gestion de Bibliothèque BAHETH®

Scénario « Réinscrire un étudiant »

Page 24 sur 30
Gestion de Bibliothèque BAHETH®

Scénario « Archiver dossier étudiant »

VII.4.iv Administration

Scénario « Créer un compte »

Page 25 sur 30
Gestion de Bibliothèque BAHETH®

Scénario « Modifier un compte »

Page 26 sur 30
Gestion de Bibliothèque BAHETH®

Scénario « Archiver un compte »

VII.4.v Recherche

Scénario « Chercher un ouvrage »

VIII CONCEPTION

La conception préliminaire est l’étape où s’effectue la fusion des études fonctionnelles et


techniques.

La conception détaillée qui vient juste après est une activité qui s’inscrit dans l’organisation définie
par la conception préliminaire. Le modèle logique y est particulièrement important dans la mesure où
c’est dans cette étape qu’on génère le plus grand nombre d’informations. Il est ainsi possible de confier
les catégories à des personnes différentes, qui pourront travailler indépendamment les unes des
autres.

Les concepteurs dans cette phase construisent les classes, les interfaces, les tables et les
méthodes qui vont donner une image « prête à coder » de la solution.

Page 27 sur 30
Gestion de Bibliothèque BAHETH®

IX CODAGE

Packages du projet

Interface utilisateur

Page 28 sur 30
Gestion de Bibliothèque BAHETH®

Interface du prêt

X Conclusion

Nous soulignons l’importance du choix de la méthode avant l’entame de la réalisation du projet,


cela facilite la tache de développement et permet la réalisation structurée et organisée du projet.

Sur le plan personnel nous estimons avoir aboutie à concrétiser la majorité des objectifs fixés à
l’entame de notre projet.

Page 29 sur 30
Gestion de Bibliothèque BAHETH®

Bibliographie
Ouvrages :

[ EYROLLES 2007 ] : UML 2 en action de l’analyse des besoins à la conception J2EE.

Pascal Roques, Frank Vallée.

[ Edition PAGES BLEU 2007 ] : Outils de genie logiciel UML 2.

[ DUNOD 2000 ] : Penser objet avec UML et JAVA

Loi Michel

Ouvrages électroniques :

[ Developpez.com 2006 ] : Développons en JAVA.

Jean Michel Doudoux.

[ Developpez.com 2009 ] : FAQ JAVA.

Equipe JAVA.

[ O’Reilly 1998 ] : JAVA Swing.

Robert Eckstein, Mark Loy & Dave Wood.

[ SUN microsystems 2009 ] : MySQL 5.0 Reference Manual.

Site web :

www.Developpez.com

www.Edition-eyrolles.com

Thèse :

[ Ingeniorat 2007 ] Suivie des enseignements du LMD par application de la méthode


2TUP

Page 30 sur 30