您的当前位置:首页软件工程《软件工程》习题集

软件工程《软件工程》习题集

2020-09-29 来源:爱问旅游网
软件工程习题集

第一章概述

一、选择题

1.“软件危机”产生的主要原因是( )。

A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件

2.软件工程中描述生存周期的瀑布模型一般包括计划、( )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( )和( )两步。

①需求分析 ②需求调查 ③可行性分析 ④问题定义 ⑤方案设计 ⑥代码设计 ⑦概要设计 ⑧数据设计 ⑨运行设计 ⑩ 详细设计 3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( )。 A.程序、数据

B.程序、文档 C.程序

D. 程序、数据、文档 D.硬件的发展

4.在软件工程时期,决定软件质量的主要因素是( ) A.管理水平 B.个人程序技术 C.小组技术水平 5.下列哪个模型没有采用迭代的思想( ) A.瀑布模型 B.渐增模型 C.螺旋模型 6.下列关于瀑布模型的描述正确的是( )

A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性

D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 7.瀑布模型的关键不足在于( )

(A)过于简单 (B)不能适应需求的动态变更 (C)过于灵活 (D)各个阶段需要进行评审

8.瀑布模型把软件生存周期划分为软件定义、软件开发与( )三个阶段,而每一阶段又可分为若干更小的阶段。 A. 详细设计

B. 可行性分析 C. 运行及维护

D. 测试与排错

D.RUP模型

二、判断题

1.软件工程是指导计算机软件开发和维护的工程学科。( ) 2.在软件工程时期,决定软件质量的主要因素是管理水平. ( ) 3.软件生存期是从软件项目需求定义直至软件开始使用为止。( ) 4.常用的软件生存周期模型有瀑布模型和结构化模型。( ) 5.瀑布模型是一种线形的、顺序的软件开发模型( ) 6.瀑布模型的关键不足在于不能适应需求的动态变更.( ) 7.快速原型模型是为了克服瀑布模型的缺点而提出来的。( ) 8.快速原型模型可以有效地适应用户需求的动态变化。( )

9.风险分析是螺旋模型的优点,因此螺旋模型适合任何大系统的开发。( )

三、简答题

1、什么软件工程?什么是软件过程? 2、软件工程学的主要内容是什么?

3、什么是软件生命周期?软件生命周期为什么要划分阶段?划分阶段的原则是什么?

第二章可行性研究与软件开发计划

一、选择题

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)待开发的软件是否会有质量问题

二、判断题

1.可行性研究的目标是规划项目。( )

2.需求规格说明书是软件可行性研究的依据。( )

3.软件需求规格说明书的内容应当包括对算法的详细过程性描述。( )

4.分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于描绘了系统的实现细节.( )

5.对于软件项目,投资回收期越长,越快获得利润。( ) 6.项目效益分析中投资回收率越低越好。( ) 7.甘特图表是一种比较常用的进度图表。( ) 8.数据流图应采用由外向里画的原则逐步细化。( )

三、简答题

1、什么是可行性研究?可行性研究报告的内容是什么?可行性研究的结论有哪几种?

第三章 需求分析

一、选择题

1.软件需求分析的任务不应包括( )。进行需求分析可使用多种工具,但( )是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是( )。需求规格说明书的内容不应当包括( )。该文档在软件开发中具有重要的作用,但其作用不应当包括( )。 A.① 问题分析 ② 信息域分析 ③ 结构化程序设计 ④ 确定逻辑模型 B.① 数据流图 ② 判定表 ③ PAD图 ④ 数据词典

C.① 要让软件做什么 ② 要给该软件提供哪些信息 ③ 要求软件工作效率如何 ④ 要让软件具有什么样的结构 D.① 对重要功能的描述 ② 对算法的详细过程性描述 ③ 软件确认准则 ④ 软件的性能

E.① 软件设计的依据 ② 用户和开发人员对软件要“做什么”的共同理解 ③ 软件验收的依据 ④ 软件可行性分析的依据

2.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。

① 数据流图 ② 数据词典 ③ 结构化英语 ④ 判定表与判定树 3.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。 A.数据流图 B.数据词典 C.结构化英语 D.判定表与判定树 4.在SD方法中全面指导模块划分的最重要的原则是( )

A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性

5.需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出( )。 (A) 模块说明书

(B) 软件规格说明书 (C) 项目开发计划

(D) 合同文档

6.分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 ( ) 。 A. 描绘了系统的实现细节

B. 表明了被开发系统的范围以及它和周围环境的数据交换关系 C. 描绘了系统的抽象

