Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Tsinghua University

软件工程

Tsinghua University via XuetangX

Overview

本课程从软件生命周期的角度讲解软件工程的基本概念、基本原理和基本方法,内容涉及开发管理、需求建模、设计实现和测试维护等四大部分的相关基础知识,强调软件工程的根本性和永久性原则,诸如可测试性、软件体系结构、模块化和可复用性等,关注软件系统的复杂性问题以及迭代式的开发方法,重视分析问题与解决问题的能力以及软件工程实践训练,培养学生良好的工程化开发习惯。经过本课程的学习,学生能够掌握软件工程的基础知识,从工程学角度认识软件在大型复杂系统中的设计和应用,具备作为软件工程师从事软件开发所需的专业能力。 

Syllabus

  • 第1章 初识软件工程
    • 1.1 软件无处不在
    • 1.2 软件的本质特性
    • 1.3 软件工程的产生与发展
    • 1.4 软件工程的基本概念
    • 1.5 软件质量实现
    • 1.6 业界人士谈软件工程
    • 测验题
    • 讨论题
  • 第2章 编写高质量代码
    • 2.1 编程过程与规范
    • 2.2 良好的编程实践
    • 2.3 Python集成开发环境
    • 2.4 代码静态检查
    • 2.5 代码性能分析
    • 2.6 结对编程实践
    • 2.7 刘贺谈软件工程
    • 测验题
    • 讨论题
  • 第3章 单元测试
    • 3.1 单元测试概述
    • 3.2 黑盒测试方法
    • 3.3 白盒测试方法
    • 3.4 单元测试工具
    • 测验题
    • 讨论题
  • 第4章 软件开发过程
    • 4.1 软件过程
    • 4.2 软件过程模型
    • 4.3 敏捷开发过程
    • 4.4 微软公司开发过程
    • 测验题
  • 第5章 团队开发管理
    • 5.1 团队组织与管理
    • 5.2 项目沟通管理
    • 5.3 软件项目计划
    • 5.4 软件项目估算
    • 测验题
    • 讨论题
  • 第6章 敏捷开发与配置管理
    • 6.1 敏捷开发之Scrum
    • 6.2 用户故事与估算
    • 6.3 团队协作工具Tower
    • 6.4 配置管理
    • 6.5 配置管理工具Git
    • 6.6 持续集成与交付
    • 测验题
    • 作业题
  • 第7章 华为云DevOps实践
    • 7.1 华为云DevOps和实例
    • 7.2 新建Scrum项目
    • 7.3 持续规划与设计
    • 7.4 持续开发与集成
    • 7.5 持续测试与反馈
    • 7.6 持续部署与发布
  • 第8章 需求获取
    • 8.1 需求工程师
    • 8.2 需求定义
    • 8.3 需求的类型
    • 8.4 需求工程过程
    • 8.5 需求的主要来源
    • 8.6 需求获取技术
    • 8.7 撰写需求文档
    • 测验题
    • 讨论题
  • 第9章 用例建模
    • 9.1 用例建模概念
    • 9.2 用例建模过程
    • 9.3 用例建模精讲
    • 9.4 建模工具介绍
    • 9.5 微信抢票应用案例
    • 测验题
    • 讨论题
  • 第10章 面向对象分析与设计
    • 10.1 面向对象分析
    • 10.2 CRC卡片分拣法
    • 10.3 面向对象设计
    • 10.4 类图建模
    • 测验题
    • 讨论题
  • 第11章 行为建模
    • 11.1 顺序图概念
    • 11.2 顺序图建模
    • 11.3 顺序图风格
    • 11.4 状态建模
    • 11.5 状态图
    • 11.6 状态图精讲
    • 测验题
    • 讨论题
  • 第12章 软件系统设计
    • 12.1 软件体系结构概念
    • 12.2 软件设计原则
    • 12.3 软件体系结构风格(一)
    • 12.4 软件体系结构风格(二)
    • 12.5 软件体系结构风格(三)
    • 12.6 软件设计过程
    • 12.7 Web系统架构设计
    • 12.8 数据库选择策略
    • 测验题
    • 作业题
  • 第13章 软件交互设计
    • 13.1 交互设计概述
    • 13.2 交互设计目标
    • 13.3 GUI设计原则
    • 13.4 KLM效率模型
    • 13.5 Fitts定律
    • 13.6 交互设计过程
    • 测验题
  • 第14章 软件系统测试
    • 14.1 软件测试概念
    • 14.2 软件测试类型
    • 14.3 软件功能测试
    • 14.4 软件性能测试
    • 测验题
  • 第15章 软件交付与维护
    • 15.1 软件部署与交付
    • 15.2 软件演化与维护
    • 测验题
  • 第16章 期末考试与总结
    • 第一部分:基础知识
    • 第二部分:编程与测试(选做)
  • 期末考试

    Taught by

    Qiang Liu and Lin Liu

    Tags

    Reviews

    Start your review of 软件工程

    Never Stop Learning.

    Get personalized course recommendations, track subjects and courses with reminders, and more.

    Someone learning on their laptop while sitting on the floor.