我做的系统是基于ssh框架的在线考试系统。在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题。(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需要非常高,防止题目泄露。(4)对于每个用户的权限要非常明确,捕捉用户的每一个动作是否经过授权。因此我采用了一下几种软件质量战术来保证软件的质量属性。

一、可用性战术:可用性战术需要以用户的角度出发,实际考虑每个可能出现的问题。

(1)错误检测:当用户操作不当或者用户登录操作错误时,进行异常处理,提示用户错误信息。如登录时密码输入不正确等。对数据库进行操作的行为做了异常的处理,防止数据库的重的信息被破坏。

(2)错误预防:对同时登录的用户进行数量的限制,防止因为负载量过大而导致系统崩溃。

(3)错误恢复:定期进行数据库的备份,当数据库出现问题时,及时人工恢复数据库。

二、易用性战术:易用性应符合标准和规范,直观明了,操作灵活方便。

运行时战术:系统界面简洁、明了。用户可以直观地通过界面来访问系统的每个功能。用户在使用这个系统的过程中,会提示用户将如何操作系统。还有是当用户的操作出错时,及时提醒用户以免出现异常情况。

三、可修改性战术:为模块分配责任,以把预期的变更限制在一定的范围内,从而降低修改成本。

(1)局部化修改:将系统的每个文件的职责分离,确保每个文件都实现不同的功能。尽量使用具有一定标准的英文单词来定义每个文件名称或变量。在关键的部分增加一些注释,增强代码的可读性。

(2)防止连锁反应:降低类之间的耦合程度,避免出现连锁反应。尽量多使用增加类的方式修改,少直接在类中修改。

四、性能战术:控制生成响应的时间。

(1)资源需求控制:在数据库查询的时候,由于考试系统的题目的量可能很大,避免出现整个表都要扫描的情况,更多的使用条件查询。尽量使用可变类型长度数据可以节省存储空间和查询效率。避免频繁的对数据库中的数据进行修改和删除。改进一些关键的算法,如加密算法等。

(2)资源仲裁:在多人同时对系统进行操作时,对不同的用户之间的操作分配优先级。如当管理员修改用户登录信息和该用户登录同时进行时,应优先执行管理员操作,防止出现闭锁现象。还有如多人同时在线考试时,对用户的提交顺序等也需要分配优先级。

五、安全性战术:安全性战术需要保证系统的安全性。

(1)抵抗攻击:对非该系统用户的登录一定进行验证。如密码输入次数过多自动限制该用户登录。对数据库中的用户密码需要进行加密,以免数据泄露,对于用户的一些关键的信息也许要进行加密,如身份证号等。对用户登录进行授权,防止普通用户拥有过大的权限。对用户的登录密码进行一定的安全限制,如密码位数的限制或者格式的限制。每个页面都需要对用户是否登录进行判断,防止一些用户通过如输入url的方式绕过登录进行访问。

(2)攻击恢复:在数据库信息遭到破坏时,即使手动恢复备份。对于已经发现的系统漏洞需要及时的修改。

六、可测试性战术:允许在完成软件开发的一个增量后,较轻松地对软件进行测试。

管理输入/输出:将接口与实现进行分离,对使用次数比较高的方法提供了一个统一的接口,用接口来代替具体的功能的实现,可以使得在增量开发时,系统的相似的测试更为便捷。

基于ssh框架的在线考试系统开发的质量属性的更多相关文章

  1. 基于SSH框架的在线考勤系统开发的质量属性

    我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...

  2. 基于SSH框架的网上书店系统开发的质量属性

    基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...

  3. 基于SSH框架的学生选课质量属性分析

    系统:学生选课系统 框架:SSH(Struts2+Spring+Hibernate) 我做的是基于SSH框架的学生选课系统.学生选课系统的特性:①系统响应时间短,能够快速调出课程数据供学生选课提交.② ...

  4. 基于SSH框架开发的《高校大学生选课系统》的质量属性的实现

    基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生 ...

  5. 基于Web在线考试系统的设计与实现

    这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973   ...

  6. 基于B/S架构的在线考试系统的设计与实现

    前言 这个是我的Web课程设计,用到的主要是JSP技术并使用了大量JSTL标签,所有代码已经上传到了我的Github仓库里,地址:https://github.com/quanbisen/online ...

  7. 如何实现基于ssh框架的投票系统的的质量属性

    如何实现基于ssh框架的投票系统的的质量属性: 项目 :网上考试系统 我做的是网上考试系统,因为标准化的考试越来越重要,而通过计算机进行标准化判卷,系统会自动判卷出成绩,组织考试的人不用组织人员打印试 ...

  8. 如何开发一款基于 Vite+Vue3 的在线表格系统(上)

    今天,葡萄带你了解如何基于Vite+Vue3实现一套纯前端在线表格系统. 在正式开始项目介绍之前,首先咱们首先来介绍一下Vite和Vue3. Vue3 Vue是什么?大多前端开发者对这个词已毫不陌生了 ...

  9. JavaWeb项目开发案例精粹-第3章在线考试系统-007View层

    0.login.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...

随机推荐

  1. $Ajax简单理解

    关于web开发的可能我们不能或缺的利器就是$Ajax,我们这里就不具体的将里面的原理(如果大家有时间的话可以好好的看看javascript里面的权威指南)里面讲的比较详细了 这里就在不说了.今天我们就 ...

  2. js性能优化-事件委托

    js性能优化-事件委托 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少 ...

  3. 常用SQL脚本操作

    SQL 脚本创建数据库.表及简单查询 --------------------------------------------------------------------------------- ...

  4. mysql错误汇总

    1,mysql报Fatal error encountered during command execution的解决办法 连接字符串里加上 Allow User Variables=True 解决. ...

  5. STM32环境搭建/学习观点/自学方法 入门必看

    文章转自armfly开发板V4软件开发手册,分享学习~ 今天有幸看到armfly的开发板软件开发手册,开头的基础知识,真的很有用,还好有看到,一切都不迟,感悟很多,摘抄部分,学习分享~ 关于开发环境的 ...

  6. IOS网络第二天 - 07-发送JSON给服务器

    *************** #import "HMViewController.h" #import "MBProgressHUD+MJ.h" @inter ...

  7. 学习笔记_springmvc返回值、数据写到页面、表单提交、ajax、重定向

    数据写到页面 后台往前台传数据 TestController添加 /** * 方法的返回值采用ModelAndView, new ModelAndView("index", map ...

  8. 使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar

    使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar

  9. shape

    <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http:/ ...

  10. Yii源码阅读笔记(三十一)

    Widget类中开始,获取视图对象,获取widget ID,渲染视图,获取路径方法注释: private $_id; /** * Returns the ID of the widget. * 返回插 ...