user errors, such as misspelling keywords or entering invalid commands, is one remedy. Error detection in programs is handled in a similar manner. Error tolerance strategies keep the system running even in the presence of errors. When systems are installed, they generally are used for long periods. The average life of a system is 4 to 6 years, with the oldest application often in use for over 10 years. Several studies of maintenance have examined the type of tasks performed under maintenance. The broad classes maintenance found in information systems
environments are corrective, adaptive and perfective. Once systems are installed, the need for debugging and correcting errors or failures on an emergency basis is comparatively low less than 20 percent of the tasks are for correction. Software design should be guided by modularity and partitioning , coupling,
cohesion, span of control , size and shared use. Well – designed, modular software is more likely to meet the maintenance,
reliability, and testing requirements. Three specific tools are discussed Structured flowcharts, HIPO diagrams, and Warnier / Orr diagrams. Quality assurance is the review of software products and related documentation for completeness,
correctness, reliability, and maintainability. And, of course, it includes assurance that the system meets the specifications and the requirements for its intended use and performance. Four levels of quality assurance testing,
verification, validation, and certification. The philosophy behind testing is to find errors. There are two general plans for testing software The strategies of code testing ad specification testing. Systems are not designed as entire systems nor are they tested as single systems. The analyst must perform both unit and integration testing. There are other tests that are in special category, since they do not focus on the normal running of the system. Six tests are essential. Peak load testing,
storage testing, performance time testing, recovery testing, procedure testing, and human factor testing. A well-designed system should have controls to ensure proper operation and routine auditing. A candidate systems failure often results from lack of emphasis on data control. Therefore,
standards of accuracy, consistency and maintainability must be specified to eliminate errors and control for fraud. An important function of system controls is providing for an audit trail. An audit trail is a routine designed to allow the analyst, user or auditor to verify a processor an area in the new system.