对图书管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的图书管理小程序。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员和用户两种角色,主要包含个人信息修改,用户管理、图书分类管理、图书信息管理、我的待还管理、图书归还管理、催还提醒管理、系统管理等功能。
系统开发主要在 Windows 系统下进行,采用支持跨平台的nodejs语言开发完成,因此可以运行在任意开发环境下。系统采用mysql数据库和B/S结构的方式,按照express框架进行开发。
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。
代码结构讲解
1、 node_modules文件夹(有npn install产生)
这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
用于存放路由文件。
5、views文件夹
存放视图。 目 录
第一章 绪 论 1
1.1论文背景 1
1.2系统研究现状 1
1.3 研究意义 2
第二章 开发工具和开发技术 3
2.1微信公众号开发技术 3
2.2 其他相关技术 3
2.2.1 nodejs语言 3
2.2.2express框架 3
2.2.3 MySQL 介绍 4
2.2.4 B/S架构 4
第三章 需求分析 5
3.1 需求描述 5
3.2 系统角色需求分析 5
3.3 系统功能需求分析 5
3.4 非功能性需求分析 7
3.4.1 先进性 7
3.4.2 安全性 7
3.4.3 易用性 7
3.4.4 可扩展性 8
3.4.5 可修改性 8
3.5 系统流程分析 8
3.5.1 登录流程 8
3.5.2 添加信息流程 8
3.5.3 删除流程 9
3.6 本章小结 10
第四章 系统设计 11
4.1 系统总体设计 11
4.2 数据库设计 11
4.2.1 数据库逻辑设计 12
4.2.2 数据库表设计 13
4.3 本章小结 19
第五章 详细设计与实现 20
5.1系统前台功能的实现 20
5.1.1登录界面的实现 20
5.1.2注册界面的实现 20
5.1.3小程序首页功能的实现 21
5.1.4用户功能 22
5.2系统后台管理员功能的实现 22
5.3 本章小结 27
第六章 系统测试 28
6.1 测试目的 28
6.2 测试用例 28
6.3 本章小结 29
结 论 30
参考文献 31
致 谢 32
第一章 绪 论
1.1论文背景
近年来互联网技术飞速发展,给人们的生活带来了极大便利,也改变人们的生活生产方式,互联网拥有存储量大、可靠性高、使用方便等不可替代的优点,也正在逐步取代传统的信息管理模式[1]。由代码编程实现的各种管理工具和系统替代传统的人工操作,不但提升了可靠性还降低了人力成本,节省了时间,提升了工作效率。全球视域下信息技术逐步渗透到各个领域,多样化的数据信息为图书管理带来了深刻变革,打破了传统的方式与载体,图书管理的事务性工作面临新形势和新挑战[2]。
计算机技术快速发展的同时也促进信息化发展。知识承担着培养人才、科学研究和服务社会的重大责任,当下图书馆规模不断扩大,新型管理模式也正逐步推进,推动其信息化发展可以为其改革、进步提供保障。信息技术在教育中的应用已经成为教育改革的必然方向,管理人员应该抓住时代的机遇,与时俱进[3]。通过这种方式可以提升图书管理工作的效率,促进教学新举措的实施,加速教育改革进程,改善管理服务能力。
基于微信小程序的图书管理系统作为信息化建设的重要一环,图书管理系统的开发与实现,能够使管理工作开展得更加有序。1.2系统研究现状
我国信息技术虽然起步较晚,但发展速度迅猛,如今已经跻身世界信息大国的行列。现在我们的生活离不开信息技术,人们可以利用计算机、互联网进行网上购物、视频学习、互动交流,信息技术已经渗透到我们的生活中,随着计算机技术、网络技术的迅速发展,研究并实现图书管理系统是现代理论和科学技术相结合的产物[4]。国内信息化发展趋势越来越快,我国信息化建设也随之迅速发展,通过信息系统对大量复杂数据进行管理代替传统人工管理,很大程度的提升管理效率。目前图书管理系统基本实现了应用网络进行管理,使用各种技术、实现各种不同附加功能的图书数量众多。但随着近年来互联网技术的不断完善和更新,一些不适应当代信息化发展的技术正在被淘汰,而采用老旧技术实现的系统将出现维护困难的境况。因此符合现在社会发展的系统开发十分必要,图书管理系统的设计和开发仍然有很大的进步空间。
国外部分发达国家的信息技术起步较早,以技术为基础引领的各行各业的变革产生时间也较早。信息化的理念由世界知名的高校美国麻省理工学院提出,接下来的三四十年随着网络技术的飞速发展,终于在全美形成了一系列非常完善成熟的信息化管理平台,自此美国国内大部分已实现信息化管理[5]。虽然存在教育制度存在不同,但由于美国实行信息化管理的起步时间早,积累经验多,有关基于微信小程序的图书管理系统的研究技术经验仍然值得我们学习。
1.3 研究意义
图书管理行业对互联网的运用正经历着质变,从技术支撑者的技术建构与技术运用转向以教育问题和产业需要为起点,通过重新构建教育与基于微信小程序的图书管理系统,实现制度上的发展变革[7]。本文将设计一个根据整理、归纳后进行精简的图书管理系统。使用采取稳定、可靠且易于维护的开发技术进行系统的实现。系统可以直观、高效、便捷地实现高校对各个图书信息进行管理,使工作人员有针对地安排和管理图书信息,建立统一的基于微信小程序的图书管理系统。
第三章 需求分析
在软件的命周期中,需求分析是其中关键的一环。需求分析过程中不仅要对系统应该实现的功能提出准确和完善的请求,还要考虑需求的可行性。需求分析对设计和实现一个系统具有决定性的重大意义[11]。只有充分完整的需求分析才能为后续的系统开发过程和实现成果奠定基础。
3.1 需求描述
根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供图书信息管理功能,方便图书管理工作的展开,综合考虑,本套系统应该满足如下要求:
首先,在系统中需要实现对基础信息,包括个人信息修改、用户管理、图书分类管理、图书信息管理、我的待还管理、图书归还管理、催还提醒管理、系统管理等功能的管理,这些是系统的基础信息,和系统中其他内容密切相关。
然后,系统中需要实现对用户信息的管理,允许管理员对用户进行必要的设置,同时要避免管理员对个人信息进行操作,保障用户的信息安全。
3.2 系统角色需求分析
综合图书管理经历和对网上信息归纳整理的结果,在实际应用中,将用户分为两种:管理员和用户两个角色。其中用户可以操作的内容是有限的,管理员可以进行的操作最多。了解系统用户的分类以及可以进行的操作,对于接下来实现相关的功能具有重要的意义。
3.3 系统功能需求分析
(1)系统的通用功能包括用户登录和密码修改,是两个角色共同需要使用的功能,
3.4 非功能性需求分析
在系统的需求分析中除了保证系统功能需求分析准确完整,还应考虑与其相辅相成的各种其他因素,这样才能确保系统后续设计能够更加完善、清晰,确保系统实现后的有较高的使用价值。
3.4.1 先进性
为保证系统的先进性开发过程中应尽量使用先进的软件开发技术、设计方法、体系架构,符合当下的应用需求和保证性能可靠。
3.4.2 安全性
本系统中涉及两种用户角色,根据用户角色类型合理划分其页面访问权限。系统允许管理员对用户进行必要的设置,同时要避免管理员对个人重要信息进行操作,保障用户的信息安全。
3.4.3 易用性
系统使用方便、界面友好是提高用户使用体验的重要因素。系统实现其主体功能同时,界面设计要简洁大方、使用方便、美观清晰。系统的每一项反馈都要逻辑严密,弹窗信息也是简洁明了[12]。
3.4.4 可扩展性
可扩展性要求软件的设计要留有可升级接口和升级空间,便于今后根据新的模式需求进行功能的拓展。
3.4.5 可修改性
可修改性要求使用科学的方法设计软件,形成良好的结构和完备的文档[13]。它的前提要保证系统设计逻辑清晰,软件结构简单明了,代码编写过程中有良好的注释习惯,便于后续对系统性能进行调整。
3.5 系统流程分析
3.5.1 登录流程
每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。
4.2.2 数据库表设计
在关系数据E-R图中,分析并创建数据表,数据表用来记录信息,数据表关系由多个数据表组成,下面介绍的是数据表各个字段信息如下表所示。
表4-1:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-2:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 varchar 200 图片1
picture2 varchar 200 图片2
picture3 varchar 200 图片3
表4-3:图书信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tushubianhao varchar 200 图书编号
tushumingcheng varchar 200 图书名称
tushufenlei varchar 200 图书分类
fengmian varchar 200 封面
zuozhe varchar 200 作者
chubanshe varchar 200 出版社
shuliang int 数量
tushufujian varchar 200 图书附件
xiangqing longtext 4294967295 详情
thumbsupnum int 赞 0
crazilynum int 踩 0
clicktime datetime 最近点击时间
clicknum int 点击次数 0
表4-4:图书归还
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
guihaidanhao varchar 200 归还单号
tushubianhao varchar 200 图书编号
tushumingcheng varchar 200 图书名称
tushufenlei varchar 200 图书分类
fengmian varchar 200 封面
zuozhe varchar 200 作者
shuliang int 数量
yinghairiqi date 应还日期
guihairiqi date 归还日期
zhanghao varchar 200 账号
xingming varchar 200 姓名
shouji varchar 200 手机
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
userid bigint 用户id
表4-5:图书分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tushufenlei varchar 200 图书分类
表4-6: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-7:收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 商品id
tablename varchar 200 表名
name varchar 200 名称
picture varchar 200 图片
type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1
inteltype varchar 200 推荐类型
remark varchar 200 备注
表4-8:系统公告
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture varchar 200 图片
content longtext 4294967295 内容
表4-9:图书信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl varchar 200 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
表4-10:催还提醒
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhanghao varchar 200 账号
xingming varchar 200 姓名
cuihaishuji varchar 200 催还书籍
tixingneirong longtext 4294967295 提醒内容
tixingshijian datetime 提醒时间
userid bigint 用户id
表4-11:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhanghao varchar 200 账号
xingming varchar 200 姓名
mima varchar 200 密码
xingbie varchar 200 性别
nianling int 年龄
shouji varchar 200 手机
表4-12:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-13:我的待还
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jieyuebianhao varchar 200 借阅编号
tushubianhao varchar 200 图书编号
tushumingcheng varchar 200 图书名称
tushufenlei varchar 200 图书分类
fengmian varchar 200 封面
zuozhe varchar 200 作者
shuliang int 数量
jieyueriqi date 借阅日期
jieyuetianshu int 借阅天数
yinghairiqi date 应还日期
beizhu longtext 4294967295 备注
zhanghao varchar 200 账号
xingming varchar 200 姓名
shouji varchar 200 手机
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
userid bigint 用户id
表4-14:意见反馈
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
adminid bigint 管理员id
ask longtext 4294967295 提问
reply longtext 4294967295 回复
isreply int 是否回复
4.3 本章小结
这一章着重介绍了整个系统的设计流程。确定了系统的功能结构,并在此基础上完成了数据库的设计。
第五章 详细设计与实现
5.1系统前台功能的实现
5.1.1登录界面的实现
首先双击打开微信小程序客户端系统,连上网络之后会显示出本系统的登录界面,这是进入小程序的第初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。
第六章 系统测试
6.1 测试目的
在基于微信小程序的图书管理系统正式投入使用前,我们可以通过对图书管理系统的检测,找出其中的问题和不足,并对其进行进一步的修正与完善,从而提高系统的优化水平和整体性能。系统测试是软件开发的必经之路,为系统实现的完整性、系统性能的可靠性提供保障。系统测试主要包括两种方法,一种是检查软件的每一个功能是否能够正常使用的黑盒测试,另一种检测软件编码过程中错误的白盒测试。
首先,本系统采用了白盒测试技术,对代码中出现的问题进行了修正,提高了代码的准确度。由于黑盒测试中使用了大量的测试用例,以下将列举一些主要的黑盒测试用例。
6.2 测试用例
(1)登录测试
登录功能是用户进入系统的校验窗口,其中需要填写的信息包括用户账号和用户密码,下面将根据此功能设计具体测试用例来验证登录功能的实现与否。具体测试用例见表6-1。
表6-1 登录功能测试用例
用例序号 用例描述 测试步骤 期望输出 测试结果
Test_01 页面展示 浏览器输入登录地址 进入登录页面 成功
Test_02 账号非空检验 账号为空,点击“登录”按钮 提示“用户账号必须输入” 成功
Test_03 账号存在性检验 输入不存在的账号 提示“输入的账号不存在” 成功
Test_04 密码非空检验 输入正确的账号,密码为空 提示“用户密码必须输入” 成功
Test_05 密码正确性检验 输入正确的账号和不正确的密码 提示“输入的密码错误” 成功
Test_06 登录成功检验 输入正确的账号和密码 登录成功,进入首页 成功
(2)修改密码测试
更改密码功能需要用户输入原始密码、修改后的密码、修改后的确认密码,方可更换密码。具体测试用例见表6-2。
表6-2 修改密码测试用例
用例序号 用例描述 测试步骤 期望输出 测试结果
Test_01 页面跳转 点击“密码修改”按钮 进入密码修改页面 成功
Test_02 原始密码非空检验 原始密码为空,点击“提交”按钮 提示“原始密码必须输入” 成功
Test_03 原始密码正确性检验 输入错误原始密码 提示“原始密码输入错误” 成功
Test_04 修改密码非空检验 输入正确的原始密码,修改密码为空,点击“提交”按钮 提示“修改密码必须输入” 成功
Test_05 确认密码非空检验 输入正确的原始密码,修改密码非空,确认密码为空,点击“提交”按钮 提示“确认密码必须输入” 成功
Test_06 两次新密码输入一致性检验 输入正确的原始密码,修改密码非空,确认密码与修改密码不一致,点击“提交”按钮 提示“两次密码输入不一致” 成功
Test_07 修改成功检验 输入正确的原始密码,修改密码非空,确认密码与修改密码一致,点击“提交”按钮 提示“处理成功” 成功
6.3 本章小结
本章主要内容为系统测试,列举部分黑盒测试的测试用例。结果发现系统基本实现了设计需求的大部分功能,未发现系统运行过程中出现异常,数据加载和前台显示都符合最初设想,系统测试通过,基本实现初始的设计目的。
结 论
本文介绍了一个使用方便,界面清晰的基于微信小程序的图书的设计与实现。本系统已经实现了对个人中心、用户管理、图书分类管理、图书信息管理、我的待还管理、图书归还管理、催还提醒管理、系统管理等的综合管理,可以充分满足图书管理各方面的需求。系统为图书管理工作节省了精力和时间,简化了在管理过程中重要环节的管理难度,丰富了图书管信息化的建设,符合信息时代的发展趋势。存储在系统中的数据也将对未来图书管理制度的发展提供数据支撑。
本文实现的系统具有功能实用、界面简单清晰、操作简单、安全稳定的优点。在设计实现上本系统采用了nodejs语言和express框架进行开发,提升了开发效率、同时也保障了后续维护,易于扩展。使用MySQL轻量级数据库大幅度提升查询性能。
该系统只考虑了一些简单的图书管理的基本构成,缺乏对设计的深入研究和思考。随着网络技术的迅猛发展和新型教学制度的逐步完善,不久将可以形成稳定优质的图书管理模式。这时对系统的要求也将越来越高,这要求我们不断探索新的需求,开发新的技术,与时俱进,实现更完善更智能的基于微信小程序的图书管理系统。
致 谢
首先感谢我的母校对我的培养!
回首四年大学时光,在校园中首先要感谢我的老师们。他们有的风趣幽默、有的严肃认真;有的擅长研究,经常给我们发一些专业相关的文章和好的项目例子,融会贯通,结合自己的实际开发经验授课;有的讲课内容深入浅出,精心研究课程讲解的顺序安排,把抽象和复杂的知识讲解的清晰明了,让我能够紧跟课堂的内容。他们的共同点是都认真负责,除了传授知识还关注我们思想上的问题,言传身教。我常常感受到他们对国家、对专业的热爱还有对社会的责任意识。同时还常常关心我们的未来,课余时间经常跟我们进行交流,乐于分享自己的看法经验。因此在大学四年的学习生活中,虽然没有做到希望中的成为一个精通专业知识的优秀开发者,但是也对筑牢我的计算机基础起到十分重要的影响。在这里特别要向我的论文指导老师提出感谢!不但使我对数据库知识的认识更加全面深入,尤其在最后的课程设计阶段给与我作品鼓励和支持,让我一直铭记在心,坚定了我在这条路上走下去的信心。同时在此次毕业设计和论文撰写中也对我进行悉心指导和帮助。
最后感谢还要家人对我的支持和有朋友对我的鼓励帮助。感谢挚友长久以来对我的陪伴和关心,希望我们未来能够在各自的道路上找到自己的热爱,一直都有目标有希望有彼此的陪伴和支持。知易行难,计算机是一门注重实践的学科,我知道自己在实践动手方面做的远远不够,希望未来自己能够更多地锻炼。