软件工程试题及答案解析
(完整word版)软件工程习题及答案解析

软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.A、系统描述B、详细设计C、测试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. 结构化程序设计主要强调程序的。
软件工程试题(卷)(附答案解析)

一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节3.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。
A.数据流B.数据存储C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、通过(B )可以完成数据流图的细化。
A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。
A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块部最好是(C)。
A.逻辑聚B.时间聚C.功能聚D.通信聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。
A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层11、在软件开发过程中,以下说确的是(B)。
软件工程试题及答案解析

A.结构图 B.状态图 C.部署图 D.用况图 ABCD 正确答案: A
9. 根据 RUP 实现活动,输入为设计类和接口,活动为实现类,则输出为()
A.构件 B.用况 C.接口 D.子系统 ABCD 正确答案: A
10. 下列软件测试技术中,依据软件行为描述的是()
RUP 的设计模型是 RUP 设计的主要结果,它尽量保持该系统具有分析模型的结抅,并作为 系统实现的输入。它包括以下元素: (1)设计子系统和服务子系统,以及它们的依赖、接口和内容; (2)设计类,以及它们具有的操作、属性、关系及其实现需求; (3)用况细化; (4)体系结构描述;
37. 简述因果图方法生成测试用例的基本步骤。 正确答案: (1)通过对软件规格说明书的分折,找出一个模块的原因和结果,并给每个原因和结果赋予 一个标识符; (2)分析原因与结果之间以及原因与原因之间对应的关系,并画出出因果图; (3)在因果图上标识出一些特定的约束或限制条件; (4)把因果图转换成判定表; (5)为判定表的每一列设计测试用例。
22.关联一端的类目对另一端的类目的一种呈现,称为____________。 正确答案: 角色
23. RUP 采用_________技术来获取需求。 正确答案: Use Case( 或用例、用况)
24. 由于软件错误的复杂性,在软件工程测试中,应综合运用测试技术,并且应实施合理的测试 序列:单元测试、___________、有效性测试和系统测试。 正确答案: 集成测试(或组装测试)
12.单元测试期间,通常考虑模块的() A.错误执行路径 B.正确执行路径 C.有判定语句的执行路径 D.全部执行路径 ABCD 正确答案: A
13. 软件基本过程是指那些与软件生产直接相关的活动集,可分为获取过程、供应过程、运行过
软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
全国2024年4月高等教育自考试软件工程试题含解析

全国2024年4月高等教育自考试软件工程试题一、单项选择题1、软件生存周期是指______。
A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间2、在常见的软件开发模型中,主要用于支持面向对象技术软件开发的是______。
A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型3、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计4、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。
A.可修改的B.可复用的C.可测试的D.无歧义的5、“与所规约的系统执行之间的偏差”是指______。
A.错误B.失效C.故障D.误差6、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。
A.PAD图B.流程图C.类图D.N-S图7、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。
A.3级B.4级C.5级D.6级8、RUP的分析类包括边界类、实体类和______。
A.子类B.控制类C.父类D.活动类9、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。
A.IdleB.InitializingC.CommandD.Active10、使用用况图可以实现业务建模和系统建模,而得到业务模型和系统模型之间具有的关系是______。
A.整体/部分B.一般/特殊C.功能/过程D.静态/动态11、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。
A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合12、面向对象方法源于面向对象______。
A.分析B.设计C.建模语言D.编程语言13、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
软件工程试题含答案

