Anne universitaire 2010-2011 Dveloppement une application client/serveur dote dun moteur de recherche pour larchivage et la consultation des mmoires de fin dtude du centre Universitaire de Mila Remerciement Nous Remercions En tout premier lieu ALLAH le tout puissant qui ma donn la force, la volont et le courage pour accomplir ce modeste travail. Nous tenons ici remercier Mr Boukhechem Nadir, notre
encadreur pour son aide et sa grande patience quelle a
apport tout au long la prparation de ce mmoire, ses
conseils, ses orientations et encouragements qui ont
contribu notablement la russite du travail ce niveau, que
dieu le protge.
Nous a dressons aussi nos remerciements touts les
enseignant et ingnieur ne sans oublie pas : I.Boussaid Houssin,
I.Kerioui youcef, I.Boulfakhar samra et I.Amimor najet.
Enfin nous remercions toutes les personnes qui de prs ou
de loin ont contribus llaboration cette tude.
Merci tout. Fatima. Nabila Ddicace : Je tiens en tout premier lieu remercier le dieu. Je voudrais ddie ce modeste travail
A mes trs cher parents qui mont tant soutenu et encourag dans tous les domaines et surtout pour raliser ce mmoire que dieu les protges.
A ma chre grande mre qui ma soutenu et encourager et lme de mon cher grand pre
A ma chre tante Djamila, qui est mon modle dans la vie et ma source de fiert A mes tantes : Mona, Radjia et son mari Khaled et sa fille
Meriem, Imane, mes oncles Farse et Mohammed
A mes surs : Samira, Randa, Hala, Anfale
A mes frres : Azadine, Hicham
A mes cousines : Naima, Halima, Amina
A mon ami binme Fatima et sa famille.
A mes amies : Nada, Meriem, Souad, Aicha, Meriem, Amina, Rokia, Amina
A toute Personne qui me connat BOUZERAA NABILA Ddicace : Je tiens en tout premier lieu remercier le dieu Je voudrais
ddie ce modeste travail
A mon pre quil t toujours pour moi et qui ma soutenu toute sa vie, que dieu le protge.
A celle qui a cru en moi, et qui ma toujours soutenu pendant toutes ces langues annes avec ses conseils et orientations ; toi chre et adorable mre jaime de plus profond de mon cur, que dieu le protge.
A ma trs chre grande mre.
A mes chres frres : Mohamed, Houssam, Deradji, abd raouf A toute mes oncles et mes tantes.
A mon ami binme Nabila et sa famille.
A toute mes amis avec les quelles jai
partag les bons moments :Nabila,Soumia,Nada,Zineb,
Asma,Souad, aicha, Meriem, Amina, Rokia, Amina
A tout Person qui me connat
BENDJEDDOU FATIMA Rsum : Le moteur de recherche est un programme informatis qui permet de rechercher des informations travers des millions de documents. Les programmes de recherche se basent sur des mots cls pertinents et retournent une liste qui donne accs aux documents contenant les informations. Dans ce mmoire on a dvelopp une application Client/serveur dot d un moteur de recherche pour archiver et consulter les mmoires de fin d tude de la bibliothque du centre universitaire de Mila. Pour raliser notre travail on a utilis UML comme langage de modlisation, J AVA comme langage de programmation et le SGBD MYSQL pour l implmentation de la base de donnes. Mots cls : Moteur de recherche, L indexation, Orient Objet, UML, J AVA, MySQL, Architecture Client/serveur.
Sommaire Introduction gnrale. ...................................................................................... 1 Chapitre I : Moteur de recherche et l indexation des documents Introduction ..................................................................................................... 4 I.1. Le moteur de recherche .............................................................................. 4 I.1.1. Fonctionnement des moteurs de recherche .......................................... 4 I.1.1.1. L exploration ou crawl. ................................................................. 4 I.1.1.2. L indexation ................................................................................... 4 I.1.1.3. La recherche. .................................................................................. 5 I.1.2. Domaines d utilisation des moteurs de recherche ................................ 5 I.1.3. La Recherche par le contenu .............................................................. 6 I.2. L indexation du document ......................................................................... 6 I.2.1. L indexation. ....................................................................................... 6 I.2.2. Les diffrentes formes d un index ..................................................... 7 I.2.3. Les techniques de l'indexation ............................................................. 7 I.2.3.1. Indexation manuelle ....................................................................... 7 I.2.3.2. Indexation automatique .................................................................. 7 I.2.3.3. Indexation semi-automatique.......................................................... 8 I.2.4. Processus d indexation automatique .................................................... 8 I.2.4.1. L extraction des mots-cls du document ......................................... 8 I.2.4.2. La normalisation des mots-cls du document ................................. 9 I.2.4.3. L limination des mots vides .......................................................... 9 I.2.4.4. La pondration des mots-cls. ........................................................ 9 Conclusion ............................................................................................... ...10 Chapitre II : Prsentation de UML et l`architecture client/serveur Introduction. .................................................................................................. 12 II.1. Le langage de modlisation UML. .......................................................... 12 II.1.1. Les diagrammes UML. .................................................................... 12 II.1.1.1. Diagrammes de cas d utilisation.................................................. 13 II.1.1.2. Diagramme de classe. ................................................................. 14 II.1.1.3. Diagramme de squence. ............................................................ 15 II.1.1.4. Diagramme d activits. ............................................................... 16 II.1.1.5. Diagramme de dploiement......................................................... 16 II.2. Rseaux informatique ............................................................................. 17 II.2.1. Dfinition d un serveur .................................................................... 17 II.2.2. Dfinition d un client ...................................................................... 17 II.2.3. Architecture Client/serveur .............................................................. 17 II.2.3.1. Avantages de l architecture client/serveur .................................. 18 II.2.3.2. Inconvnient du modle client/serveur. ....................................... 18 II.2.4. Fonctionnement d un systme client/serveur ................................... 18 II.2.5. Les diffrents types d architecture Client/serveur ............................ 19 II.2.5.1. L'architecture 2 niveaux ........................................................... 19 II.2.5.2. L architecture 3 niveaux .......................................................... 19 II.2.5.3.L architecture d gal gal (Peer to Peer). ................................... 20 Conclusion. .................................................................................................... 21 Chapitre III : Spcification des besoins Introduction. .................................................................................................. 23 III.1. Prsentation de l'organisme d'accueil. .................................................... 23 III.1.1. Cration du Centre Universitaire de Mila ....................................... 23 III.1.2. Facult de centre Universitaire de Mila........................................... 23 III.1.3. Prsentation de la bibliothque ....................................................... 23 III.2. Cahier de charge.................................................................................... 24 III.3. Identifier les acteurs. ............................................................................. 25 III.4. Diagramme de cas d utilisation ............................................................ 25 III.5. La description des cas d utilisation ........................................................ 26 III.6. Les diagrammes de squence systme .................................................. 32 Conclusion .................................................................................................... 40 Chapitre IV : Phase d`analyse Introduction ................................................................................................... 43 IV.1. L analyse du domaine. .......................................................................... 43 IV.2. Identification les concepts du domaine ................................................. 43 IV.3. Ajouter des associations entre classes .................................................. 44 IV.4. Les diagrammes d activits .................................................................. 45 Conclusion .................................................................................................... 52 Chapitre V : Phase de conception Introduction. .................................................................................................. 54 V.1. Les diagrammes de squences. ............................................................... 54 V.2. Diagramme de classes ............................................................................ 63 V.3. Dictionnaire de donnes. ........................................................................ 64 V.4. Conception de la base de donnes ......................................................... 65 V.5. Diagramme dploiement ....................................................................... 67 Conclusion. .................................................................................................... 67 Chapitre VI : Implmentation Introduction ................................................................................................... 69 VI.1. Environnement de dveloppement de l'application ................................ 69 VI.1.1. Le langage de programmation java ................................................ 69 VI.1.2. MySQL ........................................................................................ 69 VI.1.3. PhpMyAdmin ................................................................................ 69 VI.1.4. Connecteur. .................................................................................... 70 VI.1.5. Partie client/serveur ....................................................................... 70 VI.1.5.1. Les threads ................................................................................ 70 VI.1.5.2. Les sockets ............................................................................... 70 VI.1.6. Les bibliothque poi ...................................................................... 70 VI.1.7. Programme d indexation ................................................................ 71 VI.2. Quelques interfaces de l application. ..................................................... 72 Conclusion. .................................................................................................... 78 Conclusion gnrale. ...................................................................................... 79
Listes des figures : Figure I.1 : le fonctionnement gnral d un moteur de recherche. ......... ........5 Figure I.2: Etapes du processus d indexation.......... 8 Figure II.3 : La structure du diagramme de cas d utilisation ........ 14 Figure II.4 : la structure du diagramme de classes ........... 14 Figure II.5 : la structure du diagramme de squence systme vu comme une boite noire et remplac par un ensemble d objet ................................... 15 Figure II.6 : la structure du diagramme d activit. ........... 16 Figure II.7: Fonctionnement du systme client/serveur. .......... 19 Figure II.8: Architecture Client/serveur 2 niveaux. .......... 19 Figure II.9 : Architecture Client/serveur 3 niveaux . ..20 Figure III.10 : le diagramme de cas d utilisation ......... 25 Figure III.11 : Diagramme de squence systme du cas d utilisation authentifier. .32 Figure III.12: Diagramme de squence systme du cas d utilisation ajouter un utilisateur. ..................................................................................................... .33 Figure III.13: Diagramme de squence systme du cas d utilisation modifier un utilisateur ...................................................................................................... .34 Figure III.14: Diagramme de squence systme du cas d utilisation supprimer un utilisateur ...................................................................................................... .35 Figure III.15: Diagramme de squence systme du cas d utilisation archiver un mmoire ........................................................................................................ .36 Figure III.16 : Diagramme de squence systme du cas d utilisation supprimer un mmoire ........................................................................................................ .37 Figure III.17 : Diagramme de squence systme du cas d utilisation rechercher et consulter par titre .......................................................................................... .38 Figure III.18: Diagramme de squence systme du cas d utilisation rechercher et consulter par mots cls ..39 Figure III.19: Diagramme de squence systme du cas d utilisation rechercher et consulter par code .40 Figure IV.20: Diagramme d ajouter les associations entre classes ..44 Figure IV.21: Diagramme d activit du cas d utilisation authentifier .45 Figure IV.22:Diagramme d activit du cas d utilisation ajouter un utilisateur... 46 Figure IV.23: Diagramme d activit du cas d utilisation supprimer un utilisateur ..........................................................................................................................47 Figure IV.24: Diagramme d activit du cas d utilisation modifier un utilisateur....48 Figure IV.25: Diagramme d activit du cas d utilisation archiver un mmoire ..49 Figure IV.26: Diagramme d activit du cas d utilisation supprimer un mmoire...50 Figure IV.27: Diagramme d activit du cas d utilisation rechercher et consulter des mmoires (titre, mots cls, code). .51 Figure V.29 : Diagramme de squence du cas d utilisation authentifier. 45 Figure V.29 : Diagramme de squence du cas d utilisation ajouter un utilisateur.55 Figure V.30 : Diagramme de squence du cas d utilisation supprimer un utilisateur. ..56 Figure V.31 : Diagramme de squence du cas d utilisation modifier un utilisateur. ..57 Figure V.32 : Diagramme de squence du cas d utilisation archiver un mmoire..58 Figure V.33 : Diagramme de squence du cas d utilisation supprimer un mmoire 59 Figure V.34 : Diagramme de squence du cas d utilisation rechercher et consulter un mmoire par titre ...60 Figure V.35 : Diagramme de squence du cas d utilisation rechercher et consulter un mmoire par mots cls. .61 Figure V.36: Diagramme de squence du cas d utilisation rechercher et consulter un mmoire par code. . ..62 Figure V.37 : Diagramme de classes 63 Figure V.38 : Diagramme dploiement....................................................................67 Figure VI.39 : Programme d indexation. ..71
Introduction gnrale 1
Introduction gnrale L informatique est l'ensemble des sciences et techniques en rapport avec le traitement automatique de l'information. L informatique est d'une grande importance dans presque tous les domaines notamment dans la gestion des documents. En gnrale les documents dans leurs version lectroniques se composent majoritairement de texte, dimages, de son et danimation, les systmes informatiques doivent tre dots dun moteur de recherche documentaire puissant et performant, permettant de consulter et accder efficacement l information, non au document en tant que fichier, mais son contenu. Un tel systme rsout les problmes lis la recherche squentielle qui oblige l utilisateur parcourir tout les fichiers pour trouver les informations dsires. Notre travail consiste dvelopper une application pour indexer et rechercher les mmoires de fin dtude dans la bibliothque de centre universitaire de Mila. Le but principal de cette application est de faciliter la recherche et la consultation des mmoires de fin dtude. Pour modliser notre systme nous avons utilis le langage de modlisation UML qui permet de dcrire et de reprsenter le systme de manire simple et claire pour implmenter notre application nous avons choisi java, c est un langage orient objet souple et portable, nous avons aussi utilis l architecture client/serveur qui a beaucoup davantages par rapport au autres architectures notamment la scurit. Notre mmoire est organis comme suit : Dans le premier chapitre on prsente les moteurs de recherche et on tudie les diffrentes techniques d indexation utilises par les moteurs de recherche. Le deuxime chapitre prsente le langage de modlisation UML (principe et concepts de base, les diagrammes dUML).et l architecture Client/serveur. Le troisime chapitre concerne la spcification des besoins, c est--dire l identification des cas dutilisation, la description des scnarios systme et les diagrammes de squences systme. Le quatrime chapitre est consacr l analyse du systme, c est--dire l analyse des domaines et les diagrammes dactivits. Le cinquime chapitre concerne la conception du systme, c est--dire construction des diagrammes de squences, le diagramme de classe et la conception de la base des donnes. Introduction gnrale 2
Le sixime chapitre concerne implmentation, nous prsentons les outils de dveloppement et quelques interfaces de notre application. Conclusion gnrale.
3
Chapitre I :
Moteur de recherche et l indexation des documents
Introduction I.1 Le moteur de recherche. I.2. L indexation du document. Conclusion
Chapitre I : Moteur de recherche et l indexation des documents 4
Introduction Dans ce chapitre on va prsenter les moteurs de recherches, leurs fonctionnalits, le principe de moteur de recherche documentaire, ainsi que leurs domaines dutilisations de moteur de recherche et les concepts de base de l indexation des documents. I.1. Le moteur de recherche Un moteur de recherche est un outil permettant de localiser une information donne partir dune requte formule dans un langage spcifique ou via l utilisation des mots-cls. Les moteurs de recherche sont utiliss sur le net afin de localiser les pages des sites qui correspondent des mots-cls dclars. Ces moteurs de recherche disposent de programmes d indexation automatique des informations disponibles sur le net et dune base de donnes regroupant l ensemble de ces informations. L internaute peut rechercher les sites en formulant une requte au moteur de recherche. Les moteurs de recherche utilisent des algorithmes complexes pour localiser et renvoyer les informations la plus pertinente possible. Les moteurs de recherche les plus populaires sont Google, Yahoo et Bing.com. I.1.1. Fonctionnement des moteurs de recherche Le fonctionnement d'un moteur de recherche se dcompose en trois tapes principales : I.1.1.1. L`exploration ou crawl Le web est systmatiquement explor par un robot d indexation suivant rcursivement tous les hyperliens (des sites) qu'il trouve et rcuprant les ressources juges intressantes. I.1.1.2 L`indexation Elle consiste extraire les mots considrs comme significatifs des documents collectes. Les mots extraits sont enregistrs dans une base de donnes organise comme un gigantesque dictionnaire inverse ou plus exactement, comme l'index terminologique d'un ouvrage qui permet de retrouver rapidement dans quel chapitre de l'ouvrage se situe un terme significatif donn.
Chapitre I : Moteur de recherche et l indexation des documents 5
I.1.1.3. La recherche Elle correspond la partie requtes du moteur qui restitue les rsultats. Un algorithme est appliqu pour identifier (en utilisant l'index), les documents qui correspondent le mieux aux mots contenus dans la requte. La figure suivante montre le fonctionnement gnral d un moteur de recherche sur le net.
Figure I.1 : le fonctionnement gnral d`un moteur de recherche.
I.1.2. Domaines d`utilisation des moteurs de recherche Les moteurs de recherche sont utiliss dans toutes les applications o il est ncessaire daccder au contenu de l information. Parmi ces applications, on peut citer les applications de gestion de bibliothque et de centres de documentation et la rechercher sur l internet.
Chapitre I : Moteur de recherche et l indexation des documents 6
I.1.3. La Recherche par le contenu En gnrale les documents se composent majoritairement de texte, le traitement de l information touche principalement le texte pour rechercher des documents textuels parmi un ensemble des documents une solution consiste lire squentiellement tous les documents et a slectionner ceux qui correspondent aux critres de rechercher mais plus la taille des documents est grande et le temps de rponse sera large. Pour que la recherche soit rapide, il est indispensable que les documents, dans lequel la recherche va s effectuer, soit structurs intelligemment en fonction des algorithmes de recherche. Il faut donc tablir des index, c..d. des tables ordonnes contenant les caractristiques du contenu des documents. C est par la lecture des index quon slectionnera les documents pertinents. La qualit de l information obtenue aprs une recherche des documents est troitement lie la qualit de la formulation de la requte de recherche, ainsi la recherche peut faire l objet de quelques risques dont : Le Bruit : le premier risque dune recherche non efficace est dengendrer trop de documents, qui sont slectionns mais qui ne sont pas intressants. Le Silence : le second risque est le manque de rsultat qui se traduit par un silence total. C'est--dire on nobtient pas des rsultats. Evidemment, l idal est de minimiser le taux de bruit et de silence. I.2. L`indexation du document I.2.1. L`indexation 7 L indexation est un processus qui permet de reprsenter un document sous un autre aspect pour le rendre manipulable et exploitable une recherche ultrieure et cela partir dune analyse lexicale, syntaxique ou smantique, en slectionnant les mots ou les concepts reprsentant le contenu smantique du document. L indexation est l opration centrale de tout systme documentaire. Elle consiste analyser les documents afin de produire un ensemble de mots cls, reprsentant ce document et les organise dans un index.
Chapitre I : Moteur de recherche et l indexation des documents 7
I.2.2. Les diffrentes formes d`un index Les index peuvent prendre diffrentes formes allant de mots simples des structures smantiques plus complexes impliquant plusieurs concepts et relations. Les mots : sont toute chane de caractres compris entre deux sparateurs (espace, virgule ), au niveau de l indexation on peut extraire les mots tels qu ils sont prsents dans le document comme on peut effectuer certaines transformations sur ce mot en vue dune normalisation. Les concepts : sont des termes ou mots-cls, il s'agit d'expressions (pouvant contenir un ou plusieurs mots). Ces concepts sont le plus souvent entrs manuellement (cas de l'indexation manuelle, ou semi automatique) et peuvent tre crits de manire libre par un utilisateur ou ce qui est souvent le cas doivent tre choisis parmi une liste de concepts (on parle alors de vocabulaire contrl). Le but tant de les mots et les concepts choisir de manire ce que l'index perde le moins d'informations smantiques possible. I.2.3. Les techniques de l'indexation I.2.3.1. Indexation manuelle Lors de l indexation manuelle un expert dans le domaine choisit les termes qu il juge pertinents dans la description du contenu smantique du document. Ce type d indexation permet davoir un vocabulaire d index contrl ce qui permet daccroitre la qualit de la reprsentation obtenue. Toutefois cette approche est inapplicable pour une collection volumineuse des documents. I.2.3.2. Indexation automatique Dans cette mthode on utilise des mthodes logicielles pour tablir les index, cette mthode est utilise par les collections volumineuses des documents. I.2.3.3. Indexation semi-automatique C est une combinaison des deux mthodes prcdentes : un premier processus automatique permet dextraire les termes du document. Cependant le choix final des descripteurs est laiss au spcialiste du domaine.
Chapitre I : Moteur de recherche et l indexation des documents 8
I.2.4. Processus d`indexation automatique Le processus d indexation effectue le transfert de l information contenue dans le texte dun document vers un autre espace de reprsentation traitable par un systme informatique. A partir d une collection des documents, le processus d indexation nous renvoie une liste d index structure .On utilise ce rsultat le plus souvent pour effectuer des recherches d'informations. Mais, il peut galement servir comparer et classifier des documents, proposer des mots-cls ou faire une synthse automatique des documents. Le processus d indexation se compose de plusieurs tapes que nous avons schmatises dans la Figure suivante :
Figure I.2: Etapes du processus d`indexation.
I.2.4.1. L`extraction des mots-cls du document Appele Tokenization en anglais, l extraction des mots-cls est une tape qui constituera la base de tout le reste du processus d indexation. Il faut donc que cette phase soit dune qualit maximale. Certains systmes de recherche d information utilisent une liste de mots- cls prdfinie. Cette liste est conue manuellement et dans la plus part des cas construite par rapport un thme spcifique.
Chapitre I : Moteur de recherche et l indexation des documents 9
I.2.4.2. La normalisation des mots-cls du document Ce traitement consiste retrouver pour un mot sa forme normalise (gnralement le masculin pour les noms, l infinitif pour les verbes, le masculin singulier pour les adjectifs, etc...) Ainsi, dans l index ne sont conserves que les formes normalises, ce qui offre un gain de place apprciable, mais surtout si le mme traitement est effectu sur la requte, cela permet dtre beaucoup plus souple et rapide dans la recherche. I.2.4.3. L`limination des mots vides Cette tape constitue un facteur dune grande influence dans la prcision de la recherche. Le fait de ne pas liminer les mots vides provoque invitablement du bruit. L limination des mots vides qui sont des mots du langage courant et qui ne contiennent pas beaucoup d'information smantique doit se faire aussi bien l indexation qu l interrogation (requte de recherche). I.2.4.4. La pondration des mots-cls Cette tape est entirement dpendante du modle de recherche d information utilis. Elle permet de dfinir l importance qua un terme dans un document donn, elle est galement utilise pour filtrer l index rsultant du processus d indexation .Il existe plusieurs techniques de pondration des termes dont les deux les plus importantes sont les suivantes : La frquence d'occurrences : On admet gnralement qu'un mot qui apparat souvent dans un texte reprsente un concept important. La reprsentation frquentielle permet de prendre en compte le nombre dapparitions dun mot dans un document. La valeur de discrimination : Par discrimination , on rfre au fait qu'un terme distingue bien un document des autres documents. C'est--dire, un terme qui a une valeur de discrimination leve doit apparatre seulement pour un petit nombre des documents. Un terme qui apparat dans tous les documents n'est pas discriminant. Le pouvoir de discrimination d'un terme est important dans le choix des index qu'on veut garder. Conclusion Au cours de ce chapitre on dfinir les fonctionnalits d'un moteur de recherche et les concepts de base de l indexation des documents, nous avant prsent le processus Chapitre I : Moteur de recherche et l indexation des documents 10
d indexation des documents, dterminer les facteurs qui peuvent amliorer l indexation et ainsi amliorer la recherche des documents. Dans le prochain chapitre nous allons prsenter UML et l architecture client/serveur.
11
Chapitre II :
Prsentation de UML et l architecteur client/serveur
Introduction. II.1. Le langage de modlisation UML. II.2. Rseaux informatique. Conclusion
Chapitre II : Prsentation de UML et l architecteur client/serveur 12
Introduction Dans ce chapitre nous allons prsenter les concepts de base du langage de modlisation UML, prsenter quelque diagramme utilis dans notre mmoire et prsenter l architecture client/serveur. II.1. Le langage de modlisation UML Le langage de modlisation UML Unified Modeling Language est un langage de modlisation orient objet, normalis par l OMG (Object Management Group) et adopt par les mthodes danalyse et conception orient objet existantes, Il permet de dcrire et de reprsenter un systme (rel ou logiciel) grce un ensemble des diagrammes (diagramme de classe, diagramme de cas d utilisation, etc ) et de concepts objets. Il couvre toutes les tapes de dveloppement dun projet et facilite la comprhension de reprsentations abstraites complexes et la communication au sein de l quipe de dveloppement. II.1.1. Les diagrammes UML UML dans sa version 2 comporte treize types de diagramme pour reprsenter des concepts particuliers du systme d information. UML offre beaucoup des diagrammes qui servent la modlisation des systmes, mais on utilisant en gnrale (suffisant) de ces diagrammes. Parmi les diagrammes UML on cite : Diagrammes structurels ou diagrammes statiques (UML Structure) : diagramme de classes. diagramme dobjets. diagramme de composants. diagramme de dpoilements. diagramme de paquetages (package). Diagrammes comportementaux ou diagrammes dynamiques. diagramme de cas dutilisation. diagramme dactivits. diagramme dtats-transition. diagramme d interaction. diagramme de squence. Chapitre II : Prsentation de UML et l architecteur client/serveur 13
diagramme de communication. diagramme global d interaction. diagramme de temps. II.1.1.1. Diagrammes de cas d`utilisation Ces diagrammes servent reprsenter les fonctionnalits offertes par le systme ainsi que les acteurs et les relations existant entre eux. Acteur : Reprsente un rle jou par une entit externe (utilisateur humain, dispositif matriel ou autre systme) qui interagit directement avec le systme tudi. Cas d'utilisation (use case) : Reprsente un ensemble de squences d'actions qui sont ralises par le systme et qui produisent un rsultat observable pour un acteur particulier. Les relations entre acteurs : La seule relation entre acteur est la relation de gnralisation. Quand un acteur fils hrite d'un acteur pre, il hrite en ralit de toutes les associations du pre. Les relations entre cas d'utilisation La relation d'inclusion : Une relation d'inclusion d'un cas d'utilisation A par rapport un cas d'utilisation B signifie qu'une instance de A contient le comportement dcrit dans B. La relation d'extension : Une relation d'extension d'un cas d'utilisation A signifie qu'une instance de A peut tre tendue par le comportement dcrit dans B. La relation de gnralisation : Les cas d'utilisation descendants hritent de la description de leurs parents communs. Chacun d'entre eux peut nanmoins comprendre des interactions spcifiques supplmentaires.
Chapitre II : Prsentation de UML et l architecteur client/serveur 14
Figure II.3 : La structure du diagramme de cas d`utilisation.
II.1.1.2. Diagramme de classe Le diagramme de classe saisit la structure statique d un systme en montrant les classes dans le systme, les relations entre les classes, les attributs et les oprations qui caractrisent chaque classe. Classe : Une classe est la description formelle d un ensemble d objets ayant une smantique et des caractristiques communes. Les attributs : Un attribut de classe dfinit une proprit commune aux objets dune classe. Les mthodes : Une mthode dfinit une opration applique des objets ou par les objets dune classe. Association : Une association dcrit un groupe de liens entre les classes dobjets. Elle peut tre une association gnrale, une gnralisation (hritage), une agrgation ou une dpendance, etc...
Figure II.4 : la structure du diagramme de classes.
Chapitre II : Prsentation de UML et l architecteur client/serveur 15
II.1.1.3. Diagramme de squence Les diagrammes de squence permettent de reprsenter le squencement des changes de messages entre des objets du systme, en vue d une rponse un besoin utilisateur. Les messages correspondent gnralement des appels de mthodes.
Figure II.5 : la structure du diagramme de squence systme vu comme une boite noire et remplac par un ensemble d`objet.
Scnario: il reprsente une succession particulire d'actions, s'excutant du dbut la fin du cas d'utilisation. Ligne de vie : il reprsente l'ensemble des oprations excutes par un objet. Message: Un message est une transmission d information unidirectionnelle entre deux objets, l'objet metteur et l'objet rcepteur. Dans un diagramme de squence, deux types de messages peuvent tre distingus : Message synchrone : Dans ce cas l'metteur reste en attente de la rponse son message avant de poursuivre ses actions. Message asynchrone : Dans ce cas, l'metteur n'attend pas la rponse son message, il poursuit l'excution de ses oprations.
Chapitre II : Prsentation de UML et l architecteur client/serveur 16
II.1.1.4. Diagramme d`activits Les diagrammes d activits permettent de mettre l accent sur les traitements. Ils permettent de reprsenter graphiquement le comportement dune mthode ou droulement dun cas dutilisation. v Action : Correspond a un traitement qui modifi l'tat de systme. Le passage d'une action une autre est matrialis par une transition. Les transitions sont dclenches par la fin d'une action et provoquent le dbut d'une autre. v Activit : Reprsente le comportement d'une partie du systme en termes d'actions et de transitions.
Figure II.6 : la structure du diagramme d`activit.
II.1.1.5. Diagramme de dploiement Ce diagramme dcrit l'architecture technique d'un systme avec une vue centre sur la rpartition des composants de systme.
Chapitre II : Prsentation de UML et l architecteur client/serveur 17
II.2. Rseaux informatique C est un ensemble d quipements autonome interconnects. Deux ordinateurs sont considr interconnects s ils sont capables dchanger des informations entre eux. II.2.1. Dfinition d`un serveur On appelle logiciel serveur un programme qui offre un service sur le rseau. Le serveur accepte des requtes, les traites et renvoie le rsultat au demandeur. Le terme serveur s applique aussi la machine sur lequel s excute le logiciel serveur. Pour pouvoir offrir ces services en permanence, le serveur doit tre sur un site avec accs permanent et s excute en permanence. II.2.2. Dfinition d`un client On appelle logiciel client un programme qui utilise le service offert par un serveur. Le client envoie une requte et reoit la rponse. Le client peut tre raccord par une liaison temporaire. II.2.3. Architecture Client/serveur De nombreuses applications fonctionnent selon un environnement client/serveur, cela signifie que des machines client (des machines faisant partie du rseau) contactent un serveur, une machine gnralement trs puissante en termes de capacits d entre/sortie, qui leur fournit des services. Ces services sont des programmes fournissant des donnes telles que l heure, des fichiers et une connexion, Les services sont exploits par des programmes, appels programmes clients, s excutant sur les machines clientes. On parle ainsi de client FTP, client messagerie, lorsque l on dsigne un programme, tournant sur une machine cliente capable de traiter des informations qu il rcupre auprs du serveur (dans le cas du client FTP il s agit de fichiers, tandis que pour le client messagerie il s agit de courrier lectronique). Dans un environnement purement Client/serveur, les ordinateurs du rseau(les clients) ne peuvent voir que le serveur, c est un des principaux atouts de ce modle.
Chapitre II : Prsentation de UML et l architecteur client/serveur 18
II.2.3.1. Avantages de l`architecture client/serveur Le modle client/serveur est particulirement recommand pour des rseaux ncessitant un grand niveau de fiabilit, ses principaux atouts sont : Des ressources centralises : tant donn que le serveur est au centre du rseau, il peut grer des ressources communes tout les utilisateurs, comme par exemple une base de donnes centralise, afin d viter les problmes de redondance et de contradiction. Une meilleure scurit : car le nombre de points dentre permettant l accs aux donnes est moins important. Une administration au niveau serveur : les clients ayant peu d importance dans ce modle, ils ont moins besoin dtre administrs. Un rseau volutif : grce cette architecture il est possible de supprimer ou rajouter des clients sans perturber le fonctionnement du rseau et sans modification majeures. II.2.3.2. Inconvnient du modle client/serveur L architecture client/serveur a tout de mme quelques inconvnients parmi lesquelles : Un cout lev : du la technicit du serveur. Une maille faible : le serveur est le seul maillon faible du rseau client/serveur, tant donn que tout le rseau est architectur autour de lui Heureusement, les serveurs en gnrale une grande tolrance aux pannes. II.2.4. Fonctionnement d`un systme client/serveur Un systme client/serveur fonctionne selon le schma suivant : Le client met une requte vers le serveur grce son adresse (IP+ port dcoute), qui dsigne un service particulier du serveur. Le serveur reoit la demande et rpond l aide de l adresse de la machine client et son port dcoute.
Chapitre II : Prsentation de UML et l architecteur client/serveur 19
Figure II.7:Fonctionnement du systme client/serveur.
II.2.5. Les diffrents types d`architecture Client/serveur II.2.5.1. L'architecture 2 niveaux L architecture deux niveaux (aussi appele architecture 2-tiers, tiers signifiant tage en anglais) caractrise les systmes clients/serveurs dans lesquels le client demande une ressource et le serveur la lui fournit directement. Cela signifie que le serveur ne fait pas appel une autre application afin de fournir le service.
II.2.5.2. L`architecture 3 niveaux Dans l architecture 3 niveaux (appeles architecture 3-tiers), il existe un niveau intermdiaire, c est--dire que l on a gnralement une architecture partage entre : Chapitre II : Prsentation de UML et l architecteur client/serveur 20
Le client : le demandeur de ressources. Le serveur d`application (appel aussi middleware) : le serveur charg de fournir la ressource mais faisant appel un autre serveur. Le serveur secondaire (gnralement un serveur de base de donnes), fournissant un service au premier serveur.
II.2.5.3.L`architecture d`gal gal (Peer to Peer) Dans une architecture dgal gal (ou dans sa dnomination anglaise Peer to Peer) contrairement une architecture de rseau de type client/serveur, il ny a pas de serveur ddi. Ainsi chaque ordinateur dans un tel rseau est un peu serveur et un peu client. Cela signifie que chacun des ordinateurs du rseau est libre de partager ses ressources. Un ordinateur reli une imprimante pourra donc ventuellement la partager afin que tous les autres ordinateurs puissent y accder via le rseau. Inconvnients des rseaux d`gal gal Les rseaux d gal gal ont normment d inconvnients : Ce systme nest pas du tout centralis, ce qui le rend trs difficile administrer la scurit est trs peu prsente aucun et maillon du systme nest fiable.
Chapitre II : Prsentation de UML et l architecteur client/serveur 21
Ainsi, les rseaux dgal gal ne sont valables que pour un petit nombre dordinateurs et pour des applications ne ncessitant pas une grande scurit (il est donc dconseill pour un rseau professionnel avec des donnes sensibles). Conclusion Dans ce chapitre, nous avons pass en revue le langage de modlisation UML et ses diffrents diagrammes.UML est un langage riche, il couvre toutes les phases dun cycle de dveloppement. Il est galement (indpendant du domaine dapplication et des langages d implmentation). Pour ces raisons nous avons choisi UML pour modliser notre application. Nous avons aussi prsent l architecture client/serveur et cite ces avantages notamment la fiabilit et la scurit. Dans le prochain chapitre de notre systme nous allons identifier les besoins de systme.
22
Chapitre III : Spcification des besoins
Introduction III.1. Prsentation de l'organisme d'accueil. III.2. Cahier de charge. III.3. Identifier les acteurs. III.4. Diagramme de cas d utilisation. III.5. La description des cas d utilisation. III.6. Les diagrammes de squence systme Conclusion
Chapitre III : Spcification des besoins 23
Introduction Dans ce chapitre nous allons spcifier les besoins du systme raliser. Dans un premier temps, nous allons introduire le cahier des charges qui servira de fil conducteur tout au long de la conception, Dans un second temps, nous commenons identifier les acteurs qui interagiront avec le systme, nous identifions et nous dcrivons les cas dutilisation du systme. III.1. Prsentation de l'organisme d'accueil III.1.1. Cration du Centre Universitaire de Mila Le Centre Universitaire de Mila est un tablissement public caractre scientifique, culturel et professionnel dot de la personnalit morale et l autonomie financire. Le centre universitaire a tat ouvert juillet 2008 et situer 5km du centre ville de Mila sur la route nationale N79 allant vers les villes de Zeghaia et de Ferdjioua et s'tand sur une superficie d'environ 87 hectares. Le Centre Universitaire de Mila compte 3373 tudiants et de 155 enseignants. III.1.2. Facult de centre Universitaire de Mila Le Centre Universitaire de Mila propose durant l anne 2009-2010 une formation suprieure dans les domaines suivants : Mathmatiques et Informatique. Science de la Nature et de la Vie. Sciences Economiques, Commerciales et Sciences de Gestion. Langues et Littrature Arabe. Anglais. III.1.3. Prsentation de la bibliothque La bibliothque de centre universitaire de Mila a tat ouvert officiellement le 18 octobre 2008, sur une infrastructure dune superficie de 3394,40 mtres carrs et une capacit de lecteurs estime 500 places. L'activit traditionnelle de la bibliothque est l acquisition d'ouvrages imprims, la conservation et prt des documents. Toutefois, la documentation lectronique prend un poids croissant dans l'activit de La bibliothque. Chapitre III : Spcification des besoins 24
Les services de la bibliothque sont : v Service de prt externe. v Service de prt interne. v La salle d internet. v La salle de lecture des tudiants. III.2. Cahier de charge Prsentation du projet : Chaque annes des centaines de mmoire de fin dtude Dans leur version papier et lectronique seront archiv dans la bibliothque du centre universitaire de Mila .L administrateur de la bibliothque vent facilit l archivage et la consultation des mmoires par un systme informatique. Les besoins fonctionnels : Le premier tour dhorizon des besoins exprims par l administrateur a permis d'tablir le cahier des charges prliminaire suivant : Gestion des utilisateurs (ajouter utilisateur, supprimer utilisateur, modifier utilisateur). archiver des mmoires. Supprimer des mmoires. Rechercher et consulter des mmoires. Les besoins techniques : Convivialit et simplicit dutilisation de l application : L application devra pouvoir tre utilise simplement. Elle doit avoir donc une interface graphique claire confortable. Le temps de rponse : Le temps de rponse doit tre acceptable. La scurit : la gestion des utilisateurs (ajouter, supprimer et modifier un utilisateur), L archivage et la suppression des mmoires sont limits l administrateur, le systme doit permettre dauthentifier, Tous les autres utilisateurs du systme peuvent rechercher et consulter les mmoires.
Chapitre III : Spcification des besoins 25
III.3. Identifier les acteurs L`administrateur : la ou les personnes responsables de l archivage et la suppression des mmoires, ils peuvent aussi rechercher et consulter les mmoires. L`utilisateur : la personne qui peut rechercher et consulter les mmoires. III.4. Diagramme de cas d`utilisation Aprs l identification des cas d utilisation et les acteurs, on peut les reprsenter graphiquement sur un diagramme de cas dutilisation comme suit :
Figure III.10 : le diagramme de cas d`utilisation. Chapitre III : Spcification des besoins 26
III.5. La description des cas d`utilisation Authentifier
Gestion des utilisateurs v Ajouter un utilisateur Cas Ajouter un utilisateur Acteur L administrateur Le But Ce cas permet dajouter un utilisateur. Pr conditions L administrateur est authentifi. Post conditions L ajout dun nouvel utilisateur. Scenario nominal 1. l administrateur demande la fentre "ajouter un utilisateur". 2. le systme demande les informations de l utilisateur. 3. l administrateur saisir les informations. 4. le systme vrifie l existence de nom dutilisateur. 5. Si le nom dutilisateur nexiste pas, le systme affiche un Cas Authentifier Acteur L administrateur, l utilisateur. Le But Ce cas permet de vrifier l autorisation daccder au systme. Pr conditions L utilisateur(ou l administrateur) possde un compte. Post conditions L utilisateur est authentifi par le systme. Scenario nominal 1. le systme demande l utilisateur dentrer le nom dutilisateur et le mot de passe. 2. l utilisateur saisie le nom d utilisateur et le mot de passe et valide(OK). 3. le systme vrifie la validit du nom dutilisateur et mot de passe. 4. Si nom d utilisateur et mot de passe sont correctes, le systme ouvrir la fentre principal. Scenario Erreur 1. Si le nom dutilisateur et/ou mot de passe incorrecte (mot de passe incorrecte). Chapitre III : Spcification des besoins 27
message succs. Scenario Erreur 1. Si le nom dutilisateur existe (l utilisateur dj ajout).
v Modifier un utilisateur
Cas Modifier un utilisateur Acteur l administrateur Le But Ce cas permet de modifier le nom dutilisateur ou le mot de passe, ou les deux (nom dutilisateur, mot de passe) d un utilisateur. Pr conditions L administrateur est authentifi. Post conditions La modification dun utilisateur avec succs. Scenario nominal 1. l administrateur demande la fentre "modifier un utilisateur". 2. le systme demande le nom dutilisateur. 3. l administrateur saisir le nom dutilisateur. 4. le systme vrifie l existence de nom dutilisateur. 5. Si le nom dutilisateur existe, le systme affiche les autres informations de l utilisateur. 6. le systme demande le nouveau nom d utilisateur et mot de passe. 7. l administrateur saisie le nouveau nom d utilisateur et le mot de passe et valide 7. le systme affiche la modification un message succs. Scenario Erreur 1. Si le nom d utilisateur nexiste pas (l utilisateur nexiste pas). Chapitre III : Spcification des besoins 28
v Supprimer un utilisateur
Archiver un mmoire Cas Supprimer un utilisateur Acteur l administrateur Le But Ce cas permet de supprimer un utilisateur. Pr conditions l administrateur est authentifi. Post conditions La suppression d un utilisateur avec succs. Scenario nominal 1. l administrateur demande la fentre "supprimer un utilisateur". 2. le systme demande le nom dutilisateur. 3. l administrateur saisir le nom dutilisateur. 4. le systme vrifie l existence de nom dutilisateur. 5. Si le nom dutilisateur existe, le systme affiche les informations de l utilisateur. 6. l administrateur valide la suppression de l utilisateur 7. le systme affiche un message succs. Scenario Erreur 1. Si le nom dutilisateur nexiste pas (l utilisateur nexiste pas). Cas Archiver Mmoire Acteur l administrateur Le But Ce cas permet darchiver et stocker un mmoire. Pr conditions l administrateur est authentifi. Post conditions Le mmoire est archiv avec succs. Scenario nominal 1. l administrateur demande la fentre "archiver mmoire". 2. le systme demande les informations du mmoire. 3. l administrateur saisie les informations. 3. le systme vrifie l existence du mmoire. 4. si le code du mmoire nexiste pas, le systme ajoute le mmoire (indexation et sauvegarde). 5. le systme affiche un message succs. Chapitre III : Spcification des besoins 29
Supprimer un mmoire Cas Supprimer Mmoire Acteur l administrateur Le But Ce cas permet de supprimer un mmoire. Pr conditions l administrateur est authentifi. Post conditions Le mmoire est supprim avec succs. Scenario Nominal 1. l administrateur demande la fentre "supprimer mmoire". 2. le systme demande le code du mmoire. 3. L administrateur saisi le code du mmoire. 4. le systme vrifie l existence du mmoire. 5. si le code mmoire existe, le systme affiche les informations du mmoire. 6. L administrateur valide la suppression du mmoire. 7. le systme affiche un message succs. Scenario Erreur 1. Si le code du mmoire nexiste pas(le mmoire nexiste pas).
Rechercher et consulter un mmoire v Rechercher et consulter un mmoire par titre
Cas Rechercher et consulter mmoire par titre Acteur L utilisateur, l administrateur. Le But Ce cas permet de rechercher et consulter un mmoire par titre. Pr Conditions L utilisateur ou l administrateur est authentifi. Post conditions Le mmoire recherch et consult est trouv. Scenario Nominal 1. l utilisateur demande la fentre " recherche mmoire". 2. l utilisateur choisit le mode de recherche par titre. Scenario Erreur 1. Si le code du mmoire existe(le mmoire dj archiv). Chapitre III : Spcification des besoins 30
3. L utilisateur saisi le titre. 4. Si le titre existe, le systme affiche les informations des mmoires qui on ce titre. 5. Si un mmoire est intressant, l utilisateur slectionne et consulte ce mmoire. Scenario Erreur 1. Si le titre nexiste pas (mmoire nexiste pas).
v Rechercher et consulter un mmoire par mots cls Cas Rechercher et consulter mmoire par mots cls Acteur L utilisateur, l administrateur. Le But Ce cas permet de rechercher et consulter un mmoire par mots cls. Pr Conditions L utilisateur ou l administrateur est authentifi. Post conditions Le mmoire recherche et consulte est trouv Scenario Nominal 1. l utilisateur demande la fentre " recherche mmoire". 2. l utilisateur choisit le mode de recherche par mots cls. 3. L utilisateur saisi les mots cls. 4. Si les mots existent, le systme affiche les informations des mmoires qui on ces mots cls. 5. Si un mmoire est intressant, l utilisateur slectionne et consulte le mmoire. Scenario Erreur 1. Si les mots cls nexistent pas (mmoire nexiste pas).
Chapitre III : Spcification des besoins 31
v Rechercher et consulter un mmoire par code
Cas Rechercher et consulter mmoire par code Acteur L utilisateur, l administrateur Le But Ce cas permet de rechercher et consulter un mmoire par code. Pr Conditions L utilisateur ou l administrateur est authentifi. Post conditions Le mmoire recherche et consulte est trouv Scenario Nominal 1. l utilisateur demande la fentre " recherche mmoire". 2. l utilisateur choisit le mode de recherche par code. 3. L utilisateur saisi le code. 4. Si le code existe, le systme affiche les informations des mmoires qui on ce code. 5. Si le mmoire est intressant, l utilisateur slectionne et consulte le mmoire. Scenario Erreur 1. Si le code nexiste pas (mmoire nexiste pas). Chapitre III : Spcification des besoins 32
III.6. Les diagrammes de squence systme Nous allons prsenter les diagrammes de squences montrant les scnarios de chaque cas dutilisation prcdent. Authentifier
Figure III.11 : Diagramme de squence systme du cas d`utilisation authentifier.
Chapitre III : Spcification des besoins 33
Gestion des utilisateurs v Ajouter un utilisateur
Figure III.12: Diagramme de squence systme du cas d`utilisation ajouter un utilisateur.
Chapitre III : Spcification des besoins 34
v Modifier (nom d`utilisateur, mot de passe)
Figure III.13: Diagramme de squence systme du cas d`utilisation modifier un utilisateur.
Chapitre III : Spcification des besoins 35
v Supprimer un utilisateur
Figure III.14: Diagramme de squence systme du cas d`utilisation supprimer un utilisateur.
Chapitre III : Spcification des besoins 36
Archiver un mmoire
Figure III.15: Diagramme de squence systme du cas d`utilisation archiver un mmoire.
Chapitre III : Spcification des besoins 37
Supprimer un mmoire
Figure III.16 : Diagramme de squence systme du cas d`utilisation supprimer un mmoire.
Chapitre III : Spcification des besoins 38
Rechercher et consulter un mmoire v Rechercher et consulter un mmoire par Titre
Figure III.17 : Diagramme de squence systme du cas d`utilisation rechercher et consulter par titre.
Chapitre III : Spcification des besoins 39
v Rechercher et consulter un mmoire par mots cls
Figure III.18: Diagramme de squence systme du cas d`utilisation rechercher et consulter par mots cls.
Chapitre III : Spcification des besoins 40
v Rechercher et consulter un mmoire par code
Figure III.19: Diagramme de squence systme du cas d`utilisation rechercher et consulter par code.
Conclusion Les acteurs et les cas d utilisation sont les concepts UML fondamentaux pour la spcification des besoins. Nous avons tudi dans ce chapitre les cas dutilisation possible de notre systme ainsi que leur structuration et classement par les diagrammes des cas Chapitre III : Spcification des besoins 41
dutilisation. Nous avons reprsent aussi un diagramme de squences systme pour chaque cas dutilisation. Dans le prochain chapitre de notre modlisation nous allons prsenter la dcomposition de notre systme et la structure interne de ces diffrents modules.
42
Chapitre IV : Phase d analyse
Introduction IV.1. L analyse du domaine. IV.2. Identification les concepts du domaine. IV.3. Ajouter des associations entre classes. IV.4. Les diagrammes d activits. Conclusion
Chapitre IV : Phase d analyse 43
Introduction Dans cette phase nous allons laborer le diagramme de classe du domaine et les diagrammes d activits de notre systme. IV.1. L`analyse du domaine La conception objet demande principalement une description structurelle, statique, du systme raliser, sous forme d un ensemble de classes logicielles. Les classes candidats sont celle issues dune analyse de domaine, effectivement ces concepts (souvent appels objets mtier) peuvent tre identifi directement partir de la connaissance du domaine. Nous allons dans cette partie : Identifier les concepts du domaine. Ajouter les associations entre classes. Ajouter les attributs. IV.2. Identification les concepts du domaine Nous allons prendre les cas d utilisations un par un et nous poser pour chacun la question suivantes : quel sont les concepts mtier qui participent ce cas dutilisation ? a. Authentifier : - Administrateur. - Utilisateur. b.Gestion des utilisateurs (ajouter, supprimer et modifier utilisateur) : -Administrateur. c. Archiver un mmoire : -Administrateur. - Info_mmoire. - Index_mmoire. -Fichier_mmoire. d. Supprimer un mmoire : -Administrateur. -Info_mmoire. -Index_mmoire. -Fichier_mmoire. e. Rechercher et consulter un mmoire : Chapitre IV : Phase d analyse 44
-Administrateur. -Utilisateur. - Info_mmoire. - Index_mmoire. -Fichier_mmoire. IV.3. Ajouter des associations entre classes
Figure IV.20: Diagramme d`ajouter les associations entre classes.
Chapitre IV : Phase d analyse 45
IV.4. Les diagrammes d`activits Nous dans cette partie nous allons prsenter les diagrammes d activits quivalent aux les diagrammes de squences de chaque cas dutilisation dcrit prcdent. v authentifier
Figure IV.21: Diagramme d`activit du cas d`utilisation authentifier.
Chapitre IV : Phase d analyse 46
Gestion des utilisateurs v Ajouter un utilisateur
Figure IV.22:Diagramme d`activit du cas d`utilisation ajouter un utilisateur.
Chapitre IV : Phase d analyse 47
v Supprimer un utilisateur
Figure IV.23: Diagramme d`activit du cas d`utilisation supprimer un utilisateur.
Chapitre IV : Phase d analyse 48
v Modifier un utilisateur
Figure IV.24: Diagramme d`activit du cas d`utilisation modifier un utilisateur.
Chapitre IV : Phase d analyse 49
v Archiver un mmoire
Figure IV.25: Diagramme d`activit du cas d`utilisation archiver un mmoire.
Chapitre IV : Phase d analyse 50
v Supprimer un mmoire
Figure IV.26: Diagramme d`activit du cas d`utilisation supprimer un mmoire.
Chapitre IV : Phase d analyse 51
Rechercher et consulter des mmoires (titre, mots cls, code)
Figure IV.27: Diagramme d`activit du cas d`utilisation rechercher et consulter des mmoires (titre, mots cls, code).
Chapitre IV : Phase d analyse 52
Conclusion A l'issue de cette tape nous avons exprim clairement les objectifs attendus du futur systme concevoir, ainsi que l'analyse associe chaque cas d'utilisation et la possibilit de les raliser dans un paradigme orient objet, sans s'attacher aucun outil de dveloppement. Nous allons dans le chapitre suivent faire la conception de notre systme.
53
Chapitre V : Phase de conception
Introduction V.1. Les diagrammes de squences. V.3. Diagramme de classes. V.4. Dictionnaire de donnes. V.5. Conception de la base de donnes. V.6. Diagramme dploiement. Conclusion
Chapitre V : Phase de conception 54
Introduction : Dans cette phase nous allons laborer les diagrammes de squence, le diagramme de classe et faire la conception de la base de donnes du systme. V.1. Les diagrammes de squences Authentifier
Figure V.28: Diagramme de squence du cas d`utilisation authentifier.
Chapitre V : Phase de conception 55
Gestion des utilisateurs v Ajouter un utilisateur
Figure V.29 : Diagramme de squence du cas d`utilisation ajouter un utilisateur.
Chapitre V : Phase de conception 56
v Supprimer un utilisateur
Figure V.30 : Diagramme de squence du cas d`utilisation supprimer un utilisateur.
Chapitre V : Phase de conception 57
v Modifier un utilisateur
Figure V.31 : Diagramme de squence du cas d`utilisation modifier un utilisateur.
Chapitre V : Phase de conception 58
Archiver un mmoire
Figure V.32 : Diagramme de squence du cas d`utilisation archiver un mmoire.
Chapitre V : Phase de conception 59
v Supprimer un mmoire
Figure V.33 : Diagramme de squence du cas d`utilisation supprimer un mmoire.
Chapitre V : Phase de conception 60
v Rechercher et consulter un mmoire v Rechercher et consulter un mmoire par Titre
Figure V.34 : Diagramme de squence du cas d`utilisation rechercher et consulter un mmoire par titre.
Chapitre V : Phase de conception 61
v Rechercher et consulter un mmoire par mots cls
Figure V.35 : Diagramme de squence du cas d`utilisation rechercher et consulter un mmoire par mots cls.
Chapitre V : Phase de conception 62
v Rechercher et consulter un mmoire par code
Figure V.36: Diagramme de squence du cas d`utilisation rechercher et consulter un mmoire par code.
Chapitre V : Phase de conception 63
V.2. Diagramme de classes Dans cette tape, nous regroupons les identifies dans l tape prcdent dans un diagramme qui s appelle diagramme de classe pour chaque classe nous dcrivons les liens structurels avec les autres classes.
Figure V.37 : Diagramme de classes.
Chapitre V : Phase de conception 64
V.3. Dictionnaire de donnes Les classes et les attributs
classe information code type
Info_mmoire Code mmoire
Code_mm Int(11) Titre mmoire
Titre_mm Varchar(30) Auteur mmoire
Auteur_mm Varchar(30) Anne de Soutenance
Anne_Sout Varchar(30) Spcialit
Spcialit Varchar(30) Niveau
Niveau Varchar(30) Utilisateur Nom dutilisateur
Nom d`utilisateur Varchar(30) Mot de passe
Mot de passe Varchar(30) Nom
Nom Varchar(30) Prnom
Prnom Varchar(30) Type dutilisateur
Type_utlili Varchar(30) Index_mmoire Identifier l index
classe mthode description Info_mmoire Archiver mmoire () Archiver un nouveau mmoire Supprimer mmoire ()
Supprimer un mmoire rechercher mmoire ()
Rechercher un mmoire Utilisateur Authentifier ()
Authentifier un utilisateur Ajouter utilisateur ()
Ajouter un utilisateur Supprimer utilisateur ()
Supprimer un utilisateur Modifier utilisateur ()
Modifier un utilisateur Index_mmoire Ajouter mot ()
Ajouter un mot Supprimer mot ()
Supprimer un mot Fichier_mmoire crer fichier ()
crer un fichier Supprimer fichier ()
Supprimer un fichier
V.4. Conception de la base de donnes Nous donnons aprs quatre rgles (de R1 R4) pour traduire un schma conceptuel entit association ou UML en un schma relationnel quivalent.il existe dautres solutions de transformation mais ces rgles sont les plus simples et les plus oprationnelles. Transformation des entits/classes : la rgle est simple R1 : * Chaque entit devient une relation, identifiant de l entit devient cl primaire pour la relation. * Chaque classe du diagramme UML devient une relation. Il faut choisir les attributs de la classe pouvant jouer le rle d identifiant.
Transformation des associations Les rgles de transformation que nous allons voir dponde des cardinalits / multiplicits maximale des associations. Nous distinguons trois familles dassociation : Chapitre V : Phase de conception 66
Association 1..* : La rgles est la suivant : R2 : Il faut ajouter un attribut de type cl trangre dans la relation fils de l association. L attribut porte le nom de la cl primaire de la relation pre de l association. Association *..* : La rgle est la suivant : R3 :L association/classe-association devient une relation. La cl primaire de cette relation est la concatnation des identifiants des identits connectes association. Chaque attribut devient cl trangre si entit/classe connecte dont il devient une relation en vertu de la rgle R1. Les attributs de l association/classe-association doivent tre ajouts la nouvelle relation. Ces attributs ne sont ni cl primaire, ni cl trangre. Association 1..1 : La rgle est la suivante : R4 : il faut ajouter un attribut de type cl trangre dans la relation drive de l entit ayant la cardinalit minimale gale zro. Dans le cas du diagramme UML il faut ajouter un attribut de type cl trangre dans la relation drive de la classe ayant la multiplicit minimale gale un. L attribut porte le nom de la cl primaire de la relation drive de l entit/classe connecte l association. Si les deux cardinalits minimales gale zro, le choix est donn entre les deux relations drives de la R1. Si les deux cardinalits minimales gale un, il est prfrable de fusionner les deux entits/classe en une seule. Aprs l application des rgles de passage, nous avons dduit les tables suivant : Info_mmoire (Code mm, Titre_mm, Auteur_mm, Anne_Sout, Spcialit, Niveau, Emplacement). Utilisateur (Nom dutilisateur, mot de passe, nom, prnom, Type_utlili). Index_mmoire (#Code_mm, Mot, Nb_occurence).
Chapitre V : Phase de conception 67
V.5. Diagramme dploiement Dans cette tape, nous avons montr la disposition physique des matrielles qui composent le systme et la rparation des composants sur ces matrielles.
Figure V.38 : Diagramme dploiement.
Conclusion Durant cette partie nous avons prsent le cot conceptuel de notre application en utilisant la modlisation UML afin de rpondre au mieux aux exigences et besoins des utilisateurs de notre systme. A base de cette dernire, on a abouti au modle relationnel des donnes en faisant appel aux rgles de passages. Dans le prochain chapitre nous allons prsenter l'environnement de dveloppement que nous avons utilis. Et quelques interfaces de notre application.
68
Chapitre VI : Implmentation
Introduction
VI.1. Environnement de dveloppement de l'application. VI.2. Quelques interfaces de l application Conclusion
Chapitre VI : Implmentation 69
Introduction En utilisant le diagramme de classe de conception que nous avons vu dans le chapitre prcdent, on commence la phase d implmentation. Cette dernire phase a pour but de gnrer un code excutable rpond aux besoins utilisateur. VI.1. Environnement de dveloppement de l'application
VI.1.1. Le langage de programmation java Pour implmenter notre application Nous avons choisi le langage de dveloppement java avec l IDE Netbeans car java est un langage orient objet simple et portable Il peut tre utilis sous diffrentes plates formes sans aucune modification , java possde aussi une riche bibliothque de classes, Netbeans est un environnement de dveloppement intgr, open source, trs utile qui permet de dvelopper en java. VI.1.2. MySQL Pour implmenter la base de donnes, nous avons utilis le SGBD MySQL quest un serveur de base de donnes relationnelle dvelopp dans un souci de performance leve, il est libre, rapide, multi threaded et multi utilisateur.
VI.1.3. PhpMyAdmin
L outil PhpMyAdmin offre une interface graphique trs simple pour l administration complte des bases de donnes MySQL. Nous l avons utilis pour la cration de notre base de donnes. Nous mentionnons quelques fonctionnalits: Gestion (cration, modification et suppression) des bases de donnes. Gestion des utilisateurs de la base de donns et leurs droits daccs. L excution des requtes SQL (crits par les utilisateurs).
Chapitre VI : Implmentation 70
VI.1.4. Connecteur On a utilis le connecteur (mysql-connector-java) pour connecter notre logiciel avec la base de donnes. VI.1.5. Partie client/serveur L informatique client/serveur propose un environnement ouvert et souple, chaque machine client demande un service par l envoie d un requte au serveur, le dernier envoie la rponse .on a utilis les threads et les sockets pour raliser l architecture client/serveur. VI.1.5.1. Les threads Les threads sont des processus spciaux qui cooprent et s excutent dans le mme espace dadressage (celui du processus qui les a crs).les threads sont des processus lgers parce qu ils partagent la mmoire du processus qui les contient et cela rend les changements de contexte peu couteux en temps. VI.1.5.2. Les sockets C est une Interface de programmation avec les services du systme d exploitation pour exploiter les services de communication du systme (local ou rseau). Une socket communique avec une autre socket via son adresse. Adresse de socket =adresse IP +port. VI.1.6. Les bibliothque poi On a utilis les bibliothques poi pour extraire le contenu textuel des mmoires, puisque les mmoires avec extention.doc doivent tre dcods avant dtre index.
Chapitre VI : Implmentation 71
VI.1.7. Programme d`indexation Aprs l archivage d un mmoire de fin d tude, on a lanc l indexation sur ce mmoire .doc. La figure suivante montrer les tapes de programme d indexation
Figure VI.39. Programme d`indexation.
Chapitre VI : Implmentation 72
VI.2. Quelques interfaces de l`application Dans cette section nous prsentons quelque fentre de notre application : Fentre d`authentifier : permet dauthentifier les utilisateurs du systme.
Fentre principale : permet de slectionner une opration.
Chapitre VI : Implmentation 73
Fentre vrifier l`existence d`utilisateur : permet de vrifier l existence d un utilisateur ou non pour ajouter, supprimer ou modifier.
Fentre Ajouter utilisateur : permet dajouter des nouveaux utilisateurs.
Chapitre VI : Implmentation 74
Fentre supprimer utilisateur : permet de supprimer un utilisateur.
Fentre Archiver Mmoire : permet darchiver des nouveaux mmoires.
Chapitre VI : Implmentation 75
Le bouton "parcourir" permet d indiquer l emplacement du mmoire, ouvrir la fentre suivante par slectionner le fichier qui contient le mmoire.
Fentre Supprimer Mmoire : permet de supprimer des mmoires.
Chapitre VI : Implmentation 76
Fentre Rechercher Mmoire : permet de rechercher des mmoires soit par titre, par mots cls ou par code.
v Rechercher par titre du mmoire
Chapitre VI : Implmentation 77
v Rechercher par mots cls
v Rechercher par code mmoire
Chapitre VI : Implmentation 78
Consultation des mmoires
Conclusion Dans cette partie nous avons prsent l environnement de dveloppement de notre application. Nous pouvons dire quon a ralis un travail de qualit en dveloppant des interfaces performantes permettant l utilisateur deffectuer des recherches avances, prcises et rapides. Conclusion gnrale 79
Conclusion gnrale : Au cours de ce projet nous avons dvelopp une application client/serveur pour l archivage, la recherche et la consultation des mmoires de fin d'tude de la bibliothque du centre universitaire de Mila. L interface de notre application est claire et conviviale. Les utilisateurs peuvent archiver et consulter les mmoires en toute simplicit, Ils peuvent rechercher rapidement les mmoires soit en utilisant les titres, les codes, ou les mots cls l aide dun index. Notre application permet plusieurs utilisateurs daccder au systme en mme temps. Elle est fiable et scuris et cela grce a l architecture client/serveur et a l authentification des utilisateurs. Ce travail nous a permis denrichir nos connaissances dans des domaines varis comme : L architecture Client/serveur, l Orient Objet, le langage de modlisation UML, le langage de programmation J AVA et le SGBD MYSQL. Notre application permet seulement d indexer les fichiers de type DOC, on espre que notre travail va aider les tudiants qui arriveront les annes prochaines et qu ils continueront l implmentation des autres types comme PDF, DOCX, ODT etc...
Bibliographie v Conception et ralisation d un Moteur d indexation et de recherche dans un Intranet , Mmoire de fin d tude, Institut national de formation en informatique, Anne universitaire 1999/2000.
v Indexation des documents Semi-Structurs : Proposition d une approche base sur le fichier invers et le Trie , Mmoire de Magister, Institut National de formation en Informatique (I.N.I) Oued-Smar Alger, Anne universitaire 2005/2006.
v Modlisation et manipulation d une GED pour le service des archives de la wilaya de Mila , Universit Mentouri de Constantine, Anne universitaire 2008/2009.
v Vers l automatisation de la banque de prt de la bibliothque universitaire centrale de l universit Mentouri de Constantine , Mmoire fin d tude, Anne universitaire 2008/2009.
v Conception et ralisation d un site web dynamique pour une agence immobilire, Mmoire de fin d tude, Universit Abderahmane Mira de Bejaia, Anne universitaire 2008/2009.
v UML 2 , Livre, Laurent AUDIBERT, dition 2007-2008. http://laurent-audibert.developpez.com/Cours-UML/.
v UML en action , Livre, P. Roques et .Vall, 2 ieme dition 2003.
v UML pour la pratique (tude de cas exercices corriges) , livre, Eyralles, 5 ieme dition.