基于ssh框架的在线考试系统开发的质量属性
我做的系统是基于ssh框架的在线考试系统。在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题。(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需要非常高,防止题目泄露。(4)对于每个用户的权限要非常明确,捕捉用户的每一个动作是否经过授权。因此我采用了一下几种软件质量战术来保证软件的质量属性。
一、可用性战术:可用性战术需要以用户的角度出发,实际考虑每个可能出现的问题。
(1)错误检测:当用户操作不当或者用户登录操作错误时,进行异常处理,提示用户错误信息。如登录时密码输入不正确等。对数据库进行操作的行为做了异常的处理,防止数据库的重的信息被破坏。
(2)错误预防:对同时登录的用户进行数量的限制,防止因为负载量过大而导致系统崩溃。
(3)错误恢复:定期进行数据库的备份,当数据库出现问题时,及时人工恢复数据库。
二、易用性战术:易用性应符合标准和规范,直观明了,操作灵活方便。
运行时战术:系统界面简洁、明了。用户可以直观地通过界面来访问系统的每个功能。用户在使用这个系统的过程中,会提示用户将如何操作系统。还有是当用户的操作出错时,及时提醒用户以免出现异常情况。
三、可修改性战术:为模块分配责任,以把预期的变更限制在一定的范围内,从而降低修改成本。
(1)局部化修改:将系统的每个文件的职责分离,确保每个文件都实现不同的功能。尽量使用具有一定标准的英文单词来定义每个文件名称或变量。在关键的部分增加一些注释,增强代码的可读性。
(2)防止连锁反应:降低类之间的耦合程度,避免出现连锁反应。尽量多使用增加类的方式修改,少直接在类中修改。
四、性能战术:控制生成响应的时间。
(1)资源需求控制:在数据库查询的时候,由于考试系统的题目的量可能很大,避免出现整个表都要扫描的情况,更多的使用条件查询。尽量使用可变类型长度数据可以节省存储空间和查询效率。避免频繁的对数据库中的数据进行修改和删除。改进一些关键的算法,如加密算法等。
(2)资源仲裁:在多人同时对系统进行操作时,对不同的用户之间的操作分配优先级。如当管理员修改用户登录信息和该用户登录同时进行时,应优先执行管理员操作,防止出现闭锁现象。还有如多人同时在线考试时,对用户的提交顺序等也需要分配优先级。
五、安全性战术:安全性战术需要保证系统的安全性。
(1)抵抗攻击:对非该系统用户的登录一定进行验证。如密码输入次数过多自动限制该用户登录。对数据库中的用户密码需要进行加密,以免数据泄露,对于用户的一些关键的信息也许要进行加密,如身份证号等。对用户登录进行授权,防止普通用户拥有过大的权限。对用户的登录密码进行一定的安全限制,如密码位数的限制或者格式的限制。每个页面都需要对用户是否登录进行判断,防止一些用户通过如输入url的方式绕过登录进行访问。
(2)攻击恢复:在数据库信息遭到破坏时,即使手动恢复备份。对于已经发现的系统漏洞需要及时的修改。
六、可测试性战术:允许在完成软件开发的一个增量后,较轻松地对软件进行测试。
管理输入/输出:将接口与实现进行分离,对使用次数比较高的方法提供了一个统一的接口,用接口来代替具体的功能的实现,可以使得在增量开发时,系统的相似的测试更为便捷。
基于ssh框架的在线考试系统开发的质量属性的更多相关文章
- 基于SSH框架的在线考勤系统开发的质量属性
我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...
- 基于SSH框架的网上书店系统开发的质量属性
基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...
- 基于SSH框架的学生选课质量属性分析
系统:学生选课系统 框架:SSH(Struts2+Spring+Hibernate) 我做的是基于SSH框架的学生选课系统.学生选课系统的特性:①系统响应时间短,能够快速调出课程数据供学生选课提交.② ...
- 基于SSH框架开发的《高校大学生选课系统》的质量属性的实现
基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生 ...
- 基于Web在线考试系统的设计与实现
这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973 ...
- 基于B/S架构的在线考试系统的设计与实现
前言 这个是我的Web课程设计,用到的主要是JSP技术并使用了大量JSTL标签,所有代码已经上传到了我的Github仓库里,地址:https://github.com/quanbisen/online ...
- 如何实现基于ssh框架的投票系统的的质量属性
如何实现基于ssh框架的投票系统的的质量属性: 项目 :网上考试系统 我做的是网上考试系统,因为标准化的考试越来越重要,而通过计算机进行标准化判卷,系统会自动判卷出成绩,组织考试的人不用组织人员打印试 ...
- 如何开发一款基于 Vite+Vue3 的在线表格系统(上)
今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统. 在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3. Vue3 Vue是什么?大多前端开发者对这个词已毫不陌生了 ...
- JavaWeb项目开发案例精粹-第3章在线考试系统-007View层
0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...
随机推荐
- 解决使用osgModeling的Loft生成管子时的bug(续)
今天发现有一些情况下, 还是无法生成管道, 排查了一天发现问题好像出在管线头两个点的x完全相同时, 会出这个问题. 看了半天的Loft源码, 发现问题出在Loft::considerBasisX函 ...
- hibernate 的SessionFactory的getCurrentSession 与 openSession() 的区别
1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会. 2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而ope ...
- 【hihoCoder】1039 : 字符消除
题目:http://hihocoder.com/problemset/problem/1039 给定一个字符串s,只包含'A', 'B', 'C'三种字符 1. 向 s 的任意位置 (包括头和尾) 中 ...
- Odoo 8.0 new API 之Environment
""" An environment wraps data for ORM records: - :attr:`cr`, the current database cur ...
- DevOps is dirty work - Dream in One-Click
真是一晃就到年底,年初许的梦想实现了吗?这么残忍的问题还是不要知道答案了吧:) 这恍若隔世的大半年,不仅没有承接着上篇继续聊Continuous Delivery (CD),反而疑似荒废.然而,梦想还 ...
- JQuery全选Prop(“check”,true)和attr("attr",true)区别
$scope.selectAll = false; //点击单选框的时候是不是全选 $scope.checkIsAll = function(){ var wipeCheckBoxObj = $(&q ...
- Redis in Action 文章投票
原书用 Python 与 Redis 进行交互,我用 PHP 来实现. 环境:LNMP(CentOS 6.6 + Nginx 1.8.0 + MySQL 5.6.23 + PHP 5.6.9)+ Re ...
- Unity内存理解(转)
Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBu ...
- Apache Traffic Server(ats)
零.前言1.官网 http://trafficserver.apache.org/2.国内社区 https://blog.zymlinux.net3.简洁明了的配置:http://blog.csdn. ...
- [daily][toolchain] 我的日常软件集
序: 工欲善其事,必先利其器.针对各种各样的工作,我同样也在寻找各种各样的工具.记录以备忘,因为真的会忘... 已用的,在用的,就不记了.只记下新用的,其他的有时间慢慢补充进来. 文档编辑: Mark ...