软件工程导论考试-试卷7


题汇编 
1.软件生存周期模型有多种,下列选项中,不是软件生存周期模型。 

A. 螺旋模型 B. 增量模型 C. 功能模型 D. 瀑布模型 


(C)

2.软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、、维护等活动。 

A. 应用 B. 测试 C. 检测 D. 以上答案都不对 


(B)

3.准确地解决“软件必须做什么”是    阶段的任务。 

A. 可行性研究 B. 详细设计 C. 需求分析 D. 编码 


(C)

4.瀑布模型中

软件生命周期划分为8个阶段:问题定义、可行性研究、软件需求分析、总体设计、详细设计、编码、测试和运行、维护。


8个阶段又可以归纳为3个大的阶段:计划阶段、开发阶段和      。 

A. 运行阶段 B. 可行性分析 C. 详细设计 D. 测试与排错 


(A)

5.从结构化的瀑布模型看,在软件生命周期的8个阶段中,下面的几个选项中,   出错,对软件的影响最大。 

A. 详细设计阶段 B. 总体设计阶段 C. 需求分析阶段 D. 测试和运行阶段 


(C)

6.目前存在有若干种软件生存周期模型。例如瀑布模型、增量模型、螺旋模型、喷泉模型等。其中规定了由前至后、相互衔接的固定次序的模型是

A. 瀑布模型 B. 增量模型 C. 喷泉模型 D. 螺旋模型 


(A)。 

7.瀑布模型是一种                                            

A. 软件开发方法 B. 软件生存周期 C. 程序设计方法学 D. 软件生存周期模型 


(D)。  

8.快速原型模型的主要特点之一是
A. 开发完毕才见到产品 B. 及早提供工作软件 

C. 及早提供全部完整软件 D. 开发完毕才见到工作软件 


(B)。 

9.研究开发资源的有效性是进行    可行性研究的一方面。 

A. 技术 B. 经济 C. 社会 D. 操作 


(A)

10.技术可行性是要解决

A. 存在侵权否 B. 成本——效益问题 C. 运行方式可行 D. 技术风险问题 


(D)。 

11.可行性分析中,系统流程图用于描述

A. 当前运行系统 B. 当前逻辑模型 C. 目标系统 D. 新系统 


(A)。 

12.研究软硬件资源的有效性是进行   研究的一方面。 

A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 操作可行性 


(A)

13.可行性研究要进行的需求分析和设计应是 

A. 详细的 B. 全面的 C. 简化、压缩的 D. 彻底的 



(C)。

14.系统流程图是描述   的工具。 

A. 逻辑系统 B. 程序系统 C. 体系结构 D. 物理系统 



(D)

15.数据流图是用于表示软件模型的一种图示方法,

在下列可采用的绘图方法中,       是常采用的。 

A. 自顶向下 B. 分层 C. 逐步求精 D. 全是 



(D)

16.加工是对数据流图中不能再分解的基本加工的精确说明,下述   是加工的最核心。 

A. 加工顺序 B. 加工逻辑 C. 执行频率 D. 激发条件 


(B)

17.需求分析
A. 要回答“软件必须做什么?” 
B. 可概括为:“理解,分解,表达”6个字 
C. 要求编写需求规格说明书 

D. 以上都对 


(D)。 

18.进行需求分析可使用多种工具,但           是不适用的。 

A. 数据流图 B. 判定表 C. PAD图 D. 数据字典 




(C)

 判定表 

1、判定表是一个表格,分为四个部分,其左部是条件或数组元素的名称,右上部是所有条件的组合,左下部是处理中活动的名称,右下部标明条件组合和相应的活动的对应关系。


2、判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。

3、判定表通常有以下四个部分组成:


   1)条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。
   2)动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
   3)条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。
   4)动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

4、


1

2

3

4

条件

觉得疲倦?

Y

Y

N

N

 

感兴趣吗?

N

Y

Y

N

 

动作

重读

         

继续

   

   

跳下一章

     

 

休息

   
5、判定表的建立步骤:
1)确定规则的个数.假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则。
2)列出所有的条件桩和动作桩。
3)填入条件项。
4)填入动作项。得到初始判定表。
5)简化.合并相似规则(相同动作)。

6、判定表的优点:
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合

即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。


PAD图:

PAD来源
PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1974年由日本的二村良彦等人提出的又一种主要用于描述软件详细设计的图形表示工具。与方框图一样,PAD图也只能描述结构化程序允许使用的几种基本结果。发明以来,已经得到一定程度的推广。它用二维树形结构的图表示程序的控制流,以PAD图为基础,遵循机械的走树(Tree Walk)规则就能方便地编写出程序,用这种图转换为程序代码比较容易。


