1、软件工程习题集精品文档软件工程练习题一、填空题1. 软件生存周期一般可以划分为,问题定义、可行性研究、需求分析 、设计、编码、测试和运行与维护。2. 可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性等方面研究。3. 数据流图的四种基本成分:数据输入的源点和数据输出汇点、加工、数据流 和 数据存储文件。4. 结构化分析方法是面向_数据流 进行需求分析的方法。5. 结构化分析方法使用 数据流图DFD 与 数据字典DD来描述。6. 软件详细设计的主要任务是算法描述和数据结构的设计。7.为了在软件开发过程中保证软件的质量,主要采取下述措施:审查_、复查和管理复审、测试。8. 大型软件测试
2、包括 单元测试 、集成测试 、确认测试和 系统测试 四个步骤。9. 在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理 能协调软件开发,并使混乱减到最低程度.10McCall提出的软件质量模型包括_13_个软件质量特性。11软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性 、 可使用性和效率。12. 为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。13. 软件结构是以模块为基础而组成的一种控制层次结构。14. 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。15. 结构化语言是介于自然语言和形式语言
3、 之间的一种半形式语言。16.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的信息流动 情况。17.CASE技术是软件工具和软件开发方法的结合。18数据字典有四类条目,分别是数据流、数据项、数据存储和基本加工。19各种软件系统的数据流图一般可分为变换型和事务型两类。20. 软件可维护性可用七种质量特性来衡量,分别是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。21. 面向对象分析中,动态模型使用状态图_作为描述工具,该图反映了状态与事件的关系。22.计算机程序及其说明程序的各种文档称为_软件。23.面向对象分析方法是一种面向_对象 的
4、开发方法。24.成本效益分析的目的是从_ _ 角度评价开发一个新的软件项目是否可行。25.确认测试可以发现软件系统是否符合用户的经济_要求。26.在算法描述工具中,PAD _是一种由左往右展开的二维树型结构。27.随着软硬件环境变化而修改软件的维护活动称为适应性维护。28. 面向对象方法是一种运用对象、类、继承、封装_、聚合、消息、多态性等概念来构造系统的软件开发方法。其中,继承机制实现了子类自动地共享父类中定义的数据和方法。29软件总体设计(概要设计)的基本任务是设计初步的软件结构图 ,它直接影响下一阶段详细设计和编码的工作。30软件工程方法学包括三个要素:方法、工具和过程。31一个程序员在
5、编写程序时所表现出来的特点、习惯、逻辑思路等就构成了这个程序员的编程风格 。32软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由单元测试到集成测试,再到确认测试的逐步集成的过程。33瀑布模型是以文档为驱动、适合于需求固定的软件项目的模型。34在进行软件项目的人员组织上,目前比较流行的组织机构主要有民主组织机构、主程序员组织结构 和现代程序员组。其中,在民主组织机构中如果一个小组有n个成员,则可能的通信信道有n(n-1)/2条。35. 需求分析最终结果是产生(需求规格说明书 )36. 软件详细设计的主要任务是确定每个模块的( 算法和使用的数据结构 )。 37. IPO图由输入、处理
6、和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。38. 将下面的关系按继承关系、聚集关系或普通关联进行分类。小汽车-红旗轿车 (继承) 小汽车-驾驶员( 普通关联)班级-学生(聚集) 39. 将下列各项分为类或类的实例我的汽车 ( 实例 ) 交通工具 (类 )40.软件工程研究的主要内容是软件开发技术和_软件工程管理_两个方面。二、单项选择题 1.软件设计中划分模块的一个准则是( C )。A. 低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合2. Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。A.对象 B.数据
7、流 C.数据结构 D.控制结构3. 试判断下列叙述中,哪 个(些)是正确的( C )。a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、a B、b C、c D、b和c4.( A )是用户和设计交换最频繁的方法。A、原型化方法 B、瀑布模型方法C、 螺旋模型方法 D、构件组装模型5. 软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。A、硬件环境 B、软件开发的环境C、软件开发工具和软件开发的环境 D、 开发人员的素质6. 20世纪50年代以来,出现了许多不同的程序
8、设计语言,下列语言中哪个语言是低级语言( D )。A、PASCAL B、 VISUAL BASIC C、 C+D、 汇编语言7. 软件测试的目的是?( D )A、证明软件的正确性 B、找出软件系统中存在的所有错误C、证明软件系统中存在错误 D、尽可能多的发现软件系统中的错误8. 使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。A、程序的内部逻辑 B、程序的复杂程度C、该软件的编辑人员 D、程序的功能9. 软件维护工作的最主要部分是( C )。A、校正性维护 B、适应性维护 C、完善性维护 D、预防性维护10、PDL是( B )语言。A、高级程序设计语言 B、伪码式C、中级程序
9、设计语言 D、低级程序设计语言 11. 数据字典定义数据流或数据存储组成时,使用了若干符号,其中表示的含义是(D )A.可选 B.与 C.或 D.重复12.可行性研究是在( A )之前A、系统开发 B、测试 C、试运行 D、集成测试13.结构化方法是一种基于( D )的方法。A.数据结构 B.程序结构C.算法 D.数据流14.软件可行性研究实质上是要进行一次( A )需求分析、设计过程。A、简化、压缩的 B、详细的C、彻底的D、深入的15.可行性研究的目的是( D )A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统16.需求规格说明书的作用不包括( C )
10、A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据17.数据字典是用来定义( D )中的各个成份的具体含义的。A、程序流程图B、功能结构图C、系统结构图D、数据流程图18.数据流程图是( A )方法中用于表示系统逻辑模型的一种图形工具。A、SAB、SDC、SPD、SC19. DFD中的每个加工至少有( A )。A、一个输入流或一个输出流 B、一个输入流和一个输出流C、一个输入流D、一个输出流20.需求分析阶段的关键任务是确定( D )A、软件开发方法B、软件开发工具C、软件开发费D、软件系统的功能21.在SD方法中全面指导模块划分的最重要的
11、原则是(D )。A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性22.模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序( D )。A、数据结构耦合,公共耦合,控制耦合,内容耦合B、数据耦合,控制耦合,数据结构耦合,公共耦合C、无直接耦合,数据结构耦合,内容耦合,控制耦合D、无直接耦合,数据耦合,控制耦合,内容耦合23.PDL(过程设计语言)是描述处理过程( C )A、做什么B、为什么做 C、怎么做D、对谁做24.( D )工具在软件详细设计过程中不采用。A、判定表B、IPO图C、PDLD、DFD图25.为高质量地开发软件项目,在软件结构设计时,必须遵循( A
12、 )原则。A.信息隐蔽 B、质量控制C、程序优化D、数据共享26.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( D )A、数据耦合B、公共耦合C、标记耦合D、内容耦合27.下列几种类型中,耦合性最弱的是( D )。A、内容型B、控制型C、公共型D、数据型28.软件结构使用的图形工具,一般采用( C )图。A、DFDB、PADC、SCD、ER29.在七种偶合中,最低偶合是( D )。A、内容偶合B、公共偶合C、数据偶合D、非直接偶合30.结构化程序设计,主要强调的是( C )A程序的执行效率B模块的内聚 C程序的可理解性D模块的耦合31.基线可作为软件生存期中各开发阶段的一个检
13、查点。当采用的基线发生错误时,可以返回到最近和最恰当的( C )上。A.配置项 B.程序 C.基线 D.过程32.在软件设计中应该保持模块的独立性原则,(A)反映模块独立性。A.耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合33.以下四种逻辑覆盖中,发现错误能力最弱的是( A )A.语句覆盖 B.条件覆盖C.判定覆盖 D.条件组合覆盖34.软件工程领域中,与确认测试有关的软件开发阶段是( D )A.编码 B.详细设计C.概要设计 D.需求分析35.为了使软件适应环境的变换而修改软件的维护活动称为( B )A.校正性维护 B.适应性维护C.完善性维护 D.预防性维护36.
14、McCall质量度量模型中,与“用户熟悉、使用及准备输入和解释输出所需的工作量的大小”所对应的软件质量特性是( D )A.正确性 B.完整性C.可靠性 D.可用性37. 软件生存周期中,准确地确定软件系统必须做什么的阶段是(B)A可行性分析和项目开发计划B需求分析 C概要设计D详细设计38. 把瀑布模型和专家系统结合在一起的软件生存周期模型是(B)A增量模型B基于知识的模型 C螺旋模型D喷泉模型39. 以下不属于项目开发计划主要内容的是(C)A实施计划 B交付期限 C测试用例 D人员组织及分工40. 使用数据流图来表示系统逻辑模型的是(D)AJacksonBVDM COOA DSA41. 用于
15、描述结构化分析中数据流加工逻辑的是(A)A判定树 BER图 C状态图D用例图42若一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入,则该模块的内聚性类型是(C)A时间内聚B偶然内聚 C顺序内聚 D功能内聚43下列几种耦合类型,耦合性最高的是(A)A公共耦合B控制耦合 C标记耦合D数据耦合44确认测试也称为(A)A有效性测试B无效性测试 C静态测试D动态测试45黑盒测试技术不包括(B)A等价类划分B路径覆盖 C边界值分析D错误推测46.为每个模块完成的功能进行具体描述,把功能描述转变为精确的、结构化的过程描述的阶段是( B )A.概要设计B.详细
16、设计 C.编码 D.测试47.软件开发环境是支持软件整个生存周期各阶段或部分阶段的相关的一组( D )A.软件模型B.软件过程 C.软件工程D.软件工具48.从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是( C )A.详细设计阶段 B.概要设计阶段 C.需求分析阶段D.测试和运行阶段49.数据字典是软件需求分析阶段所采用的最重要工具之一,其最基本的功能是( A)A.数据定义B.数据通讯 C.数据库设计D.数据维护50.软件结构化设计中,好的软件结构应该力求做到( B )A.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高,中间扇出较少,底层模块高扇入C.顶层扇入
17、较少,中间扇出较高,底层模块高扇入D.顶层扇入较少,中间扇入较高,底层模块低扇入51.两个模块都使用同一张数据表,模块间的这种耦合称为( A )A.公共耦合B.内容耦合 C.数据耦合D.控制耦合52.与软件开发需求分析、设计及编码阶段相对应的软件测试步骤是( D )A.组装测试、确认测试、单元测试B.单元测试、组装测试、确认测试C.单元测试、确认测试、组装测试D.确认测试、组装测试、单元测试53.软件维护产生的副作用是指( C )A.开发时的错误 B.隐含的错误C.因修改软件而造成的错误D.运行时的误操作54.面向对象建模得到的三个模型,其中核心的模型是( A )A.对象模型 B.功能模型 C
18、.逻辑模型 D.动态模型55原型化方法是用户和设计者之间执行的一种交互构成,适用于_A_系统。A需求不确定性高的B需求确定的C管理信息D实时56原型化方法是一种_A_型的设计过程。A自外向内B自顶向下C自内向外D自底向上57为了提高测试的效率,应该(D )A随机地选取测试数据B取一切可能的输入数据作为测试数据C在完成编码以后制定软件的测试计划D选择发现错误可能性大的数据作为测试数据58.数据流图中,当数据流向或流自文件时,(B )。A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进的数据流是不同的D、数据流和文件均不用命名,通过加工可自
19、然反映出59.数据流图(DFD)是用于描述结构化方法中( B)工作阶段的工具。A、可行性分析B、需求分析C、详细设计D、程序编码60.数据流图是用于软件需求分析的工具,下列元素( A ) .数据流 .加工.数据存储 .外部实体 A、 , 和 B、 和 C、 , 和 D、全部三、判断题1. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( )2.软件开发的主要任务是编写程序。 ( )3.模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。( )4.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能
20、,这些功能如何安排,等等。( )5.软件生存周期是从软件开始开发到开发结束的整个时期。( )6.系统流程图是一个典型的描述逻辑系统的传统工具。( )7.数据流图和数据字典共同构成系统的逻辑模型。( )8.扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4。( )9.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。()10.程序运行过程中出现错误叫做容错。 ( )11.软件测试的目的是证明程序没有错误。 ( )12.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。( )13.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。( )14.判定覆盖不一定包
21、含条件覆盖,条件覆盖也不一定包含判定覆盖。( )15.软件测试的目的是为了无一遗漏的找出所有的错误。 ( )16.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。( )17.确认测试计划应该在可行性研究阶段制定( ) 18.用户需求经常是变化的,因为软件是灵活的,所以总可以满足用户的需求。( )四、简答题1.什么是软件工程方法学?2.耦合性和内聚性的定义、类型? 3.黑盒测试法和白盒测试法的定义?4.软件生命期各阶段的任务是什么?5.什么是结构化方法?6.什么是数据流图?其作用是什么?7.可行性研究的任务是什么? 8.详细设计的任务是什么?描述详细设计的工具有哪些?9.什么是变换流?
22、什么是事务流?10.什么是需求分析?需求分析阶段的基本任务是什么?五、应用题1. 熟练掌握数据流图的知识。1)下图描述的是某单位的商品订单处理系统,在这个系统中,描述了货物在各个过程之间是如何流动的,同时描述了其中的数据存储(订单文件和预算文件)。请你完善订单系统的数据流图。答: 2)假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就
23、应该再次定货。要求:画出系统的数据流图。 解答: 2. 熟练掌握判断树和判断表的画法 某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法.解答:3. 掌握等价类划分法测试用例的设计根据下列条件使用等价类划分法设计测试用例。 某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f7f(表示十六进制的大
24、小写字母不加区别),如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为每个不合理等价类至少设计一个测试用
25、例测试数据期望结果覆盖范围2显示无效输入3G12显示无效输入4123311显示无效输入51012显示无效输入6011显示无效输入70134显示无效输入80x777显示无效输入100x87显示无效输入114. 根据逻辑覆盖判定规格,设计测试用例根据下列程序流程图,设计不超过2组的测试用例,使之满足语句覆盖,要求给出每组测试数据的执行路径、输入值、输出值及两个判定(3)和(5)的判定结果。解答: 第一组语句覆盖测试数据: A=9 B=5 C=0路径path1: 1234578 (3)的判定结果为真 (5)的判定结果为假 第二组语句覆盖测试数据: A=21 b=1 C=0路径:path2:12356
26、78 (3)的判定结果为假 (5)的判定结果为真 5. 掌握N-S图和PAD图的含义及画法 将下列伪码表示为N-S图和PAD图void root ( float root1, float root2 ) i = 1; j = 0; while ( i = 10 ) 输入一元二次方程的系数a, b, c;p = b*b 4*a*c;if ( p 0 ) 求出根并输出;if ( p = 0 ) 求出重根并输出; j = j + 1;i = i +1; 输出重根的方程的个数j;【解答】(1)N-S图i = 1; j = 0;while ( i = 10 )输入a, b, c; 计算 p = b2 - 4ac; p 0 ?p = 0 ?求出重根并输出; j = j + 1;i = i + 1;输出重根的方程个数iTTTFFF(2)PAD图i = 1; j = 0;输出重根的方程个数iwhile ( i 0 ?p 0 ?输出方程i无实根p = 0 ?求出重根并输出; j = j+1;i = i + 1;收集于网络,如有侵权请联系管理员删除