odd: extending v-model development 1.3.5

44
Obstacle Driven Development Extending V-model Development 1.35 ©odd.enterprises 01/02/2016

Upload: jonathan-herring

Post on 22-Feb-2017

278 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: ODD: Extending V-model Development 1.3.5

Obstacle Driven DevelopmentExtending V-model Development 1.35

©odd.enterprises01/02/2016

Page 2: ODD: Extending V-model Development 1.3.5

Obstacle Driven Development

08/02/2016 ©odd.enterprises 2

Page 3: ODD: Extending V-model Development 1.3.5

ODD Circle Model

08/02/2016 ©odd.enterprises 3

Page 4: ODD: Extending V-model Development 1.3.5

ODD Triangle Model

08/02/2016 ©odd.enterprises 4

Page 5: ODD: Extending V-model Development 1.3.5

Background

Ideas of Obstacle Driven Development (ODD) are based on numerous development processes including:• ISO V-model• Test Driven Development• ISO specifications• Requirements analysis spiral• Agile principles• SOLID Principles

08/02/2016 ©odd.enterprises 5

Page 6: ODD: Extending V-model Development 1.3.5

V-model

V-model engineering is for requirements, designs, testing of problem solutions.• V-models give framework of

Obstacle Driven Development• Development for safety critical

design processes• Described by international

standards

08/02/2016 ©odd.enterprises 6

Page 7: ODD: Extending V-model Development 1.3.5

International Organisation for Standardisation

Standards and processes provided for requirements, specifications, guidelines or characteristics.• Ensures products, services and

components are fit for purpose• Sets standards required for state

of the art and markets• ODD designed to be compatible

with international standards

08/02/2016 ©odd.enterprises 7

Page 8: ODD: Extending V-model Development 1.3.5

ISO V-model

V-model to apply ISO standards for software development.• Model links various levels of

development• Testing for levels from software

up to vehicle tests • Testing for feedback and ensures

each level is verified

08/02/2016 ©odd.enterprises 8

Page 9: ODD: Extending V-model Development 1.3.5

Test Driven Development 1

TDD is software development with tests written before code.• Creating tests first ensures code

is testable and tested• Unit tests ran through test suites

for automated testing• Allows for improved code

through error detection

08/02/2016 ©odd.enterprises 9

Write Test

Write CodeRefactor

Page 10: ODD: Extending V-model Development 1.3.5

Test Driven Development 2

Tests are written before the code with TDD .1. Test is written and ran to

observe a fail2. Simplest code is written to pass

the test3. Code is refactored according to

SOLID principles4. Repeat until coding complete

08/02/2016 ©odd.enterprises 10

Write Test

Write CodeRefactor

Page 11: ODD: Extending V-model Development 1.3.5

Test Driven Development 3

Development of ODD began with a question from using TDD:

• Where do the tests come from?

08/02/2016 ©odd.enterprises 11

Write Test

Write CodeRefactor

Page 12: ODD: Extending V-model Development 1.3.5

Test Driven Development V-model 1

V-model combined with Test Driven Development is demonstrated.• Helps create tests and integrate

a system • System created according to

designs through tests• Tests help integrate low level

code to high level

08/02/2016 ©odd.enterprises 12

Page 13: ODD: Extending V-model Development 1.3.5

Test Driven Development V-model 2

ODD extends and inverts V-models so development stages are separated.• Models consist of V-models with

TDD and unit testing• Inverted V-models allow for

separation of stages• Inverted V-models link with V-

models creating further models

08/02/2016 ©odd.enterprises 13

Page 14: ODD: Extending V-model Development 1.3.5

Inverted V-models

V-models are inverted to link stages and decompose solutions to stages.• V-models help integrate a

solution• Inverted V-models help

decompose a creation• Testing is adapted for

decomposition of elements

08/02/2016 ©odd.enterprises 14

Page 15: ODD: Extending V-model Development 1.3.5

Extending a Specification 1

• Traditional Problem and Solution Space– Specification is a

small interface

• Extended Specification– Specification is

separate stage

15©odd.enterprises08/02/2016

Page 16: ODD: Extending V-model Development 1.3.5

Extending a Specification 2

Extending a specification allows V-models combined with Test Driven Development.• V-model compatible with Safety

Integrity Levels• TDD processes for V&V of

Specification• Specification used to create tests

08/02/2016 ©odd.enterprises 16

Page 17: ODD: Extending V-model Development 1.3.5

Verification and Validation 1

Verification and validation between each stage is adapted to become two questions.• Verification

Is it built in the right way?• Validation

Is it built right?

08/02/2016 ©odd.enterprises 17

