Java bank program

I need a banking program using superclasses and subclasses, I already have a template of some of the code so it does not need to be started from scratch.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

I am also willing to wait a bit longer, until around monday afternoon.

Unit

CourseworkI

Weighting:

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

35%

Qualifying mark

30%

Description

Apply computing principles for programming and algorithmic

design. Case study: “Money Supermarket” comparisons for

savings accounts

Learning Outcomes Covered

All learning outcomes in relation with fundamentals in programming and

in this Assignment:

algorithmic design.

Handed Out:

11th February 2013

Due Date

11th March 2013, 10:00am

Coursework Description

The real-world problem statement:

For this assignment, you will need to build on top of the indicative solutions for all first tutorial exercises (i.e., weeks 16 to 19), which shall be extended towards the expected deliverables for this assignment. More specific, you need to address the following requirements:

a) Visit the URL http://www.moneysupermarket.com/savings/ and get an overview of all possible categories of savings accounts, e.g., Easy Access, Cash ISAs, Peer-to-peer. Please note that you also need to click on each of these categories in order to get an overview of all possible subcategories. For instance, short term fixed rate ISAs (up to 1 year), medium term fixed rate ISAs (up to 2 years), long term fixed rate ISAs (3+ years), are all subcategories of Cash ISAs as a type of savings account.


Programming design: Based on the categorisation scheme for savings accounts as of the URL above, you are expected to design an Object-Oriented software framework, in terms of abstract classes and methods, which is capable of capturing all necessary information about ALL different types of savings accounts. In particular:

Your programming design shall address, apart from the categorisation scheme of savings accounts to become your input for the definition of your classes, any available structural information, which is used to perform comparisons. The latter shall become input for the expected fields (i. e., instance variables) and constructors. For example, Easy Access accounts have attributes like, besides the name of the financial service provider, Account Name, Interest Rate (AER), Minimum Investment, Notice, Access, Product Review, plus a list of advantages (marked in green) and disadvantages (marked in yellow).

The values of attributes indicate the data type to be chosen for each field. For instance, Nationwide, Nationwide BS MySave Online Plus, 2%, £1000, Instant, are corresponding values for the financial product

Easy Access Accounts.

Your programming design shall take into consideration only getters and setters as methods. Setters are methods, which set values for particular fields, e.g., Minimum Investment = £1000, whereas getters are methods, which return the values for particular fields.

Algorithmic design I: Based on (a) and (b) above, specify an algorithm, in pseudo—code and in terms of the fundamental control structures, for ordering – in ascending alphabetical order of the names of the financial service providers – the lists of financial products of a specific category of savings accounts. Subsequently, define an abstract method to include the algorithm in pseudo-code only, by also deciding which abstract class to adhere to.

Algorithmic design II: Based on (a) and (b) above, specify an algorithm, in pseudo—code and in terms of the fundamental control structures, for calculating the interest on deposits for certain categories of savings accounts, when applicable. Subsequently, define an abstract method to include the algorithm in pseudo-code, by also deciding which abstract class to adhere to.

Implementation: Implement the algorithms I and II, as of (c) and (d) above, by taking into consideration your programming design as of (b) above. For your implementation, you may need to turn abstract classes and methods into concrete ones. Your implementation shall demonstrate the correctness of the algorithms in terms of test categories for savings accounts, i.e, classes, and their corresponding financial products, i.e., objects being created, instantiated and ordered as members of corresponding classes.

Your submission:

A zipped file including two folders with the following contents:
1) Source code for deliverables (b), (c) and (d), i.e., programming and algorithmic design in terms of abstract classes/methods and pseudo-code based specification of the algorithms.
2) Source code for deliverable (e), i.e., implementation of the algorithms and, therefore, the abstract classes/methods of the programming and algorithmic design.

Both versions of the source code shall include block comments, which shall comply with the style guidelines as indicated by the programming assignment checklist below, ‘how should I format and comment my code?’

IMPORTANT: Submissions including executable code only or unrecognisable formats will be zero marked.The work you submit must be a zipped file including source code ONLY.

Which programming environment should I use? NetBeans

Coursework Marking scheme

The Coursework will be marked based on the following marking criteria:

Criteria

Mark per

Mark

Comments

component

provided

Coursework main component

70 (
sum of

main

components
)

Component B.1
10

Component B.2
5

Component B.3
10

Component C: Algorithmic design I
15

Component D: Algorithmic design II
10

Component E: Implementation
20

Compilation, style and API

30 (sum of

components

below)
Compilation
returns

no

serious
10
warnings or errors

Style obeys the style guidelines (check
10
programming
assignment
checklist
above)

All methods have been implemented
10
with comments to be used as API (e.g.,
check javadoc, Java API, C++
documentation of libraries)

Total

100

Still stressed with your coursework?
Get quality coursework help from an expert!