软件工程教学大纲 (二)_第1页
软件工程教学大纲 (二)_第2页
软件工程教学大纲 (二)_第3页
软件工程教学大纲 (二)_第4页
软件工程教学大纲 (二)_第5页
已阅读5页,还剩20页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《软件工程》教学大纲

编写人:董凯宁编写时间:2005年10月30日

一、课程基本信息

课程名称:软件工程SoftwareEngineering

课程号:40110630

课程类别:专业课

学时:48学分:3

二、教学目的及要求

软件T程的基本概念,软件设计中的过程抽象,软件设计中的捽制结构,软件设计

中的数据类型,软件设计过程,软件开辟和维护模型,软件开辟的风险分析,非形式规

格说明,形式规格说明,抽象和信息隐藏,结构化设计和过程设计,软件设计的实现策

略和语言,软件设计中的重用支持,软件质量保证与管理,软件测试,CASE,集成化CASE

环境,面向对象的分析设计方法,面向对象建立模型,面向对象的编程实现,软件项目

的管理等。

三、教学内容

第1章软件工程概述(共3学时)

1.1软件危机(0.5学时)

1.1.1软件工程的介绍

教学内容:讲述软件危机的起源,软件危机的7个典型表现:对软件开辟成

本和进度的估计往往很不许确、用户对已完成软件系统不满意的现象时常发

生、软件产品的质量往往靠不住、软件往往是不可维护的、软件通常没有•恰

当的文档资料、软件成本逐年上升、软件开辟生产率提高的速度跟不上计算

机应用迅速普及深入的趋势;要求学生了解软件危机的起源,软件危机的7

个典型表现。

1.1.2产生软件危机的原因

教学内容:讲述软件危机的多种形成原因:软件开辟与维护的方法不正确、

客观上软件维护的艰难性、团队工作管理的艰难性等;要求学生了解软件危

:隹隹,玄综__9_________________________________公善ra当.木.通皿火在切

机的多种形成原因。

1.1.3消除软件危机的途径

教学内容:讲述消除软件危机的几种途径,彻底消除软件就是程序的错误概

念的必要性;要求学生了解消除软件危机的儿种主要途径。

今1.2软件工程(0.5学时)

1.2.1软件工程的介绍

教学内容:阐述软件工程的定义,软件工程的合用领域,软件工程的7条本

质特性:软件工程关注于大型程序的构造、软件工程的中心课题是控制复杂

度、软件时常变化、开辟软件的效率非常重要、和谐的合作是开辟软件的关

键、软件必须有效的支持它的用户、在软件工程领域中是由具有一种文化背

景的人替具有另一种文化背景的人创造产品;要求学生理解软件工程的定义,

软件工程的合用领域,软件工程的7条本质特性。

1.2.2软件工程的基本原理

教学内容:阐述软件工程的7条基本原理:用分阶段的生命周期计划严格管

理、坚持进行阶段评审、实行严格的产品控制、采用现代化程序设计技术、

结果应能清晰的审查、开辟小组的人员应该少而精、承认不断改进软件工程

实践的必要性;要求学生理解软件工程的7条基本原理。

1.2.3软件工程方法学

教学内容:阐述软件工程方法学的3要素:方法、工具、过程的概念,软件

工程方法学中的传统方法学和面向对象方法学;要求学生了解软件工程方法

学的3要素,理解传统方法学和面向对象方法学的内容。

今1.3软件生命周期(().5学时)

教学内容:阐述软件生命周期的各个环节:问题定义、可行性研究、需求分析、总

体设计、详细设计、编码和单元测试、综合测试、软件维护;要求学生掌握软件生

命周期的各个环节构成。

今14软件过程(重点)(1.5学时)

1.4.1瀑布模型

教学内容:详细阐述瀑布模型的特点,模型构成、运作方法;要求学生掌握

瀑布模型的构成、特点。

142快速原型模型

173

教学内容:详细阐述快速原型模型的特点,模型构成、运作方法;要求学生

掌握这快速原型模型的构成、特点、运作方式。1.4.3增量模

教学内容:详细阐述增量模型的特点,模型构成、运作方法;要求学生掌握

增量模型的构成、特点、运作方式。1.4.4螺旋模型

教学内容:详细阐述螺旋模型的特点,模型构成、运作方法,比较4种模型

的侧重点。要求学生掌握螺旋模型的构成、特点、运作方式。

