您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页20软件工程考试试题库-答案

20软件工程考试试题库-答案

来源:五一七教育网
 软件工程单元一(概述) 一 单项选择 1. 软件是一种逻辑产品,它的开发主要是(A )。A研制 B拷贝 C再生产 D复制 2. 软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。A需求分析 B 结构设计 C程序编制 D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型 C瀑布模型 D螺旋模型 4. 在软件生存周期中,( B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划 C概要设计 D软件测试 5. 软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗 C逻辑 D文档 6. ( C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。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. 软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为( C )。 A可修改性 B可靠性 C可适应性 D 可重用性 12. 软件特性中,一个软件能再次用于其他相关应用的程度称为( B )。 A可移植性 B可重用性 C 容错性 D 可适应性 13. 软件特性中,( A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性 B可靠性 C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。A可理解性 B 可维护性 C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( C ).

A可理解性 B可修改性 C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性 B可适应性 C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是( A )。 A可修改性 B可适应性 C可维护性 D 可移植性 18. 软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( B )。 A可理解性 B可互操作性 C可维护性 D 可追踪性 19. 软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是( C )。A 可理解性B 可互操作性C可追踪性 D 可维护性 20. 软件的可修改性支持软件的( D )。A 有效性 B 可互操作性 C可追踪性 D 可维护性 21. 软件的可移植性支持软件的( A )。A 可适应性 B 可互操作性C可追踪性D 有效性 22.软件的可理解性支持软件的( B )。A 有效性 B 可移植性 C可追踪性 D 可靠性 23.在软件工程的原则中,抽象、信息隐藏、模块化和局部化的原则支持软件的( C )。 A 有效性 B 可互操作性 C可靠性 D 可追踪性 24.下列选项中,属于需求分析阶段的任务的是( D )。 A 组装测试计划 B 单元测试计划 C软件总体设计 D 验收测试计划 25.下列选项中,属于概要设计阶段的任务的是( A )。 A 组装测试计划 B 单元测试计划 C初步用户手册 D 验收测试计划 26.下列选项中,属于详细设计阶段的任务的是( B )。 A 组装测试计划 B 单元测试计划 C初步用户手册 D 验收测试计划 27.下列选项中,属于实现阶段的任务的是( C )。 A 组装测试计划 B 绘制程序流程图 C 单元测试 D 验收测试计划 28.下列选项中,在验收测试结束时,必须提交给用户的是( D )。 A 项目开发总结报告 B 验收测试计划 C 需求规格说明书 D 最终用户手册 二 填空 1.计算机软件是指与计算机系统操作有关的 程序、数据 以及任何与之有关的文档资料。 2. 瀑布模型 是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。 3. 维护阶段 是软件生存周期中时间最长的阶段。 4. 喷泉模型 是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。 1

5.软件生存周期是指一个软件从 定义 开始直到该软件最终退役为止的整个时期。 6.在软件的生产过程中,总是有大量各种信息要记录,因此, 文档 在产品的开发过程中起着重要的作用。 7.在软件生存周期中,软件定义过程的基本任务是确定软件系统的 工程需求 。 5.软件工程的7条原则是什么? 答:1.抽象。2.信息隐藏。3.模块化。4.局部化。5.一致性。6.完全性。7.可验证性。 6.软件生存周期如何划分? 答:可将软件生存周期划分为3个过程共9个阶段。 8.在软件生存周期中,软件定义过程可以通过软件系统的 可行性研究和需求分析 软件定义过程:由可行性研究和需求分析 2个阶段组成; 两个阶段来完成。 9.在软件生存周期中,软件开发过程可以通过 概要设计、详细设计 、实现、组装测试、验收测试共5个阶段组成。 10.我们把支持软件项目的 开发、管理、维护活动 的软件叫做软件开发的工具软件。 11. 软件工程由 方法、过程和工具 三部分组成,称为软件工程的三要素。 简答题1.软件产品的特点是什么 答:①软件开发与硬件研制相比,更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。 ②大型软件仍然存在着潜伏的错误。③软件产品开发成功后,只需对原版软件进行复制,即可生产出任意多的同样的产品。④还有,软件在使用过程中的维护工作比硬件要复杂得多。 ⑤由于软件不是物理产品,所以它不会磨损和老化。 2.软件危机的表现有哪些? 答:1)对软件开发成本和进度的估计常常很不准确。2)用户对已完成的软件不满意的现象时有发生。 3)软件产品的质量往往是靠不住的。4)软件常常是不可维护的。 5)软件通常没有适当的文档资料。6)软件成本在计算机系统总成本中所占比例逐年上升。 7)软件开发生产率提高的速度远跟不上日益增长的软件需求。 3.产生软件危机的原因主要有哪些? 答:1)用户对软件需求的描述不精确。2)软件开发人员对用户需求的理解有偏差。 3)缺乏处理大型软件项目的经验。4)开发大型软件易产生疏漏和错误。 5)缺乏有力的方法学的指导和有效的开发工具的支持。 6)面对日益增长的软件需求,人们显得力不从心。 4.软件工程的7条基本原理是什么? 答:1)用分阶段的生存周期计划严格管理2)坚持进行阶段评审3)实行严格的产品控制4)采用现代程序设计技术5)结果应能清楚地审查6)开发小组的人员应少而精 7)承认不断改进软件工程实践的必要性

软件开发过程:由概要设计、详细设计、实现、组装测试、验收测试5个阶段组成; 软件使用与维护过程:由使用与维护和退役2个阶段组成。 7.常见的软件开发模型有哪些? 答:有瀑布模型、原型模型、螺旋模型、喷泉模型、变换模型、基于四代技术的模型、基于知识的智能模型等。 8.瀑布模型适合于哪类软件系统的开发? 答:瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。 9.瀑布模型的缺点主要有哪些? 答:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。 10.实现快速原型的开发途径有哪三种? 1)仅模拟软件系统的人机界面和人机交互方式。2)开发一个工作模型,实现软件系统中重要的或容易产生误解的功能。3)利用一个或几个类似的正在运行的软件向用户展示软件需求中的部分或全部功能。 11.原型模型适于哪种情况的软件开发? 答:原型模型适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。 12.螺旋模型的每一个周期包括哪几个阶段? 答:螺旋模型的每一个周期都包括计划(需求定义)、风险分析、工程实现和用户评价与阶段评审4个阶段。 13.螺旋模型的优点有哪些? 答:螺旋模型的主要优点有: 1)支持用户需求的动态变化。2)原型可看作形式的可执行的需求规格说明,易于为用户和开发2

人员共同理解,还可作为继续开发的基础,并为用户参与所有关键决策提供了方便。3)螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力。 4)为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。 14.螺旋模型适于哪种情况的软件开发? 答:螺旋模型支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。 五、综合题 11.程序流程图如图1所示,试求出其巡回秩数V(G)。 开始 a a 1 b c f R4 2 b 7 3 c R2 4 f d e g 8 d R1 e g h 9 R3 10 5 6 h i 11 i 结束 开始图 1 程序流程图 图2 程序图a a 1 R5 b 2 b 3 c R4 f c R1 d e g h 4 5 8 f 9 d R2 e i 10 g R3 h 6 7 11 j i 13 12 结束 j 图1 程序流程图 图2 程序图

