版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SpringBoot的技术论坛系统设计和实现DesignandImplementationofTechnologyForum SystemBasedonSpringBootFramework内容摘要中国的互联网科技蓬勃向上,网友收集信息便利快捷,而且还向人们在舞台上充分表达自己,而论坛有较强的交互性,有高层次且具有个性化的需求。网络论坛发展的功能发展也随着互联网的更新而在不断的变化着,论坛的综合型逐渐变为现在的专业型发展,所以需要在方便快捷的网络沟通背景下,建立一个属于技术小白和大牛之间的交流且简单干净的全民技术交流天地,是具有重要意义的。本系统采用SpringBoot框架进行设计和实现,而SpringBoot不需要XML配置且可以快速的开发,后台开发主要使用Tomcat、MySQL、SpringDataJPA、ElasticSearch、SpringSecurity框架,前端主要使用Thymeleaf、Bootstrap等技术来展示页面,并使用了开源性的Eclipse(JavaEE)集成开发工具来实现开发工作。本系统由用户和管理员组成,实现技术论坛系统的功能模块中的用户模块、帖子模块、评论模块、点赞模块、分类模块、标签模块、首页搜索模块合计8个功能模块。本文将会介绍如何基于SpringBoot技术设计和实现技术论坛系统,并实现技术论坛系统的基础功能。关键词:SpringBoot技术论坛设计与实现
Abstract China'sInternettechnologyisbooming,netizenscollectinformationconvenientlyandquickly,andalsofullyexpressthemselvestopeopleonthestage,whiletheforumhasstronginteraction,high-levelandpersonalizedneeds.ThefunctiondevelopmentoftheInternetforumischangingwiththeupdateoftheInternet.Thecomprehensivetypeoftheforumisgraduallychangingintotheprofessionaldevelopment.Therefore,itisofgreatsignificancetoestablishasimpleandcleantechnologyexchangeworldforthewholepeople,whichbelongstothecommunicationbetweentechnicalXiaobaiandDaniel,inthecontextofconvenientandquicknetworkcommunication. Thesystemisdesignedandimplementedwiththespringbootframework,whichdoesnotneedXMLconfigurationandcanbedevelopedquickly,Thebackgrounddevelopmentmainlyusestomcat,mysql,springdataJPA,elasticsearch,springsecurityframework,thefrontendmainlyusestechnologiessuchasthymeleaf,bootstraptodisplaythepage,andusestheopen-sourceeclipse(JavaEE)integrateddevelopmenttooltoachievethedevelopmentwork. Thesystemiscomposedofusersandadministrators,andrealizes8functionmodulesinthefunctionmoduleofthetechnicalforumsystem,includingusermodule,postmodule,commentmodule,likesmodule,classificationmodule,labelmoduleandhomepagesearchmodule. Thispaperwillintroducehowtodesignandimplementthetechnologyforumsystembasedonspringboottechnology,andrealizethebasicfunctionsofthetechnologyforumsystem.Keywords:SpringBootframeworkTechnologyForumDesignandImplementation目录1.绪论 .绪论1.1研究背景及意义中国的互联网科技蓬勃向上,网友收集信息便利快捷,而且还向人们在舞台上充分表达自己,而论坛拥护强大的交互性,使用户可以对感兴趣的相关话题的即时性互动,比如咨询疑惑,分享经验,发布话题等。在生活质量的不断提高,用户对质量高、级别高、性价比高、体验好的事物要求不断提升。网络论坛发展也在不断的进步,功能发展也随着互联网的更新而在不断的变化着,论坛的综合型逐渐变为现在的专业型发展,所以需要在方便快捷的网络沟通背景下,建立一个属于技术小白和大牛之间的交流且简单干净的全民技术交流天地,是具有重要意义的。1.2研究现状网络社区门槛低,而我国的传媒体系和互动格局保证了网络互动性网站的繁荣。目前我国人口基数大,科技发展迅速,基本上每个成年人拥有一台智能手机或一台电脑,这也奠定了中国网民多,互动性网站发展空间大,沟通桥梁需求也大,而现在各式各样的网络互动性软件app更是数不胜数。针对论坛模块化,专业化,这样的群体数比同类型网站却少之又少,针对特定用户群体,可以在社会生活的方方面面得到体现,同时会对人们的生活习惯产生久而久之的影响。同时,技术专业性也可以增长个人的见识;论坛发布信息,发表观点,共享资源,技术大牛对于技术性一眼就可以进行及时过滤,不但提高了信息交流的速度,达到及时交互,不消耗社会资源,比传统信息交流降低了成本,也扩大了信息交流范围,咨询解决问题的几率也大大增加。1.3存在问题现在广告模块可能是大部分网站的一个盈利点,但是一个产品正在谋求发展壮大,广告的植入不仅不会起到盈利的作用,反而会影响用户的使用,引起用户的厌恶。1.4创新思路(1)技术创新在web应用开发过程中,实现用户与服务器交互的SpringBoot基本的技术架构,结合前端模版Thymeleaf,数据层SpringDataJPA,搜索引擎ElasticSearch和安全管理SpringSecurity等技术的技术论坛系统。(2)理论创新根据目前网络技术论坛的趋势和现状,重新对技术论坛中的要素和交互观念剖析,提出网络技术论坛中用户需要的高质量,高层次且具有个性化的需求。开发者也需要进行深度解析,尽量提升用户感官体验,建构用户需求的角色模型,完成对仍有缺憾的引导技术论坛交互需求设计。1.5本文的内容本文将基于技术论坛系统,结合目前流行博客的个性化的特点,实现用户交互化设计和信息及时搜索筛选等特点进行设计和实现。1.5本章小结综上所述,通过对比研究现状,可以看出一个技术论坛系统的可塑性对于需求群体是很高的,意味着在技术论坛系统的设计在未来会有更好的期许。
2.相关平台和技术介绍2.1系统平台2.1.1Eclipse(JavaEE)Eclipse(JavaEE)是一个应用java技术开源性的平台,它比其他的开发软件更加灵活,也被广大开发者所使用。2.1.2MySQL数据库MySQL数据库是一款花费价格不高、易于配置和维护且软件体积小的开源性的关系型数据库管理系统。2.1.3Gradle构建工具Gradle是一款应用java技术且能够自动构建项目的工具。2.2相关技术介绍2.2.1SpringBoot框架在Spring传统的开发平台过程中,我们会遇到很多繁琐的XML配置,还有管理很复杂的依赖关系等等。而SpringBoot应用了大多数的第三方库,不需再配置XML,一些配置代码就可以实现,让开发程序变得更简单。2.2.2ElasticSearch引擎Elasticsearch是一个运用Java技术进行检索关键字进行搜索和分析的引擎。2.2.3SpringDataJPA技术SpringDataJPA调用自定义接口,它可以自动帮你完成在数据库建表和完成其他没有完成的工作,所以基于使用Spring数据访问技术栈的应用程序更容易构建出来。2.2.4Spring_Security安全框架SpringSecurity是一个运用Spring技术对开发的项目进行安全性受权和识别的框架。2.2.5Thymeleaf模板引擎Thymeleaf应用Java技术把各个页面相同的地方做一个提取,根据不同的数据做一个渲染,渲染的数据会从相同页面变成不同的页面组成,所以Thymeleaf技术对于SpringBoot非常友好。2.2.6Bootstrap框架Bootstrap是具有众多的web组件的前端开发框架,可以快速构建一个功能完善的Web项目。2.3本章小结本章介绍了开发技术论坛系统时候所采用的平台和技术,增加开发时的技术背景的知识铺垫和技术支持。
3.技术论坛系统需求分析3.1目标和任务本课题的目的是为了用户快速地解决问题、增加见识,同时也是为了是针对提出网络技术论坛中用户需要的高质量、高层次且具有技术论坛系统的需求现状,设计的成果风格应属简约、轻量且具有类似博客个性化用户风格,而技术论坛主要是为了用户快速地解决问题、增加见识,而需要快速地对论坛技术帖主的帖子内容进行筛查、甄别,同时需要交互性要强,例如:点赞,评论等。所以根据以上需求分析出需求特点是设计和实现技术论坛系统的首要任务。3.2界面需求分析系统界面是用户接触的第一印象,设计风格设计和实现要大气、专业且没有其他与页面无关内容,其次用户所需的数据需求要合理安排显示和对于一些技术标签、类别要合理区分,最后网页设计的字体要规范、配色要舒适。3.3功能需求分析本节将会按照3.1节的目的和任务,着重于阐述技术论坛系统的主要功能模块的需求,并且通过模块功能概述图、用户和管理者功能用例图两方面来进行介绍用户需求,确定需求后可以更好的进行系统的设计和实现。(1)用户模块该模块包括了六个子功能:注册功能、登录功能、搜索用户功能、增加用户功能、删除用户功能、修改用户功能。用户模块是确定技术论坛系统用户的基础,而在系统中管理员是拥有最高权限的用户,负责整个技术论坛里的管理用户工作,可以将在系统中违反技术论坛相关规定的用户进行封号处理,这样可以最大程度的约束用户在系统的行为,所以管理员拥有该模块下除了注册功能以外的五个子功能的功能。而普通用户拥有该模块下的两个子功能,分别为注册功能、登录功能。其中,图3-1-1、图3-1-2分别为用户模块的功能概述图、用户和管理者功能用例图。图3-1-1用户模块功能概述图图3-1-2用户模块的用户和管理者功能用例图现以下对其子功能进行详细的叙述和说明。注册功能:用户想使用帖主等技术论坛内的功能需要用户注册,用户可以在注册页面填写必要的个人信息进行注册,同时注册信息是会加载在帖子作者信息中,而注册成功后会获得自己的账号和密码且用其的账号和密码进行用户登录,即可获得完全的用户权限功能。登录功能:登录是检验用户的账号和密码,以及登陆成功后获得技术帖主信息更改、发表帖子等一系列系统权限的凭证,登录成功后则系统将自动跳转到系统技术论坛主页;而当用户处于未登录系统状态时,只能操作基础的技术帖子浏览和搜索以及浏览技术帖信息和帖主信息等不需要登录的功能。增加用户功能:管理员在管理员页面对技术论坛的用户进行增加用户,管理员对个人信息重新进行赋予且通过系统验证以后填写必要的个人信息和赋予该用户(帖主或管理员)具体的权限进行系统用户添加,通过系统验证以后,该用户可以行使其权限的所有功能。修改用户功能:管理员在管理用户页内对重新更新技术论坛相关的用户个人信息,通过系统验证以后,该用户可以行使其更新后权限的所有功能。删除用户功能:管理员在管理用户页面删除用户,是对违反技术论坛相关规定的用户的账号信息进行删除,因为用户缺少账号,用户将无法使用账号密码进行登录。搜索用户功能:管理员在管理员页面搜索用户,是对技术论坛相关的用户快速的进行检索,检索成功后则可以对具体用户进行操作,若因为输入的行为不规范导致搜索失败,则显示管理用户的必要属性,值为空白。 (2)帖子模块该模块包括了八个子功能:个人资料设置功能、发表帖子功能、编辑帖子功能、删除帖子功能、模糊查询功能、最热排序功能、最新排序功能和阅读量统计功能。帖子模块是一个对所有用户对技术帖子进行发表、编辑、删除和个人喜好对技术帖子进行筛选、剔除以及阅读量多少是对技术帖子质量的肯定的个性化模块,而用户(帖主)和管理员均具有该模块的八个子功能的全部功能,即帖主或管理员都可以管理自己的技术帖子,设置自己的的个人资料和按情况查询自己的技术帖子情况,个人化得到凸显。其中,图3-2-1、图3-2-2分别为帖子模块的功能概述图、用户和管理者功能用例图。图3-2-1帖子模块的功能概述图图3-2-2帖子模块的用户和管理者功能用例图现以下对其子功能进行详细的叙述和说明。个人资料设置功能:个人资料的邮箱展示是针对技术大牛和技术小白之间沟通的桥梁,技术小白可以通过邮箱对技术大牛进行线下询问,以防有时候技术帖主对读者咨询的问题回复不及时等问题。用户可以在个人资料设置页修改账号以外的自己的个人资料,也可以在自己的个人主页内查看到自己的个人资料。发表帖子功能:用户撰写的技术帖子需要明确技术帖标题、技术帖摘要、和技术帖内容且字符要在两个以上才能发布,通过系统验证完成以后,发表后可以查看帖子内容详情。编辑帖子功能:用户须是某篇技术帖子的作者,帖主点击查看该技术帖子的内容详情,可以重新对该技术帖子进行编辑,通过系统验证完成以后,重新显示该技术帖子。删除帖子功能:用户须是某篇技术帖子的作者,帖主点击查看该技术帖子的内容详情,可以对该技术帖子进行删除,通过系统验证完成以后,用户个人主页不会出现该技术帖子。模糊查询功能:用户在个人主页对个人技术帖子标题进行模糊查询,系统完成匹配后对结果显示在个人主页,系统匹配失败则显示空白。个人帖子最热排序功能:用户点击个人主页的“最热”按钮显示用户的所有文章,该功能按照阅读量、评论量和点赞量综合显示最热的技术文章。个人帖子最新排序功能:用户点击个人主页的“最新”按钮显示用户的所有文章且能按照时间逆序进行显示最新的技术文章。阅读量统计功能:阅读量是对技术帖子的质量重要凭证之一,用户发表技术帖子时,阅读量默认为一;用户在查看技术帖子时且评论帖子一次时,阅读量加一。(3)评论模块该模块包括了四个子功能:发表评论功能、查看评论功能、删除评论功能和评论量统计功能。评论模块是读者对技术帖主发表的技术帖子的质量的肯定和存在问题的疑惑、解答的一个留言模块,也是技术大牛和技术小白进行互动的模块之一。而技术帖主和管理员均具有该模块的四个子功能,即帖主或者管理员登录能获得该模块的所有功能,若用户处于未登录状态,只能查看评论。其中,图3-3-1、图3-3-2分别为评论模块的功能概述图、用户和管理者功能用例图。图3-3-1评论模块的功能概述图、图3-3-2评论模块的用户和管理者功能用例图现以下对其子功能进行详细的叙述和说明。 发表评论:用户是会员可以在某篇技术帖子的详情页下,评论技术帖子的内容,通过系统验证完成以后,可以发表评论且在该技术帖子显示该评论内容。 删除评论:用户是会员可以在某篇技术帖子详情页下,对自己的评论进行删除,删除后,该技术帖子不显示该评论。 查看评论:用户可以在某篇技术帖子详情页下,查看该技术帖子的评论。 评论量统计:评论量是对技术帖子的质量重要凭证之一,用户可以在某篇技术帖子展示页下,查看到该技术帖子的评论量。(4)点赞模块该模块包括了三个子功能:点赞功能、取消点赞功能、点赞量统计功能。点赞模块是读者对技术帖主发表的技术帖子的质量的肯定和喜爱,也是技术大牛和技术小白进行互动的模块之一。而帖主和管理员均具有该模块的三个子功能,即帖主或者管理员登录能获得该模块的所有功能。其中,图3-4-1、图3-4-2分别为点赞模块的功能概述图、用户和管理者功能用例图。图3-4-1点赞模块的功能概述图图3-4-2点赞模块的的用户和管理者功能用例图现以下对其子功能进行详细的叙述和说明。 点赞:用户是会员可以在某篇技术帖子详情页下,对技术帖子的内容进行点赞,点赞后,显示用户用户对该技术帖子点赞。 取消点赞:用户是会员下可以在某篇技术帖子详情页下,对已经点赞的技术帖子进行取消点赞,取消点赞后,显示用户对该技术帖子没有点赞。点赞量统计:点赞量是对技术帖子的质量重要凭证之一,用户可以在某篇技术帖子展示页下,查看到该技术帖子的点赞量。(5)分类模块该模块包括了五个子功能:创建个人分类功能、编辑个人分类功能、删除个人分类功能、查询个人分类列表功能和根据分类查询文章功能。分类模块是针对技术帖主对自己发表的技术帖子进行分类,也是为了技术帖主能够明确对自己的技术帖子分类和管理,同时读者能够快速筛选自己所需的技术信息。所以帖主和管理员均具有该模块全部的功能,而用户处于未登录状态,拥有该模块的浏览功能,分为查询个人分类列表功能和根据分类查询文章功能。其中,图3-5-1、图3-5-2分别为分类模块的功能概述图、用户和管理者功能用例图。图3-5-1分类模块的功能概述图图3-5-2分类模块的用户和管理者功能用例图现以下对其子功能进行详细的叙述和说明。创建个人分类功能:用户是会员可以在个人主页对自己的技术分类进行创建,通过系统验证,可以创建成功;用户在发表技术帖子时,需要该技术帖子有对应的技术分类,即发布帖子时要先创建个人的技术分类,如果用户的个人技术分类列表没有技术分类,则帖子无法发布。编辑个人分类功能:用户是会员可以在个人主页对自己的技术分类进行编辑,通过系统验证,可以编辑成功。删除个人分类功能:用户是会员可以在个人主页对自己的技术分类进行删除,删除过程中假如分类没有关联文章,通过论坛系统验证,可以删除成功;假如技术分类关联帖子,需要删除某个分类,需要先对该分类下的帖子进行删除。查询个人分类列表:用户点击自己的个人主页,可以查看到自己的技术分类列表;假如其他用户点击某个用户的个人主页,可以查看到该用户的技术分类列表。按分类查询文章功能:用户在查看和编辑个人技术帖子或者其他用户查看某个用户的技术帖子时,可以查看该帖子的技术分类信息,若点击了该分类,重定向到用户个人主页,再点击列表的某个技术分类,显示该用户相对应的技术文章信息。(6)标签模块该模块包括了四个子功能:创建标签功能、查看标签功能、删除标签功能、按标签查询文章功能。标签模块是针对技术帖主对自己发表的技术帖子所涉及技术的方面的一个填充,比如分页、环境配置,也是为了读者能够快速了解技术帖主所写的技术帖子涉及的内容。所以帖主和管理员均具有该模块的全部功能,而用户处于未登录状态,具有该模块的查询功能,分别为:查看标签功能按标签查询功能。其中,图3-6-1、图3-6-2分别为标签模块的功能概述图、用户和管理者功能用例图。图3-6-1标签模块的功能概述图图3-6-2标签模块的用户和管理者功能用例图现以下对其子功能进行详细的叙述和说明。创建标签功能:用户处于登录状态在发表技术帖子时,可以对帖子的内容创建多个标签,通过系统验证完成以后,可以查看标签内容。查看标签功能:用户在某篇技术帖子详情页下,可以查看某篇技术帖子的对应标签。删除标签功能:用户须是某篇技术帖子的帖主,帖主点击查看该技术帖子的内容详情,可以对该技术帖子的对应标签进行删除,通过系统验证完成以后,该技术帖子不会出现已经删除了的标签。按标签查询功能:用户可以在首页搜索标签对应的技术文章和用户处于登录状态可以在个人主页内搜索属于自己发表的标签所对应的技术文章,通过系统验证完成以后,显示技术文章,系统匹配失败则显示空白。(7)首页搜索模块该模块包括了七个子功能:全文检索功能、论坛系统最新文章展示功能、论坛系统最热文章展示功能、热门文章展示功能、热门标签展示功能、热门用户展示功能和最新发布文章功能。首页搜索模块是针对游客、技术帖主和管理员可以快速的浏览和查找所需要的技术文章、以及通过技术帖主撰写的技术帖子了解系统的热门用户、热门和最新技术话题内容以及众多技术帖子涉及的技术标签的一个展示模块,这也是技术咖们快速获取技术知识的模块。所以帖主和管理员均具有该模块的七个子功能的功能,而用户处于未登录状态,也具有该模块七个子功能的功能。其中,图3-7-1是首页搜索的功能概述图,图3-7-2是用户和管理者功能用例图。图3-7-1首页搜索模块的功能概述图图3-7-2首页搜索模块的用户和管理者功能用例图现以下对其子功能进行详细的叙述和说明。全文检索功能:用户可以快速的查找所需要的技术文章,需要在首页以标题、摘要、内容和标签等关键字搜索,可以查看到符合关键字的技术文章信息且默认按时间倒序进行显示。论坛系统最热文章展示功能:用户可以快速了解论坛系统内最火爆的技术文章,用户点击系统导航栏的“最热”按钮显示系统的所有技术文章,该功能按照阅读量、评论量和点赞量综合显示最热技术文章;论坛系统最新文章展示功能:用户可以快速了解论坛系统内最新发布的技术文章,用户点击系统导航栏的“最新”按钮显示系统的所有技术文章且能按照时间逆序进行显示最新技术文章;热门标签展示功能:用户可以快速了解论坛系统内的技术帖主发布帖子所侧重的方面,该功能根据用户发布的帖子信息里面定义的标签信息进行聚合计数排序显示前30的热门标签,标签数量越多,越热门,假如用户点击某个标签则显示符合该标签的所有技术文章。热门用户展示功能:用户可以快速了解论坛系统内的技术大咖帖主,该功能根据系统里帖子信息相关联的用户账号信息进行聚合计数排序显示前12的热门用户,用户账号数量越多,越热门,假如用户点击某个用户的头像则显示系统里该用户的用户主页信息。热门文章展示功能:用户可以快速看到论坛系统内最火爆的技术文章标题,以便读者发现是否该功能根据论坛系统最新文章列表的前5进行展示且只显示文章标题和阅读数,假如用户点击某个标题则显示该文章的详细信息。最新发布文章展示功能:该功能根据论坛系统最热文章列表的前5进行展示且只显示文章标题,假如用户点击了某个标题则显示该文章的详细信息。3.4性能需求分析 本技术论坛系统的非功能性需要分析是指系统的功能性需求之外,还需满足系统的性能需求,接下来对性能需求进行阐述:(1)系统具备安全性系统的需要具备有一定的安全保护来避免轻易引入易攻击的代码漏洞,所以论坛系统需要建立用户角色和资源的权限配置的授权,比如像未登录的用户可以对静态文件和系统的首页允许所有用户进行访等;同时用户的密码设置BCrypt加密,使用户信息得到保护。(2)系统具备可靠性系统的可靠性可以通过系统数据格式改变、数据量递增等因素叠加而不会造成系统损坏导致无法运行,因此系统应该保证在开发和测试过程中输出正确或者错误信息。
4.技术论坛系统的系统设计4.1系统结构设计本系统是在B/S模式下应用三层体系结构的web应用系统,浏览器用作客户端,MySQL数据库用作服务器端。技术论坛系统按业务功能进行分层,同时保持良好的层次关系,减少每层之间业务的糅合度,使每一层可以独立出来,每一层清晰简洁的代码结构,可以实现低耦合高内聚的特点,也是成为一个良好分层的应用系统的基础,同时满足系统更易进行扩展和运行。4.2功能架构设计在对技术论坛系统的功能架构进行设计的过程中,本文采用自顶向下、由总体到部分的设计思维,将系统划分为用户模块、帖子模块、评论模块、点赞模块、分类模块、标签模块、首页搜索模块和安全设置模块八个模块。其中技术论坛系统的功能架构如图4-2所示。图4-2技术论坛系统的功能架构图4.3功能详细设计在明确已有的功能需求上,本文对用户模块、帖子模块、评论模块、点赞模块、分类模块、标签模块、首页搜索模块和安全设置模块进行了详细设计。下面,本文将借助类图、状态图等形式对上面提及的模块进行逐一的介绍。系统类图user类是用户类,它拥有id、name、email、username、password、avatar等属性,其中主要操作有注册、登录、管理用户、搜索用户、根据用户账号搜索。authority类是权限类,它拥有id、name等属性。其中主要操作让用户获得相对应的角色权限。Blog类是帖子类,它拥有id、catalog_id、user_id、title、summary、content、htmlContent、tags、readSize、commentSize、voteSize、create_time等属性,其中主要操作有管理技术帖子、个人最新技术帖子查询、个人最热技术帖子查询、阅读量递增、根据分类查询技术帖子、发表对应技术帖子评论、删除对应技术帖子评论、对应技术帖子点赞、对应技术帖子取消点赞。Comment类是评论类,它拥有id、user_id、content、create_time等属性,其中主要操作有发表评论、删除评论、评论量统计。Vote类是点赞类,它拥有id、user_id、create_time等属性,其中主要操作有点赞、取消点赞、点赞量统计。Catalog类是分类类,它拥有id、user_id、name等属性,其中主要操作有保存分类、删除分类、获得分类Id、分类列表、根据分类查询帖子。其中图4-3为系统类图。图4-3系统类图(2)用户模块在对系统的用户管理模块进行设计过程中,本小节主要由用户资源库类UserRepository.java、用户控制类UserController.java、用户逻辑类UserService.java、UserServiceImpl.java和管理员控制类AdminController.java组成,其中用户模块相对应的功能类表如图4-3-2-1所示。类名方法名方法说明UserServiceUserServiceImplsaveUser()保存用户removeUser()删除用户updateUser()更新用户getUserById()获得用户IdlistUsersByNameLike()根据用户名搜索用户图4-3-2-1用户模块的功能类表如图4-3-2-1所示,用户逻辑类UserService.java和UserServiceImpl.java主要包括保存用户saveUser()、删除用户removeUser()、更新用户updateUser(),根据id获取用户信息getUserById()以及根据用户名搜索listUsersByNameLike()方法。其中,当管理员在用户模块进行管理用户操作时,得到系统通过,完成操作;没有通过,退回相对应页面,与之对应的状态图如图4-3-2-2所示。图4-3-2-2用户管理的状态图其中,当用户在注册页面进行填写个人信息时,信息有效可以成功登录;信息无效,返回注册页面,与之对应的状态图如图4-3-2-3所示。图4-3-2-3注册_登录的状态图(3)帖子模块在对系统的用户管理模块进行设计过程中,本小节主要由帖子资源库类BlogRepository.java、帖子逻辑类BlogService.java、BlogServiceImpl.java和用户空间控制类UserspaceController.java,其中帖子模块相对应的功能类表如图4-3-3-1所示。类名方法名方法说明BlogServiceBlogServiceImplsaveBlog()保存技术帖子removeBlog()删除技术帖子getBlogById()获得技术帖子IdlistBlogsByTitleVote()个人最新技术帖子查询listBlogsByTitleVoteAndSort()个人最热技术帖子查询readingIncrease()阅读量递增图4-3-3-1帖子模块的功能类表如图4-3-3-1所示,帖子逻辑类BlogService.java和BlogServiceImpl.java主要包括保存技术帖子saveBlog()、删除技术帖子removeBlog()、根据id获取技术帖子信息getBlogById()、个人最新技术帖子查询listBlogsByTitleVote()、阅读量递增readingIncrease()以及个人最热技术帖子查询listBlogsByTitleVoteAndSort()。其中,当用户在帖子模块进行个人技术帖子最新和最热的查询时,分别按时间逆序显示和按阅读量等综合显示;而模糊查询显示匹配内容,否则为空得,与之对应的状态图如图4-3-3-2所示。图4-3-3-2个人帖子最新查询、最热的查询和模糊查询状态图其中,当用户在帖子模块进行发布和编辑技术帖子操作时,得到系统通过,重新显示技术帖子详细内容,在进行删除帖子时,更新删除后的技术帖子列表;而用户进行个人资料更改,得到系统通过,重新显示用户资料,与之对应的状态图如图4-3-3-3所示。图4-3-3-3帖子管理和个人资料设置的状态图(4)评论模块在对系统的评论模块进行设计过程中,本小节主要由评论资源库类CommentRepository.java、帖子逻辑类BlogService.java、BlogServiceImpl.java和评论逻辑类CommentService.java、CommentServiceImpl.java和评论控制类CommentController.java,其中评论模块相对应的功能类表如图4-3-4-1所示。类名方法名方法说明CommentServiceCommentServiceImplgetCommentById()获得评论idremoveComment()删除评论BlogServiceBlogServiceImplcreateComment()发表对应技术帖子评论removeComment()删除对应技术帖子评论图4-3-4-1评论模块的功能类表如图4-3-4-1所示,帖子逻辑类BlogService.java和BlogServiceImpl.java主要包括发表对应技术帖子评论createComment()、删除对应技术帖子评论removeComment()和评论逻辑类CommentService.java和CommentServiceImpl.java主要包括根据id获得评论getCommentById()和删除评论removeComment()。其中,当用户在评论模块进行评论管理时,完成操作,重新显示帖子详细内容下的评论内容和评论量。与之对应的状态图如图4-3-4-2所示。图4-3-4-2评论管理和评论量统计的状态图(5)点赞模块在对系统的点赞模块进行设计过程中,本小节主要由点赞资源库类VoteRepository.java、帖子逻辑类BlogService.java、BlogServiceImpl.java和点赞逻辑类VoteService.java、VoteServiceImpl.java和点赞控制类VoteController.java,其中点赞模块相对应的功能类表如图4-3-5-1所示。类名方法名方法说明VoteServiceVoteServiceImplgetVoteById()获得点赞idremoveVote()取消点赞BlogServiceBlogServiceImplcreateVote()点赞对应技术帖子removeVote()取消对应技术帖子的点赞图4-3-5-1点赞模块的功能类表如图4-3-5-1所示,帖子逻辑类BlogService.java和BlogServiceImpl.java主要包括点赞对应技术帖子createVote()、取消对应技术帖子的点赞removeVote()和评论逻辑类VoteService.java、VoteServiceImpl.java主要包括根据id获得点赞getVoteById()和取消点赞removeVote()。 其中,当用户在点赞模块进行点赞管理时,完成操作,重新显示技术帖子详细内容下的点赞信息和点赞量。与之对应的状态图如图4-3-5-2所示。图4-3-5-2点赞管理和点赞量统计的状态图(5)分类模块在对系统的分类模块进行设计过程中,本小节主要由分类资源库类CatalogRepository.java、帖子逻辑类BlogService.java、BlogServiceImpl.java和分类控制类CatalogController.java、分类逻辑类CatalogService.java、CatalogServiceImpl.java,其中分类模块相对应的功能类表如图4-3-5-1所示。类名方法名方法说明CatalogServiceCatalogServiceImplsaveCatalog()保存技术分类removeCatalog()删除技术分类getCatalogById()获得技术分类IdlistCatalogs()技术分类列表BlogServiceBlogServiceImpllistBlogsByCatalog()根据技术分类查询技术帖子图4-3-5-1分类模块的功能类表如图4-3-5-1所示,分类逻辑类CatalogService.java、CatalogServiceImpl.java主要包括保存技术分类saveCatalog()、删除技术分类removeCatalog()、根据Id获得技术分类getCatalogById()、技术分类列表listCatalogs()和帖子逻辑类BlogService.java、BlogServiceImpl.java包括根据分类查询技术帖子listBlogsByCatalog()。 其中,当用户在分类模块进行创建个人技术分类时,完成操作,有了技术分类,可以按技术分类查询文章和查看个人技术分类;编辑和删除技术分类,完成操作,分类列表更新,与之对应的状态图如图4-3-5-2所示。图4-3-5-2分类管理的状态图(6)标签模块在对系统的标签模块进行设计过程中,tag属性标签是帖子类blog.java的一部分,所以标签模块主要是由blog,java帖子实体类的得到标签属性getTags()方法和重置标签属性setTags()方法,其中标签模块的功能类表如图4-3-6-1所示。类名方法名方法说明blog,javagetTags()到标签属性setTags()重置标签属性其中,当用户在分类模块进行创建个人技术分类时,完成操作,有了分类,可以按分类查询文章和查看个人分类;编辑和删除分类,完成操作,技术分类列表更新,与之对应的状态图如图4-3-6-2所示。图4-3-6-2标签管理的状态图(7)首页搜索模块在对系统的标签模块进行设计过程中,本小节主要由搜索资源库类EsBlogRepository.java、帖子控制类BlogController.java、搜索逻辑类EsBlogService.java、EsBlogServiceImpl.java和用户逻辑类UserService.java、UserServiceImpl.java,其中搜索模块相对应的功能类表如图4-3-7-1所示。类名方法名方法说明EsBlogServiceEsBlogServiceImplgetEsBlogByBlogId()获得技术帖子IdupdateEsBlog()和blogService类同步更新技术帖子removeEsBlog()和blogService类同步删除技术帖子listEsBlogs()论坛系统默认技术文章列表listNewestEsBlogs()论坛系统最新技术文章列表listHotestEsBlogs()论坛系统最热技术文章listTop5NewestEsBlogs()论坛系统前5最新技术文章列表listTop5NewestEsBlogs()论坛系统前5热门技术文章列表listTop30Tags()论坛系统前30热门标签列表listTop12Users()论坛系统前12热门用户列表UserServiceUserServiceImpllistUsersByUsernames()根据用户账号搜索 如图4-3-7-1所示,用户逻辑类UserService.java、UserServiceImpl.java包括根据用户账号搜索listUsersByUsernames()和搜索逻辑类EsBlogService.java、EsBlogServiceImpl.java主要包括根据技术帖子Id、查询技术帖子getEsBlogByBlogId()、和blogService类同步更新技术帖子updateEsBlog()、和blogService类同步删除技术帖子removeEsBlog()、论坛系统默认技术文章列表listEsBlogs()、论坛系统最新技术文章列表listNewestEsBlogs()、论坛系统最热技术文章listHotestEsBlogs()、论坛系统前5最新技术文章列表listTop5NewestEsBlogs()、论坛系统前5热门技术文章列表listTop5NewestEsBlogs()、论坛系统前30热门标签列表listTop30Tags()、论坛系统前12热门用户列表listTop12Users()。 其中,当用户在首页模块进行全文检索功能、论坛系统最新文章展示功能、论坛系统最热文章展示、功能热门标签展示功能时,展示相对应文章;热门用户展示功能展示相对应用户信息;热门文章展示功能和最新发布文章功能展示相对应标题信息,与之对应的状态图如图4-3-7-2所示。图4-3-7-2首页搜索的状态图(8)安全设置模块在对系统的安全设置进行设计过程中,本小节主要由权限资源库类AuthorityRepository.java、权限逻辑类AuthorityService.java、AuthorityServiceImpl.java和安全配置类SecurityConfig.java组成,其中安全设置相对应的功能类表如图4-3-2所示。类名方法名方法说明AuthorityServicegetAuthorityById()获得权限IdSecurityConfigpasswordEncoder()BCrypt加密configure()自定义资源配置图4-3-8-1用户模块的功能类表如图4-3-8-1所示,权限逻辑类AuthorityService.java有获得权限IdgetAuthorityById()和安全配置类SecurityConfig.java主要包括BCrypt加密passwordEncoder()、自定义资源配置configure()方法。其中,当用户在注册页面填写个人信息时,成功就获得帖主权限;管理员操作用户,信息有效赋予帖主或者管理员权限;因用户操作不当,均返回对应页,与之对应的状态图如图4-3-8-2所示。图4-3-8-2角色授权的状态图4.4数据库设计 本系统采用的数据库是MySQL,可以满足多种不同数据类型的数据设计需求,同时系统采用的SpringDataJPA调用自定义接口,它可以自动帮你完成在数据库建表和完成其他没有完成的工作,JPA会在含有@Entity的实体类中进行持久化操作,会在数据库中自动生成关联映射对应的表结构信息,减少了一些不必要的操作,增强访问和操作数据库的效率。本系统会将运用E-R图中将系统各个部分的特征和性质表达出来,其中图4-4为系统的实体-联系E-R图,主要直观的表达出系统中各实体相对应的关系,让系统实体关系更加明确化。本系统存在的实体主要包含用户实体、权限实体、帖子实体、点赞实体、评论实体以及分类实体一共六个实体,其中权限分为了管理者和普通用户,因此用户拥有权限、发表评论、创建分类、用户点赞和帖子内含有评论、帖子实拥有分类、帖子实添加点赞等相对应的关系,另外各实体间实现一对一、一对多和多对一的关系。图4-4技术论坛系统实体关系E-R图另外,在系统配置项中设置了自动生成实体与实体间的关系映射成相对应的表结构信息,大大减少了DAO层的操作,本节会阐述系统中自动生成的若干张数据表进行阐述说明。用户表:用于映射用户实体类,保存用户信息,其中表结构信息如表4-4-1所示。表4-4-1用户表user字段名数据类型是否主键是否为空字段说明idbigint是否用户Idnamevarchar(20)否否用户名emailvarchar(50)否否电子邮箱usernamevarchar(20)否否用户账号passwordvarchar(100)否否密码avatarvarchar(200)否是头像图片地址权限表:用于映射权限实体类,保存权限信息,其中表结构信息如表4-4-2所示。表4-4-2权限表authority字段名数据类型是否主键是否为空字段说明idbigint是否权限Idnamevarchar否否权限名字用户_权限表:用户表和权限表的中间表,映射用户权限与权限表相对应信息,其中表结构如表4-4-3所示。表4-4-3用户_权限表authority字段名数据类型是否主键是否为空字段说明user_idbigint否否用户Idauthority_idbigint否否权限Id帖子表:用于映射帖子实体类,保存帖子信息,其中表结构信息如表4-4-4所示。表4-4-4帖子表blog字段名数据类型是否主键是否为空字段说明idbigint是否帖子Idcatalog_idbigint否否分类Iduser_idbigint否是用户Idtitlevarchar(50)否否标题summarylongtext否否摘要contentlongtext否否内容htmlContentlongtext否否html内容tagsvarchar(100)否是标签readSizeint否是阅读量commentSizeint否是评论量voteSizeint否是点赞量create_timedatetime否否创建时间评论表:用于映射评论实体类,存储评论信息,其中表结构信息如表4-4-5所示。表4-4-5评论表comment字段名数据类型是否主键是否为空字段说明idbigint是否评论Iduser_idbigint否是用户Idcontentlongtext否否评论内容create_timedatetime否否评论时间帖子_评论表:帖子表和评论表的中间表,映射用户评论与评论表相对应信息,其中表结构如表4-4-6所示。表4-4-6帖子_评论表blog_comment字段名数据类型是否主键是否为空字段说明blog_idbigint否否帖子Idcomment_idbigint否否评论Id点赞表:用于映射点赞实体类,保存点赞信息,其中表结构信息如表4-4-7所示。表4-4-7点赞表vote字段名数据类型是否主键是否为空字段说明idbigint是否点赞Iduser_idbigint否是用户Idcreate_timedatetime否否点赞时间帖子_点赞表:帖子表和点赞表的中间表,映射用户点赞与点赞表相对应信息,其中表结构如表4-8所示。表4-8帖子_点赞表blog_comment字段名数据类型是否主键是否为空字段说明blog_idbigint否否帖子Idvote_idbigint否否点赞Id分类表:用于映射分类实体类,保存分类信息,其中表结构信息如表4-4-9所示。表4-4-9分类表catalog字段名数据类型是否主键是否为空字段说明idbigint是否分类Iduser_idbigint否否用户Idnamevarchar(30)否否分类名称4.5本章小结本章结合已有的需求分析的内容上来具体设计技术论坛系统的系统设计,并通过对详细叙述、类图、状态图、功能类表、E-R图和数据表结构信息等形式进行彰显设计流程,更加理解和规范技术论坛系统的系统设计详情内容,使开发的过程和实现变得更容易。
5.系统实现本章会基于技术论坛系统需求分析的要求和系统设计的方法上,对系统进行实现。另外,在本章5.3小节至5.10小节的功能实现模块方面,均按照第四章的对应模块设计,并且根据系统实现结构的方法一一进行实现,所以功能类的设计和实现具有共通性,各小节模块对应的功能将不会展示相关的业务实现代码。5.1系统实现架构根据第四章的系统结构设计,表示层、业务逻辑层、数据持久层是技术论坛系统体系统的三层架构。其中,系统实现架构图如图5-1所示。图5-1系统实现架构图表示层:其主要由JS、CSS、HTML脚本文件组成,用户会操作且运用Ajax技术来向业务逻辑层发送请求,最后通过Ajax技术来接收由业务逻辑层成功响应返回的JSON报文,并通过Thymeleaf模版引擎来将JSON报文里封装的数据渲染出页面并显示在浏览器当中,完成页面内容的更新,呈现给用户动态的效果。业务逻辑层:主要是接收和呈现表示层的请求和在数据访问层进行数据录入和反馈。作为两者的枢纽,同时数据封装在JSON报文中,运用SpringDataJPA技术在数据库进行自动化操作,各种技术相辅相成,实现各种依赖关系调用是关键。而SpringSecurity框架通过来阻止不合法服务请求并作出相对应的处理来保障系统安全性。数据持久层:主要是承接业务逻辑层的访问和对其进行处理。项目的数据体现和数据库密不可分,运用项目中的逻辑请求和SpringDataJPA技术自动进行表结构构建,将数据库中的各个表和字段与程序的对象和属性自动映射,交互从而进行实现。5.2系统开发环境和运行环境配置本小节将简要阐述在开发技术论坛系统时自定义的相关技术与SpringBoot框架的集成,其他基于SpringBoot框架和开发系统时所用技术的必要依赖不再一一阐述,相关说明如下:(1)修改项目的build.gradle:ext['thymeleaf.version']='3.0.3.RELEASE'ext['thymeleaf-layout-dialect.version']='2.2.0'ext['hibernate.version']='5.2.8.Final'自定义Thymeleaf版本为3.0、ThymeleafLayoutDialect的版本为2.2和Hibernate的版本为5.2.8版本,因为本系统之前添加的依赖“spring-boot-starter”默认使用的是ThymeleafLayoutDialect版本是2.1和Hibernate的版本为5.0版本,因为Thymeleaf3.0模板变化,配置也发生了改变,完整HTML5标志支持,同时不再是基于XML结构的优点,而Hibernate5.2也对功能进行优化等优点。(2)修改项目的perties:“spring.thymeleaf.cache=false”为缓存禁用,实现热部署静态文件,当html页面修改时,它会自动部署在服务器上,实时看到文件实现的效果。“spring.jpa.hibernate.ddl-auto=create-drop”SpringdataJPA将会在程序运行时对表结构进行创建,程序结束时对数据进行删除。“perties.transport.tcp.connect_timeout=120s”Elasticsearch的连接超时为120s。5.3用户管理系统的表现层即展示给用户的静态页面和相关说明如下:templates.index:技术论坛系统首页,用于对论坛系统主要展示的页面。login:用户登录页,验证是否系统用户会员的页面。register:用户注册页,用户注册的必要填写信息展示的页面。seargh:搜索页,用于对用户进行搜索后信息展示的页面。templates.admins.index:管理员首页,用于对用户管理展示的页面。header:模块头部页面,用于每个html页面头部相关联的信息展示页面。footer:模块尾部页面,用于每个html页面尾相关联的信息展示页面。page:模块分页页面,用于各个html页面信息切换展示页面。add:用户增加页,管理员直接对用户进行添加的页面。edit:用户编辑页,管理员可以直接修改存在于数据库的用户的详细信息的页面list:用户管理页,可以将已经存在于数据库的用户的详细信息进行展示的页面。profile:用户个人信息页,对用户的个人信息进行展示的页面。blog:技术帖子页,对帖子信息进行展示的页面。blogedit:技术帖子编辑页,可以对帖子的信息重新进行编辑的页面。cataloedit:分类编辑页,可以对用户的增加的分类或者重新对分类进行编辑的页面。u:用户个人主页,对用户的个人主页信息进行展示的页面。在系统用户功能模块中,在Controller层、Service层、Bean层里的主要实现类有:Application:应用启动类,对程序正常运行的请求和响应。UserController:用户Controller类,运用JSON报文解决与用户关联操作逻辑访问并反馈关联操作。AdminController:管理员Controller类,运用JSON报文解决与管理员关联操作逻辑访问并反馈关联操作。User:用户实体类,实现用户管理的基础,用于保存用户属性信息。UserService:用户Service接口类,定义了管理用户和查询用户相关联的数据操作。UserServiceImpl:用户Service接口实现类,实现了管理用户和查询用户相关联的数据操作。UserRepository:用户Repository类,保存了用户信息和根据用户名、用户账号查询用户列表等的相关数据操作信息。Response:响应值对象类,封装对象的请求返回JSON数据报文。ConstraintViolationExceptionHandler:冲突异常处理器类,专门处理持久化bean验证的问题。5.4安全设置在系统安全模块中,在Controller层、Service层、Bean层里的主要实现类有:UserspaceController:用户主页空间Controller类,运用JSON报文解决个人信息和帖子中信息关联操作逻辑访问并反馈关联操作。Authority:权限实体类,实现用户权限操作的基础,用于保存用户权限属性信息。AuthorityRepository:权限Repository类,保存了权限信息等相关联的数据操作信息。AuthorityService:权限Service接口类,定义了根据id获取Authority的操作信息。AuthorityServiceImpl:权限Service接口实现类,实现了根据id获取Authority的操作。SecurityConfig:安全配置类,定义实现了系统对系统资源配置的限定,保证系统安全。5.5帖子管理在系统技术帖子模块中,在Controller层、Service层、Bean层里的主要实现类有:UserspaceController:用户主页空间Controller类,运用JSON报文解决用户对个人信息和帖子信息关联操作逻辑访问并反馈关联操作。Blog:帖子实体类,实现技术帖子管理的基础,用于保存技术帖子信息。BlogRepository:帖子Repository类,保存了帖子信息,最新帖子,最热帖子和分类名称获取用户帖子列表等的相关数据操作信息。BlogService:帖子Service接口类,定义了管理帖子、最新帖子查询和最热帖子等相关联的数据操作。BlogServiceImpl:帖子Service接口实现类,实现了管理帖子、最新帖子查询和最热帖子等相关联的数据操作。5.6评论管理在系统评论模块中,在Controller层、Service层、Bean层里的主要实现类有:CommentController:评论Controller类,运用JSON报文解决评论管理页面关联操作逻辑访问并反馈关联操作。Comment:评论实体类,实现评论管理的基础,用于保存评论信息。CommentRepository:评论Repository类,保存了评论信息等相关联的数据操作信息。CommentService:评论Service接口类,定义了获取评论ID、删除评论等相关联的数据操作逻辑。CommentServiceImpl:评论Service接口实现类,实现了获取评论ID、删除评论等相关联的数据操作逻辑。5.7点赞管理在系统点赞模块中,在Controller层、Service层、Bean层里的主要实现类有:VoteController:评论Controller类,运用JSON报文解决点赞管理页面关联操作逻辑访问并反馈关联操作。Vote:点赞实体类,实现点赞管理的基础,用于保存点赞信息。VoteRepository:点赞Repository类,保存了点赞信息等相关联的数据操作信息。VoteService:点赞sService接口实现类,定义了获取点赞ID、删除点赞等相关联的数据操作逻辑。VoteServiceImpl:点赞Controller类,实现了获取点赞ID、删除点赞等相关联的数据操作逻辑。5.8分类管理在系统分类模块中,在Controller层、Service层、Bean层里的主要实现类有:CatalogController:分类Controller类,运用JSON报文解决分类管理页面关联操作逻辑访问并反馈关联操作。Catalog:分类实体类,实现分类管理的基础,用于保存分类属性信息。CatalogRepository:分类Repository类,保存了分类信息和根据用户名,分类名称查询分类信息等的相关数据操作信息。CatalogService:分类Service接口类,定义了管理分类、获取分类列表等相关联的数据操作逻辑。CatalogServiceImpl:分类Service接口实现类,实现了定义了管理分类、获取分类列表等相关联的数据操作逻辑。CataloVO:分类VO类,实现分类的前台和后台的参数传递,用于保存分类参数信息5.9标签管理在系统标签模块中,属性tag标签作为技术论坛系统帖子blog类的一个分支,标签tag在帖子模块已有实现,而在其Service层添加了一个实现类:TagVO:分类VO类,实现标签的前台和后台的参数传递,用于保存标签参数信息。5.10首页搜索在技术论坛系统首页搜索模块中,在Controller层、Service层、Bean层里的主要实现类有:MainController:主要Controller类,运用JSON报文解决论坛系统各种页面跳转的相关操作逻辑访问并反馈关联操作。BlogController:技术论坛系统帖子Controller类,运用JSON报文解决论坛系统主页管理页面的相关操作逻辑访问并反馈关联操作。EsBlog:Es帖子文档类,实现搜索帖子的基础,用于保存搜索帖子属性信息。EsBlogRepository:Es技术论坛系统帖子Repository类,根据帖子ID和标题、摘要、内容的关键字进行搜索的相关数据操作信息。EsBlogService:Es技术论坛系统帖子接口类,定义了用户搜索、帖子搜索、标签搜索、系统主页列表等展示等相关联的数据操作逻辑。EsBlogServiceImpl:Es技术论坛系统帖子接口实现类,实现了用户搜索、帖子搜索、标签搜索、系统主页列表等展示等相关联的数据操作逻辑。5.11本章小结本章核查技术论坛系统需求、依托系统设计的方法对系统进行了实现,层层模式清晰,每个类的功能作用更明确,是对系统更好的开发和维护。
6.系统测试6.1测试意义和目的bug往往在用户面前层出不穷,导致用户对系统失去信心,让一个项目的成果付之东流,让一个开发团队失去口碑、信任和认可,因此要重视和正确的做好项目开发实施过程中各环节和各层次的测试工作,确保产品或系统的开发实施是高效和经济的,进而让系统可持续的发展。程序中的缺陷以及设计和实现是否满足用户的需求可以通过测试用例检测,因此测试环节对于一个项目必不可少的过程。
6.2测试用例本系统运用黑盒测试来发现程序缺陷,现测试名称、测试过程和结果如下。表6-1用户模块测试用例序号用例名称测试过程实际结果测试结论T001增加用户1、进入管理员页面2、选择权限和填写相关的用户信息3、点击提交按钮管理员填写正确信息则添加用户成功;填写错误信息则失败通过T002修改用户1、进入管理员页面2、修改相关的用户权限和信息3、点击提交按钮管理员修改信息和相关权限,用户使用权限成功通过T003删除用户1、进入管理员页面2、在用户列表删除用户账号管理员删除用户,用户无法登陆通过T004搜索用户1、进入管理员页面2、管理员在搜索框搜索用户名称管理员输入相关的用户名称搜索,通过T005用户登录1、进入登录页面2、输入账号密码3、点击提交按钮用户或管理员账号密码正确课登录,错误则不能登陆通过T006用户注册1、进入注册页面2、填写用户信息3、点击提交按钮注册信息正确可以注册,错误则无法进行注册通过表6-2帖子模块测试用例序号用例名称测试过程实际结果测试结论T007发表帖子1、用户进入登录页面2、发表帖子填写相关的技术帖子信息(已进行分类)3、点击发布按钮用户需先对技术帖子进行技术分类,填写正确相关技术帖子信息可发布,否则不能发布通过T008编辑帖子1、帖主点击某篇属于自己的技术帖子详情2、点击编辑按钮3、点击提交按钮用户是会员,重新编辑自己的技术帖子,通过系统验证,可重新显示通过T009删除帖子1、帖子点击查看某篇属于自己的技术帖子详情2、点击删除按钮用户需先登录,可以对自己的技术帖子点击删除,系统不再显示该技术帖子通过T010模糊查询1、帖主进入个人主页2、帖主在个人主页搜索框按标题搜索技术帖子用户需先登录,可在个人主页成功搜索技术帖子相关信息,失败则为空白通过T011最新排序1、帖主进入个人主页2、点击最新按钮用户需先登录,点击最新按钮,按时间逆序进行显示用户个人的最新技术文章通过T012T013最热排序阅读量统计1、帖主进入个人主页2、点击最热按钮1、用户进入查看技术帖详情2、评论一次阅读量加一,也可以查看阅读量用户需先登录,点击最热按钮,按综合排序显示用户个人的最热技术文章阅读量加一用户需先登录,游客或用户可以查看在技术帖子的阅读量通过通过表6-3评论模块用例序号用例名称测试过程实际结果测试结论T014发表评论1、用户进入登录页面2、在相关技术帖子详情下输入评论3、点击评论按钮用户需先登录,在相关技术帖子详情下评论成功通过T015删除评论1、用户进入登录页面2、在相关技术帖子详情下,对属于自己的评论进行删除3、点击删除按钮用户需先登录,可以在技术帖子下对自己的评论点击删除,系统不再显示该评论通过T016T017查看评论评论量统计1、用户进入技术帖子详情页2、用户可以该技术帖子下的评论列表1、用户会员查看技术帖子2、评论后评论量加一用户和游客可以查看该技术帖子下的评论列表用户是会员,在帖子下评论,评论量正常统计通过通过表6-4点赞模块测试用例序号用例名称测试过程实际结果测试结论T018点赞1、用户进入登录页面2、在相关技术帖子详情下,点击点赞按钮用户需先登录,在相关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度版权维权合同2篇
- 2024年度花店绿植租赁合同3篇
- 居间工程设计2024年度合作协议5篇
- 《小儿支气管肺炎》课件
- 《手卫生规范管理》课件
- 2024电子商务平台知识产权保护合同2篇
- 2024版库房货物保管服务承包协议3篇
- 2024年度建筑工程质量保修检测合同3篇
- 工厂代加工的合同
- 《天狼指标功能介绍》课件
- 脑梗死伴高血压3级病例分析专题报告
- 孕妇心衰健康宣教
- 工程量计算表(模板)
- 急诊科的工作风险与安全防范措施
- 社区矫正法教育知识讲座
- 医疗健康管理项目推广运营方案
- 胃石症的护理查房
- 河道拉管施工方案
- 危大工程监理巡视检查用表
- 江苏省2023-2024学年四年级上学期数学期中备考卷一(南通专版)
- 常用材料物性一览表
评论
0/150
提交评论