1 Star 9 Fork 4

Kris丶 / Blog-Requirements-Specification

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
系统设计说明书.md 6.03 KB
一键复制 编辑 原始数据 按行查看 历史
Kris丶 提交于 2020-12-22 22:09 . 添加目录

BYDream's Blog 系统设计说明书

[toc]

1 引言

1.1 编写目的

本说明书目的在于说明BYDream's Blog系统各功能的设计目标,指导开发人员进行具体的编码实现。

预期读者是:系统设计人员、数据库设计人员、系统实现人员、测试人员等。

1.2 背景

本次待开发软件系统为“BYDream‘s Blog博客系统”,

学生或技术人员通过使用该系统可以记录或学习某一个知识点,开发者在开发这款系统的同时也能提升自己的编码能力以及运维能力。

1.3 定义

Spring Boot:由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

MyBatis:一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。

MySQL:一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

Maven:是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

1.4 参考资料

[1] 柳伟卫.Spring Boot 企业级应用开发实战[J].北京大学出版社,2018年3月

[2] 杨开振.深入浅出springBoot2.x.[J/OL].人民邮电出版社,2018年8月

[3] Craig Walls 沃尔斯.Spring实战(第4版)[J].人民邮电出版社,2016年4月

[4] Kathy Sierra,Bert Bates.Head First Java(第二版·中文版)[J].中国电力出版社,2007年2月

2 总体设计

2.1 需求规定

管理员(我):

  1. 用户名和密码登录后台管理

  2. 发布新博客

  3. 对博客进行分类

  4. 对博客打标签

  5. 根据标题,分类,标签查询博客

  6. 修改博客

  7. 删除博客

  8. 新增一个分类

  9. 修改一个分类

  10. 删除一个分类

  11. 根据分类名称查询分类

  12. 新增一个标签

  13. 修改一个标签

  14. 删除一个标签

  15. 根据名称查询标签

普通访客:

  1. 分页查看所有的博客

  2. 快速查看博客数最多的6个分类

  3. 查看所有的分类

  4. 查看某个分类下的博客列表

  5. 快速查看标记博客最多的10个标签

  6. 查看所有的标签

  7. 查看某个标签下的博客列表

  8. 根据年度时间线查看博客列表

  9. 快速查看最新的推荐博客

  10. 用关键字全局搜索博客

  11. 查看单个博客内容

  12. 对博客内容进行评论

2.2 运行环境

  • 数据库:MySQL 5.0及8.0版本

  • 操作系统:Linux、windows10 32位、64位、Android

  • 运行环境:JDK 1.8

2.3 体系结构

img

2.4 功能模块

3 详细设计

3.1 系统安全和权限设计

访客只能对博客信息进行浏览,管理博客的信息,需要登录到后台管理系统,在登录时进行MD5的密码的加密,并配置拦截器对未登录的非法的越权请求进行拦截。同时,在云服务中对安全组进行配置,防止不明地址的请求和攻击。

3.2 用例图

用例图

3.3 设计类图

img

3.4 ER分析图

img

3.5 设计约束

3.5.1 软件约束

主流的操作系统、浏览器

3.5.2 硬件约束

计算机、移动设备等带显示屏的终端设备

3.6 属性

3.6.1 易用性需求

这款博客主要面向青年群体,所以我们摒弃各种繁杂的菜单选项,选择的字体大小适中,通过分明的字体颜色和形象的图标,吸引访客进行浏览,可专注地阅读感兴趣的博客,了解作者的所思所想,轻松愉悦的与作者进行交流互动。管理者即博客的用户,通过极简的后台管理界面,可以快捷的管理博客的相关信息,Markdown插件的引入,带来丰富的辅助编辑功能,并可以一边书写一边预览效果,发布的博客更能体现作者的个性。

3.6.2 可执行需求

在部署到云服务器后,从浏览器上访问博客站点,首页整体界面加载时间在200ms即0.2s之内,所有DOM对象和数据在0.6s内加载完毕,其余子栏目的加载时间更短,查阅博客文章详情的时候,加载时间在0.5s之内,达到极其流畅的效果。得益于统一的RESTful规范接口对数据的传输,以及thymeleaf对公共页面元素抽取,避免了资源的重复利用。

3.6.3 安全性需求

访客只能对博客信息进行浏览,管理博客的信息,需要登录到后台管理系统,在登录时进行MD5的密码的加密,并配置拦截器对未登录的非法的越权请求进行拦截。同时,在云服务中对安全组进行配置,防止不明地址的请求和攻击。

3.6.4 系统的完整性需求

这款博客系统功能不仅可以发布博客文章,还可以对博客文章进行分类和归档,markdown格式对于博客文章的备份和迁移十分的简便。用户对博客可以添加个性化的标签和分类,也可以通过评论与访客进行互动,保持文明的评论环境。

3.6.5 系统的可扩充性与可维护性

基于Spring Boot框架的博客开发,顺应未来微服务项目的发展趋势,可以将不同业务模块进行拆分,降低耦合度,实现单一职责的目标。随着未来博客访问量的增加,我们可以考虑将不同业务模块部署到集群中。在部署项目的服务器后台,利用spring的Aspect实现切面,对运行中的各种请求操作进行实时的日志记录,便于运维人员的调试和维护。

1
https://gitee.com/wufan11/Blog-Requirements-Specification.git
git@gitee.com:wufan11/Blog-Requirements-Specification.git
wufan11
Blog-Requirements-Specification
Blog-Requirements-Specification
master

搜索帮助