水之魂2367

软工实践团队作业(二)

2026秋软件工程实践第二次团队作业记录

项目 内容
作业所属课程 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/
作业要求 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework/16774
作业目标 在第一次需求分析的基础上,完成可交互原型、系统分层架构、UML与数据库设计;明确领域智能体与业务功能的协作方式,并通过 GitHub 留下可追踪的任务、评审和交付记录。
团队名称 TestPilot 团队
团队成员 102402123-丁维彤;102302152-戴楷斌;102402141-叶思铖;072308214-周兴宇;052404129-林彦羽;052401324-刘昭杉;102402120-陈睿涛;102401323-陈勇昊;102401314-曾炜毅;032401339-沈冠宇;052402234-郭泽强;052404147-刘怀正
GitHub 仓库 https://github.com/dingweitong2367/testpilot

原型设计

一、 明确原型设计范围

设计部分 主要使用者 设计目的
用户端应用 开发者、课程项目学生、小组组长 完成项目测试的完整业务流程
后台管理端 平台管理员、知识维护人员 管理 Agent 领域知识、提示词、平台运行配置等

首先建立以下功能范围:
用户端:项目管理、项目工作台、需求管理、需求澄清、测试对象管理、AI 测试规划、AI 测试用例生成、测试用例管理、测试执行、测试结果分析、测试报告、项目设置
后台管理端:后台管理首页、用户及项目概览、Agent 配置管理、领域知识库管理、提示词模板管理、Agent 运行记录、平台运行状态
其中,用户端是重点,后台管理端作为补充。

二、 梳理完整的用户业务流程

TestPilot 核心业务流程
01
创建项目
填写项目名称、描述等信息
02
导入需求
上传 Markdown / TXT 需求文档
03
Agent 需求澄清
识别需求缺项,提出问题,用户补充
04
配置测试对象
配置 API、请求参数、鉴权和环境
05
Agent 测试规划
分析需求,推荐测试类型和覆盖检查项
06
AI 生成测试用例
生成正常、异常、边界、鉴权和集成用例
07
人工确认
编辑用例、静态校验、确认版本
08
测试执行
执行前预检,用户确认后运行
09
Agent 失败分析
根据真实执行证据分析失败原因
10
生成测试报告
查看统计、历史批次并导出 HTML

三、 规划原型页面及页面之间的关系

3.1 用户端页面规划

按照业务流程,将用户端划分为六个功能区域。

页面分组 页面名称 主要内容
工作空间 项目列表 项目卡片、创建项目
工作空间 项目总览 测试概况、任务进度、最近活动
需求中心 需求管理 需求文档、需求列表
需求中心 需求详情 原文、需求编号、编辑
需求中心 需求澄清 Agent 问题、缺项、用户补充
测试配置 测试对象 API 接口列表
测试配置 接口详情 请求方法、路径、参数、鉴权
智能测试 测试规划 测试类型、覆盖建议
智能测试 用例生成 Agent 对话、生成配置、生成结果
智能测试 用例管理 用例列表、筛选、批量操作
智能测试 用例详情 步骤、断言、预期结果、版本
执行中心 执行确认 选择用例、预检、执行授权
执行中心 执行过程 执行进度、实时状态
执行中心 执行结果 PASS、FAIL、ERROR、BLOCKED
分析报告 失败分析 Agent 归因、证据、修复建议
分析报告 测试报告 批次统计、历史记录、HTML 导出

3.2 后台管理页面规划

页面 主要内容
管理首页 用户数量、项目数量、Agent 调用概况
Agent 管理 Agent 类型、启用状态、版本
领域知识库 测试知识条目、来源、版本
提示词管理 领域提示词、模板版本、输出规则
运行记录 Agent 调用记录、执行状态、错误信息
平台配置 模型配置、运行参数、平台状态

3.3 建立页面跳转关系

在绘制之前,需要确定哪些页面之间需要跳转
关系如下:

  • 项目列表
    • 项目总览
      • 需求管理
        • 需求详情
        • 需求澄清
      • 测试对象
        • 接口详情
      • 测试规划
        • AI 用例生成
          • 用例管理
            • 用例详情
      • 测试执行
        • 执行确认
        • 执行过程
        • 执行结果
          • 失败分析
      • 测试报告

四、 使用墨刀建立项目和设计 UI

4.1 设计统一的页面框架

