陈锐填 | 2021软件代码开发技术作业三 | 综合系统开发----需求分析
目录
| 这个作业属于哪个课程 | 软件代码开发技术 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 学会运用UML、领域驱动设计方法、软件设计模式等知识,对系统需求进行建模;学会撰写需求规格说明书,并完成项目后续的开发计划。 |
| github地址 |
一、 领域驱动设计
1.1 寻找领域对象
- 客户:Customer
- 自由职业者:FreeWorker
- 项目:Project
- 时间表:Schedule
1.2 最终领域对象模型

二、需求规格说明
1.1 项目背景
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:
1.2 问题描述
- 拓展客户和职业者信息、时间表等内容;
- 应对多用户使用场景;
- 提供安全日志、审计日志;
1.3 功能性需求
- 搜索自由职业者分类的功能;
- 用于存储联系自由职业者的不同渠道的解决方案;
- 搜索项目分类的功能;
- 搜索客户分类的功能;
- 维护合同中自由职业者的时间表;
1.4 非功能性需求分析
- 安全性:保证数据库中的数据不会被泄露,仅管理员可见
- 健壮性:系统稳定不会崩溃。
1.5 需求分析建模
1.5.1 用例图

1.5.2 实体联系图
1.5.2.1 实体及其属性
| 实体 | 属性 |
|---|---|
| 自由职业者 | id、姓名、电话、邮箱、QQ、微信、分类 |
| 项目 | id、名字、内容、分类 |
| 时间表 | id、时间 |
| 客户 | id、姓名、电话、分类 |
1.5.2.2 实体之间的联系
- 一个自由职业者对应多个时间表,一个时间表对应一个自由职业者,因此自由职业者和时间表之间存在一对多关系。
- 一个自由职业者对应多个项目,一个项目对应多个自由职业者,因此自由职业者和项目之间存在多对多关系。
- 一个普通客户对应多个项目,一个项目对应多个普通客户,因此普通客户和项目之间存在多对多关系。
1.5.2.3 实体联系图

1.5.3 数据流图

1.5.4 类图

三、任务计划
| 活动 | 任务 | 预期工作时间 | 预期开始时间 | 预期结束时间 | 校正后工作时间 | 校正后开始时间 | 校正后结束时间 |
|---|---|---|---|---|---|---|---|
| 需求分析 | 需求获取、分析、建模 | 8个工作日 | 2021.4.26 | 2021.5.4 | 6个工作日 | 2021.4.26 | 2021.5.2 |
| 系统设计 | 系统总体设计、流程设计 | 6个工作日 | 2021.5.4 | 2021.5.10 | 6个工作日 | 2021.5.2 | 2021.5.8 |
| 详细设计 | 模块设计、界面设计、代码设计 | 12个工作日 | 2021.5.10 | 2021.5.22 | 12个工作日 | 2021.5.8 | 2021.5.20 |
| 实现阶段 | 自由职业者、客户、项目、时间表模块实现 | 15个工作日 | 2021.5.22 | 2021.6.7 | 10个工作日 | 2021.5.20 | 2021.6.1 |
| 测试 | 单元测试、模块测试、系统测试 | 6个工作日 | 2021.6.7 | 2021.6.13 | 6个工作日 | 2021.6.1 | 2021.6.7 |
| 交付 | 系统交付 | 1个工作日 | 2021.6.17 | 2021.6.18 | 1个工作日 | 2021.6.9 | 2021.6.10 |
计算方法: 由于需求明确,故提前完成雪球分析阶段任务,由于设计文档完善,模块等编码可加快速度,以及模块功能相似,可节约1/3时间。
github issue 截图


浙公网安备 33010602011771号