26
SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal Methods SOFT 423 – Winter 2015 1

SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

SOFT 423: Software Requirements

Week 7 Class 3

More on Decision Tables and Petri Nets

Wrap Up Formal Methods

SOFT 423 – Winter 2015 1

Page 2: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Last Class

•Decision Tables

•Petri Nets

SOFT 423 – Winter 2015 2

Page 3: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

This Class

•Some More Examples•Decision Tables•Petri Nets

•Wrap Up Formal Methods

SOFT 423 – Winter 2015 3

Page 4: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Printer Troubleshooting –Limited Entry

SOFT 423 – Winter 2015 4

Source: http://en.wikipedia.org/wiki/Decision_table#Example

Page 5: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Admission Prices – Limited Entry

SOFT 423 – Winter 2015 5

Source: http://hsc.csu.edu.au/ipt/project_work/3287/decision_table.jpg

Page 6: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Source Code Variable Actions –Limited Entry

SOFT 423 – Winter 2015 6

Source: http://dtrules.com/wiki2/images/thumb/c/cd/SimpleBalancedDecisionTable.JPG/300px-SimpleBalancedDecisionTable.JPG

Page 7: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Automotive Insurance –Extended Entry

SOFT 423 – Winter 2015 7

Page 8: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Petri Net Simulator

•http://torguet.free.fr/java/Petri.html

•Simple Demo

SOFT 423 – Winter 2015 8

Page 9: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Team Exercises

•Break Into Teams•1 or 2 (or gather around a laptop/tablet)•Let each person try the tool

•Attempt to Construct the following challenges

SOFT 423 – Winter 2015 9

Page 10: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Implement the Simple Example

SOFT 423 – Winter 2015 10

Remember the choice?

How does yours behave?

Page 11: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Implement a Guard

•Prove that the Guard does what it should.

SOFT 423 – Winter 2015 11

Page 12: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Implement the OS Scheduler

SOFT 423 – Winter 2015 12

Ready Running

Timeout IO Request

IO Complete

Wait Queue

Page 13: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Show Me Something Cool

•Come up with something neat, complex, visually appealing, real-life modeling, etc.

SOFT 423 – Winter 2015 13

Page 14: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Wrapping Up Formal Methods

SOFT 423 – Winter 2015 14

Page 15: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Final Comments

•Selective use of Formal Methods•amount of formality can vary•need not build complete formal models

• apply to the most critical pieces• apply where existing techniques are weak

•need not formally analyze every system property• check safety properties only??

•need not apply FM in every phase• Requirements Engineering but not design

SOFT 423 – Winter 2015 15

Page 16: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Final Comments

•Lightweight Formal Methods•Two approaches:

• Lightweight use of FMs (partial modeling)• Lightweight FMs - new methods that allow

unevaluated predicates

SOFT 423 – Winter 2015 16

Page 17: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Wrapping up Requirements Methods

SOFT 423 – Winter 2015 17

Page 18: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Requirements Methods: Key Points

•No such thing as an ideal requirements method•all have strengths and weaknesses

•System model can be enriched by modeling different aspects of it using modeling techniques that capture and describe those aspects best

SOFT 423 – Winter 2015 18

Page 19: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Requirements Methods: Key Points

•The data-flow model is based on a set of interaction functions. DFDs are composed of inputs, transforming processes and data stores and outputs

•The OOA approach assumes that systems can be modeled as a set of interacting objects.

SOFT 423 – Winter 2015 19

Page 20: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Requirements Methods: Key Points

•Formal methods are based on mathematical principles. They are intended to achieve a high degree of confidence that a system will conform to its specifications

SOFT 423 – Winter 2015 20

Page 21: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Requirements Methods: Key Points

•informal/semi-formal/formal models do not model everything

•The models are part of the requirements•have to be connected to each other

• i.e. connect a OOA model to a Statechart model

•have to be connected back to the requirements document

SOFT 423 – Winter 2015 21

Page 22: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Now What?

SOFT 423 – Winter 2015 22

Page 23: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

The Big Picture

•We have looked at Elicitation•How to get information.

•Then we looked at modeling•Data Flow and Relational (SA)•Object Oriented (OOA)•Problem Domain (PDOA)

SOFT 423 – Winter 2015 23

Page 24: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

The Big Picture

•Then we stepped back and looked at writing the document itself

•Then we looked at formal methods:•State Transition Diagrams/Statecharts•SCR•Decision Tables•Petri Nets

SOFT 423 – Winter 2015 24

Page 25: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

The Big Picture

•Now we will move on down the line•we have all of the information we can dream of•we have accurate models (informal and formal) of the system behaviour

•Now we need to look at Specifying the requirements!

SOFT 423 – Winter 2015 25

Page 26: SOFT 423: Software Requirementscourses.caslab.queensu.ca/soft423/wp-content/... · SOFT 423: Software Requirements Week 7 Class 3 More on Decision Tables and Petri Nets Wrap Up Formal

Next Class

•Requirements Specification

SOFT 423 – Winter 2015 26