博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、爬虫、web开发,已经做了六年的程序开发,开发过上千套大学生实战程序,可以定制、也可成品项目,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:ssm+mysql+jsp+tomcat
目录
1 系统介绍
互联网发展到如今也近20年之久,小学生课外知识学习网站一直作为互联网发展中的一个重要角色在不断更新进化。小学生课外知识学习网站从最初的文本显示到现在集文字、视频、音频与一体,成为一种网络多媒体浏览网站。作为一种媒体传输媒介,小学生课外知识学习网站如今也分各个类别,各种形式。本文着重对小学生课外知识学习网站进行分析和研究,浅析小学生课外知识学习网站的现状和存在的一些问题并对此进行研究,通过对问题和现状的分析研究和对用户需求的一个简单整理建模,设计并且实现一个小学生课外知识学习网站。
小学生课外知识学习网站采用的开发框架为SSM框架,也就是Spring mvc、Spring、MyBatis这三个框架,页面设计用的是jsp技术作为动态页面文件设计,jsp文件里可以对实现html等界面布局的代码,采用SpringMVC替代传统的struts2框架,主要对jsp访问的拦截和控制,Spring作为整个控制的核心,通过控制反转技术和面向切面技术,让Spring自动对使用的类文件进行调用和导入,MyBatis主要作为底层操作数据库,不牵扯业务逻辑,开发工具采用Eclipse,服务器用的是tomcat。编码语言是Java,数据库采用Mysql。
2 系统背景
2.1 研究背景
信息化的世界,对于互联网就是一个无国界的传播过程。小学生课外知识学习网站也像其他很多网络交流工具一样,时刻在给每一个人带来信息全球化的过程中自由发布个性化信息平台,这就是互联网给人们带来的革命性变革力量。互动的网络社会突破了地域之间人们的阻碍,它给人们带来了更多的机会和把握未来的机遇。
随着小学生课外知识学习网站的发展,小学生课外知识学习网站越来越深刻的影响着我们的生活。说起影响,我们就不能不提起木子美,通过小学生课外知识学习网站把木子美的形象送到千家万户,同时也将千家万户吸引到小学生课外知识学习网站上来。这样的互动每天都在发生,越来越多,越来越频繁。但是小学生课外知识学习网站毕竟属于非主流媒体,而且主要以个人小学生课外知识学习网站形式出现的小学生课外知识学习网站很难带给社会多么大的变化。但是正是由于小学生课外知识学习网站的这种大众性,也就决定了它与生俱来的独立性和人文精神。另外作为小学生课外知识学习网站的基本功能之一,它提供给我们一个自我表现的舞台,这里真正的体现了:平等,开放,自由,共享的互联网的精神。
2.2目的和意义
现今小学生课外知识学习网站还存一些问题:首先,小学生课外知识学习网站开发者或者拥有着,为了吸引更多客户盲目定义了小学生课外知识学习网站外观以及内容。小学生课外知识学习网站页面颜色搭配太多使整个页面失去了一目了然效果,令人看的眼花缭乱。页面布局划分不规范,没整体的观念,盲目划分模块只为填充更多信息量。在内容上收入太杂,图片搭配不合理等原因,导致小学生课外知识学习网站宗旨及传播的信息没能有效传播出去。动态效果运用太多当鼠标经过时,容易产生不好感觉。垃圾链接太多,容易产生反感。其次,目前的小学生课外知识学习网站网站大都属于综合性的小学生课外知识学习网站,上面各个方面的内容混合在一起,小学生课外知识学习网站用户也各式各样。这样是达到了小学生课外知识学习网站网站开放性的原则但是要在上面找到专业的,有价值的东西就会显得很困难,属于杂货铺式的公共场合。未来的小学生课外知识学习网站网站将会走向专业化的道路,专业化的小学生课外知识学习网站网站将更有利于向专业化的出版,咨询,软件方面扩展,也将更有利于有关专业人士采用专业的网络信息资源。它将为专业人士提供一个专业资源,专业知识交流,信息发布的既综合又专业的交流平台。
此系统的操作界面是可视化的界面,管理人员无需付费培训就能尽快上手。小学生课外知识学习网站的开发意义如下:
1、管理人员再也不用在查询信息上花费大量宝贵的时间了,通过信息关键词字段就可以在几秒内获取需要的信息,在各种突发事件面前管理人员也不用慌张,可以从容淡定地处理各种相关信息。
2、该系统在每天的24小时期间都是不会停止服务的,只要有信息操作的需要,管理人员都能使用常用的360浏览器,或者百度浏览器,2345浏览器等大众浏览器都能登录系统,然后操作对应的功能。
3、有了这款信息管理类操作软件,所有需要进行处理的数据不用在纸质版本的文档上进行记载,而是基于电脑进行信息录入。
4、小学生课外知识学习网站信息都是通过网站进行显示,其实质是这些信息都保存在网站对应的数据库里面。只要操作员不去恶意删除信息,那么这些信息将会永久保存。
3 系统功能结构
4 数据库结构
本次程序开发选用的数据库管理工具是MySQL数据管理工具,使用它存放数据也需要创建程序对应的数据库文件,并命名刚创建的数据库文件,有了数据库也需要创建各种数据表来充实数据库,在数据表的创建中,不仅需要对数据表命名,也需要对数据表的字段进行设计,包括每个数据表里面需要设置的字段名称,字段对应的数据类型信息,字段的主键设置这个也是不可缺少的,因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名,但是上网搜索自己的名字,会发现全国上下有很多人的名字跟自己的名字一模一样,包括姓氏以及名字,区分每个人的唯一信息就是每个人的身份证号信息,主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序小学生课外知识学习网站的数据表结构信息。
表4.1 课外知识评论信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
refid | bigint(20) | 否 | 关联表id | |
userid | bigint(20) | 否 | 用户id | |
content | longtext | 否 | 评论内容 | |
reply | longtext | 是 | NULL | 回复内容 |
表4.2 试卷信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
name | varchar(200) | 否 | 试卷名称 | |
time | int(11) | 否 | 考试时长(分钟) | |
status | int(11) | 否 | 0 | 试卷状态 |
表4.3 试题信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
paperid | bigint(20) | 否 | 所属试卷id(外键) | |
papername | varchar(200) | 否 | 试卷名称 | |
questionname | varchar(200) | 否 | 试题名称 | |
options | longtext | 是 | NULL | 选项,json字符串 |
score | bigint(20) | 是 | 0 | 分值 |
answer | varchar(200) | 是 | NULL | 正确答案 |
analysis | longtext | 是 | NULL | 答案解析 |
type | bigint(20) | 是 | 0 | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) |
sequence | bigint(20) | 是 | 100 | 试题排序,值越大排越前面 |
表4.4 考试记录表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
username | varchar(200) | 是 | NULL | 用户名 |
paperid | bigint(20) | 否 | 试卷id(外键) | |
papername | varchar(200) | 否 | 试卷名称 | |
questionid | bigint(20) | 否 | 试题id(外键) | |
questionname | varchar(200) | 否 | 试题名称 | |
options | longtext | 是 | NULL | 选项,json字符串 |
score | bigint(20) | 是 | 0 | 分值 |
answer | varchar(200) | 是 | NULL | 正确答案 |
analysis | longtext | 是 | NULL | 答案解析 |
myscore | bigint(20) | 否 | 0 | 试题得分 |
myanswer | varchar(200) | 是 | NULL | 考生答案 |
表4.5 课外知识信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
biaoti | varchar(200) | 是 | NULL | 标题 |
leibie | varchar(200) | 是 | NULL | 类别 |
fenlei | varchar(200) | 是 | NULL | 分类 |
fengmian | varchar(200) | 是 | NULL | 封面 |
shipin | varchar(200) | 是 | NULL | 视频 |
wenjian | varchar(200) | 是 | NULL | 文件 |
riqi | date | 是 | NULL | 日期 |
jianjie | longtext | 是 | NULL | 简介 |
xiangqing | longtext | 是 | NULL | 详情 |
thumbsupnum | int(11) | 是 | 0 | 赞 |
crazilynum | int(11) | 是 | 0 | 踩 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
表4.6 学习资讯信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
title | varchar(200) | 否 | 标题 | |
introduction | longtext | 是 | NULL | 简介 |
picture | varchar(200) | 否 | 图片 | |
content | longtext | 否 | 内容 |
表4.7 收藏信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
userid | bigint(20) | 否 | 用户id | |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 | 收藏名称 | |
picture | varchar(200) | 否 | 收藏图片 |
表4.8 管理员信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
username | varchar(100) | 否 | 用户名 | |
password | varchar(100) | 否 | 密码 | |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.9 用户信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yonghuming | varchar(200) | 否 | 用户名 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 否 | 姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
nianling | int(11) | 是 | NULL | 年龄 |
shouji | varchar(200) | 是 | NULL | 手机 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
表4.10 知识分类信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
leibie | varchar(200) | 是 | NULL | 类别 |
fenlei | varchar(200) | 是 | NULL | 分类 |
5 系统功能
5.1 用户信息管理
管理员可以查询,修改,删除用户信息。下图就是用户信息管理页面。
图5.1 用户信息管理页面
5.2 知识分类管理
管理员可以对知识分类信息进行删除,查询和修改操作。下图就是知识分类管理页面。
图5.2知识分类信息管理页面
5.3 课外知识管理
管理员可以对课外知识进行添加,查询,修改,删除操作。下图就是课外知识管理页面。
图5.3 课外知识管理页面
5.4 首页信息
用户可以在首页访问小学生课外知识学习网站方面信息,首页上面有导航栏,导航栏上面有课外知识,试卷列表,学习资讯,个人中心,后台管理等,点击导航栏课外知识可以看到很多信息,点击某个信息可以查看对应详情信息,用户登录后可以对小学生课外知识学习网站文章信息进行评论操作。下图就是首页信息页面。
图5.4 首页信息页面
6 系统测试
为了保证所开发出来的系统质量过关,让所开发出来的系统具备可靠性并能够投入运行使用,这就需要进行系统开发的最后一个关键步骤,那就是系统测试。可以说系统测试就是对系统开发前面的步骤,比如系统分析与设计等进行复查。尽管在程序开发期间,人们一直很注意避免系统出错,但这样还是会让很多的潜在的系统缺陷不容易被人们肉眼察觉,只有经过反复不断地测试才能及时暴露系统的运行问题,这个时候进行系统问题的纠正就能真正避免财产损失,截止到目前,市面上还没有从根本上解决开发出的程序的正确性证明。所以发现系统的错误以及缺陷的重要手段还是要依赖于系统测试。
6.1 本系统测试
本系统的测试结合了计算机的软件以及硬件系统,对程序的全部功能,还有程序的运行稳定性等性能上进行了测试,测试过程中也再次对程序配套数据库的连接问题进行了系统化地测试操作。接下来就选取系统的一些功能进行测试演示。
6.1.1登录功能测试
程序的登录界面实际上就是为了系统的安全,需要验证用户的身份信息而进行设置的,用户的身份信息就是依靠自己的账号,还有登录密码信息进行验证。用户的登录信息有一个存在问题,系统就会一直停在登录界面,并给出错误原因的提示。表6.1 就是登录功能测试的数据。
表6.1 登录功能测试的数据
用户名 | 密码 | 角色 | 结果 |
aaa | bbb | 管理员角色 | 失败登录 |
bbb | aaa | 管理员角色 | 失败登录 |
aaa | aaa | 管理员角色 | 成功登录 |
6.1.2修改密码功能测试
修改密码其实就是害怕用户的密码信息遭到泄露,导致系统的安全系数下降,因此,就要要求用户每个月修改一次密码。表6.2就是修改密码功能测试数据。
表6.2 修改密码功能测试数据
旧密码 | 新密码 | 结果 |
aaa | 修改失败 | |
bbb | ccc | 修改失败 |
aaa | ccc | 修改成功 |
6.2测试结果分析
经过了程序开发的最后一个测试环节,对开发的程序软件小学生课外知识学习网站也下了定论,在测试期间程序的功能能够跟最开始的用户需求文档保持一致性,程序的界面设计以及数据库设计也都是参照用户的需求完成设计的。另外,程序开发也充分解决了系统的升级以及长时间保持稳定运行的问题,说明该程序软件还是挺可靠的,进行验收上交也是达标的。总的说来,截止到目前,该小学生课外知识学习网站功能可靠,有着简单的操作流程,能够从一定程度上解决数据信息操作方面出现的各种问题。
7 总结
开发小学生课外知识学习网站是作为毕设作品进行设计的,这个毕设作品是我在校进行知识学习的一个毕业考核项目,也是检验我通过网络工具,图书工具等学习工具进行自学的能力水平,让我在根据程序开发的需求分析初步完成程序功能之外,还接触了程序的测试过程,了解程序测试的具体的过程,以及遇到问题怎么去寻找相应的解决办法等等,毕业作品的制作以及设计才是学校对我真正的考验。
在程序软件没能进行开发之前,我去了学校的图书馆借了有关数据库操作的书籍,在查看了sqlserver和MySQL两种数据库的相关知识之后,我最后选择了我比较熟悉的MySQL数据库。在编程语言的抉择上,由于自己之前接触过Java程序的开发,所以为了让我尽快在短时间内完成程序制作,我确定用Java编程语言进行程序编程。另外我从百度上下载了很多的有关信息增加,信息删除等操作的源代码,并通过不断调试以及完成配套的数据库的设计,开始完成程序的各个部分的功能。每当我粗心大意,致使我深陷程序开发困扰不能自拔之时,值得庆幸的是,我就会得到老师,还有我的寝室同学的耐心指导。
历经长达几个月的毕业作品制作,我凭借自己的知识技能,还有大家的指导帮助,能够在学校规定的时间段之内提交毕业作品。虽然已经算是完成了毕业作品,但是付出了这么多心血,还是想把这个作品做得更加完美一点。针对我的毕业作品小学生课外知识学习网站,我觉得还有很多方面需要完善,第一就是界面上需要细微调整,比如色彩搭配有点违背广众的审美,需要细微调整,还有系统里面的字体大小也需要调大一点,太小的字体看起来有些费眼。然后在程序的功能上因为自己的入门开发水平的影响,所以目前只能做到这个境界,这个系统相比其他类似系统来说功能很简单,逻辑结构设计得也比较合理。
自己一个人完成程序的开发,我不仅亲自体验了程序的开发流程,体验到了程序开发的各种不易。这种体验也还加深了我对知识的尊重。学海无涯,知识不是大学短短四年就能学完的,在大学学到的知识在最终经历检验时,才会深深地明白自己的知识积累原来还很浅薄。所以今后不管身在何处,自己的学习心态一定要时刻体现出来,要深刻明白知识学到手里就是自己的。同时,自己也不必过多抱怨学到的知识没有用处,相信学到的知识总会有派上用处的那天。不要等到需要用时再去学习知识,那样就会导致自己错失很多本该属于自己的机遇。