由于篇幅限制,想要获取完整文章或者源码,拉到文章底部即可
摘要
1 绪论
1.1 研究背景
1.2 研究意义
1.3国内外研究现状
1.3论文结构与章节安排
2 社区图书馆数字资源系统系统分析
2.1 可行性分析
2.1.1 技术可行性分析
2.1.2 经济可行性分析
2.1.3 操作可行性分析
2.2 系统功能分析
2.2.1 功能性分析
2.2.2 非功能性分析
2.3 系统用例分析
3.4本章小结
3 社区图书馆数字资源系统总体设计
3.1 系统模块设计
3.2 数据库设计
3.2.1 数据库概念结构设计
3.2.2 数据库逻辑结构设计
3.4本章小结
4 社区图书馆数字资源系统详细设计与实现
4.1用户功能模块
4.1.1 前台首页界面
4.1.2 用户注册界面
4.1.3 会员登录界面
4.1.4图书资讯界面
4.1.5 热门书籍界面
4.1.6我的账户界面
4.1.7个人中心界面
4.2管理员功能模块
4.2.1 系统用户界面
4.2.2 热门书籍管理界面
4.2.3 书籍借阅管理界面
4.2.3 书籍类型管理界面
4.2.4系统管理界面
4.2.5通知公告管理界面
4.2.6资源管理界面
5系统测试
5.1 系统测试用例
5.2 系统测试结果
结论
参考文献
致 谢
摘要
随着互联网的快速发展和普及,传统的图书馆逐渐面临数字时代的挑战。为了更好地满足用户的需求和提升图书馆的服务质量,社区图书馆逐渐兴起并与传统图书馆形成了良好的互补关系。网上购物变得越来越日常,出于对企业发展的考虑,诸多图书馆都希望搭建集阅览、交流和商城资源一体的响应式网站。我们找到更优的技术和方法,来降低网站的响应时间和做到提高系统高并发性性能,提升用户的使用体验,降低硬件需求度,能够使用更便宜的硬件进行部署,从而降低网站建设的成本。此社区图书馆数字资源系统的开发项目是基于HTML5,后端采用Springboot框架,数据使用的是MySQL,系统就论题的各类需求分析说明做出解释,然后再就系统的总体设计和详细设计做出论述,给出了系统总体结构的搭建方法,从而满足大部分社区图书馆的需求。
关键词:社区图书馆数字资源系统;HTML5;Springboot
Abstract
With the rapid development and popularization of the Inter***, traditional libraries are gradually facing the challenges of the digital age. In order to better meet the needs of users and improve the service quality of libraries, ***munity libraries have gradually emerged and formed a good ***plementary relationship with traditional libraries. Online shopping has be***e increasingly ***mon, and for the sake of business development, many libraries hope to build responsive websites that integrate reading, ***munication, and mall resources. We have found better technologies and methods to reduce website response time and improve system high concurrency performance, enhance user experience, reduce hardware requirements, and enable deployment with cheaper hardware, thereby reducing website construction costs. The development project of this ***munity library digital resource system is based on HTML5, with the backend using the Springboot framework and the data using MySQL. The system provides explanations for various requirements analysis of the topic, and then discusses the overall and detailed design of the system. The construction method of the system's overall structure is provided to meet the needs of most ***munity libraries.
Keywords: ***munity Library Digital Resource System; HTML5; Springboot
1 绪论
1.1 研究背景
现下大多数行业都在逐步的将电商信息化带入到自己企业中,其中主要是以电商服务为主导的互联网平台。通过互联网平台的赋能,能够给图书行业提供智能化的服务,在为用户提供实质性购买帮助的同时,提高自己图书的服务质量。所以图书馆数字资源系统更加符合时下图书行业的需求,更加能适应图书行业目前的竞争压力。社区图书馆更加注重社区居民的需求,提供更加多样化和便利的服务,包括借阅电子图书、在线阅读、线上购买图书等。该系统以“互联网+”服务为模式,在为用户提供在线阅览图书,购买图书服务的同时,可以帮助图书实现销量的突破,同样也可以为图书行业的智能化发展做出努力。
然而,当前大部分社区图书馆的数字资源系统存在一些问题。首先,部分社区图书馆的数字资源系统仍然采用传统的技术架构,难以满足大数据处理和高并发访问的需求。其次,用户体验较差,界面设计简单,功能有限。再者,社区图书馆的数字资源系统缺乏与其他图书馆系统的数据共享和交互,限制了用户的检索和借阅体验。
1.2 研究意义
基于HTML5的社区图书馆数字资源系统的设计与实现对于推动社区图书馆的数字化建设具有重要意义。对推进图书馆的数字化转型、促进社区参与与互动、提升资源利用效率以及推动技术与图书馆服务的创新应用等方面具有积极的影响。
(1)数字化转型:随着信息技术的快速发展,传统图书馆正面临数字化转型的需求。通过设计和实现基于HTML5的社区图书馆数字资源系统,可以推动图书馆向数字化转型,提供更便捷、高效的数字资源管理和服务。
(2)社区参与与互动:社区图书馆是社区文化建设的重要组成部分,通过数字资源系统的设计与实现,可以促进社区居民对图书馆的参与与互动,提升社区的文化氛围和凝聚力。
(3)资源共享与利用:社区图书馆数字资源系统可以提供多种类型的数字资源(如电子书籍、学术知识等),使用户能够方便地获取和利用这些资源。促进知识的共享与传播,提高社区居民的学习和研究能力。
(4)个性化服务:基于HTML5的数字资源系统可以根据用户的兴趣偏好和历史记录,提供个性化的资源推荐和搜索结果,提升用户体验和满意度。
(5)数据管理与分析:通过数字资源系统的设计与实现,可以建立起完善的资源管理和数据统计机制,为图书馆决策提供数据支持,优化资源配置和服务策略。
(6)技术创新与应用:基于HTML5的技术在移动端和跨平台应用方面具有优势,通过设计和实现数字资源系统,可以探索HTML5技术在图书馆领域的创新应用,推动技术与图书馆服务的融合发展。
1.3国内外研究现状
由于这几年来,计算机技术的逐日发展,在现代化的生活中,我们所需要的各种信息的处理操作都是通过使用计算机来完成的,有了计算机就可以方便的对各种信息进行查询和维护了。因此需要实现对图书资源管理的电子化,提高图书销售管理效能和销售效能。
在国内,许多高校和研究机构致力于基于HTML5的社区图书馆数字资源系统的研究。他们关注以下几个方面:首先,研究者们研究了HTML5在图书馆数字化服务中的应用,包括界面设计、数据管理、搜索技术等。其次,他们关注用户体验和个性化推荐,研究如何通过HTML5技术提供更好的用户体验和个性化的服务。此外,还有一些研究关注社交互动和合作功能的设计与实现,以促进用户之间的交流和知识共享。
在国外,许多国际知名图书馆和研究机构也进行了基于HTML5的社区图书馆数字资源系统的研究。他们关注以下几个方面:首先,他们探索了HTML5在移动设备上的应用,研究如何利用HTML5技术开发适配不同平台和设备的移动应用。其次,他们关注数据管理和检索技术的创新,以提供更高效、准确的资源搜索和访问功能。此外,还有一些研究关注用户体验评估和界面设计,研究如何提供更直观、易用的用户界面和功能。
总体来说,国内外对基于HTML5的社区图书馆数字资源系统的设计与实现都进行了深入研究。研究者们关注HTML5技术在图书馆数字化服务中的应用,包括界面设计、数据管理、搜索技术、个性化推荐、移动应用开发等方面。他们通过理论研究和实践探索,为图书馆数字资源系统的设计与实现提供了丰富的经验和创新思路。然而,仍然存在一些挑战和问题,如数据安全与隐私保护、用户体验优化等,需要进一步的研究和解决。
1.3论文结构与章节安排
本文共分为六章,章节内容安排如下:
第一章:引言。第一章主要介绍了课题研究的背景,国内目前相关研究现状以及本文的研究内容与主要工作。
第二章:系统需求分析。第而章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
第六章:总结。
2 社区图书馆数字资源系统系统分析
本章内容概括了社区图书馆数字资源系统的可行性分析、功能分析以及用例分析。
2.1 可行性分析
2.1.1 技术可行性分析
在分析了社区图书馆数字资源系统的真实需求后,将社区图书馆数字资源系统所需要的角色划分整理成了下图2-1和图2-2。
从开发工具来看,由于社区图书馆数字资源系统是基于HTML5开发的,因此当前市面上的开发工具都可以来开发,这些功能强大的开发工具可以给我来设计毕设带来非常大的方便。
从社区图书馆数字资源系统的本身技术来说,对于我来开发一个社区图书馆数字资源系统这个毕设是不费事的。社区图书馆数字资源系统的开发可以简单的分为前台模块、后台模块开发以及数据库开发。其中的大部分技术难点在我上学时已经使用过了,同时网络上很多技术点可以让我来借鉴。系统使用Java语言开发,后台采用Springboot框架,数据库使用MySQL,因此为我在开发社区图书馆数字资源系统这个毕设上省去了很多多余代码,这给我的毕设项目编写带来了极大的便利。
从用户体验来看,市面上很多被广泛使用的例如淘宝网等电商案例可以让我来参考,因此我可以综合淘宝网上的页面交互设计的优点,基于我的毕设项目特点来进行改版,最后达到令用户满意的页面交互体验。综上所述,从技术层面来看开发社区图书馆数字资源系统是可行的。
2.1.2 经济可行性分析
从社区图书馆数字资源系统的开发成本来看,社区图书馆数字资源系统的设计和开发都是我自己完成的,没有其他成本上的开销。
从社区图书馆数字资源系统的维护成本来看,社区图书馆数字资源系统的开发遵循一套完整的代码编写规范,并且社区图书馆数字资源系统的结构设计非常灵活,遵循高内聚低耦合的原则,因此易于维护和迭代开发。
在社区图书馆数字资源系统上线之后,上线前期我会根据真实需求来调查,对使用我开发的社区图书馆数字资源系统来制定一套符合的使用费。系统运行稳定后我会将推广范围到其他销售图书的企业中,他们可以自己来注册使用我的社区图书馆数字资源系统,只需要缴纳一点点的定金,我会给他们引入广告投资和自营业务。
综合以上的分析,社区图书馆数字资源系统所带来的经济效益将会带来极大的收益。并且随着我的推广,来使用我开发的社区图书馆数字资源系统的市场将越来越大,社区图书馆数字资源系统带来的利润也就越来越多。因此,从经济层面来看开发社区图书馆数字资源系统的是可行的。
2.1.3 操作可行性分析
社区图书馆数字资源系统的主要的服务对象是需要借阅、购买图书和在线阅读的人群,总的来说社区图书馆数字资源系统的使用还是比较简单的,一般不存在操作困难的事情,社区图书馆数字资源系统的管理人员需要对该社区图书馆数字资源系统有一定的了解,比如热门书籍的发布、书籍借阅的审核、书籍购买订单管理等操作,如果不会,可以进行简单的培训就好了。
2.2 系统功能分析
2.2.1 功能性分析
社区图书馆数字资源系统我划分为了用户管理模块和管理员模块这两大部分。
前台用户管理模块:
(1)用户注册登录:用户注册为会员并登录社区图书馆数字资源系统;用户对个人信息的增删改查,比如个人资料,密码修改。
(2)查看社区图书馆数字资源系统的首页信息:社区图书馆数字资源系统的首页信息包含了首页、通知公告、图书资讯、热门书籍、我的账户、个人中心等。
(3)通知公告:在前台点击“通知公告”这一菜单按钮以后就会进入到通知公告界面。
(4)图书资讯:在前台点击“图书资讯”按钮进入图书资讯列表,可以输入关键词进行查询图书资讯信息,并且可以对查看的图书资讯进行评论、收藏、点赞操作。
(5)热门书籍:用户可以查看热门热门书籍,支持通过搜索关键词的方式对热门书籍进行查询,在查询到自己想要了解的热门书籍的时候,可以进入查看详细的介绍,可以查看到书籍名称、书籍类型、书籍作者、书籍价格、点赞数等信息,并且可以对查看的书籍进行借阅、购买、点赞、收藏、立即阅读和评论操作。
(6)我的账户:在前台点击“用户名称”下面的“我的账户”可以对个人资料+密码修改进行管控。
(7)个人中心:当用户点击右上角“个人中心”这个按钮,就会进入到对应的后台进行信息的管理了。用户在前台点击“个人中心”可以对个人首页、书籍借阅、书籍购买、收藏进行管理。点击书籍借阅可以查看到所有书籍借阅信息列表;点击书籍购买可以查看到已发起购买的订单信息;点击“收藏”按钮的时候就会显示出自己收藏的各种信息了,支持对收藏信息的搜索查询,如果你想不再收藏某一信息,点击删除就可以了。
后台管理员管理模块:(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。
(2)系统用户:管理员可以对社区图书馆数字资源系统中的管理员和普通用户进行增删改查。
(3)热门书籍管理:管理员可以对社区图书馆数字资源系统中的热门书籍进行发布和维护。
(4)书籍借阅管理:管理员点击“书籍借阅管理”菜单可以查看前台用户提交的所有的书籍借阅申请信息列表,点击详情审核书籍借阅信息,办理审核单。
(5)书籍购买管理:管理员点击“书籍购买管理”菜单可以查看前台用户提交的所有的书籍购买订单信息列表,支持增删改查。
(6)书籍类型管理:管理员点击“书籍类型管理”菜单可以对平台的书籍类型进行增删改查。
(7)系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行增删改查。
(8)通知公告管理:管理员点击“通知公告管理”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。
(9)资源管理:管理员可以对社区图书馆数字资源系统前台展示的图书资讯以及图书资讯所属的分类进行管控。
2.2.2 非功能性分析
社区图书馆数字资源系统的非功能性需求比如社区图书馆数字资源系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1社区图书馆数字资源系统非功能需求表
| 安全性 |
主要指社区图书馆数字资源系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
| 可靠性 |
可靠性是指社区图书馆数字资源系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
| 性能 |
性能是影响社区图书馆数字资源系统占据市场的必要条件,所以性能最好要佳才好。 |
| 可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
| 易用性 |
用户只要跟着社区图书馆数字资源系统的页面展示内容进行操作,就可以了。 |
| 可维护性 |
社区图书馆数字资源系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3 系统用例分析
社区图书馆数字资源系统的完整UML用例图分别是图2-1和图2-2。在参与者上包括用户以及管理员。普通用户角色用例包括用户注册登录、首页、通知公告、图书资讯、热门书籍、我的账户、个人中心(个人首页、书籍借阅、书籍购买、收藏)等,用户角色用例如图2-1所示。
图2-1 社区图书馆数字资源系统普通用户角色用例图
web后台管理上的管理员是维护整个社区图书馆数字资源系统中所有数据信息的,管理员可以进行登录、系统用户、热门书籍管理、书籍借阅管理、书籍购买管理、书籍类型管理、系统管理、通知公告管理、资源管理。管理员角色用例如图2-2所示。
图2-2 社区图书馆数字资源系统管理员角色用例图
3.4本章小结
本章主要通过对社区图书馆数字资源系统的可行性分析、功能需求分析、系统用例分析,确定整个社区图书馆数字资源系统要实现的功能。同时也为社区图书馆数字资源系统的代码实现和测试提供了标准。
3 社区图书馆数字资源系统总体设计
本章主要讨论的内容包括社区图书馆数字资源系统的功能模块设计、数据库系统设计。
3.1 系统模块设计
社区图书馆数字资源系统根据前面章节的功能需求分析得出其总体设计模块图如图3-2所示。
图3-1 社区图书馆数字资源系统功能模块图
3.2 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.2.1 数据库概念结构设计
下面是整个社区图书馆数字资源系统中主要的数据库表总E-R实体关系图。
图3-2 社区图书馆数字资源系统总E-R关系图
下面根据社区图书馆数字资源系统的数据库总E-R关系图可以得出社区图书馆数字资源系统需要很多E-R图,在此罗列出来一些主要的数据库E-R模型图。
图3-3 热门热门书籍E-R关系图
图3-4 书籍类型信息E-R关系图
图3-5 订单信息E-R关系图
图3-6 用户信息E-R关系图
图3-7 评论信息E-R关系图
3.2.2 数据库逻辑结构设计
通过上一小节中社区图书馆数字资源系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表a***ess_token (登陆访问时长)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
| 2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
| 3 |
info |
text |
65535 |
0 |
Y |
N |
||
| 4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
| 5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
| 7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
表article (文章:用于内容管理系统的文章)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] |
|
| 2 |
title |
varchar |
125 |
0 |
N |
Y |
标题:[0,125]用于文章和html的title标签中 |
|
| 3 |
type |
varchar |
64 |
0 |
N |
N |
0 |
文章分类:[0,1000]用来搜索指定类型的文章 |
| 4 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数:[0,1000000000]访问这篇文章的人次 |
| 5 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
| 6 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
| 8 |
source |
varchar |
255 |
0 |
Y |
N |
来源:[0,255]文章的出处 |
|
| 9 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址:[0,255]用于跳转到发布该文章的网站 |
|
| 10 |
tag |
varchar |
255 |
0 |
Y |
N |
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 |
|
| 11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:文章的主体内容 |
|
| 12 |
img |
varchar |
255 |
0 |
Y |
N |
封面图 |
|
| 13 |
description |
text |
65535 |
0 |
Y |
N |
文章描述 |
表article_type (文章分类)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
| 2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
| 3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
| 4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
| 5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
| 6 |
icon |
text |
65535 |
0 |
Y |
N |
分类图标: |
|
| 7 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 |
|
| 8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表auth (用户权限管理)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
| 2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
| 3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
| 4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
| 5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
| 6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
| 7 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
| 8 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
| 9 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
| 10 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
| 11 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
| 12 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
| 13 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
| 14 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
| 15 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
| 16 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
| 17 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
| 18 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
| 19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表book_borrowing (书籍借阅)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
book_borrowing_id |
int |
10 |
0 |
N |
Y |
书籍借阅ID |
|
| 2 |
regular_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
| 3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户名称 |
|
| 4 |
book_name |
varchar |
64 |
0 |
Y |
N |
书籍名称 |
|
| 5 |
book_types |
varchar |
64 |
0 |
Y |
N |
书籍类型 |
|
| 6 |
hours_of_loan_service |
varchar |
64 |
0 |
Y |
N |
借阅时间 |
|
| 7 |
borrowing_date |
date |
10 |
0 |
Y |
N |
借阅日期 |
|
| 8 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
| 9 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 |
|
| 10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
| 11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表book_purchase (书籍购买)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
book_purchase_id |
int |
10 |
0 |
N |
Y |
书籍购买ID |
|
| 2 |
regular_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
| 3 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户名称 |
|
| 4 |
book_name |
varchar |
64 |
0 |
Y |
N |
书籍名称 |
|
| 5 |
book_types |
varchar |
64 |
0 |
Y |
N |
书籍类型 |
|
| 6 |
book_prices |
varchar |
64 |
0 |
Y |
N |
书籍价格 |
|
| 7 |
purchase_time |
date |
10 |
0 |
Y |
N |
购买时间 |
|
| 8 |
pay_state |
varchar |
16 |
0 |
N |
N |
未支付 |
支付状态 |
| 9 |
pay_type |
varchar |
16 |
0 |
Y |
N |
支付类型: 微信、支付宝、网银 |
|
| 10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
| 11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表book_types (书籍类型)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
book_types_id |
int |
10 |
0 |
N |
Y |
书籍类型ID |
|
| 2 |
book_types |
varchar |
64 |
0 |
Y |
N |
书籍类型 |
|
| 3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
| 4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表collect (收藏)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
collect_id |
int |
10 |
0 |
N |
Y |
收藏ID: |
|
| 2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
收藏人ID: |
| 3 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
| 4 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
| 5 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
| 6 |
title |
varchar |
255 |
0 |
Y |
N |
标题: |
|
| 7 |
img |
varchar |
255 |
0 |
Y |
N |
封面: |
|
| 8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表***ment (评论)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
***ment_id |
int |
10 |
0 |
N |
Y |
评论ID: |
|
| 2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
| 3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
| 4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: |
|
| 5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: |
|
| 6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
| 7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
| 9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
| 10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
| 11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
表hits (用户点击)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
| 2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
| 3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
| 5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
| 6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
| 7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
表notice (公告)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: |
|
| 2 |
title |
varchar |
125 |
0 |
N |
N |
标题: |
|
| 3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: |
|
| 4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表novel_chapters (小说章节)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
novel_chapters_id |
int |
10 |
0 |
N |
Y |
小说章节ID |
|
| 2 |
chapter_name |
varchar |
64 |
0 |
Y |
N |
章节名称 |
|
| 3 |
sort |
int |
10 |
0 |
Y |
N |
0 |
排序 |
| 4 |
chapter_content |
longtext |
2147483647 |
0 |
Y |
N |
章节内容 |
|
| 5 |
novel_reading_id |
int |
10 |
0 |
Y |
N |
小说id |
|
| 6 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
| 7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表popular_books (热门书籍)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
popular_books_id |
int |
10 |
0 |
N |
Y |
热门书籍ID |
|
| 2 |
book_name |
varchar |
64 |
0 |
Y |
N |
书籍名称 |
|
| 3 |
book_types |
varchar |
64 |
0 |
Y |
N |
书籍类型 |
|
| 4 |
book_author |
varchar |
64 |
0 |
Y |
N |
书籍作者 |
|
| 5 |
book_cover |
varchar |
255 |
0 |
Y |
N |
书籍封面 |
|
| 6 |
book_prices |
int |
10 |
0 |
Y |
N |
0 |
书籍价格 |
| 7 |
book_introduction |
text |
65535 |
0 |
Y |
N |
书籍简介 |
|
| 8 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
| 9 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
| 10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
| 11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表praise (点赞)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
| 2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
| 3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
| 5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
| 6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
| 7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
| 8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
表regular_users (普通用户)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
regular_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
| 2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户名称 |
|
| 3 |
user_gender |
varchar |
64 |
0 |
Y |
N |
用户性别 |
|
| 4 |
contact_information |
varchar |
64 |
0 |
Y |
N |
联系方式 |
|
| 5 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
| 6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
| 7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
| 8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表sensitive_vocabulary (敏感词汇)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
sensitive_vocabulary_id |
int |
10 |
0 |
N |
Y |
敏感词汇ID |
|
| 2 |
sensitive_vocabulary |
varchar |
64 |
0 |
Y |
N |
敏感词汇 |
|
| 3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
| 4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表slides (轮播图)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
slides_id |
int |
10 |
0 |
N |
Y |
轮播图ID: |
|
| 2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
| 3 |
content |
varchar |
255 |
0 |
Y |
N |
内容: |
|
| 4 |
url |
varchar |
255 |
0 |
Y |
N |
链接: |
|
| 5 |
img |
varchar |
255 |
0 |
Y |
N |
轮播图: |
|
| 6 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量: |
| 7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表upload (文件上传)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
upload_id |
int |
10 |
0 |
N |
Y |
上传ID |
|
| 2 |
name |
varchar |
64 |
0 |
Y |
N |
文件名 |
|
| 3 |
path |
varchar |
255 |
0 |
Y |
N |
访问路径 |
|
| 4 |
file |
varchar |
255 |
0 |
Y |
N |
文件路径 |
|
| 5 |
display |
varchar |
255 |
0 |
Y |
N |
显示顺序 |
|
| 6 |
father_id |
int |
10 |
0 |
Y |
N |
0 |
父级ID |
| 7 |
dir |
varchar |
255 |
0 |
Y |
N |
文件夹 |
|
| 8 |
type |
varchar |
32 |
0 |
Y |
N |
文件类型 |
表user (用户账户:用于保存用户登录信息)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
user_id |
mediumint |
8 |
0 |
N |
Y |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
| 2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组:[0,32767]决定用户身份和权限 |
|
| 4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间: |
| 5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
|
| 6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 |
username |
varchar |
16 |
0 |
N |
N |
用户名:[0,16]用户登录时所用的账户名称 |
|
| 8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] |
|
| 9 |
password |
varchar |
64 |
0 |
N |
N |
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
|
| 10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
|
| 11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
| 13 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 |
|
| 14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
| 编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
| 1 |
group_id |
mediumint |
8 |
0 |
N |
Y |
用户组ID:[0,8388607] |
|
| 2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000] |
| 3 |
name |
varchar |
16 |
0 |
N |
N |
名称:[0,16] |
|
| 4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该用户组的特点或权限范围 |
|
| 5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
| 6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
| 7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
| 8 |
register |
smallint |
5 |
0 |
Y |
N |
0 |
注册位置: |
| 9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
| 10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
3.4本章小结
整个社区图书馆数字资源系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 社区图书馆数字资源系统详细设计与实现
社区图书馆数字资源系统的详细设计与实现主要是根据前面的社区图书馆数字资源系统的需求分析和社区图书馆数字资源系统的总体设计来设计页面并实现业务逻辑。主要从社区图书馆数字资源系统界面实现、业务逻辑实现这两部分进行介绍。
4.1用户功能模块
4.1.1 前台首页界面
在社区图书馆数字资源系统的前台首页界面上采用了上+中+下的方式来布局界面,上面是导航栏,下面是轮播图,下面依次是通知公告和热门书籍推荐,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2 用户注册界面
不是社区图书馆数字资源系统中正式用户的是可以在线进行注册的,当填写上自己的账号+密码+用户姓名+年龄再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可会员注册成功。其用会员注册界面展示如下图4-2所示。
图4-2 前台用户注册界面图
注册关键代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return su***ess(1);
}
4.1.3 用户登录界面
社区图书馆数字资源系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当会员输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到社区图书馆数字资源系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3用户登录界面图
登录的逻辑代码如下所示。
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
A***essToken a***essToken = new A***essToken();
a***essToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
a***essToken.setUser_id(byUsername.getUserId());
tokenService.save(a***essToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", a***essToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return su***ess(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
4.1.4图书资讯界面
当用户点击社区图书馆数字资源系统中导航栏上的“图书资讯”后将会进入到该“图书资讯”列表的界面,然后选择想要看的图书资讯,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作。图书资讯界面如下图所示。
图4-4图书资讯界面图
4.1.5 热门书籍界面
当访客在热门书籍列表点击任意书籍后将会进入该款书籍的详情界面,可以了解到该图书的书籍名称、书籍类型、书籍作者、书籍价格等,同时可以对该图书进行借阅+购买+点赞+收藏+立即阅读,热门书籍展示页面如下图所示。
图4-5 热门书籍界面图
4.1.6我的账户界面
用户登录以后点击“我的账户”可以查看到自己的个人信息,对个人信息、头像和密码进行更新操作,我的账户界面如下图所示。
图4-6我的账户界面图
4.1.7个人中心界面
当用户点击右上角“我的”这个按钮,会出现子菜单,点击“个人中心”可以对个人首页、书籍借阅、书籍购买、收藏进行设置管理。用户个人中心界面如下图所示。
图4-7用户个人中心界面图
4.2管理员功能模块
4.2.1 系统用户界面
社区图书馆数字资源系统中的管理人员是可以对前台注册的用户和管理员进行管理。系统用户管理界面如下图所示。
图4-8系统用户管理界面图
用户管理关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return su***ess(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return su***ess(1);
}
4.2.2 热门书籍管理界面
社区图书馆数字资源系统中的管理人员是可以对社区图书馆数字资源系统内的不同书籍的分类下的书籍信息进行维护和管理的,支持查看到各个书籍的评论情况以及添加+删除图书。热门书籍管理界面如下图所示。
图4-9热门书籍管理界面图
4.2.3 书籍借阅管理界面
管理人员可以对前台用户提交的书籍借阅申请信息进行审核和维护,办理书籍借阅审核单。书籍借阅管理审核界面如下图所示。
图4-10书籍借阅管理审核界面图
4.2.4 书籍类型管理界面
社区图书馆数字资源系统中的管理人员是可以对书籍类型进行增删改查操作。书籍类型管理界面如下图4-11所示。
图4-11书籍类型管理界面图
4.2.5系统管理界面
社区图书馆数字资源系统中的管理人员在“系统管理”这一菜单下是可以对社区图书馆数字资源系统内的轮播图进行添加修改的,其管理界面如下图所示。
图4-12系统管理界面图
4.2.6通知公告管理界面
在主页左侧菜单栏中点击“通知公告管理”按钮,点击“新增公告”按钮,进入到新增公告界面。在此处公告可以添加公告的名称、内容方式。通知公告管理界面如下图所示。
图4-13通知公告管理界面图
4.2.7资源管理界面
管理员点击“资源管理”菜单能够对其下子菜单图书资讯和图书资讯的分类进行增删改查。资源管理界面如下图所示。
图4-14资源管理界面图
5系统测试
5.1 系统测试用例
系统测试包括:用户登录功能测试、用户注册功能测试、书籍展示功能测试、书籍信息添加功能测试,如表5-1、5-2、5-3、5-4所示:
用户登录功能测试:
表5-1 用户登录功能测试表
| 测试名称 |
测试功能 |
操作 |
操作过程 |
预期结果 |
测试结果 |
| 用户登录模块测试 |
正确输入用户信息,用户成功登录 |
输入用户的信息 |
1.在密码框输入用户密码。2.点击登录 |
跳转到首页 |
正确 |
用户注册功能测试:
表5-2 用户注册功能测试表
| 测试名称 |
测试功能 |
操作 |
操作过程 |
预期结果 |
测试结果 |
| 用户注册模块测试 |
正确输入用户星系,完成用户注册 |
输入用户的基本信息 |
在注册页面填写用户相应的信息,然后点击“注册”按钮。 |
提示成功并跳转到登录界面 |
正确 |
| 用户注册模块测试 |
用户注册失败 |
用户两次输入密码不一致 |
用户在注册页面填写信息时不填写用户名然后点击“注册”按钮。 |
注册失败提示用户名不能为空 |
正确 |
书籍信息展示界面测试:
表5-3 书籍信息展示界面测试表
| 测试名称 |
测试功能 |
操作 |
操作过程 |
预期结果 |
测试结果 |
| 书籍信息功能模块测试 |
书籍信息正常的显示 |
浏览书籍信息 |
在前台首页选择一个书籍类型进入分类列表,然后选择一个书籍 |
进入该书籍的详细信息界面 |
正确 |
管理员添加书籍信息功能测试:
表5-4 管理员添加书籍信息功能测试表
| 测试名称 |
测试功能 |
操作 |
操作过程 |
预期结果 |
测试结果 |
| 管理员添加书籍信息功能测试 |
添加书籍信息成功的情况 |
输入新书籍的基本信息 |
后台选择“发布书籍”选项,然后填写新书籍基本信息点击“添加”按钮 |
新书籍添加成功 |
正确 |
| 管理员添加书籍信息功能测试 |
添加书籍信息失败的情况 |
输入书籍基本信息不完全 |
后台选择“发布书籍”选项,然后不完全填写书籍信息,点击“添加”按钮。 |
对应信息框后出现提示请输入XXXX信息 |
正确 |
| 管理员添加书籍信息功能测试 |
添加书籍信息失败的情况 |
管理员在价格框输入非数字字符 |
后台选择“发布书籍”选项然后再价格框输入非数字字符,点击“添加”按钮。 |
添加失败,提示“价格必须时货币格式!” |
正确 |
5.2 系统测试结果
通过编写社区图书馆数字资源系统的测试用例,已经检测完毕用户登录模块、用户注册模块、书籍信息展示模块、书籍信息添加模块功能测试,通过这4大模块为社区图书馆数字资源系统的后期推广运营提供了强力的技术支撑。
结论
本文总结了社区图书馆数字资源系统实现背景与现状,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。
在本次开发社区图书馆数字资源系统中,利用了响应式Web,搭配HTML5前端页面布局技术,以及数据库管理功能MySQL,和目前比较流行的Springboot框架,最后配合使用到了JavaScript技术进行系统界面的布置,以现实生活的图书馆借阅购买管理过程为标准,设计实现了首页、通知公告、图书资讯、热门书籍等功能,并维护好后台的信息和整体系统的稳定性。
但是由于作者受到了技术水平的限制,在有限的时间,只能够将系统功能模拟时的功能实现,在许多功能方面仍然存在很大的弊端,而这些弊端需要不断的测试,不断的总结,不断的改进。例如本次系统设计中,在数据储存的方面并不够全面,很容易出现信息泄露的风险;例如针对用户权限的设置同样不够全面完整,没有考虑权限在实际情况的运用是否能够完美执行。而在这之后的日子里,作者将会继续学习响应式布局和HTML5和相关的信息技术,对系统功能进行更加完整的,详细的分析,将系统功能一一进行完善,帮助使用者完成相应的操作。
参考文献
[1]吴仕平.为图书馆插上数字化的“翅膀”[N].芜湖日报,2023-12-19(001).
[2]望艳春,赵惠婷.基于读者驱动采购模式的高校图书馆资源建设研究与实践——以三峡大学图书馆为例[J].价值工程,2023,42(35):157-159.
[3]陈晓玉,杨志和.基于文献计量的图书馆营销研究进展分析[J].传播与版权,2023,(23):72-75.DOI:10.16852/j.***ki.45-1390/g2.2023.23.013
[4]张勤.基于微信公众号的图书馆阅读推广创新路径研究[J].传播与版权,2023,(23):53-55+61.DOI:10.16852/j.***ki.45-1390/g2.2023.23.027
[5]雷春玉,庞文静.高校图书馆助力廊坊农业人才培养对策研究[J].中国就业,2023,(12):36-37.DOI:10.16622/j.***ki.11-3709/d.2023.12.007
[6]胡安琪.数字图书馆注册协议格式条款内容类型化评价与治理进路[J].图书馆工作与研究,2023,(12):41-47.DOI:10.16384/j.***ki.lwas.2023.12.001
[7]康珊珊.“HTML5+CSS3应用开发”课程思政教学研究[J].教师,2023,(30):93-95.
[8]李新荣.“HTML5+CSS3网页制作”课程实验系统设计与实现[J].电脑编程技巧与维护,2023,(10):141-143+169.DOI:10.16184/j.***ki.***prg.2023.10.034
[9]欧冬梅.HTML5技术在融媒体平台建设中的运用分析[J].电子元器件与信息技术,2023,7(08):151-154.DOI:10.19772/j.***ki.2096-4455.2023.8.037
[10]白美玲.基于HTML5语言技术的WebIM组件前端设计与实现[J].科学技术创新,2023,(16):85-88.
[11]邹晓丹.基于HTML5和CSS3的网页前端设计优化研究[J].自动化应用,2023,64(S1):217-219.
[12]PLAYABLE FACTORY LAUNCHES H5 GAMES; - To create high-fidelity HTML5 versions of major mobile titles -[J].M2 Presswire,2022,
[13]Wei D .Ink Animation VR Design Based on Wireless Sensor and HTML5 Interactive Technology[J].***putational Intelligence and Neuroscience,2022,20227574231-7574231.
[14]FlipHTML5 Upgrades PDF to Flipbooks Free with HTML5 Technology[J].M2 Presswire,2022,
[15]Ben H R ,Hafedh B ,Antoine C .Website Design and Development with HTML5 and CSS3[M].John Wiley Sons, Inc.:2021-12-28.
致 谢
社区图书馆数字资源系统的完成,标志着我即将结束在商丘学院的校园生活并跨入社会。在即将毕业的此刻,我想对所有帮助过我的师长、同学和亲人表达我发自内心的谢意。
感谢学校这个大家庭,在这里我们总能找到自己的归属。学校始终在向我们传达着温暖和关怀,接纳和包容我们的缺点。学校给我最大的感受便是要将自己的专业知识与实践相结合,而我也正在努力的成为学校所要求的应用型人才。
感谢各位老师,学院使我从懵懂一步步走向成熟。在这里每个老师都拥有着最大的善意和耐心,来教育我们这群大孩子。学院举办的各类活动是给予我锻炼自己的机会,正是这些机会让我成为了更好的自己,提升了自己各方面的能力。
其次我要感谢我的论文指导老师。我之所以被老师所吸引,是因为老师对于学生友爱和对于工作认真的态度。从选题到开题到论文的撰写,老师一直都在悉心的指导,在指出存在的问题后会与我们探讨解决方法。
最后,我要对即将参与本篇论文审阅和答辩的各位老师表示感谢。
点赞❤关注+私信博主,免费领取项目源码,谢谢~