摘 要
博客系统是能够让网民记录分享和学习的一个网站,在博客中我们可以发表文章对感兴趣的事情进行讨论。而基于移动端的个人博客系统的设计是就为了迎合广大用户需求创建的一个界面简洁、有定向内容、业务逻辑简单易操作的博客系统。本文以博客系统的设计与实现为例,提出了利用Android 平台开发设计和实现个人博客应用的思想,并对其制作过程和结果进行了研究和展示。个人博客系统是基于B/S架构模式,有针对性地采用uniapp 与springboot框架,管理员数据库系统选用MYSQL数据库。系统主要分为前端用户和后台管理员两个部分,用户功能模块包括个人中心、博客信息、我的收藏管理、在线客服、我要发贴、我的发帖等功能模块;管理员包括个人中心、用户管理、博客信息管理、博客分类管理、博客论坛、系统管理等功能模块。
全文首先分析了课题的研究背景和研究现状,然后根据系统开发流程分析了系统的可行性和需求。然后,通过对系统总体功能模块的设计,绘制了系统的功能模块图,并设计了整个数据库的结构。根据设计的框架,实现了系统的各个功能模块。最后,对设计的系统进行测试。测试结果表明,系统能够实现所需的功能,达到了预期的效果,运行状况良好。
关键词:个人博客;springboot;MYSQL数据库
第1章 系统分析
本章主要从经济、技术和操作上对系统进行分析,由于本系统的特殊性,我们只需重点对技术和操作可行性进行分析,可以从一下几个方面进行分析。
3.1 可行性分析
3.1.1 经济可行性分析
由于开发本系统主要是为了测试自身的专业和设计能力,基本不考虑经济效益和后来的发展方向,只注重自身水平和设计能力的提高,并且对自身经济的要求也不高,只要有一台普通电脑就可以了,所以不需要考虑经济问题。
3.1.2 技术可行性分析
系统主要采用Android技术进行设计, 系统基于B/S架构模式,有针对性地解决了架C/S构安装麻烦不便维护等一系列问题[11]。因为本系统是采用MySQL数据库和B/S结构进行设计的一个小型网站,所以应用程序和数据库更是缺一不可,要想使用该程序,必须保证功能完整,操作简单且直观易懂的特点[9]。数据库的建立,对整体的完整和数据安全两方面必须得到保证。我们可以采用JAVA进行优化,加密函数,建立密库,这样可以有效的阻止在传输数据信息的过程中不易出现泄密状况,可以提高安全等级[2]。在加密的同时我们可以开启JAVA安全模式,针对一些被执行命令和可以被使用的函数进行限制来提高系统的安全性[3]。在早期,我已将JAVA的基本知识有了深度的理解,并对MySQL进行了解。对软件工程测试、UML等相关课程大概了解和学习过,通过掌握这些课程有了一定的系统开发、检验和辨别。采用JAVA以及MySQL结合起来开发该系统,必定是可行的并且是高效的[13]。
3.1.3 操作可行性分析
系统的登录界面和业务逻辑简洁明了,采用一般的界面窗口来登录界面,整个系统更加人性化,用户操作更加简洁方便。本系统在操作和管理上比较容易,还具有很好的交互性等特点,在操作上是非常简单的[8]。因此,本系统可以进行设计开发。通过电脑进行访问操作,用户一定能够很快就会对系统熟悉,尤其对老年群体,稍微简单了解下本系统,就能很快上手。
3.2 系统现状分析
由于系统开发出来后使用的人数众多,对于这些用户在管理上会给系统带来繁重的工作量。最后通过前期的调研总结出对现有管理状况分析如下:
(1)缺少统筹规划
系统管理中对标准化、安全性、整体性等方面不够完善,不可避免要投入大量的时间精力和人力去规划好网站后续发展,要实现统一规划就必须引入信息规范化管理后才能实行,本系统充分考虑用户的体验感,突出重点慢慢推进。
(2)业务逻辑繁琐
随着互联网技术越来越成熟,个人博客系统不断更新迭代,现在许多个人博客系统的界面和业务逻辑都太追求复杂和技术,往往忽略了用户体验,一个好的系统不在于它的功能是否新颖,它的逻辑代码是否复杂,而是在于它是否有一个简洁的界面和简单的业务逻辑,让用户操作起来更简单。
(3)内容定位模糊
除了系统体验之外,好的内容才是各网民最在意的,现在许多个人博客系统是面向所有群体的,既然是面向所有的网民,那么各个网民想表达的想法也是层出不穷的,所以就会造成系统的文章内容是各式各样、参差不齐的,系统就没有自己的特点,没有内容特点也就没有了优势,所以系统的内容必须要有精确的定位。
(4)当前扩展性不高
设计本系统时考虑到开放性和兼容性上的问题,要在将来具备扩充的可行性。做到信息更新及时,能够解决系统信息更新迭代,增强用户的体验感。
对于以上陈述,对建设的目标要从实际工作中出发,具体表现如下:
一、系统集信息管理与测评为一体,信息及时更新,功能更强大;
二、系统使用更先进,技术架构成熟,能保证安全与稳定的运行;
三、系统内容定位精确;
四、系统业务逻辑简单易操作,通过详细论证来确定系统总体的需求。
3.3 功能需求概述
系统功能需求包含业务需求、功能需求和用户需求;对系统的功能上的需求分析是指通过了解开发的技术与实力,用户的习惯等各因素的前提下进行分析,了解最基本的需求后,基本功能如下:
本课题要求实现优质的个人博客系统,就一定要包含有数据库、服务器相联系,从而实现系统的功能运转。系统分为用户和管理员两个角色,用户包括系统登录注册、个人信息和密码修改和对博客信息、我的收藏、在线客服、我要发贴、我的发帖等功能进行操作;管理员包括登录注册、个人信息修改、用户管理、博客信息管理、博客分类管理、博客论坛、系统管理等功能。
功能模块具体实现:
(1)用户管理:管理员可以对用户进行注销,或者编辑用户信息。
(2) 博客信息管理:管理员可以输入博客标题,选择博客分类和是否通过等信息来查询,新增或删除博客信息详情,并进行详情,修改,查看评论和删除操作。
(3) 博客论坛:管理员可以输入帖子标题来查询,新增或删除博客论坛信息详情,并进行详情,修改,查看评论或删除操作。
本系统的功能结构图如下所示:
图3-1 系统功能结构图
3.4 用例分析
(1)用户管理
表3-1 用户管理用例分析
用例名称 前置条件 操作步骤
用户管理 系统登录正常,网络连接正常。 (1)管理员打开系统。
(2)进入登录页面,输入用户名及密码。
(3)登录成功进入系统主面。
(4)单击用户进入用户管理界面。
(5)单击查询按钮,进入用户查询结果显示界面。
(6)按提示,对用户信息进行添加,删除和修改等操作。
(2)管理员管理
表3-2 管理员管理用例分析
用例名称 前置条件 主要操作
管理员管理 系统登录正常,网络连接正常。 (1)管理员打开系统。
(2)进入登录页面,输入用户名及密码。
(3)登录成功进入系统主界面。
(4)单击进入管理员管理界面。
(5) 单击查询按钮,进入管理员查询结果显示界面。
(6)按提示,对管理员信息进行添加,删除和修改等操作。
(7)更新管理员信息表。
3.5 本章小结
本章主要是对系统进行分析,主要介绍了可行性分析、功能需求分析、用例分析、运行环境等。
第2章 系统设计
本章将从系统架构设计、系统业务流程两个方面具体介绍软件部分的设计方案。
4.1 详细设计
登录模块有许多规则,这些规则是用来限制用户权限的,没有登录账号的用户除了浏览文章之外不可以对网站进行操作,用户进入系统前要进行登录,登录成功后方可对相关权限的操作。登录流程如下所示。
图4-1系统登录流程图
4.2 架构设计
架构设计目标如下:
(1)可行性。系统的开发一定是在架构的设计基础上。
(2)可靠性。对企事业单位的管理来讲,系统的可靠性非常重要,所以对系统架构设计上就必须具备相当高的可靠性。
(3)安全行。由于大量的数据都是存储在数据库中,这些数据价值高,所以对系统数据库的安全性要特别重视。
(4)可扩展性。在原有的技术上增加一些功能,这样能够逐渐完善网站。
(5)可维护性。在可维护性方面体现在:一是跟踪现有的错误,二是导入新功能需求到系统上,以便减少运营成本。
(6)可升级性。系统能够进行更新迭代,使用户有更好的上网体验。
下面我们将根据架构设计原则和目标来建立系统的架构设计模型。将信息系统中对象分层,可分为三层:用户界面层、业务层、数据访问层(如下图4-2所示),再把各层中的一些公共部分提出来:权限管理、异常处理,这样得到包图如图4-3所示:
图4-2 系统体系架构图
图4-3 系统功能模块包图
4.3 系统架构类图
展开包图,得到类图,它是静态结构图的架构,使各个种类之间的关系,表达了静态联系。系统类图如下图4-4所示。
图4-4 系统类图
4.4 数据库设计
4.4.1 数据库E-R图
当前用户量最多的数据库是关系型数据库,属于面向对象系统设计。主要考虑的是怎样去对类映射到关系数据库的二维表上。目前可以采用数据库建模来实现。
根据功能需求来对系统的e-r图来进行分解得到几种实体,以下为部分实体—关系模型。
用户实体属性图如下。
图4-5 用户实体属性图
4.4.2 数据库表
本系统采用MySQL管理数据,系统使用的数据表具体展示部分如下所示。
表4-1:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-2:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-3:博客信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl varchar 200 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容
表4-4:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-5:在线客服
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
adminid bigint 管理员id
ask longtext 4294967295 提问
reply longtext 4294967295 回复
isreply int 是否回复
表4-6:博客信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bokebiaoti varchar 200 博客标题
bokefenlei varchar 200 博客分类
bokefengmian varchar 200 博客封面
bokeneirong longtext 4294967295 博客内容
faburiqi date 发布日期
yonghuzhanghao varchar 200
yonghuxingming varchar 200
gexingqianming varchar 200 个性签名
sfsh varchar 200 是否审核 否
shhf longtext 4294967295 审核回复
thumbsupnum int 赞 0
crazilynum int 踩 0
clicktime datetime 最近点击时间
表4-7:博客分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
bokefenlei varchar 200 博客分类
表4-8:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
touxiang varchar 200 头像
xingbie varchar 200 性别
nianling int 年龄
shouji varchar 200 手机
youxiang varchar 200 邮箱
gexingqianming varchar 200
表4-9:收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 商品id
tablename varchar 200 表名
name varchar 200 名称
picture varchar 200 图片
type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1
inteltype varchar 200 推荐类型
remark varchar 200 备注
表4-10:博客资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture varchar 200 图片
content longtext 4294967295 内容
表4-11:博客论坛
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 帖子标题
content longtext 4294967295 帖子内容
parentid bigint 父节点id
userid bigint 用户id
username varchar 200 用户名
avatarurl varchar 200 头像
isdone varchar 200 状态
4.5 本章小结
本章主要对系统总体进行设计,针对系统的各个功能模块进行说明,给出各个子程序的设计流程图,包括系统主程序、系统设,主要进行了系统的架构设计、数据库设计等。
第3章 系统实现
5.1 App前台功能的实现
5.1.1登录界面的实现
首先双击打开App,连上网络之后会显示出本系统的登录界面,这是进入App的第初始页面“登录”,能成功进入到该登录界面则代表App的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。
登录界面如图5-1所示。
图5-1 登录界面
5.1.2注册界面的实现
第一次使用本app的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用本app所提供的所有功能。注册界面如图5-2所示。
图5-2 注册界面
5.1.3系统首页功能的实现
系统首页是用户注册登录后进入的第一个界面,用户可通过app端首页的最下面的那一行导航栏中的“博客信息和博客论坛”进入到相应的网页进行操作;点击“我的”进入我的页面,在我的页面可以对个人中心、博客信息、我的收藏管理、在线客服、我要发贴、我的发帖等进行详细操作。系统首页界面如图5-3所示。
图5-3 app首页界面图