游客用户功能需求分析_第1页
游客用户功能需求分析_第2页
游客用户功能需求分析_第3页
游客用户功能需求分析_第4页
游客用户功能需求分析_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论1.1系统开发背景根据中国互联网络信息中心(CNNIC)在2019年2月28日发布的第43次《中国互联网络发展状况统计报告》[1]可知,截至2018年12月,我国的网名规模已经达到了8.29亿,较2017年新增网民5653万,同比增长3.8%,互联网普及率已经接近60%,博客在网民的不断增长的过程也发挥了很大作用。作为一种继BBS,Email,ICQ之后的全新的互联网交流的网络工具,已经成为最有影响力的互联网媒体的新星。由于博客具有自由的表现自我个性和全新的娱乐模式,使用博客成为新兴人群追求时尚的一种新途径。随着社会经济以及互联网的快速发展,人们的求知心理和获取信息的迅速方便,使得博客及博客文化不断繁荣发展,广受网民的热捧。相较于传统互联网媒体,开放性、共享性是博客的最大特征,而传统的互联网媒体都是由政府机关、社会组织以及企业自我把控的,存在中间介质的控制与主导,博客则是消除了这些中间介质,使得个人的空间变得公开,两者之间存在着毋庸置疑的颠覆性。博客与其他互联网通信的媒体,例如Email、QQ,WeChat,BBS等相比较,Eamil、QQ、WeChat更多的是用于人与人之间的通讯媒体,而BBS具有很强的公共性质而缺乏个人性;而博客则是把二者有效的相结合,用户可以通过其与其他人交流沟通,也可以在网络上张扬自己的个性,而且博客的反馈渠道也是非常畅通的。博客也是一种网络日记,相较于传统日记,博客失去了私密性,变得大众化,是大家想看就可以,不在是纯粹的私人空间,具有很强开放性,交互性,而且随着博客的发展,其呈现出来的内容,和人们的学习,工作以生活息息相关,广受大众的喜欢,而且作为技术类以及学术类博客也很受大家追捧。虽然如此,在博客占比更多的是带有自传性质的,这也局限了该类博客以后的长远发展。而且个人博客在当今博客健康飞速发展的背景下,也面临着许多问题,包括有些人利用博客的开放共享性,随意的发布谣言,对他人进行诋毁,人身攻击,为达到自己的私欲,不择手段的恶搞。这也需要博客的管理者加强管控。1.2开发的目的及意义开发个人博客管理系统就是用于作为个人的网络私人日志,向大众展示自我,也可以通过使用博客来学习相关专业技术知识,以及与他人互动交流。相较其他互联网媒体,博客具有以下几大优势:检索方式快捷博客提供了各式搜索方式,可以通过博客的分类标签,热门类,站长推荐,关键字类供用户获取相应的博客内容。获取信息方便快捷互联网作为信息传递的工具,可以为用户提供各式各样的信息进行参考学习,这也是博客本身开放及共享性所决定的。风险小,成本低博客使用者可以随时随地在网络上浏览各式各样的博客信息。对所遇到的问题可以随时可以发表评论,博主也已就发表提问者给出自己的建议。而且开博也没有什么限制什么的,也不需要什么花销。1.3系统设计目标个人博客管理系统根据用户的实际需要,因此本系统的设计目标如下所示:(1)系统实用性:系统能够解决用户实际使用中所遇见的问题,这也是系统设计最基本的原则所在。(2)系统稳定性:系统的稳定性是所有的应用型系统的出发点,如果一个系统频频出现故障,这也会导致用户体验感下降,也不能满足用户的需求。(3)系统易用性:系统的易用性是让用户在使用系统的过程中不会产生烦躁以及挫折感,不仅仅只是设计符合用户需求的使用界面,而且界面设计应该清晰明了,方便用户理解与使用。(4)易于维护与更新:系统实现了对数据库表的数据实时维护与更新2系统设计方案及相关技术介绍2.1系统研究方法对于个人博客管理系统,首先要明确其的定位,再者就是确定其的所提供的服务。作为一个博客网站,主要提供注册登录服务,文章服务,评论服务。然后通过去图书馆去查阅相关的专业性书籍、期刊、杂志去获取最新关于对个人博客管理系统的研究,并且通过互联网去参阅相关博客网站,调研他们网站的模型及功能。然后根据自己之前所学的软件工程方面的知识,通过软件定性分析的方法,对于博客管理系统的原型进行系统需求分析,确定数据库表结构及各个表之间的关系,为后期的系统的实现阶段做好准备工作。2.2系统设计方案个人博客系统的总体设计结构选型摒弃了比较传统的C/S架构模式,采用了企业级Web开发所选的B/S架构,通过MVC的三层模式设计。Web服务器端所采用的是tomcat服务器,数据库所选的是Mysql数据库,配合Mybatis开源框架进行dao层的开发。客户端运行环境所选的是谷歌浏览器,配合使用包括Bootstrap,jquery等前端框架对页面进行设计及数据的渲染。开发工具所选的idea。2.3相关技术介绍1.SpringBoot技术介绍SpringBoot作为一个基于Spring框架的扩展的快速开发框架,它相较于Spring框架简化了大量繁琐的xml配置,并且全部采用了自Spring3.0以来的注解方式,完全的自动配置类,内嵌入Web服务器包括Jetty,Tomcat,以Java应用程序的方式启动项目,不需要,而且能够快速的整合第三方依赖,提供starterpom来简化maven配置,提供外部化配置,程序健壮检查,以及生产指标。2.Mybatis技术介绍Mybatis作为Apache下面的一个开源ORM框架[4],它是对传统的JDBC对数据库的操作过程进行改进和封装,让使用者不用去关心包括数据库的注册驱动,创建数据库链接,statement创建,数据结果集的繁杂的检索等问题,只需要去关心如何写sql语句就可以了。而且Mybatis采用注解方式或配置xml方式来配置要执行的对数据库的增删改查的satement操作,并通过反射机制来返回映射成Java对象的数据结果集或传递sql语句参数。根据Mybatis的功能特点可以将Mybatis分为三层:基础支撑层,负责对MyBatis最基本的功能支撑,包括像对数据库的链接管理,缓存处理,mybatis的配置加载以及数据库的事务管理,向上层提供最基本的功能支撑;数据处理层,该层负责具体的sql查找,sql解析,sql执行以及数据结果集的映射,以来完成对数据库的操作;API接口层,向外界提供相应的开放接口,使调用者可以通过这些开放的接口来调用数据处理层完成相应的数据库操作3.Shiro技术介绍Shiro也是Apache下面的一个开源的权限框架,向使用者提供用户认证,用户授权,加密操作,session管理,这也是Shiro的安全基石[5]。用户认证指的是对用户进行检查是谁的一个过程;用户授权指的是对已经认证用过的用户分配相应的访问控制权限;加密操作指的是对用户比较敏感的数据信息通过相应的加密算法进行加密操作以保证用户数据的安全;session管理是对用户指定的会话进行管理。Shiro也包括三大组件,即是subject,securityManager,realms。Subject代表了当前主体的安全操作,当主体访问系统的时候,系统需要对主体进行认证和授权操作;securityManager是用来协调Shiro内部的各个安全组件,提供安全性服务管理操作;realms提供了对当前登录用户进行认证和授权的操作,内部封装了对数据库的操作细节,并且提供shiro所需的数据。3系统分析3.1系统的可行性分析在设计和实现个人博客网站之前,首先分析了实现该博客系统的硬件与软件环境,以及实现的技术。根据自己在实习共做当中所学会的技术,因此使用Java语言开发出个人博客管理,而且还采用MVC模式,将博客系统的业务层与表现层分开,便于代码的修改与任务的明确,写出任务计划安排。软件环境首先需要Web服务器,选用的SpringBoot内嵌入的tamcat,可以进行代码测试发布。对于编程软件,我选用比较流行的idea作为系统的开发工具,因为这个开发工具自己使用的非常熟练了。对于数据库,我选用的是MySQL,具有免费、小巧、运行速度快、性能好等优点,能够满足博客系统数据的存储处理。因此在系统的开发技术上是可行的。在经济可行性方面,因为自己基本上使用的是开源的框架及免费的软件编程工具,因此在经济可行性方面,个人博客系统的开发经济较低,所以在经济可行性发面是可以的。3.2系统的需求分析需求分析是根据个人博客管理的特点以及用户的需求进行调研与分析,这也是实现个人博客管理系统的第一步,通过确定了博客使用者的具体需求,才能够设计出一款符合大众的博客管理系统。因此,在系统设计之处需要花时间去调研和分析大众博客使用者的具体需求,确定博客网站的具体的功能模块,方便后期的数据库设计与系统的具体实现。3.2.1游客用户功能需求分析对于游客来说,可以对文章进行点赞,发表评论,留言,文章检索功能。下面将对游客的功能进行详细描述。1.文章点赞游客在浏览文章时,可以对文章进行点赞的操作。2.发表评论游客在浏览已经开启评论功能的博客文章的时,可以根据自己的需要对文章进行评论的操作。3.留言游客可以在留言板页面可以根据自己的需要发表留言。4.文章检索文章的检索是指游客可以在页面的搜索栏里,根据输入的关键字对博客文章进行检索查询并将检索到的内容反馈到前端页面展示。3.2.2博主用户功能需求分析对于博主来说,可以对文章点赞,发表评论,留言,文章检索,个人中心,文章管理,网站管理。文章管理中有文章列表(文章的发布,文章修改,文章删除,文章查询),网站管理中有评论管理(评论回复,评论删除),系统的登录注册。下面将对博主的功能进行详细描述,对于文章点赞,发表评论,留言及文章检索与游客这方面功能相同将不在描述,具体可以参照游客用户功能需求分析。1.个人中心博客用户在个人中心的个人主页中查看个人发表的文章及相关个人信息的展示。2.文章管理文章管理里面只有文章列表,其中包括了文章的增删改查。文章的新增指的是博主可以户可以随时发布新的博客文章包括一些IT技术类的文章,并且可以设置该文章的分类与标签,文章的封面图片,并且设置是否轮播,是否推荐,是否置顶等等的操作;文章修改指的是博主可以对已经发布的文章进行相关信息的修改,包括修改文章的内容,封面图片以及其他一些相关信息的修改;文章删除指的是博主可以对一些已经过时或是一些已经不想要的博客文章进行删除;文章查询,博主可以根据相关条件对文章进行模糊匹配查询或是精确查询。3.网站管理网站管理里面只有评论管理,其中包括了评论的回复及删除。评论的回复指的是可以对审核通过的留言以及评论进行回复;评论删除指的是或者对一些不想看到的评论进行删除。4.登录注册博主登录功能是指已经拥有博客系统账户的用户输入注册时的用户名、密码以及验证码登入博客网站,后端对登录者输入的用户名、密码以及验证码进行校验核查,校验通过进入前端博客系统网站首页,校验失败则提示用户错误信息,让用户更正并重新登录系统;博主的注册是指为拥有博客账户在博客网站上申请注册账号,注册者通过在注册页面填写需要的注册信息,将填写好的信息提交到后端校验核查,当信息符合要求后向前端反馈注册成功信息。若注册信息不符合要求,则向反馈提示注册失败信息。3.2.3系统管理员功能需求分析对于系统管理员来说,可以对文章点赞,发表评论,留言板留言,文章检索,个人中心,文章管理,网站管理,用户管理。文章管理分为文章列表(文章的发布,文章修改,文章删除,文章查询),分类管理(分类增删改),标签管理(标签的增删改查),网站管理分为友链管理(友情链接的增删改查),评论管理(评论审核,回复,删除),用户管理分为博主管理(博主的增删改查及角色分配),角色管理(角色的增删改查及权限分配),权限管理(权限的增删改),登录,下面将对系统管理员用户功能进行描述,对于文章点赞,发表评论,留言及文章检索与游客这方面功能相同而且登录,个人中心功能与博主的登录,个人中心功能相同,所以将不在描述,具体可以参照游客和博主用户功能需求分析。1.文章管理文章管理分为文章列表,分类管理,标签管理,其中文章列表功能与博主的文章列表功能相同,在此不在描述。系统管理员可以对博客文章的分类目录进行修改,添加新的文章的分类,若该分类下已经存在文章则不能添加新的文章分类,以及删除文章的分类目录;系统管理员可以添加文章的标签,修改标签的相关信息,以及删除一些不需要的文章标签或是查询相关标签信息2.网站管理网站管理分为友链管理,评论管理。系统管理员可以添加一些有用的资源链接例如码云,知乎,github等等,也可以修改已经添加的友情链接信息,或者删除一些不想要展示的友情链接信息;评论管理的评论的删除和回复与博主中评论管理的删除和回复相同,所以在此不在介绍,系统管理员对发表的评论以及留言进行审核,对一些不良言论进行审核不通过,并且将之删除。3用户管理用户管理分为博主管理,角色管理,权限管理。系统管理员可以对博客网站的系统用户的信息进行管理,包括对已注册用户信息的修改,添加新的博客用户信息,对新增用户分配角色,或是已存在的用户的角色进行修改,和一些长时间不使用的用户信息进行删除或是批量删除,以及可以通过相关参数对用户进行检索,方便于系统管理员查找相关用户的信息;系统管理员可以对系统的角色信息进行管理,包括对已存在角色的信息的修改,添加新的系统角色信息,删除以及不需要的角色信息,对存在的角色信息进行权限的修改,对新增的角色进行分配相关的系统的权限;系统管理员可以对系统权限信息进行管理于维护,对已存在的权限信息进行相关信息的修改,删除一些不想需要的系统权限,添加新的系统权限信息。3.3非功能性需求分析个人博客管理系统的设计不仅要实现了基本的博客信息管理需求,也实现了一些的非功能性的需求,包括系统性能需求、用户信息数据安全性、友好的操作页面设计等。(1)系统性能需求:个人博客管理系统采用了在数据处理上有具有良好的性能的Mysql数据库作为博客管理系统的数据库。博客使用者在使用本系统时,系统的响应速度及返回的相关检索结果的可靠性,这些都是提供用户体验的总要指标。(2)用户信息数据安全性:博客管理信息的数据库中保存了大量的用户信息,为了提高用户相关信息的安全性,对于用户比较敏感的信息都进行了相关加密处理,比如用户的登录密码。 (3)友好的操作界面:对于博客使用来说,信息交互界面设计的好坏与否将会直接影响到用户的体验。所以信息交互操作界面尽量做到简介明了,不要做的太复杂,便于用户的浏览及操作4概要设计本节是对个人博客系统的概要设计,也是根据需求分析所得到的抽象的功能模块需求设计成具体的软件系统结构以及系统数据结构,将个人博客管理系统进行模块化的设计,定义并确定好每个模块所需的接口。接下来将从博客系统的架构设计,系统的模块化设计以及数据库设计层次对个人博客系统进行详细描述。4.1博客系统架构设计本系统的底层架构设计与实现用的是B/S架构模式,如图如图4-1所示,这也是现在Web开发的基本的架构模式,它采用的是将用户的功能及操作界面放在了浏览器端,将底层的业务和事务逻辑放在了服务器端来实现,这就形成了三层结构。用户通过浏览器访问指定的链接路径,服务器端返回相关JSON数据或动态网页,以网页的形式展现给用户,这也简化了浏览器端的负荷,使用也越来越方便,软件维护相较于传统的C/S架构模式也是非常方便的。在博客系统前端的设计中既采用了模板化语言对服务器端返回的数据进行渲染,也采用了异步刷新页面的Ajax技术与服务器端进行交互。博客系统的后端采用的是SpringBoot框架快速整合第三发框架,比如orm框架mybatis,通过shiro权限框架对系统提供身份认证,用户授权,登录密码的加密及会话管理,页面渲染采用的是比较通用性的thymleaf模板,通过maven来管理项目的构建。图4-1网站架构示意图4.2博客系统功能模块设计4.2.1系统总体结构图系统总体结构如图4-2所示图4-2系统总体结构图4.2.2系统模块设计1.文章管理模块文章管理模块是整个系统中最主要的一个模块,分为文章列表,分类管理,标签管理模块。博主只拥有文章管理中文章列表这一个小模块,而系统管理员拥有文章管理模块中所有模块。文章管理模块结构图如图4-3所示图4-3文章管理模块结构图2.网站管理模块网站管理模块分为两个模块,一个是评论管理模块,博主可以对系统管理员审核通过的评论进行回复,删除。而系统管理员可以对每一条评论或留言进行审核,对一些不正当的言论审核不通过或删除以及回复。另一个则是友链管理模块,系统管理员可以对添加,修改,删除,查询友链信息,而普通用户则没有权限进行此项操作。网站管理模块结构图如图4-4所示。图4-4网站管理模块结构图3.用户管理模块用户管理模块是对博主用户,系统角色,系统权限进行管理,所以可以根据功能划分为三个小模块,包括了博主管理模块,角色管理模块,权限管理模块。博主管理模块针对的是对博主用户信息进行管理,可以对博主信息进行增删改查的操作,其中最重要的是分配用户角色,用户的角色不同,所拥有的权限是不同的;角色管理中最重要的是分配系统权限,每一角色分配的系统权限是不同的;系统权限管理是对系统的权限进行管理,包括栏目、菜单、按钮的信息的新增,修改,删除。用户管理模块结构图如图4-5所示。

图4-5用户管理模块结构图4.3数据库结构设计对于博客系统的设计而言,数据库的结构设计也是非常重要的。因为数据库要存储大量的信息包括用户信息,角色信息,权限信息,文章信息,文章分类信息,文章标签信息,文章被浏览信息,友链信息,评论留言信息,文章或评论点赞信息以及其他一些重要信息,而且数据库表之间存在的关联关系因数据库表的不同而不同,有的是一对一,有的是一对对多,并且需要经常对表数据进行插入、修改、查询、删除操作,因此数据库表的设计结构的好坏与否也会直接影响系统的性能,如果设计的好也会减轻写数据处理的过程。通过对博客系统的功能性需求和功能模块化的分析与设计,系统采用了现在比较流行的小型关系型数据路Mysql数据库,Mysql数据库比较合适中小型系统的数据存储,安全可靠。所有数据库表的表结构如下所示1.系统用户表(user)表结构如表4-1所示表4-1系统用户表(user)字段数据类型非空主键备注IDINT(11)YY索引号USER_IDVARCHAR(64)YN用户IDUSERNAMEVARCHAR(50)YN用户名PASSWORDVARCHAR(50)YN密码SALTVARCHAR(128)NN加密盐值NICKNAMEVARCHAR(50)NN昵称EMAILVARCHAR(50)NN邮箱PHONEVARCHAR(50)NN联系电话SEXINT(10)NN性别AGEINT(3)NN年龄DESCRIPTIONVARCHAR(255)NN个人介绍IMGVARCHAR(255)NN头像地址STATUSINT(1)YN用户状态CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间LAST_LOGIN_TIMEDATETIMENN最后登录时间2.系统角色表(role)表结构如表4-2所示表4-2系统用户表(user)字段数据类型非空主键备注IDINT(11)YY索引号续上表ROLE_IDVARCHAR(64)YN角色IDNAMEVARCHAR(50)YN角色名称DESCRIPTIONVARCHAR(255)NN角色描述STATUSINT(1)YN角色状态CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间3.系统权限表(permission)表结构如表4-3所示表4-3系统权限表(permission)字段数据类型非空主键备注IDINT(11)YY索引号PERMISSION_IDVARCHAR(64)YN权限IDNAMEVARCHAR(50)YN名称DESCRIPTIONVARCHAR(255)NN描述PERMSVARCHAR(255)NN权限标识PARENT_IDVARCHAR(255)NN父级IDTYPEINT(1)NN类型ICONVARCHAR(50)NN图标STATUSINT(1)NN状态CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间4.博客文章表(blog_article)表结构如表4-4所示表4-4博客文章表(permission)字段数据类型非空主键备注IDINT(11)YY索引号TITLEVARCHAR(255)NN标题USER_IDVARCHAR(64)NN用户IDAUTHORVARCHAR(50)NN作者COVER_IMAGEVARCHAR(255)NN封面图片CONTENTLONGTEXTNN文章内容TOPTINYINTNN是否置顶CATEGORY_IDINT(11)NN类型续上表STATUSTINYINTNN状态RECOMMENGEGTINYINTNN是否推荐SLIDERTINYINTNN是否轮播SLIDER_IMGVARCHAR(255)NN轮播图地址ORIGINALTINYINTNN是否原创KEYWORDSVARCHAR(200)NN文章简介DESCRIPTIONVARCHAR(255)NN文章关键字COMMENTTINYINTNN是否开启评论CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间5.博客分类表(blog_category)表结构如表4-5所示表4-5博客分类表(blog_category)字段数据类型非空主键备注IDINT(11)YY索引号PIDINT(11)YN父级IDNAMEVARCHAR(50)YN名称DESCRIPTIONVARCHAR(200)NN描述SORTINT(10)NN排序ICONVARCHAR(100)NN图标STATUSTINYINT(1)NN状态CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间6.博客标签表(blog_tags)表结构如图4-6所示图4-6博客标签表(blog_tags)字段数据类型非空主键备注IDINT(11)YY索引号NAMEVARCHAR(50)YN标签名DESCRIPTIONVARCHAR(100)NN描述CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间7.博客友链表(blog_link)表结构如图4-7所示表4-7博客友链表(blog_link)字段数据类型非空主键备注IDINT(11)YY索引号NAMEVARCHAR(50)NN链接名URLVARCHAR(200)NN地址DESCRIPTIONVARCHAR(255)NN介绍EMAILVARCHAR(100)NN邮箱QQVARCHAR(50)NNQQSTATUSINT(1)NN状态REMARKVARCHAR(255)NN备注CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间8.博客评论表(blog_comment)表结构如图4-8所示表4-8博客评论表(blog_comment)字段数据类型非空主键备注IDINT(20)YY索引号SIDVARCHAR(20)NN文章IDUSER_IDVARCHAR(64)NN用户IDPIDVARCHAR(20)NN父级IDEMAILVARCHAR(100)NN邮箱QQVARCHAR(50)NNQQNICKNAMEVARCHAR(13)NN昵称AVATARVARCHAR(255)NN头像地址IPVARCHAR(64)NNIP地址COMTENTVARCHAR(2000)NN评论内容STATUSINT(1)NN状态REMARKVARCHAR(255)NN备注CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间9.文章浏览表(blog_article_look)表结构如表4-9所示。表4-9文章浏览表(blog_article_look)字段数据类型非空主键备注续上表IDINT(11)YY索引号ARTICLE_IDINT(11)YN文章IDUSER_IDVARCHAR(64)NN用户IDUSER_IPVARCHAR(50)NN用户IPLOOK_TIMEDATETIMENN浏览时间CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间10.文章标签表(blog_article_tags)表结构如表4-10所示。表4-10文章标签表(blog_article_tags)字段数据类型非空主键备注IDINT(11)YY索引号TAG_IDINT(11)YN标签IDARTICLE_IDINT(11)NN文章IDCREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间11.点赞表(blog_love)表结构如表4-11所示。表4-11点赞表(blog_love)字段数据类型非空主键备注IDINT(11)YY索引号BLOG_IDINT(11)YN业务IDBLOG_TYPETINYINT(1)NN业务类型USER_IDVARCHAR(64)NN用户IDUSER_IPVARCHAR(50)NN用户IPSTATUSTINYINT(1)NN状态CREATE_TIMEDATETIMENN创建时间UPDATE_TIMEDATETIMRNN更新时间12.角色权限表(role_permission)表结构如表4-12所示。表4-12角色权限表(role_permission)字段数据类型非空主键备注IDINT(11)YY索引号续上表ROLE_IDVARCHAR(64)YN角色IDPERMISSION_IDVARCHAR(64)YN权限ID13.用户角色表(user_role)表结构如表4-13所示。表4-13用户角色表(user_role)字段数据类型非空主键备注IDINT(11)YY索引号USER_IDVARCHAR(64)YN用户IDROLE_IDVARCHAR(64)YN角色ID5系统详细设计与实现本章节是对个人博客系统的详细设计与实现进行介绍,也是对上一章节系统的功能模块化设计以及系统的架构选型确定的详细设计与实现。包含了对每一个功能模块的实现过程和具体业务逻辑编码,同时也会通过图片方式展示相对重要功能模块的实现细节以及页面详情。5.1框架配置本个人博客系统所用的是SpringBoot+Mybatis+shiro作为系统的框架进行开发的Web项目。采用SpringBoot框架目的就是简化传统的spring框架搭建项目的xml配置,而且能够快速整合第三方开源框架。本项目采用的是maven项目构建以及管理工具,pom.xml配置了以下依赖,包括web组件,thymeleaf模板,aop组件,druid数据库连接池,kaptcha验证码插件,mybatis插件,shiro组件等等。在项目成功构建好时,项目下会有一个application.yml文件,该文件是项目的默认的配置文件,文件中设置了访问的端口号8090,dispacherservlet监听路径/yblog,tomcaturi编码utf-8,以及其他一些包括日志配置,数据库配置,视图配置,虚拟路径配置,上传文件路径配置等等。5.2游客模块设计与实现游客进入博客网站的首页,可以点击博客文章进行浏览,文章浏览页面如图5-1所示。图5-1文章浏览页面1.文章点赞当游客进入文章浏览界面时,如果用户觉的文章写的不错,文章浏览页面有一个点赞的功能,当游客/博主点击的时候,将发送一次请求进入服务器,服务器将会对此次点赞时用户的ip地址和用户点赞时间去判断该用户是否已经点赞,若没有,向数据库点赞表插入一条记录,返回点赞成功信息,页面点赞次数加一。文章点赞详情如图5-2所示。图5-2文章点赞页面2.评论功能的具体实现游客在浏览博文的时候,可以对已经开放评论功能的博文进行发表评论。若是用户没有登录,则要输入昵称,邮箱等信息。当游客填写好评论信息,点击发表评论按钮,将出发提交用户评论信息事件,服务器将对提交的数据进行处理,并向数据库评论表插入一条记录。提交的评论信息必须通过系统管理员的审核才会在文章下方显示。评论发表页面详情如图5-3所示。图5-3评论发表页面3.留言游客点击导航栏的留言板,页面将跳转至留言板页面。页面详情如图5-25所示。留言功能与发表评论功能类似,所以不在加以阐述。图5-4留言板留言页面4.文章检索游客可以在首页的导航条的文章检索输入框输入要搜索的关键字,点击搜索,页面将输入框中的关键字信息提交至服务器,服务器对请求数据进行处理,然后将数据库中匹配的数据返回至页面,页面对服务器返回的数据进行渲染。页面详情如图5-5所示。图5-5首页文章检索

