创新实训博客1
数据分析与资产库模块需求拆解
日期:2026-04-03
成员:孙靖凯
负责模块:数据分析、我的资产库
一、本阶段目标
确定数据分析和我的资产库两个模块的边界、共用数据结构和前后端工作流。 这一阶段的工作不是单独完成一个按钮或一个接口,而是要把我负责的模块放进整个科研智能平台中考虑。平台面向学校课程实验,用户是多个学生,因此每个功能都必须能和登录用户、任务历史、文件存储、资产沉淀以及 DeepSeek Agent 调用结合起来。我负责的两个模块分别处在科研平台的数据处理层和成果沉淀层。数据分析负责把用户上传的数据转成清洗结果、统计结果、模型结果、图表和 AI 建议;我的资产库负责把这些结果长期保存下来,支持标签、备注、收藏、下载和恢复。两个模块共同解决的是“科研过程能否复现和持续管理”的问题。
我在开始编码前先把验收标准拆成四类:第一,后端接口必须真实可运行,不能只写静态 mock;第二,前端展示必须让普通学生看懂,不能直接显示原始 JSON;第三,任务结果必须能保存,刷新页面或退出登录后不能丢失;第四,和其他模块交界的地方要预留扩展,例如资产库、任务恢复、AI 助手解释和 storage 文件访问。
二、需求理解和方案选择
本阶段我先根据用户需求梳理了输入、处理、输出和持久化四个环节。输入部分要尽量贴近用户语言,避免把技术实现细节暴露给用户;处理部分由 Spring Boot 服务编排,并在需要时调用 DeepSeek;输出部分必须结构化,方便前端渲染成表格、卡片、步骤或下载链接;持久化部分则通过 MySQL 保存元数据,通过本地 storage 目录保存文件。
如果数据分析只返回一次结果,刷新后就丢失;如果资产库只是文件列表,又无法表达分析目标和报告内容。所以两个模块必须一起设计。 这个问题也提醒我,Agent 应用不能只追求“模型能回答”,而要追求“用户能继续使用”。如果用户拿到结果后不知道下一步做什么,或者刷新页面后结果消失,那么功能就没有形成真正闭环。因此我在设计时一直检查三个问题:用户是否知道当前步骤的含义,系统是否保存了关键数据,后续页面是否能继续处理这些数据。
三、后端实现过程
数据分析后端规划 DataWorkbenchService、DataAgentService、PythonScriptSecurity、StorageService。资产库后端规划 AssetService,把文献、代码、论文、数据报告统一保存。 后端实现时,我尽量保持 Controller、Service、Prompt、Repository、Storage 的边界清晰。Controller 只负责接收请求和返回统一响应,Service 负责业务编排,PromptTemplates 负责模型提示词,StorageService 负责文件路径,任务服务负责记录任务状态。这样即使模块越来越复杂,也不会把所有逻辑堆在一个方法里。
我还特别关注异常处理。外部 API、DeepSeek、Python 执行、文件下载、ZIP 解压、DOCX 生成都可能失败。失败时不能让前端只看到空白,也不能把大段堆栈直接展示给用户。后端会把详细错误记录到任务历史,把简洁错误返回给前端,并尽量保留可恢复的信息,例如输入参数、任务 ID 和输出目录。
四、前端实现过程
数据页面规划为左侧配置、右侧结果的工作台;资产库规划为按类型分区展示,支持标签、备注、收藏、下载和继续处理。 前端开发时,我遵循一个原则:用户看到的应该是业务结果,而不是后端数据结构。对于数组,优先用表格或列表;对于长文本,用可换行段落;对于文件,用下载按钮;对于风险,用标签和评分;对于长任务,用状态提示或流式预览。这样页面更像一个科研管理后台,而不是接口调试工具。
在交互上,我尽量让操作按钮靠近对应数据对象。比如某篇文献的精读按钮放在文献卡片上,某个代码工程的下载按钮放在工程结果区,某个论文版本的继续处理入口放在版本卡片里。这样用户不需要在页面上来回寻找下一步操作,也能更自然地理解功能流程。
五、联调问题和修复记录
数据分析成功后生成数据报告资产,资产库可以重新查看图表、脚本和建议,任务历史可以恢复输入配置。 联调时我重点检查了前后端字段是否一致、文件路径是否能下载、任务是否能保存、刷新页面后是否能找回结果。很多问题不是语法错误,而是产品流程错误。例如某个字段后端返回了,但前端没有展示;某个结果能在当前页面看到,但没有进入资产库;某个操作在技术上能执行,但用户不知道为什么要点。
我把这些问题按优先级处理:影响主流程的先修,例如接口无响应、结果为空、下载失败;影响理解的随后修,例如字段命名、页面排版、按钮位置;最后处理体验优化,例如默认文案、空状态提示、截图材料。这样的顺序能保证项目在课程验收前一直保持可运行。
六、阶段成果
本阶段完成后,数据分析与资产库模块需求拆解 对应的功能已经能在系统里形成可展示成果。后端有明确的服务类和接口,前端有对应页面或组件,任务历史中能看到执行记录,必要文件能在 storage 中找到。更重要的是,这一阶段的实现为后续模块联动打下了基础:结果可以进入资产库,AI 助手可以解释操作,任务历史可以恢复输入,用户可以在下一次登录后继续处理。
从课程实验角度看,这些过程比单纯展示最终页面更重要。博客中记录的不是“做完了什么”,而是为什么这样设计、遇到了什么偏差、如何修正、最终怎样和系统其他部分连接。这些内容能体现我们对 Spring Boot、Vue3、DeepSeek Agent、文件存储、任务状态和科研业务流程的综合理解。
