谢立新 | 2021软件代码开发技术作业四 | 需求改进&系统设计

这个作业属于哪个课程 软件代码开发技术
这个作业要求在哪里 需求改进&系统设计
这个作业的目标 1、熟悉领域驱动设计实践
2、熟悉测试计划编写

一、需求改进

功能需求

1、服务提供者功能

需求编号 需求内容
1.1 注册成为该系统的新用户
1.2 修改自己的个人信息
1.3 修改自己的时间表
1.4 查询系统中的任务
1.5 接收系统中的任务
1.6 查询自己接收的服务
1.7 与客户签订合同
1.8 查询与客户签订的合同

2、客户功能

需求编号 需求内容
2.1 注册成为该系统的新用户
2.2 修改自己的个人信息
2.3 在系统中发布新任务
2.4 查询/修改自己发布的任务
2.5 查询自由职业者
2.6 与服务提供者签订合同
2.7 查询与服务提供者签订的合同

3、系统管理员功能

需求编号 需求内容
3.1 修改自由职业者和客户的账户信息
3.2 查询系统中的自由职业者
3.3 查询系统中的客户
3.4 查询/修改自由职业者的时间表
3.5 查询/修改系统中的任务
3.6 查询/修改系统中的合同
3.7 审计系统行为日志

二、系统设计

1、战略设计

领域:交易服务

子域

(1)交易服务核心子域

(2)管理用户子域

(3)审计日志子域

领域划分如下:

  • 交易服务核心子域:完成服务任务的发布和接受,以及合同的签订
  • 管理用户子域:服务提供者和客户的管理
  • 审计日志子域:系统日志管理

架构分层

基于依赖倒置原则的架构分层:

六边形架构:

项目模块结构

模块 说明
注册登录模块 实现注册和登录验证功能
账户信息管理模块 实现对用户的信息的查询和修改功能
服务任务管理模块 实现新任务的发布、已发布任务的修改、接受已发布任务的功能
时间表管理模块 实现接受任务后的时间表的创建、修改功能
合同管理模块 实现合同的签订和修改功能
日志管理模块 实现日志审计功能

2、战术设计

实体:由属性和行为组成,具有唯一标识

Freelancer,Client,Project,Contract

值对象:没有唯一标识,具有可度量或可描述,并满足不变性的对象

  • Contact:联系方式
  • Schedule:时间表

领域服务:领域服务表示一个无状态的操作,它用于实现特定于某个领域的任务

  • 用户注册和登录
  • 管理用户信息
  • 审计日志

领域事件:通常将领域事件用于维护事件的一致性,这样可以消除两阶段提交(全局事务)

聚合:聚合是一组相关对象的组合,作为一个整体被外界访问,聚合根是这个聚合的根节点

工厂:工厂提供一个创建对象的接口,该接口封装了所有创建对象的复杂操作过程

三、开发任务计划

用户功能模块依赖于注册登录模块,最先开发注册登录模块。

服务任务的发布、查询、修改均需要在用户模块完成后进行。

编号 任务 对应需求 计划开始时间 计划结束时间
1 注册功能模块 1.1、2.1 2021-05-16 2021-05-17
2 账号信息管理 1.2、2.2、3.1 2021-05-17 2021-05-19
3 查询用户信息 2.5、3.2、3.3 2021-05-19 2021-05-21
4 发布、修改服务任务 2.3、2.4 2021-05-21 2021-05-23
5 查询服务任务 1.4、1.6、2.4、3.5 2021-05-23 2021-05-24
6 接受服务任务 1.5 2021-05-24 2021-05-25
7 管理时间表 1.3、3.4 2021-05-25 2021-05-27
8 签订合同 1.7、2.6 2021-05-27 2021-05-27
9 查询合同 1.8、2.7、3.6 2021-05-27 2021-05-28
10 审计日志 3.7 2021-05-28 2021-05-29

模块分解:

模块名称 任务名称 耗费工时(h)
注册登录模块 注册功能 5
登录验证功能 5
账户信息管理模块 查询账户信息功能 4
修改账户信息功能 6
服务任务管理模块 发布新任务 6
修改任务 4
接受任务 3
时间表管理模块 新建时间表项功能 6
修改时间表项功能 4
合同管理模块 签订合同功能 6
查询合同功能 3
日志管理模块 审计日志功能 4

甘特图:

四、测试计划

1、测试环境

操作系统:windows 10 【8G内存+ 512G固态硬盘】

浏览器:chrome、microsoft edge、firefox

数据库软件:mysql5.7

2、测试任务安排

测试内容:服务出租管理系统

测试人:谢立新

测试时间:项目开发流程全过程

3、测试时间表

编号 测试项 测试内容 期望输出 开始时间 结束时间
1 自由职业者/客户注册功能 输入个人信息进行注册 未注册则注册成功,已注册提示失败 2021-05-17 2021-05-17
2 自由职业者/客户登录功能 输入账户密码进行登录 账号密码匹配则登录成功,否则提示失败 2021-05-17 2021-05-18
3 自由职业者/客户的个人信息管理功能 对个人信息进行修改 成功修改 2021-05-19 2021-05-20
4 查询自由职业者功能 选择各种条件查询自由职业者 有相应信息则查询成功并展示 2021-05-20 2021-05-21
5 查询客户功能 选择各种条件查询客户 有相应信息则查询成功并展示 2021-05-21 2021-05-22
6 发布服务任务功能 客户发布新的任务 成功发布 2021-05-22 2021-05-23
7 修改服务任务功能 客户对已发布的任务进行修改 成功修改 2021-05-23 2021-05-24
8 查询服务任务功能 选择各种条件查询服务任务 有相应信息则查询成功并展示 2021-05-24 2021-05-24
9 接受服务任务功能 自由职业者作为服务提供者接受系统中的服务任务 接受成功 2021-05-25 2021-05-26
10 管理时间表功能 接受任务后时间表自动添加任务,自由职业者对时间表进行修改 可对时间表进行修改 2021-05-26 2021-05-28
11 签订合同功能 自由职业者和客户进行线上合同签订 成功签订并持久化到数据库 2021-05-27 2021-05-27
12 查询合同功能 选择各种条件查询合同 有相应信息则查询成功并展示 2021-05-27 2021-05-28
13 审计日志功能 对系统的行为进行审计 能记录系统的每一个行为 2021-05-28 2021-05-29
14 系统测试 与系统需求规格说明书作比较 满足需求规格说明书的功能需求和非功能需求 2021-05-27 2021-05-29
15 验收测试 检验系统是否符合预期的各项要求以及用户能否接受 系统符合预期,用户接受 2021-05-28 2021-05-29
posted @ 2021-05-16 23:25  ecochap  阅读(118)  评论(0)    收藏  举报