轻舟已过万重山——2023秋软工实践个人总结博客

目录
- 轻舟已过万重山——2023秋软工实践个人总结博客
- 一、学期回顾
- 1.1 我对于软件工程课程的想象
- 1.2 我在这门课程中的投入
- 1.3 我印象最深刻的任务是团队现场编程
- 二、总结收获
- 2.1 我的软工实践故事
- 2.2 介绍学习到的技术和工具以及它们给我带来的帮助
- 2.3 技术之外,这门课程还给你带来了哪些方面的提升?
- 2.4 对于这门课程,我还想说的是
- 三、致谢
一、学期回顾
1.1 我对于软件工程课程的想象

在我对软件工程的想象中,它不仅仅是一堂课,更是一个实践和理论相结合的过程,旨在让学生理解和掌握软件开发的全过程。
- 首先,软件工程课程应该教授学生如何进行有效的需求分析。这是软件开发的第一步,也是最为关键的一步。只有准确地理解了用户的需求,才能开发出真正满足用户需求的软件。
- 其次,软件工程课程应该教授学生如何进行软件设计。这包括如何设计软件的结构,如何确定软件的模块,以及如何设计软件的接口等。设计阶段是软件开发中的关键环节,设计的质量直接影响到软件的质量。
- 然后,软件工程课程应该教授学生如何进行编码。编码是将软件设计转化为实际软件的过程。在编码过程中,学生需要掌握各种编程语言和编程技巧,以提高编码的效率和软件的质量。
- 接下来,软件工程课程应该教授学生如何进行软件测试。测试是保证软件质量的重要环节。学生需要学习各种测试方法和测试技巧,以发现和修复软件中的错误。
- 最后,软件工程课程应该教授学生如何进行项目管理。项目管理是软件开发过程中的重要环节,它包括项目计划、项目控制、项目评估等方面。学生需要学习如何有效地管理软件开发项目,以提高项目的成功率。
总的来说,软件工程课程应该是一个全方位、全过程的教学过程,旨在让学生理解和掌握软件开发的全过程,并能够运用所学知识进行有效的软件开发。
1.2 我在这门课程中的投入