Page 18: ODD: Extending V-model Development 1.3.5

Verification and Validation 2

Verification and validation processes link the stages.• Specification

– Verification and validation (of behaviours)

• Solution– Testing and design

• Production– Quality assurance and control

• Analysis– Utilisation and elicitation

08/02/2016 ©odd.enterprises 18

Page 19: ODD: Extending V-model Development 1.3.5

Problem Driven Development 1

PDD finds solutions to problems and is an earlier model of ODD. • Inverted V-model and V-model

combine to create N-model– Analysis– Specification– Solution

• Testing between each stage is similar to TDD

08/02/2016 ©odd.enterprises 19

Page 20: ODD: Extending V-model Development 1.3.5

Problem Driven Development 2

Tests to verify and validate code are extended to create a new development model.• Applications to hardware,

software and embedded • Links stages with tests for

verification and validation• Suitable for students and

research projects

08/02/2016 ©odd.enterprises 20

Page 21: ODD: Extending V-model Development 1.3.5

N-model Comparison

N-model was created from an inverted and normal V-model. • Verification and validation

between Analysis and Specification– Verification by creating a test – Validation by solving a test

• Interface between problem and solution is extended

08/02/2016 ©odd.enterprises 21

Page 22: ODD: Extending V-model Development 1.3.5

Obstacle Driven Development 1

ODD is development where TDD and V-models adapted and repeated between four stages. • Analysis• Specification• Solution• Production

08/02/2016 ©odd.enterprises 22

Page 23: ODD: Extending V-model Development 1.3.5

Obstacle Driven Development 2

Verification and validation link stages and provide feedback.• Verification ensures a product is

built in the right way• Validation ensures a product is

built right• Creating and solving tests give

verification and validation

08/02/2016 ©odd.enterprises 23

Page 24: ODD: Extending V-model Development 1.3.5

Obstacle Driven Development 3

08/02/2016 ©odd.enterprises 24

Stages have verification and validation adapted to each stage.• Verify and validate

terms interchangeable• For each stage we

verify and validate the obstacles are solved

• Tests and stages created according to obstacles

Page 25: ODD: Extending V-model Development 1.3.5

ODD for Embedded

ODD develops software, hardware and embedded applications.• Stages are defined to help create

physical products• Benefits of software, hardware

and embedded principles• Suitable for safety critical

applications

08/02/2016 ©odd.enterprises 25

Page 26: ODD: Extending V-model Development 1.3.5

ODD Production

ODD continuously develops products through linking a Production stage.• Solution produced with assured

and controlled quality• Links with Analysis to ensure

feedback• Product utilisation elicited for

requirements

08/02/2016 ©odd.enterprises 26

Page 27: ODD: Extending V-model Development 1.3.5

M-Model Comparison

ODD model links four separate stages through unit testing.• Verification and validation

appropriate to each stage • Extends traditional problem and

solution domain• Unit testing processes links

stages

08/02/2016 ©odd.enterprises 27

Page 28: ODD: Extending V-model Development 1.3.5

ODD Checkpoints 1

Checkpoints provide consolidated outputs to each stage and provide further means for V&V.• Requirements from Analysis• Documents from Specification• Prototype from Solution• Product from Production

08/02/2016 ©odd.enterprises 28

Page 29: ODD: Extending V-model Development 1.3.5

ODD Checkpoints 2

Checkpoints are verified and validated against its adjacent checkpoint.• Requirements compared to

Prototype• Prototype tested for Requirements• Documents describe a Product• Product documented in

Documents

08/02/2016 ©odd.enterprises 29

Page 30: ODD: Extending V-model Development 1.3.5

Information Flow

Flow of information proceeds in several directions due to unit tests.• Integration, decomposition,

feedback and feedforward• Information flow with integration

or decomposition• Stages linked by tests to give

feedback and feedforward processes

08/02/2016 ©odd.enterprises 30

Page 31: ODD: Extending V-model Development 1.3.5

Feedforward Processes

Verification of each stage is a feedfoward process where tests are created for a next stage.• Verification• Testing• Quality assurance• Utilisation

08/02/2016 ©odd.enterprises 31

Page 32: ODD: Extending V-model Development 1.3.5

Feedback Processes

Validation of each stage is a feedback process where tests are solved for an obstacle.• Validation• Design• Quality control• Elicitation

08/02/2016 ©odd.enterprises 32

Page 33: ODD: Extending V-model Development 1.3.5

Integration of Analysis

Analysis integrated from events in a situation tree to give complex situations.• Situations identified in bottom-

up process• Situations are analysed to

