摘要
本论文主要叙述了怎样基于Spark开发一个豆瓣册本保举系统,本系统将严格按照软件开发流程进行各个阶段的工作,面向对象编程头脑进行项目开发。在弁言中,作者将叙述豆瓣册本保举系统的当前配景以及系统开发的目标,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。
豆瓣册本保举系统的主要利用者分为管理员和普通用户,实现功能包罗管理员:系统用户、册本信息管理、册本范例管理、数据信息管理、五星分析管理、作者分析管理、评论分析管理、系统管理、关照公告管理、资源管理等模块,普通用户:首页、关照公告、消息资讯、册本信息、我的账户、个人中心等功能。由于本网站的功能模块设计比力全面,以是使得整个豆瓣册本保举系统信息管理的过程得以实现。
本豆瓣册本保举系统是以Spark这一框架为基础,接纳Java的编程语言,利用了MySQL这一数据库进行开发的,可以实现本豆瓣册本保举系统管理的信息化,让用户更加直接的了解册本信息保举,也方便管理员进行更加方便快捷的进行信息管理。
关键词:豆瓣册本保举系统;Java语言;Spark;MySQL数据库
Abstract
This paper mainly discusses how to develop a Douban book recommendation system based on Spark. The system will strictly follow the software development process for each stage of work, and the object-oriented programming concept will be used for project development. In the introduction, the author will discuss the current background of the Douban book recommendation system and the purpose of system development. Subsequent chapters will strictly follow the software development process to analyze and design the system at each stage.
The main users of the Douban Book Recommendation System are divided into administrators and ordinary users. The implementation functions include administrator: system user, book information management, book type management, data information management, five-star analysis management, author analysis management, comment analysis management, system management, notification announcement management, resource management, and other modules. Ordinary users: homepage, notification announcement, news information, book information, my account, personal center, and other functions. Due to the comprehensive design of the functional modules on this website, the information management process of the entire Douban book recommendation system can be achieved.
This Douban book recommendation system is based on the Spark framework, developed using Java programming language and MySQL database. It can achieve information management of the Douban book recommendation system, allowing users to have a more direct understanding of book information recommendations and facilitating administrators to manage information more conveniently and quickly.
Keywords: Douban Book Recommendation System; Java language; Spark; MySQL database
目次
摘要
Abstract
第 1 章 引 言
1.1 选题配景
1.2 研究目标和意义
1.3 研究现状
1.4 主要研究内容
1.5 论文结构安排
第 2 章 干系理论和技术
2.1 B/S体系结构介绍
2.2 Spark框架介绍
2.3 MySQL数据库
2.4 Java语言
第 3 章 豆瓣册本保举系统的需求分析
3.1 系统可行性分析
3.1.1 技术可行性分析
3.1.2 经济可行性分析
3.1.3 操作可行性分析
3.2 系统需求分析
3.2.1 功能需求分析
3.2.2 非功能需求分析
3.3 系统用例分析
3.4 系统流程分析
3.4.1 数据增长流程
3.4.2 数据修改流程
3.4.3 数据删除流程
3.5 本章末节
第 4 章 豆瓣册本保举系统总体设计
4.1 系统架构设计
4.2 系统功能模块设计
4.3 数据库设计
4.3.1 数据库概念结构设计
4.3.2 数据库逻辑结构设计
4.4 本章小结
第 5 章 关键模块的设计与实现
5.1 前台首页模块
5.2 登录模块
5.3 注册模块
5.4 关照公告模块
5.5 消息资讯模块
5.6 册本信息模块
5.7 系统用户管理模块
5.8 数据信息管理模块
5.9 系统管理模块
第 6 章 系统测试
6.1 测试的目标
6.2 系统部分测试
6.3 系统测试效果
第 7 章 结论
参考文献
致谢
随着互联网的迅猛发展和数据量的爆炸性增长,人们在获取信息和娱乐方面越来越依赖于各种保举系统。保举系统通过分析用户的历史行为、兴趣和偏好,从海量的数据中过滤出个性化的保举内容,为用户提供更加精准的服务。在图书领域,豆瓣作为一个知名的图书评分和评论平台,拥有大量的用户数据和图书信息,为构建图书保举系统提供了宝贵的数据资源。
Spark作为一种高性能的通用分布式计算引擎,具有快速、可扩展和易用的特点,被广泛应用于大规模数据处置惩罚和机器学习任务。利用Spark进行数据处置惩罚和分析,能够更好地实现个性化保举系统的构建,提升系统的性能和服从。
基于Spark的豆瓣册本保举系统的搭建,旨在充分利用豆瓣平台丰富的用户数据和图书信息,通过Spark强大的计算能力,实现更精准、高效的图书保举。该系统不仅可以提升用户体验,提高用户参与度,还可以促进豆瓣平台的发展和强大。同时,该研究对于保举系统在图书领域的应用具有肯定的借鉴意义,为其他图书保举系统的构建提供方法和思路。
随着人工智能和大数据技术的发展,保举系统已成为许多互联网平台的紧张组成部分。豆瓣作为一个综合性图书评价和保举平台,拥有大量的用户和海量的图书信息。通过构建基于Spark的豆瓣册本保举系统,可以实现精准的保举,提升用户体验,增长用户黏性,并为豆瓣平台提供更多商业代价。
豆瓣册本保举系统可以根据用户的历史阅读记载、评分和兴趣偏好,精确地为用户保举合适的图书。通过个性化的保举,能够资助用户快速找到本身感兴趣的图书,提高用户的满意度。一个高效的保举系统能够吸引更多的用户利用平台,并提升用户的活跃度。通过为用户保举新颖、感兴趣的图书,可以增长用户在平台上的停留时间,提高平台的活跃度。
豆瓣作为一个大型图书评价和保举平台,可以通过保举系统吸引更多的读者和作者参加平台。同时,基于大数据分析用户的行为和偏好,可以为广告商提供精确的投放目标,从而增长平台的商业代价。通过分析用户的阅读风俗和偏好,豆瓣可以对图书市场进行精准的需求预测和产品定位。同时,保举系统也能够为图书出书社和作者提供有针对性的市场调研和推广渠道,推动整个图书行业的发展。
总之,基于Spark的豆瓣册本保举系统的研究目标和意义在于提高用户满意度、提升平台活跃度、增强平台商业代价,推动图书行业的发展。这对于豆瓣平台和整个图书行业都具有紧张的实际应用代价。
随着互联网的迅速发展,人们可以越来越便捷地获取到海量的图书信息。然而,由于信息过载和个人阅读兴趣的多样化,用户经常会感到困惑和疲惫。因此,图书保举系统作为一种办理方案被广泛应用于图书市场。
目前,许多图书保举系统主要基于协同过滤算法或内容过滤算法进行保举。协同过滤算法根据用户间的历史行为或偏好进行保举,而内容过滤算法则根据图书的特征和用户的兴趣进行保举。然而,这些方法都存在肯定的局限性。协同过滤算法需要大量的用户行为数据,并且面对冷启动问题,即新用户缺乏足够的行为数据。内容过滤算法则轻易导致保举效果过于相似或重复。
近年来,基于大数据技术的图书保举系统得到了广泛关注。大数据技术可以处置惩罚海量的数据,为保举系统提供更准确、个性化的保举效果。而Apache Spark作为一种分布式计算框架,具有高性能、高可伸缩性和易用性等优势,被广泛应用于大数据分析和机器学习任务。因此,基于Spark的图书保举系统正在成为研究的热门。
此外,豆瓣作为一个具有庞大用户数目和图书库的外交网络平台,拥有丰富的图书信息和用户行为数据。因此,基于Spark的豆瓣图书保举系统有着广阔的应用前景。通过利用Spark的分布式计算能力和豆瓣的用户行为数据,可以实现更准确、个性化的图书保举。
综上所述,基于Spark的豆瓣图书保举系统是当前研究的热门之一。利用Spark的分布式计算能力和豆瓣的用户行为数据,可以实现更准确、个性化的图书保举。该研究可以为图书保举系统的发展提供有用的办理方案和技术参考。
本研究旨在利用大数据爬虫技术获取豆瓣平台上的原始图书数据,并结合Spark框架进行数据处置惩罚和分析,设计一个基于用户行为、图书特征和外交网络信息的豆瓣图书保举系统,资助用户发现符合个性化需求的图书。详细研究内容如下:
(1)数据爬取与洗濯:利用大数据和爬虫技术,从豆瓣网站上获取图书信息、用户评论和评分数据,并进行洗濯和整合。
(2)数据存储与处置惩罚:接纳Spark等大数据存储和处置惩罚技术,对获取的数据进行存储、管理和预处置惩罚,为后续的数据分析做准备。
(3)用户行为分析:通过对用户历史行为和偏好进行分析,构建用户画像,了解用户的兴趣和行为特征。
(4)图书特征提取:从图书的属性、标签和内容等方面提取特征信息,在构建图书特征空间时考虑图书之间的相似性和关联性。
(5)保举系统设计:基于用户行为和图书特征,结合协同过滤、内容保举和外交网络分析技术,设计一个多维度、多因素的豆瓣图书保举系统。
第一章:绪论
本章主要介绍研究配景、意义和研究现状。起首,形貌了豆瓣册本保举系统的配景和干系领域的需求。然后,阐述了研究该系统的紧张性和潜在代价。最后,回顾了已有的干系研究和系统,并指出本文的主要研究内容和论文安排。
第二章:开发技术与工具
本章详细介绍了豆瓣册本保举系统所接纳的开发技术和开发工具。包罗数据库选择、编程语言选择、B/S结构等。还对这些技术和工具的优势和适用性进行了分析和比力。
第三章:系统分析
本章对豆瓣册本保举系统进行了系统分析。起首,形貌了系统的总体需求和功能形貌,明确了系统需要实现的主要功能和特点。然后,从功能性角度和非功能性角度分析了系统需求,并评估了系统的可行性和可实现性。
第四章:系统设计
本章是文章的紧张部分,详细介绍了豆瓣册本保举系统的系统架构和各个主要功能模块的设计。包罗系统架构图、数据库设计、用户界面设计等。每个功能模块都有相应的设计说明和流程图,确保系统的逻辑和功能完备性。
第五章:系统实现
本章形貌了豆瓣册本保举系统的详细实现过程。详细介绍了各个模块的详细实现方法和技术细节。同时,给出了干系代码片断和界面截图,以便读者更好地明白系统的实现过程。
第六章:测试与运行
本章对豆瓣册本保举系统进行了全面的测试和运行。起首,设计了一系列测试用例,并对系统进行了功能性和性能方面的测试。然后,详细记载了测试效果,并分析了系统的稳定性和可靠性。
第七章:总结与展望
最后一章对整个研究工作进行了总结,并对未来的发展提出了展望。总结部分回顾了系统的设计和实现过程,并夸大了所取得的成果和创新之处。展望部分则提出了进一步改进和扩展系统的建议,并展示了未来大概的研究方向和发展前景。
B/S体系,即Browser/Server体系,是一种常见的网络应用程序架构。其工作原理基于客户端与服务器之间的请求-相应模子。用户通过浏览器向服务器发送请求,服务器接收到请求后进行处置惩罚,并生成相应的相应效果,最终将相应返回给客户端。浏览器接收到服务器返回的相应后,解析此中的标记语言(如HTML),并根据CSS样式表和JavaScript脚本来渲染页面,出现给用户。用户可以与页面进行交互,例如点击链接、填写表单等操作,这些操作会触发新的请求,循环执行上述过程。
B/S体系具有许多优点,包罗跨平台性、易于维护和升级、减少客户端依赖等。它成为了现代Web应用程序开发的主流架构,广泛应用于各种互联网服务和企业级应用系统中。通过B/S体系,用户可以通过简单的浏览器访问各种在线服务和资源,无需安装额外的软件,提供了更便捷、机动的利用体验。同时,服务器端的集中管理和维护,使得系统的升级和更新更加高效和便捷。总之,B/S体系的工作原理为我们提供了一个稳定、可靠且高效的网络应用程序架构,为用户提供了便捷的互联网服务。
Apache Spark 是专为大规模数据处置惩罚而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出效果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使Spark在某些工作负载方面体现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark是在Scala语言中实现的,它将Scala用作其应用程序框架。与Hadoop不同,Spark 和 Scala 能够紧麋集成,此中的Scala可以像操作当地聚集对象一样轻松地操作分布式数据集。
尽管创建Spark是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop的补充,可以在Hadoop文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark由加州大学伯克利分校AMP实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低耽误的数据分析应用程序。
MySQL是一种广泛利用的开源关系型数据库管理系统(RDBMS),其稳定性、可靠性和卓越性能使其成为众多应用程序的首选数据库。MySQL支持标准SQL语法,并提供丰富的功能和特性,如变乱处置惩罚、触发器和存储过程等,以满意开发者对数据管理和操作的需求。MySQL具有良好的可扩展性,支持主从复制、分布式架构和集群部署,适用于各种规模和负载的应用场景。作为一个开源项目,MySQL拥有庞大的用户社区和活跃的开发者社区,为用户提供了丰富的文档、教程和支持资源。总之,MySQL是一款可靠、强大且机动的关系型数据库管理系统,通过其卓越性能和可扩展性,资助开发者高效地管理和操作数据,并得到了广大用户的认可和应用。
Java编程语言是一种面向对象的高级编程语言,以其简单、可移植、安全和高性能等特点在软件开发领域广泛应用。通过支持类、对象、继承、多态等面向对象概念,Java提供了结构化的编程方式,使代码更易读、维护和重用。其可移植性得益于Java虚拟机(JVM),使得Java程序可以在不同平台上运行,只需编写一次代码。Java注意安全性,提供了字节码验证、非常处置惩罚和访问控制等安全机制,确保程序的稳定和安全。此外,Java还拥有丰富的类库和框架,覆盖了各个领域,如图形界面、数据库操作和企业级应用。总而言之,Java作为一门成熟且强大的编程语言,在软件开发中发挥着紧张作用,资助开发者轻松构建可靠、可移植和安全的应用程序。
在软件开发的过程中,可行性分析是至关紧张的,它旨在评估问题的可行性,以便尽大概快地办理,同时也要考虑到不同的办理方案的优势和劣势,以及实行这些方案所带来的经济效益。通过对豆瓣册本保举系统的可行性分析,我们可以从技术、经济和操作三个方面来评估其可行性,从而为其提供有用的支持和保障。
在技术可行性方面,我们选择利用大数据版的Java作为开发语言,结合相应的框架Spark,以实现系统的功能需求。Java作为一种简洁而强大的编程语言,具有丰富的库支持和成熟的开发社区,可以满意豆瓣册本保举系统的开发需求。Spark作为Java的Web框架,提供了高度可扩展的开发环境,使得系统的设计和实现更加便捷和高效。
在开发豆瓣册本保举系统并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上通过走访观察目前用户对豆瓣册本保举系统的需求,了解它们对系统详细实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的。
操作方面主要考虑的是用户在利用以及管理人员在管理的时间,是否简单可行,没有任何计算机基础的用户能否利用,开发的豆瓣册本保举系统在设计的时间承袭简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成,因此在操作上也是可行的。
豆瓣册本保举系统的开发目标很简单,就是旨在通过利用大数据爬虫和Spark技术,构建一个高效精准的豆瓣册本保举系统。通过对用户的个人信息和阅读风俗进行分析,系统能够根据用户的需求和兴趣,向其保举适合的图书,并提供用户评论和评分等功能,实现册本的个性化保举。因此,系统在功能上分别为用户端和管理员端两部分。
前台用户端:
(1)用户注册:注册页面输入账号、设置密码、确认密码、昵称、邮箱、选择身份、用户姓名、用户性别、联系电话、商品范例等信息,点击“立即注册”,注册乐成会提示“注册乐成”。注册乐成后回到首页。
(2)用户登录:点击登录,登录时前端会自动校验输用户名、密码,输入正确登录乐成,输入错误会有对应提示信息。
(3)关照公告:用户点击“关照公告”以后,系统当中全部的关照公告都会展示出来,假如想要了解某一关照公告的详细信息,点击后面的“详情”会进入详情界面。
(4)消息资讯:用户点击“消息资讯”可以搜索查看资讯信息,并可对资讯信息进行点赞、收藏和发表评论等操作。
(5)册本信息:点击菜单栏“册本信息”就会显示出全部的册本信息,可以根据搜索册本名称或册本范例查看册本详细信息,包罗册本编号、册本名称、册本范例、作者姓名、出书社、点赞数、册本介绍等,可对册本信息进行点赞、收藏和发表评论等操作。
(6)我的账户:可以修改个人信息资料以及修改密码。
(7)个人中心:用户点击右上角的“用户名”,然后点击“个人中心”便可查看或删除个人收藏信息。
管理员端:
(1)个人资料:对个人的基本信息以及对本身账号登录的密码进行修改。
(2)系统用户:在系统用户管理模块中主要分了两部分,分别是管理员和普通用户,假如需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。
(3)册本信息管理:点击“册本信息列表”这个按钮可以查看到系统中全部发布的册本信息,管理员可进行详情查看、添加或删除等相应操作。也可以管控用户发布的评论信息。
(4)册本范例管理:管理员点击“册本范例管理”可对册本信息的范例进行添加管理,并可进行查询、重置或删除等相应操作。
(5)数据信息管理:点击“数据信息列表”这个按钮可以查看到系统中全部的数据信息信息,管理员可进行查询、重置或删除等相应操作。假如需要添加新的数据信息信息,管理员可以在背景起首在豆瓣上爬取整合册本数据信息,然后下载导入文档另存为文件。按照文档上面的格式添加数据,最后点击导入按钮导入数据,生成最新册本数据信息。可以对数据信息继承五星分析、作者分析、评论分析等信息的分析添加。
(6)五星分析管理:管理员点击“五星分析管理”可对添加的五星分析信息进行查看守理,可以进行查询、重置或删除操作。
(7)作者分析管理:管理员点击“作者分析管理”可对添加的作者分析信息进行查看守理,可以进行查询、重置或删除操作。
(8)评论分析管理:管理员点击“作评论分析管理”可对添加的评论分析信息进行查看守理,可以进行查询、重置或删除操作。
(9)系统管理:主要是轮播图管理,可进行查询、删除、添加,查看详情等操作,添加的轮播图在前台首页展示。
(10)关照公告管理:可进行查询、重置、删除、添加,查看详情等操作,添加的关照公告在前台首页展示。
(11)资源管理:主要是对系统展示的消息资讯以及资讯分类进行增删改查等操作。
非功能性分析旨在评估豆瓣册本保举系统的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保平台能够满意用户和系统运行的要求。详细如下3-1表格中:
表3-1豆瓣册本保举系统非功能需求表
非功能性要求
| 说明
| 性能
| 评估相应时间、并发用户数、吞吐量等指标,以确保平台稳定高效地运行。
| 可靠性
| 评估系统的稳定性、容错能力和数据完备性,保障系统在故障情况下正常运行。
| 安全性
| 评估用户身份认证、数据加密和访问控制等,保护用户信息和生意业务的安全。
| 可用性
| 评估系统的稳定性、故障处置惩罚能力和用户界面友好性,提供良好的用户体验。
| 扩展性
| 评估系统的可扩展性和机动性,以便根据需求进行功能扩展和升级。
| 系统用例分析是对豆瓣册本保举系统中各个功能模块的用户需求和行为进行分析,以识别和形貌不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程和交互方式,为系统设计和开发提供引导,并确保平台能够满意用户的需求和盼望。
豆瓣册本保举系统中用户脚色用例图如图3-1所示:
图3-1 用户脚色用例图
豆瓣册本保举系统中管理员脚色用例图如图3-2所示:
图3-2管理员脚色用例图
业务流程是用一些特定的符合和线条来进行演示用户在利用系统时的过程,在进行系统分析的时间,业务流程可以资助开发人员更好的明白业务,发现错误,完善系统。
用户登录系统后,选择要添加的信息范例,填写相应的信息表单并提交。系统对信息进行处置惩罚,并给予用户反馈效果。用户可以根据需要返回上级页面或继承操作。图3-3就是数据删除时的流程图。
图3-3 数据增长流程图
数据修改时的流程和上面介绍的数据增长时的流程差不多,如图3-4所示。
图3-4 数据修改流程图
用户登录系统后,导航至相应的信息管理功能入口。选择要删除的信息,并确认删除操作。系统进行删除处置惩罚,并给予用户反馈效果。用户可以根据需要返回上级页面或继承操作。图3-5就是数据删除时的流程图。
图3-5 数据删除流程图
本章主要通过对豆瓣册本保举系统的可行性分析、功能需求分析、系统用例分析和系统流程分析,确定了该系统所需实现的功能。这些分析效果为豆瓣册本保举系统的代码实现和测试提供了标准和引导。可行性分析考虑了技术、经济和操作的可行性,确保系统的实行可行;功能需求分析明确了系统需要实现的功能模块和详细要求;系统用例分析细化了系统功能,并定义了参与者、前置条件和基本流程;系统流程分析详细揭示了系统的运行流程和数据活动路径。这些分析效果为开发团队提供了明确的目标和引导,可以根据需求逐步实现各个功能模块,并在测试阶段验证系统是否满意预期要求。同时,分析效果也为未来的系统扩展和升级提供了基础和参考依据。
在系统架构设计中,我们将确定系统的团体结构和组件之间的关系。这包罗选择得当的架构风格,分别系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图4-1所示。
图4-1豆瓣册本保举系统架构设计图
体现层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于明白和操作的方式展示给用户。通常包罗用户界面、页面设计和用户输入验证等。
业务逻辑层(Business Logic Layer):处置惩罚系统的核心业务逻辑,包罗对用户请求的处置惩罚、业务规则的执行以及数据的处置惩罚和转换。它独立于体现层和数据层,实现了业务逻辑的封装和复用。
数据层(Data Layer):负责数据的存储、访问和管理,包罗数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有用地存储和检索数据。
这三个层次相互独立,通过明确的接口和协议进行通讯,实现了系统的模块化和可扩展性。体现层负责将用户的请求传递给业务逻辑层,业务逻辑层处置惩罚请求并返回效果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、机动性和可测试性。
通过团体功能模块设计,我们将根据需求分析的效果,将系统的功能分别为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处置惩罚逻辑和相互依赖关系。详细的功能模块图如图4-2所示。
图4-2 豆瓣册本保举系统功能模块图
数据库设计是系统开发中至关紧张的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我们将根据系统的需求设计数据库的概念结构和逻辑结构,包罗定义实体、属性、关系和束缚等。
数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模子大概其他得当的模子,我们将定义系统中涉及的各个实体以及它们之间的联系。下面是整个豆瓣册本保举系统中主要的数据库表总E-R实体关系图。
图4-3豆瓣册本保举系统总E-R关系图
数据库逻辑结构设计则是在概念结构的基础上,进行详细的数据库表设计。我们将定义每个表的结构、字段和束缚,并创建表与表之间的关系。详细如下:
表access_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
| 更新时间:
| 表author_analysis (作者分析)
编号
| 名称
| 数据范例
| 长度
| 小数位
| 答应空值
| 主键
| 默认值
| 说明
| 1
| author_analysis_id
| int
| 10
| 0
| N
| Y
|
| 作者分析ID
| 2
| book_name
| varchar
| 64
| 0
| Y
| N
|
| 册本名称
| 3
| book_author
| varchar
| 64
| 0
| Y
| N
|
| 册本作者
| 4
| press
| varchar
| 64
| 0
| Y
| N
|
| 出书社
| 5
| manufacturer
| varchar
| 64
| 0
| Y
| N
|
| 出品方
| 6
| analysis_remarks
| varchar
| 64
| 0
| Y
| N
|
| 分析备注
| 7
| create_time
| datetime
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 创建时间
| 8
| update_time
| timestamp
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 更新时间
| 表book_information (册本信息)
编号
| 名称
| 数据范例
| 长度
| 小数位
| 答应空值
| 主键
| 默认值
| 说明
| 1
| book_information_id
| int
| 10
| 0
| N
| Y
|
| 册本信息ID
| 2
| book_number
| varchar
| 64
| 0
| Y
| N
|
| 册本编号
| 3
| book_name
| varchar
| 64
| 0
| Y
| N
|
| 册本名称
| 4
| book_types
| varchar
| 64
| 0
| Y
| N
|
| 册本范例
| 5
| authors_name
| varchar
| 64
| 0
| Y
| N
|
| 作者姓名
| 6
| press
| varchar
| 64
| 0
| Y
| N
|
| 出书社
| 7
| book_images
| varchar
| 255
| 0
| Y
| N
|
| 册本图片
| 8
| book_introduction
| longtext
| 2147483647
| 0
| Y
| N
|
| 册本介绍
| 9
| hits
| int
| 10
| 0
| N
| N
| 0
| 点击数
| 10
| praise_len
| int
| 10
| 0
| N
| N
| 0
| 点赞数
| 11
| recommend
| int
| 10
| 0
| N
| N
| 0
| 智能保举
| 12
| create_time
| datetime
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 创建时间
| 13
| 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
| 更新时间:
| 表comment (评论)
编号
| 名称
| 数据范例
| 长度
| 小数位
| 答应空值
| 主键
| 默认值
| 说明
| 1
| comment_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:
| 表comment_analysis (评论分析)
编号
| 名称
| 数据范例
| 长度
| 小数位
| 答应空值
| 主键
| 默认值
| 说明
| 1
| comment_analysis_id
| int
| 10
| 0
| N
| Y
|
| 评论分析ID
| 2
| book_name
| varchar
| 64
| 0
| Y
| N
|
| 册本名称
| 3
| book_author
| varchar
| 64
| 0
| Y
| N
|
| 册本作者
| 4
| press
| varchar
| 64
| 0
| Y
| N
|
| 出书社
| 5
| manufacturer
| varchar
| 64
| 0
| Y
| N
|
| 出品方
| 6
| reviewer
| varchar
| 64
| 0
| Y
| N
|
| 评论人
| 7
| number_of_comments
| varchar
| 64
| 0
| Y
| N
|
| 评论数目
| 8
| create_time
| datetime
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 创建时间
| 9
| update_time
| timestamp
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 更新时间
| 表data_information (数据信息)
编号
| 名称
| 数据范例
| 长度
| 小数位
| 答应空值
| 主键
| 默认值
| 说明
| 1
| data_information_id
| int
| 10
| 0
| N
| Y
|
| 数据信息ID
| 2
| book_cover
| varchar
| 255
| 0
| Y
| N
|
| 册本封面
| 3
| book_name
| varchar
| 64
| 0
| Y
| N
|
| 册本名称
| 4
| book_author
| varchar
| 64
| 0
| Y
| N
|
| 册本作者
| 5
| publication_date
| varchar
| 64
| 0
| Y
| N
|
| 出书日期
| 6
| book_pages
| varchar
| 64
| 0
| Y
| N
|
| 册本页数
| 7
| book_pricing
| varchar
| 64
| 0
| Y
| N
|
| 册本定价
| 8
| book_decoration
| varchar
| 64
| 0
| Y
| N
|
| 册本装帧
| 9
| isbn
| varchar
| 64
| 0
| Y
| N
|
| ISBN
| 10
| press
| varchar
| 64
| 0
| Y
| N
|
| 出书社
| 11
| manufacturer
| varchar
| 64
| 0
| Y
| N
|
| 出品方
| 12
| five_star_proportion
| varchar
| 64
| 0
| Y
| N
|
| 五星占比
| 13
| four_star_proportion
| varchar
| 64
| 0
| Y
| N
|
| 四星占比
| 14
| samsungs_proportion
| varchar
| 64
| 0
| Y
| N
|
| 三星占比
| 15
| ratio_of_two_stars
| varchar
| 64
| 0
| Y
| N
|
| 两星占比
| 16
| one_star_occupancy_ratio
| varchar
| 64
| 0
| Y
| N
|
| 一星占比
| 17
| reviewer
| varchar
| 64
| 0
| Y
| N
|
| 评论人
| 18
| comment_time
| varchar
| 64
| 0
| Y
| N
|
| 评论时间
| 19
| comment_content
| text
| 65535
| 0
| Y
| N
|
| 评论内容
| 20
| create_time
| datetime
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 创建时间
| 21
| update_time
| timestamp
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 更新时间
| 表five_star_analysis (五星分析)
编号
| 名称
| 数据范例
| 长度
| 小数位
| 答应空值
| 主键
| 默认值
| 说明
| 1
| five_star_analysis_id
| int
| 10
| 0
| N
| Y
|
| 五星分析ID
| 2
| book_name
| varchar
| 64
| 0
| Y
| N
|
| 册本名称
| 3
| book_author
| varchar
| 64
| 0
| Y
| N
|
| 册本作者
| 4
| press
| varchar
| 64
| 0
| Y
| N
|
| 出书社
| 5
| manufacturer
| varchar
| 64
| 0
| Y
| N
|
| 出品方
| 6
| five_star_proportion
| varchar
| 64
| 0
| Y
| N
|
| 五星占比
| 7
| analysis_remarks
| varchar
| 64
| 0
| Y
| N
|
| 分析备注
| 8
| create_time
| datetime
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 创建时间
| 9
| update_time
| timestamp
| 19
| 0
| N
| N
| CURRENT_TIMESTAMP
| 更新时间
| 表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
| 更新时间:
| 表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_phone_number
| varchar
| 16
| 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
| 更新时间
| 表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
| email
| 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
| 创建时间:
| 15
| vip_level
| varchar
| 255
| 0
| Y
| N
|
| 会员等级
| 16
| vip_discount
| double
| 11
| 2
| Y
| N
| 0.00
| 会员扣头
| 表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
| 更新时间:
|
通过以上的设计工作,我们将为系统的开发提供清楚的引导和规范,确保系统能够按照需求进行开发,并且具备良好的可维护性和扩展性。
前台首页界面是用户访问系统的入口页面,它应该展示平台的主要功能和特色,并提供导航链接以便用户浏览和搜索册本信息。首页界面的设计应注意页面的美观性和用户体验,同时也需要考虑页面的加载速率和相应性能。其主界面展示如下图5-1所示。
图5-1系统首页界面图
用户登录界面用于已注册用户进行账号登录,用户需要输入正确的用户名和密码才气乐成登录系统。登录界面应对用户的输入进行验证,并提供密码找回或重新注册的选项。界面如下图所示。用户登录流程如图5-2所示,登录界面如下图5-3所示。
图5-2 用户登录流程
系统登录界面如下图所示。
图5-3登录界面图
用户注册界面用于新用户进行账号注册,用户需要填写须要的个人信息并选择合适的用户名和密码。注册界面应该进行输入验证和数据格式检查,确保用户提供有用的信息。界面如下图所示。注册流程图如图5-4所示,注册界面展示如下图5-5所示。
图5-3注册流程图
图5-4 前台注册界面图
当访客点击豆瓣册本保举系统中导航栏上的“关照公告”后将会进入到该“关照公告”列表的界面,然后选择想要看的关照公告,点击进入到详细界面。关照公告列表展示界面如下图所示。
图5-5关照公告界面图
用户点击“消息资讯”可以搜索查看资讯信息,并可对资讯信息进行点赞、收藏和发表评论等操作。消息资讯详情界面如下图5-6所示。
图5-6消息资讯界面图
册本信息模块的实现是指在豆瓣册本保举系统中,提供一个功能来管理和展示爬取的册本干系的信息。用户可以通过该模块查看册本的册本编号、册本名称、册本范例、作者姓名、出书社、点赞数、册本介绍等详细信息,并进行点赞、收藏、评论册本信息。这个模块的目标是方便用户对册本信息进行有用的浏览。册本信息详情如下图所示。
图5-7册本信息详情界面图
用户管理界面用于管理员对用户账号进行管理,包罗用户信息的查看、编辑和删除等操作。管理员可以根据需要进行用户权限的控制和账号状态的管理。界面如下图5-8所示。
图5-8系统用户管理界面图
管理员执行数据信息管理,并可以操作干系内容,管理员可以单个添加数据信息,也可以一键导入,一键导入方式管理员起首利用爬虫技术爬取豆瓣里的册本数据信息,然后下载导入文档另存为文件,按照文档上面的格式添加数据,最后点击导入按钮导入数据,生成最新数据信息信息。数据信息管理界面如下图5-9所示。
图5-9数据信息管理界面图
管理人员在“系统管理”这一菜单下是可以对豆瓣册本保举系统内的轮播图进行添加修改的,轮播图管理界面如下图5-10所示。
图5-10轮播图管理界面图
测试目标是为了验证系统的功能、性能和稳定性,以确保系统在实际应用中能够达到预期的要求。通过测试,可以发现潜在的问题和缺陷,并实时进行修复和改进。测试还可以评估系统的可靠性、安全性和用户体验,以提供一个高质量和可信任的产品。此外,测试也有助于验证系统是否满意用户需求和预期,是否符合相应的标准和规范。总之,测试的目标是为了确保系统的质量和可靠性,从而为用户提供良好的利用体验和代价。
表6-1用户注册测试用例
测试编号
| 测试内容
| 预期效果
| TC-001
| 输入有用信息
| 注册乐成,跳转到登录页面
| TC-002
| 输入已存在账号
| 显示账号已存在的提示信息
| TC-003
| 输入无效信息
| 显示注册失败的提示信息,要求重新输入有用信息
| 表6-2用户登录测试用例
测试编号
| 测试内容
| 预期效果
| TC-004
| 输入正确的账号密码
| 登录乐成,跳转到个人主页
| TC-005
| 输入错误的账号密码
| 显示登录失败的提示信息,要求重新输入正确的账号密码
| 表6-3 修改密码测试用例
测试编号
| 测试内容
| 预期效果
| TC-006
| 输入有用密码
| 密码修改乐成,显示修改乐成的提示信息
| TC-007
| 输入无效密码
| 显示密码无效的提示信息,要求重新输入有用密码
| TC-008
| 输入错误原密码
| 显示原密码错误的提示信息,要求重新输入正确原密码
| 表6-4 数据信息测试用例
测试编号
| 测试内容
| 预期效果
| TC-009
| 输入有用的数据信息
| 数据信息乐成,显示添加乐成的提示信息
| TC-010
| 输入无效的数据信息
| 显示添加失败的提示信息,要求重新输入有用信息
| 表6-5 查看册本信息测试用例
测试编号
| 测试内容
| 预期效果
| TC-014
| 点击查看册本信息
| 显示册本信息页面,展示干系的册本编号、册本名称、册本范例、作者姓名、出书社等内容
| TC-015
| 选择其他册本范例
| 显示所选分类下的干系册本信息等内容
| TC-016
| 无可用册本信息信息
| 显示暂无册本信息的提示信息,提醒用户重新选择册本范例
| 综上所述,豆瓣册本保举系统在功能测试中体现良好,通过了全部测试用例。系统提供的用户注册、登录、修改密码、数据信息、查看册本信息等主要功能都能正常运行,并能够给出预期的提示信息和效果。然而,为了确保系统的全面稳定性和质量,仍建议进行更多的综合性测试,包罗性能测试、安全性测试和用户体验测试等,以进一步验证和改进系统的功能和性能。
本文形貌了基于Spark的豆瓣册本保举系统设计与实现的原理和开发过程,在开发本豆瓣册本保举系统之前,起首通过网上查询现有的册本保举系统功能、线下通干涉卷观察的方式,了解用户对册本信息展示方面的详细需求,对系统的开发配景以及保举系统的研究现状进行研究,设计了本豆瓣册本保举系统详细实现的功能;确定好功能后,第二步就是开发工具的选择,在设计本豆瓣册本保举系统的时间,确定了利用大数据爬虫技术,接纳了现下比力流程的Java语言,接纳Spark框架,数据的存储方面接纳的是开源的MySQL数据库,接下来就是对系统需求的分析,在文中主要通过对幼豆瓣册本保举系统进行可行性、性能、功能、用例四个方面进行分析,确定了本豆瓣册本保举系统的详细功能,功能确定后就是对系统的设计以及,包罗前背景、数据库等方面,最终完成系统的开发,对系统进行测试总结。
在开发本豆瓣册本保举系统的过程中我成长了许多,学习到了许多书籍上没有的知识,目前系统固然已经完成,但是尚有许多地方需要改进,好比界面布局方面,代码的编写方面,都可以进一步完善,由于本身专业知识的浮浅,系统做的并不是非常完美,以后我会不断进行学习,对系统进行完善,希望有机会能够投入到学校的利用当中,给同学们提供便利。
参考文献
[1]Verma M ,Patnaik K P .An automatic college library book recommendation system using optimized Hidden Markov based weighted fuzzy ranking model[J].Engineering Applications of Artificial Intelligence,2024,130107664-.
[2]武思敏.用户信息需求分析与个性化图书保举系统的融合之道[J].文化财产,2024,(02):67-69.
[3]成胤钟.基于畅销书及意见领袖的图书保举系统[J].计算机应用与软件,2024,41(01):64-70+104.
[4]李峥妍.大数据期间下网络爬虫行为的刑法规制[J].市场周刊,2024,37(01):153-158.
[5]Wang Q ,Esquivel A J .A Reinforcement Learning Based on Book Recommendation System[J].Academic Journal of Computing Information Science,2023,6(13):
[6]孙进强,肖银宝.基于协同过滤-知识图谱的图书保举[J].科技风,2023,(36):70-72.DOI:10.19392/j.cnki.1671-7341.202336024.
[7]张卫东,陈希鹏,李松涛.多维框架下个性化保举系统的盛行度偏见测度方法与实证研究[J/OL].情报资料工作,1-16[2024-04-07].http://kns.cnki.net/kcms/detail/11.1448.G3.20231226.1426.006.html.
[8]顾炜伦.基于Spark和深度学习的图书保举算法与应用研究[D].西京学院,2023.DOI:10.27831/d.cnki.gxjxy.2023.000128.
[9]孙振坤.融合多种算法的图书保举系统研究[D].华东师范大学,2023.DOI:10.27149/d.cnki.ghdsu.2023.004132.
[10]韩骐键,李泳姗.基于数据挖掘技术的高校图书馆册本保举系统[J].信息与电脑(理论版),2023,35(19):171-173.
[11]杨玉枝.基于协同过滤算法的高校图书馆图书保举系统研究[J].科学咨询(科技·管理),2023,(07):110-113.
[12]李火苗.面向移动终端的图书馆册本智能保举系统[J].自动化技术与应用,2023,42(06):77-81.DOI:10.20033/j.1003-7241.(2023)06-0077-05.
[13]张雁涔.基于网络爬虫技术的企业大数据收罗系统设计[J].信息与电脑(理论版),2023,35(12):154-156.
[14]周美琪.基于混合保举的个性化图书保举系统的设计与实现[D].北京印刷学院,2023.DOI:10.26968/d.cnki.gbjyc.2023.000197.
[15]Luo K .A Study and Implementation of an Optimized University Library Book Recommendation System Based on Artificial Intelligence and Python Crawler Scraping Technology[J].Journal of Artificial Intelligence Practice,2023,6(2):
[16]Jianxin X ,Hui Y ,Meisen P .Book recommendation and purchase of intelligent image recognition technology under the background of 5G environment[J].Journal of Computational Methods in Sciences and Engineering,2023,23(2):995-1005.
[17]李佳蓓.基于多维度用户画像的高校图书资源个性化保举系统构建研究[D].云南师范大学,2021.DOI:10.27459/d.cnki.gynfc.2021.001492.
[18]朱帝同.基于大数据技术的读者保举系统的算法设计与优化[D].天津理工大学,2021.DOI:10.27360/d.cnki.gtlgy.2021.000636.
[19]彭星亮.基于大数据挖掘技术的高校个性化图书保举系统研究[D].深圳大学,2020.DOI:10.27321/d.cnki.gszdu.2020.000868.
[20]蒋弘毅.基于个人阅读风俗特征的个性化保举系统研究[D].浙江大学,2020.DOI:10.27461/d.cnki.gzjdx.2020.000477.
致谢
在完本钱研究工作过程中,我们要向引导老师表现衷心的感谢。感谢老师在选题、需求分析、系统设计和实现等方面给予的过细引导和支持。老师的专业知识和经验对我们的研究工作起到了紧张的引导作用。此外,还要感谢师兄师姐和同学们,他们在技术问题上给予了许多资助和建议。感谢他们的悉心引导和无私分享,使我们能够更好地完成研究工作。最后,要感谢家人和朋友们对我们学业上的明白和支持。感谢他们的鼓励和陪伴,给予了我们坚持下去的动力。
感谢全部为本研究工作做出贡献的人们!你们的支持和资助使本研究取得了乐成。再次向全部干系人员表现衷心的感谢!
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |