School of Computing and Information Systems
BSC COMPUTER SYSTEMS ENGINEERING
CSE202-OOAD with JAVA Year 2 Semester1
Assignment
Title: Development of Banking Application
Issue Date. : 29 September 2020
Submission Date: 7 December 2020
Total Marks: 100
Instructions to candidates
1. Candidates must attempt ALL questions.
2. You are to make your submission on turn-it-in. You may consult with your
tutor/lecturer on how this will be done.
3. Ensure that you have an account on turn-it-in by going to www.turnitin.com.
Use the credentials provided for accessing this system. If you do not have
them, get hold of the tutor/lecturer as soon as possible.
4. Any work with plagiarism level above 30 % will not be marked. It your
responsibility to make sure that your plagiarism level is within this level. Monitor
it on regular bases. If your share your solution with others, chances of the
plagiarism rising above this level are high.
5. It is your responsibility to ensure that you have Object Oriented Analysis and
Design with Java module in turn-it-in before submission date and you do not
drop the module. Consult with your tutor/lecturer if this is not the case.
Page 0 of 10
The Banking Application
The Bank Scenario
A local bank intends to install a new automated teller machine (ATM) to allow users (i.e., bank customers)
to perform basic transactions. Each user can have multiple account at the bank. ATM users view their
account balance withdraw cash deposit funds, check the balance, request a statement for an account and
change the pin for his account.
Develop software to perform the financial transactions initiated by bank customers through the ATM. An
ATM session consists of authenticating a user based on an account number and personal identification
number (PIN) creating and executing financial transactions to authenticate a user and perform
transactions interact with the bank’s account information database. For each account, the database stores
an account number, a PIN and a balance indicating the amount of money in the account. As the customer
is interacting with the ATM a record of each transaction related to each account. The details kept must
include the account, amount date, time, transaction type (i.e. withdrawal, deposit). The ATM GUI may
appear like the image below:
Figure 1 ATM frontend or customer side
Page 1 of 10
Figure 2ATM Backend or admin side
Banks offer to individuals or companies/organizations, called Customers, services where they can
securely put their money for future use, or where they can be paid their funds on called an Account. In a
Bank, a customer can open or have one or multiple accounts. Accounts in a bank differ according to what
and how the customer may prefer. These include;
1. A Savings account where a customer may deposit funds for future use. This account is capable of
paying some monthly interest based on the amount, balance, in the account. This account does
not allow any withdrawals from it.
2. The InterestBearing account which is an investment account that pays more interest that the
savings account. The customer can deposit funds into the account as well as be able to withdraw
any funds they need. The account can only be opened with an initial deposit of BWP500.00.
3. A Cheque account that is normally used for crediting of salaries. Customers normally get their
salary payment through this account. The account allows deposits and withdrawals of any amount
of funds. This account can only be opened for any person who is working. The customer in this
case must provide information on where they are working (i.e. the company, the company
address,)
Identify Element/Entities
Account, Customer
Page 2 of 10
Add Attributes and Characteristics
Account (account Number, balance, branch, owner etc.). REMEMBER: an account cannot exist without
being held by a customer.
Customer (firstname, surname, address, etc.)
Developing the Banking System Program
The Banking System must;
1. Allow a customer to open an account with a bank
2. Allow customer to make deposits in any or all of the accounts they hold.
3. Ensure interest is paid to the appropriate accounts to customer. i.e. 5% monthly for a
InterestBearingAccount and 0.05% monthly for SavingsAccount.
You will also be required to explore different features of Java to program your Banking system.
Note that this would be an individual assignment which would yield different kinds of Banking
applications to demonstrate student’s independence and thinking.
The assignment will be submitted in stages as follows dates to be confirmed;
1. Research Component
2. Requirements engineering Models
a. Functional Model
i. Use case diagram
b. Structural Model
i. Class Diagram
c. Database Model
3. Final artefact
AIM
1. The aim of the Assignment is for students to gain knowledge in research, analyzing and develop a
highly computerized Banking system, exploring various Java API features.
Page 3 of 10
Learning Outcomes
• LO1 Show an appreciation of the use of advanced Object-Oriented techniques to simplify application
development.
• LO2 Demonstrate an awareness of a wide range of data structures for use in a wide range of applications.
• LO3 Appreciate the use of a variety of development tools (i.e. IDEs),
• LO4 Describe Object Oriented Analysis and Design concepts and apply them to solve problems,
• LO5 Prepare Object Oriented Analysis and Design documents for a given problem using Unified Modeling
Language and Java Language Specification Choose appropriate data structures from the Java Collection
API.
• LO6 Build an application with key OO principles.
• LO7 Implement safe & robust applications
• LO8 Use features of the New I/O API.
• LO9 Perform database queries and updates using JDBC.
• LO10 Write multi-threaded Java application
• LO11 Write GUI based programs
1. The Research 30 marks
Tasks 1
1) Write a report that discusses the following Software Development Methodologies titled
Comparative Analysis of waterfall and FDD methodologies. Your discussions should
detail how the activities are carried out within each method. Include a recommendation
identifying why you would use over the other
a. Waterfall
b. Feature Driven Design (FDD)
The report should be 1500 words.
Criteria Possible mark Actual mark
introduction 3
Main body waterfall 5
Main body FDD 5
Recommendation/Conclusion 5
Presentation 5
Structure 2
referencing 3
Reference list 2
total 30
Total Marks [30]
Page 4 of 10
Task 2
2. Modelling and Development of the Banking System
a. Requirements Engineering [ 30 marks]
1. Use Case Diagram [ 11 marks]
2. Class diagram [ 15 marks]
3. Database Model [ 4 marks]
1 Use case diagram 11marks
1mark for customer
actor
1mark for agent actor
1 mark each for each
use case max
3 and 1 mark each for its
association max 3
1marks system boundary
1 mark for using include 11
1 mark for using extend
2 Class diagram For 2 classes 10
1 mark for class name
1 mark for at least 1
attribute
1 mark for at least 1
behavior max 10 marks
1 mark for inheritance 5
1 mark using an
interface
1 association
1 aggregation
1 composition
3 Database model 1for entities 4
1relationships
1primary keys
1 multiplicity
Page 5 of 10
b. Artefact (ATM Bank system) [40 marks]
1. Database Development [ 7 marks]
2. Executable JAR file [ 1 mark]
3. GUI [1 mark]
4. functionality [21 marks]
5. MVC. [3 marks]
6. Presentation [4 marks]
7. Documentation of code [3 marks]
database Create customer table statement 1 mark 3
Primary key1 mark
1 mark for attributes.
Create account table statement 1 mark 4
Primary key1 mark
1 mark for attributes
1 foreign key
Executable jar 1 mark 1
file
QUI 1for loading GUI 1
functionality ATM front end [log on] 3.5
[1/2] accept name and pin to login
[½]for gui component
[1/2] marks for event listener to initiate login
[1/2] for comparing with database names and pins
[1/2] marks for successful login
[1/2] mark for unsuccessful log in
[1/2] mark for log out or end session
functionality ATM withdraw 2.5
[1/2] for amount input
[1/2] for gui component to initiate withdraw
[1/2] marks for event listener
[1/2] marks for call to withdraw method
[1/2] to update balance in database
functionality ATM deposit 2.5
[1/2] for amount input
[1/2] for gui component to initiate deposit
[1/2] marks for event listener
[1/2] marks for call to deposit method
[1/2] to update balance in database
functionality ATM check balance 2.5
[1/2] for gui component to initiate check balance
[1/2] marks for event listener
Page 6 of 10
[1/2] marks for call to getbalance method
[1/2] to select balance from database
[1/2] display of balance
functionality ATM check statement 2.5
[1/2] for gui component to initiate check statement
[1/2] mark for event listener
[1]/2 mark for call to getstatement method
[1/2] to select transactions from database
[1/2] display of transactions
functionality ATM backend add customer or account 2.5
[1/2] for gui component to initiate add customer/ account
[1/2] marks for event listener
[1/2] marks for call to add customer /account method
[1/2] insert statement into database
[/21] display of confirmation
functionality ATM backend add funds 5
1] for gui component to initiate add funds
[1] marks for event listener [1] marks for call to add funds
method
[1] to insert data in database
[1] display of funds added/confirmation
MVC Presence of Controller that acts as an interface between 3
View and Model. [1]
Presence of Model that represents the state of the
application [1]
Presence of View that represents the presentation i.e. UI
(User Interface). [1]
Presentation [4] marks 4
Documentation For any class 3
Of code [1] marks for class comment
[1] marks for method comment
[1] end of line comment
Total 40 marks
The Artefact
i. The source code required for the program viewable via Intellij.
ii. The developed application must be a GUI Application that would be executed
using an executable JAR file
iii. All this must be submitted via \\Sechaba server
Page 7 of 10
Guidelines
1. Research must be submitted as a separate document on Turnitin.
2. Requirements Engineering documentation should include UML diagrams and
written descriptions of each class or module and to be submitted on TurnItIn.
3. UML diagrams should be done professionally with Visual Paradigm or Dia
Portable
4. A MySQL or Access or Oracle DBMS may be used to store application data, all
CRUD functions must be implemented
5. A sample records of 20 objects must be inserted into the database at the time of
submission
·
The submissions on TurnItin (TII) must be on the set deadline and time. We
practice zero tolerance for late submission
Submission of Assignments using TurnIt In Guidelines
Important: Students must read this document very carefully!
All assignments for year 1, 2 and 3 will be submitted through TurnItIn, a system that is meant to assist
students to write and submit original work that minimizes plagiarism. All students have been given
access to the TurnIt In system.
Care should be taken to ensure that your paper is unbiased and accurately referenced using the
Harvard referencing system.
Quotations should be no more than two lines long and, taken all together, should represent less than
10% of the words written. The remaining 90% of this assignment must be entirely in your own words.
The TurnIt In URL will be given to students to check for their registration
Assignment Submission and Marking
Your assignment should be submitted as one document. This should start with a title page which
includes the following information: - the module code, title of paper, your name and student
registration number. The title page should then be followed by the body of the assignment which
should be a correctly formatted document.
The assignment will be submitted electronically via TurnItIn and there is no requirement for any other
form of submission. Uploading your assignment constitutes the submission. Turnitin will be closed at
1159pm on the submission date and therefore there is no room for late submissions.
Assignments submitted in Microsoft Word format will be accepted for marking. Files must be less than
20 MB.
Essential Information
1. This is an individual assignment, the work must be entirely your own. The safety of your
assessments is your responsibility. You must not permit another student access to your work.
2. Your assignment will be submitted electronically via TurnIt In. You must therefore sort out any
module registration log in problems as soon as possible for your module and upload your
Page 8 of 10
assignment by the date specified. If you cannot log in and upload an assignment by the due
date you will fail this assignment. You are strongly recommended to upload a draft
assignment at least 1 week before the deadline and to keep uploading revised versions.
Technical problems on the deadline day will not be accepted as a valid excuse for non-
submission.
3. The assignment deadline will be midnight on the date specified by your tutor.
Page 9 of 10
4. Plagiarism, paraphrasing and downloading large amounts of information from external
sources, will not be tolerated and will be dealt with severely.
5. All text taken from other sources must be in quotations and the sources cited. Quotations
should be no more than two lines long and, taken all together, should represent less than 10%
of the words written. The remaining 90% of this assignment must be entirely in your own
words.
6. You should upload a draft assignment report much earlier and respond to the ‘TurnItIn’ report
generated. This report will indicate any non-original words in your paper including a) correctly
quoted text, b) the reference list and c) and any plagiarized text. Reports that come back rated
at less than 20% non-original text are usually fine. Those that come back with a score of over
25% i.e. yellow, orange or red usually need fixing. Plagiarized text will not be tolerated. Please
note that the generation of originality reports can take up to 24 hours though often this is
available much sooner and in some cases within minutes.
7. You can repeatedly submit your assignment up until the deadline and last assignment
uploaded at the deadline will be marked. You will be marked online and will be able to see
your marks and feedback online at the same location).
8. If you cannot complete this assignment for reasons that are outside of your control, e.g.
serious illness, you can apply to the mitigation panel asking for a deferral but you will need to
provide appropriate evidence. Technical problems on the day of the assignment deadline,
module registration issues and failure to back up your work will not be accepted as valid
excuses therefore you should a) ensure you can log into the module b) upload a draft
assignment early and keep uploading revisions as you make changes c) keep electronic copies
of your work.
Page 10 of 10