identify hazards• Hazards are processed into Safety

Integrity Levels (SILs)• Requirements found from SILs

08/02/2016 ©odd.enterprises 33

Page 34: ODD: Extending V-model Development 1.3.5

Integration of Solution

Solutions integrated from materials into components, components into subsystems etc.• Solutions created with bottom-

up process • Each level is integrated into a

higher level• Higher level tests provide

integration testing

08/02/2016 ©odd.enterprises 34

Page 35: ODD: Extending V-model Development 1.3.5

Decomposition of Specification

Specification decomposed from high level behaviours to ensure they are performed.• Specifications created with top-

down process• Level decomposed in turn until

all levels are specified• Enables integration testing of a

solution

08/02/2016 ©odd.enterprises 35

Page 36: ODD: Extending V-model Development 1.3.5

Decomposition of Production

Production decomposed from high level to assure efficiency and high quality levels.• Production created with a top-

down process• Each level decomposed for

efficiency of lower levels• Efficiency through testing of

production quality

08/02/2016 ©odd.enterprises 36

Page 37: ODD: Extending V-model Development 1.3.5

M-model with ODD Process

08/02/2016 ©odd.enterprises 37

We superimpose the ODD process over the M-model.• Stages are linked with

tests with traffic light process

• Solutions created for each stage through tests

• Solutions become obstacles

Page 38: ODD: Extending V-model Development 1.3.5

V-model Integration

V-models are integrated from the material abstraction level.• Testing low levels

allows for improved integration

• Tests are created from decomposing a specification

08/02/2016 ©odd.enterprises 38

Page 39: ODD: Extending V-model Development 1.3.5

Inverted V-model Decomposition

Inverted V-models are decomposed from highest abstraction level.• Testing high levels

allows for improved decomposition

• Tests created from a previously integrated solution

08/02/2016 ©odd.enterprises 39

Page 40: ODD: Extending V-model Development 1.3.5

ODD Flowchart with Checkpoints

08/02/2016 ©odd.enterprises 40

Page 41: ODD: Extending V-model Development 1.3.5

ODD Continuous Process

• Process repeats for continuous improvement

• Further stages may be added as needed

• Proceed clockwise through each stage

08/02/2016 ©odd.enterprises 41

Page 42: ODD: Extending V-model Development 1.3.5

ODD MaterialsODD is explained in further presentations.• Obstacle Driven

Development• ODD: Extending TDD• ODD: Extending a

Specification• ODD: Extending V-

models• ODD: Requirements

Analysis• ODD Is Not Agile or

Waterfall

ODD Is Not Agile or

Waterfall

Obstacle Driven Development

ODD: Requirements

Analysis

ODD: Extending a Specification

ODD: Extending V-models

ODD: Extending TDD

08/02/2016 ©odd.enterprises 42

Page 43: ODD: Extending V-model Development 1.3.5

Further Information and Questions

• odd.enterprises

• ODD Presentations

• ODD Facebook

• ODD Twitter

• Email

08/02/2016 ©odd.enterprises 43

Page 44: ODD: Extending V-model Development 1.3.5

Legal Stuff

ReferencesTest Driven Development for Embedded CJames Grenning, 2011

International Organisation for Standardisationhttp://www.iso.org/iso/home/standards.htm

Suresoft Automotive, V-model Compliant with ISO 26262http://www.suresofttech.com/en/solution/solution/

Assessment of the ISO 26262 Standardhttp://www.sae.org/events/gim/presentations/2012/qi_volpe.pdf

V-model, One Stop Testinghttp://www.onestoptesting.com/sdlc-models/v-model.asp

DisclaimerThe ODD M-model and associated processes are provided by odd.enterprises and may be used for any purpose whatsoever.The names odd.enterprises and associated logos should not be used in any representation, advertising, publicity or other manner whatsoever to endorse or promote any entity that adopts or uses the model and/or associated processes.odd.enterprises does not guarantee to provide support, consulting, training or assistance of any kind with regards to the use of the model and/or processes including any updates.You agree to indemnify odd.enterprises and its affiliates, officers, agents and employees against any claim or demand including reasonable solicitors fees, related to your use, reliance or adoption of the model and/or processes for any purpose whatsoever.The model is provided by odd.enterprises “as is” and any express or implied warranties, included but not limited to the implied warranties of merchantability and fitness for a particular purpose are expressly disclaimed.In no event shall odd.enterprises be liable for any damages whatsoever, including but not limited to claims associated with the loss of data or profits, which may result from any action in contract, negligence or other tortious claim that arises out of or in connection with the use or performance of the model.

08/02/2016 ©odd.enterprises 44