Click here to load reader
View
150
Download
1
Embed Size (px)
Obstacle Driven Development
Extending Requirements Analysis 2
odd.enterprises
26/02/2015
Obstacle Driven Development
26/02/2015 odd.enterprises 2
ODD Circle Model
26/02/2015 odd.enterprises 3
ODD Process
26/02/2015 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
Agile principles
26/02/2015 odd.enterprises 5
About Requirements Analysis
Requirements analysis encompasses tasks that determine the needs or conditions necessary for a new or altered product.
Tasks necessary for requirements analysis include:
Analysing, documenting, validating and managing software or system requirements
Identify and resolve conflicting requirements of stakeholders
Identifying business needs or opportunities using testable and traceable processes
26/02/2015 odd.enterprises 6
Requirements Analysis 1
Requirements analysis spiral and Safety Integrity Levels are adapted to give ODD processes.
Requirements analysis is performed in numerous ways
Spiral model
Use case analysis
Safety integrity Levels (SILs)
26/02/2015 odd.enterprises 7
Requirements Analysis 2
A spiral model is superimposed with an M-model and adaptions made.
Agreed Behaviours substitutes Agreed Requirements
Quality Assurance equivalent to Testing
Negotiation similar to Verification
26/02/2015 odd.enterprises 8
Requirements Analysis 3
Further adaption leads to an ODD model for requirements analysis.
Product, Consolidated Requirements and Documents are checkpoints
Verification substituted for Negotiation
Validation substitutes Evaluation
Testing substitutes Quality Assurance
26/02/2015 odd.enterprises 9
ODD Analysis
Requirements analysis is adapted to allow for ODD and combined with the first stages of an M-model.
Safety Integrity Levels used to measure and process hazards
Decision tree approach used to create situations
Verification and validation of specification
26/02/2015 odd.enterprises 10
ODD M-model
Adding Solution and Production stages of development results in an ODD M-model.
ODD process is linked from start to finish, and beyond
Verification and validation between all stages
Tests are ran as additions and editing occurs
26/02/2015 odd.enterprises 11
ODD M-model Checkpoints 1
Checkpoints are determined for the solution and production stages.
Prototype created from integrated solution
Product is result of production
Linked to other checkpoints horizontally
26/02/2015 odd.enterprises 12
ODD M-model Checkpoints 2
Checkpoints allow linking and testing of results to previous stages.
Each checkpoint links another
Prototype fulfils identified requirements
Product should behave as described in documents
26/02/2015 odd.enterprises 13
Fire Triangle 1
A fire triangle is an educational tool for understanding and preventing fires.
If the fire triangle is completed then a fire will occur
Preventing one situation from occurring will prevent a fire
Requirements often regard preventing fires
26/02/2015 odd.enterprises 14
Fire Triangle 2
Using a reordered fire triangle it is seen that components combine to create a hazard.
Process is adaptable to all fire hazards and environments
Extendible to any number of fire hazard situations
Components can be given SIL ratings for Probability, Severity and Controllability
26/02/2015 odd.enterprises 15
Fire Triangle 3
Reordering again gives a decision tree for fire prevention.
Investigated for requirements of a situation
Each branch is analysed and processed
Useful for any and all fire hazards
To simplify oxygen is assumed present
26/02/2015 odd.enterprises 16
Fire Triangle 4
Decision tree shows the hazards of each situation.
Top branch ignites a fire
Next 2 branches are fire hazards
Each situation is analysed separately
26/02/2015 odd.enterprises 17
Probability Tree 1
Probability trees measure likelihood of an event occurring from a defined situation.
A common example is probability of coin tosses
Probability of heads occurring assumed to be 50%
Each branch gives an individual situation
26/02/2015 odd.enterprises 18
Heads 50%
Heads 50%
Tails 50%
Tails 50%
Heads 50%
Tails 50%
Binomial Distribution 1
Binomial distributions determine probability for any number of events with 2 possible outcomes.
Binomial process illustrates how decision trees can be extended
Potential use to model complex interactions
26/02/2015 odd.enterprises 19
Binomial Distribution 2
Binomial distributions determines probability for any number of events with 2 possible outcomes.
Decision trees can be extended for infinite number of events
Only used to model true or false experiments
= =
(1 )
= = Probability of Event
= Number of Events
= Number of Trials
26/02/2015 odd.enterprises 20
Probability Tree 2
Coin toss example is extended into engineering by substituting system components.
Working component replaces heads
Failing component replaces tails
Potential hazards of a series of failures can be determined
26/02/2015 odd.enterprises 21
Component 1Pass 99%
Component 2Pass 98%
Component 2Fail 2%
Component 1Fail 1%
Component 2Pass 98%
Component 2Tails 2%
Binomial Distribution 3
Binomial distributions used to determine probability for components failing.
Commonly used for measuring probabilities in manufacturing
Extendible to model failure in the field
26/02/2015 odd.enterprises 22
Component 1Pass 99%
Component 2Pass 98%
Component 2Fail 2%
Component 1Fail 1%
Component 2Pass 98%
Component 2Tails 2%
Probability Tree 3
Probability trees are easily extended to other situations.
Coins may also land on their side
Landing on sider assigned a probability of 0.017 % (1 per 6000 tosses)
Probability tree has exponentially more branches
26/02/2015 odd.enterprises 23
Head 50%
Head 50%
Tails 50%
Side 1 / 6000
Tails 50%
Head 50%
Tails 50%
Side 1 / 6000
Side 1 / 6000
Head 50%
Tails 50%
Side 1 / 6000
Probability Tree 4
Probability trees can be used to ensure all possible situations are modelled.
Systems have unknown states between pass and fail
Unknown states include loss of communication or wear
Unknown states investigated for effects
26/02/2015 odd.enterprises 24
Component 1Pass 98%
Component 2Pass 96%
Component 2Fail 2%
Component 2Unknown 2%
Component 1Fail 1%
Component 2Pass 96%
Component 2Fail 2%
Component 2Unknown 2%
Component 1Unknown 1%
Component 2Pass 96%
Component 2Fail 2%
Component 2Unknown 2%
Safety Integrity Levels 1
Safety Integrity Levels (SILs) are used to measure potential hazards of a situation.
Situation is analysed for Probability, Severity and Controllability
Estimates for a risk of hazards occurring from the situation
=
= Probability of Event
= Severity of Event
= Controllability of Event
26/02/2015 odd.enterprises 25
Safety Integrity Levels 2
Safety Integrity Levels are used for a wide range of safety critical analysis.
Probability is how likely a situation will occur
Severity is potential damage of a situation
Controllability is ability to effect change in a situation
26/02/2015 odd.enterprises 26
Component
=
Safety Integrity Levels 3
Coin toss example is extended to provide example of SILs.
Probability of result is different for each coin
Severity of outcome measured by hazards
Controllability determined by who flips coin and stakes
26/02/2015 odd.enterprises 27
Safety Integrity Levels 4
Probability tree and SILs are combined to form a decision tree.
Measures added for severity and controllability
Each branch is a situation with SIL ratings and requirements to be found
SIL ratings are applied and found for each situation
26/02/2015 odd.enterprises 28
ODD Decision Tree 1
A decision tree creates situations and processes requirements.
Severity and Controllability are added to each event
Requirements are found with SIL processes using branches
Facilitates a unit testing approach for situations
26/02/2015 odd.enterprises 29
ODD Decision Tree 2
Adding SIL components to a Probability Tree allows requirement identification from a decision tree.
Structure is a branching probability tree with SILs
SILs are found by multiplying along branches of a decision tree
26/02/2015 odd.enterprises 30
ODD Decision Tree 3
Processing resulting decision tree is similar to a probability tree.
SIL ratings processed by multiplyin