D. 描绘了软件实现的作者和绘制的时间

二、判断题

1.数据流图可分为两种基本形式:事务型数据流图和变换型数据流图。( ) 2.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。( ) 3.HIPO图由H图和IPO图组成,即一个H图对应一个或多个IPO图( )。 4.软件模块之间的耦合性越弱越好。( )

5.模块的内聚度越高,则说明模块的独立性越强。( ) 6.模块独立性有两个定性的度量标准是扇入与扇出。( )

7. 模块化就是将系统划分为若干个模块,每个模块完成一个子功能。因此,模块分得越小越好。( )

8.用例图的主要元素是用例和执行者及其它们之间的联系。( ) 9. 模块独立性有两个定性的度量标准是耦合和内聚。( )

10.模块的作用范围可不限制在其控制范围之内( )

11.事务调度中心并不对输入数据进行加工,而只是根据不同的输入数据作出不同的事务流程选择。( )

12.事务数据流以事务调度中心为核心,在此之前为接收事务,在此之后为事务分流处理。( )

13.变换数据流所体现的是数据从输入到加工再到输出的一般步骤。( ) 14.模块接口简单是软件发生错误的一个主要原因。( ) 15.C/S结构的系统客户端要安装程序,维护起来比较麻烦( ) 16.模块分为传入模块、传出模块、协调模块、变换模块( )

17.公共耦合是一种通过访问公共数据环境而实现通信的模块耦合形式。( )

18..一个较好的软件结构有这样的特征:顶层模块高扇出, 中间层模块低扇出, 底层模块高扇入( )

19.模块独立性是衡量软件中模块质量最重要的指标。( )

20.系统构架中集中式结构是最传统的系统构架,系统建设费用和运行费用都非常便宜( )

三、简答题

1、什么是需求分析?结构化分析的基本任务是什么?结构化分析的步骤有哪些? 2、什么是实体-关系图?它的基本符号有哪些? 3、什么是数据流图?它的基本符号各表示什么含义?

第四章 概要设计

一、选择题

1.Jackson方法是以( )为基本依据的程序算法设计方法。 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.模块结构优化不包括( )。 A. 模块功能完善 B. 模块的隐蔽性

C. 消除模块功能的重复性 D. 避免模块的病态连接

8.软件系统模块化分解中,正确的是( ) (A)满足最小成本模块范围 (B)模块越小越好 (C)模块越大越好

(D)最小模块必须是50~100行代码范围 9.概要设计的结果是提供一份( )。 A. 模块说明书

B. 框图 C. 程序 D. 数据流图

)结构。

