Intro to jackson software engineering
This presentation is the property of its rightful owner.
Sponsored Links
1 / 13

Intro to Jackson Software Engineering PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on
  • Presentation posted in: General

Intro to Jackson Software Engineering. Oct 6, 2005. 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.

Download Presentation

Intro to Jackson Software Engineering

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


Intro to jackson software engineering

Intro to Jackson Software Engineering

Oct 6, 2005


Course preliminaries

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


Reference materials

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

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


Intro to jackson software engineering

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


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


Sequence

Sequence

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


Selection

Selection

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


Iteration

Iteration

(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.


Exercises

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


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


  • Login