作业三:综合系统开发----需求分析
| 这个作业属于哪个课程 | 2022软件代码开发技术 |
|---|---|
| 这个作业要求在哪里 | 综合系统开发----需求分析 |
| 这个作业的目标 | 这次的作业目标是基于给出的软件开发需求,运用UML结合领域驱动设计方法、软件设计模式等知识进行建模,完成撰写需求规格说明书,完成项目后续的开发计划,同时建立项目git仓库。 |
一、项目简介
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。
下面需求分析将基于UML描述需求规格。
二、领域驱动设计分析
领域驱动设计(Domain Driven Desing,简称DDD)就是在可扩展性方面将复杂多变的业务排除在稳定不变的内核业务之外,从而在多变的环境中找到不变的部分,达到以不变应万变的目标。不仅如此,DDD还能够以更优于静态文档的方式提供开发人员,业务人员所需要的业务知识,因为DDD在设计之初就要求业务人员特别是领域专家与开发人员通过双方统一的语言一起来协作设计系统,最终交付给业务人员能够“读”得懂的,符合其期望的产品。
优点:
1.易于理解和维护。不是由一个完成所有事的大类组成,而是由许多小类组成,每个小类都有少量的职责
2.面向对象设计更容易测试:每个类都可以并且应该能够被独立测试
3.最后面向个对象设计更容易扩展
将核心要求细分如下:
- SF1 搜索自由职业者分类的功能
- SF2 用于存储联系自由职业者的不同渠道的解决方案
- SF3 搜索项目分类的功能
- SF4 搜索客户分类的功能
- SF5 维护合同中自由职业者的时间表
三、用户分析
客户
SF1 搜索自由职业者分类的功能
SF2 存储联系自由职业者的不同渠道的解决方案
SF3 搜索项目分类的功能
SF4 搜索客户分类的功能
员工
SF2 存储联系自由职业者的不同渠道的解决方案
SF5 维护合同中自由职业者的时间表
用例图

用例描述表
| ID | 1.1 |
|---|---|
| 名称 | 维护时间表 |
| 参与者 | 员工,目标是维护合同中自由职业者的时间表。 |
| 触发条件 | 员工在页面登录并开始维护 |
| 前置条件 | 员工输入新时间表数据 |
| 后置条件 | 更新时间表 |
| 正常流程 | 1.员工录入新时间表信息,系统后台记录更新数据 2.员工提交信息,系统将数据传入后台数据库保存 3.员工完成维护,系统更新时间表数据 |
| 特殊需求 | 时间表修改记录保留一个月后自动清除,修改记录可以用来还原 |
| ID | 1.2 |
|---|---|
| 名称 | 存储联系渠道 |
| 参与者 | 员工、客户,目标是存储联系自由职业者的不同渠道的解决方案。 |
| 触发条件 | 员工或客户开始存储联系渠道 |
| 前置条件 | 员工或客户录入新存储联系渠道 |
| 后置条件 | 更新存储联系渠道 |
| 正常流程 | 1. 员工或客户录入新存储联系渠道,系统后台记录更新数据 2.员工或客户提交信息,系统将数据传入后台数据库保存 3.员工或客户完成存储,系统更新联系渠道数据 |
| ID | 1.3 |
|---|---|
| 名称 | 搜索自由职业者分类 |
| 参与者 | 客户,目标是搜索自由职业者的分类 |
| 触发条件 | 客户提出搜索分类请求 |
| 前置条件 | 客户在系统点击搜索分类请求 |
| 后置条件 | 展示自由职业者的分类 |
| 正常流程 | 1. 客户在系统请求搜索特定自由职业者分类,系统拉取后台数据库相关信息,传输到前端展示 |
| 业务规则 | 每次搜索只能对特定自由职业者uid搜索 |
| ID | 1.4 |
|---|---|
| 名称 | 搜索项目分类 |
| 参与者 | 客户,目标是搜索项目的分类 |
| 触发条件 | 客户提出搜索项目请求 |
| 前置条件 | 客户在系统点击搜索项目请求 |
| 后置条件 | 展示项目的分类和相关详情信息 |
| 正常流程 | 1. 客户在系统请求搜索特定项目分类,系统拉取后台数据库相关信息,传输到前端展示 |
| 业务规则 | 每次搜索只能对特定项目pid搜索 |
| ID | 1.5 |
|---|---|
| 名称 | 搜索客户分类 |
| 参与者 | 客户,目标是搜索客户的分类 |
| 触发条件 | 客户提出搜索请求 |
| 前置条件 | 客户在系统点击搜索客户请求 |
| 后置条件 | 展示客户的分类和客户公开个人信息 |
| 正常流程 | 1. 客户在系统请求搜索特定客户的分类,系统拉取后台数据库相关信息,传输到前端展示 |
| 业务规则 | 每次搜索只能对特定客户cid搜索 |
四、功能需求
上下文图
模块结构图
实体关系模型ERD
类图
五、技术需求
人机交互需求
此提供服务出租的管理系统采用网页形式进行显示和用户交互,界面设计应简洁明了;不应出现产生歧义的控件。
可靠性需求
此系统主要实现管理功能,因此用户的信息应当妥善储存并加以安全性保护操作;在信息可能会产生冲突的地方应考虑周到,面对高并发的场景应能从容面对。
系统质量需求
健壮性:能够保证1000人内进行有效的基本操作。
安全性:对不同客户信息应有人员权限限制。
易用性:前端界面应简洁明了,有相应提示以提示。
六、Git & 博客编辑
git仓库任务计划链接
https://github.com/Dunant5/Dunant5/issues/1
git任务计划截图

博客园编辑截图

七、时间安排表
| 项目流程 | 时间计划 | 矫正后时间计划 |
|---|---|---|
| 可行性研究 | 2022.04.15 - 2022.04.30 | 2022.04.15 - 2022.04.20 |
| 需求分析 | 2022.05.01 - 2022.05.20 | 2022.04.20 - 2022.05.01 |
| 系统设计 | 2022.05.22 - 2022.06.20 | 2022.05.01 - 2022.05.20 |
| 软件实现 | 2022.06.21 - 2022.07.20 | 2022.05.21 - 2022.06.20 |
| 软件测试 | 2022.07.21 - 2022.08.10 | 2022.06.21 - 2022.07.01 |
因为原计划时间跨度太长,不符合一般软件开发和该软件开发实情,所以将每个流程时间均缩减一定程度,除了软件实现时间不变外,其它流程均做了一定缩短,最终能节省一个多月的时间开发该软件。

浙公网安备 33010602011771号