软件构造-质量指标

文章讨论了软件的外部和内部质量因素,强调了正确性、健壮性、可扩展性、可复用性和性能等关键目标。外部质量关乎用户体验,内部质量涉及代码和架构。正确性是首要指标,健壮性则是在异常情况下保持软件稳定。提高可扩展性和可复用性是应对变化的关键,而性能优化需平衡其他质量属性。开发者应明确不同质量因素间的折中决策。
摘要由CSDN通过智能技术生成

分为外部质量因素和内部质量因素

外部质量因素 影响 用户

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

外部质量取决于内部质量

五个关键质量目标

易于理解:优雅和漂亮的代码/可理解性

-随时准备更改:可维护性和适应性

-开发成本低:为重用而设计:可重用性

-安全的bug:健壮性

—高效运行:性能

外部

正确性

最重要的质量指标,是软件产品执行其规范所定义的准确任务的能力。也就是和规约定义的准确性

实现方法:

  • 测试和调试
  • 防御式编程:在写程序的时候就确保正确性typing and assertions
  • 形式化方法:通过形式化验证发现问题

健壮性

针对异常情况的处理

健壮性是对正确性的补充

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

健壮性:出现规约定义之外的情形的时候,软件要做出恰当的反应,出现异常时不要“崩溃”

normal”和“abnormal”是主观而非客观

未被specification覆盖的情况即为“异常情况”,“异常”,取决于spec的范畴

可扩展性

对软件的规约进行修改,是否足够容易?

为什么要扩展:应对变化

传统的方法没有充分考虑到变更,而是依赖于软件生命周期的理想视图,其中初始分析阶段冻结了需求,过程的其余部分致力于设计和构建解决方案

提高可扩展性有两个基本原则:

  • 简约主义设计
  • 分离主义设计:每个模块尽量独立

可复用性

一次开发,多 次使用
发现共性

Efficiency

性能毫无意义,除非有足够的正确性
对性能的关注 要与 其他质量属性进行折中
过度的优化导致软件不再适应变化和复用

及时性

用户需要时或之前发布的能力

内部

源代码相关因素,比如代码行数、循环复杂度

架构相关的因素:内聚、耦合

可读性…

怎么权衡

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值