intro to jackson software engineering n.
Skip this Video
Download Presentation
Intro to Jackson Software Engineering

Loading in 2 Seconds...

play fullscreen
1 / 13

Intro to Jackson Software Engineering - PowerPoint PPT Presentation

  • Uploaded on

Intro to Jackson Software Engineering. Oct 6, 2005. Course Preliminaries. Course Home Page: 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.

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

PowerPoint Slideshow about 'Intro to Jackson Software Engineering' - bruce-moreno

Download Now An Image/Link below is provided (as is) to download presentation

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
course preliminaries
Course Preliminaries
  • Course Home Page:

  • 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
reference materials
Reference materials

Jackson’s Home Page

Steve Ferg’s Web Site

Nick Ourusoff’s on-line text

Book on JSP (translated into Russian) at Petrozavodsk State University Library by

D. King, “Effective methods of Program Design”

jackson s methods
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

  • 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
program design
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

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


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


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

example 1
Example 1

A simple book

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

example 2
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.


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

correctness of design
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