Vous êtes sur la page 1sur 9

Correction de lEtude de Cas Gestion des Commandes de Pices fabriques par la Socit C

Enonc : La socit C fabrique des pices mtalliques ralises dans son atelier. La socit C est en relation commerciale uniquement avec des clients rguliers. Les factures sont mensualises : toutes les commandes dun client dans le mois sont factures la fin du mois. A la rception dune commande, le secrtariat de la socit C dite un bon de fabrication quelle transmet latelier (un double de ce bon de fabrication est envoy au client). Une fois la pice fabrique, latelier complte le bon de fabrication et le transmet au secrtariat qui enregistre la date de fin de fabrication et informe le client que sa pice est disponible latelier. A la fin du mois, les factures sont dites. Une facture est dite pour chaque client ayant effectu une commande dans le mois. Si une facture nest pas paye dans le dlai de 10 jours ouvrables alors une lettre de relance est envoye au client : tant quil naura pas pay sa facture aucune de ses commandes ne sera acceptes : chaque fois quil effectuera une commande, une lettre de refus de commande lui sera envoy. Une facture paye est archive 10 ans et ensuite dtruite. Hypothse : nous considrons que tous les paiements sont corrects : un client paye le total factur ou il nenvoie pas de rglement. Hors Contexte : lenregistrement de nouveau client est hors contexte. Travail Faire : 1. Etablir le Diagramme de Classe 2. Etablir le Diagramme de Cas dUtilisation 3. Etablir le Diagramme de squence (Enregistrer une commande) 4. Etablir le Diagramme de squence (Refuser une commande) 5. Etablir le Diagramme de squence (Enregistrer la fin de la ralisation dune pice) 6. Etablir le Diagramme de squence (Edition dune facture) 7. Etablir le Diagramme de squence (Relancer un client qui na pas pay une facture) 8. Etablir le Diagramme de squence (Enregistrer un paiement) 9. Etablir le diagramme Etat/Transition de la classe COMMANDE 10. Etablir le diagramme Etat/Transition de la classe FACTURE 11. Etablir le diagramme Etat/Transition de la classe CLIENT

Plus dexercices chez : www.exercicegratuit.com


1

Le diagramme de classe est :

COMMANDE - num_cmd : Integer - date_cmd : Date - desc_piece : String - prix_cmd : Currency - date_realisation : Date = NULL + nv_cmd() + ARR_bon_fab_complet() 0..* facturation

FACTURE - num-fact : Integer - /prix_fact : Currency 1..* - date_fact : Date - date_relance : Date = NULL - date_paiement : Date = NULL

0..*

+ dde_fact () + ARR_paiement() + ARR_date_relance() + ARR_fin_archivage() 0..*

cmd

paiement 1..1 CLIENT - num_clt : Integer - nom_clt : String - adr_clt : String - etat_clt : String + ARR_cmd() + a_payer() + est_debiteur() + ARR_fin_mois() 1..1

La signature des oprations : ARR_cmd (desc_piece : String, prix_cmd : Currency) : Void a_payer () : Void est_debiteur () : Void ARR_fin_mois () : Void nv_cmd (clt :CLIENT, desc_piece : String, prix_cmd : Currency): Void ARR_bon_fab_complet (date_realisation : Date) : Void dde_fact (clt : CLIENT, {cmd : COMMANDE}) : Void ARR_paiement (somme_payee : Currency) : Void ARR_date_relance () : Void ARR_fin_archivage () : Void

Plus dexercices chez : www.exercicegratuit.com


2

Le diagramme des cas dutilisation

Gestion des commandes de pices fabriques par la socit C Client facture_env relance_env refus_cmd_env info_piece_env double_bon_fab_env Horloge dde_temporisation_env

Atelier bon_fab_env

Plus dexercices chez : www.exercicegratuit.com


3

Le diagramme de squence Enregistrer une commande :

:CLIENT :Client ARR_cmd nv_cmd

:COMMANDE

:Atelier

bon_fab_env

double_bon_fab_env

Le diagramme de squence Refuser une commande :

:CLIENT :Client ARR_cmd

refus_cmd_env

Plus dexercices chez : www.exercicegratuit.com

Le diagramme de squence Enregistrer la fin de la ralisation dune pice :

:COMMANDE :Atelier ARR_bon_fab_complet info_piece_env :Client

Le diagramme de squence Edition dune facture :

:CLIENT :Horloge ARR_fin_mois dde_fact dde_temporisation_env

:FACTURE :Client

facture_env

dde_temporisation_env oyee

Le diagramme de squence Vrifier quun client na pas fait de commande durant le prcdent mois : :CLIENT :Horloge ARR_fin_mois

dde_temporisation_env

Plus dexercices chez : www.exercicegratuit.com

Le diagramme de squence Relancer un client qui na pas pay une facture :

:FACTURE

:CLIENT

:Horloge ARR_date_relance est_debiteur

:Client

relance_env

Le diagramme de squence Enregistrer un paiement :

:FACTURE :Client ARR_paiement a_payer

:CLIENT :Horloge

dde_temporisation_env oyee

Le diagramme de squence Dtruire une facture : :FACTURE :Horloge ARR_fin_archivage X

Plus dexercices chez : www.exercicegratuit.com


6

Le diagramme Etat/Transition de la classe COMMANDE :

1. enregistre nv_cmd entry : crer inst COMMANDE (dans la BD) entry : calculer et maj num_cmd (dans la BD) entry : maj date_cmd, desc_piece, prix_cmd (dans la BD) entry : ^bon_fab_env [Atelier] entry : ^double_bon_fab_env [Client]

ARR_bon_fab_complet

2. ralise entry : maj date_realisation (dans la BD) entry : ^info_piece_env [Client]

Plus dexercices chez : www.exercicegratuit.com


7

Le diagramme Etat/Transition de la classe FACTURE :

1. enregistre dde_fact entry : crer inst FACTURE (dans la BD) entry : calculer et maj num_fact (dans la BD) entry : maj date_fact, prix_fact (dans la BD) entry : ^facture_env [Client] entry :^dde_temporisation_env [Horloge]

ARR_date_relance

2. impaye entry : maj date_relance entry : ^relance_env [Client] entry :^ est_debiteur [CLIENT]

ARR_paiement

3. paye ARR_paiement entry : maj date_paiement entry : ^a_payer [CLIENT] entry : ^dde_temporisation_env [Horloge] on ARR_fin_archivage : dtruire inst liens facturation, paiement (dans la BD) on ARR_fin_archivage : dtruire inst FACTURE (dans la BD) on ARR_fin_archivage : ^a_detruire [lui-mme : FACTURE]

a_detruire

Plus dexercices chez : www.exercicegratuit.com


8

Le diagramme Etat/Transition de la classe CLIENT :

1. en cours entry : maj etat_clt on ARR_cmd : ^nv_cmd [-crer:COMMANDE] on ARR_fin_mois : sil existe des commandes du client dont la date_cmd est du mois courant (consultation de la BD) alors ^dde_fact [-crer :FACTURE] on ARR_fin_mois : ^dde_temporisation_env [Horloge]

est_debiteur

est_a_jour

2. dbiteur entry : maj etat_clt on ARR_cmd : ^refus_cmd_env [Client] on ARR_fin_mois sil existe des commandes du client dont la date_cmd est du mois courant (consultation de la BD) alors ^dde_fact [-crer :FACTURE] on ARR_fin_mois : ^dde_temporisation-env [Horloge] on a_payer : si toutes les factures du clients sont payes (consultation la BD) alors est_a_jour [lui-mme : CLIENT]

Plus dexercices chez : www.exercicegratuit.com


9