软件工程第一次团队作业
26软工实践 26软工实践【看懂每一步】团队展示与选题报告
| 项目 | 内容 |
|---|---|
| 作业所属课程 | 202601 软件工程 |
| 作业要求 | 2026秋软工实践团队作业-第一次( 团队展示+选题报告+需求分析) |
| 作业目标 | 数据结构与算法可视化学习助手:覆盖 408 数据结构知识范围并复核官方大纲。知识、出处、例题/练习按覆盖表验收。重点动画:二分查找、链表插入删除、二叉树遍历、BFS/DFS、快速排序、归并排序、KMP、Dijkstra/Floyd。 |
| 团队名称 | 看懂每一步 |
| 团队成员学号—姓名 | 102401434包学丰 162501110蒋书瑞 102401436冯玄 102301230林为峰 102401111郑瀚 102401615秦文昊 102401622吴圣洲 102401435乔震宇 102401629王元豪 102301225刘运昆 |
团队展示
一:团队成员:
-
包学丰102401434
性格:严谨细心,擅长统筹协调;
技术:项目管理、接口规范、文档整合;兴趣:工程流程管理。 -
蒋书瑞162501110
性格:耐心,重视用户交互;
技术:前端交互、表单校验、代码高亮组件;兴趣:交互式学习界面。 -
冯玄102401436
性格:专注,对动画逻辑敏感;
技术:动画渲染、状态机、播放控制;兴趣:算法可视化动画。 -
林为峰102301230
性格:逻辑扎实,擅长边界排查;
技术:二分查找算法、代码映射、判分接口;兴趣:数据结构与 408 考点。 -
郑瀚102401111
性格:乐于探索新模型;
技术:大模型对接、提示词工程、聊天模块;兴趣:AI 辅助教学。 -
秦文昊102401615
性格:擅长梳理知识体系;
技术:知识整理、习题编写、考点梳理;兴趣:408 专业课教研。 -
吴圣洲102401622
性格:善于沟通、倾听反馈;
技术:习题前端、本地存储、用户调研;兴趣:教育产品体验。 -
乔震宇102401435
性格:偏向测试,善于找漏洞;
技术:自动化测试、边界用例、对比实验;兴趣:系统可靠性验证。 -
王元豪102401629
性格:审美稳定,擅长画图写文档;
技术:原型设计、UML 图、需求文档;兴趣:产品原型与架构绘图。 -
刘运昆102301225
性格:表达条理清晰;
技术:PPT 制作、演示脚本、博客、录屏剪辑;兴趣:项目复盘与技术分享。
二:团队的愿景:我们希望打造一套真正贴合 408 学习者的算法可视化工具,不止做出动画演示,更要打通 “观察‑提问‑练习‑复盘” 完整学习闭环。让抽象的二分查找过程变得可追溯、可验证,帮助同学跳出机械记忆,真正读懂算法每一步逻辑,为数据结构学习提供务实有效的辅助。
项目与真实调研
项目暂用名:看懂每一步
一、目标用户
1.学习 408 数据结构的本科学生
2.正在初学二分查找,对闭区间、mid 计算、边界更新逻辑容易混淆的大一 / 大二计算机专业学生;
3.备考计算机考研 408,需要吃透二分查找考点、边界样例、重复值处理的备考同学;
4.教师 / 助教:需要演示二分查找执行过程,获取课堂习题、过程讲解素材。
用户画像:能看懂基础 C/C++ 代码,但难以想象算法每一步内存变量变化;刷书本习题时,只知最终答案,搞不懂中间区间收缩过程;遇到空数组、单元素、重复元素等边界样例极易出错。
二、典型使用场景:
1.自学调试场景:学生输入自定义升序数组与目标值,完整观看二分查找动画,同步对照 C/C++ 源码、left/right/mid 变量变化;可暂停、回退任意步骤,看清闭区间每一次边界修改。
2.AI 针对性答疑场景:动画暂停在某一步,直接向 Agent 提问当前状态,工具读取真实运行轨迹,结合教材知识卡给出对应步骤的解释,不脱离本次实际执行过程空谈理论。
3.自测练习场景:完成二分查找过程题,使用分级提示辅助思考;本地保存错题与做题进度,反复巩固边界易错点。
4.课堂演示场景:教师使用工具演示多组测试样例,展示普通命中、首尾命中、找不到、重复值、空数组等案例,直观演示算法易错坑点。
三、现存真实问题
遇到疑问时,普通 AI 答疑脱离当前运行实例,泛泛讲理论,不能针对当前这一步的变量状态做讲解。缺少配套过程类习题,大多只有 “写完整二分查找代码” 大题,缺少针对 mid 取值、边界更新这类中间步骤的专项训练。边界样例(空数组、单元素、重复元素)容易被忽略。
四、项目规划
- 本次作业交付
只完成最小可用样例版本,不实现全部规划功能
核心链路:输入数组与目标值 → 后端生成二分查找真实执行轨迹 → 前端数组动画 + 代码行高亮 + 变量同步播放;支持暂停、步进、回看。AI 聊天 Agent:暂停后可针对当前步骤提问,读取真实运行状态 + 核验后的知识卡做讲解;模型异常不打断算法主流程。
练习模块:10 道以上二分查找过程题,本地浏览器保存错题、学习进度,无账号系统。
全套交付物:接口契约、测试报告、用户调研记录、需求文档、UML 类图、PPT、演示录屏、团队博客。
约束:八类完整动画、课程目录、移动端适配、账号系统、后台管理仅做原型规划,本次不实现。
2.正式版未来规划(仅需求原型,不在本次交付)
拓展更多算法可视化:Dijkstra、Floyd 等算法动画工作台,建设完整课程目录。
完善知识卡库,扩充习题集,支持知识点检索。
优化 Agent 辅导策略,完善多级提示体系。
仅做原型设计:跨设备学习记录、教师后台、手绘交互等,暂不开发实现。
领域Agent
一:模块真实状态
该模块并非概念设计,而是已经具备可运行能力的代码实体。当前版本已实现以下能力:
1.真实页面步骤与源码上下文:请求携带真实的 runId 与 stepIndex,模型可感知“当前是哪个运行、哪一步”。
2.最多 10 轮服务端问答历史:对话历史存储在服务端,按 conversationId / turnId 管理,每次请求只组装最近至多 10 轮。
3.直接 DeepSeek 调用:有效请求在通过参数、运行状态、限流与额度检查后,直接调用官方 HTTPS 端点,不经过关键词检索或知识卡匹配。
4.自然助教提示词:提示词将页面状态、历史对话与当前问题组合,定位为“自然助教”,而非代码生成器。
5.显式 Mock:AGENT_MOCK=true 时走开发模板,绝不调用模型,费用为 0;false 且配置 DEEPSEEK_API_KEY 时调用真实模型。
6.聊天界面、限流用量与预算预留:提供聊天页面与用量查询接口,调用前预留预算与 token 额度,失败或未知用量时保留预留额,避免错误释放为 0。
二:源码结构与关键文件
仓库:https://github.com/tw1l1ghtcc/datastructure-agent/tree/main/backend/src/agent
backend/src/agent 目录下的文件组织与模块职责直接对应。根据仓库目录页面与 providers 子目录的提交信息,核心文件及角色如下:

需求、原型与协作
1.需求文档链接:https://github.com/tw1l1ghtcc/datastructure-agent/blob/main/docs/product/requirements.md
2.思维导图:
3.类图:
4.原型:
5.十人分工:
6.Fork/PR 方式:仓库地址https://github.com/tw1l1ghtcc/datastructure-agent
当前成果与后续范围
一:成果:真实调研、团队展示、选题与需求、完整项目原型、二分查找运行样例、三个真实对比案例。样例:升序安全整数数组和目标,完整执行,播放/暂停/前进/回看/重置,C/C++代码及变量联动,真实步骤Agent,固定过程题,本机记录。
二:成果演示视频:(https://github.com/user-attachments/assets/2c126668-f1c3-417b-9855-c1a3110d1f68)
三:后续范围:目标覆盖408数据结构全部知识内容,以《王道数据结构2027》为主要资料,逐项复核官方大纲。每个知识单元有说明、出处、例题或练习。正式验收日期未公布。重点动画:二分查找、链表插入删除、二叉树遍历、BFS/DFS、快速排序、归并排序、KMP、Dijkstra/Floyd。其他知识点不强制都有动画。

浙公网安备 33010602011771号