delivered system documentation u one of the most important things that can be done to make a system...
Post on 15-Jan-2016
219 views
TRANSCRIPT
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.
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.
Delivered System Delivered System DocumentationDocumentation
Wherever you go you will be expected to learn the local
standards!
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.
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.
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.
Technical ManualTechnical Manual
Avoid re-inventing the wheel! Include implementation failures
so they need not be repeated.
User SupportUser Support
Some major reasons for maintenance are:
Unreasonable user expectations Poor user training
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.
Restructuring SoftwareRestructuring Software
Over time the quality of software deteriorates!
WHY?
Restructuring SoftwareRestructuring Software
Problem: what happens -- If code is patched with
unstructured methods –
And/Or
With code that is NOT easily understood --
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.
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.
The Current Status of The Current Status of MaintenanceMaintenance
Maintenance is somewhat of an art -- as is programming itself
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.
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.
The Current Status of The Current Status of MaintenanceMaintenance
Maintaining code is VERY hard work!
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.