analyse:usecase

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
analyse:usecase [2024/01/29 15:29] – [Extension] jcheronanalyse:usecase [2024/03/30 10:16] (Version actuelle) – [UC vs US] jcheron
Ligne 55: Ligne 55:
 Dans l'exemple suivant, le client aura la possibilité de vérifier la disponibilité des produits, au moment de passer sa commande. La vérification de disponibilité sera dans ce cas une extension possible du passage de commande. Dans l'exemple suivant, le client aura la possibilité de vérifier la disponibilité des produits, au moment de passer sa commande. La vérification de disponibilité sera dans ce cas une extension possible du passage de commande.
  
-{{:analyse:extend.png}} 
 <html><div class="imageB"></html> <html><div class="imageB"></html>
 <uml> <uml>
 @startuml @startuml
-(Vérifier la disponibilité) .> (Passer une commande) : <<extends>>+(Vérifier la disponibilité) .> (Passer une commande) : <<extend>>
 @enduml @enduml
 </uml> </uml>
Ligne 71: Ligne 70:
 L'inclusion est représentée par une flèche mentionnant le stéréotype **<<include>>** L'inclusion est représentée par une flèche mentionnant le stéréotype **<<include>>**
  
-{{:analyse:include.png}}+<html><div class="imageB"></html> 
 +<uml> 
 +@startuml 
 +(Passer une commande) .left.> (Sélectionner produit) <<include>> 
 +@enduml 
 +</uml> 
 +<html></div></html>
  
 ==== Généralisation ==== ==== Généralisation ====
 +=== Entre cas ===
 +
  
 La généralisation permet de mettre en oeuvre l'héritage entre cas d'utilisation. On dira qu'un cas A généralise un autre cas B, à condition que B soit un cas particulier (spécifique) de A. La généralisation permet de mettre en oeuvre l'héritage entre cas d'utilisation. On dira qu'un cas A généralise un autre cas B, à condition que B soit un cas particulier (spécifique) de A.
  
-Dans l'exemple suivant, la **gestion de module client**, et la **gestion de module facturation** sont des cas particuliers de g**estion de module**.+Dans l'exemple suivant, le use case **Passer une commande fournisseur** est un cas particuliers de **Passer une commande**.
  
-{{:analyse:generalization.png}}+<html><div class="imageB"></html> 
 +<uml> 
 +@startuml 
 +(Passer une commande fournisseur) -|> (Passer une commande) 
 +@enduml 
 +</uml> 
 +<html></div></html> 
 + 
 +=== Entre acteurs === 
 +La généralisation peut également être utilisée entre acteur. Elle est utilisable lorsqu'il existe un héritage des rôles, et permet de montrer qu'un acteur hérite de l'accès aux fonctionnalités d'un autre. 
 + 
 +<html><div class="imageB"></html> 
 +<uml> 
 +@startuml 
 +:Client:-up--|>:Guest: 
 +:Guest->(Consulter un produit) 
 +@enduml 
 +</uml> 
 +<html></div></html> 
 + 
 +Le Client hérite de Guest, et peut lui aussi consulter un produit.
  
 ==== Regroupements ==== ==== Regroupements ====
 +Les packages permettent de regrouper un ensemble de cas d'utilisation ou d'acteurs.
  
 +<html><div class="imageB"></html>
 +<uml>
 +@startuml
 +left to right direction
 +actor Guest as g
 +package Professional {
 +  actor Chef as c
 +  actor "Food Critic" as fc
 +}
 +package Restaurant {
 +  usecase "Eat Food" as UC1
 +  usecase "Pay for Food" as UC2
 +  usecase "Drink" as UC3
 +  usecase "Review" as UC4
 +}
 +fc --> UC4
 +g --> UC1
 +g --> UC2
 +g --> UC3
 +@enduml
 +</uml>
 +<html></div></html>
 +
 +==== Généricité ====
 +
 +La généricité peut être utilisée lorsqu'un ensemble de cas d'utilisation permettent de manipuler des instances de classe différentes, correspondant donc à des fonctionnalités différentes.
 +<html><div class="imageB"></html>
 +<uml>
 +@startuml
 +left to right direction
 +package Gestion<Element>{
 +  usecase "Lister Elements" as UC1
 +  usecase "Modifier un Element" as UC2
 +  usecase "Supprimer un Element" as UC3
 +  usecase "Ajouter un Element" as UC4
 +  usecase "Afficher un Element" as UC5
 +}
 +UC1-->UC3: <<include>>
 +UC2-->UC1: <<extend>>
 +UC4-->UC1: <<extend>>
 +UC5-->UC1: <<extend>>
 +@enduml
 +</uml>
 +<html></div></html>
 ===== Méthodologie ===== ===== Méthodologie =====
  
Ligne 90: Ligne 162:
   - Recherche des liens entre cas d'utilisation   - Recherche des liens entre cas d'utilisation
   - Représentation du diagramme des cas d'utilisation   - Représentation du diagramme des cas d'utilisation
 +
 +===== UC vs US =====
 +
 +Un cas d'utilisation UC correspond à une utilisation du logiciel, il doit permettre d'obtenir un résultat.
 +
 +Ce résultat sera parfois obtenu à partir de plusieurs manipulations de l'utilisateur pouvant correspondre à des US (histoires d'utilisateur).
 +
 +Une UC peut donc correspondre à une série d'US. Dans l'analyse par les US, le grain est plus fin que dans l'analyse par les UC.
 +
 +Les US facilitent une approche AGILE dans la mesure où le travail à effectué sera plus détaillé, et moins conséquent pour chacune des tâches fonctionnelles à mettre en oeuvre.
 +
 +===== Liens =====
 +
 +  * [[https://www.cybermedian.com/fr/what-is-a-use-case-in-uml-use-case-modeling/|cas d’utilisation en UML]]
 +
 +
  • analyse/usecase.1706538594.txt.gz
  • Dernière modification : il y a 15 mois
  • de jcheron