Conseils pour scinder un processus impliquant plusieurs acteurs en cas d'utilisation

StackOverflow https://stackoverflow.com/questions/161027

  •  03-07-2019
  •  | 
  •  

Question

Supposons que je modélise un processus impliquant une conversation ou un échange entre deux acteurs. Pour cet exemple, je vais utiliser quelque chose de facilement compréhensible: -

  1. Le fournisseur crée une liste de prix,
  2. L'acheteur choisit certains articles à acheter et envoie un bon de commande,
  3. Le fournisseur reçoit le bon de commande et envoie les marchandises.
  4. Le fournisseur envoie une facture
  5. L'acheteur reçoit la facture et effectue un paiement

Bien sûr, chacune de ces étapes pourrait être compliquée rapidement. Comment diviseriez-vous cela en cas d'utilisation dans votre document d'exigences?

Si ce processus était traité comme un cas d'utilisation unique, il pourrait remplir un livre.

Sinon, créer un cas d'utilisation pour chacune des étapes ci-dessus masquerait certaines des interactions et des flux essentiels devant être capturés. Est-il judicieux d’avoir un cas d’utilisation commençant par " Reçu un bon de commande " et se termine à " Envoyer une facture " et puis une autre qui commence à "Recevoir une facture". et se termine à "Effectue un paiement"?

Un conseil?

Était-ce utile?

La solution

En général, je commence à créer un cas d'utilisation UML et des diagrammes d'activité de haut niveau pour le processus. Ne vous embêtez pas sur les détails, donnez-lui votre meilleur coup.

Lorsque vous aurez un brouillon, vous verrez presque immédiatement comment il pourrait être amélioré. Vous pouvez ensuite continuer à la refactoriser - à réduire le cas d'utilisation, à structurer de grandes activités, etc. Sinon, vous pouvez regrouper quelques cas d'utilisation s'ils sont trop petits.

Sans connaître les détails de votre projet, j’aimerais simplement faire de chaque étape un cas d’utilisation distinct. Elles semblent toutes être autonomes et pourraient être décrites sans aucune référence croisée. Si vous trouvez des dépendances, vous pouvez toujours repenser l’approche.

Pensez également à utiliser les blocs "extend" et "include" pour les éléments communs tels que la journalisation, la sécurité, etc.

Autres conseils

Oui, les possibilités sont nombreuses. Dans votre exemple ci-dessus, il pourrait être encore plus compliqué par le fait que l'acheteur effectue plusieurs paiements partiels pour payer la facture.

Vous devez probablement créer des cas d'utilisation complets du flux de travail. Le fractionnement de chacune des étapes ci-dessus dans leurs propres cas d'utilisation peut ne pas s'avérer utile, car certaines étapes auront déjà été effectuées. poster des conditions.

Je travaille sur le code source de QuickBooks et le nombre de façons dont une transaction peut transiter dans le système est décourageant. Il est presque impossible pour nos responsables de l'assurance qualité de tester chaque combinaison.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top