Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management
Corrective maintenance procedure Critical incident report Analysis of problem Identification of solution Correction of software Documentation of updates
Critical incident report format Date & time of incident Name of the person who filed the report Description of the problem Probable cause Corrective action taken
Types of errors Program logic errors due to faulty understanding of system requirements due to not considering all possible options solution is more time on analysis & requirement study
Types of errors System errors due to hardware or system software failures due to stretching of system capabilities solution is comprehensive stress testing
Types of errors Operations errors due to errors by computer department staff solution is clear instructions, standard operating procedures and frequent monitoring
Types of errors User errors due to errors by users while working on the system solution is detailed user manuals, extensive training and on-line help facility
Perfective maintenance Perfective maintenance deals not with correction of problems but with improving the efficiency of a running program. By improving 5% of the code, a 20% improvement in the program’s run time can be realized.
Common efficiency methods Reading a block of records rather than a single record Storing calculated values and reusing them Improving loops in a program Using default values
Preventive maintenance Preventive maintenance or software reengineering is required to modify computer programs so that they can be easy to maintain i.e. easy to correct, adapt or enhance.
Software configuration management Software configuration management is the art of identifying, organizing and controlling modifications to the software being developed by a programming team
Software configuration All items comprising the information produced as part of the software process are collectively known as software configuration For example, software programs, user manuals, payroll data are all software configuration items.
What is a baseline? The IEEE standard defines baseline as a specification or a product that has been formally reviewed and agreed upon that thereafter serves as a basis for further redevelopment and that can be changed only through formal change control procedures