Answered step by step
Verified Expert Solution
Question
1 Approved Answer
roblem 1 A typical bank manages customers who have accounts, loans, and stocks: accounts are used to pay for loans and stocks. Customers can perform
roblem 1 A typical bank manages customers who have accounts, loans, and stocks: accounts are used to pay for loans and stocks. Customers can perform transactions on those accounts from either an automated teller machine (ATM), through a phone interface, or through a web interface. Customers can also perform transactions on their loans and stocks, but only through the web interface. Additionally, personnel (tellers) at the branch can look at customers' accounts, loans, and stocks, and perform transactions. The following components have been identified: - User: to record and handle general information about customers and tellers - Account: to record information on accounts customers may have with the bank - AccountManagement: to perform operations on accounts such as: searching for an account, checking the balance, performing payments from an account (e.g., bill, loan), performing a transfer of funds between two accounts, etc. - Loans: to record information on loan customers may have with the bank, such as: loan number, customer holding the loan, balance, rate, etc. - LoanManagement: to perform operations on loans such as processing monthly payments, creating and removing loans, renewing loans, etc. - Authorization: to identify whether the user (customer, teller) is authorized to perform a transaction, accounting for the medium of communication being used - TellerUI: the user interface used by a teller at a branch - PhoneUI: the user interface used by a customer who calls using their phone - WebUI: the user interface used by a customer on the internet - atMUI: the user interface used by a customer at an ATM The layered architecture style has been used to create an initial architecture design (presented as a UML Suppose that the following availability requirements have been defined: - In case of a network connectivity problem or server problem, the customer shall not be able to successfully complete any transaction using their phone. - In case of a network connectivity problem or server problem, the customer shall not be able to successfully complete any transaction from an ATM. - In case of a network connectivity problem or server problem, the customer shall not be able to perform any transaction using the web interface. - In case of a network connectivity problem or server problem, the teller shall still be able to perform transactions, though a reduced set of transactions, locally. When the connection is re-established, a procedure to complete transactions so the server side is updated shall be used, which may end in either successful completion or failure to complete the transaction (e.g., there is no longer enough funds in an account). Which process distribution pattern(s) would you use for the client-server architecture of the bank software? Draw a deployment diagram of the above components and justify your response. HINTS: 1. There are three distribution patterns: centralized, distributed and decentralized. 2. You may need to introduce new components to handle network communications between your nodes. 3. Recall that one deploys artifacts implementing components, not the components themselves
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started