rapport

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

Upload: come-10

Post on 11-Jun-2015

1.181 views

Category:

Documents


0 download

DESCRIPTION

un projet élaborer par le groupe beesoft.une étude sur la gestion de la bibliothèque.

TRANSCRIPT

Page 1: Rapport

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.

Page 2: Rapport

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.

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

Page 3: Rapport

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

Page 4: Rapport

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

Page 5: Rapport

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

Page 6: Rapport

Gestion de Bibliothèque BAHETH®

V.4 Modéliser le contexte:

V.4.i Diagramme du contexte dynamique

V.4.ii Diagramme du contexte statique

Page 6 sur 30

: Etudiant

: Agent 2

: Agent 1

: Administrateur

Ajouter /archiver / modifier

un dossier / ouvrageConfirmation

Résultats surle livre

Gérer les dossiers employé

- Vérifier dossier / ouvrage - Mise à jour des dossiers / ouvrages

Résultat de vérification

Recherche d’un livreBaheth

: Etudiant

: Agent 2

: Agent 1

: Administrateur

0..*

0..* 0..*

0..1

Baheth

Page 7: Rapport

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

secondaires

Message(s) émis / reçus par les acteurs

Chercher un ouvrage Etudiant Agent 1

Agent 2

Emet : lancer une recherche

Reçu : résultats sur la recherche

Acquisition d’un

ouvrage

Agent 2 Emet : ajouter/archiver/modifier un

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

employés

administrateur Emet : ajouter /archiver un compte

employé

Reçu : confirmation

VI.1.ii Diagramme de cas d’utilisations

Page 7 sur 30

Page 8: Rapport

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.b Cas 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

Page 9: Rapport

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.c Cas 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

Page 10: Rapport

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.d Cas 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.e Cas Cinq:

Sommaire d’identification :

Titre : Gérer les dossiers employés

But : Accorder les droits d’accès.

Acteur : Administrateur.

Page 10 sur 30

Page 11: Rapport

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.a Cas Un :

Page 11 sur 30

Page 12: Rapport

Gestion de Bibliothèque BAHETH®

VI.1.iv.b Cas Deux :

VI.1.iv.c Cas Trois :

Page 12 sur 30

Page 13: Rapport

Gestion de Bibliothèque BAHETH®

VI.1.iv.d Cas Quatre :

VI.1.iv.e Cas Cinq :

Page 13 sur 30

Page 14: Rapport

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

Page 15: Rapport

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

Page 16: Rapport

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

Page 17: Rapport

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

Page 18: Rapport

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

Page 19: Rapport

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

Page 20: Rapport

Gestion de Bibliothèque BAHETH®

Scénario «   Modifier un ouvrage   »

Page 20 sur 30

Page 21: Rapport

Gestion de Bibliothèque BAHETH®

VII.4.ii Prêt

Scénario «   Prêter un ouvrage   »

Page 21 sur 30

Page 22: Rapport

Gestion de Bibliothèque BAHETH®

Scénario «   Rendre un ouvrage   »

Page 22 sur 30

Page 23: Rapport

Gestion de Bibliothèque BAHETH®

VII.4.iii Inscription

Scénario «   Inscrire un étudiant   »

Page 23 sur 30

Page 24: Rapport

Gestion de Bibliothèque BAHETH®

Scénario «   Réinscrire un étudiant   »

Page 24 sur 30

Page 25: Rapport

Gestion de Bibliothèque BAHETH®

Scénario «   Archiver dossier étudiant   »

VII.4.iv Administration

Scénario «   Créer un compte   »

Page 25 sur 30

Page 26: Rapport

Gestion de Bibliothèque BAHETH®

Scénario «   Modifier un compte   »

Page 26 sur 30

Page 27: Rapport

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

Page 28: Rapport

Gestion de Bibliothèque BAHETH®

IX CODAGE

Packages du projet

Interface utilisateur

Page 28 sur 30

Page 29: Rapport

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

Page 30: Rapport

Gestion de Bibliothèque BAHETH®

BibliographieOuvrages :

[ 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