长沙市建设网站平台的公司水印logo在线制作生成器
第三章 系统分析
3.1 可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下在线考试管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值, 系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该在线考试系统的开发设计中,对技术、经济、操作方面进行了可行性分析;
3.1.1 技术可行性
本系统开发选择java语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,java俨然已成为下一代互联网的Web标准。所以设计选择使用MYSQL,数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
3.1.2 操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.1.3 经济可行性
基于SpringBoot在线考试系统,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的在线考试管理,同时还能实现对人力资源和管理资源的有效节约,该在线考试系统在经济上完全可行。
3.2性能需求分析
对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
-  
系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;
 -  
系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;
 -  
系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
 -  
系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。
 
3.3功能分析
考虑到实际生活中在在线考试管理方面的需要以及对该系统认真的分析,将系统权限按管理员和用户这两类涉及用户划分。
(1)管理员功能需求
管理员登陆后,主要模块包括首页、个人中心、用户管理、教师管理、课程信息管理、班级信息管理、试题管理、在线试题管理、考试管理等功能。管理员用例图如图3-1所示。

图3-1 管理员用例图
(2)用户功能需求
用户登陆后,主要模块包括首页、个人中心、课程信息管理、班级信息管理、考试管理等功能。用户用例图如图3-2所示。

图3-2 用户用例图
第四章 系统设计
4.1功能结构
为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该在线考试系统的功能结构图如下所示:

图4-1 系统总体结构图
4.2 数据库设计
4.2.1 数据库E/R图
ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
-  
课程信息E/R图如下所示:
 

图4-2课程信息E/R图
-  
班级信息E/R图如下所示:
 

图4-3班级信息E/R图
4.2.2 数据库表
数据库表的设计,如下表:
表4-1:课程信息
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   kechengbianhao  |   varchar  |   200  |   课程编号  | ||
|   kechengmingcheng  |   varchar  |   200  |   课程名称  | ||
|   kechengfenlei  |   varchar  |   200  |   课程分类  | ||
|   tupian  |   varchar  |   200  |   图片  | ||
|   kechengneirong  |   longtext  |   4294967295  |   课程内容  | ||
|   jiaoshigonghao  |   varchar  |   200  |   教师工号  | ||
|   jiaoshixingming  |   varchar  |   200  |   教师姓名  | ||
|   xueshengzhanghao  |   varchar  |   200  |   学生账号  | ||
|   xingming  |   varchar  |   200  |   姓名  | 
表4-2:课程分类
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   kechengfenlei  |   varchar  |   200  |   课程分类  | 
表4-3:教师
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   jiaoshigonghao  |   varchar  |   200  |   教师工号  | ||
|   jiaoshixingming  |   varchar  |   200  |   教师姓名  | ||
|   mima  |   varchar  |   200  |   密码  | ||
|   xingbie  |   varchar  |   200  |   性别  | ||
|   touxiang  |   varchar  |   200  |   头像  | ||
|   zhicheng  |   varchar  |   200  |   职称  | ||
|   dianhuahaoma  |   varchar  |   200  |   电话号码  | 
表4-4:考试记录表
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   userid  |   bigint  |   用户id  | |||
|   username  |   varchar  |   200  |   用户名  | ||
|   paperid  |   bigint  |   在线考试id(外键)  | |||
|   papername  |   varchar  |   200  |   在线考试名称  | ||
|   questionid  |   bigint  |   试题id(外键)  | |||
|   questionname  |   varchar  |   200  |   试题名称  | ||
|   options  |   longtext  |   4294967295  |   选项,json字符串  | ||
|   score  |   bigint  |   分值  |   0  | ||
|   answer  |   varchar  |   200  |   正确答案  | ||
|   analysis  |   longtext  |   4294967295  |   答案解析  | ||
|   myscore  |   bigint  |   试题得分  |   0  | ||
|   myanswer  |   varchar  |   200  |   考生答案  | 
表4-5:试题表
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   paperid  |   bigint  |   所属在线考试id(外键)  | |||
|   papername  |   varchar  |   200  |   在线考试名称  | ||
|   questionname  |   varchar  |   200  |   试题名称  | ||
|   options  |   longtext  |   4294967295  |   选项,json字符串  | ||
|   score  |   bigint  |   分值  |   0  | ||
|   answer  |   varchar  |   200  |   正确答案  | ||
|   analysis  |   longtext  |   4294967295  |   答案解析  | ||
|   type  |   bigint  |   试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)  |   0  | ||
|   sequence  |   bigint  |   试题排序,值越大排越前面  |   100  | 
表4-6:在线考试表
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   name  |   varchar  |   200  |   在线考试名称  | ||
|   time  |   int  |   考试时长(分钟)  | |||
|   status  |   int  |   在线考试状态  |   0  | 
表4-7:配置文件
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   name  |   varchar  |   100  |   配置参数名称  | ||
|   value  |   varchar  |   100  |   配置参数值  | 
表4-8:学生
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   xueshengzhanghao  |   varchar  |   200  |   学生账号  | ||
|   xingming  |   varchar  |   200  |   姓名  | ||
|   mima  |   varchar  |   200  |   密码  | ||
|   xingbie  |   varchar  |   200  |   性别  | ||
|   touxiang  |   varchar  |   200  |   头像  | ||
|   nianling  |   int  |   年龄  | |||
|   dianhuahaoma  |   varchar  |   200  |   电话号码  | 
表4-9:用户表
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   username  |   varchar  |   100  |   用户名  | ||
|   password  |   varchar  |   100  |   密码  | ||
|   role  |   varchar  |   100  |   角色  |   管理员  | |
|   addtime  |   timestamp  |   新增时间  |   CURRENT_TIMESTAMP  | 
表4-10:token表
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   userid  |   bigint  |   用户id  | |||
|   username  |   varchar  |   100  |   用户名  | ||
|   tablename  |   varchar  |   100  |   表名  | ||
|   role  |   varchar  |   100  |   角色  | ||
|   token  |   varchar  |   200  |   密码  | ||
|   addtime  |   timestamp  |   新增时间  |   CURRENT_TIMESTAMP  | ||
|   expiratedtime  |   timestamp  |   过期时间  |   CURRENT_TIMESTAMP  | 
表4-11:通知公告
|   字段名称  |   类型  |   长度  |   字段说明  |   主键  |   默认值  | 
|---|---|---|---|---|---|
|   id  |   bigint  |   主键  |   主键  | ||
|   addtime  |   timestamp  |   创建时间  |   CURRENT_TIMESTAMP  | ||
|   title  |   varchar  |   200  |   标题  | ||
|   introduction  |   longtext  |   4294967295  |   简介  | ||
|   picture  |   varchar  |   200  |   图片  | ||
|   content  |   longtext  |   4294967295  |   内容  | 
第五章 系统功能实现
5.1系统登录注册
系统登录,管理员和用户进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行系统操作,如图5-1所示。