页面框架分为三个部分:
左侧导航栏:TestPilot Logo、项目总览、需求管理、测试对象、智能测试、测试用例、测试执行、测试报告、设置
顶部导航栏:当前项目名称、当前页面名称、消息提示、用户头像、用户菜单
主内容区:页面标题、页面描述、主要操作按钮、数据卡片、表格或内容区域

4.2 先设计关键页面,再补充普通页面

图片1
绘制顺序:项目总览页、需求管理页、需求澄清页、测试规划页、AI 用例生成页、用例管理页、测试执行页、执行结果与失败分析页、测试报告页、其他辅助页面
这些页面最能体现产品的核心价值,先做好它们,再补充项目管理、接口配置和后台管理页面。

五、使用墨刀建立项目和设计 UI

5.1 需求澄清 Agent

图片2
设计布局:
左侧:
原始需求文档
需求编号
原文内容
文档定位
右侧:
Agent 分析状态
缺失信息清单
澄清问题
用户补充输入框
确认需求按钮
模拟交互内容:
用户:
“我的系统支持用户登录,并返回用户信息。”
Agent:
“我已分析当前需求,发现还缺少以下信息:
登录接口的请求路径
登录成功的响应状态码
token 的返回字段
错误密码的处理方式
用户信息需要验证的字段”
用户补充信息后:
点击提交
Agent 更新需求分析
缺项状态更新
用户确认需求
生成新的需求版本
必须设计 NEEDS_INFO 和已确认两种状态。

5.2 测试规划 Agent

图片3
设计一个独立的智能测试规划页面。
页面左侧:
当前需求列表
需求完整度
测试对象信息
页面右侧:
Agent 测试建议
推荐测试类型
测试覆盖清单
测试规划确认按钮

测试内容包括如下表格所示:

测试类型 测试场景
功能测试 正确用户名和密码登录
异常测试 错误密码、空密码
边界测试 输入长度边界
鉴权测试 缺失、无效 token
集成测试 登录后调用用户信息接口

用户可以勾选需要生成的测试类型,然后进入用例生成环节。

5.3 AI 测试用例生成 Agent

图片4
采用三栏布局:
左侧:需求及测试类型选择
中间:生成的测试用例列表
右侧:Agent 对话和生成过程
Agent 的交互过程:
用户选择需求
用户选择测试类型
点击生成
Agent 分析需求
Agent 生成测试草稿
页面展示生成结果
用户编辑测试用例
点击静态校验
通过校验后点击人工确认
注意:生成的用例不能直接进入执行状态。

5.4 失败分析Agent

图片5
将页面划分为三个区域:
区域一:测试失败信息
用例编号
失败步骤
实际响应
预期结果
断言差异
区域二:Agent 分析
失败归因
可能原因
证据引用
建议解决方法
区域三:人工反馈
采纳建议
驳回建议
补充证据

5.5 后台 Agent 管理

图片6
后台管理端重点展示:
Agent 基本信息
任务类型
提示词版本
知识条目
知识来源
输出 JSON Schema
运行记录

同时设计新增、编辑、查看详情和版本管理交互。

六、为每个页面添加交互、文本和规则说明

6.1 交互说明

明确用户点击某个按钮后发生什么。

交互元素 用户操作 系统反馈
上传需求 点击上传 选择 Markdown/TXT
开始分析 点击分析 Agent 开始分析
补充信息 输入内容 保存补充信息
提交回答 点击提交 Agent 更新需求
确认需求 点击确认 创建新需求版本

6.2 文本说明

每个页面都要有明确的文字信息:
页面标题
页面功能说明
表单字段名称
输入提示
按钮名称
空状态提示
错误提示
成功提示
操作确认弹窗

6.3 规则说明

规则说明主要体现系统的业务约束

业务规则 页面表现
需求不完整 显示 NEEDS_INFO
用例未通过校验 禁止确认或执行
用例未人工确认 禁止执行
测试对象版本变化 关联用例变为 NEEDS_REVIEW
setup 失败 主测试标记 BLOCKED
断言不满足 标记 FAIL
执行异常 标记 ERROR
证据不足 Agent 显示无法确定

七、在墨刀中制作完整的原型交互

完成静态页面后,需要把页面之间的操作关系连接起来
墨刀中主要使用页面跳转、点击热区、弹窗、动态面板等交互能力

7.1 建立页面跳转

按照第五阶段规划的业务流程,为按钮添加点击事件

