质量属性可用性战术分析--以综合性校园电子商务平台为例

质量属性可用性战术分析--以综合性校园电子商务平台为例

 

 

摘要:“光说不练假把式”,要想分析质量属性之可用性战术,没有实际项目为依托,一切都是空话套话,所以本文以作者实际参加过的大学生创新创业项目为基础,展开对质量属性的可用性战术的分析。

 

一:校园电子商务平台总体框架

“光说不练假把式”,要想分析质量属性之可用性战术,没有实际项目为依托,一切都是空话套话,所以本文以作者实际参加过的大学生创新创业项目为基础,展开对质量属性的可用性战术的分析。作者参加的实际项目是是基于web的校园电子商务平台,该平台将充分利用校内资源和特点,主要提供以下功能:①网上商城:学校内实体商店的网上销售;②网上自由交易市场:学生之间的自由交易;③网上教育:各类线上和线下技术和课程培训等;④信息服务:如学生公寓报修、自习室空余查看、失物招领等。为校内人员提供了一个方便、高效的网上信息交流、商品交易的平台,使用户的生活更加舒适便捷。

校园电子商务平台总体框架:

①  电子商务应用层:

a)   网上商城

b)   自由市场

c)   信息服务

d)   网上教育

②  电子商务服务层:

a)   安全

b)   认证

c)   支付

③  服务引擎层:

a)   实体引擎

b)   工作流引擎

c)   规则引擎

d)   数据库引擎

e)   服务器引擎

平台有两个基本服务作为应用基础。安全与认证提供一个安全可靠的网络商务环境,保障师生在网上商务活动的安全性。系统身份认证采用校园网统一身份认证系统提供基础的安全认证,网上的所有活动人员都要经过统一身份认证进入系统,取得数字证书后 方可进行授权的操作,并且活动受到统一的审计监控,统一身份认证系统保证网上工作环境的安全可靠。网络上不同角色的用户享有不同的级别的授权,他们的网上活动受其身份的限制,防止一些恶意事情的发生。

网上支付是电子交易的基础,支付服务可以采用校园卡作为支付载体,或建立校回电子帐户,通过电子支付网关与支付人和电子商务网上商城服务器连接起来,建立一个安全可靠的支付通道,大大方便了校园电子商务应用的推广和扩展。支付服务可以通过一个支付网关来支撑多种支付方式,满足用户的各种支付需求。目录是支持电子商务的关键性安全架构,它不仅能够存储用户访问信息,而且适于表达彼此之间的关系,具有非常好的可扩展性、易于管理和高可用等特点,能够提供更高级的认证和授权。

在应用层方面系统应用层主要设计校园内部的一些具体业务,例如信息交流、在线购物、二手市场、网上调查、网上教育,内容管理等,它涵盖校园同常事物的方方面面。

服务引擎提供层方面服务引擎层是由校园网的服务引擎层统一提供支持,是电子商务系统与校内其他业务系统共享的服务层,包括实体引擎、工作流引擎、数据库服务引擎、WEB服务引擎等。

 

二:质量属性分析

什么是可用性战术?可用性战术是当系统不再提供与其规范一致的服务时,故障就发生了,可用性就是指系统修复故障的能力,它关注的方面包括如何检测系统故障,系统故障发生的频度,出现故障发生什么情况,允许系统有多长时间非正常运行,什么时候可以安全地出现故障等。可用性是指系统正常工作的时间所占的比例。可用性会遇到系统错误,恶意攻击,高负载等问题的影响。一般而言我们将系统可用性定义为:a = 平均正常工作时间 / (平均正常工作时间+平均修复时间)。如果不对错误采取解决措施,错误最终就会变成系统故障。那么在校园电子商务平台项目中,什么影响了项目的修复时间?下面我们进行场景分析。

 

场景

可能的值

刺激源

最终用户

刺激

学习使用校园电子商务平台

产品

综合性校园电子商务平台系统

环境

正常运行

响应

网页界面对用户来说很熟悉; 在不熟悉的上下文中界面是可 用的;帮助的信息非常明显。

相应度量

能正常清楚使用该系统功能所花费的时间,用户的满意度, 错误操作的数量

 

从上表可以看出,在该项目中可用性关注于如何让用户简单容易的地实现他想要完成的动作。这样可以使用户快速地学习该系统的功能,高效地使用系统从而将错误最小化并且让用户对该系统有信心和满意。其实说白了就是可用性分析中错误检测的命令与响应。

命令与响应是什么?即在错误变成故障之前,检测出错误;记录错误;通知相关的人和系统;从故障中进行修复;禁止导致故障的事件源;在一段预先制定的时间间隔内不可用;在这段时间内对系统进行检修;对错误或者故障进行修复,或者就用鸵鸟策略让它处于故障不做处理当作故障没有发生;进行降级操作即一个组件发生一个命令,并希望在预定义的时间内收到一个来自审查组件的响应。在该项目中作者使用的是Ajax,Ajax有专门的success方法error方法来对发出的请求做出响应。

其次综合性校园电子商务平台系统必须保证其性能,才能为用户提供正常可靠及时的服务,用户无法或者需要等待很久才能得到系统的服务,这必然会降低用户对该系统的评价,严重影响系统的质量。而且综合性电子商务交易平台系统必须阻止非授权的访问,而且为合法的用户提供服务。因为综合性电子商务交易平台系统涉及师生的账号密码,交易信息,个人资料等,如果系统安全性不高,易被外界破解,从事一些非法操作,会使师生的财产隐私受损。最后在开发过程中或在最后交付用户使用时,可能会根据开发进度和最后用户使用习惯进行修改。而且在系统的使用中我们可以增加/删除/修改/改变系统功能使之随着市场的改变更具有可用性。

三:总结

其实,就像对校园电子商务平台系统的分析,一个项目中错误可能会导致故障的发生,而可用性战术将会阻止错误发展成为故障,至少能把错误的影响限制在一定范围内,从而使修复成为可能。这就是质量属性之可用性战术的作用。

一般错误检测包括:

①  Ping/echo通过系统监视器发出 Ping 请求来探测服务的通信路径是不是通的,某个组件是不是还在工作。

②  监视 (Monitor) 通过使用一个监视器的组件来检测其他组件的健康状况。

③  心跳 (Heartbeat) 通过组建定区发出一个心跳信息,来主动的告诉系统它正在工作

④  时间戳 (Time stamp) 这个策略是用来探测事件到达的顺序。

⑤  健康检测 (sanity checking) 检测组件的某一个操作或者输出的有效性。

⑥  条件监视 (Condition monitoring) 对特定条件进行检测,比如检验和。

⑦  投票 (Voting) 使用冗余的组件做同一件事情,以相同的输入,如果产生不同的输出,则忽略少数,采纳多数的结果。

⑧  异常检测 (Exception detection) 对保证系统正常运行的条件的检测。

⑨  自检 (Self-test) 对自身资源,依赖库和硬件的检测。等九种方法

 

所以错误的预防也要针对这九个方面进行,相比于检测系统发生的错误和发生错误后对系统的恢复来说,也可以从一开始就禁止错误的发生。但是很惭愧,作者自身参加的项目极少无法体验全部的九种错误检测,但是对于可用性战术的实例,按照之前我自己做的一些小项目以及参考其他论文来看,不外乎就是文内总结的这些内容。

 

参考文献:①[M]书名: 一线架构师实践指南.作者. 温昱.

②[M]书名:架构实战—软件架构设计的过程 .作者. Peter EelesPeter.Peter Cripps   

posted @ 2020-03-31 20:55  符黑石  阅读(487)  评论(0编辑  收藏  举报