10.Jackson方法数据分三种结构:顺序结构、选择结构、( A. 重复 B. 选择 C. 顺序D. 有规则 GOTO

11.Jackson详细设计方法中数据结构不包括( )。 A. 重复结构 B. 顺序结构 C. 选择结构D. 有规则 GOTO

二、判断题

1.结构化程序的基本特征是程序的任何位置是单入口、单出口的。( ) 2.“顺序”、“选择”、“循环”这三种基本的控制结构能实现任何复杂的程序计算问题。( ) 3.结构化程序设计的基本途径是对程序问题自顶向下、逐步求精。( ) 4.聚集关系可以分为共享聚集与复合聚集两种形式。( )

5.复合聚集是一种较强的聚集关系,也称组合关系,其图形符号是实心菱形。( ) 6.共享聚集是一种较弱的聚集关系,其图形符号是空心菱形。( )

三、简答题

1、什么是概要设计?基本任务是什么? 2、什么是模块?模块有哪些属性? 3、什么是模块化?划分模块的原则是什么?

4、什么是软件结构设计?软件结构设计的准则是什么?

第五章 详细设计

一、选择题

1.下列哪一个不是详细设计时使用的工具。( ) (A)系统流程图 (B)盒图 (C)PAD图 (D)判定树

2.详细设计算法工具有程序流程图、N-S图、( )、PDL等。 (A)系统流程图 (B)盒图 (C)PAD图 (D)功能图 3.PDL是一种过程设计语言,又叫( ) (A)系统流程图 (B)盒图 (C)伪码 (D)功能图

4.在详细设计算法工具中,( )能够清楚地表现程序的层次结构 (A)系统流程图 (B)层次图 (C)PAD图 (D)功能图

5.详细设计算法工具中,( )图是一种历史悠久的图,直观地描述了程序的控制流程。 (A)程序流程图 (B)系统流程图 (C)PAD图 (D)盒图

6.详细设计阶段,一种二维树型结构来描述算法的工具称为 ( ) A. IPO 图 B. PAD 图 C. PDL D. 判定树 7.详细设计的方法不包括( ) A.Jackson方法

B.结构化设计方法 C.面向对象设计法 D.程序流程图

8.一般来说,详细设计的方法包括结构化设计方法、( )和Jackson方法。 A.PAD 图

B.判定树 C.面向对象设计法 D.程序流程图

二、判断题

1.软件开发就是指编写程序。( )

2.软件就是程序代码。( )

3.现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使

用、容易修改和扩充。( )

4.单元测试时需要用到辅助模块,如驱动模块、桩模块。( ) 5.模块的功能完整是指执行规定的功能就行了( ) 6.程序流程图又称为程序框图;N-S图又称盒图。( )

三、简答题

1、数据代码具有哪三项基本功能?代码有哪些特性? 2、代码的种类有哪些? 3、详细设计的主要任务是什么?

第六章 软件实现

一、选择题

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.单元测试中使用的辅助模块分为驱动模块和( ) ( 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)盒法

二、判断题

1.程序的控制结构一般采用顺序、选择、GoTo语句三种构成,这样可确保结构比较简单。( )

2.评价一个测试是否成功,就是看这个测试是否发现了至今为止尚未发现的软件错误。( ) 3.如果通过软件测试没有发现错误,则说明软件是正确的。( ) 4.详细说明是用户关于软件的外界特征的规格表述。( )

5. 黑盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。( ) 6.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。( ) 7.白盒法测试主要检测软件内部模块的功能是否达到要求,而黑盒法测试主要考虑测试用例对程序内部逻辑结构的覆盖程度。( )

8.白盒测试又被称为结构测试。( )

9.一个测试用例尽可能覆盖多个有效等价类。( ) 10.一个测试用例尽可能覆盖多个无效等价类。( ) 11.软件测试过程就是发现软件中错误的过程。( )

12.越是早期错误,其对软件质量的影响越大。因此,软件错误应该尽早发现,尽早克服。( )

三、简答题

1、在进行软件开发时,如何选择程序设计设计语言?

2、什么是程序设计的风格?为了具有良好的程序设计风格,应注意哪些问题?

第七章 软件维护

一、选择题

1.根据是否按照工程化原则实行来划分,软件维护分为( A.改正性维护、适应性维护、完善性维护 B.非结构化维护和结构化维护 C.预防性维护和非预防性维护 D.正确维护和错误维护

2.软件维护的工程流程中,最先应做的是(

)

A. 确定维护的优先次序 B.对错误严重性进行评价 C.确定维护类型 D.对维护进行评审

3. 因计算机硬件和软件环境的变化而做出的修改软件的过程称为( ) A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护

4.( ) 这种维护性活动数量较大,占整个维护活动的 50% 。 A. 校正性维护 B. 适应性维护 C. 预防性维护 D. 完善性维护

二、判断题

1、软件维护分为修改性维护、适应性维护、完善性维护和预防性维护。( ) 2、提高软件的可维护性是软件工程各阶段追求的目标。( )

3、软件维护是在软件产品交付之后对其进行修改,以纠正故障,或改进性能和其他属性,或使产品适应新的环境。( )

4.软件的质量保证工作一般在编码工作结束后才开始。( )

三、简答题

1、如何提高软件的可维护性? 2、如何度量软件的可维护性? 3、软件维护有哪些副作用?

第八章 面向对象方法学与UML

一、选择题

1.在UML的图形中哪个是对单个对象进行建模。( ) (A)状态图 (B)活动图 (C)顺序图 (D)协作图 2.UML是一种建模( )

(A)方法 (B)工具 (C)语言 (D)图形

3.在UML的图形建模中,( )图描述了系统的业务功能和应用接口

(A)用例图 (B)活动图 (C)顺序图 (D)协作图 4. UML动态模型的描述工具是 ( ) 。 A. 对象图 B. 结构图 C. 流程图

D. 状态图

5. UML对象模型的描述工具是 ( ) 。 A. 类图 B. 结构图 C. 流程图

D. 状态图

6.UML功能模型的描述工具是 ( ) 。 A. 用例图 B. 结构图 C. 流程图

D. 状态图

) 。

7.UML分析建型分为三类:功能模型、动态模型、( A. 对象模型 B. 结构图 C. 流程图

D. 状态图

8.对象的抽象是类,类的具体化就是对象,也可以说类的实例是( A.操作

B.方法

C.对象

D.类

二、判断题

1.用例图三要素包括角色、用例、系统( )

2.序列图强调时间和顺序,协作图强调上下文之间实例关系,二者可以相互转换。( ) 3.面向对象分析阶段需要创建类分析图,设计阶段需要创建类设计图。( ) 4.用例之间的关系主要有“扩展”和“使用”。( ) 5.类与类之间的关系主要有:关联、泛化和聚集。( ) 6.关联限定符通常用于一对多或多对多关联关系中,可使多重性由一对多或多对多缩减为一对一或多对一。( ) 7.状态模型图是行为图。( ) 8.序列图和协作图合称交互图( )

9.类图和对象图是交互图( )

10.类之间的泛化关系也就是类的继承关系。( )

11.序列图中两个坐标轴,其中的纵坐标表示时间,横坐标表示不同的对象。由此能够表现

对象间消息传递的时间顺序。( )

12.设计类图中需要考虑实体类、边界类和控制类。( )

13.类图中公有的,用“+”表示,私有的用“-”表示,受保护的用“#”表示。( )

三、简答题

1、什么是对象、属性、服务、关系?举实例说明。 2、什么是状态、事件、行为?举例说明。 3、什么是UML?它有哪些特点?

第九章 面向对象技术与UML应用

一、简答题

1、建立对象模型时需对问题领域中的对象进行抽象。抽象的原则是什么?举实例说明。 2、什么叫面向对象?面向对象方法的特点是什么?为什么要用面向对象方法开发软件?

第十章 软件开发环境

一、简答题

1、软件开发工具有哪些功能?

2、什么是CASE技术?CASE技术如何分类? 3、软件环境的定义是什么? 4、软件环境的分类有哪些?

5、什么是CASE技术?CASE技术如何分类?

第十一章 软件重用

一、简答题

1、简述类构件的3种重用方式。 2、简述构件分类的3种模式。

附录 综合题

1、流程图

1、根据商品进货的协作图,画出商品进货的序列图。如下图所示:

1: 1:用户登录2: 2:通过登陆登陆界面: 用户主界面3: 3:选择进货操作4: 4:增加进货记录5: 5:修改商品库存进货界面进货记录商品库存

2、请作出教育基金会的“捐助资金管理系统”的第一层DFD。 教育基金会的“捐助资金管理系统”

⑴由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记并授予捐助证书,捐款存入银行。

⑵由教育单位提出用款申请,在进行相应的合法性校验和核对相应的捐款储备后做出支出。

⑶每月给基金会的理事会一份财政状况报表,列出本月的收入和支出情况和资金余额。

3、请用数据字典定义准考证号。

某市公务员招考的准考证号共六位数字,编排规则如下。第一位是专业编号:1代表行政专业、2代表法律专业、3代表经济学专业。第二位是地区编号:1表示黄浦区、2表示卢湾区、3表示徐汇区...。第三、第四位是考场编号。第五、第六位是考场内序号,一个考场最多30人。

4、在教学管理中,学校开设若干门课程,一个教师可以教授其中的一门或多门课程,每位学生也需要学习其中的几门课程。因此,教学管理中涉及的对象(实体型)有学生、教师和课程。用E-R图描述它们之间的联系。

5. 根据以下系统画出第一层的数据流图(DFD) 银行储蓄系统的工作过程大致如下:

⑴由储户填写存款单或取款单,然后交由银行工作人员输入系统。 ⑵如果是存款,系统将提示储户键入密码。在此之后,系统会打印一张存款凭据给储户。 ⑶如果是取款,则系统会根据存款帐号核对储户密码。若密码正确,则系统会计算利息

并打印出利息清单给储户。

6.某算法设计程序流程图如下所示。将该图转换为N-S图(即盒图)。

ab

FX2X5X1TfFTcX3X4deghFX6TiX7TFj

7.以下是项目管理模块的一个设计图,请阅读此图,回答问题。

添加项目 《Use》 删除项目 《Use》 《Extend》 项目 管理员 项目 更新项目 《Extend》 添加任务 《Extend》 删除任务 《Extend》 更新任务 《Extend》 从资源中 清除技能

(1)这是一个什么图?

(2)请描述此图所表达的业务功能。

8. 将下列伪代码表示的详细设计规格说明书转换成N-S图。 START

IF X1 THEN IF X2 THEN

查找项目 添加活动 《Extend》 删除活动 《Extend》 更新活动 《Extend》 把技能指 定给资源 DO A B WHILE X3 ELSE C END IF ELSE WHILE X4 DO D E END DO END IF STOP

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