当前页面 交互元素 点击后
项目列表 创建项目 创建项目弹窗
项目列表 进入项目 项目总览
需求管理 上传需求 文件上传弹窗
需求管理 开始分析 需求澄清页面
需求澄清 提交补充 显示 Agent 回复
测试规划 生成用例 AI 用例生成页面
用例管理 查看详情 用例详情页面
用例详情 静态校验 校验结果弹窗
用例详情 人工确认 确认成功状态
测试执行 开始执行 执行过程页面
执行过程 查看结果 执行结果页面
执行结果 AI 分析 失败分析页面
测试报告 查看历史批次 历史报告详情

7.2 制作 Agent 对话交互

例如需求澄清页面:
用户点击「开始分析」
显示 Agent 思考或分析状态
显示 Agent 发现的需求缺项
用户点击某个问题
展开问题详情
用户填写补充信息
点击「提交回答」
页面显示 Agent 的新回复
用户点击「确认需求」
显示新版本创建成功

7.3 制作测试执行交互

图片3
设计以下状态:
未选择用例
已选择用例
预检中
预检失败
等待人工确认
执行中
执行完成

7.4 制作动态状态变化

需要特别设计以下状态切换:

对象 状态变化
需求 NEEDS_INFO → 已确认
用例 DRAFT → NEEDS_INFO → READY → CONFIRMED
用例 CONFIRMED → NEEDS_REVIEW
执行批次 QUEUED → RUNNING → COMPLETED
测试结果 PASS / FAIL / ERROR / BLOCKED

可以使用不同页面或动态面板模拟状态变化。

7.5 完成后台管理交互

后台至少实现以下演示流程:
后台首页
↓
Agent 管理
↓
查看 Agent 详情
↓
提示词管理
↓
编辑提示词
↓
保存新版本
↓
查看运行记录
↓
查看 Agent 运行详情

八、最终交付内容

交付物 内容
用户端原型 完整的用户操作页面
后台管理原型 Agent、知识库和提示词管理
业务流程图 从需求到测试报告的完整流程
页面交互说明 按钮、弹窗、跳转和状态变化
业务规则说明 用例状态、执行规则和 Agent 约束
Agent 交互说明 Agent 输入、处理、输出和人工确认
原型演示链接 墨刀可访问的原型分享链接

概要设计

UML 设计

需求分析(用例图)

学生用户示例图

TestPilot 管理员与领域Agent用例图

本系统围绕 AI 测试用例生成的核心业务,从最终用户视角划分为学生用户与平台管理员两大角色,并将领域 Agent 作为内部系统角色纳入建模,完整覆盖前台业务操作与后台管理运维两大场景。学生角色覆盖了完整的业务操作链路,在项目管理维度可完成项目创建、信息编辑、项目归档与成员管理;在文档与用例维度可上传需求文档、调用 AI 生成用例、手动编辑调整用例、批量导入导出用例;在执行与报告维度可创建执行批次、查看执行进度、定位失败用例、导出完整测试报告。管理员角色则承担系统运维与内容管控职责,包括用户账号的增删改查与权限配置、领域知识库的更新与审核、系统运行参数配置、全平台操作日志的审计与追溯,同时可对违规项目与文档进行下架处理。

业务流程(活动图)

活动图

本系统的核心业务流程按照学生用户、前端系统、后端业务服务、领域 Agent、执行引擎五个泳道进行拆分,每个泳道仅负责自身职责范围内的任务节点,模块间通过标准化的消息流转完成协作。完整流程起始于学生用户登录系统后创建项目并上传需求文档,前端完成格式校验后提交至后端服务;后端保存文档后触发需求解析,若需求内容不规范,可调用领域 Agent 完成结构化完善与信息补全;完善后的需求进入用例生成环节,由 Agent 基于领域知识批量生成测试用例,生成后支持用户人工校验与修改;确认用例无误后用户可创建执行批次,由执行引擎批量调度运行测试用例,记录每条用例的执行结果;针对执行失败的用例,可再次调用 Agent 进行失败归因分析并给出优化建议;最终所有执行数据汇总生成完整的测试报告,支持在线查看与导出下载。

系统结构(类图)

类图

