Weitere ähnliche Inhalte Ähnlich wie ODD: Extending V-model Development 1.2 (20) Mehr von Jonathan Herring (10) Kürzlich hochgeladen (20) ODD: Extending V-model Development 1.25. 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
22/02/2015 ©odd.enterprises 5
6. Test Driven Development 1
Test Driven Development inspired
testing for a V-model.
• Obstacle Driven Development
helps define tests and extend
TDD principles
Development of ODD began with
the question
• Where do the tests come from?
22/02/2015 ©odd.enterprises 6
Write
Test
Write
Code
Refactor
7. Test Driven Development 2
Using ODD gives a sequence similar
to traffic lights.
• Red light used for unverified and
unvalidated elements
• Amber light now used when tests
are created and code written
• Green light used when the tests
have been passed
22/02/2015 ©odd.enterprises 7
8. Obstacle Driven Development 1
Tests used 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
• Adapted and used throughout
development
22/02/2015 ©odd.enterprises 8
Verify
Solution
Solution for
Obstacle
Validate
Solution
Obstacle
9. Obstacle Driven Development 2
Obstacle Driven Development is
used to find solutions to obstacles.
An obstacle is broken into four
stages of development when using
ODD.
• Analysis
• Specification
• Solution
• Production
22/02/2015 ©odd.enterprises 9
Verify
Solution
Solution for
Obstacle
Validate
Solution
Obstacle
10. Obstacle Driven Development 3
The ODD Process is expressed using
four stages in sequence.
The diagram is simplified to
demonstrate a basic ODD process.
• Analysis
• Specification
• Solution
• Production
22/02/2015 ©odd.enterprises 10
Specification
Solution
Production
Analysis
11. Obstacle Driven Development 4
Verification and validation are
applied to link stages and provide
feedback.
• Verification is ensuring a product
is built in the right way
• Validation is ensuring a product is
built right
• Creating and solving tests give
verification and validation
22/02/2015 ©odd.enterprises 11
12. International Organisation for Standardisation
Standards and processes provided
for requirements, specifications,
guidelines or characteristics.
• Used to ensure products,
services and components are fit
for purpose
• Reduce costs of development by
minimising waste and errors
• ODD designed to be compatible
and implement standards
22/02/2015 ©odd.enterprises 12
13. V-model
V-models are commonly used in
engineering to create designs and
fulfil requirements.
• V-models form the basic
framework for ODD
• Often used for safety critical
design processes
• Numerous V-models have been
created, some inspired by TDD
22/02/2015 ©odd.enterprises 13
14. ISO V-model
V-model used to apply ISO
standards for software
development.
• Model links levels of elements
with validation
• Testing for levels up to and
including vehicle tests
• Testing is used as feedback and
ensures each level is verified
22/02/2015 ©odd.enterprises 14
15. V-model Comparison
When comparing a V-model to
problem and solution domains it
can be observed that:
• a V-model does not adequately
cover the problem domain
• verification and validation
processes are late in a project
• specification not used to
maximum effect
22/02/2015 ©odd.enterprises 15
16. Test Driven Development V-model
A V-model used in conjunction with
Test Driven Development.
• Generates tests which a system is
required to pass
• Tests generated from elements of
a previous stage
• Design is used to create tests for
a system
22/02/2015 ©odd.enterprises 16
17. Extending a Specification 1
• Traditional Problem
and Solution Space
• Extended
Specification
17©odd.enterprises22/02/2015
18. Extending a Specification 2
Extending a specification allows
V-model development combined
with Test Driven Development.
• V-model compatible with Safety
Integrity Levels from the ISO
• TDD processes used for V&V of a
specification
• Specification used to create tests
22/02/2015 ©odd.enterprises 18
19. N-model Comparison
N-model was created from
extending a V-model.
• Verification and validation
between Analysis and
Specification.
• Verification by creating a test
• Validation from passing a test
• Interface between problem and
solution is extended
22/02/2015 ©odd.enterprises 19
20. ODD Production
Product and future development is
linked continuously through a
Production stage.
• Ensures Solution is produced
with assured and controlled
quality
• Links with Analysis to ensure
feedback
• Resulting product situations are
analysed for requirements
22/02/2015 ©odd.enterprises 20
21. ODD M-model 1
Adding a production stage to
development results in an M-model.
• Development process is linked
from start to finish, and beyond
• Verification and validation
between stages is performed
• Tests are ran with additions and
editions
22/02/2015 ©odd.enterprises 21
22. ODD M-model 2
Checkpoints of each stage are
added and linked horizontally.
• Checkpoints adapted from a
requirements analysis spiral
• Prototype should fulfil identified
requirements
• Product should behave as
described in documents
22/02/2015 ©odd.enterprises 22
23. ODD Checkpoints 1
Checkpoints are defined to provide
expected outputs from each stage.
• Requirements found from Analysis
• Documents described from
Specification
• Prototype integrated from Solution
• Product assembled by Production
22/02/2015 ©odd.enterprises 23
24. ODD Checkpoints 2
Checkpoints are verified and
validated against those indicated.
• Requirements compared to
Prototype
• Prototype tested for Requirements
• Documents describe a Product
• Product documented in
Documents
22/02/2015 ©odd.enterprises 24
26. Verification and Validation 1
Verification and validation occurs
between stages with appropriate
adaptions.
For ODD verification and validation
processes concern the questions:
• Verification
Is it built in the right way?
• Validation
Is it built right?
22/02/2015 ©odd.enterprises 26
27. Verification and Validation 2
Verification and validation
processes for the stages.
• Specification
– Verification and validation (of behaviours)
• Solution
– Testing and design
• Production
– Quality assurance and control
• Analysis
– Utilisation and elicitation
22/02/2015 ©odd.enterprises 27
28. M-Model Comparison
ODD model uses four separate
stages linked through unit testing.
• Verification and validation
appropriate to each stage
• Extends traditional problem and
solution domain model
• Unit testing processes used to
link stages
22/02/2015 ©odd.enterprises 28
29. ODD Process
A traffic light system has been
developed for use with ODD.
• Begin each stage with a red light.
• Amber lights are obtained when
tests are created for next stage
• Green light is for when tests are
passed and next stage linked
22/02/2015 ©odd.enterprises 29
30. Linear and Nonlinear 1
ODD comprises linear development
stages with V & V to create a
nonlinear process.
• If no errors then development
proceeds through stages
• Error is detected and cause is
identified and resolved through
feedback
22/02/2015 ©odd.enterprises 30
31. Linear and Nonlinear 2
Snakes and ladders has similar
properties to an ODD process.
If ODD is thought of in a similar way
then
• ladders are passing tests which
allow progress and link stages
• snakes are failing tests which halt
progress and/or force regression
22/02/2015 ©odd.enterprises 31
32. Integration
Ascending slopes use integrate
lowest levels of elements into the
highest.
• Hazards are found from
combining individual situations
• Processing of hazards finds and
prioritises requirements
• System integrates individual
components from material level
22/02/2015 ©odd.enterprises 32
33. Decomposition
Descending slopes use decompose
highest level elements into the
lowest.
• Decomposition allows for system
tests and production assurance
at a high level
Note information flow for can be
reversed for fault finding.
22/02/2015 ©odd.enterprises 33
34. Feedforward Processes
Verification of each stage is a
feedfoward process where tests are
created for a next stage.
• Verification
• Testing
• Quality assurance
• Utilisation
22/02/2015 ©odd.enterprises 34
35. Feedback Processes
Validation of each stage is a
feedback process where tests are
passed from a previous stage.
• Validation
• Design
• Quality control
• Elicitation
22/02/2015 ©odd.enterprises 35
36. Information Flow
Flow of information can proceed in
several directions due to unit tests.
• Integration, decomposition,
feedback and feedforward
• Information flows through each
stage with integration or
decomposition
• Stages are linked by tests which
give feedback and feedforward
processes
22/02/2015 ©odd.enterprises 36
39. Further Information and Questions
• Website
• Presentations
• Facebook
• Twitter
• Email
22/02/2015 ©odd.enterprises 39
40. Legal Stuff
References
Test Driven Development for Embedded C
James Grenning, 2011
International Organisation for Standardisation
http://www.iso.org/iso/home/standards.htm
Suresoft Automotive, V-model Compliant with ISO 26262
http://www.suresofttech.com/en/solution/solution/
Assessment of the ISO 26262 Standard
http://www.sae.org/events/gim/presentations/2012/qi_volpe.pdf
V-model, One Stop Testing
http://www.onestoptesting.com/sdlc-models/v-model.asp
Disclaimer
The 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.
22/02/2015 ©odd.enterprises 40