《软件工程》课程教学大纲 一、课程基本信息 课程代码:16107004/16159703 课程名称:软件工程 英文名称:Software Engineering 课程类别:专业课 时:6448(其中实验16/12学时) 学 分:43 适用对象:软件工程、计算机科学与技术 考核方式:考试 先修课程:程序设计、数据结构、操作系统、数据库原理等 二、课程简介 中文简介: 本课程是面向计算机科学与技术和软件工程本科专业的专业必修课。该课程是 门研究软件开发与维护的普遍原理和技术的工程学科,通过本课程的学习为实际的软 件开发提供帮助同时也为深入研究这门学科奠定良好的基础,把马克思主义的理论与 方法运用到软件工程之中。本课程主要是对软件工程的入门介绍,着重从实用角度讲 述软件工程的基本原理概念和技术方法。包括软件过程,软件需求分析,软件设计, 软件测试,软件维护,软件项目管理,软件可靠性等多方面的内容。 英文简介: This course is a required course for undergraduate students of computer science and technology and software engineering.This course is an engineering subject that studies the general principles and technologies of software development and maintenance.Through the study of this course,we can provide help for the actual software development,and lay a good foundation for the in-depth study of this subject,and apply the Marxist theory and methods to software engineering.This course is mainly an introduction to software engineering,focusing on the basic principles,concepts and technical methods of software engineering from a practical point of view.It includes software process,software requirement analysis,software design,software testing, software maintenance,software project management,software reliability and so on 三、课程性质与教学目的
1 《软件工程》课程教学大纲 一、课程基本信息 课程代码:16107004/16159703 课程名称:软件工程 英文名称:Software Engineering 课程类别:专业课 学 时:64/48(其中实验 16/12 学时) 学 分:4/3 适用对象: 软件工程、计算机科学与技术 考核方式:考试 先修课程:程序设计、数据结构、操作系统、数据库原理等。 二、课程简介 中文简介: 本课程是面向计算机科学与技术和软件工程本科专业的专业必修课。该课程是一 门研究软件开发与维护的普遍原理和技术的工程学科,通过本课程的学习为实际的软 件开发提供帮助同时也为深入研究这门学科奠定良好的基础,把马克思主义的理论与 方法运用到软件工程之中。本课程主要是对软件工程的入门介绍,着重从实用角度讲 述软件工程的基本原理概念和技术方法。包括软件过程,软件需求分析,软件设计, 软件测试,软件维护,软件项目管理,软件可靠性等多方面的内容。 英文简介: This course is a required course for undergraduate students of computer science and technology and software engineering. This course is an engineering subject that studies the general principles and technologies of software development and maintenance. Through the study of this course, we can provide help for the actual software development, and lay a good foundation for the in-depth study of this subject, and apply the Marxist theory and methods to software engineering. This course is mainly an introduction to software engineering, focusing on the basic principles, concepts and technical methods of software engineering from a practical point of view. It includes software process, software requirement analysis, software design, software testing, software maintenance, software project management, software reliability and so on. 三、课程性质与教学目的
本课程是面向计算机科学与技术、软件工程、信息管理专业本科生的一门专业必 修课,它是软件设计与开发以及各种计算机应用系统开发的重要基础。 教学目的包括一下几个方面: 1.系统地介绍软件工程的基本原理、概念、技术和方法,通过课程学习使学生了 解软件工程的发展、 应用以及当前国际国内研究的热点和重要成果: 2.通过本课程的学习,使学生理解软件危机、软件工程的基本原理、软件的生命周 期方法学、面向对象方法学等: 3.通过本课程的学习,使学生了解、掌握软件生存周期各阶段的任务、过程、结构 化方法和工具及其基本技术和方法,掌握面向对象分析、设计和实现的思想方 法及甘面技术】 4.通过本 ,使学生了解软件 工程管理的重要性及基本的管理技术 5.掌握如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、 标准和规范: 6.马克思主义的理论与方法,习近平思想融入到实际软件开发之中 7.能将上述知识用于该课程的课程设计实习中,实现一个具体题目的全部软件开 发过程。 四、教学内容及要求 ★第一章软件工程学概述 (一)目的与要求 1.了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机 的产生及其表现形式,深刻理解软件危机产生的原因: 2.理解软件工程的定义,特点以及基本原理,软件生存期各阶段的特点和 内容 3.初步了解软件的生存周期模型 (二)教学内容 第一节软件危机 1.主要内容:软件危机 2.基本概念和知识点:软件开发技术的发展历史及其特点,什么是软件 危机?软件危机产生的原因?解决的办法: 3.问题与应用(能力要求):基本掌握以上知识点,需要深刻理解软件 危机产生原因,进而考虑其解决的方法:软件工程: 第二节软件工程 1.主要内容:软件工程 2.基本概念和知识点:软件工程的概念和基本原理,软件工程的方法学 (传统方法学与面向对象方法学): 3.问题与应用(能力要求):重点掌握软件工程的概念和基本原理,理解 两种不同方法学的思维方式: 2
2 本课程是面向计算机科学与技术、软件工程、信息管理专业本科生的一门专业必 修课,它是软件设计与开发以及各种计算机应用系统开发的重要基础。 教学目的包括一下几个方面: 1.系统地介绍软件工程的基本原理、概念、技术和方法, 通过课程学习使学生了 解软件工程的发展、应用以及当前国际国内研究的热点和重要成果; 2.通过本课程的学习,使学生理解软件危机、软件工程的基本原理、软件的生命周 期方法学、面向对象方法学等; 3.通过本课程的学习,使学生了解、掌握软件生存周期各阶段的任务、过程、结构 化方法和工具及其基本技术和方法,掌握面向对象分析、设计和实现的思想方 法及其重要技术; 4.通过本课程的学习,使学生了解软件工程管理的重要性及基本的管理技术; 5.掌握如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、 标准和规范; 6.马克思主义的理论与方法,习近平思想融入到实际软件开发之中 7.能将上述知识用于该课程的课程设计实习中,实现一个具体题目的全部软件开 发过程。 四、教学内容及要求 ★第一章 软件工程学概述 (一)目的与要求 1.了解软件的特点,软件生产发展的三个阶段,各阶段的特点,软件危机 的产生及其表现形式,深刻理解软件危机产生的原因; 2.理解软件工程的定义,特点以及基本原理,软件生存期各阶段的特点和 内容; 3.初步了解软件的生存周期模型; (二)教学内容 第一节 软件危机 1.主要内容:软件危机 2. 基本概念和知识点:软件开发技术的发展历史及其特点,什么是软件 危机? 软件危机产生的原因? 解决的办法; 3. 问题与应用(能力要求): 基本掌握以上知识点,需要深刻理解软件 危机产生原因,进而考虑其解决的方法:软件工程; 第二节 软件工程 1.主要内容:软件工程 2.基本概念和知识点:软件工程的概念和基本原理,软件工程的方法学 (传统方法学与面向对象方法学); 3.问题与应用(能力要求):重点掌握软件工程的概念和基本原理,理解 两种不同方法学的思维方式;
4.中国社会主义环境下的软件工程特点。 第三节软件生命周期 1.主要内容:软件生命周期 2.基本概念和知识点:软件生存期各阶段的划分、特点以及内容 3.问题与应用(能力要求):理解软件生命周期的概念,重点掌握其各阶 段的划分以及特点: 第四节软件生命周期模型 1.主要内容:软件生命周期模型 2.基本概念和知识点:传统生命周期模型:瀑布模型,快速原型模型, 增量模型,螺旋模型: 3.问颗与应用(能力要求):初步了解软件生命周期摸型,重点掌握各 种软件开发模型的内容,不同开发模型的特点比较,尤其掌握瀑布模型: (二)思老与实践 完成课后习题P22第5题 (四)教学方法与手段 以课堂讲授为主: ★第二章可行性研究 (一)目的与要求 1.深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究 的具体步骤,突出社会主义的价值观: 2.了解系统流程图的作用及符号表示: 3.重点掌握数据流图的画法及数据字典的编写. (二)教学内容 第一节可行性研究概述 1,主要内容:可行性研究任务和步骤 2.基本概念和知识点:可行性研究的必要性、基本任务和基本步骤: 3.问题与应用(能力要求): 重点掌握可行性研究的基本步骤,能够根 据具体问题编写可行性研究报告: 第二节系统流程图 1.主要内容:系统流程图 2 基本概念和知识点:系统流程图的作用、符号及其画法: 3.问题与应用(能力要求):基本掌握系统流程图的画法,学会使用系统 流程图进行简单的应用: 第三节数据流图 1,主要内容:数据流图
3 4.中国社会主义环境下的软件工程特点。 第三节 软件生命周期 1. 主要内容:软件生命周期 2. 基本概念和知识点:软件生存期各阶段的划分、特点以及内容; 3. 问题与应用(能力要求):理解软件生命周期的概念,重点掌握其各阶 段的划分以及特点; 第四节 软件生命周期模型 1. 主要内容:软件生命周期模型 2. 基本概念和知识点:传统生命周期模型:瀑布模型,快速原型模型, 增量模型,螺旋模型; 3. 问题与应用(能力要求): 初步了解软件生命周期模型, 重点掌握各 种软件开发模型的内容, 不同开发模型的特点比较,尤其掌握瀑布模型; (三)思考与实践 完成课后习题 P22 第 5 题 (四)教学方法与手段 以课堂讲授为主; ★第二章 可行性研究 (一)目的与要求 1. 深刻理解可行性研究的必要性,掌握可行性研究的任务及可行性研究 的具体步骤,突出社会主义的价值观; 2. 了解系统流程图的作用及符号表示; 3. 重点掌握数据流图的画法及数据字典的编写. (二)教学内容 第一节 可行性研究概述 1. 主要内容: 可行性研究任务和步骤 2. 基本概念和知识点:可行性研究的必要性、基本任务和基本步骤; 3. 问题与应用(能力要求): 重点掌握可行性研究的基本步骤,能够根 据具体问题编写可行性研究报告; 第二节 系统流程图 1. 主要内容:系统流程图 2. 基本概念和知识点:系统流程图的作用、符号及其画法; 3. 问题与应用(能力要求):基本掌握系统流程图的画法,学会使用系统 流程图进行简单的应用; 第三节 数据流图 1. 主要内容:数据流图
2.基本概念和知识点:数据流图的作用、符号及其画法: 3.问题与应用(能力要求):重点掌握数据流图的画法,可分层画应用 系统的数据流图,尤其注意画数据流图需要注意的事项: 第四节数据字典 1.主要内容:数据字典 2.基本概念和知识点:如何编写数据字典? 3。问题与应用(能力要求):可根据数据流图编写相应的数据字典: 第五节成本/效益分析 1.主要内容:成本/效益分析 2.基本概念和知识点:成本估计的方法:成本/效益分析方法。 3.问题与应用(能力要求):了解成本估计的方法以及成本/效益分析方 法。 4。将马克思主义经济学原理应用于工程的成本/效益分析 (三)思考与实践 课后练习主要有:针对问题描述写可行性分析报告,针对具体问题画数据流图 并且编写数据字典: 课后习题:P43.第2题并根据问题描述画出数据流图,编写数据字典:第4 。 (四)教学方法与手段 以课堂讲授为主,辅以习题课: ★第三章需求分析 (一)目的与要求 1.深刻理解需求分析阶段的概念及任务: 2.熟练掌握数据流图的细化及ER图,IOP图的画法: (二)教学内容 第一节需求分析的任务 1.主要内容:需求分析的主要任务 2.基本概念和知积点:需求分析的目的、任务和内容 3.问题与应用(能力要求):深刻理解需求分析的目的和任务: 第二节需求分析的时程 1.主要内容:需求分析的过程,与用户沟通获取需求的方法 2.基本概念和知识点:需求分析的分析过程,面向数据流自顶向下求精 快速建立软件原型: 3.问题与应用(能力要求):学习难点在于需求分析的过程,尤其分析 过程中需要注意的事项,学握进行需求分析的方法: 4
4 2. 基本概念和知识点:数据流图的作用、符号及其画法; 3. 问题与应用(能力要求): 重点掌握数据流图的画法,可分层画应用 系统的数据流图,尤其注意画数据流图需要注意的事项; 第四节 数据字典 1. 主要内容:数据字典 2. 基本概念和知识点:如何编写数据字典? 3. 问题与应用(能力要求):可根据数据流图编写相应的数据字典; 第五节 成本/效益分析 1. 主要内容:成本/效益分析 2. 基本概念和知识点:成本估计的方法;成本/效益分析方法。 3. 问题与应用(能力要求):了解成本估计的方法以及成本/效益分析方 法。 4. 将马克思主义经济学原理应用于工程的成本/效益分析。 (三)思考与实践 课后练习主要有:针对问题描述写可行性分析报告,针对具体问题画数据流图 并且编写数据字典; 课后习题:P43. 第 2 题并根据问题描述画出数据流图,编写数据字典;第 4 题。 (四)教学方法与手段 以课堂讲授为主,辅以习题课; ★第三章 需求分析 (一)目的与要求 1. 深刻理解需求分析阶段的概念及任务; 2. 熟练掌握数据流图的细化及ER图,IOP图的画法; (二)教学内容 第一节 需求分析的任务 1. 主要内容: 需求分析的主要任务 2. 基本概念和知识点:需求分析的目的、任务和内容 3. 问题与应用(能力要求): 深刻理解需求分析的目的和任务; 第二节 需求分析的过程 1. 主要内容: 需求分析的过程,与用户沟通获取需求的方法 2. 基本概念和知识点:需求分析的分析过程,面向数据流自顶向下求精, 快速建立软件原型; 3. 问题与应用(能力要求): 学习难点在于需求分析的过程,尤其分析 过程中需要注意的事项,掌握进行需求分析的方法;
第三节实体一联系图 1.主要内容:概念模型 2.基本概念和知识点:ER模型的概念、符号及画法: 3.问题与应用(能力要求):了解实体一联系模型的基本画法,可以对具 体问题进行简单的应用: 第四节数据规范化 1.主要内容:数据规范化 2.基本概念和知识点:范式的概念: 3.问题与应用(能力要求):了解第一,第二,第三范式: 第五节状态转换图 1.主要内容:状态转换图的符号,画法 2.基本概念和知识点:状态,事件,符号:状态转换图的画法: 3.问题与应用(能力要求):了解组成状态转换图的基本要素,掌握状态 转换图的画法,能够进行简单的应用: 第五节其他图形工具 1.主要内容:图形工具 2.基本概念和知识点:层次方框图、Wamier图、IPO图的画法及应用: 数据流图的细化: 3.问题与应用(能力要求):基本掌握层次方框图,IP0图的画法:了解 Warnier图的画法:重点掌握针对顶层数据流图的细化方法以及注意事 项;能够熟悉的细化数据流图: 第六节验证软件需求 1.主要内容:验证软件需求 2.基本概念和知识点:软件需求验证的方法:用于需求分析的软件工具 以及超高级语言 3.问题与应用(能力要求):了解软件需求验证的方法:了解用于需求分 析的软件工具和超高级语言,尤其是它们的应用特点: (三)思考与实践 课后习题:P63.第3题,第5题,第6题; 进行实验:根据指定项目编写需求规格说明书: (四)教学方法与手段 以课堂讲授为主,辅以习题讲解: ★第四章总体设计 (一)目的与要求 1,深刻理解软件总体设计的基本任务,软件设计的基本原理: 5
5 第三节 实体-联系图 1. 主要内容:概念模型 2. 基本概念和知识点:ER 模型的概念、符号及画法; 3. 问题与应用(能力要求):了解实体-联系模型的基本画法,可以对具 体问题进行简单的应用; 第四节 数据规范化 1. 主要内容:数据规范化 2. 基本概念和知识点:范式的概念; 3. 问题与应用(能力要求):了解第一,第二,第三范式; 第五节 状态转换图 1. 主要内容:状态转换图的符号,画法 2. 基本概念和知识点:状态,事件,符号;状态转换图的画法; 3. 问题与应用(能力要求):了解组成状态转换图的基本要素,掌握状态 转换图的画法,能够进行简单的应用; 第五节 其他图形工具 1. 主要内容:图形工具 2. 基本概念和知识点:层次方框图、Warnier 图、IPO 图的画法及应用; 数据流图的细化; 3. 问题与应用(能力要求):基本掌握层次方框图,IPO 图的画法;了解 Warnier 图的画法;重点掌握针对顶层数据流图的细化方法以及注意事 项;能够熟悉的细化数据流图; 第六节 验证软件需求 1. 主要内容:验证软件需求 2. 基本概念和知识点:软件需求验证的方法;用于需求分析的软件工具 以及超高级语言。 3. 问题与应用(能力要求):了解软件需求验证的方法;了解用于需求分 析的软件工具和超高级语言,尤其是它们的应用特点; (三)思考与实践 课后习题:P63. 第 3 题,第 5 题,第 6 题; 进行实验:根据指定项目编写需求规格说明书; (四)教学方法与手段 以课堂讲授为主,辅以习题讲解; ★第四章总体设计 (一)目的与要求 1. 深刻理解软件总体设计的基本任务,软件设计的基本原理;
2.理解模块化,抽象,信息隐蔽,模块独立性等概念,明确度量模块独立 性的校准-耦合性及内聚性: 3.熟练掌握结构化设计方法(要求能划分数据流的类型,将其能换成软 件结构图,并能根据优化准则将其优化): (二)教学内容 第一节设计过程 1.主要内容:总体设计的任务及过程 2.基本概念和知识点:总体设计的过程,总体设计的目的和追求目标: 3.问题与应用(能力要求):基本掌握总体设计的过程,重点理解领会 总体设计的目的和追求目标: 第二节设计原理及规则 1.主要内容:软件设计的重要概念及规则 2。基本概念和知识点:模块化,抽象,信息隐蔽,模块独立性的概念 模块独立性的两个度量标准内聚和耦合:软件结构优化的7个原则: 问题与应用(能力要求):结合设计重点掌握以上基本概念以及7个重 要原则: 第三节描绘软件结构的图形工具 1,主要内容:软件设计的图形工具 2.基本概念和知识点:层次方框图、HP0图:软件结构图 3.问题与应用(能力要求):对于以上几种工具达到一般了解的程度即可: 第四节面向数据流的设计方法 1.主要内容:面向数据流的设计方法 2.基本概念和知识点:变换:事务:变换分析:事务分析:如何由数据 流图导出系统结构图? 3。问题与应用(能力要求):能够根据数据流图中的数据流分辨系统模型 中的信息流是变换流还是事务流:熟悉变换分析新和事务分析的具体步骤, 能够按照基本步骤由数据流图导出正确的系统结构图: (三)思考与实践 课后习题:P104.第3题(1)(3),第4题 进行实验:根据前面的项目编写总体设计说明书 (四)教学方法与手段 以课堂讲授为主,辅以习题讲解: ★第五章详细设计 (一)目的与要求 1.能熟练的使用详细设计描述工具来设计模块中的算法及程序的逻辑结 6
6 2. 理解模块化, 抽象, 信息隐蔽, 模块独立性等概念, 明确度量模块独立 性的校准---耦合性及内聚性; 3. 熟练掌握结构化设计方法 (要求能划分数据流的类型, 将其能换成软 件结构图, 并能根据优化准则将其优化); (二)教学内容 第一节 设计过程 1. 主要内容: 总体设计的任务及过程 2. 基本概念和知识点:总体设计的过程,总体设计的目的和追求目标; 3. 问题与应用(能力要求): 基本掌握总体设计的过程,重点理解领会 总体设计的目的和追求目标; 第二节 设计原理及规则 1. 主要内容:软件设计的重要概念及规则 2. 基本概念和知识点:模块化,抽象,信息隐蔽,模块独立性的概念; 模块独立性的两个度量标准内聚和耦合;软件结构优化的 7 个原则; 3. 问题与应用(能力要求):结合设计重点掌握以上基本概念以及 7 个重 要原则; 第三节 描绘软件结构的图形工具 1. 主要内容:软件设计的图形工具 2. 基本概念和知识点:层次方框图、HIPO 图;软件结构图; 3. 问题与应用(能力要求):对于以上几种工具达到一般了解的程度即可; 第四节 面向数据流的设计方法 1. 主要内容:面向数据流的设计方法 2. 基本概念和知识点:变换;事务;变换分析;事务分析;如何由数据 流图导出系统结构图? 3. 问题与应用(能力要求):能够根据数据流图中的数据流分辨系统模型 中的信息流是变换流还是事务流;熟悉变换分析和事务分析的具体步骤, 能够按照基本步骤由数据流图导出正确的系统结构图; (三)思考与实践 课后习题:P104. 第 3 题(1)(3),第 4 题 进行实验:根据前面的项目编写总体设计说明书 (四)教学方法与手段 以课堂讲授为主,辅以习题讲解; ★第五章 详细设计 (一)目的与要求 1. 能熟练的使用详细设计描述工具来设计模块中的算法及程序的逻辑结
构: 2.理解Jackson方法的概念及程序复杂度的度量方法,学会使用Jackson 方法设计输入输出数据结构和程序结构: (二)教学内容 第一节结构程序设计 1.主要内容:结构化程序设计 2.基本概念和知识点:结构化程序设计方法的特点: 3.问题与应用(能力要求):基本掌握并领会结构化程序设计方法的具 体特点: 第二节过程设计的工具 1.主要内容:详细设计的工具 2.基本概念和知识点:详细设计的任务;流程框图、NS图、PAD图、判 定表以及pDI.语言: 3.问题与应用(能力要求):领会详细设计的任务,重点掌握用流程框图、 NS图、PAD图、判定表以及PDL语言描述算法,能够进行简单应用: 第三节面向数据结构的设计方法一Jackson设计方法 1.主要内容:Jackson设计方法 2.基本概念和知识点:Jackson设计方法的符号、画法: 4.问题与应用(能力要求):理解Jackson设计方法基本概念,学会使用 Tackson设计方法进行设计: 第四节Warnier设计方法 1.主要内容:Warnier设计方法 2.基本概念和知识点:Wamier设计方法的符号、画法: 3.问题与应用(能力要求):一般了解以上内容,可以选学: 第五节程序复杂度的定量度量 1.主要内容:程序复杂度的定量度量方法 2.基本概念和知识点:McCabe方法;Halstead方法: 3.问题与应用(能力要求):基本掌握计算环形复杂度的方法: (三)思考与实践 进行实验:在前面的基础上编写详细设计说明书: (四)教学方法与手段 以课堂讲授为主: ★第六章编码 (一)目的与要求 1,了解几种常见的程序设计语言的特点:
7 构; 2. 理解 Jackson 方法的概念及程序复杂度的度量方法,学会使用 Jackson 方法设计输入输出数据结构和程序结构; (二)教学内容 第一节 结构程序设计 1. 主要内容: 结构化程序设计 2. 基本概念和知识点:结构化程序设计方法的特点; 3. 问题与应用(能力要求): 基本掌握并领会结构化程序设计方法的具 体特点; 第二节 过程设计的工具 1. 主要内容:详细设计的工具 2. 基本概念和知识点:详细设计的任务;流程框图、NS 图、PAD 图、判 定表以及 PDL 语言; 3. 问题与应用(能力要求):领会详细设计的任务,重点掌握用流程框图、 NS 图、PAD 图、判定表以及 PDL 语言描述算法,能够进行简单应用; 第三节 面向数据结构的设计方法-Jackson 设计方法 1. 主要内容:Jackson 设计方法 2. 基本概念和知识点:Jackson 设计方法的符号、画法; 4. 问题与应用(能力要求):理解 Jackson 设计方法基本概念,学会使用 Jackson 设计方法进行设计; 第四节 Warnier 设计方法 1. 主要内容:Warnier 设计方法 2. 基本概念和知识点:Warnier 设计方法的符号、画法; 3. 问题与应用(能力要求):一般了解以上内容,可以选学; 第五节 程序复杂度的定量度量 1. 主要内容:程序复杂度的定量度量方法 2. 基本概念和知识点:McCabe 方法;Halstead 方法; 3. 问题与应用(能力要求):基本掌握计算环形复杂度的方法; (三)思考与实践 进行实验:在前面的基础上编写详细设计说明书; (四)教学方法与手段 以课堂讲授为主; ★第六章 编码 (一)目的与要求 1. 了解几种常见的程序设计语言的特点;
2.领会程序设计中应注意的问题,注意培养良好的编程风格: (二)教学内容 第一节选择程序设计语言 1.主要内容:程序设计语言的分类及选择 2.基本概念和知识点:编码的语言选择及有关语言的知识。 3.问题与应用(能力要求): 一般了解程序设计语言的选择方法,能够 根据具体的应用环境选择合适的开发程序的语言: 第二节编码风格 1.主要内容:程设计的风格及方法 2.基本概念和知识点:结构化的编码风格和规范: 3.问题与应用(能力要求):重点掌握编码风格及规范,能够根据规范来 编码: 第三节程序设计工具 1,主要内容:程序设计自动化及工具 2.基本概念和知识点:各种工具的使用特点: 3.问题与应用(能力要求):了解工具的使用场合,在具体应用中可根据 所了解的知识选择适当的工具 (三)思考与实践 根据前面分析的系统,按照规范编写代码: (四)教学方法与手段 以课堂讲授为主: ★第七章测试 (一)目的与要求 1.总的要求是掌握测试阶段的内容,测试方法及测试步骤: 2.深刻理解白盒,黑盒测试技术: 3.深刻理解测试过程中单元测试,集成测试,验收测试的任务及使用的 方法 4.掌握调试程序的方法。 5.熟练掌握的技能是:能针对某一问题采用白盒法或黑盒法进行测试用 例的设计。 (二)教学内容 第一节软件测试基 1.主要内容:教件测试的目标及测试的步 2.基本概念和知识点:测试的定义、目的:软件测试的步骤: 3。问题与应用(能力要求):一般了解测试的定义及目的,重点掌握软
8 2. 领会程序设计中应注意的问题,注意培养良好的编程风格; (二)教学内容 第一节 选择程序设计语言 1. 主要内容: 程序设计语言的分类及选择 2. 基本概念和知识点:编码的语言选择及有关语言的知识。 3. 问题与应用(能力要求): 一般了解程序设计语言的选择方法,能够 根据具体的应用环境选择合适的开发程序的语言; 第二节 编码风格 1. 主要内容:程序设计的风格及方法 2. 基本概念和知识点:结构化的编码风格和规范; 3. 问题与应用(能力要求):重点掌握编码风格及规范,能够根据规范来 编码; 第三节 程序设计工具 1. 主要内容:程序设计自动化及工具 2. 基本概念和知识点:各种工具的使用特点; 3. 问题与应用(能力要求):了解工具的使用场合,在具体应用中可根据 所了解的知识选择适当的工具; (三)思考与实践 根据前面分析的系统,按照规范编写代码; (四)教学方法与手段 以课堂讲授为主; ★第七章 测试 (一)目的与要求 1. 总的要求是掌握测试阶段的内容,测试方法及测试步骤; 2. 深刻理解白盒,黑盒测试技术; 3. 深刻理解测试过程中单元测试,集成测试,验收测试的任务及使用的 方法; 4. 掌握调试程序的方法。 5. 熟练掌握的技能是:能针对某一问题采用白盒法或黑盒法进行测试用 例的设计。 (二)教学内容 第一节 软件测试基础 1. 主要内容: 软件测试的目标及测试的步骤 2. 基本概念和知识点:测试的定义、目的;软件测试的步骤; 3. 问题与应用(能力要求): 一般了解测试的定义及目的,重点掌握软
件测试的步骤: 第二节单元测试 1.主要内容:单元测试的方法 2.基本概念和知识点:测试重点,代码审查,计算机测试: 3.问题与应用(能力要求):掌握单元测试的测试重点,了解单元测试的 内容,能够根据单元测试设计测试用例: 第三节集成测试 1主要内容:集成测试的方法 2.基本概念和知识点:自顶向下集成,自底向上集成,不同集成测试策 略的比较,回归测试: 3.问题与应用(能力要求):掌握不同集成测试的方法,能够进行灵活应 用,学会使用回归测试,能够根据集成测试设计测试用例: 第四节确认测试 1.主要内容:确认测试的方法 2.基本概念和知识点:确认测试的范围,软件配置复查,Alpha和Beta 测试: 3.问题与应用(能力要求):掌握确认测试方法,了解软件配置复查内容 了解Alpha和Beta测试的概念: 第五节白盒测试技术 1.主要内容:白盒测试及测试方案的设计 基本概念和知识点:逻辑覆盖,控制结构测试 3.问题与应用(能力要求):教学重点与难点,要求重点掌握白盒测试方 法,掌握白盒测试中几种不同的逻辑覆盖,具备设计测试用例的能力: 第六节黑盒测试技术 1,主要内容:黑盒测试及测试方案的设计 2.基本概念和知识点:等价划分,边界值分析,错误推测: 3.问题与应用(能力要求):教学重点与难点,要求重点掌握黑盒测试方 法,具备设计测试用例的能力: 第七节调试 1.主要内容:调试及软件可靠性的估算 2.基本概念和知识点:归纳法与演绎法调试策略软件可靠性的概念以 及估算方法: 3.问题与应用(能力要求):重点掌握调试策略,一般了解软件可靠性的 基木概今: 第七节调试
9 件测试的步骤; 第二节 单元测试 1. 主要内容:单元测试的方法 2. 基本概念和知识点:测试重点,代码审查,计算机测试; 3. 问题与应用(能力要求):掌握单元测试的测试重点,了解单元测试的 内容,能够根据单元测试设计测试用例; 第三节 集成测试 1. 主要内容:集成测试的方法 2. 基本概念和知识点:自顶向下集成,自底向上集成,不同集成测试策 略的比较,回归测试; 3. 问题与应用(能力要求):掌握不同集成测试的方法,能够进行灵活应 用,学会使用回归测试,能够根据集成测试设计测试用例; 第四节 确认测试 1. 主要内容:确认测试的方法 2. 基本概念和知识点:确认测试的范围,软件配置复查,Alpha 和 Beta 测试; 3. 问题与应用(能力要求):掌握确认测试方法,了解软件配置复查内容, 了解 Alpha 和 Beta 测试的概念; 第五节 白盒测试技术 1. 主要内容:白盒测试及测试方案的设计 2. 基本概念和知识点:逻辑覆盖,控制结构测试; 3. 问题与应用(能力要求):教学重点与难点,要求重点掌握白盒测试方 法,掌握白盒测试中几种不同的逻辑覆盖,具备设计测试用例的能力; 第六节 黑盒测试技术 1. 主要内容:黑盒测试及测试方案的设计 2. 基本概念和知识点:等价划分,边界值分析,错误推测; 3. 问题与应用(能力要求):教学重点与难点,要求重点掌握黑盒测试方 法,具备设计测试用例的能力; 第七节 调试 1. 主要内容:调试及软件可靠性的估算 2. 基本概念和知识点:归纳法与演绎法调试策略;软件可靠性的概念以 及估算方法; 3. 问题与应用(能力要求):重点掌握调试策略,一般了解软件可靠性的 基本概念; 第七节 调试
1.主要内容:调试 2.基本概念和知识点:调试过程,调试途径: 3.问题与应用(能力要求):掌握调试策略和基本步骤: 第八节软件可靠性 1.主要内容:软件可靠性的估算 2.基本概念和知识点:软件可靠性的概念以及估算方法: 3.问题与应用(能力要求):一般了解软件可靠性的基本概念: 第九节自动测试工具 1.主要内溶:白动测试工耳 2.基本概念和知识点:自动测试的工具的种类及特点: 3.问题与应用(能力要求):一般了解,具有识别选择工具的能力: (三)思考与实践 完成P175,第5题,第7题 针对前面的系统编写测试用例: (四)教学方法与手段 以课堂讲授为主,辅以习题讲解: ★第八章维护 (一)目的与要求 1.总的要求是掌握软件维护的内容、特点、方法、技术、文档: 2.了解软件维护的各种因难,软件维护的特点,软件维护的文档 3。理解软件维护的内容,维护任务的实施: 4.深刻理解如何提高软件的可维护性: (二)教学内容 第一节软件维护的定义 1. 主要内容:软件维护的定义 2.基本概念和知识点:定义,分类: 3.问题与应用(能力要求) 重点掌握软件维护的定义及分类: 第二节软件维护的特点 1,主要内容:软件维护的特点 2.基本概念和知识点:结构化维护与非结构化维护的区别,维护的代价, 维护存在的问题: 3.问题与应用(能力要求):深刻理解维护的几个特点: 第三节软件维护的过程 1.主要内容:维护的进行过程 2.基本概念和知识点:软件维护的过程: 10
10 1. 主要内容:调试 2. 基本概念和知识点:调试过程,调试途径; 3. 问题与应用(能力要求):掌握调试策略和基本步骤; 第八节 软件可靠性 1. 主要内容:软件可靠性的估算 2. 基本概念和知识点:软件可靠性的概念以及估算方法; 3. 问题与应用(能力要求):一般了解软件可靠性的基本概念; 第九节 自动测试工具 1. 主要内容:自动测试工具 2. 基本概念和知识点:自动测试的工具的种类及特点; 3. 问题与应用(能力要求):一般了解,具有识别选择工具的能力; (三)思考与实践 完成 P175,第 5 题,第 7 题; 针对前面的系统编写测试用例; (四)教学方法与手段 以课堂讲授为主,辅以习题讲解; ★第八章 维护 (一)目的与要求 1. 总的要求是掌握软件维护的内容、特点、方法、技术、文档; 2. 了解软件维护的各种困难,软件维护的特点,软件维护的文档; 3. 理解软件维护的内容,维护任务的实施; 4. 深刻理解如何提高软件的可维护性; (二)教学内容 第一节 软件维护的定义 1. 主要内容: 软件维护的定义 2. 基本概念和知识点:定义,分类; 3. 问题与应用(能力要求): 重点掌握软件维护的定义及分类; 第二节 软件维护的特点 1. 主要内容: 软件维护的特点 2. 基本概念和知识点:结构化维护与非结构化维护的区别,维护的代价, 维护存在的问题; 3. 问题与应用(能力要求): 深刻理解维护的几个特点; 第三节 软件维护的过程 1. 主要内容:维护的进行过程 2. 基本概念和知识点:软件维护的过程;