Add AI SQL generation and update project docs
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+18
-10
@@ -6,7 +6,7 @@
|
||||
|
||||
增量迭代模型是指将软件系统划分为多个相对独立的功能增量,每个增量都经过需求分析、设计、编码、测试和反馈优化等过程,最终逐步形成完整的软件系统。
|
||||
|
||||
HyperSql 是一个基于 Java 24、JavaFX 和 Maven 的轻量级 SQLite 图形化管理工具。项目开发过程中,先完成数据库连接、表结构浏览、表数据查看和 SQL 执行等核心功能,再逐步增加数据库文件管理、表管理、分页显示、数据行编辑和表结构安全编辑等增强功能,最后根据时间继续扩展备份恢复和 AI 辅助 SQL 生成。
|
||||
HyperSql 是一个基于 Java 24、JavaFX 和 Maven 的轻量级 SQLite 图形化管理工具。项目开发过程中,先完成数据库连接、表结构浏览、表数据查看和 SQL 执行等核心功能,再逐步增加数据库文件管理、表管理、分页显示、数据行编辑、表结构安全编辑、备份恢复、界面优化和 AI 辅助 SQL 生成等增强功能。
|
||||
|
||||
## 2. 选择增量迭代模型的原因
|
||||
|
||||
@@ -20,6 +20,7 @@ HyperSql 选择增量迭代模型,主要有以下原因:
|
||||
|
||||
3. **降低开发风险**
|
||||
- 先完成基础功能,再开发复杂功能,可以避免一开始实现过多内容导致项目失控。
|
||||
- 对 SQLite 表结构编辑和 AI SQL 生成这类有安全边界的功能,可以在后续迭代中逐步控制范围。
|
||||
|
||||
4. **便于阶段性展示**
|
||||
- 每个迭代版本都能形成可运行的软件,方便课程汇报、阶段检查和最终演示。
|
||||
@@ -38,12 +39,13 @@ HyperSql 选择增量迭代模型,主要有以下原因:
|
||||
| V1.3 | 分页显示优化 | 表数据按每页 100 行分页显示;SQL 查询结果区按每页 100 行分页显示 | 已完成 |
|
||||
| V1.4 | 数据库文件管理增强 | 新建 SQLite 数据库文件、删除当前数据库文件 | 已完成 |
|
||||
| V1.5 | 表管理功能 | 通过简洁 UI 创建表;删除选中普通表;删除前进行确认 | 已完成 |
|
||||
| V1.6 | 交互与缺陷修复 | 修复表/视图选择时数据与结构不同步问题;刷新表列表时保留当前选中表 | 已完成 |
|
||||
| V1.6 | 交互与缺陷修复 | 修复表/视图选择时数据与结构不同步问题;刷新表列表时保留当前选中表;SQL 结果区启动时保持空状态 | 已完成 |
|
||||
| V1.7 | 数据行增删改查 | 在表数据界面新增、修改、删除数据行;在可识别单表 SQL 结果中支持编辑 | 已完成 |
|
||||
| V1.8 | 表结构安全编辑 | 支持 SQLite 原生安全的重命名表、新增字段、重命名字段 | 已完成 |
|
||||
| V1.9 | 备份与恢复 | 数据库文件备份、从备份恢复数据库 | 待实现 |
|
||||
| V2.0 | AI 辅助 SQL 生成 | 根据表结构和用户自然语言需求调用 AI API 生成 SQL | 待实现 |
|
||||
| V2.1 | 测试与优化 | 完善异常处理、界面优化、系统测试和最终演示准备 | 持续进行 |
|
||||
| V1.9 | 备份与恢复 | 数据库文件备份、从备份恢复数据库,恢复前进行确认并重新打开数据库 | 已完成 |
|
||||
| V2.0 | 界面整理优化 | 整理菜单和工具栏,将高频操作保留在工具栏,将危险或低频操作放入菜单 | 已完成 |
|
||||
| V2.1 | AI 辅助 SQL 生成 | 根据表结构和用户自然语言需求调用 OpenAI 兼容接口或 Anthropic Claude 生成 SQL | 已完成 |
|
||||
| V2.2 | 测试与优化 | 编译验证、启动验证、功能回归和最终演示准备 | 持续进行 |
|
||||
|
||||
## 4. 单次迭代流程
|
||||
|
||||
@@ -69,15 +71,18 @@ HyperSql 选择增量迭代模型,主要有以下原因:
|
||||
|
||||
1. **需求细化**
|
||||
- 明确本次迭代要完成的功能和边界。例如创建表功能要求有简洁易用的 UI,而不是只让用户手写 SQL。
|
||||
- 对 AI SQL 生成明确了 API Key 只在本次运行中保存,同时支持 OpenAI 兼容接口和 Anthropic Claude。
|
||||
|
||||
2. **界面与功能设计**
|
||||
- 设计 JavaFX 界面布局和功能交互流程。例如主界面采用左侧表/视图列表、右侧表数据/表结构/SQL 执行区域的布局。
|
||||
- 对菜单和工具栏进行整理,保留常用操作入口,减少界面拥挤。
|
||||
|
||||
3. **编码实现**
|
||||
- 使用 Java 24、JavaFX、SQLite JDBC 和 Maven 完成功能开发。
|
||||
- 使用 JDK 自带 HttpClient 和 Jackson 实现 AI API 调用与 JSON 解析。
|
||||
|
||||
4. **功能测试**
|
||||
- 测试数据库连接、表结构读取、分页显示、SQL 执行、创建数据库、删除数据库、创建表和删除表等功能是否正确。
|
||||
- 测试数据库连接、表结构读取、分页显示、SQL 执行、创建数据库、删除数据库、创建表、删除表、备份恢复、AI 设置和 AI SQL 生成等功能是否正确。
|
||||
|
||||
5. **问题修复**
|
||||
- 根据测试结果修复异常、界面错误和逻辑问题。例如修复刷新表列表后错误切换到第一张表的问题。
|
||||
@@ -107,11 +112,14 @@ HyperSql 选择增量迭代模型,主要有以下原因:
|
||||
5. **逐步扩展编辑能力**
|
||||
- 在只读浏览功能完成后,继续实现了数据行新增、修改、删除,并基于 SQLite 原生 `ALTER TABLE` 能力实现了重命名表、新增字段、重命名字段。
|
||||
|
||||
6. **保留后续扩展空间**
|
||||
- 数据库备份恢复和 AI SQL 生成尚未完成,后续可作为新的增量继续实现。
|
||||
6. **完善数据安全能力**
|
||||
- 在数据库文件管理基础上增加备份和恢复功能,恢复前进行确认,并在恢复后重新打开数据库,降低数据丢失风险。
|
||||
|
||||
7. **增加智能辅助能力**
|
||||
- 在 SQL 执行功能稳定后,增加 AI 辅助 SQL 生成。系统只发送数据库结构,不发送表数据;生成的 SQL 只填入输入框,不自动执行,由用户检查后手动运行。
|
||||
|
||||
## 6. 总结
|
||||
|
||||
HyperSql 采用增量迭代模型进行开发是合适的。当前项目已经完成了 SQLite 数据库管理工具的核心可运行版本,包括数据库文件管理、表/视图浏览、表结构查看、表数据分页查看、SQL 执行分页显示、创建表、删除表、数据行增删改查和 SQLite 支持范围内的表结构安全编辑等功能。
|
||||
HyperSql 采用增量迭代模型进行开发是合适的。当前项目已经完成了 SQLite 数据库管理工具的核心可运行版本,包括数据库文件管理、表/视图浏览、表结构查看、表数据分页查看、SQL 执行分页显示、创建表、删除表、数据行增删改查、SQLite 支持范围内的表结构安全编辑、数据库备份恢复和 AI 辅助 SQL 生成等功能。
|
||||
|
||||
后续开发应继续沿用增量迭代方式,优先完善数据库备份恢复等实用功能,再根据课程进度实现 AI 辅助 SQL 生成等扩展功能。
|
||||
后续开发可继续沿用增量迭代方式,重点进行功能测试、异常场景验证、界面细节优化和最终课程演示材料整理。
|
||||
|
||||
Reference in New Issue
Block a user