解: (1)画出与图1所示的程序流程图对应的程序图如图2所示。于是有: V(G)= E – N + 2 = 11 – 9 +2 = 4 (2)由图2给出的程序图可以看出,其有界区域有R1、R2、R3共3个,还有1个无界区域R4,共4个封闭区域,所以V(G)= 4。 (3)由图2给出的程序图可以看出,结点b、c、h是谓词结点,即谓词结点数P=3,于是有:V(G)= P+1 = 3+1 = 4。 12.如图1所示的程序流程图,试计算其巡回秩数V(G)。 解:由程序流程图画流图或称程序图如图2所示。于是有: (1)V(G)= E –N +2 = 13 –10 +2 = 5 (2)V(G)= 封闭区域个数 = 5 (3)V(G)= 谓词结点个数+1 = P+1 = 4+1 = 5 13.如图1所示的程序流程图,试计算其巡回秩数V(G)。 开始 a a 1 R5 b 2 b 3 R4 c e 6 c R1 d f g R2 5 7 e 8 4 f R3 g h d 9 10 i h 11 结束 12 i 图1 程序流程图 图2 程序图 解:由程序流程图画流图或称程序图如图2所示。于是有: (1)V(G)= E –N +2 = 12 –9 +2 = 5 3 (2)V(G)= 封闭区域个数 = 5 (3)V(G)= 谓词结点个数+1 = P+1 = 4+1 = 5 14.甲乙两名程序测试员同时对一个程序进行测试一个月,甲发现并改正了24个错误;乙发现并改正了20个错误,其中有10个错误甲也发现了。试估算该程序经过甲乙两人这一个月测试后,还残留多少个错误? 解:由题意知,E 1 = 24, E 2 = 20,E 0 = 10,该程序所含错误总数可估算如下: ET = E1×E 2 / E 0 = 24×20 / 10 = 48(个) 经过一个月的测试,该程序还残留的错误数为: E r(τ)= ET – EC( τ) E r(1)= ET – EC(1) = ET –(E 1 + E 2 – E 0 ) = 48 –(24+20-10) =14(个) 答:还残留14个错误。 15.甲乙两名程序测试员同时对一个程序进行测试一个月,甲发现并改正了20个错误;乙发现并改正了16个错误,其中有8个错误甲也发现了。试估算该程序经过甲乙两人这一个月测试后,还残留多少个错误?解:由题意知,E 1 = 20, E 2 = 16,E 0 = 8,该程序所含错误总数可估算如下: ET = E1×E 2 / E 0 = 20×16 / 8 = 40(个) 经过一个月的测试,该程序还残留的错误数为: E r(τ)= ET – EC( τ) E r(1)= ET – EC(1) = ET –(E 1 + E 2 – E 0 ) = 40 –(20+16-8) =12(个) 答:还残留12个错误。 16.甲乙两名程序测试员同时对一个程序进行测试一个月,甲发现并改正了24个错误;乙发现并改正了23个错误,其中有12个错误甲也发现了。试估算该程序经过甲乙两人这一个月测试后,还残留多少个错误? 解:由题意知,E 1 = 24, E 2 = 23,E 0 = 12,该程序所含错误总数可估算如下: ET = E1×E 2 / E 0 = 24×23 / 12 = 46(个) 经过一个月的测试,该程序还残留的错误数为:

E r(τ)= ET – EC( τ) E r(1)= ET – EC(1) = ET –(E 1 + E 2 – E 0 ) = 46 –(24+23-12) =11(个) 答:还残留11个错误。 17.对一个包含10000LOC的程序进行一个月的测试后,总共改正了15个错误,此时MTBF=10h,又经过一个月测试后,改正了10个错误,此时MTBF=15h。试完成: (1)根据已知数据确定MTBF与测试时间之间的函数关系。 (2)为做到MTBF=100h,必须进行多长时间的测试?当测试结束时,总共改正了多少个错误?还有多少个错误潜伏在程序中? 解: (1) ∵ λ = kεr(τ),MTBF=1/λ,E r(τ)= IT εr(τ)= IT/ (k · MTBF) ∴ Ec(τ)= ET – IT/(k · MTBF) 即: 15 = ET – 10000 / (k · 10) 15 + 10 =ET – 10000 / (k · 15) 解上述方程组,得: ET = 45, k = 100 / 3 假设:单位时间内改正错误后剩余的错误数与改正前错误总数成正比,于是有: Er( 1)= k1ET (1) k1 Er( 1)=k12 ET (2) ∴用数学归纳法可证明: Er( τ)= k1τET (3) 由(1)式,45 –15 = k1×45,得k1=2/3 , ∴MTBF( τ)=IT / (k Er( τ) )= IT / (k k1 τ ET ) =10000/[(100/3)×(2/3)τ×45]=6.666667×(3/2)τ (4) (2)将已知MTBF(τ) = 100,代入(4)式:100= 6.666667×(3 / 2)τ ∴τ = ln15 / ln1.5 = 6.68(月) 4

将τ=6.68(月)代入上面的(3)式,得: Er( 6.68)= (2/3)6.68 × 45 = 2.9986 ≈ 3(个) Ec(6.68)= ET – Er(6.68)= 45 – 3 = 42(个) 答:(1)MTBF与测试时间之间的函数关系:MTBF( τ)=6.666667×(3/2)τ。 (2)为做到MTBF=100h,必须进行6.68(月)的测试?当测试结束时,总共改正了42个错误?还有3个错误潜伏在程序中。 软件工程单元三(计算机系统工程) 一 单项选择 1. 下列选项中,不属于可行性研究的任务的是( A )。 A)概要设计 B)经济可行性研究 C)技术可行性研究 D)开发方案的选择 2.下列选项中,( C )不属于基于计算机的系统的系统要素。 A)人 B)数据库 C)车间 D)硬件 3.在软件工程中,不属于软件定义部分的任务是( B )。 A)软件验收测试计划 B)组装测试计划 C)需求分析 D)软件项目计划 二 填空8.可行性研究要在 初步的需求定义 之后进行。 9.技术可行性研究是根据客户提出的系统功能、性能要求及实现系统的各项约束条件, 从 技术 的角度研究实现系统的可行性。 7.可行性研究的任务主要有哪几个方面? 答:可行性研究的任务主要有:1)经济可行性研究;2)技术可行性研究;3)运行操作可行性研究;4)法律可行性研究;5)开发方案的选择。 8.简述可行性研究的步骤。 答:典型的可行性研究的主要步骤如下: 1)复审初步分析结果;2)研究现有的系统; 3)导出新系统的高层逻辑模型;4)导出新系统的高层物理解法; 5)推荐建议的方案;6)评审、复审和决策。 一、 选择题 1. 需求分析最终结果是产生( C) A. 项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书 2. 需求分析中,开发人员要从用户那里解决的最重要的问题是(A )

A.让软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率怎样 D.让软件具有何种结构 3. DFD中的每个加工至少有(B ) A.一个输入流或一个输出流 B.一个输入流和一个输出流 C.一个输入流 D.一个输出流 4. 数据字典总,一般不出现的条目是(D ) A数据流 B 数据存储 C.加工 D.源点与终点 5. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( B ) A. 细节 B.输入与输出 C.软件的作用D.绘制的时间 6.需求规格说明书的内容不应包括对( B)的描述。 A. 主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能 7.需求规格说明书的作用不应包括( D ) A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据 D.软件可行性研究的依据 8.SA方法用DFD 描述( D ) A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 9.一个局部数据存储当它作为(D )时,就把他画出来。 A.某些加工的数据接口 B.某个加工的特定输入 C.某个加工的特定输出 D.某些加工的数据接口或某个加工的特定输入输出 10.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流( A) A. 必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等 11.需求分析阶段不适用于描述加工逻辑的工具是(D ) A. 结构化语言 B.判定表 C.判定树 D.流程图 12.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A ) A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型 5

