CSEB233: Fundamentals of Software Engineering Software Quality Management.

Slides:



Advertisements
Similar presentations
1.Quality-“a characteristic or attribute of something.” As an attribute of an item, quality refers to measurable characteristics— things we are able to.
Advertisements

Formal Process of QA and quality related certifications Formal Process of QA and quality related certifications MIM 3 rd year – Sem V Abhishek Mishra –
System Integration Verification and Validation
More CMM Part Two : Details.
Stepan Potiyenko ISS Sr.SW Developer.
Overview Lesson 10,11 - Software Quality Assurance
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CSEB233 Fundamentals of Software Engineering
Introduction to Software Testing
Chapter 24 - Quality Management
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Six Sigma By: Tim Bauman April 2, Overview What is Six Sigma? Key Concepts Methodologies Roles Examples of Six Sigma Benefits Criticisms.
Software Project Management
Chapter 16 Software Quality Assurance
CSEB233 Fundamentals of Software Engineering Module 7: Software Quality Management Badariah Solemon 2010.
Chapter : Software Process
Software Project Management
CS 4310: Software Engineering
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Chapter 16 Software Quality Assurance
Developed by Reneta Barneva, SUNY Fredonia Quality Concepts (Chapter 14)
Overview Software Quality Software Quality and Quality Assurance
Software Quality SEII-Lecture 15
UNIT-II Chapter : Software Quality Assurance(SQA)
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Quality Assurance Activities
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
CS3100 Software Project Management Week 26 - Quality Dr Tracy Hall.
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
S Q A.
IT Requirements Management Balancing Needs and Expectations.
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
Software Project Management Lecture # 11. Outline Quality Management (chapter 26 - Pressman)  What is quality?  Meaning of Quality in Various Context.
Creator: ACSession No: 15 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Software Quality Assurance & Software Quality Control.
Software Testing and Quality Assurance Software Quality Assurance 1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter : 16 Software Quality Assurance
1 Lecture 11: Chapter 14 Quality Concepts Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright.
1 TenStep Project Management Process ™ PM00.9 PM00.9 Project Management Preparation for Success * Manage Quality *
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Quality Issues. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009.
1 Lecture 12: Chapter 16 Software Quality Assurance Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
Software reviews Cost impact of software defects Defect amplification model Review metrics and their use – Preparation effort (E p ), assessment effort.
Software Engineering (CSI 321) Software Process: A Generic View 1.
SE513 Software Quality Assurance Lecture12: Software Reliability and Quality Management Standards.
Project Management Quality Management. Introduction Project planning Gantt chart and WBS Project planning Network analysis I Project planning Network.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 26 Quality Management Software Engineering: A Practitioner’s Approach, 6/e Chapter 26 Quality.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Software Quality Control and Quality Assurance: Introduction
Software Quality Management
Software Quality Assurance
Software Verification and Validation
Quality Management chapter 27.
Software Quality Assurance
Chapter 21 Software Quality Assurance
Software Quality Engineering CS- 449
UNIT-6 SOFTWARE QUALITY ASSURANCE
Chapter 21 Software Quality Assurance
Introduction to Software Testing
UNIT-6 SOFTWARE QUALITY ASSURANCE
Chapter 13 Quality Management
Quality Measurable characteristic Cyclomatic complexity Cohesion
Chapter # 1 Overview of Software Quality Assurance
Software Engineering: A Practitioner’s Approach, 6/e Chapter 26 Quality Management copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For.
3. Software Quality Management
Presentation transcript:

CSEB233: Fundamentals of Software Engineering Software Quality Management

Objectives  Explain the concepts and principles of quality, software quality and software quality management.  Discuss several indicators of a high quality software product  Present real life quality dilemmas for even the best SE organizations  Describe four broad activities that help a software team achieve high quality software  Elaborate the concepts, principles, methods and standards for Software Quality Assurance (SQA)

Software Quality Management Concepts and Principles

What is Software Quality Management?  Adopts a number of management principles that are used by upper management to guide their organizations towards improved software product performance  e.g., continuous quality improvement, customer focus, process approach, leadership, etc.  Concerned with ensuring that the required level of quality is achieved in a software product  Should aim to develop a ‘quality culture’ where quality is seen as everyone’s responsibility  Software Quality Assurance (SQA) is often called quality management!

Scope of Software Quality Management  Quality management  particularly important for large, complex systems  The Quality documentation  a record of progress and supports continuity of development as the development team changes  For smaller systems, quality management needs less documentation and should focus on establishing a ‘quality culture’

