3. 软件需求规格说明书 & 系统设计

目录

1. 软件需求规格说明书

2. 系统设计

3. 技术选型

4. 数据库实体

4.1 数据库设计

4.1.1 数据库名 forum_db

4.1.2 用户表 t_user

4.1.3 板块表 t_board

4.1.4 帖子表 t_article

4.1.5 帖子回复表 t_article_reply

4.1.6 站内信表 t_message

4.2 SQL 脚本

4.3 API 接口规范


1. 软件需求规格说明书

通过识别参与者、合并需求获取用例、细化用例描述、定义概念类、确定类之间的关系、为类添加职责、建立交互图等步骤,已经完成了需求的定义,并把现实世界中的事物抽象成了面向对象中的类,同时也确定了系统的主要功能和范围,上述的工作是编写软件需求规格说明书的基础,只要这些需求汇总起来就形成了软件需求规格说明书中的需求部分。
软件需求规格说明书做为需求分析阶段交付的成果,对系统设计与系统开发有重要的指导意义。

2. 系统设计

根据需求文档进行系统设计
目标:

  1. 确定技术选型
  2. 设计数据库结构

3. 技术选型

目标:确定技术平台以及开发和部署相关工具及版本。

1. 开发环境

2. 测试环境

3. 生产环境

类别 描述
构架 基于 MVC 构架,实现前后端分离
编码格式 UTF-8
前后端交互数据格式
JSON
JDK 版本 JDK1.8
服务器端技术
SpringBoot 2.7.6
Spring MVC
MyBaits Start 2.3.0
浏览器端技术
HTML, CSS, JavaScript
jQuery3.x
Bootstrap
数据库 MySQL5.7
项目构建工具 Maven 3.8.x
版本控制工具 Git 2.36.0 及以上 + GITEE
开发工具
IntelliJ IDEA社区版 2022.1.3
API⽂档⽣成⼯具
Swagger
Springfox 3.0.0

我们需要确保不同环境中版本号一致。

4. 数据库实体

通过需求分析获得概念类并结合业务实现过程中的技术需要,设计出数据库实体。

4.1 数据库设计

4.1.1 数据库名 forum_db
公共字段:无特殊要求的情况下,每张表必须有长整型的自增主键,删除状态、创建时间、更新时
间,如下所示:
字段 类型 非空(Y/N) 主键(Y/N) 默认值 备注
id bigint Y Y 编号,主键自增
state tinyint Y N 0 状态,0正常,1禁用
deleteState tinyint Y N 0 是否删除,0否,1是
createTime dateTime Y N 创建时间,精确到秒
updateTime dateTime Y N 更新时间,精确到秒

需要注意的是,目前大部分的项目中不真正的删除数据,而是用标识表示是否删除。

4.1.2 用户表 t_user

关于图片数据库中至存储 URL,不保存具体的二进制文件。

4.1.3 板块表 t_board
4.1.4 帖子表 t_article
4.1.5 帖子回复表 t_article_reply
4.1.6 站内信表 t_message

4.2 SQL 脚本

根据数据库设计的结果及表格内容,用数据库客户端工具创建数据库与数据表,并导出SQL脚本,如下所示:
-- 创建数据库,并指定字符集
drop database if exists forum_db;
create database forum_db character set utf8mb4 collate utf8mb4_general_ci;

3. 软件需求规格说明书 & 系统设计_第1张图片

根据表格所示,编写 SQL 语句,实现数据库的构建。

创建完成后如下图所示:

3. 软件需求规格说明书 & 系统设计_第2张图片

3. 软件需求规格说明书 & 系统设计_第3张图片

3. 软件需求规格说明书 & 系统设计_第4张图片

3. 软件需求规格说明书 & 系统设计_第5张图片

3. 软件需求规格说明书 & 系统设计_第6张图片

4.3 API 接口规范

  • 根据需求分析中顺序图的描述,完成业务代码。
  • 完成编码后对外提供API,具体的参数和返回值,调试完成后,生成相应文档。

你可能感兴趣的:(项目,需求分析,规格说明书)