Skip to content

🚀 软件工程 (Software Engineering)

💡 【课程导言】

欢迎来到《软件工程》课堂!在这里,我们将抛弃“写代码就是开发软件”的初级思维,完成从“游击队程序员”到“正规军软件工程师”的认知跃迁。我们将以双线真实项目驱动,带你体验一款软件从无到有的全生命周期。


一、 课程与主讲教师简介

  • 📌 课程性质:专业核心课 (必修) 核心
  • 📌 学分/学时:4 学分 / 64 理论学时
  • 📌 先修课程C语言程序设计数据结构与算法数据库原理
  • 📌 建议教材:尹志宇,《软件工程导论》,清华大学出版社
  • 👨‍🏫 主讲教师:周智宇

二、 课堂纪律与考核评估

本课程强调过程重于期末,拒绝考前突击死记硬背。我们鼓励试错、鼓励讨论、鼓励将理论应用于实战。

⚠️ 课堂纪律红线

  • 严禁无故旷课,考勤将直接影响平时成绩,无故旷课 3 次及以上者,平时成绩直接计 0 分。
  • 课堂/课后实战推演环节(如用例分析、DFD图找茬)要求全员参与。
  • 作业允许使用 AI 辅助拓宽思路,但严禁直接复制粘贴 AI 生成的未经验证的代码与文档,必须经过人工复核。

📊 考核评估标准(总分 100分):

考核模块占比考核细则说明
平时成绩40%课堂出勤率(30%)、手机上交情况及互动表现(30%)、课后作业+实训成绩(40%)。
期末成绩60%大作业

三、 课程总体介绍(为什么学?学什么?)

🖥️ 【软件工程课程总览】

image-20260303232014372

❓ 为什么学:从“建筑隐喻”到“园艺隐喻”

很多同学认为学会了 Java/C++ 就能做好软件,这会导致严重的“软件危机”(进度失控、成本超支、代码无法维护)。 真实的软件开发不是“盖大楼”(封顶就结束了),而是**“做园艺”**。软件是“活的”,它需要前期精心播种(规划设计),后期不断除草(修 Bug)、修剪(重构)和施肥(加新功能)。本课程就是教你如何科学地管理这座“软件花园”。

🎯 学什么:双轨理论与真实案例的碰撞

本课程彻底告别空谈理论,所有知识点全部强绑定 “高校图书借阅系统”“航空公司机票预订系统” 两大案例。

  1. 结构化范式:教你如何画数据流图(DFD),如何将大系统像“搭积木”一样拆分为高内聚、低耦合的模块。
  2. 面向对象范式 (OOA/OOD):教你用 UML 建立用例模型、类图与交互模型,掌握现代企业最核心的架构设计法。
  3. 免疫与护城河:学习黑白盒测试找 Bug,掌握 Git 版本控制,学习经典设计模式(工厂、单例、观察者等)前人智慧。
  4. 敏捷项目管理:引入真实企业的物理看板(Kanban)与 DevOps 思想,掌握时间进度与风险的博弈。

四、 课程项目目录导航

🗺️ 课程课件导航说明

本课程共 64 个理论课时。下面内容严格按 2课时为一个页面 进行模块化切分。

请单击下方链接进入对应章节学习。

📦 第一篇:工程基础与结构化范式

🏛️ 第二篇:面向对象范式与进阶

🚀 第三篇:架构进阶与项目管理