Bamboo [email protected] Étude de conception UML du logiciel : Diagrammes de séquences 3.5...

Click here to load reader

  • date post

    11-Sep-2018
  • Category

    Documents

  • view

    215
  • download

    0

Embed Size (px)

Transcript of Bamboo [email protected] Étude de conception UML du logiciel : Diagrammes de séquences 3.5...

  • Carlo Abi ChahineSylvain ArchenaultYves HoupertMartine Wang

    RAPPORT DE CONCEPTION UML :

    Bamboo [email protected]

    Projet GM4Juin 2006

  • Table des matires

    1 Introduction 2

    2 Prsentation du logiciel 32.1 Prcisions sur le protocole de communication . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Prcisions sur les threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    3 tude de conception UML du logiciel 43.1 Schma entre-sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.2 Business model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.3 Les cas dutilisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.4 Diagrammes dactivit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3.4.1 Inscription et connexion [email protected] . . . . . . . . . . . . . . . . . . . . . . 73.4.2 Ajout dun contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.4.3 Suppression dun contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4.4 Envoi dun message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3.5 Diagrammes de squences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.5.1 Connexion (Partie Cliente) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.5.2 Connexion (Partie Serveur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.5.3 Envoi dun message (Partie Cliente) . . . . . . . . . . . . . . . . . . . . . . . . . 133.5.4 Envoi dun message (Partie Serveur) . . . . . . . . . . . . . . . . . . . . . . . . . 143.5.5 Rception dun message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5.6 Ajouter un contact (Partie Cliente) . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5.7 Ajouter un contact (Partie Serveur) . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.6 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.6.1 Les diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.6.2 Les paquetages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.7 Diagrammes de collaborations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.7.1 Envoi dun message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.7.2 Rception dun message ( Partie Serveur) . . . . . . . . . . . . . . . . . . . . . . 243.7.3 Rception dun message (Partie Cliente) . . . . . . . . . . . . . . . . . . . . . . . 25

    3.8 Diagrammes dtats-transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.8.1 mission du message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.8.2 Serveur/Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.8.3 Rception du message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4 Conclusion 28

    - 1 -

  • Chapitre 1

    Introduction

    Ce rapport illustre ltude de conception UML de lun de nos projets raliss au cours de cette anne.Dans un premier temps, nous prsenterons ce projet et ses fonctionnalits pour bien dfinir la problma-tique. Ensuite, nous exposerons les diffrents travaux UML que nous avons effectus et qui permettrontde bien structurer la ralisation du projet. Ces diagrammes seront accompagns dexplications pour unemeilleure comprhension. Enfin, nous conclurons ce rapport en dtaillant les bnfices que lont peut tirerdune telle tude et les raisons qui font que UML est un langage trs souvent utilis par les dveloppeurslors de la conception de logiciels complexes.

    - 2 -

  • Chapitre 2

    Prsentation du logiciel

    Dans le cadre de loption Java, nous avons souhait dvelopper un systme de messagerie instantanecrypte . Voici une prsentation gnrale du projet [email protected] sur lequel nous avons ralis notre tudede conception UML.

    Le logiciel est compos de 2 applications distinctes : lapplication Client et lapplication Serveur.Lapplication Client consistera en une petite fentre dans laquelle lutilisateur pourra communiquer

    avec les autres utilisateurs. De plus, il aura sa disposition la liste des personnes connectes. Il auragalement la possibilit dutiliser quelques options lies par exemple au cryptage des communications.

    Lapplication Serveur aura, quant elle, le rle de connecter les utilisateurs entre eux, de grer lesconnexions (par mot de passe). Elle permettra galement de rcuprer les clefs publiques des autres utili-sateurs. De plus, elle implmentera un mini-site permettant ladministration, la gestion des utilisateurs, larecherche des cls publiques, linscription, la gnration des clefs,...

    Il y a une troisime application importante qui est incorpore au serveur, il sagit dun Entreprise JavaBean (EJB). Celui-ci est en charge de grer la base de donnes.

    2.1 Prcisions sur le protocole de communicationIl est galement important de dtailler le mode de communication entre le client et le serveur afin de

    faciliter la comprhension des diagrammes, ceux-ci tant souvent allegs des dtails des communicationsrseaux. Afin de communiquer, les deux applications utilisent des objets. On peut distinguer trois typedobjets principaux :

    Message : Message dun client un de ses contacts. Requtes : Une demande dun client pour ajouter un contact, changer son statut, ... Rponse : Rponse du serveur suite une requte.

    Pour transiter sur le rseau, ces objets ont besoin de subir une transformation. On les crit en XML avantde les envoyer, puis on les rcre la rception. Ce mcanisme a souvent t omis dans les diagrammes.

    2.2 Prcisions sur les threadsAfin davoir un serveur performant pouvant traiter plusieurs requtes la fois, nous avons utilis des

    threads. Ceux-ci ne se sont pas faciles reprsenter dans les scnarios. Cest pourquoi nous avons prcis laide dun commentaire lorsquune mthode est excute dans un thread.

    - 3 -

  • Chapitre 3

    tude de conception UML du logiciel

    3.1 Schma entre-sortieLe schma dentre-sortie est le diagramme le plus gnral du langage UML. Celui prsente unique-

    ment les fonctionnalits de lapplication ainsi que le rsultat que lon obtiendra. [email protected] permettradonc lutilisateur de sinscrire (et ultrieurement de se connecter) puis denvoyer et de recevoir des mes-sages.

    - 4 -

  • III tude de conception UML du logiciel : Business model

    3.2 Business model

    FIG. 3.1 Business Model

    - 5 -

  • III tude de conception UML du logiciel : Les cas dutilisations

    3.3 Les cas dutilisationsLes cas dutilisations permettent de dcrire le comportement dun systme du point de vue de lutilisa-

    teur.

    FIG. 3.2 Les diffrents cas dutilisation

    - 6 -

  • III tude de conception UML du logiciel : Diagrammes dactivit

    3.4 Diagrammes dactivit

    3.4.1 Inscription et connexion [email protected] connexion [email protected] est bien sr diffrente si lutilisateur utilise le logiciel pour la premire

    fois ou sil est dj rpertori dans la base de donnes. Dans le premier cas, la personne devra suivre lesdiffrentes dmarches pour sinscrire. En revanche, si lutilisateur possde dj un compte, il aura accsdirectement sa liste de contacts.

    FIG. 3.3 Connexion [email protected]

    - 7 -

  • III tude de conception UML du logiciel : Diagrammes dactivit

    3.4.2 Ajout dun contactLapplication permet lutilisateur de grer ses contacts. Lorsque celui-ci dsire ajouter un contact dans

    sa liste, une fentre Ajouter Contact apparat. Lutilisateur saisit les coordonnes du nouveau conctactpour que celui-ci soit enregistr dans la base de donnes. Ensuite, le contact ajout apparat sur la liste decontacts de lutilisateur.

    FIG. 3.4 Ajouter un contact

    - 8 -

  • III tude de conception UML du logiciel : Diagrammes dactivit

    3.4.3 Suppression dun contactLa possibilit de supprimer un contact est la 2me grande fonctionnalit qui permet lutilisateur de

    grer sa liste. Celle-ci est trs simple puisquil suffit de le slectionner puis de cliquer sur Supprimercontact . Celui-ci sera galement supprim dans la base de donnes.

    FIG. 3.5 Supprimer un contact

    - 9 -

  • III tude de conception UML du logiciel : Diagrammes dactivit

    3.4.4 Envoi dun messageLenvoi de message est la fonctionnalit principale de [email protected] mais galement la plus complexe.

    En effet, lutilisateur peut tout dabord choisir sil dsire ou non crypter le message. Dans un deuximetemps, lorsque le serveur aura rcupr le message, lapplication devra savoir si la conversation est djentame (dans ce cas, on affiche le message dans la fentre correspondante) ou non. Dans ce cas prcis,on affectera un numro de fentre la future conversation. On ouvrira celle-ci et le message saffichera lintrieur.

    FIG. 3.6 Envoyer un message

    - 10 -

  • III tude de conception UML du logiciel : Diagrammes de squences

    3.5 Diagrammes de squencesLes diagrammes de squences permettent de reprsenter la squence des interactions entre plusieurs

    objets impliqus dans une fonctionnalit particulire du logiciel. Nous avons chaque fois choisi de sparerla partie Client et la partie Serveur pour que les diagrammes soient plus clairs. Les scnarios sont donc enquelque sorte scinds en deux pour bien dcomposer les deux applications.

    3.5.1 Connexion (Partie Cliente)Le processus de connexion contient trois phases. Tout dabord, le socket doit se connecter au serveur,

    puis le client envoie ses identifiants et enfin, il doit rcuprer la liste de ses contacts. Lutilisateur et leserveur jouent bien leur rle dacteur.

    FIG. 3.7 Connexion [email protected] (Client)

    - 11 -

  • III tude de conce