第2章可行性研究(共5学时)

今2.1可行性研究的任务(05学时)

教学内容:阐述可行性研究的任务和概要步骤;要求学生了解可行性研究的任务和

概要步骤。

今2.2可行性研究过程(1学时)

教学内容:描述典型的可行性研究过程的步骤如复查系统规模和目标、研究目前正

在使用的系统、导出新系统的高层逻辑模型、进一步定义问题、导出和评价供选择

的解法、推荐行动方针、草拟开辟计划和书写档案提交审查要求学生了解典型的可

行性研究过程的8个步骤。

今2.3系统流程图(重点)(1学时)

2.3.1符号

教学内容:描述系统流程图使用的基本符号和系统符号;要求学生掌握系统

流程图使用的基本符号。

2.3.2例子

教学内容:描述系统流程图使用的一个库存清单系统例子;要求学生理解这

个例子。

2.3.3分层

教学内容:阐述分层绘制系统流程图的概念;要求学生理解分层绘制系统流

程图的思想。

今2.4数据流图(重点)(1学时)

2.4.1符号

教学内容:描述数据流图使用的基本符号和系统符号;要求学生掌握数据流

174

:后隹,玄综__9_________________________________公善神金色木帮通皿火注缶

图使用的基本符号。

2.4.2例子

教学内容:描述数据流图使用的一个定货系统例子,例子分为基本系统模型、

功能级数据流图、把处理事务的功能进一步分解后的数据流图;要求学生理

解这个例子。

2.4.3命名

教学内容:阐述数据流图的命名规则;要求学生理解数据流图的命名规则。

2.4.4用途

教学内容:阐述画数据流图的基本目的、数据流图的基本用途,画自动化边

界的规则;要求学生掌握画数据流图的基本目的、数据流图的基本用途,画

自动化边界的规则。

今2.5数据字典(重点)(1学时)

2.5.1数据字典的内容

教学内容:阐述数据字典中的4个构成元素,浮现别名的3个原因;要求学

生掌握数据字典中的4个构成元素。

2.5.2定义数据的方法

教学内容:阐述数据字典中定义数据的方法,由数据元素组成数据方法的3

种基本类型,标志符的意义;要求学生掌握由数据元素组成数据方法的3种

基本类型,标志符的意义。

2.5.3数据字典的用途

教学内容:阐述数据字典的用途:要求学生了解数据字典的用途。

2.5.4数据字典的实现

教学内容:阐述数据字典的具体实现方法,数据字典卡片内容解释;要求学

生掌握数据字典的具体实现方法。

今2.6成本效益分析(0.5学时)

2.6.1成本估计

教学内容:阐述3种成本估计方法:代码行技术、任务分解技术、自动估计

成本技术;要求学生理解可行性阶段的3种成本估计方法。

2.6.2成本/效益分析的方法

教学内容:阐述4种成本/效益分析的方法:货币的时间价值、投资回收期、

175

装但:后—田U隹.五统_善神母咕木短通0fr当

•ii-J»,l2Z'Ii■,■—L—Jit-4»LLrv_z'^«*yUA.|—bAJLJrxlkr1IJ_L-y^J

纯收入和投资回报率;要求学生理解可行性阶段的4种成本/效益分析方法。

第3章需求分析(共5学时)

今3.1需求分析的任务(0.25学时)

3.1.1确定对系统的综合要求

教学内容:阐述需求分析的任务是确定系统必须做什么,确定对软件系统的

综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接

口需求、约束、逆向需求;要求学生掌握需求分析的任务,了解对软件系统

的8个综合要求。

3.1.2分析系统的数据要求

教学内容:阐述分析系统的数据要求的概要方法;要求学生了解分析系统的

数据要求的概要方法。

3.1.3导出系统的逻辑模型

教学内容:阐述导出系统的逻辑模型后,使用数据流图、实体联系图、状态

转换图等工具描述这个模型;要求学生了解描述逻辑模型的工具。

3.1.4修正系统开辟计划

教学内容:阐述修正系统开辟计划的思想;要求学生建立修正系统开辟计划

的思想。

今3.2与用户沟通获取需求的方法(0.75学时)

3.2.1访淡

教学内容:阐述访谈的方法、步骤和特点;要求学生了解访谈的的方法、步

骤和特点。

3.2.2面向数据流自顶向下求精

教学内容:阐述面向数据流自顶向下求精的理念;要求学生建立面向数据流

