软件工程专业导论
软件工程专业导论
9万+ 人选课
更新日期:2025/05/05
开课时间2025/03/17 - 2025/06/30
课程周期15 周
开课状态开课中
每周学时-
课程简介

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


本课程共计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】你知道软件工程专业学生应如何学习吗?