C.模块低耦合 D.模块独立性 6、盒图是一种( B )工具。
A.系统描述 B.详细设计 C.测试 D.编程辅助 7、( D )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。
A.程序流程图 B.数据流图 C.ER图 D.结构图
8、原型化方法是用户和设计者之间执行的一种交互过程,适用于( A )系统。
A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时
9、具有风险分析的软件生命周期模型是( C )。
A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 10、结构化设计又称为(B )。
A.概要设计 B.面向数据流设计 C.面向对象设计 D.详细设计 11、软件生产发展经历了程序设计时代、( C )和软件工程时代。
A. 结构化设计时代 B. 面向对象设计时代 C. 程序系统时代 D. 集体开发时代
12、一个模块直接访问另一个模块的内部数据的耦合称为(A )。
A.内容耦合 B.控制耦合 C.外部耦合 D.公共耦合 13、PDL是下列哪种语言( A )。
A.伪码 B、高级程序设计语言 C. 中级程序设计语言 D、 低级程序设计语言 14、结构化系统分析主要是通过( D )进行分析的。
A.算法分解 B.控制结构分解 C.数据结构分解 D.处理功能分解
15、软件工程与计算机科学性质不同,软件工程着重于( B )。
A.提高软件的开发效率 B.使软件生成工程化 C.消除软件的生产危机 D.加强软件的质量保证
二、填空题 1、数据流图和__数据字典_共同构成系统的逻辑功能模型,各种软件系统的数据流图一般可分为__变换型__和事务型两类。
2、为了验证需求分析的正确性,一般应从四个方面进行,有效性、一致性、__完整性___和__现实性__。
3、模块的_作用域_指受该模块内一个判定影响的所有模块的集合。
4、结构图中的连线表示模块间的调用关系,而层次方框图中的连线表示数据间__组成关系(隶属关系)_ 。
5、解决复杂问题采用的策略是__分解和抽象__,这也是结构化分析的精髓 。 6、软件工程的三要素是方法、__工具__和__过程_。 7、 _可行性研究__的目的就是用最小的代价在尽可能短的时间内确定该项目是否能够解决。 8、ER模型的三个基本构成成分是属性、联系和_实体__。 9、由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现_软件危机__,软件工程正是为了克服它而提出了一种概念及相关方法和技术。 10、软件结构中的_深度_表示的软件的控制层数,它往往能够粗略地标志一个系统的大小和
复杂程度。
11、数据流图中的箭头是_数据流_,程序流程图中的箭头则是_控制流___。
12、Jackson方法是一种面向_数据结构__的设计方法,可用_顺序_ 、_选择_、_循环_三种基本结构来表示。
13、系统的_纯收入_指的是整个生命周期内系统的累积经济效益与投资之差。
三、判断题
T 1.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的输入和输出。
F 2、程序设计语言中应绝对禁止使用GOTO语句。
F 3、某加工的输入是一个数据流,该加工的输出也必定是一个数据流。 F 4、由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。 F 5、可行性研究唯一要考察的内容就是该软件项目在技术上是否可行。
F 6、软件是指用程序设计语言编写的程序,软件开发实际就是编写程序代码。 F 7、判定表较判定树直观易读,判定树进行逻辑验证较严格。 T 8、Warnier图比层次方框图可以表达更多的数据组织信息。
F 9、要减少两个模块之间的耦合,则必须两个模块间的调用次数要少。
F 10、在模块逐层分解中,应该尽可能地进行模块分解,以减少软件开发工作量。
四、简答题
1、简述软件体系结构设计优化原则。
答:(1)降低模块的耦合性,提高模块的内聚性。
(2)保持适中的模块规模。
(3)模块应具有高扇入和适当的扇出。 (4)软件结构中的深度和宽度不宜过大。 (5)模块的作用域应处于其控制域范围之内。 (6)尽量降低模块的接口复杂度。
2、什么是软件生存周期。软件生存周期可划分为哪几个阶段?各阶段的关键任务是什么? 答:软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软 件经历的这个漫长时期称为生存周期。
软件生存周期一般可分为三个阶段: 软件定义阶段:主要进行软件的可行性研究和需求分析工作,研究该项目是否值得去解决,是否存在可行的解决办法并确定待开发的软件系统做什么。 软件开发阶段:进行软件的概要设计、详细设计、编码和测试工作。对软件的体系架构、数据结构和算法等进行设计和编码实现,并对编码结果进行测试,得到符合需求分析要求的软件。
软件运行与维护阶段:通过各种维护活动使软件系统持久地满足用户的需求。
3、简述事务分析设计的设计步骤。
(1)划分边界,明确数据流图中的接收路径、事务中心和加工路径。 (2)建立事务型结构的上层模块。
(3)分解、细化接收路径和加工路径,得到事务型结构的下层模块。 (4)按照体系结构设计原则对初始的软件结构进行优化。
4、什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典是用来定义数据流图中各个成分具体含义的,它以一种准确的、无二义性的说明方式提供有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑功能模型,是需求规格说明书的主要组成部分。数据字典是为查找数据流图中有关名字的详细定义而服务的。数据字典有以下四类条目:数据流、数据存储、加工、数据项。
五、应用题(本大题共2小题,每小题10分,共20分) 1、将下列伪代码转换成用NS图和PAD图表示。
S1;
if (x>5) then S2
else S3; while (y<0) S4; S5;
if u>0 then
{
S6;
while (k>5) S7; } S8;
2、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。
1)如果是报名,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报名单交财务部门,财务人员开出发票给学生。
2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
3)如果是付款,则由财务人员在帐目文件上登记,也给学生一张收费收据。 画出数据流图,并转换为软件结构图。
第六章
1、程序复杂度的度量方法主要包括_环形复杂度_、_文本复杂度_和交点复杂度。
2、提高程序效率的根本途径在于选择良好的__设计方法__、良好的__数据结构_和良好的_算法_,而不是靠编程时对程序语句做调整。
3、程序设计语言的心理特性在语言中的表现形式为_歧义性__、_简洁性_、_局部性_、 顺序性__。 4、源程序中加注释是帮助理解程序的重要手段,注释分为_序言性注释_、描述性注释 两类。 5、为开发一个特定的项目,在选择程序设计语言时,必须从__心理___、__工程_、__技术三个特性考虑。
6、与选择编程语言无关的因案是( C )。
A.软件开发的方法 B.软件执行的环境
C.程序设计风格 D. 软件开发人员的知识
7、在结构化程序设计思想提出之前,在程序设计中曾强调程序的( B ),现在人们更重视程序的( D )。
A.技巧性 B.效率 C.一致性 D.可理解性
8、程序设计语言一般来说,可划分为低级语言和高级语言两大类.与高级语言相比用低级语言开发的程序,具有( C )特点。
A.运行效率低,开发考虑低 B.运行效率低,开发效率高 C. 运行效率高,开发效率低 D.运行效率高,开发效率高
第七章
1、单独测试一个模块时,有时需要一个_驱动_程序_驱动(调用)__被测试的模块,有时还需要一个或几个__桩___模块模拟由被测试模块调用的模块。
2、黑盒法测试时,如果选择的测试用例需考虑输入条件的各种组合,应采用_因果图_法进行测试。
3、运行被测试程序的方法称为___动态___测试。
4、用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值范围,则可确定一个合理的等价类和_两个不合理的等价类__。
5、软件测试中白盒法是分析程序的__内部(逻辑)结构___来设计测试用例,黑盒法是根据程序的__功能__来设计测试用例。
6、在集成测试时,采用先独立测试每一模块,然后再连到一起运行,这种方式称为__非渐增式_集成测试。
7、在__单元__测试中,主要测试详细设计和编码实现阶段中的错误。 8、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:_宽度优先_和_深度优先。 9、在白盒测试技术测试用例的设计中__语句覆盖_是最弱的覆盖标准。 10、测试的关键问题是_如何设计(选择)测试用例_。
11、软件测试中设计测试用例主要由输入数据和( C )两部分组成。
A.测试规划 B.测试计划
C.预期输出结果 D.以往测试记录分析 12、成功的测试是指( B )。
A.运行测试实例后未发现错误 B.发现程序的错误 C.证明程序正确 D.改正程序的错误
13、月收入<=1600元者免税,现在用输入数1600元和1601元测试程序,则采用的是(A )方法。
A.边界值分析 B.条件覆盖 C.错误推测 D.等价类
14、现有一个计算类型的程序,它的输入只有一个Y,其范围是-50≦Y≦50,现从输入的角度考虑设计了一组测试用例:-100,0,100,设计这组测试用例的方法是( B )。
A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法
15、软件测试主要包括(C )方面的查错和纠错。 1) 软件需求分析 2)软件设计 3)软件编码
A.3 B.1和2 C. 2和3 D.1、2和3 16、白盒测试技术测试用例的设计中,( C )是最强的覆盖标准。
A.语句覆盖 B.条件覆盖 C.条件组合覆盖 D.判定覆盖 17、以下说法错误的是( D )。
A.判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试。
B.条件覆盖的检错能力一般较判定覆盖强,但有时达不到判定覆盖要求。 C.判定/条件覆盖包含了判定覆盖和条件覆盖的要求。
D.凡满足条件组合覆盖标准的测试用例,也必然满足其他所有覆盖种类的覆盖标准。 E.路径覆盖可能使测试用例达不到条件组合覆盖的要求。 18、在集成测试中,( A )是正确的。 A.测试底层模块时不需要桩模块 B.驱动模块的作用是模拟被调模块 C.自顶向下测试方法易于设计测试结果
19、软件测试是软件质量保证的重要手段,下述(B )是软件测试的最基础环节。
A.功能性测试 B.单元测试 C.结构测试 D.确认测试 20、对一个采用二分法的检索程序,可以列出以下这些需要的测试用例 1)被检测的表格只有一行 2)表格的行数恰好是2的幂次
3)表格的行数比2的幂次多1或少1 则此测试方法称为( C )。
A.等价分类法 B.边界值方法 C.错误推测法 D.因果图法
相关推荐: