CE00371-1 INTRODUCTION TO SOFTWARE DEVELOPMENT


Assignment 1

Simple Billing System

Assessment weight : 20% Due : Week 9

Requirement

The SAR Company is a software house which provides software consultation services and products to its clients. The company was established 7 years ago by Mr. Tung. As the business continues to grow, Mr. Tung decides to go computerization of the company.

After a week of preliminary study and review of the organization, Mr. Tung decides to implement a simple billing system for the company. Each line of the input data file for the billing system contains a name, address, transaction type, and amount of transaction separated by a "_". The transaction type is either C (for credit) or D (for debit). The transaction amount is given in dollars and cents. If we assume each person's balance is initially zero, that a credit reduces the balance, and a debit increases the balance, the computer program should produce a report, ordered on name, giving the final balance in dollars and cents in each account. If a balance is exactly zero, then that person's balance should not appear in the report.

Example input:
Fred Chan_213 Yuen Long Avenue_D_41.03
Sue Wong_9102 Kowloon Circle_D_10.00
Fred Chan_213 Yuen Long Avenue_C_0.01
Baba Li_2000 E. 21st Street_D_450.00
Sue Wong_9102 Kowloon Circle_C_5.50
Jay Law_9103 Problem Area_C_25.00
Fred Chan_213 Yuen Long Avenue_C_41.02

Example output:
Name		Address	                Balance
----		-------	                ------
Baba Li         2000 E. 21st Street     450.00
Jay Law         9103 Problem Area       -25.00
Sue Wong        9102 Kowloon Circle       4.50
Having taken courses from CityU, Mr. Tung knows exactly what to do. He decides that the Billing System should be implemented using Java. He has outlined the following list of tasks, and you, being hired as the programmer currently working under his supervision, has been assigned these tasks.
  1. Define the problem by specifying the exact requirements of the task unambiguously.
  2. Design the system for a Java application.
  3. Write the Java programs with proper internal program documentation.
  4. Debug and test the program with sufficient number of data sets.

Assessment criteria and (Deadline):

For the assignment under consideration, the objectives/required outcomes are as follow. Those objectives underlined are essential objectives (90%) used to evaluate the performance of a student.