软件工程基础(汇总资料-本科课程) 下载本文

24.数据字典有4类条目,它们是数据项,数据流,数据储存和基本加工.

25.数据流图采用4种符号表示数据储存,数据源点和终点,数据流向和数据加工. 26.面向数据流的软件设计中,一般是把数据流图的数据流划分为变换流和事物流 27.结构化分析方法用于加工逻辑的工具有结构化语言、判定表、判定树共三种工具。 28.在软件研制过程中,CASE是指计算机辅助软件工程。

29.计算机辅助软件工程(CASE)的目标是实现软件开发各个阶段的自动化。 30.PAD是一种详细设计工具。

31.模块的独立性可以通过软件的耦合性和内聚性这两个指标来衡量。 32.软件模块独立性的两个定性度量标准是内聚性和耦合性。 33.为了便于软件模块的维护和测试,模块的接口应当简单。

34.在白盒法测试中,对程序的语句逻辑有6种覆盖技术,其中发现错误能力最强的技术是 路径覆盖技术。

35.若有一个计算类型程序,它的输入量只有一个X,其范围是[-1.0,1.0]。现在输入的 角度考虑设计一组测试该程序的测试用例为-1.001,-1.0,1.0,1.001,设计这组测 试的方法是边界值分析法。

36.软件测试中路径覆盖测试是整个测试的基础,它是对软件的结构进行测试。 37.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。 38.回归测试是校正性维护中最常运用的方法。 39.软件复审时,其主要的复审对象是软件文档。 40.软件项目开发计划属于管理文档。

《软件工程》期末试卷(A卷) 题号 得分

一 二 三 四 五 总分

一.单项选择题(每小题1分,共22分)

1.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合

B.隐藏

C.封装

D.抽象

2.软件生命周期中所花费用最多的阶段是( D )。 A.详细设计

B.软件编码

C.软件测试

D.软件维护

3.需求分析中开发人员要从用户那里了解( A )。 A.软件做什么

B.用户使用界面 C.输入的信息

D.软件的规模

4.测试的关键问题是( D )。 A.如何组织对软件的评审 C.如何采用综合策略

B.如何验证程序的正确性 D.如何选择测试用例

5.( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A.软件过程

B.软件测试 D.软件工程方法学

C.软件生命周期

6.( A )意味着一个操作在不同的类中可以有不同的实现方式。 A.多态性

B.多继承

C.类的可复用

D.信息隐藏

7.单元测试的测试用例主要根据( D )的结果来设计。 A.需求分析

B.源程序

C.概要设计

D.详细设计

8.随着软硬件环境变化而修改软件的过程是( B )。 A.校正性维护 C.完善性维护

B.适应性维护 D.预防性维护

9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。 A.语句覆盖

B.路径覆盖 D.判定覆盖

C.条件组合覆盖

10.结构化程序设计的一种基本方法是( C )。 A.筛选法

B.迭代法 D.递归法

C.逐步求精法

11.不适合作为科学工程计算的程序设计语言是( D )。 A.Pascal C.Fortran

B.C

D.Prolog

12.只有单重继承的类层次结构是( C )层次结构。 A.网状型 C.树型

B.星型 D.环型

13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。 A.Booch方法

B.Coad方法

C.UML语言

D.OMT方法

14.瀑布模型本质上是一种( A )。 A.线性顺序模型 C.线性迭代模型

B.顺序迭代模型 D.及早见产品模型

15.软件维护产生的副作用,是指( C )。 A.开发时的错误

B.隐含的错误 D.运行时误操作

C.因修改软件而造成的错误

16.软件详细设计的主要任务是确定每个模块的( A )。 A.算法和使用的数据结构 C.功能

B.外部接口

D.编程

17.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度

B.宽度

C.扇入

D.扇出

18.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 C.功能内聚

B.时间内聚 D.通信内聚

19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.调用关系 C.链接关系

B.组成关系 D.顺序执行关系

20.“软件危机”是指( C )。

计算机病毒的出现 B.利用计算机进行经济犯罪活动 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统 21.具有风险分析的软件生命周期模型是( C )。 A.瀑布模型 C.螺旋模型

B.喷泉模型 D.增量模型

22.数据流图(DFD)中的每个数据处理至少需要( D )。 A.一个输入数据流

B.一个输出数据流

D.一个输入数据流和一个输出流

C.一个输入或者输出数据流

二.判断题(每小题2分,共24分)

1.文档是软件产品的一部分,没有文档的软件就不称其为软件。( Y )

2.需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。( N )

3.数据流图建立系统的功能模型,它由数据流、数据处理和数据存贮组成。(N ) 4.在结构化分析建模中要建立的是对象模型、功能模型和行为模型,它们以数据字典为核心。( N )

5.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。(Y ) 6.边界值分析方法是取输入/输出等价类的边界值来构成测试用例的测试方法。(Y ) 7.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。( N )

8.在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。 ( Y )

9.软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。( N ) 10.面向对象方法学的四要素是对象、类、继承和消息通信。( Y ) 11.详细设计的结果基本最终决定了软件的质量。( Y )

12.在详细设计中常采用的工具有层次图、PAD(问题分析图)、程序流程图、盒图等。

( N )

三.填空题(每空2分,共24分)

1.为了便于对照检查,测试用例应由输入数据和预期的 输出结果 两部分组成。 2.软件结构是以 模块 为基础而组成的一种控制层次结构。

3.如果知道软件的规格说明书描述的程序功能,那么就可以采用 黑盒 进行

测试。

4.当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 数值耦合 。

5.软件概要设计关键的一步是 确定软件体系结构 _____,它直接影响下一阶段详细设计和编码的工作。

6.数据流图中的箭头表示 数据流 ,椭圆或圆形表示 数据处理 ,矩形表示 数据源点或终点 。

7.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个___自底向上或相反____________集成的过程。

8.按数据流的类型,面向数据流的设计方法有两种设计策略,它们是变换分析设计和 事务分析设计 。

9.数据流图仅反映系统必须完成的逻辑功能,所以它是一种 功能 模型。 10.软件结构中的 深度 表示的软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。

四.简答题(每小题5分,共10分)

1.衡量模块独立性的两个定性标准是什么(2分)?这两个标准的定义分别是什么(2分)?在我们的软件设计中,关于模块独立性我们追求的目标是什么(1分)? 2.简述结构化程序设计方法的基本特点。(5分) 五.应用题(第一小题8分,第二小题12分,共20分) 1.某旅馆的电话服务如下:(8分)

可以拨分机号码和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成,局号可以是455、466、888、552中任意一个号码。分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。 2.下图是一个被测程序的流程图,请按照要求完成下列问题。(共12分) (1)根据该程序流程图画出该程序的流图;(3分) (2)计算该流图的环形复杂度;(3分) (3)确定独立路径的集合;(3分)