欢迎光临散文网 会员登陆 & 注册

【开题报告】基于java的诗词学习系统设计与实现

2022-07-19 17:05 作者:趣毕业  | 我要投稿

1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写

2000字左右的文献综述

文 献 综 述

1.课题的研究背景及意义

诗词是中华民族的文化瑰宝,自古以来就是中国社会不可或缺的角色。自《诗经》起,古人借诗词抒发情感,不仅帮助其自身或得社会认可,更为后人研究史学提供依据;到了当代,从出生起,人生的每一步路上都有诗词的身影,教育考试、日常生活、国家政策都有诗词的出现。学好诗词是每一个现代人的必备技能。

2016年,习近平总书记在庆祝中国共产党成立95周年大会上明确提出:中国共产党人“坚持不忘初心、继续前进”,就要坚持“四个自信”,即“道路自信、理论自信、制度自信、文化自信”。诗词是中国传统文化的缩影,坚定文化自信需要我们学习诗词。同时,诗词也在领导人讲话中频频出现,学好诗词才能更好的理解国家政策。

在国家政策的推动下,如今社会已经形成了良好的学习诗词的社会风尚。近年,有关诗词的综艺节目层出不穷,《中国诗词大会》、《中国好诗词》等节目在展现诗词魅力、深挖诗词文化的同时也在社会上掀起了一阵学习诗词的热情,引导更多人热爱诗词、学习诗词。

随着人们学习诗词的热情不断提高,各类诗词集、诗词网站不断出现,进而出现了死背书、背死书的刻板学习方式以及诗词文化不便交流的情况发生,这加大了学习诗词的难度,也削减了人们的学习热情。人们需要一个可以自由交流并且能够促进是诗词学习的系统出现。

本课题以学习研究为目的,基于java语言,设计并实现一个诗词学习系统,主要致力于服务用户的诗词学习和诗词交流。不同于一般的诗词网站,仅提供诗词信息,本系统创新答题式学习,让用户在不断答题中学习诗词。同时,本系统提供在线交流功能,用户可以自由探讨、研究诗词。

2.国内外研究及发展现状

社会在发展,经济在进步,在科技日新月异的今天,人们的学习方式和学习方法也在发生改变。生活琐事、工作压力的重担使得人们只能抽出一杯咖啡的时间来进行碎片化学习;同时,生活节奏的加快,让人们需要更快速的搜索引擎、搜索网站来进行学习;而由于人们的生活习惯使然以及新冠疫情的影响,人们更愿意在网上进行学习交流。由此可见,在信息时代下,利用互联网进行学习交流是社会发展的必然趋势。在国内外的网络上有不少学习网站类似于Coursera、网易云课堂、学堂在线等,但是致力于诗词的学习的系统几乎没有,只有一些提供诗词搜索或诗词赏析的网站。

从系统角度出发,java技术经过长期发展,技术成熟、功能强大,其简明严谨的结构和简洁的语法编写为系统的创建、维护提供了保障。目前很多Android应用、大数据软件、网站系统等都需要使用java技术。


2.1  国外java技术研究现状

Java平台和语言最开始只是SUN公司在1990年12月开始研究的一个内部项目。SUN公司组织了“Stealth 计划”,即后来的 “Green计划”,计划研究代智能家电的程序设计。团队最初考虑使用C 语言,但是团队成员发现C语言存在一些问题。高斯林通过修改和扩展C 的功能创造出一种全新的语言: “Oak”(橡树)。

 JAVA应用1994年6、7月间,在经历了一场历时三天的头脑风暴的讨论之后,约翰·盖吉、詹姆斯·高斯林、比尔·乔伊、帕特里克·诺顿、韦恩·罗斯因和埃里克·斯库米决定将该技术应用于万维网。帕特里克·诺顿写了一个小型万维网浏览器,WebRunner,后来改名为HotJava。同年,Oak改名为Java。

 1994年10月,HotJava和Java平台为公司高层进行演示。1994年,Java 1.0a版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年5月23日SunWorld大会上进行的。SUN公司的科学指导约翰·盖吉宣告Java技术。这个发布是与网景公司的执行副总裁马克·安德森的惊人发布一起进行的,宣布网景将在其浏览器中包含对Java的支持。1996年1月,升阳公司成立了Java业务集团,专门开发Java技术。 

1996年1月,Sun公司发布了Java的第一个开发工具包,这标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时编译器。

1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。

1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机  。

2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了苹果公司Mac OS X的工业标准的支持。2001年9月24日,J2EE1.3发布。2002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字支持、全新的I/OAPI、正则表达式、日志与断言。2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0,代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。

2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。

2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改 。

2.2  国内java技术研究现状

