Vous êtes sur la page 1sur 3

CSC128 – JAVA II

Final Project – Bank Accounts


Due: Wednesday, May 14, 2019 by 11:59 PM

For your final project, you will be creating an application that interacts with the user to add and review
bank account records.

Main Screen:

Your application should display a welcome message to the user and a set of options for the user to
choose from. Each option will popup a new window.

Welcome to MCC’s Bank. Please choose from the following options:


1. Upload Customer Records from File
2. Add New Customer Account
3. Download Statistics
4. Exit Program

Program Forms

Option 1: Upload Customer Records

If the user chooses this option, the program will display a window that allows the user to type the
name/path of the file containing the customer records. The program will read the file and store its
contents in an appropriate class.
• Note that a customer might have more than 1 account. You should think of an efficient way to
store the information so that you can quickly find all accounts associated with a customer

• Possible Account Types: BasicChecking, InterestBearingChecking, Saving, Retirement. Use


an enum to store these

Input File Format:

LastName, FirstName, Username, Password, AccountNumber, AccountType, Balance,


InterestPercent

• Only Saving and InterestBearingChecking have the InterestPercent

Sample Input File:


Bob, Mike, bobbmike, Ball!36Hi, 109001, Saving, 140.23, 0.05
Bob, Mike, bobbmike, Ball!36Hi, 109001, BasicChecking, 555.23
Matt, Benjamin, jamimatt, Kit.24TT, 109201, InterestBearingChecking, 9000.00, 0.06
Keller, Helen, kel23hel, Poppins?89, 192911, Retirement, 11198.10
Keller, Helen, kel23hel, Poppins?89, 192911, InterestBearingChecking, 11198.10, 0.03
Tim, Mary, coolcats, purr45??, 199122, BasicChecking, 201013.10

1
• Once done reading in the file, a success message should be displayed to the user.
• The user can upload as many files as they would like. The program should append the file
contents to the accounts already in the system.
• If any errors occur while reading the file, an appropriate error message should be displayed to
the user. If any lines are missing needed info, an error message should be displayed for that
line only and the program should continue processing the rest of the file.

Option 2: Add New Customer Account

If the user chooses this option, the program will display a form with the appropriate controls to ask the
user for the customer’s first name, last name, username, password, password (again), account type,
and account balance.
• The account number should be automatically assigned (1 larger than the last account number
in the system).
o You can assume for this project that the user will upload all files first before trying to add
a new customer. So, as long as your account number is larger than the ones defined in
the file, you are safe.
• The password and password (again) should be identical
• Passwords must be between 8 and 10 characters, contain at least 1 upper case letter, 1 lower
case letter and 1 digit.
• The password should NOT contain the first name nor the last name.
• The username should be unique. No other user should have the same username (unless it is
the same user with the same first and last name)
• The form should have an Add button that does the above validation and adds the new
customer to the existing customers already in the system.
o If the Add is successful, an appropriate message should be displayed and the form
controls should be reset to allow the user to add another customer.

Option 3: Download Statistics

This option should have a textbox for the user to type in the name/location of the file where the
statistics should be downloaded. The program will create a statistics file with the following data:

a. A sorted list of all customers including all information (except the password) about them. If
a customer has more than 1 account, they should all be listed, indented, under the
customer’s first name, last name and username.
b. Do NOT display the passwords in the statistics file.

Option 4: Exit the Program

If the user chooses this option, the application will exit.

2
What to Hand in:
You will hand in, through blackboard, pictures/screenshots of all your GUI pages, all of your java files
and your statistics file.

Grading:

The project will be graded out of 150 points as follows:


• Layout (Screenshots) of all GUI pages: 25 points
• Class/Code Organization: 20 points
• Well commented code and javadocs: 10 points
• Option 1: 35 points
• Option 2: 35 points
• Option 3: 25 points

Vous aimerez peut-être aussi