1 绪 论
本文研究的目标是通过对各种功能单元进行最优的整合,从而达到对各种管理的具体要求,从而最大限度地提高本行业的自动化和信息化水平,从而使得畅销图书推荐系统更清楚、更透明。操作简单,管理方便,可以实现自动检测,减少了畅销图书推荐的错误。畅销图书推荐系统最大的特色在于信息的处理,因为它涉及到大量的信息,而且涉及到的各种类型和复杂的管理,使得整个过程更加的繁琐。它们之间的联系很复杂,而且数据的检索和分析方式也很复杂。在以往的传统畅销图书推荐中,以上各项工作都是非常繁杂和繁琐的。由于在进行数据的加工时,往往会发生信息的反复传输和丢失,所以必须引进电脑进行信息的管理,以达到改善工作者管理工作的效果。
2 关键技术介绍
2.1 Java 语言
Java是一种在Web应用开发中得到广泛使用的脚本语言,经常被用来对用户的相关行为做出反应。它还具有面向对象的设计能力,使设计开发过程更加直观和模块化,并在HTML基础上进行交互Web页面的开发。这种脚本语言的问世,使用户与页面之间的实时、动态交互成为现实,丰富了页面的内容,增强了页面的活力。另外,Java技术也被广泛地运用于该系统,比如对用户输入的数据进行检测,以保证其有效性。Java技术可以在不依赖Web服务程序的基础上在本地客户机上运行。从而有效地解决了因网络速度所带来的迟缓问题,使用户能够更加顺畅、快捷地进行访问。一些功能,比如用户的数据输入,可以通过JavaScript这样的客户语言来完成。该系统采用Java客户机进行用户身份认证,确保了系统的安全性和可靠性。
2.2 Vue 简介
VUE是一套用于构建用户界面的渐进式框架。为了实现前后端分离的开发理念,开发前端 SPA(single page web application) 项目,实现数据绑定,路由配置,项目编译打包等一系列工作的技术框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动.
2. 3 MySQL 数据库
网站的发展必须与数据库相配套,数据库有一定的组织结构,可以存储和管理的数据信息,在过去的数据库的功能只是数据保存和管理操作,但时代的变化和发展,现在数据库已经演变成一种数据处理、数据库从一开始简单的存储的数据表信息现在可以存储成千上万的大型数据库中的数据,或者经历了很多改革。
本管理系统开发使用的数据库是MYSQL数据库,数据库运行速度快,安全性能也很高,而且使用平台没有任何限制,所以应该广泛的输送到系统的开发中去。MySQL是一个开源和多线程关系管理数据库系统,MySQL数据库是开源的,跨平台的阻力,尽管不是强大,导致很多人都知道的基本应用程序数据库在数据库中,每个表是对应的,每个都有自己的连接,数据库具有重要意义,你不能运行一个程序没有数据库的链接,你可以看到数据库和程序是多么重要,他们是如何紧密相连的。
2.4 Spring Boot框架
Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。
3 系统分析
3.1可行性分析
在开发一个新的软件之前,必须要进行一个系统的可行性研究,以最大限度地利用这个问题。以下我们将从系统,技术,操作、运营、法律等方面来决定该体系的发展[4]。
3.1. 1 系统可行性分析
利用计算机支持高效率完成畅销图书推荐系统的日常事务,是适应现代化制度要求、推动信息管理系统走向科学化、规范化的必要条件;同时计算机有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高畅销图书推荐系统的效率,也是本系统信息化的重要条件[5]。
3.1.2 技术可行性分析
畅销图书推荐系统在使用电脑和信息分析系统这些设计没有硬性要求,电脑只要是可以正常使用的话,那么代码和页面设计就是可行的。要求高的主要是服务器,平台上传服务器一定要选择性价比高和安全性高的,打开网站一定要顺滑不卡顿,所以硬件也是可行的[6]。
3. 1.3 操作可行性分析
将根据管理系统中的用户体验和管理员的效率来分析该措施的可行性。管理人员和用户都可以通过简单的操作登录进对应的系统页面,方便用户搜索业务信息和管理人员管理数据,不需要特别懂电脑的人也可以轻松访问系统模块。该系统已完全投入使用[7]。
3.1.4运营可行性
可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用于小孩,成人和老人。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。JAVA 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说Java的可移植性很强,那么系统的价值越高,可行性也就越强。
3.1.5法律可行性
该畅销图书推荐系统是面向大众开源化和不收取任何费用的。它的主要目的是帮助用户解决购买图书问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制和商品价格解释。
3 .2 需求分析
需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
这个阶段所要求做的就是将上述的分析具体化,设计出能满足预定目标系统的过程。从粗到细,根据程序结构化设计的要求,把整个项目分为二个用户角色,分别是管理员与用户。在具体的功能模块设计上,二个角色的功能又不尽相同[8]。作为系统实施的基础,系统设计的作用尤为重要。
3. 3 系统用例图
畅销图书推荐系统可以将功能划分为用户的使用功能和管理员功能。
(1)用户关键功能包含用户注册登录,图书信息、热销图书、新书资讯、在线客服、购物车等有关信息,并进行详细操作。用户用例如下:
图3-1 用户用例图
(2)管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除,包括用户功能。管理员用例如下:
图3-2管理员用例图
3. 4 系统流程的分析
3.4.1 用户管理的流程
用户管理包括:添加用户信息,查看用户信息,修改用户信息,删除/激活用户信息。添加用户信息后设置用户信息的参数,如果参数合法,保存用户信息,否则需要重新设置参数;查询用户信息需要输入查询关键字,然后返回查询信息;查看用户信息就可以查看详细的信息;修改用户信息需要修改参数,如果修改后的参数合法,保存用户信息,否则需要重新修改参数;删除/激活用户信息后删除/激活用户信息成功[9]。用户管理的流程如图3-3所示。
图3-3 用户管理流程
3.4.2 个人中心管理流程
进入主页面后点击个人中心查看,点击修改密码进入修改密码页面,输入原密码和新密码,判断是否符合要求,如果符合要求即可保存,否则需要重新输入。个人中心管理流程如图3-4所示[10]。
图3-4 个人中心管理流程
3.4.3 登录流程
进入登录界面后,输入用户名和密码,选择角色后验证,如果正确进入主界面,否则需要重新输入。登录流程如图3-5所示[11]。
图3-5 登录流程
4系统设计
4.1 软件功能模块设计
畅销图书推荐系统分为二个模块,分别是管理员功能模块和用户功能模块。管理员功能模块包括:用户、图书类型、图书信息、热销图书、系统和订单功能,用户功能模块包括:图书信息、热销图书、新书资讯、在线客服、购物车,网站总体功能如下图所示[12]。
图4-1畅销图书推荐系统总体功能模块图
4.2 数据库设计
4.2.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
用户信息包括:账号、昵称、性别、手机、邮箱、头像。
用户信息实体图如图4-2所示。
图4-2用户信息实体图
购物车包括:商品表名、用户id、商品id、商品名称、图片、购买数量、单价、会员价、商品类型。
购物车实体图如图4-3所示。
图4-3购物车实体图
图书信息包括:图书名称、图书类型、图片、作者、出版社、出版时间、单限、库存、点击次数、价格。
图书信息实体图如图4-4所示。
图4-4图书信息实体图
热销图书包括:图书名称、图书类型、图片、作者、出版社、热销排名、单限、库存、点击次数、价格。
热销图书实体图如图4-5所示。
图4-5热销图书实体图
4.2.2 数据表
学习程序设计,如果要了解数据库管理系统或者是根据需求而制定的系统接口,就必须创建一种数据库管理系统的模式,用来保存数据资料,这样当在应用编程过程中时候,就不需要再向操作系统页面上加载信息,进而增加了整个系统的工作效率。信息库管理系统中保存着许多数据,应该说是一个管理信息系统建设的中心和基础,而信息库管理系统也为管理信息系统建设提出了新增、删除、更改和搜索的操作功能,使管理信息系统建设能够迅速地查询所需要的数据,而不会直接从程序代码中查找。信息库管理系统通过将信息表的各个组成部分按照特定的方法准确地合并,排序和组成信息库管理系统。
本系统采用的是MySQL数据库存储数据,系统中使用到的主要数据表的具体展示部分如下所示。
表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 |
| refid | bigint | | 关联表id | | |
| userid | bigint | | 用户id | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| nickname | varchar | 200 | 用户名 | | |
| content | longtext | 4294967295 | 评论内容 | | |
| reply | longtext | 4294967295 | 回复内容 | | |
.
.
.
表4-14:图书信息
|----------------|-----------|------------|--------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tushumingcheng | varchar | 200 | 图书名称 | | |
| tushuleixing | varchar | 200 | 图书类型 | | |
| tupian | longtext | 4294967295 | 图片 | | |
| zuozhe | varchar | 200 | 作者 | | |
| chubanshe | varchar | 200 | 出版社 | | |
| chubanshijian | date | | 出版时间 | | |
| tushujianjie | longtext | 4294967295 | 图书简介 | | |
| onelimittimes | int | | 单限 | | |
| alllimittimes | int | | 库存 | | |
| clicktime | datetime | | 最近点击时间 | | |
| clicknum | int | | 点击次数 | | 0 |
| price | float | | 价格 | | |
表4-15:购物车表
|---------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| tablename | varchar | 200 | 商品表名 | | rexiaotushu |
| userid | bigint | | 用户id | | |
| goodid | bigint | | 商品id | | |
| goodname | varchar | 200 | 商品名称 | | |
| picture | longtext | 4294967295 | 图片 | | |
| buynumber | int | | 购买数量 | | |
| price | float | | 单价 | | |
| discountprice | float | | 会员价 | | |
| goodtype | varchar | 200 | 商品类型 | | |
5 系统功能实现
5.1 前台用户模块 实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到畅销图书推荐系统的导航条显示首页、图书信息、热销图书、新书资讯、在线客服、购物车等,系统首页界面如图5-1所示:
图5-1 系统首页界面
当用户进入系统进行相关操作前必须进行注册、登录,用户注册、用户登录界面如图5-2所示:
图5-2 用户注册、用户登录界面
用户点击图书信息,在图书信息页面的搜索栏输入图书名称、图书类型,进行查询,还可以查看图书名称、图书类型、图片、作者、出版社、出版时间、单限、库存、点击次数、价格等信息,然后添加到购物车、立即购买、收藏或者评论等操作,如图5-3所示:
图5-3图书信息页面
购物车:用户将想要购买的商品加入购物车,加入购物车后可以增减数量、删除、点击购买,可一键清除失效商品,如图5-4所示:
图5-4购物车页面
点击在线客服,用户可以输入内容进行咨询,管理员可以在后台进行查看并回复,达到用户和管理员交流的效果,如图5-5所示:
图5-5在线客服页面
在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对我的订单、我的地址、我的收藏进行详细操作,如图5-6所示:
图5-6个人中心界面
5.2 后台 管理员模块实现
管理员登录,在登录页面正确输入用户名和密码后,点击登录操作;如图5-7所示。
图5-7 管理员登录界面
管理员进入系统主页面,主要功能包括对系统首页、个人中心、用户管理、图书类型管理、图书信息管理、热销图书管理、系统管理、订单管理等进行操作。管理员主页面如图5-8所示:
图5-8 管理员主界面
管理员点击用户管理,在用户管理页面对账号、昵称、性别、手机、邮箱、头像等信息,可以查询、新增、修改或删除用户信息等操作。如图5-9所示:
图5-9 用户管理界面
管理员点击图书类型管理,在图书类型管理页面对图书类型等信息,可以查询、新增、修改或删除图书类型等操作。如图5-10所示:
图5-10图书类型管理界面
管理员点击图书信息管理,在图书信息管理页面对图书名称、图书类型、图片、作者、出版社、出版时间、单限、库存、点击次数、价格等信息,可以查询、新增或删除图书信息等操作。如图5-11所示:
图5-11 图书信息管理界面
管理员点击热销图书管理,在热销图书管理页面对图书名称、图书类型、图片、作者、出版社、热销排名、单限、库存、点击次数、价格等信息,可以查询、新增或删除热销图书等操作。如图5-12所示:
图5-12 热销图书管理界面
管理员点击系统管理,在系统管理页面对轮播图管理、新书资讯、在线客服等信息,可以查询或删除系统信息等操作。如图5-13所示:
图5-13系统管理界面
管理员点击订单管理,在订单管理页面对订单编号、商品名称、商品图片、购买数量、价格、折扣价格、总价格、折扣总价格、支付类型、状态、地址、电话、收货人、备注、商品类型、下单时间等信息,可以查询或删除订单信息等操作。如图5-14所示:
图5-14订单管理界面
6 系统测试
在经过长期的测试与修改下,系统能正常运行,已经达到基本的要求,但难免有时会出现一些报错和Bug,如果忽略一些不起眼的小问题有可能会产生连锁反应:数据的报错,数据的无缘被修改以及泄露,甚至会成为不法分子的可乘之机,给开发者和使用者造成惨重的代价。综合以上几点,必修要对这个完成的系统进行测试,只有通过一定的测试来解决这些出现的问题。通过不断地进行测试,一步一步的发现系统中的问题,然后对问题进行一次又一次的修改,使该畅销图书推荐系统更加完善,最后争取没有漏洞和Bug,成为一个接近完美无暇的畅销图书推荐系统的网站。还要在测试修改的过程中吸取经验:自己为什么会犯这种错误、代码的编写哪个逻辑环节出了错误、又有哪些地方是因为自己的粗心大意造成的等等。使系统本身接近完美以及以后的维护更加快捷方便[13]。
本课题根据实际需求情况,选择以功能为主要的黑盒测试方法。具体测试过程如下:
当用户输入用户名和密码后未勾选用户时,系统提示"请选择用户登录类型";当输入错误的用户名或密码时,系统提示"账号或密码不正确";当输入正确的用户名和密码时,系统提示"登陆成功"后进入首页;当输入用户名和密码后点击重置,用户名和密码清空,则可以重新输入用户名和密码。如表6-1所示[14]。
表6-1登录功能测试表
|------|----------------|-------------|-------------|
| 测试内容 | 测试数据 | 期望结果 | 实际结果 |
| 登录功能 | 用户名:430 密码:430 | 提示请选择用户登录类型 | 提示请选择用户登录类型 |
| 登录功能 | 用户名:430 密码:123 | 提示账号或密码不正确 | 提示账号或密码不正确 |
| 登录功能 | 用户名:430 密码:430 | 提示登陆成功 | 提示登陆成功 |
| 重置功能 | 用户名:430 密码:430 | 用户名和密码重置 | 用户名和密码重置 |
当只输入账号后点击注册时,系统提示"必填项不能为空";当只输入账号、密码和注册密码时,系统提示"姓名不能为空";当输入账号、密码、注册密码和姓名后,系统提示"注册成功"并且进入登录界面;当输入账号后点击重置,账号清空,则可以重新输入[15]。如表6-2所示。
表6-2注册功能测试表
|------|------------------------------|---------------|---------------|
| 测试内容 | 测试数据 | 期望结果 | 实际结果 |
| 注册功能 | 账号:507 | 提示必填项不能为空 | 提示必填项不能为空 |
| 注册功能 | 账号:507 密码:507 确认密码:507 | 提示姓名不能为空 | 提示姓名不能为空 |
| 注册功能 | 账号:507 密码:507 确认密码:507 姓名:王一 | 提示注册成功,进入登录界面 | 提示注册成功,进入登录界面 |
| 重置功能 | 账号:507 | 账号重置 | 账号重置 |
6 . 1 **** 系统测试结论****
本系统主要使用黑盒测试,通过模拟用户使用系统实现各个功能编写测试用例,并进行测试。以确保系统流程的正确性。系统测试必不可少,可以使系统更加完善,该系统的可使用性也会更高。