图5-1系统登录界面图
用户注册,在用户注册页面通过填写学号、密码、确认密码、姓名、院系、专业、手机等内容进行注册操作,如图5-2所示。

图5-2用户注册界面图
5.2管理员功能模块
管理员登录系统后,可以对首页、个人中心、用户管理、教师管理、课程信息管理、班级信息管理、试题管理、在线试题管理、考试管理等功能进行相应的操作管理,如图5-3所示。

图5-3管理员功能界面图
用户管理,在用户管理页面可以对索引、学号、姓名、性别、院系、专业、班级、手机等内容进行详情,修改或删除操作,如图5-4所示。

图5-4用户管理界面图
教师管理,在教师管理页面可以对索引、教师工号、教师姓名、性别、籍贯、出生日期、所教科目、职务、联系方式等信息进行详情,修改或删除操作,如图5-5所示。

图5-5教师管理界面图
课程信息管理,在课程信息管理页面可以对索引、课程名称、科目类型、班级、授课老师、开课时间、结课时间、课件等内容进行详情,修改或删除操作,如图5-6所示。

图5-6课程信息管理界面图
班级信息管理,在班级信息管理页面可以对索引、班级编号、班级类型、班级人数、班主任、备注等内容进行详情,修改和删除操作,如图5-7所示。

图5-7班级信息管理界面图
试题管理,在试题管理页面可以对在线试题、试题名称、分值、答案、类型等内容进行修改和删除操作,如图5-8所示。

图5-8试题管理界面图
在线试题管理,在在线试题管理页面可以对索引、在线试题名称、考试时长(分钟)在线试题状态等内容进行详情,修改和删除等操作;如图5-9所示。

图5-9在线试题管理界面图
5.3用户功能模块
用户登录进入在线考试系统可以对首页、个人中心、课程信息管理、班级信息管理、考试管理等功能进行相应操作,如图5-10所示。

图5-10用户功能界面图
个人中心,在个人信息页面通过填写学号、姓名、性别、院系、专业、班级、手机等内容进行个人信息修改操作,如图5-11所示。

图5-11个人中心界面图
课程信息管理,在课程信息管理页面可以对索引、课程名称、科目类型、班级、授课老师、开课时间、结课时间、课件等内容进行查看详情操作,如图5-12所示。

图5-12课程信息管理界面图
班级信息管理,在班级信息管理页面可以对索引、班级编号、班级类型、班级人数、班主任、备注等内容进行查看详情操作,如图5-13所示。

图5-13班级信息管理界面图
考试管理,在在线试题列表可以查看在线试题、考试时长/分钟等内容,并进行考试操作,还可以对考试记录,错题本进行详细操作;如图5-14所示。

图5-14考试管理界面图
第六章 系统测试
系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。
软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:
测试用例1及测试过程:
登录:录入登录信息,账号,密码,权限,然后单击登录进行操作,会出现两种情况:一种情况是登录成功,进入用户相应的功能界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
测试用例2及测试过程:
管理员登录:录入登录信息,管理员账号,密码,权限,然后单击登录进行操作,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。一种情况是登录成功,进入管理员界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
