Top Banner
Architectural Reasoning Illustrated by an ATM Example by Gerrit Muller University of South-Eastern Norway-NISE 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. September 6, 2020 status: planned version: 0 logo TBD
32

Architectural Reasoning Illustrated by an ATM Example

May 18, 2022

Download

Documents

dariahiddleston
Welcome message from author
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
Page 1: Architectural Reasoning Illustrated by an ATM Example

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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