13.SA方法的基本思想是( C ) A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向上抽象 14.初步用户手册在( B)阶段编写 A. 可行性研究 B.需求分析 C.软件概要设计 D.软件详细设计 15.系统中模块的_D___不仅意味着作用于系统的小变动将导致行为上的小变化,也意味着规格说明的小变动将影响到一小部分模块。 A. 可分解性 B. 保护性 C. 可理解性 D. 连续性 16.下面关于面向对象方法中消息的叙述,不正确的是___B___。 A..键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 17.面向对象技术中,对象是类的实例。对象有三种成份:_A_______、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装 D. 消息 18.可行性研究要进行一次__C___需求分析。A.详细的 B.全面的C.简化的、压缩的 D.彻底的 19.系统流程图用于可行性分析中的__A___的描述。 A.当前运行系统B.当前逻辑模型C.目标系统D.新系统 20.系统流程图是描述_C____的工具。 A.逻辑系统B.程序系统C.体系结构D.物理系统 21____D___工具在软件详细设计过程中不采用。A.判定表 B.IPO图 C.PDL D.DFD图 22.程序的三种基本控制结构是 答案:B 23.A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移 23.程序的三种基本控制结构的共同特点是 答案:D A.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口 24.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 答案:D A.生存期B.面向对象设计C.面向对象程序设计 D.面向对象分析 25.原型化方法是用户和设计者之间执行的一种交互构成,适用于_A系统。

A.需求不确定性高的B.需求确定的C.管理信息D.实时 26.原型化方法是一种___A____型的设计过程。 A.自外向内B.自顶向下C.自内向外D.自底向上 27.选择结构的复杂性比顺序结构的复杂性要(B )。 A、 小 B、大 C、相等 D、无法比较 28.在数据流图中,○(椭圆)代表(C )。 A、 源点 B、终点 C、加工 D、模块 29模块内聚度越高,说明模块内各成分彼此结合的程度越(B )。 A、 松散 B、紧密 C、无法判断 D、相等 30、软件设计阶段的输出主要是(D )。 A、 程序 B、模块 C、伪代码 D、设计规格说明书 31、软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C )。 A、编码阶段 B、软件开发全过程 C、软件定义阶段 D、软件设计阶段 32、在七种偶合中,最低偶合是(D )。 A、 内容偶合 B、公共偶合 C、数据偶合 D、非直接偶合 33、结构化分析方法SA、结构化设计方法SD,和JACKSON方法,是在软件开发过程中常用的方法,人们使用SA方法时可以得到( ),使用SD方法时可以得到( )。答案:D A、程序流程图 B、具体的语言程序 C、模块结构图及模块的功能说明书 D、分层数据流图 34.进行需求分析可使用多种工具,但(C )是不适用的。 A.数据流图 B.判定表C.PAD图 D.数据字典 35.需求分析阶段研究的对象是软件项目的(C )。 A.用户要求 B.合理要求C.模糊要求 37.数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作 为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( D)。 A.对象 B.解释 c.符号 D.描述 38.在数据流图中,有名字及方向的成分是( C )。 A.控制流 B.信息流 c.数据流 D.信号流 39.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 (A ) A.数据流图 B.数据词典C.结构化英语 D.判定树与判定表 40.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 (B ) 6

A.数据流图 B.数据词典C.结构化英语 D.判定树与判定表 41.结构化分析方法(SA)是一种面向( C )的需求分析方法。 A一对象 B.数据结构 C.数据流 D.控制流 42.描述结构化系统分析方法的工具不包括( B ) A.数据流图 B.组织结构图C.数据词典 D.结构化语言 43.决策树( C ) A.能用来代替程序流程图B.是程序流程图的辅助手段 C.是描述基本加工的逻辑功能的有效工具D.A和B 44.软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、 制定规格说明以及( C)。 A.总结 B.实践性报告C. 需求分析评审 D. 以上答案都不正确 45.以下说法错误的是( D )。 A.结构化语言外层中的顺序结构是一组祈使语句、选择语句、重复语句的顺序排列 B.结构化语言外层中的选择结构使用IF-THEN--ELSE-ENDIF等关键字 C.结构化语言的内层可以采用祈使语句的自然语言短语 D. 结构化语言外层中的重复结构使用CASE-OF-ENDCASE等关键字 46.结构化分析方法使用的描述工具( B )定义了数据流图中每一个图形元素。 A.数据流图 B.数据字典 C.判定表 D.判定树 47.下列说法正确的是( D )。 A.对于顺序执行和循环执行的动作,用判定表和判定树 B.对于存在多个条件复杂组合的判断问题,用结构化语言描述 C.判定表较判定树直观易读,判定树进行逻辑验证较严格 D.可将判定表和判定树两者结合起来,先用判定表作底稿,在此基础上产生判定树 48.需求规格说明书的作用不应包括( )。 A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据D.软件可行性研究的依据 答案:D 49.软件需求规格说明书的内容不应包括对( B )的描述。 A. 主要功能 B.算法的详细过程 C.用户界面及运行环境 D.软件的性能

50.在结构化分析方法(SA)中,与数据流图配合使用的是( C )。 A.网络图 B.实体联系图C.数据字典 D.程序流程图 51.通过( B )可以完成数据流图的细化。 A.结构分解 B.功能分解C.数据分解 D.系统分解 52.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的(B )。 A.细节 B.输人与输出C.软件的作者 D.绘制的时间 53.数据存储和数据流都是( D )仅仅所处的状态不同。 A.分析结果 B.事件C.动作 D.数据 54.数据字典中,一般不包括下列选项中的( D )条目。 A.数据流 B.数据存储C.加工 D.源点与终点 55.在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( A )。 A.要让软件做什么 B.要给该软件提供哪些信息C.要求软件工作效率怎样 D.要让软件具有何种结构 56.需求分析最终结果是产生( C)。 A.项目开发计划 B.可行性分析报告C.需求规格说明书 D.设计说明书 57.SA方法用DFD描述(D )。 A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 58.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( A )。 A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B. 获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型 59.需求分析阶段不适于描述加工逻辑的工具是( D )。 A.结构化语言B.判定树.C判定表D.流程图 60.结构化分析方法(SA)最为常见的图形工具是( C )。 A.程序流程图 B.实体联系图 C.数据流图 D.结构图 61.sA方法的基本思想是(C )。 A. 自底向上逐步抽象 B. 自底向上逐步分解 C. 自顶向下逐步分解 D. 自顶向下逐步抽象 7

62.下面错误的说法是( C )。 A. 每个数据流必须用名词或名词短语命名B.每个加工必须有名字,通常是动词短语 C.每个数据存储必须用名词或名词短语D.每个数据源点或终点必须有名字 63.下面错误的说法是( B)。 A.判定表能够把在什么条件下系统应做什么动作准确无误地表示出来 B.判定表能够描述循环的处理特性 C.结构化语言同样能够描述循环的处理特性 D.判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用 .软件需求说明书是软件需求分析阶段的重要文件,下述( D )是其应包含的内容。 ①数据描述 ②功能描述③模块描述 ④性能描述 A.② B.③④ C.①②③ D.①②④ 65.软件需求分析方法中,结构化分析是一种常用的方法。结构化分析产生的系统说明书是包括一套分层的( B )图。 A流程 B数据流C软件结构 D事务转换 66.软件需求分析方法中,结构化分析是一种常用的方法。结构化分析产生的系统说明书是包括一本(B)。 A结构说明 B用户需求 C数据字典 D数据流程 67.常用的需求分析方法有面向数据流的结构化分析方法,( A ),面向对象的分析方 法等。 A.面向数据结构的分析方法B.面向时序问题的分析方法C.面向事务的分析方法 68.结构化分析方法使用的描述工具( A )描述系统由哪几部分组成,各部分之间有什么联系等等。 A.数据流图 B.数据字典C.判定表 D.判定树 69.结构化分析方法(sA)是一种面向( C )需求分析方法。 A.对象 B.数据结构C.数据流 D.结构图 70.需求分析中,对算法的简单描述记录在( B )中。 A.层次图 B.数据字典C.数据流图 D.IPO图 71.数据流图和( B )共同构成系统的逻辑模型。 A.IPO图 B.PDL图C.数据字典 D.层次图 72.在下面的叙述中,( C )不是软件需求分析的任务。 A. 问题分解 B.可靠性与安全性要求C.结构化程序设计 D.确定逻辑模型

