本在线课程 面向软件工程、计算机科学与技术等相关专业的同学,同时也面向对软件 工程基本原理、软件开发过程、软件开发方法、和技术等、感兴趣的同学。
本在线课程内容主要分为三大部分:
第一部分介绍软件工程的基本原理,力求通过一些具体的实例来阐述清楚软件工程的思想,帮助学生建立起软件工程的完整且清晰的概念;
第二部分深入软件开发过程,全面阐述经典的软件工程开发方法、开发技术和工具在软件开发各个阶段(比如问题定义与可行性研究、需求分析、系统设计等阶段)的运用,通过案例分析使学生坚实地掌握和运用软件工程的知识内涵;
第三部分介绍软件测试、系统维护以及软件项目管理等软件质量保证和软件开发过程的管理方法等知识,力求体现软件工程的“质量”要素。
本在线课程的特点在于突出软件工程的应用性,将软件工程理论与实践相结合,在教学中突出案例分析,让学生在实践中学习并理解软件工程基本理论和方法。通过本课程的学习,学生能学会解决实际的工程问题。
通过本课程的教学,学生能对软件生产工程化思想、软件开发过程和软件开发方法有较全面的了解;同时通过软件项目案例的学习,学生们能把软件工程理论和软件开发实践相结合,体会软件系统开发的完整过程,具备初步的系统分析与设计的能力,能够为今后学习和工作打下相应的工程基础。
第1周 软件工程概述
1.1.软件的定义与软件的发展
1.2 软件危机
1.3 软件工程的定义与发展过程
1.4 软件工程的基本原则
单元测验
第2周 软件生存周期及软件过程
2.1 软件生存周期及软件过程
2.2 传统软件过程模型
2.3 现代软件过程模型
单元测验
第3周 问题定义及可行性研究
3.1 问题定义
3.2 可行性研究
3.3 成本效益分析
可行性研究报告模板
单元测验
第4周 需求分析
4.3 数据流图
4.4 面向对象需求分析方法
软件需求说明书
4.1 需求分析概述
4.2 结构化需求分析方法
单元测验
第5周 系统设计
5.1 系统设计概述
5.2 软件设计原理
5.3 结构化设计
5.4 面向对象设计方法
单元测验
第6周 系统实现
6.1 程序设计语言的选择
6.2 编程原则和编程习惯
6.3 程序的效率
6.4 代码管理
单元测验
第7周 软件测试与调试
7.1 软件测试概述
7.2 软件测试准则
7.3 白盒测试方法
7.4 黑盒测试方法
7.5 软件调试
单元测验
第8周 软件维护
8.1 软件维护概述
8.2 软件维护需注意的问题
单元测验
第9周 软件项目管理
9.1 软件项目管理概述
9.2 软件项目管理过程和内容
9.3 软件项目管理计划
在修本课程之前,学生最好具备程序设计基础、面向对象程序设计、数据库原理与应用等相关知识。
1.《软件工程语实践》 廖礼萍编著 西安交通大学出版社 2012年出版
2.《面向对象软件工程:使用UML、模式与Java》,Bernd Bruegge, 叶俊民等翻译,华大学出版社,2010年第三版;
3.《软件工程》,郑人杰、马素霞、殷人昆编著,机械工业出版社,2010年第一版;
4.《软件工程项目案例与实践指导》,马小军等编著,清华大学出版社,2013年第一版;
5.《软件工程实例教程》,吴洁明编著,清华大学出版社,2010年第一版;
6. 《构建之法(第三版)》, 邹欣, 人民邮电出版社, 2017-6出版
7.《代码大全(第2版)》,[美] 史蒂夫·迈克康奈尔,电子工业出版社,2006-3出版