Transcript
Page 1: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Delivered System Delivered System Documentation Documentation

One of the most important things that can be done to make a system maintainable is to create the best, most complete, set of documents that describes the system's design, development and testing.

Page 2: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Delivered System Delivered System DocumentationDocumentation

In a well-done system, the documentation effort may equal the programming effort.

Documentation standards differ from one software organization to another.

Page 3: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Delivered System Delivered System DocumentationDocumentation

Wherever you go you will be expected to learn the local

standards!

Page 4: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Technical Manual Technical Manual

a) includes a re-examination of the software specifications and design, complete with any changes that have been made.

b) The specifications and design should not be rewritten to reflect the final implementation.

Page 5: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Technical Manual Technical Manual

c) Include explanations for changes that were made.

d) Do everything you can to keep future software engineers from "reinventing the wheel" for this system.

Page 6: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Technical ManualTechnical Manual

Table of Contents and Index No matter how good your document

and program is, it needs to be organized so that things can be found.

Report Testing Efforts The major reason test documentation

is needed during maintenance is so that regression testing can be conducted.

Page 7: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Technical ManualTechnical Manual

Avoid re-inventing the wheel! Include implementation failures

so they need not be repeated.

Page 8: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

User SupportUser Support

Some major reasons for maintenance are:

Unreasonable user expectations Poor user training

Page 9: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

User SupportUser Support

Maximize the chance that users will figure out what they need to know.

Make manuals clearly written, well organized, well indexed SIMPLE.

Page 10: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Restructuring SoftwareRestructuring Software

Over time the quality of software deteriorates!

WHY?

Page 11: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Restructuring SoftwareRestructuring Software

Problem: what happens -- If code is patched with

unstructured methods –

And/Or

With code that is NOT easily understood --

Page 12: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Restructuring SoftwareRestructuring Software

The code will become less and less understandable over time

The probability of change resulting in a defect increases and the cost of adequate testing increases.

Ultimately the software should be scrapped if the cost of upgrading it approaches the cost of starting over.

Page 13: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

Restructuring SoftwareRestructuring Software

Thoughts: What can we do? 1) If changes require increasing the size

of the module, consider reorganizing the code and splitting out functionally cohesive subsections.

2) Remember to update the relevant sections of all associated documentation.

Page 14: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

The Current Status of The Current Status of MaintenanceMaintenance

Maintenance is somewhat of an art -- as is programming itself

Page 15: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

The Current Status of The Current Status of MaintenanceMaintenance

Maintenance today includes work being done on programs that were written ten or twenty years ago.

These programs, including such things as payroll systems and compilers, are large enough and used widely enough to be worth maintaining.

Page 16: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

The Current Status of The Current Status of MaintenanceMaintenance

But, maintaining “old” code requires an understanding of the methodologies, languages and style in use at the time the software was written.

Page 17: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

The Current Status of The Current Status of MaintenanceMaintenance

Maintaining code is VERY hard work!

Page 18: Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,

The Current Status of The Current Status of MaintenanceMaintenance

Sometimes, the only thing available for a system that needs maintenance is the object code

Sometimes, the only information you may have about how a program works and what it does is to consult with users who will give often conflicting responses.


Top Related