作业四:需求改进&系统设计

sillyffin / 2023-05-03 / 原文

| ----------------- |--------------- |

| 这个作业的目标 | 1、修改完善需求规格说明书 2、掌握ddd 3、掌握测试计划编写 |

一、需求改进
增加扩展需求及边界场景以及风险点的需求分析
拓展需求
1
描述:第三方节假日API发生异常时需要及时发送告警通知开发人员处理
2
描述:黑名单配置功能需要拓展出黑名单表的增删改查功能
3
描述:壁纸库的管理功能需要拓展出壁纸表、分类表、标签表的增删改查功能
4
描述:设置壁纸功能需要拓展出展示壁纸的功能
5
描述:展示壁纸时如果当前用户未设置壁纸,需要展示默认壁纸
6
描述:智能推荐壁纸功能需要拓展出推荐表的增删改查功能
7
描述:发送告警的方式、上传壁纸存储所使用的存储服务、智能推荐壁纸的推荐策略都可能要随需求的变动灵活切换

边界场景
1
描述:更新、删除黑名单时需要判断指定黑名单是否存在
2
描述:修改壁纸时需要判断指定壁纸当前用户是否有权限修改
3
描述:更新、删除壁纸分类或标签时需要判断指定分类或标签是否存在
4
描述:设置壁纸需要判断指定壁纸是否为当前用户私有壁纸或公共壁纸
5
描述:展示壁纸时需要判断当前用户是否已设置壁纸
6
描述:添加推荐关键字时需要判断指定壁纸的拥有者是否为指定用户
7
描述:更新、删除推荐关键字时需要判断指定推荐关键字是否存在
风险点
1
描述:各功能在使用时可能出现请求方式、请求参数错误的问题,可能导致服务器发生异常,需要做好入参的校验
2
述:在根据日期查询节假日时可能出现日期格式错误,从而导致服务器发生异常或者没有办法获得预期结果的情况,需要做好日期格式的校验
3
描述:在上传壁纸时可能上传的文件格式不是图片,可能导致上传图片时或预览图片时发生异常,需要做好图片格式的校验
4
描述:节假日自动初始化更新功能需要调用第三方节假日API,第三方API可能会发生各种难以预料的异常,需要准备多数据源来保证该功能的可用性。

二、系统设计
系统架构设计:
系统架构设计思想:该系统架构主要分为前端页面及后端服务以及数据存储层的3层结构。其中后端服务又分为系统自身的后端服务以及系统调用的第三方后端服务。其中系统自身的后端服务由节假日和壁纸两个模块组成。而第三方服务也同样由两个模块组成。这两个模块分别为节假日自动初始化更新所调用的第三方节假日API以及上传壁纸时存储所使用的第三方文件存储服务阿里云OSS。
系统架构设计图如下图所示:

功能模块设计:
功能模块设计思想:该系统所实现的主题功能为屏保管理系统的一些基础管理服务。分别分为节假日模块与壁纸模块两大模块。节假日模块提供的功能为查询节假日、配置黑名单(其中除了配置黑名单之外还包括黑名单的修改、黑名单的删除以及黑名单的删除)与节假日自动初始化更新三大功能。而壁纸模块可分为壁纸上传、壁纸浏览、壁纸修改(其中包括壁纸标签的新增功能、壁纸标签的修改功能、壁纸标签的删除功能、壁纸标签的查询功能与壁纸分类的新增功能、壁纸分类的修改功能、壁纸分类的删除功能、壁纸分类的查询功能)、修改壁纸与智能推荐壁纸五大功能。
功能模块设计图如下图所示:

DDD战略设计的几个核心概念:领域、子域、限界上下文、架构分层
(1)一个好的分层式结构,可以使得开发人员的更加高效的开发。利用领域驱动设计中的分层等战略设计,划分各个层次;定义好各层次之间的接口(运用依赖倒置原则)。
(2)领域划分成内聚性高的几个子领域,给出每个子领域的限界上下文。
(3)定义好实体和值对象
(4)定义好领域服务、领域应用

领域
划分为以下两个领域
节假日领域:负责节假日的管理功能、包括节假日的手动与自动初始化更新以及黑名单的增删改查功能。并向外暴露查询节假日的接口。
壁纸领域:负责壁纸的管理功能,包括壁纸标签与壁纸分类的管理功能。

子域
壁纸标签领域
壁纸分类领域

限界上下文
壁纸标签领域:实现壁纸标签的增删改查的功能
壁纸分类领域:实现壁纸分类的增删改查的功能
三、代码开发安排表

任务 优先级 开发时间计划 测试计划
建立数据库 高 4h 1h
用户界面开发 高 10h 1h
节假日模块 高 10h 1h
壁纸模块 高 24h 1h
安全模块 高 2h 1h
四、测试计划

1.测试范围
参考需求规格说明书的系统运行环境

2.测试目标
检查模块能否达到预期要求,排除实际使用过程中出现的bug

3.测试策略
测试人员:王思凡
测试环境:模拟运行环境

测试方式:
自动化测试
黑盒测试
白盒测试
中断测试
压力测试
测试任务 测试时间计划
节假日模块 1h
壁纸模块 2h
安全模块 1h
集成测试 4h
系统测试 4h
五、截图