谢立新 | 2021软件代码开发技术作业三 | 综合系统开发-需求分析
| 这个作业属于哪个课程 | 软件代码开发技术 |
|---|---|
| 这个作业要求在哪里 | 综合系统开发----需求分析 |
| 这个作业的目标 | 1、掌握如何编写需求规格说明书 |
| 2、掌握UML(统一建模语言)的使用 | |
| 3、掌握领域驱动设计方法 | |
| 4、掌握Git增量式管理 |
一、领域驱动设计(Domain Driven Design)
领域驱动设计,是指通过统一语言、业务抽象、领域划分和领域建模等一系列手段来控制软件复杂度的方法论。
领域驱动设计关心的是业务中的领域划分和领域建模,其开发过程不再以数据模型为起点,而是以领域模型为出发点,研发过程如图:

分层架构
| 分层 | 作用 |
|---|---|
| 用户界面/展现层(User Interface) | 负责向用户展现信息以及解释用户命令。 |
| 应用层(Application) | 很薄的一层,用来协调应用的活动。它不包含业务逻辑。它不保留业务对象的状态,但它保有应用任 务的进度状态。 |
| 领域层(Domain) | 本层包含关于领域的信息。这是业务软件的核心所在。在这里保留业务对象的状态,对业务对象和它们状态的持久化被委托给了基础设施层。 |
| 基础设施层(Infrastructure) | 本层作为其他层的支撑库存在。它提供了层间的通信,实现对业务对象的持久化,包含对用户界面层的支撑库等作用。 |
二、需求规格说明书
1 前言
1.1 目的
为明确软件需求、规划项目、确认进度、组织软件开发并测试而撰写本文档。同时,详细分析项目总体需求,可以作为软件开发工作的基础和依据以及确认测试和验收的依据。
1.2 范围
(1)此软件系统将命名为:服务出租管理系统
(2)此软件系统是干什么的:解决Excel管理客户、时间表方案无法扩展和无法应对多用户场景问题;为公司的服务出租业务提供安全和审计功能。
1.3 定义
(1)自由职业者:作为服务商来为该公司提供服务,与公司间有合同制约。
(2)客户:使用该公司提供的服务。
(3)项目:该公司与客户达成协商后进行的活动。
(4)时间表:管理自由职业者的时间安排表。
1.4 参考资料
https://www.infoq.cn/minibook/domain-driven-design-quickly
https://blog.csdn.net/bluishglc/article/details/6681253
https://wenku.baidu.com/view/460a8dd2b9f3f90f76c61b14.html
http://www.woshipm.com/pmd/933896.html
2 项目概述
2.1 产品描述
2.1.1 项目背景
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。
核心要求如下:
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
2.1.2 项目目标
本系统旨在解决提供服务出租的公司的客户/时间表管理事项,具有针对性的解决Excel解决方案无法解决的多用户场景问题,并为使用者提供完整的安全与审计日志解决方案,可提供使用者的管理效率。
2.2 产品功能
本产品主要有如下功能:
(1)自由职业者注册登录成为服务提供者,并可管理自己的个人信息
(2)客户可提出服务要求和服务时间
(3)服务提供者可选择接收某个服务要求,将记录在时间表
(4)服务提供者与客户合同的签署
(5)提供对自由职业者、客户的查询
(6)提供对项目的查询
(7)统一管理合同与时间表
(8)对系统执行的操作进行日志记录
3 需求分析
3.1 功能需求
3.1.1 领域模型
(1)识别实体:自由职业者、客户、服务任务、时间表、日志、合同
(2)领域建模

- 自由职业者:服务的提供者,可接受客户提出的任务并与客户签订合同;可管理自己的时间表
- 客户:服务的享受者,可以发布任务,可查询任务实行的时间表
- 服务任务:为客户和自由职业者间建立一种联系的项目
- 时间表:自由职业者对任务的执行安排记录
- 日志:系统中的操作的记录
- 合同:客户与自由职业者之间项目合作的一种制约
3.1.2 用例模型

3.1.3 ER模型

3.2 非功能需求
3.2.1 性能需求
- 程序响应时间不超过10s,超时提示
- 保证高并发不宕机
3.2.2 安全性需求
- 系统对使用者进行权限验证
- 系统应对数据进行定期持久化备份
- 系统应对所有修改操作进行日志记录
- 系统应对敏感数据进行加密处理
3.2.3 硬件需求
- 可与互联网通信的计算机
- 具有图形显示界面的计算机
- 网络连接速率不低于10Kbit/s
3.2.4 软件需求
-
浏览器要求:市场上主流浏览器如Chrome、Microsoft Edge、Mozilla Firefox、Safari等
-
支持HTML5标准
三、项目时间安排表
| 活动 | 任务 | 预期工期 | 预期开始时间 | 预期结束时间 | 矫正开始时间 | 矫正结束时间 |
|---|---|---|---|---|---|---|
| 需求分析 | 需求获取 | 7个工作日 | 2021.4.23 | 2021.5.1 | 2021.5.2 | 2021.5.2 |
| 需求分析 | 1个工作日 | 2021.5.1 | 2021.5.1 | 2021.5.2 | 2021.5.2 | |
| 撰写需求规格说明书 | 2个工作日 | 2021.5.2 | 2021.5.3 | 2021.5.3 | 2021.5.4 | |
| 总体设计 | 系统设计 | 5个工作日 | 2021.5.5 | 2021.5.10 | 2021.5.5 | 2021.5.10 |
| 软件设计 | 3个工作日 | 2021.5.10 | 2021.5.13 | 2021.5.10 | 2021.5.13 | |
| 详细设计 | 数据库设计 | 1个工作日 | 2021.5.13 | 2021.5.14 | 2021.5.13 | 2021.5.14 |
| 界面设计 | 7个工作日 | 2021.5.14 | 2021.5.21 | 2021.5.14 | 2021.5.21 | |
| 开发 | 数据库实现 | 1个工作日 | 2021.5.21 | 2021.5.22 | 2021.5.21 | 2021.5.22 |
| 环境搭建、系统架构搭建 | 1个工作日 | 2021.5.23 | 2021.5.24 | 2021.5.23 | 2021.5.24 | |
| 自由职业者功能实现 | 7个工作日 | 2021.5.24 | 2021.5.31 | 2021.5.24 | 2021.5.31 | |
| 客户功能实现 | 7个工作日 | 2021.5.31 | 2021.6.7 | 2021.5.31 | 2021.6.7 | |
| 测试 | 单元测试 | 0.5个工作日 | 2021.6.7 | 2021.6.7 | 2021.6.7 | 2021.6.7 |
| 集成测试 | 0.5个工作日 | 2021.6.7 | 2021.6.7 | 2021.6.7 | 2021.6.7 | |
| 系统测试 | 1个工作日 | 2021.6.8 | 2021.6.9 | 2021.6.8 | 2021.6.9 | |
| 交付 | 系统交付 | 1个工作日 | 2021.6.9 | 2021.6.9 | 2021.6.9 | 2021.6.9 |


浙公网安备 33010602011771号