课程详情
课程评价
spContent=软件工程是研究或应用工程化方法创造、构建和维护高质量软件的学科。本课程以软件工程概念、问题、思维、理论与技术为主线,深入浅出地介绍了软件工程学科与知识体系、计算思维、程序与算法、软件系统构造、软件需求、软件设计、软件工程技术、软件管理等内容;还介绍了软件工程课程体系及其学习方法。
—— 课程团队
课程概述

本课程作为软件工程专业的入门课程,主要使学生初步了解软件工程专业与学科,认识软件工程专业知识内容与学习方法,为进入软件工程专业学习打下良好基础。具体而言,本课程帮助学生了解软件工程的基本概念、知识体系与学科范畴;学习计算思维与计算机基本原理;认识软件与程序表达及问题求解算法;了解软件设计与构造技术及艺术;了解软件工程技术与过程管理;理解软件工程专业学习方法及职业发展。

本课程共计11讲。

1 软件工程之启蒙:初识软件工程专业

2 计算思维之起步:符号化-计算化与自动化

3 软件与程序思想:组合-抽象-重复-构造-递归

4 软件之灵魂:算法

5 软件系统构造:函数-对象-组件-服务

6 软件的生命周期

7 理解问题:软件需求

8 软件技术与艺术结合:软件设计

9 软件工程技术:软件测试与维护

10 软件工程管理:软件项目管理

11 软件之人才–软件工程教育与职业发展

课程大纲

第一讲 软件之启蒙--初识软件工程专业

0.0 软件工程专业导论课程引言

1.1 开始认识软件工程

1.2 软件工程的基本概念

1.3 计算机发展历程及趋势

1.4 软件工程的发展及趋势

1.5 软件工程专业学科及范畴

1.6 软件工程的知识体系

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论1-1】什么是软件工程?软件工程专业主要是做什么的?

第1讲测验(计分测验)

第二讲 计算思维起步 --符号化、计算化与自动化

2.1 思维能否计算--逻辑的符号化与计算化

2.2 图像能否隐藏信息--非数学的符号化与计算化

2.3 怎样实现自动计算--计算与硬件

2.4 怎样实现复杂计算的自动化--计算与机器级程序及其执行

2.5 怎样编写程序--高级语言

基础内容--信息表示、进位制及转换与小数点之处理

本讲精简版视频

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论2-1】学习了“符号化-计算化-自动化”,你有收获吗?

第2讲测验(计分测验)

第三讲 软件与程序思想--组合-抽象-重复-构造-递归

3.1 为什么需要程序--程序与计算系统

3.2 基于运算组合式的构造示例--组合与抽象

3.3 递归与迭代--重复性构造的表达与执行

3.4 用计算机语言实现递归和迭代

基础内容:高级语言程序的构成要素及其执行

本讲精简版视频

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论3-1】你是怎样理解“程序”及程序设计的本质的?

第3讲测验(计分测验)

第四讲 软件之灵魂--算法

4.1 为什么需要算法

4.2 数学建模与算法策略设计

4.3 算法数据结构与控制结构设计

4.4 算法的实现--程序设计

4.5 算法的复杂性分析与可解难解问题

本讲精简版视频

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论4-1】为什么说算法是软件/软件系统的灵魂?

第4讲测验(计分测验)

第五讲 软件系统构造--函数-对象-组件与软件框架

5.1 面向对象的概念

5.2 面向对象的程序设计语言与统一建模语言

5.3 基于对象框架构造软件与面向对象构造软件

5.4 组件化构造软件与服务化构造软件

5.5 软件构造方法之演变

本讲精简版视频

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论5-1】我们要掌握哪些软件构造方法?

第5讲测验(计分测验)

第六讲 软件生命周期

6.1 软件特性与软件生命周期模型

6.2 基本软件过程与软件模型

6.3 模型驱动与软件方法论

6.4 软件环境与云环境

本讲精简版视频

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论6-1】为什么要提出软件生命周期,有什么作用,要解决什么问题?

第6讲测验(计分测验)

第七讲 理解问题--软件需求

7.1 为什么要理解需求

7.2 理解需求的一种方法:结构化思维及其举例

7.3 再谈需求分析

7.4 场景理解示例及本讲小结

本讲精简版视频

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论7-1】“盲人摸象”的例子说明了什么问题?

第7讲测验(计分测验)

第八讲 软件的艺术--软件设计

8.1 什么是软件设计及软件设计范畴

8.2 软件设计的一种思维:面向对象的思维及其设计举例

8.3 软件设计的艺术--三个软件设计示例

8.4 软件设计的本质

本讲精简版视频

本讲模拟练习题(不计分)

本讲教学课件(PDF文档)

【讨论8-1】什么是设计?什么是软件设计?

第8讲测验(计分测验)

第九讲 软件工程技术-软件测试与维护

9.1 软件质量

9.2 软件测试

9.3 软件维护与软件演化

9.4 软件过程

本讲教学课件(PDF文档)

本讲模拟练习题(不计分)

【讨论9-1】黑盒测试 vs. 白盒测试

【讨论9-2】产品质量与软件过程的关系?

【讨论9-3】软件再工程的基本思想是什么?需要哪些关键技术?

第9讲测验(计分测验)

第十讲 成功之保障—软件项目管理

10.1 软件项目管理的概念与重要性

10.2 软件项目管理过程

10.3 软件度量与软件项目计划

10.4 小结

【讨论10-1】是否所有的软件项目都需要管理?不同类型的项目管理重点有什么区别?

本讲模拟练习题(不计分)

【讨论10-2】如何编制一个科学合理的WBS?

【讨论10-3】软件项目管理的工具有哪些?有什么作用?

第10讲测验(计分测验)

第十一讲 软件之人才–软件工程教育与职业发展

11.1 软件工程人才需求

11.2 软件工程人才的知识、能力与素质

11.3 软件工程专业的培养方案与课程体系

11.4 软件工程学生的学习方法与能力提高

11.5 软件工程专业人才的职业发展

【讨论11-1】你知道软件工程专业学生应如何学习吗?

课程总结

课程总结

预备知识

暂无

证书要求

设置“合格”(达到60分)、"优秀"(达到80分)两档课程标准,由任课教师签发课程结业证书,其中成绩“优秀”者将颁发优秀证书。

参考资料

1、孙家广等,《软件工程——理论、方法与实践》,高等教育出版社,2008

2、战德臣等,《大学计算机-计算思维导论》,电子工业出版社,2013年第1

3、朱少民等,《软件工程导论》,清华大学出版社,2009

4、徐晓飞等,《服务工程方法论》,清华大学出版社,2011

5Shari Lawrence Pfleeger, Software Engineering-- Theory and Practice (4th Edition), Prentice Hall, 2009

6Roger S. Pressman, Software EngineeringA Practitioners Approach (7th Edition), McGraw-Hill Education, 2007  (中文翻译版,机械工业出版社,2011)

7、其他“软件工程导论” “软件工程概论”的参考书


常见问题

暂无