- From: Mark Hapner <mark.hapner@sun.com>
- Date: Thu, 06 Jun 2002 14:59:45 -0700
- To: ws-arch-public <www-ws-arch@w3.org>
During a discussion in the use case subgroup several 'definitions' of use case terminology were quoted. Dave asked them to be posted. Here is mine. The following is quoted from UML Distilled by Martin Fowler ... So, what is a use case? I won't answer this question head-on. Instead, I'll sneak up on it from behind by first describing a scenario. A scenario is a sequence of steps describing an interaction between a user and a system. So if we have a Web-based on-line store, we might have a Buy Poduct scenario that would say this: "The customer browses the catalog and adds desired items to the shopping basket. When the customer wishes to pay, the customer describes the shipping and credit card informations and confirms the sale. The system checks the authorization on the credit card and confirms the sale both immediately and with a follow-up email." This scenario is one thing that can happen. However, the credit card authorization might fail. This would be a separate scenario. A 'use case', then is a set of scenarios tied together by a common user goal. In the current situation, you have a Buy a Product use case with the successful purchase and the authorization failure as two of the use case's scenarios. ... Use Case Relationships Use 'include' when you are repeating yourself in two or more separate use cases and you want to avoid repetition. Use 'generalization' when you are describing a variation on normal behavior and you wish to describe it casually. (my note - this is essentially taking a scenario and elevating it to its own use case without declaring formal extension points in the use case.) Use 'extend' when your are describing a variation on normal behavior and you wish to use the more controlled form, declaring your extension points in your base use case.
Received on Thursday, 6 June 2002 17:59:46 UTC