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