SQM-Unit1 and Unit 2

Embed Size (px)

Citation preview

  • 8/4/2019 SQM-Unit1 and Unit 2

    1/103

    Software Quality

    UNIT - 1

  • 8/4/2019 SQM-Unit1 and Unit 2

    2/103

    Introduction

    Software Quality measures how well the softwareis designed (Quality of design)and how well thesoftware conforms to the design (Quality ofconformance)

    Where,

    Quality of design concerned about the specifications,design and requirements of the software

    Quality of Conformance concerned with theimplementation of the software

  • 8/4/2019 SQM-Unit1 and Unit 2

    3/103

    Introduction

    The primary goal of engineering the product isTo improve the quality of the software products

    To increase the productivity &Job Satisfaction of theengineers

    Quality is transparent when it is present and it canbe easily recognized in its absence

    For Ex:

    When a car falls into piecesWhen a system fails to perform properly

  • 8/4/2019 SQM-Unit1 and Unit 2

    4/103

    Introduction

    Note:User Satisfaction issue must also be considered

    for Quality

    User Satisfaction = Good Quality + Deliveredwithin budget and Schedule + Complaintproduct

    Most of the developers feel that software qualitycan be carried out only after the code isgenerated. But it is not true. It can be enforcedeach and every stages of a software process

  • 8/4/2019 SQM-Unit1 and Unit 2

    5/103

    Introduction

    Note:If a team stresses quality in all engineering

    activities,

    It reduces the amount of rework

    Results in lower costVariation control is the heart of Quality Control

    For Ex: consider the various versions of OS, amanufacturer has to minimize the variation /

    difference between the predicted resources &actual resourcesused including staff, equipment,and calendar time

    Cos of this number of bugs will be minimizedfrom one release to another

  • 8/4/2019 SQM-Unit1 and Unit 2

    6/103

    Introduction

    Note:SQM is the management Technique that can be

    applied to the development of software to favorthe quality

    Software Quality comprises ofQuality Control

    Quality Assurance

    Quality Cost

  • 8/4/2019 SQM-Unit1 and Unit 2

    7/103

    Introduction

    What is Quality?It is a characteristic or an attribute of something

    that must conforms to the design standards

    Quality can be a measurable characteristics thatcan be compared to length, color etc.,

  • 8/4/2019 SQM-Unit1 and Unit 2

    8/103

    Introduction

    Insight about Quality?Quality is Not absolute

    Quality is Multidimensional

    Subject to constraints

    Quality criteria are not independant

  • 8/4/2019 SQM-Unit1 and Unit 2

    9/103

    Introduction

    What is Quality?The degree of Excellence - OED, 1990

    Zero Defects Crosby, 1979

    The totality of features and characteristics of aproduct or service that bear on its ability tosatisfy specified needs ISO, 1986

    Quality of a product is achieved thro its features &characteristics

    So it is associated with the attribute of a product throwhich performance can be achieved

  • 8/4/2019 SQM-Unit1 and Unit 2

    10/103

    Introduction

    Software Quality?Conformance to explicitly stated functional,

    performance requirements & developmentstandards and implicit characteristics that are

    expected by all softwares

    Department of Defense defined a SQ as thedegree to which the attribute of the softwaresenable it to perform its intended end use

  • 8/4/2019 SQM-Unit1 and Unit 2

    11/103

    Introduction

    Software Quality2 features of quality software:Conformance to its specificationFitness to its intended purpose

  • 8/4/2019 SQM-Unit1 and Unit 2

    12/103

    Introduction

    Software QualityWhen compared to other industry, Software

    Quality will be problamatic coz

    It does not have physical existenceLack of knowledge of clientRapid change rate in both hardware &

    softwareHigh expectation of the customer

  • 8/4/2019 SQM-Unit1 and Unit 2

    13/103

    Introduction

    Views of QualityQuality is a multidimensional construct

    It can be considered as a Polyhedron Metaphor

    where a quality is represented by a 3-dimensional solid & each face represents adifferent aspects of quality

    Polyhedron Metaphor is illustrated as

  • 8/4/2019 SQM-Unit1 and Unit 2

    14/103

    Introduction

    Views of Quality

    Timeliness

    Cost CorrectnessFunctionality

    Reliability

    Maintainability

    Functionality

    CostTimeliness

  • 8/4/2019 SQM-Unit1 and Unit 2

    15/103

    Introduction

    Views of Quality Based on different characteristics of a product, it is been

    classified into number of views or perspectives

    These views may be considered based on external

    observers viewing towards a product ex: user, supplier orclient etc.,

    These views are used to vary & conflict based on differenttypes of peoples who is viewing the product

    Ex: viewing persons Project Manager Business Analyst ProgrammerQuality Auditor

    End user Line Manager and Project Sponser

  • 8/4/2019 SQM-Unit1 and Unit 2

    16/103

    Introduction

    Views of Quality In general, conflicting views are represented between

    User and Designer

    Designer UserGood Specification What I want

    Technically correct Fast Response

    Easy to maintain Easy to use help menu

    Fast development Exception data &reporting

    Well documented Input data once

    User managed & Welltrained

    Access to all systems

    Simple Menu Structure Accurate time

  • 8/4/2019 SQM-Unit1 and Unit 2

    17/103

    Introduction

    Views of Quality conflicting views are classified into 5 types

    1. Transcendent view2. Product based view3. Value based view4. Manufacturing view5. User based view

  • 8/4/2019 SQM-Unit1 and Unit 2

    18/103

    Introduction

    Views of QualityTranscendent view

    Value basedProduct based

    Manufacturing user based

  • 8/4/2019 SQM-Unit1 and Unit 2

    19/103

    Introduction

    Views of Quality1. Transcendent view

    This view relates quality to excellence or elegance. In large scale projects, it is expensive to innate high

    degree of excellence

    2. Product based view Quality Cost i.e., to build high quality in a product

    it costs high This type of quality can be added to a product in 2

    ways Greater Functionality High Quality Solution thro the use of QMS

  • 8/4/2019 SQM-Unit1 and Unit 2

    20/103

    Introduction

    Views of Quality3. Value based view

    This view depends on what price that the customercan afford

    With in the software development, this view can be

    used to add the quality to a product with the help ofneeded people, time & tools

    4. Manufacturing view This view measures the quality in terms of

    conformance to requirements

  • 8/4/2019 SQM-Unit1 and Unit 2

    21/103

    Introduction

    Views of Quality5. User based view

    This view can be summarized as Fitness forpurpose

    i.e., the intended functionality for the product must

    be facilitated according to the user

  • 8/4/2019 SQM-Unit1 and Unit 2

    22/103

    Hierarchical Models of Quality

    Hierarchical Model To compare quality in different situations

    (quantitatively & qualitatively), it is needed to establisha model of quality in hierarchical structure

    Ex: Assessment and Reporting method used in School

    Student progress report is prepared under series ofheadings such as Subject name with both qualitative& quantitative assessment

    These measures are derived from a examination or aformal test

  • 8/4/2019 SQM-Unit1 and Unit 2

    23/103

    Hierarchical Models of Quality

    Hierarchical Model (Cont)

    Subject Teachers

    Comments

    Term

    Grade(A-E)

    Exam

    Mark (%)

    English

    Maths

    ScienceTamil

    Social Science

    Total

    Traditional Assessment Method

  • 8/4/2019 SQM-Unit1 and Unit 2

    24/103

    Hierarchical Models of Quality

    Hierarchical Model (Cont) Presently, the assessment of a person has become

    complicated cos a subject may be broken into differentlevel of skillswhere each of the skills are measuredcollectively to give a more detailed result i.e.,

  • 8/4/2019 SQM-Unit1 and Unit 2

    25/103

    Hierarchical Models of Quality

    Hierarchical Model (Cont)

    English

    Student

    Maths Science Social

    Student

    Maths English Science Social

    Oral Skills Reading Skills Writing CreativeOral Skills Reading Skills Writing Creative

    English

    Has evolved into

  • 8/4/2019 SQM-Unit1 and Unit 2

    26/103

    Hierarchical Models of Quality

    Hierarchical Model (Cont) Based on different measures of software, its quality can

    be depicted as:

    Quality factor

    Quality criterion

    Ex: Maintainability

    Quality criterion

    Ex: Reliability

    Quality criterion

    Ex: Usability

    Quality Metrics Quality MetricsQuality Metrics

    Ex of Metrics: Accuracy, Consistency, Error Toleranceand simplicity

  • 8/4/2019 SQM-Unit1 and Unit 2

    27/103

    Hierarchical Models of Quality

    Hierarchical Models of Quality These models are used to identify the needed quality

    criteria's that can be used in improving the resultantquality of the product

    Types of quality models

    1. McCall Model

    2. Boehm Model

    3. FURPS Model

    4. ISO 9126 Model5. Dromey Model

  • 8/4/2019 SQM-Unit1 and Unit 2

    28/103

    Hierarchical Models of Quality

    Hierarchical Model of McCall Proposed by McCall in 1977. It is also referred as

    General Electronics model after McCall

    This model is originates from US military developed forUS Air force

    This model can be used during the development processby the system developers

    In this model, McCall attempts to bridge the gapbetween users & developersby focusing number ofquality factors that reflect both the user views &developer priorities

  • 8/4/2019 SQM-Unit1 and Unit 2

    29/103

    Hierarchical Models of Quality

    Hierarchical Model of McCall

    ProductRevision

    ProductTransition

    Product operations

    MaintainabilityFlexibility

    Testability

    PortabilityReusability

    Interoperability

    Correctness, Reliability, Efficiency, Integrity, and Usability

  • 8/4/2019 SQM-Unit1 and Unit 2

    30/103

    Hierarchical Models of Quality

    Hierarchical Model of McCall McCall model identifies 3 areas of software work or 3 types of

    quality characteristics

    1. Product operation

    2. Product revision

    3. Product Transition

    Product Operation It explains the working operation of theproduct that can be learned easily efficiently

    Product Revision- It concerned with error correction of the system

    - The system may undergo changes

    Product Transition This is applicable in distributed

    applications & adaptable to new environments

  • 8/4/2019 SQM-Unit1 and Unit 2

    31/103

    Hierarchical Models of Quality

    Hierarchical Model of McCall McCall defines following 11 quality factors:

    Usability

    Integrity

    Efficiency

    Correctness

    Reliability

    Maintainability

    Flexibility

    Testability

    Portability

    Reusability

    Interoperability

    Execution efficiency

    Storage efficiency

  • 8/4/2019 SQM-Unit1 and Unit 2

    32/103

    Hierarchical Models of Quality

    Hierarchical Model of McCall McCall identifies 3 areas of software work in a hierarchy

    of factors, criteria and metrics

    11 factors (To specify) External view of the softwareseen by the users

    23 criteria's (To build) Internal view of the softwareseen by developers

    Metrics (To control) method of measurement

  • 8/4/2019 SQM-Unit1 and Unit 2

    33/103

    Hierarchical Models of Quality

  • 8/4/2019 SQM-Unit1 and Unit 2

    34/103

    Hierarchical Models of Quality

  • 8/4/2019 SQM-Unit1 and Unit 2

    35/103

    Hierarchical Models of Quality

    Hierarchical Model of Boehm (1978) This model is presented by Barry W Boehm

    Boehm model definesset of well defined,differentiated characteristics of software quality where

    the quality criteria's are subdivided.

    In this first division is named asgeneral utility andthe next one isAs-is utility that is the subtype of firstone.

  • 8/4/2019 SQM-Unit1 and Unit 2

    36/103

    Hierarchical Models of Quality

    Hierarchical Model of Boehm (1978) It is similar to McCalls model where a quality of

    software is structured around

    Higher levelcharacteristics

    Intermediate levelcharacteristics

    Primitivecharacteristics

  • 8/4/2019 SQM-Unit1 and Unit 2

    37/103

    Hierarchical Models of Quality

    Hierarchical Model of Boehm (1978) Higher levelcharacteristics it addresses answers for 3

    questions:

    As-is Utility [How well (easily, reliably, efficiently) can Iuse as-is?]

    Maintainability [How easy is it to understand, modify andretest?]

    Portability [can I still use it even if I change theenvironment]

  • 8/4/2019 SQM-Unit1 and Unit 2

    38/103

    Hierarchical Models of Quality

    Hierarchical Model of Boehm (1978) Intermediate levelcharacteristics It identifies 7 quality

    factors that are expected by the software:

    Portability

    Reliability

    Efficiency

    Usability

    Testability

    Understandability

    Flexibility

    As-is Utility

    Maintainability characteristics

  • 8/4/2019 SQM-Unit1 and Unit 2

    39/103

    Hierarchical Models of Quality

    Hierarchical Model of Boehm (1978) Primitivecharacteristics Provides the foundation for

    defining quality metrics

  • 8/4/2019 SQM-Unit1 and Unit 2

    40/103

    Device Independence

    Self-contained ness

    Accuracy

    Completeness

    Robustness / Integrity

    Consistency

    Accountability

    Device EfficiencyAccessibility

    Communicativeness

    Self descriptiveness

    Structuredness

    conciseness

    Legibility

    Augment ability

    Portability

    Reliability

    Efficiency

    Human Engineering

    Testability

    Understandability

    Modifiability

    Maintainability

    As-is Utility

    General Utility

  • 8/4/2019 SQM-Unit1 and Unit 2

    41/103

    Hierarchical Models of Quality

    Summary of McCall & Boehm Models Boehms and McCalls models might appear very similar.

    the difference is that:

    McCalls modelprimarily focuses on the precisemeasurement of the high-level characteristics As-isutility

    Boehms quality model is based on a wider range of

    characteristics with an extended and detailed focuson primarily maintainability.

  • 8/4/2019 SQM-Unit1 and Unit 2

    42/103

    Hierarchical Models of Quality

    Comparison of McCall & Boehm Models by QF to QF

  • 8/4/2019 SQM-Unit1 and Unit 2

    43/103

    Quality Measurement

    Measurement of quality is one of the key problemhighlighted by IT practitioners

    Quality measurement is expressed in terms of Metrics thatis a measurable property which is an indicator of one or

    more quality criteria that are seeking to measure

    Conditions that the quality metric are:

    It must be linked to the quality criterion that it seek tomeasure

    It must be sensitive to different criterion

    It provides determination of the criterion

  • 8/4/2019 SQM-Unit1 and Unit 2

    44/103

    Quality Measurement

    Measurement technique to a software is similar to thetraditional science methods. But it is more complex

    Structuredness is the main factor for the software throwhich quality can be measured.

    Well structured code is easy to maintain & adapt which canbe calculated in terms of average length of code modules inthe program

    Lines of code

    Structuredness modularity ----------------------------

    Number of modules

  • 8/4/2019 SQM-Unit1 and Unit 2

    45/103

    Quality Measurement

    Software Metrics Structuredness is used to predict the maintainability,

    reliability & adaptability of the software later in thelifecycle

    Classified into 2 types:

    Predictive Metrics

    Descriptive Metrics

  • 8/4/2019 SQM-Unit1 and Unit 2

    46/103

    Quality Measurement

    Software Metrics (Cont) Predictive MetricsIt is used to make predictions about

    the software later in the life cycle

    Descriptive MetricsIt describes the state of the

    software at the time of the measurement

    For Ex: reliability metricmight be based upon the

    number of system crashes during the given period

  • 8/4/2019 SQM-Unit1 and Unit 2

    47/103

    Quality Measurement

    Software Metrics (Cont) McCall & Boehm have defined many number of

    approaches to find metrics

    McCalls approach is quantitative where structurednessof a software can be measured by

    n01Structuredness = -----------

    ntot

    Where, n01 = number of modules having one or zero exit

    points

    ntot = total number of modules

    This metric valuelies between 0 to 1

  • 8/4/2019 SQM-Unit1 and Unit 2

    48/103

    Quality Measurement

    Software Metrics (Cont) Using Boehm concept, structuredness can be measured

    by addressing the answer for following questions:

    Have the rules for transfering control between

    modules been followed? (Y/N) Are modules are limited in size? (Y/N)

    Do all modules have one exit point? (Y/N)

    Do all modules have only one entry point? (Y/N)

  • 8/4/2019 SQM-Unit1 and Unit 2

    49/103

    Quality Measurement

    Software Metrics (Cont) What makes a good Metric?

    After McCall & Boehm concepts, a scientist Wattshad publishes an analysis of metrics. And hesuggests 7 quality criterias of good software metric

    Objectivity

    Reliability

    Validity

    Standardization

    Comparability

    Economy

    Usefulness

  • 8/4/2019 SQM-Unit1 and Unit 2

    50/103

    Quality Measurement

    Software Metrics (Cont) Metric Ranking

    Wattshad cited /quoted 40 metrics from thesoftware engineering

    Among these 40 metrics, 3 quarters of 40 metrics areconcerned with 2 criteria namelyreliability &maintainability

    4 criterias are not metricated

    3 criterias have only one metric

  • 8/4/2019 SQM-Unit1 and Unit 2

    51/103

    Quality Measurement

    Software Metrics (Cont) Wattshad ranked following criterias based on no.

    of metrics

    Quality Criteria Number of metrics cited

    Maintainability 18

    Reliability 12

    Usability 4

    Correctness 3

    Integrity 1

    Expandability 1

    Portability 1

    Efficiency 0

    Adaptability 0

    Interoperability 0

    Reusability 0

  • 8/4/2019 SQM-Unit1 and Unit 2

    52/103

    Quality Measurement

    Software Metrics Ranking The set of metrics quoted is based on 7 distinct

    measurable properties:

    1. Readability

    2. Error Prediction

    3. Error Detection

    4. Complexity

    5. MTTF (Mean Time To Failure)

    6. Modularity

    7. Testability

  • 8/4/2019 SQM-Unit1 and Unit 2

    53/103

    Quality Measurement

    Software Metrics Ranking (Cont) Relationship b/w Quality Criteria & Measurable

    properties are:

    Readability

    Error Prediction

    Error Detection

    Complexity

    MTTF

    Modularity

    Testability

    Usability

    Integration

    Correctness

    Reliability

    Maintainability

    Expandability

    Portability

    Others

    Measurable Properties Quality Criteria

  • 8/4/2019 SQM-Unit1 and Unit 2

    54/103

    Quality Measurement

    Software Metrics Ranking (Cont)1. Readability as a measure of usability:

    This measure is applied in documentation to asseshow such documentation assist in the usability of apiece of a software

    2 methods:

    a) Flesch-Kincaid readability index forms

    b) Fog Index

    First method works at a syllable level & calculatedusing the formulae:

    Grade Level = 0.39a + b - c

    a = no. of words in the sentenceb=mean no. of syllables per 100

    words

    c = 15.59

  • 8/4/2019 SQM-Unit1 and Unit 2

    55/103

    Quality Measurement

    Software Metrics Ranking (Cont)1. Readability as a measure of usability:

    Fog index method:

    Fog Index = 0.4a + b

    a = no. of words in the sentenceb= percentage of words with more than 2 syllables

  • 8/4/2019 SQM-Unit1 and Unit 2

    56/103

    Quality Measurement

    Software Metrics Ranking (Cont)2. Readability as a measure of Maintainability:

    Readability of source code can be done in terms of

    Statement lines

    Average length of variable names

    Total number of program branches

  • 8/4/2019 SQM-Unit1 and Unit 2

    57/103

    Quality Measurement

    Software Metrics Ranking (Cont)3. Error Prediction as a measure of Correctness:

    With reference to the quote of Halstead, usingBasic parameters such as number of operators &operands one can predict

    Number of errors found during validation Total number of errors found during

    development

  • 8/4/2019 SQM-Unit1 and Unit 2

    58/103

    Quality Measurement

    Software Metrics Ranking (Cont)4. Error Detection as a measure of Correctness:

    Total number of errors which are not detected has tobe predicted usingRemus, Zilles model (says no. of

    detected errors) and error detection efficiency

    Number of defect Program length and defectremoval rate

  • 8/4/2019 SQM-Unit1 and Unit 2

    59/103

    Quality Measurement

    Software Metrics Ranking (Cont)5. MTTF as a measure of Reliability:

    MTTF is given by

    tTOT

    MTTF = ---------

    Rt

    tTOT = Total time periodRt = number of failures in tTOT

  • 8/4/2019 SQM-Unit1 and Unit 2

    60/103

    Quality Measurement

    Software Metrics Ranking (Cont)5. MTTF as a measure of Reliability:

    MTTF can be assessed by measurement, estimationor prediction

    Reliability can be calculated using the measures

    Current MTTF (tF)

    Length of the operation phase (tOP)

    tOPReliability, R1 = exp ---------

    tF

  • 8/4/2019 SQM-Unit1 and Unit 2

    61/103

    Quality Measurement

    Software Metrics Ranking (Cont)6. Complexity as a measure of Reliability:

    If a Complexity of software gets increasesthen thereliability will decreases

    For Ex: Logical complexity of the software can be

    measured by the concept of CyclomaticComplexity

    7. Complexity as a measure of Maintainability:

    If a Complexity of software gets increasesthen themaintainability will get affected

  • 8/4/2019 SQM-Unit1 and Unit 2

    62/103

    Quality Measurement

    Software Metrics Ranking (Cont)8. Modularity as the measure of Maintainability:

    If a modularity increases in the software then theMaintainability of software will also increases

    9. Testability as the measure of Maintainability:

    Ease & effective testing will have a positive impacton a product

    The effectiveness of testing will be measured by theconcept raised by Woodward

  • 8/4/2019 SQM-Unit1 and Unit 2

    63/103

    Quality Measurement

    Problems on Software Metrics The overall measure of quality can be calculated by

    following measures:

    1. Simple Scoring

    2. Weighted Scoring

    3. Phased weighting factor method

    4. The Kepner-Tregoe Method

    5. The Cologne combination method

  • 8/4/2019 SQM-Unit1 and Unit 2

    64/103

    Quality Measurement

    Problems on Software Metrics1. Simple Scoring

    In this method, each quality criteria is allocated witha score

    Overall quality is given by the mean of individualscores

    Sum of each Metric Score

    Simple Score = ---------------------------------------------------Total number of Metric scores

  • 8/4/2019 SQM-Unit1 and Unit 2

    65/103

    Quality Measurement

    Problems on Software Metrics1. Example: Simple Scoring

    Quality Criteria MetricValue

    Usability 0.7Security 0.6

    Efficiency 0.4

    Correctness 0.8

    Reliability 0.6Maintainability 0.6

    Adaptability 0.7

    Expandability 0.7

    Simple Score = ?

  • 8/4/2019 SQM-Unit1 and Unit 2

    66/103

    Quality Measurement

    Problems on Software Metrics2. Weighted Scoring

    In this method, each Quality Criteria can beweighted based on its importance

    Each quality criterion is evaluated to produce a score

    between 0 & 1

    Sum of Product of each Metric

    Weighted Score = -------------------------------------------

    Sum of each Metric weight

    Where, Product = Value of each Metric Score X

    weight of each Metric score

  • 8/4/2019 SQM-Unit1 and Unit 2

    67/103

    Quality Measurement

    Problems on Software Metrics2. Problem 1: Weighted Scoring

    Quality Criteria MetricValue

    Weight

    Usability 0.7 0.5Security 0.6 0.2

    Efficiency 0.4 0.3

    Correctness 0.8 0.5

    Reliability 0.6 0.4Maintainability 0.6 0.4

    Adaptability 0.7 0.1

    Expandability 0.7 0.1

    Weighted Score = ?

  • 8/4/2019 SQM-Unit1 and Unit 2

    68/103

    Quality Measurement

    Problems on Software Metrics3. Phased weighting factor method

    It is an extension of weighted scoring

    Here weighting is assigned to a group of

    characteristicsbased on work areas defined byMcCall

    In this method, 2 work areas[Product Operation &Product Transition]are focused to produce qualitywhere each area will be assumed with additionalweightage of characteristics

  • 8/4/2019 SQM-Unit1 and Unit 2

    69/103

    Quality Measurement

    Problems on Software Metrics3. Phased weighting factor method

    3 measures has to be calculated:

    Product Operation Weighted Mean (POWM)

    Product Transition Weighted Mean (PTWM)

    Overall Measure by PWF method

    Sum of Product of each PO quality criteria

    POWM = -----------------------------------------------------------

    Sum of weight of each PO quality criteria

  • 8/4/2019 SQM-Unit1 and Unit 2

    70/103

    Quality Measurement

    Problems on Software Metrics3. Phased weighting factor method

    Sum of Product of each PT quality criteria

    PTWM = --------------------------------------------------------

    Sum of weight of each PT quality criteria

    PWF is the additional weighting factor that will be

    assumed for the calculation. For Ex: PWF for Product Operations = 2/3

    PWF for Product Transition = 1/3

    Overall Measure by PWF = ((2/3) X POWM) + ((1/3) X PTWM)

  • 8/4/2019 SQM-Unit1 and Unit 2

    71/103

    Quality Measurement

    Problems on Software Metrics3. Problem 2: Phased Weighted Scoring

    Group Quality Criteria MetricValue

    Weight PWF

    ProductOperation

    Usability 0.7 0.5

    2/3

    Security 0.6 0.2

    Efficiency 0.4 0.3

    Correctness 0.8 0.5

    Reliability 0.6 0.4

    ProductTransition

    Maintainability 0.6 0.4

    1/3Adaptability 0.7 0.1

    Expandability 0.7 0.1

    POWM = ? ; PTWM = ?; Overall Measure = ?

  • 8/4/2019 SQM-Unit1 and Unit 2

    72/103

    Quality Measurement

    Problems on Software Metrics3. The Kepner-Tregoe Method

    In this method, quality criteria is divided into 2 parts

    Essential minimum value will be specified for eachcriteria

    desirable

    4. The Cologne combination method

    This method facilitates comparative evaluation

    Each product will be ranked based on chosen criteria

  • 8/4/2019 SQM-Unit1 and Unit 2

    73/103

    Quality Measurement

    Problems on Software Metrics Problem 3: Using the following data & the PWF method,

    calculate the following: POWM, PTWM and overallmeasure of the product

    Group Quality Criteria Metric

    Value

    Weight PWF

    ProductOperation

    Usability 0.7 0.5

    2/3

    Security 0.5 0.5

    Efficiency 0.6 0.2

    Correctness 0.7 0.5Reliability 0.4 0.4

    ProductTransition

    Maintainability 0.8 0.4

    1/3Adaptability 0.7 0.1

    Expandability 0.7 0.1

  • 8/4/2019 SQM-Unit1 and Unit 2

    74/103

    Quality Measurement

    Polarity Profiling In this scheme, Quality of a product is specified in the

    ranges from -3 to +3

    Comparison analysis is made between required quality

    & the actual quality achieved

    4 quality criterias have been focused for this methodwhich are namely

    Efficiency

    Reliability

    Maintainability

    Adaptability

    These criterias would beUsefulto analyze usersatisfaction of the product

  • 8/4/2019 SQM-Unit1 and Unit 2

    75/103

    Quality Measurement

    Polarity Profiling (Cont) When a user complaints about the quality, software

    engineer has to improve the product in these areas

    Polarity Profiling is the graphical profiles

    representation of quality criterias to asses thesatisfaction / expectation of the user

    Using this scheme, an engineer can asses the level ofuser happiness where by user expectations & the

    developer tension can be minimized

  • 8/4/2019 SQM-Unit1 and Unit 2

    76/103

    Quality Measurement

    Example: Polarity Profiling (Cont)

    Unusable

    InsecureInefficientIncorrectUnreliableUnmaintainable

    Not Adaptable

    -3 -2 -1 0 1 2 3

    -3 -2 -1 0 1 2 3

    Usable

    SecureEfficientCorrectReliableMaintainable

    Adaptable

    Where, = Achieved quality &= required quality

    Reliability & efficiency not up to the

  • 8/4/2019 SQM-Unit1 and Unit 2

    77/103

    Polarity Profiling (Cont)

    Consider the following situation

    Where, = Achieved quality &= required quality

    Unusable

    InsecureInefficientIncorrectUnreliableUnmaintainable

    Not Adaptable

    -3 -2 -1 0 1 2 3

    -3 -2 -1 0 1 2 3

    Usable

    SecureEfficientCorrectReliableMaintainable

    Adaptable

    Reliability & efficiency not up to thereqd. std. where as adaptability& maintainability appears to be

    beyond the levelUsers wont get Happy

    Reliability & efficiency reaches the

  • 8/4/2019 SQM-Unit1 and Unit 2

    78/103

    Polarity Profiling (Cont) Consider the following situation

    Where, = Achieved quality &= required quality

    -3 -2 -1 0 1 2 3

    Unusable

    InsecureInefficientIncorrectUnreliableUnmaintainable

    Not Adaptable

    -3 -2 -1 0 1 2 3

    Usable

    SecureEfficientCorrectReliableMaintainable

    Adaptable

    Reliability & efficiency reaches thereqd. std. where as adaptability

    & maintainability also appears to bereaches the level

    Users will be Happy

  • 8/4/2019 SQM-Unit1 and Unit 2

    79/103

    Polarity Profiling (Cont) Problem

    Quality Criteria ActualQuality

    RequiredQuality

    Usability 0.3 0.7Security 0.5 0.7

    Efficiency 0.3 0.6

    Correctness 0.9 0.9

    Reliability 0.9 0.9Maintainability 0.4 0.8

    Adaptability 0.4 0.8

    Discuss the possibilities of User Satisfaction in this module?

  • 8/4/2019 SQM-Unit1 and Unit 2

    80/103

    Quality Measurements

    Gilbs Approach It is an iterative approach aiming to converge towards

    clear & measurable multidimensional objectives

    This approach makes use the concept of McCall &

    Boehm models

    For each stage, a partial product can be viewed with userwhere a product will be evaluated to identify whether itmeets the needs of user. If it does not satisfy errors has

    to be identified & cleared out during the next iterationuntil a product gets satisfied by the user.

  • 8/4/2019 SQM-Unit1 and Unit 2

    81/103

    Quality Measurements

    Gilbs Approach 5 problem areas highlighted

    Simple fact that the method is different

    Need of training & re-training and associated costs

    Need of effective management

    Need to measure progress towards the ultimate goal

    Picking up errors

  • 8/4/2019 SQM-Unit1 and Unit 2

    82/103

    Quality Measurements

    Gilbs Approach With reference to Gilbs approach, product quality can

    be measured in terms ofQuality Template

    It models quality in terms ofQuality attributes&

    Resource attributes. This is because quality of a productcan be constrained by the available resources

  • 8/4/2019 SQM-Unit1 and Unit 2

    83/103

    Quality Measurements

    Gilbs Approach

    Quality Template can be pictured as:

    WorkabilityAvailability

    Adaptability

    Usability

    Other Qualities

    PeopleTime

    Money

    Tools

    Other Resources

    Qualities Resources

  • 8/4/2019 SQM-Unit1 and Unit 2

    84/103

    Quality Measurements

    Gilbs Approach Quality Attributes

    1) Workability

    2) Availability

    3) Adaptability

    4) Usability

  • 8/4/2019 SQM-Unit1 and Unit 2

    85/103

    Quality Measurements

    Gilbs Approach: Quality Attributes & its sub-attributes

    Workability

    Process Capacity

    Storage Capacity

    Responsiveness

    Availability

    Reliability

    Maintainability

    Integrity

    Adaptability

    Improvability

    Extendability

    Portability

    Usability

    Entry Level Requirements

    Learning level requirements

    Handling ability

    Likability

  • 8/4/2019 SQM-Unit1 and Unit 2

    86/103

    Quality Measurements

    Gilbs Approach: Quality Attributes1) Workability

    It is defined as the ability of the system to do work(i.e., transaction processing)

    Divided into sub-attributes of: Process capacity It is the ability of the system to

    process transactions with in a given unit of time

    Storage capacity It is the ability of the system tostore information

    Responsiveness It is a measure of the responseto a single event

  • 8/4/2019 SQM-Unit1 and Unit 2

    87/103

    Quality Measurements

    Gilbs Approach: Quality Attributes2) Availability

    It is the ability of the system to be used with theproportion of elapsed time

    Classified into Sub attributes of:a) Reliability

    b) Maintainability

    c) Integrity

  • 8/4/2019 SQM-Unit1 and Unit 2

    88/103

    Quality Measurements

    Gilbs Approach: Quality Attributes2) Availability

    a) Reliability

    It is the ability of the system that should not failfrom its operating environment under any

    circumstances

    It is the degree to which the system does what itshould to do.

    Coz purpose of a system is different & thepurpose of parts of a system will be different. Sothe assessment of reliability will also vary

  • 8/4/2019 SQM-Unit1 and Unit 2

    89/103

    Quality Measurements

    Gilbs Approach: Quality Attributes2) Availability

    a) Reliability

    Based on the analysis of Dickson, Gilbs havesuggested that reliability can be assessed in terms

    of Fidelity

    Veracity

    Viability

    For both Logicware (code)and Dataware (data files)

  • 8/4/2019 SQM-Unit1 and Unit 2

    90/103

    Quality Measurements

    Gilbs Approach: Quality Attributes Dicksons classification of Reliability

    Logicware

    Fidelity Concerned with the accuracy of algorithmimplementation

    Veracity Concerned with the representation of real

    world be an algorithm

    Viability Is the extent to which an algorithm meets itsspecification in terms of performance &requirements

    Dataware

    Fidelity Says how accurately an idea is represented by

    the data within a application

    Veracity How well the data matches with the world

    Viability How well the required data fits the designconstraints

  • 8/4/2019 SQM-Unit1 and Unit 2

    91/103

    Quality Measurements

    Gilbs Approach: Quality Attributes2) Availability

    b) Maintainability

    It is the effort required to locate & fix a fault in theprogram within its operating environment

    It is the process of fault handling

    Sub-attributes of Maintainability are:

    Problem recognition Inspection TimeAdministrative Delay Active Correction

    Tool Collection Testing

    Problem analysis Test Evaluation

    Correction Recovery

  • 8/4/2019 SQM-Unit1 and Unit 2

    92/103

    Quality Measurements

    Gilbs Approach: Quality Attributes2) Availability

    c) Integrity

    It is the protection of the program fromunauthorized access

    It is a measure of a system to remain intact underthreat

    Integrity may affects availability

    So. A system with poor integrity is likely to beunavailable for much time

  • 8/4/2019 SQM-Unit1 and Unit 2

    93/103

    Quality Measurements

    Gilbs Approach: Quality Attributes3) Adaptability

    Classified into sub-attributes of:

    Improvability It is the time taken to makeminor changes to the system

    Extendability It is the ease of adding newfunctionality to a system

    Portability It is the east of moving a systemfrom one environment to another

  • 8/4/2019 SQM-Unit1 and Unit 2

    94/103

    Quality Measurements Gilbs Approach: Quality Attributes

    4) Usability

    It is the ability of the system that should facilitate the easeof use & effectiveness of a system

    Classified into sub-attributes of:

    Handling ability It is a measure that says how wellproductivity can be proceeded after the error is detected

    Entry level requirements are human capabilities such asintelligence level, language proficiency

    Learning level requirements are resources such as timeneeded to reach the performance of the system

    Likability It says how well people like the system

  • 8/4/2019 SQM-Unit1 and Unit 2

    95/103

    Quality Measurements

    Gilbs Approach: Resource Attributes

    People

    Time

    Money

    Tools

    Other Resources

  • 8/4/2019 SQM-Unit1 and Unit 2

    96/103

    Quality Measurements

    Gilbs Approach: Resource Attributes Time Resource

    2 types

    Calendar time to delivery

    Time taken by the system to carry out the task

    People Resource

    Measured in terms of Man-years

    But the availability of People for the particular

    development is critical Ex: can not utilize PASCAL programmers for C

    programming

  • 8/4/2019 SQM-Unit1 and Unit 2

    97/103

    Quality Measurements Gilbs Approach: Resource Attributes

    Money Resources

    Concerned with both development & maintenancecosts

    In general, 80% of cost would be spent to

    maintenance for quality improvement

    Tool Resources

    It comprises all physical resources

  • 8/4/2019 SQM-Unit1 and Unit 2

    98/103

    Quality Measurements Gilbs Approach: Resource Attributes

    For continuous improvements, these resources will beconsidered as constraints to a product

    People

    TimeMoney

    Tools

  • 8/4/2019 SQM-Unit1 and Unit 2

    99/103

    Quality Measurements Gilbs Approach: Resource Attributes

    Gilbs have defined some measures to quantify thoseattributes. And these can be measured in terms of unitsper time

    For ex: Transactions per second

    Records per minute

    Bytes per line

    Bits per node per second

  • 8/4/2019 SQM-Unit1 and Unit 2

    100/103

    Quality Measurements Gilbs Approach: Resource Attributes

    Workability

    ProcessCapacity

    Units per time Transactions per sec.

    StorageCapacity

    Units stored Bytes per second

    Responsiveness Actions per time Response time

    Attribute Sub-attribute General measure Example

    l

  • 8/4/2019 SQM-Unit1 and Unit 2

    101/103

    Quality Measurements GQM Model

    GQM, the acronym for "Goal, Question, Metric

    It is an approach to Software Metrics

    It was developed by Victor Basili of the University ofMaryland & the Software Engineering Laboratory at theNASA Goddard Space Flight Center

    li

  • 8/4/2019 SQM-Unit1 and Unit 2

    102/103

    Quality Measurements GQM Model

    GQM defines a measurement model on three levels:

    Conceptual level (goal)

    A goal is defined for an object for a variety ofreasons, with respect to various models ofquality, from various points of view and relative

    to a particular environment. Operational level (question)

    A set of questions is used to define models of theobject of study and then focuses on that object tocharacterize the assessment or achievement of a

    specific goal. Quantitative level (metric)

    A set of metrics, based on the models, isassociated with every question in order to answerit in a measurable way.

    Q li

  • 8/4/2019 SQM-Unit1 and Unit 2

    103/103

    Quality Measurements GQM Model

    GQM templates are a structured way of specifying goals

    Field Examples

    Object of study pair programming, static analysis tool

    Purpose characterize, understand, evaluate,predict

    Focus programmer effort, program reliability

    stakeholder developer, customer, manager