Upload
jonathan-herring
View
284
Download
2
Embed Size (px)
Citation preview
Obstacle Driven DevelopmentExtending V-model Development 1.35
©odd.enterprises01/02/2016
Obstacle Driven Development
08/02/2016 ©odd.enterprises 2
ODD Circle Model
08/02/2016 ©odd.enterprises 3
ODD Triangle Model
08/02/2016 ©odd.enterprises 4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ODD Flowchart with Checkpoints
08/02/2016 ©odd.enterprises 40
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
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
Further Information and Questions
• odd.enterprises
• ODD Presentations
• ODD Facebook
• ODD Twitter
08/02/2016 ©odd.enterprises 43
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