What is Quality?  The American Heritage Dictionary defines quality as  “a characteristic or attribute of something”  For software, two kinds of quality may be encountered:  Quality of design encompasses requirements, specifications, and the design of the system.  Quality of conformance is an issue focused primarily on implementation  User satisfaction = compliant product + good quality + delivery within budget and schedule

Comments on Quality  Phil Crosby once said:  The problem of quality management is not what people don't know about it. The problem is what they think they do know... In this regard, quality has much in common with sex.  Everybody is for it. (Under certain conditions, of course.)  Everyone feels they understand it. (Even though they wouldn't want to explain it.)  Everyone thinks execution is only a matter of following natural inclinations. (After all, we do get along somehow.)  And, of course, most people feel that problems in these areas are caused by other people. (If only they would take the time to do things right.)

Software Quality  In 2005, ComputerWorld lamented “bad software” plagues nearly every organization that uses computers, causing  lost work hours during computer downtime,  lost or corrupted data,  missed sales opportunities,  high IT support and maintenance costs, and  low customer satisfaction.  A year later, InfoWorld wrote about the  “the sorry state of software quality” reporting that the quality problem had not gotten any better

Software Quality  Today, software quality remains an issue  Who is to be blamed?  Customers blame developers, arguing that sloppy practices lead to low-quality software  Developers blame customers, and other stakeholders  arguing that irrational delivery dates and stream of changes force them to deliver software before it is fully validated

What is Software Quality?  Software quality can be defined as:  An effective software process applied in a manner that creates a useful product that provides measurable value for those who produce it and those who use it  Effective process:  Establishes the infrastructure that supports any effort at building a high quality software product  The management aspects of process create the checks and balances that help avoid project chaos - a key contributor to poor quality.

What is Software Quality?  Useful product  Delivers the content, functions, and features that the end-user desires in a reliable, error free way  Satisfies requirements of stakeholders and that are expected of all high quality software

What is Software Quality?  Adding value  High quality software provides benefits to producer and user  To producer:  less maintenance effort, fewer bug fixes, and reduced customer support  To user:  expedites some business process.  End results  Increased revenue, better profitability when an application supports a business process, and/or improved availability of information that is crucial for the business.

Software Quality Management Indicators of High Quality Software

Quality Dimensions and Factors  Can be used as generic quality indicators of a software product  Garvin Quality Dimensions  McCall’s Quality Factors  ISO 9126 Quality Factors  Targeted Factors

Quality Dimensions and Factors GarvinMcCallISO 9126Targeted 1.Performance Quality 2.Feature Quality Reliability 3.Conformance 4.Durability Serviceability 5.Aesthetic 6.Perception 1.Correctness 2.Reliability 3.Efficiency 4.Integrity 5.Usability 6.Maintainability 7.Flexibility 8.Testability 9.Portability 10.Reusability 11.Interoperability 1.Functionality 2.Reliability 3.Usability 4.Efficiency 5.Maintainability 6.Portability 1.Intuitiveness 2.Efficiency 3.Robustness 4.Richness

Quality Dimensions and Factors  Efficiency  The degree to which the software makes optimal use of software resources.  Usability  The degree to which the software is easy to learn, use, operate, prepare input for and interpret output from.

Quality Dimensions and Factors  Maintainability  The ease with which repair maybe made to the software  Reliability  The amount of time that the software is available for use

Software Quality Management Software Quality Dilemmas

The Software Quality Dilemmas  If you produce a software system that has terrible quality, you lose because no one will want to buy it  If you spend infinite time, extremely large effort, and huge sums of money to build an absolutely perfect piece of software,  then it's going to take so long to complete, and  it will be so expensive to produce that you’ll be out of business anyway

The Software Quality Dilemmas  Either you missed the market window, or you simply exhausted all your resources  So people in industry try to get to that middle ground where  the product is good enough not to be rejected right away, such as during evaluation,  but also not the object of so much perfectionism and so much work that it would take too long or cost too much to complete

Software Quality Management Achieving High Quality Software

Achieving Software Quality  Broad activities that help a software team achieve high quality software:  Quality assurance (QA)  establishes the infrastructure that supports solid software engineering methods, rational project management, and quality control actions  Quality control (QC)  action that helps ensure each work products meets its quality goals  e.g., review design models to ensure that they are complete and consistent