折叠特征:


1)结构清晰,结构化程度高;
2)易于阅读
3)最左端的纵线是程序主干线,对应程序的第一层结构;每增一层PAD图向右扩展一条纵线,帮程序的纵线数等于程序层次数。
4)程序执行:从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线。


19.需求分析阶段研究的对象是软件项目的

A. 用户要求 B. 合理要求 C. 模糊要求 D. 都不对 


(A)。 

20.在数据流图中,不能被计算机处理的成分是

A. 控制流 B. 结点 C. 数据流 D. 数据源/终点 


(D)。 

21.结构化分析方法使用的描述工具    定义了数据流图中每一个图形元素。 

A. 数据流图 B. 数据字典 C. 判定表 D. 判定树 


(B)

22.需求规格说明书的作用不应包括
A. 软件设计的依据 
B. 用户与开发人员对软件要做什么的共同理解 
C. 软件验收的依据 

D. 软件可行性研究的依据 


(D)。 

23. 软件需求规格说明书的内容不应包括对    的描述。 

A. 主要功能 B. 算法的详细过程 C. 用户界面及运行环境 D. 软件的性能 



(B)

24. 需求分析过程中,  对算法的简单描述记录在中。 

A. 层次图 B. 数据字典 C. 数据流图 D. IPO图 


(D)

IPO图

1、IPO图的主体是算法说明部分,该部分可采用结构化语言、判定表、判定树,也可用N-S图、问题分析图和过程设计语言等工具进行描述,要准确而简明的描述模块执行的细节。


2、在IPO图中,输入、输出数据来源于数据词典。局部数据项是指个别模块内部使用的数据,与系统的其它部分无关,仅由本模块定义、存贮和使用。注释是对本模块有关问题作必要的说明。


3、开发人员不仅可以利用IPO图进行模块设计,而且还可以利用它评价总体设计。用户和管理人员可利用IPO图编写、修改和维护程序。因而,IPO图是系统设计阶段的一种重要文档资料。


N-S图

N-S图简介
流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程。在使用过程中,人们发现流程线不一定是必需的,为此,人们设计了一种新的流程图,它把整个程序写在一个大框图内,这个大框图由若干个小的基本框图构成,这种流程图简称N-S图


25.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的

A. 细节 B. 输入与输出 C. 软件的作者 D. 绘制的时间 



(B)。 

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。



26.数据存储和数据流都是,仅仅所处的状态不同。 

A. 分析结果 B. 事件 C. 动作 D. 数据 


(D)

27.数据字典中,一般不包括下列选项  中的条目。 

A. 数据流 B. 数据存储 C. 加工 D. 源点与终点 


(D)

28.在软件需求分析中,开发人员要从用户那里解决的最重要的问题是
A. 要让软件做什么 B. 要给该软件提供哪些信息 

C. 要求软件工作效率怎样 D. 要让软件具有何种结构 


(A)。 

29. 需求分析的最终结果是产生。 

A. 项目开发计划 B. 可行性分析报告 C. 需求规格说明 D. 设计说明书 


(C)

30.需求分析阶段不适于描述加工逻辑的工具是 

A. 结构化语言 B. 判定表 C. 判定树 D. 流程图 


(D)。

31.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的

A. 抽象和信息隐蔽 B. 局部化和封装化 C. 内聚性和耦合性 D. 激活机制和控制方法 


(C)。 

32.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是

A. 模块间的联系程度 B. 模块的功能强度 C. 信息隐蔽程度 D. 接口的复杂程度 


(B)。 

33.在面向数据流的软件设计方法中,一般将信息流分为

A. 变换流和事务流 B. 变换流和控制流 C. 事务流和控制流 D. 数据流和控制流 


(A)。 

34.下列选项中最强的内聚是

A. 过程性内聚 B. 通信性内聚 C. 顺序性内聚 D. 功能性内聚 



(D)。 

35.下列选项中最弱的耦合是 

A. 非直接耦合 B. 数据耦合 C. 特征耦合 D. 控制耦合 



(A)。

36.软件需求分析一般应确定的是用户对软件的 

A. 功能需求 B. 非功能需求 C. 性能需求 D. 功能需求和非功能需求 



(D)。

37.数据字典是对数据定义信息的集合,它所定义的对象都包含于

A. 数据流图 B. 程序框图 C. 软件结构 D. 方框图 



(A)。 

38.软件工程结构化生命周期方法,提出将软件生命周期划分为计划、开发和运行三个时期,下述            工作应属于软件开发期的内容。 

A. 问题定义 B. 可行性研究 C. 总体设计 D. 都不是 



(C)

39.软件结构使用的图形工具,一般采用   图。 

