DTS102TC Programming with C++/R - Coursework 2: Develop a bank system
DTS102TC Pr ogr amming with C++/R
Coursework 2 (Individual Assessment)
Weight: 50% Maximum scor e: 100 mar ks (100 individual mar ks)
Assessed learning outcomes: A. Demonstrate knowledge and under standing of basic p inciples of C++ pr ogramming language. B. Demonstrate knowledge and under standing of basic software development process. C. Develop software development skills covering program design, coding, testing, debugging and executing. D. Demonstrate under standing of the pr inciples of object or iented programming. E. Demonstrate knowledge and under standing of basic principles of R programming language.
Question 1 (20 Marks)
Overview
As a common household appliance for refrigeration and heating, air conditioners are replaced by about 20 million units in China every year. In the process of air conditioning sales, customers comprehensively consider the brand, power, noise, star level, sales volume, price, etc. You are expected to write script to read data from 'Air_condition.csv' file and complete the following tasks using R functions.
Tasks
- Read data from the 'Air_condition.csv' file, and assigns each data to a different variable. (4 marks)
- Count the sales volume of each brand. (4 marks)
- Give the product quantity of each brand. (4 marks)
- Calculate the five brands with the highest star level. (4 marks)
- Find out the factors most relevant to sales volume, in terms of brand, power, noise, star level and price. (4 marks)
Question 2 (80 Marks)
Overview
The purpose of this task is to gain experience in C++ programming and develop software development skills. You are expected to write a C++ program to develop a bank system. As a financial system in daily life, banks have good account management and savings management capabilities. The basic operations of the system include the following functions:
- AccountCreation function : Create a bank account number, including ID, name and password.
- AccountDelete function : The account can be deleted after login is successful.
- AcountQuery function : After successful login, you can query the amount of the account.
- AcountBalance function : After successful login, you can report the balance of the account.
- MoneyDeposit function : After successful login, you can deposit your money.
- MoneyWithdraw function : After successful login, you can withdraw money from your account.
- Quit function : Exit the system.
Tasks
You are required to use the Internet resources to learn the detailed rules of the bank system, and use the C ++ programming language to develop a bank system yourself.
1. Program Design (20 marks)
Read the overview of the project carefully, design the data structure and algorithm of this program. i) Use UML tools for data structure design. The data structure design covers: b) the storage structure of the account. (5 marks) a) the storage structure of the amount. (5 marks) ii) Use flowcharts tools for system process design. The system process design covers: 5
a) Process design for normal operation. (5 marks) b) Process design of abnormal operation. (5 marks)
2. Program Implementation (40 marks)
Complete the program implementation using C++ language based on the program design. This sub-task covers: i) implementation of AccountCreation function. (5 marks) ii) implementation of AccountDelete function. (5 marks) iii) implementation of AcountQuery function. (5 marks) iv) implementation of AcountBalance function. (5 marks) v) implementation of MoneyDeposit function. (5 marks) vi) implementation of MoneyWithdraw function. (5 marks) vii) Code quality covering naming rules of variables and comments of functions. (5 marks) viii) Object-oriented program development covering object definition and object encapsulation. (5 marks)
3. Program Test (10 marks)
Execute the developed system and complete the system function test. i) normal operation testing.(5 marks) ii) abnormal operation testing.(5 marks)
4. Program Analysis (10 marks)
Give a detailed analysis of your completed code and test results, consisting of: i) the completeness of functions. (3 marks) ii) the complexity of algorithms. (3 marks) iii) the rationality of function invoking logic. (4 marks).