课程简介
本课程从软件生命周期的角度讲解软件工程的基本概念、基本原理和基本方法,内容涉及开发管理、需求建模、设计实现和测试维护等四大部分的相关基础知识,强调软件工程的根本性和永久性原则,诸如可测试性、软件体系结构、模块化和可复用性等,关注软件系统的复杂性问题以及迭代式的开发方法,重视分析问题与解决问题的能力以及软件工程实践训练,培养学生良好的工程化开发习惯。经过本课程的学习,学生能够掌握软件工程的基础知识,从工程学角度认识软件在大型复杂系统中的设计和应用,具备作为软件工程师从事软件开发所需的专业能力。
展开
课程章节
- 第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
- 测验题
- 作业题
- 第7章 需求获取
- 7.1 需求工程师
- 7.2 需求定义
- 7.3 需求的类型
- 7.4 需求工程过程
- 7.5 需求的主要来源
- 7.6 需求获取技术
- 7.7 撰写需求文档
- 测验题
- 讨论题
- 第8章 用例建模
- 8.1 用例建模概念
- 8.2 用例建模过程
- 8.3 用例建模精讲
- 8.4 建模工具介绍
- 8.5 微信抢票应用案例
- 测验题
- 讨论题
- 第9章 面向对象分析与设计
- 9.1 面向对象分析
- 9.2 CRC卡片分拣法
- 9.3 面向对象设计
- 9.4 类图建模
- 测验题
- 讨论题
- 第10章 行为建模
- 10.1 顺序图概念
- 10.2 顺序图建模
- 10.3 顺序图风格
- 10.4 状态建模
- 10.5 状态图
- 10.6 状态图精讲
- 测验题
- 讨论题
- 第11章 软件系统设计
- 11.1 软件体系结构概念
- 11.2 软件设计原则
- 11.3 软件体系结构风格(一)
- 11.4 软件体系结构风格(二)
- 11.5 软件体系结构风格(三)
- 11.6 软件设计过程
- 11.7 Web系统架构设计
- 11.8 数据库选择策略
- 测验题
- 作业题
- 第12章 软件交互设计
- 12.1 交互设计概述
- 12.2 交互设计目标
- 12.3 GUI设计原则
- 12.4 KLM效率模型
- 12.5 Fitts定律
- 12.6 交互设计过程
- 测验题
- 第13章 软件系统测试
- 13.1 软件测试概念
- 13.2 软件测试类型
- 13.3 软件功能测试
- 13.4 软件性能测试
- 测验题
- 第14章 软件交付与维护
- 14.1 软件部署与交付
- 14.2 软件演化与维护
- 测验题
- 第15章 期末考试与总结
- 第一部分:基础知识(50分)
- 第二部分:编程与测试(选做)
- 课程调查与建议
授课教师
-
刘强 清华大学 软件学院 副教授
刘强,清华大学软件学院副教授,研究生导师,担任教育部软件工程专业教学指导分委员会秘书长。学堂在线《软件工程》主讲教师和负责人,国家级精品资源共享课和清华大学精品课《软件工程》课程负责人。曾被评为清华大学研究生良师益友和国家示范性软件学院十佳教师,2014年获得国家教学成果二等奖。
-
精华笔记
精华笔记正在评选中,去看看全部笔记
常见问题
目前还没有常见问题哟!