综合系统开发----需求分析
| 这个作业属于哪个课程 | <2022软件代码开发技术> |
|---|---|
| 这个作业要求在哪里 | <综合系统开发----需求分析> |
| 这个作业的目标 | 1.学习使用Github实现文档的版本化和增量式管理 2.加深对领域驱动设计方法、软件设计模式等知识的理解 3.学会运用领域设计建模、使用UML描述实际项目的系统需求 |
需求规格说明书
1 引言
1.1 项目背景
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。
1.2 项目概述
本项目拟开发一个基于Web的服务出租管理系统,用以管理某服务出租公司的客户(自由职业者),时间表等,同时可提供安全和审计日志。系统需存储相关信息,实现搜索相关人员的分类信息和项目的分类信息,维护时间表的功能。系统需实现的核心功能如下:
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
2 需求分析
2.1 面向用户分析
本系统面向的用户分三类,分别是普通客户,自由职业者和系统管理员。以下是涉众分析:
| 涉众 | 描述 |
|---|---|
| 系统管理员 | 系统管理者,管理系统信息,导出审计日志 |
| 普通客户 | 服务请求者,可发布项目,等待服务供应商前来应征 |
| 自由职业者 | 服务供应商,向普通客户提供服务出租,可应征已发布且未完结的项目 |
2.2 功能需求
- 自由职业者
- 管理账户信息,提供存储自由职业者的不同联系方式的功能。
- 按分类搜索项目信息,浏览项目信息。
- 按分类搜索客户,浏览客户信息。
- 对时间表进行管理,包括对时间表信息的增删改查。
- 应征项目,向已发布的项目提交申请
- 客户
- 管理账户信息,客户信息需真实无误。
- 管理账户发布的项目,包括发布,删除,编辑和浏览,处理项目申请。
- 按分类搜索自由职业者信息,浏览自由职业者信息。
- 系统管理员
- 管理系统信息,包括对用户信息和项目信息的核实与修改。
- 每日按时检索系统更新数据,输出今日审计日志。
2.3 技术需求
- 为保证良好的用户体验,系统必须在3秒内对用户的操作做出回应。
- 数据库存储的信息要及时更新。系统是即时服务的,更新完信息后,要能立即看到更新后的结果并将更新信息及时储存起来。
2.4 安全性需求
通过网络安全、数据加密等手段保证用户隐私数据的安全性,通过数据备份与还原、数据软件完备文件等手段来保证系统的数据可靠性,使系统能够抵御病毒入侵或者非法人员进入系统,盗取重要数据。
3 分析建模
3.1 用例模型
根据面向用户分析和功能需求,对系统建立功能模型如下:

3.2 关系模型
采用领域驱动设计方法分析系统需求,现实生活中的三类用户可直接转换为软件世界的三类实体,进一步为实体补充属性与关系:
3.2.1 实体及属性
| 实体 | 属性 |
|---|---|
| 自由职业者 | 自由职业者编号,自由职业者姓名,自由职业者类型、自由职业者联系方式 |
| 项目 | 项目编号、客户编号、项目名、项目类型、项目内容 |
| 客户 | 客户编号、客户姓名、客户类型、客户联系方式 |
| 时间表 | 时间表编号、自由职业者编号、开始时间、结束时间、事务 |
3.2.2 实体间的关系
- 普通客户发布项目,一个普通客户对应多个项目,一个项目对应多个普通客户,因此普通客户和项目之间存在多对多关系。
- 自由职业者参与项目,一个自由职业者对应多个项目,一个项目对应多个自由职业者,自由职业者和项目之间存在多对多关系。
- 自由职业者拥有时间表,一个自由职业者对应一个时间表,一个时间表对应一个自由职业者,因此自由职业者和时间表之间存在一对一关系。
3.2.3 实体联系图

3.3 领域模型

项目时间安排表
| 所属流程 | 步骤 | 预计完成时间 | 预计开始时间 | 预计结束时间 | 校正后完成时间 | 校正后结束时间 |
|---|---|---|---|---|---|---|
| 需求分析 | 需求分析 | 10个工作日 | 2022/3/30 | 2022/4/9 | 12个工作日 | 2022/4/11 |
| 总体设计 | 框架设计完成 | 03个工作日 | 2022/4/14 | 2022/4/16 | 03个工作日 | 2022/4/16 |
| 详细设计 | 单元模块设计 | 08个工作日 | 2022/04/18 | 2022/04/25 | 08个工作日 | 2022/04/25 |
| 软件开发 | 接口设计 | 05个工作日 | 2022/04/27 | 2022/05/01 | 06个工作日 | 2022/05/02 |
| 软件开发 | 模块开发 | 20个工作日 | 2022/05/05 | 2022/05/24 | 15个工作日 | 2022/5/19 |
| 软件测试 | 单元测试 | 03个工作日 | 2022/05/21 | 2022/05/23 | 03个工作日 | 2022/05/23 |
| 软件测试 | 集成测试 | 03个工作日 | 2022/05/24 | 2022/05/26 | 03个工作日 | 2022/05/26 |
| 软件测试 | 系统测试 | 03个工作日 | 2022/05/27 | 2022/05/29 | 03个工作日 | 2022/05/29 |
| 软件测试 | 测试评价 | 01个工作日 | 2022/05/30 | 2022/05/30 | 01个工作日 | 2022/05/30 |
| 软件交付 | 验收测试完成 | 03个工作日 | 2022/05/31 | 2022/06/02 | 03个工作日 | 2022/06/02 |
校正思路:由于个人原因,在项目开发过程中遇到需求分析方面的问题,需求分析过程需进一步思考分析,所以将放宽需求分析的时间,保证产品质量;与此同时,由于本系统中功能的相似性,实际开发中代码可复用,因而模块开发时间校正为原来的3/4。
相关链接与截图
- Github仓库——issue截图
![]()
- 后台编辑截图
![]()



浙公网安备 33010602011771号