自顶向下求精的概念。

3.2.3简易的应用规格说明技术

教学内容:阐述制作简易的应用规格说明技术的典型过程;要求学生了解制

作简易的应用规格说明技术的典型过程。

3.2.4快速建立软件原型

教学内容:阐述快速建立软件原型,构件原型和修改原型的第四代技术、可

重用软件构件、形式化规格说明等3种工具;要求学生了解第四代技术、可

176

重用软件构件、形式化规格说明等3种工具。

今3.3分析建模与规格说明(0.5学时)

3.3.1分析建模

教学内容:阐述在需求分析过程应该建立3种模型,即数据模型、功能模型、

行为模型,模型的概念,结构化分析的内涵;要求学生建立分析建模的观念。

3.3.2软件需求规格说明

教学内容:阐述软件需求规格说明的概要要求;要求学生了解软件需求规格

说明的概要要求。

今3.4实体联系图(重点)(1学时)

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状态

教学内容:阐述状态的概念;要求学生掌握状态的概念。

3.6.2事件

教学内容:阐述状态的事件;要求学生掌握事件的概念。

3.6.3符号

教学内容:阐述状态转换图中所用的符号;要求学生掌握状态转换图中所用

到的符号。

3.6.4例子

177

纪启:后—田=隹.五统_善神母咕木短通0fr当

教学内容:阐述状态转换图通过描绘系统的状态及引起系统状态转换的事件

来表示系统的行为,故可以行为建模,状态的概念,事件的概念,状态转移

图的实例;要求学生了解状态转移图的实例。

今3.7其它图形工具(1学时)

3.7.1层次方框图

教学内容:阐述需求分析阶段可以使用图形工具层次方框图的构成、作用;

要求学生掌握层次方框图的构成、作用。

3.7.2Warnier图

教学内容:阐述需求分析阶段使用的图形工具Warnier图的构成、作用;要

求学生理解Warnier图的构成、作用。

3.7.3IPO图

教学内容:阐述需求分析阶段可以使用图形工具IPO图的构成、作月;要求

学生掌握1PO图的构成、作用。

今3.8验证需求分析(0.5学时)

3.8.1从哪些方面验证软件需求的正确性

教学内容:阐述从一致性、完整性、现实性和有效性4个方面验证软件需求

的正确性;要求学生了解验证软件需求正确性的4个方面。

3.8.2验证软件需求的方法

教学内容:阐述验证软件需求的方法:验证需求的一致性、验证需求的现实

性、验证需求的完整性和有效;要求学生了解验证软件需求的3个方法。

3.8.3用于需求分析的软件工具

教学内容:阐述用于需求分析的软件工具,PSL/PSA系统;要求学生了解

PSUPSA系统的大致功能。

第4章形式化说明技术(共2学时)

今4.1概述(0.25学时)

4.1.1非形式化方法的缺点

教学内容:阐述非形式化方法的缺点:矛盾、二义性、含糊性、不完整性及

抽象层次混乱等;要求学生了解非形式化方法的缺点。

4.1.2形式化方法的优点

教学内容:阐述基于数学的形式化方法的3个主要优点;要求学生了解基于

178

2oos-a

数学的形式化方法的3个主要优点。

4.1.3应用形式化方法的准则

教学内容:阐述应用形式化方法的10条准则:选用恰当的表示方法、不要过

分形式化、应该估计成本、有形式化方法顾问随时提供咨询、不抛却传统的

开辟方法、建立详细的档案、不应该抛却质量标准、不应该盲目依赖形式化

方法、多测试、应该重用。

今4.2有穷状态机(0.25学时)

4.2.1概念

教学内容:阐述有穷状态机的基本概念、状态转移图、状态转移表、构成;

要求学生掌握有穷状态机的原理和概念。

4.2.2例子

教学内容:阐述用有穷状态机描述的电梯按钮的例子;要求学生理解用布•穷

状态机描述的电梯按钮的例子。

4.2.3评价

教学内容:阐述有穷状态机的格式和优点。要求学生了解有穷状态机优点。

今4.3Petri网(重点)(1.25学时)

4.3.1概念

教学内容:阐述出ri网的概念、构成、用法、特点;要求学生掌握使用出ri网分析

系统的基本方法,理解Pelri网对时序问题处理的特殊优势。

4.3.2例子

教学内容:阐述应用Petri网描述电梯按钮的例子。要求学生理解应用Petri

