| Use Case | A textual description
of user interaction with a system process
|
| Scenario | A specific instance of a use case |
| Actor | External agent that interacts with the system |
| Requirements specification | Document describing the functions & attributes of a software system |
2) What are the "real world" objects in the problem domain
and
what are the relevant associations
among them?
3) What objects are needed for each use case?
4) How do the objects work together to complete each use
case goal?
2) High degree of trace-ability -- Always refer back to requirements (user needs)
3) Streamlined usage of the UML -- minimalist approach .
for
| Source | Activity |
| Documents | Review requirement specifications |
| Domain Experts | Interview Experts |
| Actors | Identify the processes they use |
| Events the domain responds to | Identify the actors and corresponding use cases |
Identify who
For each actor identified, determine
Describes a process in terms of
| Typical Course of Events: ATM Withdraw Cash (Real Description) | |
| Actor Actions: | System Response: |
| 1) The Customer inserts their card | 2) Prompts for PIN |
| 3) Enters PIN on keypad | 4) Displays options menu |
| Typical Course of Events: Item Checkout (Real Description) | |
| Actor Actions: | System Response: |
| 1) For each item, the Cashier types in the UPC in the UPC input field of Window1. Then press the "Enter Item" button with the mouse or press the <Enter> Key. | 2) Displays
the item price and adds the item information to the running sales transaction.
The description and price of the current item are displayed in Textbox 2 of Window1. |
Create real use cases during the design phase.
Describes a process abstractly in terms of its
| Typical Course of Events: ATM Withdraw Cash (Essential Description) | |
| Actor Actions: | System Response: |
| 1) The Customer identifies themselves | 2) Presents options |
| Typical Course of Events: Item Checkout (Essential Description) | |
| Actor Actions: | System Response: |
| 1) The Cashier
records the identifier from each item
If there is more than one of the same item, the Cashier can enter the quantity as well |
2) Determines
the item price and adds the item information to the running sales transaction.
The description and price of the current item are presented. |
| Alternative Sequences -- Buy Items with Cash | ||
| Line Number | Cause | Response |
| Line 2 | Invalid identifier entered | Indicate error |
| Line 7 | Customer didn't have enough cash. | Cancel Sales transaction. |
| Typical Course of Events: Buy Items | |
| Actor Actions: | System Response: |
| 1) (steps skipped ...) | |
2) Customer
chooses payment type, if payment type is
|
|
| 3) Logs
the completed sale
4) Prints a receipt |
|
| Section: | Pay By Cash |
| Typical Course of Events | |
| Actor Actions: | System Response: |
| 1) The Customer gives a cash payment -- the "cash tendered" -- possibly greater than the sale total. | |
| 2) The Cashier records the cash tendered | 3) Shows the balance due the Customer |
| 4) The Cashier deposits the cash received and extracts the balance owning to give to the Customer. |
a use case is incomplete and will not work unless it includes or uses the behavior of another use case (dependency relationship).
The <<include>> use case
| Typical Course of Events: Buy Items (Text example of Uses/includes) | |
| Actor Actions: | System Response: |
| 1) (steps skipped ...) | |
2) Customer
chooses payment type, if payment type is
|
|
| Typical Course of Events: Buy Items (Text example of Uses/includes) | |
| Actor Actions: | System Response: |
| 1) (steps skipped ...) | |
| 12) (delivery address option) The Customer leaves with the items purchased. | |
Precedes -- use cases must be ordered in a logical sequence -- stereotype <<precedes>>
The generalization relationship is illustrated in 16-5 (B) p227
a. Impact on the architectural design
b. Information and insight regarding the design
c Risky, time-critical, or complex functions
d. New or risky technology.
e. Represent line-of-business processes
f. Directly support increased revenue or decreased costs.
| Use Case | a | b | c | d | e | f | Sum |
| Buy Items | 5 | 3 | 2 | 0 | 5 | 3 | 18 |
| Add New Users | 3 | 3 | 2 | 0 | 2 | 2 | 12 |
| Start Up | 3 | 2 | 2 | 0 | 2 | 2 | 11 |
| Rank | Use Case | Justification |
| High | Buy Items | Scores on most increased ranking criteria. |
| Medium | Add New Users
Log In Refund Items |
Affects security subdomain
Affects security subdomain Important process; affects accounting |
| Low | Cash Out
Start Up Shut Down |
Minimal effect on architecture
Definition is dependent on other use cases Minimal effect on architecture. |
| Use Case: | Buy Items (L) pp. 67-68 |
| Simplify & Constrain the Typical Course of Events: | |
| Actor Actions: | System Response: |
| 1) This Use case starts when a Customer arrives at POST with items to purchase. | |
| 2) The Cashier
records each item.
If there is more than one of an item, the Cashier can enter the quantity as well |
3) Determines
the item price and adds the item information to the running sales transaction.
Show description and price of the current item |
| 4) On completion of item entry, the Cashier indicates to the POST that item entry is complete. | 5) Calculates and presents the sale total. |
| 6) The Cashier tells the customer the total | |
7) The Customer
chooses payment type:
|
8) Logs the completed
sale
9) Updates inventory levels 10) Generates a receipt |
| 11) The Cashier gives the receipt to the Customer | |
| 12) The Customer leaves with the items purchased. | |
Domain modeling is the task of discovering objects that represent those things or concepts. The domain model serves as a glossary of terms.
or it can be done concurrently with the definition of
Use cases
"Our reality consists of those concepts that we possess and those things, or objects, to which our concepts apply." James J. Odell
When a concept has a clear definition (intension), the definition can be
tested against other objects to see if they belong to the same class (extension).
The intension and extension of a concept can be referred to symbolically by a name and/or graphic representation i.e. musical instrument.
Concepts can be represented by symbols. ie. Musical Instrument
How
to knowledgeably buy an object that has not been seen?
Need specifications
-- a description of the object .