第一章--第二节:软件构造的质量目标(软件构造学习笔记)
2018-03-14 10:40
405 查看
第一章:软件构建的视图和质量目标
第二节:软件构造的质量目标
问题一:影响软件质量的因素
1.外部质量因素2.内部质量因素
外部质量因素影响用户
内部质量因素影响软件本身和它的开发者
外部质量取决于内部质量
问题二:外部质量因素包括什么
1.Correctness 正确性含义:正确性是软件产品按照其规范定义的执行其精确任务的能力。
至高无上的质量目标
软件的行为要严格的符合规约中定义的行为
测试和调试: 发现不正确 消除不正确
防御式编程:在写程序的时候就保证正确性
形式化方法:通过形式验证发现问题
2.Robustness 健壮性
含义:健壮性是软件系统对异常情况作出适当反应的能力
针对异常情况的处理
出现规约定义之外的情形的时候,软件要做出恰当的反应
spec:软件合约
3. Extendibility 可扩展性 含义:可扩展性是使软件容易适应变更的能力。
scale 规模越大 ,扩展起来越不容易
扩展的目的:应对变化
如何提高可扩展性:简约主义设计、分离主义设计
4.Reusability 可复用性 含义:可复用性是软件元素服务于构建许多不同的应用程序的能力(一次开发,多次使用)
5.Compatibility 兼容性
含义:兼容性是不同的软件系统之间相互可容易的集成
实现兼容性的关键是产品标准化
6.Efficiency 性能
含义:效率是软件系统尽可能少地对硬件资源进行处理的能力,例如处理器时间、内部和外部存储器占用的空间、通信设备中使用的带宽。
如果没有正确性,性能将毫无意义
对性能的关注要与其他质量属性进行折中
过度优化导致软件不再适应变化和复用
7.Portability 可移植性
含义:软件可方便的在不同的技术环境之间移植的能力。
8.Ease of use 易用性
含义:易用性是容易的,不同背景和资历的人可以学习使用的软件产品和应用它们解决问题。(容易学、安装、操作、监控)
给用户提供详细的指南
9.其他外部特性
:功能性、及时性、可验证性、完整性、可修复性、经济性
问题三:内部质量因素包括什么
1.LOC(Lines of Code):代码行数2.圈复杂度
3.耦合、凝聚力
4.可读性
5.可理解性
6.清晰度
7.大小
问题四:质量属性之间如何权衡
折中。正确的软件开发过程中,开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来。
虽然需要折中,但“正确性”绝不能与其他质量因素折中。
问题五:最重要的几个质量因素
1.正确性和健壮性--(可靠性)2.可拓展性和可复用性--(模块化)
易于理解(Easy to understand)
开发成本低(Cheap for develop)
可应对变化(Ready for change)
程序安全(Safe from bugs)
运行效率高(Efficient to run)
相关文章推荐
- 软件构造系列学习笔记(1.2)————软件构造的质量目标
- 第一章--第一节:软件构建的多维视图(软件构造学习笔记)
- 第二章--第二节:软件构建的过程、系统和工具(软件构造学习笔记)
- 软件构造第一章——软件构造的多维视图和质量目标(考点总结)
- 软件构造系列学习笔记(5.3)————可复用性的设计模式
- 第一章 Actionscript学习基本知识笔记及flashdevelop软件的安装问题
- 第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)
- 软件构造系列学习笔记(2.2)————软件构建的过程,系统和工具
- 软件构造系列学习笔记(3.4)————面向对象编程(OOP)
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
- 软件构造系列学习笔记(5.2)————设计可复用软件
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
- 软件构造系列学习笔记(5.1)————可复用性的度量,形态和外部观察
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
- [版本构造]ASProtect初探---软件防护系列学习笔记
- 软件测试学习笔记_软件质量与软件测试相关特性
- 软件测试学习笔记 - 1 - 软件缺陷,测试员目标
- 软件构造系列学习笔记(3.1)—————数据类型和类型检查
- 软件构造系列学习笔记(3.2)————设计规约
- 软件构造的多维视角与质量目标