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

30 $

File Name: 代写_Scheme_GUI_python_graph_software_INF4002_Introduction_to_Programming_Team_‘Bank’_Assessment_2019-20.zip
File Size: 1036.2 KB

SKU: 0028388849 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


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 module’s 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 member’s 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 member’s 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 student’s 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
30 $