基于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=" ...
随机推荐
- Python for Infomatics 第12章 网络编程四(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.7 用BeautifulS ...
- 如何记录搜索引擎爬行记录php版
写博客也有一段时间了,为什么搜索引擎迟迟不收录你的页面呢?想知道每天都有哪些蜘蛛“拜访”你的网站吗?作为一名网站长,有必要知道每天都有哪些蜘蛛爬行过你的网站,以便于了解各搜索引擎蜘蛛爬行频率,对网站进 ...
- 立flag
lixintong这半年来一直浪啊浪啊都不认真做题!!!!!!简直是太堕落啦!!lixintong非常讨厌这样的lixintong !!! 鉴于lixintong NOIP 完全爆炸啦! lixint ...
- MySQL中INFORMATION_SCHEMA是什么?(2)
information_schema数据库表说明: SCHEMATA:提供了当前mysql实例中所有数据库的信息.是show databases的结果取之此表. TABLES:提供了关于数据库中的表的 ...
- 数据字典生成工具之旅(5):DocX组件读取与写入Word
由于上周工作比较繁忙,所以这篇文章等了这么久才写(预告一下,下一个章节正式进入NVelocity篇,到时会讲解怎么使用NVelocity做一款简易的代码生成器,敬请期待!),好了正式进入本篇内容. 这 ...
- oracle 11g RAC 补丁升级方法
一.自动升级方法 使用auto方式在两节点分别进行PSU的安装,安装PSU前注意更新opatch工具至PSU所要求版本,p22191577补丁包括GI和DB,分别执行即可. 两节点分别grid用户执行 ...
- Application_Error VS OnException 遇到的坑
在工作中遇到一个巨坑,就是关于Application_Error和OnException, 本身我的应用程序设置了全局异常OnException处理,手动抛出异常,OnExcep ...
- LeetCode Find All Numbers Disappeared in an Array
原题链接在这里:https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/ 题目: Given an array o ...
- LeetCode Add Strings
原题链接在这里:https://leetcode.com/problems/add-strings/ 题目: Given two non-negative numbers num1 and num2 ...
- RabbitMQ学习总结 第七篇:RCP(远程过程调用协议)
在http://www.cnblogs.com/leocook/p/mq_rabbitmq_2.html 这篇博文中我们实现了怎么去使用work queue来把比较耗时的任务分散给多个worker. ...