Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sentence Patterns for Functional Requirements

Similar presentations


Presentation on theme: "Sentence Patterns for Functional Requirements"— Presentation transcript:

1 Sentence Patterns for Functional Requirements
Jim Adams

2 Public Domain Dedication
Written by James M Adams III The author hereby dedicates whatever copyright he holds in this file to the public domain. The author makes this dedication for the benefit of the public at large and to the detriment of the author's heirs and successors. The author recognizes that, once placed in the public domain, this file may be freely reproduced, distributed, transmitted, used, modified, built upon, or otherwise exploited by anyone for any purpose, commercial or non-commercial, and in any way, including by methods that have not yet been invented or conceived. Copyright © 2006 Gecko House, Inc. Dedicated to Public Domain 2011

3 A Few of the Many Types of Requirements
Functional/Behavioral Quality of Service The “ilities”: reliability, availability, maintainability, usability, etc. Features Composition Brochure Bullets Inherently Ambiguous Implementation Requirements/Constraints Requirements that dictate implementation

4 Phrases That Are Not Functional/Behavioral
The system shall provide … utilize … use … ensure … survive the xxx environment The system shall comply with … be as specified in … be capable of … have the capability of … meet the xxx standard

5 The Top Level Sentence Pattern

6 Functional Requirements
Condition: While some condition is true, Trigger: when some event occurs, Reaction: then the system shall react, Termination: before or until some other condition is true.

7 Functional Requirements
Condition: While the moon is in the seventh house, Trigger: and Jupiter aligns with Mars, Reaction: then peace shall guide the planets, Termination: until the end of the Age of Aquarius. With apologies to Gerome Ragni and James Rado who wrote the lyrics to the song Aquarius from the Broadway musical Hair.

8 In time order because it is easiest to understand
Condition – something that is true or false; a relational expression; the text that fills the ( ) in an “if” statement Trigger – some kind of a change; a change of value, a change of state, an input, the passage of time Reaction – some kind of change caused by the system; a value change, a state change, an output Termination – a point in time to start or complete the reaction

9 Sentence Patterns as Block Diagrams
The High Level Details Sentence Patterns as Block Diagrams

10 A Condition starts with “If”, “Until”, “While” or “For as long as”
There are three types of Conditions Boolean Condition – a relational expression which is true or false. “If the temperature is below freezing …” State Condition – a statement that the system is or is not, in one of its’ major operational modes. “Until the system is in launch mode …” Ongoing Condition – a boolean condition, usually external, that depends on a continuing action. “While the user is pressing the button … ” Any number of conditions can be combined with “and”, “or” and “not”.

11 The Trigger may be prefixed with “when”, “then”, “and”, or “if”
There are three types of Triggers Action Event – a change in a value, a change of state, an input, or an output Time Interval Event – some time window relative to an earlier action. “… no later than 5 minutes after the temperature falls below freezing …” Timeout Event – watchdog timer expiration “… if the system does not reset the watchdog timer within three seconds, …”

12 There are three types of Reactions
Internal Value Change – “… the system shall increment the command count …” State Change – “… the system shall set the processor state to STANDBY …” Input/Output – “… the system shall send the PowerOn command to the GPS unit over the 1553 interface …”

13 There are three types of Terminations
Action Event (Deadline or Finish Line) – “… before the temperature falls below freezing.” Time Interval Event – “… within 3 msec.” Condition – “… for as long as the temperature is below freezing.”

14 Sentence Patterns as Flowcharts
The Low Level Details Sentence Patterns as Flowcharts

15 Vocabulary Component – a subdivision of the system; subsystem, box, segment, board, object, configuration item, etc. Property – an attribute of a component Value – properties can have values, either a number (32) or a name for a number (freezing) State – a property with named values; mode Action – changing a property value, a state value or doing I/O Actor – any part of the system that can perform an action; agent, entity, active object, task, process, etc.

16 Vocabulary Reference to an Action – rephrasing an action in the past tense “ing” form of a verb – gerund Duration – a value which has units of time Relational Expression – “less than”, “greater than”, “equal”, “not equal”, “greater than or equal to”, etc. Boolean Condition – a statement which uses a relational expression – “while the temperature is less than freezing”