2003年,Sun与中国联通和北京振戎融通公司(ZRRT)结成了技术联盟,在中国这一全球最大的移动手机市场中,以 UniJa品牌进一步开发和促进基于Java技术的无线应用与服务。中国领先的移动手机制造商TCL通信公司也已取得了Java 2平台移动版的许可,使中国移动用户得以使用基于Java技术的新型TCL手机。

2016年杨芳菊认为,我国的Java技术的应用相对来说还是比较落后:开发者数量不足,我国的Java技术开发人员仅占全国的4.44%不到;在Java的开发内容及范畴方面有所欠缺,特别是在可以完全展现Java特征的跨平台和多线程范畴;在Java的人才培养及相关的宣传力度方面有待提高。总的来说,Java在我国的发展空间还是足够大的,并且,Java将在中国标准体系和安全体系架构等各大方面发挥着重要的作用。

2018年倪文川提出Java技术作为其中常用的一种有效技术,可以利用Java技术将编程语言中使用的函数进行规范凹、标准处理,还可以将相关变量进行有效控制,从而加强程序的运行安全性与稳定性、移植性。使用Java技术对程序进行编写可以加强Web应用模型研发过程的便利性与技术性,之后界面设计师需要将界面进行美化处理,从而使界面更加完善。

2.3  java技术发展趋势

集成化发展:Java运行平台正在不断地向集成化的方向发展,这在JVM当中不仅会对Java的运行平台起到一定的支持作用,而且还将能给予那些新的脚本语言一定的支持。对于未来的软件而言,它的发展前景是趋于大集成化和大整合的,并且Java的发展已经在其中抓住了未来软件发展的方向。

桌面应用系统前景大:Java的运行平台正在不断地向集成化的方向发展,这在JVM当中不仅会对Java的运行平台起到一定的支持作用,而且还将能给予那些新的脚本语言一定的支持。对于未来的软件而言,它的发展前景是趋于大集成化和大整合的,并且Java的发展已经在其中抓住了未来软件发展的方向。

发展多线程机制:Java具备多线程并行执行的特征,而Java开发者如果很好地利用这一特征,就可以使并发编程的重要性更加能够展现出来,可以使Java的多线并行执行能力得到更好的提升。另外,计算机互联网时代背景下,随着硬件的逐步发展,还将带动着软件逐渐的发展。

3.对课题的研究启发

在充分调研了Java开发技术的发展,本项目主要包括两部分:诗词学习系统(前台)及后台管理系统。诗词学习系统前端采用HTML、JS、CSS、Jquery技术结合开发,后端使用Java语言结合SpringBoot、Mybatis-Plus、Shiro、Redis框架开发。

在具体的开发过程中,对于项目实现的具体细节方面,需要严格遵守系统开发过程中的管理流程,做好各个方面的配置及文档记录,保证各个模块之间的协调及稳定性,并进行全面的测试及完善,确保系统的功能。

[1]齐宁.关于JAVA 技术的现状和发展方向研究[ J ].山东工业技术,2015(23):123.

[2]杨芳菊.我国Java 技术应用的现状分析[ J ].数字技术与应用,2016(11):240.

[3]田雪英,王泽宇.Java 技术应用及发展研究[ J ].教师,2016(16):68,

[4]倪文川.基于Java技术Web应用模型的研发与分析.名城绘,2018(12):0198-0198.

[5]杨锦程.JAVA技术发展与应用分析[J].数字技术与应用,2017(04):229.

[6]蔡进. 面向中小学生的古诗词学习系统的设计与实现[D].中央民族大学,2020.

7]Che-Chern Lin,Zi-Cheng Liu,Chih-Lin Chang,Yu-Wen Lin. A Genetic Algorithm-Based Personalized Remedial Learning System for Learning Object-Oriented Concepts of Java.[J]. IEEE Trans. Education,2019,62(4).

[8]. Harnessing Artificial Intelligence to Improve the Quality of Answers in Online Question-answering Health Forums[J]. Journal of Management Information Systems,2020,37(4).

[9]Yoo Jung Sang,Lee Myeong Ho. Design of Enterprise System Platform based on Spring Data JPA in Spring Framework Environment[J]. Journal of Convergence for Information Technology,2019,9(12).

[10]H Aliyah,Aliyah H,Kusmayadi T A,Fitriana L. Interactive learning media based on MySQL technology in mathematics[J]. Journal of physics. Conference series,2020,1613(1).

[11]Benymol Jose,Sajimon Abraham. Performance analysis of NoSQL and relational databases with MongoDB and MySQL[J]. Materials Today: Proceedings,2020,24(Pt 3).

