Acknowledgments Foreword Introduction 1 Maintenance
Problems 1.1 Psychological Objections 1.2 Technical Issues 1.3
Summary Questions for Discussion 2. Good
Programs 2.1 Existing Software 2.2 Structured Programs 2.3 Good
Programs: A Definition 2.4 Unstructured Programs 2.4.1
Bad Programs 2.4.2 GOTOless Programs Example 2.5 Summary
Questions for Discussion 3. Improving Program Maintainability
3.1 Maintenance Factors 3.1.1 Use Meaningful
Names 3.1.2 Improve the Organization 3.1.3 Improve the Documentation
3.1.4 Redesign the Program 3.1.5 Reorganize the Data in the Data Base
3.1.6 Revise System Requirements and Organization Plans 3.2
Summary Questions for Discussion 4. Program
Design 4.1 Fundamental Concepts 4.2 Mappings 4.2.1
Logical Mapping 4.2.2 Physical Mappings 4.3 Summary
Questions for Discussion 5. Logical Design 5.1
Creating the Logical Output Structure 5.2 Developing the Logical Data Structure
5.3 Creating the Logical Output Mapping 5.4 Summary Questions
for Discussion 6. Physical Design 6.1 Determining
Physical Consideration 6.2 Developing the Augmented LOM 6.3 Manipulating
Control Data 6.4 Developing the Physical Output Mapping 6.5 Developing
the Physical Input Mapping 6.6 Summary Questions for Discussion 7.
Maintaining Good Designs 7.1 Understanding Program Entropy 7.2 Updating
Program Design Documentation 7.3 Organizing the Documentation Package
7.3.1 Introduction 7.3.2 Output Definition 7.3.3 Logical Design
7.3.4 Physical Design 7.4 Documenting Complex Output's
7.5 Motivating Maintainers to Update Documentation 7.6 Summary
Questions for Discussion 8. Program Repair
8.1
Aspects of Maintainability 8.2 Repairing Existing Programs 8.3 Limitations
of the Method 8.4 Summary Questions for Discussion 9.
Modifying Traditional Programs 9.1 Program Redesign 9.2 Sources
for Program Requirements 9.2.1 Program's Output 9.2.2 Program's
Input 9.2.3 Former Programmers and Users 9.2.4 Existing Documentation
and Regulations 9.2.5 Source Code 9.3 Improved Modifiability
from Requirements 9.4 Summary Questions for Discussion 10.
Program Enhancement: Part One 10.1 Adding an Output
10.1.1 Evaluating the Design 10.1.2 Modifying the Code 10.2
Summary Questions for Discussion 11.
Program Enhancement: Part Two 11.1 Modifying the Data Content 11.2
Developing the Logical Redesign 11.3 Reorganizing the Existing Program
11.4 Creating the New Physical Design 11.5 Summary Questions
for Discussion 12. Maintaining Large Programs
12.1 Applying DSPD to Large Programs 12.2 The Evolution of Large Programs
12.3 Similarity of Large Programs to DP Systems 12.4 Timing 12.5 Summary
Questions for Discussion 13. Getting Started 13.1
Structured Maintenance 13.2 Expected Problem Areas 13.3 Productivity and
New Technology 13.4 Tooling Up 13.5 Summary Questions
for Discussion Appendix A Warnier/Orr Diagrams Hierarchy
Sequence Repetition Alternation Concurrency Recursion Appendix
B Coding Warnier/Orr Designs Coding Conventions Coding Constructs
Sample Program Summary Bibliography Index
Back to the Book Page
|