Refonte front-office / back-office - - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 23 avril 2009 1 / 39
Table des matières 1 Objectif du document...4 1-1 Les objets du système...4 1-2 Suivi du planning...4 2 Les acteurs et le système...5 2-1 Les internautes et clients...5 2-1-1 Rechercher un article...5 2-1-1-1 Afficher la liste des catégories...5 2-1-1-2 Afficher les produits d'une catégorie...6 2-1-1-3 Afficher les références d'un produit...7 2-1-2 La gestion du panier...8 2-1-2-1 Afficher le contenu du panier...8 2-1-2-2 Ajouter une référence dans le panier...9 2-1-2-3 La gestion du panier : description des classes...10 2-1-3 Effectuer une commande...11 2-1-3-1 Valider son panier...11 2-1-3-2 Calculer le montant de la livraison...12 2-1-3-3 Régler la commande...13 2-1-3-4 Effectuer une commande : description des classes...14 2-2 Le gérant...15 2-2-1 La gestion des catégories...15 2-2-1-1 Ajouter une catégorie...15 2-2-1-2 Ajouter une sous-catégorie...16 2-2-1-3 Modifier une catégorie...17 2-2-1-4 Supprimer une catégorie...18 2-2-1-5 La gestion des catégories : description des classes...19 2-2-2 La gestion des produits...20 2-2-2-1 Ajouter un produit...20 2-2-2-2 Modifier un produit...21 2-2-2-3 Supprimer un produit...21 2-2-2-4 La gestion des produits : description des classes...21 2-2-3 La gestion des références...22 2-2-3-1 Ajouter une référence...22 2 / 39
2-2-3-2 Créer un lot de références...23 2-2-3-3 Modifier une référence...24 2-2-3-4 Supprimer une référence...24 2-2-3-5 La gestion des références : description des classes...24 2-2-4 La gestion des inscrits à la newsletter...25 2-2-4-1 Afficher la liste des inscrits...25 2-2-4-2 Ajouter une inscription...26 2-2-4-3 Modifier une inscription...27 2-2-4-4 Supprimer une inscription...28 2-3-4-5 la gestion des inscriptions : description des classes...28 2-2-5 La gestion de la newsletter...29 2-2-5-1 Mettre en ligne une actualité...29 2-2-5-2 Envoi de la newsletter...30 2-2-5-2 La gestion de la newsletter : description des classes...31 2-2-6 La gestion des e-mailings...32 2-2-6-1 Rédiger un e-mailing...32 2-2-6-2 Sélectionner un e-mailing...33 2-2-6-3 Envoyer un e-mailing...34 2-2-6-4 La gestion des e-mailings : description des classes...35 3 Regroupement des classes...36 3-1 Groupe domaine : <<Entity>>...36 3-2 Groupe cycle de vie : <<Life Cycle>>...37 3-3 Groupe Service : <<Control>>...37 3-4 Groupe interface utilisateur et système : <<Boundary>>...38 Bibliographie...39 3 / 39
1 Objectif du document 1-1 Les objets du système Ce document est le second rédigé dans le cadre de la refonte du site pacificnorthwestshop.com. Sans rentrer dans les détails techniques, il présente les objets du système et leur comportement à l'aide de schémas simples. Le langage de modélisation est UML - Unified Modeling Language - standardisé depuis 1997 par l'omt - Object Mangement Group. Ce document utilise deux nouveaux diagrammes UML. Le diagramme de séquence représente les interactions entre les objets d'un point de vue temporel (ici, les quatre types d'objet sont listés selon Arrington : entity, boundary, control et lifecycle). Nous considérons dans ce document que ces interactions s'effectuent avec succès. Le diagramme de classes liste les classes du système et leurs relations (instanciation, association, composition,...). Pour faciliter la clarté de ces diagrammes, la traduction en différentes langues des éléments du site n'est pas pris en compte. En pratique, il faudrait ajouter les différents attributs et opérations correspondant à chaque langue retenue. Tous les cas d'utilisation du précédent document ne sont pas enfin traités. Ont été retenus que les cas significatifs : l'identification n'est pas définie, pour l'inscription à la newsletter, se reporter à la partie "gestion des inscriptions" par le gérant, la gestion des comptes des clients est enfin très similaire à la gestion des inscriptions, la gestion des commandes définit des fonctionnalités simples de mise à jour non détaillées ici. 1-2 Suivi du planning Dans la mise en place du nouveau site et de son outil de gestion, un dernier document suivra celui-ci : le document de conception (le 21 mai). 2009 Février Mars Avril Mai Juin Juillet Août Septembre Octobre Étude des besoins Conception Codage Finalisation et mise en ligne 4 / 39
2 Les acteurs et le système 2-1 Les internautes et clients 2-1-1 Rechercher un article 2-1-1-1 Afficher la liste des catégories Permet l'affichage des catégories / sous-catégories de produits. <<entity>> Category <<boundary>> CategoryUI <<control>> CategoryService <<lifecycle>> CategoryDAO 5 / 39
2-1-1-2 Afficher les produits d'une catégorie L'internaute affiche les produits d'une catégorie. <<entity>> Category, Product <<boundary>> CategoryUI, ProductUI <<control>> CategoryService, ProductService <<lifecycle>> CategoryDAO, ProductDAO 6 / 39
2-1-1-3 Afficher les références d'un produit L'internaute affiche les références d'un produit. <<entity>> Product, Reference <<boundary>> ProductUI, ReferenceUI <<control>> ProductService, ReferenceService <<lifecycle>> ProductDAO, ReferenceDAO 7 / 39
2-1-2 La gestion du panier 2-1-2-1 Afficher le contenu du panier Permet à l'internaute de consulter les références enregistrés dans son panier. <<entity>> Cart, Reference <<boundary>> CartUI <<control>> CartService <<lifecycle>> CartDAO 8 / 39
2-1-2-2 Ajouter une référence dans le panier Permet à l'internaute d'insérer un article dans son panier. <<entity>> Cart <<boundary>> ReferenceUI <<control>> CartService <<lifecycle>> CartDAO 9 / 39
2-1-2-3 La gestion du panier : description des classes 10 / 39
2-1-3 Effectuer une commande 2-1-3-1 Valider son panier Permet à un client identifié de transformer son panier en commande. <<entity>> Order <<boundary>> CartUI, OrderUI <<control>> OrderService <<lifecycle>> OrderDAO 11 / 39
2-1-3-2 Calculer le montant de la livraison Permet à un client de choisir un prestataire de livraison et d'obtenir le montant de la livraison. <<entity>> Order, ShippingCompany <<boundary>> OrderUI <<control>> OrderService <<lifecycle>> OrderDAO, ShippingCompanyDAO 12 / 39
2-1-3-3 Régler la commande Le client choisit le prestataire financier et lui règle le montant la commande. <<entity>> Order, PaymentFacilitator <<boundary>> OrderUI <<control>> OrderService <<lifecycle>> OrderDAO, PaymentFacilitatorDAO 13 / 39
2-1-3-4 Effectuer une commande : description des classes 14 / 39
2-2 Le gérant 2-2-1 La gestion des catégories 2-2-1-1 Ajouter une catégorie Le gérant ajoute une catégorie de produits. <<entity>> Category <<boundary>> CategoryUI <<control>> CategoryService <<lifecycle>> CategoryDAO 15 / 39
2-2-1-2 Ajouter une sous-catégorie Le gérant ajoute à une sous-catégorie une catégorie de produits. <<entity>> Category <<boundary>> CategoryUI <<control>> CategoryService <<lifecycle>> CategoryDAO 16 / 39
2-2-1-3 Modifier une catégorie Permet au gérant de sélectionner une catégorie et d'en modifier les caractéristiques. <<entity>> Category <<boundary>> CategoryUI <<control>> CategoryService <<lifecycle>> CategoryDAO 17 / 39
2-2-1-4 Supprimer une catégorie Le gérant supprime une catégorie si celle-ci ne comporte plus de sous-catégories ou de produits. <<entity>> Category <<boundary>> CategoryUI <<control>> CategoryService <<lifecycle>> CategoryDAO 18 / 39
2-2-1-5 La gestion des catégories : description des classes 19 / 39
2-2-2 La gestion des produits 2-2-2-1 Ajouter un produit Permet d'ajouter un produit dans une catégorie. <<entity>> Category, Product <<boundary>> CategoryUI, ProductUI <<control>> CategoryService, ProductService <<lifecycle>> CategoryDAO, ProductDAO 20 / 39
2-2-2-2 Modifier un produit Permet de modifier les caractéristiques d'un produit. Remarques : Ce cas est similaire à "Modifier une catégorie". Il ne sera donc pas développé ici : voir précédemment. 2-2-2-3 Supprimer un produit Le gérant supprime un produit. Remarques : Ce cas est similaire à "Supprimer une catégorie" : Il ne sera donc pas développé ici : voir précédemment. 2-2-2-4 La gestion des produits : description des classes 21 / 39
2-2-3 La gestion des références 2-2-3-1 Ajouter une référence Le gérant ajoute une référence à un produit. <<entity>> Product, Reference <<boundary>> ProductUI, ReferenceUI <<control>> ProductService, ReferenceService <<lifecycle>> ProductDAO, ReferenceDAO 22 / 39
2-2-3-2 Créer un lot de références Permet au gérant de rassembler dans un lot certaines références d'un produit. <<entity>> Product, Reference <<boundary>> ProductUI, ReferenceUI <<control>> ProductService, ReferenceService <<lifecycle>> ProductDAO, ReferenceDAO 23 / 39
2-2-3-3 Modifier une référence Permet au gérant de modifier une référence. Remarques : Ce cas est similaire à "Modifier une catégorie", traité précédemment. 2-2-3-4 Supprimer une référence Supprime une référence d'un produit. Remarques : Ce cas est similaire à "Supprimer une catégorie", traité précédemment. 2-2-3-5 La gestion des références : description des classes 24 / 39
2-2-4 La gestion des inscrits à la newsletter 2-2-4-1 Afficher la liste des inscrits Le gérant souhaite consulter les informations liées aux inscriptions à la newsletter. <<entity>> Subscriber <<boundary>> SubscriberUI <<control>> SubscriberService <<lifecycle>> SubscriberDAO 25 / 39
2-2-4-2 Ajouter une inscription Le gérant souhaite ajouter un inscrit à la newsletter. <<entity>> Subscriber <<boundary>> SubscriberUI <<control>> SubscriberService <<lifecycle>> SubscriberDAO 26 / 39
2-2-4-3 Modifier une inscription Permet de modifier l'adresse e-mail ou valider une inscription. <<entity>> Subscriber <<boundary>> SubscriberUI <<control>> SubscriberService <<lifecycle>> SubscriberDAO 27 / 39
2-2-4-4 Supprimer une inscription Le gérant supprime les données correspondantes à une inscription. <<entity>> Subscriber <<boundary>> SubscriberUI <<control>> SubscriberService <<lifecycle>> SubscriberDAO 2-3-4-5 la gestion des inscriptions : description des classes 28 / 39
2-2-5 La gestion de la newsletter 2-2-5-1 Mettre en ligne une actualité Envoyer la newsletter consiste pour le gérant à ajouter une actualité sur le site. <<entity>> News <<boundary>> NewsUI <<control>> LetterService <<lifecycle>> NewsDAO 29 / 39
2-2-5-2 Envoi de la newsletter Une fois par jour, si nécessaire, le système déclenche l'envoi de la newsletter et l'enregistre. <<entity>> Subscriber, News <<control>> LetterService <<lifecycle>> SubscriberDAO, NewsDAO 30 / 39
2-2-5-2 La gestion de la newsletter : description des classes 31 / 39
2-2-6 La gestion des e-mailings 2-2-6-1 Rédiger un e-mailing Le gérant choisit un modèle de mise en page et rédige un e-mailing. <<entity>> Emailing, EmailingTmplt <<boundary>> EmailingUI <<control>> LetterService <<lifecycle>> EmailingDAO, EmailingTmpltDAO 32 / 39
2-2-6-2 Sélectionner un e-mailing Affiche un e-mailing. <<entity>> Emailing <<boundary>> EmailingUI <<control>> LetterService <<lifecycle>> EmailingDAO 33 / 39
2-2-6-3 Envoyer un e-mailing Permet au gérant d'envoyer un e-mailing. <<entity>> Subscriber, Customer <<boundary>> EmailingUI <<control>> LetterService <<lifecycle>> SubscriberDAO, CustomerDAO 34 / 39
2-2-6-4 La gestion des e-mailings : description des classes 35 / 39
3 Regroupement des classes 3-1 Groupe domaine : <<Entity>> 36 / 39
3-2 Groupe cycle de vie : <<Life Cycle>> 3-3 Groupe Service : <<Control>> 37 / 39
3-4 Groupe interface utilisateur et système : <<Boundary>> 38 / 39
Bibliographie Ouvrages C.T. Arrington, Enterprise Java with UML, John Wiley, 2001. Pierre-Alain Muller & Nathalie Gaertner, Modélisation objet avec UML, 2e édition, Eyrolles, 2000 Pascal Roques, UML 2 par la pratique, 5e édition, Eyrolles, 2006 Autre référence Cours Cnam GLG204, Modélisation des besoins avec UML, 2007/2008 39 / 39