Computing and SE II Chapter 16: Software Quality Management
-
Upload
summer-kerr -
Category
Documents
-
view
28 -
download
0
description
Transcript of Computing and SE II Chapter 16: Software Quality Management
Computing and SE II
Chapter 16: Software Quality Management
Er-Yu DingSoftware Institute, NJU
Main Contents
1. What is software quality?2. Quality management activities3. Quality evaluation
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.
1. What is software quality --- ISO/IEC 9126
1. What is software quality --- ISO/IEC 9126
特征 子特征 简要描述
功能性
精确性软件准确依照规定条款程度,规定确定了权利、协议的结果或者协议的效果
依从性 软件符合法定的相关标准、协定、规则或其他类似规定的程度
互操作性 软件和指定系统进行交互的能力
安全性软件阻止对其程序和数据进行未授权访问的能力,未授权的访问可能是有意,也可能是无意的
适合性 指定任务的相应功能是否存以及功能的适合程度
1. What is software quality --- ISO/IEC 9126
可靠性
成熟性 因软件缺陷而导致的故障频率程度
容错性 软件在故障或者外界违反其指定接口的情况下维持其指定性能水平的能力
可恢复性
软件在故障后重建其性能水平、恢复其受影响数据的能力、时间和精力
依从性 同上
1. What is software quality --- ISO/IEC 9126
易用性
可理解性
用户认可软件的逻辑概念和其适用性需要花费的精力
可学习性 用户为了学会使用软件需要花费的精力
可操作性
用户执行软件操作和控制软件操作需要花费的精力
吸引性 软件吸引用户的能力
依从性 同上
1. What is software quality --- ISO/IEC 9126
效率
时间行为
执行功能时的响应时间、处理时间和吞吐速度
资源行为
执行功能时使用资源的数量和时间
依从性 同上
1. What is software quality --- ISO/IEC 9126
可维护性
可分析性
诊断软件中的缺陷、故障的原因或者识别待修改部分需要花费的精力
可改变性
进行功能修改、缺陷剔除或者应付环境改变需要花费的精力
稳定性
因修改导致未预料结果的风险程度
可测试性
确认已修改软件需要花费的精力
依从性 同上
1. What is software quality --- ISO/IEC 9126
可移植性
适应性
不需采用额外的活动或手段就能适应不同指定环境的能力
可安装性
在指定的环境中安装软件需要花费的精力
共存性
在公共环境中同分享公共资源的其他独立软件共存的能力
可替换性
在另一个指定软件的环境下,替换该指定软件的能力和需要花费的精力
依从性 同上
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
2. Quality Management Activities
FormalTechnicalReviews
Test Planning& Review
Measurement
Analysis&
Reporting
ProcessDefinition &Standards
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.
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.
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
2. Quality Management Activities --- The Players
reviewreviewleaderleader
producerproducer
recorderrecorder reviewerreviewer
standards bearer (SQA)standards bearer (SQA)
Technique engineeringTechnique engineering
user repuser rep
Plan reviewDistributedocuments
Prepare forreview
Hold reviewmeeting
Follow-upactions
Revisedocument
2. Quality Management Activities
--- Peer Review Process
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
*
*
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
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
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
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%
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.
The End
1. What is software quality?2. Quality management activities3. Quality evaluation
The End
• Readings–《 Quality models and quality
measurement 》• Next Lecture– Software configuration management