Achieving Software Quality  Broad activities that help a software team achieve high quality software:  Software engineering method  understand the problem to be solved, create a design that conforms to the problems and exhibit characteristics that lead to software that are reliable, efficient, usable, etc.  Project management technique  use estimation to verify that delivery dates are achievable, schedule dependencies are understood and conduct risk planning so that problem do not breed chaos.

Software Quality Management Software Quality Assurance

Software Quality Assurance (SQA)  An SQA process  Specific QA and QC tasks  technical review, audits, multitier testing strategy etc.  Effective SE practice (methods and tools)  risk management  Control of all software work products and changes made to them  change management, security management  A procedure to ensure compliance with standards  IEEE, ISO, CMMI, Six Sigma, etc.  Measurement and reporting mechanisms  SQA group

Role of the SQA Group  Prepares an SQA plan for a project, which identifies:  evaluations to be performed  audits and reviews to be performed  standards that are applicable to the project  procedures for error reporting and tracking  documents to be produced by the SQA group  amount of feedback provided to the software project team

Role of the SQA Group  Participates in the development of the project’s software process description  The SQA group reviews  the process description for compliance with organizational policy  internal software standards  externally imposed standards (e.g., ISO- 9001), and  other parts of the software project plan

Role of the SQA Group  Reviews software engineering activities to verify compliance with the defined software process  identifies, documents, and tracks deviations from the process and verifies that corrections have been made  Audits designated software work products to verify compliance with those defined as part of the software process  reviews selected work products; identifies, documents, and tracks deviations; verifies that corrections have been made  periodically reports the results of its work to the project manager

Role of the SQA Group  Ensures that deviations in software work and work products are documented and handled according to a documented procedure  Records any noncompliance and reports to senior management.  Noncompliance items are tracked until they are resolved.

SQA Goals  Requirements quality  The correctness, completeness, and consis- tency of the requirements model strongly influence the quality of all work products that follow  Design quality  Every element of the design model should be assessed by the software team to ensure that it exhibits high quality, and  The design itself conforms to requirements

SQA Goals  Code quality  Source code and related work products (e.g., other descriptive information) must conform to local coding standards, and  Exhibit characteristics that facilitate maintain- ability  Quality control effectiveness  Software team should apply limited resources in a way that has the highest likelihood of achieving a high quality result

Statistical SQA  Steps to perform statistical SQA:  Collect and categorize information about software errors and defects  Trace each error and defect to its underlying cause  e.g., non-conformance to specifications, design error, violation of standards, poor communication with customer  Identify vital few causes of defects (20%) by using the Pareto principle  80% of defects can be traced to 20% of all possible causes  Correct the problems that caused errors and defects  Widely used strategy for statistical SQA in the industry is Six Sigma

Six-Sigma for Software Engineering  Originally popularized by Motorola in the 1980s  A rigorous and disciplined methodology that uses data and statistical analysis to measure and improve a company’s operational performance

Six-Sigma for Software Engineering  The Six Sigma methodology defines three core steps:  Define customer requirements and deliver- ables and project goals  Use well-defined methods of customer communi- cation  Measure the existing process and its output to determine current quality performance  Collect defect metrics  Analyze defect metrics and determine the vital few causes

Six-Sigma for Software Engineering  If improvement is required when software process exist, Six Sigma suggest two extra steps:  Improve the process by eliminating the root causes of defects  Control the process to ensure that future work does not reintroduce the causes of defects

ISO 9001:2000 Standard  ISO 9001:2000 is the quality assurance standard that applies to software engineering  The standard contains 20 requirements that must be present for an effective quality assurance system

ISO 9001:2000 Standard  The requirements set down by ISO 9001: 2000 address topics such as  management responsibility  quality system  contract review  design control  document and data control  product identification and traceability

ISO 9001:2000 Standard  The requirements set down by ISO 9001: 2000 address topics such as  process control, inspection and testing  corrective and preventive action  control of quality records  internal quality audits  training  servicing, and  statistical techniques

ISO 9001:2000 Standard  Update and upgrade of standard:  visit _ics/catalogue_detail_ics.htm?csnumber=464 86

Summary  The concepts and principles of quality, software quality and software quality management.  Several indicators of a high quality software product  A real life quality dilemmas for even the best SE organizations  Four broad activities that help a software team achieve high quality software  The concepts, principles, methods and standards for Software Quality Assurance (SQA)

THE END Copyright © 2014 College of Information Technology