Click here to load reader

ODD: Extending Requirements Analysis 2

  • View

  • Download

Embed Size (px)

Text of ODD: Extending Requirements Analysis 2

  • Obstacle Driven Development

    Extending Requirements Analysis 2


  • Obstacle Driven Development

    26/02/2015 2

  • ODD Circle Model

    26/02/2015 3

  • ODD Process

    26/02/2015 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 26



  • 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 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 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 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 30

  • ODD Decision Tree 3

    Processing resulting decision tree is similar to a probability tree.

    SIL ratings processed by multiplyin

Search related