5.3博主模块设计与实现1.登录注册功能设计与实现已经在本系统注册账号的用户可以通过博客首页导航栏的登录链接跳转到用户登录页面,并且填写用户账户,密码以及验证码信息。点击登录按钮将对填写的数据提交到服务器端进行校验,认证,授权,通过后则跳转到博客首页,校验失败后,后台则会返回相关错误提示信息在页面上显示。登录页面如图5-6所示。图5-6登录页面未注册账户的用户的游客,可以从登录页面的注册链接跳转到用户注册页面,填写相关注册信息,点击注册按钮提交注册信息给服务器端进行校验,若校验没有错误则会给用户分配角色,并且跳转至用户登录界面,校验失败则提示相关错误信息。页面如图5-7所示。

图5-7注册界面2.个人中心模块设计个人主页设计主要显示自己所发布的文章的列表,右边的导航栏显示个人信息。未登录用户将不能进入个人主页,个人主页页面如图5-8所示图5-8个人主页3.文章管理模块设计文章管理是整个博客系统中最主要的模块之一。文章管理下拉菜单中有文章列表菜单选项。页面详情如图5-9所示图5-9文章管理菜单博主可以通过点击文章列表链接,页面将分页显示文章数据,博主可以在此页面进行博客文章的查询,也可以通过按钮点击发布文章,修改文章,删除文章以及批量删除文章,页面详情如图5-10所示图5-10文章列表页面(1)新增文章:博主点击文章详情页面的写文章按钮,页面将跳转发布文章页面。发布文章详情页面如图5-11所示。用户可以填写发布文章的各种参数,包括文章标题,文章内容,文章分类,文章标签,封面图片等等。写好这些参数就可以点击发布文章这些参数将提交服务器进行处理,最后向数据库插入一条信息,服务器返回响应数据,提示用户发布文章成功。图5-11发布文章页面详情(2)文章修改:博主可以在文章列表详情页的文章表格的操作一栏点击修改按钮,页面将跳转至文章修改界面如图5-12所示。页面将显示刚刚选择修改文章的信息,博主可以修改文章的各种信息内容,最后点击发布文章按钮,将页面重新填好的数据提交至服务器,服务器对数据进行处理然后根据文章的id修改对应的数据库信息。图5-12文章修改页面(3)文章删除:博主可以在文章列表详情页的文章表格的操作一栏点击删除按钮,如图5-13所示,页面则将对应的文章id传至服务器,服务器对数据处理,将数据库对应id的表记录删除,服务器返回响应数据,页面将提示删除成功信息。图5-13文章删除页面详情(4)文章查询:用户可以在文章详情页的查询一栏输入对应的查询信息,如图5-14所示,点击查询按钮服务器会对页面传过来的数据进行处理,查询数据库对应的数据,返回数据至页面,页面对数据进行渲染。图5-14文章查询页面详情4.网站管理博主点击网站管理下拉菜单将显示评论管理。页面详情如图5-15所示

