Home ] in house classes ] in house courses ]


Much of our software is dying. Not just unimportant and infrequently used software, but our backbone systems — the systems we depend on every day for the basic functioning of our organizations. These critical systems have been patched, restructured, and reworked to the point that the software can barely do what was originally intended. And the software is becoming so increasingly brittle that only the slightest problem can bring some systems to their knees. Clearly, something is very wrong with the way we maintain our systems. Software maintenance, mostly modification and enhancement, is without a doubt the largest single expense incurred by data processing shops today. And in most shops it is largely an uncontrolled and unmanaged expense as well. Although most organizations are very concerned with productivity and quality assurance in the development of new software, few are as concerned with the maintenance of that software. We continue to use maintenance as a proving ground for trainees — leaving the job of protecting our investment in software in the hands of people most likely to damage it.

In the Data Structured Software Maintenance course, the importance of the software modification job is stressed, along with proven, easy to understand techniques for modifying existing code. Through a technique called “incremental redesign,” the parts of the systems being modified most frequently are documented and improved as they undergo modification. This method naturally impacts first the software that needs it most. Techniques for improving the maintainability of existing programs are presented in the course, along with methods for attacking complex programs and making them simpler. Numerous exercises and examples give the student “hands on” experience with the modification methods being presented. The end result is that the student can begin using the techniques immediately.


Course Information

     Who Should Attend 

  Software developers, programmers, programmer analysts, and analysts wishing to know more about the internal design and modification of good programs. Knowledge of a high-level language is desirable, but not required.


  Course Length 

 Three days divided into 6 segments of 3 hours each, with lunch and coffee breaks.

Course Outline

1. Introduction
2. Background

  A. Traditional Maintenance
  B. Maintenance Problems  
  C. Good Programs                 
3. Fundamental Concepts
  A. Output Oriented               
  B. Logical Before Physical 
  C. Data Structured                
  D. Sets, Subsets, and Mappings
  E. Structure                             
4. Methodology
  A. Logical Design                  
     1. Logical Output Structure
     2. Logical Data Structure
     3. Logical Output Mapping
  B. Physical Design                
    1. Augmentation        
    2. Physical Output Mappings
         a. Structure Clashes
          b. Inverted Hierarchies
     3. Physical Input Mappings
  C. Software Modification  
      1. Documenting Existing Logic
      2. Improving Maintainability
      3. Incremental Redesign
      4. Sources for Requirements
   D. Maintaining Large Programs
5. Case Study  
6. Conclusion

   A. Getting Started                  
   B. Critical Success Factors 



Other courses available on the  

Warnier/Orr Data Structured Systems Development Methodology 

End - User Requirements Definition

Data Structured Systems / Data Base Design

Data Structured Program Design

These classes are available for presentation in an in-house format; they may be offered as a public course if there is sufficient interest in a particular geographic area. For availability and pricing, please call us at   785 . 228 .1200.

  Home ] in house classes ] in house courses ]

  The Ken Orr Institute  

5883 S.W. 29th St., Suite 101, Topeka, KS 66614

Phone: 785.228.1200 Fax: 785.228.1201
Email: webmaster@kenorrinst.com