本系统的类结构整体划分为实体类与业务服务类两大体系:实体类对应业务领域中的核心数据对象,包括用户类、项目类、需求文档类、测试用例类、执行批次类、执行报告类等,每个类封装了对应数据的核心属性与基础操作方法,是系统数据流转与持久化存储的核心载体;业务服务类封装了系统的核心业务逻辑与能力调度,包括用户管理服务、需求解析服务、领域 Agent 服务、测试执行服务、报告生成服务等,负责业务流程编排、规则校验与跨模块能力调度。类图中明确定义了各类之间的关系,包括用户与项目的一对多关联关系、项目与需求文档的一对多包含关系、需求文档与测试用例的一对多生成关系、执行批次与测试用例的多对多执行关系,以及业务服务类对实体类的依赖关系。

核心模块交互(时序图)

时序图

本系统选取 “需求文档生成测试用例” 作为核心建模场景,该场景贯穿了表现层、业务服务层、智能 Agent 层与数据持久层四个层级,是系统中链路最长、模块协作最多的核心流程,最能体现系统的分层设计思路与模块协作模式。完整交互流程起始于学生用户在前端页面上传需求文档并点击生成用例按钮,前端系统完成参数封装后将请求转发至后端的需求解析服务;需求解析服务先完成参数合法性校验,再将需求文档数据持久化存储到数据库中,随后通过标准化的 API 接口调用领域 Agent 服务;领域 Agent 服务接收到请求后,从数据库读取需求文档的完整内容,基于内置的领域知识库与生成算法完成需求结构化处理与测试用例批量生成,再将生成的所有用例数据写入测试用例库完成持久化;处理完成后,生成结果沿着调用链路逐层向上返回,最终由前端系统将完整的用例列表与生成状态渲染展示给用户。

对象协作关系(协作图)

协作图

本协作图聚焦“需求文档智能生成测试用例”的核心业务场景,完整展示了学生、需求解析服务(RequirementParseService)、领域Agent服务(DomainAgentService)、需求文档实体(RequirementDoc)与测试用例实体(TestCase)五类核心对象之间的交互协作与消息传递逻辑。业务流程起始于学生向需求解析服务上传需求文档并发起用例生成请求;需求解析服务首先调用需求文档实体完成文档的持久化保存,接收保存成功的返回确认后,再向领域Agent服务发起需求完善与用例生成的委托调用;领域Agent服务先读取需求文档中的原始需求文本,完成智能结构化处理与用例生成后,将批量生成的测试用例保存至测试用例实体并获取返回的用例列表;随后领域Agent服务将完整的生成结果逐层返回,最终由需求解析服务将处理结果反馈给学生用户。图中以实线箭头表示主动发起的请求消息,虚线箭头表示处理完成后的返回消息,通过带层级的数字编号清晰体现了业务执行的先后顺序与嵌套调用关系,直观呈现了各对象在业务链路中的职责分工与协作依赖。

领域Agent集成设计(系统架构图)

架构图

本系统分层架构图采用自顶向下的四层结构设计,清晰展示了领域智能体与业务系统的松耦合集成方案,自上而下分别为表现层、业务服务层、智能 Agent 层与数据持久层。其中表现层提供学生端 Web 页面与管理端 Web 页面两类交互入口,承担用户操作接收与结果展示的职责;业务服务层封装用户管理服务、需求解析服务、测试执行服务、报告生成服务四类核心业务能力,负责全链路的业务流程编排、规则校验与数据管理;智能 Agent 层作为独立的智能能力层,内置需求结构化完善 Agent、测试用例生成 Agent 与失败归因分析 Agent 三类核心智能体,向上通过标准化接口为业务层提供 AI 处理能力;数据持久层包含项目文档库、测试用例库与执行报告库,承担全系统数据的存储与管理职责。整体调用链路遵循分层调用原则,表现层向下调用业务服务层完成业务操作,业务服务层既可直接访问数据持久层完成业务数据的读写,也可通过统一接口调用智能 Agent 层获取智能处理能力,智能 Agent 在处理过程中同样通过数据持久层完成原始数据读取与生成结果回写,实现了业务逻辑与智能能力的解耦,便于后续 Agent 能力的迭代升级与功能扩展,明确了领域智能体与业务功能的协作边界与交互方式。

团队协作记录

QQ20261109-220105

系统设计和数据库说明书

https://files.cnblogs.com/files/blogs/877270/系统设计和数据库说明书.rar?t=1794234996&download=true

posted on 2026-11-09 13:40  水之魂2367  阅读(7)  评论(0)    收藏  举报

导航