这个作业属于哪个课程 | 课程班级 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 1、根据实际情况改进完善需求规格说明书。 |
2、利用 DDD 战略进行系统设计。 | |
3、制定代码开发任务计划。 | |
4、制定测试计划。 |
一、需求改进
1、项目背景
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
2、新增功能改进
- 新增客户可以查看时间表权限
- 新增自由职业者可以查看以前项目的安全和审计日志权限
3、新增领域类图
二、系统设计
1、分层结构 & 各层次间的接口
(1) 分层结构 MVC 架构
(2) 各层次间的接口(采用依赖倒置原则)
- View 层设置好相应的UI接口
- Control 层设置好调用 Model 层的各种类的相应的接口
- Model 层设置好相对应的调用数据库的接口
2、划分子领域 & 各子领域的限界上下文
(1)领域边界图
(2)子领域划分
- 客户子领域:包含实现客户子领域的相关功能
- 自由职业者子领域:包含实现自由职业者子领域的相关功能
- 管理员子领域:包含实现管理员子领域的相关功能
- 项目合同子领域:包含实现项目合同子领域的相关功能
- 安全审计日记子领域:包含实现安全审计日记子领域的相关功能
(3)各子领域的限界上下文
- 客户子领域:包含搜索、分类、联系渠道功能
- 自由职业者子领域:包含分类、存储联系渠道功能
- 管理员子领域:包含搜索查询、维护合同中自由职业者的时间表功能
- 项目合同子领域:包含搜索、分类功能
- 安全审计日记子领域:包含审核查阅功能
3、实体和值对象
(1)实体
- 管理员:ID、昵称、联系方式
- 自由职业者:ID、昵称、联系方式、分类
- 客户:ID、昵称、联系方式、分类
- 项目合同:合同编号
- 时间表:时间表事项
- 安全和审计日志:日志日期
(2)值对象
- ID:管理员ID、自由职业者ID、客户ID
- 昵称:管理员昵称、自由职业者昵称、客户昵称
- 联系方式:管理员联系方式、自由职业者联系方式、客户联系方式
- 编号:合同编号
- 事项:时间表的事项安排
- 日期:安全和审计日志的日志日期
(3)相关图
4、领域服务与领域应用
(1)服务 & 应用
- 客户信息管理
- 时间表管理
- 合同签订和修改
- 安全和审计日志管理
- 自由职业者信息管理
- 管理员信息管理
- 用户查询和时间安排表查询
(2)相关图
三、代码开发任务计划
1、各模块的开发时间和开发顺序
模块名称 | 开发顺序 | 开发时间 |
---|---|---|
数据库模块 | 0 | 5 天 |
管理员模块 | 1 | 3 天 |
客户模块 | 2 | 2 天 |
自由职业者模块 | 3 | 2 天 |
时间表管理模块 | 4 | 3 天 |
日志模块 | 5 | 2 天 |
接口模块 | 6 | 2 天 |
UI 模块 | 7 | 3 天 |
2、各模块的进一步分解
- 数据库模块
子模块名称 | 开发时间 |
---|---|
数据库信息收集 | 8 h |
物理设备搭建 | 8 h |
数据库结构设计 | 8 h |
数据库实现 | 8 h |
数据库连接调试 | 8 h |
- 时间表模块
子模块名称 | 开发时间 |
---|---|
客户信息收集 | 8 h |
管理员安排规划 | 8 h |
实施并备案 | 8 h |
- 日志模块
子模块名称 | 开发时间 |
---|---|
客户信息收集 | 8 h |
实现并备案 | 8 h |
- 用户模块
子模块名称 | 开发时间 |
---|---|
用户信息收集 | 8 h |
管理员安排规划 | 8 h |
实施并备案 | 8 h |
- 接口模块
子模块名称 | 开发时间 |
---|---|
各模块信息收集 | 8 h |
实现并调试 | 8 h |
- UI 模块
子模块名称 | 开发时间 |
---|---|
图片及相关素材收集 | 8 h |
与 model 层连接 | 8 h |
实施并调试 | 8 h |
3、开发进程的甘特图
根据实际情况,实际甘特图与计划的有些改进
四、测试计划
(1)测试范围
本次开发的所有模块。
(2)测试目标
测试所有开发的模块的功能是否满足软件规格说明书的设定。
(3)测试方法
黑盒测试和白盒测试及系统测试技术。
(4)测试任务安排表
测试项 | 测试任务 | 测试方法 | 测试时间 | 测试人员 |
---|---|---|---|---|
注册登录模块 | 测试注册登录功能是否能正常使用 | 黑盒测试技术 | 3天 | 石行 |
管理者模块 | 测试管理者模块功能是否正常 | 白盒测试技术 | 2天 | 石行 |
自由职业者模块 | 测试自由职业者模块功能是否正常 | 白盒测试技术 | 2天 | 石行 |
客户模块 | 测试客户模块功能是否正常 | 白盒测试技术 | 2天 | 石行 |
数据库模块 | 测试数据库模块功能是否正常 | 白盒测试技术 | 3天 | 石行 |
接口模块 | 测试接口模块功能是否正常 | 黑盒测试技术 | 3天 | 石行 |
UI 模块 | 测试 UI 模块功能是否正常 | 黑盒测试技术 | 2天 | 石行 |