Need to develop 3 tier architecture bank application using c#

I need help in completing this project, as soon as possible, the assignment is to create a bank application using 3 tier architecture, using c# class libraries for the data tier and the business logic tier and the presentation tier should be created from WPF. The DLL file should be used in the data tier,I herewith attach the DLL file that is required for this as well. The bank application is only needed, the documentation is not needed.

Get Help With a similar task to - Need to develop 3 tier architecture bank application using c#

Login to view and/or buy answers.. or post an answer
Additional Instructions:

Curtin University — Department of Computing DC, EDC, SPD (COMP3008, COMP4002, COMP5002) Semester 1, 2020 Assignment Due: Friday, June 5 @ 11:59pm Weight: 50% of the unit mark. Contents 1 A Bank Application 1 2 The Data Tier 2 2.1 BankDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 AccountAccessInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 UserAccessInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.4 TransactionAccessInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 The Business Tier 4 4 The Windows Client 4 5 Documentation 4 6 Submission 5 7 Marking Breakdown 5 8 Academic Misconduct – Plagiarism and Collusion 6 1 A Bank Application In this unit you’ve learned the basics of a Distributed system. Now you’re going to build one from scratch by yourself! Specifically, you’re going to be building a banking application. The systemwill allow for users to be added, for accounts to be created and assigned, and for transactions to be created and committed. The system is going to consist of three parts: • AData tier, which connects to the BankDB object in the BankDB.dll available with this assignment. • A Business tier, which allows for filtration of certain fields for user views. Page 1 of 6 DCEDCSPD Semester 1, 2020 • AWindows desktop application, with three windows, one for user management, one for account management, and one for transaction management. 2 The Data Tier The data tier for your application will be making the BankDB object (which you must reference in your C# project) available to the rest of the system. This is not a trivial task! In this particular case, the bank is paranoid about hackers stealing customer money, so the BankDB object is itself an interface to the bank system. The system itself being hidden away in the DLL where you can’t get to it. In order to communicate with the Bank system itself, you must create a single, static BankDB.BankDB object. This will let you create UserInterfaces, AccountInterfaces, and TransactionInterfaces, each ofwhich allow the data tier to communicate via the BankDB interface to the bank itself. These interfaces act almost like virtual butlers. In order to use them properly, you need to select a user, account, or transaction before doing any work on them. You can also create a user, account, or transaction, but you will need to then select it before you can do anything. This will mean that simply creating data tier functions to directly call access interfacemethods is not enough! Youwill need to think about howyou implement this carefully. The BankDB object also provides two management functions. The first one is simple, SaveToDisk()will save all users and accounts currently in the system to disk. You will need to create a folder on your C:\ drive, called C:\WebStuff\ for this to work properly. The second management function is ProcessAllTransactions(). This will commit all transactions between accounts. You may have noticed that SaveToDisk() does not save transactions, this is because (at least to the bank) transactions should be ephemeral, and processed by the end of the day. This means that the correct save process for closing the application is to first process all transactions, and then save to disk. You will need to devise a process to make sure this always happens at regular intervals! The BankDB processes can return exceptions, however due to the mysterious methods used by the BankDB system, you don’t have access to the custom exceptions thrown by it. This means that you will have to determine which exception has been thrown based on the information in the exception (message, and which function you were calling) and then re-raise your own exceptions! The documentation of the BankDB library is as follows: 2.1 BankDB Governs access to the Bank system. • void SaveToDisk(): saves the current state of the Bank System to disk. Page 2 of 6 DCEDCSPD Semester 1, 2020 • void ProcessAllTransactions(): Processes all transactions currently pending in the system. Will return an exception if the transaction is invalid for any reason. • TransactionAccessInterface GetTransactionInterface(): provisions and returns a Transaction Access object for access to the Transaction subsystem. • UserAccessInterface GetUserAccess(): provisions and returns a User Access object for access to the User subsystem. • AccountAccessInterface GetAccountInterface(): provisions and returns anAccount Access object for access to the Account subsystem. 2.2 AccountAccessInterface Governs access to the Account subsystem. • void SelectAccount(uint accountID): Selects an account. • List<uint> GetAccountIDsByUser(uint userID): Lists all accounts associated with a given User. • uint CreateAccount(uint userID): Creates an account for the specified user, and returns it’s ID. • void Deposit(uint amount): Deposits money in a selected account. • void Withdraw(uint amount): Withdraws money from a selected account. • uint GetBalance(): Gets the balance from a given account. • uint GetOwner(): Gets the User ID of a given account. 2.3 UserAccessInterface Governs access to the User subsystem. • void SelectUser(uint userID): Selects a user. • List<uint> GetUsers(): Gets a list of all users. • uint CreateUser(): Creates a new user, and returns that user’s ID. • void GetUserName(out string fname, out string lname): Gets the selectedUser’s name. • void SetUserName(string fname, string lname): Sets the selectedUser’s name. 2.4 TransactionAccessInterface Governs access to the Transaction subsystem. • void SelectTransaction(uint TransactionID): Selects a transaction. • List<uint> GetTransactions(): Gets a list of all transactions. Page 3 of 6 DCEDCSPD Semester 1, 2020 • uint CreateTransaction(): Creates a transaction and returns it’s ID. • uint GetAmount(): Gets the amount that will be transferred from the selected transaction. • uint GetSendrAcct(): Gets the account IDof the sender of the selected transaction. • uint GetRecvrAcct(): Gets the account IDof the receiver of the selected transaction. • void SetAmount(uint amount): Sets the amount that will be transferred from the selected transaction. • void SetSendr(uint acctID): Sets the account ID of the sender of the selected transaction. • void SetRecvr(uint acctID): Sets the account ID of the receiver of the selected transaction. 3 The Business Tier The business tier needs to connect to the data tier via .NET Remoting and implement functionality that users should be able to access. Clearly being able to view every User ID, or every transaction regardless of owner is a bad idea. Users should not be able to see any details about transactions or accounts they do not own. The business tier should implement, amongst other features: • Searching for transactions per account. • Checking transactions and withdrawls to make sure that an account has enough money before trying to do it. 4 The Windows Client The Windows client needs to allow a User to be created, or be selected, and for all aspects of the banking application to be accessible. This means that Users should be able to: • Create and manage accounts. • Create and manage transactions. • Create and manage their own User record. They should not be able to save or process transactions, the business and data tiers are responsible for determining when those actions should occur. The windows client should, use separate windows for the User, Account, and Transaction subsystems. It should also use asynchronous communications for the search methods (at the very least) to improve user experience. Page 4 of 6 DCEDCSPD Semester 1, 2020 5 Documentation Your programs should bewell documented. Thismeans that each function should be fully commented, and that you must write a document that outlines the objects, functions, and what they do. Essentially, this should be aimed at someone who would want to maintain or develop on your platform You will also need to produce three UML Diagrams, one for each tier of the solution (Data, Business, and Presentation). These UML diagrams should only include your objects, not objects managed by the system, and not objects included from the BankDB system. You should also write a document outlining your design choices. This should be 1 - 3 pages long, and include how you managed to get around the design difficulties associated with the BankDB system. 6 Submission Submit your entire assignment electronically, via Blackboard, before the deadline. Submit one .zip or .tar.gz file containing: Your Code – Organised in a folder Your Documentation – The documentation and the UML diagrams, as well as the design choices document. A declaration of originality –whether scanned or photographedor filled-in electronically, but in any case complete. You are responsible for ensuring that your submission is correct and not corrupted. You maymakemultiple submissions, but only your newest submission will be marked. The late submission policy (see the Unit Outline) will be strictly enforced. 7 Marking Breakdown For the entire assignment, mark breakdown is as follows: • Code 60% – Completeness 30% – Programming Style / Exceptions 20% – UX 10% • Documentation 40% – Documentation 20% – UML diagrams 10% Page 5 of 6 DCEDCSPD Semester 1, 2020 – Design document 10% 8 Academic Misconduct – Plagiarism and Collusion This is an assessable task, and as such there are strict rules. You must not ask for or accept help from anyone else on completing the tasks. You must not show your work to another student enrolled in this unit who might gain unfair advantage from it. These things are considered plagiarism or collusion. Staff can provide assistance in helping you understand the unit material in general, but nobody is allowed to help you solve the specific problems posed in this document. The purpose of the assignment is for you to solve them on your own. Please seeCurtin’sAcademic Integritywebsite for information on academicmisconduct (which includes plagiarism and collusion). The unit coordinator may require you to provide an oral justification of, or to answer questions about, any piece of written work submitted in this unit. Your response(s) may be referred to as evidence in an Academic Misconduct inquiry. In addition, your assignment submission may be analysed by Turnitin and/or other systems to detect plagiarism and/or collusion. End of Assignment Page 6 of 6 http://academicintegrity.curtin.edu.au/ A Bank Application The Data Tier BankDB AccountAccessInterface UserAccessInterface TransactionAccessInterface The Business Tier The Windows Client Documentation Submission Marking Breakdown Academic Misconduct – Plagiarism and Collusion

BankDB.dll

Related Questions

Similar orders to Need to develop 3 tier architecture bank application using c#
18
Views
0
Answers
Excel Module 3 SAM End of Module Project 1
do work for excel 30 questions....
38
Views
0
Answers
Information Systems Case Study
1. Identify five specific business requirements that relate to the design and implementation of the network. 2. Define the cabling for the local area network(s); define the network components in the local area network and explain your reasoning for s...
40
Views
0
Answers
Site Selection for Wind Farm Development
This assignment requires access to the GIS software "ArcMap" This is a short assignment but will require a written portion outlining what was done during the project. The written portion is short and should be less than 6 pages. Please see the attached fil...
46
Views
0
Answers
SAS final data mining project due 5/3/3021
I need my SAS final data mining project finished. I need screenshots of steps of explanations to them in a word document before 5:30pm 5/3/2021 EST. Attached is the instructional file. If you have any questions my number 678-614-4380...