基于SSH的高校网上选课系统的质量属性的实现

时间:2022-09-13 12:47:06

我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性、性能、安全性、可维护性、易用性五个方面进行的实现。

可用性方面:

实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误检测并且抛出异常,中止进一步的错误操作,所采用的战术为错误(异常)检测, 此异常属于Action层,只捕获自定义应用异常,其他异常上抛。Struts2提供了异常拦截器,拦截器会将定义的异常捕获,记录日志,然后根据配置的异常的类型顺序跳转到相应的页面。(2)遵从J2EE的系统提供了可以使用的事务服务,当很多学生对同一门课程进行选课时,使用事务可以防止访问相同数课程的几个同时线程之间发生冲突。通过提供内建的故障恢复机制,提高了应用的可用性和可靠性。Spring提供了事务处理的功能,保证了数据的完整性。(3)在学生选课时,在线选课人数达到系统所能承担的最大负载量时,对于后面的学生在进入时,要提示选课人数已满,不能再进入。而对于在线选课人数没有达到最大负载量时,系统对于用户的命令要有一个即时的响应。此时采用的战术是错误检测里的命令与响应。Strust根据strust_config.xml文件中的配置信息,再接收到命令(客户端请求)后,会检索和请求相匹配的Action,根据文件中的配置信息返回相关信息或跳转到相关页面,返回给用户。

性能方面:

实现方式:(1)学生在访问的网上选课系统时,系统对于学生的一系列动作应该能在规定的时间内做出响应,如果系统由于网络或者数据库等原因不能在规定时间内做出反应,那么系统应该提出警告,不能出现学生用户无故长时间等待的情况。并且在学生进行选课动作时,要保证系统在很短的时间内做出反应,并且对相冲突的动作要有一个快速的处理,不能影响到系统的运行以及用户的使用。所采用战术是限制访问队列的大小以及缓冲池技术,Spring DAO和Spring ORM集成了对Hibernate等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池的服务功能,保证了系统的性能;(2)当应用程序需要在关联关系间进行导航的时候,有Hibernate获取关联对象。同时Hibernate的Session在事务级别进行持久化数据的缓存操作,提供了一级缓存和二级缓存。所采用的战术是资源管理。(3)在很多学生对同一门课进行选择的时候,进行选课的动作数多余课程所剩容量时,此时可以通过资源仲裁战术对资源的分配做一个调度。通过对资源的调度改变等待时间。

安全性方面:

实现方式:(1)高校网上选课系统需要对学生信息进行保护,防止学生选课信息被修改,防止主机被攻击等等,这就需要系统有抵抗攻击的能力,需要有用户身份验证、对用户进行授权、维护数据的机密性、限制访问。遵从J2EE的系统提供了由容器进行授权校验的基于角色的安全性机制,以及已经为使用做好准备的在程序中进行授权检查的安全性机制。(3)Spring利用AOP来实现权限拦截,还提供了一个成熟的,简洁清晰的安全框架,使用Spring自带的安全框架,过滤器控制资源权限,通过对spring bean的封装机制来实现。使用SSH框架可以不对数据库进行直接的操作,保证了数据库的安全性。Struts中提供了表单校验,防止非法数据进入系统。 Hibernate能够防止sql注入了。

可测试性方面:

实现方式:在完成系统开发的一个增量后,较轻松地对软件进行测试,所采用的战术:输入、输出。SSH框架实现了接口与实现的分离。将接口与实现的分离允许实现的代替,以支持各种测试的目的。

可易用性方面:

实现方式:(1)遵从J2EE的系统提供了支持内容的渲染的技术,以满足不同用户的需求,所采用的战术:将用户接口与应用的其余部分分离开来,MVC模式很好的实现了该战术。(2)用户在对系统进行操作时能得到正确解释的反馈,所采用的战术是运行时战术,维持任务的一个模型,任务模型用于确定上下文,以使该系统了解用户试图做什么,并提供各种协作;维持用户的一个模型,它确定了用户对该系统的了解,用户在期望的响应时间方面的行为,以及特定于某个用户或某类用户的其他方面;维持系统的一个模型,它确定了期望的系统行为,以便为用户提供适当的反馈。

基于SSH的高校网上选课系统的质量属性的实现的更多相关文章

  1. 基于ssh框架开发的购物系统的质量属性

    根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架:Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到 ...

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

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

  3. 基于SSH框架的学生公寓管理系统的质量属性

    系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信 ...

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

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

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

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

  6. 基于ssh框架的在线考试系统开发的质量属性

    我做的系统是基于ssh框架的在线考试系统.在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题.(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需 ...

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

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

  8. SSH框架开发蛋糕房管理系统之质量属性

    SSH框架开发蛋糕房管理系统之质量属性 我要开发的系统是基于ssh框架的蛋糕房管理系统.本系统前台提供的主要功能是在线预定蛋糕,本店管理员拥有最高权限,包括收银管理,设备管理,日常销售管理,蛋糕定制管 ...

  9. 《xxx系统》质量属性战术

    <xxx系统>质量属性战术 可用性:重新引入 用户每填写一份表单,表单查看中即时更新所有信息. 易用性:系统主动 对于下拉框的选项较多时,用户可先进行部分输入,系统进行实时检索显示与用户输 ...

随机推荐

  1. lambda匿名函数

    1.python中的匿名函数的格式 lambda  arg1,arg2...,argN:expression    (lambda关键字后,冒号":"前是参数,多个参数用逗号&qu ...

  2. oracle 按某个字段查询重复数据

    /* 手机号为重复的会员,获取其最大会员id,对应的会员信息 */ SELECT * FROM MEMBER a WHERE a.member_id IN ( SELECT MAX(member_id ...

  3. SQL 语句优化—— (二) 索引的利用

    索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度.索引包含由表或视图中的一列或多列生成的键.与书中的索引一样,数据库中的索引使您可以快速找到表或索引视图中的特定信息.索引包含从表或视 ...

  4. android 中webview调用js

    1.android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true ...

  5. 把exe注册为windows服务

    1.需要工具 Instsrv.exe(可以给系统安装和删除服务) Srvany.exe(可以让程序以服务的方式运行) 2.运行cmd,输入注册服务命令 "instsrv.exe完整路径&qu ...

  6. ABAP语言实现 左移 &lt&semi;&lt&semi;、无符号右移 &gt&semi;&gt&semi;&gt&semi; 位移操作

    这几天要在ABAP中实现 3DES 标准对称加密算法,与其他外部系统进行加密/解密操作.由于ABAP语言中没有 左移 <<.无符号右移 >>>  操作,只能自己实现 思路 ...

  7. mpvue支持小程序的分包加载

    目录 clone mpvue-quickstart 模板 分包体验 现有项目的分包改造 这个功能可以说是让我们这些用 mpvue 的等的很焦灼,眼看着项目的大小一天天地逼近 2M,mpvue 还不能很 ...

  8. firefox extension教程

    https://developer.mozilla.org/zh-CN/docs/Add-ons/Overlay_Extensions/XUL_School/The_Essentials_of_an_ ...

  9. app&period;jsNodejs启动测试服务

    'use strict'; var express = require('express');var app = express('');var fs = require('fs'); app.get ...

  10. 记dynamic的一个小坑 -- RuntimeBinderException:&OpenCurlyDoubleQuote;object”未包括&OpenCurlyDoubleQuote;xxx”的定义

    创建一个控制台程序和一个类库, 在控制台创建一个匿名对象.然后再在类库中訪问它.代码例如以下: namespace ConsoleApplication1 { class Program { stat ...