《软件工程》教学大纲
编写人:董凯宁 编写时间:2005年 10月 30日
一、课程基本信息
课程名称: 软件工程 Software Engineering
课程号: 40110630
课程类别: 专业课
学 时: 48 学 分: 3
二、教学目的及要求
软件工程的基本概念,软件设计中的过程抽象,软件设计中的控制结构,软件设计中的数据类型,软件设计过程,软件开发和维护模型,软件开发的风险分析,非形式规格说明,形式规格说明,抽象和信息隐藏,结构化设计和过程设计,软件设计的实现策略和语言,软件设计中的重用支持,软件质量保证与管理,软件测试,CASE,集成化CASE环境,面向对象的分析设计方法,面向对象建立模型,面向对象的编程实现,软件项目的管理等。
三、教学内容
第1章 软件工程概述 (共3学时)
172
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
1.1 软件危机 (0.5学时) 1.1.1 软件工程的介绍 教学内容:讲述软件危机的起源,软件危机的7个典型表现:对软件开发成本和进度的估计常常很不准确、用户对已完成软件系统不满意的现象经常发生、软件产品的质量往往靠不住、软件常常是不可维护的、软件通常没有恰当的文档资料、软件成本逐年上升、软件开发生产率提高的速度跟不上计算机应用迅速普及深入的趋势;要求学生了解软件危机的起源,软件危机的7个典型表现。 1.1.2 产生软件危机的原因 教学内容:讲述软件危机的多种形成原因:软件开发与维护的方法不正确、客观上软件维护的困难性、团队工作管理的困难性等;要求学生了解软件危机的多种形成原因。 1.1.3 消除软件危机的途径 教学内容:讲述消除软件危机的几种途径,彻底消除软件就是程序的错误概念的必要性;要求学生了解消除软件危机的几种主要途径。
1.2 软件工程 (0.5学时) 1.2.1 软件工程的介绍 教学内容:阐述软件工程的定义,软件工程的适用领域,软件工程的7条本质特性:软件工程关注于大型程序的构造、软件工程的中心课题是控制复杂度、软件经常变化、开发软件的效率
173
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
非常重要、和谐的合作是开发软件的关键、软件必须有效的支持它的用户、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品;要求学生理解软件工程的定义,软件工程的适用领域,软件工程的7条本质特性。 1.2.2 软件工程的基本原理 教学内容:阐述软件工程的7条基本原理:用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代化程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性;要求学生理解软件工程的7条基本原理。 1.2.3 软件工程方法学 教学内容:阐述软件工程方法学的3要素:方法、工具、过程的概念,软件工程方法学中的传统方法学和面向对象方法学;要求学生了解软件工程方法学的3要素,理解传统方法学和面向对象方法学的内容。 1.3 软件生命周期 (0.5学时) 教学内容:阐述软件生命周期的各个环节:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护;要求学生掌握软件生命周期的各个环节构成。 1.4 软件过程(重点) (1.5学时) 1.4.1 瀑布模型 教学内容:详细阐述瀑布模型的特点,模型构成、运作方法;要求学生掌握瀑布模型的构成、
174
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
特点。 1.4.2 快速原型模型 教学内容:详细阐述快速原型模型的特点,模型构成、运作方法;要求学生掌握这快速原型模型的构成、特点、运作方式。 1.4.3 增量模型 教学内容:详细阐述增量模型的特点,模型构成、运作方法;要求学生掌握增量模型的构成、特点、运作方式。 1.4.4 螺旋模型 教学内容:详细阐述螺旋模型的特点,模型构成、运作方法,比较4种模型的侧重点。要求学生掌握螺旋模型的构成、特点、运作方式。 第2章 可行性研究 (共5学时)
2.1 可行性研究的任务 (0.5学时) 教学内容:阐述可行性研究的任务和概要步骤;要求学生了解可行性研究的任务和概要步骤。 2.2 可行性研究过程 (1学时) 教学内容:描述典型的可行性研究过程的步骤如复查系统规模和目标、研究目前正在使用的
175
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
系统、导出新系统的高层逻辑模型、进一步定义问题、导出和评价供选择的解法、推荐行动方针、草拟开发计划和书写档案提交审查要求学生了解典型的可行性研究过程的8个步骤。 2.3 系统流程图(重点) (1学时) 2.3.1 符号 教学内容:描述系统流程图使用的基本符号和系统符号;要求学生掌握系统流程图使用的基本符号。 2.3.2 例子 教学内容:描述系统流程图使用的一个库存清单系统例子;要求学生理解这个例子。 2.3.3 分层 教学内容:阐述分层绘制系统流程图的概念;要求学生理解分层绘制系统流程图的思想。 2.4 数据流图(重点) (1学时) 2.4.1 符号 教学内容:描述数据流图使用的基本符号和系统符号;要求学生掌握数据流图使用的基本符号。 2.4.2 例子
176
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:描述数据流图使用的一个定货系统例子,例子分为基本系统模型、功能级数据流图、把处理事务的功能进一步分解后的数据流图;要求学生理解这个例子。 2.4.3 命名 教学内容:阐述数据流图的命名规则;要求学生理解数据流图的命名规则。 2.4.4 用途 教学内容:阐述画数据流图的基本目的、数据流图的基本用途,画自动化边界的规则;要求学生掌握画数据流图的基本目的、数据流图的基本用途,画自动化边界的规则。 2.5 数据字典(重点) (1学时) 2.5.1 数据字典的内容 教学内容:阐述数据字典中的4个构成元素,出现别名的3个原因;要求学生掌握数据字典中的4个构成元素。 2.5.2 定义数据的方法 教学内容:阐述数据字典中定义数据的方法,由数据元素组成数据方法的3种基本类型,标志符的意义;要求学生掌握由数据元素组成数据方法的3种基本类型,标志符的意义。 2.5.3 数据字典的用途 177
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述数据字典的用途;要求学生了解数据字典的用途。 2.5.4 数据字典的实现 教学内容:阐述数据字典的具体实现方法,数据字典卡片内容解释;要求学生掌握数据字典的具体实现方法。 2.6 成本效益分析 (0.5学时) 2.6.1 成本估计 教学内容:阐述3种成本估计方法:代码行技术、任务分解技术、自动估计成本技术;要求学生理解可行性阶段的3种成本估计方法。 2.6.2 成本/效益分析的方法 教学内容:阐述4种成本/效益分析的方法:货币的时间价值、投资回收期、纯收入和投资回报率;要求学生理解可行性阶段的4种成本/效益分析方法。 第3章 需求分析 (共5学时)
3.1 需求分析的任务 (0.25学时) 3.1.1 确定对系统的综合要求 教学内容:阐述需求分析的任务是确定系统必须做什么,确定对软件系统的综合要求:功能
178
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求;要求学生掌握需求分析的任务,了解对软件系统的8个综合要求。 3.1.2 分析系统的数据要求 教学内容:阐述分析系统的数据要求的概要方法;要求学生了解分析系统的数据要求的概要方法。 3.1.3 导出系统的逻辑模型 教学内容:阐述导出系统的逻辑模型后,使用数据流图、实体联系图、状态转换图等工具描述这个模型;要求学生了解描述逻辑模型的工具。 3.1.4 修正系统开发计划 教学内容:阐述修正系统开发计划的思想;要求学生建立修正系统开发计划的思想。 3.2 与用户沟通获取需求的方法 (0.75学时) 3.2.1 访谈 教学内容:阐述访谈的方法、步骤和特点;要求学生了解访谈的的方法、步骤和特点。 3.2.2 面向数据流自顶向下求精 教学内容:阐述面向数据流自顶向下求精的理念;要求学生建立面向数据流自顶向下求精的
179
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
概念。 3.2.3 简易的应用规格说明技术 教学内容:阐述制作简易的应用规格说明技术的典型过程;要求学生了解制作简易的应用规格说明技术的典型过程。 3.2.4 快速建立软件原型 教学内容:阐述快速建立软件原型,构件原型和修改原型的第四代技术、可重用软件构件、形式化规格说明等3种工具;要求学生了解第四代技术、可重用软件构件、形式化规格说明等3种工具。 3.3 分析建模与规格说明 (0.5学时) 3.3.1 分析建模 教学内容:阐述在需求分析过程应该建立3种模型,即数据模型、功能模型、行为模型,模型的概念,结构化分析的内涵;要求学生建立分析建模的观念。 3.3.2 软件需求规格说明 教学内容:阐述软件需求规格说明的概要要求;要求学生了解软件需求规格说明的概要要求。 3.4 实体联系图(重点) (1学时) 180
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
3.4.1 数据对象 教学内容:阐述数据对象的概念,复合信息的概念,数据对象的具体内容;要求学生掌握数据对象的概念,复合信息的概念。 3.4.2 属性 教学内容:阐述数据对象的属性的概念;要求学生掌握属性的概念。 3.4.3 联系 教学内容:阐述数据对象的联系的概念;要求学生掌握联系的概念。 3.4.4 实体-联系图的符号 教学内容:阐述实体联系图的符号;要求学生掌握实体联系图。 3.5 数据规范化 (0.5学时) 教学内容:阐述范式的概念,3个范式的定义。要求学生掌握范式的概念,了解第一范式、第二范式、第三范式这3个范式的定义。 3.6 状态转换图 (0.5学时) 3.6.1 状态 181
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述状态的概念;要求学生掌握状态的概念。 3.6.2 事件 教学内容:阐述状态的事件;要求学生掌握事件的概念。 3.6.3 符号 教学内容:阐述状态转换图中所用的符号;要求学生掌握状态转换图中所用到的符号。 3.6.4 例子 教学内容:阐述状态转换图通过描绘系统的状态及引起系统状态转换的事件来表示系统的行为,故可以行为建模,状态的概念,事件的概念,状态转移图的实例;要求学生了解状态转移图的实例。 3.7 其它图形工具 (1学时) 3.7.1 层次方框图 教学内容:阐述需求分析阶段可以使用图形工具层次方框图的构成、作用;要求学生掌握层次方框图的构成、作用。 3.7.2 Warnier图 教学内容:阐述需求分析阶段使用的图形工具Warnier图的构成、作用;要求学生理解
182
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
Warnier图的构成、作用。 3.7.3 IPO图 教学内容:阐述需求分析阶段可以使用图形工具IPO图的构成、作用;要求学生掌握IPO图的构成、作用。 3.8 验证需求分析 (0.5学时) 3.8.1 从哪些方面验证软件需求的正确性 教学内容:阐述从一致性、完整性、现实性和有效性4个方面验证软件需求的正确性;要求学生了解验证软件需求正确性的4个方面。 3.8.2 验证软件需求的方法 教学内容:阐述验证软件需求的方法:验证需求的一致性、验证需求的现实性、验证需求的完整性和有效;要求学生了解验证软件需求的3个方法。 3.8.3 用于需求分析的软件工具 教学内容:阐述用于需求分析的软件工具,PSL/PSA系统;要求学生了解PSL/PSA系统的大致功能。 第4章 形式化说明技术 (共2学时)
183
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
4.1 概述 (0.25学时) 4.1.1 非形式化方法的缺点 教学内容:阐述非形式化方法的缺点:矛盾、二义性、含糊性、不完整性及抽象层次混乱等;要求学生了解非形式化方法的缺点。 4.1.2 形式化方法的优点 教学内容:阐述基于数学的形式化方法的3个主要优点;要求学生了解基于数学的形式化方法的3个主要优点。 4.1.3 应用形式化方法的准则 教学内容:阐述应用形式化方法的10条准则:选用恰当的表示方法、不要过分形式化、应该估计成本、有形式化方法顾问随时提供咨询、不放弃传统的开发方法、建立详细的档案、不应该放弃质量标准、不应该盲目依赖形式化方法、多测试、应该重用。 4.2 有穷状态机 (0.25学时) 4.2.1 概念 教学内容:阐述有穷状态机的基本概念、状态转移图、状态转移表、构成;要求学生掌握有穷状态机的原理和概念。 4.2.2 例子
184
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述用有穷状态机描述的电梯按钮的例子;要求学生理解用有穷状态机描述的电梯按钮的例子。 4.2.3 评价 教学内容:阐述有穷状态机的格式和优点。要求学生了解有穷状态机优点。 4.3 Petri网(重点) (1.25学时) 4.3.1 概念 教学内容:阐述Petri网的概念、构成、用法、特点;要求学生掌握使用Petri网分析系统的基本方法,理解Petri网对时序问题处理的特殊优势。 4.3.2 例子 教学内容:阐述应用Petri网描述电梯按钮的例子。要求学生理解应用Petri网描述电梯按钮的例子。 4.4 Z语言 (0.25学时) 4.4.1 简介 教学内容:阐述Z语言的内容,Z语言包含的集合、状态定义、初始状态、操作,Z语言的特点;要求学生了解Z语言。 185
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
4.4.2 评价 教学内容:阐述Z语言获得成功的6个原因。要求学生了解Z语言获得成功的原因。 第5章 总体设计 (共5学时)
5.1 设计过程 (0.5学时) 教学内容:阐述整体设计的任务,整体设计的好处,总体设计过程包括系统设计阶段和结构设计阶段,前者确定系统的具体实现方案,后者确定软件结构,总体设计包括9个步骤即设想供选择的方案、选取合理的方案、推荐最佳方案、功能分解、设计软件结构、设计数据库、制定测试计划、书写文档、审查和复查。 5.2 设计原理(重点) (1学时) 5.2.1 模块化 教学内容:阐述模块化的设计原则;要求学生了解模块化的设计原则。 5.2.2 抽象 教学内容:阐述抽象的设计原则;要求学生了解抽象的设计原则。 5.2.3 逐步求精 教学内容:阐述逐步求精的设计原则;要求学生了解逐步求精的设计原则。
186
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
5.2.4 信息隐藏和局部化 教学内容:阐述信息隐藏和局部化的设计原则;要求学生了解信息隐藏和局部化的设计原则。 5.2.5 模块独立 教学内容:详述模块独立原则,几种耦合方式:数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合,7种内聚方式:功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚;要求学生掌握模块独立中的耦合及内聚方式。 5.3 启发规则 (0.5学时) 教学内容:列举7条启发规则,即改进软件结构提高独立性、模块规模应该适中、深度宽度扇出扇入都应恰当、模块的作用域应该在控制域之内、力争降低模块接口的复杂程度、设计单入口单出口的模块、模块功能应该可以预测;要求学生理解启发规则,掌握扇入扇出的概念。 5.4 描绘软件结构的图形工具(重点) (1学时) 5.4.1 层次图和HIPO图 教学内容:阐述层次图、HIPO图、结构图的构成、画法、使用方法、特点;要求学生掌握层次图和HIPO图。 5.4.2 结构图 教学内容:阐述结构图的构成、画法、使用方法、特点;要求学生了解结构图。
187
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
5.5 面向数据流的设计方法(重点) (2学时) 5.5.1 概念 教学内容:阐述面向数据流的设计方法的一般途径,信息流的概念,变换流的概念,事务流的概念;要求学生掌握变换流和事务流的概念。 5.5.2 变换分析 教学内容:阐述变换分析的定义、例子、设计步骤,并举例说明;要求学生掌握变换分析方法。 5.5.3 事务分析 教学内容:阐述事务分析的定义、例子、设计步骤、并举例说明;要求学生掌握事务分析的方法。 5.5.4 设计优化 教学内容:阐述设计优化的原则;要求学生了解设计优化的原则。 第6章 详细设计 (共6学时)
6.1 结构程序设计 (0.5学时) 教学内容:阐述详细设计阶段的目标是怎样具体的实现所要求的系统,设计出的处理过程应
188
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
该尽可能简明易懂,结构程序设计的各种定义表述;要求学生掌握结构化程序设计的概念。 6.2 人机界面设计 (1.5学时) 6.2.1 设计问题 教学内容:阐述人机界面设计的重要性,系统响应时间、用户帮助设施、出错信息处理和命令交互等设计常见问题;要求学生了解人机界面设计的常见问题。 6.2.2 设计过程 教学内容:阐述用户界面设计过程;要求学生了解用户界面设计过程。 6.2.3 人机界面设计指南 教学内容:阐述3类人机界面设计指南:一般交互指南、信息显示指南、数据输入指南;要求学生理解3类设计指南。 6.3 过程设计的工具(重点) (2学时) 6.3.1 程序流程图 教学内容:详细阐述过程设计中使用的程序流程图的定义、构成、使用方法、特点;要求学生掌握程序流程图的定义,构成、特点。 6.3.2 盒图(N-S图)
189
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:详细阐述过程设计中使用的盒图的定义、构成、使用方法、特点;要求学生掌握盒图的定义,构成、特点。 6.3.3 PAD图 教学内容:详细阐述过程设计中使用的PAD图的定义、构成、使用方法、特点;要求学生掌握PAD图的定义,构成、特点。 6.3.4 判断表 教学内容:详细阐述过程设计中使用的判断表的定义、构成、使用方法、特点;要求学生掌握判断表的定义,构成、特点。 6.3.5 判断树 教学内容:详细阐述过程设计中使用的判断树的定义、构成、使用方法、特点;要求学生掌握判断树的定义,构成、特点。 6.3.6 过程设计语言 教学内容:详细阐述过程设计中使用的过程设计语言的定义、构成、使用方法、特点、比较几种工具的优缺点,描述其侧重点;要求学生掌握过程设计语言、伪码的定义,构成、特点。 6.4 面向数据结构的设计方法(重点) (1.5学时) 6.4.1 Jackson图
190
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述面向数据流和面向数据结构的设计方法的区别,面向数据结构的适用领域,面向数据结构的设计方法的目标,Jackson系统设计法JSD,Jackson图的内容;要求学生理解面向数据流和面向数据结构的设计方法的区别,理解Jackson系统设计法JSD,Jackson图的内容。 6.4.2 改进的Jackson图 教学内容:阐述改进的Jackson图内容;要求学生理解改进的Jackson图内容。 6.4.3 Jackson方法 教学内容:阐述Jackson方法JSP的5个操作步骤,并举例说明。要求学生理解Jackson方法JSP的5个操作步骤。 6.5 程序复杂度的定量度量 (0.5学时)
6.5.1 McCabe方法 教学内容:阐述定量度量程序复杂度的价值,McCabe方法的流图、计算环形复杂度的方法、环形复杂度的用途;要求学生了解McCabe方法。 6.5.2 Halstead方法
教学内容:阐述Halstead方法;要求学生了解Halstead方法。
第7章 实现 (共6学时)
191
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
7.1 编码 (0.5学时) 7.1.1 选择程序设计语言 教学内容:阐述选择程序设计语言的重要性和方法,选择语言的7条实用标准;要求学生了解程序设计语言的重要性和方法,选择语言的7条实用标准。 7.1.2 编码风格 教学内容:阐述程序设计编码风格的5点优劣判断标准:程序内部的文档、数据说明、语句构造、输入输出和效率;要求学生了解程序设计编码风格的5点优劣判断标准。 7.2 软件测试基础 (0.5学时) 7.2.1 软件测试的目标 教学内容:阐述软件测试的基本概念和基础知识,软件测试的3个目标;要求学生理解软件测试的3个目标。 7.2.2 软件测试准则 教学内容:阐述软件测试的6个准则:所有测试都应该能追溯到用户需求、在测试开始之前制定测试计划、把Pareto原理应用到软件测试中、从小规模测试开始并逐渐进行大规模测试、穷举测试是不可能的、应该由独立的第三方从事测试工作;要求学生理解软件测试6个准则。 7.2.3 测试方法
192
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:简述白盒测试法和黑盒测试法;要求学生了解白盒测试法和黑盒测试法。 7.2.4 测试步骤 教学内容:阐述大型软件系统测试的5个步骤:模块测试、子系统测试、系统测试、验收测试、平行运行;要求学生理解大型软件系统测试的5个步骤。 7.2.5 测试阶段的信息流 教学内容:阐述测试阶段的信息流图;要求学生理解测试阶段的信息流图。 7.3 单元测试 (0.5学时) 7.3.1 测试重点 教学内容:阐述单元测试的内容,5个测试方面:模块接口、局部数据结构、重要的执行通路、出错处理通路和边界条件;要求学生理解单元测试的内容。 7.3.2 代码审查 教学内容:阐述代码审查的内容;要求学生理解代码审查的内容。 7.3.3 计算机测试 教学内容:阐述计算机测试的内容;要求学生理解计算机测试的内容。
193
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
7.4 集成测试 (1学时) 7.4.1 自顶向下集成 教学内容:阐述集成测试的定义,作用,自顶向下集成的测试方式;要求学生理解自顶向下测试方式。 7.4.2 自底向上集成 教学内容:阐述自底向上集成底测试方式;要求学生理解自底向上测试方式。 7.4.3 不同集成测试策略的比较 教学内容:阐述不同集成测试策略的比较;要求学生理解自顶向下和自底向上这2种测试方式的对比。 7.4.4 回归测试 教学内容:阐述回归测试的概念,回归测试包括3种不同的测试用例;要求学生理解回归测试的概念。 7.5 确认测试 (0.5学时) 7.5.1 确认测试的范围 教学内容:阐述确认测试的定义,确认测试的范围;要求学生了解确认测试的内容。
194
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
7.5.2 软件配置复查 教学内容:阐述软件配置复查的概念;要求学生了解软件配置复查的概念。 7.5.3 Alpha和Beta测试 教学内容:阐述Alpha和Beta测试方法;要求学生了解Alpha和Beta测试方法。 7.6 白盒测试技术(重点) (1.5学时) 7.6.1 逻辑覆盖 教学内容:阐述白盒测试技术的目标,8种逻辑覆盖标准,即语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、点覆盖、边覆盖、路径覆盖;要求学生理解白盒测试技术,理解8种逻辑覆盖标准。 7.6.2 控制结构测试 教学内容:阐述3种常用的控制结构测试技术,即基本路径测试、条件测试、循环测试;要求学生理解3种控制结构测试技术。 7.7 黑盒测试技术 (0.5学时) 7.7.1 等价划分 教学内容:阐述黑盒测试着重测试软件功能,黑盒的优点,黑盒测试方案的应用特点,等级
195
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
划分的概念、方法,等价类的概念;要求学生了解黑盒测试技术的具体实施方法,黑盒的优点,等级划分的概念、方法,等价类的概念。 7.7.2 边界值分析 教学内容:阐述边界值分析的问题;要求学生了解边界值分析的问题。 7.7.3 错误推测 教学内容:阐述错误推测的方法;要求学生了解错误推测的方法。 7.8 调试 (0.5学时) 7.8.1 调试过程 教学内容:阐述调试的涵义,调试过程;要求学生了解调试的涵义,调试过程。 7.8.2 调试途径 教学内容:阐述3种调试途径,即蛮干法、回溯法、原因排除法;要求学生了解3种调试途径。 7.9 软件可靠性 (0.5学时) 7.9.1 基本概念 196
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述软件可靠性的定义,软件的可用性;要求学生掌握软件可靠性的定义,软件的可用性。 7.9.2 估计平均无故障时间的方法 教学内容:阐述估计平均无故障时间的方法;要求学生掌握估计平均无故障时间的方法。 第8章 维护 (共4学时)
8.1 软件维护的定义 (0.5学时) 教学内容:阐述软件维护的定义。 8.2 软件维护的特点 (1学时) 8.2.1 结构化维护与非结构化维护差别巨大 教学内容:阐述非结构化维护的概念和特点,结构化维护的概念和特点;要求学生了解结构化维护和非结构化维护的差别。 8.2.2 维护的代价高昂 教学内容:阐述维护费用的描述。要求学生建立维护费用高的概念。 8.2.3 维护的问题很多 197
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述维护的诸多问题。要求学生建立维护问题多的概念。 8.3 软件维护过程 (0.5学时) 教学内容:阐述软件维护过程,维护组织,维护报告,维护的事件流,保存维护记录,评价维护活动要求学生了解软件维护5个过程。 8.4 软件的可维护性 (1学时) 8.4.1 决定软件可维护性的因素 教学内容:阐述软件可维护性的定义,决定软件可维护性的5个因素,即可理解性、可测试性、可修改性、可移植性和可重用性;要求学生理解软件的可维护性。 8.4.2 文档 教学内容:阐述文档维护的重要性,用户文档和系统文档的定义和作用;要求学生理解文档维护的重要性,用户文档和系统文档的定义和作用。 8.4.3 可维护性复审 教学内容:阐述可维护性复审的内容;要求学生理解可维护性复审。 8.5 预防性维护 (0.5学时) 教学内容:阐述预防性维护的定义,老程序的4种维护方法。
198
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
8.6软件再工程过程 (0.5学时)
教学内容:描述软件再工程过程的模型,阐述该模型中定义的6类活动,即库存目录分析、文档重构、逆向工程、代码重构、数据重构、正向工程。要求学生理解软件再工程过程的模型。
第9章 面向对象方法学引论 (共4学时)
9.1 面向对象方法学概述 (1学时) 9.1.1 面向对象方法学的要点 教学内容:阐述面向对象方法学的出发点、基本原则,面向对象方法的4个要点;要求学生掌握喷泉模型的特点和典型的面向对象的软件过程模型。 9.1.2 面向对象方法学的优点 教学内容:阐述面向对象方法学的5个优点:与人类习惯的思维方式一致、稳定性好、可重用性好、较易开发大型软件产品、可维护性好;要求学生理解面向对象方法学的5个优点。 9.1.3 喷泉模型 教学内容:阐述喷泉模型;要求学生掌握喷泉模型的特点。 9.2 面向对象的概念 (0.5学时) 9.2.1 对象
199
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述对象的概念,对象的形象表示,对象的几种定义,对象的特点;要求学生理解对象的概念,对象的形象表示,对象的几种定义,对象的特点。 9.2.2 其它概念 教学内容:阐述类的概念,实例的概念,消息的概念,方法的概念,属性的概念,封装的概念,继承的概念,多态性的概念,重载的概念;要求学生理解面向对象的类、实例、方法等多个概念。 9.3 面向对象建模 (0.5学时) 教学内容:阐述面向对象建模的必要性,建模的作用。 9.4 对象模型 (0.75学时) 9.4.1 类图的基本符号 教学内容:阐述对象模型的性质、作用、目标,统一建模语言UML0.9,UML的类图的基本符号;要求学生了解统一建模语言UML和它的类图。 9.4.2 表示关系的符号 教学内容:阐述类与类之间通常的4种关系:关联和聚集、泛化、依赖、细化;要求学生了解类与类之间通常的4种关系。 9.5 动态模型 (0.25学时)
200
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述动态模型的作用、性质、目标。 9.6 功能模型 (0.5学时) 9.6.1 用例图 教学内容:阐述功能模型的作用、性质、目标,UML的用例图;要求学生了解UML的用例图。 9.6.2 用例模型 教学内容:阐述用例建模的工作内容,指出寻找行为者和用例是关键;要求学生了解用例建模的工作内容。 9.7 3种模型之间的关系 (0.5学时) 教学内容:阐述面向对象建模技术所建立的3种模型之间的关系;要求学生了解功能模型、动态模型、对象模型在面向对象建模技术中的相互关系。 第10章 面向对象分析 (共2学时)
10.1 面向对象分析的基本过程 (0.25学时) 10.1.1 概述 教学内容:阐述对象分析的定义、目标、作用;要求学生了解对象分析的定义、目标、作用。
201
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
10.1.2 3个子模型与5个层次 教学内容:阐述3个子模型与复杂问题的对象模型中5个层次;要求学生了解对象模型中的5个层次。 10.2 需求陈述 (0.25学时) 10.2.1 书写要点 教学内容:阐述需求陈述的书写要点;要求学生了解需求陈述的书写要点。 10.2.2 例子 教学内容:实例说明需求陈述的书写方法;要求学生了解说明需求陈述的书写方法的实例。 10.3 建立对象模型 (0.5学时) 10.3.1 确定类与对象 教学内容:阐述面向对象分析的首要工作是建立问题域的对象模型,对象模型的内容,确定类与对象的步骤;要求学生了解建立问题域的对象模型,对象模型的内容,确定类与对象的步骤。 10.3.2 确定关联 教学内容:阐述确定关联的方式、3个步骤和必要性;要求学生了解确定关联的方式、步骤和必要性。
202
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
10.3.3 划分主题 教学内容:阐述划分主题的方法;要求学生了解划分主题的方法。 10.3.4 确定属性 教学内容:阐述确定对象的属性的2个步骤:分析、选择;要求学生了解确定对象的属性的2个步骤。 10.3.5 识别继承关系 教学内容:阐述识别继承关系的2种方法:自底向上、自顶向下;要求学生了解识别继承关系的2种方法。 10.3.6 反复修改 教学内容:阐述反复修改的重要性,以ATM系统为例说明修改的步骤、作用;要求学生建立反复修改的概念。 10.4 建立动态模型 (0.5学时) 10.4.1 编写脚本 教学内容:阐述建立动态模型在开发交互式系统时的作用,脚本的概念,编写脚本的作用;要求学生了解建立动态模型在开发交互式系统时的作用,脚本的概念,编写脚本的作用。 203
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
10.4.2 设想用户界面 教学内容:阐述设想用户界面的内容;要求学生了解设想用户界面的内容。 10.4.3 画事件跟踪图 教学内容:阐述画事件跟踪图的内容,ATM系统实例说明画事件跟踪图的内容;要求学生了解画事件跟踪图的内容。 10.4.4 画状态图 教学内容:阐述画状态图,ATM系统实例说明画状态图的内容;要求学生了解画状态图的方法和步骤。 10.4.5 审查动态模型 教学内容:阐述审查动态模型的任务;要求学生了解审查动态模型的任务。 10.5 建立功能模型 (0.25学时) 10.5.1 画出基本系统模型图 教学内容:描述画基本系统模型图的内容;要求学生了解画基本系统模型图的内容。 10.5.2 画出功能级数据流图 204
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:描述画功能级数据流图的内容,讲解实例ATM系统的功能级数据流图;要求学生了解画功能级数据流图的内容。 10.5.3 描述处理框功能 教学内容:描述处理框功能;要求学生了解处理框功能。 10.6 定义服务 (0.25学时)
教学内容:描述类中应该定义的服务,描述类实体的常规行为,从事件导出的操作,与数据流图中处理框对应的操作,利用继承减少冗余操作。
第11章 面向对象设计 (共3学时)
11.1 面向对象设计的准则 (0.25学时) 教学内容:阐述面向对象设计的6个准则,即模块化、抽象、信息隐藏、弱耦合、强内聚、可重用;要求学生理解面向对象设计的6个准则。 11.2 启发规则 (0.25学时) 教学内容:阐述6条启发规则,即设计结果应该清晰易懂、一般-特殊结构的深度应恰当、设计简单的类、使用简单的协议、使用简单的服务、把设计变动减至最小;要求学生了解面向对象设计的6条启发规则。 11.3 软件重用 (0.5学时)
205
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
11.3.1 概述 教学内容:阐述重用的概念,软件成分的3个重用级别,典型的10种可重用软件成分;要求学生了解重用的概念,软件成分的3个重用级别,典型的10种可重用软件成分。 11.3.2 类构件 教学内容:阐述类构件的重用方式,可重用软件应具备的3个特点:模块独立性强、具有高度可塑性、接口清晰简明可靠;要求学生了解类构件的重用方式,可重用软件应具备的3个特点。 11.3.3 软件重用的效益 教学内容:阐述从质量、生产率、成本3方面做软件重用的效益分析;要求学生了解软件重用的效益分析角度。 11.4 系统分解 (0.25学时) 教学内容:阐述系统分解的一般方法,子系统之间的两种交互方式,组织系统的两种方案,设计系统的拓扑结构;要求学生了解面向对象设计模型系统分解的一般方法。 11.5 设计问题域子系统 (0.25学时) 教学内容:阐述对面向对象分析所得出的问题域模型做的5种修改和补充,即调整需求、重用已有的类、把问题域类组合在一起、增添一般化类以建立协议、调整继承层次。 11.6 设计人机交互子系统子系统 (0.25学时)
206
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述设计人机交互子系统的4个策略,即分类用户、描述用户、设计命令层次、设计人机交互类;学生应大致了解设计人机交互子系统要做的工作。 11.7 设计任务管理子系统 (0.25学时) 教学内容:阐述设计任务管理子系统要做的工作,分析并发性,描述设计任务管理子系统的各种任务,如事件驱动型任务、时钟驱动型任务、优先任务、关键任务、协调任务、资源需求等;学生应大致了解设计任务管理子系统要做的工作。 11.8 设计数据管理子系统 (0.25学时) 11.8.1 选择数据存储管理模式 教学内容:阐述设计数据管理子系统应该先选择数据存储管理模式,包括:文件管理系统、关系数据库管理系统、面向对象数据库管理系统;要求学生了解3种数据存储管理模式。 11.8.2 设计数据管理子系统 教学内容:阐述设计数据管理子系统的2个具体工作,即设计数据格式和设计相应的服务;要求学生了解设计数据管理子系统的2个具体工作。 11.8.3 例子 教学内容:阐述设计数据管理子系统的ATM实例;要求学生理解设计数据管理子系统的ATM实例。 207
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
11.9 设计类中的服务 (0.25学时) 11.9.1 确定类中应有的服务 教学内容:描述类中应有的服务;要求学生了解类中应有的服务。 11.9.2 设计实现服务的方法 教学内容:描述设计实现服务的3个方法,即设计实现服务的算法、选择数据结构、定义内部类和内部操作;要求学生了解设计实现服务的3个方法。 11.10 设计关联 (0.25学时) 教学内容:阐述使用关联有两种可能的方式,即单向遍历和双向遍历,关联对象的实现;要求学生了解使用关联的两种可能的方式。 11.11 设计优化 (0.25学时) 11.11.1 确定优先级 教学内容:阐述确定优先级的意义;要求学生了解确定优先级的意义。 11.11.2 提高效率的几项技术 教学内容:阐述提高效率的3种技术:增加冗余关联以提高访问效率、调整查询次序、保留派生属性;要求学生了解提高效率的3种技术。
208
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
11.11.3 调整继承关系 教学内容:阐述与建立类继承有关的问题:抽象与具体、为提高继承程度而修改类定义、利用委托实现行为共享;要求学生了解与建立类继承有关的问题。 第12章 面向对象实现 (共1学时)
12.1 程序设计语言 (0.25学时) 12.1.1 面向对象语言的优点 教学内容:阐述面向对象语言的3个主要优点,即一致的表示方法、可重用性、可维护性;要求学生了解面向对象语言的3个主要优点。 12.1.2 面向对象语言的技术特点 教学内容:阐述面向对象语言的10个技术特点,如支持类与对象概念的机制、实现整体-部分结构的机制,实现一般-特殊结构的机制、实现属性和服务的机制、类型检查、类库、效率、持久保存对象、参数化类、开发环境等;要求学生了解面向对象语言的10个技术特点。 12.1.3 选择面向对象语言 教学内容:阐述选择面向对象语言考虑的因素:将来能否占主导地位、可重用性、类库和开发环境、开发工具、开发平台、发行平台;要求学生了解选择面向对象语言考虑的因素。 12.2 程序设计风格 (0.25学时)
209
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
12.2.1 提高可重用性 教学内容:阐述提高可重用性的7条主要准则,即提高方法的内聚、减小方法的规模、保持方法的一致性、把策略与实现分开、全面覆盖、尽量不使用全局信息、利用继承机制;要求学生理解提高可重用性的7条主要准则。 12.2.2 提高可扩充性 教学内容:阐述提高可扩充性的4条准则,即封装实现策略、不要用一个方法遍历多条关联链、避免使用多分支语句、精心确定公有方法;要求学生理解提高可扩充性的4条准则。 12.2.3 提高健壮性 教学内容:阐述提高强壮性的4条准则,即预防用户的操作错误、检查参数的合法性、不要预先确定限制条件、先测试后优化;要求学生理解提高强壮性的4条准则,能辨别程序设计风格的好坏。 12.3 测试策略 (0.25学时) 12.3.1 面向对象的单元测试 教学内容:阐述面向对象的单元测试;要求学生了解面向对象的单元测试内容。 12.3.2 面向对象的集成测试 教学内容:阐述面向对象的集成测试;要求学生了解面向对象的集成测试内容。
210
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
12.3.3 面向对象的确认测试 教学内容:阐述面向对象的确认测试;要求学生了解面向对象的确认测试内容。 12.4 设计测试用例 (0.25学时)
12.4.1 测试类的方法 教学内容:阐述测试单个类的3种方法,即随机测试、划分测试、基于故障的测试;要求学生了解测试单个类的3种方法。 12.4.2 集成测试方法
教学内容:阐述集成测试的2种方法:多类测试、从动态模型导出测试用例;要求学生了解集成测试的2种方法。
第13章 软件项目管理 (共2学时)
13.1 估算软件规模 (0.25学时) 13.1.1 代码行技术 教学内容:阐述估计软件规模的代码行技术;要求学生了解估计软件规模的代码行技术。 13.1.2 功能点技术 211
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
教学内容:阐述估计软件规模的功能点技术,功能点技术定义的信息域的5个特征;要求学生了解估计软件规模的功能点技术。 13.2 工作量估算 (0.25学时) 13.2.1 静态单变量模型 教学内容:介绍用于工作量估计的几种静态单变量模型:面向KLOC的估计模型、面向FP的估计模型;要求学生熟悉静态单变量模型。 13.2.2 动态多变量模型 教学内容:介绍用于工作量估计的动态多变量模型;要求学生熟悉动态多变量模型。 13.2.3 COCOMO2模型 教学内容:介绍用于工作量估计的构成性成本COCOMO2模型的内容、3个层次,5个分级因素;要求学生熟悉构成性成本COCOMO2模型,并至少掌握一种工作量估计模型。 13.3 进度计划 (0.5学时) 13.3.1 估计开发时间 教学内容:阐述进度计划的定义、作用,估算开发时间的方法;令学生了解进度计划的定义、作用。 212
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
13.3.2 Gantt图 教学内容:阐述Gantt图的使用方法;令学生理解Gantt图的用法。 13.3.3 工程网络 教学内容:阐述工程网络工具的内容和使用方法;令学生了解工程网络工具的内容和使用方法。 13.3.4 估算工程进度 教学内容:阐述估算工程进度的方法;令学生了解估算工程进度的方法。 13.3.5 关键路径 教学内容:阐述关键路径的概念;令学生了解关键路径的概念。 13.3.6 机动时间 教学内容:阐述机动时间的概念和调配方法;令学生了解机动时间的概念。 13.4 人员组织 (0.25学时) 13.4.1 民主制程序员组 教学内容:阐述项目人员组织的重要性,1种典型的人员组织方式:民主制程序员组;令学
213
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
生了解民主制程序员组的具体组织方法。 13.4.2 主程序员组 教学内容:阐述1种典型的人员组织方式:主程序员组;令学生了解主程序员组的具体组织方法。 13.4.3 现代程序员组 教学内容:阐述1种典型的人员组织方式:现代程序员组;令学生了解现代程序员组的具体组织方法。 13.5 质量保证 (0.25学时) 13.5.1 软件质量 教学内容:阐述衡量软件质量的3个要点,软件质量因素与产品活动的关系,软件质量因素的定义;令学生了解衡量软件质量的要点,软件质量因素的定义。 13.5.2 软件质量保证措施 教学内容:阐述软件质量的4个保证措施:技术复审的必要性、走查、审查、程序正确性证明;令学生了解软件质量的4个保证措施。 13.6 软件配置管理 (0.25学时) 214
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
13.6.1 软件配置 教学内容:软件配置管理的作用、目标,软件配置的内容,即软件过程的3类输出信息,基线的概念和应用;要求学生了解软件配置的内容,基线的概念。 13.6.2 软件配置管理过程 教学内容:软件配置管理的5大任务,即标识、版本控制、变化控制、配置审计和报告;要求学生了解软件配置管理的5大任务。 13.7 能力成熟度模型 (0.25学时) 教学内容:阐述能力成熟度模型CMM的概念,基本运用思想,CMM的5个等级,即初始级、可重复级、已定义级、已管理级、优化级;要求学生掌握CMM的概念,理解CMM的使用方法。 四、教材
《软件工程导论》(第四版),张海藩,清华大学出版社2003年12月
五、主要参考资料
1.《软件工程》.张海藩.人民邮电出版社,2002年
2.《Software Engineering-Principles and Practice Second Edition》,Hans Van Vliet . John Wiley & Sons,2000
215
编号:信息管理与信息系统—2005—9 公共管理学院本科课程教学大纲
3.《Software Engineering-An Object_Oriented Perspective》.Eric J. Braude. John Wiley & Sons,2001
六、成绩评定
平时成绩占30%,期末成绩占70%。
216
因篇幅问题不能全部显示,请点此查看更多更全内容