Top Banner
SOFTWARE QUALITY SOFTWARE QUALITY MANAGEMENT MANAGEMENT
49
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software quality

SOFTWARE QUALITY SOFTWARE QUALITY MANAGEMENTMANAGEMENT

Page 2: Software quality

INTRODUCTIONINTRODUCTION UNIT I : INTRODUCTION TO SOFTWARE QUALITY.UNIT I : INTRODUCTION TO SOFTWARE QUALITY. Software Quality – Hierarchical models of Boehm and McCall – Quality measurement – Software Quality – Hierarchical models of Boehm and McCall – Quality measurement –

Metrics measurement Metrics measurement and analysis – Gilb’s approach – GQM Model.and analysis – Gilb’s approach – GQM Model.

UNIT II: SOFTWARE QUALITY ASSURANCE.UNIT II: SOFTWARE QUALITY ASSURANCE. Quality tasks – SQA plan – Teams – Characteristics – Implementation – Documentation – Quality tasks – SQA plan – Teams – Characteristics – Implementation – Documentation – Reviews and AuditsReviews and Audits

UNIT III : QUALITY CONTROL AND RELIABILITY.UNIT III : QUALITY CONTROL AND RELIABILITY. Tools for Quality – Ishikawa’s basic tools – CASE tools – Defect prevention and Tools for Quality – Ishikawa’s basic tools – CASE tools – Defect prevention and

removal– removal– Reliability models – Rayleigh model – Reliability growth models for quality Reliability models – Rayleigh model – Reliability growth models for quality

assessment assessment

UNIT IV : QUALITY MANAGEMENT SYSTEM.UNIT IV : QUALITY MANAGEMENT SYSTEM. Elements of QMS – Rayleigh model framework – Reliability Growth models for QMS –Elements of QMS – Rayleigh model framework – Reliability Growth models for QMS –

Complexity metrics and models – Customer satisfaction analysisComplexity metrics and models – Customer satisfaction analysis ..

UNIT V : QUALITY STANDARDS.UNIT V : QUALITY STANDARDS. Need for standards – ISO 9000 Series – ISO 9000-3 for software development – CMM and Need for standards – ISO 9000 Series – ISO 9000-3 for software development – CMM and

CMMI – Six CMMI – Six Sigma concepts.Sigma concepts.

Page 3: Software quality

OBJECTIVESOBJECTIVES

Define Quality.Define Quality. Define software quality.Define software quality. Features of Quality software.Features of Quality software. Characteristics of software quality.Characteristics of software quality. Techniques for improving software Techniques for improving software

quality.quality. Views of quality.Views of quality. Hierarchical models of quality.Hierarchical models of quality. Quality measurements.Quality measurements.

Page 4: Software quality

QualityQuality

Page 5: Software quality

Cont…Cont…

Ability of the product/service to Ability of the product/service to fulfill its function.fulfill its function.

Hard to define.Hard to define. Impossible to measure.Impossible to measure. Easy to recognize in its absence.Easy to recognize in its absence. Transparent when present.Transparent when present.

Page 6: Software quality

Cont…Cont…

Quality is defined as the products or Quality is defined as the products or services capability to meet customer services capability to meet customer expectations.expectations.

Quality that is defined as a matter of Quality that is defined as a matter of products and services whose products and services whose measurable characteristics satisfy a measurable characteristics satisfy a fixed specification.fixed specification.

Quality is defined as conformance to Quality is defined as conformance to requirements.requirements.

Page 7: Software quality

Cont…Cont…

Quality consists of those product Quality consists of those product features which meet the need of features which meet the need of customers and there by provide customers and there by provide product satisfaction.product satisfaction.

Quality is multidimensional. some Quality is multidimensional. some aspects of quality can be measured.aspects of quality can be measured.

Example: Maximum speed, fuel, Example: Maximum speed, fuel, economy etc.economy etc.

Page 8: Software quality

Software qualitySoftware quality Kitchen ham (1989 b) refers to software Kitchen ham (1989 b) refers to software

quality “fitness for needs” and claims quality “fitness for needs” and claims quality involves matching expectations.quality involves matching expectations.

Two features of a piece of quality software:Two features of a piece of quality software: Conformance to its specificationConformance to its specification Fitness for its intended purpose.Fitness for its intended purpose. The Department of Defense (DOD, 1985) in The Department of Defense (DOD, 1985) in

the USA defines software quality as “the the USA defines software quality as “the degree to which the attributes of the degree to which the attributes of the software enable it to perform its intended software enable it to perform its intended end use”.end use”.

Page 9: Software quality

Cont…Cont…Software was particularly problematical for the Software was particularly problematical for the

following reasonsfollowing reasons:: Software has no physical existence.Software has no physical existence. The lack of knowledge of client needs at the start.The lack of knowledge of client needs at the start. The change of client needs over time.The change of client needs over time. The rapid rate of change on both hardware and The rapid rate of change on both hardware and

software.software. The high expectations of customers, particularly with The high expectations of customers, particularly with

respect to adaptability.respect to adaptability. Within the software quality area, the need to provide a Within the software quality area, the need to provide a