A. DFD B. PAD C. SC D. E-R


1、PAD:

问题分析图

一种主要用于描述软件详细设计的图形表示工具。与方框图一样,PAD图也只能描述结构化程序允许使用的几种基本结果。


2、DFD

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。


3、SC图(Structure Chart,结构图)是软件工程中面向数据流设计方法中的一种描述工具,专门用来描述软件的总体结构。

(C)

40.下列中属于软件设计的基本原理的是 

A. 数据流分析设计 B. 变换流分析设计 C. 事务流分析设计 D. 模块化 



(D)。

41.将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是     的。 

A. 逻辑性 B. 瞬时性 C. 功能性 D. 通信性 



(A)

42.模块内的某成分的输出是另一个成分的输入,该模块的内聚度是         的。 

A. 功能性 B. 顺序性 C. 逻辑性 D. 瞬时性 



(B)

43.软件设计阶段一般可分为 
A. 逻辑设计和功能设计 B. 总体设计与详细设计 

C. 概念设计与物理设计 D. 模型设计与程序设计



 (B)。

44.模块中所有成分引用共同的数据,该模块的内聚度是     的。 

A.逻辑性B.瞬时性C.功能性        D.通信性 



(D)

45.好的软件结构应该是

A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚 


(B)。 

46.结构分析法就是面向             自顶向下逐步求精进行需求分析的方法。 

A.目标B.数据流(数据)C.功能D.对象 



(B)

47.模块中所有的成分结合起来完成一项任务,该模块的内聚度是         的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。 

A.偶然性B.顺序性C.通信性D.功能性 



(D)

48.一个模块把一个数值量作为参数传送给另一个模块。这两个模块之间的耦合是

A.逻辑耦合B.数据耦合C.控制耦合D.内容耦合 



(B)。 

49.在层次结构图中,其模块的层次数称为结构图的

A.深度B.跨度C.控制域D.粒度 



(A)。 

50.    着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。 

A.程序流程图B.数据流图C.E-R图D.层次结构图 




(D)

51.             数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。 

A.变换型B.事务型C.结构化D.非结构化 


(A)

52.模块         ,则说明模块的独立性越强。 

A.耦合越强B.扇入数越高C.耦合越弱D.扇入数越低 




(C)

53.当修改和维护模块时减少把一个模块的错误扩散到其他模块中去的机会,为了达到上述目的,应该提高模块的

A.耦合性B.独立性C.内聚性D.共享性 



(B)。 

54.划分模块时,一个模块的
A.作用范围应在其控制范围之内B.控制范围应在其作用范围之内 

C.作用范围与控制范围互不包含D.作用范围与控制范围不受任何限制 



(A)。 

55.软件结构图中,模块框之间若有直线连接,表示它们之间存在着        关系。 

A.调用B.组成C.连接D.顺序执行 



(A)

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

A.模块化B.抽象C.精化D.模块 



57.模块              定义为受该模块内一个判定影响的所有模块集合。 

A.控制域B.作用域C.宽度D.接口 



(B)

58.在软件结构设计完成后,对于下列说法,正确的是 
A.非单一功能模块的扇入数大比较好,说明本模块重用率高 
B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况 
C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层 

D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层 



(C)。

59.偶然内聚是指
A.一个模块内的各处理元素之间没有任何联系 
B.模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能 
C.把需要同时执行的动作组合在一起形成的模块 

D.模块内所有处理元素都在同一个数据结构上操作 



(A)。 

60.变换流的DFD由三部分组成,不属于其中一部分的是

A.事务中心B.变换中心C.输入流D.输出流 



(A)。 

61.标记耦合是指
A.两个模块之间没有直接的关系,它们之间不传递任何信息 
B.两个模块之间有调用关系,传递的是简单的数据值 
C.两个模块之间传递的是数据结构 

D.一个模块调用另一个模块时,传递的是控制变量 



(C)。 

62.通信内聚是指 
A.把需要同时执行的动作组合在一起形成的模块 
B.各处理使用相同的输入数据或者产生相同的输出数据 
C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 

D.模块内所有元素共同完成一个功能,缺一不可 



(B)。

63.内容耦合是指
A.两个模块之间传递的是数据结构 
B.一个模块调用另一个模块时,传递的是控制变量 
C.通过一个公共数据环境相互作用的那些模块间的耦合 

D.一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部 



(D)。 

64.PDL是 

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



(B)。

PDL语言(Program Design Language)

65.软件详细设计主要采用的方法是 

A.结构程序设计B.模型设计C.结构化设计D.流程图设计 


(C)。

66.模块的内部过程描述就是模块内部的    ,它的表达形式就是详细设计语言。 

