🚀 软件工程 (Software Engineering)
💡 【课程导言】
欢迎来到《软件工程》课堂!在这里,我们将抛弃“写代码就是开发软件”的初级思维,完成从“游击队程序员”到“正规军软件工程师”的认知跃迁。我们将以双线真实项目驱动,带你体验一款软件从无到有的全生命周期。
一、 课程与主讲教师简介
- 📌 课程性质:专业核心课 (必修) 核心
- 📌 学分/学时:4 学分 / 64 理论学时
- 📌 先修课程:C语言程序设计、数据结构与算法、数据库原理
- 📌 建议教材:尹志宇,《软件工程导论》,清华大学出版社
- 👨🏫 主讲教师:周智宇 我
二、 课堂纪律与考核评估
本课程强调过程重于期末,拒绝考前突击死记硬背。我们鼓励试错、鼓励讨论、鼓励将理论应用于实战。
⚠️ 课堂纪律红线
- 严禁无故旷课,考勤将直接影响平时成绩,无故旷课 3 次及以上者,平时成绩直接计 0 分。
- 课堂/课后实战推演环节(如用例分析、DFD图找茬)要求全员参与。
- 作业允许使用 AI 辅助拓宽思路,但严禁直接复制粘贴 AI 生成的未经验证的代码与文档,必须经过人工复核。
📊 考核评估标准(总分 100分):
| 考核模块 | 占比 | 考核细则说明 |
|---|---|---|
| 平时成绩 | 40% | 课堂出勤率(30%)、手机上交情况及互动表现(30%)、课后作业+实训成绩(40%)。 |
| 期末成绩 | 60% | 大作业 |
三、 课程总体介绍(为什么学?学什么?)
🖥️ 【软件工程课程总览】

❓ 为什么学:从“建筑隐喻”到“园艺隐喻”
很多同学认为学会了 Java/C++ 就能做好软件,这会导致严重的“软件危机”(进度失控、成本超支、代码无法维护)。 真实的软件开发不是“盖大楼”(封顶就结束了),而是**“做园艺”**。软件是“活的”,它需要前期精心播种(规划设计),后期不断除草(修 Bug)、修剪(重构)和施肥(加新功能)。本课程就是教你如何科学地管理这座“软件花园”。
🎯 学什么:双轨理论与真实案例的碰撞
本课程彻底告别空谈理论,所有知识点全部强绑定 “高校图书借阅系统” 与 “航空公司机票预订系统” 两大案例。
- 结构化范式:教你如何画数据流图(DFD),如何将大系统像“搭积木”一样拆分为高内聚、低耦合的模块。
- 面向对象范式 (OOA/OOD):教你用 UML 建立用例模型、类图与交互模型,掌握现代企业最核心的架构设计法。
- 免疫与护城河:学习黑白盒测试找 Bug,掌握 Git 版本控制,学习经典设计模式(工厂、单例、观察者等)前人智慧。
- 敏捷项目管理:引入真实企业的物理看板(Kanban)与 DevOps 思想,掌握时间进度与风险的博弈。
四、 课程项目目录导航
🗺️ 课程课件导航说明
本课程共 64 个理论课时。下面内容严格按 2课时为一个页面 进行模块化切分。
请单击下方链接进入对应章节学习。
📦 第一篇:工程基础与结构化范式
- 第 1 章:软件工程概述(4课时)
- 第 2 章:结构化分析(6课时)
- 第 3 章:结构化设计(8课时)
- 第 4 章:结构化编码和测试(8课时)
🏛️ 第二篇:面向对象范式与进阶
- 第 5 章:面向对象分析 OOA(8课时)
- 第 6 章:面向对象设计 OOD(8课时)
- 第 7 章:面向对象的实现和测试(6课时)
🚀 第三篇:架构进阶与项目管理
- 第 8 章:软件运行维护(4课时)
- 第 9 章:软件设计模式(6课时)
- 第 10 章:软件项目管理(6课时)