1.十大外部质量因素
(1)正确性(Correctness)按照预先定义的规约执行,是最重要的质量指标
按照预先定义的“规约”执行
正确性:最重要的质量指标,任何程序设计都要以正确性为前提
测试和调试:发现不正确、消除不正确
防御式编程:在写程序的时候就确保正确性
形式化方法:通过形式化验证发现问题
(2)健壮性(Robustness)
针对异常情况的处理
健壮性是对正确性的补充,区别和联系如下:
正确性:软件的行为要严格的符合规约中定义的行为
健壮性:出现规约定义之外的情形的时候,软件要做出恰当的反应
健壮性:出现异常时不要“崩溃”
是主观而非客观
(3)可扩展性 (Extendibility)
规模越大,扩展起来越不容易
为什么要扩展:应对变化
(4)可复用性( Reusability)
一次开发,多次使用
发现共性
(5)兼容性( Compatibility)
不同的软件系统之间相互可容易的集成。
(6)性能 (Efficiency)
性能毫无意义,除非有足够的正确性
对性能的关注 要与 其他质量属性进行折中
过度的优化导致软件不再适应变化和复用
(7)可移植性(Portability)
软件可方便的在不同的技术环境之间移植
8. 易用性
易用性:对用户而言容易学、安装、操作、监控 提升易用性的方法是给用户提供详细的指南。
9. 功能性(Functionality)
程序设计中一种不适宜的趋势,即软件开发者增加越来越多的功能,企图跟上竞争,其结果是程序极为复杂、不灵活、占用过多的磁盘空间,忽视整体质量,失去可持续性。
10. 及时性(Timeliness)
及时性:在用户有对应需求前放出新版本
2.内部质量因素(影响软件本身和它的开发者)
源码方面:行数(LoC)、逻辑复杂度
结构方面:耦合、内聚
除此之外还有代码可读性、易于理解、清晰、大小等。
3.内部因素决定外部因素
折中
正确的软件开发过程中,开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来。
虽然需要折中,但“正确性”绝不能与其他质量因素折中。
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93818 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!