A.模块化设计B.算法设计C.程序设计D.详细设计 




(B)

67.详细设计的任务是确定每个模块的

A.外部特性B.内部特性C.算法和使用的数据D.功能和输入输出数据 



(C)。 

68.结构化程序设计的一种基本方法是 

A.筛选法B.递归法C.迭代法D.逐步求精法 



(D)。

69.结构化程序设计主要强调的是

A.程序的效率B.程序执行速度C.程序易读性D.程序的规模 



(C)。 

70.程序的三种基本控制结构的共同特点是。 
A.不能嵌套使用B.只能用来写简单程序 

C.已经用硬件实现D.只有一个入口和一个出口 




(D)

71.对象模型的描述工具是 

A.状态图B.数据流图C.对象图D.结构图 




(C)。

72.面向对象的主要特征除对象唯一性、封装、继承外,还有 

A.多态性B.完整性C.可移植性D.兼容性 



(A)。

73.面向对象开发方法概念和表示上的一致性保证了分析和设计的          过渡。 

A.困难B.不容易C.平滑D.顺序 




(C)

74.动态模型的描述工具是

A.对象图B.结构图C.状态图D.设计图 



(C)。 

75.表示对象的相互行为的模型是        模型。 

A.对象B.动态C.功能D.静态 



(B)

76.在确定属性时,所有       是候选的属性。 

A.动词B.名词C.修饰性名词词组和形容词D.词组 




(C)

77.在软件工程学中,把一组具有相同数据结构和相同操作的对象的集合定义为  ,此定义包括一组数据属性和在数据上的一组合法操作。 

A.类B.属性C.对象D.消息 



(A)

78.对象是面向对象开发方法的基本成分,每个对象可用它本身的一组    和它可以执行的一组操作来定义。 

A.服务B.参数C.属性D.调用 



(C)

79.通过执行对象的操作改变对象的属性,但它必须通过         的传递。 

A.接口B.消息C.信息D.操作 



(B)

80.             模型表示了对象的相互行为。 

A.对象B.动态C.功能D.分析 



(B)


81.在确定类时,所有          是候选的类。 

A.名词B.形容词C.动词D.代词 



(A)

82.与事件联系在一起的瞬时操作是

A.处理B.动作C.活动D.加工 



(B)。 

83.应用执行对象的操作可以改变该对象的 

A.属性B.功能C.行为D.数据 




(A)。

84.软件部分的内部实现与外部可访问性分离,这是指软件的

A.继承性B.共享性C.封装性D.抽象性 



(C)。 

85.常用动词或动词词组来表示。 

A.对象B.类C.关联D.属性 



(C)

86.以下说法正确的是 
A.功能模型不包括对象模型中值的约束条件 
B.功能模型说明对象模型中操作的含义 
C.功能模型说明对象模型中约束的含义 

D.功能模型说明对象模型中动作的含义 



(B)。

87.原型化方法是用户和设计者之间执行的一种交互构成,适用于        系统。 

A.需求不确定性高的B.需求确定的C.管理信息D.实时 



(A)

88.CMM表示
A.软件过程成熟度模型B.软件过程工业化控制 

C.国际软件质量认证D.软件统一性标准 




(A)。 

成熟度模型


能力成熟度模型(Capability Maturity Model,英文缩写为CMM)是一种开发模型。Carnegie Mellon大学的研究人员从美国国防部合同承包方那里收集数据并加以研究,提出了CMM。美国国防部资助了这项研究。Carnegie Mellon以该模型为基础,创办了软件工程研究所(SEI)。CMM的目标是改善现有软件开发过程,也可用于其它过程。


它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护过程进行监控和研究。


CMM是一种用于评价软件承包能力以改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。


其假设是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。




89.在E-R模型中,包含以下基本成分

A.数据、对象、实体B.控制、联系、对象C.实体、联系、属性D.实体、属性、对象 




(C)。 

90.要显示描绘软件开发项目各作业的依赖关系,应选择

A.Gantt图B.工程网络C.COCOMO模型D.数据流图 



(B)。 

91.程序流程图中的箭头代表 

A.数据流B.控制流C.调用关系D.组成关系 



(B)。

92.从心理学角度,对DFD的数据处理进行分解,一次分解为多少个子数据处理为宜 

A.3±1 B.7±2 C.15±1 D.18±2



(B)。

1、软件危机产生的主要原因是。

 A.软件日益庞大B.不能与用户良好地沟通 C.开发人员编写程序能力差 D.没有适应的开发模型



(    A   )

2、软件工程学的一个重要目标是

A.提高程序的执行效率B.降低程序对存储空间的要求C.定义各种软件开发过程模型D.提高软件的可维护性



