Software Quality : The Elusive Target

Slides:



Advertisements
Similar presentations
Chapter 17 I.Omaima Al-Matrafi
Advertisements

Stepan Potiyenko ISS Sr.SW Developer.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Software Quality Metrics
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
SAK5102 Software Evaluation Measuring External Attributes.
SE 555 – Software Requirements & Specifications Introduction
CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.
Software Process and Product Metrics
Introduction to Software Testing
Non-functional requirements
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Capability Maturity Model
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Software Quality SEII-Lecture 15
Software Project Management Fifth Edition
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Introduction to Software Quality Assurance (SQA)
COURSE TITLE: 1 Software Quality Assurance. Course Aims Introduction to software quality assurance. Software testing terminology. Role and responsibility.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Test Organization and Management
Sept - Dec w1d11 Beyond Accuracy: What Data Quality Means to Data Consumers CMPT 455/826 - Week 1, Day 1 (based on R.Y. Wang & D.M. Strong)
Quality Models and Quality Attributes. Outline  Process and product quality Improving the quality of the process can improve the quality of the product.
Software System Engineering: A tutorial
CSE 303 – Software Design and Architecture
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Software Quality Engineering Chapters 1-3 Overview, Software Quality and Quality Assurance.
Copyright © Jerzy R. Nawrocki ISO 9126 and Non-functional Requirements Requirements.
Software Measurement & Metrics
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Lecture 7: Requirements Engineering
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Software Testing and Quality Assurance Software Quality Assurance 1.
Software Methods Mö/ slide 1 Methods and Techniques of Software Quality Management ICEL Quality Management Systems: Methods and Techniques of Software.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
Quality Models in Software Engineering Literature: An Analytical and Comparative Study Rafa E. Al-Qutaish, PhD Al Ain University of Science and Technology.
Software Testing for Intelligent Robots Justin Peckner Maria Velasquez November 13, 2012.
CSSE Software Engineering Process and Practice Lecture 5 Q UALITY A SSURANCE.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
Chapter 13: Software Quality Project Management Afnan Albahli.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
CSE 303 – Software Design and Architecture
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Software Quality Prepared By: Rooshabh Kothari Assistant Professor T & P Co-ordinator CSE/IT Department 1.
Project Management Quality Management. Introduction Project planning Gantt chart and WBS Project planning Network analysis I Project planning Network.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
SOFTWARE QUALITY ASSURANCE LECTURE # 2 SOFTWARE QUALITY.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
 System Requirement Specification and System Planning.
ISQB Software Testing Section Meeting 10 Dec 2012.
TOTAL QUALITY MANAGEMENT
A Hierarchical Model for Object-Oriented Design Quality Assessment
Software Quality Control and Quality Assurance: Introduction
Software Verification and Validation
Source & Courtesy: Doc. S. Dapkūnas
Quality Exercise 2 Instructions
McCall’s Quality Factors
Software Testing and Quality Assurance
Quality Exercise 2 Instructions
Software engineering.
Introduction to Software Testing
Charakteristiky kvality
Software Quality Assurance Lecture 3
Software Quality Assurance 2015
ISO/IEC Systems and software Quality Requirements and Evaluation
Software Verification and Validation
Presentation transcript:

Software Quality : The Elusive Target Kitchenham B. & Pfleeger S. L. January, 1996 IEEE Software Zhenyu Wu Software Quality CS5391 Spring 2003

Introduction Questions: What do you really mean by software quality (SQ)? Is your definition adequate? How to evaluate your product’s SQ ? How to measure SQ? How to achieve SQ? Software Quality CS5391 Spring 2003

Meaning of SQ A good definition should let us measure quality in a meaningful way Measurements let us know if techniques improve quality how process quality affects product quality how quality methods affect product quality during use Is the investment in SQ methods profitable? Software Quality CS5391 Spring 2003

Meaning of SQ… Depends on how you approach software quality Different groups involved have different views Product-based Process-based People believe quality is important and can be improved Software Quality CS5391 Spring 2003

Views of SQ SQ can be perceived in various domains (philosophy, economics, marketing and operations management) SQ is complex and multifaceted concept and can be described from five different perspectives Transcendental view User view Manufacturing view Product view Value-based view Software Quality CS5391 Spring 2003

Transcendental View See quality as something that can be recognized but not defined Quality as something toward which we strive as an ideal, but may never implement completely Abstract sense Software Quality CS5391 Spring 2003

User View More concrete, grounded in the product characteristics that meet user’s needs Evaluate product in a task context can be personalized view Asses product behavior with respect to operational profiles Related to product usability and reliability Software Quality CS5391 Spring 2003

Manufacturing View Focus on product quality during production and after delivery Concerns whether or not the product was constructed “right the first time” Can lead to quality assessment independent of the product Adapted by ISO 9001 and CMM, advocates conformance to process rather than to specification Software Quality CS5391 Spring 2003

Product View Consider the product’s inherent characteristics, looks inside Assumption : measuring and controlling internal product properties will result in improved external product behavior More research needed to conform this assumption Software Quality CS5391 Spring 2003

