软件工程第一次团队作业

26软工实践 26软工实践【看懂每一步】团队展示与选题报告

项目 内容
作业所属课程 202601 软件工程
作业要求 2026秋软工实践团队作业-第一次( 团队展示+选题报告+需求分析)
作业目标 数据结构与算法可视化学习助手:覆盖 408 数据结构知识范围并复核官方大纲。知识、出处、例题/练习按覆盖表验收。重点动画:二分查找、链表插入删除、二叉树遍历、BFS/DFS、快速排序、归并排序、KMP、Dijkstra/Floyd。
团队名称 看懂每一步
团队成员学号—姓名 102401434包学丰 162501110蒋书瑞 102401436冯玄 102301230林为峰 102401111郑瀚 102401615秦文昊 102401622吴圣洲 102401435乔震宇 102401629王元豪 102301225刘运昆

团队展示

一:团队成员:

  1. 包学丰102401434
    性格:严谨细心,擅长统筹协调;
    技术:项目管理、接口规范、文档整合;兴趣:工程流程管理。

  2. 蒋书瑞162501110
    性格:耐心,重视用户交互;
    技术:前端交互、表单校验、代码高亮组件;兴趣:交互式学习界面。

  3. 冯玄102401436
    性格:专注,对动画逻辑敏感;
    技术:动画渲染、状态机、播放控制;兴趣:算法可视化动画。

  4. 林为峰102301230
    性格:逻辑扎实,擅长边界排查;
    技术:二分查找算法、代码映射、判分接口;兴趣:数据结构与 408 考点。

  5. 郑瀚102401111
    性格:乐于探索新模型;
    技术:大模型对接、提示词工程、聊天模块;兴趣:AI 辅助教学。

  6. 秦文昊102401615
    性格:擅长梳理知识体系;
    技术:知识整理、习题编写、考点梳理;兴趣:408 专业课教研。

  7. 吴圣洲102401622
    性格:善于沟通、倾听反馈;
    技术:习题前端、本地存储、用户调研;兴趣:教育产品体验。

  8. 乔震宇102401435
    性格:偏向测试,善于找漏洞;
    技术:自动化测试、边界用例、对比实验;兴趣:系统可靠性验证。

  9. 王元豪102401629
    性格:审美稳定,擅长画图写文档;
    技术:原型设计、UML 图、需求文档;兴趣:产品原型与架构绘图。

  10. 刘运昆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 取值、边界更新这类中间步骤的专项训练。边界样例(空数组、单元素、重复元素)容易被忽略。

四、项目规划

  1. 本次作业交付

只完成最小可用样例版本,不实现全部规划功能

核心链路:输入数组与目标值 → 后端生成二分查找真实执行轨迹 → 前端数组动画 + 代码行高亮 + 变量同步播放;支持暂停、步进、回看。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 子目录的提交信息,核心文件及角色如下:
image

需求、原型与协作

1.需求文档链接:https://github.com/tw1l1ghtcc/datastructure-agent/blob/main/docs/product/requirements.md

2.思维导图:functional-map

3.类图:domain-model (2)

4.原型:image

5.十人分工:image

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。其他知识点不强制都有动画。

posted @ 2026-10-24 22:20  Aidname  阅读(10)  评论(0)    收藏  举报