( D    )

3、以下哪个软件生存周期模型是一种风险驱动的模型

A.瀑布模型B.增量模型C.螺旋模型 D.喷泉模型




4、需求分析之前有必要进行工作。

A.程序设计B.可行性分析C.概要设计D.详细设计


 (     A   )

5、结构化分析建立功能模型的工具是

A.DFD   B.判定树/判定表   C.SC   D.结构化语言



( A    )

6、结构化设计是一种面向        的设计方法。

A.数据流 B.数据库  C.数据结构D.程序



(  C   )

7、检查软件产品是否符合需求定义的过程称为

A.确认测试 B.集成测试  C.系统测试D.单元测试



(  A   )

8、在整个软件维护阶段所花费的全部工作中,所占比例最大的是

A.校正性维护 B.适应性维护  C.完善性维护D.预防性维护



 C    )

9、以下不属于序言性注释的有

A.模块设计者 B.修改日期  C.程序的整体说明D.语句功能



(  D  )

10、集成测试是为了发现

A.接口错误 B.编码错误 C.性能、质量不合要求D.功能错误



( A   )

。它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。

11、一个只有顺序结构的程序,其环形复杂度是

A.0   B.1  C.3   D.5



( B   )

12、结构化程序设计,主要强调的是

A.程序的执行效率  B.模块大小  C.程序的可理解性D.模块关系



(  C   )

13、软件调试技术包括

    A.边界值分析   B.演绎法   C.循环覆盖  D.集成测试



(   B   )

14、瀑布模型存在的主要问题是

    A.用户不容易参与开发  B.步骤太多  C.用户与开发者不易沟通  D.不适应可变的需求



(  D     )

15、需求分析中开发人员要从用户那里了解

    A.软件做什么   B.用户使用界面   C.输入的信息   D.软件的规模



(   A    )

16、在详细设计阶段,经常采用的工具有

   A.PDL    B.SA    C.SC    D.DFD



(    A   )。1. PDL语言(Program Design Language)


17、数据字典是对数据定义信息的集合,它所定义的对象都包含于

  A.数据流图    B.程序框图    C.软件结构    D.方框图



(    A   )。

18、面向对象的主要特征除唯一性、继承性、多态性外,还具有

A.封装性  B.移植性     C.完整性    D.兼容性



(   A   A)。

19、下列哪项不是面向对象方法的基本机制

    A.继承    B.消息 C.方法   D.结构


(    D     )。

20、UML语言利用         来对需求分析中的问题进行描述。

    A.类图  B.用例图 C.顺序图    D.状态图



 BD

21、软件开发时一个错误发现的越晚,改正它付出的代价就越

A、越大   B、越小  C、越不可捉摸   D、越接近平均水平



(  A )

1、软件生存期模型不包括

A.瀑布模型B.对象模型C.增量模型D.喷泉模型


(    B     )。

2、软件可行性研究实质上是要进行一次             需求分析、设计过程。

A.简化、压缩的 B.详细的C.彻底的D.深入的




(      A   )

3、需求分析最终结果是产生

A.项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告



(     B    )。

4、在以下模块耦合性类型中,模块之间独立性最差的类型是。

A.无直接耦合 B.标记耦合C.控制耦合D.内容耦合



(    D     )

5、重用率高的模块在软件结构图中的特征是

A.扇出数大 B.扇入数大C.内聚性高D.扇出数小



(  B       )。

6、软件详细设计的主要任务是对               进行详细设计。

A.算法和数据结构B.外部接口C.软件编码D.功能



(     A   )

7、软件是一种

A.程序 B.数据 C.逻辑产品 D.物理产品



(     C    )。

8、第一个体现结构化编程思想的程序设计语言的

A.Fortran  B.C  C.PascalD.Cobol



(   C      )。

9、一个成功的测试可以是

A.表明程序没有错误B.发现所有错误C.提高软件可靠性D.发现尚未发现的错误



(     D    )。

10、黑盒技术设计测试用例的方法之一是

A.因果图B.逻辑覆盖C.循环覆盖D.基本路径测试


(      A    )。

11、在软件维护的内容中,占维护活动工作量比例最高的是。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护



(   C      )

12、当前时期软件维护的费用在总费用中的比例为。

A.35%~40%B.40%~60%C.60%~70%D.70%~80%或更高



(    D      )

13、软件结构图中,模块框之间若有直线连接,表示它们之间存在

A.调用关系B.组成关系C.链接关系D.顺序执行关系



(     A   )。

14、增量模型本质上是一种

A.线性顺序模型B.整体开发模型C.非整体开发模型D.快速原型模型



(    C     )。

