Professional Documents
Culture Documents
LECTURE 2
SYSTEMS ARCHITECTURE ANALYSIS
© LGChan
SDM 5001 SYSTEMS ARCHITECTURE
LECTURE 2.1
ANALYZING SYSTEMS ARCHITECTURE
© LGChan
Traditional Meanings of Architecture
Singapore Skyline
3
© LGChan
Definition of Systems Architecture
Systems Architecture
A group of interrelated An art of style and method
elements forming a of design of structure for
collective entity specific purposes
(Lesson 1)
It consists of a few key features and rules for combining them so that architectural integrity/concept is
preserved
In most system designs, typical architecture patterns are used to produce system architecture
An innovative system will require a new system architecture to be created
6
© LGChan
Example: A Systems Architecture of Human Body
Systems Architecture of Human Body is an arrangement
of elements and subsystems and the allocation of
functions to them to meet living human body system
requirements
7 7
© LGChan
ANALYSIS OF SYSTEMS ARCHITECTURE
Why do we want to analyse System Architecture?
o Understand how a system works
o Diagnose problems in systems
o Improve on existing system designs
9
© LGChan
FUNCTION
10
© LGChan
Representation of Function
Function Behavior
A + B = C
Subject Operand
(Element) (Element)
Operator
(Interaction)
Process
What is an Operand?
An operand is the object of a process or operation:
“something” on which an operation is performed
An operand is also “one of the inputs (quantities) for an operation”
An operand is a “thing” that is being “acted upon”
What is a Process?
A process is a pattern of activity or transformation that is undergone by operands
This process is allowed when there is an interaction between the elements
12
© LGChan
Function = Process + Operand
Function Process Operand
Protection Defending Bricks and Enemies
13
© LGChan
Representation of Systems Functions
SYSTEM of INTEREST
ARCHITECTURE
boundary
concrete abstract
Subject
Processes Function
Operands
input Interaction work output system
15
© LGChan
Software Program for Multiplication
Purpose / Objective Multiplication
𝑛
Function (Mathematical) 𝑋𝑛 = 𝑖=1 𝑋𝑖
16
© LGChan
Software Program for Multiplication
Function Parameters are
input x = 0, i = 0, n Function multiple (x, n) operands x and n
y = 0;
for i = 1 to n
𝒙𝒏 = 𝒙𝒏−𝟏 + 𝒙 y=y+x process
next i
Return y
i=i+1
End Function
Interfaces ( )
i=n? Multiplication System
No // Multiplication Program //
Yes input x, n
output Print 𝑥𝑛
y = multiple (x, n);
Print y
End
end
Flow Chart
17
© LGChan
Basic and Secondary Functions of a Wooden Pencil
Basic Function:
Function o Principal reason for the product’s
Object Operand
Basic or Secondary
existence
Eraser Remove Marks Secondary o Has value to the Customer
Secure Eraser Secondary o Loss of Basic Function results in total
Band loss of market value for the design
Improve Appearance Secondary o May be Performance and / or Brand
Support Lead Secondary
Body Transmit Force Secondary
Accommodate Grip Secondary
Secondary Function:
o Assist in, or necessary for, the
Protect Wood Secondary realization of a Basic Function
Improve Appearance Secondary o Targets for modification and/or
Paint elimination to:
Display Information Secondary
o Reduce cost
Deliver Message Secondary o Reduce design complexity
Lead Produce Marks Basic o Achieve Breakthrough in design
18
© LGChan
EXAMPLE
ANALYSIS OF SYSTEM ARCHITECTURE – PART 1
FUNCTIONAL ANALYSIS OF BREAD MACHINE
19
© LGChan
heating element
baking pan
kneader
kneader
coupling
program
controller
20
© LGChan
Process Flow Diagram Process Flowchart
Prepare Ingredients
Rest Dough
Knead Dough
Bake Dough to
Bread
End 21
© LGChan
Functional Flow Block Diagram (FFBD) is a multi-tier, time-sequenced,
step-by-step flow diagram of a system functional flow
FFBD diagram shows the “Flow of Functions” from one function to another
function (series) or one function to many functions (parallel or mixed)
22
© LGChan
Operands Process Flowchart Functional Flow
Flour, Yeast, Milk, Block Diagram
Prepare Ingredients
Water, Sugar
Bread Mix Mixing Function
Mix Ingredients to
Dough
Fermentation
Dough Function
Knead and Heat
Dough
Dough with Kneading Function 1
Mixed Yeast
Rest Dough
Functional Architecture
a set of logical activities or functions that are arranged in a specific order and,
when activated, achieves a set of activity (functional) requirements
24
© LGChan
Functional Architecture
Flour, Yeast, Milk,
Water, Sugar
Combining
Mixing Function
Motor
Bread Mix t1
Kneading
26
© LGChan
American Architect (1856-1924)
Father of Skyscraper Buildings
27
© LGChan
Form Function
29
© LGChan
Form and Function
Form Function
Protection - Keep out enemies
Brick Wall
Watch Tower
Form Function
Lines of Codes Spreadsheet
Structured Programming Word Processor
Microsoft Office
Form Function
Building, Beds Medical Treatment
Medical Equipment Training
30
© LGChan
Form is the structural relationship of the elements of the system
Form can be
o physical (eg components, modules)
o abstract (eg lines of code or instructions in software programs)
o hierarchical (eg organization, institution, firm, department)
32
© LGChan
Flour, Yeast, Milk,
Water, Sugar
Mixing Function Combining
Bread Mix
Controller (sub-systems)
Rise Dough
Ready Dough
Baking Function Heating
Bread 33
© LGChan
In Analyzing an existing Systems Architecture, the Form already exists
Physical Components
Functions
Ingredients Pan Kneader Motor Heater Controller Housing
Preparing X X X
Fermentation X X X X X
Kneading 1 X X X X X
Rising X X X
Kneading 2 X X X X X
Baking X X X X
Cooling X X X
35
© LGChan
Mapping Functions to Physical Components
Many to One One to One
Many to Many
36
© LGChan
Physical Architecture - Schematic
prepares programs
User
Ingredients
System Boundary
mixes
supports
displays
Controller
Enclosure
aligns
inside
supports
37
© LGChan
Sub Systems Identification
prepares programs
User
Ingredients
System Boundary
mixes
supports
displays
Controller
Enclosure
aligns
inside
supports
38
© LGChan
Physical Architecture – Structure
Handle Cover
Menu
Glass Window
Baking Pan
Power Switch
Enclosure
39
© LGChan
Pan Handle
Kneader
Drive Shaft
Drive Coupling
Sub System Pan and Kneader Sub System Controller
Heating
Element
42
© LGChan
SDM 5001 SYSTEMS ARCHITECTURE
LECTURE 2.2
SYSTEMS INTERACTIONS AND COMPONENTS
© LGChan
SYSTEMS INTERFACES
2
© LGChan
Systems Interactions and Interfaces
Internal Interactions within the System of Interest
These are Processes performed among system elements
External Interactions with the System Environment
These are Inputs or Outputs at the system interfaces located at the system boundary
4
© LGChan
INTERACTION MATRIX
5
© LGChan
Dependency Structure Matrix
Two Types of DSM
Dependency Structure Matrix (DSM) Component Based
Shows interactions with interfaces between elements in the system
o The two dimensions (column and row) in the matrix are processes, functions, or components elements
o “X” is marked in the matrix cell when there is a interaction between one element with a second element
needs
N
E
F E E D S
D
S
Warning: Some text reverses the notation for reading horizontally and vertically 7
© LGChan
Reading Across Horizontal Row Reading Down Vertical Column
D G D G
A X X A X X
B X B X
C X C X
Feed Need
ROW Supply COLUMN COLUMN Require ROW
Elements Transfer Elements Elements Depend Elements
Send Receive
8
© LGChan
Illustration: How to Read DSM Interaction Matrix
Sequence of Arrangement or Process
Element 1 provides info/output to Element 2 (reading horizontally across element 1
Element 1
Element 2
Element 3
Element 4
Element 5
Element 6
row)
Element 2 requires/input fromElement 1 (reading vertically down element 2 column)
Element 3 X X
Element 6 needs info from Element 3 and Element 4 (reading top down column 6)
Element 4 X Element 3 feeds info/output to Element 1 and Element 6 (reading across row element
3)
Element 5 X
Element 6 Element 3
o Transfers info from its output to Element 1 (read horizontally Element 3 row)
o Requires info or depends on Element 2 output (read vertically Element 3 column)
9
© LGChan
DSM Interaction Matrix: Serial Connection
Element 1
Element 2
Element 3
Element 4
Element 5
Element 6
Element 1 X X 1 2
Element 2 X X Direct/Serial Connection
Cells or Modules are connected in Series
Element 3 X X
Tasks that require Input from previous
Element 4 X tasks to complete
Element 5 X
Element 1 sends info to Element 2 (reading left right horizontal in Element 1)
Element 6 Element 2 receives info from Element 1 (reading top down vertical in Element 2)
10
© LGChan
DSM Interaction Matrix: Parallel Connection
Element 1
Element 2
Element 3
Element 4
Element 5
Element 6
2
4
Element 1 X X Parallel Connection
Element 2 X X Element 3 and Element 4 are independent elements
with no direct connections
Element 3 X X Cells or Modules are connected indirectly to Module 2
Tasks that independent and can be performed at the
Element 4 X same time and do not require an input from each other
Element 5 X
Element 6 Element 2 transfers info to Element 3 and Element 4
(reading left right horizontal in Element 2)
Element 3 depends info from Element 2 Element 4 depends info from Element 2
(reading top down vertical in Element 3) (reading top down vertical in Element 4)
11
© LGChan
DSM Interaction Matrix: Coupled Connection
Element 1
Element 2
Element 3
Element 4
Element 5
Element 6
6
Element 1 X X
Coupled Connection
Element 2 X X Element 5 and Element 6 are inter-related
Cells or Modules that depend on each other for connection
Element 3 X X Tasks that require rework of previous tasks once they are
Element 4 X connected (iterated tasks)
Element 5 X X
Element 6 X
Element 5 supply info to Element 6
(reading left right horizontal in Element 5)
12
© LGChan
How to Read DSM Interaction Matrix
Feedforward
Region
Independent
or Dependent
Elements
Element 2
Element 3
Element 1
Element 2
Element 4
Element 5
Element 6
Element 1
Element 5
Element 3
Element 4
Element 6
Element 1 Element 1
Element 2 Element 5 X
Element 3 Element 3
Element 4 Element 4
Element 5 X Element 2
Feedback Element 6 Element 6
Region
Interdependent Feedback from cell 5 to cell 2 Feedforward from cell 5 to cell 2
or Coupled
Elements
13
© LGChan
Where is the Interface in the Matrix?
Output
Input
Interface
Element 2 Element 2
14
© LGChan
Dependency and Numerical DSM
Element 1
Element 2
Element 3
Element 4
Element 5
Element 6
cells) have direct impacts or received direct impacts from
the Element in the diagonals
Element 1 1 2 3 4 5 o Cells further away from the diagonal cells have less and
Element 2 1 1 2 3 4 less impact from the diagonal cells as we move further
away
Element 3 2 1 1 2 4 Interaction forces are weaker as we mover further away
Element 4 3 2 1 1 2 from the diagonal
Element 5 4 3 2 1 1
o Numerical values are used to qualify the degree of impact
Element 6 5 4 3 2 1 and dependency of the Elements with respect to the
diagonal Elements
Scale
1 Very High Dependency with diagonal cells
2 High Dependency with diagonal cells Important Note
3 Moderate Dependency with diagonal cells For process and task DSM: the further away from the
4 Low Dependency with diagonal cells diagonal, the larger the impact on the system
5 Very Low Dependency with diagonal cells
Element 1
Element 2
Element 3
Element 4
Element 5
Element 6
Element 1 1 2 3 4 5 Element 5 Element 4 Element 3 Element 2 Element 1
Element 2 1 1 2 3 4
Element 3 2 1 1 2 4
Element 4 3 2 1 1 2
Element 5 4 3 2 1 1 Element 6
Element 6 Element 6 Element 6 Element 6
Element 6 5 4 3 2 1
16
© LGChan
INTERACTION MATRIX 1
DESIGN STRUCTURE MATRIX
SEQUENCE OF PROCESSES
17
© LGChan
Logical Architecture
18
© LGChan
Interfaces 1 Sequence of Processes
19
© LGChan
Interactions 1 – Sequence of Processes (Bread Machine)
Sequencing is the ordering of activities and processes in a logical and efficient manner
Preparing X Mixing
Fermentation X Kneading
Kneading 1 X Resting
Rising X Kneading
Kneading 2 X Baking/Heating
Baking X
Cooling
Cooling X
20
© LGChan
Interactions 1 – Sequence of Processes (Bread Machine)
Preparing X Mixing
Bread Mix
Fermentation X Kneading
Dough
Kneading 1 X Resting
Fermented
Rising Dough X Kneading
Rise Dough
Kneading 2 X Baking/Heating
Ready Dough
Baking X
Bread Cooling
Cooling X
21
© LGChan
INTERACTION MATRIX 2
DESIGN STRUCTURE MATRIX
SUB-SYSTEMS INTERACTIONS AND EMERGING BEHAVIOR
22
© LGChan
Interfaces 3a Interaction of Components
23
© LGChan
Interfaces 3b Emerging Behavior of Interacting Processes
24
© LGChan
Interactions 3a – Dependency of Components (Bread Machine)
Scale
1 Very High Dependency with diagonal cells
2 High Dependency with diagonal cells Upper Triangular Matrix is a Inverse of
3 Moderate Dependency with diagonal cells Lower Triangular Matrix
4 Low Dependency with diagonal cells
5 Very Low Dependency with diagonal cells (not shown)
25
© LGChan
INTERACTION MATRIX 3
DESIGN AND DEPENDENCY STRUCTURE MATRIX
ORDER AND RELATIONSHIPS
26
© LGChan
Physical Architecture
27
© LGChan
Interfaces 2 Relationship and Order
29
© LGChan
Interfaces 2 – Pathway 1 Solution (Interface DSM)
In this first example, the Controller and Heater columns are switched
This is to build interface connections to all cells sequential and continuous interfaces (yellow cells) between
for the Component Elements (so that the functions are also continuous)
Other Issue
From the process view point, the order of the processes is not correct
Example: Controller (most important subsystem) is placed after kneader, which means kneader could not
30
function properly without Controller supplying input to the kneader (eg timing stop/start)
© LGChan
Interfaces 2 – Pathway 2 Solution (Process DSM)
In this second example, the Controller and Kneader columns are switched
This is to allow the Controller to provide input instructions to the Kneader, as well as Motor and Heater
Note the two Pathways are fully functional and merge at Motor Column to complete the entire baking process
Pathway 1 controls and instructs Kneading 1 (green)
Pathway 2 controls and instructs Kneading 2 (blue)
Learning Point:
In Process DSM, place the most commonly used processes at the beginning (ie top left corner) and the 31
remainder processes close to the diagonal line of the matrix © LGChan
INTERACTION MATRIX 4
DESIGN AND DEPENDENCY STRUCTURE MATRIX
CLUSTERING AND PARTITION
32
© LGChan
Example: Clustering and Partitioning Matrix
Component 1
Component 2
Component 3
Component 4
Component 5
Component 6
Component 6
Component 4
Component 5
Component 1
Component 2
Component 3
Component 1 Component 5
Component 1 X X Component 6
Component 2
Component 2 X X Component 4 X
Component 3 X X Component 5 X
Component 4 X Component 3 Component 4 Component 1 X X
Component 5 X Component 2 X X
Component 6 Component 3 X X
Component 6
33
© LGChan
Example: Creating Module and Interface
Kneading
Module
Component 1
Component 2
Component 3
Component 4
Component 5
Component 6
Component 6
Component 4
Component 5
Component 1
Component 2
Component 3
Component 1 X X Component 6
Interface
Component 2 X X Component 4 X
Component 3 X X Component 5 X
Component 4 X Component 1 X X
Baking
Component 5 X Component 2 X X Module
Component 6 Component 3 X X
How many Interfaces in Original Matrix? Partition Matrix with 2 Module Clusters
Answer: 8 minimum
How many Interfaces in Partition Matrix?
Answer: 1
34
© LGChan
Partitioning/Clustering in Component Matrix to Modules
35
© LGChan
Interactions 4 – Clustering and Partition (Bread Machine)
Clustering is the grouping of components in tightly knitted groups
Partitioning is re-arranging components into clusters or modules
Ingredients Pan Kneader Controller Motor Heater Housing
Ingredients X X X
Sequencing of Clustering of
Feedforward
Processes and Tasks Components
Component 6
Component 1
Component 5
Component 1
Component 2
Component 3
Loose
Process 6
Process 4
Process 5
Process 1
Process 2
Process 3
Cohesion
Process 6 X X Component 6 X X
X X Tight
Process 4 Component 4 X X Cohesion
Process 5 X Component 5 X
Process 1 X Component 1 X
Process 2 X Component 2 X
Process 3 X Component 3 X
37
© LGChan
Connections and Interactions
Component 2
Component 4
Component 6
Component 1
Component 2
Component 3
Component 4
Component 5
Component 6
Component 1
Component 3
Component 5
Component 1
Component 2
Component 3
Component 4
Component 5
Component 6
Component 1 X X X Component 1 X X X X Component 1 X X
Component 2 X X Component 2 X X Component 2 X
Component 3 X Component 3 X Component 3 X X
Component 4 X Component 4 X Component 4 X X X
Component 5 X Component 5 X Component 5 X X
Component 6 X Component 6 X Component 6 X
38
© LGChan
END OF LECTURE 2.2
SYSTEMS INTERACTIONS AND INTERFACES
39
© LGChan
Free DSM Software Tools
http://www.projectdsm.com/
http://www.dsmweb.org/en/dsm-tools/research-tools/excel-macros-for-partitioning.html
40
© LGChan
SDM 5001 SYSTEMS ARCHITECTURE
LECTURE 2.3
SYSTEMS ARCHITECTING CONCEPTS and TOOLS
© LGChan
ABSTRACTION
2
© LGChan
Abstraction
Definition
Abstraction (or “construct”) is a process by which concepts are derived from the usage and classification of
literal ("real" or "concrete") concepts, first principles, or other methods (Wiki)
3
© LGChan
Abstracted View
Level of
Abstraction
Zoom Out
SYSTEM OF INTEREST
Zoom In
4
© LGChan
Abstraction is the process of hiding
complexity : separating what you
want to do from how to do it.
5
© LGChan
Examples of Abstraction
Mathematics: complex number (square root of negative number)
6
© LGChan
VIEWS AND SYSTEMS
7
© LGChan
8
© LGChan
Views and Viewpoints
A View is a description of the entire system from the perspective of a set of related concerns (IEEE 1471-
2000)
A view
o a representative model which share the attributes, properties that are relevant to the same concerns of
the client
o technical (engineering), functional (capability), operational (process), strategic (business), etc.
9
© LGChan
High Point of View
SYSTEM OF INTEREST
12
© LGChan
Many Levels of a Complex Systems
System Level 0
System Level 0
13
© LGChan
Partitioning
Decomposition Layering
14
© LGChan
Partitioning - Decomposition
Decomposition is a process to separate into component parts or elements
into simpler compounds (usually called modules).
Decomposition break down the complexity of the subsystem in the module
Each level of abstraction reveals more details (more abstract) or less details
(less abstract) about the overall systems
16
© LGChan
Partitioning - Layering
Layering is a specific form of partitioning by using Point of Views
Express Train
Layer 4 Internet Platform
subway
budget
normal
direct
hub
bus
car
Layer 4
Internatio
Govern Entertainm Layer 3 Road Rail Domestic
Layer 2 Business Social nal
ment ent
Payment
Military
Games
Videos
Email
Legal
Blog
Layer 1
Layer 1 Transportation Problem
19
© LGChan
How to Partition – General Approach
Identify Specific Functions or Relationships
Search for system elements or technologies able to perform
functions and physical interfaces to carry input-output and control
flows
20
© LGChan
Granularity
Systems can be viewed from various degree or fineness of detailed information and analysis
Granularity describes the degree of subdivision which goes into the details of the systems
Coarse Grained Systems have few levels of Fine Grained Systems have more levels
decomposition/abstraction of decomposition/abstraction
(overview of systems is possible) (finer details of systems can be obtained)
21
© LGChan
SYSTEMS MODELLING
22
© LGChan
Systems Architecting – Modeling
System Architecting is the process of defining the Systems Architecture
It converts abstract ideas, visions, and concepts into physical, functional, or behavioral realization
Definition
A model is an approximation, representation, or idealization of selected aspects of the structure,
behavior, operation, or other characteristics of a real-world process, concept, or system (IEEE
610.12-1990)
Modeling is the creation of abstractions or representations of the system to predict and analyze
performances, costs, schedules, and risks and to provide guidelines for systems research,
development, design, manufacture, and management
Viewpoints Description
Requirements What the Client wants
Physical What the System is
Functional / Logical What the System does
Operations / Process How effectively the System does it
Development How the System is put together
(Ref: Reichtin Maier (2009) The Art of Systems Architecting 3rd ed Chapter 8 Boca Raton: CRC Press) 24
(Ref: Kruchten (1995) The 4+1 View Model of Architecture. IEEE Software Vol 12 No 6 pp 42-50) © LGChan
Architecture Views
Every system has at least five architectural views:
1. Requirements View are the to satisfy the needs, expectations, and specifications of
the stakeholders
2. Operations View is to express how the system operational assets are employed
(meaning deployed, operated, and supported) by the user.
The efficiency of the operation is measured by its performance of the system
outcomes
3. Functional View (Logical) supports the functional operation of the system all along
its life cycle, and may include functional, behavioral, and capabilities views/models
4. Physical View describes how a set of physical elements are composed, constructed,
configured, and interfaced to respond to external signals and inputs
5. Development View is the design of components and integration of systems
1 Models of Forms
1.1 Scale Models (3D)
o Physical representation of architecture on a reduced size which allows the stakeholders to have a
conceptualized view of the system
o Examples: building models, ship models, aircraft models
26
© LGChan
Modeling Techniques 2
2 Behavioral of Functional Models
2.1 Scenarios and Use Cases
o A thread or scenario is a sequence or ordered list of events of actions that represents the behavior
of the system. Models walk through activities
o Example: Use Case in SysML
4 Data Models
o Suitable for data-intensive systems for managing data storage and the relationships and structure
among data
o Example: big data models
5 Managerial Models
o Managerial models are commonly used in project management in the implementation of the project
Example: strategic models, budgeting and costing, quality control, flight simulator
28
© LGChan
END OF LECTURE 2.3
SYSTEMS ARCHITECTING CONCEPT AND TOOLS
29
© LGChan
DSM EXCEL Add-In
© LGChan
Download
© LGChan
Untear Torn DSM Simulate DSM
DSM
Pull Down Menu
© LGChan
© LGChan
Define New Elements in “Elements Info” Tab
Click Update for any
changes
© LGChan
Enter Relationships in “DSM” Tab
© LGChan
Bottom Tab Worksheets
© LGChan