前端开发框架:vue.js
数据库 mysql 版本不限
后端语言框架支持:
1 java(SSM/springboot)-idea/eclipse
2.Nodejs+Vue.js -vscode
3.python(flask/django)--pycharm/vscode
4.php(thinkphp/laravel)-hbuilderx
数据库工具:Navicat/SQLyog等都可以
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 项目背景及意义 1
1.2 国内外研究现状 2
1.2.1国外研究现状 2
1.2.2国内研究现状 2
1.3论文的主要工作 3
1.4本文的组织结构 4
第2章 需求分析 4
2.1 用户需求分析 4
2.2 系统需求分析 5
2.2.1 系统功能性需求分析 6
2.2.2 系统非功能性需求分析 6
第3章 系统总体设计 7
3.1 系统技术架构 7
3.1.1 python编程语言 8
3.1.2 B/S模式 8
3.1.3 MySQL数据库 9
3.2 系统架构设计 10
3.3 系统过滤推荐技术 11
第4章 系统详细设计 13
4.1 类机构设计 14
4.2 功能模块详细设计 15
4.3 数据库设计 17
第5章 系统的实现与测试 18
5.1 登录功能实现 18
5.2 管理员管理模块 23
5.3 系统的调试与测试 24
结 语 26
参考文献 27
附 录 28
致 谢 31
第1章 系统详细设计
4.1类结构设计
4.2功能模块详细设计
本系统设计时,确定详细功能,这些功能主要通过需求阶段的调研分析得来的,具体功能模块如下图,如图4-2,4-3所示。
图4-3图书推荐系统用户功能结构设计
1、注册、登陆
该系统根据操作权限的不同分为管理员和用户两种,新用户在登陆前要进行用户注册,注册完成后方可进行登陆。
2、用户功能
(1)注册、登录、退出。
(2)个人信息管理。
(3)图书查询。
(4)首页界面图书推荐(基于协同过滤)。
(5)对图书进行收藏模块、对图书进行评分。
3、管理员功能
(1)注册登录。
(2)管理用户信息:查看用户信息,并且可以对用户进行删除操作。
(3)管理员信息增删改查。
(4)图书管理模块:查询图书、添加图书、修改图书信息、删除图书。
(5)图书推荐管理。
4.3数据库设计
4.2.1 数据库设计概述
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
用户信息实体图如图4-2所示:
图4-2用户实体图
在软件系统的开发过程中,最关键的一个步骤就是建立一个完整的表格,在这个表格中,首先要有一个完整的表格,然后才能决定各个表格的数量;通过对表格的组织、表格间的相互联系等进行分析,以确保整个体系的稳定。数据库的作用就是对工程中所有的数据进行保存,并保证其安全。一个完整的表格,包括了工程中的每个元素的字段和特性,本文经常使用概念模型进行设计,即为E-R模型。
图4-3 系统数据库
第2章 系统的实现与测试
5.1图书推荐系统登录功能实现
当管理员输入用户名称及密码后,按「登录」键,系统会比对资料库中储存的资料,若用户名称及密码符合资料库储存资料;系统会跳跃到使用者页面,如果不是,会有提示错误,将会出现登录页。图5.1系统登录界
图5.1系统登录界面
5.2管理员管理模块
管理员登录系统后,可以对首页、用户、图书分类、图书信息、图书交流、系统管理、订单管理、我的信息等功能进行相应操作,如图5-2所示。
图5.2首页信息界面
5.2.1用户管理模块
管理员可以对用户的信息进行查看、删除、增加及更新操作。程序成效图如下图5-3所示:
图5.3 用户信息界面
5.2.2图书信息管理模块
管理员可以对图书信息进行查看、删除、修改、新增及查看评论等操作,程序效果图如下图5-4所示:
图5.4图书信息界面
5.2.3图书分类管理模块
管理员可以对图书分类进行添加、删除、更新和查看等操作。程序效果图如下图5-5所示:
图5.5图书分类信息界面
5.2.4读书交流管理模块
管理员对读书交流帖子进行查看详情及评论、删除及更新等。程序效果图如下图5-6所示:
图5.6 读书交流界面
5.3系统的调试与测试
一个系统在设计好之后,就会开始进行测试。这个测试的目的,就是要检验一个已经设计好的网站,是否可以正常工作,并尽可能的发现页面上的问题;这样,在随后的页面被运用后,最大限度的减少了错误。
5.3.1 测试定义
软件测试就是为了判断它是否符合预先定义的要求、规格和期望而进行的一个程序。其目的在于找出错误、缺陷及问题,以保证软件的质量与可靠性。
通过对软件进行测试,可以有效地查找和修正软件中存在的问题,从而提升了软件的质量与可靠性,保证了软件符合使用者的要求。在整个软件开发流程中,这是一个必不可少的环节,对于降低系统失败率,降低系统出现的问题,保证系统运行的稳定性和可靠性。
通过对不同类型的软件进行分析,得出不同的结论。测试者采用黑盒测试、白盒测试、灰箱测试等多种测试手段,并结合单元测试、集成测试、系统测试和验收测试等多种测试手段,涵盖了各个层面、各个阶段的测试要求。
5.3.1 测试目的
测试的目的是检验系统的稳定性和可行性。这是一个必不可少的步骤,也是一个非常关键的步骤。对于软件开发而言,在编写各个单独的功能时,要进行单独的测试,并且要在测试阶段完成多个功能的软件的开发;不但能够提高开发速度,而且能够在前期测试中,在进行中发现问题,要避免在合并之后的程序中无法快速发现问题。
5.3.1 测试方案
对于一个测试项目来说,掌握测试项目是最重要的。这个测试方案应该包括所有的技术难点。必须保证其符合本文的目的,以便对其中所包括的一些重要缺陷和一些潜在的缺陷进行测试。在此基础上,采用白盒测试的方法进行测试,即通过对软件内部结构及代码的检测,对软件的性能进行评价。
功能测试
用户登录测试:
表6-1 用户登录测试
模块名称 测试用例 预期结果 实际结果 是否通过
登录成功模块 输入账号和密码 系统提示登录成功 跳转到登录成功后的首页 通过
登录失败模块 输入账号和密码 系统提示用户名或者密码错误 跳转到登录界面 通过
图书信息测试:
表6-2 图书信息测试
模块名称 测试用例 预期结果 实际结果 是否通过
添加图书信息模块 输入图书信息的基本信息,点击添加按钮 添加成功 系统提示添加图书信息成功 通过
修改图书信息模块 点击修改按钮,系统显示图书信息,修改图书信息,点击提交按钮 修改成功 系统提示修改图书信息成功 通过
删除图书信息模块 点击删除按钮 删除成功 系统提示删除改图书信息成功 通过
用户信息测试:
表6-3 用户信息测试
模块名称 测试用例 预期结果 实际结果 是否通过
添加用户信息 输入用户信息的基本信息,点击添加按钮 添加成功 系统提示添加用户信息成功 通过
修改用户信息 点击修改按钮,系统显示用户信息,修改用户信息,点击提交按钮 修改成功 系统提示修改用户信息成功 通过
删除用户信息 点击删除按钮 删除成功 系统提示删除用户信息成功 通过
通过对功能的测试,图书推荐系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
5.3.1 测试分析
通过上述测试实验,证明了本系统在技术上、操作上和经济上完全可行,并且在实际操作中使用起来也很方便;该系统可以实现所有的功能,完全满足了用户的需求,有较高的实用价值。总的来说,该系统的测试是合格的。