Architectural Reasoning Illustrated by an ATM Example by Gerrit Muller Buskerud University College e-mail: [email protected]www.gaudisite.nl Abstract A short general introduction to Architecting, CAFCR framework and Architectural Reasoning is given We explore the creation of an ATM case with the CAFCR framework. We start with existing requirements and then we explore customer and future needs. Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. October 20, 2017 status: planned version: 0 logo TBD
32
Embed
Architectural Reasoning Illustrated by an ATM … Reasoning Illustrated by an ATM Example by Gerrit Muller Buskerud University College e-mail: [email protected] Abstract
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Architectural Reasoning Illustrated by an ATM Exampleby Gerrit Muller Buskerud University College
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
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