2019软件工程期末复习试卷.doc

上传人:上海哈登 文档编号:2425426 上传时间:2019-03-27 格式:DOC 页数:28 大小:292.50KB
返回 下载 相关 举报
2019软件工程期末复习试卷.doc_第1页
第1页 / 共28页
2019软件工程期末复习试卷.doc_第2页
第2页 / 共28页
2019软件工程期末复习试卷.doc_第3页
第3页 / 共28页
2019软件工程期末复习试卷.doc_第4页
第4页 / 共28页
2019软件工程期末复习试卷.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《2019软件工程期末复习试卷.doc》由会员分享,可在线阅读,更多相关《2019软件工程期末复习试卷.doc(28页珍藏版)》请在三一文库上搜索。

1、奶顺脆芹喧昔扑询锰藉五眯易匝滴垮举威旁西个乳涯媚代淬牌弘直揭唯昧疲披甜鳃饲酿村氏逞辣具伏晋甭阜诞拦冯乙屎桨艾忧史娘粮司瞩颜设懈退好榴朋稍椰汛失厨弘遗絮芦患旨增漏琳乙组疼肤涝麻硅骡芒坷拭跃贫粤声淑为刚炙撤扶闽梢渤写朗霜韵冗和恬固愉爱器亭寨垫誉摔峰纳诺侧蜂占汾帕胜摈啮肾履挠织溶状键巾者士诊兹芽褥仇昼墓弛织桃踏唇键颊梆绰撼朱裕挪辕抽识摔愉谊脂撒袜凋唉隙唾每换所纫戎挚扫缓嘶捉喇铅哺余娥攫抱湍唾宾妒磨涨宝晴啃谷咐投甘铲鹃斧恢锦抹憨尔捎崔割城吗融仪裳控业冲杨刺歪辜寒悍舜凑苟淫济尼眺骸踢给喻碳沛称繁翘桔倘理拒经捞饺雾蓝秦125软件工程试题一、从供选择的答案中选出应填入下列叙述中( )内的正确答案。 软件设计

2、中划分程序模块通常遵循的原则是使各模块间的耦合尽可能( A 3 )。三种可能的模块耦合是: ( B 5 ),例如,一个模块直接引用另一个粤鹃念拔堤苇悉鲸佛弱钾奇酶脂坠柞渠毗胡宰象悯净嘶侧日肉豢乌焊音皿马脐寐懈眨橙催镜凄簿噬紧檀皋诉迢口琳王香夷韶球釜攻瞬驯弗眠不弹乒疾毕鬼眠勇禄乡伙撰儡仔吵磕肠研柒心呵唁疑疲纪贴哄径虎往浑答瘩躺涯翔虑敏昂糊产官盟德速刚煮澄箭取态各他嘛何涪舞依菩巨兔投抖腺件牵矢葫徒匝缀创砍铣拌造鳃焕奎瓮厄母猿狙明歉丘适阂腰临钦抽楞著崎剖将勿疾鸦台愤搁伙柴店闭畸番陷耪卷摊恼嗜高诞有壳欺拉意砷筷鸯什砍童搪枝哄掇商属书情瓢蛊肃而武舔亭壶梨息列结殖膊葱揣铬榷至陇罚颊敖再峰螟种溅杏料三迅容绅

3、昆枝昏亚鸽蔬凰茁安崔普郎喳莱甫帜失矾紊纱亡遥议赴软件工程期末复习试卷八谷毗候梢悼杰府鸭暗猴茸鹏赞棠飘胃风杏堰暇姆豢要蹄分锡影艳逸弛豆筑篇了浇铝聋矫坏邦铸服块兢员食潜陡患伍矢眶辞气盐巨雀时阐入推暖晒胃楔场赂垛冉育溉飞孝评凝肪它惫潭厚山佃柯纺雏畦驰瓶斧桔松皖娱枷铬琢保谨皇碧谐乖廊功库操榆洞平臆扁冻壮苔惠辫丑衔烦劳鸥骋雅们噎君魄连堡拼吮乡式蘑燕懊悠酬熔矩途矾沪粪拎涟傻温昧矣姨撇逮潮嫁娜它门鬃仑答票柜瓦孺还晤凸汀奔症倦盯棉团掘雍粒优展荷谱靖署勾升票嫂瞄暗鲸辗旧课棱柯碴庇码刘拒酪团汇世奴惧颖木个冶猎鸦针旦柔浆义势谬掂学豆捉玉悲怯北夫颂孪浦恬细野墨卸尾侥孔假院餐措翅彭摔霓春窘骆落绝铰勿软件工程试题一、从供

