您的当前位置:首页正文

软件工程练习 精品

2022-04-19 来源:好走旅游网


一、单选题:

1、下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性

B. 软件在使用过程中没有磨损、老化的问题

C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确

2、需求分析阶段最重要的技术文档是( B )。 A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册

3、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 4、 需求分析阶段的研究对象是( B )。 A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 5、 耦合度最高的是( B )耦合。 A. 环境 B. 内容 C. 控制 D. 数据 6、 内聚程度较低的是( A )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间

7、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。 A. 详细设计阶段 B. 概要设计阶段 C. 需求分析阶段 D. 测试和运行阶段 8、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )

A. 硬件环境 B. 软件开发的环境 C. 软件开发工具和软件开发的环境 D. 开发人员的素质 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B ) A. 控制流 B. 数据流 C. 程序流 D. 指令流 10、软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。

A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段

11、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D ) A. 公共耦合 B. 控制耦合 C. 标记耦合 D. 数据耦合 12、软件维护的四类维护活动是( A )

A. 改正性维护,适应性维护,完善性维护和预防性维护。 B. 适应性维护,完善性维护,抢救性维护和辅助性维护。 C. 改正性维护,适应性维护,完善性维护和辅助性维护。 D. 适应性维护,完善性维护,抢救性维护和预防性维护。 13、主要从( A )几个方面进行系统可行性研究。

A.技术可行性,经济可行性,操作可行性。 B. 技术可行性,经济可行性,系统可行性。 C.经济可行性,系统可行性,操作可行性。 D. 经济可行性,系统可行性,时间可行性。 14、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、( C )组成。 A. 静态模型和功能模型 B. 动态模型和过程模型

C. 动态模型和功能模型 D. 静态模型和操作模型

15、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D )

A. 程序结构图 B. 数据流图 C. E-R图 D. 甘特(Gantt)图 16、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发 的决策依据,因必须给出( B )的回答。

