软件工程期末复习试卷

《软件工程》试题

一、从供选择的答案中选出应填入下列叙述中()内的正确答案。

软件设计中划分程序模块通常遵循的原则是使各模块间的耦合尽可能( A 3 )。三种可能的模块耦合是:

( B 5 ),例如,一个模块直接引用另一个模块中的数据。

( C 6 ),例如,一个模块把开关量作为参数传送给另一个模块。

( D 1 ),例如,一个模块通过公共数据结构把数据传送给另一个模块。

其中, ( E 5 )的耦合性最强。

【供选择的答案】

A:①强②适中③弱

B~E:①公共耦合②数据耦合③逻辑耦合

④外部耦合⑤内容耦合⑥控制耦合

二、为高质量地开发软件项目,在软件结构设计时必须遵循(A3 )的原则,(B2 )建立软件系统的模块结构。并且应根据( C 3 )评价系统模块划分的质量。此外在模块设计时,应从5种基本的(D5 )出发,利用它们组合成一个模块的程序块结构。要求每个(E1 )的结构应是单入口和单出口。

【供选择的答案】

A:①质量控制②程序优化③信息隐蔽④数据共享⑤模块通信

B:①自底向上②自顶向下③衍变的自顶向下④随机⑤回归

C:①数据独立性②程序独立性③模块独立性④可修改性⑤可理解性

D:①数据结构②处理结构③功能结构④成份⑤控制结构

E:①程序块②公共块③数据块④记录块⑤通信块

三、从下列叙述中选出5条关于好的程序设计风格的正确叙述。(在对的前面打√)

(1) 使用括号以改善表达式的清晰性。x

(2) 对递归定义的数据结构不要使用递归过程。x

(3) 尽可能对程序代码进行优化。v

(4) 不要修补不好的程序, 要重新写。v

(5) 不要进行浮点数的相等比较。v

(6) 应尽可能多地输出中间结果。x

(7) 利用数据类型对数据值进行防范。v

(8) 用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。x

(9) 程序中的注释是可有可无的。x

(10) 使用有意义的标识符。v

四、从下列叙述中选出5条关于软件测试的正确叙述。(在对的前面打√)

(1) 为了使得软件容易测试, 应该使用高级的程序设计语言编制程序。v

(2) 程序测试是一个程序的执行过程, 目的是为了发现软件中隐藏的错误。v

(3) 如果程序中连锁式连接了8个判定(IF)结构, 则程序中总的路径数达28 。v

(4) 白盒测试仅与程序的内部结构有关, 完全可以不考虑程序的功能要求。x

(5) 为了快速完成集成测试, 采用一次性集成方式是适宜的。v

(6) 对一批模块进行测试,发现错误多的模块中残留的错误将比其它的模块少。v

(7) 好的测试用例应能证明软件是正确的。v

(8) 边界值分析方法是取输入/输出等价类的边界值做为测试用例。v

(9) 等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。v

(10) 判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。v

五、从下列叙述中选出5条有利于软件可维护性的正确叙述。(在对的前面打√)

(1) 在进行需求分析时需同时考虑如何实现可维护性问题。v

(2) 完成测试作业后,为了缩短源程序的长度应删去程序中的注解。x

(3) 尽可能在软件生产过程中保证各阶段文档的正确性。v

(4) 编程时应尽可能使用全局变量。x

(5) 选择时间效率和空间效率尽可能高的算法。v

(6) 尽可能利用硬件的特点。x

(7) 重视程序结构的设计,使程序具有较好的层次结构。v

(8) 使用维护工具或支撑环境。x

(9) 在进行概要设计时应加强模块间的联系。x

(10) 提高程序的可读性,尽可能使用高级语言编写程序。v

(11) 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。x

六、下面是一段用赛德尔迭代法求解线性方程组的程序。其中A[n,n] 是方程组的系数矩阵, B[n]是方程组的右端项,X[n] 是方程组的解向量。eps是控制迭代精度的较小实数。imax是控制迭代的最大次数。flag 是标志,=0,表示迭代不收敛;=1,表示迭代收敛。

for k := 1 to n do X[k] := 0.0;

X[n] := 1.0;

for i := 1 to imax do

begin flag := 1;

for j := 1 to n to

begin s := B[j];

for k := 1 to n do

begin

if j =k then s := s + X[k];

s := s-A[j, k] * X[k]

end;

if abs(X[j]-s) > (abs(s) + 1.0) * eps then flag := 0;

X[j] := s;

end;

if flag =1 then goto L1;

end;

L1:

(1) 试画出它的结构化的程序流程图。

(2) 将它改为N-S图。

(3) 计算它的McCabe环路复杂性。

七、下面是一趟插入排序的程序, 把R[i+1]插入到R[1..i]的适当位置

R[0] = R[i + 1];j = i;

while ( R[j] > R[0] )

{ R[j + 1] = R[j];j = j -1; }

R[j + 1] = R[0];

用路径覆盖方法为它设计足够的测试用例(while循环次数为0次、1次、2次)。

八、阅读下列关于软件可靠性方面的叙述,回答问题1和问题2。

软件的可靠度可定义为:在假定输入和硬件不发生错误的前提下,对于给定的环境和给定的输入,在指定的时间内能完成规定任务的概率。

某软件中心的评测部为了评估已开发实现的应用软件ASP的可靠性,决定采用软件可靠性的错误播种模型来进行测试和评估。评测部在评估时,作了下列三个假设:

(1) 在测试前,单位长度的故障个数E T/ I T为一常数,此常数基本上落在一个固定的范围内。其中I T为被测程序的长度(即机器指令条数),E T为被测程序中故障总数。

(2) 失效率正比于软件中剩余的(潜伏的)故障数,平均无故障时间MTTF与单位长度的剩余故障个数成反比,即MTTF = 1/(K*εr )。其中εr 为单位长度剩余故障个数,K的典型值现取为200。

