1.在结构化分析方法(SA)中,( )与数据流图共同构成了系统的逻辑模型,是需求规格
说明书的主要组成部分。
A.模块图 B.ER图
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.I、Ⅱ和Ⅲ B.Ⅰ、Ⅲ和Ⅳ C.Ⅱ、Ⅲ和Ⅳ D.以上都正确
二、填空题(每空1分,共10分)
1.在面向对象的软件中, 是对具有相同数据和相同操作的一组相似对象的定义;
是由某个特定的类所描述的一个具体对象。
2.软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 。
3.在类层次中,子类只继承一个父类的数据结构和方法,称为 ,子类继承了多个
父类的数据结构和方法,称为 。
4.多重性说明了一个类的 对象能够与另一个类的 对象发生关联。
5.软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 。
6.软件测试方法中的 属于静态测试方法。
7.软件设计包含过程设计、接口设计、体系结构设计和数据设计,其中最后完成的设计是
。
三、判断题(判断命题正确与否,并说明理由。每题2分,共10分)
1.SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
2.一般说来,模块的内聚程度越高,它们之间的耦合程度也就越高。
3.软件测试只能证明程序有错误,不能证明程序没有错误。
4.如果测试数据满足条件覆盖,则必然满足判定覆盖。
5. 划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好
四、名词解释(每题3分,共12分)
1.数据字典
2.模块性
3.软件复用
4.软件维护
五、简答题(每题5分,共25分)
1.软件复用的层次可以分为哪几个级别?
2.CMM将软件过程的成熟度分为哪几个级别?
3.在软件测试中,应注意哪些原则?
4.为了具有良好的程序设计风格,应注意哪些方面的问题?
5.面向对象程序设计有哪些优点?
13.软件测试中,白盒法是通过分析程序的( )来设计测试用例的。
A.应用范围 B.内部逻辑
C.功能 D.输入数据
14.按照软件配置管理的原始指导思想,受控制的对象应是( )。
A.软件元素 B.软件项目
C.软件配置项 D.软件过程
15.详细设计与概要设计衔接的图形工具是( )。
A.DFD图 B.SC图
C.程序流程图 D.PAD图
16.面向对象的分析方法主要是建立三类模型,即( )。
A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型
C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型
17.( )适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发
人员和用户对每个周期出现的风险有所了解,从而作出相应的反应。
A)瀑布模型 B)螺旋模型
C)喷泉模型 D)基于知识的模型
18.源程序的效率与( )阶段确定的算法的效率直接有关。
A)概要设计 B)总体设计
C)单元设计 D)详细设计
19.在 SA方法的需求描述工具中,( )描述系统的分解,即描述系统由哪几部
分组成,各部分之间有什么联系等等。
A)数据流图 B)数据字典
C)结构化语言 D)判定表和判定树
20.等价分类法的关键是( )。
A) 确定等价类的边界条件 B) 按照用例来确定等价类
C) 划分等价类 D) 确定系统中相同和不同的部分
21.为了提高模块的性,模块内部最好是( )。
A)逻辑内聚 B)通信内聚
C)顺序内聚 D)功能内聚
22.为了提高模块的性,模块之间最好是( )。
A)控制耦合 B)内容耦合
C)公共耦合 D)数据耦合
23.功能性注释嵌入在源程序内部,它是用来说明( )。
A)程序段或语句的功能 B)模块的接口
C)数据的名称和用途 D)模块的功能
24.下列不属于黑盒测试的技术是( )。
A)等价类划分 B)错误推测
C)基本路径测试 D)因果图
25.各种软件维护的类型中最重要的是( )。
A) 完善性维护 B) 纠错性维护
C) 适应性维护 D) 预防性维护
26.对一个软件工程来说,占总工作量的百分比最大的工作是( )。
A) 需求分析 B) 软件设计
C) 编码工作 D) 测试和调试工作
27.下列说法错误的是( )。
A)面向对象设计是把分析阶段得到的需求,转变成符合成本和质量要求的、抽象的系统实现方案的过程。
B)从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。
C)面向对象设计就是用面向对象的观点建立求解域模型的过程。
D)面向对象分析和面向对象设计在实际的软件开发过程中二者的界限是明显的。
二、填空题(每空2分,共20分)
21.一个模块把数值作为参数传送给另一个模块的耦合方式称为 。
22.成本效益分析的目的是从 角度评价开发一个软件项目是否可行。
23.软件结构是以 为基础而组成的一种控制层次结构。
24.在单元测试时,需要为被测模块设计驱动模块和桩模块。 的作用是返回被测模块所需的信息。
25. 是引起系统状态转换的控制信息。
26.继承与 机制,是面向对象程序中实现重用的主要手段。
27.对象具有状态,一个对象用 来描述它的状态。
28.为协调软件开发使得混乱减到最小,使用 技术,使变更所产生的错误达到最小并最有效地提高生产率。
29.软件开发环境是相关的一组 集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。
30.关联是建立类之间关系的一种手段,而链则是建立 之间关系的一种手段。
三、名词解释(每题3分,共15分)
31.数据字典
32.模块性
33.软件生存周期模型
34.CMM
35.动态模型
四、简答题(每题5分,共20分)
36.软件生命期各阶段的任务是什么?
37.非渐增式测试与渐增式测试有什么区别?
38.面向对象程序设计有哪些优点?
39.模块间的耦合性有哪几种?
28.通过执行对象的操作可改变该对象的属性,但它必须通过( )传递。
A)操作 B)信息
C)方法 D)消息
29.从工程管理的角度来看,软件设计分两步完成( )。
A) ①系统分析②模块设计 B) ①详细设计②总体设 计
C) ①模块设计②详细设计 D) ①总体设计②详细设 计
30.人们常借用硬件可靠性的定量度量方法来度量软件的可靠性与可用性。
其中MTTF是( )。
A)失效间隔时间 B)平均失效间隔时间
C)失效等待时间 D)平均失效等待时间
21.软件工程管理是对软件项目的开发管理。具体地说,就是对整个软件( )的
一切活动进行管理。
A)生存期 B)开发
C)制定计划 D)项目
32.下列不是模型元素的是( )。
A) 关联 B) 聚合
C) 依赖 D) 笔记
33.软件测试中,白盒法是通过分析程序的( )来设计测试用例的。
A)应用范围 B)内部逻辑
C)功能 D)输入数据
34.详细设计的结果基本决定了最终程序的( )。
A)代码的规模 B)质量
C)可维护性 D)运行速度
35.结构化程序设计方法在软件开发中用于( )。
A)测试用例设计 B)详细设计
C)概要设计 D)编码
36.在数据流图中当数据流向或流自文件时( )。
A.数据流要命名,数据存储不必命名
B.数据流不必命名,有数据存储名就足够了
C.数据流和数据存储均要命名,因为流入和流出的数据流是不一样的
D.数据流和数据存储(或文件)都不要命名,通过加工可自然反映
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.在结构化分析方法(SA)中,( )与数据流图共同构成了系统的逻辑模型,是需求
规格说明书的主要组成部分。
A)模块图 B)ER图
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)动态模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织
51.用类库这种机制和结构来实现( )中的信息共享。
A)同一应用 B)不同应用
C)同一个类 D)不同类
52.为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行( )。
A)软件维护 B)软件测试
C)质量检验 D)软件容错
53.基线可以作为一个检查点,在开发过程中,当采用的基线发生错误时,我们可以知道所处的位置,返回到( )和最恰当的基线上。
A)最近 B)最远
C)最长 D)最短
54.软件开发环境是由软件开发工具和环境集成机制构成的,其中环境集成机制为( )和软件开发、维护和管理提供统一的支持。
A)工具集成 B)工程环境
C)软件系统 D)环境集成
三、名词解释(每小题3分,共15分)
31.软件工程
32.信息隐蔽
33.SA
34.完善性维护
35.面向对象设计
四、简答题(每小题5分,共20分)
36.为了具有良好的程序设计风格,应注意哪些方面的问题?
37.简述三种面向对象模型的主要功能。
38.为了提高设计质量,应从哪几方面优化软件结构?
39.在软件测试中,应注意哪些原则?
55.在下列文档中,属于需求分析阶段的文档是( )。
A)软件设计说明书 B)项目开发计划
C)可行性分析报告 D)需求规格说明书
56.属性是个体对象的性质,属性通常用修饰性的( )来表示。
A)形容词 B)动词词组
C)名词词组 D)副词
57.详细设计与概要设计衔接的图形工具是( )。
A)DFD图 B)SC图
C)程序流程图 D)PAD图
58.按照软件配置管理的原始指导思想,受控制的对象应是( )。
A)软件元素 B)软件项目
C)软件配置项 D)软件过程
59.软件工程是一门( )学科。
A)原理性 B)理论性
C)心理性 D)工程性
60.软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的( )上。
A)复制 B)开发方式
C)开发和研制 D)磨损和消耗
二、填空题
1.在面向对象的软件中, 是对具有相同数据和相同操作的一组相似对象的定义;
是由某个特定的类所描述的一个具体对象。
2.软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 。
3.在类层次中,子类只继承一个父类的数据结构和方法,称为 ,子类继承了多个
父类的数据结构和方法,称为 。
4.多重性说明了一个类的 对象能够与另一个类的 对象发生关联。
5.软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 。
6.软件测试方法中的 属于静态测试方法。
7.软件设计包含过程设计、接口设计、体系结构设计和数据设计,其中最后完成的设计是
。
8.软件工程采用 的方法建立软件开发中的各种模型和各种算法。
8.可行性研究实质上是要进行一次 了的需求分析、设计过程,是在较高层次
上以较抽象的方式进行需求分析和设计过程。
10.软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 。
11.在进行软件结构设计时应该遵循的基本原理是 原理。
12.详细设计是软件设计的第二阶段,主要确定每个模块具体的执行过程,故也称为 。
13.提高程序效率的根本途径在于选择良好的设计方法、良好的 ,而不是靠编程
时对程序语句做调整。
14.软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 。
15.关联是建立类之间的一种手段,而链则是建立 之间关系的一种手段。
16.当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合
方式是 。
17.若年利率为i,现存入P元,不计复利,n年后可得钱数为F= 。
18.一个模块把数值作为参数传送给另一个模块的耦合方式称为 。
19.成本效益分析的目的是从 角度评价开发一个软件项目是否可行。
20.软件结构是以 为基础而组成的一种控制层次结构。
21.在单元测试时,需要为被测模块设计驱动模块和桩模块。 的作用是返回被测模块所需的信息。
22. 是引起系统状态转换的控制信息。
23.继承与 机制,是面向对象程序中实现重用的主要手段。
24.对象具有状态,一个对象用 来描述它的状态。
25.为协调软件开发使得混乱减到最小,使用 技术,使变更所产生的错误达到最小并最有效地提高生产率。
26.软件开发环境是相关的一组 集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。
27.关联是建立类之间关系的一种手段,而链则是建立 之间关系的一种手段。
四、简答题
1.CMM将软件过程的成熟度分为哪几个级别?
2.在软件测试中,应注意哪些原则?
3.为了具有良好的程序设计风格,应注意哪些方面的问题?
4.简述三种面向对象模型的主要功能。
5.为了提高设计质量,应从哪几方面优化软件结构?
6.软件生命期各阶段的任务是什么?
7.非渐增式测试与渐增式测试有什么区别?
8.面向对象程序设计有哪些优点?
9.模块间的耦合性有哪几种?
五、应用题
1.请根据以下描述的逻辑关系画出判定树。
移动电信公司为促进业务的发展发行各种优惠卡,其中包括钻石卡、金卡、银卡3种,用户
可以依据其信用度享受不同额度的透支。其中钻石卡、金卡和银卡允许透支的额度分别为800元、
500元和100元。发卡的规则为:从未发生过话费拖欠,且每月通话费在500元(含)以上者可获
钻石卡,每月通话费在200元(含)以上者可获金卡,每月通话费在100元(含)以上者可获银卡;
发生过话费拖欠,但能在规定时间内缴清欠款,且每月通话费在300元(含)以上者可获金卡,每
月通话费在200元(含)以上者可获银卡;发生过话费拖欠,并未能在规定时间内补清欠款,无论
每月话费多少均不能获得优惠卡。
2.下面是某程序的流程图:
(1) 计算它的环路复杂性。
(2) 为了完成基本路径测试,求它的一组的路径。
3.画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,根据
“账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户
存款数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。