Project Description Bank Account Management System Introduction The Bank Account Management System (BAMS) is a limited...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
Project Description Bank Account Management System Introduction The Bank Account Management System (BAMS) is a limited bank transaction monitoring software. This software will be use by the bank tellers to add new clients, manage accounts, create transactions and return client reports. Transactions will be considered either between 2 accounts (move money from one account to the other) or cash transactions: deposit into an account or extract from an account. The teller will be able to create balance report sheets for a given client. Negative balances are not allowed. Learning Objectives • To build a monitoring system that can monitor and manage all library operations efficiently. • To design a database to store the information about books and students. • To develop a database client using Java and Java Database Connectivity API (JDBC). • To apply some CRUD operations in a Java application using JDBC. • To enter and preserve details of the various library items and keep a track on their returns. • To develop international application by applying I18N and I10N concepts and related Java classes. • To apply some of the design patterns seen in class and MVC architecture. • To use Data structures and Stream processing (using Lambda expressions). Tools 1. Use any IDE to develop the project. 2. SQLite database is preferred but you may use any other relational database. Just be sure that you can run it in the class (either from your laptop or the lab computer). Functional Requirements The system should provide different type of services. 1. Security a) Only bank tellers will be able to manage account data b) Bank tellers will be identified by user and password. c) Teller data is static and will be stored in the database. 2. Bank Activity a) Create a new client b) Modify existing client information c) Manage and create client accounts. d) Create transactions e) Take care of the data consistency. 3. Transactions a) For audit purposes accounts can't be deleted. An active indicator will be used to denote active accounts. b) Deactivated accounts need to have 0 balance. Teller will not be able to deactivate an account with positive balance. c) Account balance can't be negative. d) Transaction can't be deleted. In case a transaction needs to be removed an inverse operation will be created. e) When calculating the account balance you have to consider both input and the output from that account. Design Requirements • A clear and precise interface should be designed for input and output. It could be a simple GUI or Console I/O. • Include all the supported class Libraries • Must make use of at least two design patterns such as Factory Method pattern, Singleton, Strategy,... • The project should be designed using MVC architecture • The application should be designed to support two languages, French and English. Make use of 118N Java classes, ResourceBundle and Locale classes. Feel free to add another language of your choice if you want to. Database Design You can create the following tables using SQLiteStudio, SQLite Shell, or implement a method in your application to create and populate the initial database. Note that more tables may be needed, for example to store teller login data. Clients PK Clientid int NOT NULL FirstName varchar(100) NOT NULL LastName varchar(100) NOT NULL Identification varchar(100) NOT NULL Address varchar(100) NULL Transactions PK Transactionid int NOT NULL ToAccountNumberint NULL FromAccountNumberint NULL Transaction Detail varchar(100) NULL Value Int NOT NULL Accounts PK AccountNumberint NOT NULL OFK1 Clentid int NOT NULL FK2 AccountType varchar(100) NOT NULL OpenDate date NOT NULL Balance int NOT NULL IsActive boolean NOT NULL Field description CLIENTS table: • Clientid: unique ID that identified the client. . FirstName: client's first name. • LastName: client's last name. • Identification: Identification document used. • Address: Client's address. ACCOUNTS table: Account Number: unique identifier for an account. • Clientld: identifies the client owner for this account. . . OpenDate: the date when the account was open. • Balance: current balance of the account (calculated based on the existing transactions). • IsActive: boolean value indicating if the account is active or not. Note that accounts can't be deleted, thus when tellers deletes an account it actually deactivate it. AccountType: specifies the type of the account. Can be one of the following: saving, chequing or investment. TRANSACTIONS table: • Transactionld: unique identifier of the transaction. • To Account Number: account from where this transaction initiates. • FromAccount Number: destination account for the current transaction. • • Transaction Details: text specifying details associated with the transactions. Value: the amount value considered by the transaction. Implementation Steps to Follow 1. Create and populate the database using JDBC within your application or in a separate application or using SQLiteStudio. 2. Design the user interface (GUI or Console). 3. Create the main classes. 4. Implement the MVC architecture. 5. Verify if CRUD operations implemented by the methods correctly update the database. 6. Consider Internationalization (choose two Locale objects). 7. Refactor the code to apply some design patterns. 8. Create a Test class using JUnit to test the controller methods. All tests should pass. Project Description Bank Account Management System Introduction The Bank Account Management System (BAMS) is a limited bank transaction monitoring software. This software will be use by the bank tellers to add new clients, manage accounts, create transactions and return client reports. Transactions will be considered either between 2 accounts (move money from one account to the other) or cash transactions: deposit into an account or extract from an account. The teller will be able to create balance report sheets for a given client. Negative balances are not allowed. Learning Objectives • To build a monitoring system that can monitor and manage all library operations efficiently. • To design a database to store the information about books and students. • To develop a database client using Java and Java Database Connectivity API (JDBC). • To apply some CRUD operations in a Java application using JDBC. • To enter and preserve details of the various library items and keep a track on their returns. • To develop international application by applying I18N and I10N concepts and related Java classes. • To apply some of the design patterns seen in class and MVC architecture. • To use Data structures and Stream processing (using Lambda expressions). Tools 1. Use any IDE to develop the project. 2. SQLite database is preferred but you may use any other relational database. Just be sure that you can run it in the class (either from your laptop or the lab computer). Functional Requirements The system should provide different type of services. 1. Security a) Only bank tellers will be able to manage account data b) Bank tellers will be identified by user and password. c) Teller data is static and will be stored in the database. 2. Bank Activity a) Create a new client b) Modify existing client information c) Manage and create client accounts. d) Create transactions e) Take care of the data consistency. 3. Transactions a) For audit purposes accounts can't be deleted. An active indicator will be used to denote active accounts. b) Deactivated accounts need to have 0 balance. Teller will not be able to deactivate an account with positive balance. c) Account balance can't be negative. d) Transaction can't be deleted. In case a transaction needs to be removed an inverse operation will be created. e) When calculating the account balance you have to consider both input and the output from that account. Design Requirements • A clear and precise interface should be designed for input and output. It could be a simple GUI or Console I/O. • Include all the supported class Libraries • Must make use of at least two design patterns such as Factory Method pattern, Singleton, Strategy,... • The project should be designed using MVC architecture • The application should be designed to support two languages, French and English. Make use of 118N Java classes, ResourceBundle and Locale classes. Feel free to add another language of your choice if you want to. Database Design You can create the following tables using SQLiteStudio, SQLite Shell, or implement a method in your application to create and populate the initial database. Note that more tables may be needed, for example to store teller login data. Clients PK Clientid int NOT NULL FirstName varchar(100) NOT NULL LastName varchar(100) NOT NULL Identification varchar(100) NOT NULL Address varchar(100) NULL Transactions PK Transactionid int NOT NULL ToAccountNumberint NULL FromAccountNumberint NULL Transaction Detail varchar(100) NULL Value Int NOT NULL Accounts PK AccountNumberint NOT NULL OFK1 Clentid int NOT NULL FK2 AccountType varchar(100) NOT NULL OpenDate date NOT NULL Balance int NOT NULL IsActive boolean NOT NULL Field description CLIENTS table: • Clientid: unique ID that identified the client. . FirstName: client's first name. • LastName: client's last name. • Identification: Identification document used. • Address: Client's address. ACCOUNTS table: Account Number: unique identifier for an account. • Clientld: identifies the client owner for this account. . . OpenDate: the date when the account was open. • Balance: current balance of the account (calculated based on the existing transactions). • IsActive: boolean value indicating if the account is active or not. Note that accounts can't be deleted, thus when tellers deletes an account it actually deactivate it. AccountType: specifies the type of the account. Can be one of the following: saving, chequing or investment. TRANSACTIONS table: • Transactionld: unique identifier of the transaction. • To Account Number: account from where this transaction initiates. • FromAccount Number: destination account for the current transaction. • • Transaction Details: text specifying details associated with the transactions. Value: the amount value considered by the transaction. Implementation Steps to Follow 1. Create and populate the database using JDBC within your application or in a separate application or using SQLiteStudio. 2. Design the user interface (GUI or Console). 3. Create the main classes. 4. Implement the MVC architecture. 5. Verify if CRUD operations implemented by the methods correctly update the database. 6. Consider Internationalization (choose two Locale objects). 7. Refactor the code to apply some design patterns. 8. Create a Test class using JUnit to test the controller methods. All tests should pass.
Expert Answer:
Related Book For
Accounting Information Systems
ISBN: 9780132871938
11th Edition
Authors: George H. Bodnar, William S. Hopwood
Posted Date:
Students also viewed these accounting questions
-
Design a Web site, either on paper or using software with which you are familiar, for Dizzyland in Group Project 1. Although you may sketch documents or graphics for three levels of pages and...
-
Design a website, either on paper or using software with which you are familiar, for Dizzyland. Although you may sketch documents or graphics for hyperlinks on paper, create a prototype home page for...
-
In this exercise, you will use database software to design a database for managing inventory for a small business. Sylvester's Bike Shop, located in San Francisco, California, sells road, mountain,...
-
Onefifth of a hive of bees flew to the Kadamba flower; one-third flew to the Silandhara; three times the difference of these two numbers flew to an arbor, and one bee continued flying about,...
-
Lippitt Painting Service Company was organized on January 20, 2011, by three individuals, each receiving 5,000 shares of stock from the new company. The following is a schedule of the cumulative...
-
Bit and Byte sells computer services to its clients. The firm is contemplating the acquisition of a computer but is undecided whether it should be leased or purchased. Information regarding the...
-
\(\left(\frac{a}{6} ight)^{11}\) Simplify the expression.
-
The popularity of Southwestern Universitys football program under its new coach, Bo Pitterno, surged in each of the 5 years since his arrival at the Stephenville, Texas, college, (Southwestern...
-
Problem 4-47 (LO 4-1) Zach attended Biola University during 2015-2019. He lived at home and was claimed by his parents as a dependent during his entire education. He incurred education expenses of...
-
The Davis Lamp Company (DLC) is a wholesale company that purchases lamps from the manufacturer and resells them to retail stores. The company has three inventory items: desk lamps, table lamps, and...
-
possible A company that produces cell phones claims its standard phone battery lasts longer on average than other batteries in the market. To support this claim, the company publishes an ad reporting...
-
Thandiworks as a portfolio manager at VBS bank, which is a registered financial services provider. Over the weekend, she attended a friend'sbraaiparty.Nandi, a friend of hers, mentioned that she was...
-
Analyze the complexities of urban infrastructure planning and design, considering factors such as population growth, land use dynamics, and climate change resilience, and discuss innovative...
-
Hendrick Hospital keeps paper records for ten years. They have gotten behind on the destruction of medical records. Their HIM director has sent down a memo that it was time to start purging some...
-
My husband and I estimate that we will need $50,000 in 18 years for the education of our new born daughter. Assuming we can obtain a return of 4 percent, how much should we invest annually?
-
Change the following expression to base 10 and choose the correct answer. log,(3)
-
Cawley Company makes three models of tasers. Information on the three products is given here. Tingler Shocker Stunner Sales $300,000 $500,000 $200,000 Variable expenses 150,000 200,000 145,000...
-
Which task is performed by a book-keeper? A. Analysing the trading results B. Entering transactions in the ledger C. Preparing year-end financial statements D. Providing information for...
-
Distinguish between job- order costing and process costing.
-
The Morgan Department Store has approximately 1,000 customer accounts. Each month a special clerk opens the mail and prepares a remittance list of all monies received on account. The checks are then...
-
Jan Merkle is a fraud investigator who was working alone for the first time on an assignment. In previous cases, she had always worked under one of the senior partners in her forensic accounting...
-
Your family has a cat, and no one wants to empty the litter box. However, it has to be done daily. The six of you agree to take turns, so everyone has to empty the litter box every 6 days. You empty...
-
If possible, use the product rule to simplify the following: 1. \(21^{9} \times 21^{15}\) 2. \(5^{9} \times 8^{4}\)
-
Use the quotient rule to simplify \(\frac{5^{19}}{5^{11}}\).
Study smarter with the SolutionInn App