23125098+832302226_梁哲尘

x197352 2025-12-12 23:25:56

Extreme Programming: Address Book System with Bookmark, Multi-Contact, and Excel Import/Export

作业基本信息

项目所属课程EE308FZ(软件工程),福州大学梅努斯国际工程学院
作业要求作业链接
作业目标通过极限编程完成一个带有收藏、导入导出、多个联系方式的通讯录系统
GitHub链接https://github.com/lzc1c/addressbook-project
远程部署未部署(本地运行)
学生ID梁哲尘: (MU) 23125098 (FZU) 832302226

Table of Contents


1. Github Commits 记录

本项目共提交 11 次 commits,其中:

  • 梁哲尘 提交 11 次

项目采用 单仓库、前后端一体化结构(Spring Boot + Thymeleaf),所有代码均在 src/main 下管理

1.1. 主分支提交记录

![主分支提交记录]

img


2. 团队成员项目分工及评分

没找到队友独立完成


3. 功能实现思路描述

3.1. 技术栈

  • 后端框架:Spring Boot 3.2.x(Java 17)
  • 数据库:SQLite(本地文件存储)
  • 前端模板:Thymeleaf(前后端不分离)
  • Excel 处理:Apache POI
  • 构建工具:Maven
  • IDE:IntelliJ IDEA

⚠️ 注:因 Spring Boot 4(Hibernate 6)与 SQLite 兼容性问题复杂,我选择聚焦功能实现,未进行云部署

3.2. 核心功能思路描述

3.2.1.1 联络人书签(25分)

实现方式

  • Contact 实体中添加 isFavorite: Boolean 字段
  • 查询时使用 JPA 自定义方法按收藏状态排序:

img

}

3.2.2 增加多个联系方式(10分)

数据模型设计:

创建 ContactMethod 实体(类型:PHONE/EMAIL/ADDRESS/SOCIAL)
Contact 与 ContactMethod 为一对多关系(@OneToMany)

img


前端交互:

表单中动态添加/删除联系方式行
每行包含“类型下拉框 + 内容输入框”

img

3.2.3. 导入和导出(25分)
导出 Excel:

使用 Apache POI 创建 .xlsx 文件
表头:姓名、是否收藏、电话、邮箱、地址、社交账号(多值用换行分隔)
控制器返回 ResponseEntity 触发浏览器下载

img


导入 Excel:

用户上传 .xlsx 文件
后端解析每一行,按列提取信息
对多值字段(如电话)按换行符拆分为多个 ContactMethod
批量保存到数据库

img

  1. 程序运行视频及截图
    1. 程序运行视频

4.2. 程序运行截图
4.2.1. 主界面(含收藏星标)

img

收藏联系人置顶显示
多联系方式以换行形式展示
4.2.2. 新建/编辑联系人

img

动态增删联系方式
类型可选(电话/邮箱/地址/社交)

4.2.3. 导出 Excel

img


4.2.4. 导入 Excel

img

img


5. 项目开发时遇到的困难

SQLite + Spring Boot 4 兼容性问题:尝试自定义 SQLiteDialect,但 Hibernate 6 移除了旧 API,调试数小时无果,最终决定放弃部署,专注本地功能。
POI 导入多值字段解析:需处理换行符、空值、非法格式,通过正则和异常捕获增强鲁棒性。
Thymeleaf 动态表单绑定:List 绑定需使用 th:field="*{methods[${index}].value}",初期语法错误导致数据无法回显。
前端样式统一:Thymeleaf 无组件化,重复代码多,通过抽取 fragments 解决。
AJAX 刷新局部区域:原计划整页刷新,后改用 fetch + innerHTML 实现星标实时更新。
文件上传安全校验:限制仅 .xlsx 文件,防止恶意上传。

6. PSP 表(个人)

img


7. 心得与体会
本次极限编程让我们深刻认识到:

“能跑”比“完美”更重要。

我曾花大量时间试图解决 SQLite 在 Hibernate 6 中的兼容问题,但最终意识到:课程目标是功能实现与团队协作,而非强行部署。于是果断回归核心需求,确保三大功能完整可用。

通过这次合作,我学会了:

如何在技术困境中及时止损
如何通过清晰的模块划分高效协作
如何用最简方案达成作业要求

...全文
65 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文研究了基于DPWMA调制与正负序分离的ANPC三电平并网逆变器前馈控制策略,旨在解决传统三电平逆变器存在的谐波含量高、电网不平衡工况适应性差及动态响应速度不足等问题。通过采用有源中点箝位(ANPC)三电平逆变器拓扑,结合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术和电网电压前馈控制,构建了一套一体化的高性能并网控制体系。该体系不仅优化了逆变器的开关动作机制,改善了输出电压电流的谐波特性,而且通过精确的相位同步和扰动补偿,显著提高了系统的动态响应能力和抗扰性能。仿真结果显示,所提出的控制策略能有效降低并网谐波含量,提升锁相精度与系统动态稳定性,确保在复杂电网工况下的高质量稳定并网。 适合人群:具备一定电力电子基础知识和仿真技能的研发人员,尤其是从事新能源发电、储能系统、柔性输电等领域研究的专业人士。 使用场景及目标:①研究和开发高性能并网逆变器,特别是针对大功率、高电能质量要求的应用场景;②探索如何通过先进的调制和控制策略来提高并网逆变器对电网扰动的适应性和响应速度;③为相关领域的学术研究和技术开发提供理论依据和实践指导。 阅读建议:建议读者结合实际的仿真软件(如MATLAB/Simulink)进行实践操作,以便更好地理解和掌握文中提到的各种控制策略的具体实现方法。同时,鼓励读者关注最新的研究成果和发展趋势,不断深化对该领域的认识。

164

社区成员

发帖
与我相关
我的任务
社区描述
2501_MU_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_LQF
  • 助教_林日臻
  • 朱仕君
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