(3) 测试中发现的错误都得到了及时改正,在测试过程中没有引入新的错误。评测部对ASP软件人为地植入了10个错误,即N S= 10,在开始测试的一小段时间内,发现了160个固有故障,即n = 160,又发现了植入的故障2个,即n S = 2,被测程序ASP的长度(机器指令条数)为105。

问题1:用故障播种(植入)的数学模型,估算出被测程序ASP的固有故障的个数N的值。如果通过测试一段时间后,发现的固有错误个数为E D= 795时,请估算此程序的平均无故障时间MTTF值。

问题2:若要求把此MTTF再提高4倍,应至少再排除多少个固有错误? 请简要地列出有关计算式。

参考答案

一、答案:A. ③ B.⑤ C. ⑥ D. ① E. ⑤

二、答案:A. ③ B. ② C. ③ D. ⑤ E. ①

三、答案:正确的叙述有:(1)、(4)、(5)、(7)、(10)

说明:(1) 利用括号可以明确地规定表达式中各运算符的优先顺序,这样可以提供表达式运算的清晰性,因此是对的。(4) 对于不好的程序,一是程序逻辑混乱以致理解困难,二是隐藏错误多,三是错误定位和修改容易出问题,所以修修补补,越补越糟,不如重新写。(5) 浮点数的运算有其近似性,两个浮点数可能会非常接近但永远不会相等,所以做浮点数的相等比较可能不会有结果。(7) 利用数据类型来检查数据值,这是静态分析的一种手段,叫做类型分析,因此是对的。(10) 使用有意义的标识符,可以提高程序的可读性,因此是对的。

其它的叙述都不对。(2) 对递归定义的数据结构,应当使用递归过程来解决基于这种数据结构的应用问题。(3) 程序代码的优化工作应交给编译器来做,程序设计时应首先考虑程序代码的清晰性、简明性、可读性、正确性、以至于可维护性。(6) 输出中间结果只是在调试程序时才有用,其它时候输出大量中间结果,不但浪费资源,而且给使用者造成麻烦。(8) 从文件输入数据时,应当使用文件结束符来判断输入的结束,使用计数方法判断输入结束不一定是最佳方式。(9) 程序中的注释是必须的,不是可有可无的。

四、答案:正确的叙述有:(1)、(2)、(3)、(4)、(8)。

说明:(1) 使用高级语言编写的程序模块化、结构化程度都比较好,可读性强,容易测试。(2) 程序测试本身应当是一个程序的执行过程,而不是静态的逻辑分析,其目的是发现程序中潜藏的错误。(3) 连锁式分支结构有n个判定,其路径数有2n条,因此当n = 8时程序中总的路径数有28条。(4) 白盒测试基于程序的内部结构设计测试用例,可以不考虑程序的功能要求。(8) 由于在等价类的边界上最容易出错,所以边界值分析方法选取输入∕输出等价类的边界值作为测试用例,可以有效地查错。

不正确的叙述,如(5) 采用一次性集成方式进行模块组装,往往成功的可能性低,而且出现错误时,不容易确定在什么地方出了问题,因此应采用增殖式集成方式,可以把出错的范围局限到少数模块中间。

(6) 测试的实践表明,对一批模块进行测试,发现错误多的模块中残留的错误也多,因此必需注意这一现象,

弄清哪些模块问题发现得多,对这些模块重点测试。(7) 好的测试用例是能够发现新错误的测试用例,发现不了问题的测试用例就不是好的测试用例,用它们做测试是浪费时间和金钱。(9) 等价类划分法是选择输入等价类的代表值作为测试用例,而因果图法才是考虑了各等价类之间取值的组合情况及可能的结果来设计测试用例的。(10) 语句覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。而判定覆盖法则可能查不出在判定中某些条件中关系运算符使用有误时产生的错误。

五、答案:正确的叙述有:(3)、(5)、(7)、(8)、(10)

说明:(3) 尽可能在软件生产过程中保证各阶段文档的正确性,对于保证软件的可靠性、功能性等有相当大的作用,这样可减少用户提出维护请求的可能,即使要更新,工作的难度和工作量也会降低。(5) 选择时间效率和空间效率尽可能高的算法,可以让编程者把注意力集中在提供程序的正确性、可理解性、可修改性、可测试性、可使用性等方面,从而提高可维护性,不必为追求效率而把程序编写得让人看不懂。(7) 如果程序结构设计得较好,层次结构合理,在维护时理解程序和修改程序容易,不易出错。(8) 使用维护工具或支撑环境可以大大降低维护的工作量。(10) 用高级语言编写程序,易读易懂,可以提高可维护性。

不正确的叙述,如(1) 在需求分析时主要考虑软件要“做什么?”这一阶段对可维护性可以提出要求,要达到什么指标,而如何实现可维护性,是在设计和实现阶段考虑的问题。(2) 在程序中加入注释,这是提高程序可读性,从而提高可维护性的重要手段,不能因为测试通过就删去它们。(9) 在软件概要设计时,对产生的程序模块结构的评价方法就是看模块之间的耦合(联系)是否松散。如果联系密切,这样的结构各部分牵连太多,是不好的。(4) 因此在编程时尽可能用参数表,而不应当用全局变量来传送信息。(6) 尽可能利用硬件的特点,这样的程序可移植性很差,自然维护起来就相当困难了。(11) 增加维护人员会降低维护的生产率,有可能对维护进度带来不利的影响。

六、答案:(1) 结构化的程序流程图:

(2) N-S图:

k≤n

(3) McCabe 环路复杂性度量V(G) = 判定语句个数+1 = 8

七、`画出该程序的流程图:

八、答案:

〖问题1〗利用故障播种(植入)模型,被测程序ASP 的固有故障个数N 的值为: N = N S * n / n S = 10 * 160 / 2 = 800 (个故障)。 根据Shooman 模型:

x[n]=1; i=1; flag = 0;

i < imax && flag == 0

X[j] = s ; j ++;

i ++; 100

)

795800(20010(t))E K(E I MTTF 5

C T T =-=-=

〖问题2〗把此MTTF 再提高4倍,则MTTF = 500,有 得: E C (t) = 799

因此,只要再排除799 - 795 = 4个固有错误,MTTF 就可再提高4倍。

一、单项选择题 每小题1分,共20分。(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)

1.在下列工具与环境中( d )属于较早期的CASE 。 A .基于信息工程CASE B .人工智能CASE C .结构的基于图形CASE D .集成的CASE 环境

2.Putnam 成本估算模型是一个( d )模型。

A .静态单变量

B .动态单变量

C .静态多变量

D .动态多变量 3.在McCall 软件质量度量模型中,( b )属于面向软件产品修改。

A .可靠性

B .可重用性

C .适应性

D .可移植性 4.ISO 的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( b ) A .SQIC B .SQMC C .SQRC D .SQDC 5.软件复杂性度量的参数包括( c )

500

))

Ec(t 800(20010(t))E K(E I MTTF 5

C T T =-=-=

A.效率 B.规模 C.完整性 D.容错性6.对象实现了数据和操作的结合,使数据和操作( c )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象7.软件调试技术包括( b )

A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试8.瀑布模型的存在问题是( d )

A.用户容易参与开发

B.缺乏灵活性

C.用户与开发者易沟通

D.适用可变需求

9.软件测试方法中的静态测试方法之一为( b )

A.计算机辅助静态分析

B.黑盒法

C.路径覆盖

D.边界值分析

10.软件生命周期中所花费用最多的阶段是( d )

A.详细设计 B.软件编码 C.软件测试 D.软件维护11.第一个体现结构化编程思想的程序设计语言是( b )

A.FORTRAN语言 B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是( b )

A.过程、子程序和分程序

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

13.在详细设计阶段,经常采用的工具有( d )

A.PAD B.SA C.SC D.DFD

14.详细设计的结果基本决定了最终程序的( c )

A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解( a )

A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是( d )

A.程序的规模

B.程序的效率

C.程序设计语言的先进性

D.程序易读性

17.IDEF。图反映系统( d )

A.怎么做 B.对谁做 C.何时做 D.做什么

18.经济可行性研究的范围包括( d )

A.资源有效性 B.管理制度 C.效益分析 D.开发风险

19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( d)的回答。

A.确定 B.行或不行 C.正确 D.无二义

20.需求分析阶段的任务是确定( d )

A.软件开发方法

B.软件开发工具

C.软件开发费

D.软件系统的功能

二、填空题(每空2分,共20分)。

21.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。

22.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有的软件。

23.McCall提出的软件质量模型包括个软件质量特性。

24.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。

25.为了便于对照检查,测试用例应由输入数据和预期的两部分组成。26.程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。27.软件结构是以为基础而组成的一种控制层次结构。

28.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、

29.结构化语言是介于自然语言和之间的一种半形式语言。

30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。三、名词解释题每小题3分,共15分。

31.软件生存周期模型

32.数据字典(DD)

33.内聚性

34.JSP方法

35.多态性

四、简答题每小题5分,共20分。

36.简述容错技术的四种主要手段,并解释。

37.以G.J.Myers的观点,简述对软件测试的目的。

38.就程序设计语言的工程特性而言,对程序编码有哪些要求?

39.模块的内聚性包括哪些类型?

五、应用题第40小题7分,第41小题8分,第42小题10分,共25分。

40.下面是某程序的流程图:

(1)计算它的环路复杂性。

(2)为了完成基本路径测试,求它的一组独立的路径。

41.根据下列条件使用等价划分法设计测试用例。

某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。

42.图书馆的预定图书子系统有如下功能:

(1)由供书部门提供书目给订购组;

(2)订书组从各单位取得要订的书目;

(3)根据供书目录和订书书目产生订书文档留底;

(4)将订书信息(包括数目,数量等)反馈给供书单位;

(5)将未订书目通知订书者;

(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

《软件工程》试卷1答案

一、单项选择题每小题1分,共20分。(在每小题的四个选项中只有一个选项是符合题目

要求的,请将正确选项前的字母填在题后的括号内)

1.在下列工具与环境中( c )属于较早期的CASE。

A.基于信息工程CASE

B.人工智能CASE

C.结构的基于图形CASE

D.集成的CASE环境

2.Putnam成本估算模型是一个( D )模型。

A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量

3.在McCall软件质量度量模型中,( C )属于面向软件产品修改。

A.可靠性 B.可重用性 C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( D ) A.SQIC B.SQMC C.SQRC D.SQDC

5.软件复杂性度量的参数包括( B )

A.效率 B.规模 C.完整性 D.容错性6.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。

A.结合 B.隐藏C.封装 D.抽象

7.软件调试技术包括( B )

A.边界值分析B.演绎法 C.循环覆盖 D.集成测试8.瀑布模型的存在问题是( B )

A.用户容易参与开发

B.缺乏灵活性

C.用户与开发者易沟通

D.适用可变需求

9.软件测试方法中的静态测试方法之一为( A )

A.计算机辅助静态分析

B.黑盒法

C.路径覆盖

D.边界值分析

10.软件生命周期中所花费用最多的阶段是( D )

A.详细设计 B.软件编码 C.软件测试D.软件维护11.第一个体现结构化编程思想的程序设计语言是( B )

A.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是( B )

A.过程、子程序和分程序

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

13.在详细设计阶段,经常采用的工具有( A )

A.PAD B.SA C.SC D.DFD

14.详细设计的结果基本决定了最终程序的( C )

A.代码的规模 B.运行速度C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解( A )

A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是( D )

A.程序的规模

B.程序的效率

C.程序设计语言的先进性

D.程序易读性

17.IDEF。图反映系统( D )

A.怎么做 B.对谁做 C.何时做D.做什么

18.经济可行性研究的范围包括( C )

A.资源有效性 B.管理制度 C.效益分析 D.开发风险19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。

A.确定B.行或不行 C.正确 D.无二义

20.需求分析阶段的任务是确定( D )

A.软件开发方法

B.软件开发工具

C.软件开发费

D.软件系统的功能

二、填空题(每空2分,共20分)。

21.在软件开发过程中要产生大量的信息,要进行大量的修改,(软件配置管理)能协调软件开发,并使混乱减到最低程度。

22.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有(容错功能)的软件。

23.McCall提出的软件质量模型包括(11)个软件质量特性。

24.软件可维护性度量的七个质量特性是(可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率)。

25.为了便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。26.程序设计语言的心理特性主要表现在(歧义性)、简洁性、传统性、局部性和顺序性。27.软件结构是以(模块)为基础而组成的一种控制层次结构。

28.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、(判定树)。

29.结构化语言是介于自然语言和(形式语言)之间的一种半形式语言。30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= (F/(1+(n*i)) )。

三、名词解释题每小题3分,共15分。

31.软件生存周期模型

是描述软件开发过程中各种活动如何执行的模型。

32.数据字典(DD)

数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

33.内聚性

内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

34.JSP方法

JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。

35.多态性

指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)

四、简答题每小题5分,共20分。

36.简述容错技术的四种主要手段,并解释。

结构冗余:包括静态冗余、动态冗余和混合冗余。

信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。

时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

冗余附加技术:指为实现上述冗余技术所需的资源和技术。

37.以G.J.Myers的观点,简述对软件测试的目的。

软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。

38.就程序设计语言的工程特性而言,对程序编码有哪些要求?

就程序设计语言的工程特性而言,对程序编码有如下要求:

(1)可移植性

(2)开发工具的可利用性

(3)软件的可重用性

(4)可维护性

39.模块的内聚性包括哪些类型?

模块的内聚性包括:

(1)偶然内聚

(2)逻辑内聚

(3)时间内聚

(4)通信内聚

(5)顺序内聚

(6)功能内聚

五、应用题第40小题7分,第41小题8分,第42小题10分,共25分。

40.下面是某程序的流程图:

(1)计算它的环路复杂性。

(2)为了完成基本路径测试,求它的一组独立的路径。

解:

(1)环路复杂性=判断数+1=6+1=7(个)

(2)路径1:(0)—①—(13)—(19)

路径2:(0)—②—③—(14)—(19)

路径3:(0)—②—④—⑤—(15)—(19)

路径4:(0)—②—④—⑥—⑦—(16)—(19)

路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19)

路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19)

路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19)

41.根据下列条件使用等价划分法设计测试用例。

某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。

解答:等价划分法

①划分等价类并编号,如下表所示。

十六进制整型常量输入条件的等价类表

②为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子

③为每个不合理等价类至少设计一个测试用例

42.图书馆的预定图书子系统有如下功能:

(1)由供书部门提供书目给订购组;

软件工程期末考试复习题及答案

(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()

A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()

软件工程期末考试复习题

软件工程期末考试复习题 Revised by BETTY on December 25,2020

《软件工程》选择题 一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分) 软件工程 1.软件产品的开发主要是( D )。 A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是(C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于(C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.与计算机科学的理论研究不同,软件工程是一门( C )学科。 A.理论性 B.原理性 C.工程性 D.心理性 5.软件工程的出现主要是由于( C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现? D.计算机的发展 6.在项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D ) A、工作阶段间的等待时间 B、生产原型的复杂性 C、参与人员所需的工作站数 D、参与人员之间的通信困难 7.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实 施的主要保证是( C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 8、下列不属于软件工程方法学三要素的是( D ): A、方法 B、工具 C、过程 D、操作 周期 1.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 2.可行性研究的目的是决定( B )。 A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目 3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶 段,其中组装测试的计划是在(C )阶段完成的 A.可行性研究和计划 B.需求分析 C.概要设计 D.详细设计

软件工程期末试卷(十套含答案)

软件工程期末试卷(十 套含答案) -CAL-FENGHAI.-(YICAI)-Company One1

软件工程期末试题(一) 单项选择题 1.瀑布模型的存在问题是( B ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B ) A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 4.在SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5.软件测试的目的是( B )。 A.评价软件的质量 B. 发现软件的错误 C.找出软件的所有错误 D. 证明软件是正确的 6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。 A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表 7. 需求分析最终结果是产生( B )。 A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告 8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。 A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系 9. 软件详细设计的主要任务是确定每个模块的( C )。 A. 功能 B. 外部接口 C. 算法和使用的数据结构 D. 编程 10.为了提高软件的可维护性,在编码阶段应注意( D ) A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B) A.p﹡(1+i﹡n) B.p﹡(i+1)n C.p﹡(1+i)﹡n D.p﹡(i+n)

软件工程期末复习题(含答案)

软件工程必备期末复习题 选择题 1.软件设计中划分模块的一个准则是( C )。 A 低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.( A )是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3. 试判断下列叙述中,哪个些是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D ) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6. 软件测试的目的是?( D ) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是( C )。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是( B )语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表( B ) A、数据流 B、转换 C、数据源 D、外部实体

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

软件工程期末考试试卷附答案

软件工程期末考试试卷附答案 一. 选择题(每题4分,共30题,总分120分) 1. 软件工程的目标是什么? A. 提高软件开发效率和质量 B. 实现软件系统的功能需求 C. 加快软件产品的上市时间 D. 增加软件系统的用户体验 答案:A 2. 软件生命周期模型有哪些? A. 瀑布模型 B. 原型模型 C. 敏捷开发模型 D. 螺旋模型 答案:A、B、C、D 3. 在软件工程中,需求工程的任务是什么? A. 收集用户需求 B. 分析用户需求

C. 规划需求开发过程 D. 验证和确认需求 答案:A、B、C、D 4. 软件配置管理是指什么? A. 管理软件的需求变更 B. 管理软件的源代码 C. 管理软件的版本迭代 D. 管理软件的错误修复 答案:B、C、D 5. 软件测试的目的是什么? A. 发现软件中的错误和缺陷 B. 验证软件是否满足用户需求 C. 提高软件的可靠性和质量 D. 减少软件开发时间和成本答案:A、B、C 6. 软件维护是指什么? A. 修复发现的软件错误

B. 优化软件的性能和效率 C. 更新软件的功能和特性 D. 软件系统的日常管理和支持 答案:A、B、C、D 7. 软件风险管理包括哪些活动? A. 风险识别和评估 B. 风险规避和转移 C. 风险监控和控制 D. 风险应对和应急处理 答案:A、B、C、D 8. 软件工程的核心原则是什么? A. 解释性和可行性原则 B. 详细性和可测性原则 C. 可维护性和可扩展性原则 D. 可重复性和可验证性原则 答案:B、C、D 9. UML(统一建模语言)是用来做什么的?

A. 描绘软件系统的静态结构 B. 描述软件系统的行为和交互 C. 绘制软件系统的数据流程 D. 显示软件系统的部署结构 答案:A、B、C、D 10. 软件工程中的项目管理包括哪些主要过程? A. 项目计划和进度管理 B. 项目风险和质量管理 C. 项目需求和配置管理 D. 项目团队和沟通管理 答案:A、B、C、D 11. 软件度量是用来做什么的? A. 评估软件产品的质量 B. 监控软件开发的进展 C. 改进和优化软件工艺 D. 比较不同软件的性能 答案:A、B、C、D

《软件工程》期末考试复习题

《软件工程》(复习题) 一、选择题 根据McCabe方法,以下流 图的环形复杂度为() 1 A. 4 B. 5 C. 6 D. 7 某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行()维护。 2 A. 正确性 B. 适应性 C.完善性 D. 预防性 3以下关于软件系统文档的叙述中,错误的是()。 A. 软件系统文档可以提高软件开发的可见度。 B. 软件系统文档既包括有一定格式要求的规范文档,又包括系统建设过程中的各种来往文件、会议纪要等资料形成的不规范文档。 C. 软件系统文档不能提高软件开发的效率。 D. 软件系统文档便于用户理解软件的功能、性能等各项指标。 给定如下代码: int func(int x, int y, int n) { if (x != 0){ if (y == 0) n = n/x; else n = n/(x*y); } else { if (y == 0) n = 0; else n = n/y; } return n; } 当用路径覆盖法进行测试时,至少需要设计()个测试用例。 4 A. 3 B. 4 C. 5 D. 6 以下关于原型化开发方法的叙述中,不正确的是()。 5 A.原型化方法适应于需求不明确的软件开发

B.在开发过程中,可以废弃不用早期构造的软件原型 C.原型化方法可以直接开发出最终产品 D.原型化方法利于确认各项系统服务的可用性 程序的三种基本控制结构是()。 6 A. 递归、堆栈和队列 B. 顺序、选择和重复 C. 过程、子程序和代码块 D. 调用、返回和跳转 UML的设计视图包含了类、接口和协作。其中,设计视图的静态方面由()和()表现;动态方面由交互图、()表现。 7 A.活动图 B. 状态图 C. 类图 D. 顺序图 8 A.顺序图 B. 对象图 C. 配置图 D. 通信图 9 A. 状态图和类图 B. 类图和顺序图 C. 对象图和状态图 D. 状态图和活动图 通常用()作为描绘软件结构的文档。 10 A.结构图 B. 数据流图 C. 层次图 D. PAD图 在某企业员工管理系统中,假设员工年龄的输入范围为20~60,则根据等价类划分技术,下面划分正确的是()。 11 A. 可划分为2个有效等价类,2个无效等价类 B. 可划分为1个有效等价类,2个无效等价类 C. 可划分为2个有效等价类,1个无效等价类 D. 可划分为1个有效等价类,1个无效等价类 (12 )是一种很强的“拥有”关系,“部分”和“整体”的生命周期通常一样,整体对象完全支配其组成部分,包括它们的创建和销毁等; (13 )同样表示“拥有”关系,但有时候“部分”对象可以在不同的“整体”对象之间共享,并且“部分”对象的生命周期也可以与“整体”对象不同,甚至“部分”对象可以脱离“整体”对象而单独存在。上述两种关系都是(14 )关系的特殊种类。 12 A. 继承 B. 关联 C. 组合 D. 聚合 13 A. 继承 B. 关联 C. 组合 D. 聚合 14 A. 继承 B. 关联 C. 组合 D. 聚合 在面向对象分析与设计中,(15 )是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理行为;(16 )是系统内对象和系统外参与者的联系媒介;(17 )主要是协调上述两种类或对象之间的交互。 15 A. 分析类 B. 控制类 C. 边界类 D. 实体类 16 A. 分析类 B. 控制类 C. 边界类 D. 实体类 17 A. 分析类 B. 控制类 C. 边界类 D. 实体类 模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为(18 )。 18 A. 公共耦合 B. 标记耦合 C. 内容耦合 D. 数据耦合

软件工程期末考试试卷附答案

软件工程期末考试试卷附答案 软件工程期末考试试卷(附答案) 引导语:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。以下是店铺整理的软件工程期末考试试卷(附答案),欢迎参考! 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是( )。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括( )。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是( )。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D ) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护 B) 纠错性维护 C) 适应性维护 D) 预防性维护 ( B ) 7.软件测试的目标是( )。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险

C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是( ) A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则 ( ) A.语句覆盖 B.条件覆盖 C.判定覆盖 D.条件组合覆盖 ( A )13.面向数据流的设计方法把( )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 ( A )14.内聚程度最低的是( )内聚 A.偶然 B.过程 C.顺序 D.时间 ( A )15.确定测试计划是在( )阶段制定的. A.总体设计 B.详细设计 C.编码 D.测试 ( D )16.需求分析的产品是( ) A.数据流程图案 B.数据字典 C.判定表 D.需求规格说明书 ( C )17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 ( D )18.( )引入了“风险驱动”的'思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型

软件工程期末考试总复习题及答案

复习题 填空题 1.在信息处理和计算机领域内,一般认为软件是_程序____、_ 文档____ 和_数据____ 。 2.数据流图的基本组成部分有_数据的源点与终点____、数据 流_____、加工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是 需求规格说明书的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的 独立性,尽量运用公共模块。 5.类的实例化是_对象_______。 6.人们常用硬件牢靠性的定量度量方法来度量软件的牢靠性和 可用性,常用的度量软件可 7.靠性的两个指标是_胜利地运行的概率_______和_平均故障 时间_______。 8.将待开发的软件细化,分别估算每一个子任务所须要的开发 工作量,然后将它们加起来, 9.将得到软件的总开发量。这种成本估算方法称为_自底向上 _______。 10.假如一个模块被n 个模块调用,其中干脆的上级模块的个数 是m 个(m<=n )那么该模块的扇入数是____N_______ 个。 11.结构化设计以__数据流图_________ 为基础,按肯定的步骤 映射成软件结构。 12.软件的风险分析可包括风险识别、风险预料和风险驾 驭(或风险管理)等3项活动。 13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著 作权持续登记;(3)权利转移备案登记。 14.软件工程管理的主要内容有:项目经费管理,软件质量管理, 项目进度管理和人员管理。

15.面对对象分析的目的是对客观世界的系统进行___建模 _______________ 。 16.软件维护工作的生产性活动包括分析评价、修改设计和____ 编写程序代码_______ 等。 17.为了使应用软件适应计算机环境的变更而___修改软件 _______________ 的过程称为适应性维护。 18.一个进行学生成果统计的模块其功能是先对学生的成果进行 累加,然后求平均值,则该模块的内聚性是__________依次内聚________ 。 19.投资回收期就是使累计的经济效益等于__最初的投资费用 ______________ 所需的时间。 20.软件生存周期是指一个软件从提出开发要求起先直到__软 件废弃____为止的整个时期。 21.曾被誉为“程序设计方法的革命”的结构化程序设计,使 程序设计从主要依靠于程序员个人的自由活动变成为有章可循的一门科学。 22.从结构化程序设计到面对对象程序设计,是程序设计方法 的又一次飞跃。 23.在单元测试时,须要为被测模块设计___测试用例_______。名词说明 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行具体的描述和准确的说明,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——依据程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——依据程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误揣测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变更而对软

华东理工大学网教软件工程(本)1期末复习题及参考答案

软件工程模拟卷1答案 一、判断题(共10题)划分模块可以降低软件的复杂度和工作量,所以将模块分得越小越好。() ()★标准答案:错误 1. 数据流图(DFD)实际上就是程序流程图,而程序图则是简化了的程序流程图。()()★标准答案:正确 2. 为了提高模块的独立性,应尽量做到低内聚高耦合。()()★标准答案:正确 3. 现代程序设计首先强调的是程序的效率,而不是程序的风格和可读性。() ()★标准答案:错误 4. 软件产品在交付使用之前一般要经过如下四个步骤的测试:单元测试、集成测试、白盒测试和黑盒测试。()()★标准答案:错误 5. CASE的中文含义是计算机辅助软件工程。()()★标准答案:正确 6. 继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。()答案:错误 7. 浦向数据流的设计以需求分析阶段产生的数据流图为基础,按一定的步骤将其映射为软件结构。()()★标准答案:正确 8. 将软件系统划分为模块时,应尽量做到高内聚低耦合,提高模块的独立性。()()★标准答案:正确 9. 耦合性是一个用来衡量模块内部各个元素彼此结合紧密程度的度量指标。() ()★标准答案:错误 二、单选题(共10题)—把己确定的软件需求转换成特定形式的设计表示,使其得以实现。 A. 系统设计 B.详细设计 C.逻辑设计 D.软件设计★标准答案:D 2, _指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。 A.分解 B.模块化 C.抽象 D.模块★标准答案:B 3. —是指将具有一致数据结构和行为的对象抽象成类。 A.分类性 B.继承性 C.多态性 D.封装性★标准答案:A 4. —指被测试程序不再机器上运行,而是采用人检测和计算机辅助静态分析的手段对程序进行测试。 A.黑盒测试 B.动态测试 C.白盒测试 D.静态测试★标准答案:D 5. Coad方法是面向_的软件开发方法。 A.对象 B.数据结构 C.逻辑结构 D.功能结构★标准答案:A 6. 能够与软件需求分析、设计、编码相对应的软件测试是—组装测试、确认测试、单元测试 A. 单元测试、组装测试、确认测试单元测试、确认测试、组装测试 B. 确认测试、组装测试、单元测试★标准答案:D

烟台大学《软件工程复习题带答案》期末考试复习题及参考答案

一、多选题 1. 从下列叙述中选出5条关于好的程序设计风格的正确叙述。 A.使用括号以改善表达式的清晰性。 B.对递归定义的数据结构不要使用递归过程。 C.尽可能对程序代码进行优化。 D.不要修补不好的程序, 要重新写。 E.不要进行浮点数的相等比较。 F.应尽可能多地输出中间结果。 G.利用数据类型对数据值进行防范。 H.用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。 I.程序中的注释是可有可无的。 J.使用有意义的标识符。 2.从下列叙述中选出5条关于软件测试的正确叙述。 A.为了使得软件容易测试, 应该使用高级的程序设计语言编制程序。 B.程序测试是一个程序的执行过程, 目的是为了发现软件中隐藏的错误。 C.如果程序中连锁式连接了8个判定(IF)结构, 则程序中总的路径数达28 。 D.白盒测试仅与程序的内部结构有关, 完全可以不考虑程序的功能要求。 E.为了快速完成集成测试, 采用一次性集成方式是适宜的。 F.对一批模块进行测试,发现错误多的模块中残留的错误将比其它的模块少。 G.好的测试用例应能证明软件是正确的。 H.边界值分析方法是取输入/输出等价类的边界值做为测试用例。 I.等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。 J.判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。 3.从下列叙述中选出5条有利于软件可维护性的正确叙述。 A.在进行需求分析时需同时考虑如何实现可维护性问题。 B.完成测试作业后,为了缩短源程序的长度应删去程序中的注解。 C.尽可能在软件生产过程中保证各阶段文档的正确性。 D.编程时应尽可能使用全局变量。 E.选择时间效率和空间效率尽可能高的算法。 F.尽可能利用硬件的特点。 G.重视程序结构的设计,使程序具有较好的层次结构。 H.使用维护工具或支撑环境。 I.在进行概要设计时应加强模块间的联系。 J.提高程序的可读性,尽可能使用高级语言编写程序。 K.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。 4.在下面关于标准和文档的叙述中,选出5条正确的叙述。 A.国家标准是由政府或国家级机构制定或批准,适用于全国的标准。这些标准都是强制性的,相关产 品必须严格执行标准。 B.ISO9001是设计/开发、生产、安装和服务中的质量保证模式,ISO9000-3是使ISO9001适合于软件 的质量保证指南。 C.软件工程标准化可提高软件的生产率。 D.软件质量保证体系是贯穿于整个软件生存期集成化过程体系,而不仅仅体现在最后产品的检验上。 E.ISO9000-3与具体的开发模式有关。它将软件全过程工序从管理角度、合同角度和工程角度划分为三 大类。

《软件工程》期末试卷(3套含答案)

《软件工程》期末试卷(一) (满分100分) 考试时间:120分钟(可根据具体情况适当调整) 1.单项选择题(每题2分,共20分) (1)以下哪一项不属于软件工程三要素()。 A.过程 B. 方法 C. 工具 D. 计划 (2)以下哪一项不属于软件管理过程()。 A. ISO9000 B. CMM C. IEEE 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)采用黑盒测试()。 A. 低成本见效快 B. 用户需求报告复杂 C. 准备工作时间长 D. 定位准确 (9)动态模型不包括()。 A. 状态模型 B. 对象模型 C. 交互模型 D. 活动模型 (10)用例之间的关系有()。 A. 扩展关系、协助关系 B. 异步关系、同步关系 C. 顺序关系、结构关系 D. 包含关系、扩展关系 2.填空题(每题2分,共20分) (1)需求分析员参与客户需求调研,撰写________________。 (2)_______________是软件策划的核心、重点与难点。 (3)软件由程序、数据和______________组成。 (4)______________是软件设计的基础,______________是软件开发的核心。

软件工程期末试卷十套含答案

软件工程期末试题一 单项选择题 1.瀑布模型的存在问题是B A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通D.适用可变需求 2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 C A.软件工程 B.软件周期 C.软件危机 D.软件产生 3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是 B A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 4.在SD方法中全面指导模块划分的最重要的原则是D A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 5.软件测试的目的是 B ; A.评价软件的质量 B. 发现软件的错误 C.找出软件的所有错误 D. 证明软件是正确的 6.在设计测试用例时, A 是用得最多的一种黑盒测试方法; A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表 7. 需求分析最终结果是产生B ; A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告 8. Jackson图中,模块框之间若有直线连接,表示它们之间存在B ; A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系 9. 软件详细设计的主要任务是确定每个模块的C ; A. 功能 B. 外部接口 C. 算法和使用的数据结构 D. 编程 10.为了提高软件的可维护性,在编码阶段应注意 D A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 11.设年利率为i,现存入p元,若计复利,n年后可得钱数为B A.p﹡1+i﹡n B.p﹡i+1n C.p﹡1+i﹡n D.p﹡i+n 12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示;动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是A ;

软件工程概论期末复习题

软件工程概论期末复习 题 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

期末总复习 1.选择、判断、简答 2.判定树和判定表 3.用例图、类图、对象模型、顺序图等 4.McCabe环路复杂性度量; 5.黑盒测试和白盒测试 6.数据流图 7.成本效益分析 习题 一、判定树和判定表 1.请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。 2. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。 二、McCabe环路复杂性度量 某程序的描述如下: if (( a > b && i > 10)|| (a < b && i <= 5) ) k = a; else k = b; 1)画出单个条件的嵌套的分支结构;(5分) 2)计算该结构的McCabe环路复杂性度量;(5分) 3)为完成基本路径测试,求它的一组独立的路径。(5分) 三、测试: 变量的命名规则一般规定如下:变量名的长度不多于30个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。 四、数据流图 某教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,根据请求进行分类处理,可进行如下功能的处理:

软件工程试题及答案

软件工程期末试卷(A) 说明:本试卷为04 级计算机专业(专升本)软件工程期末试卷,总计100 分,时间100 分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) (C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C.程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A)系统模型、ER 模型、应用模型 B)对象模型、动态模型、应用模型 C)E-R模型、对象模型、功能模型 D)对象模型、动态模型、功能模型 ( C ) 5. 在E-R 模型中,包含以下基本成分( )。 A)数据、对象、实体 B)控制、联系、对象 C)实体、联系、属性 D)实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 (B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B .软件编码C.软件测试 D .软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0] ,现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001. 设计这组测试用例的方法是()A.条件覆盖法 B .等价分类法 C .边界值分析法 D .错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( ) 设计 A.功能 B. 调用关系 C. 输入输出数据 D. 算法 ( A )11.设函数 C(X)定义问题X 的复杂程序,函数 E(X)确定解决问题 X 需要的工作量(时间)。对于两个问题 P1 和 P2,如果 C(P1)>C(P2)显然 E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖 ( A )13.面向数据流的设计方法把()映射成软件结构。

软件工程期末试卷答案全解

软件工程试题一 一.单项选择题 1. 以下不是软件危机的典型表现的是:( D ) 。 A. 对软件开发成本和进度的估计常常很不准确 B. 用户对“已完成的”软件系统不满意的现象经常发生 C. 软件产品的质量往往靠不住 D. 采用面向对象方法开发软件 3. 下列哪个不是软件工程方法学中的要素( C )。 A. 方法 B. 工具 C. 程序 D. 过程 4. 下列模块的独立性的耦合方式中,最好的是( C ) A.公共耦合 B. 控制耦合 C. 数据耦合 D. 内容耦合 5.概要设计中,开发人员要解决的最重要的问题是( D ) 。 A. 要让软件做什么 B. 要给该软件提供哪些信息 C. 要求软件工作效率怎样 D. 要让该软件模块具有何种结构 6. 为了提高模块的独立性,模块内部最好是( C ) 。 A. 逻辑内聚 B. 时间内聚 C. 功能内聚 D. 通信内聚 7. 程序的三种基本控制结构的共同特点是( C ) 。 A. 不能嵌套使用 B. 只能用来写简单程序 C. 只能一个入口和一个出口 D. 已经用硬件实现 8. 以下说法错误的是( ) 。 A A. 面向对象分析与面向对象设计的定义没有明显区别 B. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程 C. 在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的 D. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程 9. 软件测试过程中的确认测试主要是为了发现( A ) 阶段的错误。 A. 需求分析 B. 概要设计 C. 详细设计 D. 编码 10. 在面向对象的高层设计体系结构中,( C ) 是用来描述用户一般使用软件习惯的部分 A. 人机交互界面 B. 问题论域 C. 系统交互界面 D. 数据管理 11. 为适应软硬件环境变化而修改软件的过程是( B ) 。 A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 12. 在UML的各类图中,( A )图是描述软件功能的。 A 用例图 B 类图 C 活动图 D 顺序图 13.( D )不属于OO三要素。 A.对象 B. 继承 C.封装 D.多态 14.(C )在ATM机系统中,下列哪个不能在面向对象设计中被定义为类。C A 中央计算机 B 柜台事务 C 拨号 D 营业厅15.在黑盒测试中,作为相关黑盒测试有效补充的测试方法是( B ) 。 A. 等价类划分法 B. 边界值分析法 C. 错误推测法 D. 因果图法二.判断题(本大题共__15__题,每题___1___分,共___15_____分。 1.软件简单的说就是程序和相关的数据及文档。T

软件工程试题含答案

软件工程期末试题〔1〕 一, 判断题(正确的在括号内打上"√",错误的打上"×".每题分,共15分) Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×) 当验收测试通过,软件开发就完成了.(×) 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×) 在程序调试时,找出错误的位置和性质比改正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√) 二,单项选择题(每题2分,共10分) 试判断以下表达中,哪个(些)是正确的(D) a,软件系统中所有的信息流都可以认为是事务流 b,软件系统中所有的信息流都可以认为是变换流 c,事务分析和变换分析的设计步骤是基本相似的 A,a B,b C,c D,b和c 进行需求分析可使用多种工具,但(B)是不适用的. A,数据流图B,PAD图C,判定表D,数据词典 在详细设计阶段,经常采用的工具有(A).

A,PAD B,SA C,SC D,DFD 详细设计的结果基本决定了最终程序的(C) A,代码的规模B,运行速度C,质量D,可维护性 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准. A,程序的内部逻辑B,程序的复杂程度 C,该软件的编辑人员D,程序的功能 三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多项选择,错选不得分.) (ABCD)可以作为模块. A,子程序B,函数C,过程D,编译文件 下面哪些测试属于黑盒测试(BCD). A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试以下属于度量效益方法的是(ABCD). A,货币的时间价值B,投资回收期C,收入D,投资回报率 软件维护的策略包括(BCD). A,定期检测维护B,改正性维护C,适应性维护D,完善性维护 以下属于软件测试过程的是(ABE). A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试 四,简答题(每题6分,共24分) 1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高

软件工程试题含答案

软件工程期末试题(1) 一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分) Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×) 当验收测试通过,软件开发就完成了.(×) 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×) 在程序调试时,找出错误的位置和性质比改正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√) 二,单项选择题(每小题2分,共10分) 试判断下列叙述中,哪个(些)是正确的(D) a,软件系统中所有的信息流都可以认为是事务流 b,软件系统中所有的信息流都可以认为是变换流 c,事务分析和变换分析的设计步骤是基本相似的 A,a B,b C,c D,b和c 进行需求分析可使用多种工具,但(B)是不适用的. A,数据流图B,PAD图C,判定表D,数据词典 在详细设计阶段,经常采用的工具有(A).

A,PAD B,SA C,SC D,DFD 详细设计的结果基本决定了最终程序的(C) A,代码的规模B,运行速度C,质量D,可维护性 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准. A,程序的内部逻辑B,程序的复杂程度 C,该软件的编辑人员D,程序的功能 三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块. A,子程序B,函数C,过程D,编译文件 下面哪些测试属于黑盒测试(BCD). A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD). A,货币的时间价值B,投资回收期C,收入D,投资回报率 软件维护的策略包括(BCD). A,定期检测维护B,改正性维护C,适应性维护D,完善性维护 下列属于软件测试过程的是(ABE). A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试 四,简答题(每题6分,共24分) 1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高

相关主题
相关文档
最新文档