软件工程:代码的诗,团队的歌
一、学期回顾
1.1 回顾你对于软件工程课程的想象
如果用一句话概括软件工程课程,那就是:一群志同道合的朋友为了一个项目的落地呕心沥血,最终展示出成品的过程。
初次踏入软件工程的课堂,第一印象便是“困难”二字。彼时,我和大多数同学一样,只是在编程的海洋中刚刚学会游泳的“新手”——我们或许对C++有所涉猎,最多再掌握一点Python脚本,对于软件工程这门复杂的学科,我们几乎是一无所知,当时的我认为速成一个语言是比较困难的(但实际上人工智能和各种文档帮助了我)。
同时,我也逐渐认识到,这门课程不仅仅是对个人技术的考验,更是对团队协作能力的磨砺。作为团队的组长,我深感责任重大,努力在团队合作方面发挥组织和推进的作用,希望带领大家一起克服困难,共同进步。
总的来说,这门课程对我的学习能力和组织能力提出了更高的要求,这让我跃跃欲试。
1.2 回顾你在这门课程中的投入与产出
-
在软工实践课程当中,我编写了3483行代码。
-
在团队项目中,我承担的工作是学海智航的前端开发,具体是智能助手模块相关的开发工作,以及团队的项目经理,包括答辩、ppt制作和宣传片。
-
软工实践中,我在各次作业分别花费的时间:
| 作业 | 花费时间(h) |
|---|---|
| 第一次团队作业 | 5 |
| 第二次团队作业 | 15 |
| 第一次团队项目作业 | 15 |
| 第二次团队项目作业 | 15 |
| 第三次团队项目作业 | 20 |
| 第四次团队项目作业 | 10 |
- 在软件工程课程上花费的时间
| 累计时间(h) | 实际周均时间(h) | 预计周均时间(h) |
|---|---|---|
| 80 | 7.27 | 6 |
1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?
其实我希望最令我深刻的答辩是最后一次。我们做了很多的安排和筹划,包括了我们的发布会演说、实机演示、宣传片等一系列的准备,我们也花了很多的时间一遍遍的去打磨和精进。但是很遗憾,最后一次答辩的时候,本人被困于六级考场,不能欣赏到所有同学的工作结晶,同样,我也没办法最后为我们的项目做最终的介绍和收尾工作,更无法观看到我们项目出现在大荧幕上后,观众同学的各种反应。
可能人生就是要有些遗憾吧,这次工作我们组有许多同学都要进行六级考试,但是他们仍然一丝不苟的完成了他们负责的部分,哪怕自己无法亲临现场,但也要为团队做出自己的一分贡献。或许这就是团队合作的意义吧。
事情也没有那么坏,当我考完六级,走出考场,打开手机,一下就看到了团队群内同学带来的喜报——“一等奖+最佳UI+最佳项目经理”。所有的努力都没有白费,我也很感谢这么多天以来队友们的付出和努力。同时,我也了解到我的抽象sora宣传片的播放效果还不错,据说逗笑了很多同学,这让我十分欣慰。