73.原型化方法是一类动态定义需求的方法,下列叙述中,( )不具有原型化方法的特征。 A.提供严格定义的文档 B.加强用户参与和决策C.简化项目管理 D.加快需求的确定 74.需求分析是( A )。A.软件开发工作的基础 B.软件生存周期的开始 C.由系统分析员单独完成的D. 由用户自己单独完成的 75.软件原型化开发方法有其基本步骤,下述(B )是实施原型化的最基本的步骤。 ①获得基本需求②开发工作模型③严格细部说明 ④模型验证 A.全部都是 B.①②和④c.④ D.①和② 76.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A需求不确定性高的 B需求确定的C管理信息 D动态改变 ?77. 原型化方法从用户界面的开发人手,首先形成(B)。答案:C A用户界面使用手册 B用户界面需求分析说明书C系统界面原型 D完善的用户界面 78原型化方法是一种( A)型的设计过程。 A自外向内 B自顶向下C自内向外 D自底向上 79.数据流图是用于软件需求分析的工具,下列元素( C )是其基本元素。 ①数据流 ②加工 ③数据存储 ④外部实体 A.①②和③ B.①和③ C.全部 D.①③和④ 80.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 ( A )。 A.控制流 B.数据流C.程序流 D.指令流 81. 软件开发常使用的两种基本方法是结构化和原型化方法,在实际应用中,它们之间的关系常表现为(B )。 A.互相排斥 B.互相补充C.使用 D.交替使用 82. 软件工程的结构化生命周期方法(sA)是将软件开发的全过程划分为互相而又互相依存的阶段,软件的逻辑模型是形成于( C )。 A开发阶段 B计划阶段 C分析阶段 D设计阶段 83. 作为软件开发结构化方法的工具,数据流图描述数据在软件流动和被处理变换的过程,它是以图示的方法来表示( C )。 A软件模型 B软件功能 C软件结构 D软件加工 84. 数据流图的正确性是保证软件逻辑模型正确性的基础,以下( C )项内容与它的正确性、相关性最弱。 8

A数据守恒 B均匀分解C文件操作 D图形层次 85. 数据字典最基本的功能是( C )。 A数据库设计 B数据通讯 C数据定义 D数据维护 86. 软件的结构化设计(sD)方法中,一般分为总体设计和详细设计两阶段,其中总体设计主要是建立( A )。 A软件结构 B软件流程C软件模型 D软件模块 87.结构化生命周期方法具有各种特征,下列各种叙述中,( C)不是结构化方法的特 征。A.严格定义需求 B.划分开发阶段 C.提供运行模型 D.制定规范文档 88.SA方法是一种( A )。 A. 自顶向下逐层分解的分析方法B. 自底向上逐层分解的分析方法 C.面向对象的分析方法D.以上都不是 . 结构化程序流程图中一般包括三种基本结构,下述结构中( D )不属于其基本结构。 A.顺序结构 B.条件结构C.选择结构 D.嵌套结构 90.结构化分析方法以数据流图、(D )和加工说明等描述工具,即用直观的图和简洁 语言来描述软件系统模型。 A.DFD图 B.PAD图C.IPO图 D.数据字典 91.结构化分析(SA)是软件开发需求分析阶段所使用的方法,( B )不是SA所使用的工具。 A.DFD图 B.PAD图 c.结构化英语 D.判定表 92.Jackson设计方法是由英国的M.Jackson所提出的。它是一种面向( C)的软件设 计方法。 A.对象 B.数据流C.数据结构 D.控制结构 93.软件设计中,Jackson方法是一种面向数据结构的设计方法,它将数据结构表示为 三种基本结构,分别为( B )。 A.分支结构、选择结构和控制结构 B.顺序结构、选择结构和循环结构 C.顺序结构、分支结构和嵌套结构D.顺序结构、选择结构和重复结构 94.软件工程方法是在实践中不断发展的方法,而早期的软件工程方法是指( B )。 A.原型化方法 B.结构化方法 C.面向对象方法 D.功能分解方法 95. 在结构化方法中,软件功能分解应属于软件开发中的( B )阶段。 A详细设计 B需求分析C总体设计 D编程调试 96. 数据流程图(DFD)是用于描述结构化方法中( B )阶段的工具。

A可行性分析 B需求分析 C详细设计 D程序编码 97. 数据字典(DD)是定义( A )系统描述工具中的数据的工具。 A数据流程图 B系统流程图C程序流程图 D软件结构图 98. 判定树和判定表是用于描述结构化分析方法中( B )环节的工具。 A功能说明 B数据加工 C流程描述 D结构说明 99.软件需求分析一般应确定的是用户对软件的( D )。 A.功能需求 B.非功能需求C.性能需求 D.功能需求和非功能需求 100.数据字典是对数据定义信息的集合,它所定义的对象都包含于( A)。 A.数据流图 B.程序框图C.软件结构 D.方框图 二、 填空 1.需求分析阶段产生的最重要的文档是( 需求分析说明书 )。 2.需求分析的主要任务是( 要回答“软件必须做什么?” )。 3.为解决一个复杂的问题,往往采取的策略是( 分解 )。 4.SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是( 数据流图和数据字典 )。 5.数据流图中有四种符号元素,他们是( 数据流,加工,数据存储,实体 )。 6.数据字典中有四类条目,分别是( 加工说明,数据流条目,数据存储条目,数据项条目 )。 7.在画分层数据流图时,父图与子图的输入输出要( 守恒 )。 8.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是( 功能需求 )需求。 9.结构化分析的基本思想是采用( 自顶向下,逐步求精 )的方法,能有效的控制系统开发的复杂性。 10.当数据流图中的某个加工的一组动作存在着多个条件复杂组合的判断时,其加工逻辑使用( 判定表或判定树)。 12.详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。 15.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。 解:信息流动 16.数据流图中的箭头表示( )。解:数据流 17.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。解:信息流动 18.数据项是指( ) 数据单元。 解:不可再分解的 9