Value-Based View Different views can be held by different groups involved in software development user’s requirement for a useful product conflict with manufacturer’s goal of minimizing rework consider the trade-offs between cost and quality manage conflict  design to cost compare with potential benefits This view tries to bring in compromise between different groups and views Software Quality CS5391 Spring 2003

Measuring Quality We need to measure quality so we can: Establish baselines Predict likely quality Monitor improvement Product attributes contribute to user satisfaction are a mixture of: product’s functions product’s nonfunctional qualities constraints ISO definition of quality: the totality of characteristics of an entity that bear on its ability to satifsfy stated and implied needs. Software Quality CS5391 Spring 2003

Measuring user's view Reliability: how long the product functions properly between failures Usability: including ease of installation, learning and use Tom Gilb’s technique: characteristics can be measured directly Example: Learning time = average elapsed time (in hours) for a typical user to achieve stated level of competence Software Quality CS5391 Spring 2003

Measuring user's view… This technique can be generialized to any quality feature The quality concept is broken down into component parts until each can be stated in terms of directly measurable attributes Software Quality CS5391 Spring 2003

Measuring the Manufacturer's View Defects count Count the number of known defects recorded during development and use Can compare modules, products or projects (with same way and same time) Relationship between defects count and operational failures is unclear Can indicate test efficiency and identify process improvement areas Software Quality CS5391 Spring 2003

Measuring the Manufacturer's View… Rework costs Any additional effort required to find and fix problems after documents and code are formally signed-off as part of configuration management Count debugging effort during integration and testing Not count end-phase verification and validation Pre-release rework: measure manufacturing efficient and process improvement Post-release rework: measure of deliverd quality Software Quality CS5391 Spring 2003

Modeling Quality Several models have been built to understand and measure quality Old Models McCall’s model ISO 9126 New model Dromey’s model Software Quality CS5391 Spring 2003

McCall's Model Defines product qualities as hierarchy of factors, criteria and metrics: Quality factor represents behavior characteristic of the system Quality criterion is an attribute of a quality factor that is related to software production and design Quality metric is a measure that captures some aspect of a quality criterion. Software Quality CS5391 Spring 2003

McCall's quality Model… The metrics have to be answered with ‘yes’ or ‘no’ answer The final quality is assessed by dividing the ‘yes’ answers by the total number of questions chosen to describe the quality Software Quality CS5391 Spring 2003

McCall’s Model… Software Quality CS5391 Spring 2003

ISO 9126 Six characteristics, completely hierarchical Quality charactertistics are divided into sub-characteristics which can be measured using metrics Recommends measuring the char-acteristics directly, but does not indicate clearly how to do it Software Quality CS5391 Spring 2003

Quality Characteristic Definition Functionality A set of attributes that bear on the existence of a set of functions and their specified propertise. The functions are those that satisfy stated or implied needs. Relibity A set of attributes that bear on the capability of software to maintain its performance level under stated conditions for a stated period of time. Usablity A set of attributes that bear on the effort needed for use and on the individual assessment of such use by a stated or implied set of users. Software Quality CS5391 Spring 2003

Efficiency Maintainability Portability A set of attributes that bear on the relationship between the software’s performance and the amount of resources used under stated conditions. Maintainability A set of attributes that bear on the effect needed to make specified modifications (which may include correction, improvements, or adaptations of software to environmental changes and changes in the requirements and functonal specifications). Portability A set of attributes that bear on the ability of software to be transferred from one environment to another (this includes the organizational, hardware or software environment). Software Quality CS5391 Spring 2003

ISO 9126… Functionality Reliebility Usability Suitability Accurecy Interoperability Secuity Functionality Materity Fault Telerance Recoverability Reliebility Understandability Learnability Operability Usability Characteristics Sub-characteristics Software Quality CS5391 Spring 2003

ISO 9126… Effiency Maintainability Portability Time behavior Resource behavior Analyzability Changeability Stability Testability Maintainability Adaptability Installability Conformance Replaceability Portability Characteristics Sub-characteristics Software Quality CS5391 Spring 2003

Main Differences between Mccall’s and ISO 9126 model with different quality frame quality factor not hierarchical ISO 9126 work and terminology quality characteristic and subcharacteristics completely hierarchical Software Quality CS5391 Spring 2003

Model Problems Lack rationale for determining which factor should be included in the quality definition Lack rationale for deciding which criteria relate to a particular factor The measure of metrics can be too subjective Does not describe how lower level metrics are composed into an overall assessment of higher level quality characteristics Software Quality CS5391 Spring 2003

Dromey's models (new model) Higher level quality attributes cannot be measured or built directly Higher level quality can be achieved by building components which exhibit a consistent, harmonious and complete set of product properties that result in manifestations of quality attributes Can allow us to verify models Software Quality CS5391 Spring 2003

Business Value of Quality Businesses invest valuable money for obtaining good software, we have to pay them back in good We should be careful in assessing and providing software with good quality How much "less than perfect" software are the businesses willing to accept should be determined Software Quality CS5391 Spring 2003

Conclusion Quality is a complex concept; It means different things to different people You must define aspects of quality in which you are interested Quality should be defined in a measurable way, so that it can be understood and verified Quality must be related to business goals Software Quality CS5391 Spring 2003