Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intro to Jackson Software Engineering Oct 6, 2005.

Similar presentations


Presentation on theme: "Intro to Jackson Software Engineering Oct 6, 2005."— Presentation transcript:

1 Intro to Jackson Software Engineering Oct 6, 2005

2 Course Preliminaries Course Home Page: http://pmik.petrsu.ru/pub/ourusoff Use of Jackson Workbench (CASE tool); download JWB folder from Home Page Exercise(s) each class – please do them and hand them at the start of the next class

3 Reference materials Jackson’s Home Page http://mcs.open.ac.uk/mj665/ Steve Ferg’s Web Site http://www.ferg.org/jackson_methods/index.html Nick Ourusoff’s on-line text http://www.nickshost.com/JSPJSDBook.zip http://www.nickshost.com/JSPJSDBook.zip Book on JSP (translated into Russian) at Petrozavodsk State University Library by D. King, “Effective methods of Program Design”

4 Jackson’s Methods Jackson Structured Programming (JSP) (1966 -1975) –program design method for class of simple programs –Principles of Program Design (1975) Jackson System Development (JSD) (early 1970’s 1984) –systems development method for dynamic systems –System Development (1983) Problem Frames (1984-present) –problem analysis and decomposition –Software Requirements and Specification (1995) –Problem Frames (2000) Span the range of software engineering: –simple programs  information systems  problem description and decomposition Selected Papers: Bibliography

5 JSP A constructive method of design –we construct a data structure that is the composition of input and output data structures –steps are defined and at each step there are guidelines to check correctness of design so far –other methods (modular programming, stepwise refinement) do not offer a step-by-step decision procedure modular program offers no decision procedure for choice of modules step-wise refinement offers no decision procedure on how to decompose; moreover, the biggest decomposition is made at the start, before you know the problem Optimization –Don’t optimize; –If you have to, do it later Optimization is often unnecessary; and it distorts the underlying structure Flow charts versus structure diagrams –flow charts have been used to design programs –a flow chart shows the flow of control, “What happens next?”, a dynamic view of a program –Jackson tree diagram shows the static view of the program structure

6 Program Design Design is about structure – relation of parts to the whole Programs consist of: – elementary components – operations (statements) in a programming language –composite components sequence selection iteration

7 Sequence (a) sequence – a sequence is a composite component that has two or more parts occurring once each, in order.

8 Selection (b) A selection is a composite component that consists of two or more parts, only one of which is selected, once.

9 Iteration (iv) An iteration is a composite component that consists of one part that repeats zero or more times.

10 Example 1 A simple book A simple book consists of pages; a page consists of lines of text; a line consists of words.

11 Example 2 A more complicated book A book consists of a front and back cover with pages in between. Each page consists of lines of text; each line consists of words. At the bottom of each page is a page number.

12 Exercises Draw Jackson structure diagrams for each of the following: "For lunch you may have either soup and crackers or a salad. You may have as many servings of either as you wish." A conversation consists of messages, alternately from the user (a "user- message") and from the system (a "system-message"). The conversation always begins with a user-message and always ends with a system- message. For each of the regular expressions below, interpret the regular expression as a program. Draw the corresponding structure diagram and give the equivalent Jackson structure text and pseudo code. (a) ((a*|b*)*c)|d (b) (a*)*|b|cd

13 Correctness of design Not every working program is correctly designed Correct design means that –program models the real world –a correctly designed program is easy to modify (~90% of cost in software development is maintenance) easy to read


Download ppt "Intro to Jackson Software Engineering Oct 6, 2005."

Similar presentations


Ads by Google