[12]Haifeng Fan. Research on Network Security System Detection Based on Mysql[A]. Institute of Management Science and Industrial Engineering.Proceedings of 2019 International Conference on Information Science,Medical and Health Informatics(ISMHI 2019)[C].Institute of Management Science and Industrial Engineering:计算机科学与电子技术国际学会(Computer Science and Electronic Technology International Society),2019:5.

[13]. Engineering - Software Engineering; Researchers' Work from Delft University of Technology Focuses on Software Engineering (The Adoption of Javascript Linters In Practice: a Case Study On Eslint)[J]. Computers Networks & Communications,2020.


2.本课题要研究或解决的问题和拟采用的研究手段(途径)

1. 本课题要研究或解决的问题

本课题将设计并实现一个能够提供答题式学习与交流的诗词学习系统,需要解决的问题主要有:

1.1  权限角色设计

本课题设计的系统将对系统用户角色的权限进行区分,让不同角色有不同的权限,确保系统用户隐私安全及系统数据安全。本系统角色分为游客角色、用户角色、管理员角色。游客角色仅可以进行查询诗词信息和浏览帖子信息操作。

1.2  用户权限模块设计

用户登录系统后可以以用户角色进行功能操作,包括:查询诗词信息、在线答题、发帖讨论、修改信息等。

1.3  管理员权限模块设计

管理员登录系统可以以管理员角色进行功能操作,包括:查询诗词信息、管理诗词信息、管理试题信息、管理用户信息、管理帖子信息、管理评论信息、修改自身信息等。

1.4  交互设计

本课题致力于让系统更加简洁易用,努力让用户有效且愉悦的学习诗词。界面设计注重视觉感与使用感,为用户提供更加简便的操作体验。

2.拟采用的方案

2.1  总体设计

系统整体采用MVC的设计模式:

M(Model)模型层:是应用程序中用于处理应用程序数据逻辑的部分。模型对象负责在数据库中存取数据。

V(View)视图层:是应用程序中处理数据显示的部分。视图是依据模型数据创建的。

C(Controller)控制层:是应用程序中处理用户交互的部分。控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

系统的整体架构分为以下四个层次:

表现层(View):就java而言主要是jsp,html等视图层技术,其中有javascript,jquery以及extjs等。

控制层(Controller):利用strust2标签功能实现action与视图层的数据交互,也可以使用ajax技术实现。

业务逻辑层(Service):利用spring的依赖注入实现对业务逻辑类和dao类的实例托管,当然各类的实例都可以托管在spring中进行统一管理和关联,包括事务,数据源。

持久层(Data Access Object):利用mybatis提供的半自动化对象关系映射的实现,开发人员可以根据需要编写具体的sql语句,通过相应的xml的配置实现对数据库的操作。

诗词学习系统的数据库使用MySQL数据库管理系统进行设计与创建。

数据库名称:poem_system

数据库约定:为减少在数据库中查找表的时间,在创建表前需对表的命名、数据的命名进行规范,命名要求全英文,确保了命名的规范性。

2.2  权限角色设计

用户依据不同角色身份登录,不同角色有不同权限。用户角色可以进行自主意识的操作,包括查询诗词信息、在线答题、发帖讨论、修改信息等;管理员角色的权限范围更大,可以对诗词、试题、用户、帖子、评论信息进行管理。

session被称为会话,由于HTTP协议是一种无状态协议,也就是当一个客户向服务器发出请求时,服务器接受请求并返回响应后,该连接结束,而服务器并不保存相关的信息。所以HTTP提供了session。通过session可以在应用程序的web页间进行跳转,并保存用户的状态,使会话存在下去,直到关闭浏览器。

权限角色设计拟通过session来实现。在定义包装用户信息类后,使用过滤器,拦截通用请求、登录请求之外的所有请求。过滤器进行判断session包装用户信息类是否存在、是否登录,如果有且有效则跳转对应页面,无则跳转登录页面。登录完成在session中写入用户的具体信息,包括登录状况和授权信息。

权限菜单的控制体现在入口,入口在前端显示的可操作菜单中只会有用户被授权的部分。利用z-tree类似组件取得用户权限和所有菜单的交集。

2.3  用户权限模块设计

用户登录系统登录界面,选择是否有账号,无账号选择是否注册账号,否结束,是输入账号名及账号密码,输入格式是否正确,否选择是否重新输入,否结束,是重新输入,注册完成登录账号,输入账号密码,输入错误,选择是否重新输入,否结束,是重新输入,输入正确登录系统,登录后选择功能,操作功能,结束。图1是诗词学习系统用户登录活动图。

图1 诗词学习系统用户登录活动图


用户角色登入系统后可选择如下操作:查询诗词、在线答题、交流讨论、我的主页、退出系统,我的主页包括修改信息、更改密码、考试记录、我的发帖。用户权限模块设计图如图2所示。

图2 用户权限模块设计图


