软件工程复习题(看完必过)
- 格式:doc
- 大小:1.19 MB
- 文档页数:10
可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。
(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。
(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。
(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。
(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。
(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。
(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。
软件工程复习题及答案一、选择题软件工程复习题(一)1、瀑布模型本质上是一种()A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型2、使用程序设计的控制结构导出测试用例的测试方法是()A、黑盒测试B、白盒测试C、边界测试D、系统测试3、软件结构图的形态特征能反映程序重用率的是()A、深度B、宽度C、扇入D、扇出4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系B、组成关系C、链接关系D、顺序执行关系5、需求分析最终结果是产生()A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告6、快速原型模型的主要特点之一是()A、开发完毕才见到产品B、及早提供全部完整的软件产品C、开发完毕后才见到工作软件D、及早提供工作软件7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法8、软件详细设计主要采用的方法是()A、模块设计B、结构化设计C、PDL 语言D、结构化程序设计9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 () A、.软件工程B、软件周期C、软件危机D、软件产生10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()A、需求分析B、概要设计C、详细设计D、软件维护11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()A、探索型模型B、演化型模型C、实验型模型D、提交型模型12、程序设计语言的工程特性之一为()A、软件的可重用性B、数据结构的描述性C、抽象类型的描述性D、数据库的易操作性13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为 ()A、可用性B、可靠性C、正确性D、完整性14、模块设计中,最不希望的内聚是()A、功能内聚B、通信内聚C、过程内聚D、偶然内聚15、实施快速原型模型方法开发软件的关键在于()A、CASE 工具的支持B、如何开发演化型模型C、项目主管的支持D、开发人员的素质16、程序流程图(框图)中的箭头代表()。
软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。
A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。
A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。
A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。
A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
软件工程复习题(带答案)软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
软件工程复习重点一、选择题1、软件工程三要素是指( B )P8A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法2、瀑布模型本质上是一种( A )。
P23A、线性顺序模型B、顺序迭代模型C、线性迭代模型D、及早见产品模型3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。
P79A、数据流B、数据流图C、数据库D、数据结构4、概要设计的任务是设计系统的( B物理模型)P70A、逻辑模型B、物理模型C、概念模型D、程序流程图5、描述软件结构的工具有( A模块结构图)A、模块结构图B、PAD图C、数据流程图D、程序6、进行需求分析可以使用多种工具,但( C )是不适用的。
A、数据流程图B、判定表C、PAD图(详细设计)D、数据字典7、可行性研究要进行的需求分析和设计应该是( C )。
A、详细的B、全面的C、简化的、压缩的D、彻底的8、软件生命周期由( C )三个时期组成。
A、概要设计、详细设计和系统实现B、可行性分析、系统设计和编码C、定义、开发和运行维护D、分析、设计和测试9、以下( D )不是模块。
对象是一个实体A、过程B、程序C、函数D、对象10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。
A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78A、扇入数B、扇出数C、宽度D、作用域12、下列工具哪一个是需求分析阶段常用工具?( D )A、PADB、PFDC、N-SD、DFD数据流程图需求分析常用的是数据流程图和数据字典13、为了提高测试的效率,应该( D)A、随机地选取测试数据B、取一切可能的输入数据作为测试数据库C、在完成编码后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据14、成功的测试是指( B发现程序的错误)A、运行测试实例后未发现错误项B、发现程序的错误C、证明程序正确D、改正程序的错误15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。
一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件。
对2、在需求剖析过程中,剖析员要从用户那边解决的最重要的问题是给该软件供给哪些信息。
3、需求规格说明书在软件开发中拥有重要的作用,它也能够作为软件可行性剖析的依照。
错错4、成立用例模型的步骤包含确立角色、确立用例和绘制用例图。
错5、数据流图成立系统的功能模型,它由数据流、加工和数据存贮构成。
错6、软件配置管理是一组表记、组织和控制改正源程序的活动。
错7、UML 是一种直观化、明确化、建立和文档化软件产物的通用语言。
错8、好的测试是用少许的测试用例运转程序,发现被测程序尽可能多的错误。
对9、界限值剖析方法是取输入 / 输出等价类的界限值作为测试用例。
对10、面向对象的剖析是面向计算机系统成立软件系统的对象模型。
错11、(D )是将系统化的、规范的、可定量的方法应用于软件的开发、运转和保护的过程,它包含方法、工具和过程三个因素。
A 软件过程B 软件测试C 软件生计周期D 软件工程12、 ISO9000 是由 ISO/TC176 拟订的对于( B )和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改良13、 CMM 供给了一个框架,将软件过程改良的进化步骤组织成 5 个成熟度等级。
除第 1 级外,每个等级都包含了实现该成熟度等级目标的若干(B)。
A重点实践 B 重点过程域 C 软件过程能力 D 软件过程14、在软件开发的各样资源中,( D )是最重要的资源。
A 开发工具B方法 C硬件环境 D人员15、软件的复杂性是( A ),它惹起人员通讯困难、开发花费超支、开发时间超时等问题。
A 固有的B 人为的C 可除去的D 不行降低的16、在各样不一样的软件需求中,( D )描绘了用户使用产品一定要达成的任务,能够在用例模型或方案脚本中予以说明。
A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,合用于( A )系统。
软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
复习题16.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:(1)流程图;(2)N-S图;(3) PDL语言。
17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
绘制该系统的数据流图和软件结构图。
27.如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。
设计测试方案Y NN22.试由程序流程图导出程序图38. 根据以下被测试的流程图,选择相应的答案。
(8分)(1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2①在1-3的答案中满足判定覆盖的测试用例是___1_____ (2分)②在1-3的答案中满足条件覆盖的测试用例是___3_____ (2分)③在1-3的答案中满足判定/条件覆盖的测试用例是______2__ (2分)39.工资计算系统中的一个子系统有如下功能:(1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;(2 )计算奖金部分—根据职工的出勤情况计算出奖励金;(3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额;(4 )计算税金部分—由工资总额中计算出应扣除各种税金;(5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。
试根据要求画出该问题的数据流程图。
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1.软件质量因素不包括。
A.正确性B.高性能C.可测试性D.可理解性2.软件可行性研究实质上是要进行一次需求分析、设计过程。
A.简化、压缩的B.详细的C.彻底的D.深入的3.以下哪个软件生存周期模型是一种风险驱动的模型。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型4.可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统5.结构化分析建立功能模型的工具是。
A.DFDB.判定树/判定表C.SCD.结构化语言6.检查软件产品是否符合需求定义的过程称为。
A.确认测试B.集成测试C.系统测试D.单元测试7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。
A.校正性维护B.适应性维护C.完善性维护D.预防性维护8.通信内聚是指。
A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可9.一个只有顺序结构的程序,其环形复杂度是。
A.0B.1C.3D.510.下述四个能力成熟度等级,级别最高的是。
A.已定义级B.优化级C.可重复级D.已管理级11.结构化程序设计,主要强调的是。
A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系12.软件调试技术包括。
A.边界值分析B.演绎法C.循环覆盖D.集成测试13.需求分析中开发人员要从用户那里了解。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模14.数据字典是对数据定义信息的集合,它所定义的对象都包含于。
A.数据流图B.程序框图C.软件结构D.方框图15.面向对象的主要特征除唯一性、继承性、多态性外,还具有。
A.封装性B.移植性C.完整性D.兼容性16.关于软件维护的说法错误的是。
一、填空题(每小题1分,共15分)1. 衡量模块的独立性的两个标准是内聚、耦合。
2.软件是由文档、程序两个方面组成。
3. 在软件开发时,按照工程学的角度可分为:可行性研究、需求分析、:概要设计、详细设计、编码、测试和维护过程。
4. 软件的内聚性越高、软件的独立性越强,软件的耦合性越高、软件的独立性越弱。
5. 如果要完成知识库系统、专家系统、决策支持系统、推理工程、语言识别、机器人视觉等人工智能领域内的系统,应选择事件处理软件、人工智能软件。
6. 面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。
7.软件测试分为单元测试、综合测试、确认测试、系统测试四个阶段8.软件详细设计阶段采用的工具有程序流程图,盒图(N -S图),PAD图,判定表,判定树,过程设计语言(PDL)。
9.程序中的注释分为序言性注释和功能性注释两类。
10.软件项目工程包括软件开发和软件管理两大部分工作。
11.软件维护的类型由:完善性维护、改正性维护、适应性维护和预防性维护四大部分构成。
12.对象模型的五个层次对应着面向对象分析过程中的五项主要活动:找出类与对象,主题层,结构层,属性层,服务层。
13.数据流图中带有箭头的线段表示的是数据流流动的方向、而程序流程图中带有箭头的线段表示的是控制流流动的方向。
14. 在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是程序流程图/程序框图。
15. 软件成分的重用可以进一步划分为功能抽象、数据抽象和过程抽象三个级别。
16.软件开发模型:瀑布模型,增量模型,快速原型模型,螺旋模型,喷泉模型,智能模型。
二、选择题(每小题1分,共10分)1. 在形式化方法中,可以表示非功能性需求(诸如时间需求),但不能很好地表示并发性的方法有 (A) 。
A. Z语言B. Petri网C. 有穷状态机 C. 时序逻辑2.软件开发的生命周期中,编码阶段主要完成的工作是(D )。
一、选择题:1、用例图中,用来表示用例的符号为( B ) 。
2、协作图中包含的元素包括(A ) 。
A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。
A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。
A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。
A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。
A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。
A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。
软件⼯程复习题及参考答案《软件⼯程》课程复习资料⼀、单项选择题:1、下⾯哪些UML图描述系统⾏为? [ ]A、⽤例图 B、类图 C、对象图2、属于概要设计活动得就是[ ]A、软件结构设计B、数据结构设计C、算法设计3、属⾏为型设计模式得就是[ ]A、组合模式B、⼯⼚⽅法模式C、观察者模式4、下列说法正确得就是[ ]A、UML 就是软件开发⽅法B、UML就是系统描述语⾔C、UML就是软件开发过程5、根据程序流程图划分得模块通常就是[ ]A、信息内聚得模块B、过程内聚得模块C、逻辑内聚得模块6、如果某程序中得⽐较个数就是m,则其McCabe环形复杂度为[ ]A、m-1B、mC、m+17、按ISO9000-3得说明,下列属软件配置项得就是[ ]A、软件开发⽅法B、软件开发组织管理制度C、软件开发合同8、软件测试得⽬得就是[]A、证明软件⽆错B、发现软件中得所有错误 C、尽可能发现软件系统中得错误9、软件重构关注得就是[ ]A、软件体系结构B、模块细节C、软件性能10、软件项⽬开发计划得内容有[ ]A、数据分析B、风险分析C、功能分析11、在UML得类图中,描述整体与部分关系得就是[]A、泛化关系B、聚合关系C、依赖关系12、软件过程能⼒成熟度模型CMM⽤以评价[ ]A、软件过程能⼒B、组织能⼒C、学习能⼒13、因计算机硬件与软件环境得变化⽽作出得修改软件得过程称为[]A、完善性维护B、改正性维护 C、适应性维护14、对项⽬软件⽽⾔,软件功能需求信息主要由谁提供[ ]A、软件⽤户B、软件开发⼈员C、软件项⽬管理⼈员15、IDEF0 图反映不出[ ]A、系统做什么 B、系统功能由谁做C、系统如何做16、原型模型就是⼀种什么开发过程模型?[ ]A、⾃顶向上B、由外⾄内C、增量式17、系统流程图描述[ ]A、物理系统B、逻辑系统 C、软件体系结构18、需求规格说明书得内容不应该包括[ ]A、软件确认准则B、软件得性能描述C、算法过程得详细描述19、适合需求模糊或需求不确定系统开发得软件开发模型就是[ ]A、瀑布模型B、RAD 模型C、原型模型20、UML 图中描述系统结构得就是[ ]A、组件图B、顺序图C、状态图21、⾯向对象⽅法就是⼀种什么软件开发⽅法?[ ]A、层次化B、迭代增量式 C、逐步求精22、不可以⽤来衡量软件可维护性得就是[ ]A、可靠性B、可⽤性C、可⾏性23、系统分析员在需求分析最后负责编写[ ]A、⽤户⼿册B、概要设计说明书C、可⾏性研究报告24、为了提⾼软件得可靠性、可维护性等⽽对软件得修改称为[ ]A、改正性维护B、适应性维护C、预防性维护25、在结构化⽅法中,为使需求改变对软件影响较⼩,应该使软件结构[ ]A、与问题结构对应B、与问题结构独⽴ C、与⽤户界⾯对应26、单元测试得计划应该在什么阶段完成?[ ]A、需求分析 B、概要设计 C、详细设计27、下列属⾯向对象软件开发⽅法得就是[ ]A、LCP ⽅法B、OMT ⽅法C、IDEF0 ⽅法28、强调信息隐藏得软件⼯程设计⽅法就是[ ]A、Jackson ⽅法B、Parnas ⽅法C、SA/SD ⽅法29、描述系统动态⾏为得模型就是[ ]A、包图B、软件结构图C、状态图30、考虑输⼊条件组合得测试⽤例设计⽅法就是[ ]A、等价分类法B、语句覆盖法C、因果图法31、下列能减少⽀援性维护活动得就是[]A、利⽤软件包B、进⾏配置管理C、对⽤户进⾏适当培训32、只⽀持单重继承得程序设计语⾔就是[ ]A、C++B、DelphiC、C33、IDEF0图得顶层图就是[ ]A、A0 图B、A-0 图C、A-1图34、在UML得⽤例图中,扩展关系就是⼀种[ ]A、泛化关系B、依赖关系 C、关联关系35、独⽴测试⼩组开始介⼊测试就是在[]A、模块测试阶段B、集成测试阶段 C、确认测试阶段36、在成本估计中容易低估局部问题得⽅法就是[]A、基于经验模型得估计B、⾃底向上估计 C、⾃顶向下估计37、在IDEF1X图中,如果⼦实体与⽗实体存在联系,则⼦实体将继承⽗实体得[ ]A、全部属性B、主关键字属性C、⾮主关键字属性38、结构化分析⽅法使⽤得⼯具就是[ ]A、数据流图B、类图C、软件结构图39、⽩盒测试设计⽤例得⽅法就是[]A、等价分类法B、基本路径覆盖法C、因果图法40、在衡量软件质量时,最重要得标准就是[ ]A、可维护性好B、可⽤性好 C、满⾜⽤户功能需求41、瀑布模型就是⼀种[]A、演化模型 B、顺序模型C、增量模型42、模块得独⽴程度可以由什么定性标准度量?[ ]A、耦合度B、复杂度C、可靠性43、以下选项中,不属于对象得特点有[ ]A、继承B、多态C、封闭44、⾯向数据结构得设计⽅法有[ ]A、Parnas ⽅法B、Jackson⽅法 C、IDEF0 ⽅法45、与UML配合最好得软件开发⽅法就是[ ]A、RUP ⽅法B、Coad/Yourdon⽅法C、IDEF4⽅法⼆、填空题:1、统⼀建模语⾔UML提供了两种描述整体/部分关系得⽅法,分别就是与。
复习题填空题在信息处理和计算机领域内,一般认为软件是 _程序____、_文档____ 和_数据____ 。
数据流图的基本组成部分有 _数据的源点与终点__、数据流_、加工__、数据文件。
数据流图和数据字典共同构成了系统的 _逻辑____模型,是需求规格说明书的主要组成部分。
划分模块时尽量做到__高内聚、低耦合___持模块的独立性,尽量使用公共模块。
类的实例化是_对象_______。
人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是_成功地运行的概率_______和_平均故障时间_______。
将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。
这种成本估算方法称为_自底向上_______。
如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 ____N_______ 个。
结构化设计以 __数据流图_________ 为基础,按一定的步骤映射成软件结构。
软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。
软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。
软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。
面向对象分析的目的是对客观世界的系统进行 ___建模_____软件维护工作的生产性活动包括分析评价、修改设计和 ____编写程序代码______ 等。
为了使应用软件适应计算机环境的变化而 ___修改软件____ 的过程称为适应性维护。
一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 __________顺序内聚________ 。
投资回收期就是使累计的经济效益等于 __最初的投资费用__________ 所需的时间。
软件生存周期是指一个软件从提出开发要求开始直到 __软件废弃____为止的整个时期。
一、选择题1、软件是一种(2)性工业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在(2)进行的。
(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于(2)的研究。
(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是(4)。
(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是(1)。
(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行(4)。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当(4)。
(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统(1)的过程。
(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是(4)。
(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为(3)。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、对象是面向对象开发的基本成分,每个对象可用它的一组(3)和它可以执行的一组操作来定义。
(1)服务(2)参数(3)属性(4)调用12、最高程度也是最差的耦合是(2)。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括(4)。
(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是(2)。
1、软件工程包括软件开发技术和软件工程管理两大部分内容2、软件工程包括3个要素:方法、工具、过程3、软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常,软件生存周期包括:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护活动,可以将这些活动以适当的方式分配到不同阶段去完成4、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过文档实现过渡的。
5、可行性研究的三个方面是:技术可行性、经济可行性和操作可行性。
6、可行性研究实质上是要在较高层次上以简化的、压缩的方式进行需求分析和设计的过程。
7、数据流图仅反映系统必须完成的逻辑功能,所以它是一种功能模型。
8、数据字典中有四类条目,分别是数据流、数据流分量(数据元素)、数据存储、处理。
1、总体设计主要是把各项功能需求转换成系统的体系结构。
2、结构化分析方法的分析策略是自顶向下、逐步求精。
3、衡量模块独立性的两个定性标准是耦合性与内聚性。
4、结构化方法是一种面向数据流的开发方法,由结构化分析、结构化设计、结构化实现构成。
5、结构化中以数据流图为基础的两种具体分析设计方法是变换分析设计、事务分析设计。
1、详细设计常用的工具有程序流程图、盒图(N-S图)、PAD图、判定表、判定树、过程设计语言(PDL)、Jackson方法。
2、详细设计的任务是确定每个模块的内部特性,即模块的算法和数据结构。
3、面向对象开发方法包括面向对象分析、面向对象设计、面向对象实现三部分。
4、子类自动共享父类的属性和操作的机制称为继承。
5、继承性是子类自动共享其父类的数据结构和方法机制。
6、UML提供的构建系统动态模型的机制有动态视图(包括顺序图和协作图)、静态视图、功能视图。
7、类具有操作,它是对象行为的抽象。
8、在面向对象方法中,人们常用状态图描述类中对象的动态行为。
9、对象之间进行通信叫做消息。
1、采用手工工发软件只有程序而无文档,维护困难,这是一种非结构化维护。
软工必刷题目软件工程是一个高度技术性和实践性的学科,掌握相关的编程和工程知识对于软件工程师的职业发展至关重要。
而在学习的过程中,刷题是一个非常有效的方法,可以帮助我们巩固所学的知识,并培养解决问题的能力。
本文将介绍一些软件工程领域的必刷题目,帮助读者提升编程和解决问题的能力。
一、基础知识类题目1. 数据结构和算法题:- 链表、栈和队列- 树和图- 排序和搜索算法- 动态规划和贪心算法2. 操作系统题:- 进程和线程- 内存管理- 文件系统- 死锁3. 计算机网络题:- TCP/IP协议- 网络编程- 网络安全二、设计与实现类题目1. 面向对象设计题:- 类和对象设计- 继承和多态- 设计模式2. 软件测试题:- 黑盒测试和白盒测试 - 单元测试和集成测试 - 自动化测试3. 数据库设计题:- 关系数据库模型- SQL语言和查询优化 - 数据库事务和一致性三、项目开发类题目- HTML、CSS和JavaScript基础- 前端框架(如React、Vue.js)- 响应式设计和移动端开发2. 后端开发题:- Web框架(如Django、Spring)- RESTful API设计和实现- 数据库操作和ORM框架3. 敏捷开发与团队协作题:- 敏捷开发方法和工具(如Scrum、Kanban) - 版本控制系统(如Git)- 团队协作与沟通四、综合实践类题目1. 系统设计题:- 大型系统架构设计- 性能优化和扩展- 容灾和故障恢复- 网络安全和攻击防护- 数据加密和身份认证- 防止代码注入和XSS攻击3. 软件项目管理题:- 软件开发生命周期- 项目规划和资源管理- 风险评估和质量管理以上是软工领域中的一些必刷题目,涵盖了基础知识、设计与实现、项目开发和综合实践等方面。
通过刷题,我们可以不断提升自己的技能和能力,更好地应对软件工程领域的挑战。
希望读者能够认真对待每个题目,多动手实践,不断提升自己的编程和解决问题的能力,成为一名优秀的软件工程师。
软件工程期末复习题第一篇:软件工程期末复习题1、软件定义:问题定义、可行性研究,需求分析2、软件开发:总体设计,详细设计,编码和单元测试,综合测试3、软件维护:改正性维护、适应性维护、完善性维护、预防性维护4、软件过程:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,Rational统一过程,敏捷过程与极限编程,微软过程5、从3个方面研究每种解决的可行性:技术可行性、经济可行性、操作可行性6、软件需求分析阶段的工作:可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及需求分析评审7、设计原理:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立性(耦合、内聚)8、决定软件可维护性的因素:可理解性、可测试性、可修改性、可移植性、可重用性一、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。
一旦实现并测试完之后,该产品将被抛弃。
你打算选用哪些软件生命周期模型?请说明你作出选择的理由。
答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。
此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。
综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了二、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。
由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。
你打算采用哪种软件生命周期模型?为什么?。
答:对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪些模型有助于加快产品开发的进度。
使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。
这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,改公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。
复习题
16.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:
(1)流程图;(2)N-S图;(3) PDL语言。
17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;
(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;
(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;
(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
绘制该系统的数据流图和软件结构图。
27.如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。
设计测试方案
Y N
N
22.试由程序流程图导出程序图
38. 根据以下被测试的流程图,选择相应的答案。
(8分)
(1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1
A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2
①在1-3的答案中满足判定覆盖的测试用例是___1_____ (2分)
②在1-3的答案中满足条件覆盖的测试用例是___3_____ (2分)
③在1-3的答案中满足判定/条件覆盖的测试用例是______2__ (2分)
39.工资计算系统中的一个子系统有如下功能:
(1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;
(2 )计算奖金部分—根据职工的出勤情况计算出奖励金;
(3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额;
(4 )计算税金部分—由工资总额中计算出应扣除各种税金;
(5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。
试根据要求画出该问题的数据流程图。
40.用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的程序。
要求保持良好的程序风格,加上必要的注释()。
用C语言编写:
/*程序名称:直接选择排序;*/
/*作者:陈明锐;*/
/*完成日期:2006年6月9日;*/
/*过程头:selectsort(int *A;int N)*/
/*输入参数:N为元素个数(N<=1000);A整型数组,从1到N存放待排序元素;*/
/*返回结果:数组A为指针,由它返回排序结果;*/
void selectsort(int *A;int N)
{
int i,j,k,x;
for (i=1;i<N;i++) /*求第I个最小值*/
{
k=i;/*先假设I位置上的值最小*/
for (j+=i;j<=N;j++) /*求I到N位置上的最小值*/ if (A(j)<A(k)) k=j;
if (k<>i)/*需要交换A(K)和A(I)的值*/
{ /*交换A(K)和A(I)*/
x=A(i);
A(i)=A(k);
A(k)=x
} /*结束交换*/
} /*求出了第I个最小值*/
} /*SELECTSORT*/
41.把事务型数据流图映射成软件结构图:
42.把变换型数据流图映射成软件结构图:
3、下图为程序段的流程图,请按照语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖准则分别为程序设计测试用例。
1.语句覆盖
2.判定覆盖
3条件覆盖
4判定/条件覆盖
5条件组合覆盖
4、下面列出了一段伪码程序,使用基本路径测试方法,完成流图的绘制,计算环形复杂度,并用语句编号标明各条独立路径以及对应的输入数据和预期输出。
1: INPUT(A,B,C,D)
2: IF (( A > 0 )
3: AND ( B > 0 ))
4: THEN X=A+B
5: ELSE X=A-B
6: END
7: IF (( C > A)
8: OR ( D < B ))
9: THEN Y=C-D
10: ELSE Y=C+D
11: END
12: PRINT(X,Y)
流图如下:
基本路径数=流图的环形复杂度=5
独立路径:
路径1: 1 →2 →5 →6 →7 →9 →11 →12
输入:A=-1,B=1,C=0,D=2 (任意) ;预期输出:X=-2,Y=-2
路径2: 1 →2 →3 →5 →6 →7 →9 →11 →12
输入:A=1,B=-1,C=2,D=2;预期输出:X=2,Y=0
路径3:1→2 →3 →4 →6 →7 →9 →11 →12
输入:A=1,B=1,C=2,D=2;预期输出:X=2,Y=0
路径4:1 →2 →3 →4 →6 →7 →8 →9 →11 →12
输入:A=1,B=1,C=0,D=-1;预期输出:X=2,Y=1
路径5:1 →2 →3 →4 →6 →7 →8 →10 →11 →12
输入:A=1,B=1,C=0,D=2;预期输出:X=2,Y=2
设计题
如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。
对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h,经过两个月的测试后,总共改正了25个错误,MTTF=15h。
(1)程序中总的错误数为多少?
(2)为达到MTTF=100h,还要改正多少个错误?
(1) 10 =10000/K(ET - 15)
15 =10000/K(ET - 25)
K = 100/3 ET =45
(2) Ec = 45 - 3 =42
还需改正42-25 = 17个错误。
对一个长度为100,000条指令的程序进行测试,记录下来的数据如下:
测试开始, 发现错误个数为0;
经过160小时的测试, 累计改正100个错误, 此时, MTTF = 0.4小时;
又经过160小时的测试, 累计改正300个错误, 此时, MTTF = 2小时;
(1) 估计程序中固有的错误总数;
(2) 为使MTTF达到10小时, 必须测试多少个错误?
1)MTTF = IT / ( k * (Et - Ec(t)) )
所以0.4 = IT / ( k * (Et - 100) )
2 = IT/ ( k * (Et - 300) )
所以可以求出Et =350
2)
由1)可以知道
k = IT / 2(Et - Ect) = 100000 / 2(350 - 300) = 100000 / 100 = 1000;
所以
MTTF = 10 = 100000 / 1000(Et - Ec) = 100/(Et - Ec) = 100/(350 - Ec)
所以Ec = 340
340-300 =40个错误。
某公司对已开发的软件产品采用错误植入模型来进行测试和评估。
评测部对待测软件人为植入了17个故障;在开始测试的一小段时间内,发现了300个固有故障;发现了植入的故障3个,被测程序的机器指令条数为3*105。
(1) 请估算出被测程序的固有故障的个数N的值。
(2) 若通过一段时间后,发现的错误个数为1600时,请估算此程序的平均无故障时间。
(3) 若要求把此平均无故障时间再提高2倍,应至少再排除多少个错误?
(1) ET = 17/3*300 =1700
(2) MTTF = 3*105 / 200 * (1700 -1600) =15 h
(3) Ec = 1700 - 3*105 / 200*30 =1650
还需改正1650-1600 =50个错误。