《软件工程练习题&答案.doc》由会员分享,可在线阅读,更多相关《软件工程练习题&答案.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流软件工程练习题&答案【精品文档】第 12 页软件工程练习题 一. 选择题 (单选或多选)(1) 需求分析阶段最重要的技术文档是( C )。 A) 项目开发计划B) 设计说明书C) 需求规格说明书 D) 可行性分析报告(2) 在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是 ( A ) A) 路径的集合 B) 循环的集合 C) 目标的集合 D) 地址的集合(3) 在以下模块耦合性类型中,模块之间独立性最差的类型是( D ) A) 非直接耦合B) 标记耦合C) 控制耦合D) 内容耦合(4) 软件详细设计的主要任务是对(A)进行的详细设计。
2、 A) 算法和数据结构B) 外部接口C) 软件编码D) 功能(5) Jackson方法是一种面向(C)的结构化方法。 A) 数据流 B) 对象 C) 数据结构D) 控制流(6) 一个成功的测试可以( D )。 A) 表明程序没有错误 B) 发现所有错误 C) 提高软件可靠性D) 发现尚未发现的错误(7) 下述陈述中,哪一个不是软件健壮性的度量指标? ( C )。 A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8) 黑盒技术设计测试用例的方法之一为( A )。 A)因果图B)逻辑覆盖C)循环覆盖 D)基本路径测试 (9) CMM
3、模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( D )。A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10) 在面向数据流的软件设计方法中,一般将信息流分为( A )。 A)变换流和事务流 B)变换流和控制流C)事务流和控制流 D)数据流和控制流(11) 软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。( ABCDEF ) A)结构图 B)实体关系图 C)IPO图 D)流程图 E) N-S图 F) 判定树(12) 软件需求分析阶段建立原型的主要目地是( C )
4、。 A)确定系统的性能要求 B)确定系统的运行要求 C)确定系统是否满足用户需要 D)确定系统是否满足开发人员需要(13) 要显示描绘软件开发项目各作业的依赖关系,应选择( B )。 A)Gantt图 B)工程网络图 C)CoCoMo模型 D)数据流图(14) 软件开发中需求分析的主要任务是( D )。 A)给出软件解决方案 B)给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型(15) 结构化方法的详细设计,其主要任务是( A )。 A)定义模块的算法 B)给出加工说明 C)给出模块结构图 D)设计处理对象(16) 软件过程是( C )。 A)特定的开发模型 B)一种软件求解的计
5、算逻辑 C)活动的集合 D)软件生存周期模型(17) 软件可用性意指( D )。A)用户界面友好的程度 B)符合用户使用习惯的程度C)修改软件错误的难易程度 D)软件结构、实现及文档为用户可用的程度(18) 软件文档既是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的( B )。A)可复用性 B)可维护性 C)可扩展性 D)可移植性(19) 数据流图是用于软件需求分析的工具,下列元素哪些是其基本元素?( ABCD ) A)数据流 B)加工 C)数据存储 D)外部实体(源或潭)(20) 软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是( B )。A) 减少测试工作量
6、 B) 避免后期付出高代价C) 保证软件质量 D) 缩短软件开发周期(21) Gantt Chart和CPM体现对项目进度安排和跟踪的共性有( BDE )。 A) 反映出项目的分解情况; B)反映子任务的完成时间; C)体现人员的配置; D)反映各子任务的启动时间; E)反映子任务的工作量;(22) 下述哪个不是白盒测试法的概念?( B )A) 应该执行边界条件下的所有循环 B) 应该执行边界条件下的所有接口C)应该执行所有逻辑判断的真假情况 D) 应该至少执行一次模块中的所有独立路径(23) 数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具?( B ) A) 可行性分析 B)
7、需求分析 C) 详细设计 D) 程序编码(24) 判定树和判定表是用于描述结构化分析方法中哪一环节的工具?( B ) A) 功能说明 B) 加工逻辑 C) 流程描述 D) 结构说明(25) 在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?( C ) A) 详细设计 B) 需求分析 C) 总体设计 D) 编程调试(26) 结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?( D ) A) 顺序结构 B) 重复结构 C) 选择结构 D) 嵌套结构(27) 软件评审时其主要的评审对象是( A )。 A) 软件结构 B) 软件文档 C) 程序编码 D) 文档标准(28)
8、 软件需求规格说明书不应包含的内容是( BFGH )。 A) 系统输入/输出的描述 B) 质量控制方案 C) 数据字典 D) 用户界面需求描述E) 系统可靠性需求描述 F) 测试方案 G) 需求分析阶段进度安排 H) 人员需求(29) 黑盒测试法和白盒测试法用于软件测试阶段,其中白盒测试法主要用于测试软件的( D )。 A)结构合理性 B)程序正确性 C)程序外部功能 D)程序内部逻辑(30) 软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( B )。 A)设计人员和用户 B)分析人员和用户 C)分析人员和设计人员 D)编码人员和用户(31) 结构化程序设计主要强调的是( D )
9、。 A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性(32) 在详细设计阶段,经常采用的工具有( A )。 A)PAD B)SA C)SC D)DFD(33) 以下测试方法是白盒测试方法的是( C )。 A)判定覆盖和边界值分析法 B)等价划分和错误推测法 C)路径覆盖和判定/条件覆盖法 D)条件覆盖和错误推测法(34) 评审是对软件进行静态测试的一种方法,下述结论中哪个是与软件评审无关的内容? ( D ) A) 尽量发现错误 B) 检查软件文档 C) 根据评审标准 D) 依靠测试信息(35) 软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应
10、该开始于( C )A) 阅读设计文档 B) 理解程序代码 C) 分析软件结构 D) 查阅测试记录(36) 在McCall质量度量模型中,不属于面向软件产品修改的特性是( CD )。 A) 可维护性 B) 可测试性 C) 可靠性 D) 适应性 (37) 软件需求分析阶段建立原型的主要目地是( C )。A) 确定系统的性能要求 B) 确定系统的运行要求 C) 确定系统是否满足用户需要 D) 确定系统是否满足开发人员需要 (38) 软件过程是( C )。 A) 特定的开发模型 B) 一种软件求解的计算逻辑 C) 活动的集合 D) 软件生存周期模型(39) 不能作为项目规模的估算单位的是( D )。A
11、) LOC(代码行) B) FP (功能点) C) 人月 D) 元/人月(40) McCall质量度量模型中,不属于面向软件产品运行的特性是(CD )。 A) 正确性 B) 完整性 C) 可重用性D) 效率二. 基本概念与简答题(1) 软件。 软件工程。软件测试。 1、软件:在计算机系统中,与硬件相互依存的逻辑部件,它由程序、数据及相关文档组成。2、软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来 开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。3、软件测试:利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至
12、根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。(2) 什么是软件过程?ISO软件基本过程及其划分。1、软件过程是软件生存期中的一系列相关软件工程活动的集合。活动是任务的一个集合。任务是将输入变换为输出的操作,软件过程可分为三类,基本过程、支持过程、组织过程。 2、基本过程类是指那些与软件生产直接相关的过程。包括:获取过程、供应过程、开发过程、运 行过程、维护过程。(3) 数据流图及其组成和作用。1、数据流图(DFD)是一种描述数据变换的图形工具,是结构化分析方法最普遍采用的表示手段。2、组成: 由
13、加工(转换)、数据流、存储文件(数据源)及潭/源组成。3、作用:描述数据处理过程的工具,支持功能建模,刻画数据流从输入到输出的变换过程; (4) 软件测试和调试的异同点。答: 软件测试与调试在目的、和方法等方面存在很大的区别,主要表现在如下方面:1、 测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。2、 测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。3、 测试是有计划的,需要进行测试设计;调试是不受时间约束的。4、 测试经历发现错误、改正错误、重新测试的过程;调试是一个
14、推理的过程。5、测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的飞跃。6、测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。7、大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。(5) 什么是模块的作用域和模块的控制域?答:1、模块的作用域定义为受该模块内一个判定影响的所有模块的集合。2、模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。(6) 软件详细设计的主要任务是什么?答:这一阶段的主要任务有: 1、为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程
15、性描述。 2、确定每一模块使用的数据结构,为以后的编写程序做好充分的准备。 3、确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档,交付作为下一阶段(编码阶段)的工作依据。 4、要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据、期望输出等内容。负责过程设计的软件人员对模块的情况了解得最清楚,由他们完成过程设计后接着对各个模块进行测试最为合适。(7)
16、 软件工程框架及其内容。软件工程的框架可概括为:目标、活动和原则,分别如下:1、软件工程目标:生产具有正确性、可用性以及开销合宜的产品。2、软件工程活动:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及支持等活动。3、软件工程的原则:1)选取适宜开发范型。2)采用合适的设计方法。3)提供高质量的支持过程。4)重视开发过程的管理过程。(8) 路径测试的基本策略。路径测试技术的三种基本策略为:1、 路径测试(PX),执行所有可能的穿过程序的控制流程路径;2、 语句测试(P1),至少执行程序中所有语句一
17、次,100%语句覆盖率(C1)的逻辑覆盖程序最弱;3、 分支测试(P2),至少执行程序中每一分支一次(至少每个判定都获得一次“真”和“假”),100%分支覆盖率(C2)比100%语句覆盖在逻辑上要强,条件组合测试,在逻辑上比C1,C2更强。(9) 解释软件过程能力。软件过程性能。软件过程成熟度。软件过程成熟度等级。1、软件过程能力:描述(开发组织或项目组)通过遵循其软件过程能够实现预期结果的程度。2、软件过程性能:表示(开发组织或项目组)遵循其软件过程所得到的实际结果。3、软件过程成熟度:一个特定软件过程被明确和有效定义、管理、测量和控制的程度。4、软件能力成熟度等级:软件开发组织在走向成熟的
18、过程中,几个具有明确定义的、可以表征其软件过程能力成熟度的平台。(10) CMM的组成结构。 CMM描述了五个级别的软件过程成熟度(初始级可重复级已定义级已管理级优化级,成熟度反映了软件过程能力(SoftwareProcessCapability)的大小,任何一个软件机构的软件过程必定属于其中某个级别。除了第一级以外,每级成熟度又由若干关键过程域(KeyProcessArea)构成。五个成熟度及其关键过程领域如图所示:(11) 解释关键过程域。关键实践。1、关键过程域KPA(Key Process Area)描述要达到CMM每一级别必须满足的软件工程功能。互相关联的若干软件实践活动和有关基础设
19、施的一个集合。2、关键实践:对关键过程区域的实施起关键作用的方针、规程、措施,活动以及相关基础设施的建立。关键实践一般只描述“做什么”,而不强制规定“如何做”。关键过程区域的目标是通过其包含的关键实践的实施来达到的。(12) 什么是基线?基线的作用是什么?1、基线:任一SCI一旦形成文档并复审通过,就成为一个基线。基线标志软件开发过程中的各个里程碑。2、基线作用:使各阶段工作划分明确,使连续的工作在这些点上断开,以便于检查和肯定阶段成果,辅助合理控制变化。(13) 什么是软件质量?1、软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。2、软件质量反映了以下三方面的问题
20、:软件需求是度量软件质量的基础,不满足需求的软件就不具备质量;不遵循各种标准中定义的开发规则,软件质量就得不到保证;只满足明确定义的需求,而没有满足应有的隐含需求,软件质量也得不到保证。(14) 为什么要进行软件评审 ? 软件设计质量评审与程序质量评审都有哪些内容? 答:1、软件评审必要性:因为软件生存期每个阶段的工作都有可能引入人为错误,如果某一阶段的错误不及时纠正,就会传播到开发的后结阶段,引出更多错误,因此,进行软件评审是必要的,评审可以揭露软件中的缺陷然后加以改正。2、评审主要内容: 设计质量评审的对象是在需求分析阶段产生的软件需求规格说明、数据需求规格说明,在软件概要设计阶段产生的软
21、件概要设计说明书等。主要内容有:(1)评价软件的规格说明是否合乎用户的要求。 (2)评审可靠性。 (3)评审保密措施实现情况。 (4)评审操作特性实施情况。 (5)评审性能实现情况。 (6)评审软件是否具有可修改性、或扩充性、可互换性和可移植性。 (7)评审软件是否具有可测试性。 (8)评审软件是否具有复用性。 程序质量评审的重点在于软件本身的结构、与运行环境的接口、变更带来的影响而进行的评审活动。(15) 简述软件成本估算的主要方法。答:包括代码行、功能点、对象点、自上而下(类比)估算法、自下而上估算法、参数法估算法三. 判断题。试判断下列论述是正确的或错误的?(1) 软件系统中所有的信息流
22、都可以认为是变换流。 (2) 需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。(3) 以结构化分析方法建立的系统模型用数据流图表示。(4) 安排软件开发进度常采用关键路径法(CMP)。若加速关键路径上任一关键任务的完成就能使整个软件开发进度提前。(5) 软件测试和程序调试都是发现错误的过程。(6) 等价类划分方法是将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。(7) 软件质量保证过程是软件开发过程的一部分。 (需证实)(8) 测试是在受控环境下进行的。(9) 测试用例应该包括输入值集和输出值集。(10) 演化模型支持的软件开
23、发过程是一个迭代过程。(11) 测试在软件生命周期中是可选的。 (12) 软件项目管理核心的三角形是范围、进度和风险。 (需证实)(13) 螺旋模型、递增模型和喷泉模型具有原型化模型的特点。(14) CMM是直接控制软件质量的一种支持模型。(15) DFD是以图形方式刻划系统内数据流的变换和数据间的关系。(16) 修改程序是SCM(软件配置管理)的管理任务。(17) 数据流必须起于加工且止于加工。 (18) 加工不能没有输入或输出。 (19) 一个软件模块的控制范围应该在其作用范围之内。 (20) DFD中的源和(或)潭既可以有输入也可以有输出数据流。 四. 解答(建模)题。(1) 有下列C程
24、序片段,试画出该程序的流程图,并计算环路复杂度 。 for (i=1;iRj k=j;if (ik) temp= Rj;解:流程图如下:环路复杂度:V(G)=m-n+2=16-13+2=5(2) 设Y语言的二进制短整型的位数= 4 ,试用黑盒测试的等价类法为Y语言的二进制短整型数设计尽可能少的测试用例 。 解:已知短整型位数为0 then S1 Else S2; 为Y和Z赋值; while Y0 do begin IF X0 then S3; while Z0 do begin S4; S5 end end; S6 IF Z=0 then S7;end.解:PAD图(4) 给出下面图1和图2父
25、、子图间平衡的条件 。 n1t1 2 1 4 P1 图1F13 n2n3 4.1 4.2 t2 4.5 Q1 图2n4F2 4.3 4.4 t3解:n1n2F1=t1t2t3 P1=Q1F2(5) 将下面给出的变换型数据流图(DFD)转换为初始的结构图(SC图)。其中虚线表示输入部分、变换部分、输出部分之间的界面。解:主图和子图的SC图如下:(6) 设有一个加工逻辑描述为:如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身
26、C类保险。附此之外的其他申请者都适用于A类保险。 请分别用判定表和判定树表示该加工逻辑的描述。解:判定表:判定树:(7) 将下面的伪码转换为PAD和N-S图。begin S1;If x5 then S2 else S3;while y3 then S4 else S5;while w0 then S6;S7 end;S8;If u0 then S9;S10;End.解:PAD图:N-S图:FefTdTbcaFx0S1S2S3y1hTFgX=2S4(8) 对于下面给出的程序控制图,请分别按下述要求设计最少的测试用例: (1)实现语句和判定覆盖 (2)实现条件覆盖解:通过流程图,可知程序有三个判断
27、,从上至下命名为P1、P2、P3,程序共有8条路径,分别是abdefh、abdefgh、abdfh、abdfgh、acdefh、acdfh、acdefgh、acdfgh 备注:本题中假设X和x是不是同一变量,不知道老师是写错了还是咋地L(1)语句覆盖 基于语句覆盖目标设计的用例,要求通过用例运行程序时,每条可执行语句至少执行一次,通过流程图分析,所有的可执行语句都位于abdefg、acdefg两条路径上,所以选择这两条路径设计测试用例。本题中测试用例设计格式为 输入(x,y,z,X),由于数据处理不明确,因此不要涉及输出 具体用例为: (3,3,2,3) 覆盖abdefgh (0,1,0,3)
28、 覆盖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,
29、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)条件覆盖 基于条件覆盖目标设计的用例,要求每个条件可能值至少执行一次。 第一个判断:x0 取真值为T1,取假值为T1 第二个判断:y1 取真值为T3,取假值为T3 第三个判断:X=2 取真值为T4,取假值为T4用例格式为输入(x,y,z,X)考虑组合关系,最少需要16个用例,实现条件覆盖x0y1X=2用例覆盖路径1T1T2T3T4(0,2,1,3)a
30、cdefgh2T1T2T3T4(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)abdef
31、gh14T1T2T3T4(1,1,1,2)abdefh15T1T2T3T4(1,1,2,3)abdfgh16T1T2T3T4(1,1,2,2)abdfh(9) 设被测试的程序段为: s1 ; if (x=0) & (y=2) s2 ; else if (x5TTniha1b2c3d4e5f6gz17j8k9my1 (其中,x、y、z是输入数据。语句段改变它们的值:x-,y+,z-;语句段改变x-;除此之外,其它语句块均不改变它们的值) (11) 建模题。问题陈述:某校学生管理科负责录入、修改(在授权时)学生成绩(学号、班级、姓名、性别、各科成绩);医务科负责录入学生健康信息(姓名、学号、健康状
32、况优、良、一般、差);房产科负责录入、修改、查询学生住宿情况(姓名、学号、楼号、房间号、现有人数);学籍科负责统计A科成绩及格率并按月统计学生健康状况百分比,请给出该学生管理信息系统的DFD及数据字典。(12) 建模题。在要建立的仪器设备管理系统中,供销科负责录入设备卡片(其中包含“设备名称”和“价格”),设备科负责登记设备信息(其中包含“设备编号”、“设备名称”、“设备类型”),并在日常管理中负责填写运行状态(“正常”、“维修”、“作废”);财务科负责统计设备台数和购买设备的费用。请给出该仪器管理系统的数据流图。(13) 建模题。某航空公司规定,乘客可以免费托运不超过20公斤的行李。当行李重
33、量超过20公斤时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元。对残疾乘客超重部分在舱位等次相同的情况下收费减半。用判定表描述行李托运费的处理过程。(14) 建模题。为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。1) 画出该系统的高层数据流程图和第二层细化流程图。2) 对数据流定义数据字典。(15) 建模题。建立如下描述的一个简化的商业自动化系统的DFD和USR_CASE。问题陈述: 售货员 负责录入销售的商品(商品名,编号,单价,数量),有时要根据特定情况对销售的商品进行修改或删除。 收款员 负责收取现金,并将多交的付款退还用户。 销售经理 需要随时查询整个部门的销售情况(时间,商品编号,销售金额),并在日结时,统 计各类商品销售金额。解:(16) 根据自己熟悉的一个业务问题建模,要求:1) 用自然语言给出该问题的简单陈述;2) 用结构化方法建立该问题的DFD(至少两层:顶层和1层),并给出顶层DFD的数据字典。