Scenarios use cases and use case diagrams
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Scenarios, Use Cases and Use Case Diagrams PowerPoint PPT Presentation


  • 44 Views
  • Uploaded on
  • Presentation posted in: General

Scenarios, Use Cases and Use Case Diagrams . We need a few definitions. Actor: an entity that can interact with a system, invoking some behavior . Actor:. Scenario: a specific sequence of actions and interactions between actors and the system being discussed. Scenario:. Use Case: .

Download Presentation

Scenarios, Use Cases and Use Case Diagrams

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Scenarios use cases and use case diagrams

Scenarios, Use Cases and Use Case Diagrams


We need a few definitions

We need a few definitions.

Actor: an entity that can interact with a system, invoking some behavior

Actor:

Scenario:a specific sequence of actions and interactions between actors and the system being discussed

Scenario:

Use Case:

Use Case: a collection of related success and failure scenarios


Actors represent external entities that interact the system

Actors represent external entities that interact the system.

  • Stimulate vs. stimulated

  • Role, not an entity

Actors for an ATM System?


A scenario represents one possible outcome of the actor system interactions

A scenario represents one possible outcome of the actor/system interactions.

Card Rejected

Account Holder places card in slot. System prompts user for PIN. User enters PIN. PIN is not valid for the given card. Card is rejected.

Successful Withdrawal

Account Holder places card in slot. System prompts Account Holder for PIN and Account Holder enters PIN. The system determines the PIN is valid for the card. The Account Holder selects a Withdrawal Transaction. The system ensures the account has enough money. The system deducts the requested amount from the account and dispenses cash to Account Holder.


A use case glues together related scenarios that an actor initiates to accomplish a specific goal

A use case glues together related scenarios that an actor initiates to accomplish a specific goal

Use Case: Withdraw

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN

3. Account Holder enters PIN.

4. System determines the PIN is valid for the card. `

5. Account Holder selects a Withdrawal Transaction.

6. System prompts for amount to be withdrawn.

7. Account Holder enters amount to be withdrawn.

8. System determines the account has sufficient funds.

9. System deducts the requested amount from the account.

10. System dispenses cash to Account Holder.

Alternative: Card rejected

4. System determines PIN is not valid for the card.

5. System rejects card.

Alternative: Insufficient funds

8. System determines the account does not have sufficient funds for withdrawal.

9. System displays appropriate message and returns card.


Note this format is part of the ist 421 methodology

Note: This format is part of the “IST 421 Methodology”

Use Case: Withdraw

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN

3. Account Holder enters PIN.

4. System determines the PIN is valid for the card. `

5. Account Holder selects a Withdrawal Transaction.

6. System prompts for amount to be withdrawn.

7. Account Holder enters amount to be withdrawn.

8. System determines the account has sufficient funds.

9. System deducts the requested amount from the account.

10. System dispenses cash to Account Holder.

Alternative: Card rejected

4. System determines PIN is not valid for the card.

5. System rejects card.

Alternative: Insufficient funds

8. System determines the account does not have sufficient funds for withdrawal.

9. System displays appropriate message and returns card.


Other methods may capture use cases differently

Other methods may capture use cases differently.

From Learning UML 2.0

Use case name: Create a new Personal Wiki

Related RequirementsRequirement 1.A

Goal In ContextA new or existing author requests a new blog account from the Administrator.

PreconditionsThe author has appropriate proof of identity.

Successful End ConditionA new personal Wiki is created for the author.

Failed End ConditionThe application for a new personal Wiki is rejected.

Primary ActorsAdministrator.

Secondary ActorsAuthor Credentials Database.

TriggerThe Administrator asks the CMS to create a new personal Wiki.

Main FlowStepAction

1The Administrator asks the system to create a new personal Wiki.

2The Administrator enters the author’s details.

3 The author’s details are verified using the Author Credentials Database.

5The new personal Wiki is created.

6A summary of the new personal Wiki;s details are emailed to the author.

ExtensionsStepBranching Action

3.1The Author Credentials Database does not verify the author’s details.

3.2The author’s new personal Wiki application is rejected.


Alternative scenarios are deviations from a specific step in the main scenario

Alternative scenarios are deviations from a specific step in the main scenario.

Use Case: Withdraw

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN

3. Account Holder enters PIN.

4. System determines the PIN is valid for the card.

5. Account Holder selects a Withdrawal Transaction.

6. System prompts for amount to be withdrawn.

7. Account Holder enters amount to be withdrawn.

8. System determines the account has sufficient funds.

9. System deducts the requested amount from the account.

10. System dispenses cash to Account Holder.

Alternative: Card rejected

4. System determines PIN is not valid for the card.

5. System rejects card.

Alternative: Insufficient funds

8. System determines the account does not have sufficient funds for withdrawal.

9. System displays appropriate message and returns card.

The first step in the alternative replaces the step of the same number in the main scenario


Alternatives may rejoin the main scenario

