《软件工程导论》课程教学大纲课程编号:课程名称:软件工程导论英文名称:IntroductionofSoftwareEngineering课程类型:专业基础课程总学时:24理论学时:18实验学时:6适用对象:影像技术课程简介:本课程是一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。一、课程性质、目的和任务本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,掌握软件开发过程中所需设计文档的编写,能够熟练掌握对系统的建模和软件开发过程中用到的测试技术和技巧。让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。二、 教学基本要求本课程主要分为两大部分,第一部分是基础理论知识,详细介绍软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;第二部分是基本操作技能,重点是介绍常用软件的使用方法,以及开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的基础。三、各教学环节学时分配章(专题)主要内容学时安排1第一部分软件工程学概述2第二部分可行性研究2第三部分需求分析2第四部分软件设计-1 -
- 1 - 《软件工程导论》课程教学大纲 课程编号: 课程名称:软件工程导论 英文名称:Introduction of Software Engineering 课程类型:专业基础课程 总学时:24 理论学时:18 实验学时:6 适用对象:影像技术 课程简介: 本课程是一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件 开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨 道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。 一、课程性质、目的和任务 本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关 原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,掌握软件开发过程中 所需设计文档的编写,能够熟练掌握对系统的建模和软件开发过程中用到的测试技术和技 巧。让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各 项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。 二、教学基本要求 本课程主要分为两大部分,第一部分是基础理论知识,详细介绍软件工程的基本概念、 基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准 和规范等;第二部分是基本操作技能,重点是介绍常用软件的使用方法,以及开发高质量软 件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的 基础。 三、各教学环节学时分配 章(专题) 主要内容 学时安排 第一部分 软件工程学概述 1 第二部分 可行性研究 2 第三部分 需求分析 2 第四部分 软件设计 2
第五部分实现22第六部分软件维护3第七部分面向对象方法学2第八部分软件项目管理6第九部分软件工程实验24合计学时四、教学内容及要求第一部分软件工程学概述一、教学目的通过本章的学习,了解和掌握软件工程的基本概念(如软件和软件工程的定义、等),软件危机的表现形式、产生的原因及消除的途径,软件工程的基本原理、方法学,软件的生存期,几种主要的软件开发模型等。二、教学重点1.软件危机的产生、典型表现形式、产生的原因及消除的途径;2.软件工程的基本原理、包括软件工程的定义、特性、方法学;3.软件生存周期;4.软件过程和几种主要的开发模型。三、教学难点1.软件危机2.软件工程的基本原理3.软件生命周期4.几种主要的开发模型。四、讲授要求基本概念讲解清楚,详略得当五、讲授要点软件危机、软件工程、软件生命周期、软件过程第二部分可行性分析一、教学目的深刻理解可行性研究的必要性,掌握可行性研究的任务、过程、成本效益分-2 -
- 2 - 四、教学内容及要求 第一部分 软件工程学概述 一、教学目的 通过本章的学习,了解和掌握软件工程的基本概念(如软件和软件工程的定 义、等),软件危机的表现形式、产生的原因及消除的途径,软件工程的基本原 理、方法学,软件的生存期,几种主要的软件开发模型等。 二、教学重点 1.软件危机的产生、典型表现形式、产生的原因及消除的途径; 2.软件工程的基本原理、包括软件工程的定义、特性、方法学; 3.软件生存周期; 4.软件过程和几种主要的开发模型。 三、教学难点 1.软件危机 2.软件工程的基本原理 3.软件生命周期 4.几种主要的开发模型。 四、讲授要求 基本概念讲解清楚,详略得当 五、讲授要点 软件危机、软件工程、软件生命周期、软件过程 第二部分 可行性分析 一、教学目的 深刻理解可行性研究的必要性,掌握可行性研究的任务、过程、成本效益分 第五部分 实现 2 第六部分 软件维护 2 第七部分 面向对象方法学 3 第八部分 软件项目管理 2 第九部分 软件工程实验 6 合计学时 24
析以及可行性研究报告的主要内容;掌握系统流程图、数据流程图、数据字典概念以及项目开发计划的基本内容。二、教学重点1.可行性研究的任务、具体步骤、成本效益分析、可行性研究报告;2.系统流程图;3.数据流图;4.数据字典。三、教学难点1.系统流程图;2.数据流图;3.数据字典四、讲授要求系统流程图,数据流图和数据字典作详细讲解五、讲授要点可行性研究的任务、可行性研究的过程、系统流程图、数据流图、数据字典、成本/效益分析第三部分需求分析一、教学目的掌握需求分析的任务,需求获取的方法、分析建模与需求规格说明,掌握数据建模的实体联系图、数据规范化,掌握描述系统行为模型的状态转换图,掌握层次方框图、Warnier图、IPO(HIPO)图。掌握验证软件需求的必要性、方法。二、教学重点1.需求分析的任务,需求获取、分析建模与需求规格说明;2.实体联系图以及其他图形工具三、教学难点1.实体联系图2.需求分析建模四、讲授要求用实例来来进行需求分析演示讲解五、讲授要点- 3 -
- 3 - 析以及可行性研究报告的主要内容;掌握系统流程图、数据流程图、数据字典概 念以及项目开发计划的基本内容。 二、教学重点 1.可行性研究的任务、具体步骤、成本效益分析、可行性研究报告; 2.系统流程图; 3.数据流图; 4.数据字典。 三、教学难点 1.系统流程图; 2.数据流图; 3.数据字典 四、讲授要求 系统流程图,数据流图和数据字典作详细讲解 五、讲授要点 可行性研究的任务、可行性研究的过程、系统流程图、数据流图、数据字典、 成本/效益分析 第三部分 需求分析 一、教学目的 掌握需求分析的任务,需求获取的方法、分析建模与需求规格说明,掌握数 据建模的实体联系图、数据规范化,掌握描述系统行为模型的状态转换图,掌握 层次方框图、Warnier 图、IPO(HIPO)图。掌握验证软件需求的必要性、方法。 二、教学重点 1.需求分析的任务,需求获取、分析建模与需求规格说明; 2.实体联系图以及其他图形工具 三、教学难点 1.实体联系图 2.需求分析建模 四、讲授要求 用实例来来进行需求分析演示讲解 五、讲授要点
需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体一联系图、数据规范化、状态转换图与其他图形工具、验证软件需求第四部分软件设计一、教学目的1.掌握软件总体设计的目的、任务,掌握软件总体设计的过程、设计原理和启发规则2.掌握描述软件结构的工具以及面向数据流的设计方法。能够将具体的数据流图的转换为软件的结构图,即变换分析技术和事务分析技术。3.详细设计阶段的目的、任务和结构化程序设计的概念4掌握人机界面设计的方法、过程设计的工具以及面向数据结构的设计方法5.了解程序复杂程度的定量度量。二、教学重点1.软件设计的过程,原理及启发规则;2.面向数据流的设计方法;3.结构化程序设计;4.过程设计的工具;5.面向数据结构的设计方法三、教学难点1.软件设计的原理,启发规则;2.面向数据流的设计方法;3.过程设计的工具4.面向数据结构的设计四、讲授要求理论联系实际,深入浅出,多举实例五、讲授要点1:总体设计,包括:总体设计的过程、总体设计原理、启发规则、描述软件结构的图形工具、面向数据流的设计方法:2.详细设计,包括:结构程序设计、人机界面设计、过程设计的工具、面向数据结构的设计方法、程序复杂程度的定量度量;- 4 -
- 4 - 需求分析的任务、与用户沟通获取需求的方法、分析建模与规格说明、实体 -联系图、数据规范化、状态转换图与其他图形工具、验证软件需求 第四部分 软件设计 一、教学目的 1.掌握软件总体设计的目的、任务,掌握软件总体设计的过程、设计原理 和启发规则 2.掌握描述软件结构的工具以及面向数据流的设计方法。能够将具体的数 据流图的转换为软件的结构图,即变换分析技术和事务分析技术。 3.详细设计阶段的目的、任务和结构化程序设计的概念, 4.掌握人机界面设计的方法、过程设计的工具以及面向数据结构的设计方 法 5.了解程序复杂程度的定量度量。 二、教学重点 1.软件设计的过程,原理及启发规则; 2.面向数据流的设计方法; 3.结构化程序设计; 4.过程设计的工具; 5.面向数据结构的设计方法 三、教学难点 1.软件设计的原理,启发规则; 2.面向数据流的设计方法; 3.过程设计的工具 4.面向数据结构的设计 四、讲授要求 理论联系实际,深入浅出,多举实例 五、讲授要点 1.总体设计,包括:总体设计的过程、总体设计原理、启发规则、描述软 件结构的图形工具、面向数据流的设计方法; 2.详细设计,包括:结构程序设计、人机界面设计、过程设计的工具、面向 数据结构的设计方法、程序复杂程度的定量度量;
第五部分实现一、教学目的了解如何选择程序设计语言,培养良好的编码风格,掌握软件测试的目标、准则、方法和步骤,掌握单元测试、集成测试、确认测试的方法步骤,掌握白盒测试和黑盒测试技术的概念、方法,掌握调试过程与途径,了解软件可靠性的概念及其计算方法。能够按照测试的原则和技术,分析确定高效的测试用例。二、教学重点1.选择程序设计语言、编码风格;2.软件测试基础;3.单元测试、集成测试、确认测试;4.白盒测试技术和黑盒测试技术;5.调试;6.软件可靠性、可用性。三、教学难点1.软件测试的方法和步骤;2.单元测试代码审查;3.黑盒测试技术4.白盒测试技术5..各阶段测试用例的设计四、讲授要求对黑盒测试技术和白盒测试技术的测试范围及用例设计作细致讲解五、讲授要点1:编码,包括:选择程序设计语言、编码风格:2.软件测试,包括:软件测试基础、单元测试、集成测试、确认测试、白盒测试技术、黑盒测试技术;3.调试,包括:调试过程、调试途径:4.软件可靠性第六部分维护一、教学目的-5
- 5 - 第五部分 实现 一、教学目的 了解如何选择程序设计语言,培养良好的编码风格,掌握软件测试的目标、 准则、方法和步骤,掌握单元测试、集成测试、确认测试的方法步骤,掌握白盒 测试和黑盒测试技术的概念、方法,掌握调试过程与途径,了解软件可靠性的概 念及其计算方法。能够按照测试的原则和技术,分析确定高效的测试用例。 二、教学重点 1.选择程序设计语言、编码风格; 2.软件测试基础; 3.单元测试、集成测试、确认测试; 4.白盒测试技术和黑盒测试技术; 5.调试; 6.软件可靠性、可用性。 三、教学难点 1.软件测试的方法和步骤; 2.单元测试代码审查; 3.黑盒测试技术 4.白盒测试技术 5.各阶段测试用例的设计 四、讲授要求 对黑盒测试技术和白盒测试技术的测试范围及用例设计作细致讲解 五、讲授要点 1.编码,包括:选择程序设计语言、编码风格; 2.软件测试,包括:软件测试基础、单元测试、集成测试、确认测试、白 盒测试技术、黑盒测试技术; 3.调试,包括:调试过程、调试途径; 4.软件可靠性 第六部分 维护 一、教学目的