1 / 13

Intro to Jackson Software Engineering

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

More Related