🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。
- 代码可以私聊博主获取。🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
- 《Springboot网站项目》400套
- 《ssm网站项目》800套
- 《小程序项目》300套
- 《App项目》500套
- 《python网站项目》600套
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目演示
摘 要
网络的广泛应用给生活带来了十分的便利。所以把考研助手管理与现在网络相结合,利用java技术建设考研助手网站,实现考研助手的信息化。则对于进一步提高考研助手管理发展,丰富考研助手管理经验能起到不少的促进作用。
考研助手网站能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知考研助手网站的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己。对于考研助手而言,若拥有自己的系统,通过系统得到更好的管理,同时提升了形象。
本系统设计的现状和趋势,从需求、结构、数据库等方面的设计到系统的实现,分别为管理员,教学秘书和学生的实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本系统根据现实情况来选择一种可行的开发方案,借助java编程语言和MySQL数据库等实现系统的全部功能,接下来对系统进行测试,测试系统是否有漏洞和测试用户权限来完善系统,最终系统完成达到相关标准。
关键字:考研助手网站 java MySQL数据库
第一章 概述
1.1 研究背景
21世纪,我国早在上世纪就已普及互联网信息,互联网对人们生活中带来了无限的便利。像大部分的企事业单位都有自己的系统,由从今传统的管理模式向互联网发展,如今开发自己的系统是理所当然的。那么开发考研助手网站意义和用处有哪些呢?
1.首先提升形象:这是每个企事业单位建设系统的目的之一。当今的网络信息年代,连一个操作系统都不从有过,将会跟不上时代的步伐。
2.加强考研助手服务:考研助手管理行业性质要求您定期提供资料给管理员,或者随时接受用户的建议。如果群众需要,可以通过系统进行管理。
3.同时一个好的系统能将考研助手的信息管理手段提上一个新的台阶。系统内容可以随时更新,这点对于现代考研助手管理来说是很重要,但传统的管理方式都无法做到的。考研助手网站就可以每天更新,随时向您反映考研助手的最新情况。
考研助手网站能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知考研助手网站的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解考研助手管理网站。
1.2 开发意义
人类的进步带动信息化的发展,使人们生活节奏越来越快,所以人们越来越重视信息的时效性。以往的管理方式已经满足不了人们对获得信息的方式、方便快捷的需求。即考研助手网站慢慢的被人们关注。首先,网上获取信息十分的实时、便捷,只要系统在线状态,无论在哪里都能第一时间查找到理想的信息。
计算机技术在管理中成为人们的重要工具。可以有效快捷的解决想要获取的信息,提高工作效率。
1.3 研究现状
在国外很多发达国家,软件产业早已得到全面普及,但我国经济已不断发展,不断引进国外信息化建设,使国内软件行业得以不断发展,在摸索中进步,最终也得到一些成果,我国的软件业迎来了高速的发展,使更多的软件系统得以开发出来,从此逐渐地改变人们的生活工作方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的考研助手网站开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的考研助手网站,来实现考研助手管理的信息化。因此本课题以考研助手为例,目的是开发一个实用的考研助手网站。
考研助手网站的开发运用java技术,MIS的总体思想,以及MYSQL等技术的支持下共同完成了该系统的开发,实现了考研助手管理的信息化,使用户体验到更优秀的考研助手管理,管理员管理操作将更加方便,实现目标。
1.4 研究内容
考研助手的需求和管理上的不断提升,考研助手管理的潜力将无限扩大,考研助手网站在业界被广泛关注,本系统对此进行总体分析,将考研助手信息管理的发展提供参考。考研助手网站对考研有着明显的带动效应。
本系统主要包括管理员,教学秘书和学生三个用户角色;主要包括首页、个人中心、学生管理、教学秘书管理、考研资讯管理、考研名师管理、考研信息管理、咨询信息管理、院校推荐管理、系统管理等功能的管理系统。
1.5 论文结构
(1)绪论
系统的开发背景,意义和系统状况等,详细讲述了系统的用处。
(2)系统开发技术的介绍
分别对java技术、MySQL和B/S进行详细介绍。
(3)系统分析
本章主要是对系统可行性、系统性能、还有系统功能需求进行分析。
(4)系统设计
对系统系统功能和数据库等进行详细讲解。
(5)系统的实现
主要对首页、个人中心、学生管理、教学秘书管理、考研资讯管理、考研名师管理、考研信息管理、咨询信息管理、院校推荐管理、系统管理的实现。
(6)系统的测试
在系统编码实现后,就需要对系统进行检测,检测的方法有黑盒测试和白盒测试两种方式,本系统采用的是黑白盒测试方法对不同组的数据进行功能模块测试。
(7) 总结与心得体会
在论文最后结束章节总结了开发这个系统和撰写论文时候自己的总结、感想,包括致谢。
第二章 开发技术介绍
此次管理系统的关键技术和架构由B/S结构、java和mysql数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 系统开发平台
在该在线考研助手网站中,Eclipse能给用户提供更多的方便,其特点一是方便学习,方便快捷;二是有非常大的信息储存量,主要功能是用在对数据库中查询和编程。其功能有比较灵活的数据应用,只需利用小部分代码就能实现非常强大的功能。因此,利用Eclipse 技术进行系统代码管理是该系统数据库的首选。
2.2 平台开发相关技术
2.2.1 Java技术
Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群,所以Java的发展迅速。
2.2.2 mysql数据库介绍
利用MYSQL的数据独立性、安全性等特点,在软件项目中对数据进行操作,可以保证数据准确无误,并降低了程序员的应用开发时间。
MYSQL的特点是支持多线程,能方便的对系统资源充分利用,有效提高速度,还提供多种方式途径来对数据库进行连接;MYSQL的功能相对弱小、规模也小,但本系统要求不高,MYSQL完全可以满足本系统使用。
利用MYSQL建立系统数据库,不仅有利于数据处理业务的早期整合,还能利于发展后两种数据扩展的操作。
2.2.3 MySQL环境配置
本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.2.4 B/S架构
B/S结构是目前使用最广泛的结构模式,它不但能让系统的开发更加的简单,易操作,而且还能够对其进行维护。在使用B/S结构时只要在计算机中安装好数据库和一些很常用的浏览器就行了。数据库和浏览器就会进行信息连接,能实现很多功能,此结构通过能上网的电脑是可以直接进行使用,而且在使用中极大的减少了工作的维护。基于B/S的软件数据库之间都是独立使用的,因此是非常可靠的。因为基于此结构可以清晰的看到系统正在处理的所有业务,还能够及时的让管理人员根据当时的实际情况做出相应的对策,这样能避免用户的损失。B/S结构的管理模式是集中式的,用户使用此系统在生成数据后就可以将这此数据存储到系统的数据库中,方便以后使用满足人们的所有的需求。
图2-1 三层结构图
2.2.5 SSM框架
开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。
第三章 系统分析
3.1 可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下考研助手管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值, 系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该考研助手网站的开发设计中,对技术、经济、操作方面进行了可行性分析;
3.1.1 技术可行性
本系统开发选择java技术,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,java俨然已成为下一代互联网的Web标准。所以设计选择使用MYSQL,数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
3.1.2 操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.1.3 经济可行性
考研助手网站,该网站软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该网站软件的投入使用,可以实现更加快速高效的考研助手管理网站,同时还能实现对人力资源和管理资源的有效节约,该考研助手网站在经济上完全可行。
3.2性能需求分析
对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
1. 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;
2. 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;
3. 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
4. 系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。
3.3功能分析
考虑到实际生活中在考研助手管理方面的需要以及对该系统认真的分析,将系统权限按管理员,教学秘书和学生这三类涉及用户划分。
(1)管理员功能需求
管理员登陆后,主要包括首页、个人中心、学生管理、教学秘书管理、考研资讯管理、考研名师管理、考研信息管理、咨询信息管理、院校推荐管理、系统管理等功能。管理员用例图如图3-1所示。
图3-1 管理员用例图
(2)教学秘书功能需求
教学秘书登陆后,主要包括首页,个人中心,企业信息管理,招聘信息管理,应聘信息管理,个人简历管理,应聘邀请管理等功能。教学秘书用例图如图3-2所示。
图3-2教学秘书用例图
(3)学生功能需求
学生登陆后,主要包括首页、个人中心、咨询信息管理等功能。学生用例图如图3-3所示。
图3-3 学生用例图
第四章 系统设计
4.1功能结构
为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该考研助手网站的功能结构图如下所示:
图4-1 系统总体结构图
4.2 数据库设计
4.2.1 数据库E/R图
ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
(1) 考研资讯E/R图如下所示
图4-2考研资讯E/R图
(2) 考研名师E/R图如下所示:
图4-3考研名师E/R图
(4) 考研信息E/R图如下所示:
图4-4考研信息E/R图
4.2.2 数据库表
数据库表的设计,如下表:
表4-1:学生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
xuehao | varchar | 200 | 学号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
xueshengdianhua | varchar | 200 | 学生电话 | ||
touxiang | varchar | 200 | 头像 |
表4-2:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-3: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-4:公告资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-5:考研资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zixunbianhao | varchar | 200 | 资讯编号 | ||
zixunbiaoti | varchar | 200 | 资讯标题 | ||
fabushijian | date | 发布时间 | |||
fengmian | varchar | 200 | 封面 | ||
zixunneirong | longtext | 4294967295 | 资讯内容 | ||
mishuzhanghao | varchar | 200 | 秘书账号 | ||
mishuxingming | varchar | 200 | 秘书姓名 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 |
表4-6:考研信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kaoyanzhuanye | varchar | 200 | 考研专业 | ||
kaoshikemu | varchar | 200 | 考试科目 | ||
jianjie | varchar | 200 | 简介 | ||
fengmian | varchar | 200 | 封面 | ||
baomingshijian | date | 报名时间 | |||
querenshijian | date | 确认时间 | |||
luqufenshu | float | 录取分数 | |||
xiangqing | longtext | 4294967295 | 详情 | ||
mishuzhanghao | varchar | 200 | 秘书账号 | ||
mishuxingming | varchar | 200 | 秘书姓名 |
表4-7:考研名师
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kaoyanbiaoti | varchar | 200 | 考研标题 | ||
fabushijian | date | 发布时间 | |||
fengmian | varchar | 200 | 封面 | ||
mingshimingcheng | varchar | 200 | 名师名称 | ||
shipinziliao | varchar | 200 | 视频资料 | ||
kaoyanxiangqing | longtext | 4294967295 | 考研详情 | ||
mishuzhanghao | varchar | 200 | 秘书账号 | ||
mishuxingming | varchar | 200 | 秘书姓名 |
表4-8:教学秘书
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
mishuzhanghao | varchar | 200 | 秘书账号 | ||
mima | varchar | 200 | 密码 | ||
mishuxingming | varchar | 200 | 秘书姓名 | ||
xingbie | varchar | 200 | 性别 | ||
mishudianhua | varchar | 200 | 秘书电话 | ||
touxiang | varchar | 200 | 头像 |
表4-9:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-10:咨询信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zixunbianhao | varchar | 200 | 咨询编号 | ||
mishuzhanghao | varchar | 200 | 秘书账号 | ||
mishuxingming | varchar | 200 | 秘书姓名 | ||
fabushijian | date | 发布时间 | |||
zixunwenti | longtext | 4294967295 | 咨询问题 | ||
xuehao | varchar | 200 | 学号 | ||
xingming | varchar | 200 | 姓名 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-11:院校推荐
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuanxiaobianhao | varchar | 200 | 院校编号 | ||
yuanxiaomingcheng | varchar | 200 | 院校名称 | ||
yuanxiaodizhi | varchar | 200 | 院校地址 | ||
yuanxiaofengmian | varchar | 200 | 院校封面 | ||
yuanxiaozhuanye | varchar | 200 | 院校专业 | ||
yuanxiaoxiangqing | longtext | 4294967295 | 院校详情 | ||
mishuzhanghao | varchar | 200 | 秘书账号 | ||
mishuxingming | varchar | 200 | 秘书姓名 |
第五章 系统功能实现
5.1系统功能模块
考研助手网站,在网站首页可以查看首页、考研资讯、考研名师、考研信息、院校推荐、公告资讯、个人中心、后台管理等内容,并进行详细操作;如图5-1所示。
图5-1网站首页界面图
学生注册,在学生注册页面通过填写学号、密码、确认密码、姓名、学生电话等信息进行注册操作,如图5-2所示。
图5-2学生注册界面图
考研资讯,在考研资讯页面可以查看资讯编号、资讯标题、发布时间、封面、秘书账号、秘书姓名、点击次数、资讯内容等内容;如图5-3所示。
图5-3考研资讯界面图
考研名师,在考研名师页面可以查看考研标题、发布时间、封面、名师名称、视频资料、秘书账号、秘书姓名、考研详情等内容;如图5-4所示。
图5-4考研名师界面图
考研信息,在考研信息页面可以查看考研专业、考试科目、简介、封面、报名时间、确认时间、录取分数、秘书账号、秘书姓名、详情等内容;并进行咨询操作;如图5-5所示。
图5-5考研信息界面图
个人中心,在个人中心页面通过填写学号、密码、姓名、性别、学生电话、上传图片等内容进行更新信息操作;如图5-6所示。
图5-6个人中心界面图
5.2后台登录模块
后台登录,管理员,教学秘书和学生进入系统前在登录页面根据要求填写账号,密码和选择角色等信息,点击登录进入系统操作界面,如图5-7所示。
图5-7后台登录界面图
5.2.1管理员功能模块
管理员登陆系统后,可以查看首页、个人中心、学生管理、教学秘书管理、考研资讯管理、考研名师管理、考研信息管理、咨询信息管理、院校推荐管理、系统管理等功能,还能对每个功能逐一进行相应操作,如图5-8所示。
图5-8管理员功能界面图
学生管理,在学生管理页面可以对索引、学号、姓名、性别、学生电话、头像等内容进行详情,修改和删除操作,如图5-9所示。
图5-9学生管理界面图
教学秘书管理,在教学秘书管理页面可以对索引、秘书账号、秘书姓名、性别、秘书电话、头像等内容进行详情,修改和删除等操作,如图5-10所示。
图5-10教学秘书管理界面图
考研资讯管理,在考研资讯管理页面可以对索引、资讯编号、资讯标题、发布时间、封面、秘书账号、秘书姓名等内容进行详情,修改和删除等操作,如图5-11所示。
图5-11考研资讯管理界面图
考研名师管理,在考研名师管理页面可以对索引、考研标题、发布时间、封面、名师名称、视频资料、秘书账号、秘书姓名等内容进行详情,修改和删除等操作,如图5-12所示。
图5-12考研名师管理界面图
考研信息管理,在考研信息管理页面可以对索引、考研专业、考试科目、简介、封面、报名时间、确认时间、录取分数、秘书账号、秘书姓名等内容进行详情,修改和删除操作,如图5-13所示。
图5-13考研信息管理界面图
咨询信息管理,在咨询信息管理页面可以对索引、咨询编号、秘书账号、秘书姓名、发布时间、学号、姓名、审核回复、审核状态等内容进行详情,修改和删除操作,如图5-14所示。
图5-14咨询信息管理界面图
院校推荐管理,在院校推荐管理页面可以对索引、院校编号、院校名称、院校地址、院校封面、院校专业、秘书账号、秘书姓名等内容进行详情,修改和删除等操作,如图5-15所示。
图5-15院校推荐管理界面图
系统管理,在公告资讯页面可以对标题,简介,图片等内容进行详情,修改和删除操作,还可以对轮播图管理进行详细操作;如图5-16所示。
图5-16系统管理界面图
5.2.2教学秘书功能模块
教学秘书登陆系统,可以查看首页、个人中心、考研资讯管理、考研名师管理、考研信息管理、咨询信息管理、院校推荐管理等功能,还能对每个功能逐一进行相应操作,如图5-17所示。
图5-17教学秘书功能界面图
5.2.3学生功能模块
学生登陆系统,可以对首页、个人中心、咨询信息管理等功能进行详细操作,如图5-18所示。
图5-18学生功能界面图
第六章 系统测试
系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。
软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:
测试用例1及测试过程:
登录:录入登录信息,账号,密码和权限,然后单击登录进行操作,会出现两种情况:一种情况是登录成功,进入用户相应的功能界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
测试用例2及测试过程:
管理员登录:录入登录信息,管理员账号,密码和权限,然后单击登录进行操作,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。一种情况是登录成功,进入管理员界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
第七章 总结与心得体会
7.1 总结
通过完成该考研助手网站和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。
本网站所实现的是一个考研助手网站,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。
本系统具有以下优点:
该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。
系统将用户权限进行划分,管理员,教学秘书和学生能看到及操作的信息不一样,三者具备不同的操作权限。
该系统操作界面简单明了,大部分人都可以正常使用。
但也存在以下问题需要改进:
运行时窗口不能被刷新,可以改进。
系统过于简单,显示的信息有限。
不能添加多个管理员账号,如果可以则将利于发展考研助手网站规模,便于考研助手信息集中管理。
不能实时预约接待消息和考研助手网站反馈建议,容易被忽视,不利于管理员服务客户。
7.2 心得体会
由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。
参考文献
[1] 李兴华. JavaWeb开发实战经典基础篇(第1版)[M].北京:清华大学出版社,2010.8
[2] 程志艳, 张亮. JSP实用简明教程[M].北京:清华大学出版社,2005.12
[3] 陈刚. Eclipse从入门到精通[M].北京:清华大学出版社,2005.6
[4] 李勇平.JSP应用开发详解[M].电子工业出版社,2005.10
[5] 郑自国,邹丰义.Java案例开发集锦[M].北京:电子工业出版社,2005.2
[6] 张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京:电子工业出版社. 2006
[7] 李安渝. Web Services技术与实现[M]. 北京:国防工业出版社,2003
[8] 孙卫琴,李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社,2003.6:1-205
[9] 曹广鑫 编著.JSP数据库项目开发宝典[M].北京:电子工业出版社,2006
[10] 王剑,邓武.基于Web服务面向服务的动态电子商务应用框架研究[J].科学技术与工程,2008,2(3):65-90
[11] 周旌恒.JSP应用开发详解(第三版)[M].北京:电子工业出版社,2004
[12] Shanliang Xue;Qing Yan Wei;Guang Ming Jiao;Dun Wen Zuo. Research Code Management System Based on J2EE[J]. Key Engineering Material.2010,Vol.431-432(188-191)
[13] Yan Ming Li;Li Feng Wan. Design On Framework Structure of College English Learning Management System Based on Struts2[J].Advanced Materials Research.2013,Vol.846-847(1558-1561)
[14] Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: Prentice Hall, 2006
[15] Joshua Bloch. Effective Java[M]. Piscataway, N.J: IEEE Press, 2009
[16] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First
International Conference on E-Science and GridComputing,2005:58-70,90
核心代码展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查询公告通知成功").put("data", newsView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}