computing and se ii chapter 16: software quality management

25
Computing and SE II Chapter 16: Software Quality Management Er-Yu Ding Software Institute, NJU

Upload: summer-kerr

Post on 01-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Computing and SE II Chapter 16: Software Quality Management. Er-Yu Ding Software Institute, NJU. Main Contents. What is software quality? Quality management activities Quality evaluation. 1. What is software quality --- Quality. The American Heritage Dictionary defines quality as - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computing and SE II Chapter 16: Software Quality Management

Computing and SE II

Chapter 16: Software Quality Management

Er-Yu DingSoftware Institute, NJU

Page 2: Computing and SE II Chapter 16: Software Quality Management

Main Contents

1. What is software quality?2. Quality management activities3. Quality evaluation

Page 3: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- Quality

• The American Heritage Dictionary defines quality as – “a characteristic or attribute of something.”

• Software Quality– Conformance to explicitly stated

functional and performance requirements,

– explicitly documented development standards,

– and implicit characteristics that are expected of all professionally developed software.

Page 4: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- ISO/IEC 9126

Page 5: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- ISO/IEC 9126

特征 子特征 简要描述

功能性

精确性软件准确依照规定条款程度,规定确定了权利、协议的结果或者协议的效果

依从性 软件符合法定的相关标准、协定、规则或其他类似规定的程度

互操作性 软件和指定系统进行交互的能力

安全性软件阻止对其程序和数据进行未授权访问的能力,未授权的访问可能是有意,也可能是无意的

适合性 指定任务的相应功能是否存以及功能的适合程度

Page 6: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- ISO/IEC 9126

可靠性

成熟性 因软件缺陷而导致的故障频率程度

容错性 软件在故障或者外界违反其指定接口的情况下维持其指定性能水平的能力

可恢复性

软件在故障后重建其性能水平、恢复其受影响数据的能力、时间和精力

依从性 同上

Page 7: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- ISO/IEC 9126

易用性

可理解性

用户认可软件的逻辑概念和其适用性需要花费的精力

可学习性 用户为了学会使用软件需要花费的精力

可操作性

用户执行软件操作和控制软件操作需要花费的精力

吸引性 软件吸引用户的能力

依从性 同上

Page 8: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- ISO/IEC 9126

效率

时间行为

执行功能时的响应时间、处理时间和吞吐速度

资源行为

执行功能时使用资源的数量和时间

依从性 同上

Page 9: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- ISO/IEC 9126

可维护性

可分析性

诊断软件中的缺陷、故障的原因或者识别待修改部分需要花费的精力

可改变性

进行功能修改、缺陷剔除或者应付环境改变需要花费的精力

稳定性

因修改导致未预料结果的风险程度

可测试性

确认已修改软件需要花费的精力

依从性 同上

Page 10: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- ISO/IEC 9126

可移植性

适应性

不需采用额外的活动或手段就能适应不同指定环境的能力

可安装性

在指定的环境中安装软件需要花费的精力

共存性

在公共环境中同分享公共资源的其他独立软件共存的能力

可替换性

在另一个指定软件的环境下,替换该指定软件的能力和需要花费的精力

依从性 同上

Page 11: Computing and SE II Chapter 16: Software Quality Management

1. What is software quality --- Cost of Quality

• Prevention costs include– quality planning– formal technical reviews– test equipment– Training

• Internal failure costs include– rework– repair– failure mode analysis

• External failure costs are– complaint resolution– product return and replacement– help line support– warranty work

Page 12: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities

FormalTechnicalReviews

Test Planning& Review

Measurement

Analysis&

Reporting

ProcessDefinition &Standards

Page 13: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities Role of ----the SQA

(Software Quality Assurance) Group-I• Prepares an SQA plan for a project. – The plan 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

• 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.

Page 14: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities Role of ---the SQA

Group-II• 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.

• 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.

Page 15: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities ---Reviews &

Inspections• a meeting conducted by technical

people for technical people• a technical assessment of a work

product created during the software engineering process

• a software quality assurance mechanism

• a training ground

Page 16: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities --- The Players

reviewreviewleaderleader

producerproducer

recorderrecorder reviewerreviewer

standards bearer (SQA)standards bearer (SQA)

Technique engineeringTechnique engineering

user repuser rep

Page 17: Computing and SE II Chapter 16: Software Quality Management

Plan reviewDistributedocuments

Prepare forreview

Hold reviewmeeting

Follow-upactions

Revisedocument

2. Quality Management Activities

--- Peer Review Process

Page 18: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities --- Review Options Matrix

trained leaderagenda establishedreviewers prepare in advanceproducer presents product“reader” presents productrecorder takes noteschecklists used to find errorserrors categorized as foundissues list createdteam must sign-off on result

IPR—informal peer review WT—WalkthroughIN—Inspection

IPR WT IN

nomaybemaybemaybenomaybenononono

yesyesyesyesnoyesnonoyesyes

yesyesyesnoyesyesyesyesyesyes

*

*

Page 19: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities --- Metrics Derived from Reviews

inspection time per page of documentationinspection time per KLOC or FP

errors uncovered per reviewer hourerrors uncovered per preparation hour

errors uncovered per SE task (e.g., design)number of minor errors (e.g., typos)

number of errors found during preparation

number of major errors (e.g., nonconformance to req.)

inspection effort per KLOC or FP

Page 20: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities --- Statistical SQA

ProductProduct& Process& Process

measurement

... an understanding of how to improve quality ...

Collect information on all defectsFind the causes of the defectsMove to provide fixes for the process

Page 21: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities

--- Six-Sigma for Software Engineering

• The term “six sigma” is derived from six standard deviations—3.4 instances (defects) per million occurrences—implying an extremely high quality standard.

• 6 Sigma 可解释为每一百万个机会中有 3.4 个出错的机会,即合格率是 99.99966 %。而 3 Sigma 的合格率只有 93.32 %。

• 能力指数 DPMO 百万产品缺陷率 6 Sigma 3.4 5 Sigma 230 4 Sigma 6210 3 Sigma 66,800 2 Sigma 308,000 1 Sigma 690,000

Page 22: Computing and SE II Chapter 16: Software Quality Management

2. Quality Management Activities

--- Six-Sigma for Software Engineering

• The Six Sigma methodology defines three core steps:– Define customer requirements and deliverables and project goals

via well-defined methods of customer communication– Measure the existing process and its output to determine

current quality performance (collect defect metrics)– Analyze defect metrics and determine the vital few causes.

• And two additional 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.

• 6σ 理论认为,大多数企业在 3σ ~ 4σ 间运转,这些缺陷要求经营者以销售额在 15% ~ 30% 的资金进行事后的弥补或修正,而如果做到 6σ ,事后弥补的资金将降低到约为销售额的 5%

Page 23: Computing and SE II Chapter 16: Software Quality Management

3. Quality evaluation--- 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.

• The requirements delineated by ISO 9001:2000 address topics such as – management responsibility, quality system, contract

review, design control, document and data control, product identification and traceability, process control, inspection and testing, corrective and preventive action, control of quality records, internal quality audits, training, servicing, and statistical techniques.

Page 24: Computing and SE II Chapter 16: Software Quality Management

The End

1. What is software quality?2. Quality management activities3. Quality evaluation

Page 25: Computing and SE II Chapter 16: Software Quality Management

The End

• Readings–《 Quality models and quality

measurement 》• Next Lecture– Software configuration management