软件工程练习题与答案_第1页
软件工程练习题与答案_第2页
软件工程练习题与答案_第3页
软件工程练习题与答案_第4页
软件工程练习题与答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程练习题——计算机学院工程硕士PAGEPAGE4软件工程练习题一.选择题(单选或多选)需求分析阶段最重要的技术文档是(C)。 A)项目开发计划B)设计说明书C)需求规格说明书D)可行性分析报告在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是(A)A)路径的集合 B)循环的集合C)目标的集合 D)地址的集合在以下模块耦合性类型中,模块之间独立性最差的类型是(D) A)非直接耦合B)标记耦合C)控制耦合D)内容耦合软件详细设计的主要任务是对(A)进行的详细设计。 A)算法和数据结构B)外部接口C)软件编码D)功能Jackson方法是一种面向(C)的结构化方法。 A)数据流B)对象C)数据结构D)控制流一个成功的测试可以(D)。 A)表明程序没有错误B)发现所有错误C)提高软件可靠性D)发现尚未发现的错误下述陈述中,哪一个不是软件健壮性的度量指标?(C)。 A)失败后重新启动所需的时间 B)引起失败的时间所占的百分比 C)失败前的平均工作时间 D)在一次失败中数据恶化的概率黑盒技术设计测试用例的方法之一为(A)。 A)因果图 B)逻辑覆盖 C)循环覆盖 D)基本路径测试CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D)。A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的在面向数据流的软件设计方法中,一般将信息流分为(A)。 A)变换流和事务流 B)变换流和控制流 C)事务流和控制流 D)数据流和控制流软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。(ABCDEF)A)结构图 B)实体关系图 C)IPO图 D)流程图E)N-S图F)判定树软件需求分析阶段建立原型的主要目地是(C)。 A)确定系统的性能要求 B)确定系统的运行要求C)确定系统是否满足用户需要 D)确定系统是否满足开发人员需要要显示描绘软件开发项目各作业的依赖关系,应选择(B)。A)Gantt图 B)工程网络图C)CoCoMo模型 D)数据流图软件开发中需求分析的主要任务是(D)。A)给出软件解决方案 B)给出系统模块结构C)定义模块算法 D)定义需求并建立系统模型结构化方法的详细设计,其主要任务是(A)。A)定义模块的算法 B)给出加工说明C)给出模块结构图 D)设计处理对象软件过程是(C)。A)特定的开发模型 B)一种软件求解的计算逻辑C)活动的集合 D)软件生存周期模型软件可用性意指(D)。A)用户界面友好的程度 B)符合用户使用习惯的程度C)修改软件错误的难易程度D)软件结构、实现及文档为用户可用的程度软件文档既是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的(B)。A)可复用性 B)可维护性C)可扩展性 D)可移植性数据流图是用于软件需求分析的工具,下列元素哪些是其基本元素?(ABCD)A)数据流 B)加工 C)数据存储 D)外部实体(源或潭)软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是(B)。 A)减少测试工作量 B)避免后期付出高代价 C)保证软件质量 D)缩短软件开发周期GanttChart和CPM体现对项目进度安排和跟踪的共性有(BDE)。A)反映出项目的分解情况;B)反映子任务的完成时间;C)体现人员的配置;D)反映各子任务的启动时间;E)反映子任务的工作量;下述哪个不是白盒测试法的概念? (B) 应该执行边界条件下的所有循环 B)应该执行边界条件下的所有接口C)应该执行所有逻辑判断的真假情况 D)应该至少执行一次模块中的所有独立路径数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具? (B) A)可行性分析 B)需求分析 C)详细设计 D)程序编码判定树和判定表是用于描述结构化分析方法中哪一环节的工具? (B) A)功能说明 B)加工逻辑 C)流程描述 D)结构说明在结构化方法中,软件功能分解应属于软件开发中的哪一阶段? (C) A)详细设计 B)需求分析 C)总体设计 D)编程调试结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?(D) A)顺序结构 B)重复结构 C)选择结构 D)嵌套结构软件评审时其主要的评审对象是(A)。 A)软件结构 B)软件文档 C)程序编码 D)文档标准软件需求规格说明书不应包含的内容是(BFGH)。 A)系统输入/输出的描述B)质量控制方案C)数据字典D)用户界面需求描述E)系统可靠性需求描述F)测试方案G)需求分析阶段进度安排H)人员需求黑盒测试法和白盒测试法用于软件测试阶段,其中白盒测试法主要用于测试软件的(D)。A)结构合理性 B)程序正确性C)程序外部功能 D)程序内部逻辑软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是(B)。A)设计人员和用户 B)分析人员和用户C)分析人员和设计人员 D)编码人员和用户结构化程序设计主要强调的是(D)。 A)程序的规模 B)程序的效率C)程序设计语言的先进性 D)程序易读性分支测试(P2),至少执行程序中每一分支一次(至少每个判定都获得一次“真”和“假”),100%分支覆盖率(C2)比100%语句覆盖在逻辑上要强,条件组合测试,在逻辑上比C1,C2更强。解释软件过程能力。软件过程性能。软件过程成熟度。软件过程成熟度等级。1、软件过程能力:描述(开发组织或项目组)通过遵循其软件过程能够实现预期结果的程度。2、软件过程性能:表示(开发组织或项目组)遵循其软件过程所得到的实际结果。3、软件过程成熟度:一个特定软件过程被明确和有效定义、管理、测量和控制的程度。4、软件能力成熟度等级:软件开发组织在走向成熟的过程中,几个具有明确定义的、可以表征其软件过程能力成熟度的平台。CMM的组成结构。CMM描述了五个级别的软件过程成熟度(初始级

可重复级

已定义级

已管理级

优化级,成熟度反映了软件过程能力(Software

Process

Capability)的大小,任何一个软件机构的软件过程必定属于其中某个级别。除了第一级以外,每级成熟度又由若干关键过程域(Key

Process

Area)构成。五个成熟度及其关键过程领域如图所示:解释关键过程域。关键实践。1、关键过程域KPA(KeyProcessArea)描述要达到CMM每一级别必须满足的软件工程功能。互相关联的若干软件实践活动和有关基础设施的一个集合。2、关键实践:对关键过程区域的实施起关键作用的方针、规程、措施,活动以及相关基础设施的建立。关键实践一般只描述“做什么”,而不强制规定“如何做”。关键过程区域的目标是通过其包含的关键实践的实施来达到的。什么是基线?基线的作用是什么?1、基线:任一SCI一旦形成文档并复审通过,就成为一个基线。基线标志软件开发过程中的各个里程碑。2、基线作用:使各阶段工作划分明确,使连续的工作在这些点上断开,以便于检查和肯定阶段成果,辅助合理控制变化。什么是软件质量?1、软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。2、软件质量反映了以下三方面的问题:软件需求是度量软件质量的基础,不满足需求的软件就不具备质量;不遵循各种标准中定义的开发规则,软件质量就得不到保证;只满足明确定义的需求,而没有满足应有的隐含需求,软件质量也得不到保证。为什么要进行软件评审?软件设计质量评审与程序质量评审都有哪些内容?答:1、软件评审必要性:因为软件生存期每个阶段的工作都有可能引入人为错误,如果某一阶段的错误不及时纠正,就会传播到开发的后结阶段,引出更多错误,因此,进行软件评审是必要的,评审可以揭露软件中的缺陷然后加以改正。

2、评审主要内容:设计质量评审的对象是在需求分析阶段产生的软件需求规格说明、数据需求规格说明,在软件概要设计阶段产生的软件概要设计说明书等。主要内容有:

(1)评价软件的规格说明是否合乎用户的要求。

(2)评审可靠性。

(3)评审保密措施实现情况。

(4)评审操作特性实施情况。

(5)评审性能实现情况。

(6)评审软件是否具有可修改性、或扩充性、可互换性和可移植性。

(7)评审软件是否具有可测试性。

(8)评审软件是否具有复用性。

程序质量评审的重点在于软件本身的结构、与运行环境的接口、变更带来的影响而进行的评审活动。简述软件成本估算的主要方法。答:包括代码行、功能点、对象点、自上而下(类比)估算法、自下而上估算法、参数法估算法三.判断题。试判断下列论述是正确的或错误的?软件系统中所有的信息流都可以认为是变换流。√ 需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。×以结构化分析方法建立的系统模型用数据流图表示。√安排软件开发进度常采用关键路径法(CMP)。若加速关键路径上任一关键任务的完成就能使整个软件开发进度提前。×软件测试和程序调试都是发现错误的过程。×等价类划分方法是将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。√软件质量保证过程是软件开发过程的一部分。×(需证实)α测试是在受控环境下进行的。√测试用例应该包括输入值集和输出值集。√演化模型支持的软件开发过程是一个迭代过程。√测试在软件生命周期中是可选的。× 软件项目管理核心的三角形是范围、进度和风险。×(需证实)螺旋模型、递增模型和喷泉模型具有原型化模型的特点 。 √ CMM是直接控制软件质量的一种支持模型。 √ DFD是以图形方式刻划系统内数据流的变换和数据间的关系。 × 修改程序是SCM(软件配置管理)的管理任务。× 数据流必须起于加工且止于加工。× 加工不能没有输入或输出。√一个软件模块的控制范围应该在其作用范围之内。√DFD中的源和(或)潭既可以有输入也可以有输出数据流。×四.解答(建模)题。有下列C程序片段,试画出该程序的流程图,并计算环路复杂度。for(i=1;i<=n-1;i++){k=i;for(j=i+1;j=n;j++)ifR[k]>R[j]k=j;if(i<>k)temp=R[j];}解:流程图如下:环路复杂度:V(G)=m-n+2=16-13+2=5设Y语言的二进制短整型的位数<=4,试用黑盒测试的等价类法为Y语言的二进制短整型数设计尽可能少的测试用例。解:已知短整型位数为<=4,因此可能的位数为1、2、3、41)在一位情况下,作为无符号数表示0、1有效等价类一个:0或1无效等价类两个:负数或大于1的数2)在两位情况下,作为有符号数,表示范围为-2到1有效等价类三个:(-2~-1),0,1无效等价类两个:小于-2的负数、大于1的正整数3)在三位情况下,作为有符号数表示-4~3有效等价类三个:(-4~-1),0,(1~3)无效等价类两个:小于-4的负数、大于3的正整数4)在四位情况下,作为有符号数表示-8~7有效等价类三个:(-8~-1),0,(1~7)无效等价类两个:小于-8的负数、大于7的正整数将下面给出的伪码,转换为PAD图和程序流程图。begin为变量X赋值 IFX>0thenS1 ElseS2; 为Y和Z赋值; whileY>0do beginIFX>0thenS3; whileZ>0dobeginS4;S5end end; S6 IFZ=0thenS7;end.解:PAD图给出下面图1和图2父、子图间平衡的条件。n1t1n1t1214P1图1F13n2F1n3n34.14.2t24.5Q1图2n4F24.34.4n4F2t3解:n1∪n2∪F1=t1∪t2∪t3P1=Q1∪F2将下面给出的变换型数据流图(DFD)转换为初始的结构图(SC图)。其中虚线表示输入部分、变换部分、输出部分之间的界面。

