写的都队2025秋软工实践团队总结
写的都队2025秋软工实践团队总结
智旅同行,共筑未来 - TravelMate智能旅游助手项目全纪录
历时数月的软件工程项目已圆满落幕,回望这段充满挑战与成长的协作时光,写的都队团队的每位成员都收获了宝贵的经验与深厚的团队情谊。






部署说明
环境准备
1. 系统环境
Python 3.9+jdk 25+
2. 数据库环境
mysql 8.0.27+redis 8.0.3+
3.构建工具
maven 3.9.9+npm 10.8.1
部署步骤
1. 安装依赖
1.1 安装 Python 依赖
pip install openai
1.2 安装 Java 依赖
cd zeyuli/zeyuli-job
mvn clean package
1.3 安装 npm 依赖
cd zeyuli/front
npm install
1.4 初始化数据库
2.修改配置
2.1 yaml配置
cd zeyuli/zeyuli-job/src/main/resources
# 修改 application.yaml 启用开发环境
# 将 spring.profiles.active: prod,修改为 spring.profiles.active: dev
vim application.yaml
# 修改 application-prod.yaml 修改数据库配置
# 将 spring.datasource.url: jdbc:mysql://localhost:3306/homework2?useSSL=false
# 将 spring.datasource.username: root 修改为你的数据库用户名
# 将 spring.datasource.password: root 修改为你的数据库密码
# 将spring.data.redis: localhost 修改为你的redis地址
# 修改ai.script.path: /path/to/your/script.py 修改为你的脚本路径
vim application-dev.yaml
# 修改 python脚本的api-key
# 修改api-key
# api_key=os.getenv("DEEPSeek_API_KEY", "your_api_key")
vim path/to/your/script.py
3.打包
# 前端项目打包
cd zeyuli/front
npm install
npm run build
# 将dist目录下的所有文件拷贝到静态资源目录下
cp -r dist/* zeyuli/zeyuli-job/src/main/resources/static
# 后端项目打包
cd zeyuli/zeyuli-job
mvn clean package spring-boot:repackage -DskipTests
4.启动相关服务
# 启动redis
sudo systemctl start redis
# 启动mysql
sudo service mysql start
5.启动项目
cd zeyuli/zeyuli-job/target
# 启动后端项目
nohup java -jar zeyuli/zeyuli-job/target/zeyuli-job-0.0.1-SNAPSHOT.jar > zeyuli.log 2>&1 &
一、每个组员的学期回顾
102301215张蔡涵:https://www.cnblogs.com/zcaihan/p/19417897
102301209周士豪:https://www.cnblogs.com/kkk4/p/19417884
102301310郑显喆:https://www.cnblogs.com/zxz310/p/19417888
102301210郑烨:https://www.cnblogs.com/sgrcaii/p/19417904
102301218许有幸:https://www.cnblogs.com/102301218xyx/p/19417924
102301239黄明杰:https://www.cnblogs.com/moyulao/p/19417952
102301237李泽聿:https://www.cnblogs.com/murphy-955/p/19388840
102301241冯德衍:https://www.cnblogs.com/feng0913/p/19417981
102301219许睿宸:https://www.cnblogs.com/102301219xrc/p/19417940
102301213张祥:https://www.cnblogs.com/zx0315/p/19418017
102301236林涵:https://www.cnblogs.com/result-Grain/p/19418080
……
二、项目缘起:从需求碰撞到架构共识
我们的旅程始于一次关于"智能旅游"的头脑风暴。在最初的需求分析阶段,团队成员们各抒己见:有人关注AI技术的创新应用,有人重视学生群体的特殊需求,有人则强调用户体验的流畅性。经过多轮激烈的讨论与多轮用户调研,我们最终确定了TravelMate智能旅游助手的核心定位:一个集AI行程规划、实时纠错与学生专属线路库于一体的智能化旅游平台。
作为项目经理兼前端负责人,我深刻记得那些深夜的线上会议。我们用Figma绘制原型,用用户故事地图梳理功能点,逐渐将模糊的构想转化为清晰的产品蓝图。这个过程让我们明白:好的开始不是消除分歧,而是在分歧中找到共识。
三、开发历程:前后端协作的艺术
进入开发阶段,我们采用了敏捷开发模式,以两周为一个迭代周期。每个迭代都包含规划、编码、测试和评审四个环节。在这个阶段,我们遇到了诸多挑战:
1. 技术栈的抉择
前端团队基于Vue3+TypeScript构建响应式界面,后端团队采用SpringBoot提供API支持。在选择技术方案时,我们经历了多次技术评审:要不要用微服务?是否引入WebSocket实时通信?最终我们根据项目规模和团队能力,选择了"适度超前,稳定优先"的原则。
2. 接口设计的博弈
前后端接口设计是最考验团队协作的环节。我们曾因一个API的返回值格式争论不休,也曾因数据同步的时机选择而反复讨论。最终,我们建立了一套接口先行的协作机制:先定义接口契约,再并行开发,通过Mock数据模拟交互,显著提升了开发效率。
3. 复杂功能的攻坚
AI行程规划模块是我们遇到的第一个技术难关。从最初调用基础API,到后来的多模态数据融合处理,再到最终实现的智能纠错算法,每一步都凝聚了团队成员的心血。特别是当AI推荐结果出现偏差时,后端算法优化与前端交互优化的同步调整,让我们深刻理解了全栈思维的重要性。
四、团队协作:从"各自为战"到"默契配合"
项目初期,我们曾天真地认为"各司其职"就是最高效的工作模式。然而现实很快给了我们教训:
1. 代码规范的统一
最初的几次代码合并堪称"灾难":不同的命名习惯、迥异的代码风格、冲突的依赖版本...这迫使我们迅速建立团队编码规范,配置统一的ESLint规则,引入Husky进行提交前检查,并坚持Code Review文化。两周后,团队的代码质量显著提升,协作成本大幅降低。
2. 沟通机制的优化
我们曾因需求理解偏差而返工,也曾因信息不同步而重复劳动。为此,我们建立了多维度的沟通机制:
- 每日站会:15分钟同步进度与阻塞问题
- 周度评审:演示功能成果,收集反馈
- 技术分享会:每周一位成员分享技术心得
- 透明化看板:所有任务状态可视化,责任到人
3. 紧急问题的应对
项目中期,距离演示还有三天,我们突然发现一个核心路由存在严重性能问题。那一刻没有指责,只有默契的分工:前端优化渲染逻辑,后端排查数据库查询,测试团队紧急制定回滚方案。连续48小时的奋战后,我们不仅解决了问题,还增加了性能监控机制。这次经历让我们真正理解了团队精神的含义:不是顺境时的互捧,而是困境中的互撑。
五、收获与成长:软工实践的真正价值
技术能力的跃升
- 前端团队:掌握了Vue3组合式API、TypeScript类型系统、前端工程化配置等现代前端开发技能
- 后端团队:深入理解了SpringBoot微服务设计、Redis缓存策略、API安全机制等后端核心知识
- 全体成员:体验了从本地开发到云服务器部署的完整DevOps流程
软技能的提升
- 项目管理:学会了使用敏捷方法管理中小型软件项目,掌握了风险识别与应对策略
- 团队协作:理解了如何在不同角色间建立高效的协作模式,如何在技术决策中平衡各方意见
- 沟通表达:从最初的技术术语堆砌,到后来的"用户听得懂的产品语言",我们的沟通能力得到了质的提升
工程思维的培养
最重要的收获是工程思维的建立:我们不再满足于"代码能运行",而是开始思考"代码为什么这样设计"、"系统如何扩展"、"用户体验如何优化"。这种思维转变,是软件工程课程赠予我们最宝贵的礼物。
六、反思与展望:遗憾中的成长契机
项目虽已交付,但仍有遗憾:我们设想的AI旅行搭子聊天模式因时间限制未能完全实现;部分交互细节因技术债务未能完美打磨;测试覆盖率尚未达到理想水平...
然而这些遗憾并非终点,而是新的起点。它们让我们明白:软件工程是一个持续迭代的过程,没有完美的项目,只有不断追求完美的团队。


浙公网安备 33010602011771号