网描述电梯按钮的例子。

今4.4Z语言(0.25学时)

4.4.1简介

教学内容:阐述Z语言的内容,Z语言包含的集合、状态定义、初始状态、

操作,Z语言的特点;要求学生了解Z语言。

4.4.2评价

教学内容:阐述Z语言获得成功的6个原因。要求学生了解Z语言获得成功的

原因。

第5章总体设计(共5学时)

179

今5.1设计过程(0.5学时)

教学内容:阐述整体设计的任务,整体设计的好处,总体设计过程包括系统设计阶

段和结构设计阶段,前者确定系统的具体实现方案,后者确定软件结构,总体设计

包括9个步骤即设想供选择的方案、选取合理的方案、推荐最佳方案、功能分解、

设计软件结构、设计数据库、制定测试计戈I、书写文档、审查和复查。

今5.2设计原理(重点)(1学时)

5.2.1模块化

教学内容:阐述模块化的设计原则;要求学生了解模块化的设计原则。

5.2.2抽象

教学内容:阐述抽象的设计原则;要求学生了解抽象的设计原则。

5.2.3逐步求精

教学内容:阐述逐步求精的设计原则;要求学生了解逐步求精的设计原则。

5.2.4信息隐藏和局部化

教学内容:阐述信息隐藏和局部化的设计原则;要求学生了解信息隐藏和局

部化的设计原则。

5.2.5模块独立

教学内容:详述模块独立原则,几种耦合方式:数据耦合、控制耦合、特征

耦合、公共环境耦合、内容耦合,7种内聚方式:功能内聚、顺序内聚、通信

内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚;要求学生掌握模块独立

中的耦合及内聚方式。

今5.3启示规则(0.5学时)

教学内容:列举7条启示规则,即改进软件结构提高独立性、模块规模应该适中、

深度宽度扇出扇入都应恰当、模块的作用域应该在控制域之内、力争降低模块接口

的复杂程度、设计单入口单出口的模块、模块功能应该可以预测;要求学生理解启

发规则,掌握扇入扇出的概念。

今5.4描绘软件结构的图形工具(重点)(1学时)

5.4.1层次图和HIPO图

教学内容:阐述层次图、HIPO图、结构图的构成、画法、使用方法、特点;

要求学生掌握层次图和HIPO图。

5.4.2结构图

180

本巨:隹■替祠U隹.玄统一_9__________________________________________________________________________________〃梃誉神当色木利"皿的T4f

•li-J^lJ^li^-i-—z!i_4»k^AAz^«*xlj-*-X*JL_Jrxi>r1I^j'vr-Ly^JX

教学内容;阐述结构图的构成、画法、使用方法、特点;要求学生了解结构

图。

今5.5面向数据流的设计方法(重点)(2学时)

5.5.1概念

教学内容:阐述面向数据流的设计方法的普通途径,信息流的概念,变换流

的概念,事务流的概念;要求学生掌握变换流和事务流的概念。

5.5.2变换分析

教学内容:阐述变换分析的定义、例子、设计步骤,并举例说明;要求学生

掌握变换分析方法。

5.5.3事务分析

教学内容:阐述事务分析的定义、例子、设计步骤、并举例说明;要求学生

掌握事务分析的方法。

5.5.4设计优化

教学内容:阐述设计优化的原则;要求学生了解设计优化的原则。

第6章详细设计(共6学时)

今6.1结构程序设计(05学时)

教学内容:阐述详细设计阶段的目标是怎样具体的实现所要求的系统,设计出的处

理过程应该尽可能简明易懂,结构程序设计的各种定义表述;要求学生掌握结构化

程序设计的概念。

今6.2人机界面设计(1.5学时)

6.2.1设计问题

教学内容:阐述人机界面设计的重要性,系统响应时间、用户匡助设施、出

错信息处理和命令交互等设计常见问题;要求学生了解人机界面设计的常见

问题。

6.2.2设计过程

教学内容:阐述用户界面设计过程;要求学生了解用户界面设计过程,

6.2.3人机界面设计指南

教学内容:阐述3类人机界面设计指南:普通交互指南、信息显示指南、数

据输入指南;要求学生理解3类设计指南。

今6.3过程设计的工具(重点)(2学时)

181

6.3.1程序流程图

教学内容:详细阐述过程设计中使用的程序流程图的定义、构成、使用方法、