软件工程试题含答案一、单项选择题(每题1分,共20分)1. 以下哪个不是软件工程的目标?A. 提高软件生产效率B. 提高软件质量C. 提高软件可靠性D. 提高软件的价格答案:D2. 以下哪个不属于软件工程的基本原则?A. 阶段划分B. 迭代开发C. 配置管理D. 需求分析答案:D3. 软件生命周期模型中,以下哪个模型最适合于需求变化较少的项目?A. 瀑布模型B. 增量模型C. 螺旋模型D. 原型模型答案:A4. 下面哪种软件测试方法主要通过检查输入和输出数据之间的关系来验证软件的正确性?A. 黑盒测试B. 白盒测试C. 灰盒测试D. 性能测试答案:A5. 在软件开发中,以下哪个过程是保证软件质量的关键环节?A. 需求分析B. 设计C. 编码D. 测试答案:D6. 以下哪个不是软件配置管理的任务?A. 版本控制B. 变更管理C. 代码编写D. 测试管理答案:C7. 软件过程中的度量主要用于评估以下哪个方面?A. 项目进展情况B. 代码质量C. 测试覆盖率D. 用户满意度答案:A8. 以下哪个不是软件项目管理中的常见约束?A. 成本约束B. 资源约束C. 时间约束D. 协议约束答案:D9. 下面哪种软件开发模型更适合于小型项目?A. 敏捷开发B. 瀑布模型C. 增量模型D. 螺旋模型答案:A10. 下列哪个属于软件缺陷的类型?A. 语法错误B. 逻辑错误C. 界面设计错误D. 所有选项都是答案:D二、多项选择题(每题2分,共20分)11. 软件工程的基本特征包括:(选择所有正确答案)A. 工程化B. 抽象化C. 风险管理D. 需求开发答案:A、B、C12. 软件需求分析的方法包括:(选择所有正确答案)A. 面向对象分析B. 数据流图分析C. 结构化分析D. 瀑布模型答案:A、B、C13. 对于软件过程改进,以下说法中不正确的是:(选择所有正确答案)A. 可以通过度量来评估改进效果B. 可以通过培训来提高团队技能C. 可以通过引入新的软件开发流程达到改进D. 可以通过领导层的决策来实现改进答案:D14. 软件测试的主要目的是:(选择所有正确答案)A. 验证软件是否符合需求B. 发现软件中的错误和缺陷C. 评估软件的运行性能D. 确保软件的可维护性答案:A、B15. 软件维护的类型包括:(选择所有正确答案)A. 纠错性维护B. 适应性维护C. 完善性维护D. 性能优化维护答案:A、B、C三、简答题(每题5分,共30分)16. 请简要解释什么是软件工程?答案:软件工程是一门研究如何通过系统性的、科学化的方法来开发、维护和管理软件的学科。
软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
(完整版)软件工程习题+答案(可编辑修改word版)