图5-15网站管理菜单用户点击评论管理链接,页面跳转至评论管理详情页,评论管理页面详情如图5-16所示图5-16评论管理页面详情(1)评论回复:博主对系统管理员审核通过的评论进行回复,通过点击评论管理页面上面操作一栏的回复按钮,将弹出评论回复弹出层,博主填写好回复信息,点击确定按钮提交数据至服务器,服务器对数据进行处理,并将数据保存至数据库中,返回响应数据至页面,页面对响应数据进行处理,页面重新刷新。评论回复模态框页面详情如图5-17所示

图5-17评论回复模态框页面(2)评论删除:对于一些评论若是博主不想看到可以删除,点击评论管理页面操作一栏的删除按钮,页面将评论的id传至服务器,服务器对数据进行处理,然后将数据库中该条评论删除,然后返回响应数据,页面重新刷新。页面如图5-18所示。图5-18评论删除页面5.文章点赞、发表评论、留言板留言,文章检索功能和游客的文章点赞,发表评论,留言,文章检索功能相同,因此在此就不过多重复介绍,可以去参照上一节的游客模块设计与实现。

5.4系统管理员模块设计与实现5.4.1文章管理模块设计与实现文章管理是整个博客系统中最主要的模块之一。用户进入后台后可以在页面文章管理下拉菜单中文章列表,分类管理,标签管理三个菜单选项。页面详情如图5-19所示。图5-19文章管理菜单页面1.文章列表设计文章列表设计与博主模块的文章列表功能相同,在此不再赘述,可以去参照上一节的博主模块的文章列表的设计与实现。2.分类管理设计系统管理员可以通过点击分类管理链接,页面跳转至分类管理详情页,页面详情如图5-20所示。管理员可以在此操作界面可以新增分类,删除分类,修改分类信息,当博主发布文章的时候,可以选择不同的分类,这也方便了文章的管理。图5-20分类管理页面

(1)分类新增,系统管理员点击文章管理页面的新增按钮,页面将弹出新增分类模态框,页面如图5-21所示。填写好分类表单信息,点击确定按钮,将表单信息提交至服务器,服务器对表单信息进行处理,然后向数据库分类表插入一条记录,然后返回响应数据,页面重新刷新。5-21新增分类模态框页面(2)分类删除,系统管理员点击分类管理页面的操作一栏的删除按钮,提交分类的id信息至服务器,服务器对数据进行处理,然后将数据库该条id的分类信息删除。删除一栏页面如图5-22所示。图5-22删除页面

(3)分类修改,系统管理员点击分类管理页面的操作一栏的编辑按钮,页面将弹出修改分类弹出层,系统管理员修该分类信息,点击确定按钮提交表单信息至服务器,服务器对数据进行处理,然后修改数据库分类表该条分类记录。页面修改弹出层如图5-23所示。图5-23分类修改弹出层3标签管理设计系统管理员可以通过点击标签管理链接,页面跳转至标签管理详情页,页面详情如图5-24所示。系统管理员可以通过在此操作界面增删改标签信息,其中标签增删改功能操作与分类管理的增删改功能操作类似,而标签的查询功能与文章的查询功能类似,因此在此不做过多阐述。图5-24标签管理页面5.4.2网站管理模块设计与实现网站管理模块分为评论管理和友链管理模块。其中最主要的是评论管理模块。系统管理员点击网站管理下拉菜单将显示两个菜单选项分别为评论管理和友链管理。页面详情如图5-25所示图5-25网站管理菜单1.友链管理系统管理员可以通过点击友链管理链接,页面跳转至友链管理详情页,页面详情如图5-26所示。系统管理员可以通过在此操作界面增删改友链信息,其中友链增删改功能操作与分类管理的增删改功能操作类似,而且友链的查询功能与文章查询功能类似,因此在此不做过多阐述。图5-26友链管理页面