特点;要求学生掌握程序流程图的定义,构成、特点。

6.3.2盒图(N-S图)

教学内容:详细阐述过程设计中使用的盒图的定义、构成、使用方法、特点;

要求学生掌握盒图的定义,构成、特点。

6.3.3PAD图

教学内容:详细阐述过程设计中使用的PAD图的定义、构成、使用方法、特

点;要求学生掌握PAD图的定义,构成、特点。

6.3.4判断表

教学内容:详细阐述过程设计中使用的判断表的定义、构成、使用方法、特

点;要求学生掌握判断表的定义,构成、特点。

6.3.5判断树

教学内容:详细阐述过程设计中使用的判断树的定义、构成、使用方法、特

点;要求学生掌握判断树的定义,构成、特点。

6.3.6过程设计语言

教学内容:详细阐述过程设计中使用的过程设计语言的定义、构成、使用方

法、特点、比较几种工具的优缺点,描述其侧重点;要求学生掌握过程设计语言、

伪码的定义,构成、特点。

6.4面向数据结构的设计方法(重点)(1.5学时)

6.4.1Jackson图

教学内容:阐述面向数据流和面向数据结构的设计方法的区别,面向数据结

构的合用领域,面向数据结构的设计方法的目标,Jackson系统设计法JSD,

Jackson图的内容;要求学生理解面向数据流和面向数据结构的设计方法的区

别,理解Jackson系统设计法JSD,Jackson图的内容。

6.4.2改进的Jackson图

教学内容:阐述改进的Jackson图内容;要求学生理解改进的Jackson图内容。

6.4.3Jackson方法

教学内容:阐述Jackson方法JSP的5个操作步骤,并举例说明。要求学生

182

理解Jackson方法JSP的5个操作步骤。

今6.5程序复杂度的定量度量(0.5学时)

6.5.1McCabe方法

教学内容:阐述定量度量程序复杂度的价值,McCabe方法的流图、计算环形

复杂度的方法、环形复杂度的用途;要求学生了解McCabe方法。

6.5.2Halstead方法

教学内容:阐述Halzead方法;要求学生了解Halsiead方法。

第7章实现(共6学时)

今7.1编码(05学时)

7.1.1选择程序设计语言

教学内容:阐述选择程序设计语言的重要性和方法,选择语言的7条实用标

准;要求学生了解程序设计语言的重要性云口方法,选择语言的7条实用标准。

7.1.2编码风格

教学内容:阐述程序设计编码风格的5点优劣判断标准:程序内部的文档、

数据说明、语句构造、输入输出和效率;要求学生了解程序设计编码风格的5

点优劣判断标准。

今7.2软件测试基础(0.5学时)

7.2.1软件测试的目标

教学内容:阐述软件测试的基本概念和基础知识,软件测试的3个目标;要

求学生理解软件测试的3个目标。

7.2.2软件测试准则

教学内容:阐述软件测试的6个准则:所有测试都应该能追溯到用户需求、

在测试开始之前制定测试计划、把Parelo原理应用到软件测试中、从小规模

测试开始并逐渐进行大规模测试、穷举测试是不可能的、应该由独立的第三

方从事测试工作;要求学生理解软件测试6个准则。

7.2.3测试方法

教学内容:简述白盒测试法和黑盒测试法;要求学生了解白盒测试法和黑盒

测试法。

7.2.4测试步骤

教学内容:阐述大型软件系统测试的5个步骤:模块测试、子系统测试、系

183

统测试、验收测试、平行运行;要求学生理解大型软件系统测试的5个步骤。

7.2.5测试阶段的信息流

教学内容:阐述测试阶段的信息流图;要求学生理解测试阶段的信息流图。

今7.3单元测试(0.5学时)

7.3.1测试重点

教学内容:阐达单元测试的内容,5个测试方面:模块接口、局部数据结构、

重要的执行通路、出错处理通路和边界条件;要求学生理解单元测试的内容。

7.3.2代码审查

教学内容:阐述代码审查的内容;要求学生理解代码审查的内容。

7.3.3计算机测试

教学内容:阐述计算机测试的内容;要求学生理解计算机测试的内容。

今7.4集成测试(1学时)

7.4.1自顶向下集成

教学内容:阐述集成测试的定义,作用,自顶向下集成的测试方式;要求学

生理解自顶向下测试方式。

7.4.2自底向上集成

