Introduction to Program Design - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Introduction to Program Design

Description:

Introduction to Program Design Using Jackson Structured Programming (JSP) and Jackson Workbench Why good design is important There is a difference between getting ... – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 15
Provided by: Nick229
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Program Design


1
Introduction to Program Design
  • Using Jackson Structured Programming (JSP) and
    Jackson Workbench

2
Why good design is important
  • There is a difference between getting a program
    to work and getting it right!
  • A poorly designed program may be difficult to
    read, may not model the problem to be solved, may
    be difficult to maintain
  • A program that corresponds to the problems
    structure is easier to read, test and maintain
  • Multiplication Table Example
  • Output requirement
  • Bad Multiplication Table
  • To make simple changes, we need to rewrite the
    program!
  • Good Multiplication Table designed using JSP
  • Modifications to Good Multiplication Table are
    easy to make and test.

3
JSP Basic Design Method
  1. Draw system diagram
  2. Draw data structure(s) for input(s) and
    output(s), showing correspondences, if any
  3. Form basic program structure from data structures
  4. List operations needed, and allocate to form
    elaborated program structure
  5. Produce structure text or program text

4
Basic JSP Method
  1. Draw system diagram
  2. Draw data structure(s) for input(s) and
    output(s), showing correspondences
  3. Form basic program structure from data structures
  4. List operations needed, and allocate to form
    elaborated program structure
  5. Produce structure text or program text

5
Using Jackson Workbench
  • Web publishing
  • Structure text
  • Structure diagram only
  • Hands-on

6
Jackson Workbench ExercisesConstructing Data
Structures
  • A simple book consists of pages a page consists
    of lines of text a line consists of words.
  • Model a simple book with a structure diagram
  • Demonstration of Jackson Workbench

7
Jackson Workbench ExercisesConstructing Data
Structures(cont.)
  • A regular 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.
  • Model a regular book with a structure diagram
  • Demonstration of Jackson Workbench

8
Jackson Workbench Exercises Modifying basic
multiplication table
  • Use JSP to design the multiplication table
  • Use JSP to design the three modifications of the
    multiplication table

9
A Short Bibliography
  • On-line Resources
  • Michael Jackson Home Page (articles)
  • The Jackson Software Development Methods (Steve
    Ferg)
  • My Home Page
  • 1 Cameron, J. JSPJSD The Jackson Approach to
    Software Development. IEEE Computer Society
    Press. 1983, 1989.
  • 2 Jackson, M.A. Principles of Program Design.
    Academic Press, New York, 1975.
  • 3 Jackson, M.A. Constructive Methods of Program
    Design. In Proc 1st ECI Conference 1976, pp
    236-262, Springer Verlag LNCS 44, Heidelberg
    1976. (Reprinted in Cameron 1983/89)
  • 4 Jackson, M.A. A System Development Method.
    Tools and notions for program construction An
    advanced course Nice 1981 pages 1-25 Cambridge
    University Press, 1982.
  • 5 Jackson, M.A. System Development.
    Prentice-Hall International, Chichester, U.K.,
    1983.
  • 6 Jackson, M.A. Software Requirements and
    Specification. Addison-Wesley, 1996.
  • 7 Jackson, M.A. The Origins of JSP and JSD a
    Personal Recollection. IEEE Annals of Software
    Engineering Volume 22 Number 2, pages 61-63, 66,
    April-June 2000.
  • 8 Jackson, M.A . JSP in Perspective. sdm
    Pioneers Conference, Bonn, June 2001.
  • 9 Jackson, M.A. Problem Frames. Addison-Wesley
    Longman Publishing Co., Inc. , 2001.
  • 10 Ourusoff, Nicholas. Using Jackson Structured
    Programming (JSP) and Jackson Workbench to Teach
    Program Design. (Proceedings of 2003 Informing
    Science and Information Technology Education,
    Pori, Finland, June 24-27, 2003. (Accessible at
    http//ecommerce.lebow.drexel.edu/eli/2003Proceedi
    ngs/PaperPage106.html)
  • 11 Ourusoff, Nicholas. Reinvigorating the
    Software Engineering Curriculum with Jacksons
    Methods and Ideas - ACM SIGCSE Quarterly
    Bulletin, June 2004.
  • 12  Ourusoff, Nicholas. Towards a CASE Tool for
    Jackson's JSP, JSD an Problem Frames - 1st
    International Workshop on Applications and
    Advances in  Problem Frames, ICSE May 24, 2004.

10
Appendix 1 About Michael Jackson
  • (an English computer scientist, not the pop
    star!)
  • Design Methods
  • JSP (program design method)
  • JSD (systems development method)
  • Problem Frames (problem analysis and
    decomposition)

11
Appendix 1 About Michael Jackson (continued)
  • Original ideas
  • Design reflects problem structure
  • Begin with model of the real-world
  • structure diagrams
  • patterns (anticipated later work on patterns in
    OOAD)
  • Constructive (not top-down)
  • Composition of models
  • Object-based (not functional)
  • Note See Appendix 1 2 for remarks on design
    method and methodology and for critical appraisal
    of JSP

12
Appendix 2 About JSP
  • JSP was arguably the best program design method
    during the 1970s and 1980s.
  • The UK Government chose JSP as the national
    program design standard in 1974.1
  • A 1978 survey of methods concluded that JSP is
    closer to a true methodology than any of the
    other design methodologies currently availableit
    is repeatable, teachable, reliable, and results
    in a program structure which is an excellent
    model of reality.2
  • In 1987, ACMs Literate Programmer column
    concluded that JSP leads apparently
    automatically to the best structure for the
    program.3
  • JSP remains a sound method for designing the
    class of simple programs that read and produce
    serial data streams.

13
Appendix 3 Method versus methodology
  • The distinction between method and methodology is
    often blurred. According to Jackson, a method is
    a way of doing something, whereas a methodology
    discusses the principles of one or more methods.
  • Underlying Jacksons methods are the following
    methodological principles1
  • Easier decisions should be made before difficult
    decisions.
  • Error-prone decisions should be deferred.
  • Implicit decisions should be avoided.
  • Error-prone decisions should be subjected at the
    earliest possible moment to confirmation or
    refutation.
  • Whenever possible, decisions should be
    independent of each other (orthogonal).

14
Appendix 4 Jackson Workbench
  • Jackson Workbench is a CASE tool for JSP and JSD
  • Keyword Computer Services Limited. 2002. Version
    2.04. Contact KCSL_at_BTInterent.com or
    Jim.Newport_at_BTInternet.com or 44 1494 870427
  • Structure Editor
  • intuitive editing via hot spot images that
    appear at different locations on a tree structure
    diagram indicating an operation that can be
    performed at that point simply by left-clicking
  • Generates code (C, Java, Visual BASIC, COBOL)
    and documentation
  • Under development
  • JSP works well JSD not complete
Write a Comment
User Comments (0)
About PowerShow.com