【软件工程】《软件工程》期末复习提纲

《软件工程》期末复习提纲

第一章

第二章

第三章

第四章

第五章

第六章

第七章

第八章

第九章

第十章

第十一章

第十二章

第十三章

第十四章

小题参考

大题参考


《软件工程》期末复习提纲

第一章

1.在下列选项中,( )不是软件的特征。

A.系统性与复制性         B.可靠性与一致性

C.抽象性与智能性         D.有形性与可控性

2.软件危机的主要原因是( )。

A.软件工具落后                 B.软件生产能力不足

C.对软件的认识不够         D.软件本身的特点及开发方法

3.下列说法中正确的是( )。

A.20世纪50年代提出了软件工程的概念

B.20世纪60年代提出了软件工程的概念

C.20 世纪70年代出现了客户机/服务器技术

D.20世纪80年代软件工程学科达到成熟

4.( )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A.软件生命周期   B. 软件测试    C.软件工程   D.软件过程

5.在下列选项中, ( )不属于软件工程学科所要研究的基本内容。

A.软件工程材料         B.软件工程目标

C.软件工程原理         D. 软件工程过程

6.软件工程的三要素是( )。

A.技术、方法和工具         B. 方法、对象和类

C.方法、工具和过程         D.过程、模型和方法

7.用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( ) 工具。

A. CAD           B. CAI           C. CAM           D. CASE

判断

1.软件就是程序,编写软件就是编写程序。

2.软件危机的主要表现是软件需求增加,软件价格上升。

3.软件工程学科出现的主要原因是软件危机的出现。

4.与计算机科学的理论研究不同,软件工程是一门原理性学科。

第二章

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. CMM模型将软件过程的成熟度分为5个等级。在( ) 使用定量分析来不断地改进和管理软件过程。

A.管理级         ​​​​​​​B.优化级         C.定义级         D.可重复级

判断

5.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

6.原型化开发方法包括生成原型和实现原型两个步骤。

7.软件过程改进也是软件工程的范畴。

8.在软件开发中采用原型系统策略的主要困难是成本问题。

第三章

16.需求工程的主要目的是( )。

A.系统开发的具体方案

B.进一步确定用户的需求

C.解决系统是“做什么的问题”

D.解决系统是“如何做的问题"

17.需求分析的主要方法有( )。

A.形式化分析方法                 B.PAD 图描述

C.结构化分析SA方法            D.程序流程图

18.SA法的主要描述手段有( )。

A.系统流程图和模块图                 B.DFD图、数据词典、加工说明

C.软件结构图、加工说明              D.功能结构图、加工说明

19.画分层DFD图的基本原则有( )。

A.数据守恒原则                    B.分解的可靠性原则

C.子、父图平衡的原则          D.数据流封闭的原则

20.在E-R模型中,包含以下基本成分( )。

A.数据、对象、实体         B.控制、关系、对象

C.实体、关系、控制         D.实体、属性、关系.

21.在下面的叙述中哪一个不是软件需求分析的任务? ( )。

A.问题分解                   B.可靠性与安全性要求

C.结构化程序设计         D.确定逻辑模型

22.需求规格说明书的作用不应包括( )。

A.软件设计的依据

B.用户与开发人员对软件要做什么的共同理解

C.软件验收的依据       

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

23.软件需求规格说明书的内容不应该包括( )。

A.对重要功能的描述     B.对算法的详细过程描述

C.对数据的要求            D.软件的性能

24.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。

A.总结                           B.阶段性报告

C.需求分析评审             D.以上答案都不正确

25.下述任务中, 不属于软件工程需求分析阶段的是( )。

A.分析软件系统的数据要求         B.确定软件系统的功能需求

C.确定软件系统的性能要求         D.确定软件系统的运行平台

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

A.数据流图         ​​​​​​​B. PAD图         C.状态转换图         D. 数据词典

27.在需求分析之前有必要进行( ) 工作。

A.程序设计         B.可行性分析         C.ER分析         D.2NF分析

28.数据流图是进行软件需求分析的常用图形工具,其基本图形符号是( )。

A.输人、输出、外部实体和加工

B.变换、加工、数据流和存储

C.加工、数据流、数据存储和外部实体

D.变换、数据存储、加工和数据流

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

A.数据流图         B.数据字典         C.结构化语言         D.判定表与判定树

判断

9.需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

10.需求分析的主要目的是解决软件开发的具体方案。

11.需求规格说明书描述了系统每个功能的实现。

12.非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

13.需求评审人员主要由开发人员组成,一般不包括用户。

14.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。

15.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。

16.用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、 完整性、现实性和有效性。

17.需求分析是开发方的工作,用户的参与度不大。

第四章

30.为了提高模块的独立性,模块之间最好是( )。

A.公共环境耦合         B.控制耦合         ​​​​​​​C.数据耦合         D.特征耦合

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

A.数据流和控制流        B.变换流和控制流

C.事务流和控制流        D.变换流和事务流

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

A.内聚性和耦合性               B.局部化和封装化

C.抽象和信息隐藏               D.逐步求精和结构图

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

A.模块间的联系程度     B.信息隐藏程度

C.模块的功能强度        D.接口的复杂程度

34.当算法中需要用一个模块去计算多种条件的复杂组合.并根据这些条件完成适当的功能时,从供选择的答案中,选出合适的描述工具。( )

A.程序流程图         B.N-S 图         C.PAD图         D.判定表

35.面向数据流的软件设计方法可将( )映射成软件结构。

A.控制结构         B.模块        ​​​​​​​ C.数据流         D.事物流

36.Jackson 方法根据( )来导出程序结构。

A.数据流图         B.数据间的控制结构        ​​​​​​​ C.数据结构         D. IPO图

判断

18.软件设计说明书是软件概要设计的主要成果。

19.软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高昂代价。

20.HIPO 法既是需求分析方法,又是软件设计方法。

21.划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。

22.SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应。

23.判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。

24.模块独立要求高耦合低内聚。

第五章

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.尽可能多的发现软件系统中的错误

45.使用白盒测试方法时确定测试数据应根据( )和指定的覆盖标准。

A.程序的内部逻辑 B.程序的复杂程度

C.程序的难易程度 D.程序的功能

46.黑盒测试方法根据( )设计测试用例。

A.程序的调用规则        B.软件要完成的功能

C.模块间的逻辑关系     D.程序的数据结构

47.在软件测试中,逻辑覆盖标准主要用于( )。

A.白盒测试方法 B.黑盒测试方法

C.灰盒测试方法 D.回归测试方法

48.集成测试的主要方法有两个,一个是( )一个是( )。

A.白盒测试方法、黑盒测试方法

B.等价类划分方法、边缘值分析方法

C.渐增式测试方法、非渐增式测试方法

D.因果图方法、错误推测方法.

49.验收测试的任 务是验证软件的( )。

A.可靠性         B.正确性         C.移植性         D.有效性

50.软件测试的目的是尽可能发现软件中的错误,通常( ) 是代码编写阶段可进行的测试,它是整个测试工作的基础。

A.集成测试         B.系统测试         C.验收测试         D. 单元测试

判断

25.程序设计语言是指编程时表现出来的特点、习惯、逻辑思维等。

26.进行程序设计语言的选择时,首先考虑的是应用领域。