17 A Condition starts with “If”, “Until”, “While” or “For as long as”
There are three types of Conditions Boolean Condition – a relational expression which is true or false. “If the temperature is below freezing …” State Condition – a statement that the system is or is not, in one of its’ major operational modes. “Until the system is in the launch mode …” Ongoing Condition – a boolean condition, usually external, that depends on a continuing action. “While the user is pressing the button … ” Any number of conditions can be combined with “and”, “or” and “not”.

18

19

20

21 The Trigger may be prefixed with “when”, “then”, “and”, or “if”
There are three types of Triggers Action Event – a change in a value or a change of state Time Interval Event – some time window relative to an earlier action. “… no later than 5 minutes after the temperature falls below freezing …” Timeout Event – watchdog timer expiration “… when the system does not reset the watchdog timer within three seconds, …”

22 There are three types of Actions
Internal Value Change – “… if the command count is incremented …” State Change – “… when the processor state changes to STANDBY …” Input/Output – “… and FSW sends the PowerOn command to the GPS unit over the 1553 interface …”

23

24

25

26 There are two types of Time Intervals
Duration – “… 3 seconds after the temperature falls below freezing …” Time Window – “… no sooner than 3 seconds and no later than 5 seconds after the temperature falls below freezing …”

27

28

29 There are two types of Timeouts
Active – “… the background task does not reset the watchdog within 3 seconds …” Passive – “… the watchdog is not reset within 3 second …” Only the active form is shown on the chart.

30

31 There are three types of Reactions
Internal Value Change – “… the system shall increment the command count …” State Change – “… the system shall set the processor state to STANDBY …” Input/Output – “… the system shall send the PowerOn command to the GPS unit over the 1553 interface …”

32

33

34

35 There are three types of Terminations
Action Event (Deadline or Finish Line) – “… before the temperature falls below freezing.” Time Interval Event – “… within 3 msec.” Termination Condition – “… for as long as the temperature is below freezing.”

36 A termination Action must be prefixed with either “before” or “until”.
Same as Action within Trigger There are three types of Actions Internal Value Change – “… if the command count is incremented …” State Change – “… when the processor state changes to STANDBY …” Input/Output – “… and FSW sends the PowerOn command to the GPS unit over the 1553 interface …”

37 Same as Time Interval within Trigger
There are two types of Time Intervals Duration – “… 3 seconds after the temperature falls below freezing …” Time Window – “… no sooner than 3 seconds and no later than 5 seconds after the temperature falls below freezing …”

38 Same as the initial condition, except that it can not start with “if”.
There are three types of Conditions Boolean Condition – a relational expression which is true or false. “If the temperature is below freezing …” State Condition – a statement that the system is or is not, in one of its’ major operational modes. “Until the system is in the launch mode …” Ongoing Condition – a boolean condition, usually external, that depends on a continuing action. “While the user is pressing the button … ”

39 Examples

40

41 Condition: While in Normal-Operation mode,
Trigger: Reaction: the system shall send a 10 msec pulse to the instrument every second. Termination:

42 Condition: While in On-Orbit-Operation mode,
Trigger: Reaction: the system shall measure the battery voltage every 100 msec. Termination:

43 Condition: Trigger: When the measured battery voltage falls below the lower threshold Reaction: the system shall disconnect two solar panels from the battery and connect them to the control circuit. Termination:

44 Condition: While two solar panels are connected
to the control circuit, Trigger: when the measured battery voltage rises above the upper threshold, Reaction: the system shall release the two solar panels. Termination:

45 Speculation In Search Of a Counterexample
A functional requirement is unambiguous if and only if all of the properties mentioned in the requirement are constants, or are numbers, or names for numbers, that appear at the interface, or are derived from numbers that appear at the interface, or are names from an ICD

46 Condition: While the moon is in the seventh house,
Trigger: and Jupiter aligns with Mars, Reaction: then peace shall guide the planets, Termination: until the end of the Age of Aquarius.

47 Jupiter aligns with Mars
Jupiter and Mars as identifiers in Star Camera ICD Centroids of observed objects in Star Camera ICD Tolerance for distance between centroids that defines “aligns”


Download ppt "Sentence Patterns for Functional Requirements"

Similar presentations


Ads by Google