软件架构实践
最常见的系统质量属性:
可用性:与系统故障及其结果有关。
系统的可用性是系统正常运行的时间比例,一般将系统可用性定义为:
a=平均正常工作时间 /(平均正常工作时间+平均修复时间)
这个值越大越好,也就是说尽可能的减少故障发生。
可修改性:有关变更的成本问题。
是对成品进行变更,或是由谁变更,或是什么时候变更而考虑。
考虑的是修改的代价,那么在开发产品的时候要考虑产品的修改灵活度了。
性能:与时间有关
事件(中断、消息、用户请求或时间已到)发生时,系统必须对其做出响应,关乎于将要耗费系统多长时间来做出响应。
这一部分与操作用户有直接相关,在现今硬件科技的飞速发展和性价比急剧下降,很难说出有多大的差别,但依旧是一个非常重要的考虑点。
安全性:衡量系统在向合法用户提供服务的同时,阻止非授权使用的能力。
简言之就算是保证提供正常服务,对非法操作进行阻止。
系统的安全是保证软件系统规则的保障(也保障了涉众权益的公平性),当遇到问题时,系统该如何反馈也是我们必须要设计完善的。
易用性:关注的是对用户来说完成某个期望任务的容易程度 和 系统所提供的用户支持的种类。
~第一次接触系统让使用者可以接受(学习容易)
~系统提高使用者的操作效率
~减少用户错误操作而造成的影响
~让用户的任务变得更轻松
~使用户确信采取了正确的行动(系统具有正确的引导性和回馈方式)