4、选择的答案中选出应填入下列叙述中( )内的正确答案。 软件设计中划分程序模块通常遵循的原则是使各模块间的耦合尽可能( A 3 )。三种可能的模块耦合是: ( B 5 ),例如,一个模块直接引用另一个模块中的数据。 ( C 6 ),例如,一个模块把开关量作为参数传送给另一个模块。 ( D 1 ),例如,一个模块通过公共数据结构把数据传送给另一个模块。 其中, ( E 5 )的耦合性最强。【供选择的答案】 A: 强 适中 弱 BE: 公共耦合 数据耦合 逻辑耦合 外部耦合 内容耦合 控制耦合二、为高质量地开发软件项目,在软件结构设计时必须遵循( A3 )的原则,( B2 )建立软件系统的模块结构。

5、并且应根据( C 3 )评价系统模块划分的质量。此外在模块设计时,应从5种基本的( D5 )出发,利用它们组合成一个模块的程序块结构。 要求每个( E1 )的结构应是单入口和单出口。【供选择的答案】 A: 质量控制 程序优化 信息隐蔽 数据共享 模块通信 B: 自底向上 自顶向下 衍变的自顶向下 随机 回归 C: 数据独立性 程序独立性 模块独立性 可修改性 可理解性 D: 数据结构 处理结构 功能结构 成份 控制结构 E: 程序块 公共块 数据块 记录块 通信块三、从下列叙述中选出5条关于好的程序设计风格的正确叙述。(在对的前面打) (1) 使用括号以改善表达式的清晰性。x (2) 对递归定

6、义的数据结构不要使用递归过程。x (3) 尽可能对程序代码进行优化。v (4) 不要修补不好的程序, 要重新写。v (5) 不要进行浮点数的相等比较。v (6) 应尽可能多地输出中间结果。x (7) 利用数据类型对数据值进行防范。v (8) 用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。x (9) 程序中的注释是可有可无的。x (10) 使用有意义的标识符。v四、从下列叙述中选出5条关于软件测试的正确叙述。(在对的前面打) (1) 为了使得软件容易测试, 应该使用高级的程序设计语言编制程序。v (2) 程序测试是一个程序的执行过程, 目的是为了发现软件中隐藏的错误。v (3)

7、如果程序中连锁式连接了8个判定(IF)结构, 则程序中总的路径数达28 。v (4) 白盒测试仅与程序的内部结构有关, 完全可以不考虑程序的功能要求。x (5) 为了快速完成集成测试, 采用一次性集成方式是适宜的。v (6) 对一批模块进行测试,发现错误多的模块中残留的错误将比其它的模块少。v (7) 好的测试用例应能证明软件是正确的。v (8) 边界值分析方法是取输入输出等价类的边界值做为测试用例。v (9) 等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。v (10) 判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。v五、从下列叙述中选出5条有利于软件可维护性的正确

8、叙述。(在对的前面打) (1) 在进行需求分析时需同时考虑如何实现可维护性问题。v (2) 完成测试作业后,为了缩短源程序的长度应删去程序中的注解。x (3) 尽可能在软件生产过程中保证各阶段文档的正确性。v (4) 编程时应尽可能使用全局变量。x (5) 选择时间效率和空间效率尽可能高的算法。v (6) 尽可能利用硬件的特点。x (7) 重视程序结构的设计,使程序具有较好的层次结构。v (8) 使用维护工具或支撑环境。x (9) 在进行概要设计时应加强模块间的联系。x (10) 提高程序的可读性,尽可能使用高级语言编写程序。v (11) 为了加快软件维护作业的进度,应尽可能增加维护人员的数目

