System Implementation Ashima Wadhwa Software Quality Assurance What

  • Slides: 19
Download presentation
System Implementation Ashima Wadhwa

System Implementation Ashima Wadhwa

Software Quality Assurance • What is “quality”?

Software Quality Assurance • What is “quality”?

Software Quality Assurance • What is “quality”? • IEEE Glossary: Degree to which a

Software Quality Assurance • What is “quality”? • IEEE Glossary: Degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations

Software Quality Assurance • What is “quality”? • IEEE Glossary: Degree to which a

Software Quality Assurance • What is “quality”? • IEEE Glossary: Degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations • ISO: the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs

Software Quality Assurance • An alternate view of Quality: • • • is not

Software Quality Assurance • An alternate view of Quality: • • • is not absolute is multidimensional, can be difficult to quantify has aspects that are not easy to measure assessment is subject to constraints (e. g. , cost) is about acceptable compromises criteria are not independent, can conflict

Software Quality Assurance • Quality Criteria include: • • • correctness efficiency flexibility integrity

Software Quality Assurance • Quality Criteria include: • • • correctness efficiency flexibility integrity interoperability maintainability portability reliability reusability testability usability

What is Software Quality Assurance (SQA)? • “Set of systematic activities providing evidence of

What is Software Quality Assurance (SQA)? • “Set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use” • G. Schulmeyer and J. Mc. Manus, Software Quality Handbook, Prentice Hall, 1998.

What is SQA? • Monitoring processes and products throughout the software development lifecycle to

What is SQA? • Monitoring processes and products throughout the software development lifecycle to ensure the quality of the delivered product(s) • Monitoring the processes • Provides management with objective feedback regarding process compliance to approved plans, procedures, standards, and analyses • Monitoring the products • Focus on the quality of product within each phase of the SDLC • e. g. , requirements, test plan, architecture, etc. • Objective: identify and remove defects throughout the lifecycle, as early as possible

Software Maintenance

Software Maintenance

Software Maintenance - Terminology u Software Maintenance – consists of the activities required to

Software Maintenance - Terminology u Software Maintenance – consists of the activities required to keep a software system operational and responsive after it is accepted and placed into production. u Software Evolution – a continuous change from a lesser, simpler, or worse state to a higher or better state u Software Maintainer – person whose mission is to support existing software systems

Software Maintenance Problems u Most computer programs are difficult and expensive to maintain u

Software Maintenance Problems u Most computer programs are difficult and expensive to maintain u Software changes are poorly designed and implemented u The repair and enhancement of software often injects new bugs that must later be repaired

Relative Costs of Maintenance 3% Requirements definition 3% Preliminary design 5% Detailed design 7%

Relative Costs of Maintenance 3% Requirements definition 3% Preliminary design 5% Detailed design 7% Implementation 15% Testing 67% Operations and Maintenance

Software Development and Maintenance Differences – Constraints of an existing system » Changes must

Software Development and Maintenance Differences – Constraints of an existing system » Changes must conform or be compatible with an existing architecture, design and code constraints – Shorter time frames » Development spans 1 or more years or up to 6 months Maintenance spans hours – Available test data » Development creates all test data from scratch Maintenance uses existing test data with regression testing creating new data for the changes

Maintenance Categories u Corrective maintenance u Adaptive maintenance u Perfective maintenance u (Preventative maintenance

Maintenance Categories u Corrective maintenance u Adaptive maintenance u Perfective maintenance u (Preventative maintenance - Pressman)

Corrective Maintenance u focuses on fixing defects u is a reactive process – i.

Corrective Maintenance u focuses on fixing defects u is a reactive process – i. e. defects generally need to be corrected either immediately or in the near future u Defects – refer to the system not performing as originally intended or as specified in the requirements

Adaptive Maintenance u includes all work related to how the software functions – i.

Adaptive Maintenance u includes all work related to how the software functions – i. e. relates to enhancing software functionality u includes all changes to meet the evolving needs of the user and the environment – i. e. system changes, additions, insertions, deletions, modifications, extensions and enhancements

Perfective Maintenance u includes all efforts to improve the quality of the software u

Perfective Maintenance u includes all efforts to improve the quality of the software u includes restructuring code, creating and updating documentation, improving reliability or efficiency Maintenance work in the above categories is often performed concurrently

The Maintenance Process u begins when a request for change is initiated by a

The Maintenance Process u begins when a request for change is initiated by a user u ends when the system passes testing, is accepted by the user and is released for operation u in between there are many activities that must be planned and co-ordinated by use of Change Management

Thank You

Thank You