AIGC标识 软件工程课程项目-校园记账GUI

AI 辅助开发实践:校园钱包 GUI 的三轮迭代记录

一、项目介绍

本项目是一个面向大学生的生活费记账工具,主要用于记录收入和消费、统计每月收支,并提醒余额不足或预算超支。

项目采用 Python + Kivy 开发,数据以 JSON 格式保存在本地,无需服务器和账号。目前已完成桌面 GUI 的运行验证,并提供 Android 打包配置,尚未完成 APK 构建及真机测试。

二、第 1 轮:初版开发

1. 我给 AI 的提示词

我需要做一个适合在安卓手机本地部署的大学生生活费记账桌面GUI,记录消费情况,统计每月收支,提醒当月余额。在agent开始执行软件创作前,先给我一个计划大纲,然后开始逐步编写项目

2. AI 生成的初版要点

AI 先给出开发计划,然后使用 Python + Kivy 实现了首页、收支明细、分类统计和预算设置,支持记录收入、支出、分类和备注,并将账本保存在本地。初版能够统计当月收入、支出和结余,在预算接近用完或超支时提醒,5 项基础业务测试通过。

初版基本符合记账需求,但只能查看当前月份,不能补记历史消费,也没有修改、删除流水的界面入口,因此还需要继续迭代。

三、第 2 轮:第一次迭代修改

1. 发现的问题

初版存在以下问题:

  • 月份固定为当前月份,无法查看历史收支。
  • 记账日期默认当天,漏记后无法补记。
  • 金额或分类填错后,无法通过界面修改或删除。
  • 流水填写备注后不再显示日期,不方便核对。
  • 首页布局较固定,小屏幕下记录区域可能受到挤压。

2. 我给 AI 的修改要求

继续迭代。验收的标准:1.功能跑通,可演示正确结果;2.至少3轮迭代记录(之前那个已经算一次),记录“你给ai的修改要求是什么”+“ai实际修改了什么”
记录模板:发现了什么问题+我给ai的提示词+ai修改了什么

按上述模板,再迭代两版

说明:这条提示词同时要求完成第二、第三轮迭代。AI 将任务拆分为两版,第二版优先解决跨月查询、补记和流水纠错问题;这些具体功能是 AI 根据现有代码和验收要求提出并实现的。

3. AI 修改了什么

AI 增加了上月、下月、本月切换,以及填写日期补记、修改流水和二次确认删除功能;修改或删除后,首页、明细和分类统计同步更新,结果保存到本地。所有流水始终显示日期,首页和记账弹窗改为可滚动布局,并把“可用余额”明确标注为“所选月份收支结余(收入-支出)”。

4. 本轮验证结果

第二版通过了 8 项业务测试和 13 项实际 GUI 检查。

例如,录入收入 2000 元和支出 18.50 元后,首页显示结余 1981.50 元;将该支出改为 20 元、日期改为九月后,九月支出变为 20 元,十月支出恢复为 0 元。取消删除会保留记录,确认删除后重新读取账本,删除结果仍然正确。

四、第 3 轮:第二次迭代修改

1. 发现的问题

第二版补齐了基本操作,但仍存在以下问题:

  • 余额提醒依赖预算,不设置预算时缺少低余额提醒。
  • 收支结余与预算剩余没有分别清楚展示,容易混淆。
  • 金额使用浮点数处理并自动四舍五入,三位小数可能被静默修改。
  • 保存失败时,内存中的记录可能已改变,而文件仍保留旧数据。
  • 缺少固定示例数据,现场演示时不容易核对结果。
  • 截图检查发现分类统计卡片中的百分比文字被裁切。

2. 我给 AI 的修改要求

本轮继续执行上一轮的同一条实际提示词,没有另外发送独立的第三轮修改指令:

继续迭代。验收的标准:1.功能跑通,可演示正确结果;2.至少3轮迭代记录(之前那个已经算一次),记录“你给ai的修改要求是什么”+“ai实际修改了什么”
记录模板:发现了什么问题+我给ai的提示词+ai修改了什么

按上述模板,再迭代两版

AI 在第二版的基础上,将第三版重点放在余额提醒、输入校验、保存可靠性和可复现演示上。

3. AI 修改了什么

AI 分开展示收支结余和预算剩余,增加默认 200 元、可调整的低余额提醒阈值,并处理未录入收入、零结余和负结余情况。金额改用 Decimal 解析、整数分计算,非法金额和日期不能写入;保存成功后才更新内存,失败时保留原数据,同时新增隔离演示模式、修复统计文字裁切,并提供自动验收脚本和截图。

4. 本轮验证结果

第三版通过了 17 项业务测试和 35 项实际 GUI 检查。

演示数据为:十月收入 2000 元,餐饮支出 1200 元、学习支出 500 元、交通支出 150 元,总支出 1850 元,预算 2000 元。首页正确显示结余 150 元、预算剩余 150 元、预算使用率 92.5%,并出现余额不足和预算即将用完提醒。

此外,三位小数金额、不存在的日期和模拟写入失败均不会改变原账本;432×864 和 320×600 桌面窗口下的页面及弹窗已进行截图检查。

五、我的检查与验证说明

1. 运行样例

在已安装 Kivy 的 Python 环境中运行:

python main.py --demo

该命令打开独立的演示账本,示例数据不会写入个人账本。

2. 手工计算与界面结果交叉验证

根据示例数据计算:

  • 总支出:1200 + 500 + 150 = 1850 元。
  • 收支结余:2000 − 1850 = 150 元。
  • 预算剩余:2000 − 1850 = 150 元。
  • 预算使用率:1850 ÷ 2000 × 100% = 92.5%。

这些计算结果与首页和统计页一致。进一步检查修改、删除、月份切换和提醒边界,结果如下:

检查场景 正确结果 验证结果
切换到九月 收入 1800 元、支出 900 元、结余 900 元 一致
提醒阈值改为 100 元 150 元结余不触发低余额提醒 一致
预算设为 0、阈值恢复 200 元 未设置预算,但仍提醒余额不足 一致
在十月再支出 150 元 结余为 0,提示结余已用完 一致
再支出 1 元 结余为 −1 元,提示缺口和超预算 一致
输入金额 1.005 或日期 2026-02-30 拒绝保存,不改变统计 一致
模拟文件保存失败 显示错误,保留原账本 一致

3. 自动测试

业务测试命令:

python -m unittest discover -s tests -v

实际 GUI 验收命令:

python tests/gui_acceptance.py

业务测试覆盖金额精度、月份筛选、预算提醒、修改与删除持久化、旧账本兼容及保存失败保护。GUI 验收脚本实际运行 Kivy 窗口,检查页面显示与交互,并保存验收报告和截图。

最终验证范围是 Windows 桌面 GUI 与本地记账功能。Android 尚未完成 APK 构建和真机验证;当前提醒为应用内提示,余额按所选月份收入减支出计算,不包含上月结转。

六、心得

这次实践让我认识到,AI 可以快速生成软件初版,但“能够启动”还不等于“功能正确”,仍需要通过具体操作和可计算的样例检验结果。迭代时应关注实际使用中的问题,例如补记、纠错和提醒,而不仅是界面外观;对于记账软件,还需要检查金额精度和保存失败等边界情况。保留实际提示词、各版源码和测试证据,也能让开发过程更清楚、更容易复现。

posted @ 2026-10-10 13:07  Shu_123  阅读(3)  评论(0)    收藏  举报