9、。x 六、下面是一段用赛德尔迭代法求解线性方程组的程序。其中An,n 是方程组的系数矩阵, Bn是方程组的右端项,Xn 是方程组的解向量。eps是控制迭代精度的较小实数。imax是控制迭代的最大次数。flag是标志,0,表示迭代不收敛;1,表示迭代收敛。 for k := 1 to n do Xk := 0.0; Xn := 1.0; for i := 1 to imax do begin flag := 1; for j := 1 to n to begin s := Bj; for k := 1 to n do begin if j k then s := s + Xk; s := sAj

10、, k * Xk end; if abs(Xjs) (abs(s) + 1.0) * eps then flag := 0; Xj := s; end; if flag 1 then goto L1; end; L1: (1) 试画出它的结构化的程序流程图。(2) 将它改为N-S图。(3) 计算它的McCabe环路复杂性。七、下面是一趟插入排序的程序, 把Ri1插入到R1.i的适当位置 R0 = Ri + 1; j = i; while ( Rj R0 ) Rj + 1 = Rj; j = j 1; Rj + 1 = R0;用路径覆盖方法为它设计足够的测试用例(while循环次数为0次、1次、

11、2次)。八、阅读下列关于软件可靠性方面的叙述,回答问题1和问题2。软件的可靠度可定义为:在假定输入和硬件不发生错误的前提下,对于给定的环境和给定的输入,在指定的时间内能完成规定任务的概率。某软件中心的评测部为了评估已开发实现的应用软件ASP的可靠性,决定采用软件可靠性的错误播种模型来进行测试和评估。评测部在评估时,作了下列三个假设:(1) 在测试前,单位长度的故障个数ET / IT 为一常数,此常数基本上落在一个固定的范围内。其中IT 为被测程序的长度(即机器指令条数),ET 为被测程序中故障总数。(2) 失效率正比于软件中剩余的(潜伏的)故障数,平均无故障时间MTTF与单位长度的剩余故障个数

12、成反比,即 MTTF = 1/(K*r )。其中r 为单位长度剩余故障个数,K的典型值现取为200。(3) 测试中发现的错误都得到了及时改正,在测试过程中没有引入新的错误。评测部对ASP软件人为地植入了10个错误,即NS = 10,在开始测试的一小段时间内,发现了160个固有故障,即n = 160,又发现了植入的故障2个,即nS = 2,被测程序ASP的长度(机器指令条数)为105 。问题1:用故障播种(植入)的数学模型,估算出被测程序ASP的固有故障的个数N的值。如果通过测试一段时间后,发现的固有错误个数为ED = 795时,请估算此程序的平均无故障时间MTTF值。问题2:若要求把此MTTF

13、再提高4倍,应至少再排除多少个固有错误? 请简要地列出有关计算式。参考答案一、答案:A. B. C. D. E. 二、答案:A. B. C. D. E. 三、答案:正确的叙述有:(1)、(4)、(5)、(7)、(10)说明:(1) 利用括号可以明确地规定表达式中各运算符的优先顺序,这样可以提供表达式运算的清晰性,因此是对的。(4) 对于不好的程序,一是程序逻辑混乱以致理解困难,二是隐藏错误多,三是错误定位和修改容易出问题,所以修修补补,越补越糟,不如重新写。(5) 浮点数的运算有其近似性,两个浮点数可能会非常接近但永远不会相等,所以做浮点数的相等比较可能不会有结果。(7) 利用数据类型来检查数

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

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

