Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe de deux. À remettre avant le vendredi 14 mars 2003 à midi. Sommaire Une société commerciale requiert vos services pour le développement d un système configurable de vente aux enchères électroniques. Le système doit offrir aux utilisateurs la possibilité de vendre ou d acheter des articles par le biais d enchères anglaises ou hollandaises. Côté client, on souhaite que le système puisse être configuré de façon à refléter les paramètres particuliers du site d enchères tels son nom, les rubriques d articles, les règlements, etc. Entre autres, le système devra offrir les fonctionnalités suivantes : Inscription des membres: gestion des informations relatives aux membres (informations personnelles, transactions réalisées, évaluation (réputation), etc.) Navigation: consultation facile et conviviale des articles à vendre (classés par rubriques), des évaluations des membres et autres documents d information. Vente: inscription des articles à vendre aux enchères et contrôle du processus de négociation par enchérissement (à l anglaise ou à l hollandaise). Enchérissement: saisie et validation des enchères, mise à jour des historiques d enchères des participants, etc. Configuration: fonctionnalités permettant au client de configurer les différents paramètres du système (bannières, rubriques, règlements, montant des commissions sur les ventes, etc.) Le présent document constitue un cahier des charges (informel) du système que vous devez développer. Pour mener à bien ce projet, on vous suggère d adopter un processus de développement itératif et incrémental (du type RAD par exemple). Les livrables obligatoires consisteront en Travail pratique #1 : un document d analyse et de conception composé : o de diagrammes UML bien documentés. o d un prototype révélant les principales interfaces utilisateurs qui composeront le système. Travail pratique #2: une implémentation Java réalisée à partir des outils et bases de données de l environnement J2EE. Remarque : Dans le présent document, le client représente la société qui a commandé le développement du système et qui emploiera éventuellement un technicien responsable de
sa configuration et de son maintien. L'utilisateur est la personne qui utilise le système pour consulter, acheter ou vendre article. Il s agit de la clientèle visée par le client luimême. 0. Configuration Le client doit pouvoir définir lui-même certains paramètres du site. Les paramètres du site sont les suivants : le nom du site, à afficher en bannière le nombre d articles à vendre apparaissant «À la une du site». le nom des rubriques organisées sous forme d arborescence les règlements destinés aux vendeurs, aux acheteurs, etc. o obligations des membres o obligations du vendeur envers les acheteurs o obligations des acheteurs envers un vendeur o cas particuliers : prix de réserve non atteint, quantité d articles insuffisante (enchères hollandaises) o etc. le délai accordé à un utilisateur pour confirmer son inscription comme membre. le taux de la commission prélevée sur les ventes le tarif de l option d affichage «À la une» du site. L initialisation et la mise à jour de ces paramètres doivent pouvoir être faites dynamiquement via une interface de configuration. 1. Navigation 1.1 Consultation de la page principale L application s'ouvre sur une fenêtre principale introduisant le site de vente aux enchères électronique. On doit y trouver : une bannière affichant le nom du système d'enchères un menu des principaux services du système une liste des rubriques répertoriant les articles à vendre la liste des X articles «À la une» du site. Cette liste constitue un espace publicitaire privilégié pour les vendeurs qui ont payé pour cette option. Les articles classés «À la une» sont affichés tour à tour sur la page principale, selon l espace disponible. Une priorité est accordée aux articles dont la vente se termine le plus tôt. 1.2 Consultation des rubriques et des pages d articles Navigation: L'utilisateur peut naviguer de rubrique en rubrique et consulter les descriptions d articles. Les rubriques sont gérées sous forme d'arborescence multi - niveau. Une rubrique peut proposer des articles à vendre et des sous-rubriques à
consulter. L'utilisateur doit pouvoir naviguer aisément et rapidement dans l'arborescence et savoir, en tout temps, à quel niveau il se trouve. Page d'article: Lorsqu il sélectionne un article dans une rubrique, l'utilisateur est conduit sur une page décrivant l'article mis aux enchères : on y retrouve les descriptions brève et détaillée de l'article, le type d enchères (anglaises ou hollandaises), la quantité, la mise à prix, le prix actuel (i.e. le prix de l article si la vente se terminait maintenant), l'incrément, les dates du début et de la fin des enchères, l'identifiant du vendeur, la localisation de l'article et une photo (si disponible). Depuis la page d article, certaines fonctionnalités sont offertes à l utilisateur. L utilisateur peut : enchérir consulter l'historique des offres (liste chronologique des enchères faites sur cet article: identifiant de l'enchérisseur, enchère, date). Un utilisateur peut naviguer de rubrique en rubrique et consulter les pages d articles sans être membre. Toutefois, pour enchérir, l utilisateur doit être membre et s être identifié comme tel auprès du site. 2. Inscription Pour pouvoir enchérir, vendre un article et profiter des multiples services associés au système d'enchères, l'utilisateur doit s'inscrire à titre de membre. 2.1 Saisie des données personnelles Pour s'inscrire, l'utilisateur doit entrer les données suivantes. L'utilisateur doit obligatoirement fournir les renseignements suivants: nom, prénom, courriel, adresse civique, code postal, ville, pays, info de carte de crédit. L'utilisateur doit proposer : o un identifiant (un login) contenant entre 6 et 8 caractères alpha numériques. Cet identifiant lui servira de pseudonyme sur le site. o un mot de passe contenant entre 6 et 8 caractères alpha - numériques (le mot de passe doit être tapé deux fois de façon identique pour confirmer sa saisie). 2.2 Validation de l inscription Le système vérifie les données (identifiant, mot de passe, coordonnées) entrées par l'utilisateur et affiche un message confirmant ou infirmant la saisie des informations. Les erreurs détectées sont signalées à l'utilisateur. Ex. Identifiant déjà attribué, champ obligatoire non rempli, etc. Si la saisie est confirmée, le système envoie un courriel à l'utilisateur (à l'adresse indiquée par ce dernier). Le message contient deux hyperliens, l un intitulé «confirmer l inscription», l autre «annuler l inscription». Lorsqu ils sont activés, ces liens confirment ou infirment, respectivement, l inscription de l utilisateur.
2.3 Confirmation de l'inscription L'utilisateur doit confirmer ou annuler son inscription en cliquant sur l hyperlien correspondant qui se trouve dans le message que le système lui a envoyé. L utilisateur a un certain délai (ex. 48 heures) pour confirmer son inscription. Autrement, l inscription est automatiquement annulée. [N.B. Le délai de confirmation est un paramètre défini par la configuration.] Enregistrement des données : Aux données personnelles du membre s ajouteront d autres informations (date d inscription, évaluations, transactions réalisées, etc.) qui constitueront le compte du membre. Les comptes des membres sont conservés dans une base de données. 3. Vendre un article 3.1 Classification de l article à vendre L'utilisateur peut naviguer de rubrique en rubrique, dans l arborescence proposée, pour choisir celle dans laquelle il souhaite déposer l'article à vendre aux enchères. 3.2 Identification Pour pouvoir soumettre un article à vendre aux enchères, l'utilisateur doit être un membre identifié. Si l utilisateur est membre mais qu il ne s est pas encore identifié, l'utilisateur est invité à entrer son identifiant et son mot de passe. Le système valide l'identification et signale les erreurs s'il y a lieu. Il n y a pas de limite au nombre de tentatives d identification. Si l utilisateur n est pas membre, ce dernier est invité à s'inscrire. 3.3 Inscription de l article à vendre aux enchères Remplir le formulaire : Afin de déposer un article aux enchères, l'utilisateur (membre identifié) remplit un formulaire dans lequel il fournit les informations suivantes : Informations générales une courte définition de l'article à vendre (80 car. max.) une description détaillée la localisation de l'objet (ville, province, pays) le choix de la devise (dollar canadien, dollar américain, euro) une photo (optionnelle) choix de l option d affichage «À la une». Types d enchères : anglaises ou hollandaises o Cas des enchères anglaises la durée de la vente aux enchères (nombre de jours) la mise à prix la valeur de l'incrément le prix de réserve (public ou secret)
o Cas des enchères hollandaises la durée de la vente aux enchères (nombre de jours) la mise à prix le prix de réserve (public ou secret) la quantité d articles Validation et confirmation : Les entrées du formulaire sont validées et les erreurs sont signalées s il y a lieu. Autrement, le système affiche : les détails de l'article à vendre le taux de la commission prélevée sur la vente (et qui sera facturée sur la carte de crédit du vendeur lors de la vente) le prix de l option d affichage «À la une» si sélectionnée. L utilisateur est invité à confirmer l information ou à la modifier. Enregistrement des données. Les données concernant les articles vendus aux enchères doivent être enregistrées dans une base de données. Un historique des enchères s ajoutera aux données décrivant l article et les paramètres de la vente. Toutes ces informations constitueront la fiche de vente de l article. Les fiches de vente sont enregistrées dans une base de données. Une fois la vente terminée, une fiche est archivée pour fins statistiques ou de vérification. 3.4 Clôture de la vente aux enchères : À la clôture de la vente aux enchères, le système envoie un courriel à l'utilisateur (vendeur) pour l informer : o du résultat de la vente (prix final, coordonnées de l acheteur) o de l'historique des transactions de la vente o de la commission facturée o de la procédure à suivre pour finaliser la vente avec l'acheteur. 4. Enchérissement 4.1 Choix de l article L'utilisateur peut naviguer de rubrique en rubrique, dans l arborescence proposée, et consulter les pages d articles qui s y trouvent. Il sélectionne l article pour lequel il souhaite enchérir. 4.2 Identification Pour pouvoir faire une enchère, l'utilisateur doit être un membre identifié. Si l utilisateur est membre mais qu il ne s est pas encore identifié, l'utilisateur est invité à entrer son identifiant et son mot de passe. Le système valide l'identification et signale les erreurs s'il y a lieu. Il n y a pas de limite au nombre de tentatives d identification. Si l utilisateur n est pas membre, ce dernier est invité à s'inscrire.
4.3 Saisie de l enchère Remplir le formulaire : Enchère anglaise : L utilisateur indique le montant de son enchère. o L enchère doit être supérieure à la mise à prix. o L enchère doit être supérieure au prix actuel de l article plus la valeur de l incrément. Ex. Prix actuel: 300$. Incrément: 30$. Donc la prochaine enchère e 330$. o Un utilisateur ne peut pas enchérir deux fois de suite sur le même article. En revanche, il peut surenchérir si un autre utilisateur fait une nouvelle offre. o Le vendeur n a pas le droit d enchérir sur son propre article. Enchère hollandaise : L utilisateur indique la quantité d articles désirés et le montant à payer pour chacun. o L enchère doit être supérieure à la mise à prix. o La quantité doit être inférieure ou égale à la quantité initiale d articles à vendre. o Un utilisateur peut enchérir plus d une fois. Toutefois, le montant totale de sa nouvelle enchère doit être supérieur à celui de la précédente. Ex. 1 re enchère : 2 articles à 3$ (total : 6$). 2 e enchère : 4 articles à 2$ (total : 8$). o Un vendeur n a pas le droit d enchérir sur ses propres articles. Validation et enregistrement : Le système valide l enchère saisie puis demande à l utilisateur de la confirmer. Si l utilisateur confirme son enchère, celle-ci est enregistrée et la fiche de vente est mise à jour (prix actuel, historique, etc.) 5. Consultation des règlements et conditions d'utilisation L'utilisateur doit pouvoir consulter les pages qui lui expliquent les règles du système de vente aux enchères et les conditions d'utilisation. Vous devez proposer un modèle de page que le client pourra éditer et mettre à jour si nécessaire. On y trouvera les chapitres suivants: (1) Conditions pour devenir membre (âge, solvabilité, etc.) (2) Obligations du vendeur (expédition de l'article vendu, etc.) (3) Obligations de l'acheteur (modalités de paiement, retour d'articles, etc.) (4) Règles déontologiques (5) Divers Glossaire Adjudication : Attribution par autorité de justice d'un bien vendu aux enchères. Enchérisseur : Personne qui, lors d'une vente aux enchères, fait une enchère. Enchère : Offre d'un prix supérieure à la mise à prix, proposée pour l achat d un article.
Enchères anglaises : Type d enchère «traditionnel». On recourt à ce type d enchère pour vendre un article (unique) au plus offrant. La mise à prix et la durée de la vente sont annoncées. Un prix de réserve peut également être déclaré ou bien gardé secret. Les offres d enchères sont ensuite reçues et validées. Pour qu une enchère soit valide, elle doit être supérieure ou égale à la mise à prix et dépasser la plus haute enchère proposée jusque là (plus l incrément). Cette nouvelle enchère devient alors le prix actuel de l article. L enchère se termine après la durée spécifiée. L article est alors vendu au meilleur enchérisseur. Enchère hollandaise : Type d enchère utilisé par ceux qui ont des quantités importantes d'objets identiques à vendre. Les vendeurs commencent par mettre leur objet en vente avec un prix de réserve et/ou une mise à prix. La durée de l enchère est également indiquée. Les enchérisseurs peuvent faire des offres en spécifiant la quantité d objets qu'ils souhaitent acheter et le prix offert par unité. A la fin de l enchère, les meilleurs enchérisseurs, dans l ordre, remportent les objets demandés selon les quantités disponibles. Tous les enchérisseurs gagnants paient le même prix par objet, c'est-à-dire l'enchère la plus basse. Ce prix peut donc être être inférieur à l enchère proposée. Ex. Un vendeur propose 10 crayons à l enchère hollandaise au prix de 1$ chacun (mise à prix). A la fin de l enchère on constate que 3 personnes ont demandé 2 crayons à 1.50$/unité, 2 personnes ont demandé 3 crayons à 1.25$/unité et 5 personnes ont demandé un crayon à 1$/unité. Ordre Enchérisseur Enchère (quantité, prix unitaire) 1 C (2, 1.50$) 2 A (2, 1.50$) (enchère redéfinie en 5) 3 F (1, 1.00$) 4 D (3, 1.25$) 5 A (4, 1.10$) 6 B (2, 1.50$) 7 E (1, 1.00$) Les enchérisseurs B et C remportent chacun 2 crayons à 1.10$/unité. L enchérisseur D remporte 3 crayons à 1.10$/unité et A remporte 3 crayons pour 1.10$. Remarque : N ayant pas obtenu la quantité de crayons demandés, l enchérisseur A peut refuser les objets. Le cas échéant, le vendeur a la possibilité d offrir un crayon à E et à F à 1.00$/unité. Incrément : Quantité constante prédéfinie dont on se sert pour augmenter et fixer la valeur de la prochaine enchère. Mise à prix : Prix au-dessus duquel doivent être proposées des enchères dans une vente publique pour être prises en considération. Prix de réserve : Prix minimum fixé par le vendeur, en accord avec le commissaire-priseur, au-dessous duquel l'objet ne sera pas vendu aux enchères publiques. Cette information n'est généralement pas rendue publique. Vente aux enchères : Vente dans laquelle plusieurs acheteurs rassemblés ou représentés en un même lieu sont en concurrence pour l'acquisition d'un même bien, qui est finalement attribué au(x) plus offrant(s).
Travail à réaliser : Document d analyse et de conception 1 re partie : Modèle d analyse Votre document doit comporter les éléments suivants : 1. Un résumé du projet (1/2 page) 2. Modèle dynamique a. Cas d utilisation i. Diagramme de cas d utilisation ii. Description détaillée de chacun des cas d utilisation b. Interactions : Pour chaque cas d utilisation, décrire le scénario principal (et les scénarios secondaires si cela est pertinent) i. Soit par un diagramme de séquence (montrant les interactions entre l acteur utilisateur et la classe système) ii. Soit par un diagramme d activités iii. Le choix du type de diagramme dépendra de l importance relative des interactions ou des activités à modéliser dans chaque cas. 3. Modèle statique a. Diagramme de classes décrivant les entités du domaine (objets persistants) 4. Modèle des changements d état a. Diagramme d états décrivant l évolution d un compte client. b. Diagramme d états décrivant l évolution d une fiche de vente. 2 e partie : Modèle de conception 1. Conception architecturale a. Modèle statique i. Diagramme de paquetages décrivant les groupements logiques des classes du système et les dépendances entre ces groupements. ii. Diagramme de composants décrivant les modules implémentant les services du système et les dépendances qui existent entre eux. iii. Diagramme de déploiement décrivant la répartition des composants et processus sur l infrastructure matérielle. 2. Conception détaillée Il vous est recommandé d adopter une approche de conception BCE (Boundary- Control-Entity). Référez-vous aux principes généraux et aux patterns de conception. a. Modèle dynamique i. Cas d utilisation : mise au point si nécessaire. ii. Réalisation des cas d utilisation : Élaborer la description des interactions nécessaires pour réaliser le scénario principal (et les
secondaires, si pertinents) de chaque cas d utilisation. Décrivez les interactions détaillées en utilisant des diagrammes de collaboration ou de séquence. b. Modèle statique i. Diagramme de classes. Compléter le diagramme de classe du modèle d analyse en y ajoutant les classes, opérations (responsabilités) et attributs identifiés en faisant la conception détaillée du modèle dynamique (2.ii). 3 e partie : Prototype Vous devez travailler sur un premier prototype de votre système ne comportant que les interfaces utilisateurs (sans l'implémentation des fonctions). 1. Dans votre rapport, donnez une image écran des principales interfaces (GUI) de votre système (3 ou 4 environs). 2. Décrivez les activités et la composition des interfaces par un diagramme de navigation.