This document provides an overview of use cases, including their history, definition, components, notation, and use in conjunction with the Unified Modeling Language (UML). It describes the key elements of a use case specification template and explains how to write use case specifications and diagram actor and use case relationships.
ENGR 131 Elementary Computer ProgrammingTeam IN – InstructorTanaMaeskm
ENGR 131: Elementary Computer Programming
Team IN – Instructor
Midterm Exam
INSTRUCTIONS
Complete the exercises below and upload them to Canvas as a single MATLAB script file (.m) using the naming convention “ENGR131_21F_Midterm_abc123.m”, replacing abc123 with your Case ID, and ## with the two- digit lab number.
For example, if Dr. Williams were submitting this test, it would be ENGR131_21F_Midterm_mrw8.m For your script, please perform the following:
1. Separate each question into separate, runnable sections using the “%%” comment notation.
2. You may use the code and notes from class, the textbook, and MATLAB’s documentation.
3. Use comments as appropriate to indicate your thoughts and how your code works (or is supposed to work). This is 10 points (10%) of your grade.
QUESTIONS
There are 3 questions for this exam.
(
ENGR 131 21F-IN-060-101-A (Midterm Instructions)
) (
9/23/2021
) (
Page
1
of 5
)
1. SOLVING SYSTEMS OF EQUATIONS (20 PTS)
There’s a chill in the air and Fall is here. There are so many neat things that make Fall so special, as shown in Figure 1. Solve for the value of each Fall icon using a systems of equations approach. DO NOT use the symbolic solver (you will receive 0 points if you do). You will know you have the right answer as the correct values in the correct order, when rounded, transposed, and converted to characters, should spell out a recognizable word. Return your solution values to the Command Window.
580
401
378
740
Key:
474
531
Apple Football Grapes Leaves Pumpkin Tree
Fig. 1. The themes of Fall
2. COMPUTING VOLUMES (20 PTS)
A particular conical red cup is often found at many social gatherings in college filled with apple cider. The dimensions of this cup can be found in Figure 2a. Based on these dimensions, use Matlab to determine the locations at which you would place markings for 5, 9, and 16 oz. of fluid such that the volume at each height computed would match each target volume. Use the method of computing the volume of a revolved solid using a step size of 0.15 in. and iterating the volume calculation (your choice of method) with an increasing height until the correct volume is reached. Report these computed heights to the Command Window and replicate Figure 2b.
5
4.5
4
3.5
(
Fluid Depth (in)
)3
2.5
2
1.5
1
0.5
Cup Profile With Markings for 5, 9, and 16 oz.
0
(a) (b)
(
Cup 3
oz
8
oz
14.5 oz
)0 0.5 1
1.5 2 2.5 3 3.5 4 4.5 5
Cup Radius (in)
Figure 2. Dimensions of popular party cup (a), and profile of cup with the height of each target volume shown (b).
3. CELL SIMULATOR (50 PTS)
Program a basic simulator that uses a few simple rules to govern whether cells in a “dish” persist or die and when new living cells appear. At each step in your simulation it should show those cells that are going to die and those that will become live with red ‘x’s and green stars respectively as shown in Figure 3b before ending the step wi ...
Rational Rose is a Computer Aided Software Engineering (CASE) tool. It is a g...saman zaker
Rational Rose is a Computer Aided Software Engineering (CASE) tool.
It is a graphical component modeling and development tool.
CASE modeling tools shift the emphasis from coding to requirements and conceptual design.
Welcome to my series of articles on Unified Modeling Language. This is "Session 2 – Use Case UML" of the series. I have covered Use Case Scenario, Use Case Narrative and Use Case Model in this session.
Please view my other documents where I have covered each UML diagram with examples
Software Requirements ElicitationRequirements specify a set of f.docxwhitneyleman54422
Software Requirements Elicitation
Requirements specify a set of functions a software development project must deliver. Functional requirements define system capabilities, for example, “The system shall permit users to inquire about Berta’s Pizzeria menu via an email message.” Additionally requirements specify non-functional standards that the system must operate within. Examples of non-functional requirements are performance, quality, safety, security, and interface requirements. An example of a performance requirement is, “The system shall have the ability to process 1MB/sec of input.” An example of a quality requirement is, “The MTBF (mean time between failures) shall be greater than 90 days.”
The iterative and incremental development processes of agile methods permit frequent changes to requirements and documentation. Early requirements analysis is required only for features developed in early iterations. Scrum and XP are agile methods that facilitate requirements gathering flexibility. Agile methods require direct involvement of the end-user though-out the software lifecycle. The requirement elicitation differs depending on the agile methodology used. The Unified Process (UP) creates use cases as requirements. Scrum records initial requirements in the form of a product backlog and prioritises them. Extreme Programming (XP) derives user stories and organizes them on a corkboard, or storyboard into deliverables for each iteration.
Requirements elicitation is considered the most difficult part of a development project. The Importance of identifying correct requirements is valuable to the both software developer and the customer. Systems delivered according to incorrect or inadequate requirements may be disparaging to the development organization and disappointing and wasteful to the client. Difficulties with requirements elicitation and analysis include:
1. lack of domain knowledge by the development team
2. Users are not knowledgeable of software capabilities
3. A communication disconnect between the users and the development team
4. Stakeholders cannot definitively specify the requirements
5. Stakeholders underestimate the importance of requirements gathering
6. Nonfunctional requirements are not addressed
7. Stakeholders alter the requirements during the software lifecycle
Requirements elicitation steps include:
1. collection of application information
2. optionally building analysis models
3. developing requirements and constraints
4. feasibility study
5. requirements specification review
The collection of application information involves inquiries about internal and external influences on the business environment, policies, regulations, business goals, and standards. Analysis models may be constructed to understand the business processes and objectives. The customer or user plays a critical role in driving and prioritizing requirements to satisfy the business needs. When the practicability of implementing particular requirements is in q.
ENGR 131 Elementary Computer ProgrammingTeam IN – InstructorTanaMaeskm
ENGR 131: Elementary Computer Programming
Team IN – Instructor
Midterm Exam
INSTRUCTIONS
Complete the exercises below and upload them to Canvas as a single MATLAB script file (.m) using the naming convention “ENGR131_21F_Midterm_abc123.m”, replacing abc123 with your Case ID, and ## with the two- digit lab number.
For example, if Dr. Williams were submitting this test, it would be ENGR131_21F_Midterm_mrw8.m For your script, please perform the following:
1. Separate each question into separate, runnable sections using the “%%” comment notation.
2. You may use the code and notes from class, the textbook, and MATLAB’s documentation.
3. Use comments as appropriate to indicate your thoughts and how your code works (or is supposed to work). This is 10 points (10%) of your grade.
QUESTIONS
There are 3 questions for this exam.
(
ENGR 131 21F-IN-060-101-A (Midterm Instructions)
) (
9/23/2021
) (
Page
1
of 5
)
1. SOLVING SYSTEMS OF EQUATIONS (20 PTS)
There’s a chill in the air and Fall is here. There are so many neat things that make Fall so special, as shown in Figure 1. Solve for the value of each Fall icon using a systems of equations approach. DO NOT use the symbolic solver (you will receive 0 points if you do). You will know you have the right answer as the correct values in the correct order, when rounded, transposed, and converted to characters, should spell out a recognizable word. Return your solution values to the Command Window.
580
401
378
740
Key:
474
531
Apple Football Grapes Leaves Pumpkin Tree
Fig. 1. The themes of Fall
2. COMPUTING VOLUMES (20 PTS)
A particular conical red cup is often found at many social gatherings in college filled with apple cider. The dimensions of this cup can be found in Figure 2a. Based on these dimensions, use Matlab to determine the locations at which you would place markings for 5, 9, and 16 oz. of fluid such that the volume at each height computed would match each target volume. Use the method of computing the volume of a revolved solid using a step size of 0.15 in. and iterating the volume calculation (your choice of method) with an increasing height until the correct volume is reached. Report these computed heights to the Command Window and replicate Figure 2b.
5
4.5
4
3.5
(
Fluid Depth (in)
)3
2.5
2
1.5
1
0.5
Cup Profile With Markings for 5, 9, and 16 oz.
0
(a) (b)
(
Cup 3
oz
8
oz
14.5 oz
)0 0.5 1
1.5 2 2.5 3 3.5 4 4.5 5
Cup Radius (in)
Figure 2. Dimensions of popular party cup (a), and profile of cup with the height of each target volume shown (b).
3. CELL SIMULATOR (50 PTS)
Program a basic simulator that uses a few simple rules to govern whether cells in a “dish” persist or die and when new living cells appear. At each step in your simulation it should show those cells that are going to die and those that will become live with red ‘x’s and green stars respectively as shown in Figure 3b before ending the step wi ...
Rational Rose is a Computer Aided Software Engineering (CASE) tool. It is a g...saman zaker
Rational Rose is a Computer Aided Software Engineering (CASE) tool.
It is a graphical component modeling and development tool.
CASE modeling tools shift the emphasis from coding to requirements and conceptual design.
Welcome to my series of articles on Unified Modeling Language. This is "Session 2 – Use Case UML" of the series. I have covered Use Case Scenario, Use Case Narrative and Use Case Model in this session.
Please view my other documents where I have covered each UML diagram with examples
Software Requirements ElicitationRequirements specify a set of f.docxwhitneyleman54422
Software Requirements Elicitation
Requirements specify a set of functions a software development project must deliver. Functional requirements define system capabilities, for example, “The system shall permit users to inquire about Berta’s Pizzeria menu via an email message.” Additionally requirements specify non-functional standards that the system must operate within. Examples of non-functional requirements are performance, quality, safety, security, and interface requirements. An example of a performance requirement is, “The system shall have the ability to process 1MB/sec of input.” An example of a quality requirement is, “The MTBF (mean time between failures) shall be greater than 90 days.”
The iterative and incremental development processes of agile methods permit frequent changes to requirements and documentation. Early requirements analysis is required only for features developed in early iterations. Scrum and XP are agile methods that facilitate requirements gathering flexibility. Agile methods require direct involvement of the end-user though-out the software lifecycle. The requirement elicitation differs depending on the agile methodology used. The Unified Process (UP) creates use cases as requirements. Scrum records initial requirements in the form of a product backlog and prioritises them. Extreme Programming (XP) derives user stories and organizes them on a corkboard, or storyboard into deliverables for each iteration.
Requirements elicitation is considered the most difficult part of a development project. The Importance of identifying correct requirements is valuable to the both software developer and the customer. Systems delivered according to incorrect or inadequate requirements may be disparaging to the development organization and disappointing and wasteful to the client. Difficulties with requirements elicitation and analysis include:
1. lack of domain knowledge by the development team
2. Users are not knowledgeable of software capabilities
3. A communication disconnect between the users and the development team
4. Stakeholders cannot definitively specify the requirements
5. Stakeholders underestimate the importance of requirements gathering
6. Nonfunctional requirements are not addressed
7. Stakeholders alter the requirements during the software lifecycle
Requirements elicitation steps include:
1. collection of application information
2. optionally building analysis models
3. developing requirements and constraints
4. feasibility study
5. requirements specification review
The collection of application information involves inquiries about internal and external influences on the business environment, policies, regulations, business goals, and standards. Analysis models may be constructed to understand the business processes and objectives. The customer or user plays a critical role in driving and prioritizing requirements to satisfy the business needs. When the practicability of implementing particular requirements is in q.
how to sell pi coins in South Korea profitably.DOT TECH
Yes. You can sell your pi network coins in South Korea or any other country, by finding a verified pi merchant
What is a verified pi merchant?
Since pi network is not launched yet on any exchange, the only way you can sell pi coins is by selling to a verified pi merchant, and this is because pi network is not launched yet on any exchange and no pre-sale or ico offerings Is done on pi.
Since there is no pre-sale, the only way exchanges can get pi is by buying from miners. So a pi merchant facilitates these transactions by acting as a bridge for both transactions.
How can i find a pi vendor/merchant?
Well for those who haven't traded with a pi merchant or who don't already have one. I will leave the telegram id of my personal pi merchant who i trade pi with.
Tele gram: @Pi_vendor_247
#pi #sell #nigeria #pinetwork #picoins #sellpi #Nigerian #tradepi #pinetworkcoins #sellmypi
where can I find a legit pi merchant onlineDOT TECH
Yes. This is very easy what you need is a recommendation from someone who has successfully traded pi coins before with a merchant.
Who is a pi merchant?
A pi merchant is someone who buys pi network coins and resell them to Investors looking forward to hold thousands of pi coins before the open mainnet.
I will leave the telegram contact of my personal pi merchant to trade with
@Pi_vendor_247
The secret way to sell pi coins effortlessly.DOT TECH
Well as we all know pi isn't launched yet. But you can still sell your pi coins effortlessly because some whales in China are interested in holding massive pi coins. And they are willing to pay good money for it. If you are interested in selling I will leave a contact for you. Just telegram this number below. I sold about 3000 pi coins to him and he paid me immediately.
Telegram: @Pi_vendor_247
how to sell pi coins in all Africa Countries.DOT TECH
Yes. You can sell your pi network for other cryptocurrencies like Bitcoin, usdt , Ethereum and other currencies And this is done easily with the help from a pi merchant.
What is a pi merchant ?
Since pi is not launched yet in any exchange. The only way you can sell right now is through merchants.
A verified Pi merchant is someone who buys pi network coins from miners and resell them to investors looking forward to hold massive quantities of pi coins before mainnet launch in 2026.
I will leave the telegram contact of my personal pi merchant to trade with.
@Pi_vendor_247
Poonawalla Fincorp and IndusInd Bank Introduce New Co-Branded Credit Cardnickysharmasucks
The unveiling of the IndusInd Bank Poonawalla Fincorp eLITE RuPay Platinum Credit Card marks a notable milestone in the Indian financial landscape, showcasing a successful partnership between two leading institutions, Poonawalla Fincorp and IndusInd Bank. This co-branded credit card not only offers users a plethora of benefits but also reflects a commitment to innovation and adaptation. With a focus on providing value-driven and customer-centric solutions, this launch represents more than just a new product—it signifies a step towards redefining the banking experience for millions. Promising convenience, rewards, and a touch of luxury in everyday financial transactions, this collaboration aims to cater to the evolving needs of customers and set new standards in the industry.
Currently pi network is not tradable on binance or any other exchange because we are still in the enclosed mainnet.
Right now the only way to sell pi coins is by trading with a verified merchant.
What is a pi merchant?
A pi merchant is someone verified by pi network team and allowed to barter pi coins for goods and services.
Since pi network is not doing any pre-sale The only way exchanges like binance/huobi or crypto whales can get pi is by buying from miners. And a merchant stands in between the exchanges and the miners.
I will leave the telegram contact of my personal pi merchant. I and my friends has traded more than 6000pi coins successfully
Tele-gram
@Pi_vendor_247
Financial Assets: Debit vs Equity Securities.pptxWrito-Finance
financial assets represent claim for future benefit or cash. Financial assets are formed by establishing contracts between participants. These financial assets are used for collection of huge amounts of money for business purposes.
Two major Types: Debt Securities and Equity Securities.
Debt Securities are Also known as fixed-income securities or instruments. The type of assets is formed by establishing contracts between investor and issuer of the asset.
• The first type of Debit securities is BONDS. Bonds are issued by corporations and government (both local and national government).
• The second important type of Debit security is NOTES. Apart from similarities associated with notes and bonds, notes have shorter term maturity.
• The 3rd important type of Debit security is TRESURY BILLS. These securities have short-term ranging from three months, six months, and one year. Issuer of such securities are governments.
• Above discussed debit securities are mostly issued by governments and corporations. CERTIFICATE OF DEPOSITS CDs are issued by Banks and Financial Institutions. Risk factor associated with CDs gets reduced when issued by reputable institutions or Banks.
Following are the risk attached with debt securities: Credit risk, interest rate risk and currency risk
There are no fixed maturity dates in such securities, and asset’s value is determined by company’s performance. There are two major types of equity securities: common stock and preferred stock.
Common Stock: These are simple equity securities and bear no complexities which the preferred stock bears. Holders of such securities or instrument have the voting rights when it comes to select the company’s board of director or the business decisions to be made.
Preferred Stock: Preferred stocks are sometime referred to as hybrid securities, because it contains elements of both debit security and equity security. Preferred stock confers ownership rights to security holder that is why it is equity instrument
<a href="https://www.writofinance.com/equity-securities-features-types-risk/" >Equity securities </a> as a whole is used for capital funding for companies. Companies have multiple expenses to cover. Potential growth of company is required in competitive market. So, these securities are used for capital generation, and then uses it for company’s growth.
Concluding remarks
Both are employed in business. Businesses are often established through debit securities, then what is the need for equity securities. Companies have to cover multiple expenses and expansion of business. They can also use equity instruments for repayment of debits. So, there are multiple uses for securities. As an investor, you need tools for analysis. Investment decisions are made by carefully analyzing the market. For better analysis of the stock market, investors often employ financial analysis of companies.
when will pi network coin be available on crypto exchange.DOT TECH
There is no set date for when Pi coins will enter the market.
However, the developers are working hard to get them released as soon as possible.
Once they are available, users will be able to exchange other cryptocurrencies for Pi coins on designated exchanges.
But for now the only way to sell your pi coins is through verified pi vendor.
Here is the telegram contact of my personal pi vendor
@Pi_vendor_247
how to swap pi coins to foreign currency withdrawable.DOT TECH
As of my last update, Pi is still in the testing phase and is not tradable on any exchanges.
However, Pi Network has announced plans to launch its Testnet and Mainnet in the future, which may include listing Pi on exchanges.
The current method for selling pi coins involves exchanging them with a pi vendor who purchases pi coins for investment reasons.
If you want to sell your pi coins, reach out to a pi vendor and sell them to anyone looking to sell pi coins from any country around the globe.
Below is the contact information for my personal pi vendor.
Telegram: @Pi_vendor_247
Falcon stands out as a top-tier P2P Invoice Discounting platform in India, bridging esteemed blue-chip companies and eager investors. Our goal is to transform the investment landscape in India by establishing a comprehensive destination for borrowers and investors with diverse profiles and needs, all while minimizing risk. What sets Falcon apart is the elimination of intermediaries such as commercial banks and depository institutions, allowing investors to enjoy higher yields.
what is the best method to sell pi coins in 2024DOT TECH
The best way to sell your pi coins safely is trading with an exchange..but since pi is not launched in any exchange, and second option is through a VERIFIED pi merchant.
Who is a pi merchant?
A pi merchant is someone who buys pi coins from miners and pioneers and resell them to Investors looking forward to hold massive amounts before mainnet launch in 2026.
I will leave the telegram contact of my personal pi merchant to trade pi coins with.
@Pi_vendor_247
Exploring Abhay Bhutada’s Views After Poonawalla Fincorp’s Collaboration With...beulahfernandes8
The financial landscape in India has witnessed a significant development with the recent collaboration between Poonawalla Fincorp and IndusInd Bank.
The launch of the co-branded credit card, the IndusInd Bank Poonawalla Fincorp eLITE RuPay Platinum Credit Card, marks a major milestone for both entities.
This strategic move aims to redefine and elevate the banking experience for customers.
How to get verified on Coinbase Account?_.docxBuy bitget
t's important to note that buying verified Coinbase accounts is not recommended and may violate Coinbase's terms of service. Instead of searching to "buy verified Coinbase accounts," follow the proper steps to verify your own account to ensure compliance and security.
1. CMSC 345, Version 9/07
S. Mitchell
Use Cases
Concepts, Specifications, and Diagrams
2. 2
CMSC 345, Version 9/07
S. Mitchell
Introduction
“Invented” by Ivar Jacobson in the late 1960’s
(where have we seen his name before?)
Introduced to the OO community in the late
1980’s
Alistair Cockburn has extended Jacobson’s
model
Is a way to specify functional requirements
Is notated using a use case specification
Is not part of the Unified Modeling Language
(UML), but is many times used in conjunction
with it
3. 3
CMSC 345, Version 9/07
S. Mitchell
What is a Use Case? (Cockburn)
A use case captures a contract between the
stakeholders of a system about its behavior.
Describes the system’s behavior under various
conditions as the system responds to a request from one
of the stakeholders called the primary actor.
1. The primary actor initiates some interaction with the system to
accomplish some goal.
2. The system responds, protecting the interests of all of the
stakeholders.
3. Different sequences of behaviors, or scenarios, can unfold,
depending on the requests and the conditions surrounding the
request. The use case gathers these scenarios together.
4. 4
CMSC 345, Version 9/07
S. Mitchell
Use Case Specification: Natural Language Example
Use Case 1. Withdraw Money
The system displays the account types available to be
withdrawn from and the user indicates the desired type.
The system asks for the amount to be withdrawn and the
user specifies it. Next, the system debits the user’s
account and dispenses the money. The user removes
the money, the system prints a receipt, and the user
removes the receipt. Then the system displays a closing
message and dispenses the user’s ATM card. After the
user removes his card, the system displays the welcome
message.
5. 5
CMSC 345, Version 9/07
S. Mitchell
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
6. 6
CMSC 345, Version 9/07
S. Mitchell
Number Unique use case number
Name Brief verb-noun phrase
Summary Brief summary of use case major actions
Priority 1-5 (1 = lowest priority, 5 = highest priority)
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
7. 7
CMSC 345, Version 9/07
S. Mitchell
Number
Name
Summary
Priority
Preconditions What needs to be true before the use case “executes”
Postconditions What will be true after the use case successfully “executes”
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
Precondition: y != 0
Postcondition: x / y
double divide(double x, double y) {
return (x / y);
}
Precondition: None
Postcondition: if y==0 “Illegal”, else x / y
double divide(double x, double y) {
if (y == 0) cout << “Illegaln”;
else return (x / y);
}
8. 8
CMSC 345, Version 9/07
S. Mitchell
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s) Primary actor name(s)
Secondary Actor(s) Secondary actor name(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
Actor
• Anyone or anything with behavior
• May be a person or system
• Primary: The stakeholder who or
which initiates an interaction with the
system to achieve a goal. Is generally a
category of individuals (a role).
• Secondary: Provides a service to the
system. Is almost never a person.
9. 9
CMSC 345, Version 9/07
S. Mitchell
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger The action that caused the use case to be invoked
Main Scenario Step Action
Step # This is the “main success scenario” or “happy path”
Step # Description of steps in successful use case “execution”
Step # This should be in a “system-user-system, etc.” format
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
10. 10
CMSC 345, Version 9/07
S. Mitchell
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Step # Alternative paths that the use case may take
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
Extension
• Could be an optional path(s)
• Could be an error path(s)
• Denoted in use case diagrams (UML)
by <<extend>>
11. 11
CMSC 345, Version 9/07
S. Mitchell
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues Issue # Issues regarding the use case that need resolution
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
12. 12
CMSC 345, Version 9/07
S. Mitchell
Number Unique use case number
Name Brief noun-verb phrase
Summary Brief summary of use case major actions
Priority 1-5 (1 = lowest priority, 5 = highest priority)
Preconditions What needs to be true before use case “executes”
Postconditions What will be true after the use case successfully “executes”
Primary Actor(s) Primary actor name(s)
Secondary Actor(s) Secondary actor name(s)
Trigger The action that causes this use case to begin
Main Scenario Step Action
Step # This is the “main success scenario” or “happy path.”
… Description of steps in successful use case “execution”
… This should be in a “system-user-system, etc.” format.
Extensions Step Branching Action
Step # Alternative paths that the use case may take
Open Issues Issue # Issues regarding the use case that need resolution
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
13. 13
CMSC 345, Version 9/07
S. Mitchell
Number 1
Name Withdraw Money
Summary User withdraws money from one of his/her accounts
Priority 5
Preconditions User has logged into ATM
Postconditions User has withdrawn money and received a receipt
Primary Actor(s) Bank Customer
Secondary Actor(s) Customer Accounts Database
Use Case Specification Template Example
Continued …
14. 14
Trigger User has chosen to withdraw money
Main Scenario Step Action
1 System displays account types
2 User chooses account type
3 System asks for amount to withdraw
4 User enters amount
5 System debits user’s account and dispenses money
6 User removes money
7 System prints and dispenses receipt
8 User removes receipt
9 System displays closing message and dispenses user’s ATM card
11 User removes card
10 System displays welcome message
Extensions Step Branching Action
5a System notifies user that account funds are insufficient
5b System gives current account balance
5c System exits option
Open Issues 1 Should the system ask if the user wants to see the balance?
15. 15
CMSC 345, Version 9/07
S. Mitchell
Specification Writing Guidelines
No trace of design
Describes what the use case will do, not
how it will do it (e.g., UI type is irrelevant)
A dialogue between the user and the
system
Complete, clear, and consistent
16. 16
CMSC 345, Version 9/07
S. Mitchell
Use Case Diagrams
A way of visualizing the relationships
between actors and use cases
among use cases
“A graphical table of contents for the use
case set” (Fowler)
17. 17
CMSC 345, Version 9/07
S. Mitchell
1
Withdraw
Money
2
Deposit
Money
3
Transfer
Money
4
Check
Balance
ATM System
Bank
Customer
Customer
Accounts
Database
primary actor
role
system name
system boundary
secondary actor
use case
<<Customer
Accounts
Database>>
alternative
actor notation
stereotype
association
18. 18
CMSC 345, Version 9/07
S. Mitchell
Using Use Case Specifications
in Conjunction with Use Case Diagrams
UML is a graphical modeling tool only.
Use case specifications are not part of the
UML
But, since each ellipse in a UML use case
diagram represents a functional
requirement, it may in turn have an
associated use case specification.
19. 19
CMSC 345, Version 9/07
S. Mitchell
1
Withdraw
Money
2
Deposit
Money
3
Transfer
Money
4
Check
Balance
ATM System
Bank
Customer
Customer
Accounts
Database
Teller 5
View
Transaction
History
primary actor
Why can’t a Teller
do the things that a
Bank Customer can
do? Especially if he
is a customer?
He can. But he must
“step into” the role of
a Bank Customer.
20. 20
CMSC 345, Version 9/07
S. Mitchell
1
Withdraw
Money
Bank
Customer
Customer
Accounts
Database
1b
Withdraw from
Savings
1a
Withdraw from
Checking
<<extend>>
<<extend>>
Sub-use Case Diagram
This is an extend dependency.
It indicates that use case 1b is part of
use case 1, but it may or may not be
invoked.
The same is true of use case 1a.
All dependencies are
extend unless
stereotyped otherwise.
note/comment
21. 21
CMSC 345, Version 9/07
S. Mitchell
1
Withdraw
Money
Bank
Customer
Customer
Accounts
Database
1b
Withdraw from
Savings
1a
Withdraw from
Checking
Sub-use Case Diagram
generalization
22. 22
CMSC 345, Version 9/07
S. Mitchell
3
Transfer
Money
Bank
Customer
Customer
Accounts
Database
3b
Update Account
Balances
3a
Select
Accounts
<<include>>
<<include>>
Sub-use Case Diagram
This is an include dependency.
It indicates that use case 3b is
“included” in use case 3 and will be
invoked.
The same is true of use case 3a.
23. 23
CMSC 345, Version 9/07
S. Mitchell
References
Cockburn, A., Writing Effective Use Cases. New York:
2001, Addison-Wesley.
Cockburn, A., Resources for Writing Use Cases.
http://alistair.cockburn.us/index.php/Resources_for_writi
ng_use_cases, accessed 9/18/07.
Cockburn, A., Basic Use Case Template. 1998, Humans
and Technology.
Cockburn, Alistair, WWW home page,
http://alistair.cockburn.us/index.php/Main_Page
Fowler, M., UML Distilled. 3rd ed. 2004, New York:
Addison Wesley.
Fowler, M., WWW home page, http://martinfowler.com
Jacobson, Ivar, WWW home page,
http://www.ivarjacobson.com/locales/ivars-corner.cfm