Problem Analysis Chart
Given Data Required Results
Name
Previous Balance
Payment
Charges
Finance Rate
New Balance
Finance Charge
Month-end balance
Required Processing
New Balance = previous balance payments + Charges
Finance Charge = new balance * (annual finance rate / 12)
Month-end balance = New Balance + Finance Charge
Solution Alternative
1. Define the finance rate as 18%.
2. Define name, previous balance, payment, charges as input value
IPO Chart
Input Processing Module Reference Output
Name
Previous
Balance
Payment
Charges
Finance Rate
1. Enter name
2. Enter previous Balance
3. Enter payment
4. Enter charge
5. Calculate new balance
6. Calculate finance charge
7. Calculate month-end
balance
8. Print finance charge and
month-end balance
9. End
input
input
input
input
calc
calc
calc
print
Main
New Balance
Finance Charge
Month-end balance
Flow chart
Start
input
calc
print
end
input
Prompt
user to
enter
name
Prompt
user to
enter
payment
Prompt
user to
enter
charges
Prompt
user to
enter
previous
balance
calc
New Balance =
previous balance
payments + Charges
Finance Charge =
new balance *
(annual finance rate
/ 12)
Month-end balance
= New Balance +
Finance Charge
return
return
print
Display
customer
last name
Display
finance
charges
Display
month-end
balance
Interactivity chart
Coupling Diagram
Month-end balance
Month-end balance
Data Dictionary
Item Variable Name Data Type Module(s) Scope
Name name string Input/print global
Previous Balance pb Numeric-integer input global
Payments payment Numeric-integer input global
Charges charges Numeric-integer input global
New Balance nb Numeric-integer calc global
Finance Charge fc Numeric-real Calc/print global
Finance rate fr Numeric-real calc local
Month-end Balance meb Numeric-real main/print parameter
Main
input
calc print
Main
input calc
print