基于框架的应用系统开发的质量属性

  战术就是影响质量属性响应控制的设计策略。

在学生信息管理系统中将用到一下6个最常见的系统质量属性是可用性、可修改性、性能、安全性、可测试性和易用性。

1.可用性战术(Availability):

可用性与系统故障及其后果相关。当系统不再提供其规范中所说的服务时,就出现了系统故障。系统用户可以观察到此类故障。可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。

可用性关注的问题有:如何检测故障、发生故障的频度、出现故障时的现象、系统故障排除的时限、如何防止故障的发生和发生故障时的处理等。

例如:处理学生信息添加时的一系列问题,如是否为空,如果为空,会弹出对话框提醒。编辑学生信息时,用户不用再次输入该学生的学号,而是直接由系统给出,并且学号作为学生信息的唯一标识,是不能够修改的,系统也完成了这方面控制。

 

2.可修改性战术(Modifiability):

可修改性的目标是控制实现、测试和部署变更的时间和成本。可以根据其目标进行分组:

(1)“局部化修改”:可修改性的目标是减少由某个变更直接影响的模块的数量;

(2)“防止连锁修改”:可修改性的目标是限制对局部化的模块的修改;

(3)“延迟绑定时间”:可修改性的目标是控制部署时间和成本;

两个关注点:可以修改什么、何时以及谁进行修改。

例如:想修改用户界面。需要在设计时改变代码,并要求在3小时内完成代码修改及测试,且不产生有副作用的变化。要求在修改系统某个模块的功能时,对其他功能不能有影响。

 

3.性能战术(Performance):

性能是指系统的响应能力----即对外部刺激(事件)做出反应时所需要的时间或在某段时间内所处理的事件个数。性能战术的目标是对在一定时间限制内到达系统的事件生成一个响应。一般用等待时间、处理期限、系统吞吐量、响应抖动(等待时间的变化)、未处理事件(由于系统太忙无法响应)、丢失数据(由于系统太忙)等指标了解系统性能。

产生响应时间的两个基本因素是资源消耗和闭锁时间。

影响性能的因素:事件源的数量和到达模式。

到达模式:周期性、随机或偶然。

例如:有500人同时登陆学生信息管理系统,正常运行时请求被处理的平均响应时间。

 

4.安全性战术(Security):

安全性是衡量系统在向合法用户正常提供服务的情况下,阻止非授权使用的能力。试图突破安全防线的行为被称为“攻击”。

攻击有以下三种方式:

(1)未经授权试图访问数据或服务。

(2)未经授权试图修改数据。

(3)试图使用系统拒绝向合法用户提供的服务。

可以把实现安全性的战术为:与抵抗攻击有关的战术、与监测攻击有关的战术以及与从攻击中恢复的战术,这三种战术都非常重要。对此做一个很熟悉的比拟,给门装锁就是在抵抗攻击,在房子中放个运动传感器就是在检测攻击,给房子上保险就是从攻击中恢复出来。

安全性系统被刻画为提供如下属性的系统:

(1)认可:交易不能被交易的任何一方拒绝。

(2)保证:交易的各方是所声称的人的属性。如当客户发送一个信用卡的卡号到商家时,该商家就是用户所认可的商家。

(3)审核:系统的内部跟踪属性。如客户转账时,系统会把转账过程记录下来。

(4)机密性:未经授权不能访问。

(5)可用性:系统用于合法用途的属性。

例如:添加学生信息时不允许将学号或姓名设置为空,且学号不能够重复,保证了学生信息的唯一性,以及可用性,一定程度上保证了学生信息管理系统的安全性。

 

5.可测试性战术(Testability):

指通过测试揭示软件缺陷的难易程度。特别地,假设软件中至少有一个错误,软件在下次测试运行时不能正常工作的可能性。可测试性的响应度量处理的是测试在发现缺陷方面的效率以及想要达到某个期望的覆盖范围,需要用多长时间进行测试。可测试性战术的目标是允许在完成软件开发的一个增量后,较轻松的对软件进行测试。提高软件可测试性的架构技巧未能如在更成领域那样受到更多关注,如可修改性、性能和可用性。但是,因为测试在系统开发成本中占了很高的比例,因此,设计师所能做的降低该成本的任何工作都将产生极大的收益。

例如:系统编程代码规范,易于测试,有必要的注释,测试时,代码对于测试人员具有可阅读性。

 

6.易用性战术(Usability):

易用性与用户完成任务的难易程度以及系统为用户提供的支持种类有关。有两种类型的战术支持易用性,每种战术所针对的是两种类型的用户。第一类是运行时,包括哪些在系统运行期间支持用户的战术。第二种基于用户接口设计的迭代特性,它在设计时支持接口开发人员。易用性与已经讲过的可修改性战术有很密切的关系。

关注的是对用户来说完成某个期望任务的难易程度。

分为以下几个方面:

(1)有效性

(2)错误避免及错误处理

(3)用户自信和满意度

(4)可学习性

例如:在修改已有的学生信息时,不需要再次输入学生的的学号,而是由系统直接给出,只能够编辑学生的其他信息,避免了编辑操作的复杂性。

posted @ 2016-05-14 18:41  夺命小五毛  阅读(331)  评论(0编辑  收藏  举报