Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sentence Patterns for Functional Requirements Jim Adams.

Similar presentations


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

1 Sentence Patterns for Functional Requirements Jim Adams

2 Public Domain Dedication Public Domain Dedication 2011 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

3 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 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 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 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 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 The High Level Details Sentence Patterns as Block Diagrams

10 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 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 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 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 The Low Level Details Sentence Patterns as Flowcharts

15 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 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 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 18

19 19

20 20

21 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 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 23

24 24

25 25

26 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 27

28 28

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

31 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 32

33 33

34 34

35 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 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 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 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 40

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

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

43 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 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 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 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 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 Jim Adams."

Similar presentations


Ads by Google