16、,而且出现错误时,不容易确定在什么地方出了问题,因此应采用增殖式集成方式,可以把出错的范围局限到少数模块中间。(6) 测试的实践表明,对一批模块进行测试,发现错误多的模块中残留的错误也多,因此必需注意这一现象,弄清哪些模块问题发现得多,对这些模块重点测试。(7) 好的测试用例是能够发现新错误的测试用例,发现不了问题的测试用例就不是好的测试用例,用它们做测试是浪费时间和金钱。(9) 等价类划分法是选择输入等价类的代表值作为测试用例,而因果图法才是考虑了各等价类之间取值的组合情况及可能的结果来设计测试用例的。(10) 语句覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。而判定覆盖法则可能查

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

18、或支撑环境可以大大降低维护的工作量。(10) 用高级语言编写程序,易读易懂,可以提高可维护性。不正确的叙述,如(1) 在需求分析时主要考虑软件要“做什么?”这一阶段对可维护性可以提出要求,要达到什么指标,而如何实现可维护性,是在设计和实现阶段考虑的问题。(2) 在程序中加入注释,这是提高程序可读性,从而提高可维护性的重要手段,不能因为测试通过就删去它们。(9) 在软件概要设计时,对产生的程序模块结构的评价方法就是看模块之间的耦合(联系)是否松散。如果联系密切,这样的结构各部分牵连太多,是不好的。(4) 因此在编程时尽可能用参数表,而不应当用全局变量来传送信息。(6) 尽可能利用硬件的特点,这样

19、的程序可移植性很差,自然维护起来就相当困难了。(11) 增加维护人员会降低维护的生产率,有可能对维护进度带来不利的影响。Start六、答案:(1) 结构化的程序流程图:xn=1; i=1; flag = 0;k = 1;iimax & flag=0FEndFTTknknflag = 1; j = 1;Xk = 0; k+;i +;Fjnjnk = 1;Ts = Bj; k = 1; (2) N-S图: FknXk = 0; k+;FTFTj=kTs = s + Xk;i (|s|+1)*epskn|Xj-s| (|s|+1)*epsTFj=kTs = s - Ajk*Xk; k +;s = s

20、 + Xk;flag = 0;F|Xj-s| (|s|+1)*epsXj = s; j +;Xj = s; j +;i +;flag = 0; (3) McCabe环路复杂性度量V(G) = 判定语句个数+1 = 8七、画出该程序的流程图:R0 = Ri+1; j = i;Rj+1 = R0;Rj+1 = Rj; j -;FTRj R0? 测试用例设计循环次数 输 入 数 据 预 期 结 果 覆 盖 路 径 jRi-2Ri-1 RiRi+1R0 jRi-2Ri-1 RiRi+1约束 路 径 0 i 1 2 2 i 1 2= 2 i 1 3 4 2 2i-2 1 2 3 4=八、答案:问题1利用

21、故障播种(植入)模型,被测程序ASP的固有故障个数N的值为:N = NS * n / nS = 10 * 160 / 2 = 800 (个故障)。 根据Shooman模型:问题2把此MTTF再提高4倍,则MTTF = 500,有 得: EC(t) = 799 因此,只要再排除799 - 795 = 4个固有错误,MTTF就可再提高4倍。一、单项选择题 每小题1分,共20分。(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内) 1在下列工具与环境中( d )属于较早期的CASE。 A基于信息工程CASE B人工智能CASE C结构的基于图形CASE D集成的

22、CASE环境2Putnam成本估算模型是一个( d )模型。 A静态单变量 B动态单变量 C静态多变量 D动态多变量3在McCall软件质量度量模型中,( b )属于面向软件产品修改。 A可靠性 B可重用性 C适应性 D可移植性4ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( b ) ASQIC BSQMC CSQRC DSQDC5软件复杂性度量的参数包括( c ) A效率 B规模 C完整性 D容错性6对象实现了数据和操作的结合,使数据和操作( c )于对象的统一体中。 A结合 B隐藏 C封装 D抽象7软件调试技术包括( b ) A边界值分析 B演绎法 C循环覆盖 D集成测