2评论管理系统管理员点击评论管理链接,页面跳转至评论管理详情页,评论管理页面详情如图5-27所示。图5-27评论管理页面(1)评论审核,系统管理员对发表的未审核的评论进行审核操作,通过点击操作一栏的审核按钮,页面将弹出模态框,可以对选择该评论是否审核通过,当选好评论的状态,点击确定按钮提交数据至服务器,服务器对数据进行处理,修改数据库评论表该条评论的状态,返回响应数据至页面,页面对响应数据进行处理,页面重新刷新。评论审核模态框页面详情如图5-28所示。图5-28评论审核模态框(2)评论回复和删除与博主模块设计的评论回复和删除相同,具体可以参考博主模块设计的回复和删除。

5.4.3用户管理模块设计与实现用户管理模块分为博主管理,角色管理,权限管理模块。系统管理员点击用户管理下拉菜单将显示三个菜单选项分别为博主管理,角色管理,权限管理。用户管理页面详情如图5-29所示。图5-29用户管理页面详情1.博主管理设计系统管理员点击博主管理链接,页面将跳转至博主管理详情页。博主管理详情页如图5-30所示。系统管理员可以在此页面完成博主用户的增删改查以及分配角色操作,其中博主用户的增删改查功能操作与文章列表的功能操作类似在此不做阐述。5-30博主管理页面详情

