基于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=" ...
随机推荐
- css before,after伪元素妙用
我们知道,css伪元素包括after,before,first-letter等,通过合理的利用伪元素,我们可以让我们的结构更简洁. 通常写法如p::after{content:' '},其中conte ...
- PHP两个文件的相对路径
/** * relativePath 计算两个文件的相对路径 * @param file1 参作为考路径 * @param file2 相对于$file1的路径 */ function relativ ...
- 【编程篇】C++11系列之——临时对象分析
/*C++中返回一个对象时的实现及传说中的右值——临时对象*/ 如下代码: /**********************************************/ class CStuden ...
- ActiveMQ集群应用
ActiveMQ集群 ActiveMQ具有强大和灵活的集群功能,但在使用的过程中会发现很多的缺点,ActiveMQ的集群方式主要由两种:Master-Slave和Broker Cluster. 1.M ...
- HDU 1281 二分图
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Android课程---关于下拉列表与状态栏提示的学习
activity_ui7.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...
- C fwrite
功能:向文件读入写入一个数据块. 用法:fwrite(const void *buffer,size_t size,size_t count,FILE *stream); (1)buffer:是一个指 ...
- php获得http头部信息的方法
$url = 'http://www.baidu.com'; $fp = fopen($url, 'r'); $meta_data = stream_get_meta_data($fp); var_d ...
- Android 操作系统的内存回收机制(转载)
Android 操作系统的内存回收机制(转载) Android APP 的运行环境 Android 是一款基于 Linux 内核,面向移动终端的操作系统.为适应其作为移动平台操作系统的特殊需要,谷歌对 ...
- How to create a "BOOT USB DISK" for EXSI6.0
1 准备工作 opensuse 13.2ESXi ISO文件 //vmware 官网下载 VMware-VMvisor-Installer-5.1.0-799733.x86_64.iso,XXXXX ...