15、在大型数据处理系统的功能分析与设计中,数据库的概念设计对应于系统开发的

A.需求分析B.概要设计C.详细设计 D.程序设计



(   A       )。

16、关联是建立                   之间关系的一种手段。

A.类B.对象C.角色D.属性



(      A  )

17、面向对象技术特别强调的是

A.对象的数据结构B.对象的使用方式C.程序结构D.结构化编程



(  A       )。

18、下述             不属于项目管理计划的内容。

A.资源需求B.成本估算C.项目进度D.功能需求




(    D    )

19、在McCall质量度量模型中,不属于面向软件产品修改的特性是

A.可维护性B.可测试性  C.可靠性D.适应性



(    C     )。

20、以下说法不正确的是
A.软件配置管理简称SCI        B.软件配置项是配置管理的基本单位

C.软件配置实际上是一动态的概念D.软件工程过程中某一阶段的变更均要引起软件配置的变更



(    A     )。

软件配置管理(SCM)是指在开发过程中各阶段,管理计算机程序演变的学科,它作为软件工程的关键元素。已经成为软件开发和维护的重要组成部分。SCM提供了结构化的、有序化的、产品化的管理软件工程的方法。它涵盖了软件生命周期的所有领域并影响所有数据和过程。


  配置管理是对产品进行标识、存储和控制,以维护其完整性、可追溯性以及正确性的学科。


1、 B  2、 A   3、B 4、D   5、B   6、A   7、 C 8、C   9、D    10、A   
11、C  12、D   13、A   14、C  15、A  16、A  17、A  18、D  19、C20、A
二、判断题
1、系统流程图是描绘物理系统的工具。( √     )
2、类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。(   ×   )
3、在面向对象方法中,类是客观存在的实体。( √    )
4、判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(  ×    )
5、CMM 是指导软件生命周期的一种面向对象的新技术。( ×     )
6、序列图描述对象是如何交互的并且将重点放在消息序列上。(   √   )
7、结构化程序设计方法是一种面向数据和过程的设计方法,数据和过程封装为相互独立
的两个部分。(  ×   )
8、用面向对象方法开发的软件系统,可维护性好。(   √   )
9、程序的可移植性指把一个软件(或程序)从一个计算机环境到另一个计算机环境的容易程度。(  √  )
10、软件项目管理是软件设计过程的管理。(   ×   )
1、√ 2、× 3、√  4、× 5、× 6、√ 7、× 8、√ 9、√ 10、×
三、简答题


1、渐增式与非渐增式测试策略各有何优、缺点?为什么通常采用渐增式?


1、非渐增式是将所有的模块一次连接起来,简单、易行,节省机时,但测试过程中难于查错,发现错误也很难定位,测试效率低。
2、渐增式是将模块一个一个地连入系统,每连入一个模块,都要对新系统进行测试。这种组装测试方案比较非渐增式,容易查出错误及进行错误定位,有利于查出模块接口部分的错误,因此测试效率高。因此通常采用渐增式。

评分标准:本题满分5分


非渐增式是将所有的模块一次连接起来(0.5分),简单、易行,节省机时(0.5分),但测试过程中难于查错(0.5分),发现错误也很难定位(0.5分),测试效率低(0.5分)。
     渐增式是将模块一个一个地连入系统(0.5分),每连入一个模块,都要对新系统进行测试(0.5分)。这种组装测试方案比较非渐增式,容易查出错误及进行错误定位(0.5分),有利于查出模块接口部分的错误(0.5分),因此测试效率高。因此通常采用渐增式(0.5分)。


2、基于构件的软件开发的优势是什么?
基于构件的软件开发的优势包括:可以显著地改善软件的质量和可靠性;可以极大地提高软件开发的效率;节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。
评分标准:本题满分5分

可以显著地改善软件的质量和可靠性(1分);

可以极大地提高软件开发的效率(2分);

节省软件开发的成本(1分),避免不必要的重复劳动和人力、财力的浪费(1分)。



3、根据模块的作用范围与控制范围的原则,判定a、b两图的正确性,并简单阐述原因。

软件工程导论考试-试卷7_第1张图片

显然,图a不满足作用范围应与控制范围的原则,模块F的作用范围不在控制范围之内。 图b的模块设计合理。
评分标准:本题满分5分
   图a不满足作用范围应与控制范围的原则(2分),模块F的作用范围不在控制范围之内(2分)。 图b的模块设计合理(1分)。


