[SOLVED] Scheme GUI python graph software INF4002 Introduction to Programming Team Bank Assessment 2019-20

$25

File Name: Scheme_GUI_python_graph_software_INF4002_Introduction_to_Programming_Team_Bank_Assessment_2019-20.zip
File Size: 913.74 KB

5/5 - (1 vote)

INF4002 Introduction to Programming Team Bank Assessment 2019-20
Introduction
This team assessment lasts 5 hours and is open book. This means:
You can refer to your notes, textbooks and online sources for information
You can obviously work with your team members.
However, you cannot communicate with anyone outside of the room
This is worth 40% of the modules overall grade.
Aim
To create a software application written in Python to support the activities of a clerk working in a small village bank. This bank allows customers to deposit (pay in) cash and withdraw (take out) cash. It is a very simple bank e.g. no interest is paid to customers. The application interface and a description of its functionality can be found on the last sheet.
Important
This is a prototype. There is no need to persistently store or save customer bank accounts, i.e. customer bank accounts are only available when the application is running when the application closes, all customer details and transaction details will be lost.
Assessment
As a team, using the skills and knowledge taught in INF4002, design, build and test this application including the GUI (Graphical User Interface). Please note:
A possible design for the backend code is below
In Blackboard (MOLE), is some Python main and GUI package code. You do not need to use these packages,
but they might help
The Python code should include comments to help the reader understand its logic and use
The application should satisfy the requirements specified on the last sheet. In particular, it should allow a
clerk:
1. To enter a new adult customer with first name Peter, surname Stordy, account number 12345678 and an initial balance of 50
2. Observe a message saying a new account has been created
3. To enter a deposit transaction of 50 on 12th December 2019 for account number 12345678
4. Observe a message saying the deposit transaction was successful
5. To enter a deposit transaction of 100 on 21st December 2019 for account number 12345678
6. Observe a message saying the deposit transaction was successful
7. To enter a withdrawal transaction of 100 on 31st December 2019 for account number
12345678
8. Observe a message saying the withdrawal transaction was successful
9. To enter a deposit transaction of 50 on 12th January 2020 for account number 12345678
10. Observe a message saying the deposit transaction was successful
11. Observe a message listing all transactions (deposits and withdrawals) since the account 12345678 was
created (see last sheet)
12. Observe a message which states account number 12345678 is 150 in credit (i.e. positive)
13. Observe a message which states the details of account number 12345678 (first name Peter, last
name Stordy, initial balance 50 and current balance 150)
14. Observe a message which states account 12345678 balances i.e. the initial balance + all deposit all
withdrawals = current balance i.e. 50 + 50 + 100 + 50 100 = 150 in credit
15. Remove all text entered in all fields

Possible Design
bank_accounts.py
bank_account.py
class BankAccounts
method __init__(post_code)
bank_accounts = [] # stores a list of customer bank accounts
method get_post_code()
method get_account(account_no)
method add_new_account(bank_account)
class BankAccount
method __init__(first_name, last_name, account_no, initial_balance)
transactions = [] # stores a list of customer transactions
balance # stores the current bank account balance
method deposit(date, amount)
method withdrawal(date, amount)
method get_first_name()
method get_last_name()
method get_account_no()
method get_balance()
method get_initial_balance()
method get_transactions()
method print_account_details()
method check_balance()
method print_all_transactions()
class ChildBankAccount(BankAccount)
method __init__(first_name, last_name, account_no, age, withdrawal_limit, initial_balance)
method get_age()
method get_withdrawal_limit()
method withdrawal(withdrawal_date, amount_requested)
transaction.py
Team Assessment Marking Scheme
Blackbox criteria [30 marks]
[20 marks] Meets functional requirements (e.g. successfully completes the example test) [5 marks] Meets non-functional requirements (e.g. GUI interface)
[5 marks] User-friendly messages (e.g. user input checked)
Whitebox criteria [70 marks]
General:
[15 marks] Understandable (e.g. good choice of variable names, helpful comments)
[10 marks] Reusable (e.g. good choice of classes, methods and functions)
[10 marks] Layout (e.g. good use of white space)
Specific:
[5 marks] Event handling (e.g. correct use of GUI Tkinter command property)
[5 marks] Functions and class method parameters checked (e.g. correct data type)
[5 marks] Well-chosen simple and collection data types (e.g. strings for non-arithmetic variables)
[5 marks] Use of looping (e.g. for and while loops correctly terminated)
[5 marks] Use of conditional statements (e.g. if, elif and else statements correctly determine actions) [5 marks] Use of inheritance (e.g. class methods overridden by child methods)
[5 marks] String manipulation (e.g. concatenation of variables and strings)
class Transaction
method __init__(transaction_date, amount)
method get_amount()
method print_transaction()

Team Submission
When your team have completed this task, one person in the team, should zip-up the folder containing all Python files and submit the zipped-file to Turnitin. The zip file should be named group-XX where is XX your group number. Late penalties will be applied to the whole team if the submission is after the deadline (5% of grade achieved). Keep the digital receipt safe. The latest time a submission can be made is 5 minutes after the deadline. Submissions after this time will receive ZERO marks. No submission will receive a NC mark.
Peer Assessment
Every team member should evaluate each team members contribution. In Blackboard (MOLE) you can find a link to a Peer Assessment Google-based form. Other team members will not be able to see the grades you assign and the comments you write. Individual team members grade = the average percentage awarded to each group member X the team grade e.g. if a student was awarded 90%, 80% and 70% by their team members and the team grade was 60, the student would be awarded 80% X 60 = 48 marks.
Important: A penalty of 3 marks will be applied to any students grade if they fail to supply a full peer assessment.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] Scheme GUI python graph software INF4002 Introduction to Programming Team Bank Assessment 2019-20
$25