正确性(Correctness)
正确性是软件产品按照预先定义的“规约”(specification)执行其任务的能力,对于软件开发者来说,正确性是至高无上的质量指标。保证软件的正确性有几种方法。第一种是分层(Conditional),将整个软件有层次性地区分开来,每一层保证自己的正确性,同时假设其下层是正确的。第二种是测试和调试(Testing and debugging),其目的在于发现不正确,消除不正确。第三种是防御式编程(Defensive programming),在写程序的时候就确保正确性。第四种是形式化方法(Formal approach),通过形式化验证发现问题,用数学的方法证明软件的正确性。
健壮性( Robustness)
健壮性是软件系统针对异常情况处理的能力,在我看来,它与正确性的关系是相辅相成的。正确性要求软件的行为要严格符合规约中的定义,而一旦出现规约定义之外的情形的时候,软件就要做出恰当的行为,当一个软件出现异常时不崩溃,说明它才是一个有健壮性的软件。下图可说明两者关系。
可扩展性(Extendibility)
可扩展性是指当对软件的规约进行修改时,软件能否容易地适应要求的变化。我们需要可扩展性,因为在所有软件的基础上存在一些人为现象,因此需求常常会发生变化。有两条原则对于提高可扩展性至关重要,第一条是简约主义设计(Design simplicity),因为规模越大,扩展起来就越不容易,往往某一处进行改动,其他地方也会受到影响。第二条是分离主义设计(Decentralization
外部质量因素
最新推荐文章于 2022-10-13 13:33:19 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)