跳转至

课程概述

版权声明

本项目为 2024-2025 年秋季学期清华大学软件学院开设的《软件工程》课程的文档。 所有内容(包括文档等)未经作者授权,禁止用作任何其他用途,包括且不限于在其他课程或者其他学校中使用。

如需使用授权,可通过 linliu@tsinghua.edu.cn 联系作者。作者保留一切追究侵权责任的权利。

基本信息

课程名 软件工程
课程号 44100203
学期 2024—2025 学年度秋季学期
主讲教师 刘璘
研究生助教团队 黄舒炜、卢展、苌晨阳、齐仕杰、张有容、张雨恬、许德成
本科生助教团队 马喆轩、张之远

课程介绍

本课程结合现代软件工程的最新发展,以敏捷软件开发方法为核心,从基于互联网的软件开发实践角度设计和构建整个课程体系。

整个课程体系通过研究学生对课程学习的认知规律以及开发能力的逐步提升方式,突破原有的以开发生命周期安排教学单元的形式,从个人编程实践、团队开发过程、软件工程技术等方面循序渐进地展开。

其中,个人编程实践部分培养学生编写规范代码、模块化设计和单元测试的能力;团队开发过程部分将学生的开发视角从程序层次提升到系统层次,并具备一定的团队协作开发能力;软件工程技术部分涉及从初始的需求导出到设计、开发和测试等整个开发生命周期,培养学生掌握需求开发、体系结构设计、交互设计、软件测试和软件维护等方面的软件工程技术。

课程大纲

  • 软件工程概述


    • 软件本质
    • 软件工程
    • 软件工程师职业道德
    • 软件自动化新进展
  • 单元测试与容器部署


    • 软件测试
    • 黑盒测试
    • 白盒测试
    • 代码性能分析
  • 需求获取与原型化


    • 需求定义
    • 需求获取
    • 原型设计
    • 企业产品设计实践分享
  • 交互式编程实践


    • 良好的编程实践
    • ChatGPT 能力测试 (学长分享与讨论)
    • Copilot X 实践经验 (学长分享与讨论)
  • 软件开发管理


    • 敏捷开发
    • 团队管理
    • 软件研发效能评估
  • 软件架构设计及框架


    • 软件架构演进
    • MVC,MVVM
    • 微服务架构
    • 企业实践分享
  • 软件系统建模


    • UML
    • SysML
    • MBSE
  • 数据建模与数据库


    • ER图
    • 类图
    • DBMS
  • OO设计模式


    • 面向对象
    • HeadFirst Design Patterns
    • Pattern Language
  • 功能测试


    • 软件测试类型
    • 软件测试过程
    • 系统功能测试
    • 探索式测试
  • 非功能测试


    • 性能测试
    • 可用性测试
    • 性能测试工具
  • 系统部署与发布


    • 软件部署与交付
    • 持续集成与交付
    • 课程项目验收

教学日历

周次 日期 内容 周次 日期 内容
1 9.12 软件工程概述 9 11.7 框架与软件设计模式
2 9.19 单元测试 & Docker部署 10 11.14 软件系统建模
3 9.26 需求获取与原型化 11 11.21 数据建模及数据库
4 10.3 放假 12 11.28 系统功能测试
5 10.10 软件开发管理 13 12.5 系统部署与发布
6 10.17 交互设计与原型 14 12.12 非功能测试
7 10.24 软件架构设计 15 12.19 课程总结
8 10.31 项目中期进展汇报 16 12.26 项目展示汇报与交付

作业与评分

课程成绩由四部分组成:平时表现(5 分)、基础知识测试(5 分)、个人作业(30 分)和团队项目(60 分),总分为 100 分。

具体分数构成

  • 课堂签到、技术分享等 3 分
  • 报名参加清华软件创新创意大赛 1 分
  • 提交比赛作品以及参加答辩 1 分
  • 基础知识小测,覆盖各单元知识点 5 分
  • 测试 10 分
  • 应用部署 10 分
  • UML综合建模练习 10 分
  • 软件功能与设计质量 30 分
  • 软件实现质量 10 分
  • 产品测试 20 分
    • 基础要求:性能测试和功能测试
    • 提高要求:单元测试、测试覆盖率分析、自动化测试配置等
  • 系统部署(含正确配置和使用容器技术) 10 分
  • 团队协作与管理(含阶段检查) 10 分
  • 代码管理与平台使用 10 分
  • 交付文档(含中期、项目答辩) 10 分

个人作业

测试

应用部署

UML建模

团队项目

选题一:健康安全智能助手

选题二:多模态大模型能力评测榜单

自选题:发挥小组创意,说明项目意义

课堂参与

课堂小测

为鼓励学生的课堂参与,可能会安排课堂小测,分数将计入平时表现中。

迟交处理

逾期提交的作业成绩将按 0.9 的惩罚系数计算(逾期时间限为一周内):

\[\text{成绩} = \text{原始成绩} \times 0.9^{\text{逾期天数}}\]

参考资料

  1. 软件工程与代码设计
  2. 编程语言与技术
  3. 个人发展与职业技能

获取最新的内容

为了避免页面使用缓存

Windows 用户可以使用 Ctrl + Shift + R

Mac 用户可以使用 Command + Shift + R 来强制刷新页面,以获取最新的内容