一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3.耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。
B)内容耦合,控制耦合,公共环境耦合,数据耦合。
C)内容耦合,公共环境耦合,控制耦合,数据耦合。
(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:(C )A)程序流程图,PAD 图,N-S 图,HIPO 图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。
C)判定表,判定树,PDL,程序流程图,PAD 图,N-S 图。
D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD 图、N-S 图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD 数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程试题1.( ) 计算机系统就是:A)主机,显示器,硬盘,软驱,打印机等。
B)CPU,存储器,控制器,I/O接口及设备。
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)程序流程图,Jackson图,IPO图。
C)数据流程图,数据字典,ER图。
D)Jackson图,ER图,IPO图。
7.( ) 耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:A)内容耦合,控制耦合,数据耦合,公共环境耦合。
B)内容耦合,控制耦合,公共环境耦合,数据耦合。
C)内容耦合,公共环境耦合,控制耦合,数据耦合。
D)控制耦合,内容耦合,数据耦合,公共环境耦合。
8.()在详细设计阶段所使用到的设计工具是:A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。
C)判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图。
D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
9.()按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
10.()包含所有可能情况的测试称为穷尽测试。
下面结论成立的是:A)只要对每种可能的情况都进行测试,就可以得出程序是否符合要求的结论。
B)一般来说对于黑盒测试,穷尽测试是不可能作到的。
C)一般来说对于白盒测试,穷尽测试是不可能作到的。
D)在白盒测试和黑盒测试这两个方法中,存在某一个是可以进行穷尽测试的。
二、填空题(每题1分,共10分)1.软件危机是指在()所遇到的一系列严重问题。
2.在软件开发的各个阶段经过阶段评审后的文档和程序代码成为()。
3.结构程序设计的基本思想是()。
4.总体设计的第二项任务是设计软件的结构,即确定()。
5.描绘物理系统的传统工具是()。
6.如果模块内所有元素都使用同一个输入数据和产生同一个输出,称为()内聚。
7.数据流程图按照信息流的类型主要分为()两种。
8.()年,()和()证明了SISO程序只需要三种基本控制结构。
9. 从应用特点分类,高级语言主要分为()、()和()三类。
10.黑盒测试又称为(),白盒测试也称为()。
三、多项选择题(以下各题均有两个以上的正确答案。
将正确答案的标号填入各题前面括号内,注意多选或少选该题均不得分,每题2分,共20分):1.()软件开发各个阶段所耗费的时间或工作量是:A)可行性研究占5%;B)综合测试占40%;C)设计阶段在所有开发阶段所占的比例最大。
D)编码和单元测试占20%。
E)以上说法都不对。
2.()对软件开发与维护,以下观点是正确的:A)为了加快开发速度,可以一边写程序,一边设计文档。
B)对于软件而言,程序和软件配置成分是同等重要的,不能重此偏佊。
C)把软件漫长的生命周期划分为若干个阶段的出发点是降低开发的困难程度和简化复杂性。
D)可行性研究的主要任务就是确定软件项目的工程规模和目标。
E)面向对象的方法学比传统的软件开发方法开发软件容易,开发效率提高。
3.()对于以下图形工具的作用,A)数据流程图和数据字典共同构成软件的高层数据模型。
B)层次图是用来描述软件结构的,不能用于描述数据结构。
C)IPO图能方便地描绘输入数据、对数据的处理和输出数据的关系,它是美国微软公司发明并逐渐发展完善起来的。
D)ER图描述现实世界中的实体,不涉及这些实体在系统中的实现方法。
E)Yourdon图实际上也是结构图,所以它与层次方框图是等价的。
4.()面向数据结构的设计方法有:A)Jackson方法。
B)Warnier方法。
C)Halstead方法。
D)PAD方法。
E)G.Myers方法。
5.()以下测试方法是白盒测试方法的是:A)判定覆盖和边界值分析法。
B)等价划分和错误推测法。
C)路径覆盖和判定/条件覆盖法。
D)条件组合覆盖和语句覆盖法。
E)条件覆盖和错误推测法。
6.()以下关于集成测试的论述,正确的是:A)先对每个模块分别测试,然后统一组装成软件系统的方法称为非渐增式测试。
B)自顶向下的集成测试本质上是渐增式测试方法。
C)存根模块是渐增式测试方法中使用的,在非渐增式测试中也用不到桩模块。
D)一般来说,存根模块和桩模块在用过以后,不会作为软件的正式模块而存在。
E)由于是对程序进行测试,测试方案的设计一般在详细设计阶段完成以后才进行。
7.()对于程序设计,正确的陈述是:A)为了减少程序的长度,最好不要在程序中增加注释。
B)变量名以简洁为好,名字太长了难以理解,增加了程序的复杂性。
C)程序语句要求体现层次性,以使结构清晰明显。
D)数据结构的组织和复杂程度在设计期间确定,但数据说明的风格是在写程序时确定的。
E)对所有的输入数据都要进行检验,以便确定其合法性。
8.()内聚标志一个模块内各个元素彼此结合的紧密程度。
A)内聚是信息隐蔽和局部化概念的自然扩展。
理想内聚的模块只做臆见事情。
B)一个模块所包含的任务必须在同一段时间内执行,该模块的内聚为时间内聚。
C)一个模块内的处理元素是相关的,必须以特定次序执行,称为过程内聚。
D)顺序内聚和功能内聚是高内聚,而偶然内聚和逻辑内聚是低内聚。
E)时间内聚、通信内聚,过程内聚是中等程度的内聚。
9.()McCabe方法对程序复杂程度的定量度量的结果称为程序的环行复杂度,其计算公式是:V(G)=m-n+p。
A)应用McCabe方法的前提是对应的程序图变换成强连通图。
B)V(G)代表程序图G的线性无关环的个数。
C)一般对于结构化程序,p恒等于1。
D)m是有向图G中的弧数。
E)n是有向图G中的节点数。
10.()详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统。
A)详细设计阶段不具体的编写程序。
B)详细设计阶段的设计结果基本决定了最终的程序代码质量。
C)详细设计的目标不仅要逻辑上正确的实现每个模块的功能,而且对每个模块的处理过程也应确保简明易懂,清晰具体。
D)详细设计的关键技术是结构程序设计技术。
四、基本概念题(每题2分,共10分)1.软件工程。
2.软件测试。
3.数据流图及其组成和作用。
4.结构化分析方法。
5.信息隐蔽原理。
五、叙述分析题:(每题5分,共20分)1.试述对用户要求没有完整的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因。
2.简述软件可靠性和可用性的定义,平均无故障时间的计算公式及应用。
3.简述软件重用的定义、范围和主要技术。
4.说明软件测试在软件开发阶段的地位和作用。
比较测试和调试的异同点。
六、设计、作图、计算题(每题5分,共30分)1.以下是某系统的数据流程图,请将其转换成相应的SC图。
2.研究下面的伪码程序,完成以下问题:INPUT X,NDIMENSION A(N),F(N)DO I=1 TO NINPUT F(I)END DOK=0DO WHILE (K<N)A(K)=0DO J=1 TO N-KA(K)=A(K)+F(J)*F(J+K)/(N-K+1)END DOPRINT K*X,A(K)K=K+1END DOSTOP3.为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统。
如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
1)画出该系统的高层数据流程图和第二层细化流程图。
2)对数据流定义数据字典。
4.某航空公司规定,乘客可以免费托运不超过20公斤的行李。
当行李重量超过20公斤时,对头等舱的乘客超重部分每公斤收费4元,其它舱的乘客收费6元。
对残疾乘客超重部分在舱位等次相同的情况下收费减半。
用判定表描述行李托运费的处理过程。
5.设计程序,先读入三个整数值代表一个三角形的三条边,然后根据这三个值判断该三角形属于不等边、等腰或等边三角形中的哪一种。
请设计满足判定/条件覆盖标准的测试方案。
6.设模块RootForSquare(int a,int b,int c,int *x,int *y) 的功能是一元二次方程求根。
请使用等价划分法来设计测试方案。
--------------------试题完--------------------------。