After implementing the required classes, design and implement a testing class to test them as  follows:  Create at least 3 bank accounts and do some transactions on them  Try to violate the state of the objects and show that your code prevents all violations  Show that the other operations that happen frequently are working fine  At the end, the required data should be stored into a text file and this file should be saved  automatically inside the folder contains your Java projec

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

A new bank wants to make a simple application to keep track of all accounts and transactions.
In this TMA, it is required to help the bank manager implement the required application.
Requirements:
After a quick meeting with the bank manager, you got the following information:
 It is required to store all bank accounts in one collection and all the transactions happened 
in another collection.
 Each account has a unique account number, a holder and balance. There is a specific prefix 
(common for all accounts) that should be added to the holder's civil id to create the unique 
account number. In addition, it is not allowed for a holder to have more than one account.
Furthermore, only three transactions are allowed on any account: deposit, withdrawal and 
transfer money to another account.
 Each holder has a unique civil ID (national id), a name and other attributes (add at least 2
attributes from your choice).
 For each transaction, it is required to store the account(s) affected, amount of money, date, 
and if they are successful. There are 3 types of transactions: deposit, withdrawal and 
transfer.
Moreover, you have been informed that the following operations happen frequently:
 Creating a new account
 Deposit money into a specified account
 Withdrawal money from a specified account
 Transfer money between two specified accounts
 Printing details of the transaction where the maximum amount of money has been 
transferred between 2 accounts
 Saving all accounts and transactions into a text file.
For accounts, they should be sorted in ascending order (according to the civil id)
Analysis:
Q1: There are common attributes and methods between the three types of transactions. What 
is the best choice for designing and writing their codes? Explain your answer.
Q2: Draw a simple class diagram showing only relationships between the classes.
Implementation:
After analysing the given requirements, implement the required application:
 with Object Oriented Programming style
 following the rules of good programming style (e.g. adding comments, etc.)
 using only the material covered in M251 (and its prerequisites)
3
Hints:
 For each class, it is required to implement constructors, setters, getters, toString() method,
and any other necessary method
 If the user tries to do an operation that could violate the state of objects, the operation 
should be ignored and the application should display an error message (e.g. creating an 
account for the same holder twice, etc.)
 Checking equality of any 2 objects should be done via the equals() method
 There is a class that will do the main job of the bank as follows:
o It has a collection to store the accounts and another one to store the transactions
o It has static methods, one for each operation happens frequently
o For each operation, a message should be displayed to the user to explain the status of 
the operation (i.e. if it was successful or not)
Testing:
After implementing the required classes, design and implement a testing class to test them as 
follows:
 Create at least 3 bank accounts and do some transactions on them
 Try to violate the state of the objects and show that your code prevents all violations
 Show that the other operations that happen frequently are working fine
 At the end, the required data should be stored into a text file and this file should be saved 
automatically inside the folder contains your Java projec

