Extending the Requirements Model - techniques for detailing use cases Use Case Descriptions - Chapter 5 pp: 119-124 Activity Diagrams - Chapter 5 pp: 125-126; and Chapter 2 pp 57-60 1 Where are we? Analysis Chapters Ch 2 Investigating System Requirements Ch 3 Use Cases Ch 4 Domain Modeling Ch 5 Extending the Requirements Model 2 Outline Describing Use Cases in more detail Use Case Descriptions (Ch 5) Activity Diagrams (Ch5 & Ch2) 3 Use Case Description Describes the details for a given use case Various levels of details − Brief (Ch 3) − Intermediate − Fully developed ATM System Withdraw cash Use Case Description (brief version) Actor inserts a bank card and PIN, and the system sends the account number and PIN number to the bank for verification. Actor enters a withdrawal amount, and the system requests the bank’s authorization, creates a transaction record, and dispensing cash. 4 Use Case Description – “Brief” Create Customer account Customer Use Case Description “Brief” 5 Use Case Description – “Fully Developed” Create Customer account Customer 6 Use Case Description – “Fully Developed” Use case name Scenario – e.g. Create Customer Account – unique path through this use case (Create Online Customer Account) Triggering event – external, temporal, state Brief description – summary of Flow of Activities Actors – actual user(s) Related use cases Stakeholders Preconditions – includes or extends – vested interest – any object/system that must be available before the use case Post conditions – objects/associations created/updated during the use case Flow of activities – actor and system swimlanes showing interactions Exception conditions – what prevents the use case from completing 7 UML's Activity Diagram 8 UML Activity Diagram a graphical representation of procedural flow Activities People, System(s) Flow Used to model 2 things − Entire Business Processes or Workflows (Ch 2) • Can be use for Business Process Modeling (BPM) − A Single Use Case (Ch 5) 9 Activity Diagram – Symbols Synchronization Bar Swimlane Used for concurrency Join Split/Fork contains activities performed by a single agent (actor, organizational unit) Output cannot execute until all inflows have been received Starting Activity Ending Activity Loop For each item in … Decision Activity/Action Transition/Activity Edge End for each item Merge [guard] [guard] 10 Activity Diagram – Issue a Quote Use this notation for decisions - i.e. include the [guards] [guard] [guard] 11 Forks, Joins, and Decisions Bad waiting for 4 activities to finish Good Merge! 12 Practice: Activity Diagram & Use Case Description Use Case Scenario for “Creating a New Sale for a Contractor (on credit)”. Quality Building Supply has two kinds of customers: contractors and the general public. Sales to each are slightly different. A contractor buys materials by taking them to the checkout desk for contractors. The clerk enters the contractor's name into the system. The system displays the contractor's information, including his/her current credit standing. The clerk then opens up a new ticket (sale) for the contractor. Next, the clerk scans in each item to be purchased. The system finds the price of the item and adds the item to the ticket. At the end of the purchase, the clerk indicates the end of the sale. The system compares the total amount against the contractor’s current credit limit, and if it is acceptable, finalizes the sale. The system creates an electronic ticket for the items, and the contractor’s credit limit is reduced by the amount of the sale. 13 Practice: Activity Diagram 14 Practice: Use Case Description Use case name Create a New Sale Scenario Creating a new sale for contractors (on credit) Triggering event Contractor wants to purchase items Brief description Contractor bring items to checkout desk. Clerk validates his account and credit limit. Clerk scan items. System looks up price, records items, and compares total to credit limit. The system creates a ticket with all items and reduces the credit limit. A ticket is printed upon request. Actors Clerk Related use cases None: includes or extends Stakeholders Sales clerk, Sale department, Accounting department Preconditions Account must exist; Inventory items must exist Post conditions Sale is created, Sale line items are created and connected to the sale. Account is updated, Inventory is reduced Flow of activities Actor System 1. Clerk enters customer name 1.1 System validates account 2. Clerk scans items 2.1 System creates a Sale 2.2 System looks up item 2.3 System adds item to Sale 3. Clerk indicates end of the sale 3.1 System calculates total amount 3.2 System reduces credit limit 4. If contractor wants receipt, clerk requests receipt 4.1 System prints receipt Exception conditions 1.1 If account is out of balance, initiate "Create a New Cash Sale" use cases 2.2 If item is not found, clerk call manager and manually enter item information 3.1 If amount is greater than credit limit, initiate "Create a New Cash Sale" use case 15