作业四
| 这个作业属于哪个课程 | 班级的链接 |
|---|---|
| 这个作业要求在哪里 | 作业要求的链接 |
| 这个作业的目标 | 1. 运用面向领域建模的方法,修改完善上一次作业提交的需求规格说明书 |
| 2. 建立git仓库,完成代码开发 |
一、项目背景
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。
二、需求分析
2.1 用户分析
系统的包含的角色分为员工、自由职业者、客户三类,自由职业者通过公司发布他们的服务(项目),客户可查询不同项目并购买,员工可管理自由职业者、客户和项目的信息。
2.2 功能分析
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
三、详细设计
3.1 功能设计
| 角色 | 功能 |
|---|---|
| 员工 | 1. 注册/登录 |
| 2. 管理客户(自由职业者)信息 | |
| 3. 搜索项目分类 | |
| 4. 搜索客户(自由职业者)分类 | |
| 自由职业者 | 1. 注册/登录 |
| 2. 修改个人信息 | |
| 3. 发布服务 | |
| 客户 | 1. 注册/登录 |
| 2. 修改个人信息 | |
| 3. 购买服务 |
3.2 用例图

3.3 系统结构图

3.4 E-R图

3.5 数据库设计

3.6 领域设计
3.6.1 领域和子领域
- 员工领域:负责实现员工的相关功能
- 用户管理
- 项目(合同)管理
- 自由职业者领域:负责实现自由职业者的相关功能
- 发布服务
- 服务(合同)管理
- 客户领域:负责实现客户的相关功能
- 购买服务
- 服务(合同)管理
3.6.2 实体和值对象
| 实体 | 值对象 |
|---|---|
| 用户 | 用户id、账号、密码、用户名、角色、年龄、性别 |
| 员工 | (继承用户) |
| 自由职业者 | (继承用户)、发布的服务,合同 |
| 客户 | (继承用户)、购买服务,合同 |
| 服务 | 服务id、服务名称、发布者、价格、分类、介绍、发布时间 |
| 项目(合同) | 项目id、服务id、发布者、购买者、购买时间 |
3.6.3 甘特图

3.6.4 模块划分
| 模块名 | 子模块 | 开发时间 |
|---|---|---|
| 用户模块 | 登录注册 | 5.9 |
| 修改个人信息 | 5.9 | |
| 员工模块 | 用户管理 | 5.10 |
| 项目(合同)管理 | 5.11 | |
| 自由职业者 | 发布服务 | 5.10 |
| 发布历史 | 5.10 | |
| 客户模块 | 购买服务 | 5.11 |
| 订单 | 5.11 | |
| 前端界面 | 界面设计及代码实现 | 5.12 |
四、测试
| 模块 | 测试计划 | 时间 |
|---|---|---|
| 用户 | 用户分角色注册登录 | 5.15 |
| 个人信息修改 | 5.15 | |
| 自由职业者 | 发布服务 | 5.15 |
| 发布历史查询 | 5.15 | |
| 客户 | 购买服务 | 5.15 |
| 购买历史查询 | 5.15 | |
| 员工 | 用户管理 | 5.15 |
| 项目管理 | 5.15 | |
| 前端界面 | 页面跳转及交互 | 5.15 |
五、项目地址
Github 地址:https://github.com/Krega0129/Integrated-System-Development
六、项目计划
| 计划 | 原有安排 | 矫正后安排 |
|---|---|---|
| 需求分析 | 2天 | 1天 |
| 详细设计 | 5天 | 3天 |
| 数据库设计 | 7天 | 1天 |
| 接口设计 | 8天 | 2天 |
| 界面设计 | 2天 | 1天 |
| 代码实现 | 10天 | 6天 |
| 测试 | 3天 | 1天 |
项目计划截图:

七、博客截图


浙公网安备 33010602011771号