基于Struts2CRUD的质量属性
基于struts2框架开发的《学生管理系统》的质量属性
我们经常重新设计系统,可能不是因为该系统在功能上有缺陷,而是由于:系统运行速度太慢、系统容易受到外界攻击。用另外的一句话说:我们修改系统是因为需要改进系统的质量。质量属性是指影响质量的相关因素,是对质量的描述。
根据6个最常见的系统质量属性对该系统进行分析,得到下面的结论。
1.可用性(Availability)
可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。由此可见可用性与系统故障及其后果有极大的关系。
对于可用性战术,我们首先考虑错误检测,然后分析错误恢复,最后讨论错误预防。
用于检测错误的3个战术是: 信号/响应、心跳、异常。
该系统针对插入数据错误问题的解决方案:错误提示。
信号:用户添加一个学生,查看是否能成功添加信息。
心跳:系统后台设置时钟,实时更新,检测时钟是否实时更新或出现暂停情况,以此查看后台工作是否出现异常。
异常:为了保证网站的可用性,使用抛出异常语句,并且在出现异常的时候会有提醒并提供链接跳转到其他页面。比如说可能会有空的输入,点击提交表单时,会弹出小框提醒哪个值是空值,并自动返回到添加页面;可能会有主键输入值与原有表中值相等的情况,插入数据出现错误,跳到错误提示页面,给出链接链接到主页。
2.可修改性(Modifiability)
可修改性是指实现、测试和部署变更的难易程度。目标是控制实现、测试和部署变更的时间和成本。
可修改战术是为了当出现变更请求时系统可以按要求完成修改。
根据目标进行分组,分为3类。减少由某个变更直接影响的模块的数量——局部化修改;限制对局部化的模块的修改----防止连锁反应;控制部署时间和成本----推迟绑定时间。
局部化修改:战术是维持语义一致性。语义一致性是模块中责任之间的关系,目标是确保所有这些责任都能够协同工作,不需要过多地依赖其它模块。
利用sturts2,该系统对于CRUD每一个请求都有一个相应的Action类来处理相关的业务,不会依赖于其他的操作类。
防止连锁反应:战术是限制通信路径。限制通信路径(Restrict Communication Paths):限制与一个给定的模块共享数据的模块。也就是说,减少使用由该给定模块所产生的数据的模块的数量,以及产生由该模块使用的数据的模块的数量。这样可以减少连锁反应。
该系统对于CRUD每一个请求提供的操作都是单独的操作,不会在一种操作的页面还可以进行其他的操作,比如添加页面只能进行添加学生信息不能删除学生信息。
推迟绑定时间可以支持以上两个场景,但需要额外的基础结构来支持后期绑定。
推迟绑定时间使最终用户或系统管理员进行设置,或提供影响行为的输入。
3.性能(Performance)
性能是指系统的响应能力----即对外部刺激(事件)做出反应时所需要的时间或在某段时间内所处理的事件个数。影响性能的因素:事件源的数量和到达模式(到达模式:周期性、随机或偶然)。
性能的三个战术:资源需求、资源需求控制、资源管理。目标就是对在一定的时间限制内到达系统的事件生成一个响应。
限制执行时间:比如上面说的当插入数据出现错误时,除了跳到错误提示页面,还给出链接链接到主页,减少操作的时间。
限制队列大小:添加学生信息或修改学生信息时,对于输入的信息有最大字数的限制。
先进/先出:同等看待每个请求,并依次处理。
4.安全性(Security)
安全性战术的目的是对系统进行检测、增加其抵抗错误的能力或从攻击中恢复。
安全性战术分为三类:抵抗攻击;检测攻击;攻击恢复。
对用户进行身份验证:登录时,系统后台进行身份和密码验证。
对用户进行授权:管理员权限授权。只有管理员才可以对学生信息进行CRUD的操作,学生只能对自己的信息进行操作,并且对于其提交的信息还有进行审核。
维护数据的机密性:用户输入密码时时不可见的,而且对用户的密码进行md5加密,防止密码泄露;通过struts2框架,进行页面的跳转控制,防止数据在URL出显示;
维护完整性:对表单输入的数据进行校验。
限制暴露的信息:用户输入密码时时不可见的。
限制访问:不同用户访问权限不同,仅允许局域网内的用户能进行访问。
5.可测试性(Testability)
可测试性战术是指允许在完成软件开发的一个增量后,较轻松地对软件进行测试。可测试性战术的目标是检测出系统的错误。
可测试性战术有两类:一个是输入/输出;另一个是内部监视。
内部监视器:表单对输入的信息会自动进行测试检验。
6.易用性(Usability)
易用性包括:易理解性、易学习性、易操作性。易理解性是指用户认识软件的结构、功能、逻辑、概念、应用范围、接口等的难易程度;易学习性:指用户学习软件应用(运行控制、输入、输出)的难易程度;易操作性:指用户操作和运行控制软件的难易程度。
易用性有两种战术,针对不同的时期。运行时的战术:一旦系统执行,就可以通过为用户提供关于系统正在做什么的反馈,以及为用户提供发出基于易用性命令的能力来增强易用性。设计时的战术:在测试过程中,通常会频繁修改用户接口。也就是说,易用性工程师将为开发人员提供对当前用户接口设计的修改。
运行时战术:对表单的输入可以重置输入信息。
基于Struts2CRUD的质量属性的更多相关文章
- 基于SSH框架的网上商城的质量属性
常见质量属性 1.性能 性能就是一个东西有多快,通常指响应时间或延迟. 响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮 延迟:消息从A点到B点,通过你的系统 ...
- 基于SSH框架的学生公寓管理系统的质量属性
系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信 ...
- 基于ssh框架的在线考试系统开发的质量属性
我做的系统是基于ssh框架的在线考试系统.在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题.(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需 ...
- 实现基于SSH的门票管理系统开发的质量属性
我要做的是一个基于SSH的门票售卖系统,在系统中常见的质量属性有:可用性.可修改性.性能.安全性.易用性. 可用性方面: 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况 ...
- 基于SSH框架的在线考勤系统开发的质量属性
我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...
- 基于SSH框架开发的《高校大学生选课系统》的质量属性的实现
基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生 ...
- 基于SSH的高校网上选课系统的质量属性的实现
我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误 ...
- 如何实现基于ssh框架的投票系统的的质量属性
如何实现基于ssh框架的投票系统的的质量属性: 项目 :网上考试系统 我做的是网上考试系统,因为标准化的考试越来越重要,而通过计算机进行标准化判卷,系统会自动判卷出成绩,组织考试的人不用组织人员打印试 ...
- 基于Struts2+Hibernate的朋友圈留言网站开发的质量属性
在课堂上我们了解了质量高于功能,质量属性是指影响质量的相关因素,是对质量的描述.现在我们对基于SSH的交友网站开发的质量属性可以从以下几个方向进行分析: (1)可用性: 当错误发生时,使用可用性战术进 ...
随机推荐
- 解决 PHPExcel 长数字串显示为科学计数
解决 PHPExcel 长数字串显示为科学计数 在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号. ...
- SharePoint远程发布Solution
1.在本地修改好代码,选择publish,将.wsp文件保存到本地: 2.将wsp文件上传到目标网站,停止原解决方案并删除,上传新解决方法并且激活: 停止原来的解决方案 上传解决方案 3.激活Solu ...
- SSH整合报错:No result defined for action and result input
目前发现这个问题主要是在Action中的execute返回值时,没有对应的result name而引起的.很有可能是由于程序执行中出错了,但是对 应的Action中没有添加 input的result ...
- 【USACO 2.4】Fractions to Decimals(分数转小数)
题意:给你N/D的分数,让你输出等价的小数,如果是循环小数,用括号把循环节包起来.如果是整数,后面保留一位小数.每行最多输出76个字符. 题解:模拟除法,如果余数是第二次出现,则代表第一次出现的位置到 ...
- Python3 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...
- Windows 10一周年更新正式版官方ISO镜像(1607)
微软已经开始推送Win10一周年更新正式版系统,按照此前预告微软官方网站也同步推出了Win10一周年更新正式版ISO官方镜像下载,版本已经升级到最新的1607,也就是Win10 Build 1607, ...
- miRNA特点
### miRNA特点 (1)广泛存在于真核生物中, 是一组不编码蛋白质的短序列RNA,它本身不具有开放阅读框架(ORF),并且由不同于mRNA的独立转录单位表达. (2)通常的长度为20-24 nt ...
- Honeywords项目——检查密码是否被破解的一种简单方法
Honeywords项目使用一种简单的方法来改进hash后的密码的安全性——为每个账户维护一个额外的honeywords(假密码).如果有黑客拿到了密码的文件,然后试图用brute froce的方式破 ...
- windows下 nvm下载node被墙了解决办法
不需要这么麻烦的,在1.1.1版本中,确实没有实现命令行设置.这点你分析的很对,但是从配置文件中读取镜像地址已经完成,所以直接在settings.txt中手工设置一下就好了,无需编译.以下是我的文件位 ...
- poj 2724 Purifying Machinef
poj 2724 Purifying Machinef 题意 每一个01串中最多含有一个'*','*'既可表示0也可表示1,给出一些等长的这样的01串,问最少能用多少个这样的串表示出这些串.如:000 ...