一、选择题1.软件是一种()产品。
A.有形 B.逻辑C.物质 D.消耗2.与计算机科学的理论研究不同,软件工程是一门()A.理论性B.工程性C.原理性D.心理性3.软件工程学科出现的主要原因是()A.计算机的发展B.其他工程学科的影响力C.软件危机的出现D.程序设计方法学的影响4.软件生存周期模型有多种,下列选项中,()不是软件生存周期的模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型5.软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
主要的开发模型有瀑布模型、演化模型、螺旋模型和喷泉模型。
螺旋模型将瀑布模型和演化模型相结合,并增加了[A ],它建立在[B ]的基础上,沿着螺线自内向外每旋转一圈,就得到[B ]的一个版本。
喷泉模型描述了[C ]的开发模型,它体现了这种开发方法创建软件的过程所固有的[D ]和[E ]的特征。
供选择的答案:A:(1)系统工程(2)风险分析(3)设计评审(4)进度控制B:(1)模块划分(2)子程序分解(3)设计(4)原型C:(1)面向对象(2)面向数据流(3)面向数据结构(4)面向事件驱动D:(1)归纳(2)推理(3)迭代(4)递归E:(1)开发各阶段之间无“间隙”(2)开发各阶段分界明显(3)部分开发阶段分界明显(4)开发过程不分阶段您的选择是: 【A 】【B 】【C 】【D 】【E 】6.目前存在若干种软件生存周期模型,例如瀑布模型、增量模型、螺旋模型等。
其中规定了由前至后、相互衔接的固定次序的模型是()A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型7.软件生命周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、()维护等活动。
A.应用B.测试C.检测D.以上都是8.准确地解决“软件系统必须做什么”是()阶段的任务。
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.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图法方法中,()是常采用的。
①自顶向下②自底向上③分层绘制④逐步求精A.全是B.①③④C.②③④D.①④15.在软件开发过程中常用图作为描述工具。
DFD就是面向(A)分析方法的描述工具。
在一套分层DFD中,如果某一张图中有N个加工,则这张图允许有(B)张子图。
在一张DFD图中,相邻两个加工之间(C)。
在画分层的DFD时,应保持(D)之间的平衡。
DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为(E)两大类。
A.①数据结构②数据流③对象④构件B.①0 ②1 ③1-N ④0-NC.①有且仅有一条数据流②至少有一条数据流③可以有0和多条名字互不相同的数据流④可以有0和多条数据流,但允许其中有若干条名字相同的数据流D.①父图和子图②同一父图的所有子图③不同父图的所有子图④同一子图的所有直接父图E.①控制流和变换流②变换流和事务流③事务流和事件流④事件流和控制流16.进行需求分析可使用多种工具,但()是不适用的。
A.数据流图B.判定表C.PAD图D.数据字典17.在数据流图中,有名字及方向的成分是()。
A.控制流B.信息流C.数据流D.信号流18.需求分析最终结果是产生()。
A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书19.软件设计包括四个既独立又相互联系的活动,分别为( 1 ) 、(2) 、数据设计和过程设计。
(1)A.用户手册设计B.语言设计C.体系结构设计D.文档设计(2)A.文档设计B.程序设计C.实用性设计D.接口设计20.为了提高模块的独立性,模块内部最好是()。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚21.好的软件结构应是()A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚22.程序控制一般分为()、分支、循环三种基本结构。
A.分块B.顺序C.重复D.选择23.软件设计中划分通常遵循的原则是要使模块间的耦合性尽可能地()A.强B.弱C.较强D.适中24.在多层次的结构图中,其模块的层次数称为结构图的()。
A.深度B.跨度C.控制域D.粒度25.()是指把一些关系密切的软件元素物理地放得彼此靠近。
A.隐藏B.内聚C.局部化D.模块独立26.()工具在软件详细设计过程中不采用。
A.判定表B.IPO图C.PDLD.DFD27.指出PDL是下列()语言。
A.高级程序设计语言B.伪码C.中级程序设计语言D.低级程序设计语言28.工程上常用的表达工具有()。
A.图形工具B.表格工具C.语言工具D.以上全是29.结构化程序设计主要强调的是()。
A.程序的效率B.程序执行速度C.程序易读性D.程序的规模30.最早用于科学计算的程序设计语言是( )A、PROLOG语言B、SMALLTALK语言C、FORTRAN语言D、COBOL语言31.软件测试的目的是()A.证明软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误32.一般来说与设计测试数据无关的文档是()。
A.需求规格说明书B.设计说明书C.源程序D.项目开发计划33.下面的逻辑测试覆盖中,测试覆盖能力最弱的是()。
B.A.条件覆盖B.条件组合覆盖C.语句覆盖D.条件/判定覆盖34.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现在输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001。
请问设计这种测试用例的方法是A.条件覆盖法B.等价类划分法C.边界值分析法D.错误推断法35.在软件测试中,逻辑覆盖标准主要用于()。
A.黑盒测试法B.白盒测试法C.灰盒测试法D.错误推断法36.在黑盒测试中,着重检查输入条件的组合是()A.等价类划分法B.边界值分析法C.错误推断法D.因果图法37.确认测试主要用于发现( )阶段的错误。
A.需求分析B. 概要设计C. 详细设计D. 编码38.在软件生存周期中,花费代价所占比例最大的阶段是()。
A.需求分析B.设计C.测试D.维护39.软件生命周期中最长的阶段是()A.详细设计B.概要设计C.需求分析D.维护阶段40.软件生命周期中所花费用最多的阶段是A. 详细设计B. 软件编码C. 软件测试D. 软件维护41.因计算机硬件和软件环境的变化而作出的修改软件的过程称为A.改正性维护B. 预防性维护C.完善性维护D.适应性维护42.面向对象的主要特征除封装、继承外,还包括()A.多态性B.完整性C.兼容性D.可移植性43.在确定类的属性时,所有()是候选属性。
A.动词B.名词C.修饰性名词词组D.词组44.汽车有一个发动机,汽车与发动机之间的关系是()关系。
A.一般与具体B.整体与部分C.分类关系D.is a45.OO方法中,每个对象可用它自己的一组属性和它可以执行的一组()来表现。
A.行为B.功能C.操作D.数据46.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是()。
A.组装B.整体与部分C.has a D.一般与具体47.CMM软件能力成熟度明确定义了初始级等()个级别。
A. 4B. 5C. 2D. 6二、判断题48.软件工程一词诞生于1969年的NA TO会议。
()49.软件工程一词诞生于1968年的ICSE会议。
50.软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
()51.软件生命周期由软件定义、开发和运行维护三个时期组成。
52.瀑布模型是由文档驱动的模型。
53.瀑布模型是添加了风险分析的快速原型模型。
()54.螺旋模型是风险驱动的模型。
55.软件就是程序。
56.喷泉模型是面向对象的过程模型。
()57.可行性分析要进行一次压缩、简化了的需求分析工作。
()58.可行性分析就是回答“是否值得做”的问题。
()59.系统流程图是描绘逻辑系统的传统工具。
()60.61.软件错误可能出现在开发过程的早期,越早修改越好。
62.需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性研究的依据。
63.需求分析的最终结果是产生软件总体设计说明书。
()64.业务需求、用户需求与系统需求是同一回事。
()65.状态转换图是表示系统行为的重要模型之一。
()66.状态转换图中状态是任何可以被观察的系统行为模式。
67.数据流图的符号由基本符号和附加符号两种组成。
68.数据字典是对系统流程图的重要补充和说明。
69.70.一个设计得好的典型系统的平均扇出通常是5或7。
71.面向数据流的设计方法根据数据流的不同所采取的映射策略也不同。
72.设计模块时,模块的控制域应在模块的作用域内。
()73.面向数据流的设计方法将DFD映射成为软件结构。
()74.程序的质量主要取决于软件设计的质量。
()75.76.功能性注释一般出现在模块的首部。
()77.序言性注释一般用于解释程序中某条语言或某段程序设计的算法或数据结构。
78.用户界面设计是一个迭代的过程。
()79.良好的编程网络是提高程序可读性的保证。
80.PAD图是由IBM公司发明的一种用于过程设计的工具。
()81.PAD图是在软件详细设计过程中采用的工具。
82.判定树和判定表不能表示复杂的条件组合与应做的动作之间的对应关系。
()83.判定树与判定表相比,大多数时候判定表更为简洁,而判定树则更为直观。
()84.程序的环形复杂度常常借助数据流图来帮助度量。
()85.环形复杂度高的程序往往是最困难、最容易出问题的程序。
()86.环形复杂度为10是模块规模大小的一个更为科学的上限。
()87.常见的帮助设施主要有集成式和附加式两种。
88.编码时应尽量使用全局变量。
()89.90.软件测试的目的是为了排除错误。