banking systems讲解、python程序语言调试、python设计讲解
- 首页 >> Java编程 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.
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.