19.结构化分析方法的分析策略是( )。解:自顶向下逐步求精 20.Jackson方法是一种面向( )的设计方法。解:数据结构 21.软件质量保证应在( )阶段开始。解:需求分析 3. 什么是结构化方法? 解:结构化的含义是用一组规范的步骤、准则和工具来进行某项工作。 结构化方法是把整个系统开发过程分为若干阶段,每个阶段进行若干活动,每项活动应用一系列22.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、(判定树 ) 标准、规范、方法和技术,完成一个或多个任务,形成符合规范的产品。 30.结构化语言是介于自然语言和( 形式语言 )之间的一种半形式语言。 31.需求分析中,开发人员要从用户那里解决的最重要的问题是( 要让软件做什么 )。 35.快速原型模型的主要特点之一是 (及早提供工作软件 ) 36.需求分析的基本任务是准确的回答系统必须做什么 37.需求分析阶段研究的对象是软件项目的解(用户要求)。 3.8.结构化分析方法就是( 面向数据流、 )自顶向下逐步求精进行需求分析的方法。需求分析的目的之一就是把数据流和数据存储定义到( 元素级 )。 39.数据流图的基本符号包括( )( )( )( )。 解:数据输入的源点和数据输出的汇点、加工、数据流、数据存储文件 40.数据流图和( 数据字典 )共同构成系统的逻辑模型。 41.数据字典的内容包括六项:( )( )( )( )( )( ) 解:(数据流)、(数据项)、(数据结构)、数据存储、处理逻辑、外部实体。 42.在需求分析阶段常用的图形工具有( )、( )、( )。解:层次方框图、Warnier图、IPO图 42.需求分析应交付的主要文档是( )。解:需求规格说明书 43.层次结构的上一层是下一层的( ),下一层是上一层的( )。解:抽象、求精 46.原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。解.需求不确定性高的 47.原型化方法是一种( )型的设计过程。 解:自外向内 三、 简答题 1. 什么是需求分析? 答:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。 2. 需求分析阶段的基本任务是什么? 答:需求分析阶段的基本任务是: (1.问题识别: 双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求. (2.分析与综合,导出软件的逻辑模型. (3.编写文档

4. 结构化方法的原则是什么? 答:其主要原则为: (1)用户参与的原则(2)„先逻辑,后物理”的原则 (3)“自顶向下”的原则(4)工作成果描述标准化原则 5. 结构化方法使用什么描述工具? 答:a.数据流图b.数据字典c.描述加工逻辑的结构化语言、判定表、判定树. 6. 简述结构化分析方法的步骤。 答:结构化分析方法步骤: a. 了解当前系统的工作流程,获得当前系统的物理模型b.抽象出当前系统的逻辑模型. c.建立上标系统的逻辑模型.d.作进一步补充和优化. 7. 什么是数据流图? 答:数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具.是一种功能模型. 8. 数据流图的作用是什么? 答:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能. 9. 数据流图由哪些基本符号组成? 答:基本符号有四种: ->,箭头,表示数据流; (),圆或椭圆,表示加工; =,双杠,表示数据存储; ||,方框,表示数据的源点或终点. 10. 什么是数据字典? 答:字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\\设计及维护提供了有关元素的一致的定义和详细的描述. 11. 数据字典的作用是什么? 答:1)为系统的分析\\设计及维护提供了有关元素的一致的定义和详细的描述. 2)为分析人员查找数据流图中有关名字的详细定义而服务的. 3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分. 12. 画数据流图应该注意什么事项? 10

答:画数据流图注意事项: a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义. b.画数据流而不是控制流. c.一般不画物质流. d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果. 结构化分析方法体现在用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 26.需求说明书由哪些部分组成?各部分之间的关系是什么? 答:软件需求说明书一般包括如下内容: e.编号.f.父图与子图的平衡. g.局部数据存储. h.提高数据流图的易理解性. 13. 数据字典有哪些条目?答: 数据流、数据项、数据存储、基本加工。 14. 描述加工逻辑有哪些方法?答:a,结构化语言b,判定表c.判定树 15. 简述SA方法的优点。 答:1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。 2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利条件。 16. 简述SA方法的缺点。 答:1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统“做什么”的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统 2)SA方法在使用DFD在分析与描述“数据要求”方面是有局限的。 3) DFD不适合描述人机界面系统的要求。 4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法结合起来。 17. 需求分析与软件设计二个阶段任务的主要区别是什么? 答:需求分析定义软件的用户需求,即定义待开发软件能做什么 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。 21.为什么数据流图要分层? 答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 24什么是.结构化分析? 答:结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。 25.结构化分析的“结构化”体现在哪里?

1)引言部分 编写目的;项目背景 (应包括:a.项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。) ;定义;(列出文档中所用到的专门术语的定义和缩写词的原文。)参考资料。 2)任务概述 目标;运行环境;条件与。 3)数据描述 静态数据;动态数据 (包括输入数据和输出数据) ;数据库描述 (给出使用数据库的名称和类型) ;数据词典;数据采集。 4)功能要求 功能划分;功能描述。 5)性能需求 数据精确度;时间特性(如响应时间、更新处理时间、数据转换与传输时间、运行时间等);适应性(在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。) 6)运行需求 用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等);硬件接口;软件接口;故障处理。 7)其他要求 如可使用性、安全保密、可维护性、可移植性等。 8)附录 现细节。 27. 结构化设计方法的基本思想是什么? 答:结构化设计方法的基本思想是将系统划分成一些的功能模块,这些模块按照一定的组织层次构造起来形成软件结构,通过自顶向下逐步细化的方法将用数据流图表示的信息转换成程序结构的设计描述。 28.结构化设计方法如何与SA方法相衔接? SA是结构化分析方法的简称。结构化分析方法是面向数据流进行需求分析的方法。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。结构化分析方法体现在用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 结构化设计是在结构化分析的基础上完成的。 结构化设计属于面向数据流的设计方法。在需求分析阶段,通过SA方法,解决了一个关键问题:信11

息流。数据流是软件开发人员考虑问题的出发点和基础。数据流从系统的输入端向输出端流动,要经历一系列的变换或处理。用来表现这个过程的数据流图(DFD):实际上就是软件系统的逻辑模型。结构化设计要解决的任务,就是在上述需求分析的基础上,将DFD图映射为软件系统的结构。换句话说,这类设计方法允许把用DFD图表示的系统逻辑模型方便地转换成对于软件结构的初始设计描述。 从结构化分析到结构化设计工具的转变: 结构化分析结果 结构化设计结果 数据流图 初始结构 五.综合题 画出下面用PDL写出的程序的PAD图。 WHILE P DO IF A >O THEN A1 ELSE A2 ENDIF; S1; IF B>0 THEN B1; WHILE C DO S2;S3 ENDWHILE; ELSE B2 ENDIF; B3 ENDWHILE; 7.某公司为本科以上学历的人重新分配工作,分配原则如下: 1).如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作; 2).如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长; 3).如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。 要求:画出得出判定表(化简)。

1,2,3 4 5,11 6 10 12 7,8,9 性 别 ------ M ----- M F F 文化程度 G U U U U U 年 龄 ------ L Y C L C 组长 √ 领导 √ 科研 √ 行政 √ 资料员 √ 考研 √ (一)名词解释 2. 模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。 3. 模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。 5. 信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。 6. 模块性指每个模块只完成系统要求的的子功能,并且与其他模块的联系最少且接口简单。 7. 耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。 8. 无直接耦合指两个模块之间没有直接关系,它们分别从属于不同模块的控制和调用,它们之间不传递任何信息。 9. 数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中值传递。 10. 标记耦合指两个模块之间传递的是数据结构。 11. 控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行块内某一功能。 12. 公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。公共数据环境可以是全程变量或数据结构、共享的通信区、内存的公共覆盖区及任何存储介质上的文件、物理设备等。 12

