architectural reasoning illustrated by an atm … reasoning illustrated by an atm example by gerrit...

32
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

Upload: vohuong

Post on 07-Apr-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Architectural Reasoning Illustrated by an ATM Exampleby Gerrit Muller Buskerud University College

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.

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