OOP Assignment 2
OOP Assignment 2
Assessment Brief
Assessment Details
Assessment
The following is the assignment as set out for the module of OOP. The assignment is an Individual
assignment. Code must be written in C# (WPF) with MS SQL Server Backend. The following table
illustrates a guide to the percentage allocation for each part of the assignment. However, please
note that this marking is based on a completed project.
Page 1 of 5
Assessment Specification
A local company has been granted a banking licence from the Central Bank. In order to facilitate the
operation of this bank a bespoke software application will be required to be built. The company has
requested you to develop a prototype for an internal application which their staff will be able to use
to perform basic banking tasks.
The basic requirements are described in the following table.
Requiremen Description
t
REQ 1 The desktop application must be built using the .Net Framework with a MSSQL
Server backend. It has been suggested to build the application using a three-tiered
architecture.
REQ 2 When the application is launched, a user must be presented with a screen similar
to allow them to login.
A menu will always be present at the top of the application; however, the contents
of the menu are context specific. When the application is initially launched the
menu should have the following structure.
Level 1 File
Level 2 Login Exit
REQ 3 In order to ensure appropriate use of the application only internal staff maybe
allowed use this software. As a result, a user must login to the application. The
username can be displayed in clear text; however, the password should be masked
using a * for each character of the password.
If the user enters an incorrect username and/or password a message should
appear informing them so.
REQ 4 Once a user has successfully logged into the application the menu context will
change. The menu should now display the following:
Level 1
File -- Account
Level 2
Log Out -- Exit -- New Account -- Edit Account -- Deposit Funds -- Withdraw Funds
-- Transfer Funds -- View Transactions
REQ 5 In addition to updating the menu upon a successfully login a grid should be
displayed containing information relating to existing bank accounts.
If no bank accounts exist then the grid should be empty. (i.e. contain no
information)
Page 2 of 5
REQ 6 A bank user must be able to create a new account. To do this they select the “New
Account” menu item under “Account” from the menu bar.
The following data must be captured:
County The county of the bank account Drop down list of the
owners postal address counties of Ireland
Account Type The account can be either a Radio buttons
Current Account or a Savings
account
Account Number The new account number for the Int (8 digits)
account
Sort Code The sort code for the bank where This should default to
the account is registered 101010 and should
be read-only. The
default value for sort
code should be
stored in a
configuration file. Int
(6 digits)
Page 3 of 5
A savings account does not have an overdraft amount. When a new account has
been successfully added to the system, the grid displaying all the accounts in the
system should be updated to include the newly added account.
REQ 7 The bank user of the application must be able to update/edit existing accounts.
The following fields should be read only. That is the user should not be able to
modify the account balance using this screen.
First Name
Surname
Initial Balance
Account Type
Account number
Sort Code
All other fields should be pre-populated with the relevant data for the account
being updated.
As per REQ6, the grid displaying all accounts should be updated to reflect any
changes in the account information.
REQ 8 The user should be able to lodge and withdraw funds on behalf of the account
owner. A screen should be displayed where the user enters the amount of funds
which has been requested to be deposited or withdrawn for a given account.
Once a lodgement or withdrawal has been made, the grid displaying all the
accounts should be updated to reflect the change in the account’s balance.
REQ 9 The bank user should be able to transfer funds from one account to another. For
current accounts the destination account (account which funds are being
transferred to) can be either an internal account or an external account (account
held in another bank such as AIB). For a savings account funds can only be
transferred internally with the bank.
The following data must be captured to perform this task
Name Description Data Type Destination Sort Code The sort code of the
account which the funds will be deposited
Destination Account Number
The account number of the account which the funds will be deposited Int
(6 digits)
Transfer Amount The amount of funds which will be transferred. This
amount should not exceed the source account’s limit. The limit is defined
as the current balance plus the overdraft limit.
The amount should also be greater than 0.
Transfer reference number
A unique number associated with the transfer
Date/Time of transfer A system date time when the transfer has taken
place
It should be noted that funds must be debited from the source account. If the
destination account is an internal account (i.e. account in the DBS CU system) then
the funds must be credited to that account. If the destination account is not an
internal account then there is no need to credit any account.
Page 4 of 5
REQ 10 The system is expected to keep an audit of all funds entering and leaving an
account. Each time a lodgement, withdrawal or transfer is made a transaction
record should be recorded against all applicable accounts.
REQ 11 The system should provide a means to serialise the details of a specific account
into an XML format.
REQ 12 A complete suite of test code should be developed which covers all layers/tiers of
the application
NOTE:
You must submit all your C# code, project(s) and solution files along with any other
supporting documentation.
You must also submit all your SQL code, including a create scripts for any tables and/or
stored procedures you have used.
Presentations:
The group must present their project on zoom on the week starting 07 April 2025.
Each presentation should be about 30 minutes, allow 15 minutes to show your working
project and 15 minutes for questions and answers.
Criteria/ < 40 40 - 49 50 - 59 60 – 69 70 +
Mark
C# & Technical Merit Insufficient or Some but Sufficient solves Well-structured Excellent
incomplete insufficient and problem but lack code that solves solution to
code structure poorly of attention to the problem problem
structured code coding practices
which doesn’t
solve the
problem
Page 5 of 5