27.好程序的一个重要标准是源程序代码的逻辑简明清晰、易读易懂。

28.软件测试的目的是尽可能多地发现软件中存在的错误,将它作为纠错的依据。

29.测试用例由输人数据和预期的输出结果两部分组成。

30.白盒测试是结构测试,主要以程序的内部逻辑为基础设计测试用例。

31.软件测试的目的是证明软件是正确的。

32.单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。

33.白盒法是一种静态测试方法,主要用于模块测试。

34.在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。

35.发现错误多的模块,残留在模块中的错误也多。

第六章

51.汽车有一个发动机,汽车和发动机之间的关系是( ) 关系。

A.组装         ​​​​​​​B.整体部分         C.分类         D. 一般具体

52.( ) 是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐藏的,外界只能通过有限的接口与对象发生联系。

A.多态性         B.继承         C.消息         D.封装

53. ( ) 意味着一个操作在不同的类中可以有不同的实现方式。

A.多继承         ​​​​​​​B.多态性         C.消息         D.封装

54.每个对象可用它自己的一组属性和它可以执行的一组( )来表征。

A.操作         B.功能         C.行为         D.数据

55.应用执行对象的操作可以改变该对象的( )。

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

56.面向对象的主要特征除了对象唯一性、封装性、继承性外,还有( )。

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

57.关联是建立( )之间关系的一种手段。

A.对象        ​​​​​​​ B.类         C.功能         D.属性

58.面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父亲,下层可以有子类,这种层次结构系统的一个重要性质是 ( ),一个类可获得其父亲的全部描述(数据和操作)。

A.兼容性         ​​​​​​​B.继承性         C.复用性         D.多态性

59.所有的对象可以成为各种对象类, 每个对象类都定义了一组( )。

A.说明         B.类型         C.过程         D.方法

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

A.操作        ​​​​​​​ B.消息         C.信息         D.继承

61. 下列不属于面向对象的要素有( )。

A.继承         B.抽象         ​​​​​​​C.分类性         D.封装

判断

36.类是指具有相同或相似性质的对象的抽象,类的具体化就是对象。

37.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。

38.多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件, 多态性和继承性相结合使软件具有更广泛的重用性和可护充性。

39.类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。

40.用面向对象方法开发的软件系统,可维护性好。

41.模型是对现实的简化,建模是为了更好地理解所开发的系统。

42.多态性防止了程序相互依赖而带来的变动影响。

43.类封装比对象封装更具体、更细致。

44.面向对象的继承性是子类自动共享父类数据结构和方法的机制。

第七章

62.面向对象分析的首要工作是建立( )。

A.系统的动态模型         B.系统的功能模型

C.基本的E-R模型         D.问题的对象模型

63.面向对象的分析方法主要是建立三类模型,即( ).

A.系统模型、ER模型、应用模型

B.对象模型、动态模型、功能模型

C.ER模型、对象模型、功能模型

D.对象模型、动态模型、应用模型

64.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( )。

A.生命周期                   B.面向对象设计

C.面向对象分析            D.面向对象程序设计

65.面向对象分析阶段建立的3个模型中,核心的模型是( ) 模型。

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

66.面向对象分析是对系统进行()的一种方法。

A.设计评审         B.程序设计        ​​​​​​​ C.需求建模         D.测试验收

67.应该在( ),确定对象类中应有的服务。

A.建立对象模型之时         B.建立动态模型和功能模型之后

C.建立功能模型之后         D.建立动态模型之后

68.面向对象的动态模型中,每张状态图表示( ) 的动态行为。

A.某一个类           B.有关联的若干个类

C.一系列事件        D.一系列状态

69.在考察系统的-些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。

A.顺序图 B.状态图 C.系统结构图 D.数据流图

70.动态模型的描述工具是( )。

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

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

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

72.功能模型中所有的( )往往形成一个层次结构,在这个层次结构中一个数据流图的过程可以由下一层数据流图做进一步的说明。

A.事件追踪图         B.物理模型图         C.状态迁移图         D.数据流图

判断

45.面向对象的开发方法将过程作为最基本的元素,是分析问题、解决问题的核心。

46.用例需求分析方法采用的是一种结构化的情景分析方法,即是一种基于场景建模的方法。

47.面向对象分析方法认为系统是对象的集合,是以功能和数据为基础的。

48.面向对象分析的核心在于建立- -个描述软件系统的模型 。

49.面向对象的分析过程主要包括三项内容:理解、表达和验证。

50.面向对象分析就是抽取和整理用户需求并建立问题域精确模型的过程。

51.面向对象的方法是以类作为最基本的元素,它是分析问题、解决问题的核心。

52.功能模型是类似编译器之类系统的主要模型。

第八章

73.只有类的共有界面的成员才能成为使用类的操作,这是软件设计的()原则。

A.过程抽象         ​​​​​​​B.信息隐藏         C.功能抽象         D.共享性