Hints:
• For each class, it is required to implement constructors, setters, getters, toString() method,
and any other necessary method
• If the user tries to do an operation that could violate the state of objects, the operation
should be ignored and the application should display an error message (e.g. creating an
account for the same holder twice, etc.)
• Checking equallty of any 2 objects should be done vla the equals() method
• There is a class that will do the main job of the bank as follows:
o It has a collection to store the accounts and another one to store the transactions
o It has static methods, one for each operatlon happens frequently
o For each operation, a message should be displayed to the user to explain the status of
the operation (i.e. if it was successful or not)
Testing:
After implementing the required classes, design and implement a testing class to test them as
follows:
• Create at least 3 bank accounts and do some transactions on them
• Try to violate the state of the objects and show that your code prevents all violations
Show that the other operations that happen frequently are working fine
• At the end, the required data should be stored into a text file and this file should be saved
automatically inside the folder contains your Java project
Transcribed Image Text:Hints: • For each class, it is required to implement constructors, setters, getters, toString() method, and any other necessary method • If the user tries to do an operation that could violate the state of objects, the operation should be ignored and the application should display an error message (e.g. creating an account for the same holder twice, etc.) • Checking equallty of any 2 objects should be done vla the equals() method • There is a class that will do the main job of the bank as follows: o It has a collection to store the accounts and another one to store the transactions o It has static methods, one for each operatlon happens frequently o For each operation, a message should be displayed to the user to explain the status of the operation (i.e. if it was successful or not) Testing: After implementing the required classes, design and implement a testing class to test them as follows: • Create at least 3 bank accounts and do some transactions on them • Try to violate the state of the objects and show that your code prevents all violations Show that the other operations that happen frequently are working fine • At the end, the required data should be stored into a text file and this file should be saved automatically inside the folder contains your Java project
Overview:
A new bank wants to make a simple application to keep track of all accounts and transactions.
In this TMA, it is required to help the bank manager implement the required application.
Requirements:
After a quick meeting with the bank manager, you got the following information:
• I t is required to store all bank accounts in one collection and all the transactions happened
in another collection.
• Each account has a unique account number, a holder and balance. There is a specific prefix
(common for all accounts) that should be added to the holder's civil id to create the unique
account number. In addition, it is not allowed for a holder to have more than one account.
Furthermore, only three transactions are allowed on any account: deposit, withdrawal and
transfer money to another account.
• Each holder has a unique civil ID (national id), a name and other attributes (add at least 2
attributes from your choice).
• For each transaction, it is required to store the account(s) affected, amount of money, date,
and if they are successful. There are 3 types of transactions: deposit, withdrawal and
transfer.
Moreover, you have been informed that the following operations happen frequently:
• Creating a new account
• Deposit money into a specified account
• Withdrawal money from a specified account
• Transfer money between two specified accounts
• Printing details of the transaction where the maximum amount of money has been
transferred between 2 accounts
• Saving all accounts and transactions into a text file.
For accounts, they should be sorted in ascending order (according to the civil id)
Analysis:
Q1: There are common attributes and methods between the three types of transactions. What
is the best choice for designing and writing their codes? Explain your answer.
Q2: Draw a simple class diagram showing only relationships between the classes.
Implementation:
After analysing the given requirements, implement the required application:
• with Object Oriented Programming style
• following the rules of good programming style (e.g. adding comments, etc.)
• using only the material covered in M251 (and its prerequisites)
2.
Transcribed Image Text:Overview: A new bank wants to make a simple application to keep track of all accounts and transactions. In this TMA, it is required to help the bank manager implement the required application. Requirements: After a quick meeting with the bank manager, you got the following information: • I t is required to store all bank accounts in one collection and all the transactions happened in another collection. • Each account has a unique account number, a holder and balance. There is a specific prefix (common for all accounts) that should be added to the holder's civil id to create the unique account number. In addition, it is not allowed for a holder to have more than one account. Furthermore, only three transactions are allowed on any account: deposit, withdrawal and transfer money to another account. • Each holder has a unique civil ID (national id), a name and other attributes (add at least 2 attributes from your choice). • For each transaction, it is required to store the account(s) affected, amount of money, date, and if they are successful. There are 3 types of transactions: deposit, withdrawal and transfer. Moreover, you have been informed that the following operations happen frequently: • Creating a new account • Deposit money into a specified account • Withdrawal money from a specified account • Transfer money between two specified accounts • Printing details of the transaction where the maximum amount of money has been transferred between 2 accounts • Saving all accounts and transactions into a text file. For accounts, they should be sorted in ascending order (according to the civil id) Analysis: Q1: There are common attributes and methods between the three types of transactions. What is the best choice for designing and writing their codes? Explain your answer. Q2: Draw a simple class diagram showing only relationships between the classes. Implementation: After analysing the given requirements, implement the required application: • with Object Oriented Programming style • following the rules of good programming style (e.g. adding comments, etc.) • using only the material covered in M251 (and its prerequisites) 2.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 6 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY