seng 521 software reliability & software...

67
SENG 521 SENG 521 Software Reliability & Software Reliability & Software Reliability & Software Reliability & Software Quality Software Quality Chapter 4: Software Quality Chapter 4: Software Quality Department of Electrical & Computer Engineering, University of Calgary B.H. Far [email protected]B.H. Far [email protected]http://www.enel.ucalgary.ca/People/far/Lectures/SENG521

Upload: others

Post on 14-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

SENG 521SENG 521Software Reliability & Software Reliability & Software Reliability & Software Reliability & Software QualitySoftware Qualityyy

Chapter 4: Software QualityChapter 4: Software Quality

Department of Electrical & Computer Engineering, University of Calgary

B.H. Far ([email protected])B.H. Far ([email protected])http://www.enel.ucalgary.ca/People/far/Lectures/SENG521

Page 2: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ContentsContentsS ft lit Software quality

Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l tMcCall’s model, ISO 9126 model, etc.

Software quality standards and metrics Measuring customer satisfaction Software quality assurance (SQA) Software quality management

[email protected] 2

Page 3: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

What is Quality?What is Quality?Q i iQ i i Quality popular views:Quality popular views: Something “good” but not

ifi blquantifiable Something luxury and classy

Quality professional views:Quality professional views: Conformance to requirement

(Crosby, 1979) Fitness for use (Juran, 1970)

[email protected] 3

Page 4: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Software Quality: DifficultiesSoftware Quality: Difficultiesd f Need to account for

“creativity” in the “design” of h d d h

Leonardo da Vinci

the product and the “requirements” rather than the

d i lf

Mona Lisa(1479)

product itself.

Kind of art … Which one has a higher Pablo Picasso Which one has a higher

quality?Pablo Picasso

Dorra Maar(1937)

[email protected] 4

Page 5: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

What is Software Quality? /1What is Software Quality? /1 ConformanceConformance to requirementto requirement Conformance Conformance to requirementto requirement

The requirements are clearly stated and the product must conform to itWhat isWhat is

SpecifiedSpecifiedWhat isWhat is

SpecifiedSpecifiedp

Any deviation from the requirements is regarded as a defectWhatWhat

SWSW

SpecifiedSpecifiedSpecifiedSpecified

A good quality product contains fewer defects

Fitness for useFitness for use

SW SW doesdoes WhatWhat

usersusersneedneed

WhatWhatusersusersneedneed

Fitness for useFitness for use Fit to user expectations: meet user’s needs

A good quality product provides better A good quality product provides better user satisfaction

[email protected] 5Both Both Dependable computing systemDependable computing systemBoth Both Dependable computing systemDependable computing system

Page 6: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

What is Software Quality? /2What is Software Quality? /2i i i / iVarious viewpoints/perspectives:

Conformance to customers’ requirements Requirement, design and development quality Process quality vs end-product quality Process quality vs. end product quality

Process quality: higher usability and dependability End product quality: less failure End-product quality: less failure

Internal vs. external characteristicsR l i i d i il d Relativity: advantage over similar products

Conformance: conformance to standards

[email protected] 6

Page 7: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Definition: Software QualityDefinition: Software Quality

ISO 8402 definition of quality: The totality of features and characteristics of a y f f f

product or a service that bear on its ability to satisfy stated or implied needsfy p

ISO 9126 definition of quality:Th t t lit f f t d h t i ti f The totality of features and characteristics of a software product that bear on its ability to satisfy t t d i li d dstated or implied needs

[email protected] 7

Page 8: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Software Quality: ClassificationSoftware Quality: Classification

B b ti By observation: Internal quality (quality while the product is

b i d d i l di d h k )being produced, including process and checks) External quality (final product quality)

By process: Design qualityDesign quality Implementation quality Test quality Test quality Maintenance quality

[email protected] 8

Page 9: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Software Quality Software Quality Software Quality Software Quality ModelsModels

Page 10: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Modeling Software QualityModeling Software Qualityk h “ li ” Purpose: To make the concept “quality”

operational via refinement and measurement Selecting some attributes (or factors) Plotting relationship among attributes (many-to-g p g ( y

many relationships)oror Selecting some criteria (or intermediate and

primitive constructs) to represent the attributesprimitive constructs) to represent the attributes Mapping criteria (or primitive constructs) to metrics

[email protected] 10

Page 11: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Quality Model Quality Model –– StructureStructure

SW QualitySW QualityUser oriented

Quality Factor 1Quality Factor 1

Quality Factor 2Quality Factor 2

Quality Factor nQuality Factor n......

Quality Quality Quality Quality Quality Quality Quality Quality yCriterion

1

yCriterion

1

yCriterion

m

yCriterion

m......

yCriterion

2

yCriterion

2

yCriterion

3

yCriterion

3Software oriented

MeasuresMeasures

Kapitel 3.1.2 [email protected]

Page 12: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Example: Attribute ExpansionExample: Attribute ExpansionD i b blD i b bl Quality objective Design by measurable Design by measurable objectives:objectives:Incremental design is

Quality objective

Incremental design is evaluated to check whether the goal for each increment

Availability User friendliness

the goal for each increment was achieved.

% of planned Days on job to% of planned System uptime

Days on job to learn task suppliedBy new system

Worst: 95%Best: 99%

Worst: 7 daysBest: 1 day

[email protected] 12

Page 13: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Example: CUPRIMDA ModelExample: CUPRIMDA ModelQ lit t Quality parameters (parameters for fitness):fitness): Capability Usability Usability Performance ReliabilityReliability Installability Maintainabilityy Documentation Availability

Reference: S.H. Kan (1995)

[email protected] 13

Page 14: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Example: Boehm’s ModelExample: Boehm’s Model

[email protected] 14Figure from Fenton’s Book

Page 15: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Example: McCall’s ModelExample: McCall’s Model(11) (25) (41)(11) (25) (41)

[email protected] 15Figure from Fenton’s Book

Page 16: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

McCall Model ElementsMcCall Model Elements McCall quality model is organized McCall quality model is organized

around three types of Elements:Quality Factors (To specify): They Quality Factors (To specify): They describe the external view of the software, as viewed by the users. so twa e, as v ewed by t e use s.

Quality Criteria (To build): They describe the internal view of the software, as seen by the developer.

Quality Metrics (To control): They are defined and used to provide a scale and method for measurement.

[email protected]

Page 17: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

SATCSATC* Software Quality Model* Software Quality Model*S f A *Software Assurance Technology Center (1996)(1996)

NASA Goddard Space Flight Center

[email protected] 17

Page 18: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Quality Model: ISO 9126Quality Model: ISO 9126

[email protected] 18

Page 19: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Flexible Quality ModelFlexible Quality ModelN d t ti k t fi d ( bli h d) d l No need to stick to a fixed (published) model.

You can define your own quality model y q ybased on users (customers and company) consensus. The model will be composed of pquality attributes which are important for the given product.g p

The model should be verified by actual measurementmeasurement.

[email protected] 19

Page 20: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ProcessProcess--oriented Quality Models oriented Quality Models

h i li Purpose: To characterize process quality Measure process and product attributes Examples of Process Attributes:

Effort (person-months)o (pe so o s) Duration (months)

Examples of Product Attributes: Examples of Product Attributes: Code size (#classes)

Test set size (#test cases) Test set size (#test cases) Correctness (#defects)

[email protected]

Page 21: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Example: Defect DistributionsExample: Defect DistributionsC bi i f (i) d f b Combination of (i) defect number, (ii) injection to detection period, and (iii) defect origin can be used to

s

( ) gmeasure development (process) quality.G l R d b f d f

Def

ects Goal: Reduce number of defects

that cross process step boundaries0 Process activity

of defect discovery

#

# Coding defects

# Design defects

# Requirements spec defects# Requirements spec. defects

[email protected]

Page 22: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Effort DistributionEffort Distribution

s

Development effort distribution over process

son-

hour

s steps should make rework shares explicit.

# Pe

rs

Goal: Detect and reduce rework.

Design Coding TestT t t i d k D i dProcess Activity Test triggered rework on Design and CodeCoding triggered rework on Design

Normal effort of activityNormal effort of activity

[email protected]

Page 23: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Software Quality Software Quality Software Quality Software Quality StandardsStandards

Page 24: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Software Quality StandardsSoftware Quality Standards

Software quality management standards (e.g., ISO 9000 series) covered in SENG 511

Software process quality assessment standards p q y(e.g., ISO15504 / SPICE) covered in SENG 511

Software quality measurement standards (e.g., ISO 9126)ISO 9126) explained here

[email protected]

Page 25: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO ISO 9126: 9126: PartsPartsSO/ C 9126 1 2001 S f i i ISO/IEC 9126-1:2001 Software engineering --

Product quality -- Part 1: Quality model ISO/IEC TR 9126-2:2003 Software engineering --

Product quality -- Part 2: External metrics ISO/IEC TR 9126-3:2003 Software engineering --

Product quality -- Part 3: Internal metrics q y ISO/IEC TR 9126-4:2004 Software engineering --

Product quality -- Part 4: Quality in use metricsProduct quality Part 4: Quality in use metrics

[email protected]

Page 26: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

DefinitionDefinitionSoftware Quality CharacteristicsSoftware Quality Characteristics

ISO 9126:

Software Quality CharacteristicsSoftware Quality Characteristics

ISO 9126:“A set of attributes of a software product bysoftware product by which its quality is described and evaluated. A software quality characteristic may be refined into multiple levels of sub-h t i ti ”characteristics.

[email protected]

Page 27: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO ISO 9126: 9126: Quality Quality LifecycleLifecycle

Internal metrics do not rely on software execution ( static measures)

External metrics are applied to running software Quality-in-use metrics are applied when the finalQuality in use metrics are applied when the final

product is used in real conditions

Ideally, internal quality

determines external quality

and external quality

determines quality in use.

[email protected]

Failure density

Failure intensity

AvailabilityExample:

Page 28: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126: ISO 9126: Part 1: Quality model Part 1: Quality model ISO/IEC 9126 1: (Released in 2001) ISO/IEC 9126-1: (Released in 2001)

Information technology - Software quality characteristics & metrics - Part 1: Quality characteristics and subcharacteristics.

This part provides the concepts introduced in the original standard is a recommended quality model which categorizesstandard is a recommended quality model which categorizes software quality in six characteristics, which are further sub-divided into subcharacteristics. The subcharacteristics have been moved from the annex to become part of the standardbeen moved from the annex to become part of the standard. They have been reworded and several new ones added.

There is also a definition of quality in use which defines the user’s view as a result of using the softwareuser s view as a result of using the software.

[email protected] 28

Page 29: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126: ISO 9126: Part 2: External Part 2: External metrics metrics

ISO/IEC 9126 2: ISO/IEC 9126-2: Information technology - Software quality characteristics & metrics - Part 2: External metrics.

This part provides external metrics for measuring software quality characteristics.

An external metric is a quantitative scale and measurement An external metric is a quantitative scale and measurement method, which can be used for measuring an attribute or characteristic of a software product, derived from the behaviour of the system of which it is a partbehaviour of the system of which it is a part.

External metrics are applicable to an executable software product during testing or operating in later stage of d l d f i idevelopment and after entering to operation process.

[email protected] 29

Page 30: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126: ISO 9126: Part 3: Internal Part 3: Internal metrics metrics

ISO/IEC 9126 3: ISO/IEC 9126-3: Information technology - Software quality characteristics & metrics - Part 3: Internal metrics.

This part provides internal metrics for measuring software quality characteristics.

An internal metric is a quantitative scale and measurement An internal metric is a quantitative scale and measurement method, which can be used for measuring an attribute or characteristic of a software product, derived from the product itself either direct or indirectproduct itself, either direct or indirect.

Internal metrics are applicable to a non executable software product during designing and coding in early stage of d ldevelopment process.

[email protected] 30

Page 31: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO ISO 9126: Part 4: 9126: Part 4: QualityQuality--inin--Use /1Use /1Eff ti Effectiveness The capability of the software product to enable users to achieve

specified goals with accuracy and completeness in a specified context fof use.

Productivity The capability of the software product to enable users to expend The capability of the software product to enable users to expend

appropriate amounts of resources in relation to the effectiveness achieved in a specified context of use.

Safety Safety The capability of the software product to achieve acceptable levels of

risk of harm to people, business, software, property or the environment in a specified context of use.in a specified context of use.

Satisfaction The capability of the software product to satisfy users in a specified

t t fcontext of use.

[email protected]

Page 32: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Quality Model: ISO 9126 /1Quality Model: ISO 9126 /1S if i ft lit f d t t t b d l d Specifying software quality for a product yet to be developed is difficult for the customer and/or supplier.

The customer needs to understand and communicate The customer needs to understand and communicate requirements for the product to be developed.

The supplier needs to understand the requirement and to assess with confidence whether it is possible to provide the product with the right level of quality.

ISO 9126 will serve to eliminate any misunderstanding ISO 9126 will serve to eliminate any misunderstanding between customer and supplier.

ISO 9126 is the software product evaluation standard. This pinternational standard defines six characteristics that describe, with minimal overlap, software quality.

[email protected] 32

Page 33: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Quality Model: ISO 9126 /2Quality Model: ISO 9126 /211 FunctionalityFunctionality is the set of attributes that bear on the existence of a set of1.1. Functionality Functionality is the set of attributes that bear on the existence of a set of

functions and their specified properties. The functions are those that satisfy stated or implied needs.

2.2. ReliabilityReliability is the set of attributes that bear on the capability of software2.2. Reliability Reliability is the set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time.

3.3. Usability Usability is the set of attributes that bear on the effort needed for use, yyand on the individual assessment of such use, by a stated or implied set of users.

4.4. Efficiency Efficiency is the set of attributes that bear on the relationship between th l l f f f th ft d th t fthe level of performance of the software and the amount of resources used, under stated conditions.

5.5. Maintainability Maintainability is the set of attributes that bear on the effort needed to make specified modificationsmake specified modifications.

6.6. Portability Portability is the set of attributes that bear on the ability of software to be transferred from one environment.

[email protected] 33

Page 34: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Quality Model: ISO 9126 /3Quality Model: ISO 9126 /3

Characteristics Characteristics AttributesAttributes

Functionality Suitability Interoperability Accuracy

C li S iCompliance Security

Reliability Maturity Recoverability Fault tolerance

1 : n relation betweenCharacteristics and Crash frequency

Usability Understandability Learnability Operability

Efficiency Time behaviour Resource behaviour

andAttributes (Sub-Characteristics)

c e cy e be av ou esou ce be av ou

Maintainability Analyzability Stability Changeability

Testability

Portability Adaptability Installability Conformance

Replacability

[email protected] 34

Page 35: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126 ISO 9126 –– ViewsViews

Usersomer

Use s

Cus

to

Managers Developersplie

r

Managers Developers

Supp

[email protected]

Page 36: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126: Users’ ViewISO 9126: Users’ ViewU i l i t t d i i th ft it Users are mainly interested in using the software, its performance and the effects of using the software.

Users evaluate the software without knowing the internal Users evaluate the software without knowing the internal aspects of the software, or how the software is developed.

Users’ questions may include: Are the required functions available in the software? How reliable is the software? How efficient is the software? How efficient is the software? Is the software easy to use? How easy is it to transfer the software to another environment? How easy is to change this software?

[email protected] 36

Page 37: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126: Developers’ ViewISO 9126: Developers’ View The process of development requires the user and the The process of development requires the user and the

developer to use the same software quality characteristics, since they apply to requirement and acceptance.

Wh d l i ff h h lf f h i li d d b When developing off-the-shelf software, the implied needs must be reflected in the quality requirement.

Since developers are responsible for producing software hi h ill i f li i h i d iwhich will satisfy quality requirements they are interested in

the intermediate product quality as well as in the final product quality. In order to evaluate the intermediate product quality at each phase of

the development cycle, the developers have to use different metrics for the same characteristics because the same metrics are not applicable to all phases of the cycleapplicable to all phases of the cycle.

[email protected] 37

Page 38: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126: Managers’ ViewISO 9126: Managers’ ViewA i t i ll i t t d i th ll lit A manager is typically more interested in the overall quality rather than in a specific quality characteristic, and for this reason will need to assign weights, reflecting business g g , grequirements, to the individual characteristics.

The manager may also need to balance the quality i t ith t it i h h d limprovement with management criteria such as schedule delay or cost overrun, because he/she wishes to optimise quality within limited cost, human resources and time-frame.q y ,

[email protected] 38

Page 39: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO ISO 9126: Summary9126: Summary

The proposed quality model is very

h i b tcomprehensive, but … it’s not fully clear from

the definitions how tothe definitions how to precisely distinguish sub-categories

… for many of the sub-characteristics the suggested measures aresuggested measures are either trivial or hard to apply

[email protected]

Page 40: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ISO 9126 ISO 9126 : Future: Future

A new series of standards is currently under development

ll dcalledSoftware Product Quality R i d E l iRequirements and Evaluation (SQuaRE - ISO 25000) Thi i f d d ill This series of standards will replace ISO 9126 and 14598 standardsstandards

Note: the new standard will replace the word ”metric” by “measure”Note: the new standard will replace the word metric by measure

[email protected]

Page 41: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Software Quality:Software Quality:Measuring Customer Measuring Customer Measuring Customer Measuring Customer SatisfactionSatisfaction

Page 42: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

TQM: Customer SatisfactionTQM: Customer Satisfaction

Studies show that It is five times more costly to recruit a newIt is five times more costly to recruit a new

customer than it is to keep an old customer andand

Dissatisfied customers tell 7 to 20 people about their experiences, while satisfied customers tell only 3 to 5y

[email protected] 42

Page 43: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

TQM: Customer SatisfactionTQM: Customer Satisfaction

Total quality management (TQM) is aimed at long-term business success by linking quality g y g q ywith customer satisfaction.

With ever increasing market competition With ever-increasing market competition, customer focus is the only way to retain the

i i d d kexisting customers and to expand market share.

[email protected] 43

Page 44: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Methods to Collect Data /1Methods to Collect Data /1

How to collect data from customers? Three common methods to gather data:Three common methods to gather data:

Personal face-to-face interviewsT l h i t i Telephone interviews

Mail questionnaires (self-administered) All require a kind of sampling to select a

subset of the total customerssubset of the total customers.

[email protected] 44

Page 45: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Methods to Collect Data /2Methods to Collect Data /2C i f h d h i h i Comparison of the data gathering techniques

Type of survey In Person Phone MailType of survey Interview Phone Mail

Cost -- + ++ Sampling +- + -

- = Disadvantage -- = Worst

Response Rate +- ++ -- Speed +- + - Reliability ++ + -

+ = Advantage++ = Best

Observations ++ - - Length of Interview + - + Exhibits + - +-

+- = Could be either an Advantage or Disadvantage

Validity ++ + +

[email protected] 45Figure from Kan’s Book

Page 46: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Sampling MethodsSampling Methods

For any survey, the sampling design is of utmost importance in obtaining unbiased, p grepresentative data.

4 basic types of probability sampling: 4 basic types of probability sampling: 1. Simple random sampling2. Systematic sampling3. Stratified samplingp g4. Cluster sampling

[email protected] 46

Page 47: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

1. Simple Random Sampling1. Simple Random Sampling A sample of size n is drawn from a population in such a way that every A sample of size n is drawn from a population in such a way that every

possible sample of size n has the same chance of being selected. To take a simple random sample, each individual in the population must

be listed once and only once.be listed once and only once. A mechanical procedure (i.e., using a random number table, or random

number generating program) is used to draw the sample. To avoid repeated drawing of the same individual, the sampling is doneTo avoid repeated drawing of the same individual, the sampling is done

without replacement. On each successive draw the probability of an individual being selected

increases slightly because there are fewer and fewer individuals left unselected from the population.

If, on any given draw, the probabilities are equal of all remaining items being selected, then we have a simple g g , prandom sample.

[email protected] 47

Page 48: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

2. Systematic Sampling2. Systematic SamplingI t ti li i t d f i t bl f d In systematic sampling instead of using a table of random numbers, one simply goes down a list taking every kthindividual, starting with a randomly selected case among the , g y gfirst k individuals.

k is the ratio between the size of the population and the size f th l t b d (1/k li f ti )of the sample to be drawn. (1/k : sampling fraction)

Example: draw a sample of 500 customers from a population of 20 000population of 20,000. k = 20000/500 = 40 Starting with a random number between 1 and 40 (say, 18), then we

ld d f ti th th li t (58 98 138 )would draw every fortieth on the list (58, 98, 138, …).

[email protected] 48

Page 49: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

3. Stratified Sampling3. Stratified Sampling In a stratified sample items are classified into non In a stratified sample items are classified into non-

overlapping groups, called strata, and then simple random samples are selected from each stratum.

h ll f d b d i i bl The strata are usually formed based on important variables pertaining to the parameter of interest.

Example: customers with high-speed internet systems mayExample: customers with high speed internet systems may have a set of satisfaction criteria for software products that is different from those who have low-speed systems. A stratified sample should include customer type as one of thestratified sample should include customer type as one of the stratification variables.

Stratified samples can be designed to yield greater accuracy for the same cost or for the same accuracy with less costfor the same cost, or for the same accuracy with less cost.

[email protected] 49

Page 50: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

4. 4. Cluster Sampling Cluster Sampling Sometimes it is much more cost effective to divide the Sometimes it is much more cost effective to divide the

population into a large number of groups, called clusters, and to sample among the clusters.

l l i i l d l i hi h h A cluster sample is a simple random sample in which each sampling unit is a cluster of elements.

Usually geographical units such as cities, districts, schools,Usually geographical units such as cities, districts, schools, or work plants are used as units for cluster sampling.

Example: if a company has many branch offices throughout the world and an in depth face to face interview with athe world and an in-depth face-to-face interview with a sample of its customers is desired, then a cluster sample using branch offices as clusters (of customers) may be the best sampling approachbest sampling approach.

[email protected] 50

Page 51: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Sample Size /1Sample Size /1H l l i ffi i t? How large a sample is sufficient?

The answer depends on the confidence level we t d th i f t l twant and the margin of error we can tolerate.

How to bind sample size with customer satisfaction?

LargerLargersamplesample

SmallerSmaller HigherHighersizesizeSmaller Smaller error error

marginmargin

Higher Higher level of level of

confidenceconfidence

[email protected] 51

marginmargin confidenceconfidence

Page 52: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Sample Size /2Sample Size /2Sample size (n) for simple random sampling: Sample size (n) for simple random sampling:

2 1N Z p pn

N : population size 2 2 1

nN B Z p p

N : population size Z : Z statistic from normal distribution:

for 80% confidence level, Z = 1.28 for 80% confidence level, Z 1.28 for 85% confidence level, Z = 1.45 for 90% confidence level, Z = 1.65 for 95% confidence level, Z = 1.96 ,

p : estimated satisfaction level B : margin of error

[email protected] 52

g

Page 53: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Sample Size /3Sample Size /3S l i f 10 000 t f Sample sizes for 10,000 customers for 80% - 95% levels of confidence (Z) and 5% and 3% margin of error (B)

L l i

Expected Customer

80% confidence

85% confidence

90% confidence

95% confidence

Larger sample size

Customer Satisfaction (p)

confidence confidence confidence confidence±5% ±3% ±5% ±3% ±5% ±3% ±5% ±3%

80% 104 283 133 360 171 462 240 639 85% 83 227 106 289 137 271 192 516 90% 59 161 75 206 97 265 135 370 95% 31 86 40 110 51 142 72 199

Smallerl i

[email protected] 53

Sample size

Page 54: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Example Example Suppose that you are going to design a questionnaire to be Suppose that you are going to design a questionnaire to be

sent to customers who bought your software product. The population size is 10,000 customers and margins of error is supposed to be 5%supposed to be 5%.

a) Calculate the sample size for the expected customer satisfaction of 90% and confidence factor of 80%.

N = 10,000 Z = 1.28 for 80% confidence level

0 9p = 0.9 B = 0.05

22 1 10,000 1.28 0.9 0.1N Z p pn

2 22 2 1 10,000 0.05 1.28 0.9 0.1

59

nN B Z p p

n

[email protected] 54

Page 55: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Example (cont’d)Example (cont’d)b) S th t h th l i t 136b) Suppose that you change the sample size to n=136

and the other parameters except the confidence level remain unchanged Calculate the new confidenceremain unchanged. Calculate the new confidence level.

N = 10 000 p = 0 9N 10,000 p 0.9n = 136 B = 0.05Z = ?

2 21 10 000 0 09N Z p p Z 22 2 2

1 10,000 0.091361 10,000 0.05 0.09

3400

N Z p p ZN B Z p p Z

2 3400 3.829 1.96

887.76Confidence level is 95% for this value of Z

Z Z

[email protected] 55

Confidence level is 95% for this value of Z

Page 56: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Question: How Good is Good Enough?Question: How Good is Good Enough?

How much customer satisfaction is good enough? g

Should my company invest $2,000,000 to improve satisfaction from 85% to 90%?improve satisfaction from 85% to 90%?

Given that my company’s customer satisfaction is at 95%, should I invest another million dollars to improve it further or should pI do this later?

[email protected] 56

Page 57: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Babich’s Study /1Babich’s Study /1B bi h (1992) M d l b d i lifi d d l f Babich (1992) Model based on a simplified model of customer satisfaction and market share that contains only three companies: A B and C When customers arethree companies: A, B, and C. When customers are dissatisfied with company A, they choose company B or C, etc.

1 1 t t tt t t t

t t t t t t t

A A AA A x B y C z GA C A B A B C

1 1 t t tt t t t

t t t t t t t

B B BB B y A x C z GB C A B A B C

1 1 t t tt t t t

t t t t t t t

C C CC C z A x B y GB C A C A B C

[email protected] 57

Page 58: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Babich’s Study /2Babich’s Study /2A b f A t A : number of A customers

B : number of B customers C : number of C customers G : number of new customers to market G : number of new customers to market x : dissatisfaction level with A products y : dissatisfaction level with B products z : dissatisfaction level with C products z : dissatisfaction level with C products t : time

[email protected] 58

Page 59: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Babich’s Study /3Babich’s Study /3M k t h f th th Market shares of the three companies assuming satisfaction levels of 95%, ,91%, and 90% for A, B, and C, respectively, over a number of time periods andnumber of time periods and equal initial market share.

After 12 time periods the p95% satisfaction product (company A) would basically own the marketbasically own the market.

[email protected] 59Figure from Kan’s Book

Page 60: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Babich’s Study /4Babich’s Study /4If h i f i l l If the satisfaction levels of companies B and C were 98% and 99%were 98% and 99%, respectively, and company A’s p ysatisfaction level remained at 95%,

A’ d tcompany A’s product would have less than 10% market share in 2410% market share in 24 time periods.

[email protected] 60Example from Kan’s Book

Page 61: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Answer: How Good is Good Enough?Answer: How Good is Good Enough?

F B bi h’ i l d l d l th From Babich’s simple model and examples the answer is: Y h t b b tt th tit !You have to be better than your competitors!

Therefore, it is important to measure not only one’s customer satisfaction level, but also the competitors

ti f ti l lsatisfaction level. Indeed, many companies have been doing exactly

th tthat.

[email protected] 61

Page 62: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Software Quality Software Quality Software Quality Software Quality ManagementManagementgg

Page 63: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Demming’s 14 Quality PointsDemming’s 14 Quality Points1 C t t f f i t f1. Create constancy of purpose for improvement of

product or service. 2 Adopt the new philosophy.2. Adopt the new philosophy. 3. Cease dependence on inspection to achieve quality. 4. End the practice of awarding business on the basis W E Demingp g

of price tag alone. Instead, minimize total cost by working with a single supplier. I t tl d f f

W. E. Deming(1900-1993)

The Father of Modern Quality

5. Improve constantly and forever every process for planning, production and service.

6 Institute training on the job6. Institute training on the job. 7. Adopt and institute leadership.

[email protected] 63

Page 64: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Demming’s 14 Quality PointsDemming’s 14 Quality Points8 Drive out fear8. Drive out fear. 9. Break down barriers between staff areas. 10. Eliminate slogans, exhortations, and targets for the g , , g

work force. 11. Eliminate numerical quotas for the work force and

numerical goals for management W E Demingnumerical goals for management. 12. Remove barriers that rob people of pride of

workmanship. Eliminate the annual rating or merit t

W. E. Deming(1900-1993)

The Father of Modern Quality

system. 13. Institute a vigorous program of education and self-

improvement for everyone. p y14. Put everybody in the company to work to

accomplish the transformation.

[email protected] 64

Page 65: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

TQM: Total Quality ManagementTQM: Total Quality ManagementTQM i t l f TQM is a style of management aiming at achieving “long term”achieving long-term success by linking quality with customerwith customer satisfaction

Other variations: Studying customer needs gatherOther variations: Total Quality Control (HP) Market Driven Quality

Studying customer needs, gather customer requirements, measuring customer satisfaction

A hi b i d d tQ y