solution that matches user needs is often considered solution that matches user needs is often considered as “design quality”, whilst ensuring a match to the as “design quality”, whilst ensuring a match to the specification is considered as “manufacturing quality”.specification is considered as “manufacturing quality”.

Page 10: Software quality

External characteristics External characteristics

CorrectnessCorrectness- Degree to which system is free from faults in - Degree to which system is free from faults in specification, design and implementation.specification, design and implementation.

UsabilityUsability- The Ease with which users can learn and use - The Ease with which users can learn and use the system.the system.

EfficiencyEfficiency- Minimal use of system resource including - Minimal use of system resource including memory and execution time.memory and execution time.

ReliabilityReliability- The ability of a system to perform whenever - The ability of a system to perform whenever required without/with few failures.required without/with few failures.

IntegrityIntegrity- Prevention of unauthorized or improper use.- Prevention of unauthorized or improper use. AdaptabilityAdaptability-Usability in other application than the -Usability in other application than the

original one.original one. Accuracy- Accuracy- Degree of “Degree of “quantitative”quantitative” correctness. correctness. Robustness- Robustness- Functioning of system in presence of invalid Functioning of system in presence of invalid

inputs, stress inputs, stress environment.environment.

Page 11: Software quality

Internal CharacteristicsInternal Characteristics

Maintainability:Maintainability: Ease of modifying Ease of modifying software for changing/adding software for changing/adding capabilities, improving performance.capabilities, improving performance.

Flexibility:Flexibility: Extend of modifying Extend of modifying system for other uses/environments.system for other uses/environments.

Portability:Portability: Ease of modifying Ease of modifying system for operating in different system for operating in different environment.environment.

Reusability:Reusability: Extend of using parts in Extend of using parts in other systems.other systems.

Page 12: Software quality

Cont…Cont…

External:External:

What a systems user is interested What a systems user is interested in; typically properties of any single in; typically properties of any single particular system.particular system.

Internal: Internal:

What programmers/management What programmers/management are interested in; properties of the are interested in; properties of the development of a collection of development of a collection of systems.systems.

Page 13: Software quality

Techniques for Techniques for improving SQimproving SQ

Explicit software quality objectives.Explicit software quality objectives. Explicit quality assurance activities.Explicit quality assurance activities. Testing strategy.Testing strategy. Software Engineering guidelines.Software Engineering guidelines. Informal technical reviews.Informal technical reviews. Formal technical reviews.Formal technical reviews. External audits.External audits. Development process.Development process.

Page 14: Software quality

Cont…Cont…

Change control procedures.Change control procedures. Measurement of results.Measurement of results. Prototyping.Prototyping. Mathematical proof.Mathematical proof. Modular programming techniques.Modular programming techniques.

Page 15: Software quality

Views of QualityViews of Quality

Quality is a multidimensional construct. It may Quality is a multidimensional construct. It may therefore be considered using a polyhedron therefore be considered using a polyhedron metaphor. Within this metaphor, a three-metaphor. Within this metaphor, a three-dimensional solid represents quality. Each face dimensional solid represents quality. Each face represents a different aspect of quality such as represents a different aspect of quality such as correctnesscorrectness, , reliabilityreliability, and , and efficiency.efficiency.

It has been classified according to a number of It has been classified according to a number of ‘views’ or perspective. These views are often ‘views’ or perspective. These views are often diverse and may conflict with each other. Each diverse and may conflict with each other. Each view comes from a particular context.view comes from a particular context.

Page 16: Software quality

The software project The software project RolesRoles

Project managerProject manager Business analystBusiness analyst Implementation programmerImplementation programmer Quality auditorQuality auditor End userEnd user Line managerLine manager Project sponsorProject sponsor

Page 17: Software quality

Cont…Cont…

Page 18: Software quality

Garvin ClassificationGarvin Classification

1. The transcendent view1. The transcendent view

· Innate excellence· Innate excellence

· Classical definition· Classical definition 2. The product-based view2. The product-based view

· Higher the quality higher · Higher the quality higher the costthe cost

· Greater functionality· Greater functionality

· Greater care in development· Greater care in development

Page 19: Software quality

Cont…Cont… 3. The user-based view3. The user-based view · Fitness for purpose· Fitness for purpose · Very hard to quantify· Very hard to quantify 4. The manufacturing view4. The manufacturing view · Measures quality in terms of · Measures quality in terms of

conformanceconformance · Zero defects· Zero defects 5. The value-based view5. The value-based view · Provides the data with what the customer · Provides the data with what the customer

requires requires at a price.at a price.

Page 20: Software quality

HIERARCHICAL MODELS OF HIERARCHICAL MODELS OF QUALITYQUALITY

A hierarchical model of software A hierarchical model of software quality is based upon a set of quality quality is based upon a set of quality criteria, each of which has a set of criteria, each of which has a set of measures.measures.

Quality model are,Quality model are,

Bohem model.Bohem model.

McCall model.McCall model.

Page 21: Software quality

HIERARCHICAL VIEWS OF HIERARCHICAL VIEWS OF SQSQ

Quality Factor

MaintainabilityReliability

Quality Metrics

Usability

