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