从六种质量属性战术解析阐述《信息领域热词分析系统》
(1)可用性:
在实现可用性方面,在代码中要尽可能的使用try/catch,出现异常时要及时的捕获并给出提示,避免程序在运行过程中出现一些不友好的界面,给用户一种不愉快的体验。设计代码时,尽可能多的应用自己熟知的技术方法,这样能够提高系统的稳定性,减少故障发生的概率。在这个方面遇到的主要难题是如何将自己掌握的技术拼接应用到该系统,过程中会有一些实现不了的功能,需要借助网络资源,学习一些新的方法,将自己的方法完整且适合的衔接起来,组成一个功能模块。
(2)可修改性:
在实现这个属性的问题上,需要考虑两点:可以修改什么:可以修改系统的任何方面 ,最常见的就是系统计算的功能、系统存在平台、系统运行的环境、系统所展示的质量属性以及其容量。何时以及由谁进行修改:最常见的就是修改源代码。也就是说,开发人员必须修改代码,对修改后的代码进行测试,然后将其部署在新版中。
在代码设计时,要保证可能会修改的地方和其他部分独立,即使不独立,相连接部分也要保持不变。把变化封装到一个模块内,提高内聚性,并且把模块粒度控制在一个合理的范围内。在这个过程中,如何划分模块,模块内需要的内容,以及模块大小的设计是一个难题,需要根据实际情况和自身经验进行判断,得到一个适合的情况。
(3)性能:
性能是指系统的响应能力----即对外部刺激(事件)做出反应时所需要的时间或在某段时间内所处理的事件个数,要实现高的性能要在编写代码的过程中要尽量降低算法的时间复杂度和空间复杂度,并且要兼顾好时间复杂度和空间复杂度的关系
在信息热词系统,进行线性关系图展示时,就会出现卡顿、响应很慢的情况,在较大的数据下,效率就会更加的低, 很大的原因在于数据的处理速度慢,如果使用分布式系统就会好很多。
(4)安全性:
安全性战术是为了保护系统安全方面,安全性是衡量系统在向合法用户正常提供服务的情况下,阻止非授权使用的能力。安全性战术主要包括抵抗攻击的战术、检测攻击的战术和从攻击从恢复的战术。
在信息热词系统中,最为常见就是针对用户的MD5加密,这是一种安全性非常高的加密算法,由于这种加密的不可逆性,在使用10位以上字母加数字组成的随机密码时,几乎没有破解的可能性。系统权限也要进行控制,不同用户设置不同的使用权限。这样就很大程度上限制了用户的权限和安全。
(5)可测试性:
可测试性战术的目标是允许在完成软件开发的一个增量后,轻松的对软件进行测试。
在测试程序时,首先使用了单元测试方法,测试的时候是对每个方法的功能进行输入测试。这就要求在编写时要尽可能的让函数完成单一职责,不要赋予一个函数过多的内容,最后连自己都分不清这个函数方法到底是为了解决什么问题写的。当这方面出现了问题,可以不用设置断点,快速的确定是哪个方法出了问题,然后解决。接下来是集成测试,当系统整合完成时,要对系统各个功能进行测试,例如搜索功能,可视化界面的显示等等。当这方面出现问题时,可以选择设置断点的方式对问题点进行查找,查找起来比较麻烦。所以在设计这方面的代码时,要把每个功能分模块实现,当系统报出哪个模块的异常错误,直接找到模块进行测试就方便了。
(6)易用性:
易用性与用户完成期望任务的难易程度以及系统为用户提供的支持种类有关。这就要求系统尽量达到用户所期望的样子,因此在呈现的界面风格方面,应设计网页平铺显示,界面简约,让用户可以明确的看到期望的功能。例如:
(1)对每个功能的实现进行单元测试
(2)最后再统一进行集成测试