基于SSH的高校网上选课系统的质量属性的实现
我对于基于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的高校网上选课系统的质量属性的实现的更多相关文章
- 基于ssh框架开发的购物系统的质量属性
根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架:Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到 ...
- 基于SSH框架的网上书店系统开发的质量属性
基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...
- 基于SSH框架的学生公寓管理系统的质量属性
系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信 ...
- 基于SSH框架的学生选课质量属性分析
系统:学生选课系统 框架:SSH(Struts2+Spring+Hibernate) 我做的是基于SSH框架的学生选课系统.学生选课系统的特性:①系统响应时间短,能够快速调出课程数据供学生选课提交.② ...
- 基于SSH框架开发的《高校大学生选课系统》的质量属性的实现
基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生 ...
- 基于ssh框架的在线考试系统开发的质量属性
我做的系统是基于ssh框架的在线考试系统.在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题.(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需 ...
- 基于SSH框架的在线考勤系统开发的质量属性
我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...
- SSH框架开发蛋糕房管理系统之质量属性
SSH框架开发蛋糕房管理系统之质量属性 我要开发的系统是基于ssh框架的蛋糕房管理系统.本系统前台提供的主要功能是在线预定蛋糕,本店管理员拥有最高权限,包括收银管理,设备管理,日常销售管理,蛋糕定制管 ...
- 《xxx系统》质量属性战术
<xxx系统>质量属性战术 可用性:重新引入 用户每填写一份表单,表单查看中即时更新所有信息. 易用性:系统主动 对于下拉框的选项较多时,用户可先进行部分输入,系统进行实时检索显示与用户输 ...
随机推荐
- C++中如何按照map中的value来进行排序
sort函数无法对map进行排序,网上的方法一般是通过将map转为vector后,再来使用sort进行排序. 如下, 比较函数 bool cmp(const pair<int,int> & ...
- Linux 小知识翻译 - 「Linux」和「发行版」之间的关系
「Linux」本来指的仅仅是内核.5年之前大多都是这么认为的,但是最近不这么说了. 最近一般都说「Linux」是个 OS,这里的OS,不仅仅是内核,而是指电脑的整体环境(除了内核,还包括一些外围的软件 ...
- web页面中快速找到html对应元素两种方法
一.第一种方法(通过先进入开发模式然后再去选择网页元素) 1.打开IE.Chrome.FireFox等,按 F12 键进入开发模式 2.在打开的控制窗口左上角有个 箭头 按钮,点击它之后,此时将鼠标 ...
- 关于解决Python中requests模块在PyCharm工具中导入问题
问题引入: 今天在学习Python网络请求的时候,导入requests模块时一直报红色波浪线,如图: 反复折腾,一直以为自己没有安装requests模块,反复安装反复卸载: 安装方法: 首先 cd 进 ...
- [题目] Luogu P3707 [SDOI2017]相关分析
参考资料:[Luogu 3707] SDOI2017 相关分析 P3707 [SDOI2017]相关分析 TFRAC FRAC DFRAC \(\tfrac{\sum}{1}\) \(\frac{\s ...
- chm文件转换成html文件,解决chm文件无法使用浏览器打开的问题
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code CHM是英语“Compiled Help Manual”的简写,即“已编译的帮助文件”.CHM ...
- go标准库的学习-fmt
参考https://studygolang.com/pkgdoc 导入方式: import "fmt" mt包实现了类似C语言printf和scanf的格式化I/O.格式化动作(' ...
- Java并发(六)线程池监控
目录 一.线程池监控参数 二.线程池监控类 三.注意事项 在上一篇博文中,我们介绍了线程池的基本原理和使用方法.了解了基本概念之后,我们可以使用 Executors 类创建线程池来执行大量的任务,使用 ...
- USB to UART
USB to UART: 芯片选用CH340: 电源部分连接两个电容分别是0.1微法和10微法: 晶振连接12MHz; D+ D- 连接单片机的D+ D-
- QT数据类型的转化总结
QT 中的数据类型有很多的,在写代码的过程中难免会遇到 数据类型的转换. 1.QString转QByteArray QByteArray byte;QString string;byte = stri ...