Alternatives may rejoin the main scenario.

  • Use Case: Check in for flight

  • User presses Begin.

  • System prompts user for last name.

  • User enters last name.

  • System prompts user for first name.

  • User enters first name.

  • System finds and displays related flight information.

  • User selects flight.

  • System prompts user to enter number of bags to check.

  • . . .

  • Alternative: User uses credit card

  • 3. User inserts credit card into slot.

  • 4. System reads user information from credit card.

  • Return to step 6 in main scenario.


Use case formats can take on any form even graphical

Use Case formats can take on any form (even graphical).

  • Keep it simple

  • Avoid alternatives to alternatives.


A use case diagram visualizes the relationships among the system actor and use cases

A use case diagram visualizes the relationships among the system, actor and use cases.

ATM

Withdraw

Account Holder


A few notes on use case diagrams

A few notes on use case diagrams:

  • Actors can be involved with multiple use cases

  • Use cases can be associated with multiple actors

  • Use case diagrams only depict use cases, not individual scenarios


Sometimes use cases will encapsulate common behavior

Sometimes use cases will encapsulate common behavior.

Use Case: Withdraw

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN and Account Holder enters PIN.

3. The system determines the PIN is valid for the card.

4. The Account Holder selects a Withdrawal Transaction.

. . .

Use Case: Deposit

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN and Account Holder enters PIN.

3. The system determines the PIN is valid for the card.

4. The Account Holder selects a Deposit Transaction.

. . .

Use Case: Check Balance

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN and Account Holder enters PIN.

3. The system determines the PIN is valid for the card.

4. The Account Holder selects a Check Balance Transaction.

. . .


The include relationship lets us factor out the common behavior and then import it

The include relationship lets us factor out the common behavior and then “import” it.

Use Case: Validate

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN and Account Holder enters PIN.

3. The system determines the PIN is valid for the card.

. . .

Use Case: Withdraw

1. Include Validate.

2. The Account Holder selects a Withdrawal Transaction.

. . .

Use Case: Deposit

1. Include Validate.

2. The Account Holder selects a Deposit Transaction.

. . .

Use Case: Check Balance

1. Include Validate.

2. The Account Holder selects a Check Balance Transaction.

. . .


Alternatives may be part of included use cases

Alternatives may be part of included use cases.

Use Case: Validate

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN

3. Account Holder enters PIN.

4. The system determines the PIN is valid for the card.

Alternative: Card rejected

4. System determines PIN is not valid for the card.

5. System rejects card.

Use Case: Withdraw

1. Include Validate.

2. The system determines the PIN is valid for the card.

3. The Account Holder selects a Withdrawal Transaction.

4. The system determines the account has enough money.

5. The system deducts the requested amount from the account.

6. System dispenses cash to Account Holder.

Alternative: Insufficient funds

4. System determines the account does not have sufficient funds for withdrawal.

5. System displays appropriate message and returns card.


The result of inclusion is the splicing together of the involved use cases

The result of inclusion is the splicing together of the involved use cases.

Use Case: Validate

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN

3. Account Holder enters PIN.

4. The system determines the PIN is valid for the card.

Alternative: Card rejected

4. System determines PIN is not valid for the card.

5. System rejects card.

Use Case: Withdraw

1. Account Holder places card in slot.

2. System prompts Account Holder for PIN

3. Account Holder enters PIN.

4. The system determines the PIN is valid for the card.

5. The Account Holder selects a Withdrawal Transaction.

6. The system ensures the account has enough money.

7. The system deducts the requested amount from the account.

8. System dispenses cash to Account Holder.

Alternative: Card rejected

4. System determines PIN is not valid for the card.

5. System rejects card.

Alternative: Insufficient funds

6. System determines the account does not have sufficient funds for withdrawal.

7. System displays appropriate message and returns card.

Use Case: Withdraw

1. Include Validate.

2. The system determines the PIN is valid for the card.

3. The Account Holder selects a Withdrawal Transaction.

4. The system ensures the account has enough money.

5. The system deducts the requested amount from the account.

6. System dispenses cash to Account Holder.

Alternative: Insufficient funds

4. System determines the account does not have sufficient funds for withdrawal.

5. System displays appropriate message and returns card.


The include relationship is represented in use case diagrams as a stereotyped dependency

The include relationship is represented in use case diagrams as a stereotyped dependency.

ATM

Withdraw

<<include>>

<<include>>

Deposit

Validate

Check Balance

<<include>>

Account Holder


Scenarios use cases and use case diagrams

The extend relationship provides a way to show “special case” behavior that is closely related to another use case.

  • Useful for complicated use cases

  • Requires the use of explicit extension points

  • Extended use cases stand on their own


Example extend

Example : extend

Use Case: Deposit

Main Scenario

1. Include Validate.

2. The Account Holder selects Deposit.

3. The system retrieves the account information and prompts Account Holder for amount to deposit.

4. The Account Holder enters the amount.

5. XP: The system starts the deposit slot mechanism.

6. The Account Holder places the deposit item into the deposit slot mechanism.

7. The system detects the deposit item and stops the deposit slot mechanism.

8. The system adds the deposit amount to the account.

9. The card is returned to the Account Holder.

