选题依据及研究内容(国内、外研究现状,初步设想及突破点;研究目标、预期成果,及可行性论述等)
一、选题依据
近年来,在此期间,互联网上的信息对人们现实生活的影响越来越大,人们的思想逐渐开放,不再满足传统媒体方式的信息获取方式,同时人们也渴望自我思想的表达,由此产生了以邮箱、论坛、博客、即时通讯等互联网工具。博客相较于邮箱、论坛、即时通讯等工具具有操作简单、表达详细、逻辑性强等特点,并且具有开放和共享的互联网精神。而现在大多数博客多以公司企业博客为主,个人博客则较少,并且个人博客的主要实现方式是在公共平台上进行编写发布等。经过不断的调查研究,对个人博客系统相关功能需求的组织,设计出了基于Spring Boot框架的,功能丰富,风格优美的个人博客系统。
该个人博客的架构实现通过对比与研究,选用了B/S的架构,从结构化来实现相关功能,分离系统的功能模块。采用了MVC模式来设计WEB应用程序的代码,实现个人博客的界面、功能、数据的分层结构,使整个WEB应用程序的代码耦合性低,并且在后期能够方便维护相关的代码,有利于工程化管理。本博客的实现主要以Spring Boot框架技术为基础,在前端采用了Thymeleaf技术,并且使用Spring Data JPA技术来对后端的数据进行操作,使对数据库的操作更加方便。其中将Spring Boot框架作为业务处理层的处理基础框架,以便于Thymeleaf、Spring Data JPA等其它技术与Spring Boot的结合使用,并且在Spring Boot框架中内置了Tomcat,方便后期对WEB应用程序进行相关部署。最后对个人博客项目中的代码进行测试,保证个人博客的可靠性与安全性。
二、国内外研究现状
近年来,很多学者应用不同技术实现博客管理系统。2012年,方志斌采用S2SH框架来设计博客管理系统,分析了如何高效、快速地进行博客系统开发[1]。2013年,闫伟光采用JSP(Java erver Pages)和MVC (Model View Controller)架构实现了博客管理系统,采用人机对话的操作模式使系统更容易操作和维护[2]。肖春明采用ASP(ActiveServerPages) 技术和SOA (Service Oriented Architecture),使界面具有简单明了、清晰和直观的特点[3]。2015年,徐安令在WAMP(Windows Apache Mysql PHP)环境下开发了博客管理系统,提供了一个新的开发环境[4]。2016年,胡雅丽分析了Java和PHP两种博客管理系统开发方式各自的优势和缺点[5]。
博客管理系统是基于网络的社交平台,因此本文系统架构选择B/S(Browser/Server、浏览器/服务器)模式[6]。B/S结构由三层结构,第一层用户所用的浏览器端,第二层服务器上创建的WEB服务器[7],第三层服务器安装的数据库服务组成。用户可直接通过浏览器输入网址访问应用,无需安装其他软件程序,降低了维护成本与时间。随着用户网络服务的提升,访问速度与C/S模式的程序无异,这也成为软件服务的发展趋势。面向用户的社交平台始终把用户体验放在第一位,随着WEB2.0技术逐渐成熟,各技术所支持的插件也极为丰富,B/S架构下的WEB应用同样拥有比肩与C/S架构良好操作,这也是博客管理系统选择此架构的重要因素之一。
本系统的研究内容是用Spring Boot框架开发个人博客管理系统全过程。功能模块包括:用户注册、用户登录、用户管理、评论管理、留言管理、常用链接管理,博客管理系统分为前台和后台两部分,前台面向普通用户与匿名用户,后台面向系统管理员,通过对博客管理系统的研发促进理论与实践相结合。
现在的博客网站主要分为两类,有两种用途,一种是企业博客,一种是个人博客。企业博客是公司企业或者某个产品的博客,其功能也主要分为三方面。如果是对内的博客,这种企业博客可以促进企业内部交流[8],如果企业对外的博客,则往往发挥着树立企业的形象的作用,同时作为企业公关的一种窗口。
个人博客往往通过作为个人的网络版日记、学习交流平台、展示形象,获得话语权等方式起到个人自由表达,知识过滤和积累、深度学习交流等作用[9]。博客系统一般来说专注于表达,例如对特定的新闻或者研究课题的评论,记录个人生活的日记或者专业知识学习笔记[10]。博客应用的发展和使用人群的不同,很难使博客系统符合每个人使用习惯与风格[11]。
现在建立个人博客主要有两种方式,一种是通过新浪、CSDN、Blog或者开源中国这种公共平台进行建立,但这种建立方式往往出现个人特点,博主话题不明确等问题。而另种建立个人博客的方式往往是同过搭建服务器,部署相关的博客应用实现,对于大部分用户来说,缺少相关的技术积累,建立起来较为繁琐。而在本次基于Spring Boot个人博客系统的实现中,便保证个人博客是一种具有个人特点,简单优美易部署的博客。
“百度指数”中表明,2011年开始到2018年,个人博客的搜索量又出现缓慢增长的现象,个人博客的使用缓慢上升,在百度中,中国的仅“个人博客”的搜索日均达到446次。个人博客在游戏、教育培训、资讯、书籍阅读、家电数码、软件应用、休闲爱好、医疗健康、影视音乐金融财经方面使用较多。
三、初步设想
软件系统的功能采用的是模块化设计。首先将系统分为前台和后台,然后前台的使用主要是普通用户和VIP用户,模块的主要功能也是浏览博客,发表评论等。而在后台主要是博主使用的功能模块,主要是包含博客文章的管理、博客文章分类管理、博客标签管理等。
系统总体模块设计主要是根据系统的三个使用角色划分,其中前台模块主要是普通用户和VIP用户使用,在前台模块中又有一些小的功能模块,其中最主要的是用户的注册与登录模块,文章浏览模块、文章搜索模块和发表评论模块。而在后台主要是博主使用,在模块设计中又将后台模块分成若干子模块使用。其中在后台模块中最主要的是博主的注册和登录、文章管理、博客分类、博客文章评论以及系统管理等功能模块。
1.前台子模块设计
(1)注册和登录模块
博客系统具有四个用户角色,分别是博主、游客、普通用户、VIP用户。其中游客是仅浏览博客的非VIP文章,但不用注册用户账号。而注册用户是在个人博客网站中具有个人账号的用户但未充值VIP的用户。其中注册用户主要有两种途径实现,一种是游客注册账号成为注册用户,另一种是VIP用户的VIP到期变为普通用户但这几种用户在个人博客系统中注册与登录的方式和流程是相同的。在用户注册时,是通过注册功能传入自己的个人信息,然后将向数据库中的数据查找匹配的数据,如果没有相同的用户账号,则保存用户数据,用户注册成功,其注册的具体过程如图4-2所示。在登录过程中,也是用户信息通过输入相关信息,如果数据库中有信息,则登录成功,否则失败。
(2)文章浏览模块
根据用户的不同,文章的浏览方式有两种,一种是游客不用注册和登录直接查看博客文章,其他注册用户则可以选择直接浏览或者登录后浏览文章。如果VIP用户想要阅读VIP文章则必须进行登录。
(3)文章搜索模块
用户在查看文章时,可以通过输入需要查询的关键字进行搜索。在搜索时用户需要将关键字输入到输入栏,然后系统提取关键字并在数据库中进行查找,然后将查到的文章数据返回给业务逻辑层进行处理,然后将处理后的数据绑定在前段页面的模板引擎上以便于用户查看和操作。
(4)用户评论模块
在该模块上,无论是游客、注册用户、VIP用户甚至是博主都能在前台发布评论和回复评论,并且并不需要进行用户登录仅是在输入评论信息时输入自己的邮箱便可以正常发表评论。
2.后台子模块设计
(1)博主注册与登录功能
与其他用户不同,由于个人博客系统是专属于博主的博客系统,因此在个人博客系统中具有博主身份的人和账户有且仅有一个,因此博主的注册能且仅能使用一次,但对于博主用户的个人账户信息在博主登录之后是可以更改的。关于博主的登录功能与其他用户的登录功能大体相同。
(2)文章管理
在博主登录进账户后,会进入后台管理,其中文章管理是分为两部分的,一部分为文章列表,可以查看文章列表,查找文章,删除文章。而第二大部分则是修改和添加文章的功能。在文章修改或者添加时可以改变文章的状态,例如文章的原创、转载、翻译等,改变文章的首图,保存为草稿或者发布等。
(3)分类管理模块和标签管理模块
分类管理主要是对文章种类的管理,而标签管理则是每篇文章技术点、关键词的一个集合的管理。分类管理和标签管理都可以添加新的种类或者是标签,也可以修改种类或者标签的名字,也可以删除相关标签和种类。同样,后台模块的分类管理和标签管理也是博主必须登录后进入分类管理或者标签管理的页面才能够使用的功能。
(4)评论管理
博主虽然能够像其他用户那样发布评论,但博主的评论管理与其他用户的评论还是有不同的。在博主登录后台后,会有专门的评论管理页面,如果有用户对博主的文章进行评论后,而博主从未查看,则该评论会显示在后台评论页面,博主可以选择忽略,也可以查看评论后进行回复。
(5)系统管理
在个人博客系统中,个性化是个人博客中重要的一项非功能需求,因此在个人博客中添加了系统设置功能。系统设置就是对系统的相关功能进行管理,它可以管理前台的功能模块显示和部分样式。在系统管理模块中,博客系统状态数据是存储在数据库中,因此在个人博客WEB程序运行时便要向数据库提取相关状态数据,然后博客根据该数据进行初始化。在后期如果更改博主的设置是需要博主登录后台,然后在博客设置页面进行相关的博客设置的。
四、突破点
本次的基于Spring Boot的个人博客系统是一款个人博客,它不同于在公共平台上建立的博客,它用户单一,个性化突出,博客主题简单优美。在博客用户的编写上也使用了MarkDown的方式,并且MarkDown的编写方式中集成了插入视频的功能。
个人博客系统为了方便开发和维护采用了B/S架构,以Spring Boot框架为个人博客系统开发的核心,以Spring Data JPA框架来访问数据库,进而进行相关的数据库操作.Thymeleaf摸板引擎来构建前端页面,使用传统MVC模式来编写代码。个人博客系统需要数据库来存储和修改所需的相关数据,本个人博客采用现阶段较为流行的关系型数据库-MySQL数据库作为数据库管理系统。
五、研究目标
1.了解并较为熟练的掌握系统开发流程。
2.研究Spring Boot框架、Spring Data JPA框架及相关组件的现有架构并对其进行熟练掌握。
3.研究构建前端页面的Thymeleaf模板引擎,掌握传统的Spring MVC模式并进行代码的编写。
六、预期成果
一是完成一个基于Spring Boot框架的个人博客系统的设计与开发,系统预期的实现效果是博客网站前台访问、浏览以及评论等功能,后台文章管理,评论管理等功能的。二是在对相关文献资料的整合与分析及本系统的实现与分析下,完成论文《基于Spring Boot的个人博客系统的设计与实现》。
七、可行性论述
1.经济可行性分析
在开发个人博客系统中编写java程序使用的工具是IntelliJIDEA,数据库存储使用的是MySQL。个人博客的开发语言是java语言。而java使用的框架Spring Boot、Spring Data JPA、Thymeleaf也是开源免费的。因此,在个人博客系统的开发过程中经济可行性是完全可行的。
2.技术可行性分析
个人博客系统使用java语言,使用简单,并且java语言具有成熟的生态系统,其操作性和可行性都是具有保证的。在个人博客系统的WEB应用程序是以Spring Boot框架为基础的。Spring Boot具有对第三方框架自动配置的功能,因此在WEB开发中使用较为简单。因此个人博客系统开发的技术可能性是完全可行的。
2.功能可行性分析
整个系统采用模块式设计,操作较为容易。经过前期的功能分析和论证,本系统设计完整合理,具有结构简单,可操作性强,实用性高等特点。充分考虑了用户在使用个人博客时的各种需求,使用户得到满意的服务。
理论和实践意义
一、理论意义
Blog就是以网络作为载体,简易迅速简捷的发布自己的心得,及时有效的与他人进行就留,再集丰富多彩的个性化展示于一体的综合性平台。Blog是继Email、BBA、IM之后出现的第四种全新的网络交流方式。博客作为一种新的表达方式,它的传播不仅表达包括情绪,还包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸显网络的知识价值,标志着互联网发展开始进入新的更高的发展阶段。
二、实践意义
1.简化了以往的博客系统,使用户可以获得更加便捷、更加方便的用户体验。
2.进一步促进人们丰富多彩生活的同时,也促进了MyEclipse、Netbean等开发平台在同一项目上的融合发展。
3.对于Spring Boot 与Spring MVC架构技术的应用更加熟练,提高了调查问题、分析问题、动手解决问题的能力。
论文撰写过程中拟采取的方法和手段
1.文献资料研究法
通过调查文献来获得资料,从而全面地、正确的了解掌握所要研究的的问题。在文献研究过程中,将会大量阅读与博客知识及博客系统开发技术相关的文献资料,了解国内为相关的研究成果,在通过对文献的分析、归纳和综合,在现有研究成果的基础上形成本系统的相关理论和功能结构,并借助计算机进行信息的搜集、整理和加工,形成对论文设计有用的信息。
2.个案研究法
通过对已有博客系统的调查与研究,对自己将要开发的系统有一个大致的认知。对选取的案例进行长期的研究,通过采集其运行过程中各方面的数据信息进行分析,从而在真正进行开发时做到进一步的改进与完善。
3.需求调研法
需求调研,对博客的常用群体进行调研,例如学生族、上班族,通过对大量需求数据的调研与研究,从而使得系统功能的设计更加完善。
论文撰写提纲
第1章前言
1.1课题研究背景
1.2设计来源及意义
第2章系统需求分析
2.1系统可行性分析
2.1.1技术可行性
2.1.2经济可行性
2.1.3操作可行性
2.2系统核心业务流程分析
2.3系统需求分析
2.3.1功能性需求分析
2.3.2博主需求分析
2.3.3普通用户需求分析
2.3.4 VIP用户需求分析
2.4系统非功能需求分析
第3章系统总体设计
3.1系统功能设计
3.2前台子模块设计
3.2.1注册和登录模块
3.2.2文章浏览模块
3.2.3文章搜索模块
3.2.4用户评论模块
3.3后台子模块设计
3.3.1博主注册与登录功能
3.3.2文章管理
3.3.3分类管理模块和标签管理模块
3.3.4评论管理
3.3.5系统管理
3.4数据库设计
3.4.1数据库命名规则
3.4.2数据库设计
3.4.3数据库逻辑实现
第4章系统详细设计与实现
4.1前台功能实现
4.1.1博客文章浏览
4.1.2前台的主要功能
4.1.3前台的其他功能
4.2后台功能的实现
4.2.1标签的添加
4.2.2博客设置的预先加载
第5章软件测试
第6章 总结与展望
附录
参考文献
致谢
参考文献
[1]张玥,朱庆华Web2.0环境下学术交流的社会网络分析–以博客为例[J].情报理论与实践,2009(8):28-32.
[2]黄慧薇Blog(博客)技术在信息检索课网上教学中的应用[J]现代情报,2006,26(10):208-211.
[3]方志斌.基于S2SH框架的博客管理系统设计[J]湖南农机:学术版,2012(1):79-80.
[4]闫伟光.基于JavaEE的个人博客管理系统的设计和实现[D].内蒙古大学,2013.
[5]肖春明.基于ASP技术博客管理系统的设计与实现[D].电子科技大学,2013.
[6]徐安令基于WAMP架构的博客管理系统分析与设计用电脑编程技巧写维护,2015(1):63-65.
[7]胡雅丽浅析PHP博客管理系统的设计与实现[J]山西青年职业学院学报,2016,29(1):108-109
[8]柳青.基于SSH框架的企业内博客系统的设计与实现[D].山东大学,2013.
[9]安宁.基于JAVA的校园博客系统设计[D].天津:天津大学2015.
[10]HEWITTJ A.Technical services in 1983[J].Library Resource ser1984, 28(3):205:218.
[11]畅玉洁基于 J2EE和MVC 模式的企业信 息管理系统的设计与实现[J].网络安全技术与应用,2013(11):121~121.