Académique Documents
Professionnel Documents
Culture Documents
Uml 2003
Uml 2003
Prsentation base sur un exemple simple : mise en oeuvre d'un logiciel interactif permettant la tenue du des comptes d'un petit commerant (mtaphore du livre de compte du commerant qui doit rester cohrent avec l'argent qui se trouve rellement en caisse).
1.
1.1
L'Acteur Mtier est EXTERNE l'entreprise Le Travailleur Mtier appartient l'entreprise L'entit Mtier est manipule par le Travailleur Mtier
1.2
1.2.1
1.2.2
Modliser un processus : ensemble d'activits ordonnes et affectes des acteurs identifis. Couloirs d'activit : les activits associes un acteur dans une bande verticale.
A partir de la modlisation des processus mtier, on peut passer la modlisation fonctionnelle qui dcrira les tches informatises par slection de certaines activits mtier.
2.
Modlisation fonctionnelle
Mthodologie : 1. Identifier les acteurs, a. humains ou systmes connexes b. principaux ou secondaires 2. Etablir le diagramme de contexte statique 3. Identifier les cas d'utilisation (UC) 4. Description essentielle des UC a. textuellement b. graphiquement 5. Description relle des UC a. textuellement b. graphiquement
2.1
Acteurs
Entit externe : humain, dispositif ou autre systme. Un acteur peut consulter et/ou modifier l'tat du systme grce des messages porteurs de donnes envoys et/ou reus. 2.1.1
Acteurs humains : identifier tous les profils possibles (administrateur, oprateur de maintenance, etc.). o commerant, client Systmes connexes agissant par le biais de protocoles (bidirectionnels). o caisse enregistreuse actor Caisse enregistreuse
2.1.2
2.1.2.1
Description textuelle Client acteur secondaire ayant le commerant comme interlocuteur Caisse enregistreuse systme connexe contenant l'argent et imprimant les tickets destination des clients
Commerant personne habilite se servir de la caisse enregistreuse, disposant de la clef de la caisse et ayant un ID et un mot de passe reconnus par le systme 2.1.2.2
2.2
Ensemble de squences dactions ralises par le systme (comportement attendu considr comme un tout) et qui produit un rsultat voulu par un acteur. On cherche identifier un comportement (ce quil doit faire) et non la faon dont ce comportement sera mis en uvre (comment il le fait). 2.2.1
Dcrire toutes les exigences fonctionnelles du systme Un UC correspond une fonction mtier du systme selon le point de vue dun acteur. Comment les analyser ?
2.2.2
Recenser de faon textuelle toutes les interactions entre Acteurs et Systme. Prciser les variantes possibles : les diffrents cas nominaux, les alternatives, les cas derreur. 2.2.3 Comment les reprsenter ?
Description essentielle dtaille ou relle dtaille. Description textuelle : Parties obligatoires Sommaire didentification : titre, rsum, date de cration/modification, version, responsable, acteurs, etc. Description des scnarios : nominal, alternatifs, erreur, pr et post conditions Parties optionnelles IHM : contraintes dIHM (rgles dergonomie, charte graphique), copies dcran, maquette, etc. Contraintes non-fonctionnelles : frquence, disponibilit, fiabilit, performances, confidentialit, concurrence, etc.
Description graphique : Schma incluant des UC (ovales) relis aux acteurs par des associations (lignes) 2.2.3.1 Description essentielle dun UC
UC Annulation Sommaire didentification : Titre : Annulation Type : Essentiel Rsum : Annulation dune vente par un client qui sera rembours Acteurs : Commerant (principal) Caisse (secondaire) Date de cration : 24/11/03 Date de mise jour : 25/11/03 Version : 1.0 Responsable V. Gaildrat Description des scnarios : o Pr-conditions o Scnario nominal Commerant Systme 1) Saisie des donnes pour le remboursement 2) vrification que le remboursement correspond bien un achat 3) vrification du fond de caisse suffisant 6) Le commerant prlve la somme dans la 4) cration dune nouvelle ligne comptable caisse et la donne au client 5) acquittement pour le commerant o Enchanements alternatifs A1 : Saisie errone - enchanement au point 1 2) le remboursement ne correspond pas un achat effectu pralablement 3) chec du remboursement reprise au point 1 o Enchanements derreur E1 : Fonds insuffisants - enchanement au point 2 3) solde insuffisant 4) chec remboursement stopp anormalement o Post-conditions : la caisse contient moins dargent correspondant au montant du remboursement 2.2.3.2 Paragraphes optionnels dun UC
Besoins dIHM Ecran pour affichage du formulaire de saisie Clavier de saisie Caisse enregistreuse Contraintes non-fonctionnelles Temps de rponse Mono ou multi-utilisateurs 2.2.3.3 Un UC : Description graphique des UC
Diagramme systme enrichi permet de visualiser les principales actions du systme 2.2.4
Organisation des UC
Relations dinclusion (factorisation dun sous UC), dextension (incorporation dun comportement, obligatoire dans un autre cas mais optionnel ou rarement utilis dans le cas prsent), de gnralisation Acteurs principaux gauche, secondaires droite
Regroupement en packages
2.2.5
VENTE : Proposer une fentre graphique simple pour lIHM du commerant : (voir TP) 1) Description textuelle : Commerant 1)le client arrive et annonce les produits souhaits 2)saisie des donnes grce lIHM, validation 6)annonce du montant 7)le client paye 8)argent encaiss 10)ticket et consommation au client Systme 3) cre la ligne comptable 4) affiche le montant 5) crdite le solde 9)dite le ticket Caisse
3.
A partir des processus mtier on a dtermin les UC avec les alternatives et les erreurs. Les diagrammes de squence dtaills vont tre maintenant dvelopps afin de dterminer les classes du systme et leurs relations pour tablir le diagramme de classes.
Analyse
Conception
3.1 Strotypes (Jacobson)
: EntityName
: ControlName
: BoudaryName
3.2
Un diagramme de squence ou de collaboration par opration systme nominale, d'anomalie (reprise correcte) ou d'erreur (pas de reprise possible). McGood : - Package Gestion consommations o vente nominale anomalie lors de la saisie pas de stock vente annule o remboursement nominale anomalie lors de la saisie pas de vente correspondante annulation du remboursement - Package Gestion caisse o prlvement nominal anomalie d'identification anomalie de saisie : montant > solde erreur d'identification erreur de saisie : montant > solde annulation du prlvement o versement nominal anomalie d'identification anomalie de saisie : montant ngatif erreur d'identication erreur de saisie : montant ngatif
3.2.1
Prlvement
N'importe qui ne peut pas effectuer un prlvement dans la caisse. Pour vrifier le droit d'accs il faut introduire la gestion d'un mot de passe dans le formulaire de saisie. La transaction qui sera stocke sera un Dbit qui devra mmoriser la date, l'identification de la personne autorise ayant effectu le prlvement, le montant. 3.2.1.1
Compte qui permet de garder la trace de toutes les transactions effectues et non juste le solde de ces transactions, Dbit qui en est forme de transaction. Diagramme de squence
3.2.1.2
On n'a pas fait figurer ici les classes d'interface, juste pour allger
La vrification de la validit de la personne (nom + mot de passe) est dlgue au contrle "Identification".
Choix de conception : Le nom de la personne qui a effectu le prlvement est stock dans le Debit. Ce scnario concerne un prlvement nominal : pas d'erreur de saisie (personne autorise et mot de passe correct, ainsi qu'un montant infrieur 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. 3.2.2 Vente
On souhaite ajouter dans les comptes le fait qu'une vente a t effectue. Cela veut dire qu'il faudra ajouter une transaction de type Crdit. Question poser : Comment dfinir la transaction crdit : Faut-il crer 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).
3.2.2.1
Produit avec label et prix unitaire du Produit, SDDProduit qui regroupe tous les produits et va offrir un moyen de recherche la rfrence d'un Produit en particulier, Compte qui permet de garder la trace de toutes les transactions effectues et non juste le solde de ces
3.2.2.2
Choix de conception : Le solde est recalcul aprs toute modification, ajout ou suppression d'une transaction. Ici, aprs l'ajout d'un Crdit dans le Compte, le solde est recalcul. Une transaction Crdit est ajoute pour chaque type de Produit vendu.
3.2.3
Pour annuler la vente d'un produit il est possible de crer une ligne comptable dbitrice qui contient la date, le nom du produit, le prix unitaire, la quantit et le total. Cette possibilit n'est pas directement faisable avec la conception choisie car la ligne comptable dbitrice ne contient pas toutes ces informations. - Il faudrait ajouter une classe hritire de Dbit qui contienne toutes les informations ncessaires.
Ou bien reprendre la classe Crdit pour la rendre neutre ( ni crditrice, ni dbitrice) et faire hriter cette classe de deux classes une Crditrice et une Dbitrice. - Ou bien crer une nouvelle classe LigneComptable et placer dedans les attributs ncessaires la cration d'un Crdit ou d'un Dbit, de faon ce que seule l'opration de solde soit diffrente selon que l'on ait affaire un Crdit ou un Dbit. Ainsi on cre un Dbit qui annule seulement l'effet du Crdit. - Une autre solution est de faire une classe LigneComptable et de faire deux sous-classes : une sous-classe LigneComptablePersonne (qui correspond aux prlvements et versements) et une LigneComptableProduit (qui correspond aux ventes et annulations).
-
3.2.3.1
C'est le contrle Identification qui effectue la vrification du mot de passe et du solde. Puis le contrle Prlvement assure la continuit du flot de donnes en fournissant les informations ncessaires (et valides) au Compte pour qu'il puisse ajouter une transaction de Dbit. 3.2.3.2 Annulation vente produit
Choix de conception : On considre qu'on peut annuler la saisie de la vente de plusieurs produits la fois (pour conserver un modle d'interface proche de celle de la saisie). Il serait peut-tre plus judicieux d'annuler la vente d'un seul produit la fois. La gestion des erreurs en sera simplifie. Ici, tous les produits annuls ont bien t vendus et font donc partie des transactions Crdit stockes dans Comptes. Si la quantit annuler est suprieure ce qui a t vendu : soit on invalide la transaction, soit on accepte d'annuler concurrence de ce qui a t rellement vendu.
4.
4.1
Modlisation dynamique
Diagrammes dtat
Un diagramme dcrit les changements dtat dune instance dune classe : un diagramme pour une classe. Seulement pour les classes pour lesquelles ce diagramme est significatif.
5.
5.1
Modlisation statique
Diagramme de classes
Les diagrammes de classe partiels sont tablis au fur et mesure de l'tablissement des diagrammes de squence. Ensuite on regroupe le tout pour crer un diagramme de classes complet. Question : La transaction Crdit doit-elle stocker la rfrence 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 plutt pour cette deuxime solution : le comptable n'a rien faire de la rfrence 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 possibilits envisageables, titre d'exemple