# 软件工程课程随笔|个人技能梳理、学习规划与AI生成学习指南分析
一、个人技能树梳理与自我评估
✅ 已经掌握的专业知识与能力
- Python开发:熟练使用Python编写各类脚本;掌握Flask Web后端框架,独立搭建Web服务,实现接口编写、请求接收与参数处理、Base64图像编解码,完成AI绘图网页项目;能够调用Hugging Face推理API,处理网络请求、异常捕获、超时等问题。
- C++与数据结构:掌握C++基础语法、面向对象编程;系统学习数据结构,能够手写链表、栈、队列、二叉树、图等数据结构,实现排序、查找、最短路径等经典算法,能分析算法时间、空间复杂度,完成大量课程算法练习。
- 计算机网络:理解OSI七层模型、TCP/IP四层体系;掌握TCP、UDP、HTTP、DNS等核心协议原理;熟悉IP、端口概念,可以独立排查网络请求超时、域名解析失败这类项目中遇到的网络问题。
- 计算机组成原理:理解计算机硬件体系结构,CPU、存储器、总线、指令系统等底层原理;了解存储层次结构、流水线,能够理解GPU加速AI推理的底层逻辑。
- 基础工程工具:熟练使用VS Code编写调试代码;掌握Git基础操作,可以创建GitHub仓库、提交管理代码,搭建GitHub个人主页;能够阅读官方API文档,定位、调试代码错误。
🧩 感兴趣的技术方向
- 大模型应用开发:基于AI模型开发Web应用,如本次完成的AI图像生成网页工具。
- Web后端开发:深耕后端接口设计、服务开发,学习高可用服务设计思想。
- 计算机底层系统方向:操作系统、高性能程序开发,研究软件与硬件交互逻辑。
❌ 目前欠缺的能力
- 软件工程规范化能力:缺少完整软件项目开发流程实战经验,不熟悉需求分析、UML建模、单元测试、标准化项目文档撰写。写代码优先保证功能跑通,缺少规范注释、模块化解耦、代码重构意识。
- 前端开发能力薄弱:仅能读懂基础HTML,不熟悉CSS、JavaScript,无法独立开发交互丰富、美观的前端页面。
- 数据库技术:没有系统学习MySQL等关系型数据库,项目无法实现数据持久化存储,只能临时在内存或者文件中保存数据。
- 大型项目架构与团队协作:仅独立开发过小Demo项目,缺少大型项目模块拆分、代码解耦经验;没有真实团队协同开发、代码评审、多分支管理的实战经历。
- 软件测试能力:几乎没有编写单元测试、集成测试的经验,缺少主动设计测试用例、提前发现软件缺陷的思维习惯。
二、代码量统计与本学期目标代码量
- 截至目前已完成代码量
C++(数据结构算法习题)、Python(脚本+Flask项目)、HTML代码合计约 3200行。包含大量数据结构手写算法练习、Flask AI绘图网页项目、课程基础代码实验。 - 本学期课程结束希望达到代码量
累计达到 4500行。新增代码来自软件工程课程作业、UML配套实践、单元测试代码编写、AI绘图项目迭代优化。
三、本课程最期待学习的知识与希望收获
最期待学习的知识
- 完整软件工程开发全流程:需求分析、用例建模、系统概要设计、详细设计、软件迭代与后期维护。
- UML建模:掌握用例图、类图、时序图等建模方法,学会用图形化方式抽象描述软件系统。
- 软件测试理论与实践:单元测试、集成测试,学习如何设计测试用例,降低程序缺陷。
- 团队项目管理:多人协作开发流程、Git团队分支管理规范、项目风险识别与评估。
希望获得的收获
跳出单纯“写代码实现功能”的思维,建立工程化思维。不再只追求程序能够运行,学会站在软件生命周期角度,从需求、设计、编码、测试、文档完整开发软件。能够独立完成标准化小型软件项目,掌握项目文档撰写能力,为后续后端、AI应用类项目开发打下扎实基础。
四、AI生成《软件工程课程学习指南》+ 合理性分析
选用AI工具:DeepSeek
提示词:帮我生成一份简要的软件工程课程学习指南,面向计算机专业本科生,分阶段规划学习,包含学习重点、练习任务。
AI输出:软件工程课程学习指南
软件工程课程学习指南
一、前期基础阶段(1~4周)
学习重点:理解软件工程基本概念,区分软件危机、软件生命周期;掌握需求分析方法,学会识别用户需求,区分功能需求与非功能需求。
练习任务:挑选一个小型软件场景(例如AI绘图网页),撰写一份简单的需求说明书,列出用户目标、功能清单。二、建模与设计阶段(5~9周)
学习重点:学习UML图,包括用例图、类图、时序图;掌握软件架构基础,理解模块化、高内聚低耦合设计原则。
练习任务:为自己的项目绘制用例图与类图,完成系统概要设计文档。三、开发与测试阶段(10~13周)
学习重点:掌握软件测试分类:单元测试、集成测试;学习代码规范、版本控制Git协作。了解软件质量评估指标。
练习任务:为项目核心模块编写单元测试,完善代码注释,多人模拟团队分支协作。四、项目管理与维护阶段(14~16周)
学习重点:项目进度管理、风险评估;软件维护分类,了解软件重构。
练习任务:完成项目总结报告,分析项目开发过程中遇到的风险,给出优化方案。学习建议:不要死记书本理论,一定要结合小型项目实践;每次学习知识点后立刻落地到自己的项目中,理论结合代码。
对这份指南的合理性分析
- ✅ 合理的地方
- 学习顺序贴合软件工程课程授课顺序,严格遵循软件生命周期:需求分析→建模设计→开发测试→项目维护,逻辑清晰。
- 强调理论结合项目实践,可以直接以我开发的AI绘图网页作为实践载体,把UML、测试、文档知识点落地到已有项目。
- 每个阶段配套可落地练习任务,不是空洞理论,覆盖课程核心考点:需求分析、UML建模、软件测试、Git协作、项目风险评估。
- ⚠️ 存在不足,有局限性
- 缺少原型设计相关内容,没有介绍原型工具与原型制作环节。
- 对多人团队开发冲突处理、分工管理描述较少,区分个人项目和团队项目的部分不足。
- 属于通用本科生学习路线,没有结合我的背景(掌握计网、计组、数据结构、Python/C++,做AI Web项目)做个性化定制,缺少AI类软件项目的软件工程特殊注意事项。
- 📌 对我个人的帮助
这份指南整体可用,可以作为本学期软件工程学习的参考大纲。我可以按照阶段规划,在现有的Flask AI绘图项目基础上,补全需求文档、UML图、单元测试。但不能完全照搬,需要自行补充原型设计、团队协作相关内容,结合课堂老师讲授内容调整学习节奏。
浙公网安备 33010602011771号