我做的系统是基于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. Sizeof面试题

    sizeof()功能:计算数据空间的字节数1.与strlen()比较      strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素.       ...

  2. [转]passport.js学习笔记

    概述 passport.js是Nodejs中的一个做登录验证的中间件,极其灵活和模块化,并且可与Express.Sails等Web框架无缝集成.Passport功能单一,即只能做登录验证,但非常强大, ...

  3. JavaScript 三级联动

    附件连接下载地址:http://files.cnblogs.com/files/CaktyRiven/js.zip <!DOCTYPE html> <html lang=" ...

  4. java 实现冒泡排序

    public void bubbleSort(int[] arr) { boolean swapped = true; int j = 0; int tmp; while (swapped) { sw ...

  5. 《Linux内核设计与实现》读书笔记 第一、二章

    第一章    Linux内核简介 1.1Unix历史 Unix特点:1.很简洁 2.所有东西都被当成文件对待 3.Unix内核和相关的系统工具软件都是用C语言编写而成 4.进程创建非常迅速 所以Uni ...

  6. php实现网页trace方法

    // 记录内存初始使用和开始时间,在系统的入口记录 $beginTime= microtime(TRUE); $start_memory = memory_get_usage(); //die; ec ...

  7. Robot Framework 的安装和配置(转载)

    Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环 ...

  8. 前端Javascript书籍分享

    早前在公司曾做过一些关于前端的技术分享,而每每跟大家谈到深处时,大家会疑惑这些知识点从何而来. 我会经常在内部去推荐自己读过的好书,希望大家在技术层面上都能更上一个台阶. 今天写下这个帖子一方面是记录 ...

  9. Vmware安装Centos NAT方式设置静态IP

    [Vmware中在搭建集群环境等,DHCP自动获取IP方式不方便,为了固定IP减少频繁更改配置信息,建议使用静态IP来配置,网络连接主要有三种方式 1.nat 2.桥接,3主机模式 ,在这里主要介NA ...

  10. [dpdk] 熟悉SDK与初步使用 (三)(IP Fragmentation源码分析)

    对例子IP Fragmentation的熟悉,使用,以及源码分析. 功能: 该例子的功能有二: 一: 将IP分片? 二: 根据路由表,做包转发. 路由表如下: IP_FRAG: Socket : ad ...