4、为使源程序代码易读易懂,在编写程序时,对标识符的取名和程序注释方面应注意哪些问题?
(1) 标识符应按意取名。
     标识符即符号名,包括:模块名、常量名、标号名、子程序名、数据区名、缓冲区名等。 这些名字应能反映它所代表的实际东西,应有一定实际意义,使其能够见名知意,有助于对 程序功能的理解。
     (2) 程序应加注释,它分为两类:序言性注释和功能性注释。
     序言性注释应置于每个模块的起始部分,主要内容有:①说明每个模块的用途,功能;②说明模块的接口即调用格式、参数描述及从属模块的清单;③数据描述;④开发历史 。
     功能性注释是嵌在源程序体中的,用于说明其后的程序段或语句的功能以及数据的状态;也就是解释下面要“做什么”,或是执行下面的语句会发生什么情况;而不是解释下面“怎么做”,因为怎么做常常是与程序重复的,且对读者理解程序没有什么帮助。
评分标准:本题满分5分
  答出标识符应按意取名(1分)。答出标识符按意取名的好处(1分)。
答出程序应加注释(1分),答出注释分为序言性注释和功能性注释(1分)。答出注释的好处(1分)。


5、简述CMM将软件过程的成熟度分为哪几个级别?以及CMM的主要用途和应用领域。


CMM将软件过程的成熟度分为初始级、可重复级、已定义级、已管理级和个优化级。

CMM的主要用途是:用于评估一个组织履行该学科任务的能力。

它的应用领域具体表现在三个方面:

  (1) 软件组织:用它来不断改进自身的软件过程管理能力;
  (2) 评估机构:用它来评估某软件组织当前软件能力成熟度的级别;
  (3) 客户:用它来评价某承包商 (软件外包商) 的软件能力。
   
  
1、可行性研究包括哪几方面的内容?
2、什么是结构化分析?它的结构化体现在哪里?
3、什么是模块化?模块设计的准则?
1、某校的课酬计算方案如下:(l)基本课酬为每节课10元;(2)如果班级人数超过40人,课酬增加:基本课酬×0.1;(3)如果班级人数超过60人,课酬增加:基本课酬×0.2;(4)如果教师是副教授,课酬增加:基本课酬×0.1;(5)如果教师是教授,课酬增加:基本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬减少:基本课酬×0.1。请用判定表或判定树表达上述计算方案。
  1 234 5 6 789 10 11 12
人数≤40 T T T T 
40<人数≤60 TTT T  
人数>60 TTT T
助教 T TT 
讲师 TTT 
副教授 TTT 
教授 TTT
课酬:9元/节  
课酬:10元/节  
课酬:11元/节  
课酬:12元/节  
课酬:13元/节  
课酬:14元/节
2、画出下列伪码程序的程序流程图和盒图(10分)
START
IF  p  THEN
     WHILE  q  DO
                   f
     END  DO
ELSE
     BLOCK
     g
     n
     END  BLOCK
END  IF
STOP
软件工程导论考试-试卷7_第2张图片

3、用变换映射的方法,从下图中导出相应初始SC图(假设此图经过细化与修改)在下面DFD 图上已标出逻辑输入、逻辑输出和变换中心的分界,请转换成SC图(10分)

软件工程导论考试-试卷7_第3张图片



软件工程导论考试-试卷7_第4张图片




二、简答题
1、什么是软件工程方法学?软件工程方法学包含3个要素是什么?
2、简述原型开发模型、螺旋模型、喷泉模型各自的特点
。 
3、成本/效益分析的目的是什么?
4、某计算机系统投入使用后,5年内每年可节约人民币10000元,按年利率12%计算,假设系统的投资额为30000元,试计算其效益。
5、需求分析过程应该建立3种模型是什么?
            
6、请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。


7、简述总体设计的原理是什么?


8、按耦合由强到弱的程度写出7种耦合类型?
 
9、按内聚性由高到低的程度写出7种耦合类型?模块设计目标是什么?
      


10、模块设计规则?
11、面向数据流的设计方法的目标是什么?面向数据流的设计要解决的任务是什么?
12、在下面DFD 图上已标出逻辑输入、逻辑输出和变换中心的分界,请转换成SC图






  


13、总体设计阶段的基本目的是什么?总体设计阶段主要由哪两个小阶段组成的?
14、将下列流程图转换成N-S图、PAD图
















15、假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。


16、从下列流程图导出程序图 ,并用三种方法计算出环形复杂度V(G)
















17、用Halstead度量还可以用来预测程序中可能存在的错误E。一个程序对75个数据库项共访问1300次,对150个运算符共使用了1200次,预测该程序的错误数是多少?


1、什么是软件工程方法学?软件工程方法学包含3个要素是什么?


答:把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学。

