作业四、需求改进&系统设计
这个作业属于哪个课程 | 班级的链接 |
---|---|
这个作业要求在哪里 | 作业要求的链接 |
这个作业的目标 | 1. 需求改进&系统设计 |
一、项目背景
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。
二、需求分析
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
三、需求分析改善
1. 需求
1.1 功能需求
- 管理员
- 管理自由职业者和员工
- 管理客户时间表
- 管理员工、自由职业者系统权限
- 管理合同信息
- 自由职业者
- 个人信息管理
- 登录注册
- 时间计划管理
- 维护合同
- 员工
- 管理自由职业者
- 管理个人信息
- 修改合同信息
1.2 界面需求
- 操作简洁
- 适量过渡动画
- 具有一定新手指引
1.3 性能需求
- 页面不卡顿
- 音视频资源上传速度快
用例图
系统结构
ER图
三、项目计划
计划项 | 原有安排时间 | 矫正后安排时间 |
---|---|---|
需求分析 | 2天 | 4天 |
详细设计 | 3天 | 3天 |
数据库设计 | 2天 | 1天 |
接口设计 | 3天 | 2天 |
界面设计 | 3天 | 2天 |
编码 | 10天 | 7天 |
测试 | 3天 | 3天 |
四、DDD设计
领域设计
值对象
Prop: 属性值
public class Prop {
public PropName getPropName() {
return propName
}
public void setPropName(PropName propName) {
this.propName = propName;
}
}
Contract: 合同
public class Contract {
public Contract getContract() {
return contract
}
public void setContract(Contract contract) {
this.contract = contract;
}
}
Operation: 操作
public class Operation {
public Operation getOperation() {
return operation
}
public void Operation(Operation operation) {
this.operation = operation;
}
public void doOperation(Operation operation) {
operation();
}
}
Contract: 合同
public class Contract {
public Contract getContract() {
return contract
}
public void setContract(Contract contract) {
this.contract = contract;
}
}
领域(领域和子域)
- 自由职业者领域
- 合同管理
- 时间表管理
- 个人信息管理
- 员工领域
- 合同管理
- 审计管理
- 项目管理
- 权限管理
- 员工
- 个人信息管理
- 合同修改
- 项目修改管理
五、测试计划
测试负责人 | 测试项 | 测试计划 |
---|---|---|
员工A | 合同管理测试 | 三天 |
员工B | 权限管理测试 | 两天 |
员工C | 项目管理测试 | 五天 |
员工D | 合同管理测试 | 两天 |
员工E | 审计管理测试 | 四天 |
员工F | 审计管理测试 | 五天 |