140 likes | 164 Views
Presentation 11. Assuring the quality of software maintenance components. Introduction The foundations of high quality maintenance Foundation 1: software package quality Foundation 2: maintenance policy Pre-maintenance software quality components Maintenance contract review
E N D
Presentation 11 Assuring the quality of software maintenance components • Introduction • The foundations of high quality maintenance • Foundation 1: software package quality • Foundation 2: maintenance policy • Pre-maintenance software quality components • Maintenance contract review • Maintenance plan • Maintenance software quality assurance tools • SQA tools for corrective maintenance • SQA tools for functionality improving maintenance • SQA infrastructure components for software maintenance • Managerial SQA tools for software maintenance
Software maintenance Corrective maintenance Adaptive maintenance Functionality improvement maintenance Perfective maintenance Preventive maintenance Software maintenance components 54-60% 23-24% 17-22% + User support service
Types of Maintenance • Corrective maintenance is concerned with fixing errors that are observed when the software is in use • Adaptive maintenance is concerned with the change in the software that takes place to make the software adaptable to new environment such as to run the software on a new operating system. • Perfective maintenance is concerned with the change in the software that occurs while adding new functionalities in the software. • Preventive maintenance involves implementing changes to prevent the occurrence of errors.
User’s difficulties • Software failure • Documentation failure • Incomplete, vague or imprecise documentation • User’s insufficient knowledge
Foundation 1: Software package quality Quality factors of high impact on software maintenance
Foundation 2: Maintenance policy • Version development policy • Sequential version policy • Tree version policy (branching and new version rules) • Change policy (permissive/balanced)
Pre maintenance SQA components Maintenanace contract review • Customer requirements clarification • Review of alternative approaches to maintenance provision • Review of estimates of required maintenance resources • Review of maintenance services to be provided by subcontractors and/or the customer • Review of maintenance costs estimates
Pre maintenance SQA components Preparation of a Maintenanace plan • A list of the contracted maintenance services (external and internal customers) • A description of the maintenance team's organization • A list of maintenance facilities • A list of identified maintenance service risks • A list of required software maintenance procedures and controls • The software maintenance budget
SQA tools for corrective maintenance • Contractor-Subcontractor contract (for outsourcing maintenance services) - Procedures for handling maintenance calls - Full documentation of the service procedures - Availability of records - Certification for the contractor - Quality-related conditions
SQA tools for functionality improving maintenance • Project life cycle tools (reviews & testing) Tools are also implemented for large-scale adaptive maintenance tasks.
SQA infrastructure components for software maintenance • Maintenance procedure and work instruction • Supporting quality devices • Training and certification of maintenance teams • Preventive and corrective actions • Configuration management • Maintenance documentation and quality record control
Managerial SQA tools for software maintenance • Performance controls for corrective maintenance services • Quality metrics for corrective maintenance • Cost of software maintenance quality
Cost of software maintenance quality • Cost of prevention • Cost of appraisal • Cost of managerial preparation and control • Cost of internal failure • Cost of external failure • Cost of managerial failure