软件代码开发技术作业三 | 综合系统开发----需求分析
软件代码开发技术作业三 | 综合系统开发----需求分析
| 这个作业属于哪个课程 | 班级链接 |
|---|---|
| 这个作业要求在哪里 | 作业要求链接 |
| 这个作业的目标 | 学会运用UML、领域驱动设计方法、软件设计模式等知识,对系统需求进行建模;学会撰写需求规格说明书,并完成项目后续的开发计划。 |
一、领域驱动设计模型
1.大致过程
- 需求分析
- 领域分析
- 领域模型
- 核心业务逻辑
- 技术细节
2.寻找领域对象
- 客户:Customer
- 自由职业者:Professional
- 项目:Projiect
- 时间表:Schedule
3.制作领域模型

二、需求规格说明书
1.问题定义
1.1 问题概述
计算机技术高度发达的今天,利用信息技术对大量复杂的信息进行有效的管理成为一种普遍而实用的手段。一方面,这极大的减少了簿记和人力的开销,另一方面,现代计算机强大的计算能力和网络的普遍部署,大大简化了大量信息的处理和流动。服务出租系统是一个基于web开发的系统解决方案,可以为自由职业者以及自身员工有效管理客户(自由职业者)及其时间表等;本系统有效解决Excel解决方案无法很好的进行扩展的问题,有效应对多用户的使用场景,提供安全和审计日志。
2.需求概述
2.1 功能需求
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
2.2 技术需求
- 预计需要100T存储空间存储用户数据。
- 信息量速率要超过3Mb/s。
- 数据的修改删除增加要有实时性。
3.功能模型
3.1 数据流图

3.2 用例图

4.数据模型
4.1 实体联系图
4.1.1 实体及其属性
| 实体 | 属性 |
|---|---|
| 自由职业者 | 编号、姓名、电话、邮箱、类别 |
| 项目 | 编号、名称、内容、类别 |
| 时间表 | 编号、时间、内容 |
| 客户 | 编号、姓名、电话、类别 |
4.1.2 实体之间的联系
- 一个自由职业者对应多个时间表,一个时间表对应一个自由职业者,因此自由职业者和时间表之间存在一对多关系。
- 一个自由职业者对应多个项目,一个项目对应多个自由职业者,因此自由职业者和项目之间存在多对多关系。
- 一个普通客户对应多个项目,一个项目对应多个普通客户,因此普通客户和项目之间存在多对多关系。
4.1.3 实体联系图

4.2 数据字典
4.2.1 数据项
| 名字 | 描述 | 定义 | 位置 |
|---|---|---|---|
| 自由职业者编号 | 用于指定特定自由职业者 | 1{数字}5 | 自由职业者信息 |
| 自由职业者姓名 | 特定自由职业者的名称 | 2{字符}20 | 自由职业者信息 |
| 自由职业者电话 | 特定自由职业者的电话号码 | 2{数字}20 | 自由职业者信息 |
| 自由职业者邮箱 | 特定自由职业者的联系邮箱 | 2{字符}20 | 自由职业者信息 |
| 项目编号 | 用于指定特定项目 | 1{数字}5 | 项目信息 |
| 项目名称 | 特定项目的名称 | 2{字符}20 | 项目信息 |
| 项目内容 | 项目的具体事项 | 2{字符}1 | 00 |
| 时间表编号 | 用于指定特定时间表 | 1{数字}5 | 时间表信息 |
| 时间表时间 | 时间表里面记录的开始时间与结束时间 | 2{字符}100 | 时间表信息 |
| 时间表内容 | 时间表的具体事项 | 2{字符}200 | 时间表信息 |
| 客户编号 | 用于指定特定普通客户 | 1{数字}5 | 客户信息 |
| 客户姓名 | 特定客户的名称 | 1{数字}5 | 客户信息 |
| 客户电话 | 特定客户的电话号码 | 2{数字}20 | 客户信息 |
4.2.2 数据存储
| 名字 | 描述 | 定义 | 位置 |
|---|---|---|---|
| 自由职业者信息 | 自由职业者的详情信息 | 自由职业者信息=自由职业者编号+姓名+电话+邮箱+类别 | 数据库 |
| 客户信息 | 客户的详情信息 | 客户信息=客户编号+姓名+电话+邮箱+地址+分类 | 数据库 |
| 时间表 | 每个自由职业者的个人可服务时间段详情表 | 时间表=时间表编号+时间+内容 | 数据库 |
| 项目信息 | 每个项目的资料信息 | 项目信息=项目编号+名称+内容+类别 | 数据库 |
三、任务计划
1.项目时间安排表
| 活动 | 任务 | 预期任务工期 | 预计开始时间 | 预计结束时间 | 校正后任务工期 | 校正后结束时间 |
|---|---|---|---|---|---|---|
| 需求分析 | 需求获取、分析、建模 | 5个工作日 | 2021/5/1 | 2021/5/6 | 6个工作日 | 2021/5/7 |
| 总体设计 | 系统设计、软件设计 | 2个工作日 | 2021/5/2 | 2021/5/4 | 3个工作日 | 2021/5/5 |
| 详细设计 | 过程设计、界面设计 | 2个工作日 | 2021/5/7 | 2021/5/9 | 3个工作日 | 2021/5/10 |
| 自由职业者模块实现 | 2个工作日 | 2021/5/11 | 2021/5/13 | 3个工作日 | 2021/5/14 | |
| 客户信息模块实现 | 2个工作日 | 2021/5/16 | 2021/5/18 | 3个工作日 | 2021/5/19 | |
| 项目信息模块实现 | 2个工作日 | 2021/5/21 | 2021/5/23 | 3个工作日 | 2021/5/22 | |
| 时间表模块实现 | 2个工作日 | 2021/5/26 | 2021/5/28 | 3个工作日 | 2021/5/29 | |
| 测试 | 单元测试、集成测试、系统测试 | 5个工作日 | 2021/5/30 | 2021/6/3 | 7个工作日 | 2021/6/5 |
| 交付 | 系统交付 | 5个工作日 | 2021/6/4 | 2021/6/9 | 3个工作日 | 2021/6/7 |
2.校正时间安排
需求分析约定等于预计时间,根据模块之间功能相似性,在缩减普通用户信息管理、项目信息管理和时间表管理模块60%时间。详细设计的时间较短,矫正增加40%的时间。测试与交付近似等于预期任务工期。
四、github地址
https://github.com/LZHgentleman/LaborDispatching
五、issues截图

六、后台编辑截图


浙公网安备 33010602011771号