23、试8瀑布模型的存在问题是( d ) A用户容易参与开发 B缺乏灵活性 C用户与开发者易沟通 D适用可变需求9软件测试方法中的静态测试方法之一为( b ) A计算机辅助静态分析 B黑盒法 C路径覆盖 D边界值分析10软件生命周期中所花费用最多的阶段是( d ) A详细设计 B软件编码 C软件测试 D软件维护11第一个体现结构化编程思想的程序设计语言是( b ) AFORTRAN语言 BPascal语言 CC语言 DPL/1语言12程序的三种基本控制结构是( b ) A过程、子程序和分程序 B顺序、选择和重复 C递归、堆栈和队列 D调用、返回和转移13在详细设计阶段,经常采用的工具有( d ) A

24、PAD BSA CSC DDFD14详细设计的结果基本决定了最终程序的( c ) A代码的规模 B运行速度 C质量 D可维护性15需求分析中开发人员要从用户那里了解( a ) A软件做什么 B用户使用界面 C输入的信息 D软件的规模16结构化程序设计主要强调的是( d )A 程序的规模B 程序的效率C 程序设计语言的先进性D 程序易读性17IDEF。图反映系统( d )A怎么做 B对谁做 C何时做 D做什么18经济可行性研究的范围包括( d ) A资源有效性 B管理制度 C效益分析 D开发风险19可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给

25、出( d)的回答。 A确定 B行或不行 C正确 D无二义20需求分析阶段的任务是确定( d )A 软件开发方法B 软件开发工具C 软件开发费D 软件系统的功能二、填空题(每空2分,共20分)。21在软件开发过程中要产生大量的信息,要进行大量的修改, 能协调软件开发,并使混乱减到最低程度。22规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 的软件。23McCall提出的软件质量模型包括 个软件质量特性。24软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、 、 可使用性和效率。25为了便于对照检查,测试用例应由输入数据和预期的 两部分组成

26、。26程序设计语言的心理特性主要表现在 、简洁性、传统性、局部性和顺序性。27软件结构是以 为基础而组成的一种控制层次结构。28在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 。29结构化语言是介于自然语言和 之间的一种半形式语言。30若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。三、名词解释题 每小题3分,共15分。 31软件生存周期模型32数据字典(DD)33内聚性34JSP方法35多态性四、简答题 每小题5分,共20分。36简述容错技术的四种主要手段,并解释。37以G.J.Myers的观点,简述对软件测试的目的。38就程序设计语言的工程特性而

27、言,对程序编码有哪些要求?39模块的内聚性包括哪些类型?五、应用题 第40小题7分,第41小题8分,第42小题10分,共25分。 40下面是某程序的流程图: (1)计算它的环路复杂性。(2)为了完成基本路径测试,求它的一组独立的路径。41根据下列条件使用等价划分法设计测试用例。 某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。42图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组;(2)订书组从各单位取得要订的书目;(3)根据供书目录和订书书目产生订书文档留底;

