1《软件工程》试卷1答案一、单项选择题每小题1分,共20分。(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中(c)属于较早期的CASE。A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的CASE环境2.Putnam成本估算模型是一个(D)模型。A.静态单变量B.动态单变量C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,(C)属于面向软件产品修改。A.可靠性B.可重用性C.适应性D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是(D)A.SQICB.SQMCC.SQRCD.SQDC5.软件复杂性度量的参数包括(B)A.效率B.规模C.完整性D.容错性6.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A.结合B.隐藏C.封装D.抽象7.软件调试技术包括(B)A.边界值分析B.演绎法C.循环覆盖D.集成测试8.瀑布模型的存在问题是(B)A.用户容易参与开发B.缺乏灵活性2C.用户与开发者易沟通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.PADB.SAC.SCD.DFD14.详细设计的结果基本决定了最终程序的(C)A.代码的规模B.运行速度C.质量D.可维护性15.需求分析中开发人员要从用户那里了解(A)A.软件做什么B.用户使用界面C.输入的信息D.软件的规模316.结构化程序设计主要强调的是(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.软件可维护性度量的七个质量特性是(可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率)。425.为了便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。26.程序设计语言的心理特性主要表现在(歧义性)、简洁性、传统性、局部性和顺序性。27.软件结构是以(模块)为基础而组成的一种控制层次结构。28.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、(判定树)。29.结构化语言是介于自然语言和(形式语言)之间的一种半形式语言。30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=(F/(1+(n*i)))。三、名词解释题每小题3分,共15分。31.软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。32.数据字典(DD)数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。33.内聚性内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。34.JSP方法JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。35.多态性指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)5四、简答题每小题5分,共20分。36.简述容错技术的四种主要手段,并解释。结构冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。37.以G.J.Myers的观点,简述对软件测试的目的。软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。38.就程序设计语言的工程特性而言,对程序编码有哪些要求?就程序设计语言的工程特性而言,对程序编码有如下要求:(1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性39.模块的内聚性包括哪些类型?模块的内聚性包括:(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚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.根据下列条件使用等价划分法设计测试用例。7某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。解答:等价划分法①划分等价类并编号,如下表所示。十六进制整型常量输入条件的等价类表输入数据合理等价类不合理等价类十六进制整数1.0x或0X开头1~2位数字串2.以-0x打头的1~2位数字串3.非0x或非-打头的串4.含有非数字且(a,b,c,d,e,f)以外字符5.多于5个字符6.-后跟非0的多位串7.-0后跟数字串8.-后多于3个数字十六进制数范围9.在-7f~7f之间10.小于-7f11.大于7f②为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子测试数据期望结果覆盖范围0×23显示有效输入1,9-0×15显示有效输入2,9③为每个不合理等价类至少设计一个测试用例测试数据期望结果覆盖范围2显示无效输入3G12显示无效输入4123311显示无效输入5-1012显示无效输入6-011显示无效输入7-0134显示无效输入88-0x777显示无效输入100x87显示无效输入1142.图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组;(2)订书组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;(4)将订书信息(包括数目,数量等)反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。