Architectural Reasoning Illustrated by an ATM Example

Size: px
Start display at page:

Download "Architectural Reasoning Illustrated by an ATM Example"

Transcription

1 by Gerrit Muller University of South-Eastern Norway-NISE 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. status: planned logo TBD

2 What is Architecting? vague notion of the problem architecting architecture description: articulated structured problem andsolutionknow-how vague notion of potential solutions Report Spec Design basic methods architecting method: framework submethods integration methods 2 Gerrit Muller AMOmethod

3 The CAFCR model drives, justifies, needs enables, supports What does Customer need in Product and Why? Customer What Customer How Product What Product How Customer objectives Application Functional Conceptual Realization 3 Gerrit Muller CAFCRannotated

4 Integrating CAFCR What does Customer need in Product and Why? Customer What Customer How Product What Product How Customer objectives Application Functional Conceptual Realization context understanding intention objective driven opportunities constraint awareness knowledge based 4 Gerrit Muller MSintegratingCAFCR

5 CAFCR can be applied recursively Consumer Drives Enables Customer's Customer Business Drives Value Chain larger scope has smaller influence on architecture Enables Customer Business Enables Drives System (producer) 5 Gerrit Muller CAFCRrecursion

6 Example of a small buying organization CFO CIO CMO CEO CTO decision maker(s) purchaser department head Who is the customer? CEO: Chief Executive Officer CFO: Chief Financial Officer CIO: Chief Information Officer CMO: Chief Marketing Officer CTO: Chief Technology Officer user operator maintainer 6 Gerrit Muller BCAFCRwhoIsTheCustomer

7 Connecting System Design to Detailed Design system requirements design decisions parts system 10 7 connections monodisciplinary multidisciplinary 10 8 number of details lines of code and growing every year... 7 Gerrit Muller RATWpyramid

8 Organizational Problem: Disconnect What does Customer need in Product and Why? Customer objectives Application Functional Conceptual Realisation gap system requirements design decisions How can the product be realized What are the critical decisions parts connections lines of code and growing every year... 8 Gerrit Muller RATWdisconnect

9 Architect: Connecting Problem and Technical Solution What does Customer need in Product and Why? How can the product be realized What are the critical decisions Customer objectives Application Functional Conceptual Realisation number of details system requirements design decisions parts connections lines of code and growing every year... 9 Gerrit Muller RATWbreadthAndDepth

10 Major Bottleneck: Mental Dynamic Range number of details stretch engineer stretch senior engineer system architect stretch Gerrit Muller RATWmentalDynamicRange

11 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? 11 Gerrit Muller ARATMillustration

12 Step 1, Status Quo number of details original input essence of problem understanding the status quo critical details system monodisciplinary multidisciplinary 12 Gerrit Muller ARATMessence

13 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. 13 Gerrit Muller ARATMoriginalInputs

14 ATM Typical Function Flow customer identification and authentication determine request type and amount deposit or withdrawal validate amount transfer money and update account 14 Gerrit Muller ARATMfunctionalDiagram

15 ATM Hardware Diagram card reader display keyboard controller network interface cash handling power cabinet 15 Gerrit Muller ARATMhwDiagram

16 Objectives branch operating costs monthly operating costs usability transaction duration 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. availability 16 Gerrit Muller ARATMobjectives

17 Impact of ATM introduction personnel counter old situation main office personnel counter new situation main office customers customers branch office personnel counter branch office personnel counter ATM ATM ATM customers customers customers 17 Gerrit Muller ARATMoffice

18 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? 18 Gerrit Muller ARATMexerciseCriticalDesign

19 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? 19 Gerrit Muller ARATMexerciseControllerCost

20 Step 2, Customer and Life Cycle Perspective Customer objectives Application Functional Conceptual Realization objectives requirements scenarios critical design decisions value chain future concerns impact on specification and design 20 Gerrit Muller ARATMcustomerPerspective

21 Value Chain and Customer Concerns concerns consumers ease of use convenience ease of mind bank coorporation profit / cost of operation smooth operation / availability market share / customer base security ATM manufacturer infrastructure and service providers 21 Gerrit Muller ARATMvalueChain

22 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? 22 Gerrit Muller ARATMexerciseFutureConcerns

23 Warning: Following Slides provide Answers! stop The following slides provide some answers of the previous exercises. Continue only after going through the exercises! 23 Gerrit Muller ARATMwarningAnswers

24 Examples of Critical Design Issues security availability design size and complexity security design exception handling operating system controller hardware cost performance functionality development effort cost performance 24 Gerrit Muller ARATMcriticalDesignIssues

25 Examples Controller Alternatives minimal cost design PC oriented design 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 OO based application state table state machine engine HW handlers watchdog drivers middleware framework embedded Windows 8 bit controller interfaces industrial PC 25 Gerrit Muller ARATMcontrollerAlternatives

26 Example of Customer Contact Concern old situation new situation personnel counter main office personnel counter main office customers brand name branch officecustomer base branch office personnel counter customers important assets of bank: personnel main point of contact moves from office to ATM! counter ATM visit is short opportunity to bind and sell. promotion offers, new products, via animations and...? customers customers ATM ATM ATM customers 26 Gerrit Muller ARATMofficeSideEffect

27 Security Nightmare Phantom withdrawals, see < 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: Currence%20Nieuws%202005%2002%20def.pdf translation: + PIN changes into EMV standard magnet strip replaced by chip - introduction complete ca 2013 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. 27 Gerrit Muller ARATMsecurityNightmare

28 Step 3, The Big (Complicated) Picture Customer objectives Application Functional Conceptual Realization cost reduction personnel office reduction ATM material cost controller design state table u controller security customer contacts sales promotion brand image procedures PIN code availability identification authentication animation exception handling minimal code watch dog industrial PC full fledged OS full color display 28 Gerrit Muller ARATMgraph

29 Step 4, Thread of Reasoning Customer objectives Application Functional Conceptual Realization cost reduction personnel office reduction ATM material cost controller design state table u controller security customer contacts sales promotion brand image procedures PIN code availability identification authentication animation exception handling minimal code watch dog industrial PC full fledged OS full color display 29 Gerrit Muller ARATMthreadOfReasoning

30 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? 30 Gerrit Muller ARATMexerciseReflection

31 Warning: Following Slides provide Answers! stop The following slides provide some answers of the previous exercises. Continue only after going through the exercises! 31 Gerrit Muller ARATMwarningAnswers

32 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! 32 Gerrit Muller ARATMreflection