Alternative: Deposit Slot Mechanism Times Out

6. The Account Holder does not place the deposit item in the deposit slot mechanism within 5 seconds.

7. The system did not detect a deposit item and stops the deposit slot mechanism

8. The system displays an error message to the Account Holder.

9. The card is returned to the user.

Use Case: Deposit

Main Scenario

1. Include Validate.

2. The Account Holder selects Deposit.

3. The system retrieves the account information and prompts Account Holder for amount to deposit.

4. The Account Holder enters the amount.

5. The system starts the deposit slot mechanism.

6. The Account Holder places the deposit item into the deposit slot mechanism.

7. The system detects the deposit item and stops the deposit slot mechanism.

8. The system adds the deposit amount to the account.

9. The card is returned to the Account Holder.

Alternative: Deposit Slot Mechanism Fails to Start

5. The system fails to start the deposit slot mechanism.

6. The system displays an error message to the Account Holder.

7. The card is returned to the Account Holder.

Alternative: Deposit Slot Mechanism Times Out

6. The Account Holder does not place the deposit item in the deposit slot mechanism within 5 seconds.

7. The system did not detect a deposit item and stops the deposit slot mechanism

8. The system displays an error message to the Account Holder.

9. The card is returned to the user.

Use Case: Deposit Slot Mechanism Failure

Extends: Deposit

Replace XP with

1. The system fails to start the deposit slot mechanism.

2. The system displays an error message to the Account Holder.

3. The card is returned to the Account Holder.


Example extend1

Example : extend

Use Case: Deposit

Main Scenario

1. Include Validate.

2. The Account Holder selects Deposit.

3. The system retrieves the account information and prompts Account Holder for amount to deposit.

4. The Account Holder enters the amount.

5. XP: The system starts the deposit slot mechanism.

6. The Account Holder places the deposit item into the deposit slot mechanism.

7. The system detects the deposit item and stops the deposit slot mechanism.

8. The system adds the deposit amount to the account.

9. The card is returned to the Account Holder.

Alternative: Deposit Slot Mechanism Times Out

6. The Account Holder does not place the deposit item in the deposit slot mechanism within 5 seconds.

7. The system did not detect a deposit item and stops the deposit slot mechanism

8. The system displays an error message to the Account Holder.

9. The card is returned to the user.

Use Case: Deposit

Main Scenario

1. Include Validate.

2. The Account Holder selects Deposit.

3. The system retrieves the account information and prompts Account Holder for amount to deposit.

4. The Account Holder enters the amount.

5. The system starts the deposit slot mechanism.

6. The Account Holder places the deposit item into the deposit slot mechanism.

7. The system detects the deposit item and stops the deposit slot mechanism.

8. The system adds the deposit amount to the account.

9. The card is returned to the Account Holder.

Alternative: Deposit Slot Mechanism Fails to Start

5. The system fails to start the deposit slot mechanism.

6. The system displays an error message to the Account Holder.

7. The card is returned to the Account Holder.

Alternative: Deposit Slot Mechanism Times Out

6. The Account Holder does not place the deposit item in the deposit slot mechanism within 5 seconds.

7. The system did not detect a deposit item and stops the deposit slot mechanism

8. The system displays an error message to the Account Holder.

9. The card is returned to the user.

Extension may deviate at a predefined location.

Use Case: Deposit Slot Mechanism Failure

Extends: Deposit

Replace XP with

1. The system fails to start the deposit slot mechanism.

2. The system displays an error message to the Account Holder.

3. The card is returned to the Account Holder.


Use case diagrams extend relationship

Use Case Diagrams – Extend Relationship

ATM

<<include>>

Check Balance

Deposit

XP

<<extend>>(XP)

Deposit Slot Mechanism Failure

Account Holder


Use case specialization is like an uncontrolled extend

Use case specialization is like an uncontrolled extend.

  • No extension point

  • Child specializes the parent

  • Parent is a generalization of the child


Use case specialization uses the generalization specialization notation

Use case specialization uses the generalization/ specialization notation.


Use cases generalization vs extension

Use Cases – Generalization vs Extension

Extensions represents a controlled deviation.

A

XP

Generalizations represent uncontrolled deviation.

B may only deviate from A at the point XP1.

<<extend>>

(XP)

A

B

B may deviate from A in any imaginable way.

In fact, it is possible that B may not look anything like A!

B


Discussion

Discussion

  • Why do we need both generalization and extend?

  • What would be appropriate uses of each?


Use cases diagrams putting it all together

Use Case diagrams can capture multiple use cases

Use Cases Diagrams – Putting it all together

ATM

Withdraw

<<include>>

<<include>>

Check Balance

Validate

Deposit

XP

<<include>>

Account Holder

<<extend>>XP

Run Diagnositcs

Deposit Slot Mechanism Failure

Technician


A few notes on visio

A few notes on Visio…

  • Visio is a generic drawing tool

    • You don’t need it

  • UML stencils are available

    • “Software : UML Diagrams”

  • Stencils are out of date

  • Consider using native drawing areas in documents.


  • Login