---
title: "Architectural design and multiprocessor architecture"
subject: "Software Engineering"
chapter: 3
key: "semester_5/software_engineering:architectural-design-multiprocessor"
source: https://www.bctengineer.com/q/semester_5/software_engineering/architectural-design-multiprocessor
site: BCT Engineering
---

# Architectural design and multiprocessor architecture

Software Engineering · Chapter 3: Architectural design

- Asked in: 2068 Chaitra, 2+3+5 marks; year not given, 2+3+5 marks
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/architectural-design-multiprocessor
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-3

## Question

What is an architectural design? Why it is important in software engineering? Explain multiprocessor architecture with example.

## Short answer

Architectural design identifies sub-systems and communication, important for stakeholder understanding and meeting non-functional requirements. Multiprocessor architecture uses processes on separate processors; example: traffic control with sensor, flow, and light processors.

## Answer

#### Architectural design
**Architectural design** is the early design process that identifies the **sub-systems** making up a system and the framework for **sub-system control and communication**. Its output is the **software architecture**: a description of how the system is organised as a set of communicating components. It is the link between requirements engineering and detailed design.

It normally covers three activities: **system structuring** (decomposing the system into sub-systems), **control modelling** (centralised or event-based control between sub-systems) and **modular decomposition** (breaking sub-systems into modules).

#### Why it is important
1. **Stakeholder communication** – the architecture is a high-level picture that managers, customers and developers can all discuss.
2. **Meets non-functional requirements** – performance, security, safety, availability and maintainability depend mainly on the architecture (e.g. localising critical operations for performance, layered structure for security).
3. **System analysis** – it allows early checking of whether the system can meet its requirements before large costs are spent.
4. **Large-scale reuse** – a well-defined architecture can be reused across systems with similar requirements (product lines).
5. **Basis for work division** – sub-systems can be assigned to separate teams and developed in parallel.
6. **Hard to change later** – mistakes in architecture are very costly to fix after implementation, so it must be decided carefully early.

#### Multiprocessor architecture
A **multiprocessor architecture** is the simplest distributed system architecture. The system is made of a number of **processes**, and these processes may run on **different processors**. Each processor is dedicated to a part of the work, and processes communicate with each other by message passing or shared memory.

Key features:
- Used mostly in **large real-time systems** that collect information from sensors, make decisions and send signals to actuators.
- **Process allocation** to processors may be fixed in advance (pre-determined) or controlled by a **dispatcher** at run time.
- Gives better performance and reliability because work is shared and a processor can be replaced if it fails.

**Example: traffic control system** (Sommerville)

```text
+-------------+   +--------------+   +---------------+
| Sensor      |   | Traffic flow |   | Traffic light |
| processor   |   | processor    |   | control proc. |
|-------------|   |--------------|   |---------------|
| Sensor      |-->| Display      |-->| Light control |
| control     |   | process      |   | process       |
| process     |   |              |   |               |
+-------------+   +--------------+   +---------------+
      ^                  |                   |
      |                  v                   v
 traffic flow        operator            traffic
 sensors and         consoles            lights
 cameras
```

- The **sensor processor** runs the sensor control process that reads vehicle counts and camera data.
- The **traffic flow processor** runs the display process that analyses flow and shows it on operator consoles.
- The **traffic light control processor** runs the light control process that switches signals based on the flow data.

Each processor does one job, so the timing needs of each part can be met independently. Data flows from left to right: sensor readings are passed to the flow processor, and the computed flow decides how the light controller sets the signals. If more junctions are added, more sensor processors can be added without changing the others.

**Process allocation:** in this system the allocation of processes to processors is fixed at design time. In more general multiprocessor systems a **dispatcher** decides at run time which process runs on which processor, based on load, which balances work but makes timing harder to predict.

| Advantages | Disadvantages |
|---|---|
| Parallel processing improves performance | Mainly suited to one organisation's hardware |
| Fault in one processor can be isolated | Inter-process communication adds overhead |
| Each processor can be optimised for its task | Fixed allocation is less flexible than client-server |

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What does architectural design identify?
   A. The test cases for each module
   B. The sub-systems of a system and the framework for their control and communication
   C. The detailed algorithms inside every function
   D. The user manual contents
   Answer: B. Architectural design finds the sub-systems and how they are controlled and communicate, linking requirements to detailed design. (Key point: Definition of architectural design)

2. Why is the architecture important for non-functional requirements?
   A. Performance, security and availability depend mainly on the architecture
   B. Non-functional requirements are decided only during testing
   C. The architecture has no effect on them
   D. They are decided by the programming language alone
   Answer: A. Properties such as performance, security, safety and maintainability depend largely on the architectural structure. (Key point: Importance for non-functional requirements)

3. What is a multiprocessor architecture?
   A. One processor runs one very large process
   B. Several processes run on different processors, each dedicated to part of the work
   C. Many clients use one server
   D. A layered stack of protocols
   Answer: B. The system is a set of processes that may run on different processors, communicating by message passing or shared memory. (Key point: Multiprocessor architecture)

4. How may processes be allocated to processors in a multiprocessor system?
   A. Only by the user at each request
   B. Only by the compiler
   C. Fixed in advance or controlled by a dispatcher at run time
   D. Randomly with no control
   Answer: C. Allocation can be pre-determined at design time or handled by a dispatcher while the system runs. (Key point: Process allocation)

5. In the traffic control example, what does the traffic light control processor do?
   A. Reads vehicle counts from sensors
   B. Displays flow on operator consoles
   C. Stores customer accounts
   D. Switches the signals based on the computed flow data
   Answer: D. Sensor processor reads data, the flow processor analyses and displays it, and the light control processor sets the signals from the flow data. (Key point: Traffic control example)

## Related in Software Engineering

- [Distributed object versus multiprocessor architecture](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Adistributed-object-vs-multiprocessor) — Software Engineering, chapter 3
- [Multiprocessor versus client-server architecture](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Amultiprocessor-vs-client-server) — Software Engineering, chapter 3
- [Short note: component-based software engineering](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acbse-note) — Software Engineering, chapter 6
- [Objectives of FTR; cleanroom software engineering](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aftr-cleanroom) — Software Engineering, chapter 9
- [Architecture before specification; client-server](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aarchitecture-before-specification) — Software Engineering, chapter 3
- [Why software reliability matters](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Areliability-importance) — Software Engineering, chapter 9

## Related in other subjects

- [Important properties of civil engineering materials](https://www.bctengineer.com/question.md?key=semester_3%2Fcivil_engineering_materials%3Aimportant-properties-civil-materials) — Civil Engineering Materials, chapter 1, asked 8×
- [OS configurations in multiprocessor systems](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Aos-multiprocessor) — Computer Organization and Architecture, chapter 8
- [Multiprocessor performance and reliability](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Amultiprocessor-benefits) — Computer Organization and Architecture, chapter 8
- [Multiprocessor and multiprocessing](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_organization_and_architecture%3Amultiprocessing-intro) — Computer Organization and Architecture, chapter 8
