这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11997 |
这个作业的目标 | (1)学会系统设计 |
(2)加深对需求分析的了解 | |
(3)学会合理安排开发任务和测试时间 |
1 需求改进
1.1 客户需求
ID | 内容 |
---|---|
111 | 客户可以注册账号 |
112 | 客户可以修改个人信息 |
113 | 客户可以发布、删除项目 |
114 | 客户可以根据搜索条件查询服务提供者 |
115 | 客户可以与服务提供者在线签约合同 |
1.2 自由职业者需求
ID | 内容 |
---|---|
121 | 自由职业者可以注册账号 |
122 | 自由职业者可以提交认证材料,成为服务提供者 |
1.3 系统管理员需求
ID | 内容 |
---|---|
131 | 系统管理员可以查看客户、自由职业者、项目、时间安排表的信息 |
132 | 系统管理员可以审计合同 |
133 | 系统管理员可以保存在线合同 |
134 | 系统管理员可以维护时间安排表 |
135 | 系统管理员可以搜索客户分类,项目分类,自由职业者分类 |
1.4 服务提供者需求
ID | 内容 |
---|---|
141 | 服务提供者可以接取项目 |
142 | 服务提供者可以修改个人信息 |
143 | 服务提供者可以和客户在线签约合同 |
144 | 服务提供者可以更新自身的时间安排表 |
145 | 服务提供者可以使用项目分类的功能来查找适合自己的项目 |
2 系统设计
2.1 领域
客户领域:负责实现与客户有关的功能
自由职业者领域:负责实现与自由职业者有关的功能
系统管理员领域:为系统管理员提供系统管理、维护接口
服务提供者领域:负责实现与服务提供者有关的功能
公共权限领域:公共权限的集合
系统领域:所有系统基础功能的集合
2.2 子域
客户领域的子领域:
客户账号管理子领域
发布项目子领域
删除项目子领域
签订合同子领域
项目管理子领域
自由职业者领域的子领域:
自由职业者账号管理子领域
申请成为服务者子领域
系统管理员领域的子领域:
客户管理子领域
自由职业者管理子领域
服务提供者管理子领域
审计合同子领域
服务提供者领域的子领域:
接取项目子领域
时间安排表管理子领域
签订合同子领域
公共权限领域的子领域:
数据管理子领域
系统领域的子领域:
日志子领域
数据子领域
界面子领域
2.3 限界上下文定义
客户账号管理子领域:完成客户账号的注册、修改和注销功能
发布项目子领域:完成项目的发布功能
删除项目子领域:完成项目的删除功能
签订合同子领域:完成在线合同的签订功能
项目管理子领域:完成对项目信息的增删改查
自由职业者账号管理子领域:完成自由职业者账号的注册、修改和注销功能
申请成为服务者子领域:完成申请成为服务提供者的功能
客户管理子领域:完成系统管理员对客户信息管理的功能
自由职业者管理子领域:完成系统管理员对自由职业者信息管理的功能
服务提供者管理子领域:完成系统管理员对服务提供者信息管理的功能
审计合同子领域:完成审计合同的功能
接取项目子领域:完成接取项目的功能
时间安排表管理子领域:完成对时间安排表的增删改查
数据管理子领域:实现对数据库的表里面的数据进行增删改查操作
日志子领域:实现系统安全和生成审计日志
数据子领域:实现数据库的搭建,完成数据存储
界面子领域:实现用户界面
2.4 最终领域划分
3 代码开发任务计划
3.1 各模块的开发时间和开发顺序
一个工作日的开发时间为8个小时
开发顺序 | 模块名称 | 开发时间 |
---|---|---|
1 | 客户账号登录注册功能模块 | 2个工作日 |
2 | 自由职业者账号登录注册功能模块 | 1个工作日 |
3 | 客户信息管理功能模块 | 4个工作日 |
4 | 自由职业者信息管理功能模块 | 2个工作日 |
5 | 系统管理员功能模块 | 2个工作日 |
6 | 服务提供者信息管理功能模块 | 2个工作日 |
7 | 项目信息管理功能模块 | 3个工作日 |
8 | 时间安排表信息管理功能模块 | 3个工作日 |
9 | 审计功能模块 | 2个工作日 |
3.2 模块分解
模块名称 | 任务名称 | 开发耗费的时间 |
---|---|---|
客户账号登录注册功能模块 | 16个小时 | |
客户账号登录模块 | 8个小时 | |
客户账号注册模块 | 8个小时 | |
自由职业者账号登录注册功能模块 | 8个小时 | |
自由职业者账号登录模块 | 4个小时 | |
自由职业者账号注册模块 | 4个小时 | |
客户信息管理功能模块 | 32个小时 | |
客户信息增加模块 | 8个小时 | |
客户信息删除模块 | 8个小时 | |
客户信息修改模块 | 8个小时 | |
客户信息查询模块 | 8个小时 | |
自由职业者信息管理功能模块 | 16个小时 | |
自由职业者信息增加模块 | 4个小时 | |
自由职业者信息删除模块 | 4个小时 | |
自由职业者信息修改模块 | 4个小时 | |
自由职业者信息查询模块 | 4个小时 | |
系统管理员功能模块 | 16个小时 | |
客户管理模块 | 8个小时 | |
自由职业者管理模块 | 4个小时 | |
服务提供者管理模块 | 4个小时 | |
服务提供者信息管理功能模块 | 16个小时 | |
服务提供者信息增加模块 | 4个小时 | |
服务提供者信息删除模块 | 4个小时 | |
服务提供者信息修改模块 | 4个小时 | |
服务提供者信息查询模块 | 4个小时 | |
项目信息管理功能模块 | 24个小时 | |
新建项目模块 | 8个小时 | |
项目信息增加模块 | 4个小时 | |
项目信息删除模块 | 4个小时 | |
项目信息修改模块 | 4个小时 | |
项目信息查询模块 | 4个小时 | |
时间安排表信息管理功能模块 | 24个小时 | |
新建时间安排表模块 | 8个小时 | |
时间安排表信息增加模块 | 4个小时 | |
时间安排表信息删除模块 | 4个小时 | |
时间安排表信息修改模块 | 4个小时 | |
时间安排表信息查询模块 | 4个小时 | |
审计功能模块 | 16个小时 | |
新建审计信息模块 | 8个小时 | |
审计信息获取模块 | 8个小时 |
3.3 甘特图
4 测试计划
4.1 测试总纲
测试目标是检查系统是否真正满足客户的需求。
测试方法有单元测试、集成测试、压力测试。
测试范围是数据库系统、前端界面系统,后台系统。
4.2 测试环境
4.2.1 服务器软件环境
操作系统:Win10
数据库软件:SqlServer
应用服务器中间件:Tomcat 8.0
JDK版本:jdk 13.0.2
4.2.2 服务器硬件环境
系统类型:Win10
内存:128G
硬盘空间:1T
4.2.3 测试机软件环境
操作系统软件:Win10
浏览器:Google Chrome
4.2.4 测试机硬件环境
系统类型:Win10
内存:32G
硬盘空间:400G
4.3 测试人员以及时间安排
测试人员:周立
测试方法 | 测试内容 | 测试时间 |
---|---|---|
单元测试 | 客户信息管理模块、自由职业者信息管理模块、服务提供者管理信息模块等共计九个模块 | 3天 |
集成测试 | 出租服务管理系统 | 2天 |
压力测试 | 服务器及后台代码的压力测试 | 1天 |
4.4 测试具体安排
使用角色 | 测试对象 | 测试功能 | 预期结果 | 实际结果 |
---|---|---|---|---|
客户 | 客户账号登录注册功能模块 | 登录 | ||
注册 | ||||
自由职业者 | 自由职业者账号登录注册功能模块 | 登录 | ||
注册 | ||||
客户 | 客户信息管理功能模块 | 增加 | ||
删除 | ||||
修改 | ||||
查询 | ||||
自由职业者 | 自由职业者信息管理功能模块 | 增加 | ||
删除 | ||||
修改 | ||||
查询 | ||||
系统管理员 | 系统管理员功能模块 | 客户管理 | ||
自由职业者管理 | ||||
服务提供者管理 | ||||
服务提供者 | 服务提供者信息管理功能模块 | 增加 | ||
删除 | ||||
修改 | ||||
查询 | ||||
客户 | 项目信息管理功能模块 | 新建 | ||
增加 | ||||
删除 | ||||
修改 | ||||
查询 | ||||
服务提供者 | 时间安排表信息管理功能模块 | 新建 | ||
增加 | ||||
删除 | ||||
修改 | ||||
查询 | ||||
系统管理员 | 审计功能模块 | 新建 | ||
获取 | ||||
所有使用者 | 出租服务管理系统 | 所有功能的集成 | ||
系统管理员 | 服务器及后台代码的压力承受程度 |