一、填空题
1、软件由计算机程序、数据和文档组成。
2、软件是一种逻辑产品,它与物质产品有很大的区别。
3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。 4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。
5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产方式是工程化。
6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。
7、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于建造软件系统。 8、软件工程研究的主要内容是方法、过程和工具等三个方面。
9、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同。
10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。
11、演化模型是一种非整体开发模型。先开发一个原型软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品。
12、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、开发实施、用户评估。
13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。它使开发过程具有迭代性和无间隙性,适用于面向对象开发方法。 二、单项选择题
1、软件产品的生产主要是 C。 A. 制造B. 复制 C. 开发 D. 研制 2、个体手工劳动是B时代的软件生产方式。
A. 程序系统 B. 程序设计C. 软件工程 D. 程序编码 3、软件工程是一门C学科。
A. 理论性 B. 原理性C. 工程性D. 心理性 4、软件开发费用只占软件生存期全部费用的B。 A. 1/2 B. 1/3 C. 1/4 D. 2/3
5、在软件开发过程中大约要花费C%的工作量进行测试和调试。 A. 20 B. 30 C. 40 D. 50
6、准确地解决“软件系统必须做什么”是B阶段的任务。 A. 可行性研究 B. 需求分析C. 软件设计D. 程序编码 7、软件生存期中时间最长的是D阶段。
A. 需求分析B. 软件设计C. 软件测试D. 软件运行/维护
8、在软件生存期的模型中,D适合于大型软件的开发它吸收了软件工程中“演化”的概念。 A .喷泉模型B. 基于知识的模型C. 瀑布模型D. 螺旋模型 9、在软件生存期中,用户的参与主要在A。
A. 软件定义阶段B. 软件开发阶段C. 软件维护阶段D. 整个软件生存期过程中
10、在软件开发过程中的每个阶段都要进行严格的D,以尽早发现在软件开发过程中产生的错误。 A. 检验B. 验证C. 度量D. 评审
11、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的B A. 产品检验B. 产品控制C. 产品标准化D. 开发规范
12、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的D。
A. 可靠性B. 可使用性C. 安全性D. 可维护性
13、为了提高软件开发过程的A,有效地进行管理,应当根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准。
A. 可见性B. 生产率 C. 安全性D. 有效性
14、随着开发小组人数的A,因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。 A. 增加 B. 降低 C. 稳定 D. 不稳定
15、为保证软件开发的过程能够跟上技术的进步,必须不断地灵活地改进软件工程C。 A. 原则 B. 工具 C. 过程 D. 方法 三、选择填空题
1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。
软件是计算机系统中与硬件相互依存的另一部分,它是包括(②)、(⑦)及(⑤)的完整集合。其中,(②)是按事先设计的功能和性能要求执行的指令序列。(⑦)是使程序能够正确操纵信息的数据结构。(⑤)是与程序开发、维护和使用有关的图文材料。
供选择的答案: A~C. ① 软件 ② 程序 ③ 代码④ 硬件 ⑤ 文档 ⑥ 外设 ⑦ 数据 ⑧ 图表
2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。 开发软件时对提高软件开发人员工作效率至关重要的是(①)。软件工程中描述生存周期的瀑布模型一般包括计划、(①)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(③)和(⑥)两步。
供选择的答案:A.① 程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力 B.① 需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计 ⑧ 软件体系结构设计
3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。 有人将软件的发展过程划分为4个阶段:
第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了(①),并逐渐普及。随着(④)的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了(⑤)和(⑧)等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如(⑤)、(④)、编码、单元测试、综合测试、(①)及其整体有关的各种管理技术。
供选择的答案:
A~D:①汇编语言 ②操作系统 ③虚拟存储器概念 ④高级语言 ⑤结构式程序设计 ⑥数据库概念 ⑦固件
⑧ 模块化程序设计
E~G:① 使用和维护 ② 兼容性的确认 ③ 完整性的确认 ④ 设计 ⑤ 需求定义 ⑥ 图象处理
4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。
软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品。软件工程技术应遵循(⑦)、(④)、(⑥)、(③)、一致性、确定性、完备性、可验证性、抽象和信息隐蔽。 原型法适用于开发较复杂的系统,原型可分为三种:(②)、(⑤)和(④)。
供选择的答案:A~D①有效性 ②合理性 ③局部化 ④协同性 ⑤实用性 ⑥模块化 ⑦抽象 ⑧信息隐蔽 E~G:① 复用型 ② 实验型 ③ 废弃型 ④ 演化型 ⑤ 探索型
项目管理
一、填空题
1、要成功地完成软件开发工作的一个主要的决定性因素是项目管理 。 2、软件过程是软件生存期中的一系列相关工程活动集合。
3、所有的软件开发都可以看成是一个问题循环解决过程,其中包括4个截然不同的阶段:状态捕捉、问题定义、技术开发和方案综合。
4、在制定软件项目计划之前,必须先明确项目的目标和范围。项目的目标标明了软件项目的目的但不涉及如何去达到这些目的。
5、对软件进行度量,是为了表明软件产品的质量,弄清软件开发人员的生产率,建立项目估算的基线,帮助调整对新的工具和附加培训的要求。
6、软件质量的事后度量包括正确性、可维护性、完整性和可使用性。其中完整性包括危险性和安全性。 7、软件范围包括功能、性能、限制、接口和可靠性。
8、软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。资源包括人与工具。 9、对于一个大型的软件项目,要进行一系列的估算处理。主要靠分解和类推的手段进行。
10、基本COCOMO模型是一个静态单变量模型,它用一个已估算出的源代码行数(LOC)为自变量的(经验)函数来计算软件开发工作量。
11、成本-效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行。
12、风险估计从两个方面估价风险。一是估计一个风险发生的可能性。一是估价与风险相关的问题出现后将会产生的结果。
13、一个软件任务由一个人单独开发,生产率最高。
14、在与软件成本相关的影响因素中,人员的能力是最大影响因素。
15、软件开发所需的人力随开发的进展逐渐增加,在编码与单元测试阶段达到高峰,以后又逐渐减少。 16、在建立项目组织时应注意的原则有三:① 尽早落实责任 ,指定专人负责;② 减少接口,要有合理的人员分工、好的组织结构、有效的通信,减少不必要的生产率的损失;③责权均衡。
17、风险出现概率可以使用从过去项目、直觉或其它信息收集来的度量数据进行统计分析估算出来。 18、用各种不同的方法对风险进行分类是可能的。从宏观上来看,可将风险分为项目风险、技术风险和商业风险。 二、选择题
1、所有的软件开发都可以看成是一个问题B过程。 A. 顺序解决 B. 循环解决C. 分类解决 D. 分组解决 2、软件项目管理所涉及的范围覆盖了整个软件D。 A. 开发过程 B. 运行与维护过程 C. 定义过程 D. 生存期
3、为使软件开发获得成功,一个关键问题是必须对软件范围、风险、资源、任务、里程碑、成本,进度等做到心中有数,而C可以提供这些信息。
A. 计算机辅助工程 B. 软件开发工具C. 软件项目管理 D. 软件估算 4、软件范围标明了软件要实现的基本功能,并尽量以A的方式界定这些功能。 A. 定量 B. 规范 C. 统一 D. 定性
5、只要事先建立特定的度量规程,很容易做到B开发软件所需要的成本和工作量、产生的代码行数等。 A. 间接度量 B. 直接度量C. 间接估算 D. 直接估算
6、为了计算特征点,可以像计算功能点那样,对信息域值进行计数和加权。此外,需要对一个新的软件特征A进行计数。
A. 算法 B. 计算误差C. 程序复杂性 D. 效率
7、对于软件的D,有一种简单的面向时间的度量,叫做平均变更等待时间MTTC(Mean Time To Change)。 这个时间包括开始分析变更要求、设计合适的修改、实现变更并测试它、以及把这种变更发送给所有的用户。
A. 可靠性 B. 可修改性C. 可测试性 D. 可维护性
8、软件的完整性是度量一个系统抗拒对它的C攻击(事故的和人为的)的能力。 A. 可靠性 B. 正确性C. 安全性 D. 容错性
9、对每一种软件资源,应说明4个特性:资源的描述,资源的有效性说明,资源在何时开始需要,使用资源的持续时间。最后两个特性统称为A。
A. 时间窗口 B. 时间安排C. 日程安排 D. 资源定义
10、业务系统计划工具借助特定的C建立一个组织的战略信息需求的模型,导出特定的信息系统。 A. 过程性语言 B. 形式化语言C. 元语言 D. 伪码
11、软件开发成本主要是指软件开发过程中所花费的B及相应的代价。 A. 劳动力 B. 工作量C. 资源 D. 持续时间
12、自顶向下估算软件成本的方法主要是从项目的整体出发进行B,即根据已完成项目的总成本(或总工作量),来推算待开发软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去。 A. 分解 B. 类推C. 推导 D. 评估
13、自底向上估算软件成本的方法主要是把待开发软件A,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。 A. 分解 B. 类推C. 推导 D. 评估
16、系统的经济效益B因使用新系统而增加的收入加上使用新系统可以节省的运行费用。 A. 大于 B. 等于C. 小于 D. 不等于
17、项目复杂性、规模和结构的不确定性构成C(估算)风险因素。 A. 技术 B. 经济C. 项目 D. 商业
18、识别风险的一种最好的方法就是利用一组A来帮助人们了解在项目和技术方面有哪些风险。因此,Boehm建议使用一个“风险项目检查表”。 A. 提问 B. 项目C. 脚本 D. 场景
19、在做风险评价时常采用的一个非常有效的方法就是定义D。 A. 风险评价标准 B. 风险影响因子C. 风险调整因素 D. 风险参照水准
21、当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的A问题,即所谓通信问题。 A. 接口 B. 衔接C. 调用 D. 控制
22、假设一个人单独开发软件,生产率是5000行/人年。若4个人组成一个小组共同开发这个软件,在每条通信路径上耗费的工作量是250行/人年。则组中每人的生产率降低为C A. 4200 B. 4350 C. 4675 D. 4375
23、PERT技术叫做 B技术,它是采用网络图来描述一个项目的任务网络,安排开发进度,制定软件开发计划的最常用的方法。
A. 日程安排 B. 计划评审C. 关键路径 D. 因果图
24、在进度压力下赶任务,其成果往往是以B产品的质量为代价的。 A. 浪费 B. 牺牲C. 抵押 D. 维持 三、选择填空题
1、从供选择的答案中选出与下列有关软件过程叙述相对应的正确答案,将其编号填入到相应的括弧内。 软件过程是软件(4)中的一系列相关软件工程(3)的集合。每一个软件过程又是由一组(6)、项目(8)、软件工程产品和交付物以及质量保证(SQA)点等组成。一个软件过程可以用右图的形式来表示。首先建立一个(2)过程框架,其中定义了少量可适用于所有软件项目的框架(3),再给出各个框架(3)的任务集合,最后是保护伞活动,如软件质量保证、软件配置管理以及测量等。软件过程模型的选择基于项目和应用的特点、采用的(5)和工具、要求的控制和需交付的产品。
A.④ B.③ C.⑥ D. ⑧ E. ② F. ⑤
供选择的答案:A~F.① 工程 ② 公共 ③ 活动 ④ 生存期 ⑤ 方法 ⑥ 工作任务 ⑦ 功能 ⑧ 里程碑
2、从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧内。
由于软件工程有如下的特点,使软件管理比其它工程的管理更为困难。软件产品(2)。(6)标准的过程。大型软件项目往往是(3)项目。(2)的作用是为有效地定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量。在制定计划时,应当对人力、项目持续时间、成本作出(4);(5)实际上就是贯穿于软件工程过程中一系列风险管理步骤。最后,每一个软件项目都要制定一个(1),一旦(6)制定出来,就可以开始着手(5)。
供选择的答案:A. ② B. ⑥ C. ③ D. ② E. ④ F. ① G. ⑥ H. ⑤
A~C. ①可见的 ②不可见的 ③“一次性”④“多次”⑤存在 ⑥不存在
D~H.①进度安排 ②度量 ③风险分析 ④估算 ⑤追踪和控制 ⑥开发计划
3、从供选择的答案中选出与下列有关软件度量叙述相对应的正确答案,将其编号填入到相应的括弧内。 软件的度量包括( A1 )和( B4 )。软件产品的( A 1 )包括产生的代码行数、执行速度等。软件产品的( B )则包括若干质量特性。我们还可进一步将软件度量如右图所示那样分类。软件( C )度量主要关注软件工程过程的结果;( D )度量则指明了软件适应明确和不明确的用户要求到什么程度;( E )度量主要关注软件的一些特性而不是软件开发的全过程。从图中还可看到另一种分类方法:面向( F )的度量用于收集与直接度量有关软件工程输出的信息和质量信息。面向( G )的度量提供直接度量的尺度。面向( H )的度量则收集有关人们开发软件所用方式的信息和人们理解有关工具和方法的效率的信息。
A. ① B. ④ C. ④ D. ① E. ② F. ⑤ G. ⑦ H. ③ ③成本 ④生产率 F~H.①过程 ②对象 ③人 ④存取 ⑤规模 ⑥进程 ⑦功能 ⑧数据
4、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气。通常估算本身带有( A )。项目的复杂性越高,规模越大,开发工作量( B ),估算的( A )就( C )。项目的结构化程度提高,进行精确估算的能力就能( D ),而风险将( E )。有用的历史信息( F ),总的风险会减少。
供选择的答案:A. ③ B. ② C. ⑦ D. ① E. ③ F. ②
A. ①风范(范型)②风格 ③风险 ④度量 B~F.①增加 ②越多 ③降低 ④不变 ⑤越少 ⑥越高 ⑦越大
5、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。
在软件项目估算时,将代码行LOC和功能点FP数据在两个方面使用:一是作为一个估算变量,度量软件每一个( A )的大小;一是联合使用从过去的项目中收集到的( B )和其它估算变量,进行成本和( C )估算。LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的( D )不同。当用( E )作为估算变量时,功能分解是绝对必要且应达到很详细的程度,而用( F )作为估算变量时,分解程度可以不很详细。( E )是直接估算,( F )是间接估算。若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出LOC或FP估计值,记作a, m, b,则LOC或FP 的期望值E的公式为( G ),m是加权的最可能的估计值,遵循( H )。
供选择的答案:A. ③, B. ⑦, C. ⑤, D. ①, E. ②, F. ①, G. ②, H. ③。 A~C.①模块 ②软件项目 ③分量 ④持续时间 ⑤工作量 ⑥进度 ⑦基线数据 ⑧改进数据 D.①详细程度 ②分解要求 ③改进过程 ④使用方法 E,F.①FP ②LOC G.①E = (a+m+b)/3 ②E = (a+4m+b)/6 ③E = (2a+3m+4b)/3 ④ H.①χ概率 ②γ概率 ③β概率 ④泊松
6、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 在考虑各种软件开发资源时,( A )是最重要的资源。如果把软件开发所需的资源画成一个金字塔形:在塔的上层是最基本的资源( A ),在底部为( B )。( B )包括硬件资源和软件资源。( C )、( D )
供选择的答案:A~B.①直接度量 ②尺度度量 ③二元度量 ④间接度量 C~E.①质量 ②技术
和其它硬件设备属于硬件资源。IPSE工具属于软件资源中的( E )。为了提高软件的生产率和软件产品的质量,可建立( F )。
供选择的答案:A. ② B. ③ C. ② D. ④ E. ⑥ F. ⑤
A, B.① 方法 ②人力 ③工具 ④上下文环境 C, D.①虚拟机 ②目标机 ③自动机 ④宿主机 E, F.①维护工具 ②分析设计工具 ③支持工具 ④编程工具 ⑤可复用构件库 ⑥框架工具 ⑦原型化模拟工具
7、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 定义一个人参加劳动时间的长短为( A ),其度量单位为PM(人月)或PY(人年)。而定义完成一个软件项目(或软件任务)所需的( A )为( B ),其度量单位是人月/项目(任务),记作PM(人月)。进一步地,定义单位( A )所能完成的软件( C )的数量为软件( D ),其度量单位为LOC/PM。它表明一般指( E )的一个平均值。例如,一个软件的开发工作量如下表所示。该软件共有源代码2900行,其中, 500行用于测试,2400行是执行( F )的源代码。则劳动生产率是( G ) (LOC/PM)。
供选择的答案:A. ④ B. ② C. ④ D. ① E. ① F. ② G. ④
A, B, D.①生产率 ②工作量 ③成本 ④劳动量E.①开发全过程 ②某开发阶段 ③软件生存期 ④某开发任务
F, C.①软件 ②程序 ③进程 ④产品 G.①520 ②120 ③320 ④240
8、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理。主要按( A )和( B )手段进行。估算的方法分为三类:从项目的整体出发,进行( B )的方法称为( C )估算法。把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为( D )估算法。而把待开发的软件项目与过去已完成的软件项目做类比,区分出类似部分和不同部分分别处理的方法称为( E )估算法。( F )是由多位专家进行成本估算的方法。 供选择的答案:A. ③, B. ①, C. ②, D. ③, E. ①, F. ④ A,B.① 类推 ②类比 ③分解 ④综合
C~F.①差别 ②自顶向下 ③自底向上 ④专家判定技术 ⑤循序渐进⑥比较
10、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。
一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行软件成本估算。程序的名义工作量MM = ( A );程序实际工作量MM = ( B );开发所用的时间TDEV = ( C );如果软件开发人员的工资都按每月6000美元计算,则该软件项目的开发人员的工资总额 = ( D )。 表1 中间COCOMO模型的名义工作量与进度公式
表2 影响工作量的因素fi 的取值 A. ③, B. ②, C. ①, D. ④
供选择的答案:A,B. ① ② ③ ④ C.①月 ②月 ③月 ④月 D.①万美元 ②36万美元 ③万美元 ④万美元
11、从供选择的答案中选出与下列有关软件成本-效益分析叙述相对应的答案,将其编号填入到相应的括弧内。
假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元。3000元是现在投资的钱,5000元是5年内节省的钱,两者不能简单地比较。 假定年利率为12%,利用计算货币现在价值的公式,可以算出该计算机应用系统投入使用后每年预计节省的金额的现在价值。 A. ④, B. ②, C. ③
则该系统的纯收入是( A ),投资回收期是( B ),投资回收率为( C )。
供选择的答案:A.①元 ②元 ③元 ④元 B.①2. 4年 ②年 ③年 ④元 C.①25% ②30% ③20% ④15%
12从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内。
在特定情况下,是否必须进行风险分析,是对项目开发的形势进行( A )后确定的。( A )可以按如下步骤进行:明确项目的目标、总策略、具体策略和为完成所标识的目标而使用的方法和资源;保证该目标是( B ),项目成功的标准也是( B );考虑采用某些条目作为项目成功的( C );根据估计的结果来确定是否要进行风险分析。
一般来说,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面。具体分3步进行。第一步识别潜在的风险项,首先进行( D )过程;第二步估计每个风险的大小及其出现的可能性,选择一种( E ),它可以估计各种风险项的值;第三步进行风险评估。风险评估也有三个步骤:确定( F ),确定( G ),把风险与“参照风险”做比较。
供选择的答案:A. ② B. ① C. ② D. ② E. ③ F. ④ G. ③
A.①风险管理 ②风险估计 ③风险评价 ④风险测试 B.①可度量的 ②不可度量的 ③准确的 ④不确定的 C.①规范 ②标准 ③过程模型 ④ 设计要求 D,E.①信息分类 ②信息收集 ③度量尺度 ④标准 ⑤度量工具 ⑥信息获取 F,G.①风险的范围 ②风险的特性 ③风险的级别 ④风险的评价标准 ⑤风险的排除策略
13、从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内。
风险分析实际上是4个不同的活动,按顺序依次为( A )、( B )、风险评价和( C )。在风险评价时,应当建立一个三元组:[ ri, li, xi ],ri是风险描述,li是( D ),而xi是风险的影响。一个对风险评价很有用的技术是定义( E )。( F )、( G )、( H )是三种典型的( E )。在做风险分析的上下文环境中一个( E )就存在一个单独的点,叫做参照点或( I )。在这个点上要公正底给出判断。实际上,参照点能在图上表示成一条平滑的曲线的情况很少,多数情况它是一个( J )。
供选择的答案:A. ②, B. ③, C. ①, D. ②, E. ①, F. ③, G. ④, H. ⑥, I. ②, J. ④
A~C.①风险驾驭和监控 ②风险识别 ③风险估计 ④风险消除 D.① 风险的大小②风险的概率③风险的时间④风险的范围 E.①风险参照水准②风险度量③风险监控④风险工具
F~H.①生产率 ②功能 ③成本 ④进度 ⑤范围 ⑥性能I, J.①凹点②崩溃点 ③终点 ④区域 ⑤拐点 ⑥原点
14、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括弧内。
任何软件项目都必须做好项目管理工作,最常使用的进度管理工具是( A ),当某一开发项目的进度有可能拖延时,应该( B )。对于一个典型的软件开发项目,各开发阶段需投入的工作量的百分比大致是( C )。各阶段所需不同层次的技术人员大致是( D ),而管理人员在各阶段所需数量也不同,相对而言大致是( E )。
供选择的答案:A.①数据流图 ②程序结构图 ③因果图 ④PERT图
B.①增加新的开发人员 ②分析拖期原因加以补救 ③从别的小组抽调人员临时帮忙 ④推迟预定完成时间 A. ④ B. ② C. ③ D. ③ E. ①
15从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括内。
对于一个小型的软件开发项目,一个人就可以完成需求分析、设计、编码和测试工作。但随着软件项目规模增大,需要有多人共同参与同一软件项目的工作。当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的( A )问题,即通信问题。通信需花费时间和代价,会引起软件错误( B ),( C )软件生产率。如果一个软件开发小组有n个人,每两人之间都需要通信,则共有( D )条通信路径。假设一个人单独开发软件,生产率是5000行/人年,且在每条通信路径上耗费的工作量是250行/人年。若4个人组成一个小组共同开发这个软件,则小组中每个人的软件生产率为( E )。若小组有6名成员,则小组中每个成员的软件生产率为( F )。因此,有人提出,软件开发小组的规模不能太大,人数不能太多,一般在( G )人左右为宜。A. ③ B. ② C. ① D. ② E. ③ F. ② G. ④
供选择的答案:A.①分配 ②管理 ③接口 ④协作 B,C. ①降低 ②增加 ③不变 D.①n(n+1)/2 ②n(n-1)/2 ③n(n-1)(n-2)/6 ④n2/2
E,F. ①4875 ②4375 ③4625 ④5735 G.①8~15 ②1~2 ③2~5 ④2~8
16、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括内。 软件项目的进度管理有许多方法,但( A )不是常用的进度控制图示方法。在几种进度控制图示方法中,( B )难以表达多个子任务之间的逻辑关系,使用( C )不仅能表达子任务之间的逻辑关系,而且可以找出关键子任务。在( C )中,用带箭头的边表示( D ),用圆圈结点表示( E ),它标明( D )的( F )。
供选择的答案::A. ② B. ① C. ③ D. ⑥ E. ③ F. ⑤
A~C.①甘特图 ②IPO ③PERT ④时标网状图 D~F.①数据流②控制流③事件④处理⑤起点或终点 ⑥任务 17从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧内。
软件项目管理的主要职能包括:( A ),建立组织,配备人员,( B )和( C )。由于软件项目的特有性质,使得项目管理存在一定困难。第一、( D ),软件工程过程充满了大量高强度的脑力劳动;第二、( E ),在特定机型上,利用特定的硬件配置,由特定的系统软件和支撑软件支持,形成了特定的开发环境;第三、( F ),软件项目经历的各个阶段都深透了大量的手工劳动,远未达到自动化的程度;第四、( G ),用户要经过专门的培训,才能掌握操作步骤,且需要配备专职维护人员进行售后服务;第五、( H ),为高质量地完成软件项目,充分发掘人员的智力才能和创造精神。
在总结和分析足够数量失误的软件项目之后可知,造成软件失误的原因大多与( I )工作有关。在软件项目开始执行时,执行的过程中及项目进行的最后阶段都会遇到种种问题。
供选择的答案:A. ② B. ④ C. ⑥ D. ② E. ③ F. ⑤ G. ④ H. ① I. ④ A~C.①编码 ②制定计划 ③开发 ④指导⑤ 测试 ⑥检验
D~H.①软件工作渗透了人的因素 ②智力密集,可见性差 ③单件生产 ④使用方法繁琐,维护困难 ⑤劳动密集,自动化程度低 I.① 设计 ②维护 ③测试 ④管理 ⑤实践 ⑥指导 ⑦审核 ⑧分析
18从供选择的答案中选出与下列有关软件项目组织叙述相对应的正确答案,将其编号填入到相应的括弧内。
软件项目组织的原则是( A )、( B )和( C )。一般有( D )、( E )、( F )三种组织结构的模式。( F )实际上是( D )和( E )两种模式的复合。( E )这种模式在小组之间的联系形成的接口较多,但便于软件人员熟悉小组的工作,进而成为这方面的专家。 供选择的答案:A. ② B. ③ C. ⑥ D. ③ E. ④ F. ①
A~C.①推迟责任的落实 ②尽早落实责任 ③减少接口 ④增加联系 ⑤责权分离 ⑥责权均衡
D~F.①矩阵形模式 ②主程序员小组模式 ③按课题划分的模式 ④按职能划分的模式 ⑤民主制小组模式 19从供选择的答案中选出与下列有关软件开发小组叙述相对应的正确答案,将其编号填入到相应的括弧内。
软件开发小组的目的是发挥集体的力量进行软件研制。因此,小组从培养( A )的观点出发进行程序设计消除软件的( B )的性质。通常,程序设计小组的组织形式有三种,如下图所示的a属于( C ),b属于( D ),c属于( E )。 A. ② B. ④ C. ③ D. ② E. ①
供选择的答案:A, B.①“局部”②“全局”③“集体”④“个人” C~E.①层次式小组②民主制小组③主程序员制小组
需求分析
一、填空
1、在软件需求分析阶段,分析人员要确定对软件的综合要求,其中最重要的是功能要求。 2、需求分析阶段产生的最主要的文档是需求规格说明书。 3、解决一个复杂的问题,往往采取的策略是分解。
4、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该软件项目是否能够开发。 5、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。
6、可以从4个方面研究可行性,即技术可行性、经济可行性、社会可行性、( )可行性。 7、结构化分析方法从三个方面建模:数据建模、功能建模、行为建模。 8、实体―关系图用于数据建模,它最初用于数据库设计。
9、数据流图中的每一个加工至少有一个输入数据流和一个输出数据流。 10、状态―迁移图用于行为建模,状态中包含活动,状态因事件发生转移。 11、数据词典中有四类条目,分别为数据流、加工、数据存储、外部实体。 二、单项选择
1、软件需求分析阶段的工作可以划分以下四个方面:对问题的识别、分析与综合、制定需求规格说明和C。
A.总结 B. 阶段性报告C. 需求分析评审D. 以上答案都不正确 2、各种需求分析方法都有它们共同适用的D。 A. 说明方法 B. 描述方法C. 准则 D. 基本原则
3、软件需求分析应从问题的信息域和功能域出发。信息域应包括信息流、信息内容和C。 A. 信息项 B. 数据结构C. 信息结构 D. 信息内容 4、需求分析产生的文档是C。
A. 项目开发计划 B. 可行性分析报告C. 需求规格说明书D. 软件设计说明书 5、需求分析中,分析人员要从用户那里解决的最重要的问题是A。
A. 要让软件做什么B. 要给该软件提供什么信息C. 要求软件工作效率如何D. 要让该软件具有何种结构 6、可行性研究的目的是B。
A.开发项目B.项目值得开发否C.规划项目 D.维护项目 7、技术可行性要解决D。
A. 存在侵权否 B. 成本效益问题C. 运行方式可行 D. 技术风险问题 8、研究开发资源的有效性属于A可行性的一部分。 A. 技术 B. 经济C. 社会 D. 操作
9、在可行性研究过程中,对每一个合理的候选方案,分析人员都应准备如下资料D。
A. 系统流程 B. 组成系统的物理元素清单、成本―效益分析 C. 实现该系统的进度计划 D. 以上全部 10、软件需求分析的任务不应包括C。
A. 问题分析 B. 信息域分析C. 结构化程序设计D. 确定逻辑模型 11、结构化语言、判定表和判定树属于A规格说明的描述工具。 A. 加工B. 控制C. 数据描述 D. 脚本 12、加工激活表属于B规格说明的描述工具。
A. 加工B. 控制C. 数据描述D. 脚本 13、基数和参与性属于C图的描述工具。
A. 控制流B. 数据流C. 实体―关系 D. 状态―迁移
14、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层数据流图描述了系统的B。 A. 细节 B. 输入与输出C. 软件的作者D. 绘制的时间
15、对于分层的数据流图,父图与子图的平衡是指子图的输入、输出数据流同父图的输入、输出数据流A。A. 必须一致 B. 数目必须相等C. 名字必须相同D. 数目必须不等
16、在数据流图的基本图形符号中,加工是以信息结构或B作为加工对象的。 A. 数据结构B. 信息内容C. 信息流 D. 数据内容 17、一个局部数据存储当它作为D时就把它画出来。 A. 某些加工的数据接口 B. 某个加工的特定输入
C. 某个加工的特定输出 D. 某些加工的数据接口或某个加工的特定输入/输出 18、软件需求规格说明书的内容不应包括对B的描述。
A. 主要功能B. 算法的详细过程C. 用户界面及运行环境 D. 软件的性能 19、需求规格说明书的作用不应包括B。 A. 软件设计的依据 B. 软件可行性研究的依据
C. 软件验收的依据 D. 用户和开发人员对软件要做什么的共同理解 20、快速原型化思想是在研究D阶段的方法技术中产生的。 A. 可行性研究 B. 软件设计C. 程序编码 D. 需求分析 21、用于整个开发阶段,及早提供一个原型系统的是D原型。 A. 实验型B. 探索型C. 提交型D. 演化型
22、用于软件设计阶段,考察实现方案是否可行的是C原型。 A. 探索型B. 演化型C. 实验型D. 增量型 三、选择填空
1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。 软件需求分析的任务不应包括( A )。进行需求分析可使用多种工具,但( B )是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是( C )。需求规格说明书的内容不应当包括( D )。该文档在软件开发中具有重要的作用,但其作用不应当包括( E )。 供选择的答案:A.③, B.③, C.①, D.②, E.④
A.①问题分析 ②信息域分析 ③结构化程序设计 ④确定逻辑模型 B.①数据流图 ②判定表 ③PAD图 ④数据词典
C.①要让软件做什么②要给该软件提供哪些信息 ③要求软件工作效率如何 ④要让软件具有什么样的结构
D.①对重要功能的描述 ②对算法的详细过程性描述 ③软件确认准则 ④软件的性能
E.①软件设计的依据 ②用户和开发人员对软件要“做什么”的共同理解 ③软件验收的依据 ④软件可行性分析的依据
2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。 当前系统的(A )模型描述现行系统的实际业务处理过程,反映了现行系统具体( B )的现实。当前系统的( C )模型描述现行系统的功能结构、数据组织以及动态行为,反映了现行系统( D )的本质。
目标系统是指待开发的新系统。根据计算机系统的特点,分析、比较目标系统和当前系统逻辑上的差别,确定目标系统的软件工作范围,采用自顶向下逐步分解的分析策略,确定目标系统的功能结构、数据组织以及动态行为,从而建立起目标系统的( E )模型。 供选择的答案 :A.②, B.①, C.⑤, D.③, E.⑤
A, C, E:①对象②物理③服务④过程⑤逻辑 B, D:①怎么做②何时做③做什么④为何做⑤谁来做 3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。 结构化分析模型从多视角来描述系统。在分析模型的核心是( A ),它描述了所有在目标系统中使用和生成的数据对象。围绕着这个核心有三种图:( B )、( C )和( D )。( B )描述数据对象及其关系,用于建立数据模型;( C )描述数据在系统中如何被传递和变换,用于建立功能模型,同时还需要给出加工规格说明;( D )描述系统对外部事件如何响应,用于建立行为模型,同时还需要给出控制规格说明。 Petri网主要用于描述相互独立,协同操作的处理系统,即( E )的处理系统。
【供选择的答案】A.②, B.⑧, C.④, D.③, E.①
A~D:①对象图 ②数据词典 ③状态迁移图 ④数据流程图 ⑤时序图 ⑥事件追踪图 ⑦控制流程图 ⑧实体关系图 ⑨仿真图 ⑩行为图 E:①并发执行 ②事件驱动 ③时钟驱动 ④随机执行 ⑤顺序执行
4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。 软件需求分析方法必须能够理解和表达问题领域的信息域和功能域。信息域包括(A)、(B)和(C)。 ( A )表示数据和控制在系统中传递时的变化方式。输入对象首先被变换成数据和控制的( D )信息,然后再变换成输出结果信息。
( B )表示信息在计算机中的组织形式。各种数据和控制对象按什么逻辑关系组织在一起,又按什么物理关系存储在计算机中,必须靠( B )分析来解决。
( C )可以利用数据词典明确地表示,也可以通过数据或数据对象的层次结构隐含地表示。 对数据进行变换就是程序所表现的功能。两个功能之间的数据传递确定了功能之间的( E )。 【供选择的答案】A.⑦, B.②, C.⑥, D.③, E.②
A~C:①信息属性 ②信息结构 ③信息服务 ④信息通信 ⑤信息抽象 ⑥信息内容 ⑦信息流 ⑧信息层次 ⑨信息项 ⑩信息行为 D~E:①连接 ②接口 ③中间 ④通讯 ⑤联系
5、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。它从用户界面的开发入手,首先形成( B ),用户( C ),并就( D )提出意见,它是一种( E )型的设计过程。
供选择的答案:A.① B.③ C.④ D.① E.①
A. ①需求不确定性高的 ②需求确定的 ③管理信息 ④决策支持
B. ①用户界面使用手册 ②用户界面需求分析说明书 ③系统界面原型 ④完善的用户界面 C. ①改进用户界面的设计 ②阅读文档资料 ③模拟用户界面的运行 ④运行用户界面原型
D. ①同意什么和不同意什么 ②使用和不使用哪一种编程语言 ③程序的结构 ④执行速度是否满足要求
E. ① 自外向内 ② 自顶向下 ③ 自内向外 ④ 自底向上
面向对象
一、填空题
1、面向对象的特征是对象唯一性、分类性、继承性和多态性 。 2、面向对象有三个基本要素,它们是抽象、封装性和共享性。 3、类具有属性,它是对象状态的抽象,用数据结构来描述类的属性。 4、类具有操作,它是对象行为的抽象,用操作名和操作方法实现来描述。
5、在类层次中,子类只继承一个父类的属性和方法,则称为单继承。子类继承了多个父类的属性和方法,则称为多继承。
6、OMT方法是RumBaugh等人提出的面向对象开发方法。开发工作的基础是对现实世界的对象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计。
7、Coad和Yourdon方法完成了从需求角度出发的对象和分类结构认定工作,面向对象设计可以在此基础上,从设计的角度进一步进行类和类层次结构的认定。
8、Booch方法通过分析问题陈述正文,将其中的名词映射为对象,将其中的动词映射为方法,从而为对象和方法的认定提供了一种简单的策略,虽然Booch方法原是面向Ada的语言,但仍处于面向对象开发方法的奠基性地位。
9、UML不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终成为为国际对象组织(OMG)认可的同一建模语言。
10、在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般化—特殊化关系和整体-部分关系。
11、在面向对象设计中存在三种内聚,即操作内聚、类内聚和一般化-特殊化内聚。 二、单选填空题
1、对象是面向对象开发方法的基本成分,每个对象可用它本身的一组C和它可以执行的一组操作来定义。 A. 服务 B. 参数 C. 属性 D. 调用
2、在面向对象方法中,把一组具有相同数据结构和相同操作的对象的集合定义为B。此定义包括一组数据属性和在数据上的一组合法操作。 A. 聚合 B. 类C. 结构 D. 主题
3、面向对象技术的许多强有力的功能和突出的优点都来源于把系统组织成一个类的层次结构。一个类的上层可以有父类,下层可以有子类。这种系统的类层次结构的一个重要性质是D,通过它,一个类可共享其父类的全部数据和操作。
A. 传递性 B. 复用性 C. 并行性 D. 继承性
4、一个面向对象软件的体系结构通过它的成分对象及各对象之间的关系来确定,与传统的结构化开发方法相比,它具有A的优点。
A. 设计稳定 B. 性能稳定 C. 模块独立 D. 硬件独立
5、封装性是指所有软件部件都有明确的范围以及清楚的外部边界。每个软件部件都有友好的B,软件部件的内部实现和外部使用分离。 A. 使用方式 B. 界面 C. 调用 D. 继承
6、属性指的是类中对象具有的特性(数据)。不同对象的同一属性可具有相同的或不同的A。 A. 属性值 B. 操作C. 服务 D. 控制
7、操作是类中对象所使用的一种功能或变换。类中的各个对象可以共享操作,方法是类中操作的B。 A. 别名 B. 实现步骤 C. 功能 D. 脚本
8、A应当在应用分析之前进行,因为我们在了解问题之前应对问题敞开思想考虑,不应加以限制。 A. 论域分析B. 高层设计C. 实例建立D. 类的开发
9、应用程序可以通过执行对象的操作来改变对象的属性值,但它必须通过C的传递。 A. 接口 B. 控制 C. 消息 D. 实例
10、在软件开发过程中,抽取和整理用户要求并建立问题论域精确模型的过程叫做D。 A. 生存期 B. 面向对象分析C. 面向对象程序设计 D. 面向对象设计
11、Rumbaugh等人提出的对象模型化技术OMT把分析时收集到的信息组织在三种模型中,即对象模型、动态模型和C。
A. 信息模型 B. 控制模型 C. 功能模型 D. 行为模型
12、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构。它是从现实世界实体的相互关系的角度来描述、表现对象间的相互关系。该模型主要关心系统中对象的结构、属性和操作,使用了B的工具来刻划。
A. E-R图 B. 对象图 C. 系统流程图 D. 系统结构图
13、组装关系是一种“整体-部分” 关系。在这种关系中,有整体类和部分类之分。组装关系中最重要的
性质是D,它还具有逆对称性。
A. 局部性 B. 完整性 C. 一致性 D. 传递性
14、分类关系是“一般化-特殊化”关系。一般化类又称为父类,特殊化类又称为子类。分类关系和C是同时存在的。
A. 传递性 B. 逐步求精 C. 继承性 D. 全局性
15、继承有单继承和多继承。单继承指的是子类只有一个父类,在一个类层次结构中若只有单继承,则该类层次结构是树形结构。多继承指的是子类可以有多个父类,在一个类层次结构中若有多继承,则该类层次结构是C层次结构。
A. 树形 B. 星形 C. 网状 D. 环形
16、动态模型描述与时间和变化有关的系统的性质。该模型描述了系统的控制结构,表示了瞬时的行为化的系统控制性质,它关心的是系统的控制、操作的执行顺序。它从系统涉及的事件和对象的A出发,表现了对象及对象间的相互行为。 A. 状态B. 属性C. 操作D. 控制
17、动态模型描述的系统属性是触发事件、事件序列、状态、事件和状态的组织。使用A作为描述工具。 A. 状态图B. 顺序图C. 活动图 D. 进程图
18、功能模型用来说明值是如何计算的,表明值之间的依赖关系及其相关的功能。数据流图有助于表示功能依赖关系,其中的处理对应于状态图中的活动和动作,数据流对应于对象图中的B。 A. 实例连接B. 对象或属性C. 消息传递D. 关联
19、操作与对象模型中的属性和关联的查询有关,与动态模型中的A有关,与功能模型中的加工有关。 A. 事件B. 状态C. 变换D. 处理
20、面向对象设计阶段中的高层设计是要确定实现系统的策略和目标系统的A。 A. 体系结构B. 算法设计C. 类结构D. 类设计
21、面向对象设计阶段中的类设计是要确定实现方案中的类、关联和接口形式及实现操作的D。 A. 逻辑B. 顺序C. 控制 D. 算法
22、状态是对象属性值的抽象,状态指明了对象对A的响应。 A. 输入事件 B. 输入信息 C. 输入数据 D. 输入序列
23、活动是一种有时间间隔的操作,它是依附于状态的操作。动作是一种瞬时操作,它是与B联系在一起的操作。
A. 时间 B. 事件 C. 控制 D. 状态
24、事件可以看成是信息从一个对象到另一个对象的单向传送。因此要确定各事件的发送对象和接收对象。A用来表示事件、事件的接收对象和发送对象。 A. 事件追踪图 B. 进程图 C. 脚本 D. 状态序列图 三、选择填空题
2、从供选择的答案中选出与下面有关面向对象范型的叙述最适合的答案,将其编号填入相应的括号内。 对象是面向对象范型的( A )。每个对象可用它自己的一组( B )和它可以执行的一组( C )来表征。应用执行对象的( C )可以改变该对象的( B )。它的应用必须通过( D )的传递。可以认为,这种( D )的传递大致等价于过程性范型中的函数调用。某些语言提供了特殊功能,允许对象引用自己。若一个对象没有显式地被引用,则可让该对象( E )。 供选择的答案:A①B⑤C.③D.②E.③
A.①基本单位 ②最小单位 ③最大单位 ④语法单位 B~C. ①行为 ②功能 ③操作 ④数据 ⑤属性 D.①接口 ②消息 ③信息 ④操作 ⑤过程 E.①撤消 ②歇着 ③缺省 ④隐式引用 ⑤引用自己 3、从供选择的答案中选出与下面有关面向对象开发过程的叙述最适合的答案,将其编号填入相应的括号内。 在面向对象软件开发过程中特别重视复用。软件构件应独立于当初开发它们的应用而存在。在以后的应用开发中,可以调整这些独立构件以适应新问题的需要。因此,应使得类成为一个( A )的单元。这样
就有一个( B )生存期问题。( B )生存期有自己的步骤,与任一特定应用的开发( C )。按照这些步骤,可以完整地描述一个基本( D )。而不仅仅考虑当前正在开发的系统。系统开发的各个阶段都可能会标识新的类。随着各个新类的标识,( B )生存期引导开发工作逐个阶段循序渐进。
在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的三个可能途径是:( E )复用既存类;对既存类进行( F )以得到满足要求的类;重新开始进行开发。 供选择的答案:A.①,B.③,C.④,D.②,E.③,F.④
A.①可复用 ②可测试 ③可适用 ④可靠 B. ①应用 ②寿命 ③类 ④软件
C. ①相关②密切相关③负相关④无关D.①概念②实体③事件④事情 E, F. ①修改 ②更新 ③照原样 ④演化
7、从供选择的答案中选出与下面的叙述最适合的答案,将其编号填入相应的括号内。
从分析到设计的过程流如图所示。一旦已经开发完成一个合理完整的( A )模型后,就要着手( B )的设计。这需要描述( B )的特征,以准确表达待实现的用户需求,以及实现需求所必须的支持环境。一旦定义了各个( B ),就开始( C )设计,这时,可利用CRC卡片,将属性转换为( D ),将关系转换为( E )。
供选择的答案:A.①,B.④,C.⑤,D.②,E.④
A~C. ①分析 ②系统设计 ③模块设计 ④子系统设计 ⑤对象设计 ⑥数据设计 ⑦操作设计 ⑧行为设计 D~E. ①对象 ②数据结构 ③算法 ④消息传递 ⑤控制 ⑥并发处理 ⑦进程 ⑧过程
8、从供选择的答案中选出与下面有关面向对象分析的叙述最适合的答案,将其编号填入相应的括号内。 由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。第一个模型是( A ),它的作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系。第二个模型是( B ),它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况。( B )包括两种图, 即( C )和( D )。( C )描述每一类对象的行为,( D )描述发生于系统执行过程中的某一特定场景。第三个模型是( E ),它着重
于描述系统内部数据的传送与处理,它由多个数据流图组成。 A.⑦B.⑥C.③D.⑥E.② 供选择的答案:A,B,E:①数据模型 ②功能模型 ③行为模型 ④信息模型⑤原型 ⑥动态模型 ⑦对象模型 ⑧逻辑模型⑨控制模型 ⑩仿真模型 C,D:①对象图 ②概念模型图 ③状态迁移图 ④数据流程图⑤时序图 ⑥事件追踪图 ⑦控制流程图 ⑧逻辑模拟图 ⑨仿真图 ⑩行为图
9、从供选择的答案中选出与下面有关面向对象设计的叙述最适合的答案,将其编号填入相应的括号内。 在面向对象软件设计过程中,应按如下要求进行类的设计:只有类的共有界面的成员才能成为使用类的操作,这就是软件设计的( A )原则。当且仅当一个操作对类的实例的用户有用时,它才是类公共界面的一个成员,这是软件设计的( B )原则。由同属一个类的操作负担存取或加工类的数据,这是软件设计的( C )原则。两个类之间的交互应当仅涉及参数表,这是软件设计的( D )原则。每个派生类应该当做基类的特殊化来开发,而基类所具有的公共界面成为派生类的共有界面的一个子集,这是软件设计的( E )原则。
供选择的答案:A.③B.②C.③D.①E.⑤\\
A:①过程抽象 ②功能抽象 ③信息隐蔽 ④共享性 ⑤连通性 B:①标准调用 ②最小界面 ③高耦合 ④高效率 ⑤可读性 C:①数据抽象 ②低内聚 ③高内聚 ④低复杂度⑤低强度
D:①显式信息传递 ②高内聚 ③低内聚 ④相互操作性 ⑤连接性 E:① 动态联编 ②异质表 ③信息隐蔽 ④多态性 ⑤继承性
10、从供选择的答案中选出与下面有关面向对象程序设计的叙述最适合的答案,将其编号填入相应的括号内。
面向对象的程序设计语言具有数据抽象、信息隐蔽、( A )等特征。作为运算单位的对象应具有下列特
性:( B )、( C )、( D )。( E )是面向对象的语言。 A .④B.①C.③D.④E.① 供选择的答案:A:①对象调用 ②对象变换 ③非过程性 ④信息继承 ⑤并发性 B~D ①对象把数据和处理数据的操作结合为一体 ②在程序运行时对象都处于活动状态
③对象在计算中可向其他对象发送消息 ④接受消息的对象必须给消息发送者以回答 ⑤ 对象的内部状态只根据外部送来的消息才操作
E:①C++,SMALLTALK,object C ②C,Ada,Modula2 ③PASCAL,C++,APL ④Ada,object C,C
软件设计
一、填空
1、软件设计是要把描述软件“做什么”的逻辑模型转换为描述“怎么做”的物理模型,即着手实现软件的需求,并将设计结果记入软件设计说明书文档中。
2、软件程序系统结构的设计是以模块为基础的。以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。
3、数据库的设计指数据存储文件的设计,主要进行概念、逻辑、物理的设计。
4、在数据处理系统的功能分析与设计过程中同时要进行数据分析和数据设计,数据库的概念设计和逻辑设计分别对应于系统开发的需求分析与概要设计,而数据库的物理设计与模块的详细设计相对应。 5、在软件的系统结构中,模块是可组合、可分解和可更换的单元。模块的基本属性包括功能、逻辑、接口和状态。
6、模块内聚与耦合是模块独立性的两个定性标准。在划分模块时,应尽可能作到低内聚、高耦合。 7、一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽可能靠近。
8、如果模块之间耦合性太高,每个模块内功能不复杂,可将它们合并,以减少信息的传递和数据公用区的引用。若有多个相关的模块,应对它们的功能进行分析,消去重复的功能。 二、单项选择题
1、结构化设计方法(SD)与结构化分析方法(SA)一样,遵循C的模型,采用自顶向下,逐步细化的技术。通常SD方法继续SA的工作,根据数据流图设计程序的结构。 A. 实体-关系B. 快速原型C. 抽象D. 瀑布 2、结构化设计在软件开发中用于B。
A. 测试设计B. 概要设计C. 程序设计D. 详细设计
3、D把已确定的软件需求转换成特定形式的软件表示,使其得以实现。 A. 系统设计B. 逻辑设计C. 详细设计D. 软件设计
4、在进行软件模块结构设计时应当遵循的最主要的准则是C。 A. 抽象 B. 模块化C. 模块独立D. 信息隐蔽
5、A是数据说明、可执行语句等程序对象的集合,它是单独命名的并可通过名字访问。 A. 模块B. 复合语句C. 程序块D. 数据块 6、模块C,则说明模块的独立性越强。
A. 耦合越强B. 扇入数越高C. 耦合越弱 D. 扇入数越低 7、模块之间的信息可以做“控制信息”用,也可以作为D用。 A. 控制流B. 数据结构C. 控制结构D. 数据
8、A数据处理问题的工作过程大致分为三步:即取得数据、变换数据和输出数据。 A. 变换型B. 事务型C. 演化型 D. 结构化
9、在多层系统结构图中,其模块的层次数称为结构图的A。 A. 深度B. 宽度C. 控制域D. 粒度
10、C着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。
A. 程序流程图B. 数据流图C. 系统结构图D. 实体关系图
11、C是指把一些关系密切的软件元素物理地放置到彼此靠近的位置。 A. 信息隐蔽B. 内聚C. 局部化D. 模块独立
12、块间联系和块内联系是评价程序结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和界面的C等因素决定了块间联系的大小。 A. 友好性B. 健壮 C. 清晰性D. 安全性 13、为了提高模块的独立性,模块之间最好是D。 A. 公共耦合B. 控制耦合C. 内容耦合D. 数据耦合 14、为了提高模块的独立性,模块内部最好是 C。 A. 逻辑内聚B. 时间内聚C. 功能内聚D. 通信内聚 15、从下列有关系统结构图的叙述中选出正确的叙述D。 A. 系统结构图中反映的是程序中数据流的情况。
B. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用 C. 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。
D. 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。 三、选择填空
1、软件的开发工作经过需求分析阶段,进入( A )以后,就开始着手解决“怎么做”的问题。常用的软件设计方法有( B )、( C )、( D )和( E )等方法。A.②, B.⑤, C.①, D.①, E.③。D与E的答案可互换
供选择的答案:A~B.①程序设计 ②设计阶段 ③总体设计 ④定义阶段 ⑤SD方法 ⑥SP方法 C.①Jackson方法 ②瀑布法 ③快速原型法 ④回溯法
D~E. ①CP(Wanier)方法 ②递归法 ③Parnas方法 ④自下而上修正 ⑤逐步求精法 ⑥检测校正法 2、请将下述有关模块独立性的各种模块之间的耦合,按其耦合度从低到高排列起来。③⑤④②⑥⑦① ①内容耦合 ②控制耦合 ③非直接耦合 ④标记耦合 ⑤数据耦合 ⑥外部耦合 ⑦公共耦合
3、请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来。③⑥④⑦②⑤① ①巧合内聚 ②时间内聚 ③功能内聚 ④通信内聚 ⑤逻辑内聚 ⑥信息内聚 ⑦过程内聚
4、从供选择的答案中选出正确的答案填入下列叙述中的( )内。A.⑤, B.⑦, C.③, D.④, E.① 模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。
(1) 一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(A)的。
(2) 将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是( B )的。
(3) 模块中所有成分引用共同的数据,该模块的内聚性是( C )的。
(4) 模块内的某成份的输出是另一些成份的输入,该模块的内聚性是( D )的。
(5) 模块中所有成份结合起来完全一项任务,该模块的内聚性是( E )的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。 供选择的答案:
A~E:①功能内聚 ②信息内聚 ③通信内聚 ④过程内聚 ⑤巧合内聚 ⑥时间内聚 ⑦逻辑内聚 5、从供选择的答案中选出正确的答案填入下面的( )中。
块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的( A )等因素决定了块间联系的大小。在块内联系中,( B )的块内联系最强。 SD方法的总的原则是使每个模块执行( C )功能,模块间传送( D )参数,模块通过( E )语句调用其它模块,而且模块间传送的参数应尽量( F )。
此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。SD方法认为,( G )应该是( H )的子集。
供选择的答案:A.③, B.②, C.①, D.①, E.②, F.①, G.①, H.②
A:①友好性 ②健壮性 ③简单性 ④安全性B:①巧合内聚 ②功能内聚 ③通信内聚 ④信息内聚 C:①一个 ②多个D:①数据型 ②控制型 ③混合型E:①直接引用 ②标准调用 ③中断 ④宏调用 F:①少 ②多G~H:①作用范围 ②控制范围
6、从供选择的答案中选出应该填入下列关于软件设计的叙述的( )内的正确答案。
在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的( A )方法及编程阶段的( B )方法前后衔接,SD方法是考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准——块间联系和块内联系。SD方法的最终目标是( C ),用于表示模块间调用关系的图叫( D )。
另一种比较著名的设计方法是以信息隐蔽为原则划分模块,这种方法叫( E )方法。 供选择的答案:A.②, B.⑤, C.③, D.③, E.② A~B:①Jackson ②SA ③SC ④Parnas ⑤SP
C: ①块间联系大,块内联系大 ②块间联系大,块内联系小 ③块间联系小,块内联系大 ④块间联系小,块内联系小
D:①PAD ②HCP ③SC ④SADT ⑤HIPO ⑥NS E:①Jackson ②Parnas ③Turing ④Wirth ⑤Dijkstra 7、从供选择的答案中选出应该填入下列关于软件详细设计的叙述的( )内的正确答案。
软件详细设计工具可分为三类,即:图示工具、设计语言和表格工具。图示工具中,( A )简单而应用广泛、( B )表示法中,每一个处理过程用一个盒子表示,盒子可以嵌套。( C )可以纵横延伸,图形的空间效果好。
( D ) 是一种设计和描述程序的语言,它是一种面向( E )的语言。A.②, B.①, C.④, D.②, E.① 供选择的答案: A~C:①NS图 ②流程图 ③HIPO图 ④PAD图 D:①C ②PDL ③RPOLOG ④PASCAL E: ① 人 ② 机器 ③ 数据结构 ④ 对象
8、Jackson结构化程序设计方法(JSP)是英国人M. Jackson提出的,它是一种面向( A )的设计方法,主要适用于规模适中的( B )系统的开发,其基本步骤依次为( C )、 ( D ) 、( E ) 。 供选择的答案:A.③B.①C.①D.③E.②
A:①对象 ②数据流 ③数据结构 ④控制结构 B:①数据处理 ②文字处理 ③实时控制 ④科学计算 C~E:①建立数据结构 ②列出基本操作 ③建立程序结构 ④建立控制结构 ⑤建立对象 9、从供选择的答案中选出应该填入下列关于软件设计的叙述的( )内的正确答案。
在完成软件概要设计,并编写出相关文档之后,应当组织对概要设计工作的评审。评审的内容包括: 分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成份是否可( A )到某一项需求。分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足( B )和( C )的要求。模块( D )是否在其( E )之内。 供选择的答案A.③, B.②, C.③, D.①, E.⑤
A:①覆盖 ②演化 ③追溯 ④等同 ⑤连接 B:①多功能 ②高内聚 ③高耦合 ④高效率 ⑤可读性 C:①多入口 ②低内聚 ③低耦合 ④低复杂度 ⑤低强度 D~E:①作用范围 ②高内聚 ③低内聚 ④取值范围 ⑤控制范围
程序编码
一、填空
1、软件详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易懂。结构化程序设计是实现该目标的关键技术之一;它指导人们用良好的思想方法开发易于理解、易于验证的程序。
2、结构化程序设计方法的基本要点是:① 采用自顶向下、逐步细化的程序设计方法;② 使用三种基本结
构构造程序,避免GOTO语句的使用;③数据结构合理化。
3、任何程序都可由顺序、选择和重复等三种基本控制结构构造。这三种基本控制结构的共同点是单入口和单出口。
4、程序设计风格是人们编写程序的特点、习惯和逻辑思路等。 5、语句构造的原则是简单,直接不能因为追求效率而使代码复杂化。 6、追求效率建立在不损害程序可读性或可靠性的基础上。
7、提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构和算法,而不是靠编程时对语句进行调整。
8、为开发一个特定的项目选择程序设计语言时,必须从心理特性、工程特性和技术性能特性等几方面考虑。 9、通常考虑选用程序设计语言的因素有项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性和软件开发人员的知识。 二、单项选择题
1、在编制程序时应采纳的原则之一是D。
A. 不限制 goto语句的使用 B. 减少或取消注解行C. 程序越短越好 D. 程序结构应有助于读者理解 2、一个程序如果把它作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这是一个B。 A. 结构化程序 B. 组合的过程C. 自顶向下程序设计 D. 分解过程 3、程序控制一般分为B、分支和重复等三种基本控制结构。 A. 分块B. 顺序C. 迭代D. 循环
4、将非结构化的程序转换为结构化程序的过程中,下面D不适用于具有重复结构的程序。 A. 重复编码法 B. 状态变量法C. 布尔标记法 D. 全部方法 5、以下说法正确的是B。
A. 所有改变循环条件的成分都在循环体外 B. 在直到型循环中,循环体至少要执行一次 C. 在当型循环中,循环体至少要执行一 D. 基本程序结构不允许嵌套 6、源程序文档化要求在每个模块的首部加序言性注释。该注释的内容不应有B。 A. 模块的功能 B. 语句的功能C. 模块的接口 D. 扇入数越低 7、功能性注释的作用是解释下面的语句B。
A. 怎么做 B. 做什么C. 何时做 D. 为何做 8、对于不好的程序,应当C
A. 打补丁 B. 修改错误C. 重新编写 D. 原封不动 9、程序设计语言的心理特性在语言中表现不应包括C。 A. 二义性 B. 简洁性C. 保密性 D. 传统性 10、程序设计语言的工程特性之一表现在A。
A. 软件的可复用性 B. 数据结构的可描述性C. 抽象类型的可描述性 D. 数据库的易操作性 11、程序设计语言的技术特性不应包括D。
A. 数据结构的可描述性 B. 抽象类型的可描述性C. 数据库的易操作性 D. 软件的可移植性 12、Lipow证明了:当源程序少于100个语句时,每行代码的出错率随程序行数的增长A。 A. 呈线性相关关系 B. 呈指数方式增长C. 呈对数方式增长 D. 没有一定规律 三、选择填空题
1、从下列关于模块化程序设计的叙述中选出5条正确的叙述。 (×)(1) 程序设计比较方便,但比较难以维护。 (√ )(2) 便于由多个人分工编制大型程序。 (√ )(3) 软件的功能便于扩充。 (√ )(4) 程序易于理解,也便于排错。
(× )(5) 在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
(× )(6) 模块之间的接口叫做数据文件。
(√ )(7) 只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。 (√ )(8) 模块间的单向调用关系叫做模块的层次结构。
(× )(9) 模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。
2、从下列叙述中选出5条符合程序设计风格指导原则的叙述。(1)、(3)、(5)、(7)、(9)是正确的 (1) 嵌套的重数应加以限制。 (2) 尽量多使用临时变量。 (3) 不滥用语言特色。 (4) 不用可以省略的括号。 (5) 使用有意义的变量名。 (6) 应尽可能把程序编得短些。
(7) 把常见的局部优化工作留给编译程序去做。 (8) 注解越少越好。
(9) 程序的格式应有助于读者理解程序。 (10) 应尽可能多用GOTO语句。
3、从下面关于程序编制的叙述中,选出三条正确的叙述。(1)、(4)、(6) 是正确的
(1) 在编制程序之前,首先必须仔细阅读给定的程序说明书。然后,必须如实地依照说明书编写程序。说明书中常会有含糊不清或难以理解的地方。程序员在作业时应该对这些地方作出适当的解释。
(2) 在着手编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又易于出错的编写方法。 (3) 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要象写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等。
(4) 考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作。只要有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系。
(5) 编制程序时不可缺少的条件是,程序的输入和输出数据的格式都应确定。其他各项规定都是附带的,无足轻重。
(6) 作为一个好的程序,不仅处理速度要快,而且易读易修改等等也都是重要的条件。为了能得到这样的程序,不仅要熟悉程序设计语言的语法,还要注意采用适当的规程和单纯的表现方法,注意使整个程序的结构简洁。
4、从供选择的答案中选出应该填入下面 ( ) 中的正确答案。 A. 允许用户建立、修改、存储正文的计算机程序是( ② )。 ① BOOtstrap
② Editor ③ Loader
④ Textformatter
④ 不能确定
B. 程序语言的编译系统和解释系统相比,从用户程序的运行效率来看 ( ① )。 ① 前者运行效率高① COBOL① BASIC
② 两者大致相同 ③ 后者运行效率高
④ PL/1 ④ C
C. FORTRAN语言的源程序是( ① )结构。
② BASIC ③ FORTRAN② ALGOL ③ FORTRAN
E. 国际上最流行的数值计算的程序设计语言是( ③ )。
F. 美国国防部主持开发了高级程序设计语言Ada,在它研制开始时,经反复比较,确定以高级语言( ② )作为Ada研究的出发点。 ① LISP① Ada
②ALGOL ③ ALGOL68② FORTRAN ③ COBOL
④ PL/1 ④ LISP
G. 在人工智能领域,目前最广泛使用的高级语言是( ④ )。 5、从供选择的答案中选出应该填入下面( )中的正确答案。 A. 汇编程序是指( ③ )。
① 用汇编语言写的程序② 符号程序 ③ 汇编语言的处理程序
B. 为了实现递归子程序的正确调用,人们必须用( ① )来保存( ⑥ )及有关信息。 ①堆栈 ②线性表 ③队列 ④树 ⑤入口点 ⑥返回地址 ⑦断点
C. UNIX操作系统是( ① )研制的,它是用程序语言( ⑦ )书写实现的。 ①Bell实验室 ②DEC公司 ③IBM公司 ④PASCAL ⑤并发PASCAL ⑥MODULA ⑦C 6、从供选择的答案中选出适当的字句填入下面关于程序生产率的描述中的( )内。 A. ⑤, B. ②, C. ③, D. ①, E. ③
(1) 1960年底Dijkstra提倡的 ( A ) 是一种有效的提高程序设计效率的方法。
(2) Dijkstra为了使程序结构易于理解,把基本控制结构限于顺序、( B )、( C )3种,应避免使用( D )。
(3) ( A )不仅提高程序设计的生产率,同时也容易进行程序的( E )。
供选择的答案:A.①标准化程序设计 ②模块化程序设计 ③多道程序设计 ④宏语言 ⑤结构化程序设计 ⑥汇编语言 ⑦ 表格处理语 B~C. ①分支
软件测试
一、填空
1、软件测试阶段的基本任务应当是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一批“高产”的测试用例,利用这些测试用例执行程序,找出软件中潜藏的各种错误和缺陷。
2、测试用例不仅要选用合理的测试输入数据,还需要选用不合理的测试输入数据,这样能更多地发现错误,提高程序的可靠性。对于不合理的测试输入数据,程序应拒绝执行,并给出相应的提示。 3、动态测试指通过运行程序发现错误。对软件产品进行动态测试时使用黑盒测试法和白盒测试法。 4、静态测试指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
5、黑盒测试依据软件需求规格说明,检查程序是否满足功能要求。因此,黑盒测试由称为功能测试或数据驱动测试。
6、白盒测试以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,程序的运行状态与预期的状态是否一致。
7、在基本路径测试中,独立路径是指包括一组以前没有处理过的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条上层调用模块的边的路径。
8、在单元测试中,驱动模块的作用是用来模拟被测模块的主程序。它的工作是接受测试输入数据,以上层模块调用被测模块的形式驱动被测模块,接收被测模块的实测结果并输出。
9、在单元测试中,桩模块用来代替被测模块的子模块。其作用是返回被测模块所需的信息。 10、错误的群集现象是指模块错误发现率与模块的残留错误数成正比关系。 二、选择题
1、在软件测试中,下面说法中错误的是A。
A. 测试是为了发现程序中的错误而执行程序的过程 B. 测试是为了表明程序是正确的 C. 好的测试方案是极可能发现迄今为止尚未发现的错误的方案 D. 成功的测试是发现了至今为止尚未发现的错误的测试 2、软件测试的目的是B。
A. 试验性运行软件 B. 发现软件错误C. 证明软件正确 D. 找出软件中全部错误 3、软件测试用例主要由测试输入数据和C两部分组成。
A. 测试计划 B. 测试规则C. 测试的预期结果 D. 以往测试记录分析 4、与设计测试用例无关的文档是A。
②选择 ③重复 ④计算 ⑤输入输出
D.①GOTO语句②DO语句 ③ IF语句 ④REPEAT语句 E.①设计 ②调试 ③维护 ④编码
A. 项目开发计划 B. 需求规格说明书C. 软件设计说明书 D. 源程序
5、软件测试是软件质量保证的主要手段之一,测试的成本已超过A的30%以上。因此,提高测试的有效性非常重要。
A. 软件开发成本 B. 软件维护成本C. 软件开发成本和维护成本 D. 软件研制成本 6、“高产”的测试是指C。
A. 用适量的测试用例说明被测试程序正确无误 B. 用适量的测试用例说明被测试程序符合相应的要求 C. 用适量的测试用例发现被测试程序尽可能多的错 D. 用适量的测试用例纠正被测试程序尽可能多的错误
7、如果想要进行成功的测试,为其设计测试用例主要依赖于B。
A. 黑盒测试方法 B. 测试人员的经验C. 白盒测试方法 D. 错误推测法 8、使用白盒测试方法时,确定测试数据应根据A和指定的覆盖标准。 A. 程序的内部结构 B. 程序的复杂性C. 使用说明书 D. 程序的功能
9、在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等。其中D是最强的覆盖准则。
A. 语句覆盖 B. 条件覆盖C. 判定-条件覆盖 D. 路径覆盖 10、在设计测试用例时,A是用得最多的一种黑盒测试方法。 A. 等价类划分 B. 边界值分析C. 因果图 D. 功能图
11、在黑盒测试中,着重检查输入条件的组合的测试用例设计方法是D。 A. 等价类划分 B. 边界值分析C. 错误推测法 D. 因果图法
12、从下列叙述中,能够与软件开发各阶段,如需求分析、设计、编码相对应的软件测试是B。 A. 组装测试、确认测试、单元测试 B. 单元测试、组装测试、确认测试 C. 单元测试、确认测试、组装测试 D. 确认测试、组装测试、单元测试 13、单元测试将根据在D阶段中产生的规格说明进行。
A. 可行性研究与计划 B. 需求分析C. 概要设计 D. 详细设计 14、组装测试计划是在C阶段制定的。
A. 可行性研究与计划 B. 需求分析C. 概要设计 D. 详细设计 15、确认测试计划是在B阶段制定的。
A. 可行性研究与计划 B. 需求分析C. 概要设计 D. 详细设计 16、软件的组装测试最好是由D承担,以提高组装测试的效果。
A. 该软件的设计者 B. 该软件开发组的负责人C. 该软件的编程者 D. 不属于该开发组的人员 17、D是简化了的模拟较低层次模块功能的虚拟子程序。 A. 过程 B. 函数C. 仿真 D. 桩
18、A是指为查明程序中的错误和缺陷,可能使用的工具和手段。 A. 调试技术 B. 测试技术C. 跟踪法 D. 动态测试
19、从已发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为C。 A. 错误检测 B. 故障排除C. 调试 D. 测试
20、在程序设计的过程中应为程序调试做好准备,主要体现在D方面。
A. 采用模块化、结构化的程序设计方法设计程序 B. 编写程序时要为程序调试提供足够的灵活性 C. 根据程序调试的需要,选择并安排适当的中间结果输出和必要的断 D. 以上全是 21、统计资料表明,软件测试的工作量占整个软件开发工作量的C。 A. 30% B. 70% C. 40%~50% D. 95% 22、软件测试计划是一些文档,它们描述了D。
A. 软件的性质 B. 软件的功能和测试用例 C. 软件的规定动作 D. 对于预定的测试活动将要采取的手
段
23、IBM公司的统计资料表明,使用静态测试的方法最高可以查出在测试中查出的全部软件错误的B。 A. 80% B. 70% C. 50% D. 35% 24、黑盒测试方法的优点是D。
A.可测试软件的特定部位 B.能站在用户立场测试C.可按软件内部结构测试 D.可发现实现功能需求中的错误
25、白盒测试方法的优点是C。
A.可测试软件的特定部位 B.能站在用户立场测试C.可按软件内部结构测试 D.可发现实现功能需求中的错误
26、等价类划分完成后,就可得出C,它是确定测试用例的基础。 A. 有效等价类 B. 无效等价C. 等价类表 D. 测试用例集 27、由因果图转换出来的A是确定测试用例的基础。 A. 判定表B. 约束条件表C. 输入状态表D. 输出状态表 三、选择填空题
1、从供选择的答案中选出应填入下列( )中的字句。
软件测试的目的是(A②)。为了提高测试的效率,应该(B④)。使用白盒测试方法时,确定测试数据应根据(C①)和指定的覆盖标准。与设计测试数据无关的文档是(D④)。
软件的集成测试工作最好由(E④)承担,以提高集成测试的效果BR>供选择的答案: A.①评价软件的质量 ②发现软件的错误 ③找出软件中的所有错误 ④证明软件是正确的 B.①随机地选取测试数据 ②取一切可能的输入数据作为测试数据
③在完成编码以后制定软件的测试计划 ④选择发现错误的可能性大的数据作为测试数据 C.①程序的内部逻辑 ②程序的复杂程度 ③使用说明书 ④程序的功能 D.①该软件的设计人员 ②程序的复杂程度 ③源程序 ④项目开发计划 E.员
2、从供选择的答案中选出应填入下列( )中的字句。A. ② B. ③ C. ② D. ③ E. ③ F. ④
为了把握软件开发各个环节的正确性和协调性,人们需要进行( A )和( B )工作。( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。它包括( C )和( D ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E )、( F )和正确性。 供选择的答案:A, B.①操作 ②确认 ③验证 ④测试 ⑤调试
C, D.①用户的确认 ②需求规格说明的确认③程序的确认 ④测试的确认 E, F.①可靠性 ②独立性 ③协调性 ④完备性 ⑤扩充性
3、从供选择的答案中选出应填入下列( )中的字句。A. ② B. ④ C. ⑥ D. ③ E. ① F. ② 测试过程需要三类输入:( A )、( B )和( C )。请选择正确的答案填入下图中以完成测试信息处理的全过程。
供选择的答案
A~C.①接口选择 ②软件配置 ③硬件配置 ④测试配置 ⑤测试环境 ⑥测试工具 D~ F. ①排错 ②可靠性分析 ③结果分析 ④数据分类
4、请从供选择的答案中选出应填入下列( )中的字句。A. ② B. ④ C. ④ D. ② E. ① 程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。 供选择的答案:
A.①过程,子程序,分程序 ②顺序,条件,循环 ③递归,堆栈,队列 ④调用,返回,转移
①该软件的设计人员 ②该软件开发组的负责人 ③该软件的编程人员 ④不属该软件开发组的软件人
B.①不能嵌套使用 ②只能用来写简单的程序 ③已经用硬件实现 ④只有一个入口和一个出口 C.① 筛选法 ②递归法 ③归纳法 ④逐步求精法
D.①证明程序中没有错误 ②发现程序中的错误 ③测量程序的动态特性 ④检查程序中的语法错误 E.①找出错误所在并改正之 ②排除存在错误的可能性 ③对错误性质进行分类 ④统计出错的次数 5、从供选择的答案中选出同下列各条叙述关系最密切的字句。
(1) 对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。
(2) 已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因此,对变更的软件进行测试是必要的。
(3) 在意识到被测试模块的内部结构或算法的情况下进行测试。 (4) 为了确认用户的需求,先做出系统的主要部分,提交给用户试用。
(5) 在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。
供选择的答案:(1) ② (2) ⑩ (3) ⑨ (4) ⑧ (5) ④
A~E:①仿真器②代码审查③模拟器 ④桩 ⑤驱动器 ⑥域测试 ⑦黑盒测试 ⑧原型⑨白盒测试 ⑩退化测试
6、从供选择的答案中选出应填入下面叙述的( )内的正确答案。 软件测试方法可分为黑盒测试法和白盒测试法两种。
黑盒测试法是通过分析程序的( A )来设计测试用例的方法。除了测试程序外,它还适用于对( B )阶段的软件文档进行测试。
白盒测试法是根据程序的( C )来设计测试用例的方法。除了测试程序外,它也适用于对( D )阶段的软件文档进行测试。
白盒法测试程序时常按照给定的覆盖条件选取测试用例。( E )覆盖比( F )覆盖严格,它使得每一个判定的每一条分支至少经历一次。( G )覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。( H )覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径BR> 单元测试一般以( I )为主,测试的依据是( J )。
供选择的答案:A.③ B.④ C.② D.② E.② F.① G.④ H.⑤ I.① J.①
A, C:①应用范围②内部逻辑③功能④输入数据B, D:①编码②软件详细设计③软件总体设计④需求分析 E~H:①语句 ②判定 ③条件 ④判定/条件 ⑤多重条件 ⑥路径 I:①白盒法 ②黑盒法 J:
① 模块功能规格说明 ② 系统模块结构图 ③ 系统需求规格说明
7、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
集成测试也叫做( A )或( B )。通常,在( C )的基础上,将所有模块按照设计要求组装成为系统。子系统的集成测试特别称为nbsp; D ),它所做的工作是要找出子系统和系统需求规格说明之间的( E )。需要考虑的问题是:在把各个模块连接起来的时侯,穿越模块接口的数据是否会( F ); 一个模块的功能是否会对另一个模块的功能产生不利的影响;各个( G )组合起来,能否达到预期要求的( H );( I )是否有问题;单个模块的误差累积起来是否会放大。
供选择的答案:A.③ B.⑥ C.① D.② E.⑥ F.② G.① H.③ I.⑤ A、B的答案可互换 A~D.①单元测试 ②部件测试 ③组装测试 ④系统测试 ⑤确认测试 ⑥联合测试
E~I.①子功能 ②丢失 ③父功能 ④局部数据结构 ⑤全局数据结构 ⑥不一致 ⑦一致 8、从供选择的答案中选出应该填入下列叙述的( )内的正确答案。
软件测试中常用的静态分析方法是( A )和( B )。( B )用于检查模块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是( C )方法。非分析方法(黑盒方法)中常用的方法是( D )方法和( E )方法。( E )方法根据输出对输入的依赖关系设计测试用例。 供选择的答案:A. ① B. ⑤ C. ① D. ② E. ③
A~B:①引用分析 ②算法分析 ③可靠性分析 ④效率分析 ⑤接口分析 ⑥操作分析
C~E:①路径测试 ②等价类 ③因果图 ④归纳测试 ⑤综合测试 ⑥追踪 ⑦深度优先 ⑧调试 ⑨相对图 9、从供选择的答案中选出应填入下面叙述的( )内的正确答案。
等价类划分是一种典型的( A )方法,也是一种非常实用的重要的测试方法。使用这一方法,完全不考虑程序的( B )。用所有可能输入的数据来测试程序是不可能的,只能从全部可供输入的数据中选择一个( C )进行测试。( D )是指某个输入域的集合,在该集合中,各个输入数据对于揭露程序中的错误是( E )。
供选择的答案: A. ② B. ① C. ② D. ⑤ E. ③
A:①白盒测试方法 ②黑盒测试方法 B:①内部结构 ②外部环境 ③顺序 ④流程 C~E:①全集 ②子集 ③等效 ④不同的 ⑤等价类 ⑥典型集 10、从供选择的答案中选出应填入下面叙述的( )内的正确答案。 ① 黑盒测试方法的缺点是( A )和( D )。
A. 不可测试软件的特定部位 B. 不能发现功能需求中的错误
C. 无法检验软件的外部特性 D. 无法测试未实现功能需求的软件的内部缺陷
② 白盒测试方法的缺点是( B )和( C )。 A. 不可测试软件的特定部位 B. 不能发现功能需求中的错误
C. 无法检验软件的外部特性 D. 无法测试未实现功能需求的软件的内部缺陷
因篇幅问题不能全部显示,请点此查看更多更全内容