Gas Subsidy Scheme - Architecture Solution-Dmvdivc90jj5hh1b5

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Gas subsidy scheme

Exercise

1. Identify key stakeholders in the development of the system [2]


2. Identify the architecturally significant requirements (ASRs) from the perspective of each stakeholder
[5]
3. Create a utility tree for the system [5]
4. Determine the tactics to address the ASRs [5]
5. Draw a block diagram showing the different physical components in the system such as
desktops/laptops, application servers, database servers, networking components [5]
6. Draw a detailed module decomposition diagram and describe each module in 1 or 2 sentences [5]
7. Draw an architecture diagram and explain its working [5+3]
8. Mention the architecture patterns & styles used and indicate where in the architecture they have been
used [5]
9. Draw a sequence diagram to achieve the requirement of a) Registration of gas consumer for subsidy
b) Payment of subsidy once gas is delivered to consumer and the consumer had made the payment
for the cylinder
[5+5]
10. Draw a class diagram for the system [5]
11. Indicate which modules shown in the architecture diagram may experience performance issues.
Explain how you would address them. Draw the architecture diagram to incorporate your solution
[5]

Stakeholders
 Government (providing subsidy): Data protection, timely subsidy payment, No transaction should be
missed out due to any sub system failure
 Gas consumer: Timely subsidy payment
 Gas company: Simple interoperability
 Gas agency: Easy to use
 Bank: Accurate payment of money – should tally with requests received.
 IT dept: Security of PAN #. Only authorized users can access PAN system
 Aadhar: Security of Aadhar #. Only authorized users can access Aadhar system
 Software development & maintenance team: Systems should be easy to develop and maintain
ASRs

Quality Attribute Scenario Business Architecture


attribute refinemen value impact
t
Security Sensitive data such as PAN #, Aadhar # should not be
visible to a hacker.

Only authorized systems should be able to access the


Aadhar system and Income tax systems.

Interoper The various systems involved such as Gas company’s


ability system, banking system, Aadhar system, IT dept system
should be able to inter-operate with ease.

Systems should be easy to interoperate even when


server location changes

Performa The subsidy payment should be made within 2 days


nce
Reliabilit It is possible that certain systems involved may be
y down. It is Ok if there is a small delay in crediting the
subsidy. However we should not miss paying the
subsidy

The subsidy should reach the correct person. We should


be able to check the accuracy of money transfer at the
end of each day.

Testabilit We should be able to test to some extent even if some


y systems are not available.
Tactics to be used to address the scenarios

Quality Scenario Tactics


attribute

Security Sensitive data such as PAN #, Aadhar # should not be Encrypt in DB


visible to a hacker.

Only authorized systems should be able to access the Set Access privileges
Aadhar system and Income tax systems.

Interoper The various systems involved such as Gas company’s


ability system, banking system, Aadhar system, IT dept system
should be able to inter-operate with ease.

Systems should be easy to interoperate even when server Service directory


location changes

Performa The subsidy payment should be made within 2 days Perform a batch job of processing
nce all bookings done in the last one
hour
Reliabilit It is possible that certain systems involved may be down. Store in queue. Process again after
y It is Ok if there is a small delay in crediting the subsidy. some time
However we should not miss paying the subsidy

The subsidy should reach the correct person. We should Reconcile requests with money
be able to check the accuracy of money transfer at the end transferred
of each day.

Testabilit We should be able to test to some extent even if some Use test stubs & harness where
y systems are not available. external systems are simulated
Architecture diagram
Working of the system

Steps 1, 2, 3: Registration of customers: This requires validation against Aaddhar system. Adhar
systems needs to grant access to the Gas company’s subsidy system say using a user if and password.
The communication may be using a REST API published by Aaddhar system

Steps 4, 5, 6: When a cylinder is delivered to the consumer, an entry is made regarding the sale in
the Distribution system. Sales data is extracted every one hour into files. These files are transferred
to the Subsidy system using FTP or Secure FTP protocol. Al alternate approach could be send the
sales data in real time to the subsidy system via a REST API provided by the Subsidy system

Step 7: The Subsidy processing module reads the received files and processes them – first checking
if the consumer needs to be given subsidy, then sending a fund transfer request to the back. In case
the payment gateway is down these failed requests are stored in a persistent store (queue on disk) and
a program keeps trying every 15 min to connect to the Payment gateway and tries to send the fund
transfer requests for the failed transactions.

Architecture styles and patterns:


 SoA: REST connection between system and Aadhaar, Subsidy processing module and Bank
 Layered pattern in Registration system: Front end, Business layer, Database layer
 Pipeline architecture: Transactions are captured in DB, sent to Subsidy processing modules
hourly, subsidy module picks up the incoming data and processes them for subsidy deposit in
consumer account

Performance bottlenecks may be experienced in following modules:


 Subsidy processing
 Order completion (after gas delivery) module

Tactics: Use multiple servers and use load balancing.


Do not use these servers for other purposes
High bandwidth connection between Order completion system and Subsidy
processing system

You might also like