轻舟已过万重山——2025秋软工实践团队总结博客
学期回顾:一场从“代码思维”到“工程思维”的蜕变之旅
标题:从能写到会造——当代码遇见工程
一、学期回顾
1.1 回顾你对于软件工程课程的想象
进入这门课前,我以为它会是另一种“编程课”——教我们如何更高效地写出更多代码。但我错了。
达到期待的部分:
- 全景地图式的认知提升: 课程完全给了我想要的“软件全景图”。从需求分析(老友助手的方言识别、大字体设计)、原型设计(Figma交互)、架构规划(前后端分离)、到团队协作(每日站会、Git流程)、再到最后的测试与发布,我第一次完整地走完了一个产品从0到1的全过程。这彻底打破了“软件=写代码”的狭隘认知。
- 工程化思维的建立: 我学会了在动手前先思考:为什么要做这个功能?(需求合理性)怎么做更稳定?(架构选择)如何让别人也能维护?(代码规范)这种“先设计,后实现”的思维模式,是本次课程最大的思维礼物。
- 团队协作的真实体验: 从第一次团队作业的笨拙分工,到Beta冲刺时的默契配合,我真实经历了需求讨论时的争执、接口联调时的焦灼、项目演示成功时的集体欢呼。这不是模拟,而是未来职场协作的预演。
存在的不足:
- 部分工具的深度使用不够: 比如持续集成/持续部署(CI/CD)我们只在文档中规划,但没有在项目中完全落地实践。自动化测试虽然做了,但覆盖率和深度还可以进一步加强。
- 真实用户反馈的闭环不足: 老友助手的核心用户是老年人,但由于条件限制,我们更多是基于“同理心”和“二手调研”来设计,缺乏与真实老年用户的长期、深度接触和反馈迭代。这使得某些“适老化设计”可能还停留在我们认为的“好用”层面。
1.2 回顾你在这门课程中的投入与产出
林天诺(我)
-
编写的代码行数: 约2500行(主要集中在前端页面搭建、交互逻辑及部分后端接口联调)。
-
在团队项目中的角色: 在“老友助手”项目中,我主要承担前端核心页面开发的角色。
- 具体贡献: 完成了首页、打车、陪聊等核心页面的结构搭建与交互逻辑实现;实现了语音缴费模块的前端界面;深度参与了第二次团队作业(AI智能体),负责天气查询API集成与“出行小助手”功能开发,并撰写了相关技术博客。
-
各次作业花费时间估算:
作业 花费时间 第一次团队作业(团队组建、选题) 6小时 第二次团队作业(AI智能体开发) 20小时 第一次团队项目作业(项目规划与原型) 15小时 第二次团队项目作业(系统与数据库设计) 12小时 第三次团队项目作业(Alpha冲刺与复盘) 15小时 第四次团队项目作业(Beta冲刺准备) 20小时 (含发布会材料准备) -
课程总时间投入:
- 累计时间: 约 88 小时
- 实际周均时间: 约 6-7 小时 (期末冲刺周更多)
- 预计周均时间: 最初预计 5-6 小时,实际超预期,因为项目一旦启动,沉浸其中后会发现有无数的细节需要打磨。
1.3 令你印象最深刻的是哪一次作业或哪一场答辩?
最令我印象深刻的是第二次团队作业——开发一个“能说会做”的本地前端AI智能体。
原因如下:
- “小而美”的完整闭环: 那次作业目标明确,周期短,但要求从交互设计、功能实现(待办、天气、文件操作)、到文档撰写、博客总结形成一个完整闭环。它像一个微缩版的软件工程实践,让我在短时间内体验了全流程。
- 技术探索的乐趣: 为了实现“会说”,我深入研究了浏览器的Web Speech API (TTS);为了实现“会做”,我集成了OpenWeatherMap API,并设计了基于天气数据自动生成出行建议的规则引擎。过程中遇到了CORS跨域、API Key管理、错误处理等真实问题,并通过查阅资料和调试一一解决,这种攻克难题的成就感非常直接。
- 个人主导的深度参与: 我负责了天气查询和出行建议模块的核心开发,并撰写了详细的技术实现博客。从功能构思、代码实现、到文档表达,我都需要独立负责并清晰呈现,这极大地锻炼了我的技术纵深能力和表达能力。当看到自己编写的模块在团队智能体中稳定运行,并能根据“查询天气 北京”这样的指令给出穿衣、出行建议时,感觉非常美妙。
二、总结收获
2.1 我的软工实践故事:从“画页面”到“想体验”
在“老友助手”项目中,我最初的任务是“把设计图变成可点击的页面”。但在开发打车页面时,我意识到不仅仅是还原UI。我主动思考:老年人操作时,如果环境嘈杂语音识别失败怎么办?于是,我在界面显眼位置加入了“家”、“医院”、“超市”三个快捷按钮作为备选方案。
在开发陪聊功能时,我不满足于静态的对话气泡。我联想到老年人可能更习惯“按住说话”的微信操作,于是和队友一起实现了长按录音、松开发送的交互,并加入了发送中的状态反馈。这些细节的添加,都源于我开始尝试从“用户视角”而不仅仅是“实现视角”去思考问题。Alpha冲刺复盘时,我们意识到缴费流程还不够闭环,在Beta阶段,我就着重参与了将语音唤起、账单确认、支付反馈串联起来的工作,让功能不再是孤立的页面,而是顺畅的体验流。
2.2 新技术与生产力工具
- 前后端协同工具链:
- Swagger/OpenAPI: 第一次接触规范的API文档工具。后端同学提供的Swagger UI界面,让我能清晰地看到每个接口的请求响应格式、参数要求,极大减少了前后端“猜谜”式的沟通,联调效率倍增。
- Postman: 从零学会使用它进行接口测试,构造各种参数场景,提前发现潜在问题,而不是等到前端集成时才报错。
- 原型与设计工具:
- Figma: 虽然主要由UI同学负责,但学会查看Figma设计稿、获取标注、提取资源,让我明白了设计与开发之间高效协作的桥梁。
- 团队协作与效率工具:
- Git分支策略: 实践了
feature/xxx、develop、main的分支管理模式,学会了处理合并冲突,理解了规范的代码提交信息(Commit Message)对团队回溯的重要性。 - 腾讯会议/飞书文档: 线上会议同步进度,飞书文档实时协作撰写设计文档、会议纪要,让分布式协作成为可能。
- Git分支策略: 实践了
2.3 技术之外的提升
- 沟通与表达能力: 从在小组讨论中怯于开口,到能清晰陈述自己的技术方案和用户洞察;从写博客只会罗列代码,到学会用图文结合的方式讲清技术逻辑和项目故事。这对我未来无论是技术分享还是项目汇报都至关重要。
- 项目管理与时间感知: 通过燃尽图、每周例会,我真实感受到了项目进度的压力,学会了评估自己任务的工作量,并为了不影响团队整体进度而主动管理时间、克服拖延。
- 同理心与产品思维: “老友助手”项目强迫我们去理解一个与我们截然不同的用户群体(老年人)。我开始习惯性地问“这样设计他们看得清吗?”“这个步骤对他们来说会不会太复杂?”。这种同理心驱动的设计思维,是任何优秀产品的基础。
- 抗压与解决问题的心态: 在联调遇到诡异Bug、在发布会前夜还在修改演示流程时,焦虑是必然的。但我学会了不再抱怨,而是和队友一起,拆解问题、搜索方案、逐一尝试。这种“逢山开路,遇水架桥”的实战心态,是课本上学不到的。
2.4 想说的话
最遗憾的事,可能就是由于时间和资源限制,我们没能将“老友助手”交付给几位真实的老年用户长期使用,并收集他们的迭代反馈。我坚信,那会是另一堂无比珍贵的课程。
给未来Z班的学弟学妹们:请拥抱这门课的“折腾”。它可能会占用你大量的时间,让你感到疲惫和焦虑。但请相信,当你和队友们为了一个共同的目标,从无到有地“造”出一个作品,并最终站在讲台上向所有人介绍它时,那种充盈的成就感和团队情谊,将是你大学生涯里最闪亮的记忆之一。这不是一门关于“分数”的课,而是一场关于“创造”和“成长”的冒险。
三、致谢
首先要衷心感谢我们的团队“啊对对对(啊队队队)”的每一位成员。从最初的生疏到后来的默契,是大家的包容、专业和坚持,让“老友助手”从一份作业成长为一个有温度的作品。特别感谢组长周训博的统筹付出,以及每次在我遇到技术卡点时,施汉霖、陈怀侨等后端队友,曾垚等前端队友总能及时伸出援手一起排查。
其次,要特别感谢负责我们组的助教学长/学姐。记得在第一次团队项目作业开题,您在我们的开题报告借宿后提供了详细的指导,不仅肯定了技术实现,还指出了文档中可以优化的表达,甚至推荐了更进一步的拓展方向。这种细致、用心的反馈,让我感受到的不是评判,而是真诚的引导和帮助。在项目中期我们有些迷茫时,您也在群里给予了关键的方向性建议。您的付出是照亮我们这段实践之路的重要灯火。
最后,感谢教授这门课程的老师,设计了这样一套能够让我们去实践、去协作、去展示的课程体系。理论终须落地,而您为我们搭建了最好的练兵场。
浙公网安备 33010602011771号