Quality MetricsQuality Metrics

Page 22: Software quality

GE model (MacCall GE model (MacCall 1977&1980)1977&1980)

McCall model •1978, James McCall •Project manager at General ElectricThree area addressed by MacCall model. Product operation. Product revision. Product transition.

Page 23: Software quality

Cont…Cont…Product Operation:Product Operation:

Here factors are related to the Operational Here factors are related to the Operational performance, convenience, ease of usage and performance, convenience, ease of usage and correctness.correctness.

Product Revision:Product Revision:These factors pertain to the Testing and These factors pertain to the Testing and Maintainability of Software. It gives idea about Maintainability of Software. It gives idea about maintenance, flexibility and Testing effortmaintenance, flexibility and Testing effort

Product Transition:Product Transition:To transfer a product from one platform to To transfer a product from one platform to another platform or from one technology to another platform or from one technology to another technology.another technology.

Page 24: Software quality

Cont….Cont….

Product Transition

Product Operation

Product Revision

PortabilityReusabilityInteroperability

MaintainabilityFlexibilityTestability

Correctness, Efficiency, Integrity, Reliability, Usability

Page 25: Software quality

Cont…Cont… Usability: Ease of use of software.Usability: Ease of use of software. Integrity: Protection of the program from Integrity: Protection of the program from

unauthorized user access.unauthorized user access. Efficiency: concerned with the resources. Efficiency: concerned with the resources. (ex): Process time, storage.(ex): Process time, storage. Correctness: The extent to which the Correctness: The extent to which the

program program fulfills its specifications.fulfills its specifications. Reliability: Ability not to fail.Reliability: Ability not to fail.

Page 26: Software quality

Cont…Cont…

Maintainability: The effort required locating Maintainability: The effort required locating an an fixing a fault in the fixing a fault in the program program with its with its operating environment.operating environment.

Flexibility: Ease of making changes with Flexibility: Ease of making changes with its its

operating environment.operating environment. Testability: Ease of testing the program Testability: Ease of testing the program

to to

ensure that it is error free.ensure that it is error free.

Page 27: Software quality

Cont…Cont…

Portability: The effort to transfer a program Portability: The effort to transfer a program

from one environment to from one environment to another.another.

Reusability: The ease of using the software in Reusability: The ease of using the software in

different context.different context. Interoperability: It is the effort required to Interoperability: It is the effort required to

couple the system to another couple the system to another system.system.

Page 28: Software quality

Boehm ModelBoehm Model

The Boehm model •1977, Barry Boehm (

http://sunset.usc.edu/Research_Group/barry.html)

•a TRW Systems and Energy Inc. (“Thompson RamoWooldridge”) software research lab.

Page 29: Software quality

Boehm’s Software Quality Boehm’s Software Quality ModelModel

Introduced in 78. Boehm has defined three levels Introduced in 78. Boehm has defined three levels of quality attributes:of quality attributes:

Primary usesPrimary usesIntermediate constructsIntermediate constructsPrimitive constructsPrimitive constructs

This model is similar to Mc Call but also includes This model is similar to Mc Call but also includes hardware performance that are missing in Mc Call.hardware performance that are missing in Mc Call.

Model reflects:Model reflects: What user want with S/w ProductWhat user want with S/w Product

Uses of ResourcesUses of Resources Is Software easy to learn and useIs Software easy to learn and use

Is well designed, well coded, easily tested & Is well designed, well coded, easily tested & MaintainedMaintained

Page 30: Software quality

Cont…Cont…

Portability

Reliability

Efficiency

Human Engg.

Testability

Understandability

Modifiability

Device Independence

Completeness

Accuracy

Consistency

Device Efficiency

Accessibility

Communicativeness

Legibility

As it Utility

Understandability

General Utility

Primary Uses

Intermediate Constructs

Primitive Constructs

Page 31: Software quality

ISO-9126ISO-9126 Single Model to standardize the Quality factors Single Model to standardize the Quality factors

since 1980.since 1980. It makes easier to compare products.It makes easier to compare products. It encompasses Six major attributes contributing It encompasses Six major attributes contributing

the Qualitythe QualityFunctionality: Functionality: Characteristics related with the achievement of Characteristics related with the achievement of purposepurpose

Reliability: Reliability: Capability of Software to maintain the performance of Capability of Software to maintain the performance of S/wS/w

Usability: Usability: Effort required to use the softwareEffort required to use the software

Efficiency: Efficiency: Relationship b/w level of performance & amount of Relationship b/w level of performance & amount of resourcesresources

Maintainability: Maintainability: Effort needed to make modification, improvementEffort needed to make modification, improvement

Portability: Portability: Transfer of One software to another oneTransfer of One software to another one

Page 32: Software quality
Page 33: Software quality
Page 34: Software quality
Page 35: Software quality
Page 36: Software quality
Page 37: Software quality
Page 38: Software quality
Page 39: Software quality
Page 40: Software quality
Page 41: Software quality
Page 42: Software quality
Page 43: Software quality
Page 44: Software quality
Page 45: Software quality
Page 46: Software quality
Page 47: Software quality
Page 48: Software quality
Page 49: Software quality