architectural reasoning illustrated by an atm example
TRANSCRIPT
![Page 1: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/1.jpg)
Architectural Reasoning Illustrated by an ATM Exampleby Gerrit Muller University of South-Eastern Norway-NISE
e-mail: [email protected]
Abstract
A short general introduction to Architecting, CAFCR framework and ArchitecturalReasoning is given We explore the creation of an ATM case with the CAFCRframework. We start with existing requirements and then we explore customerand future needs.
Distribution
This article or presentation is written as part of the Gaudí project. The Gaudí projectphilosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by anopen creation process. This document is published as intermediate or nearly mature versionto get feedback. Further distribution is allowed as long as the document remains completeand unchanged.
September 6, 2020status: plannedversion: 0
logoTBD
![Page 2: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/2.jpg)
What is Architecting?
architecture description:
• articulated
• structured
problem and solution know-howarchitecting
vague notion
of the problem
vague notion
of potential solutions
basic
methods
architecting method:
• framework
• submethods
• integration methods
Spec
De
sig
n
Re
po
rt
Architectural Reasoning Illustrated by an ATM Example2 Gerrit Muller
version: 0September 6, 2020
AMOmethod
![Page 3: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/3.jpg)
The “CAFCR” model
Customer
What
Customer
How
Product
What
Product
How
What does Customer need
in Product and Why?
drives, justifies, needs
enables, supports
Customer
objectives
Application Functional Conceptual Realization
Architectural Reasoning Illustrated by an ATM Example3 Gerrit Muller
version: 0September 6, 2020
CAFCRannotated
![Page 4: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/4.jpg)
Integrating CAFCR
Customer
objectives
Application Functional Conceptual Realization
intention
constraintawareness
objectivedriven
contextunderstanding
oppor-tunities
knowledgebased
Customer
What
Customer
How
Product
What
Product
How
What does Customer need
in Product and Why?
Architectural Reasoning Illustrated by an ATM Example4 Gerrit Muller
version: 0September 6, 2020
MSintegratingCAFCR
![Page 5: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/5.jpg)
CAFCR can be applied recursively
System
(producer)
Customer
BusinessDrives
Enables
Customer's
Customer
BusinessDrives
Enables
ConsumerDrives
Enables
Value Chain
larger scope has smaller
influence on architecture
Architectural Reasoning Illustrated by an ATM Example5 Gerrit Muller
version: 0September 6, 2020
CAFCRrecursion
![Page 6: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/6.jpg)
Example of a small buying organization
decision maker(s) purchaser
maintainer
operator
user
CEO
CFO
CTO
CIO
department head
Who is the customer?
CMO
CEO: Chief Executive Officer
CFO: Chief Financial Officer
CIO: Chief Information Officer
CMO: Chief Marketing Officer
CTO: Chief Technology Officer
Architectural Reasoning Illustrated by an ATM Example6 Gerrit Muller
version: 0September 6, 2020
BCAFCRwhoIsTheCustomer
![Page 7: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/7.jpg)
Connecting System Design to Detailed Design
100
101
106
105
104
103
102
107 mono-
disciplinary
multi-
disciplinary
systemsystem
requirements
design
decisions
parts
connections
lines of code
nu
mb
er
of
de
tails
and growing every year....108
Architectural Reasoning Illustrated by an ATM Example7 Gerrit Muller
version: 0September 6, 2020
RATWpyramid
![Page 8: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/8.jpg)
Organizational Problem: Disconnect
Customer
objectives
Application Functional Conceptual Realisation
Ho
w c
an
the
pro
du
ct b
e re
aliz
ed
Wh
at a
re th
e c
ritica
l de
cis
ion
s
What does Customer need
in Product and Why?
system
requirements
design
decisions
parts
connections
lines of code
and growing every year....
gap
Architectural Reasoning Illustrated by an ATM Example8 Gerrit Muller
version: 0September 6, 2020
RATWdisconnect
![Page 9: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/9.jpg)
Architect: Connecting Problem and Technical Solution
Customer
objectives
Application Functional Conceptual Realisation
How can the product be realized
What are the critical decisions
What does Customer need
in Product and Why?
100
101
106
105
104
103
102
107
system
requirements
design
decisions
parts
connections
lines of code
nu
mb
er
of
de
tails
and growing every year....108
Architectural Reasoning Illustrated by an ATM Example9 Gerrit Muller
version: 0September 6, 2020
RATWbreadthAndDepth
![Page 10: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/10.jpg)
Major Bottleneck: Mental Dynamic Range
100
101
106
105
104
103
102
107
nu
mb
er
of
de
tails
stre
tch
engi
nee
r
stre
tch
syst
em
arch
itec
t
stre
tch
sen
ior
engi
nee
r
100 10 1
Architectural Reasoning Illustrated by an ATM Example10 Gerrit Muller
version: 0September 6, 2020
RATWmentalDynamicRange
![Page 11: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/11.jpg)
ATM Illustration
1. ATM Specification and Design Status Quo
Exercise: Identify Critical Design Decisions
Exercise: What is the Minimal Cost of the Controller
2. Customer and Life Cycle Perspective
Exercise: What are Important Future Customer Concerns
3. The Big (Complicated) Picture
4. Thread of Reasoning
Exercise: What did You Learn?
Architectural Reasoning Illustrated by an ATM Example11 Gerrit Muller
version: 0September 6, 2020
ARATMillustration
![Page 12: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/12.jpg)
Step 1, Status Quo
100
101
105
104
103
102
mono-
disciplinary
multi-
disciplinary
systemn
um
be
r o
f
de
tails
original
input
essence
of problem
critical
details
understanding
the status quo
Architectural Reasoning Illustrated by an ATM Example12 Gerrit Muller
version: 0September 6, 2020
ARATMessence
![Page 13: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/13.jpg)
ATM Original Input SDOE 650 Exercise
excerpts from SYS 650 System Architecture and Design
ATM Case Study
Copyright Michael Pennotti, PhD. and
Stevens Institute of Technology
Adapted from a case study by Dennis Buede, Ph.D.
Architectural Reasoning Illustrated by an ATM Example13 Gerrit Muller
version: 0September 6, 2020
ARATMoriginalInputs
![Page 14: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/14.jpg)
ATM Typical Function Flow
customer
identification and
authentication
determine
request type
and amountdeposit or
withdrawal
validate
amount
transfer
money and
update
account
Architectural Reasoning Illustrated by an ATM Example14 Gerrit Muller
version: 0September 6, 2020
ARATMfunctionalDiagram
![Page 15: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/15.jpg)
ATM Hardware Diagram
cabinet
controller
cash handling
card reader
display
keyboard
network
interface
power
Architectural Reasoning Illustrated by an ATM Example15 Gerrit Muller
version: 0September 6, 2020ARATMhwDiagram
![Page 16: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/16.jpg)
Objectives
branch
operating costs
monthly
operating costs
usability
transaction
duration
availability
from SYS 650 System Architecture and Design
ATM Case Study
Copyright Michael Pennotti, PhD. and
Stevens Institute of Technology
Adapted from a case study by Dennis Buede, Ph.D.
Architectural Reasoning Illustrated by an ATM Example16 Gerrit Muller
version: 0September 6, 2020
ARATMobjectives
![Page 17: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/17.jpg)
Impact of ATM introduction
new situationold situation
branch office
main office
counter
personnel
customers
counter
personnel
customers
branch office
counter
personnel
customers
main office
counter
personnel
customers
customers
ATM ATM ATM
Architectural Reasoning Illustrated by an ATM Example17 Gerrit Muller
version: 0September 6, 2020
ARATMoffice
![Page 18: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/18.jpg)
Exercise: Identify Critical Design Decisions
Identify critical design decisions
Critical: high riks, sensitive or vulnerable, high impact on objectives
What decisions are critical?
Why are these decisions critical?
How do you decrease the risk?
Architectural Reasoning Illustrated by an ATM Example18 Gerrit Muller
version: 0September 6, 2020
ARATMexerciseCriticalDesign
![Page 19: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/19.jpg)
Exercise: What is the Minimal Cost of the Controller
Determine Minimal Cost Controller
Identify multiple controller alternatives.
Estimate cost per alternative.
What is the impact on other design aspects?
What is the impact on the objectives?
Architectural Reasoning Illustrated by an ATM Example19 Gerrit Muller
version: 0September 6, 2020
ARATMexerciseControllerCost
![Page 20: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/20.jpg)
Step 2, Customer and Life Cycle Perspective
Customer
objectives
Application Functional Conceptual Realization
requirements
scenarioscritical design decisionsobjectives
value chain
future concerns
impact on
specification and design
Architectural Reasoning Illustrated by an ATM Example20 Gerrit Muller
version: 0September 6, 2020
ARATMcustomerPerspective
![Page 21: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/21.jpg)
Value Chain and Customer Concerns
ATM
manufacturer
bank
coorporation
consumers
infrastructure
and service
providers
ease of use
convenience
ease of mind
profit / cost of operation
smooth operation / availability
market share / customer base
security
concerns
Architectural Reasoning Illustrated by an ATM Example21 Gerrit Muller
version: 0September 6, 2020ARATMvalueChain
![Page 22: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/22.jpg)
Exercise: What are Important Future Customer Concerns
What are Important Future Customer Concerns?
Describe or visualize these concerns very specific.
What are the consequences of replacing offices with machines?
What is the biggest nightmare of the management and the consumers?
How is the current system prepared for these future concerns?
Architectural Reasoning Illustrated by an ATM Example22 Gerrit Muller
version: 0September 6, 2020
ARATMexerciseFutureConcerns
![Page 23: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/23.jpg)
Warning: Following Slides provide Answers!
stop
The following slides provide some answers of the previous exercises.
Continue only after going through the exercises!
Architectural Reasoning Illustrated by an ATM Example23 Gerrit Muller
version: 0September 6, 2020
ARATMwarningAnswers
![Page 24: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/24.jpg)
Examples of Critical Design Issues
controller hardwarecost
performance
operating system
cost
performance
functionality
development effort
se
cu
rity
de
sig
n
exce
ptio
n h
an
dlin
gavailability
design size and complexity
security
Architectural Reasoning Illustrated by an ATM Example24 Gerrit Muller
version: 0September 6, 2020
ARATMcriticalDesignIssues
![Page 25: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/25.jpg)
Examples Controller Alternatives
PC oriented designminimal cost design
8 bit controller
state machine engine
state table
watchdogHW handlers
industrial PC
embedded Windows
interfaces
drivers
middleware framework
OO based application
HW material cost: 100$
SW license cost: 0$
SW size: 20kloc
performance: HW/network
constrained
HW material cost: 500$
SW license cost: 40$
SW size: 120kloc
performance: HW/network
constrained
Architectural Reasoning Illustrated by an ATM Example25 Gerrit Muller
version: 0September 6, 2020
ARATMcontrollerAlternatives
![Page 26: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/26.jpg)
Example of Customer Contact Concern
new situationold situation
branch office
main office
counter
personnel
customers
counter
personnel
customers
branch office
counter
personnel
customers
main office
counter
personnel
customers
customers
ATM ATM ATM
important assets of bank:
brand name
customer base
main point of contact moves from office to ATM!
ATM visit is short opportunity to bind and sell.
promotion offers, new products, via animations
and ...?
Architectural Reasoning Illustrated by an ATM Example26 Gerrit Muller
version: 0September 6, 2020
ARATMofficeSideEffect
![Page 27: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/27.jpg)
Security Nightmare
De belangrijkste feiten:
– PIN gaat over op EMV
– Geen hoge kosten door geleidelijke invoering
– Volledige invoering verwacht rond 2013
– Magneetstrip werkt nog lange tijd
from: http://www.currence.nl/site/site/website/data/00149/
Currence%20Nieuws%202005%2002%20def.pdf
translation:
+ PIN changes into EMV standard
magnet strip replaced by chip
- introduction complete ca 2013
Phantom withdrawals, see
<http://www.phantomwithdrawals.com/>
Security relates to all system aspects
from bank management, personnel and processes
down to network medium and hardware drivers.
The bad guys also make lots of progress.
Architectural Reasoning Illustrated by an ATM Example27 Gerrit Muller
version: 0September 6, 2020
ARATMsecurityNightmare
![Page 28: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/28.jpg)
Step 3, The Big (Complicated) Picture
Customer
objectives
Application Functional Conceptual Realization
customer contacts
sales promotion
brand image
cost reductionpersonnel
office
reduction
security procedures
PIN codeidentification
authentication
ATM
availability
exception
handling
controller
designmaterial
cost
u controller
state table
watch dog
animationfull color
display
minimal code
industrial PC
full fledged OS
Architectural Reasoning Illustrated by an ATM Example28 Gerrit Muller
version: 0September 6, 2020
ARATMgraph
![Page 29: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/29.jpg)
Step 4, Thread of Reasoning
Customer
objectives
Application Functional Conceptual Realization
customer contacts
sales promotion
brand image
cost reductionpersonnel
office
reduction
security procedures
PIN codeidentification
authentication
ATM
availability
exception
handling
controller
designmaterial
cost
u controller
state table
watch dog
animationfull color
display
minimal code
industrial PC
full fledged OS
Architectural Reasoning Illustrated by an ATM Example29 Gerrit Muller
version: 0September 6, 2020
ARATMthreadOfReasoning
![Page 30: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/30.jpg)
Exercise: What did You Learn?
What did You Learn?
Where did we start?
What are the iterative steps that we took?
What are the new insights?
How SMART is the result?
What do we still have to do?
Architectural Reasoning Illustrated by an ATM Example30 Gerrit Muller
version: 0September 6, 2020
ARATMexerciseReflection
![Page 31: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/31.jpg)
Warning: Following Slides provide Answers!
stop
The following slides provide some answers of the previous exercises.
Continue only after going through the exercises!
Architectural Reasoning Illustrated by an ATM Example31 Gerrit Muller
version: 0September 6, 2020
ARATMwarningAnswers
![Page 32: Architectural Reasoning Illustrated by an ATM Example](https://reader034.vdocument.in/reader034/viewer/2022051906/628467d0501ce67127365708/html5/thumbnails/32.jpg)
Reflection
What is next?
We made a very fast iteration over many view points.
Most reasoning has been qualitative.
Fact finding and quantification needed to determine relevant and
significant issues.
Keep on iterating and sharpening!
Architectural Reasoning Illustrated by an ATM Example32 Gerrit Muller
version: 0September 6, 2020
ARATMreflection