Architectural Design Flashcards
Architectural Design
Identifying sub-systems making up a system and the framework for sub-system control and communication.
Should be an early stage of the system design process, representing links between specification and design process.
Three Aspects of Architectural Design
System structuring
Control modelling
Modular decomposition
System Structuring
Decomposed into several principal sub-systems, and communications between these sub-systems are identified.
Control Modelling
A model of the control relationships between the different parts of the system is established (essentially, states overall charge).
Modular Decomposition
Identified sub-systems are decomposed into modules.
Modules
System components that provides services to other components, like a class.
Benefit of sub-system modelling
Can build a new system with these sub-systems if well-defined.
Types of design process models
- static structural model
- dynamic process model
- relationships model
Static Structural Model
Shows major system components.
Dynamic Process Model
Shows the process structure of the system.
Relationships Model
Defines sub-system interfaces.
System Architecture Representation
System architecture is normally represents as a block diagram presenting an overview of the system structure.
Sub-system data exchange
The exchange of data is done by either:
- central databases or repositories which can be accessed by all systems (repository models).
- sub-systems maintain their own databases and pass data explicitly.
Client-server Architecture
Type of distributed system model which shows how data and processing is distributed across a range of components.
Client-server Architecture attributes
- stand-alone servers
- clients (computers etc)
- network which allows clients to access servers
- can sometimes contain cache/local servers for frequently used data
Client-server advantages and disadvantages
Easy distribution of data.
Easy to add new servers and clients.
Sub-systems use different data organisation, therefore leading to confusion.
No central register of names and services, therefore we are unable to know which servers are available.
Control Models
Concerned with the control flow between sub-systems, and can be represented one of two ways:
- centralised control
- event-based control
Centralised Control
One sub-system has overall responsibility for control, which is a control sub-system. Two example models include:
- Call-return Model
- Manager Model
Event-Based Control
Each sub-system can respond to externally generated events, with timing of the event being out of control of the sub-systems which process the event.
Models include:
- Broadcast model
- Interrupt-driven models.
Model Decomposition
Another structural level where sub-systems are decomposed into module, with two being covered:
- Object model
- Data-flow model
Object Model
Decomposed into interacting objects, and is concerned with identifying object classes, attributes and operations.
Data-flow Model
Decomposed into functional modules which transform inputs to outputs. May be referenced as a pipe and filter model (UNIX).