过软件质量 口何谓“质量”? 口产品或工作的“优劣程度” 口何为“优”?何为“劣”? 口可从“外部”和“内部”两个不同的侧面来 考察软件产品( Meyer,McC|) 口外部质量因素:用户直接感觉到的 口内部质量因素:用户不能直接发觉,体现在软件 “文本”(源码、设计报告、分析报告等)中 ■ Being modular; readable… Institute of Computer Software 2021/214 Nanjing University
软件质量 2021/2/4 Institute of Computer Software Nanjing University 21 何谓“质量”? 产品或工作的“优劣程度” 何为“优”?何为“劣”? 可从“外部” 和 “内部” 两个不同的侧面来 考察软件产品 (Meyer, McCall) 外部质量因素:用户直接感觉到的 内部质量因素:用户不能直接发觉,体现在软件 “文本”(源码、设计报告、分析报告等)中 ◼ Being modular; readable…
病 外部质量因素 口 Correctness正确性 口依据规约完成任务 口 Robustness鲁棒性 Reliability 异常情况合理反应 口 Integrity完整性 SPECIFICATION 口非法访问或修改合理反应 Correctness 口 Extendibility易扩展性 Robustness Integrity 口软件产品应规约改变而改变 口 Reusabili易复用性 口软件模块用于构建多种不同应用 Institute of Computer Software, Nanjing University 2021/2/4
外部质量因素 Institute of Computer Software, Nanjing University 2021/2/4 22 Correctness 正确性 依据规约 完成任务 Robustness 鲁棒性 异常情况 合理反应 Integrity 完整性 非法访问或修改 合理反应 Extendibility 易扩展性 软件产品 应 规约改变 而 改变 Reusability 易复用性 软件模块 用于构建多种不同应用 Reliability Robustness SPECIFICATION Correctness Integrity
外部质量因素 口 Compatibility兼容性 口软件模块相互组合的难易 口 Efficiency高效性 口尽量少地使用硬件资源处理器时间内存外存网络带宽等 Portabilit!y易移植性 口转换到不同的软硬件平台上 口 Ease of use易用性 口不同背景的用户学习使用软件产品解决问题的难易 Institute of Computer Software 2021/214 Nanjing University
外部质量因素 2021/2/4 Institute of Computer Software Nanjing University 23 Compatibility 兼容性 软件模块相互组合的难易 Efficiency 高效性 尽量少地使用硬件资源 处理器时间 内存 外存 网络带宽 等 Portability 易移植性 转换到不同的软硬件平台上 Ease of use 易用性 不同背景的用户学习使用软件产品解决问题的难易
外部质量因素 口 Functionality 口功能 口 Timeliness 口按时交付 a Verifiability, reparability, economy Institute of Computer Software 2021/214 Nanjing University
外部质量因素 2021/2/4 Institute of Computer Software Nanjing University 24 Functionality 功能 Timeliness 按时交付 Verifiability, Reparability, Economy
维护费用分类 70% of the cost of software is devoted to maintenance Changes in User Requirements 41.8% Changes 1.6%o in data Other Formats 2%9%12.4% Emergency Haraware F changes/ routine Fixes Lientz 1980 Institute of Computer Software 2021/214 Nanjing University
维护费用分类 2021/2/4 Institute of Computer Software Nanjing University 25 [Lientz 1980] 70% of the cost of software is devoted to maintenance!