软件工程方法学包含3个要素:方法、工具和过程。方法 — 完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具 — 为运用方法而提供的自动的或半自动的软件工程支撑环境;过程 — 为了获得高质量的软件所需要  完成的一系列任务的框架,它规定了完  成各项任务的工作步骤。



2、简述原型开发模型、螺旋模型、喷泉模型各自的特点


答:原型模型--优点:

(1)原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求。

(2)开发人员通过建立原型系统已经学到了许多东西,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。

原型模型—存在的问题

⑴ 为了使原型尽快的工作,没有考虑软件的总体质量和长期的可维护性。

⑵ 为了演示,可能采用不合适的操作系统、编程语言、效率低的算法,这些不理想的选择成了系统的组成部分。

⑶ 开发过程不便于管理。


螺旋模型


需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。

优点

(1)对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;

⑵减少了过多测试或测试不足;

⑶维护和开发之间并没有本质区别。

特点


1)风险驱动

⑵主要适用于内部开发的大规模软件项目

⑶要有具有丰富风险评估专门知识的开发人员,否则风险更大。



喷泉模型
喷泉模型的优点: 喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
喷泉模型的缺点 

由于喷泉模型在各个开发阶段是重叠的,

因此在开发过程中需要大量的开发人员,因此不利于项目的管理。

此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。



 

3、成本/效益分析的目的是什么?
答:从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。
4、某计算机系统投入使用后,5年内每年可节约人民币10000元,按年利率12%计算,假设系统的投资额为30000元,试计算其效益。
5、需求分析过程应该建立3种模型是什么?
               数据模型 ---- 实体-联系图
               功能模型 ---- 数据流图
               行为模型 ----状态转换图
6、请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。




7、简述总体设计的原理是什么?
答:模块化、 抽  象、 逐步求精、 信息隐藏和局部化、 模块独立。
8、按耦合由强到弱的程度写出7种耦合类型?
 答:内容耦合    公共耦合       外部耦合       控制耦合            标记耦合         数据耦合      非直接耦合
9、按内聚性由高到低的程度写出7种耦合类型?模块设计目标是什么?
      
 力争强内聚、弱耦合


10、模块设计规则?

答:

1.改进软件结构提高模块独立性。

2.模块规模应该适中。
3.深度、宽度、扇出和扇入都应适当。
4.模块的作用域应该在控制域之内。
5. 力争降低模块接口的复杂程度。
6. 设计单入口单出口的模块。

7. 模块功能应该可以预测。


11、面向数据流的设计方法的目标是什么?面向数据流的设计要解决的任务是什么?
答:面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。
面向数据流的设计要解决的任务,就是在需求分析的基础上,将表示系统逻辑模型的DFD图映射(Mapping)成软件系统结构的初始设计描述。
12、在下面DFD 图上已标出逻辑输入、逻辑输出和变换中心的分界,请转换成SC图








  


13、总体设计阶段的基本目的是什么?总体设计阶段主要由哪两个小阶段组成的?
总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。
    总体设计阶段主要由两个小阶段组成。
    首先需要进行系统设计,从数据流图出发设想完成系统功能的若干种合理的物理方案,分析员应该仔细分析比较这些方案,并且和用户共同选定一个最佳方案。
    然后进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。层次图和结构图是描绘软件结构的常用工具。


15、假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。






用判定树表示计算行李费的算法


16、从下列流程图导出程序图 ,并用三种方法计算出环形复杂度V(G)


















17、用Halstead度量还可以用来预测程序中可能存在的错误E。一个程序对75个数据库项共访问1300次,对150个运算符共使用了1200次,预测该程序的错误数是多少?
那么预测该程序的错误数: 
    E = (1200+1300)log2(75+150)/3000  6.5
   即预测该程序中可能包含6~7个错误


















18、将下列用PDL伪代码表示的某种模块的过程性描述改用N-S图或程序流程图图表示。
     execute  process  a
     REPEAT UNTIL condition X8 
      execute  process  b
        IF  condition X1
         THEN BEGIN   
           execute  process    q   
             IF  condition X6
               THEN
                 REPEAT UNTIL condition X7        
                   execute  process  i  
                 ENDREP      
ELSE  BEGIN
                 execute  process  h
                 execute  process  g
END   
ENDIF
ELSE CASE OF Xi
            WHEN condition X2 SELECT
              DO WHILE condition X5
                execute  process  C
              ENDDO
           WHEN condition X3 SELECT  process d
           WHEN condition X4 SELECT  process e
ENDCASE
       ENDIF        
     ENDREP
execute  process  j
    END 
















        


19、某计算机系统投入使用后,5年内每年可节约人民币10000元,按年利率12%计算,假设系统的投资额为30000元,试计算其效益。答:














你可能感兴趣的:(软件工程导论考试-试卷7)