Faculty of Engineering and Information Technology School of Computer Science
31927 - Applications Development with .NET 32998 - .NET Applications Development
SPRING 2022 ASSIGNMENT - 1 SPECIFICATION
Monday 11:00am, 19 September 2022
Summary
This assessment requires you to develop a Simple Bank Management Systems using C#. Bank account details, user data, banking transactions etc. are to be stored in files. It has to be a C# console application. The specification/requirements are detailed in the rest of the document.
Students need to submit the complete project folder in zip format, which will have the complete C# code, solution file, data files etc. required to run/test the program. Any special instructions required to run the code has to be provided in a text file.
Assignment Objectives
The purpose of this assignment is to demonstrate competence in the following skills.
q Ensurefirmunderstandingofthe.Netframework,C#basicandsyntax
q Understandhowthe.NETframeworkimplementsOOconceptsandtheimplications this has for new language design
q Arrayandstringmanipulation
q CreatingcustomclassesandmethodsinC# q FileoperationsandhandinginC#
q Creatinginteractiveconsoleapplications
q CreategoodOOdesign.
Tasks:
In this assignment you need to develop a menu driven Simple Bank Management Systems using C#. Bank account details, user data, banking transactions etc. has to be stored in files. The components/menu items described below that should be in the screen/console, but you are free to add more options as appropriate based on your application design. It should be a console app.
1. Login Menu:
Functionality: Provide secured access to the banking system. Input fields required:
- - Username : Display the typed characters as it is
- - Password : Display “*” instead of the actual characters
Field checks required:
- Username and Password to be cross checked with the valid
Credentials available in the file to store the login details (login.txt)
- Username should be unique
Display appropriate error message if the credentials are invalid and allow to re-enter the values.
2. Main Menu:
Functionality: Used to navigate through the system using certain options related to common banking
operations.
Menu item required:
1. Create a new account: To create a new account and store it in the respective account file 2. Search for an account: Search for an account using account number
3. Deposit: Deposit money in a valid account
4. Withdraw: Withdraw a valid amount for an account
5. A/C statement: Display account statement for a valid account number
6. Delete account: Delete the account
7. Exit: Exit from the application or return back to the login screen
8. Ask user to select an item number(1-7) from the menu
Field checks required:
- The item number selected should be an integer
- Check for a valid input (1-7) else return back to the menu without any error.
- Check for a non-integer input and return back to the menu without any error.
3. Create a new account:
Functionality: Create a new account in the banking system Input fields required:
- - First Name : Text field
- - Last Name: Text field
- - Address: Text field
- - Phone: Integer
- - Email: Text field
Field checks required:
1. Phone: Integer, should not be more than 10 characters
2. Email: Check if the entered string has “@” (required), “gmail.com”, “outlook.com”, and “uts.edu.au” in the domain (optional) If the information was correct in the input fields:
a. Create a file with the name <account_number>.txt and save all
the information in a proper format, which makes it easy to retrieve.
4. Search for an account:
Functionality: Search for a valid account and display the account details if an account is found
Input fields required:
- Account Number: integer
Field checks required:
1. Account number: Integer, should not more than 10 characters.
Once the search is complete, return to the Main Menu.
5. Deposit:
Functionality: Search for a valid account and deposit the provided amount in the account.
Input fields required:
- Account Number: integer
Field checks required:
1. Account Number: Integer, should not more than 10 characters.
If an invalid account number is provided, appropriate error message should be display, with an option to re-enter/check another account.
6. Withdrawal:
Functionality: Search for a valid account and withdraw the provided amount from the account.
Input fields required:
- Account Number: integer
Field checks required:
1. Account number: Integer, should not more than 10 characters.
If an invalid account number is provided, appropriate error message should be displayed, with an option to re-enter/check another account.
7. Account Statement:
Functionality: Search for a valid account, display and email the statement to the email address provided in the account.
Input field required:
- Account Number: integer
Field checks required:
1. Account number: Integer, should not more than 10 characters.
8. Delete and Account
Functionality: Search for a valid account, display the account details, and delete an account.
Input field required:
- Account Number: integer
Field checks required:
1. Account Number: Integer, should not more than 10 characters.
9. ExitinMainMenu:
Functionality: exit from the simple banking system program.
Additional requirements:
- All login related data to be stored in the login.txt
- All user account data to be stored in the <account_number>.txt file. There should be one file
per account in the system. E.g: 100001.txt
- The console should be interactive and easy to use.
Additional Information:
Assessment Submission
You must upload a zip file of the C# project folder, data files and the solution file to Canvas. This must be done by the Due Date. You may submit as many times as you like until the due date. The final submission you make is the one that will be marked. If you have not uploaded your zip file within 7 days of the Due Date, or it cannot be run in the lab, then your assignment will receive a zero mark.
PLEASE NOTE 1: It is your responsibility to make sure you have thoroughly tested your program to make sure it is working correctly.
PLEASE NOTE 2: Your final submission to Canvas is the one that is marked. It does not matter if earlier submissions were working; they will be ignored. Download your submission from Canvas and test it thoroughly in your assigned laboratory.
Return of Assessed Assignment
It is expected that marks will be made available 2 weeks after the submission via Canvas.