一、选择题(每题1分,共20分)
1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B功能 C内部逻辑 D输入数据
2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A风险产生的原因 B风险监控技术 C风险能否消除 D风险发生所产生的后果
3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A 好的计划 B不断的发布 C发馈和勇气 D持续集成
4、等价分类法的关键是( C )。
A确定等价类的边界条件B按照用例来确定等价类 C划分等价类D确定系统中相同和不同的部分
5、下列不属于黑盒测试的技术是(A)。
A逻辑覆盖测试 B边界值分析测试 C错误推测 D等价划分
6、为了提高模块的性,模块之间最好是(D)耦合。 A控制耦合 B公共耦合 C内容耦合 D数据耦合
7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用( D )来表述“谁做”。
A角色 B活动 C制品 C工作流
8、功能性注释嵌入在源程序内部,它是用来说明(A)。
A程序段或语句的功能 B模块的接口 C数据的名称和用途 D模块的功能
9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。
A只有结构化语言 B有节后花语言和判定树 C有结构化语言、判定树和判定标 D有判定树和判定表
10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A正确性 B适应性 C完善性 D预防性
11、软件危机的主要原因是(A)。
A软件本身特点与开发方法 B对软件的认识不够 C软件生产能力不足 D软件工具落后
12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A输入 输出 外部实体和加工 B变换 加工 数据流和存储 C加工 数据流 数据存储和外部实体D变换 数据存储 加工和数据流
13、软件工程管理是对软件项目的开发管理。具体地说,就是对整个软件(A)的一切活动进行管理。
A生存期 B开发 C制定计划 D项目
14、在面向数据流的软件设计方法中,一般将信息流分为( A )。
A变换流和事务流 B变换流和控制流 C事务流和控制流 D数据流和控制流 15、在软件工程项目中,不随参与人数的增加而使软件生产率增加的主要原因是(D)。 A工作阶段的等待时间 B生产原型的复杂性 C参与人员所需的工作站数 D参与人员之间的通信困难 16、下面(D)不是软件的特征。
A软件是一种软件产品 B软件产品不会用坏,不存在磨损,消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 17、下列关于面向对象分析与设计说法错误的是(C)。
A) 面向对象的设计以面向对象分析为基础归纳出类
B) 建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象 C) 面向对象的设计是面向对象分析的另一种思维方式
D) 面向对象的设计是面向对象分析进一步的细化和更高的抽象
18、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
A经济可行性 B技术可行性 C操作可行性 D法律可行性
19、下述任务中,不属于软件工程需求分析阶段的是( D ) 。
A.分析软件系统的数据要求 B.确定软件系统的功能需求 C.确定软件系统的性能要求 D.确定软件系统的运行平台
20、在面向对象方法中,信息隐蔽是通过对象的( A )来实现的。 A封装 B类 C对象 D继承
21、采用面向对象方法开发软件的过程中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)。
A.面向对象测试B.面向对象实现C.面向对象设计D.面向对象分析
22、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)等步骤。 A软件计划、需求分析、系统定义 B系统定义、软件计划、需求分析 C需求分析、概率设计、软件计划 D软件计划、需求分析、概率设计
23、一个项目为了修正一个错误而进行了变更,但这个错误被修正后,却引起以前可以正确运行的代码出错。(C)测试最有可能发现这个问题。
A单元测试 B接受测试 C回归测试 D安装测试
24、从工程管理的角度来看,软件设计分( A )两步完成。
A) 概要设计与详细设计
B) 数据设计与接口设计
C) 软件结构设计与数据设计 C) 过程设计与数据设计
25、某系统重用了第三方组件(但无法获得其源代码),则应采用( D )对组件进行测试 A基本路径覆盖 B分支覆盖 C环路覆盖 D黑盒测试
26、在软件设计与编码过程中,采取( C )的做法将使软件更容易理解和维护。
A良好的程序结构,有无文档均可 B使用标准或规定之外的语句 C编写详细正确的文档,采用良好的程序结构 D尽量减少程序中的注释
27、软件维护成本在软件成本中占较大比重,为降低维护的难度,可采取的措施有( D )
A设计并实现没有错误的软件 B可修改的范围
C增加维护人员数量 D在开发过程中就采取有利于维护的措施,并加强维护管理 28、(A)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。 A结构化开发方法 B jackson系统开发方法 C Booch方法 D UML 29、在人机界面的设计过程中应该考虑下列()情况。
30、测试用例是测试使用的文档化细则,应包括下列( B )内容的详细信息。 ①测试目标和被测功能 ②测试环境和其他条件 ③测试数据和测试步骤 ④测试记录和测试结果
A.①③ B.①②③ C.①③④ D.①②③④
31、(螺旋)模型适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和用户对每个周期出现的风险有所了解,从而做出相应的反应。 32.可行性分析要进行的需求分析和设计应是()。 A详细的 B全面的 C简化、压缩的 D彻底的
33、下面关于面向对象分析与面向对象设计的说法,不正确的是(D)。
A.面向对象分析侧重于理解问题
B.面向对象设计侧重于理解解决方案 C.面向对象分析描述软件要做什么
D.面向对象设计一般不关注技术和实现层而的细节
34、软件设计时需要遵循抽象、模块化、信息隐蔽和模块原则。在划分软件系统模块时,应尽量做到(B)。
A. 高内聚高耦合 B. 高内聚低耦合 C. 低内聚高耦合 D. 低内聚低耦合
35、软件工程每一个阶段结束前,应该着重对可维护性进行复审,在系统设计阶段的复审期间,应该从(B)出发,评价软件的结构和过程。
A.指出可移植性问题以及可能影响软件维护的系统界面 B.容易修改、模块化和功能的目的 C.强调编码风格和内部说明文档 D.可测试性
36、软件的集成测试工作最好由(D)人员承担,以提高集成测试的效果。
A 该软件的设计人员 B 该软件开发组的负责人C 该软件的编程人员 D 不属于该软件开发组的软件设计人员
37、程序的三种基本控制结构是( 顺序结构 选择结构 循环结构 )。 ( 分析和理解程序 )是决定软件维护成败和质量好坏的关键。 数据库设计时的概念数据模型一般用( )图表示。
若有一个计算类型的程序,它的输入量只有一个,其范围是[-1.0,1.0],现从输入
的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是
( )。
在结构化分析方法(SA)中,( )与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。 面向对象的分析方法主要是建立三类模型,即( )。 成功的测试是指运行测试用例后( )。
面向数据流的设计方法把( )映身成软件结构。 软件危机是指( )。
检查软件产品是否符合需求定义的过程称为( )。
汽车有一个发动机,汽车和发动机之间的关系是( )关系。 详细设计的基本任务是确定每个模块的( )设计
软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的( )上。 以下( )不属于系统设计。
需求规格说明书的作用不应该包括( )。
软件质量必须从需求分析开始,在( )加以保证。 软件简略定义是( )。
SA方法的基本思想是( )。 软件工程是一门( )学科。 等价分类法的关键是( )。
二、填空题(每空1分,共10分)
1.的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得
去开发。
2.采用UML进行软件设计时,可用______关系来表示两类事物之间存在的特殊/一般关系,
用______关系来表示事物之间存在的整体/部分关系。 3.继承与机制,是面向对象程序中实现重用的主要手段。
4.成本效益分析的目的是从角度评价开发一个软件项目是否可行。 5.对象之间通过_进行通信。
6.在面向对象的软件中,是对具有相同数据和相同操作的一组相似对象的定义;实例是由
某个特定的类所描述的一个具体对象。
7.需求分析阶段产生的最重要的文档是__________________。
8.软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的。 9.软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和。
10.软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档,其中可行
性研究报告属于文档。
11.可行性研究实质上是要进行一次了的需求分析、设计过程,是在较高层次上以较抽
象的方式进行需求分析和设计过程。
12.一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用_______
来表述“谁做”。
13.在面向对象的软件中,类是对具有相同数据和相同操作的一组相似对象的定义;是由某
个特定的类所描述的一个具体对象。
14.软件结构是以为基础而组成的一种控制层次结构。
15.软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为初始级、、定义
级、和优化级。
16.关联是建立类之间关系的一种手段,而链则是建立之间关系的一种手段。 17. 软件测试方法中的属于静态测试方法。
18.继承与机制是面向对象程序中实现重用的主要手段。 19.系统详细设计阶段最后产生的文档是__________。
20.DFD利用图形符号表示系统中的各个元素,表达了系统中各种元素之间的________。 21.在设计阶段,要充分体现软件工程的“__________”、“抽象”、“信息隐蔽”等基本
原则。
22.在面向对象分析和OOD中,通常将对象的操作称为__________。
23.单元测试一般以__________ 为主,测试的依据是系统的模块功能规格说明。 24.当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦
合方式是。
25.软件测试用例主要由输入数据和__________ 两部分组成。 26.为适应软硬件环境变化而修改软件的过程是 __________。
27.提高程序效率的根本途径在于选择良好的设计方法、良好的和,而不是靠编程时对
程序语句做调整。
三、名词解释(每题4分,共20分)
1.数据字典 2.模块性 3.软件复用 4.内聚 5.测试用例
6.软件生存周期模型 7.信息隐蔽 8.McCabe度量法 9.动态模型 10.软件维护 11.CMM 12.软件调试 13.耦合 14.配置管理 15.软件项目计划
四、简答题(每题6分,共30分)
1.软件工程的两大范型分别是什么?它们有什么不同?
2.如何画分层数据流图?
3.面向对象程序设计有哪些优点?
4.在软件测试中,应注意哪些原则?
5.为了具有良好的程序设计风格,应注意哪些方面的问题?
6.面向对象分析与面向对象设计的关系?
7.成本-效益分析的目的是什么?可用哪些指标进行度量?
8.软件设计分哪几个阶段,它们的主要任务是什么?
9.用户需求和系统需求各有什么特点?
10.面向对象设计的准则?
11.需求分析过程主要有哪几个步骤?
12.软件设计分哪几个阶段,它们的主要任务是什么?
13.什么是软件结构图?它有哪些主要元素?
14.面向对象方法的特点是什么?为什么要用面向对象方法开发软件?
15.什么是编码风格?请根据自己的编程经验编写一个编程注意事项。
五、应用题(每题10分,共20分)
1.画XXX系统的状态图。
2.McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。根据给出的程序流程图,画出它的程序图,并计算它的McCabe复杂性度量。
3.请将下面的DFD转换为软件结构图(注:图中○+表示“或者”)。
4.下面是某程序的流程图:
(1) 先画出流图,再计算它的环路复杂性。
(2) 为了完成基本路径测试,求它的一组的路径。
5.一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个机箱,一个主板,一个电源,存储器等部件。存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。建立微机的对象模型。
6.画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,根据“账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。