教学内容:阐述自底向上集成底测试方式;要求学生理解自底向上测试方式。

7.4.3不同集成测试策略的比较

教学内容:阐述小同集成测试策略的比较;要求学生理解自顶向下和自底向

上这2种测试方式的对照。

7.4.4回归测试

教学内容:阐述回归测试的概念,回归测试包括3种不同的测试用例;要求

学生理解回归测试的概念。

今7.5确认测试(0.5学时)

7.5.1确认测试的范围

教学内容:阐述确认测试的定义,确认测试的范围;要求学生了解确认测试

的内容。

7.5.2软件配珞复查

教学内容:阐述软件配辂复查的概念;要求学生了解软件配貉复查的概念。

7.5.3Alpha和Beta测试

184

教学内容;阐述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等价划分

教学内容:阐述黑盒测试着重测试软件功能,黑盒的优点,黑盒测试方案的

应用特点,等级划分的概念、方法,等价类的概念;要求学生了解黑盒测试

技术的具体实施方法,黑盒的优点,等级划分的概念、方法,等价类的概念。

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基本概念

教学内容:阐述软件可靠性的定义,软件的可用性;要求学生掌握软件可靠

性的定义,软件的可用性。

185

编旦:侍席隹拜U信席系统一2QQS—9_____________________________公#筲理牛咕木短;里皿屿田f

7.9.2估计平均无故障时间的方法

教学内容:阐述估计平均无故障时间的方法;要求学生掌握估计平均无故障

时间的方法。

第8章维护(共4学时)

今8.1软件维护的定义(05学时)

教学内容:阐述软件维护的定义。

今8.2软件维护的特点(1学时)

8.2.1结构化维护与非结构化维护差别巨大

教学内容:阐述非结构化维护的概念和特点,结构化维护的概念和特点;要

求学生了解结构化维护和非结构化维护的差别。

822维护的代价高昂

教学内容:阐述维护费用的描述。要求学生建立维护费用高的概念。

8.2.3维护的问题不少

教学内容:阐述维护的诸多问题。要求学生建立维护问题多的概念。

今8.3软件维护过程(0.5学时)

教学内容:阐述软件维护过程,维护组织,维护报告,维护的事件流,保存维护记录,

评价维护活动要求学生了解软件维护5个过程。

今8.4软件的可维护性(1学时)

8.4.1决定软件可维护性的因素

教学内容:阐述软件可维护性的定义,决定软件可维护性的5个因素,即可

理解性、可测试性、可修改性、可移植性和可重用性;要求学生理解软件的

可维护性。

8.4.2文档

教学内容:阐述文档维护的重要性,用户文档和系统文档的定义和作用;要

求学生理解文档维护的重要性,用户文档和系统文档的定义和作用。

8.4.3可维护性复审

教学内容:阐述可维护性复审的内容;要求学生理解可维护性复审。

今8.5预防性维护(0.5学时)教学内容:阐述预防性

维护的定义,老程序的4种维护方法。

今8.6软件再工程过程(0.5学时)

186

教学内容:描述软件再工程过程的模型,阐述该模型中定义的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对象

教学内容:阐述对象的概念,对象的形象表示,对象的几种定义,对象的特

点;要求学生理解对象的概念,对象的形象表示,对象的几种定义,对象的

特点。

9.2.2其它概念

教学内容:阐述类的概念,实例的概念,消息的概念,方法的概念,属性的

概念,封装的概念,继承的概念,多态性的概念,重载的概念;要求学生理

解面向对象的类、实例、方法等多个概念。

今9.3面向对象建模(0.5学时)

教学内容:阐述面向对象建模的必要性,建模的作用。

今9.4对象模型(().75学时)

9.4.1类图的基本符号

教学内容:阐述对象模型的性质、作用、目标,统一建模语言UML0.9,

UML的类图的基本符号;要求学生了解统一建模语言UML和它的类图。

9.4.2表示关系的符号

187

纪启:后—田=隹.五统_善神母咕木短通0fr当■la

*ii-l^liz,Ii•*■—L-zi1—4»LLrv_z'^«*yU^_\>--\|—kAJLJrxlkr1IJ-LV^Jxr3s*^J

教学内容:阐述类与类之间通常的4种关系;关联和会萃、泛化、依赖、细

化;要求学生了解类与类之间通常的4种关系。

今9.5动态模型(0.25学时)

教学内容:阐述动态模型的作用、性质、目标。

