软件工程复习提纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《软件工程》课程要点

●每章教学课件中的“本章小结”列出了需要掌握的内容

●教学过程中的例题和习题也是课程重点

一、软件工程与软件过程概述

1.概念:

(1)软件的概念(组成成分、作用);

(2)软件危机的含义、表现、产生原因(客观、主观)

(3)软件工程学科包括的内容、解决的主要问题

(4)软件生命周期的含义、组成阶段及各阶段主要任务

2.需理解的问题:

(1)软件与程序的区别和联系?

(2)开发一个软件项目包括哪些基本的步骤?每一步骤完成哪些工作?

(3)主要的软件过程模型(生命周期模型)有哪些?各自有什么特点?

二、结构化分析-面向数据流的分析方法

1.什么是软件需求?需求分析过程(步骤)?

2.需求分析模型:

(1)功能模型(数据流图DFD)的含义、描述符号、画法步骤及规则

(2)数据模型(E-R图)的作用

(3)行为模型(状态转换图)的作用

(4)数据字典的作用

三、结构化设计

1.软件设计的任务?结构化设计与结构化分析的区别和联系?

2.软件设计遵循的基本原理及规则:

(1)模块化的含义、如何划分模块(降低成本、提高独立性)?

(2)抽象与逐步求精的含义、二者间关系如何?

(3)信息隐藏的含义

(4)如何完善软件结构(深度、宽度、扇入、扇出、作用域、控制域)?

3.模块独立性:

(1)模块独立性含义?

(2)模块独立性的度量标准:耦合的分类、含义及应用;内聚的分类、含义及应用。

4.概要设计(面向数据流的设计方法)

(1)概要设计的任务?

(2)数据流图的类型及特征(变换型、事务型)

(3)变换分析设计方法的应用(步骤)

(4)事务分析设计方法的应用(步骤)

4.详细设计(过程设计)

(1)详细设计的任务

(2)结构化程序(设计)的特征

(3)详细设计结果的描述工具:程序流程图、N-S图、PAD图、PDL、判定表

四、软件测试

1.软件测试基础

(1)软件测试的含义和目的?

(2)测试用例的内容(输入数据、预期输出结果)?

(3)主要测试方法(黑盒测试、白盒测试)的含义?

2.主要的白盒测试技术及应用-------逻辑覆盖法?基本路径测试方法?

3.主要的黑盒测试技术及应用-------等价类法? 边界值分析法?

4.软件测试的过程?

(1)单元测试(采用的测试方法;测试内容)

(2)集成测试(采用的测试方法;测试内容;模块组装策略)

(3)确认测试(采用的测试方法;测试内容;α测试与β测试?)

(4)辅助模块的含义及作用(驱动模块、存根模块?)

五、面向对象方法学基础

1.基本概念:

(1)对象的含义及特点?

(2)类的含义?类与对象的关系?

(3)消息及消息传递的含义及作用?

(4)继承的含义?多态性机制?

2.面向对象建模技术中的三种模型及各自作用?

3.对象模型及描述(类图):对象(类)的图形表示;关系(关联、聚集、继承)的图形表示;

4.事件追踪图、状态图、用例图的作用

六、面向对象分析与设计过程

1.面向对象分析(OOA)的任务?OOA的基本过程?

2.面向对象设计(OOD)的主要任务?OOD与OOA的区别和联系?

3.OOD模型的组成(四部分)及内容?

七、软件维护

1.软件维护的含义及类型?

2.软件维护过程?

-----------------------------------------------------------------------------

课堂练习题目

一、填空题

1.软件主要包括程序、和三部分内容。

2.软件可行性研究的任务是从技术、和三个方面分析软件项目的可行性。

3.软件测试的目的是;通常把软件测试方法分为和两大类。

4.结构化分析方法中,功能模型用描述;数据模型用描述。

5.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的__。

二、选择题

1.产生软件危机的主要原因有()。

①软件本身的特点②用户使用不当③硬件可靠性差

④程序员水平⑤缺乏好的开发方法和管理手段

A. ③④

B. ①②④

C. ①⑤

D. ①③

2.需求分析阶段,开发人员需从用户那里获得的最重要信息是( ) 。

A.用户能接受的开发费用 B.用户能接受的开发周期

C.用户要让软件做什么 D.软件应具有何种结构

3.数据流图中的每个处理至少有()。

A.一个输入流或一个输出流

B.一个输入流和一个输出流

C.一个输入流

D.一个输出流

4.在面向数据流的设计方法中,一般把数据流图划分为()两种类型。

A.数据流和事务流

B.变换流和数据流C.变换流和事务流 D.控制流和事务流

5.数据流图所描述的是实际系统的()。

A.逻辑模型

B.物理模型

C.程序流程

D.数据结构

6.由变换型数据流图转换成模块结构图,其中包括变换模块,则()。

A.变换模块就是主模块

B.变换模块的功能是将逻辑输入变换为逻辑输出

C.变换模块没有下层模块

D.变换模块只能有一个输入量、一个输出量

7.为了提高软件测试的效率,应该()。

A、在完成编码以后制定软件的测试计划

B、取一切可能的数据作为测试数据

C、选择发现错误可能性大的数据作为测试用例

D、随机地选取测试数据

8.有一个计算程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例: -1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )

A、条件覆盖法

B、等价分类法

C、边界值分析法

D、错误推测法

9.关于单元测试,正确的是( ) 。

A.单元测试的依据是概要设计说明书

B.单元测试中不需要使用白盒测试法

C.单元测试包括模块接口测试

D.单元测试时不需要辅助模块

10.有关集成测试的叙述中,()是正确的。

A.测试底层模块时不需要桩模块

B.自底向上测试方法有利于提前预计测试结果

C.驱动模块的作用是模拟被调模块

D.自顶向下测试方法易于设计测试用例

11.()表示了类之间的“一般__特殊”关系。

A.聚集

B.关联

C.消息传递

D.继承

12.OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组()连接来实现的。

A.消息

B.记录

C.数据

D.属性

13.面向对象开发方法定义了三种模型来描述系统,()可以用数据流图来表示

A.对象模型 B.功能模型C.动态模型 D.数据模型

14.面向对象分析(OOA)的主要活动不包括()。

A.确定对象 B.确定属性 C.确定关联 D.确定方式

15.软件开发中,阶段评审是非常重要的环节,其主要目的和作用是()。

A.减少测试工作量

B.避免后期付出高代价

C.保证软件质量

D.缩短软件开发周期

三、概念解释

1.软件危机 2.软件生命周期 3 .需求分析 4.概要设计

5.内聚 6、多态性 7、软件测试 8、驱动模块

四、简答题

1.什么是软件危机?如何消除软件危机?

2.作为某软件公司的工程师,你将采用结构化方法开发一套适用于住宅小区的智能家庭保安系统。

简述开发步骤和每个步骤完成的主要任务。

3.什么是需求分析?简述需求分析的基本任务。

相关文档
最新文档