课程概况
本课程作为软件工程专业的入门课程,主要使学生初步了解软件工程专业与学科,认识软件工程专业知识内容与学习方法,为进入软件工程专业学习打下良好基础。具体而言,本课程帮助学生了解软件工程的基本概念、知识体系与学科范畴;学习计算思维与计算机基本原理;认识软件与程序表达及问题求解算法;了解软件设计与构造技术及艺术;了解软件工程技术与过程管理;理解软件工程专业学习方法及职业发展。
本课程共计11讲:
第1讲 软件工程之启蒙:初识软件工程专业
第2讲 计算思维之起步:符号化-计算化与自动化
第3讲 软件与程序思想:组合-抽象-重复-构造-递归
第4讲 软件之灵魂:算法
第5讲 软件系统构造:函数-对象-组件-服务
第6讲 软件的生命周期
第7讲 理解问题:软件需求
第8讲 软件之艺术:软件设计
第9讲 软件工程技术:软件测试与维护
第10讲 软件工程管理:软件项目管理
第11讲 软件之人才–软件工程教育与职业发展
课程大纲
第1讲 软件工程之启蒙:初识软件工程专业
使学生初识软件工程基本概念;了解计算机发展历程、软件工程技术发展及趋势;初步学习计算机学科与软件工程学科范畴、软件工程专业知识体系。
第2讲 计算思维之起步:符号化-计算化与自动化
使学生认识和理解基于0/1符号的信息表示、0/1二值逻辑及位运算、计算思维与自动计算基本原理、计算机机器语言与高级语言、程序的基本概念、程序控制与自动执行等。
第3讲 软件与程序思想:组合-抽象-重复-构造-递归
介绍计算系统与程序的关系、程序的组合-抽象-重复-构造机理与思维、程序的构造方法、程序中的迭代与递归思想及其运用等。
第4讲 软件之灵魂:算法
讲授算法与程序的关系、运用算法求解问题的思想、数学建模与算法策略、算法思想的精确表达、算法的程序设计、算法分析与算法复杂性等。
第5讲 软件系统构造:函数-对象-组件-服务
讲解软件系统的构造方法,基于函数的构造;基于对象框架的构造;基于对象和类的构造;基于组件和结构框架的构造;基于服务的构造等;面向对象程序设计语言、面向对象思维的表达-统一建模语言UML;软件系统构造方法的演变等。
第6讲 软件的生命周期
介绍什么是软件的生命周期;软件的生命周期模型及基本过程;模型驱动的软件开发方法;面向生命周期的软件开发方法;生命周期相关的软件工程生态环境等。
第7讲 理解问题:软件需求
阐述软件需求问题、理解软件需求的一种思维方法--结构化思维方法、软件需求的多样性、软件需求工程的过程(包括需求分析、需求建模、需求规范、需求验证、需求管理等)。
第8讲 软件之艺术:软件设计
什么是设计?什么是软件设计?软件设计范畴;软件设计过程及符号;软件设计的抽象与构造;软件设计的一种思维方法--面向对象思维方法;软件设计的知识体系等。
第9讲 软件工程技术:软件测试与维护
介绍软件工程技术中的软件质量、软件测试技术与方法、软件维护技术与软件演化过程、软件配置管理技术、软件过程与软件能力成熟度CMM等方面。
第10讲 软件工程管理:软件项目管理
阐述软件工程项目管理的重要性,介绍软件项目管理相关的人员组织与管理、软件度量、软件项目计划、风险管理、软件质量保证、软件过程能力评估等。
第11讲 软件之人才–软件工程教育与职业发展
帮助学生了解软件工程专业人才的知识、能力与素质要求、软件工程教育培养方案与课程体系、软件工程专业学习过程与方法、软件人才发展途径与职业规划等。
证书或学分
设置“合格”(达到60分)、"优秀"(达到80分)两档课程标准,由任课教师签发课程结业证书,其中成绩“优秀”者将颁发优秀证书。
参考资料
1、孙家广等,《软件工程——理论、方法与实践》,高等教育出版社,2008年
2、战德臣等,《大学计算机-计算思维导论》,电子工业出版社,2013年第1版
3、朱少民等,《软件工程导论》,清华大学出版社,2009年
4、徐晓飞等,《服务工程方法论》,清华大学出版社,2011年
5、Shari Lawrence Pfleeger, Software Engineering-- Theory and Practice (4th Edition), Prentice Hall, 2009
6、Roger S. Pressman, Software Engineering—A Practitioner’s Approach (7th Edition), McGraw-Hill Education, 2007 (中文翻译版,机械工业出版社,2011)
7、其他“软件工程导论” 或 “软件工程概论”的参考书