轻舟已过万重山——2026春软工实践团队总结博客

这个作业要求在哪里 (https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/homework/15659)
团队名称 代码猫
团队成员学号-姓名 3124004391 崔剑浩 3124004387 曹宇剑 3124004394 董厚君 3124004398 黄子聪
这个作业属于哪个课程 (https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/?page=2)
这个作业的目标 总结整个项目开发的收获,回顾开发时的点点滴滴

1.1 回顾你对于软件工程课程的想象

在真正深入这门课之前,我对软件工程的想象带有很强的“极客滤镜”和“理想主义”色彩:

  • 想象中的软件开发: 是一群顶尖程序员围坐在白板前,手指在键盘上飞速敲击,全神贯注地讨论着优雅的架构设计、精妙的算法优化,或者是如何用高并发高可用的架构去支撑百万级流量。代码一写完,系统就能完美运行。
  • 想象中的软件工程课程: 应该是一门教人如何写出“完美代码”,或者如何像超级架构师一样规划宏大蓝图的进阶技术课。

然而,当真正经历了实际的工程锤炼、跑通了业务闭环(比如从零到一实现进销存系统的业务逻辑、配置复杂的安全框架与内网穿透)后,我才发现,现实的软件工程和想象中大相径庭

软件工程的本质,其实是在有限的时间和资源内,去解决现实世界的混乱与复杂。它不仅是写代码,更是对复杂度的控制与管理:

  • 它包含了如何把模糊的用户需求转化为精确的数据库设计(比如为了历史准确性而必须保留的字段);
  • 它包含了如何在有限的单体架构下,用最稳妥的逻辑(如 FIFO)去保证业务的准确性;
  • 它更包含了在各种突发状况、多角色高压(如同时兼顾团队技术考核与日常管理事务)下,如何保证项目依然能够按时交付、稳定运行。

现在的我明白,软件工程不是象牙塔里的代码艺术,而是一门讲究妥协、务实与严谨的“工程管理学”。写出高大上的技术不是最难的,能在复杂的现实约束下,做出稳定、高可靠且能真正解决问题的系统,才是这门课真正的核心。

1.2 回顾你在这门课程中的投入与产出

我主要负责后端开发

1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?

是第二次答辩的时候,那个时候我们第一次展示了我们项目的成果,令人十分有成就感
这个项目这样启动,在终端输入
cd C:\Users\23954\Desktop\aiteacher1\aicao
$env:DEEPSEEK_API_KEY="自己的api"
$env:DEEPSEEK_MODEL="deepseek-chat"
$env:DEEPSEEK_BASE_URL="https://api.deepseek.com"
$env:PORT="5051"
再运行http://127.0.0.1:5051

2.1 展开说说你的团队项目实践故事

在这次团队项目实践中,我最大的体会是:写代码和做项目完全是两码事。 个人写代码可以随心所欲,但团队合作做软件,不仅要考虑代码怎么写,更要考虑团队沟通、需求变动以及如何让系统在现实中稳定运行。

  • 经验总结一:前期的需求对接和数据库设计,决定了项目的生死。

  • 实例分析: 在项目刚启动时,我们在设计“订单管理”模块时图省事,没有在订单表里单独设计一个“商品历史售价”的字段,而是认为直接关联商品表查询最新价格就行。结果在模拟测试时发现,只要后台一修改商品价格,过去所有历史订单的销售额和利润统计全部跟着变了,导致财务数据完全对不上。这次教训让我们赶紧紧急重构数据库,加上了价格冗余字段。这让我明白,做项目绝对不能想当然,必须老老实实坐下来模拟现实中所有的业务场景。

  • 经验总结二:团队协作中,“前后端联调”和“环境部署”是最容易卡壳的隐形大坑。

  • 实例分析: 大家都觉得自己本地的代码运行得很完美,但一到要“拼装”的时候就出问题。由于我们是前后端分离开发,在进行本地局域网或内网穿透联调时,频繁遇到跨域访问受阻、接口路径匹配不上、接口文档写得不一致等问题,导致页面经常报 404 或 502 错误。后来我们规范了接口标准,一起排查网络配置,才终于让前端成功调用了后端接口。这让我们意识到,团队项目不仅要各写各的,更要花心思在“连接”上。


2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?

在项目开发和日常学习中,接触并熟练使用了一套现代化的高效工具链,对效率的提升非常明显:

  1. AI 辅助编程工具(如集成了大模型的 Cursor 等编辑器)
  • 带来的帮助: 以前遇到复杂的代码报错或者框架配置冲突,要在搜索引擎里捞好几个小时。现在用 AI 辅助工具,它可以直接帮我分析报错日志,精准定位到是哪一行配置或者代码逻辑出了问题,并给出修改建议,排错效率提升了一倍以上。
  1. 企业级后端主流框架(Spring Boot + MyBatis-Plus)
  • 带来的帮助: 过去写后端需要写大量的冗余代码,而这些现代框架把很多底层逻辑都封装好了。MyBatis-Plus 的各种便捷操作让我们能用很少的代码实现复杂的数据库多表关联和动态查询,极大地加快了团队的整体开发进度。
  1. 版本控制工具(Git)与主流 IDE 的深度集成
  • 带来的帮助: 团队合作最怕代码互相覆盖。通过 Git,大家各自在分支上开发,最后合并。利用 IDE 的 Git 工具,我们可以清晰地看到每一行代码是谁写的、什么时候改的、为了解决什么问题,避免了“手动传压缩包”的混乱,让团队协作井然有序。
  1. 数据库可视化管理工具(如 Navicat)
  • 带来的帮助: 在设计项目中错综复杂的表结构(用户、商品、订单、库存等)时,可视化工具的 ER 图功能让我们能一目了然地看到各个表之间的外键关系,在团队讨论数据库设计时,成了最直观的沟通桥梁。

2.3 技术之外,这门课程还给你带来了哪些方面的提升?

除了写代码和学工具,这门课程在综合素质上给我的改变甚至超过了技术本身:

  1. 高压下的时间管理与多角色平衡能力
  • 在学期中,不仅要面对日常繁重的学业,可能还要兼顾班级或社团的日常事务管理,同时还要面对团队项目紧张的交付 deadline。在多重压力下,这门课逼着我学会了如何划分时间块、如何分清事情的轻重缓急,在琐碎事务和高强度的技术钻研之间找到了节奏。
  1. 从“追求完美”到“务实解决问题”的思维转变
  • 以前总觉得做软件就要做出一个十全十美的架构。但实际做项目才发现,时间是有限的,需求是会变的。这门课让我明白,工程思维的核心是“小步快跑、迭代优化”——先确保核心功能可用、数据准确,再去考虑界面多好看、架构多高级。这种结果导向的务实态度让我受益匪浅。
  1. 培养了极大的耐心与面对未知的抗挫力
  • 做项目的过程中,写错一个字母、少配一个参数,系统可能就会直接崩溃。面对无休止的 Bug、调不通的接口、配不对的环境,从一开始的焦虑抓狂,到后面的冷静排查、看日志、找线索。这种心性的磨练,让我以后面对不熟悉的技术或未知的问题时,能够更加沉稳和自信。

三.致谢

感谢自己在每个ddl之前的坚持

posted @ 2026-06-15 14:52  曹宇剑  阅读(3)  评论(0)    收藏  举报