13. 内容耦合指一个模块直接调用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。 13. 数据流图一般可分为 和 两类。 14. 内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。 15. 偶然内聚指一个模块内的各处理元素之间没有任何联系。 16. 逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。 17. 时间内聚指需要同时执行的动作组合在一起形成的模块。 18. 通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。 19. 顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。 20. 功能内聚指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。 21. 软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现。 22. 结构化设计又称面向数据流的设计,它是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。 (二)填空题 1. 软件结构的设计是以 为基础的。 2. 软件设计阶段,是把软件“ ”的逻辑模型变换为“ ”的物理模型。 3. 数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“ ”与“ ”,而数据库的“物理设计”与模块的“ ”相对应。 4. 概要设计文档主要有 、 、 和 。 5. 模块具有 、 、 和 几种基本属性。 6. 模块化指解决一个复杂问题时 逐层把软件系统划分成若干 的过程。 7. 衡量软件的性有两个定性的度量标准,即 和 。 8. 模块之间联系越紧密,其 就越强,模块的 则越差。 9. 模块的耦合性由低到高分为 、 、 、 、 、 和 。 10. 数据耦合传递的是 ,标记耦合传递的是 ,控制耦合传递的是 。 11. 软件结构往往用 结构的图形来表示。软件结构图是软件系统的 结构。 12. 面向数据流的设计又称 ,它是以需求分析阶段产生的 为基础,按一定的步骤映射成软件结构。

(二)填空题答案 1. 模块2. 做什么 怎么做3. 需求分析 概要设计 详细设计4. 概要设计说明书 数据库设计说明书 用户手册 组装测试计划5. 接口 功能 逻辑 状态6. 自顶向下 模块7. 耦合性 内聚性 8. 耦合性 性9. 无直接耦合 数据耦合 标记耦合 控制耦合 外部耦合 公共耦合 内容耦合 10. 数据值 数据结构 控制变量11. 树状或网状 模块层次12. 结构化设计 数据流图 13. 变换型 事务型 (二)填空题 1. 详细设计也称 ,它是软件设计的第二阶段,主要确定每个 的具体执行过程。 2. 在详细设计阶段,需要对处理过程的 和数据库的 结构做评审。 3. 处理过程设计中最典型的方法是 方法,其基本要点是采用的程序设计方法是 、 。 4. 任何程序都可由 、 和 3种基本控制结构构造。这3种基本结构的共同点是 、 。 5. 详细描述处理过程常用3种工具: 、 、和 。 6. 程序流程图又称 ,它是历史最悠久、使用最广泛的一种描述程序 结构的工具。 7. 结构化流程图要求3种基本控制结构 和 而成,不能有相互交叉的情况。 8. PDL是一种描述模块 设计和处理细节的语言,其 语法具有严格的关键字, 语法使用自然语言的词汇。 9. PDL是描述处理过程“ ”的细节,结构化语言是描述加工“ ”的。 (二)填空题答案 1. 过程设计 模块2. 算法 物理3. 结构化程序设计 自顶向下 逐步求精 4. 顺序 选择 循环 单入口 单出口5. 图形 表格 语言 6. 程序框图 逻辑7. 顺序组合 完整嵌套8. 算法 结构化9. 怎么做 做什么 (三)单项选择题 1. 最高程度也是最差的耦合是( B )。 A. 公共耦合 B. 内容耦合C. 控制耦合 D. 数据耦合 2. 概要设计阶段产生的文档不包括( D )。 A. 概要设计说明书 B. 数据库设计说明书C. 用户手册 D. 开发进度月报 13

3. 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为( A )。 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. 变换型DFD是一个( D )结构。A. 循环 B. 选择 C. 分层 D. 顺序 (三)单项选择题 1. 在详细设计阶段,经常采用的工具包括( C )。 A. SC图 B. DFD图C. 判定表 D. 形式化方法 2. 结构化程序设计的一种基本方法是( D )。 A. 筛选法 B. 递归法C. 迭代法 D. 逐步求法 3. 与详细设计相对应的是数据库的( C )设计。 A. 概念 B. 逻辑C. 物理 D. 功能 4. 详细设计的基本任务中包括( B )。 A. 数据流设计 B. 人机对话设计C. 数据库的逻辑设计 D. 软件结构设计 5. 下面说法不正确的是( C )。 A. 流程图不易表示数据结构 B. 流程图容易造成非结构化的程序结构 C. 流程图支持逐步求精 D. 流程图描述的是程序的逻辑结构 6. 下面说法不正确的是( B )。 A. 盒图支持逐步求精 B.盒图容易造成非结构化的程序结构 C. 盒图描述的是算法 D.盒图容易表达模块的层次结构 (四)简答题 2. 软件设计的基本原理包括哪些内容?

3. 什么是模块间的耦合性?有哪几种耦合性?简述降低模块间耦合度的方法。 (四)简答题答案 2. 软件设计的基本原理包括: ① 模块化:指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化是软件解决复杂问题所具备的手段。 ② 抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。软件工程中每一步都是对软件解决方法的抽象层次的一次细化。 ③ 信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取。 ④ 模块性。指每个模块只完成系统要求的的子功能,并且与其他模块的联系最少且接口简单。衡量模块性有两个标准耦合性和内聚性,可判断设计方案的优劣。 3. 模块间的耦合性是根据模块的外部特征提出的,是对软件系统结构中各模块间相互联系紧密程度的一种度量,也称块间关系。耦合程度由低到高分为6种: ① 无直接耦合(不传递任何消息)。② 数据耦合(传递的是值)。 ③ 标记耦合(传递的是数据结构)。④ 控制耦合(传递的是控制变量,例如开关、标志等)。 ⑤ 外部耦合(传递的是I/O环境)⑥公共耦合(传递的是在公共数据环境中的数据)。 ⑦ 内容耦合(传递的是一个模块的内部数据,往往出现在汇编语言中)。 模块间联系越紧密,其耦合性越强,模块的性越差。提高模块性,降低模块间耦合度的措施是: ① 在耦合方式上降低模块间接口的复杂性。 模块接口方式不采用直接引用(内容耦合),而采用调用方式(例如过程语句调用); 模块接口信息通过参数传递且传递信息的结构尽量简单,不用复杂数据结构(例如过程、指针等),参数个数不宜过多。 ② 在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。 选择题 1.软件测试的目的是( )。 A)试验性运行软件 B)发现软件错误 C)证明软件正确 D)找出软件中全部错误 2.软件测试中白盒法是通过分析程序的( )来设计测试用例的。 14

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)需求分析 B)概要设计 C)详细设计 D)编码 13.不属于白盒测试的技术是( )。 A)路径覆盖 B)判定覆盖 C)循环覆盖 D)边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试方法为( )。 A)自顶向下渐增式测试 B)自底向上渐增式测试 C)非渐增式测试 D)系统测试 15.确认测试以( )文档作为测试的基础。 A)需求规格说明书 B)设计说明书 C)源程序 D)开发计划 16.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。

A)程序内部逻辑 B)程序的复杂度 C)使用说明书 D)程序的功能 17.程序的三种基本结构是( )。 A)过程子、程序、分程序 B)顺序、选择、循环 C)递归、堆栈、队列 D)调用、返回、转移 18.结构化程序设计的一种基本方法是( ) A)筛选法 B)递归法 C)归纳法 D)逐步求精法 19.软件调试的目的是( ) 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)源程序 15

