博客园随笔:软件工程课程学习与规划
一、我的技能树与自我评估
✅ 已具备的专业知识与能力
- 编程语言基础:掌握Python/C/C++基础语法,能够编写简单的控制台程序,理解变量、循环、分支、函数等基础编程结构。
- 版本控制工具:会使用Git基础操作,包括克隆仓库、提交修改、推送代码,能够在GitHub上创建仓库、编辑README文档,完成个人主页的搭建。
- Markdown文档编写:可以使用Markdown编写文档,实现标题、列表、图片、链接等排版,能够完成项目说明文档。
- 计算机基础:了解程序的基本运行逻辑,具备简单的问题调试能力,可以排查简单语法报错,看懂基础报错信息。
- 简单项目实践:能够完成小型课程作业,实现简单功能的小demo,具备基础的需求理解能力。
🎯 感兴趣的技术方向
- Web开发方向:希望学习网页前端、后端开发,搭建属于自己的网页项目。
- 软件开发工程化:学习如何规范地做项目,理解团队协作开发的流程。
- 人工智能应用开发:了解AI工具如何融入软件开发流程,提升开发效率。
❗ 当前欠缺的能力
- 软件工程思维不足:没有完整项目开发经验,不熟悉需求分析、原型设计、测试、版本迭代等完整软件开发流程。
- 大型项目组织能力弱:只会写零散小代码,不会做模块划分、代码解耦,代码可读性、可维护性较差。
- 软件测试能力欠缺:缺少单元测试、功能测试相关知识,不会系统地验证程序正确性。
- 团队协作经验少:不熟悉多人协作开发,不了解Issue、PR等团队开发工作流。
- 文档能力有待提升:不会编写规范的需求文档、设计文档,项目文档完整性不足。
二、代码量统计与目标
- 截至目前累计代码量:约 1200 行(包含课程作业、课后练习、小demo,以C/C++、Python为主)。
- 本学期课程结束后期望达到代码量:4000行。
说明:代码量不单纯追求行数,更注重代码质量,希望在课程学习中完成多个小型项目,在写代码过程中练习模块化、规范编码,而不是单纯堆砌代码。
三、本课程最期待学习的知识与收获
期待学习的知识
- 软件工程完整开发流程:需求分析、概要设计、详细设计、编码实现、软件测试、项目维护。
- 软件项目管理相关知识,包括项目分工、版本管理、迭代开发。
- 高质量代码编写规范,如何写出易读、易维护、可复用的代码。
- 软件测试的方法,如何发现软件中的bug,保证软件质量。
- 团队协作开发模式,如何利用Git完成多人协同开发。
希望获得的收获
- 改变“只会写代码实现功能”的思维,建立软件工程思想,不只关注程序能不能跑通,更关注软件的整体质量。
- 掌握完整小型项目从0到1的开发能力,可以独立完成一个完整的软件项目。
- 学会编写各类项目文档,提升文档写作能力。
- 掌握团队协作的方法,为以后实习、团队项目打下基础。
四、AI生成的软件工程课程学习指南
选用AI工具:DeepSeek,生成的学习指南如下:
软件工程课程学习指南
一、课程学习目标
软件工程课程核心是学习软件从构思到交付的完整生命周期,掌握项目开发、团队协作、质量保障的基础理论与实践方法,能够独立完成小型软件项目开发。
二、学习阶段规划
-
理论基础阶段(前1‑4周)
重点学习软件工程基础概念,软件生命周期,需求分析,软件建模。
学习重点:理解什么是需求,学会区分功能性需求和非功能性需求;掌握简单的UML建模图(用例图、类图)。
建议:多看案例,理解真实软件项目的需求文档。 -
设计阶段(5‑8周)
学习概要设计、详细设计,模块划分,接口设计。
学习重点:学会把大项目拆分成小模块,思考模块之间如何交互;学会写设计文档。
练习:针对一个小项目,完成完整的设计方案。 -
编码与测试阶段(9‑12周)
学习编码规范、单元测试、集成测试。
学习重点:遵守代码规范,不要只追求功能实现;学习基础测试方法,主动寻找程序缺陷。
实践:完成项目编码,编写测试用例。 -
项目管理与实践阶段(13‑16周)
学习版本控制、团队协作、项目迭代、软件维护。
学习重点:熟练使用Git进行版本管理;理解敏捷开发基础思想;学会撰写项目总结报告。
实践:完成小组项目,体验团队开发。
三、学习建议
- 理论结合实践:软件工程不要死记概念,一定要动手做小项目,在项目中理解理论。
- 重视文档:软件工程中文档和代码同等重要,养成写文档的习惯。
- 多做复盘:做完项目之后复盘问题,记录自己遇到的bug与解决方案。
- 工具辅助:熟练使用Git、Markdown等工具辅助学习。
四、考核重点
课程重点考察:需求分析能力、项目设计能力、代码质量、文档完整性、团队协作表现。
五、对这份AI学习指南的分析
合理性
这份指南整体框架逻辑完整,按照软件工程生命周期划分学习阶段,覆盖课程核心知识点:需求分析、设计、编码测试、项目管理,贴合软件工程课程的教学大纲。
同时强调理论结合实践、重视文档,抓住软件工程课程的学习重点,给出了明确的学习任务与练习方向,对课程学习有参考价值。
存在不足
- 指南偏向通用化,没有结合个人的基础情况。我本身编程基础有限,指南没有针对基础薄弱同学给出循序渐进的练习建议。
- 缺少关于如何利用AI工具辅助软件工程学习的提示。
- 没有给出具体的课后练习小案例,只有方向,缺少落地示例。
对我的帮助
这份指南可以作为我的学习大纲,帮我理清学习顺序,避免学习的时候抓不住重点。
我可以在此基础上结合自己的能力做修改:
- 理论学习阶段,我会搭配简单小案例练习建模;
- 编码阶段,在写代码同时同步写文档;
- 把指南当做学习计划,对照每一个阶段检查自己的学习进度。
总结:AI指南可以作为参考框架,但不能完全照搬,需要结合自己真实的能力水平调整,才能够真正发挥作用。
浙公网安备 33010602011771号