联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp2

您当前位置:首页 >> Python编程Python编程

日期:2020-06-11 11:27

Note: This is a summary for component 3 of the assessment. Further information related to the

marking criteria, regulations and where to get help can be found in the full Assessment brief for

components 1 , 2 and 3 of the assessment on Moodle under the section “Assessment Information”.

Component 3: Design, development and testing of a computer

programme solution (Total weight 70%)

Part A – Design documentation (weight 15%)

Overview of banking systems

A banking system is a group or a network of institutions that provide financial services for citizens.

These institutions are responsible for operating a payment system, providing loans, taking deposits,

performing money transfer and helping with investments. In this coursework, students will create a

‘prototype’ Banking system to focus on basic operations such as deposit money, withdraw money,

transfer money and agree to make loans to their customers. The system admin can create new bank

accounts to customers, search for customers’ accounts, update/view customer personal details and

close customers bank account.

Use the above activities to draw two flowcharts using the special shapes to represent different types

of actions or steps in a process. Link these activities with Lines and arrows show the sequence of

the steps, and the relationships among them.

For this part of the assessment you need to submit two flow chart diagrams (total weight

15%). To complete this you must refer to Week 2 learning materials.

o (7%) One diagram should depict the log-in process for the banking system

o (8%) Second diagram should explain a critical/complicated process of the system e.g.

making money transfer from one account to another.

Part B – System development (weight 40%)

Important:

This part of the assessment should not be attempted by students until you are

provided with the partial implementation code which you must use as a starting

point of your system, and this will be provided to you around week 7 of this

semester. Developing your banking system from scratch is not acceptable for

this assessment, and may lead into losing substantial amount of marks.

Description:

Rationale

This programming assignment is to apply the programming principles covered in tutorials and

lectures to develop a python software that implements core banking solution that is used in banks by

its customers and staff members. The software can be fully implemented using text based interface,

however, to achieve higher marks, a GUI based software can be developed using the Python GUI

Programming module namely Tkinter. GUI design and Tkinter programming will be covered during

week 10. The aim of the exercises is to enhance a student’s experience of programming by applying

programming principles to a larger problem of developing a complete application.

There are mainly two reasons behind the selection of the banking system as the topic of this

coursework. Firstly the students are familiar with the banking systems, hence, students will spend

less time and effort to understand the functions specification of the software they will be developing

for this coursework. Hence, most of their time will be devoted to the design, development and testing

of the banking system by applying the programming knowledge and skills they learnt throughout this

module. Secondly, GUI based programs make it easier to interact with the developed system and

demonstrate a direct relationship between the user interaction and the system functions and data.

Also, students will learn about how a product works entirely from the user's (or customer's)

perspective and not from just a developer prospective. Hence, they will need to develop a user

friendly GUI.

Objective - Sample prototype application

The objective of this assessment is to develop a python software that implements a core banking

solution that is used in banks by its customers and bank admins. A partial implementation of a

prototype banking system will be developed during the practical sessions in the PC labs. This

prototype will be developed to include basic banking system functionalities such deposit money and

display balance. The main class will allow to add a number of customers accounts at the start of the

software. At the initial stage, all customer data will be hard coded. However, for students to achieve

higher marks, they should enhance the system functionalities by using text files to store the

customers related information.

Assessment specifications with a detailed marking scheme:

To achieve a mark to maximum of 40% of the total marks for the System Development

The application must implement all the following:

Create the necessary classes and functions which allow admins to perform the following tasks

? Admin Login

? Search for a particular customer to perform various banking operations on a

customer bank account i.e. check balance, deposit or withdraw money etc.

? Deposit money into a customer account

? Withdraw money from a customer account

? Check current balance for a customer

? View customer details e.g. name and address

? Update customer information e.g. name and address

To achieve a mark of 41% to maximum of 50%

The application must implement all the above and the following:

Create the necessary classes and functions which allow admins to perform the following tasks:

? Close a customer account i.e. remove customer from the system

? Update admin own information i.e. name and address

? Print all customers details

To achieve a mark of 51% to maximum oFf 70%

The application must implement all the above and the following:

? Customers can have different types of bank account. Accounts will differ in their name,

interest rate and overdraft limit etc.

? The bank system should be able to store and load all customers’ data from and into a file.

To achieve a mark of 71% to maximum 80%

The application must implement all the above and the following:

? Transferring funds/money from one account to another. For example, an Admin can

transfer funds from one customer account to another customer account.

? Admins can request a management report. This should show the following information;

o Total number of customers in the system

o The sum of all money the customers currently have in their bank account.

o Using individual account balance, the report should calculate the sum of interest

rate payable to all accounts for one year, note, if customers have different account

types, their rates will vary.

o Total amount of overdrafts currently taken by all customers.

To achieve a mark of 80% and over

? Development of a suitable Graphical User Interface (GUI) to perform all the above

banking functions.

Note: students need to submit their system alongside the necessary objects to test their software by

the tutors when marking. For example, if your system is able to deal with different types of bank

accounts (e.g. business and savings accounts), then you should populate the system with at least

two customers that have two or more different account types.

Part C – Testing and evaluation (weight 15%)

Software testing is the process of evaluation a software item to detect differences between given

input and expected output. Students are expected to perform White Box Testing (also known as

Clear Box Testing). White box testing involves looking at the structure of the code. Since you know

the internal structure of a system, tests can be conducted to ensure that the internal methods and

operations perform according to the specification. Students must chooses inputs to exercise paths

through the code and determines the appropriate outputs. Good testing means your system is free of

logical and run time errors.

? For this part, you need to develop a test plan that includes test cases based upon the

system design and implementation of your Banking System.

o We expect around 15 unique and valid test cases for your system.

o Testing and evaluation mechanism and methods will be explained during Week 9

when we will cover “Debugging and Test Plan”.

o Testing and evaluation will only be done when the 1st version of your software has

been implemented.

Submission Details:

Format:

All work should be submitted on Moodle as a single zip file. The zip file should contain the following:

o Software implementation checklist (Compulsory).

o Design documentation which includes two flow chart diagrams

o All of your source code and associated project files.

o Testing and evaluation inclusive of test cases.

The zip file should be structured so that the location of its contents is clear and unambiguous.

Please submit only one version of your work. Also, the zip file should be named using the following

format StudetName_studentID.zip

For example: ShadiBasurra_123456789.zip

PLEASE MAKE SURE THAT YOUR APPLICATION WILL WORK ON THE UNIVERSITY'S

MACHINES. DO NOT RELY ON THE FACT THAT IT MAY WORK ON YOUR OWN LAPTOP/PC

AND THEREFORE IT SHOULD WORK ELSEWHERE.


版权所有:编程辅导网 2018 All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。