质量属性包括六个方面:
可用性、可修改性、性能、安全性、可测试性、易用性。
一、可用性
可用性关注的问题 :如何检测故障 、发生故障的频度、 出现故障时的现象、 系统故障排除的时限 、如何防止故障的发生 、发生故障时的处理
因为是我自己写的网站,除了平时运行时可以出检测故障(修改故障处),不能专门检测故障,出现故障时的现象,系统故障排除的实现都不能确定。所以最好做防止故障的发生。
(1)写完系统后做简单的黑盒测试和白盒测试,尽量检测出更多的故障,然后排除。
(2)在代码中加入捕捉错误的代码,当用户操作发生故障时,系统能够给用户提示,保证系统不能奔溃。
(3)在系统中加入作者的联系方式,当用户发现故障时可以联系作者,排除故障。
(4)备份数据库。
二、可修改性
两个关注点:可以修改什么?何时以及谁进行修改。
(1)用户分为登录者和访客两种身份。登录者当查询到系统中没有解释的信息热词时,用户可以输入解释,以及分类。用户登录之后可以查询到自己输入解释的历史,并且进行修改。访客只能查看信息热词,不能添加信息热词的解释。
(2)用户登录之后只能修改自己添加的信息热词解释,不能修改别人的。
(3)用户可以修改密码或昵称。
三、性能
一般用等待时间、处理期限、系统吞吐量、响应抖动(等待时间的变化)、未处理事件(由于系统太忙无法响应)、丢失数据(由于系统太忙)等指标了解系统性能。
(1)优化数据库表
四、安全性
试图突破安全防线的行为被称为“攻击”。
攻击有以下三种方式: 未经授权试图访问数据或服务。未经授权试图修改数据。 试图使用系统拒绝向合法用户提供的服务。
(1)用户分为登录者和访客两种身份。登录者当查询到系统中没有解释的信息热词时,用户可以输入解释,以及分类。用户登录之后可以查询到自己输入解释的历史,并且进行修改。访客只能查看信息热词,不能添加信息热词的解释。
(2)用户登录之后只能修改自己添加的信息热词解释,不能修改别人的。
(3)用户只可以修改自己的密码或昵称。
五、可测试性
可测试性的响应度量处理的是测试在发现缺陷方面的效率以及想要达到某个期望的覆盖范围,需要用多长时间进行测试。
为了增加可测试性,我对代码进行了如下修改:
(1)将功能类封装成接口。将专门的功能封装成函数
(2)设计测试用例,对系统进行测试。
六、易用性
关注的是对用户来说完成某个期望任务的难易程度。
(1)用户用qq扫码登录,登录名为QQ昵称。
(2)搜索框按回车后进行搜索
(3)用户语音搜索热词
(4)用户对自己填写的热词解释想要修改时,可以行进修改。