软件工程课程随笔

1、当前技能树、技术偏好与自我评估

目前我的编程学习主要集中在 Python 和基础 Web 开发方面。我能够使用 Python 完成一些基本的数据处理、文件操作、第三方库调用和 API 调用,并在本次作业中成功调用 Hugging Face 的 Flux 模型,同时使用 Flask 搭建了简单后端。
最近我开始接触 HTML、CSS、JavaScript 和 Flask,对前后端交互有了初步认识,也对人工智能应用开发、大模型API与小型软件系统结合等方向比较感兴趣。

从自我评估来看,我已经具备一定的编程基础和查阅资料解决问题的能力,但在软件工程方面仍有明显不足,例如需求分析、软件架构、模块划分、代码规范、测试和版本管理等方面实践经验较少。GitHub 目前主要用于创建仓库、编辑 README 和个人主页,对于分支管理、Pull Request 和多人协作还不熟悉。软件测试也是我后续希望重点提升的能力之一。

2、目前代码量与本学期目标

截至目前,我编写过的代码主要来自课程学习、Python脚本练习以及近期完成的 Web 和 API 实践。如果按照自己实际编写、修改并能够理解的代码进行粗略统计,目前累计代码量大约在 1200行左右。

不过,这些代码大多数是围绕某个具体任务编写的小型程序或脚本,真正按照完整软件工程流程设计和开发的项目还比较少。因此,我认为代码行数并不能完全代表自己的软件开发能力,更重要的是代码质量、系统设计能力以及项目实践经验。

完成本学期软件工程课程之后,我希望自己的累计代码量能够达到 2000行以上。但相比单纯增加代码数量,我更希望这些新增代码来自相对完整的软件项目,并能够体现需求分析、模块设计、版本管理、代码规范和测试等软件工程过程。

我希望课程结束以后,自己能够逐渐从“能够编写程序解决具体问题”提升到“能够按照软件工程方法设计和完成一个完整的软件项目”。相比单纯积累代码数量,形成规范的软件开发习惯和项目实践能力对我来说更有意义。

3、对本课程的期待与希望获得的收获

在本课程中,我最期待学习的是一个软件项目从需求提出到最终完成的整个过程。过去我更多关注某一段代码如何实现,而对于软件为什么要这样设计、不同模块之间如何划分、项目开发过程中应该如何协作等内容缺少系统认识。

因此,我希望通过本课程真正理解需求分析、系统设计、编码实现、软件测试、部署以及后期维护之间的关系。尤其希望学习如何在正式开始写代码之前先进行合理的系统设计,而不是像过去一样想到哪里写到哪里。

我也比较期待学习 Git 和团队协作开发。现在我已经能够使用 GitHub 完成一些基础操作,但还没有真正体验多人合作开发同一个项目的过程。我希望通过课程项目学习如何使用分支、如何提交和审核代码、如何解决冲突,以及团队成员之间如何保持项目的一致性。

此外,我还希望建立更加系统的软件测试和代码规范意识。过去我通常把“能够运行”作为程序完成的主要标准,但未来希望能够进一步考虑程序是否可靠、是否容易维护、是否能够应对异常情况。最终,我希望通过这门课程获得的不只是更多编程知识,而是一种更加系统的软件开发思维。

4、使用 ChatGPT 生成的软件工程学习指南

本次我选择 ChatGPT 作为 AI 工具,并向其提出了如下问题:
请为一名具有一定Python与Web基础,但缺少系统软件工程经验的学生生成一份简要的软件工程课程学习指南。

ChatGPT 给出的建议是,首先巩固Python编程基础,熟练掌握函数、面向对象编程以及异常处理等知识,保证自己能够独立完成规模较小的程序。在已有编程能力的基础上,再进一步学习 Git 和版本管理,理解代码提交、分支、合并以及团队协作的基本过程。

随后,学习重点应该逐渐从“如何写代码”转向“如何开发软件”,理解需求分析、系统设计、编码实现、软件测试、部署和维护之间的关系。在面对复杂任务时,需要学会将系统拆分成多个相对独立的模块,并明确不同模块之间的输入、输出和接口关系。

ChatGPT 还建议重点培养软件测试意识,在编写程序时不仅考虑正常输入,也要考虑错误输入、异常情况以及边界条件。除了单元测试之外,还需要逐步了解集成测试和系统测试,从而保证软件在不同场景下能够稳定运行。

在学习方式方面,ChatGPT 认为完成一个完整项目非常重要。相比单纯阅读软件工程教材,一个真正经历需求分析、系统设计、编码、测试、文档和发布过程的项目,更容易帮助初学者理解软件工程中的各种概念。

最后,在 AI 辅助编程方面,ChatGPT 建议可以利用 AI 解释代码、分析报错、提供开发思路和辅助生成测试代码,但不能把 AI 能够生成程序等同于自己已经掌握相关知识。对于 AI 提供的代码,仍然需要自己阅读、运行、修改和验证。

5、对 AI 学习指南的评价

我认为 ChatGPT 给出的软件工程学习指南总体上比较合理,因为它没有把软件工程简单理解为继续学习更多编程语言,而是强调了软件开发流程、版本管理、系统设计和测试等内容。这一点与我目前的实际不足比较匹配。

其中,我认为“通过一个完整项目学习软件工程”这一建议对我帮助最大。过去我的编程学习往往比较零散,遇到一个问题以后就查资料、写代码,程序得到结果后任务也就结束了。虽然这种方式能够解决问题,但很难形成完整的软件开发能力。

如果能够真正完成一次从需求分析、系统设计、编码到测试和发布的项目,我认为能够更加直观地理解为什么需要模块化、版本控制和软件测试,也能够发现自己在实际开发过程中的不足。

不过,这份学习指南也存在一定局限。ChatGPT 提供的是一套比较通用的学习方案,它并不了解本课程具体的教学进度、课程项目和教师要求,因此真正学习时仍然应该以课程安排为主。

另外,AI 在编程方面确实能够显著提高效率,但如果完全依赖 AI,也可能出现程序已经运行成功,但自己并没有真正理解其中原理的情况。因此,我认为比较合适的使用方式应该是先自己分析问题,再利用 AI 提供思路,最后通过运行、修改和测试真正理解代码。

posted @ 2026-09-11 13:57  Lrain310  阅读(5)  评论(0)    收藏  举报