软件工程导论

东北林业大学建设的慕课
软件工程导论课程是东北林业大学建设的慕课、国家级一流本科课程。该课程于2020春夏在智慧树网首次开课，授课教师为李莉、张锡英、李琰。据2021年12月智慧树网显示，该课程已运行5学期，累计选课970人，累计学校10所，累计互动295次。
软件工程导论课程共六章，包括软件工程概述、软件需求、系统设计、编码、测试、维护。
课程性质
课程背景
软件定义世界，全球软件行业发展迅速，涵盖需求分析、软件设计、代码实现、测试审查、系统维护、开发管理等领域，但合格的软件工程从业人才缺口较大。网络时代学生的学习行为模式发生变化，讨论、互动、协作成为常见的学习模式。
课程定位
软件工程导论课程是一门将信息科技和工程思维相结合的课程，通过需求分析、软件设计、代码实现、测试审查、系统维护、开发管理等内容的学习，使学生理解并掌握科学的软件开发方法，树立正确的软件工程意识。
适应专业
软件工程导论课程适合计算机类专业学习。
课程简介
软件工程导论课程共六章，第一章介绍软件和软件危机、极限编程和敏捷过程、软件工程方法学等内容；第二章讲述结构化的需求分析、面向对象的需求分析等知识；第三章介绍OsbertOglesby案例初始及迭代设计、结构化的概要设计、结构化的详细设计等内容；第四章讲述编程实践、系统集成策略等知识；第五章介绍功能测试及OsbertOglesby黑盒测试、白盒单元测试等内容；第六章讲述维护的工作内容等知识。
课程大纲
第一章 软件工程概述	Software Engineering Introduction	1.1什么是软件工程 What is Software Engineering	1.1.1软件和软件危机 Software and Software Crisis	1.1.2软件工程定义与软件工程方法学 Definition of Software Engineering and Software Engineering Methodology	1.2软件生命周期模型 Life cycle models	1.2.1瀑布模型 Waterfall Model	1.2.2快速原型模型 Rapid Prototyping Model	1.2.3螺旋模型 Spiral Model	1.2.4增量模型 Incremental Model	1.2.5统一迭代过程 Rational Unified Process	1.2.6极限编程和敏捷过程 Extreme Programming and Agile Processes	第二章 软件需求 Software Requirement	2.1需求初始化 Initialize Requirement	2.2结构化的需求分析 Structured Analysis	2.2.1数据流图和数据字典 Data FlowDiagram and Data Dictionary	2.2.2基于数据流的传统分析技术 Classical Analysis Technique Based on Data Flow	2.3面向对象的需求分析 Object Oriented Analysis	2.3.1面向对象与uml Object-oriented and UML	2.3.2UML功能模型 UML Functional Model	2.3.3UML静态模型 UML Static Model	2.3.4UML动态模型 UML Dynamic Model	2.3.5Osbert Oglesby案例需求建模 Osbert Oglesby Case Requirement Modeling	第三章 系统设计 System Design	3.1系统设计概述 System Design Introdction	3.2结构化的概要设计 Structured System Architectural Design	3.2.1偶然内聚、逻辑内聚 Coincidental Cohesion and Logical Cohesion	3.2.2时间内聚、过程内聚 Temporal Cohesion and Procedural Cohesion	3.2.3通信内聚、功能内聚 Comunicational Cohesion and Functional Cohesion	3.2.4信息内聚及各种内聚的比较 Informational Cohesion and the Differences Between All Kinds of Cohesion	3.2.5内容耦合、公共耦合 Content Coupling and Common Coupling	3.2.6控制耦合 Control Coupling	3.2.7标记耦合、数据耦合 Stamp Coupling Data Coupling	3.2.8面向操作的设计 Operation Oriented Design	3.2.9面向数据的设计 Data Oriented Design	3.3结构化的详细设计 Structured System Detailed Design	3.3.1盒图 Nassi Shneiderman Diagram	3.3.2PAD图 Problem Analysis Diagram	3.3.3判定表 Decision Table	3.3.4判定树 Decision Tree	3.3.5层次图与IPO图 Hierarchy Diagram and Input-Process-Output	3.4面向对象的设计 Objected Oriented Design	3.4.1面向对象的分析建模 Object-Oriented Analytical Modeling	3.4.2面向对象的设计建模 Object-Oriented Design Modeling	3.4.3Osbert Oglesby案例初始设计 Osbert Oglesb Case Initial design	3.4.4Osbert Oglesby案例迭代设计 Osbert Oglesby Case Iterative Design	3.4.5Osbert Oglesby案例最终设计 Osbert Oglesby Case Final Design	第四章 编码 Coding	4.1良好的编程实践 Good Pragraming Practice	4.2集成 Integration	4.2.1一次性集成 Implementation, Then Integration	4.2.2系统集成策略 System Integration Strategy	第五章 测试 Testing	5.1测试概述 Testing Introduction	5.2黑盒单元测试 Black-Box Unit-testing	5.2.1等价测试和边界值分析 Equivalence Testing and Boundary Value Analysis	5.2.2功能测试及Osbert Oglesby黑盒测试案例 Functional Testing and Osbert Oglesby Black-Box Unit-testing Case	5.3白盒单元测试 White Box Unit-testing	5.3.1白盒单元测试（一） Statement coverage	5.3.2白盒单元测试（二） Branch coverage	5.4测试管理 Management of Testing	第六章 维护 Maintenance	6.1为什么要进行递交后的维护 Why Postdelivery Maintenance Is Necessary	6.2维护的工作内容 Content of Maintenance	6.3递交后的维护管理 Management of Postdelivery Maintenance
（注：课程大纲排版从左到右排列）
开课信息
开课次数	开课时间	参与人数
第1次开课	2020春夏	343
第2次开课	2020秋冬	242
第3次开课	2021春夏	179
第4次开课	2021秋冬	待定
第5次开课	2022春夏	招生中
该课程第1-5次开课授课教师均为李莉、张锡英、李琰，学时安排均为28学时。
课程特色
软件工程导论课程根据软件行业发展需求讲授软件工程知识和技术，注重知识之间的系统性，引导学生在实际软件行业实践中创造性地开展工作。
教学目标
使学生树立正确的软件工程意识，理解并掌握科学的软件开发方法；
强化学生工程能力的培养，提高学生解决复杂软件工程问题的能力；
提升学生对于复杂软件工程问题进行分析和评价的能力。
考核标准
平时成绩50分
平时成绩=学习进度分（15.0分）+学习行为分（35.0分）。
章测试成绩10分
单项类目名称	卷面分	单项满分
第一章 单元测试	10	1.7
第二章 单元测试	11	1.9
第三章 单元测试	10	1.7
第四章 单元测试	10	1.7
第五章 单元测试	10	1.7
第六章 单元测试	8	1.3
期末考试成绩40分
期末考试得分=期末考试实际得分/期末考试总分*权值。
采用线上期末考试形式作为期末考试成绩。
试卷：教程考试。
所获荣誉
2020年11月24日，软件工程导论课程被中华人民共和国教育部认定为首批“国家级一流本科课程（线上线下混合式一流课程）”。
教师简介
李莉，东北林业大学信息与计算机工程学院副教授，软件工程专业教工党支部书记，专业副主任。主要研究方向：先进软件工程技术、群智能优化、大型分布式计算。
张锡英，硕士，东北林业大学信息与计算机工程学院副教授，硕士生导师。主要研究方向：现代信息技术及网络应用，数据库技术、图像检索。
李琰，东北林业大学信息与计算机工程学院讲师，主要研究方向：软件工程，遥感和林业信息。