作业4:需求改进&系统设计
| 这个作业属于哪个课程 | 2022软件代码开发技术 |
|---|---|
| 这个作业要求在哪里 | 作业4要求 |
| 这个作业的目标 | 1.运用面向领域建模的方法,修改完善上一次作业提交的需求规格说明书 2.学会运用领域驱动设计方法、软件设计模式等知识,进行系统设计 3.学会编写测试计划 |
一、需求改进
改进后的领域设计图,其他地方暂无变化

二、系统设计
1. 分层架构

* 基础设施层:
主要存放基础资源服务相关的代码,为其它各层提供的通用技术能力、三方软件包、数据库服务、配置和基础资源服务的代码都会放在这一层目录里。
* 用户接口层:
前端应用通过这层接口,向应用服务获取展现所需的数据。该层主要用来处理用户发送的Restful请求,解析用户输入的配置文件,并将数据传递给应用层。封装应用服务和对外暴露接口。
- facade
提供较粗粒度的调用接口,将用户请求委派给一个或多个应用服务进行处理。比如调用应用层创建用户的方法。 - dto
数据传输的载体,内部不存在任何业务逻辑,可以通过DTO把内部的领域对象与外界隔离。
比如接收请求传入的数据CustomerDTO。
不同的对象在不同的层转换。用户接口层DTO和DO转换,应用层主要是DO,调外部微服务的服务的时候应用层有dto和do的转换。领域层与基础层之间,在基础层有DO和PO的转换。
在接口层定义DTO对象。数据可能来源于多个DO对象。 - assembler
实现DTO与DO间的相互转换和数据交换
* 应用层:
该层只负责业务编排,对象转换,主要包含应用服务,理论上不应有业务规则或逻辑,而主要是面向用例和流程相关的操作。
* 领域层:
主要包含聚合根、实体、值对象、领域服务等领域模型中的领域对象。实现核心业务逻辑,通过各种校验保证业务正确性。领域层主要体现领域模型的业务能力,它用来表达业务概念、业务状态和业务规则
2. 限界上下文图

- 管理员子域:完成管理员对客户、自由职业者、合同等信息管理等操作
- 客户子域:完成客户信息管理功能
- 自由职业者子域:完成自由职业者时间表和信息管理功能
- 合同子域:完成合同签订进度提醒等操作
- 统计子域:完成统计合同数额记录功能
3. 实体和值对象
3.1. 实体
客户表(客户编号、姓名、性别、电话号码、邮箱、信誉等级、需要服务类型)
自由职业者表(自由职业者编号、姓名、性别、电话号码、邮箱、信誉等级、服务类型)
合同表(合同编号、项目描述、自由职业者id、客户id、项目类型、进度、金额)
空闲时间表(空闲时间编号、自由职业者id、可服务开始时间、可服务结束时间)
3.2. 值对象
客户编号(客户编号)
合同编号(合同编号)
自由职业者编号(自由职业者编号)
空闲时间编号(空闲时间编号)
空闲时间(可服务开始时间、可服务结束时间)
4. 领域服务、领域应用
客户、自由职业者登录注册功能
客户信息管理功能
自由职业者信息管理功能
合同签订功能功能
统计合同数额功能
管理员管理客户、自由职业者、合同、时间表信息功能
三、代码开发任务计划
1.各模块的开发时间和开发顺序表
| 模块名 | 预计活动工期 |
|---|---|
| 数据库设计 | 1个工作日 |
| 登录注册功能设计 | 2个工作日 |
| 客户信息管理 | 3个工作日 |
| 自由职业者信息管理 | 1.5个工作日 |
| 合同签订 | 1.5个工作日 |
| 统计合同数额 | 1个工作日 |
| 管理员信息管理 | 2个工作日 |
| 系统组装 | 4个工作日 |
2.任务分解
| 模块名 | 任务名 | 预计活动工期(1个工作日8小时) |
|---|---|---|
| 数据库设计 | 数据库设计 | 1个工作日 |
| 登录注册功能设计 | 登录功能设计 | 1个工作日 |
| 注册功能设计 | 1个工作日 | |
| 客户信息管理 | 查看客户信息 | 0.6个工作日 |
| 增加客户 | 0.6个工作日 | |
| 删除客户 | 0.6个工作日 | |
| 修改客户信息 | 0.6个工作日 | |
| 查找客户信息 | 0.6个工作日 | |
| 自由职业者信息管理 | 查看自由职业者信息 | 0.3个工作日 |
| 增加自由职业者 | 0.3个工作日 | |
| 删除自由职业者 | 0.3个工作日 | |
| 修改自由职业者信息 | 0.3个工作日 | |
| 查找自由职业者信息 | 0.3个工作日 | |
| 合同签订 | 查看合同信息 | 0.3个工作日 |
| 增加合同 | 0.3个工作日 | |
| 删除合同 | 0.3个工作日 | |
| 修改合同信息 | 0.3个工作日 | |
| 查找合同信息 | 0.3个工作日 | |
| 统计合同数额 | 统计合同数额 | 1个工作日 |
| 管理员信息管理 | 查看管理员信息 | 0.3个工作日 |
| 增加管理员 | 0.3个工作日 | |
| 删除管理员 | 0.3个工作日 | |
| 修改管理员信息 | 0.3个工作日 | |
| 查找管理员信息 | 0.3个工作日 | |
| 管理其他模块信息 | 0.5个工作日 | |
| 系统组装 | 系统组装 | 4个工作日 |
3.甘特图

四、测试计划
1.测试范围
- 客户、自由职业者登录注册功能
- 客户信息管理功能
- 自由职业者信息管理功能
- 合同签订功能功能
- 统计合同数额功能
- 管理员管理客户、自由职业者、合同、时间表信息功能
2.测试目标
最终目标是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付之前发现并改正。其中分为:
- 确保软件完成了它所承诺或公布的功能
- 确保软件满足了性能的要求
- 确保软件是健壮的和适应用户环境的
- 为软件的质量评估提供依据
- 为软件质量改进和管理提供帮助
3.测试方法
黑盒测试、白盒测试
4.测试人员:
李军达
5.测试任务安排表
| 测试模块 | 测试内容 | 测试类型 | 测试时间(天) |
|---|---|---|---|
| 登录注册功能 | 1.登录功能检验 2.注册功能检验 |
黑盒测试,单元测试 | 1 |
| 客户信息管理 | 1.添加客户功能检验 2.删除客户功能检验 3.修改客户信息功能检验 4.查找客户功能检验 |
黑盒测试,单元测试 | 2 |
| 自由职业者信息管理 | 1.添加自由职业者功能检验 2.删除自由职业者功能检验 3.修改自由职业者信息功能检验 4.查找自由职业者功能检验 |
黑盒测试,单元测试 | 1 |
| 合同签订 | 1.合同生成功能检验 2.合同保存功能检验 3.修改合同信息功能检验 4.合同进度提醒功能检验 |
黑盒测试,单元测试 | 2 |
| 统计合同数额 | 1.合同数额统计功能检验 2.合同数额统计保存功能检验 3.合同数额导出功能检验 |
黑盒测试,单元测试 | 1 |
| 管理员信息管理 | 1.添加管理员功能检验 2.删除管理员功能检验 3.修改管理员信息功能检验 4.管理员修改客户、自由职业者、合同信息功能检验 |
黑盒测试,单元测试 | 1 |
| 系统组装 | 整个系统是否运行正常 | 黑盒测试,单元测试,集成测试,系统测试 | 5 |
5.后台截图


浙公网安备 33010602011771号