选择题第一部分
1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做c A.软件工程 B.软件周期 C.软件危机 D.软件产生
2.研究开发所需要的成本和资源是属于可行性研究中的研究的一方面。b A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 3.IDEF0图不反映出系统b
A.系统做什么 B.系统功能如何实现 C.系统由谁来做 D.系统实现的约束条件 4.模块的内聚性最高的是d
A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.在SD方法中全面指导模块划分的最重要的原则是d A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 6.软件详细设计主要采用的方法是d
A.模块设计 B.结构化设计
C.PDL语言 D.结构化程序设计 7.下列关于状态图的说法中,正确的是( c )
A. 状态图是UML中对系统的静态方面进行建模的五种图之一。 B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态
C. 活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。 D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模
8.不适合作为科学工程计算的语言是d A. Pascal B.c
C. Fortran D.Prolog 9.黑盒测试在设计测试用例时,主要需要研究a
A.需求规格说明与概要设计说明 B.详细设计说明
C.项目开发计划 D.概要设计说明与详细设计说明 10. 需求分析中,开发人员要从用户那里解决的最重要的问题是(a)。 A.要让软件做什么B.要给该软件提供哪些信息
C.要求软件工作效率怎样D.要让该软件具有何种结构c 11.下列属于维护阶段的文档是c
A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 12.快速原型模型的主要特点之一是d
A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 ; D.及早提供工作软件 13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 b
A.教正性维护 B.适应性维护 C.完善性维护 D.预防性维护 14.模块的内聚性最高的是() A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 15.只有单重继承的类层次结构是层次结构。c A.网状型 B.星型 C.树型 D.环型
16.在屏蔽硬件错误的冗错技术中,冗余附加技术有d
1 / 8
A.三模冗余 B.信息冗余
C.冗余备份程序的存储及调用 D.关键程序和数据的冗余存储和调用 17.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为b
A.可用性 B.可靠性 C.正确性 D.完整性 18.下列文档与维护人员有关的有c
A.软件需求说明书 B.项目开发计划 C.概要设计说明书 D.操作手册 19.指出PDL是下列哪种语言(a)。
A.伪码 B、高级程序设计语言 C.中级程序设计语言 D、低级程序设计语言 20. UML中有四种关系是:依赖,泛化,关联和(c) A、继承 B、合作 C、实现 D、抽象
选择题 第二部分
1.在下列工具与环境中(c)属于较早期的CASE。 A.基于信息工程CASE B.人工智能CASE
C.结构的基于图形CASE D.集成的CASE环境
2.Putnam成本估算模型是一个(d)模型。
A.静态单变量 B.动态单变量 C.静态多变量D.动态多变量 3.在McCall软件质量度量模型中,(c)属于面向软件产品修改。 A.可靠性 B.可重用性 C.适应性 D.可移植性 4.(a)是用于把元素组织成组的通用机制 A、包 B、类 C、接口 D、组件 5.软件复杂性度量的参数包括(b)
A.效率 B.规模 C.完整性 D.容错性
6.对象实现了数据和操作的结合,使数据和操作(c)于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 7.软件调试技术包括(b)
A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 8.瀑布模型的存在问题是(b) A.用户容易参与开发 B.缺乏灵活性
C.用户与开发者易沟通 D.适用可变需求
9.软件测试方法中的静态测试方法之一为(a) A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析
10.软件生命周期中所花费用最多的阶段是(d)
A.详细设计 B.软件编码 C.软件测试D.软件维护 11.第一个体现结构化编程思想的程序设计语言是(b)
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言 12.在UML中,(b)图显示了一组类、接口、协作以及它们之间的关系。 A、状态图 B、类图 C、用例图 D、部署图
13.在详细设计阶段,经常采用的工具有(a )
2 / 8
A.PAD B.SA C.SC D.DFD
14.详细设计的结果基本决定了最终程序的(c ) A.代码的规模 B.运行速度 C.质量 D.可维护性
15.需求分析中开发人员要从用户那里了解(a ) A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模
16.结构化程序设计主要强调的是(d ) A. 程序的规模 B. 程序的效率
C. 程序设计语言的先进性 D. 程序易读性
17.IDEF。图反映系统(d ) A.怎么做 B.对谁做 C.何时做 D.做什么
18.经济可行性研究的范围包括(c ) A.资源有效性 B.管理制度 C.效益分析 D.开发风险 19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( b)的回答。
A.确定 B.行或不行 C.正确 D.无二义
20.需求分析阶段的任务是确定( d) A. 软件开发方法 B. 软件开发工具 C. 软件开发费
D. 软件系统的功能
分析问答题:
1、 什么是软件危机?软件危机的表现是什么?其产生的原因是什么?
答:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
软件危机表现在以下四个方面:
(1)经费预算经常突破,完成时间一再拖延。 (2)开发的软件不能满足用户要求。 (3)开发的软件可维护性差。 (4)开发的软件可靠性差。 造成软件危机的原因是:
(1)软件的规模越来越大,结构越来越复杂。 (2)软件开发管理困难而复杂。 (3)软件开发费用不断增加。 (4)软件开发技术落后。 (5)生产方式落后。
(6)开发工具落后,生产率提高缓慢。
2、 简述软件维护中可能存在的典型问题(至少列举5点)。便于修改的概念),软件修改不仅困难而且容易出错。
答:(1)很难甚至不可能追踪软件版本的进化过程,软件的变化没在相应文档中反映出来; (2)很难甚至不可能追踪软件的整个创建过程;
3 / 8
(3)理解他人的程序非常困难,当软件配置不全,仅有源代码时问题尤为严重; (4)软件人员流动性很大,维护他人软件时很难得到开发者的帮助
(5)软件没有文档、或文档不全、或文档不易理解、或与源代码不一致;
(6)多数软件设计未考虑修改的需要(有些设计方法采用了功能独立和对象类型等一些便于修改的概念),软件修改不仅困难而且容易出错。
(7)软件维护不是一项有吸引力的工作,从事这项工作令人缺乏成就感。
3、 为什么说\领域是一个应用、集成和综合的领域\?
答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行的开发.CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致构架中,并且吸收了CAD、软件工程、操作系统、数据库、网络和许多其它计算机领域原理和技术。 4、 软件维护有哪些内容?
5、 什么是数据流图?其作用是什么?
6、 什么是编码风格?为什么要强调编码风格?
答:编码风格又称程序设计风格或编程风格。编码风格实际上指编程的基本原则。程序实际上也是一种供人阅读的文章。编写程序时讲求程序的风格,将大量地减少人们读程序的时间。良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。
7、 什么是黑盒测试法?什么是白盒测试法?
答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试又称为功能测试。
白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。
8、 测试面向对象软件时,主要有哪些设计集成测试用例的方法?
答:可以采用随机测试和划分测试的方法,此外,从动态模型导出测试用例来测试指定的类及其协作者.
其中划分测试中划分类别的方法有基于状态的划分、基于属性的划分、基于功能的划分. 9、 试列举出白盒测试技术的逻辑覆盖8种覆盖标准.
语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、点覆盖、边覆盖、路径覆盖 10、 单元测试有哪些内容?测试中采用什么方法? 11、 简述容错技术的四种主要手段,并解释 结构冗余:包括静态冗余、动态冗余和混合冗余。
信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:指为实现上述冗余技术所需的资源和技术。 12、 什么是数据字典?其作用是什么?共有哪些条目? 13、 就程序设计语言的工程特性而言,对程序编码有哪些要求?
(1) 可移植性
(2) 开发工具的可利用性
4 / 8