27.超出软件工程范围的测试是( )。 A)单元测试 B)集成测试 C)确认测试 D)系统测试 28.软件测试不需要了解软件设计的( )。 A)功能 B)内部结构 C)处理过程 D)条件 29.( )方法需要考察模块间的接口和各模块之间的联系。 A)单元测试 B)集成测试 C)确认测试 D)系统测试 30.调试应该由( )完成。 A)与源程序无关的程序员 B)编制该源程序的程序员 C)不了解软件设计的机构 D)设计该软件的机构 31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上。 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)软件配置管理简称SCI B)软件配置项是配置管理的基本单位 C)软件配置实际上是一动态的概念 D)软件工程过程中某一阶段的变更均要引起软件配置的变更 39.在设计人机界面时,应主要考虑的因素有( )。 系统响应时间 B)错误处理 C)用户求助机制 D)以上都是 40.人机界面的风格大致经过了( )代的演变 A)一 B)二 C)三 D) 四 填空题 1.软件测试的目的是尽可能多地发现软件中存在的 ,将 作为纠错的依据。 2.测试阶段的基本任务是根据软件开发各阶段的 和程序的 ,精心设计一组 ,利用这些实例执行 ,找出软件中潜在的各种 和 。 3.测试用例由 和预期的 两部分组成。 4.软件测试方法一般分为两大类: 方法和 方法。 5.动态测试通过 发现错误。根据 的设计方法不同,动态测试又分为 与 两类。 6.静态测试采用 和 的手段对程序进行检测。 7.人工审查程序偏重于 的检验,而软件审查除了审查 还要对各阶段 进行检验。 8.计算机辅助静态分析利用 工具对测试程序进行 分析。 9.黑盒法只在软件的 处进行测试,依据 说明书,检查程序是否满足 要求。 10.白盒法必须考虑程序的 和 ,以检查 的细节为基础,对程序中尽可能多的逻辑路径进行 。 11.白盒测试是 测试,被测对象是 ,以程序的 为基础设计测试用例。 12.逻辑覆盖是对程序内部有 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为 、 、 、 、 和 6种覆盖技术。 13.实际的逻辑覆盖测试中,一般以 覆盖为主设计测试用例,然后再补充部分用例,以达到 覆盖测试标准。 14.循环覆盖是对程序内部有 存在的逻辑结构设计测试用例,它通过 来测试。 15.基本路径测试是在程序 基础上,通过分析控制构造的 复杂性,导出 集合,从而设计测试用例。 16

16.黑盒测试是 测试,用黑盒技术设计测试用例有4种方法: 、 、 和 。 17.等价类划分从程序的 说明,找出一个输入条件(通常是 或 ),然后将每个输入条件划分成两个或多个 。 18.边界值分析是将测试 情况作为重点目标,选取正好等于、刚刚大于或刚刚小于 的测试数据。如果输入或输出域是一个有序集合,则应选取集合的 元素和 元素作为测试用例。 19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为 。 20.因果图的基本原理是通过画 图,把用自然语言描述的 转换为 ,最后为 每一列设计一个测试用例。 21.测试的综合策略是在测试中,联合使用各种 方法。通常先用 法设计基本的测试用例,再用 法补充一些必要的测试用例。 22.软件测试过程中需要3类信息: 、 和 。 23.软件测试一般经过4个测试: 、 、 和 。 24. 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及 和 的文档。 25.单元测试主要测试 的5个基本特征: 、 、 、 和 。 26.在单元测试中,需要为被测模块设计 模块和 模块。 用来模拟被测模块的上级调用模块, 用来代替被测模块所调用的模块。 27.集成测试指在 测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称 测试或 测试。 28.集成测试的方法有两种: 和 。 29.渐增式测试有两种不同的组装模块的方法: 和 。 30.自顶向下渐增式测试不需要编写 模块,只需要编写 模块,其步骤是从 模块开始,沿着被测程序的 的控制路径逐步向下测试,它有两种组合策略: 和 。 31.自底向上渐增式测试不需要编写 模块,只需要编写 模块。 32.确认测试指检查软件的 与 是否与 说明书中确定的指标相符合,又称 测试。 33.确认测试在模拟环境下运用 测试方法,由 和 参加的测试。 34.确认测试开始前需要制定 计划,结束后要写出 报告。其测试用例要选用 的数据。 35.软件配置审查的任务是检查软件的所有文档资料的 和 。 36.调试也称 ,是在成功的测试之后才开始进行,其目的是确定错误的 和 ,并改正错误。

37.调试技术包括 、 、 和 。 38.回溯法调试是从 出发,而归纳法调试是从 入手。 39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为 测试。 40.用等价类划分法设计一个测试用例时,使其覆盖 尚未被覆盖的合理等价类。 41.用等价类划分法设计一个测试用例时,使其覆盖 不合理等价类。 42.在单元测试时,需要为被测模块设计 。 43.在集成测试时有两种测试方法,它们是 。 44.软件测试是为了 而执行程序的过程。 51.集成测试中的具体方法是 。 52.确认测试阶段的两项工作是 。 53.在单元测试中,测试一个模块时,需要设计 。 简答题 1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网? 2.软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误? 6.单元测试、集成测试和确认测试各自主要目标是什么?它们之间有什么不同?相互有什么关系? 7.什么是黑盒测试与白盒测试?它们都适应哪些测试? 选择题 1.B 2.B 3.C 4.D 5.A 6.B 7.C 8.B 9.D 10.D 11.A 12.B 13.D 14.A 15.A 16.A 17.B 18.D 19.A 20.D 21.C 22.D 23.A 24.C 25.D 26.A 27.D 28.D 29.B 30.B 31.C 32.A 33.D 34.B 35.C 36.B 37.B 38.A 39.D 40.D 填空题 1. 错误 测试结果 2. 文档资料 内部结构 测试用例 程序 错误 缺陷 3. 输入数据 输出数据 4. 动态测试 静态测试 5. 运行程序 测试用例 黑盒测试 白盒测试 6. 人工检测 计算机辅助静态分析 7. 编码质量 编码 软件产品 8. 静态分析 特性 9. 接口 需求规格 功能 10. 内部结构 处理过程 处理过程 测试 11. 结构 源程序 内部逻辑 12. 判定 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖 13. 条件组合 路径 14. 循环 循环次数 15. 控制流程图 环路 基本路径 17

16. 功能 等价类划分 边界值分析 错误推测 因果图 17. 功能 一句话 一个短语 等价类 18. 边界 边界值 第一个 最后一个 19. 错误推测法 20. 因果 功能说明 判定表 判定表 21. 测试 黑盒 白盒 22. 软件配置 测试配置 测试工具 23. 单元测试 集成测试 确认测试 系统测试 24.单元测试 编码 详细设计25. 模块 模块接口 局部数据结构 重要的执行路径 错误处理 边界条件 26. 驱动 桩 驱动模块 桩模块27. 单元 组装 联合28. 非渐增式测试 渐增式测试 29. 自顶向下结合 自底向上结合30. 驱动 桩 顶层 软件结构图 深度优先策略 宽度优先策略 31. 桩 驱动32. 功能 性能 需求规格 有效性33. 黑盒 专门测试人员 用户 34. 测试 测试分析 实际运用35. 完整性 正确性 36. 纠错 原因 位置37. 简单调试 归纳法调试 演绎法调试 回溯法调试 38. 程序产生错误的地方 测试结果发现的线索39.静态 40.尽可能多的41.一个42.驱动模块与桩模块43.渐增式和非渐增式44.发现错误51.渐增式和非渐增式测试方法 52.进行确认测试和软件配置审查 53.驱动模块和桩模块 名词解释 4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。 5. 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 6. 语句覆盖指设计足够的测试用例,使被测程序中每个语句至少执行一次。 7. 判定覆盖指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖。 8. 条件覆盖指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。 9. 判定/条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。 10. 条件组合覆盖指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。 11. 路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径。

12. 测试用例指为寻找程序中的错误而精心设计的一组测试数据。 13. 驱动模块指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。 14. 桩模块指用来代替被测试模块所调用的模块,其作用是返回被测试模块所需的信息。 15. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。 16. 集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称组装测试或联合测试。 17. 确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试。 18. 渐增式测试指逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。 19. 非渐增式测试指首先对每个模块分别进行单元测试,然后把所有的模块按设计要求组装在一起进行测试。 20. 调试指确定错误的原因和位置,并改正错误的过程,也称纠错。 21. 1)人对感知过程的认识,包括视觉、阅读时的认知心理、记忆、归纳与演绎推理等; 2)用户已有的技能和行为方式; 3)用户所要求的完成的整个任务以及用户对人机交互部分的特殊要求。 22. 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能遵循正式的变化控制过程得到改变。 23. 软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更、控制变更、确保变更正确地实现、报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。 24. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位,对已成为基线的SCI,虽然可以修改,但必须按照一个特殊的正确的过程进行评估,确认每一处的修改。 简答题 1. ① 软件测试是软件开发中不可缺少的重要一环,原因是: · 测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,测试的工作量还要成倍增加。 · 软件测试代表了需求分析、设计、编码的最终复审。 ② 软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。 2. 软件测试的目的有: 18

① 软件测试是为了发现错误而执行程序的过程。 ② 一个好的测试用例能够发现至今尚未发现的错误。 ③ 一个成功的测试是发现了至今尚未发现的错误。 软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误。 6. 单元测试、集成测试和确认测试各自主要目标是: ① 单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。 ② 集成测试的主要目标是检查与设计相关的软件体系结构的有关问题。 ③ 确认测试的主要目标是检查已实现的软件是否满足需求规格说明书中确定的各种需求。 单元测试、集成测试和确认测试之间的不同如下: ① 测试内容不同:单元测试集中于单个模块的功能和结构检验,其测试内容主要包括模块接口、局部数据结构、重要的执行路径、错误处理和边界测试;集成测试集中于模块组合的功能和软件结构检验,其测试内容主要包括模块组装中可能出现的问题,即数据穿过接口可能丢失、一个模块可能破坏另一个模块的内容、子功能组装可能不等于主功能、全程数据结构问题、误差累积问题;确认测试集中于论证软件需求的可追溯性,主要包括测试软件功能和性能是否与软件需求一致、测试软件配置的所有程序与文档是否正确完整而且一致。 ② 测试的方法不同:单元测试总是使用白盒测试法,为被测模块设计驱动模块和桩模块;集成测试使用渐增式测试和非渐增式测试,渐增式测试又有分为自顶向下结合法和自底向上结合法;确认测试总是使用黑盒测试法。 ③ 发现的错误不同:单元测试发现的错误主要是在编码阶段产生的错误,集成测试发现的错误主要是在设计阶段产生的错误,确认测试发现的错误主要是在需求分析阶段产生的错误。 ④ 涉及的文档不同:单元测试涉及编码和详细设计文档,集成测试涉及详细设计文档和概要设计文档,确认测试涉及软件需求规格说明书和用户手册。 三者相互关系是:单元测试、集成测试和确认测试是顺序实现的。首先单元测试对各个模块进行测试,然后集成测试以单元测试为基础,将所有已测模块按照设计要求组装成一个完整的系统,对模块组合的功能和软件结构检验进行测试,最后确认测试是以集成测试为基础,测试集成的软件是否满足需求规格说明书中确定的各种需求。 7. ① 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只

在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。 ② 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 ③ 白盒测试适应的测试有单元测试、逻辑覆盖(按逻辑覆盖程度不同,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。)、循环覆盖(循环次数,有单循环和嵌套循环)和基本路径测试。 ④ 黑盒测试适应的测试有:确认测试、等价类划分、边界值分析、错误推测和因果图。 一、填空题 1.程序设计语言的特性主要有心理特性、工程特性和 技术特性 三个方面。 2.程序语言的工程特性主要表现为可移植性、 开发工具的可利用性 、软件的可重用性和可维护性。 3.为了提高程序的易读性,同时为减少错误,提高软件开发效率,编码时应注意养成良好的 程序设计风格 。 4.程序加注释对理解程序提供了明确指导,根据作用不同注释分 序言性注释 和 功能性注释 。 5.软件需求分析之后,软件的设计、编码、测试与语言的特性有很大的关系,这个特性主要是语言的 技术 特性。 6.语句构造的原则是 简单直接 ,不能为了追求效率而使代码复杂化。 7. FORTRAN 语言上世界上第一个被正式推广应用的计算机语言,它不仅面向科学计算,数据处理能力也极强。 8. 汇编语言 是面向机器的,可以完成高级语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。 9.为了使数据定义更容易理解和维护,一个语句说明多个变量时,各变量名按 字典 排列。 10. 编码 是将详细设计得到的处理过程的描述转换为基于某种计算机语言的程序。 二、选择题 1.结构化程序设计主要强调的是( B) A.程序的执行效率 B程序的易读性 C程序的规模 D程序可移植性 19

2.下列选项中,不属于程序设计语言心理特性的表现形式的是(C)。 A简洁性 B歧义性 C可移植性 D局部性和顺序性 3.下列选项中与选择程序设计语言无关的因素是( A)。 A程序设计风格 B软件执行的环境 C软件开发的方法 D项目的应用领域 4.项目应用领域是选择程序设计语言的关键因素,下列不属于项目应用领域类型的选项是(D)。 A系统软件 B数据处理和数据库应用 C人工智能 D.UNIX操作系统 5.不适合做科学工程计算的语言是( D)。 A.FORTRAN语言 B.C语言 C.Pascal语言 D.Lisp语言 6.源程序中的序言性注释应置于每个模块的其始部分,该注释内容不应有(B)。 A模块的用途 B语句的功能 C数据描述 D模块的功能 7.下列适用于开发人工智能领域的语言是( C ) A Ada语言 B C 语言 C Prolog语言 D Cobol语言 8.程序设计语言的工程特性其中之一表现在( B ) A开发工具的可利用性 B简洁性 C数据结构的描述性 D数据库的可操作性 9.下列不合适作为数据处理与数据应用的语言是( A ) A Cobol语言 B SQL语言 C 4GL D Ada语言 10.提高程序效率的根本途径并非在于( D ) A选择良好的设计方法 B选择良好的数据结构 C选择良好的算法 D 对程序语句做调整 一、填空题 1.软件原来没有帮助信息,使用不方便,现在要增加帮助信息。这种维护性活动称之为 完善性维护 。 2.调试也称 纠错 ,是在成功的测试之后才开始进行,其目的是确定错误的原因 和 位置 ,并改正错误。 3.调试技术包括 简单调试 、 归纳法调试 、 演绎法调试 和 回溯法调试 。 4.回溯法调试是从 程序产生错误的地方 出发,而归纳法调试是从 测试结果发现的线索 入手。 二、选择题

1.某个应用软件原来是在DOS环境下运行的,现在要把它移植到Windows环境下来运行,这种修改软件的过程称为( B) A校正性维护 B适应性维护 C完善性维护 D预防性维护 2.产生软件维护的副作用是指( D) A开发软件时的错误 B运行时的错误 C隐含的错误 D因修改软件而造成的错误 3.软件维护是指( C) A维护软件的正常运行 B软件的配置更新C对软件的改进,适应和完善 D软件开发期的一个阶段 三、简答题 1、软件维护有哪些内容? a、校正性维护b、适应性维护c、完善性维护d、预防性维护 2.软件维护的特点是什么? a、非结构化维护和结构化维护b、维护的困难性c、软件强维护的费用 3.软件维护的流程是什么? a、制定申请维护报告b、审查申请报告并批准c、进行维护并作详细记录d、覆审 4.软件维护的副作用有哪些? 编码、数据、文档副作用 5.什么是软件的可维护性?可维护性的度量的特性是什么? 软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。 可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。 6.提高可维护性的方法有哪些? A、建立明确的软件质量目标。B、利用先进的软件开发技术和工具。 C、建立明确的质量保证工作。D、选择可维护的程序设计语言。 E、改进程序文档。 20

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务