同时还能为借阅者提供一个方便实用的“共享书角”图书借还管理系统,使得借阅者能够及时地找到合适自己的图书借还信息。管理员在使用本系统时,可以通过后台管理员界面管理借阅者的信息,也可以发布系统公告,让借阅者及时了解图书借还信息。这样,借阅者就可以安全高效地找到图书借还信息。
前端技术: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文件夹
存放视图。
随着社会的发展,图书借还的管理形势越来越严峻。越来越多的借阅者利用互联网获得信息,但图书借还信息量大。为了方便借阅者更好的获得本图书借还信息,因此,设计一种安全高效的“共享书角”图书借还管理系统极为重要。
为设计一个安全便捷,并且使借阅者更好获取本图书借还信息,本文主要有安全、简洁为理念,实现借阅者快捷寻找图书借还信息,从而解决图书借还信息复杂难辨的问题。该系统以express架构技术为基础,采用nodejs语言和MySQL数据库进行开发设计,通过对图书借还管理流程的分析,分析了其功能性和非功能性需求,设计了基于微信小程序的“共享书角”图书借还管理系统,该系统包括管理员,出借者和借阅者三部分。目 录
第1章 概 述 5
1.1 开发背景及研究意义 5
1.2 国内外研究现状和发展趋势 5
1.3 本文主要研究的内容 6
第2章 关键技术介绍 7
2.1 开发环境 7
2.2 nodejs技术 7
2.3 微信开发者工具 7
2.4 MySQL数据库 7
2.5 express框架 8
2.7 本章小结 8
第3章 系统分析 9
3.1 系统概述 9
3.2 需求分析 9
3.3 可行性分析 9
3.3.1 技术可行性分析 10
3.3.2 经济可行性分析 10
3.4 系统流程分析 10
3.4.1 登录流程图 10
3.4.2 添加新用户流程图 11
3.5系统用例分析 12
3.5.1 管理员用例图 12
3.5.2 出借者用例图 13
3.5.3 借阅者用例图 14
3.6 本章小结 14
第4章 系统设计 15
4.1 系统基本结构设计 15
4.2 数据库设计 15
4.2.1 数据库E-R图设计 16
4.2.2 数据库表设计 18
4.3 本章小结 23
第5章 系统实现 24
5.1小程序端实现 24
5.1.1注册登录界面的实现 24
5.1.2 小程序首页功能的实现 25
5.1.3借阅者功能 26
5.2 后台功能的实现 27
5.2.1管理员模块实现 27
5.2.2出借者模块实现 30
5.3 本章小结 31
第6章 系统测试 32
6.1 系统测试的目的 32
6.2 系统功能测试 32
6.2.1 登录注册功能测试 32
6.2.2. 借阅者管理功能测试 33
6.3 本章小结 33
结 论 34
参考文献 35
致 谢 36
通过对本文的开发背景、研究意义以及国内外研究现状和发展趋势的分析,确定本文的研究内容是系统开发的前提。
1.1 开发背景及研究意义
近年来互联网技术的发展使得互联网产品和网站层出不穷,对人才的需求不断提高 [1]。同时,面对过去使用手抄等方式进行记录,工作效率很难得到提高,无法满足现代人们的需求;自从人类进入互联网时代,通过纸质手抄的方式转换成线上无纸化管理,有效的解决了获取信息的渠道,全面提升工作效率。由此,实现一套完整的“共享书角”图书借还管理系统非常必要。
设计和实现了一个基于微信小程序的“共享书角”图书借还管理系统。该系统具有良好的扩展性、稳定性、安全性以及可移植性等特点。为方便借阅者找到适合自己的图书借还信息并进行交流,特制定本“共享书角”图书借还管理系统。
1.2 国内外研究现状和发展趋势
在国内,由于历史环境因素的影响和发展的不平衡,图书借还管理不完善,这对计算机领域的应用以及外部状态信息在图书借还管理中的应用产生了很大的影响。简单的技术可以取代过去的形式或方法,但如果你想设计一个管理计划以更科学的方式重新管理这一环节,你必须放弃传统的管理方法,尽快改变管理方法,改变管理理念以合理运作,使系统更精细,控制成本,提高管理效率。
在国外,系统管理发展迅速。相应的信息系统软件设计和保护的研发也有所增加。随着时代的变化,产品研发得到了推动,系统软件得到了极大的发展。如今,它正朝着智能化、数字化和信息化的方向快速发展。所有机构都采用了类似的规章制度,促进了公司的快速发展,取得了较好的经济效益。
计算机作为信息科学的媒介和关键,对人类社会的繁荣起着至关重要的作用。政府机构和事业单位将根据工作内容选择一套优秀的通信技术和专业办公设备,并利用这些技术和设备快速收集、解决和存储信息,使管理变得方便快捷,实现科学合理的管理目标。
总而言之,“共享书角”图书借还管理系统的发展呈持续上升发展趋势,现在传统式的手工制作和半手动式管理方法转变为信息化管理的转变历程中,必须使用和融合全新的信息技术性来完成传统的系统设计方法,确保系统的效果和品质。
但是这些“共享书角”图书借还管理系统都是由传统企业开发建设而成的,在图书借还信息发布上主要采用人工方式进行管理和维护,这种方法效率低下且容易出错,已经不能满足现在快速多变的社会需求,且大都缺乏有效的安全认证机制和管理机制,用户使用虚假信息注册,使得网站存在大量的虚假图书借还信息,无法保证图书借还信息的安全性[2]。自1993年美国实施National Information Infrastructure以来,网络普及率大幅提高,互联网用户数量快速增长,“共享书角”图书借还管理系统开始快速增长。
1.3 本文主要研究的内容
该系统采用nodejs技术,结合express框架使页面更加完善,后台使用MySQL数据库进行数据存储。系统主要分为三大模块:即管理员模块,出借者模块和借阅者模块。本文从图书借还流程分析入手,分析了其功能性需求和非功能性需求,设计了一个由管理员,出借者和借阅者三部分组成的“共享书角”图书借还管理系统。借阅者可在小程序端浏览首页,图书信息,我的;注册登录后在我的页面可以对图书借阅,图书归还,反馈信息,留言簿进行详细操作;管理员可通过后台管理界面管理借阅者信息和系统管理。
第3章 系统分析
系统分析是软件开发的关键。但在实际工作中却往往容易被人们忽视或误解。其实需求分析在软件开发过程中起着重要作用,它不仅为软件产品提供了一个基本框架和基础结构,而且还能够提高软件开发效率及质量。大多数软件的故障都是由于需求分析错误造成的,因为需求分析可以分析借阅者的业务,并根据借阅者的需求进行定制分析。
3.1 系统概述
该系统由个人管理员,出借者和借阅者三部分组成。其中:借阅者注册登录后,在我的页面可以对图书借阅,图书归还,反馈信息,留言簿等进行详细操作;管理员则是根据不同需求设置了不同功能,可以通过后台管理接口管理借阅者信息。
3.2 需求分析
需求分析,也称为软件需求分析、系统需求分析或需求分析工程,是指开发人员经过充分的研究和分析,准确地理解用户和项目在功能、性能、可靠性等方面的具体需求,并将用户的非正式需求表述转化为确定系统必须执行的需求的完整定义的过程[11]。
功能需求分析是系统设计的前提,它要求开发者和用户定义开发什么样的体系和系统需要什么样的功能。本文主要介绍了一种基于微信小程序实现的“共享书角”图书借还管理系统。该系统为借阅者找到图书借还信息提供了更安全、更高效、更便捷的途径。本系统有三个角色:管理员,出借者和借阅者,要求具备以下功能:
(1)借阅者可以浏览主页了解图书信息等,并对图书信息进行借阅、评论或收藏等操作;
(2)管理员通过后台管理员界面,实现对借阅者信息管理,或发布系统公告,让借阅者实时知道最新的图书借还信息。
3.3 可行性分析
可行性分析是指通过比较项目的主要内容和支撑条件,如市场需求、资源供应、环境影响、资金筹措情况、盈利能力等,预测项目建成后可能产生的资金、经济效益、社会和环境影响,为项目决策提供依据的综合性系统分析方法。可行性研究报告编制的质量直接影响着投资决策的成,而可行性研究报告编制程序又决定了可行性研究报告能否得到有效执行。因此,必须重视可行性研究工作,提高其编制水平。可行性分析应当具有预见性、公正性、可靠性和科学性[13]。
图4-6出借者实体属性图
4.2.2 数据库表设计
数据表是用来保存多种数据的表,它是所有数据库的核心对象,且对于软件开发有着不可替代的作用。其相关数据表如下:
表4-1: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-2:收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 商品id
tablename varchar 200 表名
name varchar 200 名称
picture longtext 4294967295 图片
type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1
inteltype varchar 200 推荐类型
remark varchar 200 备注
表4-3:图书资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-4:留言簿
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 留言人id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
content longtext 4294967295 留言内容
cpicture longtext 4294967295 留言图片
reply longtext 4294967295 回复内容
rpicture longtext 4294967295 回复图片
表4-5:反馈信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jieyuezhanghao varchar 200 借阅账号
jieyuexingming varchar 200 借阅姓名
fankuishijian datetime 反馈时间
fankuineirong longtext 4294967295 反馈内容
表4-6:图书信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl longtext 4294967295 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
表4-7:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-8:图书信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tushubianhao varchar 200 图书编号
tushumingcheng varchar 200 图书名称
fengmian longtext 4294967295 封面
tushufenlei varchar 200 图书分类
shuliang int 数量
meirifeiyong int 每日费用
yajin int 押金
zuozhe varchar 200 作者
chubanshe varchar 200 出版社
jianjie longtext 4294967295 简介
xiangxijieshao longtext 4294967295 详细介绍
chujiezhanghao varchar 200 出借账号
chujiexingming varchar 200 出借姓名
thumbsupnum int 赞 0
crazilynum int 踩 0
clicktime datetime 最近点击时间
clicknum int 点击次数 0
表4-9:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-10:图书借阅
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jieyuebianhao varchar 200 借阅编号
tushubianhao varchar 200 图书编号
tushumingcheng varchar 200 图书名称
shuliang int 数量
meirifeiyong int 每日费用
jieyuetianshu int 借阅天数
yajin int 押金
jine int 金额
jiechushijian date 借出时间
jieyuezhanghao varchar 200 借阅账号
jieyuejine varchar 200 借阅金额
chujiezhanghao varchar 200 出借账号
表4-11:出租收入
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhuti varchar 200 主题
chujiezhanghao varchar 200 出借账号
chujiexingming varchar 200 出借姓名
jine int 金额
tuihaiyajin varchar 200 退还压金
shidejine varchar 200 实得金额
riqi date 日期
表4-12:图书归还
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jieyuebianhao varchar 200 借阅编号
tushubianhao varchar 200 图书编号
tushumingcheng varchar 200 图书名称
shuliang int 数量
yajin int 押金
guihaishijian date 归还时间
jieyuezhanghao varchar 200 借阅账号
chujiezhanghao varchar 200 出借账号
guihaibeizhu varchar 200 归还备注
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
ispay varchar 200 是否支付 未支付
表4-13:出借者
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
chujiezhanghao varchar 200 出借账号
mima varchar 200 密码
chujiexingming varchar 200 出借姓名
touxiang longtext 4294967295 头像
xingbie varchar 200 性别
shoujihaoma varchar 200 手机号码
shidejine int 实得金额
表4-14:图书分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
tushufenlei varchar 200 图书分类
表4-15:借阅者
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jieyuezhanghao varchar 200 借阅账号
mima varchar 200 密码
jieyuexingming varchar 200 借阅姓名
touxiang longtext 4294967295 头像
xingbie varchar 200 性别
shoujihaoma varchar 200 手机号码
jine int 金额
4.3 本章小结
通过本章针对“共享书角”图书借还管理系统功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。
第5章 系统实现
系统实现章节的主要内容主要是将系统分析和系统设计方案进行实现,按照各个系统角色进行功能介绍,系统实现就是一个真正开始编写的阶段,将前面的分析结果以及设计方案进行实现,最终做出一个符合用户需求的软件系统。
5.1小程序端实现
5.1.1注册登录界面的实现
第一次使用本小程序的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将借阅者信息录入注册表,确认信息正确后,系统才会进入登录界面,借阅者登录成功后可使用本小程序所提供的所有功能。
第6章 系统测试
系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能和非功能两个方面的测试用例进行分析与比较可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。测试将侧重于功能测试,这是黑盒测试的一部分,黑盒测试的重点是用户提供的要求,而不是系统的实际代码。
6.1 系统测试的目的
系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行。
6.2 系统功能测试
在系统的功能性测试中,开发人员需要按照操作要求使“共享书角”图书借还管理系统软件的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果,主要是对MySQL数据库里的数据进行增删改查等。
6.2.1 登录注册功能测试
软件测试的第一步是“共享书角”图书借还管理系统的借阅者注册登录功能模块进行测试,测试借阅者在初次进入软件系统时,是否可以使用注册后登录的功能,具体测试的步骤如表6-1所示。
表6-1 登录注册管理功能测试数据表
编号 测试的功能 步骤 预期结果 实际结果
1 借阅者注册 正确填写注册信息,然后点击注册按钮 可以完成借阅者注册 注册成功
2 借阅者登录 正确输入账号、密码,然后点击登录按钮 可以完成借阅者登录 借阅者登录成功
6.2.2. 借阅者管理功能测试
系统的管理层可在此模块进行以下操作:对借阅者基础信息的修改;对借阅者的登录密码进行重置;删除借阅者;新增借阅者;根据关键词进行检索。以账号:abo 密码:123456为例对该功能进行测试。测试操作如表6-2所示:
表6-2 借阅者管理测试过程及结果
测试项 测试用例 测试特性 用例描述 系统反应 测试结果
借阅者管理操作 账号:abo
密码:123456 功能测试 添加一个新用户,基础信息与已有用户完全一致 添加失败,提示“该用户已存在” 通过
借阅者管理操作 账号:abo
密码:999999 功能测试 添加一个新用户,基础信息与已存在用户均有所不同 添加成功 通过
借阅者管理操作 账号:abo
密码:123456 功能测试 修改系统中账号 修改成功 通过
借阅者管理操作 账号:abo
密码:123456 功能测试 删除系统中用户 删除成功 通过
借阅者管理操作 账号:abo
密码:123456 功能测试 按关键词搜索用户信息 查找成功 通过
借阅者管理操作 账号:abo
密码:88888888 功能测试 重置用户密码 密码修改成功 通过
6.3 本章小结
本章所做的主要工作是对系统进行功能性测试。网站管理系统的正确性是网站的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。
结 论
在设计“共享书角”图书借还管理系统的过程中采用nodejs架构技术,后台数据采用MySQL数据库来进行存储。
此系统为“共享书角”图书借还管理系统,为了达成预期效果该系统拥有管理员,出借者和借阅者三种角色。借阅者可以实现对图书借阅,图书归还,反馈信息,留言簿等功能进行操作。管理员则可以通过后台管理功能对整个系统的信息进行管理,如每个借阅者发布在论坛上的信息,都需要经过管理员审核才能被其他借阅者所看到,借阅者所发布的图书借还也需要通过审核,除此之外平台的所有公告也是由管理员直接发布,以此来达到维护整个平台信息健康的目的。
基于微信小程序的“共享书角”图书借还管理系统的设计与实现的设计与实现基本上自己在大学生活中学习的大部分知识都融入了进去,但是还不够,在许多方面还没有考虑全面,相信自己在进入工作中会更加努力,做出更加完美的系统。