Lesson 16: STD -- Development &amp; Testing Procedures

1 / 16

# Lesson 16: STD -- Development &amp; Testing Procedures - PowerPoint PPT Presentation

Lesson 16: STD -- Development &amp; Testing Procedures. Object-Oriented Modeling &amp;. Applications. Lesson Objectives. Understand STD development procedures Understand some of the common errors that are made in constructing STDs List and discuss some practical tips about dynamic modeling.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Lesson 16: STD -- Development &amp; Testing Procedures' - juliette-bernard

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Lesson 16:STD -- Development & Testing Procedures

Object-Oriented

Modeling &

Applications

Lesson Objectives
• Understand STD development procedures
• Understand some of the common errors that are made in constructing STDs
• List and discuss some practical tips about dynamic modeling
STD Development Procedures
• Identify external events from the Context Diagrams
• A discrete data item arrives
• A required time passed
• A recognition device signals an event
• Use scenarios
• Identify state from DFDs
• Add Idle state to the list of states
STD Development Procedures (con’d)
• Combine states and events into a STD
• Identify actions that need to be performed after each event
• Identify states that split into substates
• Use an action table to check for missing states and events
• Walkthrough the STD with users to verify it
Testing a STD
• Five clues

1. No transition out of a state

2. No transition into a state

3. The STD is too complicated

4. Ambiguous or unclear event names

5. Events with continuous instead of discrete signals

Start

Stop

Idle State

Cold

Enable Heat

Warm

Disable Heat

Heating

Hot

Enable Cooling

Cooling

No Transition Out of a State

Clue # 1: No transition out of a state

Cause: An event & transition line have been omitted

Cure: Identify the event and add the transition

Start

Stop

Idle State

Cold

Enable Heat

Warm

Disable Heat

Heating

Hot

Enable Cooling

OK

Disable Cooling

Cooling

A STD in which the Cooling state has no exit

Start

Start

Stop

Stop

Idle State

Idle State

Hot

Enable Cool

Warm

Disable Heat

Warm

Disable Heat

Cold

Enable Heat

Cold

Enable Heat

Cooling

Cooling

Cold

Enable Heat

Cold

Enable Heat

Heating

Heating

No Transition Into a State

Clue # 2: No transition into a state

Cause: An event & transition line have been omitted

Cure: Identify the event and add the transition

A STD with no way to get into the Cooling state

The STD is Too Complicated

Clue # 3: The STD is too complicated.

Cause: The STD should be redrawn in multiple levels

Cure:

• Identify independent group of states and give them a group name
• Each group can then be redrawn in detail on separate diagrams
• Such leveling reduces the complexity of the diagrams and make easier for the reader to identify the different processes that are being controlled.
The STD is Too Complicated (cont’d)

Start

Stop

Idle State

Cold

Enable Gas

Cold or Cool

Enable Electric

Acid

Enable Base

Hot

Enable

Refrig’n

OK

Disable Base

Gas Heating

Cold

Enable Gas

Cool

Disable Gas

OK

Disable Acid

Basic

Enable Acid

Electric Heating

OK

Disable Electric

Hot

Disable Electric

Enable Refrig’n

Cold oe Cool

Disable Refrig’n

Refrigeration

The STD is Too Complicated (cont’d)

Start

Stop

Idle State

Wrong Temperature

Enable Control

Temperature OK

Disable Control

Wrong pH

Enable

pH Control

pH OK

Disable

pH Control

Control Temperature

Control pH

This STD combines two control functions that should be separated and leveled.

Control Temperature and Control pH can then be zoomed separately

Start

Stop

Idle State

Hot

Enable Cool

Warm

Disable Heat

Cold

Enable Heat

Cooling

Cold

Enable Heat

Heating

Ambiguous or Unclear Event Names

Clue # 4: Ambiguous or unclear event names

Cause: Not identified

Cure: Identify all the events and include them in the STD

Start

Stop

Idle State

Signal Arrives

Process Signal

Finished

End Processing

Signal Processing

Signal Arrives and Finished are not clearly defined events

Events with Continuous Instead of Discrete Signals

Clue # 5: Events with continuous instead of discrete signals

Cause: A signal is not an event. It is a raw data stream.

Cure: Extract the events triggered by special data values

Start

Stop

Idle State

pH

Control pH

pH

Enable Idle

Temperature

Control

Temperature

Disable Control

Control pH

Control Temperature

Start

Stop

Idle State

Wrong Temperature

Enable Control

Temperature OK

Disable Control

Wrong pH

Enable

pH Control

pH OK

Disable

pH Control

Control Temperature

Control pH

Temperature and pH are not events. They are continuous data streams.

Practical Tips
• Only construct STDs for classes with meaningful dynamic behavior.
• Not all classes require a STD.
• Check the various STDs for consistency on shared events so that the full dynamic model will be accurate.
• Check for redundancy
• Distinguish between activities and actions.
• Activities occur over a period of time.
• Actions are instantaneous compared to the time scale of an application.
• Distinguish between events and conditions
Practical Tips
• Use nested states when the same transaction applies to many states
• Most concurrency arises from object aggregation and need not be expressed explicitly in the STD.
• Use composite states to show independent facets of the behavior of a single object
• Try to make the STDs of subclasses independent of the STDs of their superclasses.
• The subclass STDs should concentrate on things unique to the subclasses.
• Beware of unwanted race conditions in the STDs
• Race conditions may occur when a state can accept events from more than one object.
Discussion Questions

Define nested states and race conditions

describe how to construct a STD.