Académique Documents
Professionnel Documents
Culture Documents
Mini
Projet :
Vente en
enchères
« Auction
»
RMI
Réaliser par :
o Yagoubi Wafia.
Vu que notre système s'inspire du modèle client / serveur, en peut arranger ces agents en deux grandes
classes :
1.1. Les agents de la plateforme Client : ce sont les agents qui se trouve sur la machine cliente chaque
utilisateur connecte au système possède une instance de agents suivant :
1.2. Les agents de la plateforme serveur : ces derniers se trouvent sur la machine serveuse, on trouve
également :
Le système, comme illustre dans les figures précédentes, est compose principalement d'un système
multi-agents qui accède a la base (BDD clients et Catalogue d'enchères) et qui communique avec
d'autres agents (client1 ,client 2) et leur donne possibilité de rechercher éventuellement des
produits ,négocier le prix de vente.
2. Conception
Envoie (infos)
Informer (Exist)
[Existe=true]
Chargement d'interface
[else]
Message d'erreur
Réponse
:Client
Requete d'authentification
Demande d'inscription
Saisie des infos (loginID, Name,Password)
Chargement d'interface
Requête d'inscription
Envois (infos)
Confirmation
:Client
Demande d'inscription
Envois (infos)
Confirmation
Envois (choise2)
Changement d’interface
Requete d’affichage
Confirmation
closing_time,status,last_bidder)
Fig.5 : Diagramme de séquences <View all auction item(s)>
Chargement d'interface
Créer()
Agent_Chercheur (AC)
Informer (resultat)
Informer (resultat)
Envoie_acusé_réception
Chercher (infos)
Réponse (resultat)
:Client
Lancer opération Négocier
AGUI
Prendre_criteres()
Créer()
Informer (echec)
Detruire()
[Enchére_terminé=faux]
[Prix<Prixm_max]
[else]
AN
Informer_MAJ_enchere(prix)
Réponse_proposition_recu
Envoie_proposition
Reponse
AE
BDD
A la fin d'une vente, l'administrateur (qui joue le rôle du vendeur) peut accepter ou refuser la vente
(selon la date/heure et le dernier bidder). Si celle-ci est acceptée, elle pourra être considérée comme un
contrat qui lie l'acheteur et le vendeur.
Fig.8 : Diagramme de séquences < Valider achat >
Informer (Gagant)
Informer_terminaison_(infos)
Detruire()
Demande payement
Chargement d'interface
Saisie_infos_banc
créer()
Transaction_bancaire
Verifier transaction ()
MAJ_etat_enchére (etat=vendu)
:Client
J'ai divisé cette section en sept sous-sections – Admin_side, diddingServer, Client_side, ExempleServer,
Interface, Server_Side et User_Side. En raison de la nature de Java RMI, il existe certains éléments du
système qui couvrent les trois de ces sous-sections - qui est l’AuctionServer, Auction_Client et classes
qui implémentent ces interfaces. Cependant, cette section décrit chaque partie :
1. Admin_Side : Package qui contient six classes qui sont :
Admin_AddProduct : Assure l’addition d’un nouveau produit en remplissant les champs :
ID : numéro d’identification du produit.
Product name : nom ou intitulé du produit.
Initial price : le prix initial du produit.
Date end : C’est la date d’expiration ou date de fin de produit.
Admin_Login : Permet d’accès à un utilisateur d’accéder à l’interface avec Username et un
password. Si le nom d’utilisateur/le mot de passe est un incorrect, il indique ça avec un
message d’information.
Admin_Products : Affiche la liste des produits dans un tableau qui contient les champs
suivants :
ID_Product : L’identificateur du produit.
Name_Product : Noms des produits.
Initial Price : Les prix initiaux des produits.
Current Price : Les prix courants des produits existants.
Date end : C’est la date de fin ou d’expiration.
Admin : Contient l’implémentation de la classe Admin.
AdminInt : C’est l’interface de la classe Admin.
Help : C’est une définition de l’application avec un message de bienvenue.
2. biddingServer : C’est serveur d'enchères qui contient deux classes :
Product : Classe qui implémente et construit un produit avec les champs :ID, name, price,
pricec et dateend.
ServerInt : C’est l’interface qui englobe les méthodes nécessaires qui sont :
LoginAdmin.
Getlist.
Addproduct.
loginUser.
bidprice.
3. Client_Side : Package de la partie Client, contenant trois classes :
BidServerInt : C’est l’interface de la soumission du Serveur. Le serveur ajouterait le produit
identifié par le nom et un prix d'ouverture et doit notifier les autres clients de la nouvelle offre
de se produit et informer les enchérisseurs pour les clôturer enfin, il doit notifier le vainqueur.
Bidding : L’enchère qui contient les produits avec leurs prix initiaux et les soumessions. C’est
la classe qui contient l’implémentation basique de l’enchère.
BidClientInt : C’est l’interface de la soumission du Client. Ici client placerait une offre sur un
produit spécifique.
4. ExempkeServer : Package qui contient deux classes qui sont :
AuctionClient :