软件构造学习笔记(二)

软件系统的质量属性
外部质量因素,软件运行的速度或者易用性(使用者)
内部质量因素:软件的模块化、可读性(开发者)
外部质量取决于内部质量

外部质量因素
correctness
robustness
针对异常情况的处理
没有被specification覆盖的情况就是“异常”

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

reusability
一次开发,多次使用

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

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

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

ease of use
functionality
过分地追求功能性,会导致丧失很多一致性

others
timeliless:及时性,在用户需要之前将软降发布
verifiability:可验证性,比较容易构造测试数据
integrity:完整性,保护其组件免受未授权访问和修改
repairability:可修复性,便于缺陷的修复
economy:经济性,在制定预算或者时低于预算的条件下完成任务的能力

内部质量因素
可读性、可理解性、清晰度、size

质量属性之间的权衡
完整性和易用性
经济性和功能性
高效性和可移植性
及时性和可扩展性
正确的软件开发过程中开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来
虽然需要这种,但“正确性”不能与其他质量因素折中

最重要的几个质量因素
正确性和健壮性
可扩展性和可复用性

软件构造五个关键的质量指标
understandability
代码的可理解性:变量、子程序、语句的命名于构造标准、代码布局与风格、注释、复杂度、函数规约
构建、项目的可理解性:包的组织、文件的组织、命名空间

reusability
ADT/OOP
接口与实现分离,集成/重载/重写/组合/代理/多态/子类型/泛型/OO设计模式

maintainability and adaptability
模块化设计,聚合度/耦合度,SOLID,设计模式

robustness
performance
代码调优、空间复杂性(内存管理性能)事件复杂性(IO性能)分布式系统,并行,多线程
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值