课程概述
版权声明
本项目为 2025-2026 年秋季学期清华大学软件学院开设的《软件工程》课程的文档。 所有内容(包括文档等)未经作者授权,禁止用作任何其他用途,包括且不限于在其他课程或者其他学校中使用。
如需使用授权,可通过 linliu@tsinghua.edu.cn 联系作者。作者保留一切追究侵权责任的权利。
基本信息
| 课程名 | 软件工程 |
|---|---|
| 课程号 | 44100203 |
| 学期 | 2025—2026 学年度秋季学期 |
| 主讲教师 | 刘璘 |
| 研究生助教团队 | 卢展、齐仕杰、张有容、赵子钰、张雨恬、许德成、童新荷、张之远 |
| 本科生助教团队 | 李梓晟、张馨月、刘怿轩 |
课程介绍
本课程结合现代软件工程的最新发展,以敏捷软件开发方法为核心,从基于互联网的软件开发实践角度设计和构建整个课程体系。
整个课程体系通过研究学生对课程学习的认知规律以及开发能力的逐步提升方式,突破原有的以开发生命周期安排教学单元的形式,从个人编程实践、团队开发过程、软件工程技术等方面循序渐进地展开。
其中,个人编程实践部分培养学生编写规范代码、模块化设计和单元测试的能力;团队开发过程部分将学生的开发视角从程序层次提升到系统层次,并具备一定的团队协作开发能力;软件工程技术部分涉及从初始的需求导出到设计、开发和测试等整个开发生命周期,培养学生掌握需求开发、体系结构设计、交互设计、软件测试和软件维护等方面的软件工程技术。
课程大纲
-
软件工程概述
- 软件本质
- 软件工程
- 软件工程师职业道德
- 软件自动化新进展
-
单元测试与容器部署
- 软件测试
- 黑盒测试
- 白盒测试
- 代码性能分析
-
需求获取与原型化
- 需求定义
- 需求获取
- 原型设计
- 企业产品设计实践分享
-
交互式编程实践
- 良好的编程实践
- Bolt-SE (分享)
-
软件开发管理
- 敏捷开发
- 团队管理
- 软件研发效能评估
-
软件架构设计及框架
- 软件架构演进
- MVC,MVVM
- 微服务架构
- 企业实践分享
-
软件系统建模
- UML
- SysML
- MBSE
-
数据建模与数据库
- ER图
- 类图
- DBMS
-
OO设计模式
- 面向对象
- HeadFirst Design Patterns
- Pattern Language
-
功能测试
- 软件测试类型
- 软件测试过程
- 系统功能测试
- 探索式测试
-
非功能测试
- 性能测试
- 可用性测试
- 性能测试工具
-
系统部署与发布
- 软件部署与交付
- 持续集成与交付
- 课程项目验收
教学日历
| 周次 | 日期 | 内容 | 周次 | 日期 | 内容 |
|---|---|---|---|---|---|
| 1 | 9.18 | 软件工程概述 | 9 | 11.13 | 行为驱动的开发 |
| 2 | 9.25 | 单元测试 & Docker部署 | 10 | 11.20 | 软件系统建模(第一次检查) |
| 3 | 10.2 | 国庆放假 | 11 | 11.27 | 数据建模及数据库 |
| 4 | 10.9 | 软件开发管理 | 12 | 12.4 | 设计模式 (第二次检查) |
| 5 | 10.16 | 需求获取 | 13 | 12.11 | 产品测试 |
| 6 | 10.23 | 交互设计与原型(学长分享) | 14 | 12.18 | 系统部署与发布(第三次检查) |
| 7 | 10.30 | 软件架构设计 | 15 | 12.25 | 项目展示汇报 |
| 8 | 11.6 | 项目中期进展汇报 | 16 | 1.1 | 产品交付 |
作业与评分
课程成绩由四部分组成:平时表现(5 分)、基础知识测试(5 分)、个人作业(30 分)和团队项目(60 分),总分为 100 分。
具体分数构成
- 课堂签到 5 分
- 软国创比赛参与 奖励1分
- 太乙平台注册 奖励1分
- 基础知识小测,覆盖各单元知识点 5 分
- 测试 10 分
- 应用部署 10 分
- UML综合建模练习 10 分
- 软件功能与设计质量 35 分
- 软件实现质量 10 分
- 产品测试 15 分
- 性能测试和功能测试
- 单元测试、测试覆盖率分析、自动化测试配置
- 系统部署(含正确配置和使用容器技术) 10 分
- 团队协作与管理(含阶段检查) 10 分
- 代码管理与平台使用 10 分
- 交付文档(含中期、项目答辩) 10 分
个人作业
测试
应用部署
UML建模
团队项目
选题一:健康/学习/安全助手
选题二:开放大模型能力评测与验证平台
选题三:无人机数据平台
自选题:发挥小组创意,说明项目意义
课堂参与
课堂小测
为鼓励学生的课堂参与,可能会安排课堂小测,分数将计入平时表现中。
迟交处理
逾期提交的作业成绩将按 0.9 的惩罚系数计算(逾期时间限为一周内):
参考资料
- 软件工程与代码设计
- 编程语言与技术
- 个人发展与职业技能
获取最新的内容
为了避免页面使用缓存
Windows 用户可以使用 Ctrl + Shift + R
Mac 用户可以使用 Command + Shift + R 来强制刷新页面,以获取最新的内容