二.软件构造的质量目标
1. 外部属性(主要):影响用户感受,如外观、速度等
(1)正确性:符合规格范围和计划目标
·只保证各个层面的正确性(假设调用正确)
·检验与调试
·防御性编程
·形式化编程
(2)健壮性:响应规格范围外的异常情况
·提示错误信息
·正常退出或降级
(3)可扩展性:提供增加新功能的空间
·固化需求以规避风险
·设计简洁、离散化
(4)可复用性:使软件模块能够被其他程序使用
·模式固化
(5)兼容性:跨平台、跨软件交互
·使用标准文件格式、数据结构、接口,保持一致性
·定义一套标准的访问协议
(6)效率:程序运行过程中对CPU、内存、硬盘等的占用情况
·优化过程中正确性优先,在各个指标间进行权衡
·良好的算法、 I/O技术、内存管理
·将问题抽象便于处理,去掉一层抽象便于优化
(7)可移植性:从一个环境转移到另一个环境
(8)易用性:不影响专业用户的前提下便于初学者使用
·结构清晰的设计
·理解用户的界面
(9)功能性:软件提供功能的多少
·蠕变特征:竞争导致程序冗杂混乱
·更新原则:保证整体质量处于稳定水平
·渐进式开发
(10)其他
·及时性:高效率大致完成以占领市场
·可验证性:保证软件的效果
·完整性:各个模块间不会被非法访问所干扰
2. 内部属性(次要):影响外部属性,针对开发人员
(1)代码可读性
(2)圈复杂度:用来衡量一个模块判定结构的复杂程度
(3)耦合度/内聚度:追求低耦合、高内聚
3. 均衡决策
(1)经济性与功能性相矛盾
(2)性能与可移植性、可复用性相矛盾
(3)及时性与延展性相矛盾
4. 重要属性
(1)可读性
(2)可复用性
(3)可扩展性
(4)可靠性(正确性 && 健壮性)
(5)性能
原文地址:https://www.cnblogs.com/zhangyushuqing/p/8502587.html
时间: 2024-11-07 01:49:25