Architectural Design: ©ian Sommerville 2000 Software Engineering. Chapter 11 Slide 1
Architectural Design: ©ian Sommerville 2000 Software Engineering. Chapter 11 Slide 1
Architectural Design: ©ian Sommerville 2000 Software Engineering. Chapter 11 Slide 1
Architectural Design
Requirements
specification
Design activities
Software Data
System Interface Component Algorithm
specification structure
architecture specification specification specification
specification
Design products
System (System)
Product (Sub-System)
Component (Module)
Module (Unit) (Algorithm)
O b j ec t Ar m G ri pp e r
i d e n t if i c a t io n c o n tr o ll er c o n tr o ll er
s y s te m
P a c k a g in g
s el e c ti o n
s y s te m
P a c ki ng C o nve yo r
s y s te m c o n tr o ll er
Design Report
analyser generator
Wide-bandwidth network
V e rsi on m an ag em e n t
O b je c t m ana ge m e n t
D a t a b as e s ys te m
O p e rat in g
s ys tem
return
Routine 1 Routine 2 Routine 3
Sensor Actuator
processes processes
System
contr oller
(Cont’d)
©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 42
Broadcast model (cont’d)
● Evolution is relatively easy since a new sub-system
can be integrated by registering its events with the
event handler.
● However, sub-systems don’t know if or when an
event will be handled by some other sub-system.
Interrupt
vector
Customer Receipt
customer# invoice#
name date
address Invoice amount
credit period customer#
invoice#
date
amount
customer
Payment issue ()
invoice# sendR eminder ()
date acceptPayment ()
amount sendR eceipt ()
customer#
(Cont’d)
©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 51
Data-flow models (cont’d)
● Variants of this approach have a long
history in software design. (e.g., SA/SD, SADT, etc.)
● When transformations are sequential, this is
a batch sequential model which is
extensively used in data processing
systems.
● Not really suitable for interactive systems
(focus on input data streams vs. events)
Issue
Receipts
receipts
Symbol
table
Sy m bo l Ou tpu t C o de
Ed itor
t abl e d efinition gen erato r
Repo sitory
Repository-based model
4 Transport Transport
(Cont’d)
©Ian Sommerville 2000 Software Engineering. Chapter 11 Slide 63
Key points (cont’d)
● Modular decomposition models include
data-flow and object models.
● Domain specific architectural models are
abstractions over an application domain.
● They may be constructed by abstracting
from existing systems (generic) or they
may be idealized (reference) models.
Architectural Design