Intro to Jackson Software Engineering - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Intro to Jackson Software Engineering

Description:

Title: Intro to Jackson Software Engineering Author: My PC Last modified by: My PC Created Date: 10/6/2005 9:20:19 AM Document presentation format – PowerPoint PPT presentation

Number of Views:131
Avg rating:3.0/5.0
Slides: 14
Provided by: MyP104
Category:

less

Transcript and Presenter's Notes

Title: Intro to Jackson Software Engineering


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
  • Jacksons Home Page
  • http//mcs.open.ac.uk/mj665/
  • Steve Fergs Web Site
  • http//www.ferg.org/jackson_methods/index.html
  • Nick Ourusoffs on-line text 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
Jacksons 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 1970s 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
  • Dont 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)     ((ab)c)d  (b)      (a)bcd

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
Write a Comment
User Comments (0)
About PowerShow.com