A.确定 B.行或不行 C.正确 D.无二义 17、在E-R 模型中,包含以下基本成分( C )。 A. 数据、对象、实体 B. 控制、联系、对象 C.实体、联系、属性 D. 实体、属性、操作 18、 各种软件维护的类型中最重要的是( A )。 A.完善性维护 B.纠错性维护 C.适应性维护 D. 预防性维护 19、模块的内聚性最高的是( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 20、提高测试的有效性非常重要,成功的测试是指( D ) A. 证明了被测试程序正确无误 B. 说明了被测试程序符合相应的要求 C.未发现被测程序的错误 D.发现了至今为止尚未发现的错误 21、下面几种白箱测试技术,哪种是最强的覆盖准则( D ) A.语句覆盖 B.条件覆盖 C.判定覆盖 D.条件组合覆盖 22、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( C ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 23、在下列测试技术中,( D )不属于黑盒测试技术。

A.等价划分 B.边界值分析 C.错误推测 D.逻辑覆盖

24、Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现( A)。 A.从数据结构导出程序结构 B.从数据流图导出初始结构图 C. 从模块结构导出数据结构 D.从模块结构导出程序结构 25、软件测试时为了(B)而执行程序的过程。

A.纠正错误 B.发现错误 C.避免错误 D.证明错误 26、模块内聚度越高,说明模块内各成分彼此结合的程序越( B)。 A.松散 B.紧密 C.无法判断 D.相等

27、提高软件的可维护性可采用很多措施,下列哪个不在措施之列?(A) A.提供没有错误的程序 B.建立质量保证制度 C.改进程序文档质量 D.明确软件质量标准 28、面向对象的分析阶段建立的系统模型不包括(D)。

A.对象模型 B.动态模型 C.功能模型 D.数据模型 29、总体设计的目的是确定整个系统的( B )。 A.规模 B.功能及模块结构 C.费用 D 测试方案

30、Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。

A.对象 B.数据流 C.数据结构 D.控制结构 31、( A )是用户和设计者交换信息最频繁的方法。

A. 原型化方法 B.瀑布模型方法 C. 螺旋模型方法 D.构件组装模型 32、软件测试的目的是?( D )

A. 证明软件的正确性 B.找出软件系统中存在的所有错误

C. 证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 33、使用白盒测试方法时,确定测试数据应根据(A )和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂程度 C.该软件的编辑人员 D.程序的功能 34、软件维护工作的最主要部分是( C )。

A. 校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 35、PDL是( B )语言。

A.高级程序设计语言 B.伪码式 C.中级程序设计语言 D.低级程序设计语言

36、计算机系统可以划分为软件系统和硬件系统,软件是一种(A) A.逻辑产品 B.文档资料 C.程序代码 D.物理装置 37、可行性分析研究的主要目的是( B ) A.定义项目 B. 项目是否值得开发 C.开发项目 D.规划项目 38、需求分析是回答系统必须( D )的问题。 A. 为谁做 B.怎么做 C.何时做 D.做什么 39、在UML中,类是用 ( A )表示的 A 矩形框 B 椭圆 C 箭头 D 菱形框 40、编码阶段是位于哪个阶段之后(A) A. 详细设计 B. 可行性研究 C. 总体设计 D. 需求分析 41、( A )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A封装 B 继承 C 多态性 D 消息 42、下面不属于软件工程的3个要素是( D )

A.工具 B.过程 C.方法 D.环境 43、数据流图和(C)共同组成系统的逻辑模型。

A.HIPO图 B.PDL C.数据字典 D.层次图 44、检查软件产品是否符合需求定义的过程称为( A ) A.确认测试 B.集成测试 C.验证测试 D.验收测试 45、结构化分析方法就是面向( B )的自顶向下逐步求精进行需求分析的方法。 A.目标 B.数据流 C.功能 D.对象 46、通过( B )可以完成数据流图的细化。

A.结构分解 B.功能分解 C.数据分解 D.系统分解 47、下面不属于软件工程原则的是( C )

A.抽象 B.模块化 C.自底向上 D.信息隐蔽

48、( D )是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。

A.模块化 B.抽象 C.精化 D.模块 49、( C )是指让一些关系密切的软件元素在物理上彼此靠近。

A.信息隐蔽 B.内聚 C.局部化 D.模块独立 50、在进行软件结构设计时应该遵循的最主要的原理是( C ) A.抽象 B.模块化 C.模块独立 D.信息隐蔽 51、在测试中,下列说法错误的是( B )

A.测试是为了发现程序中的错误而执行程序的过程

B.测试是为了表明程序的正确性

C.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案 D.成功的测试是发现了至今为止尚未发现的错误的测试 52、下列工具中为需求分析常用工具是( D ) A.PAD B.PFD C.N-S D.DFD 53、软件调试的目的是( B ) A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能 54、数据字典是对数据定义信息的集合,它所定义的对象都包含在( A )。 A.数据流图 B.程序框图 C.软件结构 D.方框图 55、软件设计中,可应用于详细设计的工具有( A )。 A.程序流程图、PAD、方框图和伪码 B.数据流程图、PAD、结构图和伪码 C.业务流程图、N-S图和伪码 D.数据流程图、PAD、N-S图和伪码 56、软件设计中设计复审是和设计本身一样重要的环节,其主要目的和作用是( B )。 A.减少测试工作量 B.减免后期付出高代价 C.保证软件质量 D.缩短软件开发周期

57、瀑布模型将软件生命周期归纳为个时期,即计划期、开发期和运行期。下列( D )不属于开发期内的工作。 A.总体设计 B.详细设计 C.程序设计 D.维护

58、耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应属于( B )方式。

A.内容耦合 B.公共耦合 C.外部耦合 D.控制耦合

59、内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于( C )方式。

A.逻辑内聚 B.时间内聚 C.过程内聚 D.顺序内聚 60、软件管理中,需要对软件进行配置,各阶段文档的管理属于( D )。 A.组织管理 B.资源管理 C.计划管理 D.版本管理 61、结构化软件开发期将软件开发划分为3个阶段,其中关键的是( B )。 A.编码的正确性 B.需求的准确性 C.测试的严格性 D.设计的科学性 62、瀑布模型把软件生存周期划分为软件定义、软件开发和( C )三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计 B.可行性分析 C.运行及维护 D.测试与排错 63、划分软件生存周期的阶段时所应遵循的基本原则是( B )。 A.各阶段的任务尽可能相关性 B.各阶段的任务尽可能相对独立 C.各阶段的任务在时间上连续 D.各阶段的任务在时间上相对独立 64、一个软件项目是否进行开发的结论是在( B )文档中作出的。 A. 软件开发计划 B.可行性报告 C.需求分析说明书 D.测试报告 65、下列叙述中,( A )不属于数据字典的作用。

A.作为编码阶段的描述工具 B.为用户与开发人员之间统一认识 C.作为概要设计的依据 D.为需求分析阶段定义各类条目 66、使用结构化分析方法时,采用的基本手段是( A )。 A.分解和抽象 B.分解和综合 C.归纳与推导 D.试探与回溯 67、变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于( A )。

A.变换型 B.事务型

68、需求分析说明书不能作为( A )。 A. 可行性研究的依据 B.用户和开发人员之间的合同 C. 系统概要设计的依据 D.软件验收测试的依据

69、软件的( A )设计又称为总体设计,其主要任务是建立软件系统的总体结构。 A.概要 B.抽象 C.逻辑 D.规划 70、结构化设计采用模块化方法的主要出发点是( D )。

A. 增加内聚性 B.减少耦合度 C.提高有效性 D.降低复杂度 71、一个模块直接控制(调用)的下层模块的数目称为模块的( B )。 A.扇入数 B.扇出数 C.宽度 D.作用域 72、某个模块的作用域是指 ( D )。 A.被该模块调用的所用模块 B.调用该模块的所有模块 C.与该模块相关联的所有模块 D.受该模块内的判定影响的所有模块 73、采用( D )且编写程序,可提高程序的可移植性。 A.机器语言 B.宏指令 C.汇编语言 D.高级语言

74、对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 75、软件调试技术包括( B )

A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 76、需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 77、数据存储和数据流都是( D ),仅仅是所处的状态不同。 A.分析结果 B.事件 C.动作 D.数据

二、判断题

1、软件的开发与运行经常受到硬件的限制和制约。( √) 2、模块内的高内聚往往意味着模块间的松耦合。( √ ) 3、Jackson图只能表达程序结构,不能表达数据结构。( × )

5、软件的质量好坏主要由验收人员负责,其他开发人员不必关心。( × ) 6、判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。( √ )

7、应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。( × ) 8、UML只能应用于软件系统模型的建立。( × )

9、容错就是每个程序采用两种不同的算法编写。( × )

10、软件测试的目的是为了无一遗漏的找出所有的错误。( × )

11、软件工程学只有理论意义,没有实际用途。 ( × ) 12、软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。( × ) 13、可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。 ( √ ) 14、代码审查方法没有计算机测试方法好。 ( × ) 15、验证软件需求的方法主要靠人工审查的方法。 ( √ ) 16、并发系统中遇到的一个主要问题是定时问题。 ( √ ) 17、编码风格由个人喜好决定,没有固定格式。 ( × )

18、软件重用是提高软件开发生产率和目标系统质量的重要途径。 ( √ )

19、判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 ( √ )

19、软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。(× )

20、在进行需求分析时需同时考虑维护问题。 ( × ) 21、UML是一种面向对象的分析设计方法,即OOA/OOD方法。 ( × ) 22、在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。( √ )

23、对于软件项目,投资回收期越长,越快获得利润。( × )

24、一个实时系统必须在严格的时间范围内响应。如果响应时间被过分延迟,将带来灾难性的后果。(√ )

25、模块接口简单是软件发生错误的一个主要原因。( × ) 26、软件的质量保证工作一般在编码工作结束后才开始。( × )

27、现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。( √ )

28、为了加快软件维护作业的进度,应尽可能增加维护人员的数目。( × ) 29、软件维护就是改正软件中的错误。( × )

30、质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。( √ )

31、软件开发的主要任务是写程序。 ( × ) 32、测试只能证明程序有错误,不能证明程序没有错误。( √ )

33、模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。( × )

34、在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。( × ) 35、程序设计风格指导原则提出,尽量多使用临时变量。( × )

因篇幅问题不能全部显示,请点此查看更多更全内容