SE 3030 - Software Architeture
SE 3030 - Software Architeture
SE 3030 - Software Architeture
.....
••••••
:-. ~
Final Examination
Year 3, Semester I (20 18)
Duration: 2 Hours
\
Instructions to Candidates:
•!• This paper contains Three questions. Answer All Questions.
•!• Marks for each question are given in the paper.
•!• Total Marks: 100.
•!• This paper contains 5 pages with the Cover Page.
Question 1 (40 marks)
Given below is a Case Study for Millionaires' Bank. Read the case study and answer the
following. You can use your own experiences when answering this question.
Millionaires' Bank (MD) is an established commercial bank in Sri Lanka which has been
operating for years. The primary focus ofMB is to serve the wealthy customers (above LKR
lMn income) in the country who prefer a higher level of privacy and security. Since the top
income holders were mainly located in big cities MB currently have only 5 branches.
For many of the VIP customers, the bank would send a banking agent to the customer
premises on-demand so the VIP customer can do banking without going in to the bank while
all other customers (non-VIP) would have to go to the bank and meet the banking agents on
regular working days for their banking needs.
With the recent economic boom in the country there are more and more young wealthy
customers opening accounts with MB. The management of MB have realized the growth
potential and plans to expand its operations island wide. While the VIP customer base is
having a steady 3% growth the non-VIP customer base is having an annual 200% growth
according to the Chief Customer Officer at the bank.
The direct usage of current banking system is restricted for MB 's staff. The Customer
Facing Agents uses the system to manage customer accounts. The only time customers
access the banking system is via the Automated Teller Machine (ATM) installed at
branches.
The top management of the bank has evaluated options on how to cater the growth and
automated self-banking is selected as the preferred approach in addition to the branch
network expansion so they can keep the staff number low as possible. A committee has been
formed headed by its Chief Information Officer (CIO) to identify the needed System
changes and new development. Below are key highlights from the committee report:
• Self-Banking via Online I Mobile solutions which requires very high security
o Facilitate inter-banking fund transfers
o Facilitate Credit Card Settlements
o Facilitate Utility Bill Payments
0 Faci5tate·opening of Fixed Deposits
• Expand the Automated Teller Machine (ATM) network of the bank to the new
branches and over time expand to supermarkets
• Integrate bank's A TMs with other bank A TM networks in the country and overseas
• Introduce Cash Deposit Machines (CDM) at banking premises that can be used 24x7
• Replace Bank Books I Paper Statements with e-Statements
2
While the management accepts the committee recommendations are needs to be
implemented in order to cater the growing demand; due to the financial investment and time
it takes to establish branches and network, the CIO also recommend to go on a phase wise
approach implementing the large software system without implementing all at once. The
CIO also indicates the above requirements/feature may change over time and the software
system needs to have the ability to incorporate changes or features with a reasonable time
line while keeping the development cost low.
As every bank needs to analyze its financials the Chief Finance Officer (CFO) and the
Finance Team Analysts uses the current system to analyze transactions, produce reports,
process financial recoveries, etc ... There are multiple checkpoints they require to analyze
data: Weekly, Monthly and End of Year where each process the transactions for its
respective week, month or year. The data analysis operation and to produce reports would
take a significaqt computational power. The CIO dislikes purchasing additional mainframes
as would not be cost effective with the expanding customer base considering the amount of
transactions the system needs to process from these batch operations compared to the
overall idle time of the new hardware when it's not been utilized for processing.
b) Draw the Architecture Business Cycle with All the relevant details.
(4 marks)
c) Identify 2 key Quality Attributes each from below categories in this Case
Study and justify why they are important in this context.
i) Runtime Qualities
(2 marks)
ii) Design Qualities
(2 marks)
iii) User Qualities
(2 marks)
3
g) How a Hybrid Cloud Solution can be used to implement the deployment &
operational strategy of this case study.
i) What are the tactics that would generally apply to improve Modifiability
(3 marks)
4
./'
-
. )
I
For this scenario how would you advice the presentation tier to be designed? What
are the design patterns/strategies to be used? Explain your answer with a diagram.
(6 marks)
b) A system ,needs to communicate with another system to set and retrieve data. The
current implementation for data communication is fine-grained i.e. system has to make
multiple invocations to the other system to set data even within related objects.
Multiple invocations for simple data set and get operations is identified as a cause for
poor performance and having a higher network utilization.
For this scenario how would you advice the system to be redesigned? What are the
design patterns/strategies to be used? Explain your answer with a diagram.
(6 marks)
c) Apply Micro-Kernel Architecture for practical example and briefly explain it with a
diagram.
(7 marks)
d) An Enterprise has a large amount of sub systems and to communicate they have used
point to point communication. Over time the system administrators have realized point
to point communication have many disadvantages, below are some of their concerns:
• When one sub system needs to go on maintenance the data sent from one system to
another was lost
• Adding a new sub system was harder due current integration strategy
• Harder to change physical locations (IP Address) of sub systems
• Inability t} support asynchronous communication
For the above scenario how would you advice the system integration to be changed?
What are the design strategies to be used? Explain your answer with a diagram
(6 marks)