系统好不好主要看质量属性

2018-08-28  本文已影响181人  CoryLiu

软件属性分为功能属性和质量属性,
功能属性指的是软件可以做什么,可以实现什么功能。
质量属性指的是软件怎么样,比如好不好用,稳不稳定。

质量属性为何重要?

早年同时用过诺基亚手机和苹果手机的人都知道,论功能,诺基亚手机其实比苹果多很多,当年苹果刚出来时,凡是苹果有的功能,诺基亚都有,可每一个功能,苹果都更好用,在易用性上,苹果完胜诺基亚,于是最终结果大家都知道了。

对于一套软件系统,质量属性甚至比功能属性更重要。

实现一个功能可能会有很多方式,不同的方式,功能一样,质量却大不相同。系统架构设计,就是在软件设计大的层面上做出选择,以实现软件系统的质量属性需求。

质量属性都有哪些?

软件系统都有哪些质量属性呢?主要有如下这些,

  1. 可靠性
    可靠性,也叫可用性,是指软件可长期稳定运行的能力,一般用一段时间内故障时间与正常运行时间比来评估。可靠性高的系统,能够长期不出错,或者出错后可以快速从错误中恢复。

  2. 可修改性
    当需求发生变更或者环境发生变化时,系统是否可以快速得到调整,就体现出系统的可修改性。好的系统要求可以方便快速修改。

  3. 性能
    指系统的在用户发出指令后响应的时间,及单位时间内处理事务的数量。性能好的系统,可以快速响应用户的指令,能在单位时间内完成更多的事务处理。简单来讲,就是要快。

  4. 安全性
    指系统不会被无关人员滥用,系统数据不管在存储还是传输过程中都有得到妥善的保护。

  5. 可测试性
    指系统方便被测试,以验证系统的业务逻辑确实与系统规格要求一致。

  6. 易用性
    指系统方便使用,可以很快上手,使用过程中不用操作复杂的步骤,没有需要记忆的隐蔽的功能点。一个字来形容,就是要让用户用起来爽。

实现质量属性有哪些常用方法

要实现这些质量属性,在软件架构设计时,是有一些方法,或者说套路可以使用的。

  1. 可靠性
    要提高系统的可靠性,可以从错误检测,错误恢复,错误预防三个方面下功夫。
  1. 可修改性
    提高系统可修改的方法,包括局部化修改,防止连锁反应,推迟绑定时间。
  1. 性能
    提供性能,可以通过减少资源的消耗,或者改善资源的管理及调度实现。
  1. 安全性
    提高安全性,可以采用的方法有,抵抗攻击,检测攻击和从攻击中恢复。
  1. 可测试性
    可以通过输入输出和内部监控的方式来提高可测试性。
  1. 易用性
    包括即时提供系统辅助信息,提供用户操控性

好的系统一定是质量好的系统

好的系统与差的系统,可以天差地别,用户一用便知。就如乔布斯所说,客户也许不知道自己想要的是什么,但是如果你同时提供两套系统给客户,客户会知道如何选择,好的系统一定是质量好的系统,而不是功能多的系统。架构设计师,应该要在质量属性上下功夫。特别要注意的是,有些质量属性之间是互相冲突的,比如安全性与易用性,安全性提升了,易用性可能会降低,架构设计时还需要拿捏平衡。

上一篇下一篇

猜你喜欢

热点阅读