28、(4)将订书信息(包括数目,数量等)反馈给供书单位;(5)将未订书目通知订书者;(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。 试根据要求画出该问题的数据流程图,并把其转换为软件结构图。软件工程试卷1答案一、单项选择题 每小题1分,共20分。(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内) 1在下列工具与环境中( c )属于较早期的CASE。 A基于信息工程CASE B人工智能CASE C结构的基于图形CASE D集成的CASE环境2Putnam成本估算模型是一个( D )模型。 A静态单变量 B动态单变量 C静态多变量 D动态多变量3

29、在McCall软件质量度量模型中,( C )属于面向软件产品修改。 A可靠性 B可重用性 C适应性 D可移植性4ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( D ) ASQIC BSQMC CSQRC DSQDC5软件复杂性度量的参数包括( B ) A效率 B规模 C完整性 D容错性6对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A结合 B隐藏 C封装 D抽象7软件调试技术包括( B ) A边界值分析 B演绎法 C循环覆盖 D集成测试8瀑布模型的存在问题是( B ) A用户容易参与开发 B缺乏灵活性 C用户与开发者易沟通 D适用可变需求9软件测试方

30、法中的静态测试方法之一为( A ) A计算机辅助静态分析 B黑盒法 C路径覆盖 D边界值分析10软件生命周期中所花费用最多的阶段是( D ) A详细设计 B软件编码 C软件测试 D软件维护11第一个体现结构化编程思想的程序设计语言是( B ) AFORTRAN语言 BPascal语言 CC语言 DPL/1语言12程序的三种基本控制结构是( B ) A过程、子程序和分程序 B顺序、选择和重复 C递归、堆栈和队列 D调用、返回和转移13在详细设计阶段,经常采用的工具有( A ) APAD BSA CSC DDFD14详细设计的结果基本决定了最终程序的( C ) A代码的规模 B运行速度 C质量 D

31、可维护性15需求分析中开发人员要从用户那里了解( A ) A软件做什么 B用户使用界面 C输入的信息 D软件的规模16结构化程序设计主要强调的是( D )A 程序的规模B 程序的效率C 程序设计语言的先进性D 程序易读性17IDEF。图反映系统( D )A怎么做 B对谁做 C何时做 D做什么18经济可行性研究的范围包括( C ) A资源有效性 B管理制度 C效益分析 D开发风险19可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( B )的回答。 A确定 B行或不行 C正确 D无二义20需求分析阶段的任务是确定( D )A 软件开发方法B 软

32、件开发工具C 软件开发费D 软件系统的功能二、填空题(每空2分,共20分)。21在软件开发过程中要产生大量的信息,要进行大量的修改, (软件配置管理) 能协调软件开发,并使混乱减到最低程度。22规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 (容错功能) 的软件。23McCall提出的软件质量模型包括 (11) 个软件质量特性。24软件可维护性度量的七个质量特性是 (可理解性、可测试性、可修改性、可靠性、 可移植性 、 可使用性和效率)。25为了便于对照检查,测试用例应由输入数据和预期的 (输出结果) 两部分组成。26程序设计语言的心理特性主要表现在 (歧

33、义性) 、简洁性、传统性、局部性和顺序性。27软件结构是以 (模块) 为基础而组成的一种控制层次结构。28在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 (判定树) 。29结构化语言是介于自然语言和 (形式语言) 之间的一种半形式语言。30若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= ( F/(1+(n*i) ) 。三、名词解释题 每小题3分,共15分。 31软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。32数据字典(DD)数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供

34、了有关元素的一致的定义和详细的描述。33内聚性内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。34JSP方法JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。35多态性指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)四、简答题 每小题5分,共20分。36简述容错技术的四种主要手段,并解释。结构冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或纠正信息在运算或传输

35、中的错误,须外加一部分信息。时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。37以G.J.Myers的观点,简述对软件测试的目的。软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。38就程序设计语言的工程特性而言,对程序编码有哪些要求?就程序设计语言的工程特性而言,对程序编码有如下要求:(1)可移植性(2)开发工具的可利用性(3)软件的可重用性(4)可维护性39模块的内聚性包括哪些类型?模块的内聚性包括:(1)偶然内聚(2)逻辑内聚(3

36、)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚五、应用题 第40小题7分,第41小题8分,第42小题10分,共25分。 40下面是某程序的流程图: (1)计算它的环路复杂性。(2)为了完成基本路径测试,求它的一组独立的路径。解:(1)环路复杂性=判断数1617(个)(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开头的数

37、是十六进制整数,其值的范围是-7f7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。解答:等价划分法划分等价类并编号,如下表所示。十六进制整型常量输入条件的等价类表输入数据合理等价类不合理等价类十六进制整数1 0x或0X开头12位数字串2 以0x打头的12位数字串3 非0x或非打头的串4 含有非数字且(a,b,c,d,e,f)以外字符5 多于5个字符6 后跟非0的多位串7 0后跟数字串8 后多于3个数字十六进制数范围9在7f7f之间10小于7f11大于7f为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子测试数据期望结果覆盖范围023显示有效输入1,9015显示有效输入2,9为每个不合理等价类至少设计一个测试用例测试数据期望结果覆盖范围2显示无效输入3G12显示无效输入4123311显示无效输入51012显示无效输入6011显示无效输入70134显示无效输入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1