谢浩杰| 2021软件代码开发技术作业四 | 需求改进&系统设计
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11997 |
需求改进
-
所有用户都拥有搜索自由职业者分类的权限
-
所有用户都拥有搜索项目分类的权限
-
所有用户都拥有搜索客户分类的功能
-
一个用户只能有一种身份权限,想使用不同权限得切换账号
-
公司员工可以使用系统的管理员账号,也可使用自己的账号成为服务方(自由职业者)
-
管理员拥有审计日志、管理系统的权限
系统设计
DDD战略设计的几个核心概念:领域、子域、限界上下文、架构分层
(1)一个好的分层式结构,可以使得开发人员的更加高效的开发。利用领域驱动设计中的分层等战略设计,划分各个层次;定义好各层次之间的接口(运用依赖倒置原则)。
(2)领域划分成内聚性高的几个子领域,给出每个子领域的限界上下文。
(3)定义好实体和值对象
(4)定义好领域服务、领域应用
领域
划分为以下几个领域
- 服务商领域:即服务方,负责实现与自由职业者有关的功能
- 客户领域:即需求方,负责实现与普通用户有关的功能
- 管理员领域:管理系统,负责实现与管理员有关的功能
- 通用权限领域:所有身份均拥有的功能的集合
- 系统领域:系统基础功能的集合
子域
- 服务商领域
- 服务商任务子领域
- 时间安排表子领域
- 客户领域
- 客户任务子领域
- 合同子领域
- 管理员领域
- 用户管理子领域
- 系统管理子领域
- 通用权限领域
- 公共信息子领域
- 账户子领域
- 系统领域
- 前端子领域
- 后端子领域
- 数据库子领域
- 日志子领域
限界上下文
- 服务商任务子领域:实现服务商查询任务,接受任务,管理任务的功能
- 时间安排表子领域:实现服务商管理、维护自己的时间安排表的功能
- 客户任务子领域:实现客户查询任务,发布任务,管理任务的功能
- 合同子领域:实现合同签订、合同记录的功能
- 用户管理子领域:实现管理员管理用户的功能
- 系统管理子领域:实现管理员管理系统的功能,包括导出、审查、打印日志等功能
- 公共信息子领域:实现所有用户共同能查询的公共信息功能
- 账户子领域:实现所有用户对自己账号的创建,修改信息功能
- 前端子领域:实现系统界面的功能
- 后端子领域:实现前端与数据库的连接
- 数据库子领域:实现系统的数据库建立,增删查改功能
- 日志子领域:实现系统提供安全和审计日志的功能
架构分层
- 基础设施层:负责实现接口
- 领域层:负责定义接口
- 应用层:负责功能应用定义
- 用户接口层:负责提供给用户接口
开发任务计划
模块开发计划
模块名 | 优先级 | 依赖关系 | 开发时间 | 开发顺序 |
---|---|---|---|---|
系统功能模块 | 1 | 无 | 4个工作日 | 1 |
通用功能模块 | 2 | 依赖系统功能模块 | 2个工作日 | 2 |
服务商功能模块 | 3 | 依赖系统功能模块 | 3个工作日 | 3 |
客户功能模块 | 4 | 依赖系统功能模块 | 2个工作日 | 4 |
管理员功能模块 | 5 | 依赖系统功能模块 | 2个工作日 | 5 |
模块分解
1个工作日=8小时
模块名称 | 任务名称 | 耗费时间 |
---|---|---|
系统功能模块 | 32小时 | |
系统界面(前端) | 8小时 | |
数据库建立与数据导入 | 5小时 | |
数据库基本操作增删查改 | 6小时 | |
前端与数据库的连接 | 5小时 | |
日志功能 | 8小时 | |
通用功能模块 | 16小时 | |
账户功能创建删除修改 | 5小时 | |
账户功能登入登出 | 3小时 | |
公共信息搜索 | 8小时 | |
服务商功能模块 | 24小时 | |
任务类型创建 | 4小时 | |
任务查询,接受,管理功能 | 8小时 | |
时间表类型创建 | 4小时 | |
管理、维护时间安排表功能 | 8小时 | |
客户功能模块 | 16小时 | |
任务发布功能 | 3小时 | |
合同类型创建 | 5小时 | |
合同签订,记录功能 | 8小时 | |
管理员功能模块 | 16小时 | |
管理用户的功能 | 6小时 | |
管理系统的功能,包括导出、审查、打印日志等功能 | 10小时 |
开发进程
测试计划
测试环境
参考需求规格说明书的系统运行环境
测试目标
检查系统能否满足用户的需求
测试方式
- 自动化测试/手动测试
- 白盒测试/黑盒测试
- 中断测试/临界测试/压力测试等
测试时间安排
测试人员:测试员谢浩杰
测试人数:1
人员需求:能够熟练使用软件测试工具,拥有扎实的软件测试技术与知识。
阶段 | 测试任务 | 时间安排 | 人员安排 |
---|---|---|---|
模块测试 | 系统界面 | 1个工作日 | 测试员 |
数据库 | 2个工作日 | 测试员 | |
界面与数据库连接 | 1个工作日 | 测试员 | |
日志模块 | 1个工作日 | 测试员 | |
账户功能 | 1个工作日 | 测试员 | |
公共信息管 | 1个工作日 | 测试员 | |
任务模块 | 1个工作日 | 测试员 | |
日志管理 | 1个工作日 | 测试员 | |
用户管理 | 1个工作日 | 测试员 | |
合同模块 | 1个工作日 | 测试员 | |
管理时间安排表 | 1个工作日 | 测试员 | |
集成测试 | 各个模块 | 5个工作日 | 测试员 |
系统测试 | 完整系统 | 3个工作日 | 测试员 |
验收测试 | 2个工作日 | 测试员 |
风险评估
人员与时间方面可能存在不足,可适当增加测试人员与时间