谢家鸣 | 2021软件代码开发技术作业四 | 需求改进&系统设计
这个作业属于哪个课程群 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology |
---|---|
这个作业要求 在哪里 | https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11997 |
作业目标 | 1.学会用领域模型分析需求 |
2.学会系统设计 | |
3.学会测试计划的书写 |
1. 需求改进(上次作业需求规格说明书的完善)
项目层次图(HIPO图)
2. 系统设计
2.1 DDD分层架构
2.2 子域划分
- 搜索上下文:实现按条件搜索功能
- 项目与合同上下文:完成创建和管理项目、合同等功能
- 用户上下文:完成对用户的创建与管理功能
- 服务商上下文:完成服务商的创建与管理功能
- 安全与审计上下文:完成项目中的审计功能
2.3 实体定义
员工: 负责用户管理有关业务的实体
服务商: 负责服务商有关业务的实体
客户: 负责客户有关业务的实体
项目: 负责项目管理有关的实体
时间表: 负责时间表管理有关的实体
审计与安全: 负责审计管理有关的实体
搜索结果列表: 负责搜索有关的业务
3. 代码开发任务计划
3.1 项目时间安排表
活动 | 任务 | 预计完成时间 | 预计开始时间 | 预计结束时间 | 校正后任务工期 | 校正后结束时间 |
---|---|---|---|---|---|---|
需求分析 | 需求获取、分析、整理 | 7个工作日 | 2021/4/26 | 2021/5/7 | 7个工作日 | 2021/5/7 |
需求建模 | 3个工作日 | 2021/5/10 | 2021/5/12 | 3个工作日 | 2021/5/12 | |
总体设计 | 系统设计 | 4个工作日 | 2021/5/13 | 2021/5/18 | 4个工作日 | 2021/5/18 |
软件设计 | 2个工作日 | 2021/5/19 | 2021/5/20 | 2个工作日 | 2021/5/20 | |
详细设计 | 数据库设计 | 4个工作日 | 2021/5/24 | 2021/5/27 | 4个工作日 | 2021/5/27 |
界面设计 | 8个工作日 | 2021/5/28 | 2021/6/8 | 8个工作日 | 2021/6/8 | |
开发 | 数据库实现 | 5个工作日 | 2021/6/9 | 2021/6/15 | 5个工作日 | 2021/6/15 |
环境搭建,系统架构搭建 | 2个工作日 | 2021/6/16 | 2021/6/17 | 7个工作日 | 2021/6/24 | |
用户鉴权域实现 | 4个工作日 | 2021/6/18 | 2021/6/23 | 4个工作日 | 2021/6/30 | |
服务商管理实现 | 4个工作日 | 2021/6/24 | 2021/6/29 | 2个工作日 | 2021/7/2 | |
项目管理实现 | 4个工作日 | 2021/6/30 | 2021/7/2 | 2个工作日 | 2021/7/6 | |
客户管理实现 | 4个工作日 | 2021/7/5 | 2021/7/8 | 2个工作日 | 2021/7/8 | |
测试 | 单元测试 | 2个工作日 | 2021/7/9 | 2021/7/12 | 3个工作日 | 2021/7/12 |
压力测试 | 2个工作日 | 2021/7/13 | 2021/7/14 | 2个工作日 | 2021/7/14 | |
交付 | 系统交付 | 5个工作日 | 2021/7/15 | 2021/7/21 | 1个工作日 | 2021/7/21 |
3.2 甘特图
4. 测试计划
4.1测试计划
4.1.1 测试项目
《服务出租平台》
4.1.2 测试目的
编号 | 目的 |
---|---|
1 | 软件测试是为了发现错误而执行程序的过程。 |
2 | 测试是为了证明程序有错,而不是证明程序无错。 |
3 | 一个好的测试用例在于它发现至今未发现的错误。 |
4 | 一个成功的测试是发现了至今未发现的错误的测试。 |
4.1.3 文档受众
编号 | 人员 | 原因 |
---|---|---|
1 | 产品设计人员 | 明确说明测试范围,方法,工作周期信息。 |
2 | 产品研发人员 | 明确说明测试范围,方法,工作周期信息。 |
3 | 产品测试人员 | 明确说明测试范围,方法,任务分工,预计完成时间。 |
4.1.4 测试专业术语
软件测试类型 | |
---|---|
单元测试 | 开发者编写的一小段代码,检验被测代码的一个很小的、很明确的功能是否正确。 |
集成测试 | 开发者编写的多个段代码单元,组合到一起形成集成测试,检查多个单元组合功能是否正确。 |
4.1.5 缺陷优先级
缺陷的优先级 | |
---|---|
P0 | 严重级别比较高的,影响测试进行或者系统无法继续操作,立即修复,1天。 |
P1 | 基本功能没有实现,对系统操作有影响,2-3天。 |
P2 | 一般性功能,页面缺陷,4-5天。 |
P3 | 准备在下一轮测试前修改完毕,准备在下一版本中修改。 |
4.1.6 严重程度定义
缺陷的严重程度 | |
---|---|
S0 | 数据丢失,数据计算错误、数据传递错误、对数据库造成破坏,造成操作系统或其他支撑系统崩溃、非正常关闭和非正常死机。 |
S0 | 应用系统崩溃、非正常关闭和无响应,但没有造成数据丢失。系统的主要功能不能正确实现或不完整。 |
S0 | 规定的非主要功能没有实现或不完整、影响系统的运行;设计不合理造成性能低下。 |
S0 | 不影响业务运行的功能问题。 |
S0 | 软件设计和功能实现等不完全合理之处提出建议。 |
4.1.7 用例优先级定义
用例优先级 | |
---|---|
P0 | 确保系统基本功能及主要功能的测试用例 |
P1 | 确保系统功能的完善方面的测试用例 |
P2 | 关于用户体验,输入输出的验证;较少使用或辅助功能的测试用例。 |
4.1.8 单元测试
单元测试 | |
---|---|
测试目标 | 开发者编写的一小段代码,检验被测代码的一个很小的、很明确的功能是否正确。 |
测试范围 | 测试整个项目中的每一行代码进行测试。 |
完成标准 | 代码的一个很小的、很明确的功能都正确。 |
需考虑的特殊事项 | |
使用工具 | Java + TestNG + idea+ 程序相关依赖Jar 包。 |
4.1.9 集成测试
集成测试 | |
---|---|
测试目标 | 开发者编写的多个段代码单元,组合到一起形成集成测试,检查多个单元组合功能是否正确。 |
测试范围 | 开发者编写的多个段代码单元,组合到一起形成的集合。 |
完成标准 | 多个单元组合功能正确。 |
需考虑的特殊事项 | |
使用工具 | Java + TestNG + idea+ 程序相关依赖Jar 包。 |
4.1.10 人员安排
编号 | 角色 | 人员 | 具体职责 |
---|---|---|---|
1 | 确认需求 | 明确需求 | |
2 | 定制测试计划 | 决定测试策略,人员分工,测试周期等。 | |
3 | 准备测试环境 | 测试工作开始前准备工作。 | |
4 | 执行测试工作 | 编写用例,执行用例,提交缺陷报告,回测等。 | |
5 | 编写测试报告 | 编写项目的测试结果。 |
4.1.11 测试工作进度
编号 | 任务 | 人员 | 时间 |
---|---|---|---|
1 | 确认需求 | 2021-05-01 - 2021-05-06 = 5 | |
2 | 定制测试计划 | 2021-05-06 - 2021-05-09 = 3 | |
3 | 准备测试环境 | 2021-05-09 - 2021-05-12 = 3 | |
4 | 单元测试 | 2021-05-12 - 2021-05-18 = 6 | |
5 | 集成测试 | 2021-05-18 - 2021-05-25 = 7 | |
6 | 编写测试报告 | 2021-05-25 - 2021-05-27 = 2 |
博客园截图