这个作业属于哪个课程 | 2023秋-福州大学软件工程 |
---|---|
这个作业要求在哪里 | 轻舟已过万重山——2023秋软工实践个人总结博客 |
这个作业的目标 | 进行本学期所有软工实践课程的总结 |
学号 | 112100821 |
一、学期回顾
1.1 回顾你对软件工程课程的想象
- 达到期待和目标的方面:
- 理解软件工程的基本原则:已经基本掌握了软件工程的基本理论,包括软件生命周期、敏捷方法和代码质量标准。这为我提供了坚实的理论基础,使我能够理解整个软件开发过程。
- 团队合作和沟通技能:在团队项目中,我学会了与不同背景的人合作,提高了我的沟通和团队协作能力。我也学会了如何在多元化团队环境中有效地表达我的想法。
- 项目管理和时间管理:通过项目实践,我提高了我的项目管理和时间管理能力。我学会了如何规划任务,确定优先级,并在截止日期前高效完成工作。
- 存在不足的方面:
- 实际编程技能:虽然我理解了许多编程概念,但在实际编程方面,我仍然觉得自己不够熟练。特别是在更复杂的编程任务和算法方面,我需要更多的练习和学习。
- 高级技术和工具的使用:在使用一些高级软件工程工具和技术方面,我还不够熟练。
- 数据安全和可持续性设计:尽管我了解这些概念的重要性,但在如何实际应用这些原则方面,我还需要更深入的学习和实践。在编程的过程中,很多地方直接忽略了数据和应用的安全性直接进行处理。
1.2回顾你在这门课程的投入与产出
- 在软工实践课程当中我编写了3373行代码。
作业名称 | 代码量(行) |
---|---|
第一次个人作业 | 382 |
第二次个人作业 | 688 |
第一次结对编程作业 | 212 |
第二次结对编程作业 | 927 |
团队现场编程 | 101 |
团队项目 | 1063 |
-
在团队项目中我参与了《抽乌龟卡牌游戏》的设计与开发,我在其中所承担的角色是前后端开发,负责后端接口的设计、实现api,并部署后端应用程序、设置服务器;负责协助前端实现api调用,打包代码、部署前端应用程序。
-
软工实践的各次作业分别花费的时间:
时间 | 作业 | 花费时间 |
---|---|---|
09.01~09.08 | 第一次个人作业 | 8.5h |
09.08~09.15 | 第二次个人作业 | 18.5h |
09.15~09.28 | 第一次结对编程作业 | 22h |
09.28~10.07 | 第二次结对编程作业 | 18.42h |
10.07~10.23 | 团队介绍、选题报告、需求分析报告 | 16.3h |
10.23~11.03 | 原型设计、概要设计 | 12.8h |
11.04 | 团队现场编程 | 3h |
11.04~11.18 | 团队项目Alpha冲刺阶段 | 16.3h |
11.22~12.16 | 团队项目Beta冲刺阶段与终期总结 | 17.5h |
12.08~12.17 | 个人学期总结博客作业 | 3.2h |
- 在软件工程课程上花费的时间
累计时间 | 实际周均时间 | 预计周均时间 |
---|---|---|
136.52(h) | 10.5(h) | 8(h) |
1.3令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?
令我印象最深刻的是第二次个人作业,要求是写一个爬虫将洛谷的题目和题解爬下来。当时刚做完第一个作业建站,因为以前有玩过所以很快就做完了,第二次作业直接上强度了,令我苦恼了许久。在这之前我只掌握c,c++并且基本没有项目经验,学过python但是并没有真真正正写过一个项目,因此十分烦恼。当时突击复习了python,同时还在b站上学习基本的爬虫课程,经过几个夜晚的奋斗学习,才搞懂了爬虫的原理开始编程。在写爬虫时又遇到了困难,洛谷的题目可以直接爬取但是题解需要登陆才可以爬取,并且题解在源码上有进行加密,我又学习了相关知识对其进行解码,然后重新定位题解的位置进行爬取,经过整整一天的奋斗才把爬取题解部分写完。刚开始查缺补漏学习东西,在活动室直接通宵学习,期间被洛谷平台的反爬虫卡过,被ui界面小细节卡过,被代码里疏忽的bug卡过,活动室阳台外的天慢慢亮起来,代码也慢慢写出来,最后经过煎熬才成功完成作业,并且超过要求指标,不仅可以爬取前50题,还可以任意选取题号范围进行大规模爬取。
二、总结收获
2.1展开说说你的软工实践故事
- 第一次个人作业
找了个模版个性化改一改内容,以前没用过GitHub,借助这次作业机会认真学习了,学习了怎么上传代码以及下载、代码的同步,借用GitHub部署静态网页,这样就不用自己搭建服务器部署了。
- 第二次个人作业
感觉这是整个学期以来最难的一次作业,从来没有接触过爬虫甚至不知道要怎么入手,并且在此之前也基本没有项目编程经验,上b站找了几个讲爬虫的视频以及python相关的视频看了一个通宵,然后开始硬着头皮写,边写边问gpt。好不容易将题目爬下来了又发现如果一下子爬太多没有间隔时间会被洛谷的反爬机制临时封禁一段时间,又改进了代码加入了每次爬取后的延时;在爬取题解时有点傻眼,看了半天网页的源码没找到题解在哪里,后来经过好长时间的查资料、摸索研究才知道他的题解有加密,需要先解码,又去研究如何解码,最后才终于完成作业,真的是最难的一次作业。
- 结对编程作业
数独作业经过网上查找和gpt得出了生成数独和求解数独的算法。主要的难点是第一次写后端,开始学习flask框架,开始学习前端三段式怎么写,真的非常极限,边学边写,好在还是在截止期前写完了。美好的国庆和结对编程作业一起度过。
- 团队作业
团队作业就难了,8个人一个小组要进行分工合作,还需要进行版本控制,GitHub协作。我主要负责的是后端的开发、接口的设计,期间也遇到了跨域的问题研究解决了半天,不过好在我根据安排很早的完成了任务。后期开始协助前端完成接口对接,以及整个项目的服务器配置、生产部署,在最后的部署环节实在头疼,需要解决跨域,需要开启反向代理。最有趣的还是老师安排我们拍vlog,我们经常聚在一起讨论开会、推进进度,我还负责拍摄,每次拍摄大家讨论就非常有趣。
2.2介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?
- 对前端有了一定的掌握,在此之前我们专业并没有关于前端的课程,通过这次软工实践,自学初步掌握了html、css、js三段式结构。
- 对后端也有所了解,因为在几次作业中主要负责后端开发,对flask框架的后端有了比较深入的了解,同时也接触了sqlite这种轻量化数据库。
- 在团队项目中主要负责开发接口工作,对接口设计也有了一定的了解。
- 学习了原型设计,在开始编程前对整个项目进行设计更利于后续开发。
- 通过chatgpt4和copilot的协助编程提高了编程的效率,同时在遇到一些故障报错时,gpt4可以给出原因以及排查的步骤,协助完成debug工作。
2.3技术之外,这门课程还给你带来了哪些方面的提升?
- 加强了我的团队协作能力,与队友的沟通协作更加耐心。
- 在遇到问题时可以更好的运用各种工具进行查找解决,使我有更强的自我完成能力。
- 对于时间的安排更加具有规划性,提升了我的时间管理能力。
2.4如果还有什么想记录的或者想说的,就写在这儿吧!
真的非常感谢这门课,虽然实践作业非常压榨时间,同时又在做数据库的实践,还有开源鸿蒙应用的开发,好几个事情加在一起,这学期周末放飞自我的时间减少了,每天悬着的心就是软工实践新的ddl要到期了。但是经过这短暂一学期的磨练,对个人能力的提升非常大,一些基本的工具框架了解了会用了。在这门课之前,基本没想过怎么将所学用起来,经过软工实践课后很多理论学习的东西都用起来了,也新学了非常的东西,软工实践是有趣的,当你熬夜写完项目跑起来之后,就会有成就感,感觉自己没白熬,辛苦得到了回报。
三、致谢
首先要感谢老师和各位助教们,精心设计的几个题目帮助我们快速成长,从单兵作战到团队作战,真是一场酣畅淋漓的成长;然后要感谢结对编程组队的同学,共同完成了两个大难题;最后还要感谢团队编程的各位队友们,大家在一起互相包容、互相帮助,分工协作、力合一处,大家的一起努力下才有我们团队项目的诞生,虽然不那么完美,但是是我们共同努力的成功。