总的来说,这次作业以及其答辩,总体上是十分成功的,但仍有点意犹未尽吧。
二、总结收获
2.1 展开说说你的软工实践故事
学期初,在软件工程课程上,我组了这个局。
起初,我对于接触项目还是处于一个畏惧的阶段,由于我的学习风格比较的,,,学院派(?),主要投身在学术方面的研究,而对项目工程之类的是几乎一无所知。那段时间,我处于一个比较焦虑的状态,担心自己没有办法管理好这些能力比较两极分化的同学。随后,我跟两个同学聊了这方面的事情,让我的看法有所改观。首先是我们前端组的苏郑熙凡同学,他从头教会了我如何使用Copilot,以及如何利用其搭建自己的网站,是我又一次的技术启蒙(大一的C语言算法启蒙也有苏郑熙凡同学的帮助哈哈哈);然后是在另一个软件工程班级的郑伟同学,在和他的交流下,我认识到其实代码弱也能干软件工程,他告诉我,软件工程团队的成员可以有着各自的角色,并不需要所有人都精通代码,只要各司其职就好。于是乎,我重新确立了我的软件工程学习思路:以项目管理为主,代码能力为辅。
为什么会有这样的打算呢?一方面,从大一开始的学生工作和团队领导经历,让我在领导和组织团队方面有所经验;另一方面,我对于时间和计划的重视性让我能够成为团队的“推手”;不仅如此,在演说方面,我也有一定的经验。
更改目标后,我对软件工程的认识有了新的转变。在组织方面,我可以依靠已有的组织经验,在团队中继续发光发热,做出自己的贡献,通过紧锣密鼓地一次次筹划、发放并监督任务,一次次地组织集体会议,一次次地和技术大佬沟通并及时调整团队方向,我承担起了Scrum Master和Product Owner的职责;在软件开发方面,我虽不及团队中的几位技术大牛那样贡献之大,但也基本完成了自己分配到的智能助手模块相关的开发工作,同时自己也从中获得了技术与感悟;在产品包装方面,我可以发挥我的ppt制作经验,演讲经验,和视频拍摄剪辑的经验,为我们的产品做好最美的“包装盒”,同时,我带领其他成员,尽心完成每一次的博客,从头至尾,有始有终的为团队做出贡献。
学期末,我们带着我们的产品结束了本次的课程。我也从中找到了自己的定位:从团队管理出发,用多元的技能,找到独属于自己的生态位,用自己的方法、自己的能力,实现自己的价值。
2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?
技术
- Vue+Vite架构
Vue 是一种流行的前端框架,它让网页的交互变得简单而高效。Vite 是一个现代的前端构建工具,它能够快速启动开发服务器,让代码的更新和测试变得飞快。在课程中,我学习了如何使用 Vue 和 Vite 构建一个动态的网页应用。通过这种架构,我可以快速搭建出一个响应式的用户界面,同时享受 Vite 带来的超快开发体验。这让我在开发过程中节省了很多时间,也能更专注于代码的逻辑和功能实现。
- Git / GitHub 协作流程
Git 是一个强大的版本控制系统,它帮助我们管理代码的版本,记录每一次的修改。GitHub 是一个基于 Git 的代码托管平台,它提供了丰富的功能,比如代码仓库的管理、代码审查、问题跟踪等。在团队项目中,我学会了如何使用 Git 进行代码的提交、分支管理和合并操作。通过 GitHub,我们能够方便地协作,每个成员都可以在自己的分支上开发,最后合并到主分支。这不仅让代码管理变得井井有条,也大大提高了团队的协作效率。
- 宣传片构思及剪辑
在课程中,我们还学习了如何制作宣传片。虽然说我在视频剪辑方面已经有所经验,但设计并剪辑宣传片仍然是一次新的尝试,宣传片和常规的叙事视频有显著的区别:这包括从创意构思到最终剪辑的整个过程。首先,我们需要确定宣传片的主题和目标受众,然后进行创意构思,设计出吸引人的故事线和视觉效果。接下来,通过视频剪辑软件,我们将素材进行剪辑,添加音乐、字幕和特效,最终制作出一部完整的宣传片。这个过程不仅锻炼了我的创意能力,也让我学会了如何使用剪辑工具来实现自己的创意。通过制作宣传片,我更加明白了如何通过视觉和听觉元素来传达信息和情感。
生产力工具
- Copilot
AI的发展日新月异,作为计算机专业的学生,AI已经是避无可避的话题了。如何使用AI进行学习,如何学习AI,这是我在这门课程中最深的认识。
举个简单的例子,2023年,我刚入学的时候,那会儿流行的是GPT3.5或者GPT4之流,他们的代码能力...说实话,一坨,连简单的二分搜索或者快排都能写歪来。对于刚进入学校的我来说,AI工具着实不是什么比较值得信任的东西。但是时过境迁,都5202年了,人工智能其实已经进化的非常强大了。体验了GPT5.1后,我感到了很深的震撼,与其花那么多时间面面俱到的从头学习一门语言,真不如AI辅助来得实在和快速。VSCode可以安装Copilot插件,支持调用多种人工智能,同时还有学生免费,通过AI辅助编程,可以很快的搭建一个网站。当然,我们也不能对语言一无所知,即使AI发展如此之迅速,他也仍然不是那么的聪明,还需要人类更多的辅助和引导。
- Github
GitHub 在项目推进方面非常好用。它不仅是一个代码托管平台,还提供了强大的项目管理功能。通过 GitHub,我们可以方便地进行版本控制、代码审查和团队协作。在我们的团队项目中,GitHub 帮助我们清晰地管理代码的版本,避免了多人协作时可能出现的冲突。此外,GitHub 的 Issues 和 Pull Requests 功能让我们能够高效地跟踪问题和管理代码变更,确保项目的顺利进行。
- 飞书
飞书作为一款办公协作工具,在团队项目中也发挥了重要作用。它提供了丰富的功能,如文档协作、即时通讯和项目管理等。在我们的团队项目中,飞书的文档协作功能让我们能够实时共享和编辑项目文档,提高了团队的沟通效率。此外,飞书的日程管理和任务分配功能也帮助我们更好地规划项目进度,确保每个成员都能按时完成自己的任务。
- Sora、Gemini
Sora和Gemini等生成式AI大大降低了图像和视频的生产成本。以往的宣传片,需要一群人,带着专业的设备,拍个一两天,剪个一两天,再补拍一两天,无论是历史情景剧还是马原的宣传片,这整套流程都太复杂了,而且还对装造,环境提出了高要求。而生成式AI很好的解决了这些问题。我只需要提出一些指令,进行描述,AI就能生成出大差不差的画面和内容,大大降低了拍摄成本。但是这些AI仍有些使用上的限制,需要一些魔法(划掉)。
2.3 技术之外,这门课程还给你带来了哪些方面的提升?
-
组织能力: 在团队项目中,我充分发挥了组织协调能力。从项目初期的人员分工到任务的合理分配,再到项目推进过程中的进度把控,我都能够有条不紊地进行安排。通过制定清晰的项目计划和时间节点,确保每个成员都能明确自己的职责,高效地完成各自的任务,推动项目按计划顺利进行。
-
创意: 在本次课程中,我提出了主动推送和社区共享的创新设想,为我们的项目注入了新的活力。主动推送功能能够将用户感兴趣的内容精准地推送到其面前,极大地提升了用户体验和信息获取的效率;社区共享则构建了一个用户交流和资源共享的平台,促进了用户之间的互动与合作。这两项功能的结合,让我们的项目形成了一个完整、闭环且富有活力的生态环境,不仅增强了项目的竞争力,也为用户提供了更加丰富和便捷的服务。
-
沟通能力: 在团队合作中,我学会了如何更有效地与团队成员沟通,确保信息的准确传递。通过定期的团队会议和即时通讯工具,我们能够及时解决项目中出现的问题,避免了不必要的误解和延误。
-
时间管理: 通过合理安排时间,我能够更好地平衡学习和团队项目。我学会了如何制定计划,并严格按照计划执行,这不仅提高了我的工作效率,也让我在面对多个任务时能够更加从容。这对我将来的学习安排也有所裨益。
-
项目管理: 我了解了项目管理的基本流程,包括需求分析、设计、开发、测试和部署。通过参与实际项目,我学会了如何在每个阶段合理分配资源,确保项目的顺利进行。
2.4 如果还有什么想记录的或者想说的,就写在这儿吧!
-
这门课程让我对未来的职业道路有了更清晰的认识。我意识到,软件工程不仅仅是写代码,更是一个团队协作、沟通和解决问题的过程。在未来的读研生活中,我也会更加注重团队的交流和合作,在沟通和协作中共同进步。
-
最遗憾的事,无疑是无法在现场亲自观看每组同学的工作成果,我多么希望能有机会和每一位同学面对面交流,分享彼此的喜悦和挑战。
-
我衷心希望未来的学弟学妹们能够珍惜这门课程带来的每一个机会。软件工程不仅仅是写代码,更是一场团队合作的旅程。在这里,你会遇到志同道合的伙伴,一起攻克难题,一起成长。不要害怕犯错,每一次失败都是成长的阶梯。勇敢地提出你的想法,积极参与团队讨论,你会发现,团队的力量是无穷的。
-
我希望未来的学弟学妹们能够切身的参与到代码工作中,无论结果如何,经历和经验都不会白费,必将活用于下次()。
-
但我也希望众多萌新的学弟学妹们不必因为没有基础而过度担忧,大家都有自己的长处和短处,学会在环境中扬长避短,发挥你的专长。世界上没有两片一样的树叶,找到自己的生态位才是最重要的,这也是人生的必修课。
三、致谢
-
首先,我要感谢这次组队的所有朋友。这次工作期间,大家都很好的完成了自己的工作;他们也愿意精益求精,在产品、包装上做更多的工作。这让团队的任务推进更加轻松,也让我们有机会做出更优质的产品。大家目标一致努力奋斗,这也是团队合作最美的地方。
-
特别地,我要感谢我们组的前端负责人苏郑熙凡和后端负责人肖垲。这两位同学作为主要的技术大牛,为零基础和弱基础的同学(包括我)提供了许多帮助,也让我们项目的落地变得简单。
-
不仅如此,我还要感谢陈文嘉同学。在我被困在六级考场无法进行宣讲工作的情况下积极承担了这部分的工作,并积极推进进度,积极与我交流。
-
感谢许竣阳同学,为我们搞到了免费的Sora2,让宣传片工作顺利的进行下去。
-
最后,大学的时间已经过完5/8了,以后大家也会各奔东西,到各自心中的理想学校深造或者到心仪的岗位任职,之后也不会有这么多机会再和这群可靠的朋友们进行如此大规模的合作。这次软件工程之旅让我印象深刻,大家也能了无遗憾的为这学期画上圆满的句号。我们这个组大部分都来自计算机科学与技术实验班,更有一批同学以保研为目标而奋斗。在这里我也祝愿大家未来诸事顺遂!一切皆能如愿!最终都能到自己的梦校!


浙公网安备 33010602011771号