时间 | 作业 | 花费时间 |
---|
09.01~09.08 | 第一次个人作业 | 3h |
09.08~09.15 | 第二次个人作业 | 5h |
09.15~09.28 | 第一次结对编程作业 | 5.5h |
09.28~10.07 | 第二次结对编程作业 | 8h |
10.07~10.23 | 团队介绍、选题报告、需求分析报告 | 5h |
10.23~11.03 | 原型设计、概要设计 | 8h |
11.04 | 团队现场编程 | 1.5h |
11.04~11.18 | 团队项目Alpha冲刺阶段 | 13.5h |
11.22~12.16 | 团队项目Beta冲刺阶段与终期总结 | 7.5h |
12.08~12.17 | 个人学期总结博客作业 | 2h |
累计时间 | 实际周均时间 | 预计周均时间 |
---|
59h | 4.2h | 5.0h |
1.3 我印象最深刻的任务是团队现场编程
在这次编程任务中,我负责修改和整合筛选信息和发送邮件的代码,以达到项目的运行要求。
尽管这次编程任务相对较为简单,但由于团队合作经验不足,我们在有限的时间内并没有达成明确的分工,这大大缩减了团队的有效编程时间。
这次经历让我更加深入地认识到团队有效交流的重要性。在软件开发过程中,团队成员之间的沟通是至关重要的。只有通过有效的沟通,我们才能确保每个人都了解自己的任务,以及如何完成任务。此外,有效的沟通还能帮助我们及时发现和解决问题,提高项目的开发效率。
同时,这次编程也让我对自己在某些方面的能力有了更深刻的理解。在这次任务中,我意识到自己在时间管理和团队协作方面还有待提高。为了在未来的项目中更好地发挥自己的作用,我需要更加关注团队合作,提高自己的沟通能力,以及加强时间管理。
总之,这次编程经历让我更加重视团队交流和时间管理,以便在未来的项目中取得更好的成果。我相信,通过不断学习和实践,我会在软件开发领域取得更大的进步。
二、总结收获
2.1 我的软工实践故事
在第一次个人作业时,对写个人主页所要求的html格式不是很了解,所以一开始手忙脚乱,最后也是在同学的帮助下边学边写地顺利完成了(虽然还是写的很烂);
在第二次个人作业编写洛谷爬虫时,当时数据采集还只学了一点皮毛,而且洛谷这个网站的爬取难度也很大,最后在网上找各种资料才顺利完成
2.2 介绍学习到的技术和工具以及它们给我带来的帮助
在软件工程实践中,我学习到了许多技术和工具,这他们都给我带来了很多帮助。以下是一些我学到的新技术和生产力工具,以及它们给我带来的帮助:
- 敏捷开发工具:在软件工程实践中,我学习了敏捷开发方法,如Scrum和Kanban。这些方法帮助我们的团队更高效地组织工作,确保项目按时完成。通过使用敏捷开发工具,我能够更好地跟踪项目进度、分配任务和管理团队协作。
- 版本控制工具:Git是一个非常重要的版本控制工具,它可以帮助开发者管理代码变更和团队协作。通过使用Git,我能够更好地控制代码的版本,协同工作并解决代码冲突,确保项目的顺利进行。
- 代码质量检查工具:在软件开发过程中,代码质量检查工具可以帮助我们发现潜在的错误和不规范的代码,提高代码质量。通过使用这些工具,我能够写出更干净、可维护的代码。
- 项目管理工具:项目管理工具如Microsoft Project和Asana可以帮助我们更好地规划项目进度、分配资源和任务。这些工具使我能够更有效地管理项目,确保项目按时完成。
- 协作沟通工具:在软件工程实践中,我们使用了各种协作沟通工具,如腾讯会议和腾讯文档。这些工具帮助我们实时沟通、分享信息和协作,提高了团队的工作效率。
- UML设计:UML是一种用于描述、构造软件系统以及商业建模的语言。通过使用UML,我能够更好地理解项目需求,梳理系统结构和设计,以及与团队成员进行有效沟通。UML提供了一套标准化的图形表示方法,包括用例图、类图、对象图、顺序图、协作图等,帮助我更清晰地表达和描述面向对象的分析和设计内容。
- 原型设计:原型设计是软件开发过程中的一个关键环节,它可以帮助我更好地了解用户需求,为用户创建更具吸引力和实用性的产品。在原型设计过程中,我学会了使用各种设计工具,如Axure等,进行界面设计和交互设计。这些工具可以帮助我快速构建原型,并与团队成员、客户和用户进行有效沟通,以确保最终产品的成功。
通过学习这些技术和工具,我在软件工程实践中取得了一定的成果。这些技术工具帮助我能够更好地把握项目需求,提高开发效率,更高效地管理项目,提高代码质量和协同工作。在未来的工作中,我将继续学习和应用这些技术工具,不断提升自己的技能水平。
2.3 技术之外,这门课程还给你带来了哪些方面的提升?

软件工程这门课程不仅让我学到了很多技术知识,还在以下几个方面给我带来了提升:
- 项目管理能力:软件工程课程让我学会了如何运用敏捷开发方法、项目规划、进度跟踪等技巧进行项目管理。这些知识帮助我更好地组织团队,合理分配资源,确保项目按时完成。
- 团队协作与沟通能力:在软件工程实践中,我学会了与团队成员紧密合作,共同解决问题。这门课程让我意识到团队协作的重要性,并提高了我的沟通技巧,使我能够更好地与团队成员、客户和利益相关者进行交流。
- 解决问题能力:软件工程课程让我学会了如何分析问题、制定解决方案、评估风险等。这些技能帮助我在遇到技术难题时,能够更快地找到合适的解决方案,提高了解决问题的能力。
- 质量意识:软件工程课程让我认识到软件质量的重要性,并学会了如何确保软件质量。我学会了使用各种质量检查工具,如SonarQube和ESLint等,来提高代码质量。同时,我也学会了在开发过程中进行持续集成和测试,以确保软件的稳定性和可靠性。
- 持续学习能力:软件工程领域不断发展,新技术和新工具层出不穷。这门课程让我养成了持续学习的习惯,以便跟上行业的发展趋势。我学会了利用在线课程、技术论坛、博客等资源,不断提升自己的技能水平。
总之,软件工程这门课程在技术之外,还给我带来了项目管理能力、团队协作与沟通能力、解决问题能力、质量意识和持续学习能力等多方面的提升。这些能力对于我的职业发展和个人成长都具有重要意义。
2.4 对于这门课程,我还想说的是
软件工程是一门实践性很强的课程,需要我们在实践过程中不断地学习、和改进。
这门课程并不只是一个人的课程,它着重强调团结合作的重要性。
三、致谢
在此感谢我们团队的所有成员、所有助教和张栋老师
