基于ssm日语学习系统
摘 要
信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对日语学习等问题,对日语学习进行研究分析,然后开发设计出日语学习系统以解决问题。
日语学习系统主要功能模块包括首页、站点管理(友情链接、轮播图、广告、公告栏)用户管理(管理员)、内容管理(文章、文章类型)、更多管理(用户注册、视频中心、音频中心、试题中心、试题评分、答题得分、文化咨询、咨询回复),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用ssm框架、JSP技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对日语学习系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现日语学习系统和部署运行使用它。
关键词:日语学习;SSM;MySQL数据库
Japanese learning system based on SSM
Abstract
In the information society, there is a need for targeted information access, but the expansion of access is basically the direction of people's efforts. Due to the deviation of the perspective, people can often obtain different types of information, which is also the most difficult subject for technology to overcome. Aiming at the problems of Japanese learning, this paper studies and analyzes Japanese learning, and then develops and designs a Japanese learning system to solve the problems.
The main functional modules of the Japanese learning system include home page, site management (friendship link, rotation chart, advertisement, bulletin board), user management (administrator), content management (article, article type), more management (user registration, video center, audio center, test center, test score, answer score, cultural consultation, consultation reply), The object-oriented development mode is adopted for software development and hardware erection, which can well meet the needs of actual use, improve the corresponding software erection and program coding, take MySQL as the main storage unit of background data, use SSM framework, JSP technology and Ajax technology for business system coding and development, and realize all the functions of the system. This report first analyzes the background, function and significance of the research, which lays a foundation for the rationality of the research work. This paper analyzes the various requirements and technical problems of the Japanese learning system, proves the necessity and technical feasibility of the system, then makes a basic introduction to the technical software and design idea needed to design the system, and finally realizes the Japanese learning system and deploys it.
Key words:Japanese learning; SSM; Mysql database
目 录
第1章 绪论 1
1.1 研究背景与意义 1
1.2 开发现状 1
1.3 研究方法 1
第2章 相关技术介绍 3
2.1 HTTP协议 3
2.2 Java语言与JDK开发环境 3
2.3 SSM框架 3
2.4 Vue.js主要功能 4
2.5 MySQL数据库 4
第3章 系统分析 5
3.1 可行性分析 5
3.2 功能需求分析 5
3.3 非功能需求分析 6
3.4 安全性需求分析 7
3.4.1 系统的安全性 7
3.4.2 数据的安全性 7
3.5 数据流程分析 8
第4章 系统设计 9
4.1 系统架构设计 9
4.2 系统总体设计 9
4.3 系统功能设计 10
4.4 数据库表设计 12
第5章 系统实现 21
第6章 系统测试 27
6.1 测试目的 27
6.2 功能测试 27
6.3 性能测试 28
第7章 总结与展望 30
参考文献 31
致谢 32
在线学习不同于以往的传统学习方式,能满足学生个性化学习的需求,提供学生更加自由的学习空间,学生可以根据自己选择的方式去学习,不断提高学习效率从而将被动的学习变成主动的接受。通过在线学习为学生提供丰富的学习资源,和书籍无法比拟的信息环境。由于知识本身是需要即时更新的,掌握知识的人的知识也是需要即时更新的,从而使学习成为一个贯穿终身的持续性的活动。在当今社会,为适应市场经济的运行要求,人们必须适应资源社会化、配置市场化和使用价值化的要求,"创新人才是资本"成为一种基本的观念,新知识、新技术在当今社会环境中扩散速度很快,快速的扩散必然导致对知识、技术的更新要求也加快,从而又促使新的东西产生。由于知识的更新速度的加快、半衰期的缩短,所以必须不断的为自己补充新的知识,接受新的信息,才能赶上社会的快速发展,西方学者认为,现代化的教育必须训练人们的创造力,能够适应迅速变化的工作环境,教育机构将根据社会的需要、学生的要求和本地的实际情况提供灵活多样的课程。日语学习系统实现了这方面的要求。
2012年起,美国顶尖大学也陆续设立了网络日语学习系统,MOOC(Massive Open Oniline Course,大规模开放网络课程)以教育“平台”方式在美国爆发,根据数据显示,美国高校学生的在线注册率已经从2011年的9.6%上升到了2012的30%左右。榆次同时,美国学术界对在线教育的态度也是不断转变。目前,在美国超过2800所大学中,有70%以上的学术领袖认为在线教育与面受教育效果一样或者更好。
而在国内,近几年随着科技水平的不断提高,在线教育被人接受的百分比也越来越高。各在线平台的注册率也是持上升形式。例如在过内较为有名的猿题库,新东方网校每年的注册率在不断上升。在江浙沪地区较为有名的e板会由于和学校合作,注册率也是持上升状态。
首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用Java平台来设计开发本系统,MySQL作为设计数据库的工具。即利用Java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出系统大致的功能模块。主要从方便系统用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。
超文本传输协议(HTTP)作为协作式与分布式的通信协议,其以万维网交换信息作为前提条件。HTTP为IEIF的国际化标准指标,在制定相关标准与实现内,W3C积极参与其中,同时发挥着不可替代的作用。其能够借助超文本标记语言,将文档在服务器与浏览器之间相互传输。HTML作为构架文档的标记语言,这些文档内将包括有关信息的链接,用户仅需要点击其中一个链接就能够访问多媒体对象与图像,同时获得该链接项所具有的附加信息。
Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群。
JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行。
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.6.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.6.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.6.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
-
- Vue.js 主要功能
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
-
- MySQL数据库
MySQL经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
针对本文中设计的日语学习系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对日语学习系统后台数据进行存储操作。
技术性方面,采用当前主流的SSM框架进行系统主体框架的搭建,使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。
实用性方面,本次设计的主要任务是在日语学习系统内视频中心、音频中心、试题中心、试题评分、答题得分、文化咨询、咨询回复新闻浏览等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。
经济性方面,由于本课题中设计的日语学习系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个日语学习系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。
日语学习系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览课程信息并对选中的教学资源进行学习操作。后台系统管理员根据需求进行友情链接、轮播图、广告、公告栏、视频中心、音频中心、试题中心、试题评分、答题得分、文化咨询、咨询回复进行处理。
学生用例图如下所示。
图3-1 学生用例图
管理员用例图如下所示。
图3-2 管理员用例图
首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对日语学习系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。
安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于日语学习系统来说,必须要有很好的安全性来保障整个系统。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
因此,在写入数据库时,要保证数据完整性、正确性和一致性。
对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。
系统顶层数据流图如下图所示。
图3-3 顶层数据流图
本日语学习系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
系统架构如下图所示。
图4-1 系统架构
日语学习系统总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
图4-2 系统功能结构图
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。
E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。
本系统图设计,如下图所示。
图4-3 系统ER图
-
- 系统功能设计
由于数据表较多,只展示系统主要数据表,如下表所示。
answer_score表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
answer_score_id | int | 11 | 否 | 主键 | 答题得分ID | |
test_title | varchar | 64 | 是 | 试题名称 | ||
answer_one | varchar | 64 | 是 | 答案一 | ||
answer_two | varchar | 64 | 是 | 答案二 | ||
answer_three | varchar | 64 | 是 | 答案三 | ||
score | varchar | 64 | 是 | 评分 | ||
comment | text | 0 | 是 | 评语 | ||
respondent | varchar | 64 | 是 | 答题人 | ||
topic_1 | varchar | 64 | 是 | 题目一 | ||
topic_2 | varchar | 64 | 是 | 题目二 | ||
topic_3 | varchar | 64 | 是 | 题目三 | ||
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
audio_zone表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
audio_zone_id | int | 11 | 否 | 主键 | 音频中心ID | |
title | varchar | 64 | 是 | 标题 | ||
number | varchar | 64 | 否 | 编号 | ||
cover | varchar | 255 | 是 | 封面 | ||
content | varchar | 255 | 是 | 内容 | ||
content_description | text | 0 | 是 | 内容描述 | ||
publisher | int | 11 | 是 | 发布人 | 0 | |
hits | int | 11 | 否 | 点击数 | 0 | |
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
auth表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
auth_id | int | 11 | 否 | 主键 | 授权ID | |
user_group | varchar | 64 | 是 | 用户组 | ||
mod_name | varchar | 64 | 是 | 模块名 | ||
table_name | varchar | 64 | 是 | 表名 | ||
page_title | varchar | 255 | 是 | 页面标题 | ||
path | varchar | 255 | 是 | 路由路径 | ||
position | varchar | 32 | 是 | 位置 | ||
mode | varchar | 32 | 否 | 跳转方式 | _blank' | |
add | tinyint | 1 | 否 | 是否可增加 | 1 | |
del | tinyint | 1 | 否 | 是否可删除 | 1 | |
set | tinyint | 1 | 否 | 是否可修改 | 1 | |
get | tinyint | 1 | 否 | 是否可查看 | 1 | |
field_add | varchar | 255 | 是 | 添加字段 | ||
field_set | varchar | 255 | 是 | 修改字段 | ||
field_get | varchar | 255 | 是 | 查询字段 | ||
table_nav_name | varchar | 255 | 是 | 跨表导航名称 | ||
table_nav | varchar | 255 | 是 | 跨表导航 | ||
option | text | 0 | 是 | 配置 | ||
create_time | timestamp | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
consultation_reply表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
consultation_reply_id | int | 11 | 否 | 主键 | 咨询回复ID | |
reply_content | varchar | 64 | 是 | 回复内容 | ||
title | varchar | 64 | 是 | 标题 | ||
consultation_content | varchar | 64 | 是 | 咨询内容 | ||
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
cultural_consultation表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
cultural_consultation_id | int | 11 | 否 | 主键 | 文化咨询ID | |
title | varchar | 64 | 是 | 标题 | ||
consultation_content | varchar | 64 | 是 | 咨询内容 | ||
consulting_users | int | 11 | 是 | 咨询用户 | 0 | |
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
slides表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
slides_id | int | 10 | 否 | 主键 | 轮播图ID | |
title | varchar | 64 | 是 | 标题 | ||
content | varchar | 255 | 是 | 内容 | ||
url | varchar | 255 | 是 | 链接 | ||
img | varchar | 255 | 是 | 轮播图 | ||
hits | int | 10 | 否 | 点击量 | 0 | |
create_time | timestamp | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
test_center表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
test_center_id | int | 11 | 否 | 主键 | 试题中心ID | |
topic_2 | varchar | 64 | 是 | 题目二 | ||
topic_1 | varchar | 64 | 是 | 题目一 | ||
topic_3 | varchar | 64 | 是 | 题目三 | ||
question_no | varchar | 64 | 否 | 试题编号 | ||
test_title | varchar | 64 | 是 | 试题名称 | ||
cover | varchar | 255 | 是 | 封面 | ||
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
test_score表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
test_score_id | int | 11 | 否 | 主键 | 试题评分ID | |
test_title | varchar | 64 | 是 | 试题名称 | ||
topic_2 | varchar | 64 | 是 | 题目二 | ||
topic_3 | varchar | 64 | 是 | 题目三 | ||
topic_1 | varchar | 64 | 是 | 题目一 | ||
answer_one | varchar | 64 | 是 | 答案一 | ||
answer_two | varchar | 64 | 是 | 答案二 | ||
answer_three | varchar | 64 | 是 | 答案三 | ||
respondent | int | 11 | 是 | 答题人 | 0 | |
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
upload表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
upload_id | int | 11 | 否 | 主键 | 上传ID | |
name | varchar | 64 | 是 | 文件名 | ||
path | varchar | 255 | 是 | 访问路径 | ||
file | varchar | 255 | 是 | 文件路径 | ||
display | varchar | 255 | 是 | 显示顺序 | ||
father_id | int | 11 | 是 | 父级ID | 0 | |
dir | varchar | 255 | 是 | 文件夹 | ||
type | varchar | 32 | 是 | 文件类型 | ||
user表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
user_group | varchar | 32 | 是 | 所在用户组 | ||
login_time | timestamp | 0 | 否 | 上次登录时间 | CURRENT_TIMESTAMP | |
phone | varchar | 11 | 是 | 手机号码 | ||
phone_state | smallint | 1 | 否 | 手机认证 | 0 | |
username | varchar | 16 | 否 | 用户名 | ||
nickname | varchar | 16 | 是 | 昵称 | ||
password | varchar | 64 | 否 | 密码 | ||
| varchar | 64 | 是 | 邮箱 | ||
email_state | smallint | 1 | 否 | 邮箱认证 | 0 | |
avatar | varchar | 255 | 是 | 头像地址 | ||
create_time | timestamp | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
user_group表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
group_id | mediumint | 8 | 否 | 主键 | 用户组ID | |
display | smallint | 4 | 否 | 显示顺序 | 100 | |
name | varchar | 16 | 否 | 名称 | ||
description | varchar | 255 | 是 | 描述 | ||
source_table | varchar | 255 | 是 | 来源表 | ||
source_field | varchar | 255 | 是 | 来源字段 | ||
source_id | int | 10 | 否 | 来源ID | 0 | |
register | smallint | 1 | 是 | 注册位置 | 0 | |
create_time | timestamp | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
user_registration表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
user_registration_id | int | 11 | 否 | 主键 | 用户注册ID | |
gender | varchar | 64 | 是 | 性别 | ||
user_number | varchar | 64 | 否 | 用户编号 | ||
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
user_id | int | 11 | 否 | 用户ID | 0 | |
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP | |
video_zone表: | ||||||
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 | 备注 |
video_zone_id | int | 11 | 否 | 主键 | 视频中心ID | |
title | varchar | 64 | 是 | 标题 | ||
content | varchar | 255 | 是 | 内容 | ||
number | varchar | 64 | 否 | 编号 | ||
cover | varchar | 255 | 是 | 封面 | ||
publisher | int | 11 | 是 | 发布人 | 0 | |
hits | int | 11 | 否 | 点击数 | 0 | |
examine_state | varchar | 16 | 否 | 审核状态 | 已通过' | |
recommend | int | 11 | 否 | 智能推荐 | 0 | |
seat | varchar | 64 | 否 | 座位号 | ||
create_time | datetime | 0 | 否 | 创建时间 | CURRENT_TIMESTAMP | |
update_time | timestamp | 0 | 否 | 更新时间 | CURRENT_TIMESTAMP |
数据库访问层的实现
该系统是通过jdbc和MySQL达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。
jdbc.driverClass=com.MySQL.jdbc.Driver
jdbc.url=jdbc:MySQL://localhost:3306/tsi
jdbc.username=root
jdbc.password=123
第一个参数代表MySQL数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。
后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。
试题中心模块的实现
试题中心功能整体流程:用户试题中心信息时,同时会显示试题中心的状态,系统会在其显示详细信息的页面时便会判断试题中心的状态,若试题中心状态为可上交,则会显示上交的链接按钮。在用户点击上交按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写上交信息的页面,填写好上交信息之后,点击提交按钮,上交成功之后返回提示信息,告知用户上交成功。
试题中心流程图如下图所示。
图5-1试题中心流流程图
试题中心界面如下图所示。
图5-2试题中心界面
视频中心模块的实现
视频中心模块,管理员根据需要添加标题、编号、发布人添加视频,并可根据需要删除或者修改视频信息。
图5-3视频中心界面图
音频中心管理模块的实现
根据需求,需要对音频中心进行添加、删除或修改音频详情信息。删除或修改音频资源时,系统根据课程资源的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询课程资源状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。
音频中心管理流程图如下图所示。
图5-4音频中心界面图
试题中心管理模块的实现
管理员输入试题编号、试题名称、题目、封面提交。根据需要对试题中心进行添加、删除或修改试题详情信息。
图5-5试题中心管理界面
用户注册
系统首页,用户点击注册界面,输入账号、密码、邮箱、手机号码、身份等信息完成注册。
图5-6用户注册界面图
用户首页公告展示
用户登录系统后,系统公告栏可展示最新公告
图5-7系统公告栏界面图
视频中心模块的实现
图5-8视频中心界面图
试题中心模块的实现
图5-9试题中心界面图
对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。
下表是试题管理功能的测试用例,检测了试题管理中对试题信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;用户登录系统。
表6-1 试题管理的测试用例
功能描述 | 用于试题管理 | |
测试目的 | 检测试题管理时的各种操作的运行情况 | |
测试数据以及操作 | 预期结果 | 实际结果 |
点击添加试题,必填项合法输入,点击保存 | 提示添加成功 | 与预期结果一致 |
点击添加试题,必填项输入不合法,点击保存 | 提示必填项不能为空 | 与预期结果一致 |
点击修改试题,必填项修改为空,点击保存 | 提示必填项不能为空 | 与预期结果一致 |
点击修改试题,必填项输入不合法,点击保存 | 提示必填项不能为空 | 与预期结果一致 |
点击删除试题,选择试题删除 | 提示删除成功 | 与预期结果一致 |
点击搜索试题,输入存在的试题名 | 查找出试题 | 与预期结果一致 |
点击搜索试题,输入不存在的试题名 | 不显示试题 | 与预期结果一致 |
下表是试题管理功能的测试用例,检测了试卷管理中对试卷信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;用户登录系统。
表6-2 试题管理的测试用例
功能描述 | 用于试题管理 | |
测试目的 | 检测试题管理时的各种操作的运行情况 | |
测试数据以及操作 | 预期结果 | 实际结果 |
点击添加试题,必填项合法输入,点击保存 | 提示添加成功 | 与预期结果一致 |
点击添加试题,必填项输入不合法,点击保存 | 提示必填项不能为空 | 与预期结果一致 |
点击修改试题,必填项修改为空,点击保存 | 提示必填项不能为空 | 与预期结果一致 |
点击修改试题,必填项输入不合法,点击保存 | 提示必填项不能为空 | 与预期结果一致 |
点击删除试题,选择试卷删除 | 提示删除成功 | 与预期结果一致 |
点击搜索试题,输入存在的试题名 | 查找出试题 | 与预期结果一致 |
点击搜索试卷,输入不存在的试题名 | 不显示试题 | 与预期结果一致 |
下表是考试管理功能的测试用例,检测了考试管理中考试单的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;用户登录系统。
表6-3 考试管理的测试用例
功能描述 | 用于考试管理 | |
测试目的 | 检测考试管理时各种操作的情况 | |
测试数据以及操作 | 预期结果 | 实际结果 |
未答题,点击试卷提交 | 考试成绩为0分 | 与预期结果一致 |
在考试时间到,用户未答完题 | 试卷自动提交 | 与预期结果一致 |
答完题,并提交考卷 | 自动计算出考试成绩 | 与预期结果一致 |
使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。
压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。
本系统通过对java和Mysql数据库的简介,从硬件和软件两反面说明了日语学习系统的可行性,本文结论及研究成果如下:实现了java与Mysql相结合构建的日语学习系统,网站可以响应式展示。通过本次日语学习系统的研究与实现,我感到学海无涯,学习是没有终点的,而且实践出真知,只有多动手才能尽快掌握它,经验对系统的开发非常重要,经验不足,就难免会有许多考虑不周之处。比如要有美观的界面,更完善的功能,才能吸引更多的用户。
由于在此之前对于java知识没有深入了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过在网上寻找有关资料以及同学的帮助下最后都得到了解决,在此过程中,我不仅学到了很多知识,也提高了自己解决问题的能力,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。
通过这次日语学习系统的开发,我参考了很多相关系统的例子,取长补短,吸取了其他系统的长处,逐步对该系统进行了完善,但是该系统还是有很多的不足之处,有待以后进一步学习。
实践证明,日语学习系统有着非常好的发展前景,经过测试运行,系统各项功能都十分完善,界面漂亮,使用方便,操作容易,在技术理论上已经成熟。
参考文献
[1]邓榕.OBE理念下的基础日语教学改革探索[J].产业与科技论坛,2021,20(23):139-140.
[2]张鹏,朱虹,张北镇.不同二语水平学习者对日语形态复杂词的提取模式研究[J/OL].现代外语:1-12[2021-12-13].http://kns.cnki.net/kcms/detail/44.1165.H.20211122.1742.004.html.
[3]初子墨.跨文化视域下的高校日语教学策略探讨核心思路分析[J].山西青年,2021(22):49-50.
[4]王辰宁.多媒体立体语境下初级日语语法教学实践研究[J].科教文汇(中旬刊),2021(11):186-192.DOI:10.16871/j.cnki.kjwhb.2021.11.059.
[5]郭婷婷.基于语料库的日语副词研究[J].品位·经典,2021(21):70-72.
[6]张文,方巍,贾雪磊.基于SSM框架的合租系统设计与实现[J].计算机技术与发展,2021,31(11):159-164.
[7]汪南雁,金荣,中野遼子.浅析高级日语学习者的长短音问题[J].中国多媒体与网络教学学报(上旬刊),2021(11):211-213.
[8]张倩荻.文化差异视角下高校日语教学中学生跨文化交际能力培养——评《日语会话教程》[J].热带作物学报,2021,42(10):3116.
[9]张丽虹.基于事件典型性的日语学习者移动路径构式习得研究[J].日语学习与研究,2021(05):40-49.DOI:10.13508/j.cnki.jsr.2021.05.004.
[10]王升远,修刚,王忻,张威,李运博,毋育新,孙颖,毛文伟,郑咏滟.中国的日语语言研究:困境、挑战与前景[J].日语学习与研究,2021(05):1-20.DOI:10.13508/j.cnki.jsr.2021.05.001.
[11]熊琴.探讨高校日语课堂教学中应用CALL教学模式的研究策略[J].山西青年,2021(20):44-45.
[12]林晓飞.浅析高中日语高效教学的策略[J].天天爱科学(教学研究),2021(10):19-20.
[13]刘茜颖,张艳红.基于SSM的线上教育系统设计与实现[J].电脑编程技巧与维护,2021(10):45-46+59.DOI:10.16184/j.cnki.comprg.2021.10.017.
[14]董婉婷.结构视角的日语拟声拟态语分析[J].现代交际,2021(19):103-105.
[15]郭圣琳.关于日语「と」条件句和「ないと」条件句的习得及导入方法[J].科学咨询(教育科研),2021(10):32-34.
[16]何鱼,陈娟.外语类高校学生在线学习成效与需求调查及分析——以湖南省部分本科院校日语专业学生为例[J].中国多媒体与网络教学学报(上旬刊),2021(10):13-15.
[17]张华.基于中日文化差异的现代日语教学研究——评《盒之味:日本饮食文化的礼仪之道》[J].食品安全质量检测学报,2021,12(18):7491-7492.DOI:10.19812/j.cnki.jfsq11-5956/ts.2021.18.056.
[18]齐金玲.JF日语教育标准下大学生日语学习能力培养研究[J].教师,2021(27):52-53.
[19]Grove Linda. Current Trends in Japanese Studies of “Modern and Contemporary Chinese History”[J]. Chinese Republican Studies Newsletter,2021,4(2):
[20]Sonja Ganseforth,Hanno Jentzsch. Rethinking Locality in Japan[M].Taylor and Francis:2021-04-07.
致谢
本次设计历时3个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另1个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。
经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。
最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。
免费领取项目源码,请关注点赞+私聊