74.( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,是建立状态图、

协作图和其他图的基础。

A.部署图         ​​​​​​​B.类图         C.组件图        D.配置图

75.下面所列的性质中,()不属于面向对象程序设计的特性。

A.继承性         B.重用性         C.封装性         D.可视化

76.下列是面向对象设计方法中有关对象的叙述,其中( ) 是正确的。

A.对象在内存中没有它的存储区

B.对象的属性集合是它的特征表示

C.对象的定义与程序中类型概念相当

D.对象之间不能相互通信

77.面向对象程序设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这一特点称为类的( )。

A.多态性         B.封装性        ​​​​​​​ C.继承性         D.重用性

78.面向对象设计00D模型的主要部件中,通常不包括()

A.通信部件         B.人机交互部件         C.任务管理         D.数据管理

79.面向对象设计时,对象信息的隐藏主要是通过( ) 实现的。

A.对象的封装性           B.子类的继承性

C.系统模块化               D.模块的可重用

80.面向对象设计阶段的主要任务是系统设计和( )。

A.结构化设计               B.数据设计

C.面向对象程序设计     D.对象设计

判断

53.面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型。

54.软件设计一般分为总体设计和详细设计,它们之间的关系是全局和局部。

55.在面向对象的设计中,应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有信息隐藏。

56.一个设计得好的软件系统具有低内聚、高耦合的特征。

57.面向对象分析和设计活动是一个多次反复迭代的过程。

58.关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据库中的表。

59.用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。

第九章

81.面向对象的实现主要包括( )。

A.把面向对象设计用某种程序设计语言书写为面向对象程序,测试并调试面向对象的程序

B.面向对象设计

C.选择面向对象语言

D.单元测试

82.面向对象程序设计语言不同于其他语言的最主要特点是( )。

A.模块性         B.抽象性         ​​​​​​​C.继承性         D.内聚性

83.面向对象的测试与传统测试方法的主要区别是( )。

A.面向对象的测试可在编码前进行,传统测试方法在编码后进行

B.面向对象的测试以需求和设计阶段的测试为主,不需要进行代码测试

C.测试对象不同

D.面向对象的测试不需要设计测试用例,只需要进行会议评审

判断

60.面向对象设计的结果,既可以用面向对象语言,也可以用非面向对象语言实现。

61.一般来说,应该尽量选用面向对象语言来实现面向对象分析、设计的结果。

62.良好的面向对象程序设计风格,既包括传统的程序设计风格准则,也包括为适应面向对象方法所特有的概念( 如继承性)而必须遵循的一些新准则。

63.面向对象测试用例的设计由软件的输入-处理-输出视图或单个模块的算法细节驱动。

64.面向对象系统的确认测试是面向白盒的,并且可以应用传统的白盒方法完成测试工作。

第十章

84.UML是软件开发中的一个重要T具,它主要应用于( )。

A.基于螺旋模型的结构化方法

B.基于需求动态定义的原型化方法

C.基于数据的数据流开发方法

D.基于对象的面向对象的方法

85.( ) 是从用户使用系统的角度描述系统功能的图形表达方法。

A.类图         B.活动图         ​​​​​​​C.用例图         D.状态图

86.( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,是建立状态图、

协作图和其他图的基础。

A.类图         B.状态图         C.对象图         D.部署图

87.( ) 描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

A.类图         ​​​​​​​B.顺序图         C.状态图         D.协作图

88.()是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统

中软件和硬件的物理架构。

A.组件图         B.类图         ​​​​​​​C.部署图         D.状态图

89.UML是()的缩写。

A. Unified Module Language B. Universal Module Language

C. Universal Module Locator D. Unified Modeling Language

90.()定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。

A.用例图 B.类图 C.活动图 D.对象图

91.状态图包括( )。

A.类的状态和状态之间的转换      B.触发类动作的事件

C.类执行的动作                          D.所有以上选项

判断

65.UML是一种建模语言,是一种标准的表示,是一种方法。

66.泳道是一种分组机制,它描述了状态图中对象所执行的活动。

67.类图中的角色是用于描述该类在关联中所扮演的角色和职责的。

68.类图用来表示系统中类与类之间的关系,它是对系统动态结构的描述。

69.用例模型的基本组成部件是用例、角色和用例之间的联系。

70.用例之间有扩展、使用、组合等几种关系。

71.顺序图描述对象之间的交互关系,重点描述对象间消息传递的时间顺序。 ( )

72.活动图显示动作及其结果,着重描述操作实现中所完成的工作,以及用例实例或类中的活动。

73.UML 语言支持面向对象的主要概念,并与具体的开发过程相关。

74.部署图描述系统硬件的物理拓扑结构以及在此结构上执行的软件。

第十一章

92. ( ) 的作用是为有效地、定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量,

A.估算         ​​​​​​​B.度量         C.风险分析         D.进度安排

93.LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的( ) 不同。

A.详细程度         B.分解要求         C.使用方法         D.改进过程

判断

75.代码行技术是比较简单的定量估算软件规模的方法。

76.功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。

77.常用的制定进度计划的具主要有Word和Excel两种。

第十二章

94.项目团队原来有6个成员,现在又增加了6个成员,这样沟通渠道增加了多少? ( )

A.4.4倍         B.2倍         C. 6倍         D.6条

95. Mantei 提出了3种通用的项目组组织方式:民主分权式、控制分权式、( )。

A.启发式         B.归纳式         C.总结式         D.控制集权式

判断

78.民主制程序员组的一-个重要特点是,小组成员完全平等,享有充分民主,通过协商做出技术决策。

79.主程序员组的两个关键特性是专业化和层次性。

80.现代程序员组中,技术组长既对技术工作负责,又负责非技术事务。

第十三章

96.下列哪项不是风险管理的过程?( )

A.风险规划         B.风险识别         C.风险评估         D.风险收集

97.按照软件配置管理的原始指导思想,受控制的对象应是( )。

A.软件过程         B.软件项目        ​​​​​​​ C.软件配置项         D.软件元素

98.下面( )不是人们常用的评价软件质量的4个因素之一。

A.可理解性         B.可靠性         C.可维护性        ​​​​​​​ D.易用性

判断

81.风险有两个显著特点,一是不确定性,另一个是损失。

82.回避风险指的是:风险倘若发生,就接受后果。

83.软件质量保证的措施主要有,基于非执行的测试(也称为复审)、基于执行的测试和程序正确性证明。

第十四章

99.在软件维护的内容中,占维护活动工作量比例最高的是( )。

A.纠错性维护        ​​​​​​​ B.适应性维护         C.预防性维护         D.完善性维护

100.使用软件时提出增加新功能就必须进行( ) 维护。

A.预防性         B.适应性         C.完善性         ​​​​​​​D.纠错性

101.软件维护的副作用是指( )。

A.运行时误操作                           B.隐含的错误

C.因修改软件而造成的错误         D.开发时的错误

102.软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的( )。

A.可用性        ​​​​​​​ B.可维护性         C.可扩展性         D.可移植性

103影响软件可维护性的主要因素不包括( )。

A.可修改性         B.可测试性        ​​​​​​​ C.可用性         D.可理解性

判断

84.总体上说,软件工程文档可以分为用户文档、开发文档和管理文档三类。

85.文档是影响软件可维护性的决定因素。

86.适应性维护是在软件使用过程中,用户会对软件提出新的功能和性能要求,为了满足这些新的要求而对软件进行修改,使之在功能和性能上得到完善和增强的活动。

87.进行软件维护活动时,直接修改程序,无需修改文档。

88.软件生命周期的最后一个阶段是书写软件文档。

小题参考

1【单选题】以下关于软件系统文档的叙述中,错误的是什么?

A、软件系统文档既包括有一定格式要求的规范文件,又包括系统建设过程中的各种来往文件、会议纪要、会计单据等资料形成的不规范文档

B、软件系统文档可以提高软件开发的可见度

C、软件系统文档不能提高软件开发效率

D、软件系统文档便于用户理解软件的功能、性能等各项指标

正确答案: C

1【多选题】软件工程的目标是什么?

A、实现软件的优质高产

B、满足人们对软件日益增长的需求

C、维护好数量不断增长的已有软件

D、培养高级程序员

正确答案: AC

2【多选题】解决软件危机的主要措施有哪些?

A、运用软件工程的技术、方法和标准规范

B、招聘熟悉各种语言的编程高手

C、运用先进高效的软件工具

D、严格的质量保障措施

正确答案: ACD

3【多选题】软件工程方法强调和重点研究什么?

A、软件开发技术

B、需求分析

C、软件设计

D、各种模型

正确答案: BC

1【判断题】软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性

正确答案:√

2【判断题】项目客户一定是项目用户

正确答案:×

3【判断题】软件项目的开发费用越来越高,成本相当昂贵

正确答案:√

4【判断题】在软件的运行和使用期间,没有硬件的机械磨损、老化问题,软件维护比硬件维护要复杂得多

正确答案:√

1【单选题】瀑布模型存在的问题是?

A、用户容易参与开发

B、缺乏灵活性

C、用户与开发者易沟通

D、适用可变需求

正确答案: B :

2【单选题】原型化方法是软件开发中一类常用的方法,它与结构化其他方法相比较,更需要?

A、明确的需求定义

B、完整的生命周期

C、较长的开发时间

D、熟练的开发人员

正确答案: D :

3【单选题】以下关于原型化开发方法的叙述中,不正确的是?

A、原型化方法适应于需求不明确的软件开发

B、在开发过程中,可以废弃不用早期构造的软件模型

C、原型化方法可以直接开发出最终产品

D、原型化方法利于确认各项系统服务的可用性

正确答案: C

4【单选题】具有风险分析的软件生存周期模型是什么?

A、瀑布模型

B、喷泉模型

C、 螺旋模型

D、增量模型

正确答案: C :

5【单选题】一个软件开发过程描述了“谁做”、“做什么”、“怎么做”和“什么时候做”,RUP用什么来表述“谁做”

A、角色

B、活动

C、制品

D、工作流

正确答案: A :

6【单选题】软件开发的增量模型是

A、最适用于需求被清晰定义的情况

B、是一种能快速构造可运行产品的好方法

C、最适合于大规模团队开发的项目

D、是一种不适合于商业产品的创新模型

正确答案: B :

1【多选题】敏捷开发方法适用于?

A、需求稳定的项目

B、需求不稳定的项目

C、用户积极参与

D、开发小组人员20人以上的项目

正确答案: BC

1【单选题】技术可行性要解决的是?

A、成本-效益问题

B、技术风险问题

C、运行方式可行的问题

D、是否存在侵权的问题

正确答案: B :

2【单选题】可行性分析研究的目的

A、争取项目

B、项目是否值得开发

C、开发项目

D、规划项目

正确答案: B :

3【单选题】系统定义明确之后,应对系统的可行性进行研究,包括

A、软件环境可行性、技术可行性、经济可行性、社会可行性

B、经济可行性;技术可行性、社会可行性

C、经济可行性;社会可行性、系统可行性

D、经济可行性、实用性、社会可行性

正确答案: B :

4【单选题】在遵循软件工程原则开发软件过程中,计划阶段应该依次完成?

A、系统定义、软件计划、需求分析

B、软件计划、需求分析、系统定义

C、软件计划、需求分析、概要设计

D、需求分析、概要设计、软件计划

正确答案: A :

1【判断题】可行性研究分析报告应该包括开发方案和开发计划

正确答案:√

2【判断题】用户提出的开发问题就是系统需求

正确答案:×

3【判断题】可行性研究的目的是解决问题

正确答案:×

4【判断题】由于可行性分析的重要性,可行性分析需要花费大量的时间和精力

正确答案:×

1【单选题】系统流程图用于可行性分析中的什么的描述?

A、新系统

B、目标系统

C、当前逻辑模型

D、当前运行系统

正确答案: D :

2【单选题】研究软硬件资源的有效性是进行什么研究的一方面?

A、经济可行性

B、社会可行性

C、技术可行性

D、操作可行性

正确答案: A :

3【单选题】下列不属于度量效益方法的是?

A、货币的时间价值

B、投资回收期

C、收入

D、投资回报率

正确答案: D :

4【单选题】系统流程图是描述什么的工具?

A、物理系统

B、体系结构

C、逻辑结构

D、顺序结构

正确答案: C :

5【单选题】在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要原因是?

A、生产原型的复杂性

B、工作阶段间的等待时间

C、参与人员之间的通信困难

D、参与人员所需的工作站数

正确答案: C :

1【判断题】可行性分析的工具是数据流图

正确答案:×

1【单选题】什么是导致软件缺陷的最大原因?

A、设计方案

B、编写代码

C、需求规格说明书

D、测试计划

正确答案: C :

2【单选题】软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档,其中开发文档不包括什么?

A、项目开发计划

B、维护修改建议

C、可行性研究报告

D、软件需求说明

正确答案: B :

3【单选题】软件质量必须从需求分析开始,需要在哪个阶段加以保证?

A、可行性研究过程中

B、开发之前

C、开发之后

D、整个开发过程

正确答案: D :

4【单选题】需求分析阶段的任务是什么?

A、确定软件开发方法

B、确定软件开发工具

C、确定软件开发

D、确定软件系统的功能

正确答案: D :

5【单选题】结构化开发方法中,数据流图是什么阶段产生的成果?

A、需求分析

B、总体设计

C、详细设计

D、程序编码

正确答案: A :

6【单选题】“软件产品必须能够在3秒内对用户请求做出响应”属于软件需求中的什么需求?

A、功能需求

B、非功能需求

C、设计约束

D、逻辑需求

正确答案: B :

1【多选题】需求分析的任务包括以下哪些内容?

A、确定总体目标及组织结构

B、深入领域分析和数据流程分析

C、确定功能需求,完成功能结构图和功能点列表

D、获取性能需求,列出性能点列表

正确答案: ABCD

2【多选题】需求分析的原则有哪些?

A、理解问题的数据域和功能域

B、建立问题层次结构

C、建立分析模型

D、采用面向对象的技术

正确答案: ABC

1【判断题】对系统的综合需求主要有系统功能需求、系统性能需求、运行需求等

正确答案:√

2【判断题】在需求分析阶段,所有的用户要求都是合理的,必须满足。

正确答案:×

3【判断题】需求分析的基本任务是准确的回答系统必须做什么这个问题。

正确答案:√

1【单选题】软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档,其中开发文档不包括什么?

A、项目开发计划

B、维护修改建议

C、可行性研究报告

D、软件需求说明

正确答案: B :

2【单选题】需求规格说明书的作用不应该包括什么?数据实体

A、软件可行性研究的依据

B、软件验收的依据

C、用户与开发人员对软件要做什么的共同理解

D、软件设计的依据

正确答案: A :

3【单选题】数据流图对系统的功能和功能之间的数据流进行建模,其中顶层数据流图描述了系统的什么?

A、输入与输出

B、数据存储

C、处理过程

D、数据实体

正确答案: A :

4【单选题】如何完成数据流图的细化?

A、通过结构分解

B、通过功能分解

C、通过数据分解

D、通过系统分解

正确答案: B :

1【多选题】需求获取的方法有哪些?

A、面谈

B、走访

C、问卷调查

D、座谈会

正确答案: ABCD

2【多选题】需求阶段的分析活动包括哪些?

A、业务调查及业务流程分析

B、组织结构图、功能结构图

C、组织结构和功能分析

D、数据及数据流分析

正确答案: ACD

1【判断题】数据流图中不可以带有控制流

正确答案:√

2【判断题】必须从一致性、完整性、现实性和有效性4个方面验证软件需求的正确性

正确答案:√

1【单选题】模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为下列哪项?

A、数据耦合

B、标记耦合

C、公共耦合

D、内容耦合

正确答案: D :

2【单选题】模块的内聚性最高的是下列哪项?

A、逻辑内聚

B、时间内聚

C、偶然内聚

D、功能内聚

正确答案: D :

3【单选题】在SD方法中全面指导模块划分的最重要的原则是什么?

A、程序模块化

B、模块高内聚

C、模块低耦合

D、模块独立性

正确答案: D :

4【单选题】内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求做到?

A、高内聚,高耦合

B、高内聚,低耦合

C、低内聚,高耦合

D、低内聚,低耦合

正确答案: B :

5【单选题】模块在同一段时间内完成各种初始化工作,这属于下列哪项?

A、偶然内聚

B、逻辑内聚

C、时间内聚

D、过程内聚

正确答案: C :

6【单选题】为高质量地开发软件项目,在软件结构设计时,必须遵循以下哪项原则?

A、信息隐藏

B、质量控制

C、程序优化

D、数据共享

正确答案: A :

7【单选题】模块的独立性强,则模块?

A、耦合越强

B、扇入数越高

C、耦合越弱

D、扇入数越低

正确答案: B :

8【单选题】软件系统设计的主要目的是为系统定制蓝图,下列哪项并不是软件设计模型所关注的

A、系统总体结构

B、数据结构

C、界面模型

D、项目范围

正确答案: D :

9【单选题】模块的什么定义为受该模块内一个判断影响的所有模块集合?

A、控制域

B、作用域

C、宽度

D、接口

正确答案: B :

10【单选题】模块A执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能,则该模块具有以下什么内聚?

A、顺序

B、逻辑

C、过程

D、功能

正确答案: B :

1【多选题】软件安全控制的基本方法包括以下哪几种?

A、数据检查

B、用户同一性检测

C、运行日志

D、数据加密

正确答案: ABCD

2【多选题】软件设计中一般将用到图形工具,下列哪项可用作设计软件结构的图形工具?

A、结构图

B、实体联系图

C、IPO图

D、层次图

正确答案: ACD

3【多选题】下列哪些选项属于内容耦合?

A、一个模块直接访问另一个模块的内部数据

B、一个模块有多个入口

C、一个模块不通过正常入口转到另一模块内部

D、一个模块只有一个入口

正确答案: ABC

4【多选题】下列哪些选项属于概要设计说明书的评测内容?

A、分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求

B、系统定义的目标是否与用户的要求一致

C、从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护

D、是否所有界面与更高级别文档中的需求一致

正确答案: ACD

5【多选题】下列关于范式的说法,正确的是哪几项?

A、范式表示数据消除冗余的程度

B、第一范式数据冗余程度最小

C、第五范式数据冗余程度最大

D、从实用角度看,大多数场合选择第三范式比较合适

正确答案: AD

1【判断题】模块功能的分配,就是将具有相同功能的模块合并,提取公用模块加以实现,作为本系统的公共资源

正确答案:√

2【判断题】在进行总体设计时,应加强模块间的联系

正确答案:×

3【判断题】模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低耦合度的软件产品

正确答案:√

4【判断题】模块的功能没有大小的限制

正确答案:×

5【判断题】Jackson系统开发方法是一种典型的面向数据结构的分析设计方法

正确答案:√

1【多选题】关于结构化程序设计,下列哪些选项是正确的?

A、尽量不使用GOTO语句

B、采用自顶向上、逐步求精的设计方法

C、结构化程序设计不能适用于大型项目的开发

D、程序应该只有一个入口和一个出口

正确答案: ABD

2【多选题】详细设计的任务是什么?

A、设计实现算法

B、设计数据结构

C、编写测试用例

D、编写详细设计说明书

正确答案: ABCD

3【多选题】在详细设计过程中,应遵循以下哪些原则?

A、详细设计为后续的具体编程实现做准备

B、处理过程应简明易懂

C、选择恰当的描述工具表述模块完成所需的算法

D、选择合适的数据库系统进行数据库的设计

正确答案: ABC

1【判断题】详细设计又称为过程设计

正确答案:√

2【判断题】详细设计是编码的前奏

正确答案:√

3【判断题】算法设计可以用自然语言描述比用工具描述好理解

正确答案:×

4【判断题】详细设计应该与数据、体系结构和界面设计同时进行

正确答案:×

1【单选题】在程序控制流图中,有9条边,6个节点,则控制流程图的环路复杂性V(G)等于多少?

A、2

B、3

C、4

D、5

正确答案: D :

2【单选题】PDL是什么?

A、伪码

B、高级程序设计语言

C、中级程序设计语言

D、低级程序设计语言

正确答案: A :

3【单选题】软件复杂性度量的参数不包括下列哪些选项?

A、软件的规模

B、开发小组的规模

C、软件的难度

D、软件的结构

正确答案: B :

4【单选题】下列工具中,不属于详细设计工具的是哪些?

A、测试工具

B、图形工具

C、表格工具

D、语言工具

正确答案: C :

5【单选题】程序的3种基本控制结构是什么?

A、过程、子程序和分程序

B、顺序、选择和重复

C、递归、堆栈和队列

D、调用、返回和转移

正确答案: B

1【单选题】通常测试用例很难100%覆盖测试需求,因为下列哪个原因?

A、输入量太多

B、输出结果太多

C、软件实现途径多

D、测试依据没有统一标准

正确答案: A :

2【单选题】白盒测试是根据程序的以下哪项来设计测试用例的方法。

A、输入数据

B、应用范围

C、内部逻辑

D、功能

正确答案: C :

3【单选题】成功的测试是指运行测试用例后结果是下列哪项?

A、未发现程序错误

B、发现了程序错误

C、证明程序正确

D、改正了程序错误

正确答案: B

1【单选题】某系统重用了第三方组件(没有源代码),则应采用下列哪项措施对组件进行测试

A、基本路径覆盖

B、分支覆盖

C、环路覆盖

D、黑盒测试

正确答案: D :

2【单选题】通常在软件的哪个阶段活动中无须用户参与?

A、需求分析

B、维护

C、编码

D、测试

正确答案: C :

3【单选题】针对程序段:IF(X>10) AND (Y<20) THEN W=W/A,对于(X,Y)的取值,以下那组测试用例能够满足判定覆盖的要求。

A、(30,15)(40,10)

B、(3,0)(30,30)

C、(5,25)(10,20)

D、(20,10)(1,100)

正确答案: D :

4【单选题】为验证模块A能否与其他模块按照规定方式正确工作,需要进行下列哪项测试?

A、单元测试

B、集成测试

C、确认测试

D、系统测试

正确答案: B :

5【单选题】软件系统中有错误,则下列哪项叙述是正确的?

A、不是不可以理解的

B、是不能容忍的

C、是要求退货的理由

D、是必然的

正确答案: A :

6【单选题】在某大学学生学籍管理系统中,假设学生年龄的输入范围为16-40,则根据黑盒测试中的等价类划分技术,下面划分正确的是哪些?

A、划分为2个有效等价类,2个无效等价类

B、可划分为1个有效等价类,2个无效等价类

C、可划分为2个有效等价类,1个无效等价类

D、可划分为1个有效等价类,1个无效等价类

正确答案: B :

1【多选题】负载压力性能测试需求分析时,应该选择以下哪些类型的业务作为测试案例

A、高吞吐量的业务

B、业务逻辑复杂的业务

C、高商业风险的业务

D、高服务器负载的业务

正确答案: ACD

2【多选题】反映Web应用客户端交易处理性能的评估指标有哪些?

A、并发用户数

B、交易响应时间

C、交易通过率

D、吞吐量

正确答案: ABCD

3【多选题】在测试用例设计时,应遵循以下什么原则?

A、仅确定测试用例的输入数据,无须考虑输出结果

B、检验程序是否执行应有的功能,还有考虑程序是否做了多余的功能

C、不仅要设计有效合理的输入,也要包含不合理、失效的输入

D、测试用例应设计得尽可能复杂

正确答案: BC

1【判断题】判定覆盖比语句覆盖强有效

正确答案:√

2【判断题】在程序调试时,找出错误的位置和性质比改正错误更难。

正确答案:√

3【判断题】用黑盒法测试时,测试用例是根据程序内部逻辑设计的

正确答案:×

4【判断题】冗余是改善系统可靠性的一种重要技术

正确答案:√

5【判断题】如果通过软件测试没有发现错误,则说明软件是正确的

正确答案:×

1【单选题】某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行以下哪种维护?

A、正确性

B、适应性

C、完善性

D、预防性

正确答案: C :

2【单选题】软件维护时,对未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为什么?

A、改正性维护

B、适应性维护

C、完善性维护

D、预防性维护

正确答案: A :

3【单选题】什么是决定软件维护成败和质量好坏的关键?

A、修改程序

B、建立目标程序

C、分析和理解程序

D、重新验证程序

正确答案: C :

4【单选题】在整个软件维护阶段所花费的全部工作中,以下哪项所占比例最大?

A、校正性维护

B、适应性维护

C、完善性维护

D、预防性维护

正确答案: C :

5【单选题】改正在软件系统开发阶段已经发生而系统测试阶段还没有发现的错误,属于什么维护?

A、正确性

B、适应性

C、完善性

D、预防性

正确答案: A :

6【单选题】软件维护成本在软件成本中占较大比重。为降低维护的难度,可采取的措施有哪些?

A、设计并实现没有错误的软件

B、限制可修改的范围

C、增加维护人员数量

D、在开发过程中就采取有利于维护的措施

正确答案: D :

7【单选题】在软件维护阶段,为软件的运行增加监控设施属于下列哪种维护?

A、改正性

B、适应性

C、完善性

D、预防性

正确答案: D :

8【单选题】下列文档与维护人员有关的有哪些?

A、软件需求说明书

B、项目开发计划

C、概要设计说明书

D、 操作手册

正确答案: C :

9【单选题】系统的可维护性可以用系统的可维护性评价指标来衡量。系统的可维护性评价指标不包括以下哪项?

A、可理解性

B、可修改性

C、准确性

D、可测试性

正确答案: C :

10【单选题】在软件维护中,由于企业的外部市场环境和管理需求的变化而做维护工作,属于下列哪项?

A、正确性

B、适应性

C、完善性

D、预防性

正确答案: B :

1【判断题】完善性维护是提高或完善软件的性能

正确答案:√

2【判断题】文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读

正确答案:√

3【判断题】非结构化维护用于软件的配置中只有源代码维护

正确答案:√

4【判断题】结构化维护用户待维护的软件的配置是完整的维护

正确答案:√

5【判断题】重构工程也称修复和改造工程,它是在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本

正确答案:√

1【单选题】在面向对象的语言中,下列哪项叙述是正确的?

A、类的实例化是指对类的实例分配存储空间

B、每个类都必须创建一个实例

C、每个类只能创建一个实例

D、类的实例化指对类进行初始化

正确答案: A :

2【单选题】下列哪项把数据以及操作数据的相关方法组合在同一个单元中,使人们可以把类作为软件中的基本复用单元,提高其内聚度,降低其耦合度

A、封装

B、多态

C、继承

D、变异

正确答案: A

1【单选题】在统一建模语言中,下列哪项用于描述系统与外部系统及用户之间的交互?

A、类图

B、用例图

C、对象图

D、协作图

正确答案: B :

2【单选题】若类A需要使用标准数学函数类库中提供的功能,那么类A与标准类库提供的类之间存在下列哪种关系?

A、依赖

B、关联

C、聚合

D、组合

正确答案: A :

3【单选题】若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其他部分的代码都不涉及类B,那么类A和类B的关系应为下列哪项?

A、关联

B、依赖

C、聚合

D、组合

正确答案: B

4【单选题】采用UML进行软件建模过程中,类图是系统的一种静态视图,下列哪项可以明确表示两类事物之间存在的整体/部分形式的关联关系

A、依赖关系

B、聚合关系

C、泛化关系

D、实现关系

正确答案: B :

5【单选题】若类A中包含了其他类的实例,且当类A的实例消失,其包含的其他类的实例仍然存在并继续工作,则类A和它所包含的类之间存在下列哪种关系?

A、依赖

B、关联

C、聚合

D、组合

正确答案: C :

6【单选题】在UML的各种视图中,下列哪项从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能?

A、用例视图

B、进程视图

C、实现视图

D、逻辑视图

正确答案: D :

7【单选题】若类A中包含了其他类的实例,且当类A的实例消失,其包含的其他类的实例也消失,则类A和它所包含的类之间存在下列哪种关系?

A、依赖

B、关联

C、聚合

D、组合

正确答案: D :

8【单选题】面向对象分析的第一步是下列哪项?

A、定义服务

B、确定附加的系统约束

C、定义类和对象

D、确定问题域

正确答案: D

1【多选题】面向对象建模的基本模型有哪些?

A、功能模型

B、对象模型

C、动态模型

D、状态模型

正确答案: ABC

2【多选题】下列关于对象的说法,哪些是正确的?

A、对象是以数据为中心

B、对象是主动的

C、对象具有独立性

D、对象是对问题域中某个实体的抽象

正确答案: ABCD

1【判断题】通过执行对象的操作改变该对象的属性,必须通过操作的传递

正确答案:×

2【判断题】消息是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等

正确答案:√

3【判断题】面向对象分析需要找出软件需求中客观存在的所有实体对象(概念),然后归纳、抽象出实体类,而名词分析是寻找实体对象的有效方法之一

正确答案:√

4【判断题】面向对象技术中,组合关系表示类与其对象的关系

正确答案:×

1【单选题】不同的对象收到同一消息可以产生完全不同的结果,这一现象称为?

A、继承

B、多态

C、动态绑定

D、静态绑定

正确答案: B :

2【单选题】以下关于面向对象设计的叙述中,错误的是哪项?

A、面向对象设计应在分析之前,产生了设计结果才能分析

B、设计和分析都是面向对象软件过程的两个重要阶段

C、面向对象设计应依赖面向对象分析的结果

D、面向对象设计的结果在形式上类似面向对象分析的结果

正确答案: A :

3【单选题】下列哪项表现出很强的“拥有”关系,“部分”和“整体”的生命周期通常一样。“整体”对象完全支配其组成部分,包括它们的创建和销毁等。

A、关联

B、继承

C、聚合

D、组合

正确答案: D :

4【单选题】在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计活动是下列哪项?它是一种重新组织的技术,可以简化构件的设计而无须改变其功能或行为。

A、精化

B、设计类

C、重构

D、抽象

正确答案: C :

1【多选题】关于面向对象的设计原则,下列哪些选项叙述是正确的?

A、设计结果应该清晰易懂

B、继承层次尽可能的多,减少设计工作量

C、类的设计要简单

D、使用简单的协议和操作

正确答案: ACD

2【多选题】下列关于软件重用的说法,哪些是正确的?

A、源代码粘贴和调用库函数是软件重用的常用方法之一

B、把已应用的软件系统从一个平台移植到另外一种平台上,不属于软件重用

C、管理非常精良的软件公司,通常会重用某个系统的分析模型

D、可重用软件的开发需要付出更多的成本和努力,不值得去做

正确答案: AC

1【多选题】下列哪些选项适用于面向对象的设计?

A、模块化原理

B、抽象和信息隐藏

C、低耦合与高内聚

D、可重用性

正确答案: ABCD

2【多选题】面向对象设计的优化包括?

A、增加冗余关联、调整查询次数和优化操作算法来提高系统效率

B、调整继承关系,建立良好的继承结构,以增加类和对象的重用及简化类或对象之间的关系,形成良好风格的软件体系结构

C、采用分层结构可以采用封闭和开放两种方式,提高设计系统的易理解性和可修改性

D、高效合理的组织对象来确定对象和对象层次关系,并确定它们对外的接口和使用的数据结构

正确答案: AB

1【判断题】面向对象的方法中,不同对象之间相互关联就是耦合。

正确答案:√

2【判断题】面向对象的分析与设计本质上是2个不同的开发过程

正确答案:×

3【判断题】面向对象设计就是用面向对象观点建立求解空间模型的过程。

正确答案:√

4【判断题】类和对象本身就是模块

正确答案:√

5【判断题】设计模式方便人们可以更加简单的复用成功的设计和体系结构

正确答案:√

1【单选题】当且仅当一个操作对类的实例的用户有用时,它才是类公共界面的一个成员,这是软件设计的哪个原则?

A、标准调用

B、最小界面

C、高耦合

D、高效率

正确答案: B :

2【单选题】下列叙述中错误的是哪项?

A、面向对象程序设计语言可支持过程化的程序设计

B、给定算法的时间复杂性和实现该算法所采用的程序设计语言无关

C、与汇编语言相比,采用脚本语言编程运行效率较低

D、面向对象程序设计语言不支持对一个对象成员变量的直接访问

正确答案: D :

3【单选题】在面向对象方法中,信息隐藏是通过对象的下列哪项来实现的?

A、分类型

B、继承性

C、封装性

D、共享性

正确答案: C :

4【单选题】以下关于面向对象设计的叙述中,错误的是?

A、高层模块不应该依赖于底层模块

B、抽象不应该依赖于细节

C、细节可以依赖于抽象

D、高层模块无法不依赖于底层模块

正确答案: D :

5【单选题】采用UML进行软件设计时,可用下列哪项分别表示两类事物之间存在的特殊-一般关系和事物之间存在的整体-部分关系。

A、依赖,聚合

B、聚合,实现

C、泛化,聚合

D、组合,关联

正确答案: C :

6【单选题】每个派生类应该当作基类的特殊化来开发,而基类所具有的公共界面称为派生类的共有界面的一个子集,这是软件设计的哪个原则?

A、动态联编

B、多态性

C、信息隐藏

D、 继承性

正确答案: D :

 1【多选题】当今流行的软件质量管理体系有哪些?

A、CMMI

B、ISO9000/ISO9001

C、PERT

D、SCAMPI

正确答案: AB

2【多选题】下列关于项目管理的知识领域,正确的说法是?

A、为了成功实施项目的目标,首先必须设定项目的工作和管理范围以及项目范围

B、项目实施过程中,需要投入足够的人力、物力资源

C、加强项目中人员之间的沟通管理

D、在项目管理过程中,每个小组只要完成各自的任务即可

正确答案: ABC

加强项目中人员之间的沟通管理

3【多选题】关于软件项目进度计划,以下说法哪些是正确的?

A、进度管理就是要求在规定的时间内按质按量交付项目

B、进度管理是最短时间、最少成本、最小风险完成任务

C、进度管理不涉及到人员管理和工作量管理

D、进度管理是项目经理的任务,与其他人员无关

正确答案: AB

4【多选题】下列关于软件项目管理的说法,正确的是哪些?

A、客户在项目的早期对到底要做成什么样子,很难说清楚,但这一点对项目的成败至关重要

B、软件项目具有特定的目标,与其他领域中大规模现代化生产有很大的区别,在管理上带来许多实际困难

C、在项目管理中,不要相信任何人的口头承诺

D、项目的交付质量,只要满足领导的要求就可以了

正确答案: ABC

1【判断题】项目是由临时性的组织来完成的

正确答案:√

2【判断题】根据项目的生命周期可知,不同项目各阶段资源投入强度不同。通常是前期投入低,逐渐增加到高峰后开始降低

正确答案:√

3【判断题】为了得到一个相对准确的估算结果,项目管理者应该系统学习相关的成本管理过程

正确答案:√

4【判断题】在项目过程中,任何时候,“不做”都是一种选择。

正确答案:√

5【判断题】软件项目都是需要签订合同的

正确答案:×

1【单选题】对于一个大型软件项目来说,不加控制的变更很快就会引起混乱。为有效地实现变更控制,需要借助于配置数据库和基线的概念,下列哪项不属于配置数据库。

A、开发库

B、受控库

C、信息库

D、产品库

正确答案: C :

2【单选题】高质量的文档所应具有的特性中,不包括下列哪项?

A、针对性,文档编制应考虑读者对象群

B、精确性,文档行文应该十分确切,不能出现多意义的描述

C、完整性,任何文档都应当是完整的,独立的,应该自成体系

D、无重复性,同一软件系统的几个文档之间没有相同的内容,如果有可以用见文档、节的方式引用

正确答案: D :

3【单选题】以下关于过程改进的叙述中,错误的是哪项?

A、过程能力成熟度模型基于这样的理念:改进过程将改进产品,尤其是软件产品

B、软件过程改进框架包括评估、计划、改进和监控4个部分

C、软件过程改进不是一次性的,需要反复进行

D、在评估后要把发现的问题转化为软件过程改进计划

正确答案: A :

4【单选题】下列哪项不属于软件配置管理的活动?

A、变更标识

B、变更控制

C、质量控制

D、版本控制

正确答案: C :

5【单选题】进行软件项目的风险分析时,风险避免、风险监控和风险管理及意外事件计划是下列哪项活动中需要考虑的问题

A、风险识别

B、风险预测

C、风险评估

D、风险控制

正确答案: D :

6【单选题】若软件项目组对风险采用主动的控制方法,则下列哪项是最好的风险控制策略?

A、风险避免

B、风险监控

C、风险消除

D、风险管理及意外事件计划

正确答案: A :

7【单选题】在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是哪项?

A、系统开发合同

B、系统设计说明书

C、系统开发计划

D、系统测试报告

正确答案: C :

8【单选题】CVS是一种什么工具?

A、需求分析

B、编译

C、程序编码

D、版本控制

正确答案: D :

9【单选题】确定构建软件系统所需要的人数时,无须考虑下列哪项?

A、系统的市场前景

B、系统的规模

C、系统的技术复杂性

D、项目计划

正确答案: A :

10【单选题】软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级和优化级。其中下列哪项对软件过程和产品都有定量的理解与控制?

A、可重复级和定义级

B、定义级和管理级

C、管理级和优化级

D、定义级、管理级和优化级

正确答案: C :

大题参考

1.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是由区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455、466、888、552中任意一个号码。分局号是任意长度为4的数字串。

请写出在数据字典中,电话号码数据条目的组成。

数据字典如下:

       电话号码= 分机号 | 外线号码

       分机号= 7201..7299

       外线号码= 9+ [ 市话号码 | 长话号码 ]

       长话号码= 区号 + 市话号码

       区号= 100..300

       市话号码 = 局号+分局号

       局号= [ 455 | 466 | 888 | 552 ]

       分局号= 4{数字}4

2.某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人的姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款单给储户;如果是取款,而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

请用数据流图描绘本系统的功能。

数据操作主要为存款和取款:

        在取款过程中,核对密码时需要从取款单和存款信息中获取数据,并将取款信息传递给后续数据流程依次进行计算利息和打印利息清单的操作,完成取款操作。

        在存款过程中,记录存款信息时需要将存款信息进行存储并将存款利息数据传递给后续流程进行存款单打印,完成存款。

【软件工程】《软件工程》期末复习提纲_第1张图片

3.有如下一个学生选课系统:教师提出开课计划,系统批准后给教师下发开课通知。学生可向系统提出选课申请,系统批准后给学生下发选课申请结果通知。课程结束后,系统还可以帮助教师录入学生成绩,同时把成绩单发送给学生。

请画出该系统顶层的数据流图。

        对于教师而言,他们可以提交开课计划并在系统批准之后得到开课通知,被批准的开课通知会被系统存储。此外,教师还可以对学生的成绩进行录入和存储。系统会根据存储的学生成绩,将成绩单发送给学生。

        对于学生而言,他们可以通过查询开课信息从已存储的课程记录中获取开课信息。此外,他们还可以提交选课计划并在系统批准中得到申请结果。被批准的选课计划会被系统存储。

【软件工程】《软件工程》期末复习提纲_第2张图片

4.办公室复印机的工作过程大致如下:未收到复印命令时处于闲置状态,一旦接收到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令:如果执行复印命令时发现缺纸,则进人缺纸状态,发出警告,等待装纸,装满纸后进人闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。 请用状态转换图描绘复印机的行为。

【软件工程】《软件工程》期末复习提纲_第3张图片

5.旅游价格折扣分类如下表,请用判定表判定树分别画出表达该逻辑问题的算法。

旅游时间

7-9,12月

1-6,10,11月

订票数

≤20

>20

≤20

>20

折扣量

5%

15%

20%

30%

【软件工程】《软件工程》期末复习提纲_第4张图片

根据旅游时间、订票量的条件组合,以及折扣量画出图4.3所示的判定表。

【软件工程】《软件工程》期末复习提纲_第5张图片

根据旅游时间、订票量和折扣量画出图4.4所示的判定树(决策树)。

【软件工程】《软件工程》期末复习提纲_第6张图片

6.在温室管理系统中,有一个环境控制器,当没有种植作物时处于空闲状态。一旦种上作物,就要进行温度控制,定义气候,即在什么时期应达到什么温度。当处于夜晚时,由于温度下降,要调用调节温度过程,以便保持温度;太阳出来时,进入白天状态,由于温度升高,要调用调节温度过程,保持要求的温度。当日落时,进入夜晚状态。当作物收获,终止气候的控制,则进入空闲状态。 请建立环境控制器的动态模型

【软件工程】《软件工程》期末复习提纲_第7张图片

7.一家图书馆藏有书籍、杂志、小册子、电影录像带、音乐CD和报纸等出版物供读者借阅。这些出版物有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等服务。 请建立上述的图书馆馆藏出版物的对象模型

图书馆所藏出版物拥有共同的基类:馆藏出版物类。

馆藏出版物类的成员变量包括出版物名称、出版者、获得日期、目录编号、借出状态、借出限制等,并包括借出和收回两项操作。

各种类型的出版物类继承于馆藏出版物类,并定义了各自的属性。

【软件工程】《软件工程》期末复习提纲_第8张图片

8.现在有一个医院病房监护系统,用户提出的系统功能要求如下: 在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。 当病症出现异常时,系统会立即自动报警,通知值班医生及时进行处理,同时立即打印病人的病情报告和更新病历。 请建立医院病房监护系统的功能模型

动作对象主要包括病员、医生和护士3类。

病员的病症信号会被局部监视系统采集,并传递到中央监视系统中。中央监视系统会读入病员的相关信息,并在必要的时候进行报警。

护士会按照要求对病员的情况进行报告,该报告会与病员日志数据一并传递给医生。

中央监视系统会对病员的病症信号进行分析处理,并根据病员日志数据对日志进行更新。

【软件工程】《软件工程》期末复习提纲_第9张图片

9.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下。

(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

(2)报社下设多个发行站,每个站负责收集登录订单、打印收款凭证等事务。

(3)报社负责分类并统计各个发行站送来的报刊订阅信息。 请就此需求建立这个报刊征订的计算机管理系统的对象模型

对象主要包括以下这些。

报社:包含分类、统计等操作。

发行站:包含登录订单、打印凭证等操作。

刊物:包含代码、名称等属性,以及登录订单、打印凭证等操作。

订单:包含代码、名称、订期等属性,以及登录订单、打印凭证等操作。

订户:包含名称、地址等属性。

对象之间相互关系主要包括以下几种。

报社可以发行多个刊物。

报社包含多个发行站。

订单记录刊物的征订情况。

发行站拥有刊物订单。

订户可以填写多张订单。

【软件工程】《软件工程》期末复习提纲_第10张图片

10.某市进行招考公务员工作,分行政、法律、财经三个专业。市人事局公布所有用人单位招收各专业的人数,考生报名,招考办公室发放准考证。考试结束后,招考办公室发放考试成绩单,公布录取分数线,针对每个专业,分别将考生按总分从高到低进行排序。用人单位根据排序名单进行录用,发放录用通知书给考生,并给招考办公室留存备查。请根据以上情况进行分析,画出顺序图

对象主要包括考生、人事局和招聘单位3种,所以包括3条对象生命线。

招聘单位将招聘计划发送给人事局,再由人事局发布给考生。考生通过人事局进行考试报名,报名信息由人事局传递给招聘单位。考生通过人事局进行考试。人事局向考生和招聘单位发布考试成绩。招聘单位将录用信息发给人事局,再由人事局发布给考生。

【软件工程】《软件工程》期末复习提纲_第11张图片

11.图书馆管理系统的图书:图书可借阅、分类、归还、续借,图书也可能破损和遗失。请根据以上情况画出图书馆管理系统图书的状态图。

图书在初始时需要进行分类并更新在库数量。如果图书发生借阅,则执行借阅操作,并对在库图书数量进行更新。在借阅期间,如果图书发生续借操作,则对该图书重新执行借阅操作并更新在库数量。如果借阅的图书被归还,则需要对在库图书数量进行更新。此外,如果在库图书发生破损或者借阅图书发生遗失,则对在库图书的数量进行更新。

【软件工程】《软件工程》期末复习提纲_第12张图片

问题描述为:建立图书信息管理系统。系统要求实现以下功能:

(1)用户管理功能,包括读者信息的录人、修改、更新以及登录等。

(2)书籍管理功能,如书籍的添加、修改、更新、删除等数据维护功能,还可根据读者借阅书籍的要求随时更新图书馆的书籍数据库。

(3)书籍的借阅、归还管理,如借还进行详细登记,更新书籍数据库。同时提供图书预定功能。

(4)信息查询功能;如图书信息查询、用户借书、还书信息查询、书籍库存情况查询等。

请根据以上描述,确定执行者及用例,建立系统的用例模型

执行者应包括管理员和读者两类。其中,管理员包含处理后台信息维护和图书管理两种。读者可以查询书籍从而获得书籍信息。此外,读者还可以通过管理员来进行图书的借、还操作。负责图书管理的管理员可以执行借书和还书的操作,需要用管理员账号进行登录。负责信息维护的管理员可以进行书籍信息维护和读者信息维护,需要用管理员账号进行登录。其中,书籍信息维护主要包括添加书籍、修改书籍和删除书籍;读者信息维护主要包括添加新读者、读者信息修改以及读者注销。

你可能感兴趣的:(软件工程,笔记,经验分享)