今9.6功能模型(0.5学时)

9.6.1用例图

教学内容:阐述功能模型的作用、性质、目标,UML的用例图;要求学生了解

UML的用例图。

9.6.2用例模型

教学内容:阐述用例建模的工作内容,指出寻觅行为者和用例是关键;要求

学生了解用例建模的工作内容。

今9.73种模型之间的关系(0.5学时)

教学内容:阐述面向对象建模技术所建立的3种模型之间的关系;要求学生了解功

能模型、动态模型、对象模型在面向对象建模技术中的相互关系。

第10章面向对象分析(共2学时)

今10.1面向对象分析的基本过程(0.25学时)

10.1.1概述

教学内容:阐述对象分析的定义、目标、作用;要求学生了解对象分析的定

义、目标、作用。

10.1.23个子模型与5个层次

教学内容:阐述3个子模型与复杂问题的对象模型中5个层次;要求学生了

解对象模型中的5个层次。

今10.2需求陈述(0.25学时)

10.2.1书写要点

教学内容:阐述需求陈述的书写要点;要求学生了解需求陈述的书写要点。

10.2.2例子

教学内容:实例说明需求陈述的书写方法;要求学生了解说明需求陈述的书

写方法的实例。

今10.3建立对象模型(0.5学时)

10.3.1确定类与对象

188

替祠U隹.玄统一?所口_公:善神当色木帮通皿火在切

I*'।**■—L-/!»—4»k^/v^>*ytr-^■r^rur^i9_____________________________H|—kAJLJrxlkr1IJ-LV^Jxr3s*^J

教学内容:阐述面向对象分析的首要工作是建立问题域的对象模型,对象模

型的内容,确定类与对象的步骤;要求学生了解建立问题域的对象模型,对

象模型的内容,确定类与对象的步骤。

10.3.2确定关联

教学内容:阐述确定关联的方式、3个步骤和必要性;要求学生了解确定关

联的方式、步骤和必要性。

10.3.3划分主题

教学内容:阐述划分主题的方法;要求学生了解划分主题的方法。

10.3.4确定属性

教学内容:阐述确定对象的属性的2个步骤:分析、选择;要求学生了解确

定对象的属性的2个步骤。

103.5识别继承关系

教学内容:阐述识别继承关系的2种方法:自底向上、自顶向下;要求学生

了解识别继承关系的2种方法。

1036反复修改

教学内容:阐述反复修改的重要性,以ATM系统为例说明修改的步骤、作用;

要求学生建立反复修改的概念。

10.4建立动态模型(0.5学时)

10.4.1编写脚本

教学内容:阐述建立动态模型在开辟交互式系统时的作用,脚本的概念,编

写脚本的作用;要求学生了解建立动态模型在开辟交互式系统时的作用,脚

本的概念,编写脚本的作用。

10.4.2设想用户界面

教学内容:阐述设想用户界面的内容;要求学生了解设想用户界面的内容。

10.4.3回事件跟踪图

教学内容:阐述画事件跟踪图的内容,ATM系统实例说明画事件跟踪图的

内容;要求学生了解画事件跟踪图的内容。

10.4.4画状态图

教学内容:阐述画状态图,ATM系统实例说明画状态图的内容;要求学生

了解画状态图的方法和步骤。

189

10.4.5审查动态模型

教学内容:阐述审查动态模型的任务;要求学生了解审查动态模型的任务。

今10.5建立功能模型(().25学时)

10.5.1画出基本系统模型图

教学内容:描述画基本系统模型图的内容;要求学生了解画基本系统模型图

的内容。

10.5.2画出功能级数据流图

教学内容:描述画功能级数据流图的内容,讲解实例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学时)

11.3.1概述

教学内容:阐述重用的概念,软件成份的3个重用级别,典型的1()种可重

用软件成份;要求学生了解重用的概念,软件成份的3个重用级别,典型的

1()种可重用软件成份。

11.3.2类构件

教学内容:阐述类构件的重用方式,可重用软件应具备的3个特点:模块独

立性强、具有高度可塑性、接口清晰简明可靠;要求学生了解类构件的重用

190

方式,可重用软件应具备的3个特点。

11.3.3软件重用的效益

教学内容:阐述从质量、生产率、成本3方面做软件重用的效益分析;要求

学生了解软件重用的效益分析角度。

今11.4系统分解(0.25学时)