(IBM) Experience Factory

(B ili)

Achieve business and product development process improvement

Creation of company-wide quality

[email protected] 65

(Basili) Creation of company wide quality culture Figure from Kan’s Book

Page 66: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

Practice Practice of TQM: of TQM: EssentialsEssentialsF lit Focus on quality

Cooperate with customers Continuously improve development process Encourage constructive critics and empower

employees Use the problem solving/problem prevention cycle Use measurements to back decisions

[email protected] 66

Page 67: SENG 521 Software Reliability & Software Qualitypeople.ucalgary.ca/~far/Lectures/SENG521/PDF/SENG521-04.pdf · Software quality models: Boehm’s model, M C ll’ d l ISO 9126 d l

ReferencesReferencesStandards:Standards: [IEEE730] IEEE 730-2002: IEEE Standard for Software Quality Assurance Plans,

Institute of Electrical and Electronics Engineers, 29-Sep-2002. [ISO8402] ISO 8402-1994: Quality management and quality assurance – Vocabulary,

19941994. [ISO9126] ISO/IEC 9126-2001: Software engineering -- Product quality -- Parts 1-4, ed.

1, Current stage 90.20 JTC 1/SC 7, 2001.Software Quality:Q y [BBL76] Boehm, Barry W., Brown, J. R, and Lipow, M.: Quantitative evaluation of

software quality, International Conference on Software Engineering, Proceedings of the 2nd international conference on Software engineering, 1976.

[BBK+78] Boehm, B. W., Brown, J. R., Kaspar, H., Lipow, M., McLeod, G., and Merritt,[BBK 78] Boehm, B. W., Brown, J. R., Kaspar, H., Lipow, M., McLeod, G., and Merritt, M., Characteristics of Software Quality, North Holland, 1978.

[Kan02] Stephen H. Kan: Metrics and Models in Software Quality Engineering, 2nd

Edition, Addison-Wesley, 2002. [MRW77] McCall J A Richards P K and Walters G F "Factors in Software [MRW77] McCall, J. A., Richards, P. K., and Walters, G. F., Factors in Software

Quality", Nat'l Tech. Information Service, no. Vol. 1, 2 and 3, 1977. Stephen H. Kan, “Metrics and Models in Software Quality Engineering,” 2nd Edition,

Addison-Wesley, 2002. P Babich “Customer Satisfaction: How Good Is Good Enough?” Quality Progress P. Babich, Customer Satisfaction: How Good Is Good Enough? Quality Progress,

December 1992, pp. 65-67.

[email protected]