诗词查询:用户通过输入关键词查询诗词信息

在线答题:随机从试题库中抽取试题,通过MySQL随机查询实现。

交流讨论:用户发布帖子,其它用户可在帖子下回帖,实现用户将的交流讨论。

我的主页:用户在本模块可以查看个人信息、更改密码、查看试题考试记录、查看个人发帖。

2.4  管理员权限模块设计

管理员角色登录统后可选择如下操作:管理诗词信息、管理试题信息、管理用户信息、管理帖子信息、管理评论信息、修改信息、退出登录。管理员权限模块设计图如图3所示。

图3 管理员权限模块设计图


管理诗词信息:管理员在此模块中添加诗词信息、删除诗词信息、修改诗词信息、查找诗词信息。管理员必须保证输入信息格式正确,否则数据无法记录。图4是管理员诗词管理活动图。

图4  管理员诗词管理活动图


诗词信息数据表设计包括属性诗词编号、诗词标题、诗词内容、诗词译文、诗词作者、诗词作者朝代。诗词信息需要管理员从系统界面进行录入,形成记录保存到数据库中,管理员不可以直接对数据库进行新增,同样,管理员仅可通过系统对数据库中的信息进行更新,不可直接对数据库信息进行操作。

在诗词信息表中,诗词编号为主键。诗词信息表如表1所示

表1 诗词信息表



管理试题信息:管理员在此模块中添加试题信息、删除试题信息、修改试题信息、查找试题信息。管理员必须保证输入信息格式正确,否则数据无法记录。图5是管理员试题管理活动图。

图5  管理员试题管理活动图

编号、试题标题、试题类型、试题选项A、试题选项B、试题选项C、试题选项D、试题答案、试题创建时间、试题更新时间、试题积分。试题信息需要管理员从系统界面进行录入,形成记录保存到数据库中,管理员不可以直接对数据库进行新增,同样,管理员仅可通过系统对数据库中的信息进行更新,不可直接对数据库信息进行操作。

在试题信息表中,试题编号为主键。试题信息表如表2所示

表2 试题信息表

必须保证输入信息格式正确,否则数据无法查找。图6是管理员用户管理活动图。

图6  管理员用户管理活动图


用户信息数据表设计包括属性用户编号、用户名、用户姓名、用户密码、用户QQ、用户手机、用户邮箱、用户描述、用户头像、用户状态、用户等级、用户创建时间、用户更新时间、用户身份。用户信息需要用户从系统界面进行录入,形成记录保存到数据库中,管理员不可以对用户信息表进行修改。

在用户信息表中,用户编号为主键。用户信息表如表3所示

表3 用户信息表

必须保证输入信息格式正确,否则数据无法查找。图7是管理员帖子管理活动图。

图7  管理员帖子管理活动图


帖子信息数据表设计包括属性帖子编号、帖子标题、帖子作者名、帖子内容、帖子创建时间、帖子更新时间、帖子最后回复、帖子回复数量。帖子信息需要用户从系统界面进行录入,形成记录保存到数据库中,管理员不可以对帖子信息表进行新增或修改。

在帖子信息表中,帖子编号为主键。帖子信息表如表4所示

表4 帖子信息表

必须保证输入信息格式正确,否则数据无法查找。图8是管理员评论管理活动图。

图8  管理员评论管理活动图


评论信息数据表设计包括属性评论编号、评论用户编号、评论帖子编号、评论内容、评论创建时间。评论信息需要用户从系统界面进行录入,形成记录保存到数据库中,管理员不可以对评论信息表进行新增或修改。

在评论信息表中,评论编号为主键。评论信息表如表5所示

表5 评论信息表

:管理员在本模块修改个人信息、更改密码。

2.5  交互设计

在进行交互设计时要注重系统的有效性与美观性,人性化的设计系统。在设计时多学习其它类似学习系统的界面设计,结合诗词的特性,设计符合系统的界面。也要遵循以下界面设计的原则。

可用性原则:系统各功能必须是用户可以理解的功能;系统不能过于复杂,不能将信息隐藏,交互元素必须可以被用户控制;系统的交互流程以及功能的执行流程必须可以被用户控制。

一致性原则:不同组成部分之间的交互设计目标需要一致;交互元素的外观往往影响用户的交互效果,所以交互元素外观需要一致;在交互模型中,不同类型的元素用户触发其对应的行为事件后,其交互行为需要一致。

引导性原则:软件是用户的工具。因此应该由用户来操作和控制软件。软件响应用户的动作和设定的规则。对于用户交互的结果和反馈,提示用户结果和反馈信息,引导用户进行用户需要的下一步操作。


【开题报告】基于java的诗词学习系统设计与实现的评论 (共 条)

分享到微博请遵守国家法律