+ All Categories
Home > Documents > Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site...

Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site...

Date post: 16-May-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
113
Technical foundation Introduction by Christer Sandahl Technical foundation Introduction by Christer Sandahl Complex product development model
Transcript
Page 1: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Technical foundation

Introduction byChrister Sandahl

Technical foundation

Introduction byChrister Sandahl

Complex productdevelopment model

Page 2: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 2

For who is this introduction package ?For who is this introduction package ?

• This power point package is intended as• Cpdm executive briefing

• for business managers and decision makers• Cpdm process cornerstones

• for quality and improvement specialists• Cpdm technical walkthrough with examples

• for technical managers and developers

• This power point package is intended as• Cpdm executive briefing

• for business managers and decision makers• Cpdm process cornerstones

• for quality and improvement specialists• Cpdm technical walkthrough with examples

• for technical managers and developers

Page 3: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 3

Cpdm executive briefingCpdm executive briefingfor business managers and decision makersfor business managers and decision makers

Page 4: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 4

What is Cpdm ?What is Cpdm ?

• Cpdm• Means Complex Product Development Model

• Cpdm model explain how to master development of complex products• Covers seamlessly mechanics, electronics and programs• Covers all phases from idea to established product• Covers both methodology and practical examples• Covers processes scalable to any product size

• Cpdm is inescapable complex but constructed very down to earth• After completing this presentation,

the concluding feeling should be “how else could it be”

• Cpdm• Means Complex Product Development Model

• Cpdm model explain how to master development of complex products• Covers seamlessly mechanics, electronics and programs• Covers all phases from idea to established product• Covers both methodology and practical examples• Covers processes scalable to any product size

• Cpdm is inescapable complex but constructed very down to earth• After completing this presentation,

the concluding feeling should be “how else could it be”

Page 4

Page 5: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 5

Why another model about thisWhy another model about this

• To master complexity require paradigm shifts• Some industries have already succeeded

• Space, aircraft, pharmacy, skyscraper, …

• Other industries has still far to go (programs in particular)• Artificial complexity being supported• Intrinsic complexity being ignored• Impossible principles applied• Watertight connection between technologies• Product structure undergoes degeneration• Products highjacked by engineers

• To master complexity require paradigm shifts• Some industries have already succeeded

• Space, aircraft, pharmacy, skyscraper, …

• Other industries has still far to go (programs in particular)• Artificial complexity being supported• Intrinsic complexity being ignored• Impossible principles applied• Watertight connection between technologies• Product structure undergoes degeneration• Products highjacked by engineers

Page 6: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 6

Why is Cpdm the superior cure?Why is Cpdm the superior cure?

• Most other development models are only small scale• No explanations how development scale up to modern complex products

• Most other development models address only single technologies• No explanations how mechanics, electronics and programs fits together

• Most other development models describe only fractions of development work• No explanation how requirements, architectures, integration and verification fits together

• Most other development models are only theoretical and academic showpieces• No explanation and examples how to apply them on the floor

• Most other development models are only impenetrable amount of details• No explanation of how the details forms the superstructures

• Cpdm has none of above shortages

• Most other development models are only small scale• No explanations how development scale up to modern complex products

• Most other development models address only single technologies• No explanations how mechanics, electronics and programs fits together

• Most other development models describe only fractions of development work• No explanation how requirements, architectures, integration and verification fits together

• Most other development models are only theoretical and academic showpieces• No explanation and examples how to apply them on the floor

• Most other development models are only impenetrable amount of details• No explanation of how the details forms the superstructures

• Cpdm has none of above shortages

Page 7: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 7

How to apply Cpdm ?How to apply Cpdm ?

• Make assessment of complexity• Are own products considered to be complex ?• If so, do developers master such complexity ?

• Are developers frustrated, is the quality lower than expected, is time and cost unpredictable, and so forth ?

• If not, are management willing to improve ?

• Trying out Cpdm• Stepwise introduction, details bottom-up and/or superstructure top-down• Let train developers in Cpdm, use competent teachers with the Cpdm book• Use process employees and/or Cpdm consultants• Begin with experienced and motivated engineers

• Let the product rule• Evaluate if developed results meets higher expectation ?• Evaluate if products better satisfy customers expectations ?

• Make assessment of complexity• Are own products considered to be complex ?• If so, do developers master such complexity ?

• Are developers frustrated, is the quality lower than expected, is time and cost unpredictable, and so forth ?

• If not, are management willing to improve ?

• Trying out Cpdm• Stepwise introduction, details bottom-up and/or superstructure top-down• Let train developers in Cpdm, use competent teachers with the Cpdm book• Use process employees and/or Cpdm consultants• Begin with experienced and motivated engineers

• Let the product rule• Evaluate if developed results meets higher expectation ?• Evaluate if products better satisfy customers expectations ?

Page 8: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 8

Cpdm inventor Christer SandahlCpdm inventor Christer Sandahl

• Grew up in the Swedish entrepreneurship oriented “Gnosjö” area.• Not far from where IKEA’s Ingvar Kamprad grew up.

• Inventor since childhood• As child, staying in his grandfather's carpentry. Always playing with technical toys• When 14 years, own darkroom and chemical laboratory, later electronics with vacuum tubes and transistors

• Education• Master of Science in Electrical Engineering (M.Sc.EE.) at Chalmers University of Technology• Certified teacher in math and electrical topics for Senior high school

• Professional experience• Own and other small entrepreneur companies• Software manager at Axis, Lund• Management consultant at Q-Labs, Lund• Technical manager and operational development Ericsson and Sony Ericsson Lund• Wine producer of the best Riesling in Hungary• Board member in large family transport company

• Grew up in the Swedish entrepreneurship oriented “Gnosjö” area.• Not far from where IKEA’s Ingvar Kamprad grew up.

• Inventor since childhood• As child, staying in his grandfather's carpentry. Always playing with technical toys• When 14 years, own darkroom and chemical laboratory, later electronics with vacuum tubes and transistors

• Education• Master of Science in Electrical Engineering (M.Sc.EE.) at Chalmers University of Technology• Certified teacher in math and electrical topics for Senior high school

• Professional experience• Own and other small entrepreneur companies• Software manager at Axis, Lund• Management consultant at Q-Labs, Lund• Technical manager and operational development Ericsson and Sony Ericsson Lund• Wine producer of the best Riesling in Hungary• Board member in large family transport company

Page 9: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 9

Book about CpdmBook about Cpdm

• First book about basic “technical foundation”1. Brief development from idea to established product of modest complexity2. Thorough development from requirements specification to prototype verification of

complex products• 800 pages, 5 vast examples running along all phases, hundreds of pictures, figures and tables.• Extended support from Cpdm web site www.cpdm.com

• Planned books• Technical overhead (organization, management, quality, configuration management,

etc)

• First book about basic “technical foundation”1. Brief development from idea to established product of modest complexity2. Thorough development from requirements specification to prototype verification of

complex products• 800 pages, 5 vast examples running along all phases, hundreds of pictures, figures and tables.• Extended support from Cpdm web site www.cpdm.com

• Planned books• Technical overhead (organization, management, quality, configuration management,

etc)

Page 10: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 10

Cpdm process cornerstonesCpdm process cornerstonesfor quality and improvement specialistsfor quality and improvement specialists

Page 11: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 11

Total product value chain

Demand forbetter chair

Manufacturer Custome r

Improve-ment idea

Product developmentvalue chain

Development

Supplier

Retailer

Total product value chain

Demand forbetter chair

Manufacturer Custome r

Improve-ment idea

Product developmentvalue chain

Development

Supplier

Retailer

Total product value chainTotal product value chain

• Development value chain is only one stage of the whole product value chain

• Cpdm covers the development stage

• Development value chain is only one stage of the whole product value chain

• Cpdm covers the development stage

Page 12: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 12

Value chain, activities, and resultsValue chain, activities, and results

• Activities, results and relations• Activities, results and relations • Typical development value chain• Typical development value chainH

uman

Hum

anac

tivity

1ac

tivity

1

Sour

ceSo

urce

resu

ltre

sult

Hum

anH

uman

activ

ity2

activ

ity2

Add

edva

lue

Add

edva

lue

resu

ltre

sult

demanded bydemanded byactivity 1activity 1

AddedvalueAddedvalueresultdemandedresultdemanded

by activity 2by activity 2

Human activity 1 continued by activity 2

Human activity 1 continued by activity 2

Source result extended by added value result

Source result extended by added value result

Source resultSource result Activity 1 justifiedActivity 1 justifiedby added valueby added value

resultresultHum

anac

tivity

1

Sour

cere

sult

Hum

anac

tivity

2

Add

edva

lue

resu

lt

demanded byactivity 1

Addedvalueresultdemanded

by activity 2

Human activity 1 continued by activity 2

Source result extended by added value result

Source result Activity 1 justifiedby added value

result

Typical development value chain

Supportactivity

Supportactivity

ProductIdea

Semiproduct

Dev

elop

-m

enta

c-tiv

ity1

Dev

elop

-m

enta

c-tiv

ity2

Supportsystem

Supportsystem

Typical development value chain

Supportactivity

Supportactivity

ProductIdea

Semiproduct

Dev

elop

-m

enta

c-tiv

ity1

Dev

elop

-m

enta

c-tiv

ity2

Supportsystem

Supportsystem

Res

ult

Res

ult DependencyDependency

DependencyDependencyH

uman

Hum

anac

tivity

activ

ity

Res

ult Dependency

DependencyH

uman

activ

ity

Page 13: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 13

Value chain and rolesValue chain and roles

• Some generic roles in development• Some generic roles in development • In development the factual work adds value to a value chain result

• In development the factual work adds value to a value chain result

Page 13

Sour

cere

sult

Value chain

Sala

ry Developer

Res

ultw

ithad

ded

valu

ecr

eate

dby

ava

luec

hain

deve

lope

r

Sour

cere

sult

Value chain

Sala

ry Developer

Res

ultw

ithad

ded

valu

ecr

eate

dby

ava

luec

hain

deve

lope

r

DDeevveellooppeerrteateamm

Exp

ecte

dac

tivity

Exp

ecte

dac

tivity

Developerteam

Exp

ecte

dac

tivity

Exp

ecte

dre

sult

Exp

ecte

dre

sult

ApproverApprover

Exp

ecte

dre

sult

Approver

MManageanagerr

EExxpectpect--eedd valvaluuee

chaichainn

Exp

ecte

dre

sult

Exp

ecte

dre

sult

Manager

Expect-ed value

chain

Exp

ecte

dre

sult

Page 14: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 14

Value chain, results, and rolesValue chain, results, and roles

• Relation between value chain, results and roles

• Should be read from arrow start to arrow head

• Relation between value chain, results and roles

• Should be read from arrow start to arrow head

Value chain justified byresult

Value chain justified byresult

Result(s) demanded byvalue chain

Result(s) demanded byvalue chain

ValueValuechainchain

(activities(activitiesand re-and re-sults)sults) R

esul

tR

esul

t

RolesRoles

Value chain justified byresult

Result(s) demanded byvalue chain

Valuechain

(activitiesand re-sults) R

esul

t

Roles

Page 15: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 15

Execute three strict sequential activities in full concurrency

Execute three strict sequential activities in full concurrency

• Imagine that three activities have entire sequence dependencies and all of them are started simultanous

• Activity 1 can start with available source results and no waste occur

• Activity 2 can only guess at start, because result 1 is empty.

• After half the time, result 1 is half-ready, and now activity 2 creates ½ waste

• At full time, activity 2 has created m*h waste• Activity 3 can only guess at start

• After half the time, result 2 is only ¼ ready, and now activity 3 creates ¾ waste

• At full time, activity 3 has created 2*m*h waste

• A lot of waste is created

• Imagine that three activities have entire sequence dependencies and all of them are started simultanous

• Activity 1 can start with available source results and no waste occur

• Activity 2 can only guess at start, because result 1 is empty.

• After half the time, result 1 is half-ready, and now activity 2 creates ½ waste

• At full time, activity 2 has created m*h waste• Activity 3 can only guess at start

• After half the time, result 2 is only ¼ ready, and now activity 3 creates ¾ waste

• At full time, activity 3 has created 2*m*h waste

• A lot of waste is created

h

Wor

kfor

ce(m

)

Re-

sult

1su

lt2

Re-

Useful = m*h m

2mWaste = m*h

Useful = m*h

Re-

sult

3

3m

ity1

Act

iv-

Act

ivity

2

Waste = 2*m*h

Act

ivity

3

Useful = m*h

h

h

Time (h)

Wor

kfor

ce(m

)

Time (h)

Wor

kfor

ce(m

)

Time (h)

h

Wor

kfor

ce(m

)

Re-

sult

1su

lt2

Re-

Useful = m*h m

2mWaste = m*h

Useful = m*h

Re-

sult

3

3m

ity1

Act

iv-

Act

ivity

2

Waste = 2*m*h

Act

ivity

3

Useful = m*h

h

h

Time (h)

Wor

kfor

ce(m

)

Time (h)

Wor

kfor

ce(m

)

Time (h)

Page 16: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 16

Execute three strict sequential activities when each activity starts when previous is half wayExecute three strict sequential activities when each activity starts when previous is half way

• By fully concurrence, a lot of waste is created

• Assume instead that 3 sequential activities start first when the previous is half ready

• Waste get = 1/7 * m * h (retained useful = m * h)

• Waste is limited and ratio not increasing with number of activities

• By fully concurrence, a lot of waste is created

• Assume instead that 3 sequential activities start first when the previous is half ready

• Waste get = 1/7 * m * h (retained useful = m * h)

• Waste is limited and ratio not increasing with number of activities

h/2

Wor

kfor

ce(m

)

Time (h)

Re-

sult

1

Re-

sult

2

Useful = m*h m

Useful = m*h 8/7 m

Activ

-ity

1

Act

iv-

Re-

ity3

sult

3

Useful = m*h 8/7 m

h/2

h/2h/2

h/2h/2

Act

iv-

ity2

Waste = 1/7 m*h

Waste = 1/7 m*h

h/2

Wor

kfor

ce(m

)

Time (h)

Re-

sult

1

Re-

sult

2

Useful = m*h m

Useful = m*h 8/7 m

Activ

-ity

1

Act

iv-

Re-

ity3

sult

3

Useful = m*h 8/7 m

h/2

h/2h/2

h/2h/2

Act

iv-

ity2

Waste = 1/7 m*h

Waste = 1/7 m*h

Page 17: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 17

Capture the value chainCapture the value chain

• Capture the value chain by process documentation

• Activity described by task• Result described by master

• The value chain is much easier to handle when documented

• Can be trained• Can be improved

• Capture the value chain by process documentation

• Activity described by task• Result described by master

• The value chain is much easier to handle when documented

• Can be trained• Can be improved

Process TaskHow we work with

our architectures

Management

assign team

Review resumé

Make sketch on

white board

Document sketch

Etc.

Process TaskHow we work with

our architectures

Management

assign team

Review resumé

Make sketch on

white board

Document sketch

Etc.

Process TaskHow we work with

our architectures

Management

assign team

Review resumé

Make sketch on

white board

Document sketch

Etc.

Process MasterWhat kind of archi-

tectures we prepare

• Draw by power

point

• Show all

physical elements

• Show interfaces

to all elements

• Etc.

Page 18: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 18

Process building blocks, schedules, tasks, and mastersProcess building blocks, schedules, tasks, and masters

• Symbols for task, master and schedule

• Task is a description governing how to organize an activity

• Master is a description governing how to organize a result

• Schedule is a package of masters and tasks, see next slide

• Symbols for task, master and schedule

• Task is a description governing how to organize an activity

• Master is a description governing how to organize a result

• Schedule is a package of masters and tasks, see next slide

Master referencedby task Ta

sk,

activ

itygo

vern

ing

how

toor

gani

zean

Mas

ter,

gove

rnin

gho

wto

orga

nize

are

sult Task referenced

by master

Mas

ter,

toor

gani

zean

gove

rnin

ghow

adde

dva

lue

resu

ltMaster referencedby task Ta

sk,

activ

itygo

vern

ing

how

toor

gani

zean

Mas

ter,

gove

rnin

gho

wto

orga

nize

are

sult Task referenced

by master

Mas

ter,

toor

gani

zean

gove

rnin

ghow

adde

dva

lue

resu

lt

Schedule and master are often packaged together

Scheduleof tasks andgovernin ghow to or-masters,

ganize a val-ue chain

by scheduleMaster referenced Schedule referenced

by mastergo

vern

ing

Mas

ter,

how

toor

gani

zea

resu

lt

Mas

ter,

gove

rnin

gho

wto

orga

nize

anad

ded

valu

ere

sult

Schedule and master are often packaged together

Scheduleof tasks andgovernin ghow to or-masters,

ganize a val-ue chain

by scheduleMaster referenced Schedule referenced

by mastergo

vern

ing

Mas

ter,

how

toor

gani

zea

resu

lt

Mas

ter,

gove

rnin

gho

wto

orga

nize

anad

ded

valu

ere

sult

Page 19: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 19

Schedule aggregation and hierarchySchedule aggregation and hierarchy

• Schedule aggregates tasks and masters

• Schedules scale up by aggregate embedded schedules

• Schedule identity characters reflect level in hierarchy (as in an architecture)

• Schedule aggregates tasks and masters

• Schedules scale up by aggregate embedded schedules

• Schedule identity characters reflect level in hierarchy (as in an architecture)

P. Schedule

Pb.M

aste

r(p

artit

ion

ofsc

hedu

le)

Pa.T

ask

(par

titio

nof

sche

dule

)

Q.M

aste

r

Pc.T

ask

(par

titio

nof

sche

dule

)

Pd.M

aste

r(p

artit

ion

ofsc

hedu

le)

P. Schedule

Pb.M

aste

r(p

artit

ion

ofsc

hedu

le)

Pa.T

ask

(par

titio

nof

sche

dule

)

Q.M

aste

r

Pc.T

ask

(par

titio

nof

sche

dule

)

Pd.M

aste

r(p

artit

ion

ofsc

hedu

le)

P.D

.a.

task

Inne

rmos

t

P.D. Innermost schedule containingno embedded schedules

Inne

rmos

tP.

D.b

.m

aste

r

P.D

.c.

P. Outermost schedule containing tasks and masters,and possible embedded schedules

Inne

rmos

tta

sk

P.c.

Out

erm

ost

task

P.a.

Out

erm

ost

task P.b.

Out

erm

ost

mas

ter

Inne

rmos

tP.

E.m

aste

r

Q.

Out

erm

ost

mas

ter

P.D

.a.

task

Inne

rmos

t

P.D. Innermost schedule containingno embedded schedules

Inne

rmos

tP.

D.b

.m

aste

r

P.D

.c.

P. Outermost schedule containing tasks and masters,and possible embedded schedules

Inne

rmos

tta

sk

P.c.

Out

erm

ost

task

P.a.

Out

erm

ost

task P.b.

Out

erm

ost

mas

ter

Inne

rmos

tP.

E.m

aste

r

Q.

Out

erm

ost

mas

ter

Page 20: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 20

Process and reality relationProcess and reality relation

• Process governs the value chain

• Cpdm illustrates the difference between process and reality

• Same names in process and reality

• Process governs the value chain

• Cpdm illustrates the difference between process and reality

• Same names in process and reality Reality

Process

Gove

rn

Gove

rn

by resultValue chain justifiedResult(s) demanded

by value chain

Terms

Gove

rn

lt

Rolb

eysrreesqu

uiredval

Roleu

sehi

cr

he

ad

inby

s

Terbmy

sm

rea

fsetre

er

ncedby

Termsscr

hef

ee

dr

ue

ln

ec

sed

Valuechain

(activit iesand re-sults) R

esul

t

Schedule(packageand mas-of tasks

ters)

Mas

ter

Role

Schedule referencedby masterby schedule

Master(s) referenced

Pt.A

.D

esig

nar

-ch

itect

ure

s(a

ctiv

ity)

Gove

rnPt

.A.

Des

ign

ar-

(task

)ch

itect

ures

Page 21: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 21

Cpdm graphical symbolsCpdm graphical symbols

• Cogwheel or flap indicate reality or description• Description may be of different level of indirection• Flap position indicates static, dynamic or compound• Multiplicity flap indicates iteration or selection

• Cogwheel or flap indicate reality or description• Description may be of different level of indirection• Flap position indicates static, dynamic or compound• Multiplicity flap indicates iteration or selection

Cogwheelor flap

Description

Realization

Cogwheelor flap

Description

Realization

Description withlevel of indirection

Realization descrip-tion, e.g., master forprototype or archi-tecture for product

Description of realiza-tion description, e.g.,requirements or mas-ter for architecture

Description of descrip-tion of realization de-scription, e.g., masterfor requirements

Description withlevel of indirection

Realization descrip-tion, e.g., master forprototype or archi-tecture for product

Description of realiza-tion description, e.g.,requirements or mas-ter for architecture

Description of descrip-tion of realization de-scription, e.g., masterfor requirements

Compound Dynamic

Static

Product

Process

Flap cornerposition

Schedule Activity

Result

Compound Dynamic

Static

Product

Process

Flap cornerposition

Schedule Activity

Result

*

Descriptionmultiplicity

descriptio nMultiple Alternative

description°°

**

Descriptionmultiplicity

descriptio nMultiple Alternative

description°°

*

Asp

ect

Realization

Descriptions

descriptionof realization

Realization descriptionrealizationdescription of

description

Dyna

mic

Value

chain

and

proc

ess

Low-

level

prog

ram

instru

ction

prog

ramHi

gh-le

vel

Gene

ral

Stati

c

instru

ction

syste

mVa

luech

ainpr

ogra

mva

riable

sGe

nera

lan

dpro

cess

syste

m

Comp

ound

ofsta

tican

ddyn

amic Va

luech

ainan

dpro

cess

Prog

ram

Gene

rals

ystem

Activity inprogress

Task(governs ac-

tivity) boardGateTerms

Linkablemachine in-structions

Un-conditional

jump

callSubroutine

addresslabel : structio n

Other in-

Con-jump

ditional

Input oroutput

instructionsSequence of Iteration of

instructions

instructionsSelection of

Machinery,electronics or

gramslinkable pro-

Dynamicelement

Dynamicinterface

Behaviorrequirements

Realization

Terms

(govern sMaster

realization)Reference

schedule or task

Masterdescriptio n of

(governsrealization)

(govern sMaster

description ofrealization)

description of

Linkablemachinevariables variables

AssemblerHigh levelvariables

Mechanicsrealization element

Staticdescrip-

tion

Connectioninterface

Boundaryinterface Restriction

requirement

chain inValue

progress(activities

and re-sults)

TermsReferencemaster(s)

Scheduleue chain

governs val-(packa ge oftasks andmasters)

Executableprogram (in-

structions andvariables)

instanceObjectThread Class shape

requirement

Realizationcontainingmecha nics,and execut-electronicsable pro-

grams Managed

interface: revision

8Bus interfaceWhite-box

Black-box Interface

Compoundelement

Compoundrequirement

Asp

ect

Realization

Descriptions

descriptionof realization

Realization descriptionrealizationdescription of

description

Dyna

mic

Value

chain

and

proc

ess

Low-

level

prog

ram

instru

ction

prog

ramHi

gh-le

vel

Gene

ral

Stati

c

instru

ction

syste

mVa

luech

ainpr

ogra

mva

riable

sGe

nera

lan

dpro

cess

syste

m

Comp

ound

ofsta

tican

ddyn

amic Va

luech

ainan

dpro

cess

Prog

ram

Gene

rals

ystem

Activity inprogress

Task(governs ac-

tivity) boardGateTerms

Linkablemachine in-structions

Un-conditional

jump

callSubroutine

addresslabel : structio n

Other in-

Con-jump

ditional

Input oroutput

instructionsSequence of Iteration of

instructions

instructionsSelection of

Machinery,electronics or

gramslinkable pro-

Dynamicelement

Dynamicinterface

Behaviorrequirements

Realization

Terms

(govern sMaster

realization)Reference

schedule or task

Masterdescriptio n of

(governsrealization)

(govern sMaster

description ofrealization)

description of

Linkablemachinevariables variables

AssemblerHigh levelvariables

Mechanicsrealization element

Staticdescrip-

tion

Connectioninterface

Boundaryinterface Restriction

requirement

chain inValue

progress(activities

and re-sults)

TermsReferencemaster(s)

Scheduleue chain

governs val-(packa ge oftasks andmasters)

Executableprogram (in-

structions andvariables)

instanceObjectThread Class shape

requirement

Realizationcontainingmecha nics,and execut-electronicsable pro-

grams Managed

interface: revision

8Bus interfaceWhite-box

Black-box Interface

Compoundelement

Compoundrequirement

Page 22: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 22

Useful methodologies, Cpdm, own development and manufacturing

Useful methodologies, Cpdm, own development and manufacturing

• Available worldwide methodologies, including Cpdm

• Own process organization tailor process schedule

• Own developing organization use tailored schedule

• Provided manufacturing use design documentation

• Available worldwide methodologies, including Cpdm

• Own process organization tailor process schedule

• Own developing organization use tailored schedule

• Provided manufacturing use design documentation organizatio n

D. Developing

D.Q. Process department

Pt. Own tailored technical development process schedule

Prod

uct

Buildingproduct

M. Manufacturingorganizatio n

prototypefrom design

descrip-verifying ittions, and

design andaccording to

mentsrequire-Design-

ing prod-uct fromrequire-ments

Specify-ing prod-

uct re-quire-ments Pr

oduc

tre-

quir

emen

ts

methodologies

Concretized

Specialize worldwide

methodologies(by experience)

CpdmSpecialize

Gove

rn

Gove

rn

Worldwide availableproduct development methodologies

Gove

rn

Gove

rn

Gove

rn

Gove

rn

Cpdm.

Environment outside the development organization

Complex productdevelopment model

Producting value

chainmanufactur-

scription sOther de-

bookThis

fiedby

Justi-

Dema

nded

by

Demanded by

byDe

mand

ed

byDemanded

Prod

uct

desig

nJusti-

byfied

Justi-fiedby

Justi-

byfied

Pt.P.Pt.A.Pt.F.

Sched-ules for

designingproduct

tionsdescrip-

Pt.I.Pt.V.

Schedulesfor realizingand verify-ing black-/white-box

white-box

whi

te-b

oxM

aste

rsfo

rde

sign

Mas

ters

for

blac

k-bo

xre

-qu

irem

ents

Pt.R.Sched-

ingspecify-ules for

productments

require- Mas

ters

for

whi

te-b

oxpr

otot

ype

Refer-

by

Refer-enced

byenced

Refer-

by

Refer-enced

byenced

Refer-

byenced

Change designChange requirementsChange realization

Prod

uct

prot

otyp

e

organizatio nD. Developing

D.Q. Process department

Pt. Own tailored technical development process schedule

Prod

uct

Buildingproduct

M. Manufacturingorganizatio n

prototypefrom design

descrip-verifying ittions, and

design andaccording to

mentsrequire-Design-

ing prod-uct fromrequire-ments

Specify-ing prod-

uct re-quire-ments Pr

oduc

tre-

quir

emen

ts

methodologies

Concretized

Specialize worldwide

methodologies(by experience)

CpdmSpecialize

Gove

rn

Gove

rn

Worldwide availableproduct development methodologies

Gove

rn

Gove

rn

Gove

rn

Gove

rn

Cpdm.

Environment outside the development organization

Complex productdevelopment model

Producting value

chainmanufactur-

scription sOther de-

bookThis

fiedby

Justi-

Dema

nded

by

Demanded by

byDe

mand

ed

byDemanded

Prod

uct

desig

nJusti-

byfied

Justi-fiedby

Justi-

byfied

Pt.P.Pt.A.Pt.F.

Sched-ules for

designingproduct

tionsdescrip-

Pt.I.Pt.V.

Schedulesfor realizingand verify-ing black-/white-box

white-box

whi

te-b

oxM

aste

rsfo

rde

sign

Mas

ters

for

blac

k-bo

xre

-qu

irem

ents

Pt.R.Sched-

ingspecify-ules for

productments

require- Mas

ters

for

whi

te-b

oxpr

otot

ype

Refer-

by

Refer-enced

byenced

Refer-

by

Refer-enced

byenced

Refer-

byenced

Change designChange requirementsChange realization

Prod

uct

prot

otyp

e

Page 23: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 23

P. Cpdm generic development scheduleP. Cpdm generic development schedule

• Schedule (P.) for both market and technical development

• From idea to established product

• Suppliers included

• Schedule (P.) for both market and technical development

• From idea to established product

• Suppliers included

P. Cpdm generic development schedule

ExternalSuppliers

Pa.S

tudy

stra

tegy

Pb.R

oad

map

Pl.P

roto

-ty

pede

tails

Pj.S

tudy

conc

epts

Pc.P

lan

port

folio

mar

ket

Pn.R

esea

rch

Po.U

ser

prof

ile

Pe.R

e-us

epla

n

Pm.P

artia

lpr

otot

ype

Pk.C

on-

cept

brie

f

Pf.S

tudy

busin

ess

Ph.P

lan

prod

ucts

Pi.P

rodu

ctpr

opos

ition

Pg.B

usi-

ness

case

prop

ositi

onPd

.Por

tfol

io

Py.L

aunc

hpr

oduc

t

Pr.V

alid

ate

prot

otyp

e

Pw.P

repa

rem

anuf

actu

ring

Px.N

ull

serie

s

man

ufac

turin

gPv

.Com

pone

ntsf

orPs

.Val

idat

edpr

otot

ype Pz

.Mar

ket

cond

ition

s

Q.E

stab

lishe

dpr

oduc

t

Pu.F

ield

-ver

i-fie

dpr

otot

ype

Pq.P

rom

o-tio

nm

ater

ial

Pö.F

inal

ize

prod

uct

Pp.P

rom

ote

cam

paig

ns

X.S

uppl

ier

item

s

com

pone

nts

XU

.Sup

ply

Xa.

b.Sa

mpl

eca

talo

gues

Xa.

a.Pr

ovid

eoff-

Pt.

the-

shel

f sam

ples

Cpdm gener ictechnical schedule

Xb.

a.D

evel

optu

rnke

yite

ms

P. Cpdm generic development schedule

ExternalSuppliers

Pa.S

tudy

stra

tegy

Pb.R

oad

map

Pl.P

roto

-ty

pede

tails

Pj.S

tudy

conc

epts

Pc.P

lan

port

folio

mar

ket

Pn.R

esea

rch

Po.U

ser

prof

ile

Pe.R

e-us

epla

n

Pm.P

artia

lpr

otot

ype

Pk.C

on-

cept

brie

f

Pf.S

tudy

busin

ess

Ph.P

lan

prod

ucts

Pi.P

rodu

ctpr

opos

ition

Pg.B

usi-

ness

case

prop

ositi

onPd

.Por

tfol

io

Py.L

aunc

hpr

oduc

t

Pr.V

alid

ate

prot

otyp

e

Pw.P

repa

rem

anuf

actu

ring

Px.N

ull

serie

s

man

ufac

turin

gPv

.Com

pone

ntsf

orPs

.Val

idat

edpr

otot

ype Pz

.Mar

ket

cond

ition

s

Q.E

stab

lishe

dpr

oduc

t

Pu.F

ield

-ver

i-fie

dpr

otot

ype

Pq.P

rom

o-tio

nm

ater

ial

Pö.F

inal

ize

prod

uct

Pp.P

rom

ote

cam

paig

ns

X.S

uppl

ier

item

s

com

pone

nts

XU

.Sup

ply

Xa.

b.Sa

mpl

eca

talo

gues

Xa.

a.Pr

ovid

eoff-

Pt.

the-

shel

f sam

ples

Cpdm gener ictechnical schedule

Xb.

a.D

evel

optu

rnke

yite

ms

Page 24: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 24

Pt:1. Cpdm generic elementary technical schedulePt:1. Cpdm generic elementary technical schedule

• Version 1 (Pt:1.) of technical schedule

• For modest complex products

• Version 1 (Pt:1.) of technical schedule

• For modest complex products

Pt:1. Cpdm generic elementary technical schedule

Design white-box« -------------------------------------------------------------------- »

Pt.P

.Pr

edet

erm

ine

plie

rsso

lutio

ns&

sup-

Pt.A

.D

esig

nar

chi-

tect

ures

Pt.B

.A

rchi

tect

ure

s

Pt.F

.Fi

naliz

edes

ign

&re

quisi

tes

Pt.Q

.So

lutio

nan

dsu

pplie

rs

Real

izePt

.I. &in

te-

grat

ew

hite

-box

Pt.G

.Fi

naliz

edde

sign

and

requ

isite

s

Pt.J

.R

ealiz

edw

hite

-boxPt

.S.

Req

uire

men

ts

Pt.R

.Ca

ptur

esta

ffing

&re

quir

emen

ts

Pt.V

.Ve

rify

blac

k-&

whi

te-b

ox

Pu.

Verif

ied

prot

otyp

e

Specify black-box« ---------------------- »

Build and verify black-/white-box« ---------------------------------------------- »

Pt:1. Cpdm generic elementary technical schedule

Design white-box« -------------------------------------------------------------------- »

Pt.P

.Pr

edet

erm

ine

plie

rsso

lutio

ns&

sup-

Pt.A

.D

esig

nar

chi-

tect

ures

Pt.B

.A

rchi

tect

ure

s

Pt.F

.Fi

naliz

edes

ign

&re

quisi

tes

Pt.Q

.So

lutio

nan

dsu

pplie

rs

Real

izePt

.I. &in

te-

grat

ew

hite

-box

Pt.G

.Fi

naliz

edde

sign

and

requ

isite

s

Pt.J

.R

ealiz

edw

hite

-boxPt

.S.

Req

uire

men

ts

Pt.R

.Ca

ptur

esta

ffing

&re

quir

emen

ts

Pt.V

.Ve

rify

blac

k-&

whi

te-b

ox

Pu.

Verif

ied

prot

otyp

e

Specify black-box« ---------------------- »

Build and verify black-/white-box« ---------------------------------------------- »

Page 25: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 25

Scaling up technical scheduleScaling up technical schedule

• Scale up process according to product architecture hierarchy

• Environment level n = 0 is the surrounding to product

• Product nesting level n = 1 is the product to be developed (including interfaces to environment)

• Product inwards nesting levels n > 1 are hierarchical parts inside the product

• Scale up process according to product architecture hierarchy

• Environment level n = 0 is the surrounding to product

• Product nesting level n = 1 is the product to be developed (including interfaces to environment)

• Product inwards nesting levels n > 1 are hierarchical parts inside the product

Pt:2. Cpdm generic advanced technical schedule

Pt:2.0. Map environment and develop interface s to the environment

Capture staff-ments

ing & require-

Pt.2.1. Develop product black-/white-box and each embedded black-/white-box

solutions &Predetermine

suppliersDesign ar-chitectu res design &

Finalizerequisites

integrateRealize &white-box

Verifyblack- &white-box

Pt.2.n. Develop each innermo st black-/white-box containing no black-boxes

Nesti

nglev

eln≥

2Ne

sting

leve

ln=1

Nesti

nglev

eln=

0

Pu.

Pt.1

.W.

Pt.n

.W.

Pt.0

.R.

Pt.0

.S.

Pt.0

.P.

Pt.0

.Q.

Pt.0

.A.

Pt.0

.B.

Pt.0

.F.

Pt.0

.G.

Pt.0

.I.

Pt.0

.J. Pt

.0.V

.

Pt.1

.R.

Pt.1

.S.

Pt.1

.P.

Pt.1

.Q.

Pt.1

.A.

Pt.1

.B.

Pt.1

.F.

Pt.1

.G.

Pt.1

.I.

Pt.1

.J. Pt

.1.V

.

Pt.n

.R.

Pt.n

.S.

Pt.n

.P.

Pt.n

.Q.

Pt.n

.A.

Pt.n

.B.

Pt.n

.F.

Pt.n

.G.

Pt.n

.I.

Pt.n

.J. Pt

.n.V

.

Phase p = R, phase p = P, phase p = A, phase p = F, phase p = I, phase p = V

Pt:2. Cpdm generic advanced technical schedule

Pt:2.0. Map environment and develop interface s to the environment

Capture staff-ments

ing & require-

Pt.2.1. Develop product black-/white-box and each embedded black-/white-box

solutions &Predetermine

suppliersDesign ar-chitectu res design &

Finalizerequisites

integrateRealize &white-box

Verifyblack- &white-box

Pt.2.n. Develop each innermo st black-/white-box containing no black-boxes

Nesti

nglev

eln≥

2Ne

sting

leve

ln=1

Nesti

nglev

eln=

0

Pu.

Pt.1

.W.

Pt.n

.W.

Pt.0

.R.

Pt.0

.S.

Pt.0

.P.

Pt.0

.Q.

Pt.0

.A.

Pt.0

.B.

Pt.0

.F.

Pt.0

.G.

Pt.0

.I.

Pt.0

.J. Pt

.0.V

.

Pt.1

.R.

Pt.1

.S.

Pt.1

.P.

Pt.1

.Q.

Pt.1

.A.

Pt.1

.B.

Pt.1

.F.

Pt.1

.G.

Pt.1

.I.

Pt.1

.J. Pt

.1.V

.

Pt.n

.R.

Pt.n

.S.

Pt.n

.P.

Pt.n

.Q.

Pt.n

.A.

Pt.n

.B.

Pt.n

.F.

Pt.n

.G.

Pt.n

.I.

Pt.n

.J. Pt

.n.V

.

Phase p = R, phase p = P, phase p = A, phase p = F, phase p = I, phase p = V

Page 26: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 26

References between levelsReferences between levels

• Outside-in is moving from the environment and inwards

• Inside-out is moving from embedded parts outwards to environment

• Two ways of integration• Inside-out integration and

explicit verification• Outside-in invasion and

inside-out implicit verification

• Outside-in is moving from the environment and inwards

• Inside-out is moving from embedded parts outwards to environment

• Two ways of integration• Inside-out integration and

explicit verification• Outside-in invasion and

inside-out implicit verification

Pt:2.0. Map environment and develop interface s to the environment

Pt:2.1. Develop product black-/ white-box and each embedded black-/ white-bo x

Pt.2.n. Develop each innermost black-/white-box containing no black-boxes

Pt:2. Cpdm generic advanced technical schedule

Decomposeoutermost black-box

Incorporate verified

Enfold

white-boxoutermost white-box

outermostCapture outermost

ments

Invade

black-box require-outermostwhite-box

Widen verifying

Refine outward

white-box

requiremen ts

outermost black-/

Decomposeembedded black-box

Enfoldembeddedwhite-box Incorporate verified

embedded white-box(es)

Capture embedded

mentsblack-box require-

Invadeembeddedwhite-box

Inside

-out

Outsi

de-in

Widen verifyingembedded

black-/white-box

Pu.

Pt.1

.W.

Pt.0

.R.

Pt.0

.P.

Pt.0

.A.

Pt.0

.I.

Pt.0

.F.

Pt.0

.V.

Pt.0

.S.

Pt.0

.Q.

Pt.0

.B.

Pt.0

.G.

Pt.0

.J.

Pt.1

.R.

Pt.1

.P.

Pt.1

.A.

Pt.1

.F.

Pt.1

.I.

Pt.1

.V.

Pt.1

.S.

Pt.1

.Q.

Pt.1

.B.

Pt.1

.G.

Pt.1

.J.

Pt.n

.R.

Pt.n

.P.

Pt.n

.A.

Pt.n

.F.

Pt.n

.I.

Pt.n

.V.

Pt.n

.S.

Pt.n

.Q.

Pt.n

.B.

Pt.n

.G.

Pt.n

.J.

Pt.n

.W.

Refine environmentrequirements

Page 27: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 27

Pt:2 Generic advanced technical schedule

Pt:2 Generic advanced technical schedule

• Version 2 (Pt:2.) of technical schedule

• For definitely complex products

• Version 2 (Pt:2.) of technical schedule

• For definitely complex products

Phase p = R Phase p = P Phase p = A

Capture requirements forembedded black-boxes

Pt:2. Cpdm generic advanced technical schedule , definition view (left half)

Capture requirements foroutermost black-box

Pt:2.0. Map environment and develop interface s to the environmentPt :2.0. (left half)

Refine requirements

Refine requiremen tsfrom outward requirements

Decompose outermostblack-box to white-box

from environment re-strictions requirements

Decompose embeddedblack-box to white-box

nP.Terms nA.Terms

solutions & suppliersPt.A. DesignPt.P. Predeterminearchitectures

Pt.R. Capture staff-ing & requirements

Blac

k-/wh

ite-b

oxne

sting

level

n≥1

Envir

onme

ntne

sting

level

n=0

Xa.a

.Pr

ovid

eof

f-th

e-sh

elf

sam

ples

0A.Terms0P.Terms

Xb.

E.Tu

rnke

ysc

ribe

dfu

llyde

-so

urce

syst

em

Pt:2.n. Develop outermost black-/white-box and each inward embedded black-/white-box (left half)

Xa.E

.O

ff-th

e-de

scri

bed

shel

fful

lyso

urce

syst

em

Pt.n.R.Refine re-

quirementsward nest-from out-

ing level re-quirements

black- /and ensure

develop -white-box

ingment staff-

0R.Terms

nR.Terms

ExplorePt.0.R.

environ-ment re-strictionsand en-

sure envi-ronmentstaffing

Pt.0.P.Demarcateproduct by

environ-ment solu-tions withpossiblesupplier

tiesopportuni-

Pt.n.P.Predeter-

minesolutions

withoptions

sourcing

Pt.0.A.tute en-Consti-viron-mentarchi-tecture

Pt.n.A.Satisfy re-

quirements bydecomposingoutward nest-

ing levelblack-box intosign contain-white-box de-

black- boxesing possible

*

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ion

re-

quir

emen

ts

Pt.0

.Sb.

Envi

ron-

ing

allo

ca-

tion

men

t sta

ff-Pt

.n.S

b.Bl

ack-

/whi

te-

box

deve

lop-

men

tsta

ffing

Pt.n

.Sa.

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

pplie

rop

port

uniti

estie

s

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.Q.

Solu

tion

alte

r-na

tives

with

supp

liero

p-po

rtun

ities

Xa.b

.ca

ta-

logu

esSa

mpl

e

In-

Pt.E

.ho

use

lega

cyso

urce

syst

em

Pt.0

.B.

Envi

ronm

ente

x-ist

ing

ingr

edie

nts

and

desi

gnof

in-

terf

aces

toth

een

-vi

ronm

ent

Pt.O

.In

-hou

sean

dite

ms

syst

ems

tatio

ndo

cum

en-

Pt.n

.B.

Arc

hite

ctur

ew

hite

-bo

xin

gred

ient

sdes

ign

with

poss

ible

embe

d-de

dbl

ack-

boxe

s

Xb.

a.D

evel

optu

rnke

yite

ms

Phase p = R Phase p = P Phase p = A

Capture requirements forembedded black-boxes

Pt:2. Cpdm generic advanced technical schedule , definition view (left half)

Capture requirements foroutermost black-box

Pt:2.0. Map environment and develop interface s to the environmentPt :2.0. (left half)

Refine requirements

Refine requiremen tsfrom outward requirements

Decompose outermostblack-box to white-box

from environment re-strictions requirements

Decompose embeddedblack-box to white-box

nP.Terms nA.Terms

solutions & suppliersPt.A. DesignPt.P. Predeterminearchitectures

Pt.R. Capture staff-ing & requirements

Blac

k-/wh

ite-b

oxne

sting

level

n≥1

Envir

onme

ntne

sting

level

n=0

Xa.a

.Pr

ovid

eof

f-th

e-sh

elf

sam

ples

0A.Terms0P.Terms

Xb.

E.Tu

rnke

ysc

ribe

dfu

llyde

-so

urce

syst

em

Pt:2.n. Develop outermost black-/white-box and each inward embedded black-/white-box (left half)

Xa.E

.O

ff-th

e-de

scri

bed

shel

fful

lyso

urce

syst

em

Pt.n.R.Refine re-

quirementsward nest-from out-

ing level re-quirements

black- /and ensure

develop -white-box

ingment staff-

0R.Terms

nR.Terms

ExplorePt.0.R.

environ-ment re-strictionsand en-

sure envi-ronmentstaffing

Pt.0.P.Demarcateproduct by

environ-ment solu-tions withpossiblesupplier

tiesopportuni-

Pt.n.P.Predeter-

minesolutions

withoptions

sourcing

Pt.0.A.tute en-Consti-viron-mentarchi-tecture

Pt.n.A.Satisfy re-

quirements bydecomposingoutward nest-

ing levelblack-box intosign contain-white-box de-

black- boxesing possible

*

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ion

re-

quir

emen

ts

Pt.0

.Sb.

Envi

ron-

ing

allo

ca-

tion

men

t sta

ff-Pt

.n.S

b.Bl

ack-

/whi

te-

box

deve

lop-

men

tsta

ffing

Pt.n

.Sa.

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

pplie

rop

port

uniti

estie

s

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.Q.

Solu

tion

alte

r-na

tives

with

supp

liero

p-po

rtun

ities

Xa.b

.ca

ta-

logu

esSa

mpl

e

In-

Pt.E

.ho

use

lega

cyso

urce

syst

em

Pt.0

.B.

Envi

ronm

ente

x-ist

ing

ingr

edie

nts

and

desi

gnof

in-

terf

aces

toth

een

-vi

ronm

ent

Pt.O

.In

-hou

sean

dite

ms

syst

ems

tatio

ndo

cum

en-

Pt.n

.B.

Arc

hite

ctur

ew

hite

-bo

xin

gred

ient

sdes

ign

with

poss

ible

embe

d-de

dbl

ack-

boxe

s

Xb.

a.D

evel

optu

rnke

yite

ms

Phase p = F Phase p = I Phase p = V

white-box

White-box failures to be eliminated

Incorporate outermostwhite-box

Incorporate embeddedwhite-box(es)

white-boxEnfold outermost

Environment interfacesfailures to be eliminated

Invade outermostwhite-box

Widen verifying

white-boxoutermost black-/

Widen verifying

white-boxembedded black-/

Pu.F

ield

-ver

ified

prot

otyp

e

Invade embedded

0V.Terms

Pt:2. Cpdm generic advanced technical schedule, definition view (right half)Pt:2.0. Map environment and develop interfaces to the environment (right half)

Pt.F. Finalize design &requisites

Pt.I. Realize & inte-grate white-box

Pt:2.n. Develop outermost black-/white-boxand each inward embedded black-/white-box (right half)

white-boxPt.V. Verify black- &

Blac

k-/wh

ite-b

oxne

sting

levels

n≥1

Envir

onme

ntne

sting

level

n=0

FinalizePt.0.F.

design ofenviron-ment in-terfaces

withproduct

sitesrequi-

FinalizePt.n.F.design

of white-box withproductrequi-sites

Realize in-Pt.0.I.

terfaces toenviron-ment and

insert/await out-

ermost

Pt.0.V.

white-box

Verifytype

proto-in en-mentviron-

black- /Pt.n.V.Verify

boxwhite-

nI.Terms

nV.Terms

0F.Terms 0I.Terms

Pt.0

.W:2

.Pa

rtia

llypr

otot

ype

field

-ver

ified

Pt.0

.J:1

.Us

able

pro-

toty

pein

ter-

face

ssta

rted

orta

rget

Pt.0

.J:2

.

insim

ulat

or

Un-

read

yfa

cein

ter-

Pt.n

.W:2

.Pa

rtia

llyve

r-ifi

edbl

ack-

/

Pt.n

.J:1

.

whi

te-b

ox

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Usab

lew

hite

-bo

xsta

rted

inho

st,f

ixtu

re,

debu

gger

,or

targ

et

Pt.n

.J:2

.U

n-re

ady

box

whi

te-

Pt.n

.J:3

.Fa

kebl

ack-

/bo

xw

hite

-

Pt.n.I.Procure

items, linka-ble pro-

grams, andintegrate/

await embed-boxes in or-ded black-

der to realizewhite-box

Enfold embeddedwhite-box

Xb.

H.

Turn

key

item

reus

able

Xa.

H.

Off-

the-

item

usab

lesh

elfr

e-Pt

.n.G

.ite

msa

ndpr

od-

Whi

te-b

oxde

sign

uctr

equi

sites

nF.Terms

Fully

veri

-Pt

.n.W

:1.

fied

blac

k-/

whi

te-b

ox

Pt.H

.le

gacy

In-h

ouse

item

sre

usab

le

Phase p = F Phase p = I Phase p = V

white-box

White-box failures to be eliminated

Incorporate outermostwhite-box

Incorporate embeddedwhite-box(es)

white-boxEnfold outermost

Environment interfacesfailures to be eliminated

Invade outermostwhite-box

Widen verifying

white-boxoutermost black-/

Widen verifying

white-boxembedded black-/

Pu.F

ield

-ver

ified

prot

otyp

e

Invade embedded

0V.Terms

Pt:2. Cpdm generic advanced technical schedule, definition view (right half)Pt:2.0. Map environment and develop interfaces to the environment (right half)

Pt.F. Finalize design &requisites

Pt.I. Realize & inte-grate white-box

Pt:2.n. Develop outermost black-/white-boxand each inward embedded black-/white-box (right half)

white-boxPt.V. Verify black- &

Blac

k-/wh

ite-b

oxne

sting

levels

n≥1

Envir

onme

ntne

sting

level

n=0

FinalizePt.0.F.

design ofenviron-ment in-terfaces

withproduct

sitesrequi-

FinalizePt.n.F.design

of white-box withproductrequi-sites

Realize in-Pt.0.I.

terfaces toenviron-ment and

insert/await out-

ermost

Pt.0.V.

white-box

Verifytype

proto-in en-mentviron-

black- /Pt.n.V.Verify

boxwhite-

nI.Terms

nV.Terms

0F.Terms 0I.Terms

Pt.0

.W:2

.Pa

rtia

llypr

otot

ype

field

-ver

ified

Pt.0

.J:1

.Us

able

pro-

toty

pein

ter-

face

ssta

rted

orta

rget

Pt.0

.J:2

.

insim

ulat

or

Un-

read

yfa

cein

ter-

Pt.n

.W:2

.Pa

rtia

llyve

r-ifi

edbl

ack-

/

Pt.n

.J:1

.

whi

te-b

ox

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Usab

lew

hite

-bo

xsta

rted

inho

st,f

ixtu

re,

debu

gger

,or

targ

et

Pt.n

.J:2

.U

n-re

ady

box

whi

te-

Pt.n

.J:3

.Fa

kebl

ack-

/bo

xw

hite

-

Pt.n.I.Procure

items, linka-ble pro-

grams, andintegrate/

await embed-boxes in or-ded black-

der to realizewhite-box

Enfold embeddedwhite-box

Xb.

H.

Turn

key

item

reus

able

Xa.

H.

Off-

the-

item

usab

lesh

elfr

e-Pt

.n.G

.ite

msa

ndpr

od-

Whi

te-b

oxde

sign

uctr

equi

sites

nF.Terms

Fully

veri

-Pt

.n.W

:1.

fied

blac

k-/

whi

te-b

ox

Pt.H

.le

gacy

In-h

ouse

item

sre

usab

le

Page 28: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 28

Tailoring the process to V-modelTailoring the process to V-model

• To showprogress

• To show fixed nesting levels n ≤ 3

• To show incorpo-rative inte-gration

• To showprogress

• To show fixed nesting levels n ≤ 3

• To show incorpo-rative inte-gration B

lack-/

white

-box

nesti

ng le

vel n

=2(P

t.2.)

Blac

k-/wh

ite-b

ox ne

sting

level

n =1(

Pt.1.

)En

viron

ment

nesti

nglev

el n=

0(Pt

.0.)

n = 2

n = 1

n = 0

Pt:2:1. Tailored advanced technical overall V-schedule n = 3, using incorporative integration

Pt.0.

Sa.

Pt.0.

R.

Pt.0.

P.

Pt.1.

Sa.

Pt.1.

R.

Pt.1.

P.

Pt.1.

A.

Pt.2.

Sa.

Pt.2.

R.

Pt.2.

P.

Pt.2.

A.

Pt.2.

F.Pt

.2.G

.

Pt.2.

I.Pt

.2.J:

1.

Pt.2.

V.Pt

.2.W

:1Pt

.1.F.

Pt.1.

G.

Pt.1.

I.Pt

.1.J:

1.

Pt.1.

V.Pt

.1.W

:1.

Pt.0.

F.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Progress

Nesti

nglev

el

n = 2

n = 1

n = 0

Pt.0.

G.

This right half of the scheduleshows incorporative integration

This right half can be alternativelytailored, see right halves below

Pt.0.

A.Pt

.0.Q

.

Pt.0.

B.

Pt.1.

Q.

Pt.1.

B.

Pt.2.

Q.

Pt.2.

B.

Downstream Upstream

Outw

ards

Inwar

ds

Blac

k-/wh

ite-bo

xne

sting

leve

l n=2

(Pt.2

.) B

lack-/

white

-box

nesti

nglev

eln =

1(Pt

.1.)

Envir

onme

ntne

sting

level

n=0(

Pt.0.

)

n = 2

n = 1

n = 0

Pt:2:1. Tailored advanced technical overall V-schedule n = 3, using incorporative integration

Pt.0.

Sa.

Pt.0.

R.

Pt.0.

P.

Pt.1.

Sa.

Pt.1.

R.

Pt.1.

P.

Pt.1.

A.

Pt.2.

Sa.

Pt.2.

R.

Pt.2.

P.

Pt.2.

A.

Pt.2.

F.Pt

.2.G

.

Pt.2.

I.Pt

.2.J:

1.

Pt.2.

V.Pt

.2.W

:1Pt

.1.F.

Pt.1.

G.

Pt.1.

I.Pt

.1.J:

1.

Pt.1.

V.Pt

.1.W

:1.

Pt.0.

F.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Progress

Nesti

nglev

el

n = 2

n = 1

n = 0

Pt.0.

G.

This right half of the scheduleshows incorporative integration

This right half can be alternativelytailored, see right halves below

Pt.0.

A.Pt

.0.Q

.

Pt.0.

B.

Pt.1.

Q.

Pt.1.

B.

Pt.2.

Q.

Pt.2.

B.

Downstream Upstream

Outw

ards

Inwar

ds

Page 29: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 29

Incorporative versus invasive integration Incorporative versus invasive integration

• Sometimes Pt.I. ”Realize and integrate white-box” is prefered executed outside-in.

• If the white-boxes can hardly not be separately built• If the product will be outside-in incrementally validated

• Sometimes Pt.I. ”Realize and integrate white-box” is prefered executed outside-in.

• If the white-boxes can hardly not be separately built• If the product will be outside-in incrementally validated

Pt.0

.F.

Pu.

Pt.3

.V.

Pt.2

.V.

Pt.1

.V.

Pt.0

.V.

Pt.0

.G.

Pt.2

.V.

Pt.0

.W:2

.

Pt.0

.V.

Pt.1

.V.

Pt.1

.G.

Pt.3

.F.

Pt.0

.I.

Pt.3

.I.

Pt.0

.W:2

.Pt

.1.J

:3.

Pt.0

.J:2

.

Pt.1

.J:2

.Pt

.1.J

:1.

Pt.2

.J:2

.Pt

.2.J

:3.

Pt.1

.W:2

.

Pt.3

.J:2

.

Pt.2

.J:1

.

Pt.3

.J:1

.Pt

.2.W

:2.

Pt.3

.W:2

.Pt

.3.W

:1.

Pt.2

.W:2

.Pt

.2.W

:1.

Pt.1

.W:2

.Pt

.1.W

:1.

Pt.1

.I.

Pt.1

.F.

Pt.2

.G.

Pt.2

.F.

Pt.3

.G.

Pt.3

.J:1

.

Pt.0

.J:1

.

Pt.2

.I.

Pt:2:2b. Tailored advanced technical schedule n = 4,using invasive integration (right half)

Pt.I. Realize and

integrate white-box

Pt.0

.F.

Pu.

Pt.3

.V.

Pt.2

.V.

Pt.1

.V.

Pt.0

.V.

Pt.0

.G.

Pt.2

.V.

Pt.0

.W:2

.

Pt.0

.V.

Pt.1

.V.

Pt.1

.G.

Pt.3

.F.

Pt.0

.I.

Pt.3

.I.

Pt.0

.W:2

.Pt

.1.J

:3.

Pt.0

.J:2

.

Pt.1

.J:2

.Pt

.1.J

:1.

Pt.2

.J:2

.Pt

.2.J

:3.

Pt.1

.W:2

.

Pt.3

.J:2

.

Pt.2

.J:1

.

Pt.3

.J:1

.Pt

.2.W

:2.

Pt.3

.W:2

.Pt

.3.W

:1.

Pt.2

.W:2

.Pt

.2.W

:1.

Pt.1

.W:2

.Pt

.1.W

:1.

Pt.1

.I.

Pt.1

.F.

Pt.2

.G.

Pt.2

.F.

Pt.3

.G.

Pt.3

.J:1

.

Pt.0

.J:1

.

Pt.2

.I.

Pt:2:2b. Tailored advanced technical schedule n = 4,using invasive integration (right half)

Pt.I. Realize and

integrate white-box

Pt.I.

Realiz

e &int

egra

tewhit

e-box

Pt:2:1a. Tailored advanced technical schedule n = 3,using incorporative integration (right half)

Pt.2.

F..Pt

.2.G

.

Pt.2.

I.Pt

.2.J:

1.

Pt.2.

V.Pt

.2.W

:1

Pt.1.

F.Pt

.1.G

.

Pt.1.

I.Pt

.1.J:

1.

Pt.1.

V.

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.1.

W:1

Blac

k-/wh

ite-bo

x B

lack-/

white

-box

Envir

onme

nt ne

sting

level

n=2

nesti

nglev

el n=

1 n

estin

glev

eln =

0

V

Pt.F.

Fina

lize de

sign &

requ

isites

Pt. . V

erify

black

- &whit

e-box

Pt.I.

Realiz

e &int

egra

tewhit

e-box

Pt:2:1a. Tailored advanced technical schedule n = 3,using incorporative integration (right half)

Pt.2.

F..Pt

.2.G

.

Pt.2.

I.Pt

.2.J:

1.

Pt.2.

V.Pt

.2.W

:1

Pt.1.

F.Pt

.1.G

.

Pt.1.

I.Pt

.1.J:

1.

Pt.1.

V.

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.1.

W:1

Blac

k-/wh

ite-bo

x B

lack-/

white

-box

Envir

onme

nt ne

sting

level

n=2

nesti

nglev

el n=

1 n

estin

glev

eln =

0

V

Pt.F.

Fina

lize de

sign &

requ

isites

Pt. . V

erify

black

- &whit

e-box

Page 30: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 30

Cpdm technical walkthroughwith examples

Cpdm technical walkthroughwith examples

for technical managers and developersfor technical managers and developers

Page 31: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 31

Pt:2 Generic advanced technical schedule wall chart(downloadable in high resolution from www.cpdm.com)Pt:2 Generic advanced technical schedule wall chart(downloadable in high resolution from www.cpdm.com)

• Used to facilitate navigation within the advanced technical process• Used to facilitate navigation within the advanced technical process

Incorporate embeddedwhite-box(es))

Incorporate outermostwhite-box

Enfold embeddedwhite-box

Enfold outermostwhite-box

White-box failuresto be eliminated

Widen verifyingoutermost black-/white-box

Widen verifyingembedded black-/white-box

Environment interfacesfailures to be eliminated

Invade outermostwhite-box

Invade embeddedwhite-box

Unsatisfactory

Pt.n

.Va.

Deve

lop

test

-cas

es,

also

forf

ixtu

resa

ndde

bugg

er

Pt.n.V. Verify black-/white-box

Pt.n

.Vl.

Prep

arep

rod-

uctm

anua

l

Pt.n

.Vk.

Failu

reel

imi-

natio

nre

port

Pt.n

.Vi.

Loca

tefa

il-

No

Yes

ure s

ourc

e

Pt.n

.Vj.

Evalu

ate

optim

altio

neli

min

a-

Pt.n

.W:1

.Fu

llyve

rifie

dbl

ack-

/whi

te-b

oxPt.n

.Vm

.M

anua

ltab

leof

cont

ents

Pt.n.Vb.Test-case

More?

failures

Pt.n.F. Finalizebox with prod-design of white-

uct requisites

Unsatisfactory

Pt.n

.Fa.

Fina

lize

whi

te-b

oxde

taile

dite

ms

Exam

ine

Pt.n

.Fe.

whi

te-b

oxsu

cces

s

Unsatisfactory

Pt.0

.Fa.

men

tint

erfa

ces

Fina

lizee

nvir

on-

deta

iled

item

s

Pt.0

.Fb.

Envi

ronm

enti

nter

-fa

cesi

tem

desig

ngr

aphs

and

lists

Pt.0

.Fe.

Exam

ine

prot

otyp

esu

cces

s

Pt.0.F. Finalize de-sign of environmentinterfaces with prod-

uct requisites

Pt.n.I. Procure items, linkable programs, and integrate /await embedded black-boxes in order to realize white-box

Pt.n

.Ic.

Rec

eive

dite

ms

devi

atio

nre

-po

rt

Pt.n

.If.

grat

ion

repo

rtW

hite

-box

inte

-

Pt.n

.Ih.

Whi

te-b

oxst

art-

upre

port

Unsatisfactory

Pt.n

.J:2

.U

nrea

dyw

hite

-box

Pt.n

.Ii.

Exam

ine

inte

grat

ion

robu

stne

ss

Pt.0.I. Realize interfaces to environment and insert/await outermost white-box

Pt.0

.Ib.

Item

sand

link-

able

prog

ram

sre

ceiv

ed

Pt.0

.Ic.

and

port

edlin

ka-

Rec

eive

dite

ms

ble

prog

ram

sde-

viat

ion

repo

rt

Pt.0

.If.

Inte

rfac

esto

envi

-tio

nre

port

ronm

enti

nteg

ra-

Pt.0

.Id.

Pt.0

.Ih.

Inte

rfac

esto

envi

ron-

men

tsta

rt-u

pre

portne

ctin

terf

aces

toC

ompl

ete

and

con-

envi

ronm

ent

Unsatisfactory

Pt.0

.J:2

.U

nrea

dyin

terf

ace

Pt.0

.Ia.

Obt

ain

item

sfor

inte

r-fa

ceto

envi

ronm

ent

and

port

edlin

kabl

epr

ogra

m

Pt.0.

Ii.Ex

amin

epr

otot

ype

relia

bilit

y

Pt.0.V. Verify prototype in environment

Unsatisfactory

Pt.0

.Vf.

Veri

ficat

ion

inta

rget

repo

rt

NoMore

?failures

Yes

Pt.0

.Vj.

uctm

anua

lFi

naliz

epr

od-

Pt.0

.Vk.

Prod

uct

man

ual

Pt.0

.Vh.

Eval

uate

prot

otyp

eco

mpl

ete-

ness

Pt.0

.Vg.

Loca

tefa

il-ur

eso

urce

Pt.0

.Vi.

Failu

reel

imi-

natio

nre

port

Pt.0

.Va.

test

-cas

esfo

rD

evel

opfie

ld

lato

rta

rget

orsim

u-

Pu.

Field

-ver

-ifi

edpr

o-to

type

Pt.n

.Ib.

ceiv

edIt

emsr

e-

Whi

te-b

oxPt

.n.Ie

.pr

epar

ed

Pt.n

.Id.

Inte

grat

eel

emen

ts,

incl

udin

glin

kabl

epr

ogra

man

dem

bed-

ded

blac

k-bo

xes

Pt.n

.Ig.

box

Star

tup

whi

te-

Pt.n

.Ia.

Obt

ain

item

sin-

clud

ing

linka

ble

prog

ram

0F.Terms

0V.Terms

nF.Terms

nV.Terms

Xb.

E.Tu

rnke

ysc

ribed

fully

de-

sour

cesy

stem

Xa.E

.O

ff-th

e-de

scri

bed

shel

fful

lyso

urce

syst

em

Xb.

H.

Turn

key

item

reus

able

Xa.

H.

Off-

the-

shel

fre

usab

leite

m

Pt.n

.Fd.

site

estim

ates

Prod

uctr

equi

-

Pt.n

.Ff.

Fina

lize

item

proc

urem

ent

Pt.0

.Ff.

Fina

lize

item

proc

urem

ent

Pt.0

.Fd.

Prod

uct

requ

isite

Pt.E

.le

gacy

In-h

ouse

sour

cesy

stem

Pt:2. Cpdm generic advanced technical schedule, wall chart view, right half

Pt.n

.W:2

.Pa

rtia

llyve

ri-

fied

blac

k-/

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

whi

te-b

ox

Pt.n

.Fb.

Whi

te-b

oxite

mde

sign

grap

hsan

dlis

ts

Pt.n

.G.

Whi

te-b

oxde

sign

item

sand

prod

uct

Phase F

Phase V

Phase I

requ

isite

s

Pt.n

.Vh.

Veri

ficat

ion

blac

k-bo

xre

port

Pt.n

.Vf.

whi

te-b

oxVe

rific

atio

nre

port

Pt.n

.Vg.

box

Veri

fybl

ack-

Pt.n

.Ve.

box

Veri

fyw

hite

-

Pt.n

.Vd.

Veri

ficat

ion

repo

rt

Pt.n

.Vc.

Veri

fybl

ack-

/w

hite

-box

Pt.n

.Vbb

.te

st-ca

ses

Blac

k-bo

x

Pt.0

.Vc.

Veri

fypr

oto-

type

infie

ldsim

-m

ent

ulat

oren

viro

n-

Pt.0

.Vb.

Fiel

dte

st-c

as-

esfo

rtar

geto

rsim

ulat

or

Pt.0

.Ve.

type

inta

rget

Veri

fypr

oto-

envi

ronm

ent

Pt.0

.Vd.

Sim

ulat

orve

rifi-

catio

nre

port

Thumb-nail:

Pt.0

.Fc.

Acc

ount

fore

nvi-

ronm

enti

nter

face

sza

tion,

and

man

u-de

velo

pmen

t,re

ali-

fact

urin

g Pt.0

.W:2

.Pa

rtia

llyfie

ld-v

erifi

edpr

otot

ype

Acc

ount

for

Pt.n

.Fc.

whi

te-b

oxde

vel-

opm

ent,

real

iza-

fact

urin

gtio

n,an

dm

anu-

Pt.n

.J:1

.Us

able

whi

te-b

oxst

arte

din

host

,fix

ture

,deb

ugge

r,or

targ

etbl

ack-

/Pt

.n.J

:3.

Fake

box

whi

te-

Pt.n

.Vba

.te

st-c

ases

Whi

te-b

ox

Pt.0

.J:1

.U

sabl

epr

otot

ype

in-

terf

aces

star

ted

insim

-ul

ator

orta

rget

0I.Terms

nI.Terms

inte

r-Pt

.0.Ig

.fa

ces

toen

vi-

Star

tro

nmen

t

Inte

rfac

esto

Pt.0

.Ie.

envi

ronm

ent

com

plet

ed

Pt.H

.In

-hou

sele

gacy

re-

item

sus

able

Incorporate embeddedwhite-box(es))

Incorporate outermostwhite-box

Enfold embeddedwhite-box

Enfold outermostwhite-box

White-box failuresto be eliminated

Widen verifyingoutermost black-/white-box

Widen verifyingembedded black-/white-box

Environment interfacesfailures to be eliminated

Invade outermostwhite-box

Invade embeddedwhite-box

Unsatisfactory

Pt.n

.Va.

Deve

lop

test

-cas

es,

also

forf

ixtu

resa

ndde

bugg

er

Pt.n.V. Verify black-/white-box

Pt.n

.Vl.

Prep

arep

rod-

uctm

anua

l

Pt.n

.Vk.

Failu

reel

imi-

natio

nre

port

Pt.n

.Vi.

Loca

tefa

il-

No

Yes

ure s

ourc

e

Pt.n

.Vj.

Evalu

ate

optim

altio

neli

min

a-

Pt.n

.W:1

.Fu

llyve

rifie

dbl

ack-

/whi

te-b

oxPt.n

.Vm

.M

anua

ltab

leof

cont

ents

Pt.n.Vb.Test-case

More?

failures

Pt.n.F. Finalizebox with prod-design of white-

uct requisites

Unsatisfactory

Pt.n

.Fa.

Fina

lize

whi

te-b

oxde

taile

dite

ms

Exam

ine

Pt.n

.Fe.

whi

te-b

oxsu

cces

s

Unsatisfactory

Pt.0

.Fa.

men

tint

erfa

ces

Fina

lizee

nvir

on-

deta

iled

item

s

Pt.0

.Fb.

Envi

ronm

enti

nter

-fa

cesi

tem

desig

ngr

aphs

and

lists

Pt.0

.Fe.

Exam

ine

prot

otyp

esu

cces

s

Pt.0.F. Finalize de-sign of environmentinterfaces with prod-

uct requisites

Pt.n.I. Procure items, linkable programs, and integrate /await embedded black-boxes in order to realize white-box

Pt.n

.Ic.

Rec

eive

dite

ms

devi

atio

nre

-po

rt

Pt.n

.If.

grat

ion

repo

rtW

hite

-box

inte

-

Pt.n

.Ih.

Whi

te-b

oxst

art-

upre

port

Unsatisfactory

Pt.n

.J:2

.U

nrea

dyw

hite

-box

Pt.n

.Ii.

Exam

ine

inte

grat

ion

robu

stne

ss

Pt.0.I. Realize interfaces to environment and insert/await outermost white-box

Pt.0

.Ib.

Item

sand

link-

able

prog

ram

sre

ceiv

ed

Pt.0

.Ic.

and

port

edlin

ka-

Rec

eive

dite

ms

ble

prog

ram

sde-

viat

ion

repo

rt

Pt.0

.If.

Inte

rfac

esto

envi

-tio

nre

port

ronm

enti

nteg

ra-

Pt.0

.Id.

Pt.0

.Ih.

Inte

rfac

esto

envi

ron-

men

tsta

rt-u

pre

portne

ctin

terf

aces

toC

ompl

ete

and

con-

envi

ronm

ent

Unsatisfactory

Pt.0

.J:2

.U

nrea

dyin

terf

ace

Pt.0

.Ia.

Obt

ain

item

sfor

inte

r-fa

ceto

envi

ronm

ent

and

port

edlin

kabl

epr

ogra

m

Pt.0.

Ii.Ex

amin

epr

otot

ype

relia

bilit

y

Pt.0.V. Verify prototype in environment

Unsatisfactory

Pt.0

.Vf.

Veri

ficat

ion

inta

rget

repo

rt

NoMore

?failures

Yes

Pt.0

.Vj.

uctm

anua

lFi

naliz

epr

od-

Pt.0

.Vk.

Prod

uct

man

ual

Pt.0

.Vh.

Eval

uate

prot

otyp

eco

mpl

ete-

ness

Pt.0

.Vg.

Loca

tefa

il-ur

eso

urce

Pt.0

.Vi.

Failu

reel

imi-

natio

nre

port

Pt.0

.Va.

test

-cas

esfo

rD

evel

opfie

ld

lato

rta

rget

orsim

u-

Pu.

Field

-ver

-ifi

edpr

o-to

type

Pt.n

.Ib.

ceiv

edIt

emsr

e-

Whi

te-b

oxPt

.n.Ie

.pr

epar

ed

Pt.n

.Id.

Inte

grat

eel

emen

ts,

incl

udin

glin

kabl

epr

ogra

man

dem

bed-

ded

blac

k-bo

xes

Pt.n

.Ig.

box

Star

tup

whi

te-

Pt.n

.Ia.

Obt

ain

item

sin-

clud

ing

linka

ble

prog

ram

0F.Terms

0V.Terms

nF.Terms

nV.Terms

Xb.

E.Tu

rnke

ysc

ribed

fully

de-

sour

cesy

stem

Xa.E

.O

ff-th

e-de

scri

bed

shel

fful

lyso

urce

syst

em

Xb.

H.

Turn

key

item

reus

able

Xa.

H.

Off-

the-

shel

fre

usab

leite

m

Pt.n

.Fd.

site

estim

ates

Prod

uctr

equi

-

Pt.n

.Ff.

Fina

lize

item

proc

urem

ent

Pt.0

.Ff.

Fina

lize

item

proc

urem

ent

Pt.0

.Fd.

Prod

uct

requ

isite

Pt.E

.le

gacy

In-h

ouse

sour

cesy

stem

Pt:2. Cpdm generic advanced technical schedule, wall chart view, right half

Pt.n

.W:2

.Pa

rtia

llyve

ri-

fied

blac

k-/

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

whi

te-b

ox

Pt.n

.Fb.

Whi

te-b

oxite

mde

sign

grap

hsan

dlis

ts

Pt.n

.G.

Whi

te-b

oxde

sign

item

sand

prod

uct

Phase F

Phase V

Phase I

requ

isite

s

Pt.n

.Vh.

Veri

ficat

ion

blac

k-bo

xre

port

Pt.n

.Vf.

whi

te-b

oxVe

rific

atio

nre

port

Pt.n

.Vg.

box

Veri

fybl

ack-

Pt.n

.Ve.

box

Veri

fyw

hite

-

Pt.n

.Vd.

Veri

ficat

ion

repo

rt

Pt.n

.Vc.

Veri

fybl

ack-

/w

hite

-box

Pt.n

.Vbb

.te

st-ca

ses

Blac

k-bo

x

Pt.0

.Vc.

Veri

fypr

oto-

type

infie

ldsim

-m

ent

ulat

oren

viro

n-

Pt.0

.Vb.

Fiel

dte

st-c

as-

esfo

rtar

geto

rsim

ulat

or

Pt.0

.Ve.

type

inta

rget

Veri

fypr

oto-

envi

ronm

ent

Pt.0

.Vd.

Sim

ulat

orve

rifi-

catio

nre

port

Thumb-nail:

Pt.0

.Fc.

Acc

ount

fore

nvi-

ronm

enti

nter

face

sza

tion,

and

man

u-de

velo

pmen

t,re

ali-

fact

urin

g Pt.0

.W:2

.Pa

rtia

llyfie

ld-v

erifi

edpr

otot

ype

Acc

ount

for

Pt.n

.Fc.

whi

te-b

oxde

vel-

opm

ent,

real

iza-

fact

urin

gtio

n,an

dm

anu-

Pt.n

.J:1

.Us

able

whi

te-b

oxst

arte

din

host

,fix

ture

,deb

ugge

r,or

targ

etbl

ack-

/Pt

.n.J

:3.

Fake

box

whi

te-

Pt.n

.Vba

.te

st-c

ases

Whi

te-b

ox

Pt.0

.J:1

.U

sabl

epr

otot

ype

in-

terf

aces

star

ted

insim

-ul

ator

orta

rget

0I.Terms

nI.Terms

inte

r-Pt

.0.Ig

.fa

ces

toen

vi-

Star

tro

nmen

t

Inte

rfac

esto

Pt.0

.Ie.

envi

ronm

ent

com

plet

ed

Pt.H

.In

-hou

sele

gacy

re-

item

sus

able

Unsatisfactory

Pt.0.A. Constitute environment architecture

Pt.0

.Ag.

Exam

ine

prod

uct

cont

ext

Pt.0

.Ac.

Arr

ange

ingr

edi-

ents

and

iden

tify

blac

k-bo

x

Pt.0

.Ab.

Envi

ronm

enta

r-ch

itect

urei

ngre

-di

ents

resu

mé Pt

.0.A

d.En

viro

nmen

tlog

i-ca

larc

hite

ctur

e

Lay

outp

hysic

alPt

.0.A

e.ar

chite

ctur

e

Pt.0

.Af.

Envi

ronm

ent

tect

ure

phys

ical

arch

i-Unsatisfactory

Pt.n

.Ag.

Exam

inetu

res

arch

itec-

Pt.n.A. Satisfy requirements by decomposing outward nesting levelblack-box into white- box design containin g possible black-boxes

Pt.n

.Ac.

Arr

ange

ingr

edi-

poss

ible

blac

k-en

tsan

did

entif

ybo

xes

Pt.n

.Ae.

Lay

outp

hysic

alar

chite

ctur

e

Pt.n

.B.

Arc

hite

ctur

ewhi

te-b

oxin

gred

ient

sde

sign

with

poss

ible

embe

dded

blac

k-bo

xes

Refine requirementsfrom outward requirements

Refine requirementsfrom environment restrictions requirements

Capture requirements foroutermost black-box

Decompose embeddedblack-box to white-box

White-box failures tobe eliminated

White

-and

black

-boxl

evel

1ton

Envir

onme

ntlev

el0

Capture requirements forembedded black-boxes

Environment interfacesfailures to be eliminated

Decompose outermostblack-box to white-box

Pt.0

.Sb.

Pt.0.R. Explore environment restric-tions and ensure environment staffing

Envi

ronm

ent

catio

nst

affin

gal

lo-

Unsatisfactory

Pt.0.P. Demarcate product by environment solutionswith possible supplier opportunitie s

Pt.0

.Rb.

Plan

deve

lop-

prov

ider

sm

entr

oles

and

Pt.0

.Ra.

Expl

ore

rest

rict

ions

Pt.0.Tailored en-vironmenttechnicalprocess

sched ule

Pt.n.P. Predetermine solu-tions with sourcing options

Unsatisfactory

Pt.n

.Pa.

Try

to sa

tisfy

requ

irem

ents

Pt.n

.Pc.

Ana

lyze

mak

e/bu

yop

tions

Exam

ine

Pt.n

.Pe.

mak

e/bu

yba

lanc

e

Pt.n

.Ab.

Arc

hite

ctur

ein

gre-

dien

tsre

sum

é

0A.Terms0P.Terms

nP.Terms nA.Terms

Pt.0

.Aa.

Iden

tify

envi

ron-

men

tarc

hite

ctur

ein

gred

ient

s

Pt.n

.Aa.

box

arch

itect

ure

ingr

edie

nts

Iden

tify

whi

te- Lo

gica

larc

hi-

Pt.n

.Ad.

tect

ure

Pt.n

.Af.

chite

ctur

ePh

ysica

lar-

Pt.n

.Q.

Solu

tion

alte

rna-

tives

with

supp

lier

oppo

rtun

ities

Pt.n

.Pb.

Solu

tion

al-

tern

ativ

es

Xb.

a.ke

yite

ms

Dev

elop

turn

-

Pt:2. Cpdm generic advanced technical schedule, wall chart view, left half

Unsatisfactory

Pt.n

.Ra.

Pt.n.R. Refine requirements fromoutward nesting level require-ments and ensure black-/white-

box development staffing

requ

irem

ents

Ref

inea

ndca

ptur

e

Pt.n.Rb.Black-box

requirement s

Pt.n

.Rbb

.Be

havi

or

Pt.n

.Rba

.R

estr

ictio

n

Pt.n

.Sb.

Blac

k-/w

hite

-bo

xde

velo

p-m

ents

taffi

ng

Pt.n

.Rd.

Exam

ine

auth

en-

ticity

Pt.n

.Rc.

Pt.n

.Re.

men

tsPr

iori

tize

requ

ire- Pl

ande

velo

p-m

entr

oles

and

prov

ider

sPt.n.Tailored

white-boxtechnicalprocess

schedule

Pt.n

.Pd.

Supp

liero

p-po

rtun

ities

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edie

nts

and

de-

sign

ofin

terf

aces

toth

een

viro

nmen

t

Xa.

a.Pr

ovid

eof

f-th

e-sh

elfs

am-

ples

Xa.

b.al

ogue

sSa

mpl

eca

t-

Pt.0

.Pa.

Try

tosa

tisfy

rest

rict

ions

Exam

ine

Pt.0

.Pe.

prod

uct

scop

e

Pt.0

.Pc.

and

mak

e/bu

yA

naly

zein

/out

optio

ns

Pt.0

.Pd.

Envi

ronm

entd

e-te

rfac

eso

lutio

nsm

arca

ted

byin

-

port

uniti

esw

ithsu

pplie

rop-Pt

.0.P

b.In

terf

aces

from

en-

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es

alte

rnat

ives

viro

nmen

tsol

utio

n

Yes

bBlack-

?ox No

Yes

bBlack-

?ox No

Pe.R

e-us

epl

anPk

.Con

-ce

ptbr

ief

Pi.P

rodu

ctpr

opos

ition

Po.U

ser

prof

ile

Pm.P

artia

lpr

otot

ype

Pg.B

usi-

ness

case

Pt.0

.Sa.

Envi

ronm

ent

Phase R

Phase P Phase A

quir

emen

tsre

stri

ctio

nre

-

Pb.R

oad

map

Pt.O

.In

-hou

sean

dite

ms

syst

ems

docu

men

-ta

tion

0R.Terms

Pt.n

.Sa.

Prio

ritiz

edm

ents

requ

ire-

nR.Terms

Unsatisfactory

Pt.0.A. Constitute environment architecture

Pt.0

.Ag.

Exam

ine

prod

uct

cont

ext

Pt.0

.Ac.

Arr

ange

ingr

edi-

ents

and

iden

tify

blac

k-bo

x

Pt.0

.Ab.

Envi

ronm

enta

r-ch

itect

urei

ngre

-di

ents

resu

mé Pt

.0.A

d.En

viro

nmen

tlog

i-ca

larc

hite

ctur

e

Lay

outp

hysic

alPt

.0.A

e.ar

chite

ctur

e

Pt.0

.Af.

Envi

ronm

ent

tect

ure

phys

ical

arch

i-Unsatisfactory

Pt.n

.Ag.

Exam

inetu

res

arch

itec-

Pt.n.A. Satisfy requirements by decomposing outward nesting levelblack-box into white- box design containin g possible black-boxes

Pt.n

.Ac.

Arr

ange

ingr

edi-

poss

ible

blac

k-en

tsan

did

entif

ybo

xes

Pt.n

.Ae.

Lay

outp

hysic

alar

chite

ctur

e

Pt.n

.B.

Arc

hite

ctur

ewhi

te-b

oxin

gred

ient

sde

sign

with

poss

ible

embe

dded

blac

k-bo

xes

Refine requirementsfrom outward requirements

Refine requirementsfrom environment restrictions requirements

Capture requirements foroutermost black-box

Decompose embeddedblack-box to white-box

White-box failures tobe eliminated

White

-and

black

-boxl

evel

1ton

Envir

onme

ntlev

el0

Capture requirements forembedded black-boxes

Environment interfacesfailures to be eliminated

Decompose outermostblack-box to white-box

Pt.0

.Sb.

Pt.0.R. Explore environment restric-tions and ensure environment staffing

Envi

ronm

ent

catio

nst

affin

gal

lo-

Unsatisfactory

Pt.0.P. Demarcate product by environment solutionswith possible supplier opportunitie s

Pt.0

.Rb.

Plan

deve

lop-

prov

ider

sm

entr

oles

and

Pt.0

.Ra.

Expl

ore

rest

rict

ions

Pt.0.Tailored en-vironmenttechnicalprocess

sched ule

Pt.n.P. Predetermine solu-tions with sourcing options

Unsatisfactory

Pt.n

.Pa.

Try

to sa

tisfy

requ

irem

ents

Pt.n

.Pc.

Ana

lyze

mak

e/bu

yop

tions

Exam

ine

Pt.n

.Pe.

mak

e/bu

yba

lanc

e

Pt.n

.Ab.

Arc

hite

ctur

ein

gre-

dien

tsre

sum

é

0A.Terms0P.Terms

nP.Terms nA.Terms

Pt.0

.Aa.

Iden

tify

envi

ron-

men

tarc

hite

ctur

ein

gred

ient

s

Pt.n

.Aa.

box

arch

itect

ure

ingr

edie

nts

Iden

tify

whi

te- Lo

gica

larc

hi-

Pt.n

.Ad.

tect

ure

Pt.n

.Af.

chite

ctur

ePh

ysica

lar-

Pt.n

.Q.

Solu

tion

alte

rna-

tives

with

supp

lier

oppo

rtun

ities

Pt.n

.Pb.

Solu

tion

al-

tern

ativ

es

Xb.

a.ke

yite

ms

Dev

elop

turn

-

Pt:2. Cpdm generic advanced technical schedule, wall chart view, left half

Unsatisfactory

Pt.n

.Ra.

Pt.n.R. Refine requirements fromoutward nesting level require-ments and ensure black-/white-

box development staffing

requ

irem

ents

Ref

inea

ndca

ptur

e

Pt.n.Rb.Black-box

requirement s

Pt.n

.Rbb

.Be

havi

or

Pt.n

.Rba

.R

estr

ictio

n

Pt.n

.Sb.

Blac

k-/w

hite

-bo

xde

velo

p-m

ents

taffi

ng

Pt.n

.Rd.

Exam

ine

auth

en-

ticity

Pt.n

.Rc.

Pt.n

.Re.

men

tsPr

iori

tize

requ

ire- Pl

ande

velo

p-m

entr

oles

and

prov

ider

sPt.n.Tailored

white-boxtechnicalprocess

schedule

Pt.n

.Pd.

Supp

liero

p-po

rtun

ities

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edie

nts

and

de-

sign

ofin

terf

aces

toth

een

viro

nmen

t

Xa.

a.Pr

ovid

eof

f-th

e-sh

elfs

am-

ples

Xa.

b.al

ogue

sSa

mpl

eca

t-

Pt.0

.Pa.

Try

tosa

tisfy

rest

rict

ions

Exam

ine

Pt.0

.Pe.

prod

uct

scop

e

Pt.0

.Pc.

and

mak

e/bu

yA

naly

zein

/out

optio

ns

Pt.0

.Pd.

Envi

ronm

entd

e-te

rfac

eso

lutio

nsm

arca

ted

byin

-

port

uniti

esw

ithsu

pplie

rop-Pt

.0.P

b.In

terf

aces

from

en-

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es

alte

rnat

ives

viro

nmen

tsol

utio

n

Yes

bBlack-

?ox No

Yes

bBlack-

?ox No

Pe.R

e-us

epl

anPk

.Con

-ce

ptbr

ief

Pi.P

rodu

ctpr

opos

ition

Po.U

ser

prof

ile

Pm.P

artia

lpr

otot

ype

Pg.B

usi-

ness

case

Pt.0

.Sa.

Envi

ronm

ent

Phase R

Phase P Phase A

quir

emen

tsre

stri

ctio

nre

-

Pb.R

oad

map

Pt.O

.In

-hou

sean

dite

ms

syst

ems

docu

men

-ta

tion

0R.Terms

Pt.n

.Sa.

Prio

ritiz

edm

ents

requ

ire-

nR.Terms

Page 32: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 32

EXAMPLE Chairs:From idea to established productEXAMPLE Chairs:From idea to established product

• Chairs product proposition• Chairs product proposition • Chairs concept brief• Chairs concept brief

Page 33: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 33

Value chain behind development of chairsValue chain behind development of chairs

• Chairs modest complexity need only informal value chain

• Value chain not yet captured as documented process

• Chairs modest complexity need only informal value chain

• Value chain not yet captured as documented process

Stud

ybu

sines

s

Plan

port

folio

Res

earc

hm

arke

t

Prom

ote

cam

paig

ns

Valid

ated

prot

otyp

e

Laun

chpr

oduc

t

Stud

yst

rate

gy

Fina

lize

prod

uct

Stud

yco

ncep

ts

Prot

otyp

ede

tails

Spec

ifyre

quir

emen

ts

Des

ign

arch

itect

ures

Fina

lize

desig

n &

requ

isite

s

Inte

grat

ew

hite

-box

Verif

yw

hite

-an

dbl

ack-

Ram

pup

prod

uctio

n

Pred

eter

min

eso

lutio

ns&

supp

liers

Plan

prod

ucts

Chair developme nt value chainBusiness

Techni que

Line and project management

Stud

ybu

sines

s

Plan

port

folio

Res

earc

hm

arke

t

Prom

ote

cam

paig

ns

Valid

ated

prot

otyp

e

Laun

chpr

oduc

t

Stud

yst

rate

gy

Fina

lize

prod

uct

Stud

yco

ncep

ts

Prot

otyp

ede

tails

Spec

ifyre

quir

emen

ts

Des

ign

arch

itect

ures

Fina

lize

desig

n &

requ

isite

s

Inte

grat

ew

hite

-box

Verif

yw

hite

-an

dbl

ack-

Ram

pup

prod

uctio

n

Pred

eter

min

eso

lutio

ns&

supp

liers

Plan

prod

ucts

Chair developme nt value chainBusiness

Techni que

Line and project management

Page 34: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 34

EXAMPLE House:From specification to verificationEXAMPLE House:From specification to verification

• House environment physical architecture

• House environment physical architecture

• House façade physical architecture

• House façade physical architecture

-E-5. Gas

-E-4. Electricity

-E-2. Water

-E-3. Sewage

-E-6. Driveway

-E-5. Gas

-E-4. Electricity

-E-2. Water

-E-3. Sewage

-E-6. Driveway

Page 35: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 35

Process tailored for house de-velopment

Process tailored for house de-velopment

• Tailored advanced technical 4-level schedule (invasive integration)

• High complexity due to large amount of pieces and details

• Tailored advanced technical 4-level schedule (invasive integration)

• High complexity due to large amount of pieces and details

Pt.R. Capture staffing & requirements Pt.P. Predetermine solutions & suppliers Pt.A. Design architectures

Yes

Yes

Yes

No

No

No

Envir

onme

ntne

sting

level

n=0(

Pt.0.

)Ho

usen

estin

glev

eln=

1(Pt

.1.)

Room

snes

tingl

evel

n=2(

Pt.2.

)

Capture houseRefine environment

restriction requirements

Mach

inery

nesti

nglev

eln=

3(Pt

.3.)

black-box requirements

Decompose room black-box

Pt:2:2 . Tailored advanced technical schedule n = 4 (left half)

Refine houserequirements

requirementsRefine room

Decompose machinery black-box

Capture roomblack-box requirements

Capture machineryblack-box requirements

Black-box

?

Pt.0.A.Consti-tute en-viron-chitec -

ment ar-ture

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ion

re-

quir

emen

ts Pt.0.P.Demarcateproduct by

environ-ment solu-tions withpossible

supplier op-portunities

Pt.0

.B.

Envi

ronm

ente

x-an

dde

sign

ofin

-ist

ing

ingr

edie

nts

terf

aces

toth

een-

viro

nmen

t

Decompose house black-box

Black-?

boxes

Pt.1.A.Satisfy houserequirement sby decompos-

ing house black-box into white-box design con-

taining roomblack-boxes

Pt.1

.Sa.

itize

dre

-H

ouse

prio

r-qu

irem

ents Predeter -

Pt.1.P.mine

tions withhouse solu-

tiesopportuni -

supplier

Black-?

boxes

Pt.2.A.

Pt.1

.B.

Hou

sear

chite

c-tu

resw

ithm

ajor

in-

gred

ient

sand

room

blac

k-bo

xes

Satisfy room re-quirements bydecomposing

room black-b ox-es into white-

box design con-taining machin-ery black-boxes

Pt.3.A.Satisfy machin-

Pt.2

.B.

Roo

mar

chite

ctu

res

with

maj

orin

gred

i-en

tsan

dm

achi

nery

blac

k-bo

xes

machineryby decomposingery requirements

white- box de-black-boxes intosign not contain-ing black-boxes

Pt.3

.B.

Mac

hine

ryar

chi-

tect

ures

with

ma-

nobl

ack-

boxe

sjo

ring

redi

ents

but

alte

rnat

ives

with

sup-

Pt.3

.Q.

Mac

hine

ry so

lutio

npl

iero

ppor

tuni

ties

Pt.0.R.Exploreenviron-ment re-strictionsenviron-

and ensure

ingment staff-

Pt.1.R.Refine house

require-ments fromrestriction

environmentrequire-

ments, and

staffingdevelopmentensure house

Pt.2.R.Refine room

require-ments from

house re-quirements ,and ensure

ingopment staff-room devel-

Room

spr

i-Pt

.2.S

a.or

itize

dre

-qu

irem

ents Predeter -

Pt.2.P.mine

room solu-tions withsupplieropportu-

nities

Pt.3.R.Refine ma-chinery re-quirementsfrom rooms

require-ments andensure ma-chinery de-velopment

staffing Pt.3

.Sa.

prio

ritiz

edre

-M

achi

nery

quir

emen

ts

Pt.3.P.Predeter -mine ma-chinery

solutionswith sup-plier op-

portunities

Pt.0

.Sb.

Envi

ron-

ing

allo

ca-

tion

men

tsta

ff-

Pt.1

.Sb.

Hou

sest

affin

gtio

nal

loca

-R

oom

Pt.2

.Sb.

staf

fing

tion

allo

ca-

Pt.3

.Sb.

ing

allo

ca-

ery

staf

f-tio

n

Mac

hin-

0P.Terms 0A.Terms

1P.Terms 1A.Terms

2P.Terms 2A.Terms

3P.Terms 3A.TermsPt

.2.Q

.R

oom

solu

tion

alte

r-na

tives

with

supp

lier

oppo

rtun

ities

Pt.1

.Q.

Hou

seso

lutio

nal

ter-

nativ

esw

ithsu

ppli-

erop

port

uniti

es

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es

Pt.F. Finalize design & requisites Pt.I. Realize & integrate white-box Pt.V. Verify black- & white-box

1I.Terms

Eliminate rooms failures

Eliminate house failures

Enfold house Invade house Widen verifying house

Widen verifying roomInvade roomEnfold room

Enfold machinery

Pt.3.F.design of

machineryFinalize

with prod-sites

uct requi-

Pt.3.I.Procuremachin-

in order toery items

install ma-chinery

VerifyPt.3.V.

machin-black- /

ery

boxeswhite-

Pt.3

.J:1

.ed

usab

leC

ompl

et-

mac

hin-

box

ery

whi

te-

Pt.2.F.Finalizedesign of

roomswith

productrequisites

Pt.2.I.Procure room

items (andawait invad-

ing machineryblack-boxes)in order to

build rooms

Pt.2

.J:1

.C

ompl

et-

edus

a-bl

eroo

mbo

xw

hite

-

Pt.2.V.Verifyroom

black-/white-

box

Pt.0.F.Finalize de-sign of envi-terfaces withronment in-product req-

uisites

Pt.1.F.design ofFinalizehousewith

productrequisites

Pt.1

.G.

Fina

lized

hous

eite

msd

esig

nw

ithpr

oduc

tre

quisi

tes

Pu.

Fiel

d-ve

r-to

type

ified

pro-

Pt.0

.G.

inte

rfac

ede

-En

viro

nmen

tsig

nite

msa

ndsit

espr

oduc

treq

ui-

Pt.0

.J:2

.U

n-in

ter-

face

read

y

VerifyPt.0.V.proto-type inment

environ-Pt.0.I.Realize in-terface s toenviron-ment and

insert/ermost

await out-white- box

Pt.0

.J:1

.to

type

in-

Usab

lepr

o-te

rfac

essta

rted

inor

targ

etsim

ulat

or

Pt.1.V.

black- /houseVerify

boxwhite-

Fully

veri

-Pt

.2.W

:1.

blac

k-/

fied

room

whi

te-b

ox

Pt.1

.W:1

.Fu

llyve

ri-

blac

k-/

fied

hous

ewh

ite-b

ox

0F.Terms 0I.Terms

0V.Terms

1F.Terms

1V.Terms

2F.Terms

2V.Terms

3F.Terms 3I.Terms

3V.Terms

Widen verifying machineryInvade machinery

Pt:2:2. Tailored advanced technical schedule n = 4 (right half)

Eliminate environment interfaces failures

Pt.1.I.Procure

house items(and await in-vading roomblack-boxes)in order tobuild house

Pt.1.

J:3.

Fake

hous

e

Pt.1

.J:1

.C

ompl

et-

edus

a-bl

ehou

sebo

xw

hite

-

Pt.2

.G.

Fina

lized

room

item

sdes

ign

with

prod

uct

requ

isite

s

2I.Terms

Pt.3

.W:1

.Fu

llyve

ri-

ery

blac

k-/

fied

mac

hin-

whi

te-b

ox

Pt.0

.W:2

.fie

ld-v

erifi

edPa

rtia

llypr

otot

ype

Pt.3

.G.

Fina

lized

ma-

chin

ery

item

sde-

sign

with

prod

-uc

treq

uisit

es

Pt.1

.W:2

.Pa

rtia

llyve

r-ifi

edho

use

box

blac

k-/w

hite

-

Pt.2

.W:2

.Pa

rtia

llyve

r-ifi

edro

ombo

xbl

ack-

/whi

te-

Pt.3

.W:2

.Pa

rtia

llyve

r-ifi

edm

achi

n-er

ybl

ack-

/w

hite

-box

Pt.1

.J:2

.U

nrea

dyho

use

whi

te-

box

Pt.2

.J:2

.ro

omU

nrea

dyw

hite

-bo

x

Pt.3

.J:2

.U

nrea

dym

achi

n-bo

xer

yw

hite

-

Pt.2.

J:3.

Fake

room

sPt

.3.J:3

.m

a-Fa

kech

in-

ery

Page 36: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 36

EXAMPLE multiplication toy: Mounted into cuddle toys,realized by 1) Hardwired network and 2) Micro controllerEXAMPLE multiplication toy: Mounted into cuddle toys,realized by 1) Hardwired network and 2) Micro controller

• Physical architecture of environment

• Physical architecture of environment

• Physical architecture of housing• Physical architecture of housing

120

34 5 67891011

12131415

120

34 5 6 78910

1112131415

120

34 5 67891011

12131415

120

34 5 6 78910

1112131415

Multiplication toy

Environment

Page 37: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 37

EXAMPLE Calculator: program component calc_logicported to 1) Windows application and 2) Pocket deviceEXAMPLE Calculator: program component calc_logicported to 1) Windows application and 2) Pocket device

• Calc_logic environment in Windows physical architecture

• Calc_logic environment in Windows physical architecture

• Calc_logic environment in pocket calculator physical architecture

• Calc_logic environment in pocket calculator physical architecture

Page 38: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 38

EXAMPLE Phonebook: Object oriented programEXAMPLE Phonebook: Object oriented program

• Phonebook environment physical architecture of mmi

• Phonebook environment physical architecture of mmi

• Phonebook file chart• Phonebook file chart

{:}

#include "stdafx.h"using namespace std;#include "ph_book_shape.h"int main(int argc, char* argv[])

Source file main_f.cpp

Header file stdafx.cpp#include "stdafx.h"

Header file ph_ book_shape.h

Head er file ph_book_restrict.h

Header file iostream

Header file conio.h

Header file stdafx.h#include <iostream>#include <conio.h>

{:}

#include "stdafx.h"using namespace std;#include "ph_book_shape.h"int main(int argc, char* argv[])

Source file main_f.cpp

Header file stdafx.cpp#include "stdafx.h"

Header file ph_ book_shape.h

Head er file ph_book_restrict.h

Header file iostream

Header file conio.h

Header file stdafx.h#include <iostream>#include <conio.h>

Page 39: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 39

• Tailored advanced technical 2-level schedule (incorpo-rative integration)

• Used in examples where product size is not the complexity

• Cpdm simplest advanced technical schedule (only one black-box)

Process tailored for examples multiplication toy, calc-logic reusable component, and phonebook programProcess tailored for examples multiplication toy, calc-logic reusable component, and phonebook program

Blac

k-/wh

ite-bo

x nes

tingl

evel

n=1(

Pt.1.

)En

viron

ment

nesti

nglev

eln =

0(Pt

.0.) Pt:2.0. Map environment and develop

Pt:23.1. Develop product

interfaces to the environment

black-/white-box

Pt:2:3. Tailored advanced technical schedule n = 2

Capture black-

Refine environmentrestriction requiremen ts

box requirements

black-boxDecompose Enfold

white-box

Incorporatewhite-box

Black-/white-box failures to be eliminated

eliminated

ture

Environment interfaces failures to be

Pt.0.A.tute en-Consti-

ment ar-viron-chitec-

Pt.0.P.Demar-

cate prod-uct by en-vironmentsolutions

ble suppli-tunitie s

with possi-er oppor-

Pt.0.F.design ofFinalizeenviron-terface sment in-

with prod-uct requi-

sites

Pt.1.PPredeter -mine solu-tions andsupplier

nitiesopportu- Pt

.1.G

Fina

lized

whi

te-b

oxite

msd

esig

nw

ithpr

oduc

treq

uisit

esPt.1.A.Satisfy refinedby decompos-requirement sing product

black-box intowhite-box de-sign contain-

boxes

FinalizePt.1.F.

ing no black-

designitems ofproductwhite-

box withproductrequi-sites

Pt.0.R.environ-Explorement re-and en-

strictionssure envi-staffingronment

Pt.1.R.Refine prod-uct require-ments from

environmentrestrictionrequire-

ments and/white-box

ensure black-develop ment

staffing

Pt.0

.Sa.

Envi

ronm

ent

rest

rictio

nre

-qu

irem

ents

Pu.

Field

-ver

-to

type

ified

pro-

Pt.0

.W:2

.fie

ld-v

erifi

edPa

rtia

llypr

otot

ype

Pt.0

.J:1

.Us

able

prot

otyp

ein

terf

aces

star

t-or

targ

eted

in si

mul

ator

Un-

Pt.0

.J:2

.

inte

r-fa

cere

ady

Pt.1

.J:1

.Co

mpl

eted

usa-

blew

hite

-box

inta

rget

,fix

ture

,or

debu

gger

Pt.1

.W:2

.Pa

rtia

llyve

r-ifi

edbl

ack-

/w

hite

-box

Fully

veri

-Pt

.1.W

:1.

/whi

te-b

oxfie

dbl

ack-

Un-

Pt.1

.J:2

.re

ady

box

whi

te-

Pt.1.V.Verifyblack-/

boxwhite-

Pt.0

.Sb.

Envi

ron-

ing

allo

ca-

tion

men

t sta

ff-Pt.1.I.items

Procure

able pro-and link-grams inorder torealize

boxwhite-

Pt.0

.G.

Envi

ronm

enti

nter

face

desig

nite

msa

ndpr

od-

uctr

equi

sites

0P.Terms 0A.Terms 0F.Terms 0I.Terms

0V.Terms

1P.Terms 1A.Terms 1F.Terms 1I.Terms

1V.Terms

Pt.R. Capture staff-ing & requirements

Pt.P. Predeterminesolutions & suppliers

Pt.A. Designarchitectures & requisites

Pt.F. Finalize design Pt.I. Realize & in-tegrate white-box white-box

Pt.V. Verify black- &

Pt.0.V.Verifyproto-type inenvi-ron-ment

Pt.1

.B.

Arc

hite

ctur

ew

hite

-bo

xw

ithm

ajor

ingr

e-di

ents

butn

oem

bed-

ded

blac

k-bo

xes

Pt.0.I.Realizees to en-interfac-

viron-

awaitinsert/

ment and

outer-mostbox

white-

Pt.1

.Q.

alte

rna-

Solu

tion

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es

tives

and

supp

li-er

oppo

rtun

ities

Prio

ritiz

edPt

.1.S

a.

men

tsre

quir

e-Pt

.1.S

b.bl

ack-

box

Whi

te/

staf

fing

al-

loca

tion

Pt.0

.B.

Envi

ronm

ente

x-an

dde

sign

ofin

-ist

ing

ingr

edie

nts

terf

aces

toth

een

-vi

ronm

ent

Blac

k-/wh

ite-bo

x nes

tingl

evel

n=1(

Pt.1.

)En

viron

ment

nesti

nglev

eln =

0(Pt

.0.) Pt:2.0. Map environment and develop

Pt:23.1. Develop product

interfaces to the environment

black-/white-box

Pt:2:3. Tailored advanced technical schedule n = 2

Capture black-

Refine environmentrestriction requiremen ts

box requirements

black-boxDecompose Enfold

white-box

Incorporatewhite-box

Black-/white-box failures to be eliminated

eliminated

ture

Environment interfaces failures to be

Pt.0.A.tute en-Consti-

ment ar-viron-chitec-

Pt.0.P.Demar-

cate prod-uct by en-vironmentsolutions

ble suppli-tunitie s

with possi-er oppor-

Pt.0.F.design ofFinalizeenviron-terface sment in-

with prod-uct requi-

sites

Pt.1.PPredeter -mine solu-tions andsupplier

nitiesopportu- Pt

.1.G

Fina

lized

whi

te-b

oxite

msd

esig

nw

ithpr

oduc

treq

uisit

esPt.1.A.Satisfy refinedby decompos-requirement sing product

black-box intowhite-box de-sign contain-

boxes

FinalizePt.1.F.

ing no black-

designitems ofproductwhite-

box withproductrequi-sites

Pt.0.R.environ-Explorement re-and en-

strictionssure envi-staffingronment

Pt.1.R.Refine prod-uct require-ments from

environmentrestrictionrequire-

ments and/white-box

ensure black-develop ment

staffing

Pt.0

.Sa.

Envi

ronm

ent

rest

rictio

nre

-qu

irem

ents

Pu.

Field

-ver

-to

type

ified

pro-

Pt.0

.W:2

.fie

ld-v

erifi

edPa

rtia

llypr

otot

ype

Pt.0

.J:1

.Us

able

prot

otyp

ein

terf

aces

star

t-or

targ

eted

in si

mul

ator

Un-

Pt.0

.J:2

.

inte

r-fa

cere

ady

Pt.1

.J:1

.Co

mpl

eted

usa-

blew

hite

-box

inta

rget

,fix

ture

,or

debu

gger

Pt.1

.W:2

.Pa

rtia

llyve

r-ifi

edbl

ack-

/w

hite

-box

Fully

veri

-Pt

.1.W

:1.

/whi

te-b

oxfie

dbl

ack-

Un-

Pt.1

.J:2

.re

ady

box

whi

te-

Pt.1.V.Verifyblack-/

boxwhite-

Pt.0

.Sb.

Envi

ron-

ing

allo

ca-

tion

men

t sta

ff-Pt.1.I.items

Procure

able pro-and link-grams inorder torealize

boxwhite-

Pt.0

.G.

Envi

ronm

enti

nter

face

desig

nite

msa

ndpr

od-

uctr

equi

sites

0P.Terms 0A.Terms 0F.Terms 0I.Terms

0V.Terms

1P.Terms 1A.Terms 1F.Terms 1I.Terms

1V.Terms

Pt.R. Capture staff-ing & requirements

Pt.P. Predeterminesolutions & suppliers

Pt.A. Designarchitectures & requisites

Pt.F. Finalize design Pt.I. Realize & in-tegrate white-box white-box

Pt.V. Verify black- &

Pt.0.V.Verifyproto-type inenvi-ron-ment

Pt.1

.B.

Arc

hite

ctur

ew

hite

-bo

xw

ithm

ajor

ingr

e-di

ents

butn

oem

bed-

ded

blac

k-bo

xes

Pt.0.I.Realizees to en-interfac-

viron-

awaitinsert/

ment and

outer-mostbox

white-

Pt.1

.Q.

alte

rna-

Solu

tion

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es

tives

and

supp

li-er

oppo

rtun

ities

Prio

ritiz

edPt

.1.S

a.

men

tsre

quir

e-Pt

.1.S

b.bl

ack-

box

Whi

te/

staf

fing

al-

loca

tion

Pt.0

.B.

Envi

ronm

ente

x-an

dde

sign

ofin

-ist

ing

ingr

edie

nts

terf

aces

toth

een

-vi

ronm

ent

Page 40: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 40

Process tailored for calc_logic example to illustrate portingProcess tailored for calc_logic example to illustrate porting

• Tailored advanced technical 2-level process V-schedule (incorporative integration)

• Porting to increasingly scarce targets

tP ao rr gt ei tng 1

Blac

k-/wh

ite-b

oxne

sting

leve

ln=1

(Pt.1

.)

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.1.

I.Pt

.1.J:

1.

Pt.1.

V.Pt

.1.W

:1

Envir

onme

ntne

sting

level

n=0(

Pt.0.

)

tP ao rr gt ei tng 2

Host

tP ao rr gt ei tng 3

Pt.1.

F.

Pt:2:3b. Tailored advanced technical schedule n = 2, porting to 3 targets (right half)

Pt.1.

G

tP ao rr gt ei tng 1

Blac

k-/wh

ite-b

oxne

sting

leve

ln=1

(Pt.1

.)

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.1.

I.Pt

.1.J:

1.

Pt.1.

V.Pt

.1.W

:1

Envir

onme

ntne

sting

level

n=0(

Pt.0.

)

tP ao rr gt ei tng 2

Host

tP ao rr gt ei tng 3

Pt.1.

F.

Pt:2:3b. Tailored advanced technical schedule n = 2, porting to 3 targets (right half)

Pt.1.

G

Page 41: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 41

Specify requirements

Specify requirements

Getting a bit desperate?Getting a bit desperate?

Page 42: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 42

Capture staffing for environment nesting levelCapture staffing for environment nesting level

Pt.0.Sb.Environmentstaffing allo-

cation

Pt.0

.Q.

Capture staffing

Predeterminesolutions &

& requirements

suppliersDesign ar-chitectures

Finalize de-sign & req-

uisitesintegrateRealize &white- box

Verify black-& white-box

Pt.0.Sa.Environmentrestriction re-

0P. Terms 0A. Terms 0F. Terms 0I. Terms 0V. Terms

0R. Terms

Pt.0.R.

Pt.0.P. Pt.0.A. Pt.0.F. Pt.0.I. Pt.0.V.

Pt.0

.B.

Pt.0

.G.

1.Pt

.0.J

:

Pu.

Pt.0.Sb.Environmentstaffing allo-

cation

Pt.0

.Q.

Capture staffing

Predeterminesolutions &

& requirements

suppliersDesign ar-chitectures

Finalize de-sign & req-

uisitesintegrateRealize &white- box

Verify black-& white-box

Pt.0.Sa.Environmentrestriction re-

0P. Terms 0A. Terms 0F. Terms 0I. Terms 0V. Terms

0R. Terms

Pt.0.R.

Pt.0.P. Pt.0.A. Pt.0.F. Pt.0.I. Pt.0.V.

Pt.0

.B.

Pt.0

.G.

1.Pt

.0.J

:

Pu.

• Allocate developers on this nesting level

• chicken and egg dilemma

• ”Capture staffing & requirement” phase

• preferably not to be outsourced

• may need to be started before this phase

• Allocate developers on this nesting level

• chicken and egg dilemma

• ”Capture staffing & requirement” phase

• preferably not to be outsourced

• may need to be started before this phase

Page 43: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 43

Formalism protects requirementsFormalism protects requirements

• Convey requirements from customers into core technical development

• Without requirements being distorted

• To also be used by verification developers

• Convey requirements from customers into core technical development

• Without requirements being distorted

• To also be used by verification developers

Customerorientedrequire-ments

Marketingdepart mentCustomers

Development departments

Mostinfluentialtechnician s

Company developing products

Customerorientedrequire-ments

Marketingdepart mentCustomers

Development departments

Mostinfluentialtechnician s

Company developing products

Page 44: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 44

• Develop (preferably inhouse)

• Tailor a process• Specify

environment staff allocations

• Specify environment restrictions

• Provide restrictions to potential turnkey suppliers

Pt.0.R. Explore environment restrictions and ensure environment staffing

Pt.0.R. Explore environment restrictions and ensure environment staffing

Pt.0

.Ra.

Expl

ore

re-

stri

ctio

ns

Pt.0

.Rb.

Plan

deve

lop-

men

trol

esan

dpr

ovid

ersPt.0.

environ-Tailored

ment techni-cal processschedule

Xb.

a.D

evel

optu

rn-

key

item

s

Pe.R

e-us

epla

nPk

.Con

-ce

ptbr

ief

prop

ositi

onPi

.Pro

duct

Po.U

ser

prof

ile

Pm.P

artia

lpr

otot

ype

Pg.B

usi-

ness

cas

e

Pt.0.R.Explore environment restrictionsand ensure environmen t staffing

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ion

re-

quir

emen

ts

Pt.0

.Sb.

Envi

ronm

ent

catio

nsta

ffing

allo

-

map

Pb.R

oad

Pt.0

.Ra.

Expl

ore

re-

stri

ctio

ns

Pt.0

.Rb.

Plan

deve

lop-

men

trol

esan

dpr

ovid

ersPt.0.

environ-Tailored

ment techni-cal processschedule

Xb.

a.D

evel

optu

rn-

key

item

s

Pe.R

e-us

epla

nPk

.Con

-ce

ptbr

ief

prop

ositi

onPi

.Pro

duct

Po.U

ser

prof

ile

Pm.P

artia

lpr

otot

ype

Pg.B

usi-

ness

cas

e

Pt.0.R.Explore environment restrictionsand ensure environmen t staffing

Pt.0

.Sa.

Envi

ronm

ent

rest

rict

ion

re-

quir

emen

ts

Pt.0

.Sb.

Envi

ronm

ent

catio

nsta

ffing

allo

-

map

Pb.R

oad

Page 45: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 45

EXAMPLE House: Environment staffing allocations

EXAMPLE House: Environment staffing allocations

• Allocate roles to every task and schedule• Inhouse and third party providers• Role items will be accounted in product

requisites

• Allocate roles to every task and schedule• Inhouse and third party providers• Role items will be accounted in product

requisites

i23. Quality inspector• Each supplier and subcontractor ap-prove independent quality inspector• Detects and document deviations torequirements and design• Attest invoices for payment whenfound failures are corrected

PR.10. Proprietor

Pt.0.V. Verify proto-type in environment

i24. Inspector• Approves building permit and houseusage

PR.14. Commune Pt.0.A. Constituteenvironment architec-turePr. Validate prototype

House environment role item ProviderCpdm schedule or

taski10. House user PR.10. Proprietor Pt.0.Rb Plan develop-

ment roles and pro-viders

i11. City architect PR.11. Robber HB Pt.0.Ra Explorerestrictions

i12. City architect• For communal connections• Reviewed by proprietor.

PR.11. Robber HB

Pt.0.Pa. Satisfy restric-tionsi13. House user

• For driveway• Reviewed by Robber HB.

PR.10. Proprietor

i14. House user• Assistance from Robber HB.

PR.10. Proprietor Pt.0.Pc. Analyse in/out and make/buyoptions

i15. Chief architect• Responsibilty by Robber HB to com-ply to authorities regulations and re-quirements• Reviewed by proprietor.

PR.11. Robber HB Pt.0.A. Constituteenvironment architec-turePt.0.F. Finalize designof interface connec-tions to environmenti16. Electrician PR.12. Elert AB

i17. Excavator with driver and plumberi18. Plumberi19. Excavator with driver and electriciani20. Excavator with driver and authorized gas

plumberi21. Dozer with 6 pavers

• Not yet selected.• The builder may use preferred subcon-tractors. Builder and preferred subcon-tractors are responsible to comply toauthorities building regulations.• Correction of found failures

PR.13. Builder

Pt.0.I. Realize inter-face and integrate/invade outmost white-box (build the houseconnections)

i22. Electrician• For electricity• Correction of found failures

PR.12. Elert AB

i23. Quality inspector• Each supplier and subcontractor ap-prove independent quality inspector• Detects and document deviations torequirements and design• Attest invoices for payment whenfound failures are corrected

PR.10. Proprietor

Pt.0.V. Verify proto-type in environment

i24. Inspector• Approves building permit and houseusage

PR.14. Commune Pt.0.A. Constituteenvironment architec-turePr. Validate prototype

House environment role item ProviderCpdm schedule or

taski10. House user PR.10. Proprietor Pt.0.Rb Plan develop-

ment roles and pro-viders

i11. City architect PR.11. Robber HB Pt.0.Ra Explorerestrictions

i12. City architect• For communal connections• Reviewed by proprietor.

PR.11. Robber HB

Pt.0.Pa. Satisfy restric-tionsi13. House user

• For driveway• Reviewed by Robber HB.

PR.10. Proprietor

i14. House user• Assistance from Robber HB.

PR.10. Proprietor Pt.0.Pc. Analyse in/out and make/buyoptions

i15. Chief architect• Responsibilty by Robber HB to com-ply to authorities regulations and re-quirements• Reviewed by proprietor.

PR.11. Robber HB Pt.0.A. Constituteenvironment architec-turePt.0.F. Finalize designof interface connec-tions to environmenti16. Electrician PR.12. Elert AB

i17. Excavator with driver and plumberi18. Plumberi19. Excavator with driver and electriciani20. Excavator with driver and authorized gas

plumberi21. Dozer with 6 pavers

• Not yet selected.• The builder may use preferred subcon-tractors. Builder and preferred subcon-tractors are responsible to comply toauthorities building regulations.• Correction of found failures

PR.13. Builder

Pt.0.I. Realize inter-face and integrate/invade outmost white-box (build the houseconnections)

i22. Electrician• For electricity• Correction of found failures

PR.12. Elert AB

Page 46: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 46

EXAMPLE Calc_logic: Environment restrictionsEXAMPLE Calc_logic: Environment restrictions

• Calc_logic reusable program component have two environments• 1) Windows application and 2) Pocket calculator

• Calc_logic reusable program component have two environments• 1) Windows application and 2) Pocket calculator

calc_logic environment (pocket calculator firmware)environment restrictionsEnvironment restriction

E. RR.1. To fit market cost of an affordable and everyday calculator, the number of buttonsshall be maximum 16.

E. RR.2. To fit market cost of an affordable calculator, the stand alone calculator displayshall hold maximum 8 digits.

E. RR.3. Micro processors for micro controllers has rarely on-chip or external chip supportfor mathematical arithmetic.

E. RR.4. Standard compilers to micro controller seldom have support for extensive mathe-matical arithmetic, but there are some micro controller compilers with floating pointlibrary support for float variables (~ 7 digits).

E. RR.5. Mathematical software libraries for micro processors can be inhouse developed oroutsourced tailor made, and for some micro processors portable libraries are avail-able from third party shelves.

E. RR.6. For proper reusability, calc_logic software must be able to integrate and interfaceother software, prepared by compiler and assembler development systems forwidely available cheap micro controllers

calc_logic environment (pocket calculator firmware)environment restrictionsEnvironment restriction

E. RR.1. To fit market cost of an affordable and everyday calculator, the number of buttonsshall be maximum 16.

E. RR.2. To fit market cost of an affordable calculator, the stand alone calculator displayshall hold maximum 8 digits.

E. RR.3. Micro processors for micro controllers has rarely on-chip or external chip supportfor mathematical arithmetic.

E. RR.4. Standard compilers to micro controller seldom have support for extensive mathe-matical arithmetic, but there are some micro controller compilers with floating pointlibrary support for float variables (~ 7 digits).

E. RR.5. Mathematical software libraries for micro processors can be inhouse developed oroutsourced tailor made, and for some micro processors portable libraries are avail-able from third party shelves.

E. RR.6. For proper reusability, calc_logic software must be able to integrate and interfaceother software, prepared by compiler and assembler development systems forwidely available cheap micro controllers

calc_logic environment (Windows calculator application)environment restrictionsEnvironment restriction

E. RR.7. Since a window screen can hold almost as many buttons as desired, a largeamount of buttons shall be possible.

E. RR.8. Since a window screen field can show almost as many alpha-numeric charactersas desired, the floating point precision shall be as high as possible and the dis-play shall be able to show all accurate digits.

E. RR.9. If a math coprocessor is available in the computer, it may be used to heighten cal-culation speed. However, the calculating software shall also function in comput-ers without math coprocessor.

E. RR.10. There is a lot of compilers for windows, having a lot of different kind of mathemat-ical calculation support. Standard Windows C compiler with library supports hasfloat (~ 7 digits), double float (~ 15 digits) and long double float (~ 31 digits) preci-sion. However, the long double variables most often are diminished to same preci-sion as double variables. As Windows 64 bits version gets more popular, manycompilers will probably in near future offer real support for long double (~ 31 dig-its) floating point precision.

E. RR.11. Many kind of third party mathematical libraries are available or portable to Win-dows.

E. RR.12. For proper reusability, calc_logic software must integrate and interface to othersoftware, prepared by most major development systems on Windows

calc_logic environment (Windows calculator application)environment restrictionsEnvironment restriction

E. RR.7. Since a window screen can hold almost as many buttons as desired, a largeamount of buttons shall be possible.

E. RR.8. Since a window screen field can show almost as many alpha-numeric charactersas desired, the floating point precision shall be as high as possible and the dis-play shall be able to show all accurate digits.

E. RR.9. If a math coprocessor is available in the computer, it may be used to heighten cal-culation speed. However, the calculating software shall also function in comput-ers without math coprocessor.

E. RR.10. There is a lot of compilers for windows, having a lot of different kind of mathemat-ical calculation support. Standard Windows C compiler with library supports hasfloat (~ 7 digits), double float (~ 15 digits) and long double float (~ 31 digits) preci-sion. However, the long double variables most often are diminished to same preci-sion as double variables. As Windows 64 bits version gets more popular, manycompilers will probably in near future offer real support for long double (~ 31 dig-its) floating point precision.

E. RR.11. Many kind of third party mathematical libraries are available or portable to Win-dows.

E. RR.12. For proper reusability, calc_logic software must integrate and interface to othersoftware, prepared by most major development systems on Windows

Page 47: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 47

Pt.n.R. Refine requirements from outward nesting level requirements and ensure black-/white-box development staffing

Pt.n.R. Refine requirements from outward nesting level requirements and ensure black-/white-box development staffing

• Develop (preferably inhouse)• Tailor a process for this level• Specify staff allocations for this

level• Refine requirements from

outward level• Prioritize requirements• Provide requirements to

potential turnkey suppliers

• Develop (preferably inhouse)• Tailor a process for this level• Specify staff allocations for this

level• Refine requirements from

outward level• Prioritize requirements• Provide requirements to

potential turnkey suppliers

Unsatisfactory

Pt.n

.Ra.

Pt.n.R.Refine requirements from out-

ward nesting level requirementsand ensure black-/white-b ox de-

velopment staffing

Ref

inea

ndca

ptur

ere

quir

emen

ts

Pt.n.Rb.Black-box

requirements

Pt.n

.Rbb

.Be

havi

orre

-qu

irem

ents

Pt.n

.Rba

.qu

irem

ents

Res

tric

tion

re-

Pt.n

.Rd.

Exam

ine

auth

en-

ticity

Pt.n

.Rc.

men

tsPr

iori

tize

requ

ire-

Pt.n.Tailored

white-boxtechnicalprocess

schedule

Xb.

a.D

evel

optu

rn-

key

item

s

Pt.n

-1.S

a.Pr

iori

tized

re-

quir

emen

ts

Pt.n

-1.B

.A

rchi

tect

urew

hite

-box

with

maj

orin

gred

ients

and

poss

ible

embe

dded

blac

k-bo

xes

if n ≥ 2

if n = 1

if n ≥ 2

if n = 1

Pt.0

.Sa.

Envi

ronm

ent

quir

emen

tsre

stri

ctio

nre

-

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edie

ntsa

ndde

sign

ofin

terf

aces

toth

een-

viro

nmen

t

Pk cept

b.C

on rie- f

usPee. plR

e- an

Pi.P

rodu

ctpr

opos

ition

prof

ilePo

.Use

r

Pm.P

artia

lpr

otot

ype

Pg.B

usi-

ness

case

Pt.n

.Re.

Plan

deve

lop-

prov

ider

sm

entr

oles

and

Pt.n

.Sb.

box

deve

lop-

Blac

k-/w

hite

-m

ents

taffi

ng

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

map

Pb.R

oad

Unsatisfactory

Pt.n

.Ra.

Pt.n.R.Refine requirements from out-

ward nesting level requirementsand ensure black-/white-b ox de-

velopment staffing

Ref

inea

ndca

ptur

ere

quir

emen

ts

Pt.n.Rb.Black-box

requirements

Pt.n

.Rbb

.Be

havi

orre

-qu

irem

ents

Pt.n

.Rba

.qu

irem

ents

Res

tric

tion

re-

Pt.n

.Rd.

Exam

ine

auth

en-

ticity

Pt.n

.Rc.

men

tsPr

iori

tize

requ

ire-

Pt.n.Tailored

white-boxtechnicalprocess

schedule

Xb.

a.D

evel

optu

rn-

key

item

s

Pt.n

-1.S

a.Pr

iori

tized

re-

quir

emen

ts

Pt.n

-1.B

.A

rchi

tect

urew

hite

-box

with

maj

orin

gred

ients

and

poss

ible

embe

dded

blac

k-bo

xes

if n ≥ 2

if n = 1

if n ≥ 2

if n = 1

Pt.0

.Sa.

Envi

ronm

ent

quir

emen

tsre

stri

ctio

nre

-

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edie

ntsa

ndde

sign

ofin

terf

aces

toth

een-

viro

nmen

t

Pk cept

b.C

on rie- f

usPee. plR

e- an

Pi.P

rodu

ctpr

opos

ition

prof

ilePo

.Use

r

Pm.P

artia

lpr

otot

ype

Pg.B

usi-

ness

case

Pt.n

.Re.

Plan

deve

lop-

prov

ider

sm

entr

oles

and

Pt.n

.Sb.

box

deve

lop-

Blac

k-/w

hite

-m

ents

taffi

ng

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

map

Pb.R

oad

Page 48: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 48

Capture staffing for embedded nesting levelsCapture staffing for embedded nesting levels

• Planning of staffing allocation done for the entire nesting level

• Note that there might be many black-/white-boxes on each nesting level

• “Capture staffing and requirement” phase may be started before entering this phase

• Planning of staffing allocation done for the entire nesting level

• Note that there might be many black-/white-boxes on each nesting level

• “Capture staffing and requirement” phase may be started before entering this phase

Pt.n.Sb.Black-/white-box develop-ment staffing

Pt.n

.Q.

Capture staffing

Predeterminesolutions &

& requirements

suppliersDesign ar-chitectures

Finalize de-sign & req-

uisitesintegrateRealize &white- box

Verify black-& white-box

Pt.n.Sa.Prioritized

requirements

nP. Terms nA. Terms nF. Terms nI. Terms nV. Terms

nR. Terms

Pt.n.R.

Pt.n.P. Pt.n.A. Pt.n.F. Pt.n.I. Pt.n.V.

Pt.n

.B.

Pt.n

.G.

1.Pt

.n.J

:

1.Pt

.n.W

:

Pt.n.Sb.Black-/white-box develop-ment staffing

Pt.n

.Q.

Capture staffing

Predeterminesolutions &

& requirements

suppliersDesign ar-chitectures

Finalize de-sign & req-

uisitesintegrateRealize &white- box

Verify black-& white-box

Pt.n.Sa.Prioritized

requirements

nP. Terms nA. Terms nF. Terms nI. Terms nV. Terms

nR. Terms

Pt.n.R.

Pt.n.P. Pt.n.A. Pt.n.F. Pt.n.I. Pt.n.V.

Pt.n

.B.

Pt.n

.G.

1.Pt

.n.J

:

1.Pt

.n.W

:

Page 49: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 49

Refine requirements from outward black-boxRefine requirements from outward black-box

• Environment restrictions are first refined to become outermost black-box requirements

• After all environment restrictions are refined, new requirements may be added for the outermost black-box

• Requirements cover both black-box restrictions requirements and inter-face behavior requirements

• Environment restrictions are first refined to become outermost black-box requirements

• After all environment restrictions are refined, new requirements may be added for the outermost black-box

• Requirements cover both black-box restrictions requirements and inter-face behavior requirements

A. Black-box-E-n

facesInter-

A.A.Black-

box-A-p

facesInter-

A.B.Black-

box-A-q

facesInter-

E. EnvironmentE.R.x.

Restrictionsin E. Environment

A.R.x.y.Requirements

over -E-n Interfacein A. Black-box or

Refin

ing

and

sum

mar

izin

g

su

g

Rem

fi mnia

ngriz

ain

nd su

g

Rem

fim

nia

ngrizin

and

A.A.R.x.y.zRequirements

in A.A. Black-box orover -A-p Interface

[A[b

interfaceBoundary

[A.A

[dBoundary

[A.B[c

interface

interfaceA.B.R.x.y.zRequirements

in A.B. Black-box orover -A-q Interface

Boundary

A. Black-box-E-n

facesInter-

A.A.Black-

box-A-p

facesInter-

A.B.Black-

box-A-q

facesInter-

E. EnvironmentE.R.x.

Restrictionsin E. Environment

A.R.x.y.Requirements

over -E-n Interfacein A. Black-box or

Refin

ing

and

sum

mar

izin

g

su

g

Rem

fi mnia

ngriz

ain

nd su

g

Rem

fim

nia

ngrizin

and

A.A.R.x.y.zRequirements

in A.A. Black-box orover -A-p Interface

[A[b

interfaceBoundary

[A.A

[dBoundary

[A.B[c

interface

interfaceA.B.R.x.y.zRequirements

in A.B. Black-box orover -A-q Interface

Boundary

Page 50: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 50

EXAMPLE House: kitchen refined require-ments

EXAMPLE House: kitchen refined require-ments• House

requirements refined to kitchen requirements

• House requirements refined to kitchen requirements

House kitchen prioritized requirements (small selection)House kitchen black-box requirement Priority

A. R.1.1. When cooking and dining, the lake shall be as visible as possible HighA.aC. R.1.1.1. The lake shall be visible from kitchen food preparation place High

A. R.2.2. The house shall be accessible for disabled persons. MidA.aC. R.2.2.1. Kitchen may be inaccessible by disabled guests Mid

A. R.3.1. The house shall follow proven methods, regulations and standards HighA.aC. R.3.1.1. Kitchen shall follow established norms, regulations and standards CrucialA.aC. R.3.1.2. Kitchen interiors may not have any damages, scratches and stains HighA.aC. R.3.1.3. Kitchen interiors appearance must be chosen by proprietor. Crucial

A. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialA.aC. R.4.1.1. Kitchen including interiors shall cost maximal 20 000 € CrucialA.aC. R.4.1.2. Purchase only ordinary interiors from few suppliers to press prices High

A. R.6.3. Serving support shall exist for one course at a time. LowA.aC. R.6.3.1. Cheap equipment keep one course warm during eating it Mid

A. R.6.4. Storing, cooking and dining support shall allow a french 5 coursemenu for 8 persons.

Mid

A.aC. R.6.4.1. Use large food preparation area with cold and warm water HighA.aC. R.6.4.2. Storage shall hold 12 pans of 3 litre near cooking place. HighA.aC. R.6.4.3. Storage shall hold 6 plates and 6 bowls near baking place HighA.aC. R.6.4.4. Knife storage shall be children safe and near preparation area. MidA.aC. R.6.4.5. Storage shall hold all kinds of cutlery and kitchen utensils which

shall be easy accessible from preparation area.High

A.aC. R.6.4.6. Storage shall hold 8 bags of each 30 litre groceries, whereof 4 chilledand 1 frozen)

Crucial

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA.aC. R.6.5.1. Dishing shall clean 5 course table wares in one run (5 x 8 plates, cut-

lery and glasses), and dishing shall clean 5 course cooking utensilsin same run

Mid

A.aC. R.6.5.2. Gentle dishing shall support sensitive table wares CrucialA.aC. R.6.5.3. Children safe storage shall hold chemicals for dishing etc. Low

A. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA.aC. R.6.6.1. Food thawing shall be near preparation area HighA.aC. R.6.6.2. Warming of all kind of food shall be near preparation area HighA.aC. R.6.6.3. Food boiling shall be near preparation area CrucialA.aC. R.6.6.4. Food frying shall be near preparation area CrucialA.aC. R.6.6.5. Food wokking shall be near preparation area MidA.aC. R.6.6.6. Food baking shall be near preparation area High

A. R.6.7. Smell from cooking shall be evacuated. HighA.aC. R.6.7.1. Odour from cooking may not spread to other rooms High

A. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA.aC. R.6.8.1. Garbage odour may not be recognisable in kitchen Mid

A. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA.aC. R.7.3.1. Storage shall hold 24 snack meals (2 grocery bags) Low

A. R.9.1. The house shall be safe for children HighA.aC. R.9.1.1. Kitchen shall hold children safe family medicines Low

House kitchen prioritized requirements (small selection)House kitchen black-box requirement Priority

A. R.1.1. When cooking and dining, the lake shall be as visible as possible HighA.aC. R.1.1.1. The lake shall be visible from kitchen food preparation place High

A. R.2.2. The house shall be accessible for disabled persons. MidA.aC. R.2.2.1. Kitchen may be inaccessible by disabled guests Mid

A. R.3.1. The house shall follow proven methods, regulations and standards HighA.aC. R.3.1.1. Kitchen shall follow established norms, regulations and standards CrucialA.aC. R.3.1.2. Kitchen interiors may not have any damages, scratches and stains HighA.aC. R.3.1.3. Kitchen interiors appearance must be chosen by proprietor. Crucial

A. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialA.aC. R.4.1.1. Kitchen including interiors shall cost maximal 20 000 € CrucialA.aC. R.4.1.2. Purchase only ordinary interiors from few suppliers to press prices High

A. R.6.3. Serving support shall exist for one course at a time. LowA.aC. R.6.3.1. Cheap equipment keep one course warm during eating it Mid

A. R.6.4. Storing, cooking and dining support shall allow a french 5 coursemenu for 8 persons.

Mid

A.aC. R.6.4.1. Use large food preparation area with cold and warm water HighA.aC. R.6.4.2. Storage shall hold 12 pans of 3 litre near cooking place. HighA.aC. R.6.4.3. Storage shall hold 6 plates and 6 bowls near baking place HighA.aC. R.6.4.4. Knife storage shall be children safe and near preparation area. MidA.aC. R.6.4.5. Storage shall hold all kinds of cutlery and kitchen utensils which

shall be easy accessible from preparation area.High

A.aC. R.6.4.6. Storage shall hold 8 bags of each 30 litre groceries, whereof 4 chilledand 1 frozen)

Crucial

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA.aC. R.6.5.1. Dishing shall clean 5 course table wares in one run (5 x 8 plates, cut-

lery and glasses), and dishing shall clean 5 course cooking utensilsin same run

Mid

A.aC. R.6.5.2. Gentle dishing shall support sensitive table wares CrucialA.aC. R.6.5.3. Children safe storage shall hold chemicals for dishing etc. Low

A. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA.aC. R.6.6.1. Food thawing shall be near preparation area HighA.aC. R.6.6.2. Warming of all kind of food shall be near preparation area HighA.aC. R.6.6.3. Food boiling shall be near preparation area CrucialA.aC. R.6.6.4. Food frying shall be near preparation area CrucialA.aC. R.6.6.5. Food wokking shall be near preparation area MidA.aC. R.6.6.6. Food baking shall be near preparation area High

A. R.6.7. Smell from cooking shall be evacuated. HighA.aC. R.6.7.1. Odour from cooking may not spread to other rooms High

A. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA.aC. R.6.8.1. Garbage odour may not be recognisable in kitchen Mid

A. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA.aC. R.7.3.1. Storage shall hold 24 snack meals (2 grocery bags) Low

A. R.9.1. The house shall be safe for children HighA.aC. R.9.1.1. Kitchen shall hold children safe family medicines Low

House prioritized requirements (small selection)House black-box requirement Priority

E. R.1. Swedish environmental code 7th chapterA. R.1.1. When cooking and dining, the lake shall be as visible as possible High

R.1.2. Facade and roofing material appearance shall be chosen by proprietor HighE. R.2. Malmö urban planning and local construction ordinanceA. R.2.1. The house style shall comply with neighbours’ houses. LowA. R.2.2. The house shall be accessible for disabled persons. MidA. R.2.3. The house demand a building permit before building starts CrucialE. R.3. Swedish national building regulationsA. R.3.1. The house shall follow proven methods, regulations and standards High

R.3.2. The house shall have an economical energy consumption HighE. R.4. Swedish Financial Supervisory AuthorityA. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialE. R.5. All communal connections available shall be used to make the house

functional and comfortable.A. R.5.1. Provide the house with centrals for all communal connections CrucialA. Ch.1. Modern people in wealthy city districts cook and partyA. R.6. Gourmet cooking and dining requirementsA. R.6.1. The atmosphere during dining shall be relaxed. MidA. R.6.2. The dining support shall hold up to 8 guests. HighA. R.6.3. Serving support shall exist for one course at a time. LowA. R.6.4. Storing, cooking and dining support shall allow a french 5 course menu

for 8 persons.Mid

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA. R.6.7. Smell from cooking shall be evacuated. HighA. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA. R.7. Reunion and party requirementsA. R.7.1. God space shall exist for 24 party guests, half afoot, half sitting. MidA. R.7.2. Serving snack meals shall support 12 party guests. LowA. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA. R.7.4. Toiletting capacity shall exist for 2 contemporary guests. High

diM.sehtolcretuo42roftsixellahsyticapacregnaH.5.7.R.AA. R.8. Sleeping accommodation requirementsA. R.8.1. (No requirements included here due to book space limitation)A. R.9. Health and body caring requirementsA. R.9.1. The house shall be safe for children HighA. Rm.1. Every house shall be prepared for optic fiber communicationA. R.10. Hobbies and electronic communication requirementsA. R.10.1. (No requirements included here due to book space limitation)

House prioritized requirements (small selection)House black-box requirement Priority

E. R.1. Swedish environmental code 7th chapterA. R.1.1. When cooking and dining, the lake shall be as visible as possible High

R.1.2. Facade and roofing material appearance shall be chosen by proprietor HighE. R.2. Malmö urban planning and local construction ordinanceA. R.2.1. The house style shall comply with neighbours’ houses. LowA. R.2.2. The house shall be accessible for disabled persons. MidA. R.2.3. The house demand a building permit before building starts CrucialE. R.3. Swedish national building regulationsA. R.3.1. The house shall follow proven methods, regulations and standards High

R.3.2. The house shall have an economical energy consumption HighE. R.4. Swedish Financial Supervisory AuthorityA. R.4.1. The house shall be attractive to allow maximum bank mortgage CrucialE. R.5. All communal connections available shall be used to make the house

functional and comfortable.A. R.5.1. Provide the house with centrals for all communal connections CrucialA. Ch.1. Modern people in wealthy city districts cook and partyA. R.6. Gourmet cooking and dining requirementsA. R.6.1. The atmosphere during dining shall be relaxed. MidA. R.6.2. The dining support shall hold up to 8 guests. HighA. R.6.3. Serving support shall exist for one course at a time. LowA. R.6.4. Storing, cooking and dining support shall allow a french 5 course menu

for 8 persons.Mid

A. R.6.5. Dishing support needed, shall hold complete dinner. CrucialA. R.6.6. Cooking shall support warming, boiling, frying, wokking and baking. CrucialA. R.6.7. Smell from cooking shall be evacuated. HighA. R.6.8. Waste and garbage from cooking shall be odourless deposited. MidA. R.7. Reunion and party requirementsA. R.7.1. God space shall exist for 24 party guests, half afoot, half sitting. MidA. R.7.2. Serving snack meals shall support 12 party guests. LowA. R.7.3. Storing capacity shall exist for 24 party guests snack meals. LowA. R.7.4. Toiletting capacity shall exist for 2 contemporary guests. High

diM.sehtolcretuo42roftsixellahsyticapacregnaH.5.7.R.AA. R.8. Sleeping accommodation requirementsA. R.8.1. (No requirements included here due to book space limitation)A. R.9. Health and body caring requirementsA. R.9.1. The house shall be safe for children HighA. Rm.1. Every house shall be prepared for optic fiber communicationA. R.10. Hobbies and electronic communication requirementsA. R.10.1. (No requirements included here due to book space limitation)

Page 51: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 51

Refine requirements from embedded black-boxes to inward black-boxesRefine requirements from embedded black-boxes to inward black-boxes

• Requirements divided into 2 types

• Restrictions requirements to restrain white-box design

• Behavior requirements on connection interfaces to black-boxes

• Requirements divided into 2 types

• Restrictions requirements to restrain white-box design

• Behavior requirements on connection interfaces to black-boxes

A. Black-box

A.A. Black-box

-E-k

facesInter-

-A-n

facesInter- Inter-

-A-m

faces

A.A.A.Black-

boxInter--A.A-p

faces

A.B.box

Black-

A.A.B.Black-

box-A.A-q

facesInter-

A.B.A.Black-

box-A.B-r

facesInter-

A.R

.x.y

.

A.B

.R.x

.y.z.

A.B.

R.x.

y.z.

A.B

.A.R

.x.y.

z.v.

A.A

.B.R

.x.y

.z.v.

E. EnvironmentE.R.x.Restriction

in E.requirement sEnvironment

in A.Black-box

A.RR.x.y.Restriction

requirement s

-E-k.RB.x.y.

over -E-kInterfaces

Behaviorrequirements

A.B.RR.x.y.zRestriction

in A.B.Black-box

requirements

-A-m.RB.x.y.z

Interface sover -A-mBehavior

requirement s

A.A.RR.x.y.zRestriction

in Aa.Black-box

requirements

-A-n.RB.x.y.zBehavior

requirement sInterface sover -A-n

RestrictionA.A.A.RR.x.y.z.v.

requirementsin A.A.A.Black-box

Behavior-A.A-p.RB.x.y.z.v.

requirementsover -AA-pInterfaces

A.A.B.RR.x.y.z.v.Restrictionin A.A.B.Black-box

requirements

Behavior-A.A-q.RB.x.y.z.v.

requirementsover -A.A-qInterfaces

RestrictionA.B.A.RR.x.y.z.v.

requirementsBlack-boxin A.B.A.

Behavior-A.B-r.RB.x.y.z.v.

requirement sInterface s

over -A.B-r

[A[b

Boundaryinterface

[A.B[c

interfaceBoundary

[A.A[d

interfaceBoundary

Boundary[A

.B.A[e

interface

[A.A

.B[f

interfaceBoundary

[A.A

.A[g

interfaceBoundary

A. Black-box

A.A. Black-box

-E-k

facesInter-

-A-n

facesInter- Inter-

-A-m

faces

A.A.A.Black-

boxInter--A.A-p

faces

A.B.box

Black-

A.A.B.Black-

box-A.A-q

facesInter-

A.B.A.Black-

box-A.B-r

facesInter-

A.R

.x.y

.

A.B

.R.x

.y.z.

A.B.

R.x.

y.z.

A.B

.A.R

.x.y.

z.v.

A.A

.B.R

.x.y

.z.v.

E. EnvironmentE.R.x.Restriction

in E.requirement sEnvironment

in A.Black-box

A.RR.x.y.Restriction

requirement s

-E-k.RB.x.y.

over -E-kInterfaces

Behaviorrequirements

A.B.RR.x.y.zRestriction

in A.B.Black-box

requirements

-A-m.RB.x.y.z

Interface sover -A-mBehavior

requirement s

A.A.RR.x.y.zRestriction

in Aa.Black-box

requirements

-A-n.RB.x.y.zBehavior

requirement sInterface sover -A-n

RestrictionA.A.A.RR.x.y.z.v.

requirementsin A.A.A.Black-box

Behavior-A.A-p.RB.x.y.z.v.

requirementsover -AA-pInterfaces

A.A.B.RR.x.y.z.v.Restrictionin A.A.B.Black-box

requirements

Behavior-A.A-q.RB.x.y.z.v.

requirementsover -A.A-qInterfaces

RestrictionA.B.A.RR.x.y.z.v.

requirementsBlack-boxin A.B.A.

Behavior-A.B-r.RB.x.y.z.v.

requirement sInterface s

over -A.B-r

[A[b

Boundaryinterface

[A.B[c

interfaceBoundary

[A.A[d

interfaceBoundary

Boundary[A

.B.A[e

interface

[A.A

.B[f

interfaceBoundary

[A.A

.A[g

interfaceBoundary

Page 52: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 52

EXAMPLE Multiplication toy: Behavior requirements

EXAMPLE Multiplication toy: Behavior requirements

• Tables and graphics• Tables and graphics

either -aE-1a .S.1a. Set (operan d1)or -aE-1b.S.1b. Set (operan d2)

-aE-1c.R.2. Show (product)

Unnoticeable

A. Multi-plication toy

aE.a.Multipli-cation toy

user

RB.7. Multiplication toy black-box interaction

either -aE-1a .S.1a. Set (operan d1)or -aE-1b.S.1b. Set (operan d2)

-aE-1c.R.2. Show (product)

Unnoticeable

A. Multi-plication toy

aE.a.Multipli-cation toy

user

RB.7. Multiplication toy black-box interaction

Multiplication toy behaviour requirementsMultiplication toy black-box behaviour interaction Priority

RB.7. Multiplication toy black-box interactionsee separate figure

A. RB.7.1. The user amusement shall be to multiply two operand valuesinto one product value.

Crucial

A. RB.7.2. The toy shall have one input devices for each multiplicand value.Multiplicand values shall be at least between 0 and 10. Themultiplicands must be easy to settle by a child.

0 - 9 crucial> 9 high

A. RB.7.3. The toy shall have at least a 3-digit output device for the prod-uct value. The product must be easy to read by a child.

Crucial

A. RB.7.4. The toy calculate and show the product value practicallyinstantly after either multiplicand is settled.

High

Multiplication toy behaviour requirementsMultiplication toy black-box behaviour interaction Priority

RB.7. Multiplication toy black-box interactionsee separate figure

A. RB.7.1. The user amusement shall be to multiply two operand valuesinto one product value.

Crucial

A. RB.7.2. The toy shall have one input devices for each multiplicand value.Multiplicand values shall be at least between 0 and 10. Themultiplicands must be easy to settle by a child.

0 - 9 crucial> 9 high

A. RB.7.3. The toy shall have at least a 3-digit output device for the prod-uct value. The product must be easy to read by a child.

Crucial

A. RB.7.4. The toy calculate and show the product value practicallyinstantly after either multiplicand is settled.

High

Multiplication toy behaviour requirementsMultiplication toy black-box behaviour on interface -aE-1.

-aE-1a. Multiplicand input interface-aE-1a. S.1a. Set (operand1)-aE-1b. Multiplicand input interface-aE-1b. S.1b. Set (operand2)-aE-1c. Product output interface-aE-1c. R.2. Show (product)

Multiplication toy behaviour requirementsMultiplication toy black-box behaviour on interface -aE-1.

-aE-1a. Multiplicand input interface-aE-1a. S.1a. Set (operand1)-aE-1b. Multiplicand input interface-aE-1b. S.1b. Set (operand2)-aE-1c. Product output interface-aE-1c. R.2. Show (product)

Page 53: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 53

EXAMPLE Rudimentary calculator: Use case

EXAMPLE Rudimentary calculator: Use case

• Basic use case in a table• Normal text editor can be

sufficient• Normal and exception

cases

• Basic use case in a table• Normal text editor can be

sufficient• Normal and exception

cases

A.RB.UN. Normal use case A.RB.UX Exception use cases

Id, name and interactionId, name andinteraction

Id, name andinteraction

Id, name andinteraction

A.RB

.IA.11

.

Input lead operand

A.RB

.IA.12

.

Too many dig-its entered

A.RB

.IA.13

.

Second deci-mal pointentered

A.RB

.IA.14

.

Backspacewhen 1 or lessdigits

The user enters the leadoperand by consecutivelypressing digits 0-9, back-space and decimal point.

Notify user byblinking.Reject digit.

Don’t notifyuser. Rejectpoint.

Don’t notifyuser.

A.RB

.IA.21

. Input dual operatorThe user breaks digit inputwith one of the dual opera-tors +, -, * or /.

A.RB

.IA.31

.

Input trail operand

A.RB

.IA.32

.

Too many dig-its entered

A.RB

.IA.33

.

Second deci-mal pointentered

A.RB

.IA.34

.

Backspacewhen 1 or lessdigits

The user enters the lastoperand by consecutivelypressing digits 0-9, back-space and decimal point

Notify user byblinking.Reject digit.

Don’t notifyuser. Rejectpoint.

Don’t notifyuser.

A.RB

.IA.41

.

Input conclusion.

A.RB

.IA.42

.

Divide by zero

A.RB

.IA.43

.

Overflow after+ or *

A.RB

.IA.44

.

Lost signifi-cance aftersmall / big

Conclude with =.Calculate value and show it.Proceed to input new leadoperand

Show errorinstead ofresult. Expectnew lead oper-and.

Show value asfloating pointinstead.

Show result 0.Don’t notifyuser.

A.RB.UN. Normal use case A.RB.UX Exception use cases

Id, name and interactionId, name andinteraction

Id, name andinteraction

Id, name andinteraction

A.RB

.IA.11

.

Input lead operand

A.RB

.IA.12

.

Too many dig-its entered

A.RB

.IA.13

.

Second deci-mal pointentered

A.RB

.IA.14

.

Backspacewhen 1 or lessdigits

The user enters the leadoperand by consecutivelypressing digits 0-9, back-space and decimal point.

Notify user byblinking.Reject digit.

Don’t notifyuser. Rejectpoint.

Don’t notifyuser.

A.RB

.IA.21

. Input dual operatorThe user breaks digit inputwith one of the dual opera-tors +, -, * or /.

A.RB

.IA.31

.

Input trail operand

A.RB

.IA.32

.

Too many dig-its entered

A.RB

.IA.33

.

Second deci-mal pointentered

A.RB

.IA.34

.

Backspacewhen 1 or lessdigits

The user enters the lastoperand by consecutivelypressing digits 0-9, back-space and decimal point

Notify user byblinking.Reject digit.

Don’t notifyuser. Rejectpoint.

Don’t notifyuser.

A.RB

.IA.41

.

Input conclusion.

A.RB

.IA.42

.

Divide by zero

A.RB

.IA.43

.

Overflow after+ or *

A.RB

.IA.44

.

Lost signifi-cance aftersmall / big

Conclude with =.Calculate value and show it.Proceed to input new leadoperand

Show errorinstead ofresult. Expectnew lead oper-and.

Show value asfloating pointinstead.

Show result 0.Don’t notifyuser.

Page 54: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 54

Formal use casesFormal use cases

• Table or graphical

• Must contain• Identities• Interfaces• Wait-states• Stimuli• Responses• Histories

• Table or graphical

• Must contain• Identities• Interfaces• Wait-states• Stimuli• Responses• Histories

E-1.S.1. Stimulus (arguments)

E-2.S.2. Stimulus (arguments)

E-2.R.3. Response (arguments)

E-1.S.4. Stimulus (arguments)

E-1.R.5. Response

RB.WS.10. Wait-state

RB.WS.40. Wait-state

A.RB. Behaviour requirement

RB.S

R.11

.SR

-Uni

ty

RB.

SR.2

1.SR

-Uni

tyR

B.SR

.31.

SR-U

nity

E-1.R.6. Response

A.Black-box

RB.H.1.Stimuli history

RB.H.2.Stimuli history

RB.WS.30. Wait-state

E.a.Human RB.WS.20. Wait-state

E.a.Human

E.b.Machine

A.R

B.U

.Use

case

E-1.S.1. Stimulus (arguments)

E-2.S.2. Stimulus (arguments)

E-2.R.3. Response (arguments)

E-1.S.4. Stimulus (arguments)

E-1.R.5. Response

RB.WS.10. Wait-state

RB.WS.40. Wait-state

A.RB. Behaviour requirement

RB.S

R.11

.SR

-Uni

ty

RB.

SR.2

1.SR

-Uni

tyR

B.SR

.31.

SR-U

nity

E-1.R.6. Response

A.Black-box

RB.H.1.Stimuli history

RB.H.2.Stimuli history

RB.WS.30. Wait-state

E.a.Human RB.WS.20. Wait-state

E.a.Human

E.b.Machine

A.R

B.U

.Use

case

A.RB. Behaviour requirementA. Black-box

A.R

B.U

Use

cas

e

RB.WS.10.Wait-state

E.a.

Hum

anRB

.SR.

11. SR-Unity 11

descriptionE-1.S-1.Stimulus(arguments)

RB.WS.20. Wait-state

E.b.

Mac

hine

RB.S

R.21

. SR-Unity 21description

E-2.S-2.Stimulus(arguments)

E-2.R3.Response(arguments)

RB.H.1.History

RB.WS.30. Wait-state

E.a.

Hum

anRB

.SR.

31. SR-Unity 31

descriptionE-1.S-4.Stimulus(arguments)

E-1.R5.ResponseE-1.R6.Response

RB.H.2.History

RB.WS.40. Wait-state

A.RB. Behaviour requirementA. Black-box

A.R

B.U

Use

cas

e

RB.WS.10.Wait-state

E.a.

Hum

anRB

.SR.

11. SR-Unity 11

descriptionE-1.S-1.Stimulus(arguments)

RB.WS.20. Wait-state

E.b.

Mac

hine

RB.S

R.21

. SR-Unity 21description

E-2.S-2.Stimulus(arguments)

E-2.R3.Response(arguments)

RB.H.1.History

RB.WS.30. Wait-state

E.a.

Hum

anRB

.SR.

31. SR-Unity 31

descriptionE-1.S-4.Stimulus(arguments)

E-1.R5.ResponseE-1.R6.Response

RB.H.2.History

RB.WS.40. Wait-state

Page 55: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 55

Use case scenarioUse case scenario

• Use cases progressing along wait-states

• Initiates preferably in idle-state and can show behavior paths until back to idle-state

• Mixed normal and exception cases

• Can split on many pages

• Use cases progressing along wait-states

• Initiates preferably in idle-state and can show behavior paths until back to idle-state

• Mixed normal and exception cases

• Can split on many pages

A.RB.S. Use case scenari o

RB.WS.20. Wait-state

RB.WS.30. Wait-state

RB.

SR.11

.SR

-uni

ty

RB.

SR.2

1.SR

-uni

ty

A.Black-box

RB.WS.10.Wait-state

RB.WS.30.Wait-state

RB.

SR.2

2.SR

-uni

ty

RB.WS.10.Wait-state

RB.

SR.3

2.SR

-uni

ty

RB.

SR.3

3.SR

-uni

ty

RB.WS.20.Wait-state

RB.S

R.23

.SR

-uni

ty

RB.H.1.

RB.H.2.

RB.H?

RB.WS.10.Wait-state

RB.S

R.31

.SR

-uni

ty

E-1.S.1.(args)

E-1.R.1.(args)

E-1.S.3.(args)

E-1.R.2(args)

E-1.S.4.(args)

E-1.R.2(args)

E-1.R.4(args)

E-1.S.3.(args)

E-3.R.4.(args)

E-2.S.5.(args)

E-2.R.3(args)

E-1.S.6.(args)

E-1.R.5(args)

RB.H.3.

A.R

B.S.

UX

.2.E

xcep

tion

usec

ase

(RB.

SR.11

.+R

B.SR

.22.

+RB.

SR.3

1.)

A.R

B.S.

UN.

1.No

rmal

usec

ase(

RB.

SR.11

.+R

B.SR

.22.

+RB.

SR.3

2.)

E.User

E.User

E.User

E.User

E.User

E.User

E.User

RB.WS.10.Wait-state

A.RB.S. Use case scenari o

RB.WS.20. Wait-state

RB.WS.30. Wait-state

RB.

SR.11

.SR

-uni

ty

RB.

SR.2

1.SR

-uni

ty

A.Black-box

RB.WS.10.Wait-state

RB.WS.30.Wait-state

RB.

SR.2

2.SR

-uni

ty

RB.WS.10.Wait-state

RB.

SR.3

2.SR

-uni

ty

RB.

SR.3

3.SR

-uni

ty

RB.WS.20.Wait-state

RB.S

R.23

.SR

-uni

ty

RB.H.1.

RB.H.2.

RB.H?

RB.WS.10.Wait-state

RB.S

R.31

.SR

-uni

ty

E-1.S.1.(args)

E-1.R.1.(args)

E-1.S.3.(args)

E-1.R.2(args)

E-1.S.4.(args)

E-1.R.2(args)

E-1.R.4(args)

E-1.S.3.(args)

E-3.R.4.(args)

E-2.S.5.(args)

E-2.R.3(args)

E-1.S.6.(args)

E-1.R.5(args)

RB.H.3.

A.R

B.S.

UX

.2.E

xcep

tion

usec

ase

(RB.

SR.11

.+R

B.SR

.22.

+RB.

SR.3

1.)

A.R

B.S.

UN.

1.No

rmal

usec

ase(

RB.

SR.11

.+R

B.SR

.22.

+RB.

SR.3

2.)

E.User

E.User

E.User

E.User

E.User

E.User

E.User

RB.WS.10.Wait-state

Page 56: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 56

EXAMPLE calc_logic: Behavior in tables(continues)EXAMPLE calc_logic: Behavior in tables(continues)

calc_logic for reuse behaviour requirementsBlack-box behaviour use cases Priority

RB.6. c alc_logic for reuse behaviour requirement no 6A. RB.6.S1. calc_logic for reuse, behaviour requirement 6, scenario 1

see separate figureA. RB.6.S1.U1. Input of lead operand normal use case

sequence of RB.SR.11. + n * RB.SR.21.Critical

A. RB.6.S1.U2. Input of trail operand normal use casesequence of RB.SR.31. + n * RB.SR.41.

Critical

A. RB.6.S1.U3. Perform completing use casesequence of RB.SR.11. + n * RB.SR.21. + RB.SR.22. +RB.SR.31. + n * RB.SR.41. + RB.SR.42.

Critical

A. RB.6.S1.U4. Perform repeating use casesequence of RB.SR.11. + n * RB.SR.21. + RB.SR.22. +RB.SR.31. + n * RB.SR.41. + RB.SR.43. + ...

High

A. RB.6.S1.U5. Perform repeating after conclusion use casesequence of RB.SR.12. + RB.SR.31. + ...

Critical

calc_logic for reuse behaviour requirementsBlack-box behaviour use cases Priority

RB.6. c alc_logic for reuse behaviour requirement no 6A. RB.6.S1. calc_logic for reuse, behaviour requirement 6, scenario 1

see separate figureA. RB.6.S1.U1. Input of lead operand normal use case

sequence of RB.SR.11. + n * RB.SR.21.Critical

A. RB.6.S1.U2. Input of trail operand normal use casesequence of RB.SR.31. + n * RB.SR.41.

Critical

A. RB.6.S1.U3. Perform completing use casesequence of RB.SR.11. + n * RB.SR.21. + RB.SR.22. +RB.SR.31. + n * RB.SR.41. + RB.SR.42.

Critical

A. RB.6.S1.U4. Perform repeating use casesequence of RB.SR.11. + n * RB.SR.21. + RB.SR.22. +RB.SR.31. + n * RB.SR.41. + RB.SR.43. + ...

High

A. RB.6.S1.U5. Perform repeating after conclusion use casesequence of RB.SR.12. + RB.SR.31. + ...

Critical

calc_logic for reuse behaviour requirementsBlack-box behaviour wait-states, SR-unities and histories

A. RB. calc_logic for reuse behaviour requirementA. RB.WS.10. Wait for lead operand 1st digitA. RB.WS.20. Wait for further digit or duo-operatorA. RB.WS.30. Wait for trail operand 1st digitA. RB.WS.40. Wait for further digit or conclusion operatorA. RB.SR.01. Start-upA. RB.SR.11. Input 1st digit of lead operandA. RB.SR.12. Prepare continuation after conclusionA. RB.SR.21. Input rest of lead operandA. RB.SR.22. Input dual operatorA. RB.SR.31. Input 1st digit of trail operandA. RB.SR.41. Input rest of trail-operandA. RB.SR.42. Do conclusionA. RB.SR.43. Do conclusion with continuationA. RB.H.1. lead-operand-story = 0A. RB.H.2. lead-operand-story = pressed digitA. RB.H.3. lead-operand-story = 10 * lead-operand-story + pressed digitA. RB.H.4. previous-operator-story = pressed operatorA. RB.H.5. trail-operand-story = pressed digitA. RB.H.6. trail-operand-story = 10 * trail-operand-story + pressed digitA. RB.H.7. Manipulate lead-operand-story by trail-operand-story according to pre-

vious-operator-story

calc_logic for reuse behaviour requirementsBlack-box behaviour wait-states, SR-unities and histories

A. RB. calc_logic for reuse behaviour requirementA. RB.WS.10. Wait for lead operand 1st digitA. RB.WS.20. Wait for further digit or duo-operatorA. RB.WS.30. Wait for trail operand 1st digitA. RB.WS.40. Wait for further digit or conclusion operatorA. RB.SR.01. Start-upA. RB.SR.11. Input 1st digit of lead operandA. RB.SR.12. Prepare continuation after conclusionA. RB.SR.21. Input rest of lead operandA. RB.SR.22. Input dual operatorA. RB.SR.31. Input 1st digit of trail operandA. RB.SR.41. Input rest of trail-operandA. RB.SR.42. Do conclusionA. RB.SR.43. Do conclusion with continuationA. RB.H.1. lead-operand-story = 0A. RB.H.2. lead-operand-story = pressed digitA. RB.H.3. lead-operand-story = 10 * lead-operand-story + pressed digitA. RB.H.4. previous-operator-story = pressed operatorA. RB.H.5. trail-operand-story = pressed digitA. RB.H.6. trail-operand-story = 10 * trail-operand-story + pressed digitA. RB.H.7. Manipulate lead-operand-story by trail-operand-story according to pre-

vious-operator-story

calc_logic for reuse behaviour requirementsBlack-box behaviour at interface -E-1.

-E-1. Comm on calc_logic interface-E-1. S.1. Stim (0 - 9)-E-1. S.2. Stim ( +, -, * or /)-E-1. S.3. Stim (=)-E-1. R.4. Resp (lead-operand-story)-E-1. R.5. Resp (trail-operand-story)

calc_logic for reuse behaviour requirementsBlack-box behaviour at interface -E-1.

-E-1. Comm on calc_logic interface-E-1. S.1. Stim (0 - 9)-E-1. S.2. Stim ( +, -, * or /)-E-1. S.3. Stim (=)-E-1. R.4. Resp (lead-operand-story)-E-1. R.5. Resp (trail-operand-story)

Page 57: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 57

(continued)EXAMPLE calc_logic: Graphical use case scenario

(continued)EXAMPLE calc_logic: Graphical use case scenario

• Component containing the intelligence in a calculator

• Built for reuse in• Standalone calculator• Windows calculator application

• Component containing the intelligence in a calculator

• Built for reuse in• Standalone calculator• Windows calculator application

A. calc_logic forreuse black-box

RB.WS.30. Wait fortrail operan d 1st digit

S10RB.WS.40. Wait for further digit or conclusion operator

RB.WS.10. Wait forlead operan d 1st digit

RB.

SR.0

1.St

art-u

pR

B.SR

.31.

Inpu

t1st

digi

tof

trai

lope

rand

RB.

SR.2

2.In

putd

ual

oper

ator

RB.

SR.4

2.D

oco

nclu

sion

S10RB.WS.20. Wait for further digit or duo-operator

RB.WS.20. Wait for fur-ther digit or duo-operator

RB.WS.40. Wait for furtherdigit or conclusion operator

-E-1.S.1.Stim (0 - 9)

RB.

SR.4

3.D

oco

nclu

sion

with

cont

inua

tion

RB.WS.30. Wait fortrail operand 1st digit

A.RB.6.S1.calc_logic for reuse, behaviour

requirement 6, scenario 1

RB.

SR.2

1.In

putr

esto

flea

dop

eran

dR

B.SR

.41.

Inpu

tres

toft

rail-

oper

and

-E-1.S.1. Stim(0 - 9)

RB.H.2.lead-operan d-story

= pressed digit

-E-1.R.4.Resp (lead-oper-

and-story )

RB.H.1.lead-operan d-story

= 0

RB.H.3.lead-operand-

story = 10 * lead-operand -story +

pressed digit

RB.H.5.trail-operand-story

= pressed digit

RB.H.6.trail-operand-

story = 10 * trail-operand-story +

pressed digit

RB.H.7.Manipulate lead-operand-story by

trail-operand-storyaccording to previ-ous-operator-story

RB.H.7.Manipulate lead-operand-story by

trail-operan d-storyaccording to previ-ous-operator-story

RB.H.4.previous-operato r-

story = pressedoperator

RB.H.4.previous-operator-

story = pressedoperator

RB.H.4.previous-opera -

tor-story = pressedoperato r

S10RB.WS.10. Wait for lead operand 1st digit

RB.

SR.1

2.Pr

epar

econ

tinua

tion

afte

rco

nclu

sion

RB.

SR.11

.In

put1

stdi

gito

flea

dop

eran

d

RB.WS.30. Wait fortrail operan d 1st digit

-E-1.S.1. Stim(0 - 9)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.1. Stim(0 - 9)

-E-1.S.3. Stim(=)

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.4.Resp (lead-o p-

erand-story )

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.5.Resp (trail-op-

erand-story )

-E-1.R.5.Resp (trail-op-

erand-story )

RB.

6.S1

.U3.

Perf

orm

com

plet

ing

use

case

A. calc_logic forreuse black-box

RB.WS.30. Wait fortrail operan d 1st digit

S10RB.WS.40. Wait for further digit or conclusion operator

RB.WS.10. Wait forlead operan d 1st digit

RB.

SR.0

1.St

art-u

pR

B.SR

.31.

Inpu

t1st

digi

tof

trai

lope

rand

RB.

SR.2

2.In

putd

ual

oper

ator

RB.

SR.4

2.D

oco

nclu

sion

S10RB.WS.20. Wait for further digit or duo-operator

RB.WS.20. Wait for fur-ther digit or duo-operator

RB.WS.40. Wait for furtherdigit or conclusion operator

-E-1.S.1.Stim (0 - 9)

RB.

SR.4

3.D

oco

nclu

sion

with

cont

inua

tion

RB.WS.30. Wait fortrail operand 1st digit

A.RB.6.S1.calc_logic for reuse, behaviour

requirement 6, scenario 1

RB.

SR.2

1.In

putr

esto

flea

dop

eran

dR

B.SR

.41.

Inpu

tres

toft

rail-

oper

and

-E-1.S.1. Stim(0 - 9)

RB.H.2.lead-operan d-story

= pressed digit

-E-1.R.4.Resp (lead-oper-

and-story )

RB.H.1.lead-operan d-story

= 0

RB.H.3.lead-operand-

story = 10 * lead-operand -story +

pressed digit

RB.H.5.trail-operand-story

= pressed digit

RB.H.6.trail-operand-

story = 10 * trail-operand-story +

pressed digit

RB.H.7.Manipulate lead-operand-story by

trail-operand-storyaccording to previ-ous-operator-story

RB.H.7.Manipulate lead-operand-story by

trail-operan d-storyaccording to previ-ous-operator-story

RB.H.4.previous-operato r-

story = pressedoperator

RB.H.4.previous-operator-

story = pressedoperator

RB.H.4.previous-opera -

tor-story = pressedoperato r

S10RB.WS.10. Wait for lead operand 1st digit

RB.

SR.1

2.Pr

epar

econ

tinua

tion

afte

rco

nclu

sion

RB.

SR.11

.In

put1

stdi

gito

flea

dop

eran

d

RB.WS.30. Wait fortrail operan d 1st digit

-E-1.S.1. Stim(0 - 9)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.2. Stim( +, -, * or /)

-E-1.S.1. Stim(0 - 9)

-E-1.S.3. Stim(=)

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.4.Resp (lead-o p-

erand-story )

-E-1.R.4.Resp (lead-o p-

erand-story)

-E-1.R.5.Resp (trail-op-

erand-story )

-E-1.R.5.Resp (trail-op-

erand-story )

RB.

6.S1

.U3.

Perf

orm

com

plet

ing

use

case

Page 58: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 58

EXAMPLE calc-_logic: Test use caseEXAMPLE calc-_logic: Test use case

• Use case can be the form to hold a test case

• Execute test use cases in the mind to check requirements

• Use case can be the form to hold a test case

• Execute test use cases in the mind to check requirements

Use

case

SR-Unity Stimulus Response

lead-operand-

story

previous-operator-

story

trail-operand-

storyRB.SR.01. Start-up Start of A. E-1.R.4.

Show (0)RB.H.1. = 0

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

4.Pe

rfor

m re

peat

ing

use

case

RB.SR.11. Input 1stdigit of lead operand

E-1.S.1Press (2)

E-1.R.4.Show (2)

RB.H.2. = 2

RB.WS.20. Wait for further digit or duo-operatorRB.SR.21. Input rest oflead operand

E-1.S.1Press (4)

E-1.R.4.Show (24)

RB.H.3. =10 * 2 + 4

RB.WS.20. Wait for further digit or duo-operatorRB.SR.22. Input dualoperator

E-1.S.2.Press (-)

24 RB.H.4. = -

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1Press (6)

E-1.R.5.Show (6)

24 - RB.H.5. = 6

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.43. Do conclu-sion with continuation

E-1.S.2.Press (+)

E-1.R.4.Show (18)

RB.H.7. =24 - 6 = 18

RB.H.4. = + 6

RB.WS.30. Wait for trail operand 1st digit

RB

.6.S

1.U

3.Pe

rfor

mco

mpl

etin

gus

e ca

se

RB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (4)

E-1.R.5.Show (4)

18 + RB.H.5. = 4

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (22)

RB.H.7. =18 + 4

+ 4

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

5.Pe

rfor

m re

peat

ing

afte

rcon

clus

ion

use

case

RB.SR.12. Preparecontinuation after con-clusion

E-1.S.2.Press (/)

22 RB.H.4. = / 4

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (2)

E-1.R.5.Show (2)

22 / RB.H.5. = 2

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (11)

RB.H.7. =22 / 2

/ 2

RB.WS.10. Wait for lead operand 1st digit

Use

case

SR-Unity Stimulus Response

lead-operand-

story

previous-operator-

story

trail-operand-

storyRB.SR.01. Start-up Start of A. E-1.R.4.

Show (0)RB.H.1. = 0

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

4.Pe

rfor

m re

peat

ing

use

case

RB.SR.11. Input 1stdigit of lead operand

E-1.S.1Press (2)

E-1.R.4.Show (2)

RB.H.2. = 2

RB.WS.20. Wait for further digit or duo-operatorRB.SR.21. Input rest oflead operand

E-1.S.1Press (4)

E-1.R.4.Show (24)

RB.H.3. =10 * 2 + 4

RB.WS.20. Wait for further digit or duo-operatorRB.SR.22. Input dualoperator

E-1.S.2.Press (-)

24 RB.H.4. = -

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1Press (6)

E-1.R.5.Show (6)

24 - RB.H.5. = 6

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.43. Do conclu-sion with continuation

E-1.S.2.Press (+)

E-1.R.4.Show (18)

RB.H.7. =24 - 6 = 18

RB.H.4. = + 6

RB.WS.30. Wait for trail operand 1st digit

RB

.6.S

1.U

3.Pe

rfor

mco

mpl

etin

gus

e ca

se

RB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (4)

E-1.R.5.Show (4)

18 + RB.H.5. = 4

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (22)

RB.H.7. =18 + 4

+ 4

RB.WS.10. Wait for lead operand 1st digit

RB

.6.S

1.U

5.Pe

rfor

m re

peat

ing

afte

rcon

clus

ion

use

case

RB.SR.12. Preparecontinuation after con-clusion

E-1.S.2.Press (/)

22 RB.H.4. = / 4

RB.WS.30. Wait for trail operand 1st digitRB.SR.31. Input 1stdigit of trail operand

E-1.S.1.Press (2)

E-1.R.5.Show (2)

22 / RB.H.5. = 2

RB.WS.40. Wait for further digit or conclusion operatorRB.SR.42. Do conclu-sion

E-1.S.3.Press (=)

E-1.R.4.Show (11)

RB.H.7. =22 / 2

/ 2

RB.WS.10. Wait for lead operand 1st digit

Page 59: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 59

EXAMPLE Bistro: State machineEXAMPLE Bistro: State machine

• Short-form for use case scenario

• Contain no• Stimuli• Responses• Multiple treads

• Identifies exception transitions

• Dashed in figure

• Short-form for use case scenario

• Contain no• Stimuli• Responses• Multiple treads

• Identifies exception transitions

• Dashed in figure

F2.2

Ord

erha

m

F2.1

Ord

ereg

gs

WS.1. IdleA. Bistro

WS.2. waitsfor orderA. Bistro

WS.3. Guest for-gotten A. Bistro

F2.3

Rej

ect

WS.4. Awaits billrequest A. Bistro

F4.2

Rus

hbi

ll

WS.5. Awaits pay-ment A. Bistro

F4.1

Cal

cula

te

F5.2

Pay

cred

it

F3.1

Oho

j!F5.1

Pay

cash

F1Pr

opos

e

F4.4

Retu

rnfo

odF5

.3C

ompl

ain

bill

F4.3

Ord

erm

ore

F3.2

Gue

stdi

sapp

ear

MR1. Breakfaststate machine

A.Bistro

F2.2

Ord

erha

m

F2.1

Ord

ereg

gs

WS.1. IdleA. Bistro

WS.2. waitsfor orderA. Bistro

WS.3. Guest for-gotten A. Bistro

F2.3

Rej

ect

WS.4. Awaits billrequest A. Bistro

F4.2

Rus

hbi

ll

WS.5. Awaits pay-ment A. Bistro

F4.1

Cal

cula

te

F5.2

Pay

cred

it

F3.1

Oho

j!F5.1

Pay

cash

F1Pr

opos

e

F4.4

Retu

rnfo

odF5

.3C

ompl

ain

bill

F4.3

Ord

erm

ore

F3.2

Gue

stdi

sapp

ear

MR1. Breakfaststate machine

A.Bistro

A.RB. S. Eating scenario

Incoming(guest1)

Order(guest1, eggs)

Acknowledge(waiter1, ok)

Order(gues t1, ham)

Acknowledge(waiter1 , finish)

Order(guest1, nothing)

RB.WS.10. Bistro idle

RB.WS.20. Bistro awaits order

RB.WS.30. Bistro overloaded

Acknowledge(waiter1 , sorry)

Serving(waiter1, eggs)

RB.WS.40. Bistro awaits bill requestEscape

(guest1)Attentio n

(guest1, pay)

RB.WS.50. Bistro awaits payment

Bringing(waiter 1, bill)

Pay(guest, cash)

Farewell(waiter1, guest1)

Pay(guest1, card)

Farewell(waiter1, guest1)

RB.WS.10.Bistro Idle

RB.WS.1.10. Bistro Idle

RB.WS.10. Bistro IdleRB.WS.10.Bistro Idle

Shout(guest1, hurry)

RB.

SR.11

Gue

sten

ter

RB.

SR.2

1G

uest

orde

reg

gs

RB.

SR.2

2.G

uest

orde

rha

m

RB.

SR.2

3G

uest

reje

ct

RB.

SR.3

1O

hoj

RB.

SR.4

1Ca

lcul

ate

RB.

SR.4

2R

ush

bill

exce

ptio

n

RB.

SR.5

2a.

Pay

bill

RB.

SR.5

1Pa

yca

sh

A.Bistro

RB.WS.10. Bistrowaits for order

Eating(guest1, egg)

RB.WS.10 . Bistroawaits bill request

RB.S

R.42

Gue

stea

ts

RB.

UN

.Eat

ing

norm

alus

ecas

e

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.GuestE.a.

Guest

A.RB. S. Eating scenario

Incoming(guest1)

Order(guest1, eggs)

Acknowledge(waiter1, ok)

Order(gues t1, ham)

Acknowledge(waiter1 , finish)

Order(guest1, nothing)

RB.WS.10. Bistro idle

RB.WS.20. Bistro awaits order

RB.WS.30. Bistro overloaded

Acknowledge(waiter1 , sorry)

Serving(waiter1, eggs)

RB.WS.40. Bistro awaits bill requestEscape

(guest1)Attentio n

(guest1, pay)

RB.WS.50. Bistro awaits payment

Bringing(waiter 1, bill)

Pay(guest, cash)

Farewell(waiter1, guest1)

Pay(guest1, card)

Farewell(waiter1, guest1)

RB.WS.10.Bistro Idle

RB.WS.1.10. Bistro Idle

RB.WS.10. Bistro IdleRB.WS.10.Bistro Idle

Shout(guest1, hurry)

RB.

SR.11

Gue

sten

ter

RB.

SR.2

1G

uest

orde

reg

gs

RB.

SR.2

2.G

uest

orde

rha

m

RB.

SR.2

3G

uest

reje

ct

RB.

SR.3

1O

hoj

RB.

SR.4

1Ca

lcul

ate

RB.

SR.4

2R

ush

bill

exce

ptio

n

RB.

SR.5

2a.

Pay

bill

RB.

SR.5

1Pa

yca

sh

A.Bistro

RB.WS.10. Bistrowaits for order

Eating(guest1, egg)

RB.WS.10 . Bistroawaits bill request

RB.S

R.42

Gue

stea

ts

RB.

UN

.Eat

ing

norm

alus

ecas

e

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.Guest

E.a.GuestE.a.

Guest

Page 60: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 60

EXAMPLE Bistro: Message sequence diagramEXAMPLE Bistro: Message sequence diagram

• Abbreviated MSC• Use case penetrating

architecture• Each element can

have wait-states

• Abbreviated MSC• Use case penetrating

architecture• Each element can

have wait-states

A.aC. Kitchen

Fill (pan, warm-water )

Place pan on gas stove and light stove

Fill (pan,

Get (small tray, egg cup)

Get (spoon)

Get (salt-shaker)

Get (pan)

WS.0. Idle

A.aC.p.Chef

A2a

.RB2

.2O

rder

eggs

Get (raw-eggs)

Get (pan)

Get (pan)

Get (pan)

Start (timer)

Add (cup)

Add (spoon)

WS.2. Wait for timerAlert (timer)

WS.1. Busy

Empty (pan)Get (pan)

Add (salt)

Add (eggs)Take tray

A.aC.i.Big uten-sil cup-board

A.aC.j.Prepara-

tion bench

A.aC.c.Grocery

cupboard

A.aC.m.Table-

ware cup-board

A.aC.h.Table-ware

drawer s

A.aC.aF.Wet

machin-ery

Order (eggs)

Serve (eggs)

Put (tray)

WS.0.3 Waits for accessWS.1. Cleaned WS.0.2. Food in stockWS.0.1. Ready for cooking

A.aA.Diningroom A.aC.aA.

Coldmachin-

ery

A.aC.aD.Heat

machin-ery

A.aC. Kitchen

Fill (pan, warm-water )

Place pan on gas stove and light stove

Fill (pan,

Get (small tray, egg cup)

Get (spoon)

Get (salt-shaker)

Get (pan)

WS.0. Idle

A.aC.p.Chef

A2a

.RB2

.2O

rder

eggs

Get (raw-eggs)

Get (pan)

Get (pan)

Get (pan)

Start (timer)

Add (cup)

Add (spoon)

WS.2. Wait for timerAlert (timer)

WS.1. Busy

Empty (pan)Get (pan)

Add (salt)

Add (eggs)Take tray

A.aC.i.Big uten-sil cup-board

A.aC.j.Prepara-

tion bench

A.aC.c.Grocery

cupboard

A.aC.m.Table-

ware cup-board

A.aC.h.Table-ware

drawer s

A.aC.aF.Wet

machin-ery

Order (eggs)

Serve (eggs)

Put (tray)

WS.0.3 Waits for accessWS.1. Cleaned WS.0.2. Food in stockWS.0.1. Ready for cooking

A.aA.Diningroom A.aC.aA.

Coldmachin-

ery

A.aC.aD.Heat

machin-ery

Page 61: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 61

Predetermine solutions and

suppliers

Predetermine solutions and

suppliersSolution alternatives off the shelf?Solution alternatives off the shelf?

Page 62: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 62

Trying out solution alternatives from requirementsTrying out solution alternatives from requirements

• Primordial design often results from restriction requirements

• stakeholders decide design

• Unbiased design often results from behavior requirements or absence of requirements

• technicians decide design

• Determined design are tried out to best fit requirements and standards

• both stakeholders and technicians decide design

• Primordial design often results from restriction requirements

• stakeholders decide design

• Unbiased design often results from behavior requirements or absence of requirements

• technicians decide design

• Determined design are tried out to best fit requirements and standards

• both stakeholders and technicians decide design

< --- Schedule prior to design architectures ---> < ------------------------- Design architectures ---------------------------->Environ-

Black-/white-box

ment

Predetermine solutionswith sourcing options

Blac

k-bo

xre

quir

emen

tsBe

havi

orre

quir

emen

ts

Abs

ent

men

tre

quir

e-ex

tern

alIm

plic

itst

anda

rd

Primordia l

interface sconnection

interface sconnectionDetermined

Unbiased

interface sconnection

Primordialconnectioninterfaces

Primordialelemen t

Determine dconnectioninterfaces

Unbiasedconnectioninterfaces

Prim

ordi

al

inte

rfac

esbo

unda

ryDe

term

ined

boun

dary

inte

rfac

es

Unb

iase

d

inte

rfac

esbo

unda

ry

Determinedsolution al-ternative s

solution al-ternativesUnbiased

Rest

rict

ion

requ

irem

ents

Existingconnectioninterfaces

Determinedelement

Unbiasedelement

Existingelement

Try

tosa

tisfy

requ

irem

ents

Primordial architecture ingredients

Determined architecture ingredients

solution al-ternative s

Primordial

Unbiased architecture ingredients

< --- Schedule prior to design architectures ---> < ------------------------- Design architectures ---------------------------->Environ-

Black-/white-box

ment

Predetermine solutionswith sourcing options

Blac

k-bo

xre

quir

emen

tsBe

havi

orre

quir

emen

ts

Abs

ent

men

tre

quir

e-ex

tern

alIm

plic

itst

anda

rd

Primordia l

interface sconnection

interface sconnectionDetermined

Unbiased

interface sconnection

Primordialconnectioninterfaces

Primordialelemen t

Determine dconnectioninterfaces

Unbiasedconnectioninterfaces

Prim

ordi

al

inte

rfac

esbo

unda

ryDe

term

ined

boun

dary

inte

rfac

es

Unb

iase

d

inte

rfac

esbo

unda

ry

Determinedsolution al-ternative s

solution al-ternativesUnbiased

Rest

rict

ion

requ

irem

ents

Existingconnectioninterfaces

Determinedelement

Unbiasedelement

Existingelement

Try

tosa

tisfy

requ

irem

ents

Primordial architecture ingredients

Determined architecture ingredients

solution al-ternative s

Primordial

Unbiased architecture ingredients

Page 63: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 63

Pt.0.P. Demarcate product by environment solutions with possible supplier opportunities

Pt.0.P. Demarcate product by environment solutions with possible supplier opportunities

• Try satisfying restrictions by solution alternatives

• Based on solution alternatives, decide what is inside and outside of this product

• Propose suppliers and samples

• Try satisfying restrictions by solution alternatives

• Based on solution alternatives, decide what is inside and outside of this product

• Propose suppliers and samples

Unsatisfactory

Pt.0

.Pa.

stric

tions

Try

tosa

tisfy

re-

Pt.0

.Pb.

Inte

rfac

esfr

omtio

nal

tern

ativ

esen

viro

nmen

tsol

u-

Pt.0

.Pe.

Exam

ine

prod

uct

scop

e

Pt.0

.Pc.

Anal

yze

in/o

utop

tions

and

mak

e/bu

y

Pt.0

.Pd.

Envi

ronm

entd

emar

-ca

ted

byin

terf

ace

solu

tions

with

supp

li-er

oppo

rtun

ities

Pt.0

.Sa.

Envi

ronm

ent

restr

ictio

nre

-qu

irem

ents

Pt.0.P.Demarcate product by environ-

ment solutions with possiblesupplier opportunities

Xa.

b.

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

-te

rfac

esto

envi

ronm

entw

ithsu

pplie

ropp

ortu

nitie

s

Sam

plec

at-

alog

ues

Xb.

a.ke

yite

ms

Dev

elop

turn

-

Xa.

a.Pr

ovid

eof

f-pl

esth

e-sh

elf sa

m-

Pt.O

.In

-hou

sesy

stem

san

dite

ms

docu

men

-ta

tion

Unsatisfactory

Pt.0

.Pa.

stric

tions

Try

tosa

tisfy

re-

Pt.0

.Pb.

Inte

rfac

esfr

omtio

nal

tern

ativ

esen

viro

nmen

tsol

u-

Pt.0

.Pe.

Exam

ine

prod

uct

scop

e

Pt.0

.Pc.

Anal

yze

in/o

utop

tions

and

mak

e/bu

y

Pt.0

.Pd.

Envi

ronm

entd

emar

-ca

ted

byin

terf

ace

solu

tions

with

supp

li-er

oppo

rtun

ities

Pt.0

.Sa.

Envi

ronm

ent

restr

ictio

nre

-qu

irem

ents

Pt.0.P.Demarcate product by environ-

ment solutions with possiblesupplier opportunities

Xa.

b.

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

-te

rfac

esto

envi

ronm

entw

ithsu

pplie

ropp

ortu

nitie

s

Sam

plec

at-

alog

ues

Xb.

a.ke

yite

ms

Dev

elop

turn

-

Xa.

a.Pr

ovid

eof

f-pl

esth

e-sh

elf sa

m-

Pt.O

.In

-hou

sesy

stem

san

dite

ms

docu

men

-ta

tion

Page 64: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 64

Sourcing interfaces to environment from suppliersSourcing interfaces to environment from suppliers

• Suppliers must be usable along the whole development

• Suppliers must be usable along the whole development

Pt.0.P.Demar-

cate prod-uct by en-

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edie

ntsa

ndde

sign

ofin

terf

aces

toth

een-

viro

nmen

t

vironmentsolutions

ble suppli-with possi-er oppor-tunities

Pt.0.V.Verifytype inproto-

environ-ment

Xb.

E.

Pt.0

.Sa.

Envi

ronm

entr

estr

ic-

tion

requ

irem

ents

lyde

scrib

edTu

rnke

yfu

l-

tem

sour

cesy

s-

Pt.E

.In

-hou

sele

gacy

sour

cesy

stem

Xa.E

.O

ff-th

e-de

scri

bed

shelf

fully

tem

sour

cesy

s-

Xa.

a.th

e-sh

elf sa

m-

Prov

ide

off-

ples

Pu.

Fiel

d-ve

rifie

dpr

otot

ype

In-house

Suppliers

Xb.

a.ke

yite

ms

Dev

elop

turn

-

Pt.0.R.Exploreenviron-ment re-

stric-tions and

ensurement

environ-staffing

Pt.0.A.Consti-tute en-viron-mentarchi-tecture

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es Pt.0.I.Realize in-terface s toenviron-ment and

insert/ermost

await out-Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Pt.0

.J:1

.U

sabl

epro

toty

pein

terf

aces

star

ted

targ

etin

simul

ator

or

Pt.0.F.design ofFinalizeenviron-terface sment in-

withproduct

sitesrequi-

Xb.

H.

Turn

key

item

reus

able

Xa.

H.

Off-

the-

blei

tem

shel

freu

sa-

Xa.

b.al

ogue

sSa

mpl

ecat

-

Pt.H

.In

-hou

seleg

acy

reus

-ab

leite

ms

Pt.0.P.Demar-

cate prod-uct by en-

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edie

ntsa

ndde

sign

ofin

terf

aces

toth

een-

viro

nmen

t

vironmentsolutions

ble suppli-with possi-er oppor-tunities

Pt.0.V.Verifytype inproto-

environ-ment

Xb.

E.

Pt.0

.Sa.

Envi

ronm

entr

estr

ic-

tion

requ

irem

ents

lyde

scrib

edTu

rnke

yfu

l-

tem

sour

cesy

s-

Pt.E

.In

-hou

sele

gacy

sour

cesy

stem

Xa.E

.O

ff-th

e-de

scri

bed

shelf

fully

tem

sour

cesy

s-

Xa.

a.th

e-sh

elf sa

m-

Prov

ide

off-

ples

Pu.

Fiel

d-ve

rifie

dpr

otot

ype

In-house

Suppliers

Xb.

a.ke

yite

ms

Dev

elop

turn

-

Pt.0.R.Exploreenviron-ment re-

stric-tions and

ensurement

environ-staffing

Pt.0.A.Consti-tute en-viron-mentarchi-tecture

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

terf

aces

toen

vi-

ronm

entw

ithsu

ppli-

erop

port

uniti

es Pt.0.I.Realize in-terface s toenviron-ment and

insert/ermost

await out-Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Pt.0

.J:1

.U

sabl

epro

toty

pein

terf

aces

star

ted

targ

etin

simul

ator

or

Pt.0.F.design ofFinalizeenviron-terface sment in-

withproduct

sitesrequi-

Xb.

H.

Turn

key

item

reus

able

Xa.

H.

Off-

the-

blei

tem

shel

freu

sa-

Xa.

b.al

ogue

sSa

mpl

ecat

-

Pt.H

.In

-hou

seleg

acy

reus

-ab

leite

ms

Page 65: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 65

EXAMPLE House: Environment solution alternatives

EXAMPLE House: Environment solution alternatives

• For each restriction requirement, document as many reasonable imaginable solutions as possible

• For each solution, decide if to be included in product to be developed

• If beneficial for later design, assess each solution alternative

• For each restriction requirement, document as many reasonable imaginable solutions as possible

• For each solution, decide if to be included in product to be developed

• If beneficial for later design, assess each solution alternative

Environment solution alternativesCost as-

sessmentEnvironment restric-

tionE.SL1.a. Keep distance to shoreline as close as possi-

ble to 150 mE.SL1.b. Build on higher land to keep lake viewE.SL1.c. Build higher house to keep lake view• Building plot

Exclude thesesolutions E.R.1. Swedish environ-

mental code 7th chapter

E.SL2.a. Obtain extra 2 000 m² land, to ensure a build-ing area of 100 m²

E.SL2.b. Obtain no extra land and build partly underground

E.SL2.c. Obtain no extra land and build smaller• Building size

Exclude thesesolutions E.R.2. Malmö urban plan-

ning and local constructionordinance

E.SL3. When interfaces to the environment is con-structed, existing neighbour environment may notbe damaged.

Exclude thesesolutions R.3. Swedish national

building regulationsE.SL4. Ramp from driveway to entry for disabled per-sons

~ ? 1 800

E.SL5. The building plot must be located to an attrac-tive area.

Exclude thesesolutions

R.4. Swedish FinancialSupervisory Authority

E.SL6.a. Ø 32 mm gas pipe from street• Gas is available in streetE.SL6.b. 3 m³ or 7 m³ rental tank close to house• Gas tank for free, included in gas deliveries

~ ? 7 000~ ? 500

E.R.5. All communal con-nections available shall beused to make the house func-tional and comfortable.

E.SL7.a. 16 Amperes from overhead linesE.SL7.b. 32 Amperes from underground cable• Elect ricity

~ ? 1 000~ ? 3 000

E.SL8.a. Drilled well with pump and purifierE.SL8.b. Ø 32 mm water pipe from streetE.SL8.c. Pipe from lake with pump and purifier• Water

~ ? 11 000~ ? 4 000~ ? 8 000

E.SL9.a. Waste water treatment to lake recipientE.SL9.b. Ø 125 mm pipe to street waste water• Sewage

~ ? 6 300~ ? 2 000

E.SL10.a. Basalt covered 2,4 m wide roadE.SL10.b. 4 basalt covered parking places, 2 m road

extension at street, with 0,5 m wide basalt coveredfootpath to house

• Driveway

~ ?15 000~ ? 2 000

Material min cost sumMaterial max cost sum

~ ? 11 300~ ? 44 100

Environment solution alternativesCost as-

sessmentEnvironment restric-

tionE.SL1.a. Keep distance to shoreline as close as possi-

ble to 150 mE.SL1.b. Build on higher land to keep lake viewE.SL1.c. Build higher house to keep lake view• Building plot

Exclude thesesolutions E.R.1. Swedish environ-

mental code 7th chapter

E.SL2.a. Obtain extra 2 000 m² land, to ensure a build-ing area of 100 m²

E.SL2.b. Obtain no extra land and build partly underground

E.SL2.c. Obtain no extra land and build smaller• Building size

Exclude thesesolutions E.R.2. Malmö urban plan-

ning and local constructionordinance

E.SL3. When interfaces to the environment is con-structed, existing neighbour environment may notbe damaged.

Exclude thesesolutions R.3. Swedish national

building regulationsE.SL4. Ramp from driveway to entry for disabled per-sons

~ ? 1 800

E.SL5. The building plot must be located to an attrac-tive area.

Exclude thesesolutions

R.4. Swedish FinancialSupervisory Authority

E.SL6.a. Ø 32 mm gas pipe from street• Gas is available in streetE.SL6.b. 3 m³ or 7 m³ rental tank close to house• Gas tank for free, included in gas deliveries

~ ? 7 000~ ? 500

E.R.5. All communal con-nections available shall beused to make the house func-tional and comfortable.

E.SL7.a. 16 Amperes from overhead linesE.SL7.b. 32 Amperes from underground cable• Elect ricity

~ ? 1 000~ ? 3 000

E.SL8.a. Drilled well with pump and purifierE.SL8.b. Ø 32 mm water pipe from streetE.SL8.c. Pipe from lake with pump and purifier• Water

~ ? 11 000~ ? 4 000~ ? 8 000

E.SL9.a. Waste water treatment to lake recipientE.SL9.b. Ø 125 mm pipe to street waste water• Sewage

~ ? 6 300~ ? 2 000

E.SL10.a. Basalt covered 2,4 m wide roadE.SL10.b. 4 basalt covered parking places, 2 m road

extension at street, with 0,5 m wide basalt coveredfootpath to house

• Driveway

~ ?15 000~ ? 2 000

Material min cost sumMaterial max cost sum

~ ? 11 300~ ? 44 100

Page 66: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 66

EXAMPLE House environment:Excluded and included solution alternatives with supplier opportunities

EXAMPLE House environment:Excluded and included solution alternatives with supplier opportunities

• Demarcate the product from the existing environment to prevent the product from swelling out

• Voluminous solutions for interfaces to environment are excluded from development

• Definitely needed interfaces to environment are included

• Demarcate the product from the existing environment to prevent the product from swelling out

• Voluminous solutions for interfaces to environment are excluded from development

• Definitely needed interfaces to environment are included

Excluded environment solutions Responsible Environment solutionalternatives

SX.1 Buy beachside building landlarger than 2 000 m² with pos-sible house ground at 150 mfrom the lake

House proprietor Building plotE.SL1.a., E.SL1.b., E.SL1.c.E.SL2.a., E.SL2.b., E.SL2.c.

SX.2. Damages on neighbours envi-ronment

House proprietor E.SL3.

SX.3. Lake view is more than goodenough

House proprietor E.SL5.

SX.4. Water and electricity supplyfrom environment during build-ing the house

House proprietor Preliminary electricity and waterE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SX.5. Connection fees to authoritiesand commune

House proprietor Interface connectionsE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c., E.SL9.a., E.SL9.b., A.SL7.

Excluded environment solutions Responsible Environment solutionalternatives

SX.1 Buy beachside building landlarger than 2 000 m² with pos-sible house ground at 150 mfrom the lake

House proprietor Building plotE.SL1.a., E.SL1.b., E.SL1.c.E.SL2.a., E.SL2.b., E.SL2.c.

SX.2. Damages on neighbours envi-ronment

House proprietor E.SL3.

SX.3. Lake view is more than goodenough

House proprietor E.SL5.

SX.4. Water and electricity supplyfrom environment during build-ing the house

House proprietor Preliminary electricity and waterE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SX.5. Connection fees to authoritiesand commune

House proprietor Interface connectionsE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c., E.SL9.a., E.SL9.b., A.SL7.

Included environment solution with supplier op-portunities

Environment solutionalternativesSU.10. Builder’s suppliers• Use ordina ry building material, from selected build -

er suppli ers.

Electricity, water and sewageE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SU.11. Gas supplier• Use only authority appr oved equipment, Use tank

supplied by gas provider.

Gas pipe and tankE.SL6.a., E.SL6.b.

SU.12. Ext Bas AB• Use stone sample H34

Driveway and rampE.SL4., E.SL10.a.

SU.13. Local supplier• Use natural material that harmony with the envi-

ronment from local suppliers

DrivewayE.SL9.a., E.SL9.b.

Included environment solution with supplier op-portunities

Environment solutionalternativesSU.10. Builder’s suppliers• Use ordina ry building material, from selected build -

er suppli ers.

Electricity, water and sewageE.SL7.a., E.SL7.b., E.SL8.a., E.SL8.b.,E.SL8.c.

SU.11. Gas supplier• Use only authority appr oved equipment, Use tank

supplied by gas provider.

Gas pipe and tankE.SL6.a., E.SL6.b.

SU.12. Ext Bas AB• Use stone sample H34

Driveway and rampE.SL4., E.SL10.a.

SU.13. Local supplier• Use natural material that harmony with the envi-

ronment from local suppliers

DrivewayE.SL9.a., E.SL9.b.

Page 67: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 67

Pt.n.P. Predetermine solutions and sourcing optionsPt.n.P. Predetermine solutions and sourcing options

• Try to satisfy requirements when designing black-box

• Propose samples and suppliers

• Try to satisfy requirements when designing black-box

• Propose samples and suppliers

Unsatisfactory

Pt.n

.Pa.

Try

tosa

tisfy

re-

quir

emen

ts

Pt.n

.Pb.

Solu

tion

alte

rnat

ives

Pt.n

.Pc.

Ana

lyze

mak

e/bu

yop

tions

Pt.n

.Pd.

Supp

lier

oppo

rtun

ities Pt.n

.Pe.

Exam

ine

mak

e/bu

yba

lanc

e

Dev

elop

turn

-X

b.a.

key

item

s

Xa.

a.Pr

ovid

eof

f-pl

esth

e-sh

elfs

am-

Xa.b

.Sa

mpl

ecat

-al

ogue

s

Pt.n

.Q.

Solu

tion

alte

rna-

Pt.n.P.Predetermine solutionswith sourcing options

tives

with

supp

lier

oppo

rtun

ities

Pt.O

.In

-hou

sean

dite

ms

syst

ems

docu

men

-ta

tion

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

sUnsatisfactory

Pt.n

.Pa.

Try

tosa

tisfy

re-

quir

emen

ts

Pt.n

.Pb.

Solu

tion

alte

rnat

ives

Pt.n

.Pc.

Ana

lyze

mak

e/bu

yop

tions

Pt.n

.Pd.

Supp

lier

oppo

rtun

ities Pt.n

.Pe.

Exam

ine

mak

e/bu

yba

lanc

e

Dev

elop

turn

-X

b.a.

key

item

s

Xa.

a.Pr

ovid

eof

f-pl

esth

e-sh

elfs

am-

Xa.b

.Sa

mpl

ecat

-al

ogue

s

Pt.n

.Q.

Solu

tion

alte

rna-

Pt.n.P.Predetermine solutionswith sourcing options

tives

with

supp

lier

oppo

rtun

ities

Pt.O

.In

-hou

sean

dite

ms

syst

ems

docu

men

-ta

tion

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

s

Page 68: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 68

EXAMPLE calc_logic:Solution alternatives and supplier opportunities

EXAMPLE calc_logic:Solution alternatives and supplier opportunities

• Try finding solution alternatives for outmost black-box requirements

• In this example alternatives are few• Most development will be made

inhouse• Typical for programs

• Try finding solution alternatives for outmost black-box requirements

• In this example alternatives are few• Most development will be made

inhouse• Typical for programs

calc_logic for reuse supplier opportunitiescalc_logic for reuse solu-

tion alternativeSU.12. Inhouse project DG3 A. calc_logic for reuse

A.SL1., A.SL2., A.SL3., A.SL5., A.SL6.,A.SL9., A.SL10., A.SL11., A.SL12.

SU.13. Well direct Development system

calc_logic for reuse supplier opportunitiescalc_logic for reuse solu-

tion alternativeSU.12. Inhouse project DG3 A. calc_logic for reuse

A.SL1., A.SL2., A.SL3., A.SL5., A.SL6.,A.SL9., A.SL10., A.SL11., A.SL12.

SU.13. Well direct Development system

calc_logic for reuse solution alter-natives

Assess-ment

calc_logic for reuse require-ment

Prior-ity

A.SL1. calc_logic must internally han-dle 64 buttons.

No extracost

A.RR.1.1. The calc_logic elementmust be able to process 16 buttonstimuli at minimum and be future-proof to process many more buttonstimuli.

A.SL2. Up to 128 digits must be inter-nally handled, even if not all are accu-rate.

A.SL3. Handling must include bothnumeric and non-numeric characters

No extracost

A.RR.2.1. The calc_logic elementmust be able to process 8 digitsresponses, and must be future-proofto a much large amount of digits.

A.SL4. Any mathematical coprocessorshall never be used by calc_logic, butinstead the compiler with built-inlibrary or external library.

Saving cost A.RR.3.1. To reduce complexity fromunpredictable existence of coproces-sor, a math-copro cessors shall notbe used at all.

A.SL5. Develop first calc_logic on ahost development system supporting~ 15 digits precision.

A.SL6. Then port calc_logic to a Win-dows hosted development system formicro controllers supporting 7 digitsfloating point precision

A.SL7. Then port calc_logic to a microcontroller experimental board

A.SL8. Then port calc_logic to the tar-get standalone pocket calculator

A.SL9. When available, procure com-piler for the windows supporting bet-ter double floating point precision

A.SL10. If different precision or differ-ent target demands calc_logic spe-cific solutions, these must be hiddenbehind compiler switches.

~ 40 000

~ 1 000

~ 2 000

~ 2 000

No extracost

Small cost

A.RR.4.1. It is good enough with amaximum calculation precision of~ 15 digits during host developmentof the calc_logic program.

A.SL11. For development of calc_logic in host, development boards and tar- get, use development systems having open and documented mechanisms for function call and return.

A.RR.5.1. The calc_logic elementmust in first version be portable tothe windows calculator applicationand to the pocket standalone calcu-lator.

A.SL12. Make implementation in C, anduse scenario wait-states in program.

Cost ~20 000 (ex-

cludedcompiler

and math li-brary)

A.RB.6.S1. calc_logic for reuse,behaviour requirement 6, scenario 1

calc_logic for reuse solution alter-natives

Assess-ment

calc_logic for reuse require-ment

Prior-ity

A.SL1. calc_logic must internally han-dle 64 buttons.

No extracost

A.RR.1.1. The calc_logic elementmust be able to process 16 buttonstimuli at minimum and be future-proof to process many more buttonstimuli.

A.SL2. Up to 128 digits must be inter-nally handled, even if not all are accu-rate.

A.SL3. Handling must include bothnumeric and non-numeric characters

No extracost

A.RR.2.1. The calc_logic elementmust be able to process 8 digitsresponses, and must be future-proofto a much large amount of digits.

A.SL4. Any mathematical coprocessorshall never be used by calc_logic, butinstead the compiler with built-inlibrary or external library.

Saving cost A.RR.3.1. To reduce complexity fromunpredictable existence of coproces-sor, a math-copro cessors shall notbe used at all.

A.SL5. Develop first calc_logic on ahost development system supporting~ 15 digits precision.

A.SL6. Then port calc_logic to a Win-dows hosted development system formicro controllers supporting 7 digitsfloating point precision

A.SL7. Then port calc_logic to a microcontroller experimental board

A.SL8. Then port calc_logic to the tar-get standalone pocket calculator

A.SL9. When available, procure com-piler for the windows supporting bet-ter double floating point precision

A.SL10. If different precision or differ-ent target demands calc_logic spe-cific solutions, these must be hiddenbehind compiler switches.

~ 40 000

~ 1 000

~ 2 000

~ 2 000

No extracost

Small cost

A.RR.4.1. It is good enough with amaximum calculation precision of~ 15 digits during host developmentof the calc_logic program.

A.SL11. For development of calc_logic in host, development boards and tar- get, use development systems having open and documented mechanisms for function call and return.

A.RR.5.1. The calc_logic elementmust in first version be portable tothe windows calculator applicationand to the pocket standalone calcu-lator.

A.SL12. Make implementation in C, anduse scenario wait-states in program.

Cost ~20 000 (ex-

cludedcompiler

and math li-brary)

A.RB.6.S1. calc_logic for reuse,behaviour requirement 6, scenario 1

Page 69: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 69

Design architectures

Design architectures

Time and money for architects?Time and money for architects?

Page 70: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 70

Pt.0.A. Constitute environment architecturePt.0.A. Constitute environment architecture

• Interfaces to environment shall now be designed

• Alternative solution are selected and decided, including eventual supplier samples, and noted in architecture resumé

• Ingredients in the resumé are arranged in an environment logical architecture

• Ingredients are depicted in an environment physical architecture

• Interfaces to environment shall now be designed

• Alternative solution are selected and decided, including eventual supplier samples, and noted in architecture resumé

• Ingredients in the resumé are arranged in an environment logical architecture

• Ingredients are depicted in an environment physical architecture Unsatisfactory

Pt.0

.Ag.

Exam

ine

prod

uct

cont

ext

Pt.0

.Aa.

Iden

tify

envi

ron-

ingr

edie

nts

men

tarc

hite

ctur

e Pt.0

.Ac.

Arr

ange

ingr

edi-

ents

and

iden

tify

blac

k-bo

x

Pt.0

.Ae.

Lay

outp

hysic

alar

chite

ctur

e

Pt.0

.Ad.

Envi

ronm

entl

ogi-

cala

rchi

tect

ure

Pt.0

.Af.

Envi

ronm

ent

tect

ure

phys

ical

arch

i-

Xb.

a.ke

yite

ms

Dev

elop

turn

-X

a.b.

alog

ues

Sam

plec

at-

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

-te

rfac

esto

envi

ronm

entw

ithsu

pplie

ropp

ortu

nitie

s

Pt.0

.Sa.

Envi

ronm

ent

quir

emen

tsre

stri

ctio

nre

-Pe

.Re-

use

plan Pm

.Par

tial

prot

otyp

e

Pt.0.A.ment architectu re

Constitute environ-

Pt.0

.Ab.

Envi

ronm

enta

r-ch

itect

ure

ingr

e-di

ents

resu

Pt.0

.B.

Envi

ronm

ent

exist

ing

ingr

edie

ntsa

ndde

sign

ofin

terf

aces

toth

een

-vi

ronm

ent

Unsatisfactory

Pt.0

.Ag.

Exam

ine

prod

uct

cont

ext

Pt.0

.Aa.

Iden

tify

envi

ron-

ingr

edie

nts

men

tarc

hite

ctur

e Pt.0

.Ac.

Arr

ange

ingr

edi-

ents

and

iden

tify

blac

k-bo

x

Pt.0

.Ae.

Lay

outp

hysic

alar

chite

ctur

e

Pt.0

.Ad.

Envi

ronm

entl

ogi-

cala

rchi

tect

ure

Pt.0

.Af.

Envi

ronm

ent

tect

ure

phys

ical

arch

i-

Xb.

a.ke

yite

ms

Dev

elop

turn

-X

a.b.

alog

ues

Sam

plec

at-

Pt.0

.Q.

Solu

tion

alte

rnat

ives

ofin

-te

rfac

esto

envi

ronm

entw

ithsu

pplie

ropp

ortu

nitie

s

Pt.0

.Sa.

Envi

ronm

ent

quir

emen

tsre

stri

ctio

nre

-Pe

.Re-

use

plan Pm

.Par

tial

prot

otyp

e

Pt.0.A.ment architectu re

Constitute environ-

Pt.0

.Ab.

Envi

ronm

enta

r-ch

itect

ure

ingr

e-di

ents

resu

Pt.0

.B.

Envi

ronm

ent

exist

ing

ingr

edie

ntsa

ndde

sign

ofin

terf

aces

toth

een

-vi

ronm

ent

Page 71: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 71

EXAMPLE House:Environment architecturesEXAMPLE House:Environment architectures

• Environment architectures• Resumé• Logical• Physical

• Environment architectures• Resumé• Logical• Physical

House environment architecture resumé

Environment ingredients Existing environment and solution alternativesto interface it

E. House environment The existing surrounding to the houseE.SL3. When interfaces to the environment is constructed,existing neighbour environment may not be damaged.

E.a. House user Proprietor, relatives and guests coming from the environmentE.b. Lake Existing beautiful lake, south of the planned houseE.c. Street Existing residential street, east of the planned house-E-1. Shoreline distance Product interface to be developed

E.SL1.a. Keep distance to shoreline as close as possible to 150m

-E-2. Water Product interface to be developedE.SL8.b. Ø 32 mm water pipe from street

-E-3. Sewage Product interface to be developedE.SL9.b. Ø 125 mm pipe to street waste water

-E-4. Electricity Product interface to be developedE.SL7.b. 32 Amperes from underground cable

-E-5. Gas Product interface to be developedE.SL6.b. 3 m³ or 7 m³ rental tank close to houseMust go shortest way from outer wall to inside burner.

-E-6. Driveway Product interface to be developedE.SL10.a. Basalt covered 2,4 m wide road. Stone sample H34from Ext Bas AB

-E-7. Entrances Product interface to be developedE.SL4. Ramp from driveway to entry for disabled persons

A. House Product to be developedE.SL2.a. Obtain extra 2 000 m² land, to ensure a building areaof 100 m².E.SL5. The building plot must be located to an attractive area.

E. Environment

-E-2. Water

-E-4. Electricity

-E-5. Gas

-E-3. Sewage

-E-6. Drive-way

-E-1

.Sh

orel

ine

dist

ance

A.House

E.b.Lake

E.c.

Stre

et

E.a.Houseuser

-E-7. Entrances

E. House environment

-E-6. Drivew

ay

-E-4. Electricity

-E-5. Gas

-E-2. Water -E-3. Sewage

50 m

E.c. Street

E.b. Lake

Page 72: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 72

EXAMPLE Calc_logic: Environment logical architectureEXAMPLE Calc_logic: Environment logical architecture

• Same reusable component with very different environments

• One architecture for the Windows application and one for the pocket calculator

• Same reusable component with very different environments

• One architecture for the Windows application and one for the pocket calculator

baa.E. Motherboard

aa.aaa.E. Person al computer environmente.aaa.E. Personal computer

ba.E.Main processor

ca.E.Math coprocessor

a.aaa.E. Calculator user

a.E.a. Windows op-erating system

a.E.aa.User mode services

a.E. Windows systemE. calc_logic environ-ment (Windows calcu-

lator application)

Ea. Application initiallygenerated by visual studio

-E-1. calc_logic in-terface to Windowscalculator software

E.ad. WndProc

aa.E. Working memory

d.aaa.E.Mouse

c.aaa.E.Keyboard

b.aaa.E.Screen

aaa.E. Graphicplug-in card

da.E. PCIbuffer

ea.E.Buffer

fa.E.Buffer

a.E.ab.Execut ive mode services

A.calc_logicfor reuse

E.aa.WinMain

E.ade.About

E.ac. InitIn-stance

E.ab.MyRegisterClass

E.adb. Case WM_COMMAND

E.adc. Case WM_PINT

E.add. Case WM_DESTROY

E.ada. Case WM_CREATE

aaa.E. Pocket calculator

a.aaa.E. Pocket calculator environment

a.aaa.E.a.Calcula-tor user

-a.aaa.E-1.Button

pressing

-a.aaa.E-2.Displayshowing

-a.aaa.E-3.Batteryopening

aa.E. Circuit board

-aa.E-1.Key port

-aa.E-4.Led seg port

a.E. Micro controller

-aaa.E-1.Wires

-aa.E-2.Interrupt port

-aa.E-3.Led nr port

-E-1.calc_logicinterfaceto pocketcalculatorsoftware

-E.a

-1.

Butto

nbu

ffer

A.calc_logicfor reuse

E.aa.Programinitiator

8

3

4

E.a.

Key

boar

dan

dLE

Ddr

iver

prog

ram

aaa.E.a.Battery

aa.E-a.Button

aa.E-b.LED dis-

play

E.ac.Led inter-

ruptthread

E.ab.Button

interruptthread

*

*

*

E. calc_logic environ-ment (pocket calculator

firmware)

a.E.a.Timer inter-

rupt generato r

Page 73: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 73

Pt.n.A. Satisfy requirements by decomposing outward nesting level black-box into white-box design containing possible black-boxes

Pt.n.A. Satisfy requirements by decomposing outward nesting level black-box into white-box design containing possible black-boxes

• Black-boxes from outward level shall now be opened and designed

• Alternative solution are selected and decided, including supplier samples, and noted in the architecture resumé

• Ingredients in the resumé are arranged in a physical architecture

• Ingredients are depicted in a physical architecture

• Black-boxes from outward level shall now be opened and designed

• Alternative solution are selected and decided, including supplier samples, and noted in the architecture resumé

• Ingredients in the resumé are arranged in a physical architecture

• Ingredients are depicted in a physical architecture

Unsatisfactory

Exam

ine

Pt.n

.Ag.

arch

itec-

ture

s

Pt.n

.Aa.

box

arch

itect

ure

Iden

tify

whi

te-

ingr

edie

nts

Pt.n

.Ac.

ents

and

iden

tify

Arr

ange

ingr

edi-

poss

ible

blac

k-bo

xes

Pt.n

.Ae.

arch

itect

ure

Lay

outp

hysic

alPt.n

.Ab.

Arc

hite

ctur

ein

gred

ient

sre

sum

é

Pt.n

.Ad.

Logi

cala

rchi

-te

ctur

e

Pt.n

.Af.

Phys

ical

ar-

chite

ctur

e

Xb.

a.ke

yite

ms

Dev

elop

turn

-X

a.b.

alog

ues

Sam

ple

cat-

if n ≥ 2

if n = 1

Pt.n

-1.B

.A

rchi

tect

urew

hite

-box

with

maj

orin

gred

ient

san

dpo

ssib

leem

bed-

ded

blac

k-bo

xes

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edien

tsan

dde

-sig

nof

inte

rfac

esto

thee

nvir

onm

ent

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.Q.

Solu

tion

alte

rna-

tives

with

supp

lier

oppo

rtun

ities

Pe.R

e-us

epla

n Pm.P

artia

lpr

otot

ype

Pt.n.A.Satisfy requirements bydecomposing outwardnesting level black-boxinto white- box designcontaining possible

black-boxes

Pt.n

.B.

Arc

hite

ctur

ewhi

te-

boxi

ngre

dien

tsde

sign

with

poss

ible

embe

d-de

dbl

ack-

boxe

s

Unsatisfactory

Exam

ine

Pt.n

.Ag.

arch

itec-

ture

s

Pt.n

.Aa.

box

arch

itect

ure

Iden

tify

whi

te-

ingr

edie

nts

Pt.n

.Ac.

ents

and

iden

tify

Arr

ange

ingr

edi-

poss

ible

blac

k-bo

xes

Pt.n

.Ae.

arch

itect

ure

Lay

outp

hysic

alPt.n

.Ab.

Arc

hite

ctur

ein

gred

ient

sre

sum

é

Pt.n

.Ad.

Logi

cala

rchi

-te

ctur

e

Pt.n

.Af.

Phys

ical

ar-

chite

ctur

e

Xb.

a.ke

yite

ms

Dev

elop

turn

-X

a.b.

alog

ues

Sam

ple

cat-

if n ≥ 2

if n = 1

Pt.n

-1.B

.A

rchi

tect

urew

hite

-box

with

maj

orin

gred

ient

san

dpo

ssib

leem

bed-

ded

blac

k-bo

xes

Pt.0

.B.

Envi

ronm

ente

xist

ing

ingr

edien

tsan

dde

-sig

nof

inte

rfac

esto

thee

nvir

onm

ent

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.Q.

Solu

tion

alte

rna-

tives

with

supp

lier

oppo

rtun

ities

Pe.R

e-us

epla

n Pm.P

artia

lpr

otot

ype

Pt.n.A.Satisfy requirements bydecomposing outwardnesting level black-boxinto white- box designcontaining possible

black-boxes

Pt.n

.B.

Arc

hite

ctur

ewhi

te-

boxi

ngre

dien

tsde

sign

with

poss

ible

embe

d-de

dbl

ack-

boxe

s

Page 74: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 74

Connection and boundary interfacesConnection and boundary interfaces

• Always development outside-in• Connection interfaces are

keeping elements in contact• Belongs to the outermost

element where its ends appear• designated like –E–1.

• Boundary interfaces are keeping elements apart

• Belongs to the element it surrounds

• designated like [A[2.

• Always development outside-in• Connection interfaces are

keeping elements in contact• Belongs to the outermost

element where its ends appear• designated like –E–1.

• Boundary interfaces are keeping elements apart

• Belongs to the element it surrounds

• designated like [A[2.

< -------- Results upstream to architecture ----------> < ----------------------- Architecture results ------------------------>

-E-1.

E. Environment

Connectio ninterface

Pt.0.Pb. Interfacesfrom environment

solution alternatives

-A-1.Connection

[A.A

[2.

interface

inte

rfac

eBo

unda

ry

Pt.n.Pb. Solu-tion alternatives

E.R

R.

Res

tric

tion

A.R

B.R

equi

re-

men

ts A.b.Element

E.a.Existingelement

[A[2

.

inte

rfac

eBo

unda

ry

A.SL.

interfaceBoundary

solutions

A.SL.

interfaceConnection

solutions

0.1.

0.3.

0.5.

0.4.

0.6.A.

Outermo stwhite-box

0.2. A.Outermos t black-b0.5.ox

Embed -A.A.

black-ded

box1.1.

1.0.

1.2.

1.3.

A.A.Embed -

ded

boxwhite-

1.5.

2.0.1.

4.

1.6.

0.0.

-E-2.Existing MMI

E.b.Poten-

tial userexclude dSolutions

cludedSolutions in-

E.SL.Connection

interfacesolutions

A.SL.Elementsolutions

Pt.0

.Pa.

Try

tosa

tisfy

rest

rict

ions

Pt.n

.Pa.

Try

tosa

tisfy

requ

irem

ents

*

*

*

*

*

°

requ

irem

ents

* °

Pt.0.Sa.Environ-ment re-striction

mentsrequire-

Pt.n.Sa.Prioritized

mentsrequire-

< -------- Results upstream to architecture ----------> < ----------------------- Architecture results ------------------------>

-E-1.

E. Environment

Connectio ninterface

Pt.0.Pb. Interfacesfrom environment

solution alternatives

-A-1.Connection

[A.A

[2.

interface

inte

rfac

eBo

unda

ry

Pt.n.Pb. Solu-tion alternatives

E.R

R.

Res

tric

tion

A.R

B.R

equi

re-

men

ts A.b.Element

E.a.Existingelement

[A[2

.

inte

rfac

eBo

unda

ry

A.SL.

interfaceBoundary

solutions

A.SL.

interfaceConnection

solutions

0.1.

0.3.

0.5.

0.4.

0.6.A.

Outermo stwhite-box

0.2. A.Outermos t black-b0.5.ox

Embed -A.A.

black-ded

box1.1.

1.0.

1.2.

1.3.

A.A.Embed -

ded

boxwhite-

1.5.

2.0.1.

4.

1.6.

0.0.

-E-2.Existing MMI

E.b.Poten-

tial userexclude dSolutions

cludedSolutions in-

E.SL.Connection

interfacesolutions

A.SL.Elementsolutions

Pt.0

.Pa.

Try

tosa

tisfy

rest

rict

ions

Pt.n

.Pa.

Try

tosa

tisfy

requ

irem

ents

*

*

*

*

*

°

requ

irem

ents

* °

Pt.0.Sa.Environ-ment re-striction

mentsrequire-

Pt.n.Sa.Prioritized

mentsrequire-

Page 75: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 75

EXAMPLE Multiplication Toy:Logic architecture with exchangeable multiplier

EXAMPLE Multiplication Toy:Logic architecture with exchangeable multiplier

aE.a.Multi-plica-

tion toyuser

aE.b.

-E-1. Hostattachments

Host-ing toyducerpro-

exchange

aE. Hosting toy and multiplication toy environment

-aE-4.BatteryaE.c.User

guardian

-A-6.Power feed

busOperand

Operand-A-4.

A. Multiplication toy

-A-3.

bus

-A-5.Product

bus

plicand input-aE-1a. Multi-

plicand input-aE-1b. Multi-

Cas

ing

]A]2

.

E. Multiplication toy environment(hosting toy)

-aE-1c. Prod-uct output

-A-1.Circuit board

Aa.Multi-plier

Ab. Set-deviceting

Ad.Present-

ing device

Ae.supplyPower

Ac. Set-ting

device

10

4

4

Ad.b.3 digits7-seg.LED

Ad.a.3 conv.7-seg.

BDC to

able parts-aE-2. Immov-

]E]1

.H

ostin

gto

ybo

unda

ry

leakage-aE-2. Padding

-aE-3.Toxic surface

treatment

-E-1. Hostattachments

aE.a.Multi-plica-

tion toyuser

aE.b.

-E-1. Hostattachments

Host-ing toyducerpro-

exchange

aE. Hosting toy and multiplication toy environment

-aE-4.BatteryaE.c.User

guardian

-A-6.Power feed

busOperand

Operand-A-4.

A. Multiplication toy

-A-3.

bus

-A-5.Product

bus

plicand input-aE-1a. Multi-

plicand input-aE-1b. Multi-

Cas

ing

]A]2

.

E. Multiplication toy environment(hosting toy)

-aE-1c. Prod-uct output

-A-1.Circuit board

Aa.Multi-plier

Ab. Set-deviceting

Ad.Present-

ing device

Ae.supplyPower

Ac. Set-ting

device

10

4

4

Ad.b.3 digits7-seg.LED

Ad.a.3 conv.7-seg.

BDC to

able parts-aE-2. Immov-

]E]1

.H

ostin

gto

ybo

unda

ry

leakage-aE-2. Padding

-aE-3.Toxic surface

treatment

-E-1. Hostattachments

• Multiplier realized with two different technologies

• Hardwired logical gates

• Micro-controller with program

• Multiplier realized with two different technologies

• Hardwired logical gates

• Micro-controller with program

Operandbus

-A-3.

Operandbus

-A-4.

Productbus

-Aa:1-1.B

in-BC

Dinterface

-A-1:1 Proto-type board-A-5.

Aa:1. Hard-wired multiplier

metic unitAa:1.a. Arith-

Aa:1.b. Bin-BCD converter

feed-A-6. Power

810

4

4Operand

bus-A-3.

Operandbus

-A-4.

Productbus

-Aa:1-1.B

in-BC

Dinterface

-A-1:1 Proto-type board-A-5.

Aa:1. Hard-wired multiplier

metic unitAa:1.a. Arith-

Aa:1.b. Bin-BCD converter

feed-A-6. Power

810

4

4

Aa:2. Microcontroller multiplier

10

4

4busOperand

-A-3.

Operandbus

-A-4.

-A-5.Product

bus

port4 bit

port4 bit

Aa:2a. MicrocontrollerAa:2aa.program

Microcontroller

-A-6.Power feed

board-A-1:2 Printed

-Aa:2-1.In-circuit pro-

grammable port

Aa:2aaa.Variables

InstructionsAa:2aab.

port10 bit

*

*

Aa:2. Microcontroller multiplier

10

4

4busOperand

-A-3.

Operandbus

-A-4.

-A-5.Product

bus

port4 bit

port4 bit

Aa:2a. MicrocontrollerAa:2aa.program

Microcontroller

-A-6.Power feed

board-A-1:2 Printed

-Aa:2-1.In-circuit pro-

grammable port

Aa:2aaa.Variables

InstructionsAa:2aab.

port10 bit

*

*

Page 76: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 76

EXAMPLE House: Black-box in house decomposed to kitchen white-boxEXAMPLE House: Black-box in house decomposed to kitchen white-box

E. House environment

A. House

-A-7

.K-

win

dow

-A-18.L-wicket

-A-1

3.E-

door

-A-15.Openarch

-A-14.Lockdoor -A

-16.

Stai

rway

A.c.Stairway nook

-A-17.S-wicket

[A]1

1.H

ouse

oute

rbo

unda

ry

A.a. Rooms

-E-5. Gas

-A-3a. K-heating

-A-6.Door

section

-A-9.Frontdoor

-A-10.Backdoor

-E-1

.Air

outle

t

-E-2.Chimney

-E-4.Electric- -A-4a.

K-Wiring-E-3.

Sewage-A-5.

Sewer

-E-2.Water

-A-2.Cold water

-A-1.Warm water

-A-4b.O-Wiring

-A-3

d.T-

heat

ing

-A-3

e.B-

heat

-

-A-3

c.E-

heat

-in

g

-A-3

b.D

-hea

t-in

g

-A-8

.T-

wind

ow

-A-12.House inner walls

A.aE.Bed room

A.aB.Entrance

A.aA.DiningA.aC.

Kitchen

A.aD.Toilet

A.b.Loft

A.cc.Scale

A.cb.Boiler

A.ca.El. centra l

A.cd.Cesspit

-E-5a. K-Gas

E. House environment

A. House

-A-7

.K-

win

dow

-A-18.L-wicket

-A-1

3.E-

door

-A-15.Openarch

-A-14.Lockdoor -A

-16.

Stai

rway

A.c.Stairway nook

-A-17.S-wicket

[A]1

1.H

ouse

oute

rbo

unda

ry

A.a. Rooms

-E-5. Gas

-A-3a. K-heating

-A-6.Door

section

-A-9.Frontdoor

-A-10.Backdoor

-E-1

.Air

outle

t

-E-2.Chimney

-E-4.Electric- -A-4a.

K-Wiring-E-3.

Sewage-A-5.

Sewer

-E-2.Water

-A-2.Cold water

-A-1.Warm water

-A-4b.O-Wiring

-A-3

d.T-

heat

ing

-A-3

e.B-

heat

-

-A-3

c.E-

heat

-in

g

-A-3

b.D

-hea

t-in

g

-A-8

.T-

wind

ow

-A-12.House inner walls

A.aE.Bed room

A.aB.Entrance

A.aA.DiningA.aC.

Kitchen

A.aD.Toilet

A.b.Loft

A.cc.Scale

A.cb.Boiler

A.ca.El. centra l

A.cd.Cesspit

-E-5a. K-Gas

-A.aC-1.Interioraccess

-A-3

a.K

-hea

ting

-A-7

.K-w

indo

w

[A.aC]4.Floor

[A.aC]5.Splash back

[A.aC]6. Wall andceiling

-A.aC-2. Interior attach

A.aC.p. Chef

-E-1

.Air

outle

t

-A-5

.Sew

er

-A-1

.War

mw

ater

-A-2

.Col

dw

ater

A.a

C.a

D.H

eatm

achi

nery

A.a

C.a

E.E

vacu

ate

mac

hine

ry

A.a

C.a

G.D

ishm

achi

nery

A.a

C.a

C.B

ake

mac

hine

ry

A.a

C.a

B.W

arm

mac

hine

ry

A.a

C.a

A.C

old

mac

hine

ry

A.aC. Kitchen

-A-4

a.K

-Wir

ing

-A.a

C-3

.M

achi

nery

el.f

eed

A.a

C.j.

Prep

arat

ion

benc

h

A.a

C.b

.Med

icin

ecu

pboa

rdA

.aC

.c.G

roce

rycu

pboa

rdA

.aC

.d.G

roce

rycu

pboa

rdA

.aC

.e.D

epos

itcu

pboa

rdA

.aC

.f.Ti

nyut

ensil

draw

ers

A.a

C.g

.Bak

ing

cupb

oard

A.a

C.k

.Che

mic

alcu

pboa

rdA

.aC

.h.T

able

war

edr

awer

sA

.aC

.m.T

able

war

ecu

pboa

rdA

.aC

.i.Bi

gut

ensil

cupb

oard

A.a

C.l.

Tabl

ewar

ecu

pboa

rdA

.aC

.n.K

nife

hang

er

A.a

C.a

F.W

etm

achi

nery

A.a

C.a

.Mac

hine

ry

A.aC.o.Sub Central

-E-5

a.K

-Gas

-A.aC-1.Interioraccess

-A-3

a.K

-hea

ting

-A-7

.K-w

indo

w

[A.aC]4.Floor

[A.aC]5.Splash back

[A.aC]6. Wall andceiling

-A.aC-2. Interior attach

A.aC.p. Chef

-E-1

.Air

outle

t

-A-5

.Sew

er

-A-1

.War

mw

ater

-A-2

.Col

dw

ater

A.a

C.a

D.H

eatm

achi

nery

A.a

C.a

E.E

vacu

ate

mac

hine

ry

A.a

C.a

G.D

ishm

achi

nery

A.a

C.a

C.B

ake

mac

hine

ry

A.a

C.a

B.W

arm

mac

hine

ry

A.a

C.a

A.C

old

mac

hine

ry

A.aC. Kitchen

-A-4

a.K

-Wir

ing

-A.a

C-3

.M

achi

nery

el.f

eed

A.a

C.j.

Prep

arat

ion

benc

h

A.a

C.b

.Med

icin

ecu

pboa

rdA

.aC

.c.G

roce

rycu

pboa

rdA

.aC

.d.G

roce

rycu

pboa

rdA

.aC

.e.D

epos

itcu

pboa

rdA

.aC

.f.Ti

nyut

ensil

draw

ers

A.a

C.g

.Bak

ing

cupb

oard

A.a

C.k

.Che

mic

alcu

pboa

rdA

.aC

.h.T

able

war

edr

awer

sA

.aC

.m.T

able

war

ecu

pboa

rdA

.aC

.i.Bi

gut

ensil

cupb

oard

A.a

C.l.

Tabl

ewar

ecu

pboa

rdA

.aC

.n.K

nife

hang

er

A.a

C.a

F.W

etm

achi

nery

A.a

C.a

.Mac

hine

ry

A.aC.o.Sub Central

-E-5

a.K

-Gas

Page 77: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 77

EXAMPLE House: Machinery logical and physical architecture

EXAMPLE House: Machinery logical and physical architecture

• Physical architecture• Physical architecture

• Logical archi-tecture

• Logical archi-tecture

<-A.a

C.aA.a

. Comb

inedfri

dge/fr

eezer

<-A.a

C.aB.a

. Micr

o oven

<-A.a

C.aB.b

. Warm

ingove

n

<-A.a

C.aC.a

. Wide

oven<-

A.aC.a

E.a. W

idehoo

d

<-Aa

C.aDa

. Elec

tric h

obs

<-A.a

C.aD.b

. Gas

burner

<-A.a

C.aG.a

. Dish

washer

coarse

<-A.a

C.aF.a

. Sink

2 bowl

s

<=A.a

C.aF.b

. Comb

inedtap

<-A.a

C.aG.b

. Dish

washer

gentle

<-A.a

C.aA.a

. Comb

inedfri

dge/fr

eezer

<-A.a

C.aB.a

. Micr

o oven

<-A.a

C.aB.b

. Warm

ingove

n

<-A.a

C.aC.a

. Wide

oven<-

A.aC.a

E.a. W

idehoo

d

<-Aa

C.aDa

. Elec

tric h

obs

<-A.a

C.aD.b

. Gas

burner

<-A.a

C.aG.a

. Dish

washer

coarse

<-A.a

C.aF.a

. Sink

2 bowl

s

<=A.a

C.aF.b

. Comb

inedtap

<-A.a

C.aG.b

. Dish

washer

gentle

A.aC.a. Machinery

A.aC.aB. Warm machiner y

A.aC.aD. Heat machinery

A.aC.aE. Evacuate machiner y

A.aC.aF. Wet machiner y

-A-1. Warm water

-A-5. Sewer

-E-1. Air outlet

A.aC.aC. Bake machiner y

A.aC.aG. Dish machiner y

-A.aC-3a. El. fridge

-A.aC-3b. El. micro

-E-5. Gas

-A-2. Cold water

-A.aC-3c. El. warm

-A.aC-3d. El. bake

-A.aC-3e. El. hob

-A.aC-3f. El. hood

-A.aC-3h. El. G dish

-A.a

C-2

.Int

erio

rat

tach

[A.aC.aG]2.Dish housing

-A.a

C-1

.Int

erio

rac

cess

-A.aC-1p.Dish door[A.aC.aG]1.

Dish housing

-A.aC-1n.Dish door

[A.aC.aF]1.Gasket seal

-A.aC-1o.Dish panel

-A.aC-1m.Dish panel

-A.aC-1l.Handles

-A.aC-1k.Hood panel

[A.aC.aD]1.Gasket seal

-A.aC-1i.Hob panel-A.aC-1j.Burner panel

[A.aC.aC]1.Oven housing

-A.aC-1g.Bake panel-A.aC-1h.Bake door

-A.aC-1c.Micro panel-A.aC-1d.Micro door-A.aC-1e.Warm panel-A.aC-1f.Warm door

-A.aC-1b.Cold door

-A.aC-1a.Cold panel

[A.aC.aA]1.Cold housing

[A.aC.aE]1.Air tin box

-A.a

C-3

.Mac

hine

ryel

.fee

d

[A.aC.aB]2.Oven housing

[A.aC.aB]1.Micro housing

-A.aC-3g. El. C dish

A.aC.aA. Cold machiner y

A.aC.aB.a.Micro oven

A.aC.aA.a.Combined fridge/f reezer

A.aC.aB. b.Warming oven

A.aC.aC.a.Wide oven

AaC.aDa.Electric hobs

A.aC.aD.b.Gas burner

A.aC.aE.a.Wide hood

A.aC.aF.a.Sink 2 bowls

A.aC.aF.b.Combined tap

A.aC.aG.a.Dishwasher coarse

A.aC.aG.b.Dishwasher gentle

A.aC.a. Machinery

A.aC.aB. Warm machiner y

A.aC.aD. Heat machinery

A.aC.aE. Evacuate machiner y

A.aC.aF. Wet machiner y

-A-1. Warm water

-A-5. Sewer

-E-1. Air outlet

A.aC.aC. Bake machiner y

A.aC.aG. Dish machiner y

-A.aC-3a. El. fridge

-A.aC-3b. El. micro

-E-5. Gas

-A-2. Cold water

-A.aC-3c. El. warm

-A.aC-3d. El. bake

-A.aC-3e. El. hob

-A.aC-3f. El. hood

-A.aC-3h. El. G dish

-A.a

C-2

.Int

erio

rat

tach

[A.aC.aG]2.Dish housing

-A.a

C-1

.Int

erio

rac

cess

-A.aC-1p.Dish door[A.aC.aG]1.

Dish housing

-A.aC-1n.Dish door

[A.aC.aF]1.Gasket seal

-A.aC-1o.Dish panel

-A.aC-1m.Dish panel

-A.aC-1l.Handles

-A.aC-1k.Hood panel

[A.aC.aD]1.Gasket seal

-A.aC-1i.Hob panel-A.aC-1j.Burner panel

[A.aC.aC]1.Oven housing

-A.aC-1g.Bake panel-A.aC-1h.Bake door

-A.aC-1c.Micro panel-A.aC-1d.Micro door-A.aC-1e.Warm panel-A.aC-1f.Warm door

-A.aC-1b.Cold door

-A.aC-1a.Cold panel

[A.aC.aA]1.Cold housing

[A.aC.aE]1.Air tin box

-A.a

C-3

.Mac

hine

ryel

.fee

d

[A.aC.aB]2.Oven housing

[A.aC.aB]1.Micro housing

-A.aC-3g. El. C dish

A.aC.aA. Cold machiner y

A.aC.aB.a.Micro oven

A.aC.aA.a.Combined fridge/f reezer

A.aC.aB. b.Warming oven

A.aC.aC.a.Wide oven

AaC.aDa.Electric hobs

A.aC.aD.b.Gas burner

A.aC.aE.a.Wide hood

A.aC.aF.a.Sink 2 bowls

A.aC.aF.b.Combined tap

A.aC.aG.a.Dishwasher coarse

A.aC.aG.b.Dishwasher gentle

Page 78: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 78

Micro controller versus central processing unit (CPU)Micro controller versus central processing unit (CPU)

• Micro controller• Micro controller • Central processing unit (CPU)

• Central processing unit (CPU)

Arithmeticlogic unit

(ALU)

Typical micro controller simplified architecture

Latch

Latch

Latch

Latch Latch

Latch

Lat

chL

atch

Lat

ch

DataControl

bus

Jum

pde

stin

a tio

n

Accu-mula-

torTemp.regis-

ter

Port 1buffers

Port 2buffers

Port 3buffers

RandomAccess

MemoryMachinevariables Instruction

decoder

Read OnlyMemory

Machineinstructions

Timing andlatch control

Inter-rupt

control

Pro-gram

counter

Pro-gramloadport

Interrupts

Data

Data

8

8Data address

16Pr

og.a

ddre

ss

Arithmeticlogic unit

(ALU)

Typical micro controller simplified architecture

Latch

Latch

Latch

Latch Latch

Latch

Lat

chL

atch

Lat

ch

DataControl

bus

Jum

pde

stin

a tio

n

Accu-mula-

torTemp.regis-

ter

Port 1buffers

Port 2buffers

Port 3buffers

RandomAccess

MemoryMachinevariables Instruction

decoder

Read OnlyMemory

Machineinstructions

Timing andlatch control

Inter-rupt

control

Pro-gram

counter

Pro-gramloadport

Interrupts

Data

Data

8

8Data address

16Pr

og.a

ddre

ss

Enlarged core of micro processor,(needing external memor y, ports

and interrupt handler)

RandomAccess

Memory(RAM)

Read OnlyMemory(ROM)BOOT

and BIOSmachineinstruc-

tions

Interrupthandler

Instructioncache

Datacache

Controlbuffer

Con

trol

bus

Externalcontrol bus

Dat

aad

dres

s

Dat

a

Prog

.add

ress

Inst

ruct

ion

Central Processing Unit (CPU)

Address and data busbuffer

Ports forperipheral

devices

32

32

Generalmachineinstruc-

tions

Generalmachine

varia-bles

Applicationprogram

External address bus

External data bus

Enlarged core of micro processor,(needing external memor y, ports

and interrupt handler)

RandomAccess

Memory(RAM)

Read OnlyMemory(ROM)BOOT

and BIOSmachineinstruc-

tions

Interrupthandler

Instructioncache

Datacache

Controlbuffer

Con

trol

bus

Externalcontrol bus

Dat

aad

dres

s

Dat

a

Prog

.add

ress

Inst

ruct

ion

Central Processing Unit (CPU)

Address and data busbuffer

Ports forperipheral

devices

32

32

Generalmachineinstruc-

tions

Generalmachine

varia-bles

Applicationprogram

External address bus

External data bus

Page 79: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 79

Interrupt and threadsInterrupt and threads

• High level thread constructions take care of unsynchronized interrupt stimuli

• To avoid that all program paths must check all imaginable stimuli sources

• Organize one thread to take care of each source of scenario stimuli

• Preferably regard each tread as black-box

• Let each tread be instant to response• When time, let threads synchronize and

finalize what not instantly was done

• High level thread constructions take care of unsynchronized interrupt stimuli

• To avoid that all program paths must check all imaginable stimuli sources

• Organize one thread to take care of each source of scenario stimuli

• Preferably regard each tread as black-box

• Let each tread be instant to response• When time, let threads synchronize and

finalize what not instantly was done

Waiter!

Waiter!

Waiter!Waiter!

Waiter!

Waiter!

Waiter!

Real time program

Run threaduntil inter-rupt return

Run threadmaximum forone time-slot !

Microcontroller or processor

Threadinterruptelement

Asynch ronousinterface

Portinterface

Threadapplica-

tion

Port

element

interrupt !

Operating system clock

Real time program

Run threaduntil inter-rupt return

Run threadmaximum forone time-slot !

Microcontroller or processor

Threadinterruptelement

Asynch ronousinterface

Portinterface

Threadapplica-

tion

Port

element

interrupt !

Operating system clock

Page 80: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 80

EXAMPLE calc_logic:Logical and physical program architecture

EXAMPLE calc_logic:Logical and physical program architecture

• Logical architecture presumes high level program

• Architecture may imitate specification scenario

• Logical architecture presumes high level program

• Architecture may imitate specification scenario

• Program file chart (kind of detailed physical architecture)

• Program file chart (kind of detailed physical architecture)

A.d. calc_logic function

A.db. WAIT_FOR_LEAD_OPERAND_1ST_DIGIT

A.dc. WAIT_FOR_DUO_OPERATOR

A.dd. WAIT_FOR_TRIAL_OPERAND_1ST_DIGIT

A.de. WAIT_FOR_CONCLUSION_OPER ATOR

A.da. Local variable dec-

A. calc_logic for reuse

°

°

°

°A.deb. Equals

A.dec. Operator

E. Any calc_logic environment

-E-1.Commoncalc_logicinterface

°

°

E.b.Develop-ment sys-tem built-in stand-

ard library

°A.dba. Digit

°A.dbb. Operato r

°A.dbc. Default

°A.dca. Digit

°A.dcb. Operator

°A.dcc. Default

°A.dda. Digit

°A.ddb. Default

°A.deb.a. Add

°A.deb.b. Subtract

°A.deb.c. Multiply

°A.deb.d. Divide

°A.dea. Digit

°A.dec.a. Add

°A.dec.b. Subtract

°A.dec.c. Multiply

°A.dec.d. Divide

°A.ded. Default

A.deb.e. End calc

A.dec.e. End calc-E

-2.B

uilt-

insta

ndar

dlib

rary

inte

rfac

e

calc_logic program instructions

A.a. #include declaratio ns

A.b. #define declarations

A.c. Global variable declarations

A.d. calc_logic function

A.db. WAIT_FOR_LEAD_OPERAND_1ST_DIGIT

A.dc. WAIT_FOR_DUO_OPERATOR

A.dd. WAIT_FOR_TRIAL_OPERAND_1ST_DIGIT

A.de. WAIT_FOR_CONCLUSION_OPER ATOR

A.da. Local variable dec-

A. calc_logic for reuse

°

°

°

°A.deb. Equals

A.dec. Operator

E. Any calc_logic environment

-E-1.Commoncalc_logicinterface

°

°

E.b.Develop-ment sys-tem built-in stand-

ard library

°A.dba. Digit

°A.dbb. Operato r

°A.dbc. Default

°A.dca. Digit

°A.dcb. Operator

°A.dcc. Default

°A.dda. Digit

°A.ddb. Default

°A.deb.a. Add

°A.deb.b. Subtract

°A.deb.c. Multiply

°A.deb.d. Divide

°A.dea. Digit

°A.dec.a. Add

°A.dec.b. Subtract

°A.dec.c. Multiply

°A.dec.d. Divide

°A.ded. Default

A.deb.e. End calc

A.dec.e. End calc-E

-2.B

uilt-

insta

ndar

dlib

rary

inte

rfac

e

calc_logic program instructions

A.a. #include declaratio ns

A.b. #define declarations

A.c. Global variable declarations

A. Calc_logic for reuse C program source file calculato r.cpp

A.c. Global variables

A.b. Aliases, etc.

A.d. Calc_logic main functionCommon

-E-1.

interfacecalc_logic

Develop-E.b.

E.b.

Built

-inst

anda

rdlib

rary

inte

rfac

e

ment sys-tem built-in stand-

ard li-brary link-able files

A.a. # Includes

A.RB.8. Function shape header file calc_logic_-func_shape. h

E. Any calc_logic environment

A.RR.7. Restriction requirements heade r file calc_log-ic_restrict.h

E.R.13.c. Standard string header file string.h

E.R.13.a. Standard library header file stdlib.h

E.R.13.b. Standard in/out heade r file stdio.h

A. Calc_logic for reuse C program source file calculato r.cpp

A.c. Global variables

A.b. Aliases, etc.

A.d. Calc_logic main functionCommon

-E-1.

interfacecalc_logic

Develop-E.b.

E.b.

Built

-inst

anda

rdlib

rary

inte

rfac

e

ment sys-tem built-in stand-

ard li-brary link-able files

A.a. # Includes

A.RB.8. Function shape header file calc_logic_-func_shape. h

E. Any calc_logic environment

A.RR.7. Restriction requirements heade r file calc_log-ic_restrict.h

E.R.13.c. Standard string header file string.h

E.R.13.a. Standard library header file stdlib.h

E.R.13.b. Standard in/out heade r file stdio.h

Page 81: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 81

EXAMPLE Phonebook:Logical architecturesEXAMPLE Phonebook:Logical architectures

• Programs has hierarchical structures like mechanics and electronics

• Shown architecture assume object orientation

• Architecture shown of file storage

• Programs has hierarchical structures like mechanics and electronics

• Shown architecture assume object orientation

• Architecture shown of file storage

aE.a

.Mot

her

boar

d

aE. Computer with mechanics

aE.b.Harddisk

aaE.a.Phone-bookuser

E.b.

Stan

dard

C++

built

-inlib

rari

es

-aE

-2.

Disk

-E-4

.Win

dow

sint

erfa

ce

E.c.

Win

dow

sope

ratin

gsy

stem

-aE-

1.H

ardw

are/

softw

are

aaE. Computer environment

A. Phone- book

A.aaa. Contact object array

A.aaa.ab. Phone- number object array

A.aaa.aa. Person object

A.aaa.aab. Person functions

A.aaa.abb. Phone-number functions

A.aaa.b. Contact functions

A.ab. Phone-book functions, con- and destructors

-A-a

1.

Con

-ta

ctin

ter-

face

A.aa. Phone-book variable s

A.aaa.a. Contact variables

E. Phone-bo ok environment

-A.a

aa-1

.

Phon

e-nu

mbe

rin

terf

ace

-A.aaa-2. Person interface

A.aaa.aba. Phone-number varia-bles

A.aaa.aaa. Person variables

-E-2.

Con-sole in-terface

-E-3.

File in-terface

-E-1

.Ph

one

-boo

kin

ter-

face

-aaE-1.User

inter-face

E.a. Main function

A.a. Phone-book object

aE.b

a.Ph

one-

book

file

aE.a

.Mot

her

boar

d

aE. Computer with mechanics

aE.b.Harddisk

aaE.a.Phone-bookuser

E.b.

Stan

dard

C++

built

-inlib

rari

es

-aE

-2.

Disk

-E-4

.Win

dow

sint

erfa

ce

E.c.

Win

dow

sope

ratin

gsy

stem

-aE-

1.H

ardw

are/

softw

are

aaE. Computer environment

A. Phone- book

A.aaa. Contact object array

A.aaa.ab. Phone- number object array

A.aaa.aa. Person object

A.aaa.aab. Person functions

A.aaa.abb. Phone-number functions

A.aaa.b. Contact functions

A.ab. Phone-book functions, con- and destructors

-A-a

1.

Con

-ta

ctin

ter-

face

A.aa. Phone-book variable s

A.aaa.a. Contact variables

E. Phone-bo ok environment

-A.a

aa-1

.

Phon

e-nu

mbe

rin

terf

ace

-A.aaa-2. Person interface

A.aaa.aba. Phone-number varia-bles

A.aaa.aaa. Person variables

-E-2.

Con-sole in-terface

-E-3.

File in-terface

-E-1

.Ph

one

-boo

kin

ter-

face

-aaE-1.User

inter-face

E.a. Main function

A.a. Phone-book object

aE.b

a.Ph

one-

book

file

aE.ba. Phone-book file

aE.ba.cc. Contact object

aE.ba.cd. Array of phone numbersaE.ba.cd.a. Phone-number + new-line

aE.ba.ce. New-line

aE.ba.c. Array of contacts

aE.ba.d. New-line

aE.ba.cc.e. Country + new-line

aE.ba.cc.d. City + new-line

aE.ba.cc.c. Post code + new-line

aE.ba.cc.b. Address + new-line

aE.ba.cc.a. Name + new-line

aE.ba.b. New-line

aE.ba.a. Title + new-lineaE.ba. Phone-book file

aE.ba.cc. Contact object

aE.ba.cd. Array of phone numbersaE.ba.cd.a. Phone-number + new-line

aE.ba.ce. New-line

aE.ba.c. Array of contacts

aE.ba.d. New-line

aE.ba.cc.e. Country + new-line

aE.ba.cc.d. City + new-line

aE.ba.cc.c. Post code + new-line

aE.ba.cc.b. Address + new-line

aE.ba.cc.a. Name + new-line

aE.ba.b. New-line

aE.ba.a. Title + new-line

Page 82: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 82

Finalize designFinalize designPrograms lurking in siliconPrograms lurking in silicon

Page 83: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 83

Finalize design inside-outFinalize design inside-out

• Previous technical phases have developed outside-in

• Architecture are ready, now finalize all architecture ingredients inside-out

• Previous technical phases have developed outside-in

• Architecture are ready, now finalize all architecture ingredients inside-out

Page 84: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 84

Pt.n.F. Finalize design of white-box with product requisites

Pt.n.F. Finalize design of white-box with product requisites

• Finalize design ingredients for white-boxes on this level

• Anchor design on inwards finalized white-boxes

• Account for white-box requisites

• Finalize procurement of suppliers items

• Finalize design are quite similar for level 0 environment and level > 0 white-boxes

• Finalize design ingredients for white-boxes on this level

• Anchor design on inwards finalized white-boxes

• Account for white-box requisites

• Finalize procurement of suppliers items

• Finalize design are quite similar for level 0 environment and level > 0 white-boxes

Unsatisfactory

Pt.n

.Fa.

deta

iled

item

sFi

naliz

ewhi

te-b

ox Pt.n

.Fc.

Acc

ount

forw

hite

-bo

xde

velo

pmen

t,re

aliza

tion,

and

man

ufac

turi

ng

Pt.n

.Fb.

Whi

te-b

oxite

mde

-sig

ngr

aphs

and

lists

Pt.n

.Fe.

Exam

ine

white

-box

succ

essYes

bBlack-

?ox No

Pt.E

.leg

acy

In-h

ouse

sour

cesy

stem

Xa.H

.O

ff-th

e-bl

eite

msh

elfr

eusa

-

Pt.n

.Fd.

Prod

uctr

equi

-sit

ees

timat

es

Pt.n

.Ff.

Fina

lizei

tem

pro-

cure

men

t

Pt.n

.Sb.

box

deve

lop-

Blac

k-/w

hite

-m

ents

taffi

ng

Pt.n

.B.

Arc

hite

ctur

ewhi

te-

box

ingr

edie

ntsd

esig

nw

ithpo

ssib

leem

bed-

ded

blac

k-bo

xes

Xa.E

.O

ff-th

e-sh

elffu

llyde

-sc

ribe

dsou

rce

syst

em

Xb.

E.Tu

rnke

yfu

l-

tem

lyde

scri

bed

sour

cesy

s-Xa

.b.

Sam

ple

logu

esca

ta-

Pt.n

.Q.

Solu

tion

alte

rna-

oppo

rtun

ities

tives

with

supp

lier

if n ≥ 1if n + 1 exists

Pt.n

+1.G

.Fi

naliz

edw

hite

-bo

xwi

thpr

od-

uctr

equi

sites

Pm.

Part

ialp

ro-

toty

pe

Pt.n

.G.

Whi

te-b

oxde

sign

item

san

dpr

od-

Pt.n.F.Finalize design of

white-box with prod-uct requisites

uctr

equi

sites

Unsatisfactory

Pt.n

.Fa.

deta

iled

item

sFi

naliz

ewhi

te-b

ox Pt.n

.Fc.

Acc

ount

forw

hite

-bo

xde

velo

pmen

t,re

aliza

tion,

and

man

ufac

turi

ng

Pt.n

.Fb.

Whi

te-b

oxite

mde

-sig

ngr

aphs

and

lists

Pt.n

.Fe.

Exam

ine

white

-box

succ

essYes

bBlack-

?ox No

Pt.E

.leg

acy

In-h

ouse

sour

cesy

stem

Xa.H

.O

ff-th

e-bl

eite

msh

elfr

eusa

-

Pt.n

.Fd.

Prod

uctr

equi

-sit

ees

timat

es

Pt.n

.Ff.

Fina

lizei

tem

pro-

cure

men

t

Pt.n

.Sb.

box

deve

lop-

Blac

k-/w

hite

-m

ents

taffi

ng

Pt.n

.B.

Arc

hite

ctur

ewhi

te-

box

ingr

edie

ntsd

esig

nw

ithpo

ssib

leem

bed-

ded

blac

k-bo

xes

Xa.E

.O

ff-th

e-sh

elffu

llyde

-sc

ribe

dsou

rce

syst

em

Xb.

E.Tu

rnke

yfu

l-

tem

lyde

scri

bed

sour

cesy

s-Xa

.b.

Sam

ple

logu

esca

ta-

Pt.n

.Q.

Solu

tion

alte

rna-

oppo

rtun

ities

tives

with

supp

lier

if n ≥ 1if n + 1 exists

Pt.n

+1.G

.Fi

naliz

edw

hite

-bo

xwi

thpr

od-

uctr

equi

sites

Pm.

Part

ialp

ro-

toty

pe

Pt.n

.G.

Whi

te-b

oxde

sign

item

san

dpr

od-

Pt.n.F.Finalize design of

white-box with prod-uct requisites

uctr

equi

sites

Page 85: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 85

Pt.0.F. Finalize design of environment interfaces with product requisites

Pt.0.F. Finalize design of environment interfaces with product requisites

• Finalize design of interfaces to environment

• Finalized design performed inside-out

• Interface anchor to finalized outmost white-box

• Account for development, realization and production of interface to environment

• Finalize item procurement

• Finalize design of interfaces to environment

• Finalized design performed inside-out

• Interface anchor to finalized outmost white-box

• Account for development, realization and production of interface to environment

• Finalize item procurement

Unsatisfactory

Exam

ine

Pt.0

.Fe.

prot

otyp

esu

cces

s

Pt.0

.Fc.

Acc

ount

fore

nvi-

esde

velo

pmen

t,re

-ro

nmen

tint

erfa

c-al

izatio

n,an

dm

an-

ufac

turi

ng

Pt.0

.Fa.

Fina

lize

envi

ron-

men

tint

erfa

ces

deta

iled

item

s

Pt.0

.Fb.

Envi

ronm

enti

nter

fac-

esite

mde

sign

grap

hsan

dlis

ts

Pt.0

.Ff.

Fina

lizei

tem

proc

urem

ent

Pt.0

.Fd.

site

estim

ates

Prod

uctr

equi

-

Yes

boxBlack-

? No

Xa.

H.

Off-

the-

ble

item

shel

freu

sa-

Pt.1

.G.

box

with

prod

-Fi

naliz

edw

hite

-uc

treq

uisit

esXb.

E.ly

desc

ribed

tem

Turn

key

ful-

sour

ce sy

s-

Xa.

E.fu

llyde

-O

ff-th

e-sh

elf

scri

bed

sour

cesy

stem

Pt.E

.leg

acy

In-h

ouse

sour

cesy

stem

Pt.0

.Sb.

Envi

ronm

ent

catio

nst

affin

gal

lo-

Xa.b

.al

ogue

sSa

mpl

ecat

-

Pt.0

.B.

Envi

ronm

ente

xisti

ngin

gred

ient

sand

desig

nof

inte

rfac

esto

the

en-

viro

nmen

tPt

.0.Q

.So

lutio

nal

tern

ativ

esof

in-

terf

aces

toen

viro

nmen

twith

supp

liero

ppor

tuni

tiesti

es

Pm.P

artia

lpr

otot

ype

Pt.0.F.Finalize design of envi-

ronment interfaceswith product requisites

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Unsatisfactory

Exam

ine

Pt.0

.Fe.

prot

otyp

esu

cces

s

Pt.0

.Fc.

Acc

ount

fore

nvi-

esde

velo

pmen

t,re

-ro

nmen

tint

erfa

c-al

izatio

n,an

dm

an-

ufac

turi

ng

Pt.0

.Fa.

Fina

lize

envi

ron-

men

tint

erfa

ces

deta

iled

item

s

Pt.0

.Fb.

Envi

ronm

enti

nter

fac-

esite

mde

sign

grap

hsan

dlis

ts

Pt.0

.Ff.

Fina

lizei

tem

proc

urem

ent

Pt.0

.Fd.

site

estim

ates

Prod

uctr

equi

-

Yes

boxBlack-

? No

Xa.

H.

Off-

the-

ble

item

shel

freu

sa-

Pt.1

.G.

box

with

prod

-Fi

naliz

edw

hite

-uc

treq

uisit

esXb.

E.ly

desc

ribed

tem

Turn

key

ful-

sour

ce sy

s-

Xa.

E.fu

llyde

-O

ff-th

e-sh

elf

scri

bed

sour

cesy

stem

Pt.E

.leg

acy

In-h

ouse

sour

cesy

stem

Pt.0

.Sb.

Envi

ronm

ent

catio

nst

affin

gal

lo-

Xa.b

.al

ogue

sSa

mpl

ecat

-

Pt.0

.B.

Envi

ronm

ente

xisti

ngin

gred

ient

sand

desig

nof

inte

rfac

esto

the

en-

viro

nmen

tPt

.0.Q

.So

lutio

nal

tern

ativ

esof

in-

terf

aces

toen

viro

nmen

twith

supp

liero

ppor

tuni

tiesti

es

Pm.P

artia

lpr

otot

ype

Pt.0.F.Finalize design of envi-

ronment interfaceswith product requisites

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Page 86: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 86

EXAMPLE House: Finalize white-box detailed itemsEXAMPLE House: Finalize white-box detailed items

• Finalize physical archi-tectureingre-dientsto become detailed design items

• Finalize physical archi-tectureingre-dientsto become detailed design items

• Identify design items based on architecture ingredients

• Identify design items based on architecture ingredients

-A-7

.K

-win

dow

[A]11g. Roof

[A]1

1o.F

acad

e

[A]11f. Roof laths

[A]11e. Roof deck

[A]11h.Eaveplank

[A]11a. Rooftruss

[A]11b. Trussisolation

[A]11c. Cross isolation[A]11d.Cross space

plank

[A]1

1n.

Wal

liso

la-

[A]1

1m.I

nner

bric

kwor

k

205

2

[A]11k.Opening joist

15

[A]11i.Bracket

[A]11j.Jointbeam

-A-1

2.H

ouse

inne

rw

alls

100

7010

[A]11l.Gypsum

board

Item Remark Material and dimensions Element or interfacei194. Rooftruss

Prefabri-cated

Framework of spruce 5,10 wide x 2,0 mhigh [A]11a. Roof truss

i195. Rock-wool

3GS Board 60 x 120 x 20 cm [A]11b. Truss isolation

i196. Rock-wool

3GS Roll 20 m x 60 x 5 cm [A]11c. Cross isolation

i197. Plank Unplaned spruce 2 x 3 inch [A]11d. Cross space planki198. Roofdeck

0,5 x 5 inch,unplaned tongued spruce sur-plus plank [A]11e. Roof deck

i199. Lath 1 x 1,5 inch unplaned spruce plank [A]11f. Roof lathsi200. Plank 1,5 x 5 inch unplaned spruce plank [A]11h. Eave planki201. Bracket L-shape galvanized steel 15 x 15 cm [A]11i. Bracketi202. Plank 4 x 7 inch unplaned spruce plank [A]11j. Joint beami203. Joist Prefabri-

catedConcrete joist 18 x 18 cm [A]11k. Opening joist

i204. Gypsum Gypsum board 15 mm, 60 x 120 cm [A]11l. Gypsum boardi205. Brick 20/m² hollow bricks 18 x 27 cm

[A]11m. Inner brickworki206. Mortar Prefabri-cated

2600 kg fine concrete

i207. Styro-foam

Styrofoam sheet 60 x 120 x 10 cm [A]11n. Wall isolation

i208. Gravel Sieved nature gravel 4 - 32 mm [A]11p. Water barrieri209. Footer Concrete

prefabri-cated

Moulded concreted

[A]11q. Foundationi210. Rein-forcement bar

Iron bar Ø 15 mm

i211. Macad-am

Macadam 16 - 32 mm [A]11r. Macadam

i212. Pipe Plastic perforated pipe [A]11s. Drainage pipei213. Sole Prefabri-

catedFine concrete 10 cm

[A]11t. Solei214. Rein-forcement net

Bar Ø 8 mm, 120 x 240 cm, mesh 15 x 15cm

Item Remark Material and dimensions Element or interfacei194. Rooftruss

Prefabri-cated

Framework of spruce 5,10 wide x 2,0 mhigh [A]11a. Roof truss

i195. Rock-wool

3GS Board 60 x 120 x 20 cm [A]11b. Truss isolation

i196. Rock-wool

3GS Roll 20 m x 60 x 5 cm [A]11c. Cross isolation

i197. Plank Unplaned spruce 2 x 3 inch [A]11d. Cross space planki198. Roofdeck

0,5 x 5 inch,unplaned tongued spruce sur-plus plank [A]11e. Roof deck

i199. Lath 1 x 1,5 inch unplaned spruce plank [A]11f. Roof lathsi200. Plank 1,5 x 5 inch unplaned spruce plank [A]11h. Eave planki201. Bracket L-shape galvanized steel 15 x 15 cm [A]11i. Bracketi202. Plank 4 x 7 inch unplaned spruce plank [A]11j. Joint beami203. Joist Prefabri-

catedConcrete joist 18 x 18 cm [A]11k. Opening joist

i204. Gypsum Gypsum board 15 mm, 60 x 120 cm [A]11l. Gypsum boardi205. Brick 20/m² hollow bricks 18 x 27 cm

[A]11m. Inner brickworki206. Mortar Prefabri-cated

2600 kg fine concrete

i207. Styro-foam

Styrofoam sheet 60 x 120 x 10 cm [A]11n. Wall isolation

i208. Gravel Sieved nature gravel 4 - 32 mm [A]11p. Water barrieri209. Footer Concrete

prefabri-cated

Moulded concreted

[A]11q. Foundationi210. Rein-forcement bar

Iron bar Ø 15 mm

i211. Macad-am

Macadam 16 - 32 mm [A]11r. Macadam

i212. Pipe Plastic perforated pipe [A]11s. Drainage pipei213. Sole Prefabri-

catedFine concrete 10 cm

[A]11t. Solei214. Rein-forcement net

Bar Ø 8 mm, 120 x 240 cm, mesh 15 x 15cm

Page 87: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 87

EXAMPEL Multiplication toy:Finalize white-box detailed program items

EXAMPEL Multiplication toy:Finalize white-box detailed program items

• Unstructured assembler program• Possible to jump anywhere• All variables available to change anytime

• Written in pseudo-code• Must be adapted to target microcontroller

• Efficient, but time consuming to write, read and verify

• Can be illustrated with flow chart

• Unstructured assembler program• Possible to jump anywhere• All variables available to change anytime

• Written in pseudo-code• Must be adapted to target microcontroller

• Efficient, but time consuming to write, read and verify

• Can be illustrated with flow chart

; Aa:2aa. Software program

; After start, the program counter is zero ; and execution begins at start: just below

; This program is written in generic assembler, ; which must be slightly adopted to the assembler

; set used by the target micro controller ; /* Write in 8051 assembler */start:; Get operands from settings

MOV R1, P1 ; Move multiplicand on port 1 to register R1MOV R2, P2 ; Move multiplyer on port 2 to register R2

; perform the 4-bit * 4-bit multiplicationMOV R3, 4 ; Use R3 as bit count, initiate with 4MOV R4, 0 ; Product will emerge in R4, initiate with 0

chkbit:SHR R2, ; Right shift multiplyer, rightmost bit into carryJNC skip ; Skip addition if carry is zeroADD R4, R1 ; Accumulate product in R4

skip:SHL R1, ; Left shift multiplicandDEC R3 ; Decrement bit countJNZ chkbit ; Repeate if bits left

; perform the 8-bit binary to 3 digit BCD conversion ; Product resides in R4 as 8-bit binary valueMOV R5, 0 ; BDC units will emerge in R5, initiate with 0MOV R6, 0 ; BDC tenth will emerge in R6, initiate with 0MOV R7, 0 ; BDC hunds will emerge in R7, initiate with 0MOV R8, 8 ; Use R8 as shift counter

nxtbit:SHL R4, ; Left shift product, leftmost bit into carry

; rotate 1-bit left through unit, tenth and hunds, add 3 if >= 5RCL R5, ; Left shift unit, carry into unit rightmost bitMOV R9, R5 ; Save unit in temporary R9ADD R9, 11110000 ; If bit 5 is 1, then carry->1 else carry->0RCL R6 ; Left shift thenth, carry into tenth rightmost bitAND R5, 0F ; Clear upper nibble of unitsMOV R9, R5 ; Save unit in temporary R9ADD R9, FB ; Add 251 to test if unit >= 5, if so carry -> 1JC skipunit ; Skip adding if R9 < 5ADD R5, 3 ; Add 3 to unit

skipunit:MOV R9, R6 ; Save tenth in temporary R9ADD R9, 11110000 ; If bit 5 is 1, then carry->1 else carry->0RCL R7 ; Left shift hunds, carry into hunds rightmost bitAND R6, 0F ; Clear upper nibble of tenthMOV R9, R5 ; Save tenth in temporary R9ADD R9, FB ; Add 251 to test if tenth >= 5, if so carry -> 1JC skiptenth ; Skip adding if R9 < 5ADD R5, 3 ; Add 3 to tenth

skiptenth:JNZ nxtbit : Repeat if bits left

;; Send product to display

MOV P3, R5 ; Move units to unit displayMOV P4, R6 ; Move tenth to unit displayMOV P5, R7 ; Move tenth to unit display

;; Repeate everything

JMP start ; A jump is done by the microcontroller by loading ; the program counter with the loacation of the

:

:

:

;

;;

;;;

:

;

:

:

;;

;;

Unstructuredflowchart

Page 88: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 88

Identify all kind of items

Identify all kind of items

Aspect ItemDefini-tion

Aspect Role itemDesign item(see Table 10-2 below) items

Any kind of

Defini-tion

All resources needed for product development, such as material, workforce, and equip-ment specified with desired granularity and formal enough to be traceable

Material (including linkable programs)specified with desired granularity formalenough to be orderable

Anythingspecified withdesired granu-

laritySyno nym

Accomplished and estimat-ed work specified with de-sired granularity and for-mal enough to be traceable

AspectBill of material (BOM).

designIn-house

item

Supplier design item

role itemProviderIn-houserole item

For appro-

countingpriate ac-

Defini-tion

Aspect Turn-key item

Design developed by sup-pliers

Off-the-shelf item

Defini-tion oped by in-

Design devel-

house work-force

Custom-made de-sign devel-oped to fit

into ownvery well

design

Predevel-

ble compo-nents

oped reusa-Develop-ment, reali-zation, and

ing in-housemanufactur-

Develop-

workforce

zation, andment, reali-

manufac-turing hiredworkforce

Partitioning ofanything toobig for de-sired account-ing granulari-ty (see ch.10.23, p. 560)

• For accounting, everything that has a development cost must become items

• See next slide

• For accounting, everything that has a development cost must become items

• See next slide

Page 89: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 89

Account all production requisitesAccount all production requisites

• Items to be accounted:• Estimated manufacturing material requisites cost• Estimated manufacturing work requisites hourly/fixed/rental cost• Estimated manufacturing equipment requisites purchase/rental cost• Estimated realization material requisites cost• Estimated realization work requisites hourly/fixed/rental cost• Estimated realization equipment requisites purchase/rental cost• Estimated development material requisites cost• Estimated development work requisites hourly/fixed cost• Estimated development equipment requisites purchase/rental cost• Summed/accumulated requisites estimates

• Items to be accounted:• Estimated manufacturing material requisites cost• Estimated manufacturing work requisites hourly/fixed/rental cost• Estimated manufacturing equipment requisites purchase/rental cost• Estimated realization material requisites cost• Estimated realization work requisites hourly/fixed/rental cost• Estimated realization equipment requisites purchase/rental cost• Estimated development material requisites cost• Estimated development work requisites hourly/fixed cost• Estimated development equipment requisites purchase/rental cost• Summed/accumulated requisites estimates

Page 90: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 90

EXAMPLE House:Account for material(contimue)

EXAMPLE House:Account for material(contimue)

• All items are accounted

• Material is accounted and summarized

• All items are accounted

• Material is accounted and summarized

1 Piece 872 872 i239.Door SU17. Pa&Pp -A-9. Front door1 Piece 541 541 i240.Door SU17. Pa&Pp -A-6. Door section2 Piece 330 660 i241.Window SU17. Pa&Pp -A-6. Door section1 Piece 518 518 i215.Door SU17. Pa&Pp -A-13. E-door1 Piece 530 530 i216.Door SU17. Pa&Pp -A-14. Lock door1 Piece 1 680 1 680 i218.Stair SU17. Pa&Pp -A-16. Stairway1 Piece 320 320 i219.Wicket SU17. Pa&Pp -A-17. S-wicket1 Piece 360 360 i220.Wicket SU17. Pa&Pp -A-18. L-wicket8 meter 7 56 i221.Pipe SU14. Build-

er’s suppliers -A-1. Warm water8 meter 7 56 i222.Pipe SU14. Build-

er’s suppliers -A-2. Cold water80 meter 7.2 576 i223.Hose SU14. Build-

er’s suppliers -A-3a. K-heating90 meter 7.2 648 i224.Hose SU14. Build-

er’s suppliers -A-3b. D-heating30 meter 7.2 216 i225.Hose SU14. Build-

er’s suppliers -A-3c. E-heating30 meter 7.2 216 i226.Hose SU14. Build-

er’s suppliers -A-3d. T-heating40 meter 9.7 388 i228.5xCable SU18. Elert’s

suppliers -A-4a. K-Wiring48 meter 7.1 341 i229.3xCable SU18. Elert’s

suppliers -A-4b. O-Wiring8 meter 6.7 54 i230.Drain pipe SU14. Build-

er’s suppliers -A-5. Sewer3 meter 14 42 i231.Coil pipe SU14. Build-

er’s suppliers -E-1. Air outlet32 864

1 Piece 872 872 i239.Door SU17. Pa&Pp -A-9. Front door1 Piece 541 541 i240.Door SU17. Pa&Pp -A-6. Door section2 Piece 330 660 i241.Window SU17. Pa&Pp -A-6. Door section1 Piece 518 518 i215.Door SU17. Pa&Pp -A-13. E-door1 Piece 530 530 i216.Door SU17. Pa&Pp -A-14. Lock door1 Piece 1 680 1 680 i218.Stair SU17. Pa&Pp -A-16. Stairway1 Piece 320 320 i219.Wicket SU17. Pa&Pp -A-17. S-wicket1 Piece 360 360 i220.Wicket SU17. Pa&Pp -A-18. L-wicket8 meter 7 56 i221.Pipe SU14. Build-

er’s suppliers -A-1. Warm water8 meter 7 56 i222.Pipe SU14. Build-

er’s suppliers -A-2. Cold water80 meter 7.2 576 i223.Hose SU14. Build-

er’s suppliers -A-3a. K-heating90 meter 7.2 648 i224.Hose SU14. Build-

er’s suppliers -A-3b. D-heating30 meter 7.2 216 i225.Hose SU14. Build-

er’s suppliers -A-3c. E-heating30 meter 7.2 216 i226.Hose SU14. Build-

er’s suppliers -A-3d. T-heating40 meter 9.7 388 i228.5xCable SU18. Elert’s

suppliers -A-4a. K-Wiring48 meter 7.1 341 i229.3xCable SU18. Elert’s

suppliers -A-4b. O-Wiring8 meter 6.7 54 i230.Drain pipe SU14. Build-

er’s suppliers -A-5. Sewer3 meter 14 42 i231.Coil pipe SU14. Build-

er’s suppliers -E-1. Air outlet32 864

No Unit €/unit € Item Product Supplier Interface22 Piece 410 9 020 i194.Roof truss SU15. AllBau [A]11a. Roof truss

132 Sheet 3.8 502i195.Rockwool

SU19.IsoBau’s sup-pliers

[A]11b. Truss isolation

8 Roll 38 304i196.Rockwool

SU19.IsoBau’s sup-pliers

[A]11c. Cross isolation

160 meter 1.6 256 i197.Plank SU20. Localsuppliers

[A]11d. Cross spaceplank

950 meter 0.28 266 i198.Roof deck SU20. Localsuppliers [A]11e. Roof deck

260 meter 0.13 34 i199.Lath SU20. Localsuppliers [A]11f. Roof laths

27 meter 1.9 51 i200.Plank SU20. Localsuppliers [A]11h. Eave plank

7 meter 8.5 60 i201.Bracket IronWare SU15. AllBau [A]11i. Bracket27 meter 11 297 i202.Plank SU20. Local

suppliers [A]11j. Joint beam5 meter 17.2 86 i203.Joist SU15. AllBau [A]11k. Opening joist2 meter 17.2 34 i203.Joist SU15. AllBau -A-12. House inner walls

1600 Piece 1.2 1 920 i205.Brick Bricket SU15. AllBau [A]11m. Inner brickwork5 m³ 67 335 i206.Mortar SU20. Local

suppliers [A]11m. Inner brickwork500 Piece 1.2 600 i205.Brick Bricket SU15. AllBau -A-12. House inner walls

2 m³ 67 134 i206.Mortar SU20. Localsuppliers -A-12. House inner walls

50 Sheet 5.8 290 i204.Gypsum SU20. Localsuppliers [A]11l. Gypsum board

112 Sheet 0.7 78i207.Styrofoam

SU19.IsoBau’s sup-pliers

[A]11n. Wall isolation

7 m³ 25 175 i208.Gravel SU20. Localsuppliers [A]11p. Water barrier

15 m³ 70 1 050 i209.Footer SU20. Localsuppliers [A]11q. Foundation

420 meter 0.3 126 i210.Reinforce-ment bar IronWare SU15. AllBau [A]11q. Foundation

10 m³ 57 570 i211.Macadam SU20. Localsuppliers [A]11r. Macadam

36 meter 5 180 i212.Pipe SU20. Localsuppliers [A]11s. Drainage pipe

7 m³ 56 392 i213.Sole SU15. AllBau [A]11t. Sole36 Piece 14 504 i214.Reinforce-

ment net IronWare SU15. AllBau [A]11t. Sole4700 Piece 0.043 202 i232.Brick Bricket SU15. AllBau [A]11o. Facade

5 m³ 76 380 i233.Mortar SU20. Localsuppliers [A]11o. Facade

600 meter 0.2 120 i234.Reinforc-ing IronWare SU15. AllBau [A]11o. Facade

160 Piece 0.14 22 i235.Hooks SU15. AllBau [A]11o. Facade1260 Piece 4.7 5 922 i236.Tiles Bricket SU15. AllBau [A]11g. Roof tile

1 Piece 560 560 i237.Window SU17. Pa&Pp -A-7. K-window1 Piece 320 320 i238.Window SU17. Pa&Pp -A-8. T-window

No Unit €/unit € Item Product Supplier Interface22 Piece 410 9 020 i194.Roof truss SU15. AllBau [A]11a. Roof truss

132 Sheet 3.8 502i195.Rockwool

SU19.IsoBau’s sup-pliers

[A]11b. Truss isolation

8 Roll 38 304i196.Rockwool

SU19.IsoBau’s sup-pliers

[A]11c. Cross isolation

160 meter 1.6 256 i197.Plank SU20. Localsuppliers

[A]11d. Cross spaceplank

950 meter 0.28 266 i198.Roof deck SU20. Localsuppliers [A]11e. Roof deck

260 meter 0.13 34 i199.Lath SU20. Localsuppliers [A]11f. Roof laths

27 meter 1.9 51 i200.Plank SU20. Localsuppliers [A]11h. Eave plank

7 meter 8.5 60 i201.Bracket IronWare SU15. AllBau [A]11i. Bracket27 meter 11 297 i202.Plank SU20. Local

suppliers [A]11j. Joint beam5 meter 17.2 86 i203.Joist SU15. AllBau [A]11k. Opening joist2 meter 17.2 34 i203.Joist SU15. AllBau -A-12. House inner walls

1600 Piece 1.2 1 920 i205.Brick Bricket SU15. AllBau [A]11m. Inner brickwork5 m³ 67 335 i206.Mortar SU20. Local

suppliers [A]11m. Inner brickwork500 Piece 1.2 600 i205.Brick Bricket SU15. AllBau -A-12. House inner walls

2 m³ 67 134 i206.Mortar SU20. Localsuppliers -A-12. House inner walls

50 Sheet 5.8 290 i204.Gypsum SU20. Localsuppliers [A]11l. Gypsum board

112 Sheet 0.7 78i207.Styrofoam

SU19.IsoBau’s sup-pliers

[A]11n. Wall isolation

7 m³ 25 175 i208.Gravel SU20. Localsuppliers [A]11p. Water barrier

15 m³ 70 1 050 i209.Footer SU20. Localsuppliers [A]11q. Foundation

420 meter 0.3 126 i210.Reinforce-ment bar IronWare SU15. AllBau [A]11q. Foundation

10 m³ 57 570 i211.Macadam SU20. Localsuppliers [A]11r. Macadam

36 meter 5 180 i212.Pipe SU20. Localsuppliers [A]11s. Drainage pipe

7 m³ 56 392 i213.Sole SU15. AllBau [A]11t. Sole36 Piece 14 504 i214.Reinforce-

ment net IronWare SU15. AllBau [A]11t. Sole4700 Piece 0.043 202 i232.Brick Bricket SU15. AllBau [A]11o. Facade

5 m³ 76 380 i233.Mortar SU20. Localsuppliers [A]11o. Facade

600 meter 0.2 120 i234.Reinforc-ing IronWare SU15. AllBau [A]11o. Facade

160 Piece 0.14 22 i235.Hooks SU15. AllBau [A]11o. Facade1260 Piece 4.7 5 922 i236.Tiles Bricket SU15. AllBau [A]11g. Roof tile

1 Piece 560 560 i237.Window SU17. Pa&Pp -A-7. K-window1 Piece 320 320 i238.Window SU17. Pa&Pp -A-8. T-window

Page 91: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 91

(Continued) EXAMPLE House: Account for development, realization and accumulate

(Continued) EXAMPLE House: Account for development, realization and accumulate

• Develop-ment >

• Accumu-late >

• Develop-ment >

• Accumu-late >

• Realization >• Realization >

8 50 400i30. Electrician PR.12. Elert AB

Pt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

150 30 4 500 i31. Calculation engi-neer

PR.11. RobberHB

Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

24 40 960 i32. Electrician PR.12. Elert AB Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

40 50 2 000 i48. Quality inspector PR.10. Proprie-tor Pt:2:2.1.V. Verify house white/black-box

15 360

h €/h € Item Provider Process schedule0

i25. House user PR.10. Proprie-tor

Pt:2:2.1.R. Refine house requirementsfrom environment restrictions and en-sure house development staffing

30 50 1 500 i26. Architect PR.11. RobberHB

Pt:2:2.1.P Predetermine house solutionsand supplier opportunities

100 40 4 000i27. Architect PR.11. Robber

HBPt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

20 40 800 i28. Artistic architect PR.15. HomeyInc Pt.n.Ae. Layout physical architecture

30 40 1 200 i29. House layoutspecialist

PR.15. HomeyInc8 50 400

i30. Electrician PR.12. Elert ABPt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

150 30 4 500 i31. Calculation engi-neer

PR.11. RobberHB

Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

24 40 960 i32. Electrician PR.12. Elert AB Pt:2:2.1.F. Finalize house elements andinterfaces with product requisites

40 50 2 000 i48. Quality inspector PR.10. Proprie-tor Pt:2:2.1.V. Verify house white/black-box

15 360

h €/h € Item Provider Process schedule0

i25. House user PR.10. Proprie-tor

Pt:2:2.1.R. Refine house requirementsfrom environment restrictions and en-sure house development staffing

30 50 1 500 i26. Architect PR.11. RobberHB

Pt:2:2.1.P Predetermine house solutionsand supplier opportunities

100 40 4 000i27. Architect PR.11. Robber

HBPt:2:2.1.A. Satisfy house requirements bydecomposing house black-box intowhite-box design containing room black-boxes

20 40 800 i28. Artistic architect PR.15. HomeyInc Pt.n.Ae. Layout physical architecture

30 40 1 200 i29. House layoutspecialist

PR.15. HomeyInc

56 30 1 680

i39. Plumber SU14. Builder’ssuppliers

-A-3a. K-heating-A-3b. D-heating-A-3c. E-heating-A-3d. T-heating-A-3e. B-heating-A-3d. T-heating

448 30 13 440i40. Bricklayer SU14. Builder’s

suppliers[A]11m. Inner brickwork,[A]11k. Opening joist,[A]11j. Joint beam

344 30 10 320i41. Facade bricklayer SU14. Builder’s

suppliers[A]11i. Bracket[A]11n. Wall isolation[A]11o. Facade

16 40 640 i38. Tin-smith SU14. Builder’ssuppliers -E-1. Air outlet

48 30 1 440 i42. Chimney mason SU14. Builder’ssuppliers -E-2. Chimney

48 35 1 680

i43. Carpenter SU14. Builder’ssuppliers

-A-9. Front door-A-10. Back door-A-8. T-window-A-7. K-window-A-6. Door section

124 30 3 720

i44. Cabinet maker SU14. Builder’ssuppliers

-A-13. E-door-A-14. Lock door-A-15. Open arch-A-16. Stairway-A-17. S-wicket-A-18. L-wicket[A]11l. Gypsum board

36 140 5 040 i46. Woodworker SU14. Builder’ssuppliers [A]11a. Roof truss

252 40 10 080

i45. Roofer SU14. Builder’ssuppliers

[A]11b. Truss isolation,[A]11d. Cross space plank,[A]11c. Cross isolation[A]11e. Roofdeck,[A]11f. Roof laths,[A]11h. Eave plank

74 680

h €/h € Item Provider Interfaces40 80 3 200 i33. Labourer SU14. Builder’s

suppliers-E-3. Sewage-E-2. Water

96 40 3 840 i47. Electrician SU18. Elert’ssuppliers -E-4. Electricity

48 150 7 200i35. Pipe-fitter SU14. Builder’s

suppliers

-A-5. Sewer-A-2. Cold water-A-1. Warm water[A]11s. Drainage pipe

24 50 1 200 i36. Authorized gas plumb-er

SU14. Builder’ssuppliers -E-5. Gas

140 40 5 600 i37. Founder SU14. Builder’ssuppliers

[A]11q. Foundation[A]11t. Sole

40 140 5 600 i34. Excavator with driverand 1 labourer

SU14. Builder’ssuppliers

[A]11r. Macadam[A]11p. Water barrier

56 30 1 680

i39. Plumber SU14. Builder’ssuppliers

-A-3a. K-heating-A-3b. D-heating-A-3c. E-heating-A-3d. T-heating-A-3e. B-heating-A-3d. T-heating

448 30 13 440i40. Bricklayer SU14. Builder’s

suppliers[A]11m. Inner brickwork,[A]11k. Opening joist,[A]11j. Joint beam

344 30 10 320i41. Facade bricklayer SU14. Builder’s

suppliers[A]11i. Bracket[A]11n. Wall isolation[A]11o. Facade

16 40 640 i38. Tin-smith SU14. Builder’ssuppliers -E-1. Air outlet

48 30 1 440 i42. Chimney mason SU14. Builder’ssuppliers -E-2. Chimney

48 35 1 680

i43. Carpenter SU14. Builder’ssuppliers

-A-9. Front door-A-10. Back door-A-8. T-window-A-7. K-window-A-6. Door section

124 30 3 720

i44. Cabinet maker SU14. Builder’ssuppliers

-A-13. E-door-A-14. Lock door-A-15. Open arch-A-16. Stairway-A-17. S-wicket-A-18. L-wicket[A]11l. Gypsum board

36 140 5 040 i46. Woodworker SU14. Builder’ssuppliers [A]11a. Roof truss

252 40 10 080

i45. Roofer SU14. Builder’ssuppliers

[A]11b. Truss isolation,[A]11d. Cross space plank,[A]11c. Cross isolation[A]11e. Roofdeck,[A]11f. Roof laths,[A]11h. Eave plank

74 680

h €/h € Item Provider Interfaces40 80 3 200 i33. Labourer SU14. Builder’s

suppliers-E-3. Sewage-E-2. Water

96 40 3 840 i47. Electrician SU18. Elert’ssuppliers -E-4. Electricity

48 150 7 200i35. Pipe-fitter SU14. Builder’s

suppliers

-A-5. Sewer-A-2. Cold water-A-1. Warm water[A]11s. Drainage pipe

24 50 1 200 i36. Authorized gas plumb-er

SU14. Builder’ssuppliers -E-5. Gas

140 40 5 600 i37. Founder SU14. Builder’ssuppliers

[A]11q. Foundation[A]11t. Sole

40 140 5 600 i34. Excavator with driverand 1 labourer

SU14. Builder’ssuppliers

[A]11r. Macadam[A]11p. Water barrier

€tsoCmetIRooms and machinery 63 830Stairway nook realization material 5 934Stairway nook realization work 3 680Loft realization material 1 940Loft realization work 2 340House realization material 32 864House realization work 74 680House development work 15 360House, room and machinery sum 200 628

€tsoCmetIRooms and machinery 63 830Stairway nook realization material 5 934Stairway nook realization work 3 680Loft realization material 1 940Loft realization work 2 340House realization material 32 864House realization work 74 680House development work 15 360House, room and machinery sum 200 628

Page 92: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 92

EXAMPLE Phonebook:Account for developmentEXAMPLE Phonebook:Account for development

• Programs can be time- and man-consuming to develop

• Accounting granularity need to be more detailed

• Modularize programs into items• Categorize developers into items

• Account in many dimensions

• Programs can be time- and man-consuming to develop

• Accounting granularity need to be more detailed

• Modularize programs into items• Categorize developers into items

• Account in many dimensions

i25. Architectprogrammer

Pt.n.Fa. Finalize white-box detailed items

grammerented pro-

i27. Generali26. Object-ori-

merC++ program-

# € /h € # € /h € €# € /h File item848 45 2 160 60 480

15 60i106. Header file ph_book_com_shapes.h

9005 60

i104. Header file ph_book_restrict.h300

12 45 540i105. Header file ph_book_alias_etc.h

30i108. Header file support_f_shape.h

60 1 80015 60

i107. Source file ph_book_dyn_inst.ccp900

20 45 900i109. Source file support_f.cpp

10 50 50032 60

i110. Header file ph_book_c_shape.h1 920

25 60 1 500

i111. Source file ph_book_c.ph_-book_c.ccp

10 60 600

i112. Source file ph_book_c.key_add_-cont_f.cpp

32 60 1 920

i113. Source file ph_book_c.disp_all_-cont_f.cpp

30 60 1 800

i114. Source file ph_book_c.delete_-cont_f.cpp

8 45 360

i115. Source file ph_book_c.~ph_-book_c.cpp

20 50 1 00036

i116. Header file cont_c_shape.h60 2 160

12 60i117. Source file cont_c.key_cont_f.cpp

72022 60 1

i118. Source file cont_c.disp_cont_f.cpp320

20 60 1i119. Source file cont_c.read_cont_f.cpp

2008 45 360

i120. Source file cont_c.write_cont_f.cpp16 50 800

8 60i121. Header file pers_c_shape.h

4808 60 480

i122. Source file pers_c.key_pers_f.cpp

15 60i123. Source file pers_c.disp_pers_f.cpp

90025 60 1 500

i124. Source file pers_c.read_pers_f.cpp

12 45 540 16 80050i125. Source file pers_c.write_pers_f.cpp

6 60i126. Header file ph_numb_c_shape.h

360

4 60 240

i127. Source file ph_numb_c.key_ph_-numb_f.cpp

14 60 840

i128. Source file ph_numb_c.disp_ph_-numb_f.cpp

10 60 600

i129. Source file ph_numb_c.read_ph_-numb_f.cpp

Sum 4 860 3 100

i130. Source file ph_numb_c.write_-numb_f.cpp

22 920

i25. Architectprogrammer

Pt.n.Fa. Finalize white-box detailed items

grammerented pro-

i27. Generali26. Object-ori-

merC++ program-

# € /h € # € /h € €# € /h File item848 45 2 160 60 480

15 60i106. Header file ph_book_com_shapes.h

9005 60

i104. Header file ph_book_restrict.h300

12 45 540i105. Header file ph_book_alias_etc.h

30i108. Header file support_f_shape.h

60 1 80015 60

i107. Source file ph_book_dyn_inst.ccp900

20 45 900i109. Source file support_f.cpp

10 50 50032 60

i110. Header file ph_book_c_shape.h1 920

25 60 1 500

i111. Source file ph_book_c.ph_-book_c.ccp

10 60 600

i112. Source file ph_book_c.key_add_-cont_f.cpp

32 60 1 920

i113. Source file ph_book_c.disp_all_-cont_f.cpp

30 60 1 800

i114. Source file ph_book_c.delete_-cont_f.cpp

8 45 360

i115. Source file ph_book_c.~ph_-book_c.cpp

20 50 1 00036

i116. Header file cont_c_shape.h60 2 160

12 60i117. Source file cont_c.key_cont_f.cpp

72022 60 1

i118. Source file cont_c.disp_cont_f.cpp320

20 60 1i119. Source file cont_c.read_cont_f.cpp

2008 45 360

i120. Source file cont_c.write_cont_f.cpp16 50 800

8 60i121. Header file pers_c_shape.h

4808 60 480

i122. Source file pers_c.key_pers_f.cpp

15 60i123. Source file pers_c.disp_pers_f.cpp

90025 60 1 500

i124. Source file pers_c.read_pers_f.cpp

12 45 540 16 80050i125. Source file pers_c.write_pers_f.cpp

6 60i126. Header file ph_numb_c_shape.h

360

4 60 240

i127. Source file ph_numb_c.key_ph_-numb_f.cpp

14 60 840

i128. Source file ph_numb_c.disp_ph_-numb_f.cpp

10 60 600

i129. Source file ph_numb_c.read_ph_-numb_f.cpp

Sum 4 860 3 100

i130. Source file ph_numb_c.write_-numb_f.cpp

22 920

Page 93: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 93

Integrate white-boxIntegrate white-box

Will the items fit a prototype ?Will the items fit a prototype ?

Page 94: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 94

Invasive integration with partial and full verificationInvasive integration with partial and full verification

• Integrate outside-in• Make embedded

black-boxes to fakes• Verify partially with

fake• Remove fake and

invade

• Verify fully inside-out

• When all has been integrated

• Integrate outside-in• Make embedded

black-boxes to fakes• Verify partially with

fake• Remove fake and

invade

• Verify fully inside-out

• When all has been integrated

Pt.1

.R.

Pt.1

.P.

Pt.1

.A.

Pt.2

.R.

Pt.3

.R.

Pt.3

.P.

Pt.3

.A.

Pt.3

.Q.Pt

.3.S

a

Pt.2

.Sa

Pt.2

.P.

Pt.2

.Q.

Pt.1

.Q.

Mach

inery

nesti

ng le

vel,

Room

s nes

tingl

evel,

Hous

enes

ting l

evel,

Envir

onme

nt ne

sting

level

Pt.0

.R.

Pt.0

.P.

Pt.0

.A.

Pt.0

.Q.

7.7

7.9

7.10

7.4

8.5

8.6

8.7

8.3

9.6

9.7

9.8

9.2

Pt.2

.A.

Pt.2

.B.

Pt.3

.B.

Pt.1

.B.

Pt.1

.Sa

Pt.0

.Sa

Pt.0

.B.

Pt.1

.R.

Pt.1

.P.

Pt.1

.A.

Pt.2

.R.

Pt.3

.R.

Pt.3

.P.

Pt.3

.A.

Pt.3

.Q.Pt

.3.S

a

Pt.2

.Sa

Pt.2

.P.

Pt.2

.Q.

Pt.1

.Q.

Mach

inery

nesti

ng le

vel,

Room

s nes

tingl

evel,

Hous

enes

ting l

evel,

Envir

onme

nt ne

sting

level

Pt.0

.R.

Pt.0

.P.

Pt.0

.A.

Pt.0

.Q.

7.7

7.9

7.10

7.4

8.5

8.6

8.7

8.3

9.6

9.7

9.8

9.2

Pt.2

.A.

Pt.2

.B.

Pt.3

.B.

Pt.1

.B.

Pt.1

.Sa

Pt.0

.Sa

Pt.0

.B.

Pt.0

.F.

Pu.

Pt.3

.V.

Pt.2

.V.

Pt.1

.V.

Pt.0

.V.

Pt.0

.G.

Pt.2

.V.

Pt.0

.W:2

.

Pt.0

.V.

Pt.1

.V.

Pt.1

.G.

Pt.3

.F.

Pt.0

.I.

Pt.3

.I.

Pt.0

.W:2

.Pt

.1.J

:3.

Pt.0

.J:2

.

Pt.1

.J:2

.Pt

.1.J

:1.

Pt.2

.J:2

.Pt

.2.J

:3.

Pt.1

.W:2

.

Pt.3

.J:2

.

Pt.2

.J:1

.

Pt.3

.J:1

.Pt

.2.W

:2.

Pt.3

.W:2

.Pt

.3.W

:1.

Pt.2

.W:2

.Pt

.2.W

:1.

Pt.1

.W:2

.Pt

.1.W

:1.

Pt.1

.I.

Pt.1

.F.

Pt.2

.G.

Pt.2

.F.

Pt.3

.G.

Pt.3

.J:1

.

EnvironmentnestinglevelHousenesting level,

Rooms nestinglevel, Machinerynesting level

Pt.0

.J:1

.

Pt.2

.I.

10.4

10.5

10.6

10.7 11.2

11.3

11.4

11.5

12.4

12.5

12.6

12.7

12.8

12.9

12.10

Page 95: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 95

Develop in host and port to targetDevelop in host and port to target

• Porting a product from development system to target in field can be a too challenging lap

• Stepwise porting1. Develop and verify outmost

white-box in host debugger2. Port to host environment3. Port to development board

having target processor4. Port to target environment

• Porting a product from development system to target in field can be a too challenging lap

• Stepwise porting1. Develop and verify outmost

white-box in host debugger2. Port to host environment3. Port to development board

having target processor4. Port to target environment

Pocketcalculator

Windowsdevelopment system

Windowscalculator

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.0

.F.

Pt.0.

G.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

F.Pt

.0.G

.

Pt.0.

I.Pt

.0.J:

1.

Pt.0.

V.Pu

.

Pt.1.

F.Pt

.1.G

Pt.1.

V.Pt

.1.W

:1

boardDevelopment

Pt.1.

I.Pt

.1.J:

1.

Pt.0.

V.Pu

.

Blac

k-/wh

ite-bo

xne

sting

leve

ln=1

(Pt.1

.)En

viron

ment

nesti

nglev

eln=

0(Pt

.0.)

Target prototypeenvironment

Debugger

Controlmenu with

settings andmonitoring

Programoped

to be devel-

Host computerTarget prototype

Host com-puter

Development boardTypical micro-

controllerProgram

to be devel-oped

Target micro-controller

Targetperipheral

chip set

Programoped

to be devel-

Peripheralchip-set withcustom-de-

signed experi-mental area

Target prototypeenvironment

Debugger

Controlmenu with

settings andmonitoring

Programoped

to be devel-

Host computerTarget prototype

Host com-puter

Development boardTypical micro-

controllerProgram

to be devel-oped

Target micro-controller

Targetperipheral

chip set

Programoped

to be devel-

Peripheralchip-set withcustom-de-

signed experi-mental area

Page 96: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 96

Pt.n.I. Procure items, linkable programs, and incorporate/invadeembedded black-boxes in order to realize white-box

Pt.n.I. Procure items, linkable programs, and incorporate/invadeembedded black-boxes in order to realize white-box

• Receive items for white-box from suppliers

• Realize white-box and integrate• By incorporate embedded black-

boxesor• By invading embedded black-boxes

• Start-up white-box in host, debugger, fixture or target

• Receive items for white-box from suppliers

• Realize white-box and integrate• By incorporate embedded black-

boxesor• By invading embedded black-boxes

• Start-up white-box in host, debugger, fixture or target

Pt.n

.Ib.

Item

sre

ceiv

edPt

.n.I

c.Re

ceiv

edite

msd

e-vi

atio

nre

port

Pt.n

.If.

Whi

te-b

oxin

te-

grat

ion

repo

rt

Pt.n

.Id.

Inte

grat

eel

emen

ts,

incl

udin

g and

em-

prog

ram

linka

ble

bedd

edbl

ack-

boxe

s

Unsatisfactory

Pt.n

.Ie.

Whi

te-b

oxpr

epar

ed

Pt.n

.Ih.

Whi

te-b

oxst

art-

upre

port

Pt.n

.Ia.

Obt

ain

item

sin-

prog

ram

clud

ingl

inka

ble

Pt.n

+1.W

:1.

If inside-out incorporative integrationand if n ≥ 1 and if n + 1 exits

whi

te-b

oxVe

rifie

dbl

ack-

/

Exam

ine

inte

grat

ion

Pt.n

.Ii.

robu

st-

ness

If outside-in invasive integrationand if n ≥ 2

Pt.n

+1.J:

3.Fa

kebl

ack/If implicit partial verification

and if n ≥ 1 and if n + 1 exits box

whi

te

Pt.n

-1.J

:1.

Usa

blew

hite

-box

start

-ed

inho

st,f

ixtu

re,d

e-bu

gger

,ort

arge

t

If outside-in invasive integrationand if n = 1

Pt.0

.J:1

.Pt

.n.Ig

.bo

xSt

artu

pw

hite

-U

sabl

epr

otot

ypei

n-te

rfac

es st

arte

din

simul

ator

orta

rget

Pt.n

.G.

Whi

te-b

oxde

sign

requ

isite

site

msa

ndpr

oduc

tPt

.H.

In-h

ouse

lega

cyre

us-

able

item

sX

a.H

.us

able

item

Off-

the-

shel

fre-

Xb.

H.

able

item

Turn

key

reus

-

Pt.n

.J:3

.

Pt.n.I.Procure items, linkable programs, and integrate/await embedded black-

boxes in order to realize white-box

blac

k-/

Fake

box

whi

te-

Pt.n

.J:2

.Pt

.n.J

:1.

Usab

lewh

ite-b

oxsta

rt-

edin

host,

fixtu

re,d

e-bu

gger

,ort

arge

tU

nrea

dyw

hite

-box

Pt.n

.Ib.

Item

sre

ceiv

edPt

.n.I

c.Re

ceiv

edite

msd

e-vi

atio

nre

port

Pt.n

.If.

Whi

te-b

oxin

te-

grat

ion

repo

rt

Pt.n

.Id.

Inte

grat

eel

emen

ts,

incl

udin

g and

em-

prog

ram

linka

ble

bedd

edbl

ack-

boxe

s

Unsatisfactory

Pt.n

.Ie.

Whi

te-b

oxpr

epar

ed

Pt.n

.Ih.

Whi

te-b

oxst

art-

upre

port

Pt.n

.Ia.

Obt

ain

item

sin-

prog

ram

clud

ingl

inka

ble

Pt.n

+1.W

:1.

If inside-out incorporative integrationand if n ≥ 1 and if n + 1 exits

whi

te-b

oxVe

rifie

dbl

ack-

/

Exam

ine

inte

grat

ion

Pt.n

.Ii.

robu

st-

ness

If outside-in invasive integrationand if n ≥ 2

Pt.n

+1.J:

3.Fa

kebl

ack/If implicit partial verification

and if n ≥ 1 and if n + 1 exits box

whi

te

Pt.n

-1.J

:1.

Usa

blew

hite

-box

start

-ed

inho

st,f

ixtu

re,d

e-bu

gger

,ort

arge

t

If outside-in invasive integrationand if n = 1

Pt.0

.J:1

.Pt

.n.Ig

.bo

xSt

artu

pw

hite

-U

sabl

epr

otot

ypei

n-te

rfac

es st

arte

din

simul

ator

orta

rget

Pt.n

.G.

Whi

te-b

oxde

sign

requ

isite

site

msa

ndpr

oduc

tPt

.H.

In-h

ouse

lega

cyre

us-

able

item

sX

a.H

.us

able

item

Off-

the-

shel

fre-

Xb.

H.

able

item

Turn

key

reus

-

Pt.n

.J:3

.

Pt.n.I.Procure items, linkable programs, and integrate/await embedded black-

boxes in order to realize white-box

blac

k-/

Fake

box

whi

te-

Pt.n

.J:2

.Pt

.n.J

:1.

Usab

lewh

ite-b

oxsta

rt-

edin

host,

fixtu

re,d

e-bu

gger

,ort

arge

tU

nrea

dyw

hite

-box

Page 97: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 97

Expanding the Pt.n.I. scheduleExpanding the Pt.n.I. schedule

• Expanded Pt.n.I. schedule showing integration of different technologies

• Integration of embedded• Assembler and high level

programs• Mechanics and electronics

possibly containing processors with programs

• Linkable programs

• Expanded Pt.n.I. schedule showing integration of different technologies

• Integration of embedded• Assembler and high level

programs• Mechanics and electronics

possibly containing processors with programs

• Linkable programs

Pt.n.G.design itemsWhite-box

requisitesand product

Pt.n.I. Procure items, linkable programs, and integrate/await embedded black-boxes in order to realize white-boxPt.n.Ia.

Pt.n+1.W:1.Verified black-/w hite-box

Obtaincluding

items in-

programlinkable

Pt.n.Ib.ceived

Items re-

Pt.n.Id.Integrate elements,including linkable

program and embed-ded black-boxes

Pt.n.Ie.White-

box pre-pared Pt

.n.Ig

.St

artu

pw

hite

-box

UsablePt.n.J:1.

white-boxhost, fix-started inture, de-bugger,

or target

Pt.n

.Iaa.

Obt

ain

Pt.n

.Iab.

Asse

mbl

ePt O

b.nta

i.Ia

a. nPt Co

mp

.n.I

iac le.

Pt.n

.Ida.

Join

Pt.n.Gc.programLow-level

High-levelPt.n.Gd.program

Pt.n+1.W:1:2.Inward-only mechanics, or elec-

tronics with or without mechanicsand electronics with or without

processors and programs)

Pt.n.Gb.Electronic

items

Pt.n.Ga.cal itemsMechani-

ProgramPt.n.Ge.library

Pt.n+1.W:1:3.Inward linkable program

Pt.n+1.W:1:1.Inward assembler or high-level

unlinked programs

Pt.n.Ibb.Electron-

ic item

Pt.n.Iba.Mechani-cal item

Pt.n.Idd.

programmachine

Relocatable

Pt.n.Iddb.Instructions

Pt.n.Idda.Variables

Pt.n.Idc.Static ma-

gramchine pro-

Instruction sPt.n.Idcb.

Pt.n.Idca.Variables

load

Pt.n

.Idf.

Dyna

mic

Load

Pt.n

.Ide.

Link

Pt.n

.Idb

.

LinkablePt.n.Ibc.program

Pt.n.Ibc.Linka bleprogram

LinkablePt.n.Ibc.program

Pt.n

.Iaa.

Obt

ain

Pt.n

.Iaa.

Obt

ain

Obt

ain

Pt.n

.Iaa

.

Pt.n.Ibd.Mechan-ic and/orelectron-ic item

Pt.n.Ibc.Linka bleprogram

Pt.n.G.design itemsWhite-box

requisitesand product

Pt.n.I. Procure items, linkable programs, and integrate/await embedded black-boxes in order to realize white-boxPt.n.Ia.

Pt.n+1.W:1.Verified black-/w hite-box

Obtaincluding

items in-

programlinkable

Pt.n.Ib.ceived

Items re-

Pt.n.Id.Integrate elements,including linkable

program and embed-ded black-boxes

Pt.n.Ie.White-

box pre-pared Pt

.n.Ig

.St

artu

pw

hite

-box

UsablePt.n.J:1.

white-boxhost, fix-started inture, de-bugger,

or target

Pt.n

.Iaa.

Obt

ain

Pt.n

.Iab.

Asse

mbl

ePt O

b.nta

i.Ia

a. nPt Co

mp

.n.I

iac le.

Pt.n

.Ida.

Join

Pt.n.Gc.programLow-level

High-levelPt.n.Gd.program

Pt.n+1.W:1:2.Inward-only mechanics, or elec-

tronics with or without mechanicsand electronics with or without

processors and programs)

Pt.n.Gb.Electronic

items

Pt.n.Ga.cal itemsMechani-

ProgramPt.n.Ge.library

Pt.n+1.W:1:3.Inward linkable program

Pt.n+1.W:1:1.Inward assembler or high-level

unlinked programs

Pt.n.Ibb.Electron-

ic item

Pt.n.Iba.Mechani-cal item

Pt.n.Idd.

programmachine

Relocatable

Pt.n.Iddb.Instructions

Pt.n.Idda.Variables

Pt.n.Idc.Static ma-

gramchine pro-

Instruction sPt.n.Idcb.

Pt.n.Idca.Variables

load

Pt.n

.Idf.

Dyna

mic

Load

Pt.n

.Ide.

Link

Pt.n

.Idb

.

LinkablePt.n.Ibc.program

Pt.n.Ibc.Linka bleprogram

LinkablePt.n.Ibc.program

Pt.n

.Iaa.

Obt

ain

Pt.n

.Iaa.

Obt

ain

Obt

ain

Pt.n

.Iaa

.

Pt.n.Ibd.Mechan-ic and/orelectron-ic item

Pt.n.Ibc.Linka bleprogram

Page 98: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 98

Pt.0.I. Realize interfaces to environment and incorporate/ invade outermost white-box

Pt.0.I. Realize interfaces to environment and incorporate/ invade outermost white-box

• Receive items for interface to environment

• Realize interface to environment and integrate

• by incorporate outermost black-box

or• by invade outermost black-

box

• Start up prototype in environment

• Receive items for interface to environment

• Realize interface to environment and integrate

• by incorporate outermost black-box

or• by invade outermost black-

box

• Start up prototype in environment

Unsatisfactory

Pt.0

.Ic.

Rec

eive

dite

ms

and

port

edlin

k-ab

lepr

ogra

ms

devi

atio

nre

port

Star

tint

erfa

cest

oPt

.0.Ig

.

Exam

ine

Pt.0

.Ii.

envi

ronm

ent

prot

otyp

ere

liabi

lity

Pt.0

.Ie.

Inte

rfac

esto

envi

-ro

nmen

tcom

plet

ed

Pt.0

.Id.

Com

plet

ean

dco

nnec

tint

erfa

ces

toen

viro

nmen

t

Pt.0

.Ib.

Item

sand

linka

ble

rece

ived

prog

ram

s

Pt.0

.Ia.

Obt

ain

item

sfor

inte

r-fa

ceto

envi

ronm

ent

and

port

edlin

kabl

epr

ogra

m

Xb.

H.

Turn

key

reus

-ab

leite

mX

a.H

.O

ff-th

e-sh

elfre

usab

leite

m

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Pt.1

.W:1

.Ve

rifie

dbl

ack-

/w

hite

-boxif inside-out incorporative integration

Pt.1

.J:3

.

if outside-in fake invasive integration

Fake

blac

k-/

whi

te-b

ox

Pt.0

.If.

Inte

rfac

esto

envi

ronm

ent

inte

grat

ion

repo

rt

Pt.0

.Ih.

Inte

rfac

esto

envi

ron-

men

tsta

rt-u

pre

port

Pt.H

.In

-hou

sele

gacy

reus

-ab

leite

ms

Pt.0.I.Realize interfa c-

await outermo stment and insert/

es to environ-

white-box

Pt.0

.J:2

.te

rfac

eU

nrea

dyin

-Pt

.0.J

:1.

Usa

blep

roto

type

in-

terf

aces

star

ted

insim

-ul

ator

orta

rget

Unsatisfactory

Pt.0

.Ic.

Rec

eive

dite

ms

and

port

edlin

k-ab

lepr

ogra

ms

devi

atio

nre

port

Star

tint

erfa

cest

oPt

.0.Ig

.

Exam

ine

Pt.0

.Ii.

envi

ronm

ent

prot

otyp

ere

liabi

lity

Pt.0

.Ie.

Inte

rfac

esto

envi

-ro

nmen

tcom

plet

ed

Pt.0

.Id.

Com

plet

ean

dco

nnec

tint

erfa

ces

toen

viro

nmen

t

Pt.0

.Ib.

Item

sand

linka

ble

rece

ived

prog

ram

s

Pt.0

.Ia.

Obt

ain

item

sfor

inte

r-fa

ceto

envi

ronm

ent

and

port

edlin

kabl

epr

ogra

m

Xb.

H.

Turn

key

reus

-ab

leite

mX

a.H

.O

ff-th

e-sh

elfre

usab

leite

m

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

Pt.1

.W:1

.Ve

rifie

dbl

ack-

/w

hite

-boxif inside-out incorporative integration

Pt.1

.J:3

.

if outside-in fake invasive integration

Fake

blac

k-/

whi

te-b

ox

Pt.0

.If.

Inte

rfac

esto

envi

ronm

ent

inte

grat

ion

repo

rt

Pt.0

.Ih.

Inte

rfac

esto

envi

ron-

men

tsta

rt-u

pre

port

Pt.H

.In

-hou

sele

gacy

reus

-ab

leite

ms

Pt.0.I.Realize interfa c-

await outermo stment and insert/

es to environ-

white-box

Pt.0

.J:2

.te

rfac

eU

nrea

dyin

-Pt

.0.J

:1.

Usa

blep

roto

type

in-

terf

aces

star

ted

insim

-ul

ator

orta

rget

Page 99: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 99

EXAMPLE Multiplication toy: ReportsEXAMPLE Multiplication toy: Reports

• Devi-ationreport

• Devi-ationreport

• Integration report• Based on interfaces

• Start-up report

• Integration report• Based on interfaces

• Start-up report

Volume 1 000 100 000

Deviation Item Sourc-ing

Produc-er

Piec-es

€/piec

eCost€ /toy

€/piec

eCost€ /toy

IdArch

DR.1. Difficult tosolder on print-ed board, mustbe improved

Rotorswitch

GrossElectro

Pointer 2 0.4 0.8 0.2 0.4 Ab.

DR.2. To bephased out bysupplier

LED-seg-ment, nodp.

GrossElectro

Texx 3 0.3 0.9 0.2 0.6 Ad.

DR.3. All ordi-nary bins toohigh. Order spe-cialized immedi-ately.

Battery bin GrossElectro

Any 1 0.2 0.2 0.12 0.12 Ae.

DR.4. Up to 4month deliverytime. In themeantime, usemanually pro-duced fronts,backs and flapsfor prototypes.

Pressedfront hous-ing

Inhouse Inhouse 1 0.2 0.2 0.1 0.1 A-2c.

Front hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2c.

Back hous-ing

Inhouse Inhouse 1 0.1 0.1 0.06 0.06 A-2d.

Back hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2d.

DR.5. Producedby same tool asabove housing

Cut batteryflap

Inhouse Inhouse 1 0.025 0.025 0.02 0.02 A-2f.

DR.6. Maximumcapacity 4000pieces / week

Displaywindow

GrossElectro

Desiger 1 0.02 0.02 0.015 0.015 A-2e.

DR.7. Theremight be bettercontroller in thishuge family

PIC16F57 Pick-it MiChip 1 0.7 0.7 0.4 0.4 Aa:2a.

DR.8. Up to 2month deliverytime. Use expen-sive fast pro-duced PCB forprototypes

PCB Inhouse PCB inc. 1 0.4 0.4 0.2 0.2 -A-1:2

DR.9. Add probearea for auto-mated tests

PCB prepa-ration

Inhouse Inhouse 1 0.4 0.4 0.01 0.01 -A-1:2

Volume 1 000 100 000

Deviation Item Sourc-ing

Produc-er

Piec-es

€/piec

eCost€ /toy

€/piec

eCost€ /toy

IdArch

DR.1. Difficult tosolder on print-ed board, mustbe improved

Rotorswitch

GrossElectro

Pointer 2 0.4 0.8 0.2 0.4 Ab.

DR.2. To bephased out bysupplier

LED-seg-ment, nodp.

GrossElectro

Texx 3 0.3 0.9 0.2 0.6 Ad.

DR.3. All ordi-nary bins toohigh. Order spe-cialized immedi-ately.

Battery bin GrossElectro

Any 1 0.2 0.2 0.12 0.12 Ae.

DR.4. Up to 4month deliverytime. In themeantime, usemanually pro-duced fronts,backs and flapsfor prototypes.

Pressedfront hous-ing

Inhouse Inhouse 1 0.2 0.2 0.1 0.1 A-2c.

Front hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2c.

Back hous-ing

Inhouse Inhouse 1 0.1 0.1 0.06 0.06 A-2d.

Back hous-ing tool

In depthpress

In depthpress

1 per50 000

5 5 0.1 0.1 A-2d.

DR.5. Producedby same tool asabove housing

Cut batteryflap

Inhouse Inhouse 1 0.025 0.025 0.02 0.02 A-2f.

DR.6. Maximumcapacity 4000pieces / week

Displaywindow

GrossElectro

Desiger 1 0.02 0.02 0.015 0.015 A-2e.

DR.7. Theremight be bettercontroller in thishuge family

PIC16F57 Pick-it MiChip 1 0.7 0.7 0.4 0.4 Aa:2a.

DR.8. Up to 2month deliverytime. Use expen-sive fast pro-duced PCB forprototypes

PCB Inhouse PCB inc. 1 0.4 0.4 0.2 0.2 -A-1:2

DR.9. Add probearea for auto-mated tests

PCB prepa-ration

Inhouse Inhouse 1 0.4 0.4 0.01 0.01 -A-1:2

Fulfilments and shortcomings Contained interfacesIR.1. The circuit board were equipped with-out problems. -A-1:2Printed board

IR.2. Riveted on selectors axis

[A]2.Housing

A-2a.Dial knobIR.3. Soldered to the printed circuit board.Note, there are components on both sides. A-2b.On-off Switch

IR.4. Manually produced front mounted A-2c.Toy front housingIR.5. Manually produced back mounted A-2d.Toy back housingIR.6. Manually produced Plexiglas mounted A-2e.Display windowIR.7. Manually produced flap mounted A-2f.Battery flapIR.8. Ordinary screw temporarily used A-2g.Flap screwIR.9. Selector soldered with some problem.Machine soldering not possible.

-A-3.Operand bus-A-4.Operand bus

IR.10. Presentation components mountedwithout problems on the printed circuitboard printed bus

-A-5.Product bus

IR.11. The power is distributed on all circuitboard printing. -A-6.Power feed

IR.12. Loading the machine code to microcontroller. The protocol is rather tricky and aspecialist from the supplier was called in toget it right first time.

-Aa:2-1.In circuit pro-grammable port

Fulfilments and shortcomings Contained interfacesIR.1. The circuit board were equipped with-out problems. -A-1:2Printed board

IR.2. Riveted on selectors axis

[A]2.Housing

A-2a.Dial knobIR.3. Soldered to the printed circuit board.Note, there are components on both sides. A-2b.On-off Switch

IR.4. Manually produced front mounted A-2c.Toy front housingIR.5. Manually produced back mounted A-2d.Toy back housingIR.6. Manually produced Plexiglas mounted A-2e.Display windowIR.7. Manually produced flap mounted A-2f.Battery flapIR.8. Ordinary screw temporarily used A-2g.Flap screwIR.9. Selector soldered with some problem.Machine soldering not possible.

-A-3.Operand bus-A-4.Operand bus

IR.10. Presentation components mountedwithout problems on the printed circuitboard printed bus

-A-5.Product bus

IR.11. The power is distributed on all circuitboard printing. -A-6.Power feed

IR.12. Loading the machine code to microcontroller. The protocol is rather tricky and aspecialist from the supplier was called in toget it right first time.

-Aa:2-1.In circuit pro-grammable port

Accomplishments and obstacles Troubling interfaceSR.1. The power switch is set to on, and the multiplication toy dis-play illuminates nicely, and response nicely when changing the ro-tating switches. Multiplication incorrect, but ready for verification.

A. Multiplication toy with mi-cro controller multiplier

Accomplishments and obstacles Troubling interfaceSR.1. The power switch is set to on, and the multiplication toy dis-play illuminates nicely, and response nicely when changing the ro-tating switches. Multiplication incorrect, but ready for verification.

A. Multiplication toy with mi-cro controller multiplier

Page 100: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 100

Verify white-and black-boxVerify white-

and black-boxCan even be automatedCan even be automated

Page 101: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 101

Pt.n.V. Verify black-/white-boxPt.n.V. Verify black-/white-box

• Types of verifications• Explicit verification inside-out• Partially verification outside-in• Fully implicit verification inside-out

• Develop white- and black-box test-cases for fixtures and debugger

• Verify• White-box• White/black-box• Black-box

• Locate and correct failures• Reverify until no more failures• Prepare manual table of content

• Types of verifications• Explicit verification inside-out• Partially verification outside-in• Fully implicit verification inside-out

• Develop white- and black-box test-cases for fixtures and debugger

• Verify• White-box• White/black-box• Black-box

• Locate and correct failures• Reverify until no more failures• Prepare manual table of content

Unsatisfactory

Pt.n

.Va.

Dev

elop

test

-cas

es,

also

forf

ixtu

resa

ndde

bugg

er

Pt.n

.Vl.

Prep

are

prod

-uc

tman

ual

Pt.n

.Vi.

Loca

tefa

il-

No

Yes

ure s

ourc

e

Eval

uate

optim

alPt

.n.V

j.

elim

inat

ion

More?

failures

Pt.n

.Vm

.of

cont

ents

Man

ualt

able

Pt.n

.Vk.

Failu

reel

imi-

natio

nre

port

Pt.n

.Vh.

Verif

icatio

nbl

ack-

box

repo

rt

Pt.n

.Vf.

Verif

icatio

nw

hite

-box

repo

rtPt

.n.V

d.Ve

rific

atio

nre

port

Pt.n

.Vc.

Veri

fybl

ack-

/w

hite

-box

Pt.n

.Ve.

box

Veri

fyw

hite

-Pt

.n.V

g.bo

xVe

rify

blac

k-

Pt.n

.W:1

.

Pt.n.V. Verify black-/white-box

Fully

veri

fied

Pt.n

.W:2

.Pa

rtia

llyve

rified

blac

k-/w

hite

-box

blac

k-/w

hite

-box

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.B.

Arc

hite

ctu

rew

hite

-box

ingr

e-di

ents

desig

nw

ithpo

ssib

leem

bedd

edbl

ack-

boxe

s

Pt.n

.G.

Whi

te-b

oxde

sign

item

san

dpr

oduc

treq

uisit

esPt

.n.J

:1.

Usa

ble

whi

te-b

oxst

arte

din

host

,fix

ture

,de

bugg

er,o

rtar

get

Pt.n.Vb.Test-case

Whi

te-b

oxPt

.n.V

ba.

test

-cas

esPt

.n.V

bb.

Blac

k-bo

xte

st-c

ases

Pt.n

+1.J

:3.

/bla

ck-

box

Fake

white

-

Unsatisfactory

Pt.n

.Va.

Dev

elop

test

-cas

es,

also

forf

ixtu

resa

ndde

bugg

er

Pt.n

.Vl.

Prep

are

prod

-uc

tman

ual

Pt.n

.Vi.

Loca

tefa

il-

No

Yes

ure s

ourc

e

Eval

uate

optim

alPt

.n.V

j.

elim

inat

ion

More?

failures

Pt.n

.Vm

.of

cont

ents

Man

ualt

able

Pt.n

.Vk.

Failu

reel

imi-

natio

nre

port

Pt.n

.Vh.

Verif

icatio

nbl

ack-

box

repo

rt

Pt.n

.Vf.

Verif

icatio

nw

hite

-box

repo

rtPt

.n.V

d.Ve

rific

atio

nre

port

Pt.n

.Vc.

Veri

fybl

ack-

/w

hite

-box

Pt.n

.Ve.

box

Veri

fyw

hite

-Pt

.n.V

g.bo

xVe

rify

blac

k-

Pt.n

.W:1

.

Pt.n.V. Verify black-/white-box

Fully

veri

fied

Pt.n

.W:2

.Pa

rtia

llyve

rified

blac

k-/w

hite

-box

blac

k-/w

hite

-box

Pt.n

.Sa.

Prio

ritiz

edre

-qu

irem

ents

Pt.n

.B.

Arc

hite

ctu

rew

hite

-box

ingr

e-di

ents

desig

nw

ithpo

ssib

leem

bedd

edbl

ack-

boxe

s

Pt.n

.G.

Whi

te-b

oxde

sign

item

san

dpr

oduc

treq

uisit

esPt

.n.J

:1.

Usa

ble

whi

te-b

oxst

arte

din

host

,fix

ture

,de

bugg

er,o

rtar

get

Pt.n.Vb.Test-case

Whi

te-b

oxPt

.n.V

ba.

test

-cas

esPt

.n.V

bb.

Blac

k-bo

xte

st-c

ases

Pt.n

+1.J

:3.

/bla

ck-

box

Fake

white

-

Page 102: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 102

Pt.0.V. Verify prototype in environmentPt.0.V. Verify prototype in environment

• Develop field test cases for target or simulator

• Verify prototype• In simulator• In target

• Locate and correct failures• Reverify until no more failures• Complete manual

• Develop field test cases for target or simulator

• Verify prototype• In simulator• In target

• Locate and correct failures• Reverify until no more failures• Complete manual

Unsatisfactory

No

Yes

Pt.0

.Vj.

Fina

lize

prod

-uc

tman

ual

Pt.0

.Vh.

Eval

uate

prot

otyp

eco

mpl

ete-

ness

Pt.0

.Vg.

Loca

tefa

il-ur

esou

rce

Pt.0

.Vi.

Failu

reel

imi-

natio

nre

port

Pt.0

.Va.

Dev

elop

field

test

-ca

sesf

orta

rget

orsim

ulat

or

Pt.0

.Vb.

Fiel

dte

st-ca

sesf

orta

rget

orsim

ulat

or Pu.

prot

otyp

eFi

eld-

veri

fied

Pt.0

.Sa.

Envi

ronm

ent

rest

rictio

nre

-qu

irem

ents

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

More?

failures

Pt.0

.Ve.

Veri

fypr

oto-

type

inta

rget

envi

ronm

ent

Pt.0

.Vf.

Veri

ficat

ion

inta

rget

repo

rtPt

.0.V

d.Si

mul

ator

veri

-fic

atio

nre

port

Pt.0

.Vc.

Verif

ypr

otot

ype

infie

ldsim

ulat

oren

viro

nmen

t

Pt.0

.Vk.

man

ual

Prod

uct

Pt.0

.J:1

.U

sabl

epr

otot

ype

in-

terf

aces

star

ted

insim

-ul

ator

orta

rget

Pt.0.V.Verify prototype in environment

Pt.0

.B.

Envi

ronm

ente

xisti

ngin

gre-

dien

tsan

dde

sign

ofin

ter-

face

sto

thee

nvir

onm

ent

blac

k-/

Pt.1

.J:3

.Fa

ke

box

whi

te-

Pt.0

.W:2

.Pa

rtia

llyfie

ld-v

er-

ified

prot

otyp

e

Unsatisfactory

No

Yes

Pt.0

.Vj.

Fina

lize

prod

-uc

tman

ual

Pt.0

.Vh.

Eval

uate

prot

otyp

eco

mpl

ete-

ness

Pt.0

.Vg.

Loca

tefa

il-ur

esou

rce

Pt.0

.Vi.

Failu

reel

imi-

natio

nre

port

Pt.0

.Va.

Dev

elop

field

test

-ca

sesf

orta

rget

orsim

ulat

or

Pt.0

.Vb.

Fiel

dte

st-ca

sesf

orta

rget

orsim

ulat

or Pu.

prot

otyp

eFi

eld-

veri

fied

Pt.0

.Sa.

Envi

ronm

ent

rest

rictio

nre

-qu

irem

ents

Pt.0

.G.

Envi

ronm

enti

nter

-fa

cede

sign

item

sand

prod

uctr

equi

sites

More?

failures

Pt.0

.Ve.

Veri

fypr

oto-

type

inta

rget

envi

ronm

ent

Pt.0

.Vf.

Veri

ficat

ion

inta

rget

repo

rtPt

.0.V

d.Si

mul

ator

veri

-fic

atio

nre

port

Pt.0

.Vc.

Verif

ypr

otot

ype

infie

ldsim

ulat

oren

viro

nmen

t

Pt.0

.Vk.

man

ual

Prod

uct

Pt.0

.J:1

.U

sabl

epr

otot

ype

in-

terf

aces

star

ted

insim

-ul

ator

orta

rget

Pt.0.V.Verify prototype in environment

Pt.0

.B.

Envi

ronm

ente

xisti

ngin

gre-

dien

tsan

dde

sign

ofin

ter-

face

sto

thee

nvir

onm

ent

blac

k-/

Pt.1

.J:3

.Fa

ke

box

whi

te-

Pt.0

.W:2

.Pa

rtia

llyfie

ld-v

er-

ified

prot

otyp

e

Page 103: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 103

Find a failure localization by tracing upstream

Find a failure localization by tracing upstream

• Assume failure were found on interface -E-1 in Pt.0.V. activities

• Assume failure is located in requirement A.B.B.RB.3.4.1.

• Assume failure were found on interface -E-1 in Pt.0.V. activities

• Assume failure is located in requirement A.B.B.RB.3.4.1.

Pt.3

.Sa.

Pt.3.P.

Pt.3

.Q.Pt.3.R.

Pt.3.A. Pt.3.F.

Pt.3

.B.

Pt.3

.G.

Pt.3.I.

Pt.3.V. Pt.3

.W

:1.

Pt.3

.W

:2.

Pt.3

.J:1

.Pt

.3.

J:2.

Pt.2

.Sa.

Pt.2.P.

Pt.2

.Q.Pt.2.R.

Pt.2.A. Pt.2.F.

Pt.2

.B.

Pt.2

.G.

Pt.2.I.

Pt.2.V. W:1

.Pt

.2.

Pt.2

.J:1

.Pt

.2.

J:2.

Pt.1

.Sa.

Pt.1.P.

Pt.1.R.

Pt.1.A. Pt.1.F. Pt.1.I.

Pt.1.V.

Pt.1

.B.

J:1.

Pt.1

.Pt

.1.

J:2.

Pt.1

.W

:1.

Pt.1

.G.

Pt.1

.Q.

Pt.0

.Sa.

Pt.0.P.

Pt.0.R.

Pt.0.A.

Pt.0

.G.

Pt.0.F.

Pt.0.V.

Pt.0

.B.

Pt.0

.Q.

PuPu. .

W:2

.Pt

.0.

Pt.0.I.

Pt.0

.J:2

.Pt.0

.J:

1.

3.

8.11.

12.

6.

9.

1.

0.

4.

7.

4.

7.

10. 10.

Pt.1

.W

:2.

Pt.2

.W

:2.

2.

5.

Pu.

Pt.3

.Sa.

Pt.3.P.

Pt.3

.Q.Pt.3.R.

Pt.3.A. Pt.3.F.

Pt.3

.B.

Pt.3

.G.

Pt.3.I.

Pt.3.V. Pt.3

.W

:1.

Pt.3

.W

:2.

Pt.3

.J:1

.Pt

.3.

J:2.

Pt.2

.Sa.

Pt.2.P.

Pt.2

.Q.Pt.2.R.

Pt.2.A. Pt.2.F.

Pt.2

.B.

Pt.2

.G.

Pt.2.I.

Pt.2.V. W:1

.Pt

.2.

Pt.2

.J:1

.Pt

.2.

J:2.

Pt.1

.Sa.

Pt.1.P.

Pt.1.R.

Pt.1.A. Pt.1.F. Pt.1.I.

Pt.1.V.

Pt.1

.B.

J:1.

Pt.1

.Pt

.1.

J:2.

Pt.1

.W

:1.

Pt.1

.G.

Pt.1

.Q.

Pt.0

.Sa.

Pt.0.P.

Pt.0.R.

Pt.0.A.

Pt.0

.G.

Pt.0.F.

Pt.0.V.

Pt.0

.B.

Pt.0

.Q.

PuPu. .

W:2

.Pt

.0.

Pt.0.I.

Pt.0

.J:2

.Pt.0

.J:

1.

3.

8.11.

12.

6.

9.

1.

0.

4.

7.

4.

7.

10. 10.

Pt.1

.W

:2.

Pt.2

.W

:2.

2.

5.

Pu.

E. Environment architectu re

A. House

E. Existing environment

A. House architectu re

-A.B.-1.

inter-

A.B. Kitchen architecture

faceWire

design

-E-1.

inter-face

Cable

design

-A-1.

inter-faceWire

design

A.B.a.

A.a.Maindistri-bution

boxdesign

Kitchen dis-tribution

designsub-box

Designrealized

A.B.B.Machinery

architecture

A.B. Kitchen

-A.B.-1.Wireinter-face

-E-1.

interfaceCable

-A-1.

faceWireinter-

A.B.B.Machinery

A.B.a.distribu-

boxtion sub-Kitchen A.a.

Maindistri-bution

box

8. 3.

2.

1.

5

4.

6.

Elec-tric

A.B.B.g.

oven

9.

7.

A.B.B.g.oven

Electricdesign

10.

A.B.

B.RB

.3.4.1

.st

anda

rdM

achi

nery

12.

E. Environment architectu re

A. House

E. Existing environment

A. House architectu re

-A.B.-1.

inter-

A.B. Kitchen architecture

faceWire

design

-E-1.

inter-face

Cable

design

-A-1.

inter-faceWire

design

A.B.a.

A.a.Maindistri-bution

boxdesign

Kitchen dis-tribution

designsub-box

Designrealized

A.B.B.Machinery

architecture

A.B. Kitchen

-A.B.-1.Wireinter-face

-E-1.

interfaceCable

-A-1.

faceWireinter-

A.B.B.Machinery

A.B.a.distribu-

boxtion sub-Kitchen A.a.

Maindistri-bution

box

8. 3.

2.

1.

5

4.

6.

Elec-tric

A.B.B.g.

oven

9.

7.

A.B.B.g.oven

Electricdesign

10.

A.B.

B.RB

.3.4.1

.st

anda

rdM

achi

nery

12.

Page 104: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 104

Eliminate found failure by tracing downstreamEliminate found failure by tracing downstream

• When primary failure is found

• Correct this failure• Trace downstream from this

failure and adjust to bring everything in consistence

• During downstream tracing also localize eventual secondary failures caused by the primary failure

• Correct and adjust like for the primary failure

• When primary failure is found

• Correct this failure• Trace downstream from this

failure and adjust to bring everything in consistence

• During downstream tracing also localize eventual secondary failures caused by the primary failure

• Correct and adjust like for the primary failure

Pt.3.P.

Pt.3

.Sa.

Pt.3.R.

Pt.3.A.

Pt.3

.Q.

Pt.3

.B.

Pt.3.F.

Pt.3

.G.

Pt.3.I.

Pt.3.V. W:1

.Pt

.3.

Pt.3

.W

:2.

J:1.

Pt.3

.Pt

.3.

J:2.

Pt.2.P.

Pt.2

.Sa.

Pt.2.R.

Pt.2.A.

Pt.2

.Q.

Pt.2

.B.

Pt.2.F.

Pt.2

.G.

Pt.2.I.

Pt.2.V. Pt.2

.W

:1.

Pt.2

.J:1

.Pt

.2.

J:2.

Pt.1.

Sa.

Pt.1.P.

Pt.1.R.

Pt.1.A. Pt.1.F. Pt.1.I.

Pt.1.V.

Pt.1

.B.

Pt.1

.J:1

.Pt

.1.

J:2.

Pt.1

.W

:1.

Pt.1

.G.

Pt.1

.Q.

Pt.0.P.

Pt.0

.Sa.

Pt.0.R.

Pt.0.A. Pt.0.F.

Pt.0

.G.

Pt.0.V.

Pt.0

.B.

Pt.0

.Q.

W:2

.Pu

.Pt

.0.

Pt.0.I.

Pt.0

.J:2

.Pt.0

.J:1

.

Pt.1

.W

:2.

Pt.2

.W

:2.

13

14 15 16

17

18

19

20

21

22

23

Pt.3.P.

Pt.3

.Sa.

Pt.3.R.

Pt.3.A.

Pt.3

.Q.

Pt.3

.B.

Pt.3.F.

Pt.3

.G.

Pt.3.I.

Pt.3.V. W:1

.Pt

.3.

Pt.3

.W

:2.

J:1.

Pt.3

.Pt

.3.

J:2.

Pt.2.P.

Pt.2

.Sa.

Pt.2.R.

Pt.2.A.

Pt.2

.Q.

Pt.2

.B.

Pt.2.F.

Pt.2

.G.

Pt.2.I.

Pt.2.V. Pt.2

.W

:1.

Pt.2

.J:1

.Pt

.2.

J:2.

Pt.1.

Sa.

Pt.1.P.

Pt.1.R.

Pt.1.A. Pt.1.F. Pt.1.I.

Pt.1.V.

Pt.1

.B.

Pt.1

.J:1

.Pt

.1.

J:2.

Pt.1

.W

:1.

Pt.1

.G.

Pt.1

.Q.

Pt.0.P.

Pt.0

.Sa.

Pt.0.R.

Pt.0.A. Pt.0.F.

Pt.0

.G.

Pt.0.V.

Pt.0

.B.

Pt.0

.Q.

W:2

.Pu

.Pt

.0.

Pt.0.I.

Pt.0

.J:2

.Pt.0

.J:1

.

Pt.1

.W

:2.

Pt.2

.W

:2.

13

14 15 16

17

18

19

20

21

22

23

Page 105: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 105

EXAMPLE Phonebook: White- and black-box test casesEXAMPLE Phonebook: White- and black-box test cases

• White-box test cases

• White-box test cases

• Black-box test cases• Black-box test casesBlack-box stimulus inject Expected response with

pass-fail criteriaBehaviour re-

quirement• Use a phone-book file which has various num-

ber of existing contacts.Start the phone-book pro-gram, and append one contact.

CH.1. Phone-book file correct, but without con-tacts.CH.2. Phone-book file approximately half full.CH.3. Phone-book file still having place for onemore contact• For each of the above ways of registering con-

tacts, also register phone numbers in the fivevarious ways

CH.4.a. One phone numberCH.4.b. Half full of phone numbersCH.4.c. Next to full of phone numbersCH.4.d. Full of phone numbers

XP.1. Pass, if the appendedcontact and phone numbersare present in the phone-book at a listing of contacts.

A.RB.6.S.2.U.1.Append contact tophone book nor-mal case

CH.1. Use a phone-book file which has no moreplace for contacts. Start the phone-book program,and append one contact.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the appendedcontact, andif the program still executenormally.

A.RB.6.S.2.X.2.Append contact tofull phone bookexception case

CH.1. Use a phone-book file which is half full ofcontacts. Start the phone-book program.CH.2. Append one contact and key in the maxi-mum number of phone numbers.CH.3. Try to key in yet one more phone number.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the last phonenumber, andif the program still executenormally.

A.RB.6.S.2.X.3.Append phonenumber to fullphone number listexception case

Black-box stimulus inject Expected response withpass-fail criteria

Behaviour re-quirement

• Use a phone-book file which has various num-ber of existing contacts.Start the phone-book pro-gram, and append one contact.

CH.1. Phone-book file correct, but without con-tacts.CH.2. Phone-book file approximately half full.CH.3. Phone-book file still having place for onemore contact• For each of the above ways of registering con-

tacts, also register phone numbers in the fivevarious ways

CH.4.a. One phone numberCH.4.b. Half full of phone numbersCH.4.c. Next to full of phone numbersCH.4.d. Full of phone numbers

XP.1. Pass, if the appendedcontact and phone numbersare present in the phone-book at a listing of contacts.

A.RB.6.S.2.U.1.Append contact tophone book nor-mal case

CH.1. Use a phone-book file which has no moreplace for contacts. Start the phone-book program,and append one contact.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the appendedcontact, andif the program still executenormally.

A.RB.6.S.2.X.2.Append contact tofull phone bookexception case

CH.1. Use a phone-book file which is half full ofcontacts. Start the phone-book program.CH.2. Append one contact and key in the maxi-mum number of phone numbers.CH.3. Try to key in yet one more phone number.

XP.1. Pass, if the program dis-play an error message, andif a listing doesn’t containanything from the last phonenumber, andif the program still executenormally.

A.RB.6.S.2.X.3.Append phonenumber to fullphone number listexception case

CH.1. Check the programcode

XP.1. Pass if specifiedrestrictions are applied inthe program code.

A.RR.5.2.MAX_CONTACTS = 128

• Compared to maximumlength, key in person namewith:

CH.1. one character less thanmaximumCH.2. equal number of char-actersCH.3. one character more

XP.1. Pass, if oversizedperson data and phonenumbers get truncated attheir max length andif the program continuesto execute normally andif these data keep aftertermination and restart.

A.RR.5.4. MAX_PERS_LEN = 128

• Compared to maximumlength, key in phone num-bers with:

CH.4. one character lessCH.5. equal number of char-actersCH.6. with one charactermore

A.RR.5.5. MAX_NUMB_LEN = 32

White-box design check Expected appearancewith pass-fail criteria Restriction requirement

CH.1. Check which compileris used.

XP.1. Pass,if used compiler is widelyavailable, consideredtrustworthy and inexpen-sive.

A.RR.1.1. The phone-book programshall be written for a standard win-dows computer.

CH.1. Let a senior designercheck the structure of theprogram.

XP.1. Pass,if the program is devel-oped according todesigned architectureandif it is highly modularizedin a competent way.

A.RR.2.1. First phone-book programshall use simple text oriented consoleinteraction.

CH.1. Start the phone-book,add a contact and terminatethe program.

XP.1. Pass if the addedcontact is saved in aphone-book file.

A.RR.3.1. The program shall loadphone-book data at startup and save iton program termination.

CH.1. Let a programmercheck the program.

XP.1. Pass, if the selectedlanguage is object ori-ented.

A.RR.4.1. Chose an object orienteddevelopment system, and keeptogether user interaction with usedobjects.

CH.1. Check the programcode

XP.1. Pass, if the programuses fixed arrays for vari-able storages.

A.RR.5.1. The first phone-book pro-gram version shall use fixed size datastorage

CH.1. Check the programcode

XP.1. Pass if specifiedrestrictions are applied inthe program code.

A.RR.5.2.MAX_CONTACTS = 128

• Compared to maximumlength, key in person namewith:

CH.1. one character less thanmaximumCH.2. equal number of char-actersCH.3. one character more

XP.1. Pass, if oversizedperson data and phonenumbers get truncated attheir max length andif the program continuesto execute normally andif these data keep aftertermination and restart.

A.RR.5.4. MAX_PERS_LEN = 128

• Compared to maximumlength, key in phone num-bers with:

CH.4. one character lessCH.5. equal number of char-actersCH.6. with one charactermore

A.RR.5.5. MAX_NUMB_LEN = 32

White-box design check Expected appearancewith pass-fail criteria Restriction requirement

CH.1. Check which compileris used.

XP.1. Pass,if used compiler is widelyavailable, consideredtrustworthy and inexpen-sive.

A.RR.1.1. The phone-book programshall be written for a standard win-dows computer.

CH.1. Let a senior designercheck the structure of theprogram.

XP.1. Pass,if the program is devel-oped according todesigned architectureandif it is highly modularizedin a competent way.

A.RR.2.1. First phone-book programshall use simple text oriented consoleinteraction.

CH.1. Start the phone-book,add a contact and terminatethe program.

XP.1. Pass if the addedcontact is saved in aphone-book file.

A.RR.3.1. The program shall loadphone-book data at startup and save iton program termination.

CH.1. Let a programmercheck the program.

XP.1. Pass, if the selectedlanguage is object ori-ented.

A.RR.4.1. Chose an object orienteddevelopment system, and keeptogether user interaction with usedobjects.

CH.1. Check the programcode

XP.1. Pass, if the programuses fixed arrays for vari-able storages.

A.RR.5.1. The first phone-book pro-gram version shall use fixed size datastorage

Page 106: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 106

EXAMPEL Phonebook: VerificationEXAMPEL Phonebook: Verification

• Verification 1 of white-box• Verification 1 of white-box

• Verification 2 of black-box • Verification 2 of black-box Actual outcome and pass-fail

conclusio nExpected outcome and pass-

fail criteria RequirementVR.2. Pass XP.1. A.RB.6.S.1.U.1.VR.2. Pass XP.1. A.RB.6.S.1.X.2.VR.2. Pass XP.1. A.RB.6.S.1.X.3.VR.2.1. Fail,For all cases C.a. to C.r. last con-tact was not read. For example,if unexpected file end occurwithin first contact, then thenumber of contacts are dis-played as -1.

XP.1.Pass, if a warning message is dis-played and thereafter if a welcomemessage is displayed, and if all in-tact contacts are read.

A.RB.6.S.1.X.4. Found fileunexpecte d end exceptioncase

VR.2. Pass XP.1. A.RB.6.S.2.U.1.VR.2. Pass XP.1. A.RB.6.S.2.X.2.VR.2. Pass XP.1. A.RB.6.S.2.X.3.VR.2. Pass XP.1. A.RB.6.S.3.U.1.VR.2. Pass XP.1. A.RB.6.S.3.U.2.VR.2. Pass XP.1. A.RB.6.S.4.U.1.VR.2. Pass XP.1. A.RB.6.S.4.X.2.VR.2.2. Fail,The last contact is deleted evenif a contact number one too highis used.

XP.1.Pass, if the program display an er-ror message that the used contactnumber is out of existing range.

A.RB.6.S.4.X.3. Delete con-tact not existing exceptioncase

VR.2. Pass XP.1. A.RB.6.S.5.U.1.VR.2.3. FailDisplayed failure message iscorrect, but despite the phone-book program terminates

XP.1.Pass, if the program display an er-ror message that the phone-bookto be saved can not be created .

A.RB.6.S.5.X.2. File notcreated exception case

VR.2.4. Fail,Despite not anything is saved,this message is not displayed

XP.1.Pass, if the program display an er-ror message that not anything aresaved.

A.RB.6.S.5.X.3. File notwritten exception

VR.2. Pass XP.1. A.RB.6.S.5.X.4.

Actual outcome and pass-failconclusio n

Expected outcome and pass-fail criteria Requirement

VR.2. Pass XP.1. A.RB.6.S.1.U.1.VR.2. Pass XP.1. A.RB.6.S.1.X.2.VR.2. Pass XP.1. A.RB.6.S.1.X.3.VR.2.1. Fail,For all cases C.a. to C.r. last con-tact was not read. For example,if unexpected file end occurwithin first contact, then thenumber of contacts are dis-played as -1.

XP.1.Pass, if a warning message is dis-played and thereafter if a welcomemessage is displayed, and if all in-tact contacts are read.

A.RB.6.S.1.X.4. Found fileunexpecte d end exceptioncase

VR.2. Pass XP.1. A.RB.6.S.2.U.1.VR.2. Pass XP.1. A.RB.6.S.2.X.2.VR.2. Pass XP.1. A.RB.6.S.2.X.3.VR.2. Pass XP.1. A.RB.6.S.3.U.1.VR.2. Pass XP.1. A.RB.6.S.3.U.2.VR.2. Pass XP.1. A.RB.6.S.4.U.1.VR.2. Pass XP.1. A.RB.6.S.4.X.2.VR.2.2. Fail,The last contact is deleted evenif a contact number one too highis used.

XP.1.Pass, if the program display an er-ror message that the used contactnumber is out of existing range.

A.RB.6.S.4.X.3. Delete con-tact not existing exceptioncase

VR.2. Pass XP.1. A.RB.6.S.5.U.1.VR.2.3. FailDisplayed failure message iscorrect, but despite the phone-book program terminates

XP.1.Pass, if the program display an er-ror message that the phone-bookto be saved can not be created .

A.RB.6.S.5.X.2. File notcreated exception case

VR.2.4. Fail,Despite not anything is saved,this message is not displayed

XP.1.Pass, if the program display an er-ror message that not anything aresaved.

A.RB.6.S.5.X.3. File notwritten exception

VR.2. Pass XP.1. A.RB.6.S.5.X.4.

Actual outcom e and pass-failconclusi on

Expected outcome and pass-failcriteria Requirement

VR.1. Pass XP.1. A.RR.1.1.VR.1. Pass XP.1. A.RR.2.1.VR.1. Pass XP.1. A.RR.4.1.VR.1. Pass XP.1. A.RR.3.1.VR.1. Pass XP.1. A.RR.5.1.VR.1. Pass XP.1. A.RR.5.2.VR.1.1. Fail,At equal string length (C.2. andC.5.) or at one character more(C.3. and C.4.), the debuggergave Assertion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized person data andphone numbers get truncated attheir max length and if the programcontinues to execute normally andif these data keep after terminationand restart.

A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.5. MAX_NUMB_LEN = 32

Actual outcom e and pass-failconclusi on

Expected outcome and pass-failcriteria Requirement

VR.1. Pass XP.1. A.RR.1.1.VR.1. Pass XP.1. A.RR.2.1.VR.1. Pass XP.1. A.RR.4.1.VR.1. Pass XP.1. A.RR.3.1.VR.1. Pass XP.1. A.RR.5.1.VR.1. Pass XP.1. A.RR.5.2.VR.1.1. Fail,At equal string length (C.2. andC.5.) or at one character more(C.3. and C.4.), the debuggergave Assertion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized person data andphone numbers get truncated attheir max length and if the programcontinues to execute normally andif these data keep after terminationand restart.

A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.5. MAX_NUMB_LEN = 32

Page 107: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 107

EXAMPLE Phonebook:Failure elimination and manual

EXAMPLE Phonebook:Failure elimination and manual

• Locate failure

• Make failure elimi-nation plan

• Correct• Re-

verify

• Locate failure

• Make failure elimi-nation plan

• Correct• Re-

verify

• Plan manual chapters from each developed white-box

• Plan manual chapters from each developed white-box

Primary fail-ure

Failu re eliminationplan

Actualoutcomeandpass-fail criteria

Expected outcomeand pass-fail criteria

Restric-tions anduse caserequire-

mentFER.1.1. Thesafe C instruc-tion gets_stake a stringlength size pa-rameter. If in-put exceeds,the programstops.

FER.1.1.a.Inputstrings are longand rarely over-loaded.

FER.1.1.b. But a pro-fessional programshould not allowruntime crashes.

FER.1.1.c. Catch thefailure before theprogram isstopped and trun-cate the string atmax size

FER.1.1.d. Reverify

VR.1.1.Fail, At equal stringlength (C.2. and C.5.) orat one character more(C.3. and C.4.), thedebugger gave Asser-tion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized per-son data and phonenumbers get truncatedat their max length andif the program contin-ues to execute nor-mally and if these datakeep after terminationand restart.

A.RR.5.4.MAX_PERS_LEN = 128

A.RR.5.5.MAX_NUMB_LEN =32

FER.1.2. A sim-ple logic failurewhen calculat-ing number ofintact contacts

FER.1.2.a.Find thefailure by thedebugger

FER.1.2.b. Correctthe failure

FER.1.2.c. Reverify

VR.2.1.Fail, For all cases C.a. toC.r. last contact was notread. For example, ifunexpected file endoccur within first con-tact, then the numberof contacts are dis-played as -1.

XP.1.Pass, if a warning mes-sage is displayed andthereafter if a welcomemessage is displayed,and if all intact con-tacts are read.

A.RB.6.S.1.X.4.Found fileunexpectedend excep-tion case

FER.1.3. A sim-ple logic failurewhen compar-ing with num-ber of last con-tact

FER.1.3.a.Find thefailure by thedebugger

FER.1.3.b. Correctthe failure

FER.1.3.c. Reverify

VR.2.2.Fail, The last contact isdeleted even if a contactnumber one too high isused.

XP.1.Pass, if the programdisplay an error mes-sage that the used con-tact number is out ofexisting range.

A.RB.6.S.4.X.3. Deletecontact notexistingexceptioncase

FER.1.4. Thefile is orderedto close, de-spite it not cre-ated

FER.1.4.a.Changethe file closinginstruction to afterit first has beenopened.

FER.1.4.b. Reverify

VR.2.3.Fail Displayed failuremessage is correct, butdespite the phone-bookprogram terminates

XP.1.Pass, if the programdisplay an error mes-sage that the phone-book to be saved cannot be created.

A.RB.6.S.5.X.2. File notcreatedexceptioncase

FER.1.5. Whenwriting to thefile, the firstlines are buff-ered and im-possibility towrite not imme-diately detect-ed.

FER.1.5.a.Flush thebuffer after thefirst line is written,then the impossi-bility to write isdiscovered.

FER.1.5.b. Reverify

VR.2.4.Fail, Despite not any-thing is saved, this mes-sage is not displayed

XP.1.Pass, if the programdisplay an error mes-sage that not anythingare saved.

A.RB.6.S.5.X.3. File notwrittenexception

Primary fail-ure

Failu re eliminationplan

Actualoutcomeandpass-fail criteria

Expected outcomeand pass-fail criteria

Restric-tions anduse caserequire-

mentFER.1.1. Thesafe C instruc-tion gets_stake a stringlength size pa-rameter. If in-put exceeds,the programstops.

FER.1.1.a.Inputstrings are longand rarely over-loaded.

FER.1.1.b. But a pro-fessional programshould not allowruntime crashes.

FER.1.1.c. Catch thefailure before theprogram isstopped and trun-cate the string atmax size

FER.1.1.d. Reverify

VR.1.1.Fail, At equal stringlength (C.2. and C.5.) orat one character more(C.3. and C.4.), thedebugger gave Asser-tion failed, seeFigure 12-34 below.

XP.1.Pass, if oversized per-son data and phonenumbers get truncatedat their max length andif the program contin-ues to execute nor-mally and if these datakeep after terminationand restart.

A.RR.5.4.MAX_PERS_LEN = 128

A.RR.5.5.MAX_NUMB_LEN =32

FER.1.2. A sim-ple logic failurewhen calculat-ing number ofintact contacts

FER.1.2.a.Find thefailure by thedebugger

FER.1.2.b. Correctthe failure

FER.1.2.c. Reverify

VR.2.1.Fail, For all cases C.a. toC.r. last contact was notread. For example, ifunexpected file endoccur within first con-tact, then the numberof contacts are dis-played as -1.

XP.1.Pass, if a warning mes-sage is displayed andthereafter if a welcomemessage is displayed,and if all intact con-tacts are read.

A.RB.6.S.1.X.4.Found fileunexpectedend excep-tion case

FER.1.3. A sim-ple logic failurewhen compar-ing with num-ber of last con-tact

FER.1.3.a.Find thefailure by thedebugger

FER.1.3.b. Correctthe failure

FER.1.3.c. Reverify

VR.2.2.Fail, The last contact isdeleted even if a contactnumber one too high isused.

XP.1.Pass, if the programdisplay an error mes-sage that the used con-tact number is out ofexisting range.

A.RB.6.S.4.X.3. Deletecontact notexistingexceptioncase

FER.1.4. Thefile is orderedto close, de-spite it not cre-ated

FER.1.4.a.Changethe file closinginstruction to afterit first has beenopened.

FER.1.4.b. Reverify

VR.2.3.Fail Displayed failuremessage is correct, butdespite the phone-bookprogram terminates

XP.1.Pass, if the programdisplay an error mes-sage that the phone-book to be saved cannot be created.

A.RB.6.S.5.X.2. File notcreatedexceptioncase

FER.1.5. Whenwriting to thefile, the firstlines are buff-ered and im-possibility towrite not imme-diately detect-ed.

FER.1.5.a.Flush thebuffer after thefirst line is written,then the impossi-bility to write isdiscovered.

FER.1.5.b. Reverify

VR.2.4.Fail, Despite not any-thing is saved, this mes-sage is not displayed

XP.1.Pass, if the programdisplay an error mes-sage that not anythingare saved.

A.RB.6.S.5.X.3. File notwrittenexception

Manual table of content Requirement / designMA.1. Starting up the program, including excep-tion handling

A.RB.6.S.1. Initiate phone-book scenario

MA.2. How to append a contact to the phone-book, including exception handling

A.RB.6.S.2. Append contact to phone-book sce-nario

MA.3. How to list all contacts, including excep-tion handling

A.RB.6.S.3. List phone-book contacts scenario

MA.4. How to delete a contact, including excep-tion handling

A.RB.6.S.4. Delete phone-book contact scenario

MA.5. Terminating the program, including ex-ception handling

A.RB.6.S.5. Terminate phone-book scenario

MA.6. Implemented phone-book size limitationsand proposed way of extension

A.RR.5.2. MAX_CONTACTS = 128A.RR.5.3. MAX_NUMB_PERS = 16

MA.7. Implemented string length limitations A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.4. MAX_PERS_LEN = 128

MA.8. Architecture rationals and proposed wayof extension

A.Phone-book logical architecture (Figure 9-63 onpage 412)

MA.9. Object oriented rationals and proposedway of extension

A.Phone-book updated logical architecture(Figure 10-55 on page 534)

Manual table of content Requirement / designMA.1. Starting up the program, including excep-tion handling

A.RB.6.S.1. Initiate phone-book scenario

MA.2. How to append a contact to the phone-book, including exception handling

A.RB.6.S.2. Append contact to phone-book sce-nario

MA.3. How to list all contacts, including excep-tion handling

A.RB.6.S.3. List phone-book contacts scenario

MA.4. How to delete a contact, including excep-tion handling

A.RB.6.S.4. Delete phone-book contact scenario

MA.5. Terminating the program, including ex-ception handling

A.RB.6.S.5. Terminate phone-book scenario

MA.6. Implemented phone-book size limitationsand proposed way of extension

A.RR.5.2. MAX_CONTACTS = 128A.RR.5.3. MAX_NUMB_PERS = 16

MA.7. Implemented string length limitations A.RR.5.4. MAX_PERS_LEN = 128A.RR.5.4. MAX_PERS_LEN = 128

MA.8. Architecture rationals and proposed wayof extension

A.Phone-book logical architecture (Figure 9-63 onpage 412)

MA.9. Object oriented rationals and proposedway of extension

A.Phone-book updated logical architecture(Figure 10-55 on page 534)

Page 108: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 108

Pt.n.Va:2. Develop test cases, also for fixtures and debugger, by using usage profile modelling

Pt.n.Va:2. Develop test cases, also for fixtures and debugger, by using usage profile modelling

• Activity Pt.n.Va. extended to schedule Pt.n.Va:2.

• Develop black-box usage profiles

• Generate stimuli from usage profile

• Add expected response and pass/fail criteria

• Activity Pt.n.Va. extended to schedule Pt.n.Va:2.

• Develop black-box usage profiles

• Generate stimuli from usage profile

• Add expected response and pass/fail criteria

Pt.n.Va:2.Develop test-cases, also for fixtures and

debugger, by usage profile model ing

Pt.n

.Va:

2.a.

Dev

elop

blac

k-bo

xus

age

prof

ile

Pt.n

.Va:

2.c.

Acqu

ire

usag

epr

o-to

rfil

estim

ulig

ener

a-

Pt.n

.Va:

2.d.

ulig

ener

ator

Usa

gepr

ofile

stim

-

Pt.n.Vbb.Black-box

Pt.n

.Va:

2.e.

Man

ually

orau

to-

mat

ically

prov

ide

usag

epro

filet

est-c

ase

stim

uli

test-cases

Pt.n.Vbb:1.Machine -readable

black-boxtest-case

Pt.n

.Va:

2.g:

1ab

leex

pect

edfa

ilcr

iteri

a

Add

hum

an-r

ead-

resp

onse

and

pass

/

Pt.n

.Va:

2.f:1

Hum

an-r

eada

-bl

ete

st-c

ase

stim

uli

Pt.n

.Va:

2.g:

2A

ddm

achi

ne-

read

able

expe

cted

resp

onse

and

pass

/fa

ilcr

iteri

a

Pt.n

.Va:

2.f:2

blet

est-c

ase

stim

uli

Mac

hine

-rea

da-Bl

ack-

box

Pt.n

.Va:

2.b.

usag

epr

ofile

Pt.n.Vbb:3.Human-readable

black-boxtest-ca se

Pt.n

.Rbb

.Be

havi

orre

-qu

irem

ents

Pt.n.Va:2.Develop test-cases, also for fixtures and

debugger, by usage profile model ing

Pt.n

.Va:

2.a.

Dev

elop

blac

k-bo

xus

age

prof

ile

Pt.n

.Va:

2.c.

Acqu

ire

usag

epr

o-to

rfil

estim

ulig

ener

a-

Pt.n

.Va:

2.d.

ulig

ener

ator

Usa

gepr

ofile

stim

-

Pt.n.Vbb.Black-box

Pt.n

.Va:

2.e.

Man

ually

orau

to-

mat

ically

prov

ide

usag

epro

filet

est-c

ase

stim

uli

test-cases

Pt.n.Vbb:1.Machine -readable

black-boxtest-case

Pt.n

.Va:

2.g:

1ab

leex

pect

edfa

ilcr

iteri

a

Add

hum

an-r

ead-

resp

onse

and

pass

/

Pt.n

.Va:

2.f:1

Hum

an-r

eada

-bl

ete

st-c

ase

stim

uli

Pt.n

.Va:

2.g:

2A

ddm

achi

ne-

read

able

expe

cted

resp

onse

and

pass

/fa

ilcr

iteri

a

Pt.n

.Va:

2.f:2

blet

est-c

ase

stim

uli

Mac

hine

-rea

da-Bl

ack-

box

Pt.n

.Va:

2.b.

usag

epr

ofile

Pt.n.Vbb:3.Human-readable

black-boxtest-ca se

Pt.n

.Rbb

.Be

havi

orre

-qu

irem

ents

Page 109: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 109

EXAMPLE calc_logic:Develop black-box usage profileEXAMPLE calc_logic:Develop black-box usage profile

• Begin with use case scenario and transform to state machine

• Assign probability value to all state transitions, that reflect how much the user operate each transition

• Many user profiles may be assumed• Basic user• Advanced user• Stressed user

• Begin with use case scenario and transform to state machine

• Assign probability value to all state transitions, that reflect how much the user operate each transition

• Many user profiles may be assumed• Basic user• Advanced user• Stressed user

RB.WS.30. Wait fortrail operan d 1st

RB.WS.40. Wait forfurther digit or con-

RB.WS.20. Wait forfurther digit or duo-

RB.WS.10. Wait forlead operand 1st digit

S.1.

Stim

(0-9

)

S.2.

Stim

(+,-

,*or

/)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

S.1.

Stim

(0-9

)

S.3.

Stim

(=)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

Use casewith input

Calc_logic usage profiles,estimations in percent

Nextstate

Basicusageprofile

Advancedusageprofile

Stressedusageprofile

RB.WS.10. Wait for lead operand 1st digitS.1. Stim (0 -9)

10 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Stim ( +,-, * or /)

5 % peroperator

10 % peroperator

RB.WS.30.

S.3. Stim (=) 40 % ?.Sum 100 % 100 % 100 %

RB.WS.20. Wait for further digit or duo-operator

S.1. Stim (0 -9)

5 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Press(+,-,*,/)

30 %10 %5 %5 %

5 %5 %5 %5 %

20 %20 %20 %

RB.WS.30.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.30. Wait for trail operand 1st digitS.1. Stim (0 -9)

10 % perdigit

10 % perdigit

4 % perdigi t

RB.WS.40.

S.2. Stim ( +,-, * or /)

10 % peroperator ?.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.40. Wait for further digi t or con-clusion operator

S.1. Stim (0 -9)

5 % perdigit

7 % perdigit

2 % perdigi t

RB.WS.40.

S.3. Stim (=)30 % 10 % 40 %

RB.WS.10.

S.2. Press(+-, * or /) 20 % 8 %

4 % peroperator

22 %6 % peroperator

RB.WS.30.

Sum 100 % 100 % 100 %

A.calc_logicfor reuse

RB.WS.30. Wait fortrail operan d 1st

RB.WS.40. Wait forfurther digit or con-

RB.WS.20. Wait forfurther digit or duo-

RB.WS.10. Wait forlead operand 1st digit

S.1.

Stim

(0-9

)

S.2.

Stim

(+,-

,*or

/)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

S.1.

Stim

(0-9

)

S.3.

Stim

(=)

S.2.

Stim

(+,-

,*or

/)

S.1.

Stim

(0-9

)

Use casewith input

Calc_logic usage profiles,estimations in percent

Nextstate

Basicusageprofile

Advancedusageprofile

Stressedusageprofile

RB.WS.10. Wait for lead operand 1st digitS.1. Stim (0 -9)

10 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Stim ( +,-, * or /)

5 % peroperator

10 % peroperator

RB.WS.30.

S.3. Stim (=) 40 % ?.Sum 100 % 100 % 100 %

RB.WS.20. Wait for further digit or duo-operator

S.1. Stim (0 -9)

5 % perdigit

8 % perdigit

2 % perdigi t

RB.WS.20.

S.2. Press(+,-,*,/)

30 %10 %5 %5 %

5 %5 %5 %5 %

20 %20 %20 %

RB.WS.30.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.30. Wait for trail operand 1st digitS.1. Stim (0 -9)

10 % perdigit

10 % perdigit

4 % perdigi t

RB.WS.40.

S.2. Stim ( +,-, * or /)

10 % peroperator ?.

S.3. Stim (=) 20 % ?.Sum 100 % 100 % 100 %

RB.WS.40. Wait for further digi t or con-clusion operator

S.1. Stim (0 -9)

5 % perdigit

7 % perdigit

2 % perdigi t

RB.WS.40.

S.3. Stim (=)30 % 10 % 40 %

RB.WS.10.

S.2. Press(+-, * or /) 20 % 8 %

4 % peroperator

22 %6 % peroperator

RB.WS.30.

Sum 100 % 100 % 100 %

A.calc_logicfor reuse

Page 110: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 110

EXAMPLE calc_logic: Generate usage profile machine readable stimuli (comma separated)EXAMPLE calc_logic: Generate usage profile machine readable stimuli (comma separated)

• Basic usage• Mostly addition and subtraction

• Advanced usage• Also multiplication and division

• Stressed usage • Strangely few numbers

• Basic usage• Mostly addition and subtraction

• Advanced usage• Also multiplication and division

• Stressed usage • Strangely few numbers

5, 7, +, 6, /, 9, 6, 6, 1, 6, +, 8, 0, -, 3, 3, 6, 7, 3, 8, 0, 9, 9, =, /, 0, 8, 9, 9,9, +, 9, /, 5, 3, 0, 6, 7, 8, 6, +, 5, 8, 0, 3, 6, 2, +, 4, 4, 7, +, 4, +, 8, 0, 5, 4,2, =, 8, 3, -, 6, 5, 5, =, -, 9, 8, 4, *, 7, 4, *, 3, =, +, 5, 1, 5, 4, 8, 8, 3, 5, 6,9, 2, 2, 7, 3, 1, 3, *, 7, =, 1, +, 2, 4, 4, 1, 0, 7, 4, 9, -, 5, 6, 1, 9, 2, -, 0, 8,-, 8, 4, -, 9, 8, 4, 3, +, 1, 1, 3, -, 4, +, 4, 1, 2, 2, +, 4, 7, 5, 0, 0, 7, 2, *, 3,4, 2, +, 7, 2, 3, 9, 1, 1, +, 1, 2, 6, 8, 0, 8, +, 9, 0, 0, 2, 6, 8, 2, 4, 0, -, 2, =,+, 1, +, 3, 0, 6, 4, 2, 0, 9, 3, 3, 8, 1, 7, 8, 6, 5, *, 1, 9, 8, 3, *, 1, 6, 2, 8, 1,=, 3, 6, +, 5, 7, 6, 6, *, 2, 3, 4, +, 0, 4, 6, 0, 6, 5, 3, /, 2, 4, 3, 4, 3, +, 2, 0,+, 6, =, 0, 4, 2, 8, 8, 5, 2, 2, -, 4, -, 8, 7, 9, =, 9, 4, 4, 2, +, 6, 6, 1, 4, 6, 1,9, =, 4, *, 1, =, 2, 3, +, 9, 5, +, 6, =, 4, 0, 1, 9, 0, 6, 1, -, 5, 6, 3, 7, *, 1, 7,4, =, 3, 4, 4, 3, 7, +, 9, 7, 8, 5, 5, +, 3, 8, 2, 3, 7, 7, =, 3, 6, 7, -, 9, 2, 7, 8,=, 4, *, 6, 8, 4, 4, 5, 6, 9, 9, *, 1, 6, 3, 8, =, 7, 4, 6, 5, 9, 9, 1, 0, 2, 9, 5, 0,9, 6, 0, 2, 0, 3, 8, 7, *, 4, 5, 0, 7, *, 3, 0, 3, =, 6, 2, 8, -, 1, 3, 3, +, 1, 5, 5,7, 0, 9, 5, 3, 3, 4, 9, 0, *, 6, 8, 7, =

2, -, =, -, *, -, *, 7, =, 8, =, *, *, +, 7, =, 0, =, /, =, =, =, =, =, 8, -, +, 1, +,8, =, 4, 2, -, *, /, /, +, 7, =, *, =, =, +, *, =, =, 4, *, =, 9, =, =, =, *, 0, 0, /,=, =, 2, -, =, =, =, =, =, =, /, /, -, =, =, /, +, =, =, =, *, =, +, =, =, /, =, 5, *,*, =, =, =, -, =, 8, =, 2, *, 5, =, /, *, =, 4, *, =, 0, /, =, =, +, -, +, =, 5, /, 0,+, 1, =, /, 8, *, -, +, 7, 2, 7, 6, =, =, =, 2, -, 6, =, =, +, *, +, =, =, =, *, =, =,*, -, 5, -, 6, =, -, -, 4, *, 0, +, -, *, +, =, 0, /, =, -, /, *, 1, -, *, 1, =, =, =,/, +, =, 5, -, 1, +, 5, +, 8, =, =, =, 1, 5, -, =, =, =, /, =, 2, 4, /, =, =, 2, -, +,*, 3, =, =, =, =, /, =, =, /, /, *, -, =, *, /, =, 6, -, 3, =, *, =, 7, *, 1, =, +, 5,=, 1, -, *, *, 1, /, -, +, +, =, =, /, *, /, 4, =, =, /, =, 0, =, =, =, =, *, -, 0, 4,8, =, 5, *, /, 6, +, *, 4, 3, =, =, =, =, =, +, /, =, /, =, +, =, =, =, 0, -, *, 7, 8,7, 7, /, *, -, 3, *, 4, +, 8, /, =, 3, /, =, /, 8, +, =, /, 6, +, -, =, *, -, -, -, 2,=, -, -, =, =, =, =, =, =, 3, 0, *, +, -, *, 8, =, -, =, =, =, =, /, +, *, =, 2, *, *,/, 9, /, =, =, =, 7, =, *, +, =, -, 3, -, *, =, =, +, /, +, 5, =, *, 6, =, =, 0, 6, -,=, -, 5, =, =, -, =, +, -, 6, /, 9, =, =, +, =, 6, *, *, 6, =, -, =

8, 7, +, 4, =, 5, +, 5, 9, 7, +, 2, 8, 7, =, 6, +, 5, =, 3, +, 8, +, 8, =, 7, /, 2, 0,8, =, 9, 3, -, 2, +, 1, 0, 7, 3, 2, 6, 4, 8, =, 8, 2, +, 8, 9, 4, =, 6, -, 5, +, 7, =,0, +, 3, =, 9, 2, 1, 0, 0, 8, +, 4, =, 6, 6, *, 7, =, 5, +, 9, 7, 8, 3, 8, 6, 7, 9, 9,9, 5, 4, 2, =, 2, /, 6, =, 4, 2, 4, 6, 3, 0, +, 7, 5, 2, 4, =, 7, 2, 7, 8, +, 0, +, 1,+, 4, =, 9, 9, 4, 4, -, 4, 5, +, 1, 5, 7, 2, 9, =, 2, 7, 1, 5, 4, *, 7, =, 1, 1, +, 2,=, 3, *, 1, 7, 0, =, 3, 0, +, 8, 4, 1, 6, 3, =, 2, -, 0, 8, =, 2, +, 1, 4, =, 4, 9, 7,1, 6, +, 2, 8, 6, =, 7, 8, +, 5, =, 4, 8, +, 7, +, 7, 9, 4, =, 3, 4, 9, 7, +, 0, +, 6,=, 8, +, 3, =, 1, /, 6, +, 9, 8, +, 3, 5, =, 2, /, 6, 8, =, 2, +, 6, =, 9, -, 1, 9, =,3, +, 8, 5, 0, =, 4, 5, 1, /, 5, 7, 6, 9, 9, +, 2, 0, =, 8, +, 2, 8, =, 0, /, 2, =, 6,+, 4, +, 0, =, 0, 1, 6, +, 3, +, 6, 6, 7, +, 8, 7, 0, 1, =, 8, -, 1, 0, =, 4, 0, -, 3,+, 5, 2, 9, 8, +, 5, =, 8, +, 9, =, 6, 9, 4, 5, 6, 6, 1, +, 5, 5, =, 3, +, 6, 2, 5, +,8, +, 4, 2, 4, =, 7, +, 6, +, 0, =, 1, 3, +, 7, 7, 8, 4, =, 5, +, 7, 5, =, 2, 0, 3, +,3, =, 5, 4, *, 6, 6, =, 1, 2, +, 9, 6, 1, 3, 5, 8, 7, =, 0, 3, +, 1, 2, 5, 7, 2, 0, =,3, /, 5, +, 1, 6, =, 2, 2, +, 8, +, 8, +, 6, 0, 5, 7, 8, +, 3, 4, =

Page 111: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 111

EXAMPLE calc_logic: Create test case by adding expected responses and pass/failure criteriaEXAMPLE calc_logic: Create test case by adding expected responses and pass/failure criteria

• Generated expected responses and pass/failure criteria

• In this example, after any number no response is expected

• A semicolon indicates an expectation of response

• Since division easily result in inexact quotients, also a minimum accuracy is specified for passing

• Generated expected responses and pass/failure criteria

• In this example, after any number no response is expected

• A semicolon indicates an expectation of response

• Since division easily result in inexact quotients, also a minimum accuracy is specified for passing

87+4=; 91 05+597+; 602 0287=; 889 06+5=; 11 03+8+; 11 08=; 19 07/208=; 0.033653846153846153846153846153846 1e-1693-2+; 91 010732648=; 10732739 0

Page 112: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 112

EXAMPLE calc_logic:Apply automatic test case executor to wrap calc_logicEXAMPLE calc_logic:Apply automatic test case executor to wrap calc_logic

• The executor read from the from the test case and feed program prototype

• The executor listen for responses from the program prototype

• Received responses are compared with the expected response

• The difference must be lower than specified allowed accuracy

• Observe that the test case executor must calculate with better accuracy than is demanded from the product prototype

• The executor read from the from the test case and feed program prototype

• The executor listen for responses from the program prototype

• Received responses are compared with the expected response

• The difference must be lower than specified allowed accuracy

• Observe that the test case executor must calculate with better accuracy than is demanded from the product prototype

bETest case

cEActual response

and pass/failconclusion

A.E.Program pro-

totype to verify

*Line handlerRead line

Interpret line

Feed stimulusReceive any response(s)

°If response expectedCalculate responses differ-

ence and relative errorJudge pass or fail

Document outcome

A. Test case executor

bETest case

cEActual response

and pass/failconclusion

A.E.Program pro-

totype to verify

*Line handlerRead line

Interpret line

Feed stimulusReceive any response(s)

°If response expectedCalculate responses differ-

ence and relative errorJudge pass or fail

Document outcome

A. Test case executor

Page 113: Technical foundation Introduction by Christer Sandahl - Cpdm• Extended support from Cpdm web site • Planned books • Technical overhead (organization, management, quality, configuration

Page 113

EXAMPLE calc_logic:Document outcome from the test case executorEXAMPLE calc_logic:Document outcome from the test case executor

• Example of automatic verification report

• When an failure has been detected, it may be difficult to trace to when it happened

• Run the executor and product prototype in a debugger to set halt conditions on failures

• Example of automatic verification report

• When an failure has been detected, it may be difficult to trace to when it happened

• Run the executor and product prototype in a debugger to set halt conditions on failures

::

178 Stimulus =; Response 10852951649; Expected 10852951649; Rel. error 0.0; Max allowed 0; PASS

179 Stimulus +180 Stimulus 1; Response 1181 Stimulus +; Response 10852951650; Expected 10852951650;

Rel. error 0.0; Max allowed 0; PASS182 Stimulus 3; Response 3183 Stimulus 0; Response 30184 Stimulus 6; Response 306185 Stimulus 4; Response 3064186 Stimulus 2; Response 30642187 Stimulus 0; Response 306420188 Stimulus 9; Response 3064209189 Stimulus 3; Response 30642093190 Stimulus 3; Response 306420933191 Stimulus 8; Response 3064209338192 Stimulus 1; Response 30642093381193 Stimulus 7; Response 306420933817194 Stimulus 8; Response 3064209338178195 Stimulus 6; Response 30642093381786196 Stimulus 5; Response 306420933817865197 Stimulus *; Response 306431786769515; Expected 306431786769515;

Rel. error 0.0; Max allowed 0; PASS198 Stimulus 1; Response 1199 Stimulus 9; Response 19200 Stimulus 8; Response 198201 Stimulus 3; Response 1983202 Stimulus *; Response 6.076542331639483e+017; Expected 607654233163948245;

Rel. error 0.00000000000000009; Max allowed 0; FAIL203 Stimulus 1; Response 1204 Stimulus 6; Response 16205 Stimulus 2; Response 162206 Stimulus 8; Response 1628207 Stimulus 1; Response 16281208 Stimulus =; Response 9.893218570142241e+021; Expected 9893218570142241376845;

Rel. error 0.00000000000000003; Max allowed 0; FAIL::


Recommended