(1)分配角色系统管理员点击博主管理详情页面操作一栏的分配角色按钮,页面将弹出分配角色弹出层。分配角色弹出层详情页如图5-31所示。系统管理员可以选择对应的角色,点击确定按钮提交数据至服务器,服务器对数据进行处理,修改数据库用户角色表该用户的角色信息,返回响应数据至页面,页面对响应数据进行处理,给出提示信息,然后刷新页面图5-31角色分配页面2.角色管理设计系统管理员点击角色管理链接,页面将跳转至角色管理详情页。角色管理详情页如图5-32所示。系统管理员可以在此页面完角色的增删改查以及分配权限操作,其中角色的增删改查功能操作与文章列表的增删改查功能操作类似而且权限分配也和博主管理的分配角色功能类似,所以在此不做过多阐述。图5-32角色管理页面详情2.角色管理设计系统管理员点击角色管理链接,页面将跳转至角色管理详情页。角色管理详情页如图5-32所示。系统管理员可以在此页面完角色的增删改查以及分配权限操作,其中角色的增删改查功能操作与文章列表的增删改查功能操作类似而且权限分配也和博主管理的分配角色功能类似,所以在此不做过多阐述。图5-32角色管理页面详情3.权限管理设计系统管理员点击权限管理链接,页面将跳转至权限管理详情页。权限管理详情页如图5-33所示。系统管理员可以在此页面完成权限的增删改操作,其中权限的增删改功能操作与文章列表的增删改功能操作类似所以在此不做过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论