解:主图和子图的SC图如下:设有一个加工逻辑描述为:如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身C类保险。附此之外的其他申请者都适用于A类保险。请分别用判定表和判定树表示该加工逻辑的描述。解:判定表:判定树:将下面的伪码转换为PAD和N-S图。begin S1; Ifx>5thenS2 elseS3; whiley<0dobegin ifz>3thenS4elseS5; whilew>0thenS6; S7 end; S8; Ifu>0thenS9; S10;End.解:PAD图:N-S图:FefFefTdTbcaFx>0S1S2S3y<2andz>1hTFgX=2S4 (1)实现语句和判定覆盖 (2)实现条件覆盖解:通过流程图,可知程序有三个判断,从上至下命名为P1、P2、P3,程序共有8条路径,分别是abdefh、abdefgh、abdfh、abdfgh、acdefh、acdfh、acdefgh、acdfgh备注:本题中假设X和x是不是同一变量,不知道老师是写错了还是咋地(1)语句覆盖基于语句覆盖目标设计的用例,要求通过用例运行程序时,每条可执行语句至少执行一次,通过流程图分析,所有的可执行语句都位于abdefg、acdefg两条路径上,所以选择这两条路径设计测试用例。本题中测试用例设计格式为[输入(x,y,z,X)],由于数据处理不明确,因此不要涉及输出具体用例为:[(3,3,2,3)]覆盖abdefgh[(0,1,0,3)]覆盖acdefgh只设计两个用例,即可实现语句覆盖测试。(2)判定覆盖 基于判定覆盖目标设计的用例,要求通过用例运行程序时,程序中每个判断的取真、取假分支至少经历一次。用例格式为[输入(x,y,z,X)]如果不考虑组合关系,每个判断取值各经历一次,通过两个用例,可以覆盖每个判定的真假情况。即三个判断P1、P2、P3取(T,T,T)、(F、F、F)具体用例为:[(1,1,2,2)]abdfh三个判断均为真的情况[(0,3,2,1)]acdefg三个判断均为假的情况考虑组合关系,则需要八个用例,如下表:P1P2P3用例覆盖路径1FFF[(0,2,2,3)]acdefgh2FFT[(0,2,2,2)]acdefh3FTF[(0,1,2,3)]acdfgh4FTT[(0,1,2,1)]acdfh5TFF[(1,2,2,3)]abdefgh6TFT[(1,2,2,2)]abdefh7TTF[(1,1,2,3)]abdfgh8TTT[(1,1,2,2)]abdfh(3)条件覆盖基于条件覆盖目标设计的用例,要求每个条件可能值至少执行一次。第一个判断:x>0取真值为T1,取假值为T1第二个判断:y<2取真值为T2,取假值为T2z>1取真值为T3,取假值为T3第三个判断:X=2取真值为T4,取假值为T4用例格式为[输入(x,y,z,X)]考虑组合关系,最少需要16个用例,实现条件覆盖x>0y<2z>1X=2用例覆盖路径1T1T2T3T4[(0,2,1,3)]acdefgh2T1T2T3T4[(0,2,1,2)]acdefh3T1T2T3T4[(0,2,2,3)]acdefgh4T1T2T3T4[(0,2,2,2)]acdefh5T1T2T3T4[(0,1,1,3)]acdefgh6T1T2T3T4[(0,1,1,2)]acdefh7T1T2T3T4[(0,1,2,3)]acdfgh8T1T2T3T4[(0,1,2,2)]acdfh9T1T2T3T4[(1,2,1,3)]abdefgh10T1T2T3T4[(1,2,1,2)]abdefh11T1T2T3T4[(1,2,2,3)]abdefgh12T1T2T3T4[(1,2,2,2)]abdefh13T1T2T3T4[(1,1,1,3)]abdefgh14T1T2T3T4[(1,1,1,2)]abdefh15T1T2T3T4[(1,1,2,3)]abdfgh16T1T2T3T4[(1,1,2,2)]abdfh设被测试的程序段为:

{

s1;

if((x=0)&&(y=2))s2;elseif((x<1)||(y=1))s3;

s4;

}xy1组022组-133组324组21可供选择的测试数据组为:

找出实现下列测试方法至少要选择的数据组。(1)语句覆盖;(2)条件覆盖;(3)判定覆盖;解:画流程图(1)语句覆盖选择数据组:1组、2组(2)条件覆盖1组、2组、3组、4组(3)判定覆盖1组、2组、3组根据下面给出的程序控制流程图,设计最少的测试用例实现分支覆盖。TTTx>5TTniha1b2c3d4e5f6gz>1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论