Copyright 1995-2007, Dennis J. Frailey CSE8314 - Software Measurement and Quality Engineering CSE8314 M01 - Version 7.09 SMU CSE 8314 Software Measurement.

Slides:



Advertisements
Similar presentations
Brin Tracy Marriott School of Management
Advertisements

Chapter 4 Quality Assurance in Context
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
CHAPTER 1 Introduction to SQA.
What is Software Quality?. Popular View of Quality  Quality is an intangible trait.  “I know it when I see it.”  I.e., it is interpreted in different.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is software? Software errors, faults and failures Classification.
Managing Quality 1. Quality Back in 1964 a Justice of the US Supreme Court, Potter Stewart, wrote in an opinion something to the effect that obscene was.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
SOFTWARE PROJECT MANAGEMENT Project Quality Management Dr. Ahmet TÜMAY, PMP.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality - continued So let’s move on to ‘exactly’ what we mean.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Chapter 1 Enterprise Wide View.
Chapter 25 Risk Management
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
Quality Control Project Management Unit Credit Value : 4 Essential
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
This chapter is extracted from Sommerville’s slides. Text book chapter
Creator: ACSession No: 15 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Software Quality Assurance & Software Quality Control.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M10 8/20/2001Slide 1 SMU CSE 8314 /
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin 8-1 Chapter Eight Audit Sampling: An Overview and Application.
Chapter 16 Implementing Quality Concepts Cost Accounting Foundations and Evolutions Kinney, Prather, Raiborn.
January 20, 2000 CSE SW Project Management / Chapter 12 – Software Quality Engineering & Assurance Copyright © , Dennis J. Frailey, All.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M01 8/20/2001Slide 1 SMU CSE 8314 /
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M15 version 5.09Slide 1 SMU CSE.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Module 03 The Context for Quality Improvement
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Quality management Chapter One. Outline of the course 1- Introduction 2- Total Quality Management 3- ISO 9000:2000 QMS 4- Quality Control Techniques 5-
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M18 8/20/2001Slide 1 SMU CSE 8314 /
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M09 version 5.09Slide 1 SMU CSE.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
CSE SW Project Management / Module 34 - Software Quality Assurance Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M34 Slide.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M34 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M11 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M03 - Version 7.09 SMU CSE 8314 Software Measurement.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M11 version 5.09Slide 1 SMU CSE.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M33 8/20/2001Slide 1 SMU CSE 8314 /
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M01 Version 3.09Slide 1 SMU CSE.
CSE SW Project Management / Module 33 - Software Quality Control Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M33 Slide.
MANAGEMENT INFORMATION SYSTEM
Quality Control and Quality Assurance
Software Quality Control and Quality Assurance: Introduction
CSC 480 Software Engineering
Software Verification and Validation
Chapter no.1 introduction to Total Quality Management
SEVERITY & PRIORITY RELATIONSHIP
Chapter 18 Maintaining Information Systems
Verification and Validation
Software Quality Engineering CS- 449
Total Quality Management
What is software quality?
Chapter 13 Quality Management
What is software quality?
Chapter # 1 Overview of Software Quality Assurance
Presentation transcript:

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version 7.09 SMU CSE 8314 Software Measurement and Quality Engineering Module 01 Overview of Software Quality Engineering

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Why is There So Much Ineffective Product Development?  Organizations focus on cost or schedule... … instead of looking at the big picture  Organizations don’t know how to produce high quality products  Organizations fail to see the benefits of using quality engineering techniques

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version The “Zero-sum Game” Trap Pick Any Two Quality Productivity Cycle Time

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version The Secret to Effective Product Development  Make the Process Efficient –Eliminate waste –Eliminate mistakes –This makes things faster, less costly, and higher in quality Avoid the mistake of seeing the problem as a zero sum game, such as: “to cut cost or save time you must reduce quality”; “to improve quality you must make the product more expensive.” Avoid the mistake of seeing the problem as a zero sum game, such as: “to cut cost or save time you must reduce quality”; “to improve quality you must make the product more expensive.”

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Effective Quality Engineering is Fundamental to Productivity and Cycle Time Improvement Effective Product Development Quality Productivity Cycle Time

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Any Banner Will Do Total Quality Management Total Cycle Time Productivity Enhancement Six Sigma

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Defining Quality

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Concepts of Quality Webster defines quality as: 1) “that which makes something what it is" 2) “the degree of excellence” But is this what we mean for software? 1) “our software is what it is - that makes it a quality product" 2) “the more perfect the software the higher the quality”

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version “That Which Makes it What it Is”  e.g. Purity of tone is a quality of music –But perhaps not in certain musical styles –What defines the quality of “hard rock” music? Is quality in the ear of the beholder? Is there a universally accepted characteristic of musical quality? Is quality in the ear of the beholder? Is there a universally accepted characteristic of musical quality?

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version “Degree of Excellence”  Which has higher quality: a Ferrari or a Toyota Corolla ???  Which has more prestige?  Which costs less and leaves money for other expenses?  Which is more reliable?  Which weighs more?

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Concepts of Quality for Products “Quality is conformance to requirements” Crosby “Quality is fitness for intended use” Juran “Quality is value to someone” Weinberg

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version “Quality is Conformance to Requirements”  If testable requirements can be established, then it is possible to decide whether the product meets the criteria  Thus you can avoid disputes and have workable contractual relationships HOWEVER...

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Issues with “Conformance to Requirements” - I  Who establishes the requirements? –Sponsor - The one who pays for the product –End User - The one who will use the product –Sales or Marketing - The one who will sell the product –Engineering - The ones who will design and build it

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Issues with “Conformance to Requirements” - II  Are the requirements right? –consistent –complete –correct  Who determines whether the requirements are right?  What if you discover a problem later on?

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Issues with “Conformance to Requirements” - III  What about implicit vs. explicit requirements? –E.g. coffee should be hot and flavorful –Implicit requirement: not poisonous  Furthermore, requirements change during the development process –Who makes and who controls the change? –Who pays for the consequences of change?

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version “Quality is Fitness for Intended Use”  This definition is based on a fundamental concept of law - that a product should be fit for the use that it is intended for.  This definition accommodates the fact that we may not be able to fully define the requirements. HOWEVER...

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Issues with “Fitness for Intended Use” - I  Who defines fitness? –Consider a TV set -- which fitness characteristics are not understood by  Typical User  Engineer  Sales Personnel –Consider a software program -- which fitness characteristics are not understood by the typical software developer?

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Issues with “Fitness for Intended Use” - II  Different users have different definitions of fitness –Ease of use for novices vs control of fine details for experts –VS. ease of maintenance for support staff  Uses change as users grow in experience –Too many “ease of use” and “automatic” features may frustrate an expert

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Issues with “Fitness for Intended Use” - III  The “pleasant surprise” concept –User gets more than he or she expected –“They really knew what they were doing” There is always a balance between the engineer knowing better than the customer and the customer knowing better than the engineer

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version “Quality is Value to Someone”  This definition incorporates the idea that quality is relative  And it places increased emphasis on understanding what quality means to the intended user of the software HOWEVER...

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Issues with “Value to Someone”  Whose opinion counts? –May need to weigh different opinions –May need to separate explicit from implicit views  Logic vs Emotion –“Glitz” v. “Substance”  What is it Worth? –Space Shuttle -- 0 defects –Video Game -- good user interface

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Definitions of Software Quality  IEEE: The degree to which the software possesses a desired combination of attributes  Crosby: The degree to which a customer perceives that software meets composite expectations Note that both definitions imply multiple expectations

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Software Quality Characteristics

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Summary of Quality Definition Issues  Define quality –You must define it to know if you have it –… and to engineer it into your product  Quality has multiple elements –It reflects a multitude of expectations  Quality is relative –Quality is in the eye of the customer  Quality encompasses fitness, value, and other attributes

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Question How does your organization define quality?

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Engineering

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version The Evolution of Quality Quality Engineering Quality Control Quality Assurance 1916todayfuture1950’s See Berger, Chapter 1, for further background

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Control Preventing unacceptable products from being released to the customer  Emphasis is on finding defects and fixing them after the fact. “A regulatory process through which we measure actual quality performance, compare with standards, and act on differences.” Juran “A regulatory process through which we measure actual quality performance, compare with standards, and act on differences.” Juran

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Control Goal: Keep Quality at an Acceptable Level by Rejecting Unacceptable Products Requirements DevelopmentQC Inspection Pass Fail Standards of Quality

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Headrest Story - Part I: Independence Why go to college? I’ll get a job at an automobile assembly plant! My Brother

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Headrest Story - Part II: Employment I found a quality control job on the assembly line... finding defective headrests.

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Rejects My Brother Headrest Story - Part III: Excitement The highlight of my day!!! They switched from red to blue!

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Headrest Story - Part IV: Quality Control QC Manager Production Manager Production rate is too low! You’re too picky! These are substandard! Pay more attention to the criteria!

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Headrest Story - Part V: “Discussion” You’re a *#&$% You! Discussion (as used in automobile assembly lines): Verbal communication characterized by extensive use of profanity and threats of bodily harm.

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Headrest Story - Part VI: The Following Fall My Brother

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Problems with Quality Control  Does not reduce the number of defects  Does not improve the process  Does not result in better products  Does not motivate improvement  Results in adversarial relationships

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Assurance Assuring Product Quality: “Building Quality In”  Providing evidence that the quality function is being performed adequately Juran  Quality assessment and measurement Fisher/Baker

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Assurance “A planned and systematic pattern of all actions necessary to provide adequate confidence that the product conforms to established technical requirements” IEEE (George Tice) “A planned and systematic pattern of all actions necessary to provide adequate confidence that the product conforms to established technical requirements” IEEE (George Tice)

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Software Quality Assurance Don Riefer  These methods and procedures include: –Planning, measuring and monitoring of all work performed by software engineers, software testers, etc. A system of methods and procedures used to assure that the software product meets its requirements.

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Assurance Looks at the Entire Process Requirements DevelopmentQC Inspection Pass Fail Standards of Quality Process and Design Standards

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Assurance is More Effective than Quality Control because the emphasis moves to the development process  You attempt to fix problems before and during the development process  You improve the process and therefore reduce the number of defects in a lasting manner

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version But...  Quality improvement is still separate from other process improvement and software development activities  Adversarial relationships are still there –quality assurance vs. software developers –validating and testing vs. design and coding  Motivation to improve is inconsistent  It costs more to have people monitoring people

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Engineering  Similar to quality assurance, but the responsibility shifts to everyone on the team.  Quality is built into the development process. –Requirements, Design, Coding, Testing, etc.  This is a very professional and responsible approach to software development.

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version The Philosophical Change in QE  Problems result in process changes, not punishment of people  Finding errors is good -- it keeps them from leaking through to the customer  Everyone appreciates that a competitive process is the way to remain a competitor  Measurements are used so that decisions are based on fact (in addition to intuition)

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Engineering Requires a Cultural Change  Pride in quality in addition to pride in product features or performance  Professionalism rather than fear of criticism  Overcoming the fear of metrics  Seeing software development as much more than programming and design “We” rather than “They”

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Quality Engineering Approach  Build quality into the product as part of the development process –Measure quality –Understand quality –Improve quality  Engineer the whole process for improvements in quality, productivity and cycle time (“Process Engineering”)  A defined process is a must !!

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Elements of Quality Engineering  Understand process and its role  Define value and quality - and focus on adding both of these to the product  Manage process performance through programs such as six-sigma or zero defects or statistical process control  Analyze the cost of quality  Define and manage software reliability

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Benefits of the Quality Engineering Approach  Less adversarial  Motivation and information to improve  Flexibility to change the process in response to a problem –you understand the problem and its cause –you understand the consequences of a change in the process  Knowledge is the foundation of successful quality engineering

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version Summary  Product development is not a “zero sum game”  Quality must be defined in terms of things that matter to customers  Quality engineering focuses on the whole process and involves the whole project team

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version References  Berger, R. W., et. Al., The Certified Quality Engineer, ASQ Quality Press, 2006 (chapter 1)  Crosby, Philip B. Quality is Free, New York, McGraw-Hill,  Deming, W. Edwards, Out of the Crisis, MIT Press, 1986, ISBN:  Juran, J. M., Juran on Leadership for Quality: An Executive Handbook, The Free Press,  Juran, J. M. and Frank M. Gryna, Quality Planning and Analysis, McGraw-Hill

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version References (continued)  Schwartz, James B., 1994, The Hunters and the Hunted, Productivity Press, ISBN  Weinberg, Gerald M., 1992, Quality Software Management, Volume 1, Systems Thinking, Dorset House, New York, ISBN

Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M01 - Version END OF MODULE 01