Architectural Reasoning Illustrated by an ATM … Reasoning Illustrated by an ATM Example by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com Abstract
Post on 07-Apr-2018
218 Views
Preview:
Transcript
Architectural Reasoning Illustrated by an ATM Exampleby Gerrit Muller Buskerud University College
e-mail: gaudisite@gmail.comwww.gaudisite.nl
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.
October 20, 2017status: plannedversion: 0
logo TBD
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: 0October 20, 2017
AMOmethod
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: 0October 20, 2017CAFCRannotated
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: 0October 20, 2017
MSintegratingCAFCR
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: 0October 20, 2017CAFCRrecursion
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: 0October 20, 2017
BCAFCRwhoIsTheCustomer
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: 0October 20, 2017
RATWpyramid
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
sWhat 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: 0October 20, 2017RATWdisconnect
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: 0October 20, 2017
RATWbreadthAndDepth
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: 0October 20, 2017
RATWmentalDynamicRange
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: 0October 20, 2017ARATMillustration
Step 1, Status Quo
10 0
10 1
10 5
10 4
10 3
10 2
mono- disciplinary
multi- disciplinary
system nu
mbe
r of
deta
ils
original input
essence of problem
critical details
understanding the status quo
Architectural Reasoning Illustrated by an ATM Example12 Gerrit Muller
version: 0October 20, 2017
ARATMessence
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: 0October 20, 2017
ARATMoriginalInputs
ATM Typical Function Flow
customer identification
and authentication
determine request type and amount
deposit or withdrawal
validate amount
transfer money
and update account
Architectural Reasoning Illustrated by an ATM Example14 Gerrit Muller
version: 0October 20, 2017
ARATMfunctionalDiagram
ATM Hardware Diagram
cabinet
controller
cash handling
card reader
display
keyboard
network interface
power
Architectural Reasoning Illustrated by an ATM Example15 Gerrit Muller
version: 0October 20, 2017
ARATMhwDiagram
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: 0October 20, 2017ARATMobjectives
Impact of ATM introduction
new situation old 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: 0October 20, 2017
ARATMoffice
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: 0October 20, 2017
ARATMexerciseCriticalDesign
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: 0October 20, 2017
ARATMexerciseControllerCost
Step 2, Customer and Life Cycle Perspective
C ustomer objectives
A pplication F unctional C onceptual R ealization
requirements scenarios critical design decisions objectives
value chain future concerns
impact on specification and design
Architectural Reasoning Illustrated by an ATM Example20 Gerrit Muller
version: 0October 20, 2017
ARATMcustomerPerspective
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: 0October 20, 2017
ARATMvalueChain
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: 0October 20, 2017
ARATMexerciseFutureConcerns
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: 0October 20, 2017
ARATMwarningAnswers
Examples of Critical Design Issues
controller hardware cost performance
operating system
cost performance functionality development effort
secu
rity
desi
gn
exce
ptio
n ha
ndlin
g availability design size and complexity
security
Architectural Reasoning Illustrated by an ATM Example24 Gerrit Muller
version: 0October 20, 2017
ARATMcriticalDesignIssues
Examples Controller Alternatives
PC oriented design minimal cost design
8 bit controller
state machine engine
state table
watchdog HW 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: 0October 20, 2017
ARATMcontrollerAlternatives
Example of Customer Contact Concern
new situation old 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: 0October 20, 2017
ARATMofficeSideEffect
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: 0October 20, 2017
ARATMsecurityNightmare
Step 3, The Big (Complicated) Picture
C ustomer objectives
A pplication F unctional C onceptual R ealization
customer contacts sales promotion brand image
cost reduction personnel office reduction
security procedures PIN code
identification authentication
ATM
availability
exception handling
controller design
material cost
u controller
state table
watch dog
animation full color display
minimal code
industrial PC full fledged OS
Architectural Reasoning Illustrated by an ATM Example28 Gerrit Muller
version: 0October 20, 2017
ARATMgraph
Step 4, Thread of Reasoning
C ustomer objectives
A pplication F unctional C onceptual R ealization
customer contacts sales promotion brand image
cost reduction personnel office reduction
security procedures PIN code
identification authentication
ATM
availability
exception handling
controller design
material cost
u controller
state table
watch dog
animation full color display
minimal code
industrial PC full fledged OS
Architectural Reasoning Illustrated by an ATM Example29 Gerrit Muller
version: 0October 20, 2017
ARATMthreadOfReasoning
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: 0October 20, 2017
ARATMexerciseReflection
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: 0October 20, 2017
ARATMwarningAnswers
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: 0October 20, 2017ARATMreflection
top related