教学内容:阐述系统分解的普通方法,子系统之间的两种交互方式,组织系统的两

种方案,设计系统的拓扑结构;要求学生了解面向对象设计模型系统分解的普通方

法。

今11.5设计问题域子系统(0.25学时)

教学内容:阐述对面向对象分析所得出的问题域模型做的5种修改和补充,即调整

需求、重用已有的类、把问题域类组合在一起、增添普通化类以建立协议、调整继

承层次。

今11.6设计人机交互子系统子系统(0.25学时)

教学内容:阐述设计人机交互子系统的4个策略,即分类用户、描述用户、设计命

令层次、设计人机交互类;学生应大致了解设计人机交互子系统要做的工作。

今11.7设计任务管理子系统(0.25学时)

教学内容:阐述设计任务管理子系统要做的工作,分析并发性,描述设计任务管理

子系统的各种任务,妇事件驱动型任务、时钟驱动型任务、优先任务、关键任务、

协调任务、资源需求等;学生应大致了解设计任务管理子系统要做的工作。

今11.8设计数据管理子系统(0.25学时)

11.8.1选择数据存储管理模式

教学内容:阐述设计数据管理子系统应该先选择数据存储管理模式,包括:

文件管理系统、关系数据库管理系统、面向对象数据库管理系统;要求学生

了解3种数据存储管理模式。

11.8.2设计数据管理子系统

教学内容:阑述设计数据管理子系统的2个具体工作,即设计数据格式和设

计相应的服务;要求学生了解设计数据管理子系统的2个具体工作。

11.8.3例子

教学内容:阐述设计数据管理子系统的ATM实例;要求学生理解设计数据管

理子系统的ATM实例。

191

今11.9设计类中的服务(().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种技术。

11.11.3调整继承关系

教学内容:阐述与建立类继承有关的问题:抽象与具体、为提高继承程度而

修改类定义、利用委托实现行为共享;要求学生了解与建立类继承有关的问

题。

第12章面向对象实现供1学时)

今12.1程序设计语言(0.25学时)

12.1.1面向对象语言的优点

教学内容:阐述面向对象语言的3个主要优点,即一致的表示方法、可重用性、

可维护性;要求学生了解面向对象语言的3个主要优点。

12.1.2面向对象语言的技术特点

教学内容:阐述面向对象语言的10个技术特点,如支持类与对象概念的机

制、实现整体一部份结构的机制,实现普通一特殊结构的机制、实现属性和

服务的机制、类型检查、类库、效率、持久保存对象、参数化类、开辟环境

等;要求学生了解面向对象语言的10个技术特点。

12.1.3选择面向对象语言

192

教学内容:阐述选择面向对象语言考虑的因素:将来能否占主导地位、可重

用性、类库和开辟环境、开辟工具、开辟平台、发行平台;要求学生了解选

择面向对象语言考虑的因素。

今12.2程序设计风格(().25学时)

12.2.1提高可重用性

教学内容:阐述提高可重用性的7条主要准则,即提高方法的内聚、减小方法

的规模、保持方法的一致性、把策略与实现分开、全面覆盖、尽量不使用

全局信息、利用继承机制;要求学生理解提高可重用性的7条主要准则。

1222提高可扩充性

教学内容:阐述提高可扩充性的4条准则,即封装实现策略、不要用一个方法

遍历多条关联链、避免使用多分支语句、精心确定公有方法;要求学生理

解提高可扩充性的4条准则。

12.2.3提高茁壮性

教学内容:阐述提高强壮性的4条准则,即预防用户的操作错误、检查参数的

合法性、不要预先确定限制条件、先测试后优化;要求学生理解提高强壮

性的4条准则,能辨别程序设计风格的好坏。

今12.3测试策略(0.25学时)

12.3.1面向对象的单元测试

教学内容:阐述面向对象的单元测试;要求学生了解面向对象的单元测试内

容。

12.3.2面向对象的集成测试

教学内容:阐述面向对象的集成测试;要求学生了解面向对象的集成测试内

容。

12.3.3面向对象的确认测试

教学内容:阐述面向对象的确认测试;要求学生了解面向对象的确认测试内

容。

今12.4设计测试用例(0.25学时)

12.4.1测试类的方法

教学内容:阐述测试单个类的3种方法,即随机测试、划分测试、基于故障

的测试;要求学生了解测试单个类的3种方法。

193

12.4.2集成测试方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论