The Essence of Program DesignThe Prentice Hall Essence of Computing Series privides a concise practical and uniform introduction to the core components of an undergraduate computer science degree. Acknowledging recent changes within Higher Education, this approach uses a variety of pedagogical tools-case studies, worked examples and self-test questions to underpin the student's learning. Program Design is about the way that the programmer creates a structure for their program. The theme of this book is that there are a number of commonly used approaches to program design. Each approach is valid within its own area of application, but some methods are general purpose; other have a specific application area. This book provides the information that enables prgrammers to select the method that is best for themselves and for the application. It describes the varied range of design methods available to the programmer, with each method explained, assessed and compared. It is aimed at students who have used one prgramming language and who have written seveal small-to-medium sized programs. The language used may have been Ada. Basic, C, C++COBOL, Pascal, Smalltalk etc., but this book does not use any particular programming language. |
Contents
Structured programming | 7 |
Functional decomposition | 22 |
The Michael Jackson program design method | 33 |
Copyright | |
10 other sections not shown
Common terms and phrases
abstract actions appropriate Borrow bottom-up bubble button calculator CATNO chapter class hierarchy Cloaned components consists constructed cyclomatic complexity data flow design data flow diagram data structure diagram data types described design approach display endif endwhile Evaluation Special features example expressed features and strengths Flowcharts formal methods formal specification functional decomposition further reading global data goto statements graphical identify implementation Inappropriate applications information hiding initialise input interaction between modules Jackson method large-scale design loaned mathematical modularity module Nassi-Shneiderman charts notation object-oriented design objects OO design operation output parameters Petri nets Philosophy/perspective piece of software problem procedure calls program structure diagram programming language pseudo-code References and further refinement requirements schema screen sequence shelved shown in Figure small-scale design Smalltalk software development structure chart structured programming subclasses superclass systematic Tool support top-down transformation transition diagrams understand video game



