- Below are five scenario-based questions designed to test students’ ability to recommend an appropriate software architecture style. The six possible styles are Pipe-and-Filter, Blackboard, Peer-to-Peer, Client-Server, Broker, and MVC.
Software Architecture Style — Scenario Questions
Scenario 1 — Online Banking System
A bank is developing an online banking application. Customers use a web or mobile application to check their balance, transfer money, pay bills, and download statements. The application sends requests to a central banking server, which authenticates users, processes transactions, and retrieves account information.
Question:
Which software architecture style would you recommend for this system?
Choose from: Pipe-and-Filter, Blackboard, Peer-to-Peer, Client-Server, Broker, MVC.
Explain why your chosen architecture is appropriate.
Scenario 2 — Image Processing System
A company is developing software that processes large numbers of images. Each image goes through several sequential processing stages:
- Image loading
- Noise removal
- Color correction
- Edge detection
- Compression
- Output generation
The output of one stage becomes the input of the next stage. Developers also want to be able to add, remove, or replace individual processing stages without significantly changing the rest of the system.
Question:
Which software architecture style would you recommend?
Choose from: Pipe-and-Filter, Blackboard, Peer-to-Peer, Client-Server, Broker, MVC.
Explain why your chosen architecture is appropriate.
Scenario 3 — Medical Diagnosis System
A hospital is developing an intelligent medical diagnosis system. Different knowledge sources provide information about a patient's symptoms, laboratory results, medical history, and diagnostic rules. Multiple independent reasoning modules examine the available information and contribute possible diagnoses. A central shared data repository stores the current patient information and the hypotheses generated by the reasoning modules.
Question:
Which software architecture style would you recommend?
Choose from: Pipe-and-Filter, Blackboard, Peer-to-Peer, Client-Server, Broker, MVC.
Explain why your chosen architecture is appropriate.
Scenario 4 — File-Sharing Application
A company wants to develop a file-sharing application where users' computers can directly communicate with one another. There is no single central server responsible for storing all files. Each computer can request files from other computers and can also provide files to other participants.
The system should continue functioning even if some computers disconnect from the network.
Question:
Which software architecture style would you recommend?
Choose from: Pipe-and-Filter, Blackboard, Peer-to-Peer, Client-Server, Broker, MVC.
Explain why your chosen architecture is appropriate.
Scenario 5 — Online Shopping Website
A development team is building an online shopping website. The system contains a user interface for displaying products, a component responsible for handling user interactions, and components responsible for managing shopping-cart data, orders, and product information.
The team wants to keep the user interface separate from application logic and data so that the interface can be changed without significantly modifying the underlying business logic.
Question:
Which software architecture style would you recommend?
Choose from: Pipe-and-Filter, Blackboard, Peer-to-Peer, Client-Server, Broker, MVC.
Explain why your chosen architecture is appropriate.