McGood Mastère 2004 1
McGood Une petite entreprise familiale de restauration rapide, avec des produits de terroir (McGood), voudrait cesser de tenir sa comptabilité à la main (écriture des opérations comptables dans un cahier) car c est une source d erreurs permanente. Les enfants de la famille qui ont suivi un enseignement d informatique sont chargés de concevoir un système simple permettant une gestion informatisée de la comptabilité calquée sur le modèle de celle effectuée manuellement. 1. Modélisation métier Le commerçant effectue quatre tâches principales : vente d un produit ; remboursement d un produit dont on annule la vente ; versement d argent en caisse ; retrait d argent de la caisse. 1.1 Diagrammes d'activité pour modéliser un processus métier Vente d un produit à un client Identification des acteurs métiers : Acteurs humains : Client, Commerçant. Système externe : Caisse enregistreuse?? plutôt un élément d interface commandé par le logiciel. Client Commerçant achat instruire achat [Pas de stock] [stock] remplir ligne comptable prendre concommations préparer concommations encaisser Mastère 2004 2
Client Commerçant Commerçant annulation instruire remboursement instruire prélèvement [Pas d'achat] [Pas de fond mot de passe nok 3x] [mdp nok 1x ou 2x] [achat] remplir ligne comptable [ok] remplir ligne comptable empocher prélever i i prélever i i 2. Modélisation fonctionnelle 2.1 Acteurs 2.1.1 Identifier les acteurs Acteurs humains : o commerçant (principal), client (secondaire) La caisse enregistreuse n est pas un acteur mais plutôt un élément d interface du système car faisant partie entière du système. Description textuelle Commerçant Client personne habilitée à se servir de la caisse enregistreuse, personne n'interagissant pas directement avec disposant de la clef de la caisse et ayant un ID et un mot le système mais ayant le commerçant comme de passe reconnus par le système interlocuteur Mastère 2004 3
2.1.2 Diagramme de contexte statique 2.2 Cas d utilisation 2.2.1 UC «Vente» Figure 1 : UC Préliminaire Figure 2 : UC Détaillé Vente d'un produit 2.2.1.1 Description essentielle de l UC «Vente» Commerçant Système 1) nouvelle vente 1.1) fenêtre de saisie de vente 2) saisie des données, validation 2.1) valide la vente 2.2) affiche le montant 3) validation 3.1) création opération comptable vente 3.2) ouvrir caisse 4) fermeture fenêtre saisie vente 3.1) fermer caisse 3.2) retour fenêtre accueil Mastère 2004 4
o Enchaînements alternatifs A1 : Validation vente impossible : Erreur de saisie de produits vendus - enchaînement démarre au point 2.1 2) saisie des données, validation 2.1) valide la vente 2.2) affiche message d'erreur reprise en 2) o Enchaînements d erreur E1 : Abandon - enchaînement au point 1.1 1) nouvelle vente 1.1) fenêtre de saisie de vente 2) abandon par fermeture fenêtre de saisie vente 2.1)retour à l accueil E2 : Abandon - enchaînement au point 2.2 2)saisie des données, validation 2.1) valide la vente 2.2) affiche le montant 3) abandon par fermeture fenêtre de saisie vente 3.1)retour à l accueil E3 : Abandon - enchaînement au point 3.2 3) validation 3.1) création opération comptable vente 3.2) ouvrir caisse 4) abandon par fermeture fenêtre de saisie vente 4.1)retour à l accueil 2.2.1.2 Description graphique de l UC Mastère 2004 5
2.2.2 UC Annulation Figure 3 : UC Détaillé Annulation vente d'un produit 2.2.2.1 Description essentielle de l UC annulation Sommaire d'identification Partie obligatoire Titre Résumé Acteurs Date de création : 24/11/03 Version : 1.2 Annulation vente Annulation d une vente par un client qui sera remboursé Commerçant (principal), Caisse (secondaire) Date de mise à jour : 07/03/04 Responsable : V. Gaildrat Description des scénarios : o Pré-conditions : identification effectuée avant la première opération o Scénario nominal Commerçant Système 1) demande d annulation de vente 1.1) affichage fenêtre de saisie d annulation 2) tape identification de la vente et le nom du 2.1) recherche de la vente et du produit produit 2.2) affichage du montant à rembourser 3) valide 3.1) ajout d une opération comptable «annulation» 3.2) ouverture de la caisse 4) fermeture fenêtre de saisie d annulation 4.1) fermeture de la caisse 4.2) retour à l accueil o Enchaînements alternatifs A1 : Vente non trouvée - enchaînement démarre au point 2.1 2) tape identification de la vente et le nom du produit 2.1) recherche de la vente et du produit 2.2) vente non trouvée 2.3) affichage d un message d erreur reprise en 2) A2 : Produit non trouvé - enchaînement démarre au point 2.1 2) tape identification de la vente et le nom du 2.1) recherche de la vente et du produit produit 2.2) produit non trouvé 2.3) affichage d un message d erreur reprise en 2) o Enchaînements d erreur E1 : Abandon - enchaînement au point 1.1 Mastère 2004 6
1) demande d annulation de vente 1.1) affichage fenêtre de saisie d annulation 2) abandon par fermeture fenêtre de saisie 2.1) retour à l accueil d annulation E1 : Abandon - enchaînement au point 2.2 2) tape identification de la vente et le nom du 2.1) recherche de la vente et du produit produit 2.2) affichage du montant à rembourser 3) abandon par fermeture fenêtre de saisie 3.1) retour à l accueil d annulation o Post-conditions : la caisse contient moins d argent correspondant au montant du remboursement Partie optionnelle : Besoins d'ihm Dispositifs Fenêtre saisie d annulation Fenêtre d accueil Caisse Contraintes non fonctionnelles Contraintes Temps de réponse Accès concurrent Disponibilité Intégrité Descriptif affiche le formulaire de saisie d annulation affiche la page d accueil peut être ouverte ou fermée par le système Descriptif temps de réaction : 2s max mono-utilisateur pendant les heures d ouverture du commerce fiabilité normale (sauvegardes journalières) 2.2.2.2 Description graphique de l UC Figure 4 : Diagramme de séquence système détaillé Mastère 2004 7
Figure 5 : Diagramme d'activité de description d'uc Annulation de la vente d'un produit Mastère 2004 8
2.2.3 Organisation des UC 2.2.3.1 Regroupement en packages 3. Passage de l'analyse à la conception 3.1 Diagrammes d interaction de conception Un diagramme de séquence ou de collaboration par opération système nominale, d'anomalie (reprise correcte) ou d'erreur (pas de reprise possible). 3.1.1 Vente On souhaite ajouter dans les comptes le fait qu'une vente a été effectuée. Cela veut dire qu'il faudra ajouter une transaction de type Vente. Question à poser : Comment définir la transaction Vente : Faut-il créer une seule transaction pour toute une vente à un client ou ne vaut-il mieux pas établir une transaction pour chaque produit vendu (date, label, prix U, total). Mastère 2004 9
3.1.1.1 Diagramme de séquence Choix de conception : Le solde est recalculé après toute modification, ajout ou suppression d'une transaction. Ici, après l'ajout d'une Vente dans le Compte, le solde est recalculé. Une transaction Vente est ajoutée pour chaque type de Produit vendu. Mastère 2004 10
3.1.1.2 Diagramme de classes partiel correspondant 3.1.2 Annulation de la vente d un produit Pour annuler la vente d'un produit il est possible de créer une ligne comptable Annulation qui contient la date, le nom du produit, le prix unitaire, la quantité et le total. Une solution est de faire une classe LigneComptable et de faire deux sous-classes : une sous-classe LCPersonne (qui correspond aux prélèvements et versements) et une LCProduit (qui correspond aux ventes et annulations). Ici on considère le cas nominal : le produit annulé a bien été vendu et fait donc partie des transactions Vente stockées dans Comptes. La quantité remboursée est inférieure à la quantité notée dans la transaction Vente. 3.1.2.1 Diagramme de séquence del UC «Annulation vente d un produit» C'est le contrôle Identification qui effectue la vérification du mot de passe. Puis le contrôle ControlProduit assure la continuité du flot de données en fournissant les informations nécessaires (et validées) au Compte pour qu'il puisse ajouter une transaction de Annulation. Mastère 2004 11
Mastère 2004 12
3.1.2.2 Diagramme de classes correspondant 3.1.3 Prélèvement N'importe qui ne peut pas effectuer un prélèvement dans la caisse. Pour avoir le droit d'accès il faut s'être identifié au préalable. La transaction qui sera stockée devra mémoriser la date, l'identification de la personne autorisée ayant effectué le prélèvement et le montant. Le montant devra être inférieur au solde de la caisse. Mastère 2004 13
3.1.3.1 Diagramme de séquence détaillé La vérification de la validité de la personne (nom + mot de passe) est déléguée au contrôle "Identification". Choix de conception : Le nom de la personne qui a effectué le prélèvement est stocké dans le Prélèvement. Ce scénario concerne un prélèvement nominal : pas d'erreur de saisie (personne autorisée et mot de passe correct, ainsi qu'un montant inférieur au solde). Pour traiter les cas d'erreur et les anomalies, il faut faire un diagramme par cas d'erreur et en aucun cas surcharger le diagramme du cas nominal. Mastère 2004 14
3.1.3.2 Diagramme de classes partiel correspondant 4. Modélisation dynamique 4.1 Diagrammes d état Un diagramme décrit les changements d état d une instance d une classe : un diagramme pour une classe. Seulement pour les classes pour lesquelles ce diagramme est significatif. versement valeur caisse ajout en caisse vente solde supérieur à la caisse annulation ou prélèvement retrait en caisse solde inférieur à la caisse 5. Modélisation statique Diagramme d état pour la classe Compte 5.1 Diagramme de classes Les diagrammes de classe partiels sont établis au fur et à mesure de l'établissement des diagrammes de séquence. Ensuite on regroupe le tout pour créer un diagramme de classes complet. Mastère 2004 15
Question : La transaction Vente doit-elle stocker la référence du Produit vendu, ou seulement des informations qui permettraient de le retrouver. Dans l'optique de l'établissement d'un papier de comptabilité, on pencherait plutôt pour cette deuxième solution : le comptable n'a rien à faire de la référence du Produit. De plus, si le PU du Produit change, ce qui a été vendu ne doit pas changer! La solution fournie n'est qu'une des diverses possibilités envisageables, à titre d'exemple Mastère 2004 16
McGood... 1 1. Modélisation métier...2 1.1 Diagrammes d'activité pour modéliser un processus métier...2 2. Modélisation fonctionnelle...3 2.1 Acteurs...3 2.1.1 Identifier les acteurs...3 2.1.2 Diagramme de contexte statique...4 2.2 Cas d utilisation...4 2.2.1 UC «Vente»...4 2.2.1.1 Description essentielle de l UC «Vente»...4 2.2.1.2 Description graphique de l UC...5 2.2.2 UC Annulation...6 2.2.2.1 Description essentielle de l UC annulation...6 2.2.2.2 Description graphique de l UC...7 2.2.3 Organisation des UC...9 2.2.3.1 Regroupement en packages...9 3. Passage de l'analyse à la conception...9 3.1 Diagrammes d interaction de conception...9 3.1.1 Vente...9 3.1.1.1 Diagramme de séquence...10 3.1.1.2 Diagramme de classes partiel correspondant...11 3.1.2 Annulation de la vente d un produit...11 3.1.2.1 Diagramme de séquence del UC «Annulation vente d un produit»...11 3.1.2.2 Diagramme de classes correspondant...13 3.1.3 Prélèvement...13 3.1.3.1 Diagramme de séquence détaillé...14 3.1.3.2 Diagramme de classes partiel correspondant...15 4. Modélisation dynamique...15 4.1 Diagrammes d état...15 5. Modélisation statique...15 5.1 Diagramme de classes...15 Mastère 2004 17