软件系统的指标特征

本文探讨了软件的十个外部质量因素,包括正确性、健壮性、可扩展性、可复用性、兼容性、性能、可移植性、易用性、功能性及及时性,并解释了它们的重要性。同时,还提到了内部质量因素,如源码的逻辑复杂度和结构的耦合、内聚等,强调内部因素对软件外部质量的影响以及在开发过程中如何进行折中决策。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.十大外部质量因素

(1)正确性(Correctness)按照预先定义的规约执行,是最重要的质量指标

 按照预先定义的“规约”执行

正确性:最重要的质量指标,任何程序设计都要以正确性为前提

测试和调试:发现不正确、消除不正确

防御式编程:在写程序的时候就确保正确性

形式化方法:通过形式化验证发现问题

(2)健壮性(Robustness)

针对异常情况的处理

健壮性是对正确性的补充,区别和联系如下:

 正确性:软件的行为要严格的符合规约中定义的行为

 健壮性:出现规约定义之外的情形的时候,软件要做出恰当的反应

健壮性:出现异常时不要“崩溃”

是主观而非客观

(3)可扩展性 (Extendibility)

 规模越大,扩展起来越不容易

为什么要扩展:应对变化

(4)可复用性( Reusability)

一次开发,多次使用

 发现共性

(5)兼容性( Compatibility)

不同的软件系统之间相互可容易的集成。

(6)性能 (Efficiency)

性能毫无意义,除非有足够的正确性

对性能的关注 要与 其他质量属性进行折中

过度的优化导致软件不再适应变化和复用

(7)可移植性(Portability)

软件可方便的在不同的技术环境之间移植

8. 易用性

易用性:对用户而言容易学、安装、操作、监控 提升易用性的方法是给用户提供详细的指南。

9. 功能性(Functionality)

程序设计中一种不适宜的趋势,即软件开发者增加越来越多的功能,企图跟上竞争,其结果是程序极为复杂、不灵活、占用过多的磁盘空间,忽视整体质量,失去可持续性。

10. 及时性(Timeliness)

及时性:在用户有对应需求前放出新版本

2.内部质量因素(影响软件本身和它的开发者)

源码方面:行数(LoC)、逻辑复杂度

结构方面:耦合、内聚

除此之外还有代码可读性、易于理解、清晰、大小等。

3.内部因素决定外部因素

折中

正确的软件开发过程中,开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来。

虽然需要折中,但“正确性”绝不能与其他质量因素折中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值