基于SSH框架开发的《高校大学生选课系统》的质量属性的实现
基于SSH框架开发的《高校大学生选课系统》的质量属性的实现
对于可用性采取的是错误预防战术,即阻止错误演变为故障;在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生可能不知道自己的用户名和密码,此时可以在界面中显示一个温馨提示,从而告知学生其首测登录系统的用户名和密码都为其学号,而防止学生在不知情的情况下根据自己的思维方式屡屡输入用户名和密码却屡屡收到系统给出的错误提示,无法进入系统进行相关的操作,而由于多次输入错误而导致系统故障;当然在登陆界面中,点击“忘记密码”超链接后,接着在跳转的界面中输入相应的登陆条件后即可对自己的信息进行检索,可以对自己的信息进行修改,密码修改后,其次登陆都得使用此密码,这是考虑到人人都会有忘记密码的时候的情形以及需要对个人信息进行修改的情形,同样的管理员模块亦是如此,如若忘记密码或需要修改个人信息时,便可以以点击超链接的形式找回密码以及对信息作出修改,从而顺利的进入系统:(2)当以各自的身份进入到相对应的页面后,便可以进行相关的操作了,对于管理员来说,可以对学生和课程的信息进行增删改查的操作,对于信息的添加,我们都知道表中的每一条记录都有一个唯一的标识符来作为它们之间差异的体现,它们被其所标识,但是毕竟一个表中主码的值是不允许重复使用的,故在此处,我的界面上会在每一条记录的主码位置设计一个按钮,目的是为了检测此时插入的主码是否与已存入表中的记录的主码重复,这就在很大程度上避免了当你已经完整的把相关信息填完后,但是由于你重复的插入了主码而导致系统报错或导致系统故障,你又得反复重新输入新的信息;对于修改信息操作,我们都知道对于每一条记录,我们不能修改其主码,但是有些人并没有注意到这个问题,一旦修改了之后可能造成主码重复等等相关问题而导致系统报错,并且从逻辑上讲人或物的标识码一般是不会变的,被修改的情况是很小的,对于这种情况,我的系统会在信息修改这个界面把相关信息都显示出来,但是主码这一栏不允许编辑,将其设置为只读状态。
易用性方面所采用的战术是运行时战术,即一旦系统执行,就可以为用户提供关于系统正在做什么的反馈;在本系统中主要体现为以下两个方面:(1)系统涉及到两个角色:管理员和学生,以不同的身份进入的是不同的主页,进行的也是不同的操作,当你进入了主页后,我的系统会提示你是以何种身份进入的,并提示你可以做哪些操作,这其实就类似用户使用说明手册一样,告诉你系统的功能,这在很大程度上为用户无头绪的使用减轻了负担,更容易增强用户的自信度和满意度;(2)对于系统涉及到的对各个实体信息的增删改查操作而言,只要用户采取了相关行动之后,系统会在用户所要进行操作的页面上显示出对应的信息操作提示,对于“删除”操作,点击“删除”按钮后,系统会提示“是否删除当前记录?”,选择“是”后,系统会提示“当前信息删除成功”,“否”则没有删除信息;对于学生选课这个模块,当学生选完课后,还可以对课程进行“退选”操作,点击“退选”按钮后,系统会提示:“是否要退选此课程?”,选择“是”后,系统会自动提示:“已成功退选该门课程”,“否”则没有进行退选操作。
可修改性方面所采取的战术是防止连锁反应,即模块之间应尽可能的脱耦,对此可采用信息隐藏战术来实现,即把某个实体或系统的责任分解为更小的部分,目的是将变更隔离在一个模块内,防止变更扩散;在本系统中主要体现在以下三个方面:(1)对于登录模块,虽然会以不同的身份登录系统,但登陆时所进行的操作都是一样的,都需要输入用户名和密码,当用户点击登陆按钮后系统会对提交的数据进行校验,一般是设计DAO类来对其进行校验,从理念上讲完全可以设计一个公共DAO类来分别让AdminDAO类和StudentDAO类来继承共同使用此公共父类,来对信息进行校验,但是考虑到后期的使用,可能会为各个角色在登陆时设置不同的限制行为,而不至于在后期更改时“牵一发而动全身”,故本系统是分别设计了AdminDAO类和StudentDAO类对登陆进行验证;(2)同样的,对于进入系统后对不同实体的增删改查操作而言,本来也是可以为CRUD操作提供一个公共的DAO类来作为各个实体的DAO类进行CDUD操作的父类,但是为了今后对不同实体需求变更的操作进行轻量级的修改,以此分别设计了各个实体的DAO类,很大程度上把它们之间的耦合性和内聚性都降低了;(3)本系统所采用的是SSH框架,我们知道struts负责控制Service(业务逻辑处理类),从而控制Service的生命周期,这样层与层之间的依赖很强,属于耦合。这时,使用spring框架就起到了控制Action对象(Strus中的)和Service类的作用,两者之间的关系就松散了,以此就降低了它们之间的耦合度,这样在对系统的某一业务进行修改时,就只需找到其在ApplicationContext.xml中的配置位置,并对其进行修改即可,这样修改省事又方便。
性能方面所采用的战术是改进资源需求战术,以此可以采用提高计算效率即算法的改进战术来实现;在本系统中主要是体现在对各个实体信息进行CRUD操作时的算法上,过去在对数据进行CRUD操作时用的是SQL语句,我们都知道SQL语句很长,执行效率也相对比较低下,对提交的数据进行相应的操作时间会很慢,针对此处本系统对数据操作采用的是Hibernate机制中的HQL查询以及Hibernate对封装后的数据对应的实体的CRUD操作,这属于面向对象编程的思想,很明显可以看出直接对实体进行操作的方式要比用SQL机制来对实体进行CRUD操作的方式的效率要高很多,故以此来提高系统对用户操作的响应能力。
安全性方面采用的是抵抗攻击战术,即对传输数据进行加密,对数据提供检验;在本系统中体现在用户的登录模块,用户在进行登陆时都要输入自己的用户名和密码,用户只要登录系统,其所输入的信息,特别是密码很容易被获取,其隐私很容易被泄露,以此为了在一定程度上对用户的隐私进行保护,本系统采取了这样一个策略:首先Database中所存取的用户密码是已经经过MD5加密算法进行加密后的密文,接下来对于用户在登陆界面的密码框中所输入的密码,系统依然采用MD5加密算法先将其进行加密成为密文,接着对其进行校验后才决定用户接下来的操作,这样用户在向系统提交隐私数据时,为了抵抗攻击,本系统相当于为用户的隐私数据加了一把锁,从而使用户的隐私信息更具有安全性。
对于可测试性方面,采取的是管理输入/输出采取将接口与实现分离的战术;在本系统中此战术是体现在对系统中的实体进行操作时为具体的实体的操作提供了一个公共的接口,其中定义了操作的方法,而在实体的操作类中具体去实现这些方法,这就把接口与实现进行了分离,以此来增强本系统的可测试性。
基于SSH框架开发的《高校大学生选课系统》的质量属性的实现的更多相关文章
- 基于SSH的高校网上选课系统的质量属性的实现
我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误 ...
- 基于ssh框架开发的购物系统的质量属性
根据前面的博客,我们已经大致了解了ssh架构开发整体概念:Struts是一个实现了MVC模式的经典的框架:Hibernate是轻量级Java EE应用的持久层解决方案,以面向对象的方式提供了持久化类到 ...
- 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块
齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ...
- 基于ssh框架的在线考试系统开发的质量属性
我做的系统是基于ssh框架的在线考试系统.在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题.(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需 ...
- 基于SSH框架的在线考勤系统开发的质量属性
我要开发的是一个基于SSH框架的在线考勤系统. 质量属性是指影响质量的相关因素,下面我将分别从6个系统质量属性(可用性,易用性,可修改性,性能,安全性,可测试性)来分析我的系统,以及如何实现这些质量属 ...
- 基于SSH框架的学生选课质量属性分析
系统:学生选课系统 框架:SSH(Struts2+Spring+Hibernate) 我做的是基于SSH框架的学生选课系统.学生选课系统的特性:①系统响应时间短,能够快速调出课程数据供学生选课提交.② ...
- 基于SSH框架的网上书店系统开发的质量属性
基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...
- 基于SSH框架的学生公寓管理系统的质量属性
系统名称:学生公寓管理系统 首先介绍一下学生公寓管理系统,在学生公寓管理方面,针对学生有关住宿信息问题进行管理,学生公寓管理系统主要包含了1)学生信息记录:包括学号.姓名.性别.院系.班级:2)住宿信 ...
- SSH框架开发蛋糕房管理系统之质量属性
SSH框架开发蛋糕房管理系统之质量属性 我要开发的系统是基于ssh框架的蛋糕房管理系统.本系统前台提供的主要功能是在线预定蛋糕,本店管理员拥有最高权限,包括收银管理,设备管理,日常销售管理,蛋糕定制管 ...
随机推荐
- Windows和Mac浏览器启动本地程序
前言 这几天有个需求,需要在IE上启动本地程序,就如下面一样. 一开始,我还以为IE有提供特殊的接口,类似上图中的“RunExe”,可以找了大半天觉得不对经(找不到该方法). 后来想想不对,这种方式是 ...
- File类_深度遍历文件夹_练习
遍历指定目录下的所有文件和文件夹 import java.io.File; public class FileTest { public static void main(String[] args) ...
- luogu P2000 拯救世界
嘟嘟嘟 题目有点坑,要你求的多少大阵指的是召唤kkk的大阵数 * lzn的大阵数,不是相加. 看到这个限制条件,显然要用生成函数推一推. 比如第一个条件"金神石的块数必须是6的倍数" ...
- 计算机网络关于IP地址的计算问题
1.某校园网地址是202.100.192.0/18,要把该网络分成30个子网,则子网掩码应该是 ( ). A. 255.255.200.0 B. 255.255.224.0 C. 2 ...
- Mysql中的锁机制
原文:http://blog.csdn.net/soonfly/article/details/70238902 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的 计算资源(如 ...
- logbak 配置相关
一.配置简单 1. 配置简单,易于上手,通过logback.xml文件进行配置,如果没有配置的话,执行默认配置 <configuration> <appender name=&quo ...
- SVN 安装vs插件
1.下载visualsvn for visual studio 2012/2013/2015/2017 2.查看是否安装成功 一 下载并安装插件 1.VisualSVN :VisualSVN-5.1. ...
- 16-(基础入门篇)GPRS(Air202)关于多个文件中的变量调用和定时器
https://www.cnblogs.com/yangfengwu/p/9968405.html 因为自己看到好多问多个文件调用的,感觉这个应该说一说 对了大家有没有知道这个是干什么的 大家有没有看 ...
- [01] AJAX
1.概述 AJAX,"Asynchronous JavaScript And XML"的简称,即"异步的JavaScript和XML".AJAX的作用在于页面中 ...
- TCP/IP协议---广播和多播及IGMP协议
老板找某个高层谈话,这是一对一形式.当老板叫来所有高层谈话,那么就变为了一对多.计算机网络中也是如此,当一个主机需要和更多机器对话时,就有了广播和多播这种形式. 广播和多播仅应用于UDP,它们对需将报 ...