《软件工程》练习题.pdf_第1页
《软件工程》练习题.pdf_第2页
《软件工程》练习题.pdf_第3页
《软件工程》练习题.pdf_第4页
《软件工程》练习题.pdf_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 1 页 共 11 页 软件工程习题软件工程习题 一、填空题(在括号内填写正确的答案,每空一、填空题(在括号内填写正确的答案,每空 1 1 分,共分,共 2525 分)分) 1软件工程学的基本原则包括分解性、 独立性、一致性、确定性等。 2 软件生存周期一般可分为问题定义、 可行性研究、 需求分析、 设计、 编码、测 试、运行与维护阶段。 3成本估计方法主要有自顶向下方法、自底向上方法和算法模型估计三种类型。 4数据流图的基本符号包括数据输入的源点和数据输出的汇点、加工、 数据流 、 数据存储文件 6详细设计的工具有图形工具、表格工具和语言工具。 10程序测试是对编码阶段的语法错、 语义和运行进行查找的编码执行活动。 二、单项选择题(将一个正确的答案代码填入括号中,每小题二、单项选择题(将一个正确的答案代码填入括号中,每小题 2 2 分,共分,共 1010 分)分) 1下列哪个阶段不属于软件生存期的三大阶段(c) 。 A、计划阶段B、开发阶段 C、编码阶段D、维护阶段 2下列哪个图不是 N-S 图的构件(c) 。 5下列描述错误的是( D) 。 A、数据流图将各种信息流抽象成数据流的形式 B、数据流图不反映控制关系、调用关系 C、数据流图不反映处理逻辑的先后顺序 D、数据流图不反映数据的流向 三、三、多项选择题(将正确的答案代码填入括号中,每小题多项选择题(将正确的答案代码填入括号中,每小题3 3分,共分,共1515分)分) 1需求分析阶段应该完成的文档资料包括(ABCD) 。 A、系统规格说明B、数据要求 C、用户系统描述D、修正的开发计划 2下列关于模块的描述,正确的是( ABCD) 。 A、具有独立的模块软件比较容易开发出来 B、独立的模块比较容易测试和维护 C、模块的独立程度可以通过内聚和耦合标定 D、独立的模块可以完成一个相对独立的特定子功能 3关于内容耦合的描述正确的是( AD) 。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合 C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4下列属于不标准的书写格式( BCD) 。 A、书写时适当使用空格分隔 B、一行写入多条语句 C、嵌套结构不使用分层缩进的写法 D、程序中不加注释 5软件测试主要包括( ABC)方面的差错和纠错。 A、软件计划B、软件设计 C、软件编码D、软件价格 四、判断题(正确的在括号内打上四、判断题(正确的在括号内打上“” ,错误的打上,错误的打上“” 。每小题。每小题 3 3 分,共分,共 3030 分)分) 2模块越多开发成本越小。(N) 3内聚是指一个软件结构内各个模块之间互连程序的度量。( N) 4结构化设计属于面向数据流的设计方法。( Y) 5详细设计是在概要设计之后进行的它利用概要设计的结果对系统中的每个模块给出足够的过程性描述 y 6程序运行过程中出现错误叫做容错。(N) 7软件测试的目的是证明程序没有错误。(N ) 8白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。(N) 五、问答题(每小题五、问答题(每小题 5 5 分,共分,共 2020 分)分) X Y A、 WHILE M B B、 X Y C、 UNTIL N C D、 X Y A、 WHILE M B B、 X Y C、 UNTIL N C D、 第 2 页 共 11 页 1什么是软件生存期。 2简述什么是系统流程图。 3为什么数据流图要分层? 4软件的质量反应为哪些方面的问题? 五、问答题(每小题 5 分,共 20 分) 1答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历 的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。 2答:系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每 个部件(程序、文件、数据库、表格、人工过程等) 。系统流程图表达的是部件的信息流程,而不表示对信息进 行加工处理的控制过程。 3答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题, 需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 4答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。 在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。 如果不遵守这些开发准则,软件质量就得不到保证。 往往会有一些隐含的需求没有明确地提出来。 如果软件只满足那些精确定义了的需求而没有满足这些隐含的 需求,软件质量也不能保证。软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量 要求不同而不同。 1.软件生存周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行 与维护阶段。 2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3.可行性研究主要集中在以下四个方面 经济可行性、 技术可行性、法律可行性和 抉择。 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5._数据流图_和_数据字典_共同构成系统的逻辑模型。 6.软件测试的方法有_分析方法_和_非分析方法_(即黑盒法) 。 7.单元测试一般以_白盒_测试为主,_黑盒_测试为辅。 1.下列哪个阶段不属于软件生存周期的三大阶段(C) 。 A、计划阶段B、开发阶段 C、编码阶段D、维护阶段 2.需求分析是( A) 。 A、 软件开发工作的基础B、 软件生存周期的开始 C、 由系统分析员单独完成的D、 由用户自己单独完成的 3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B) 。 A、 明确的需求定义B、完整的生命周期 C、 较长的开发时间D、熟练的开发人员 4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为 (A)。 A、改正性维护B、适应性维护 C、完善性维护D、预防性维护 5.一般说来,投入运行的软件系统中有错误( A)。 A、不是不可以理解的B、是不能容忍的 C、是要求退货的理由D、是必然的 1.下面哪些测试属于白盒测试(ae)。 A、基本路径测试B、等价类划分C、边界值分析D、错误推测 E、逻辑覆盖测试 2.下列哪些选项是属于内容耦合(abc) 。 A、 一个模块直接访问另一个模块的内部数据 B、一个模块有多个入口 C、一个模块不通过正常入口转到另一模块内部 D、 一个模块只有一个入口 3.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的( acd) 。 A、自顶向下 B、自底向上 C、分层绘制 D、逐步求精 1.在进行总体设计时应加强模块间的联系。 (N) 2.系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。 (N) 3.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 (N) 4.在程序调试时,找出错误的位置和性质比改正该错误更难。 (Y) 5.以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。 (Y) 6.如果通过软件测试没有发现错误,则说明软件是正确的。 (N) 7.快速原型模型可以有效地适应用户需求的动态变化。 (Y) 8.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。 (Y) 第 3 页 共 11 页 9.集成测试主要由用户来完成。 (N) 10. 软件危机完全是由于硬件问题引起的。 (N) 1.什么是软件危机?为什么会产生软件危机? 2.耦合性有哪几种类型? 其耦合度的顺序如何 3.简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则? 4.什么是黑盒测试法? 五、简答题(每小题五、简答题(每小题 5 分,共分,共 20 分)分) 1.答:软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含二方面的问题,一是如何 开发利用软件,三是如何维护数量不断膨胀的已有软件。产生软件危机的原因,一方面与软件本身的特 点有关,另一方面和软件开发与维护的方法不正确有关。 2.答:低:非直接耦合 数据耦合标记耦合 控制耦合外部耦合 公共耦合内容耦合 :高 3.答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则: 必须能够表达和理解问题的数据域和功能域;必须按自顶向下、 逐步分解的方式对问题进行分解和不断 细化;要给出系统的逻辑视图和物理视图。 4.答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是 否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。 1对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。 A结合B隐藏C封装D抽象 2软件生命周期中所花费用最多的阶段是( D) 。 A详细设计B软件编码C软件测试D软件维护 3需求分析中开发人员要从用户那里了解(A) 。 A软件做什么B用户使用界面 C输入的信息D软件的规模 4测试的关键问题是(D) 。 A如何组织对软件的评审B如何验证程序的正确性 C如何采用综合策略D如何选择测试用例 5 (D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具 和过程三个要素。 A软件过程B软件测试 C软件生命周期D软件工程方法学 6 (A)意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B多继承C类的可复用D信息隐藏 7单元测试的测试用例主要根据( D)的结果来设计。 A需求分析B源程序C概要设计D详细设计 8随着软硬件环境变化而修改软件的过程是( B) 。 A校正性维护B适应性维护 C完善性维护D预防性维护 9在白盒测试技术测试用例的设计中, (A)是最弱的覆盖标准。 A语句覆盖B路径覆盖 C条件组合覆盖D判定覆盖 10结构化程序设计的一种基本方法是( C) 。 A筛选法B迭代法 C逐步求精法D递归法 11不适合作为科学工程计算的程序设计语言是(D) 。 APascalBC CFortranDProlog 12只有单重继承的类层次结构是( C)层次结构。 A网状型B星型 C树型D环型 13面向对象的开发方法中,(C)将是面向对象技术领域内占主导地位的标准建模语言。 ABooch 方法BCoad 方法CUML 语言DOMT 方法 14瀑布模型本质上是一种(A)。 A线性顺序模型B顺序迭代模型 C线性迭代模型D及早见产品模型 15软件维护产生的副作用,是指(C)。 A开发时的错误B隐含的错误 C因修改软件而造成的错误D运行时误操作 16软件详细设计的主要任务是确定每个模块的(A)。 A算法和使用的数据结构B外部接口 C功能D编程 17软件结构图的形态特征能反映程序重用率的是(C)。 A深度B宽度C扇入D扇出 第 4 页 共 11 页 18为了提高模块的独立性,模块内部最好是( C)。 A逻辑内聚B时间内聚 C功能内聚D通信内聚 19软件结构图中,模块框之间若有直线连接,表示它们之间存在( A)。 A调用关系B组成关系 C链接关系D顺序执行关系 20 “软件危机”是指(C) 。 A 计算机病毒的出现B利用计算机进行经济犯罪活动 C软件开发和维护中出现的一系列问题D人们过分迷恋计算机系统 21具有风险分析的软件生命周期模型是(C) 。 A.瀑布模型B.喷泉模型 C.螺旋模型D.增量模型 22数据流图(DFD)中的每个数据处理至少需要( D) 。 A.一个输入数据流B.一个输出数据流 C.一个输入或者输出数据流D.一个输入数据流和一个输出流 二判断题(每小题二判断题(每小题 2 2 分,共分,共 2424 分)分) 1文档是软件产品的一部分,没有文档的软件就不称其为软件。 (Y) 2需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。 ( N) 3数据流图建立系统的功能模型,它由数据流、数据处理和数据存贮组成。 (N) 4在结构化分析建模中要建立的是对象模型、功能模型和行为模型,它们以数据字典为核心。 ( N) 5好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。 (Y) 6边界值分析方法是取输入/输出等价类的边界值来构成测试用例的测试方法。 (Y) 7在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 ( N) 8在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。 (Y) 9软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。 ( N) 10面向对象方法学的四要素是对象、类、继承和消息通信。 ( Y) 11详细设计的结果基本最终决定了软件的质量。 (Y) 12在详细设计中常采用的工具有层次图、PAD(问题分析图) 、程序流程图、盒图等。 (N) 三填空题(每空三填空题(每空 2 2 分,共分,共 2424 分)分) 1为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。 2软件结构是以模块为基础而组成的一种控制层次结构。 3如果知道软件的规格说明书描述的程序功能,那么就可以采用进行测试。 4当 A 模块调用 B 模块时若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 数值耦合。 5软件概要设计关键的一步是 确定软件体系结构_,它直接影响下一阶段详细设计和编码的工作。 6 数据流图中的箭头表示数据流, 椭圆或圆形表示数据处理, 矩形表示数据源点或终点。 7软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上或相反_集成的过程。 8按数据流的类型,面向数据流的设计方法有两种设计策略,它们是变换分析设计和事务分析设计。 9数据流图仅反映系统必须完成的逻辑功能,所以它是一种功能模型。 10软件结构中的深度表示的软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。 四简答题(每小题 5 分,共 10 分) 1衡量模块独立性的两个定性标准是什么(2 分)?这两个标准的定义分别是什么(2 分)?在我们的软件设计 中,关于模块独立性我们追求的目标是什么 答:衡量模块独立性的两个定性标准是内聚和耦合(2 分) 。 耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元 素彼此结合的紧密程度。在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(。 2简述结构化程序设计方法的基本特点。 (5 分) 答: 1) 是尽可能少用 goto 语句的程序设计方法; 2) 每个代码块都单入单出; 3) 使用控制结构:顺序、选择和循环Do_UNTIL 和 Do_CASE; 4) 自顶向下逐步求精。 一、单项选择题(共 20 分,每小题 2 分) 软件 A 详细设计 B软件编码 C软件测试 D软件维护生命周期中所花费用最多的阶段是(D D) 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因 必须给出(B B)的回答。 第 5 页 共 11 页 A确定B行或不行C正确D无二义 下列关于瀑布模型的描述正确的是(C) 。 A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 详细设计的结果基本决定了最终程序的(C C) A代码的规模B运行速度C质量D可维护性 结构化程序设计主要强调的是(D D) A 程序的规模B 程序的效率C 程序设计语言的先进性D 程序易读性 程序的三种基本控制结构是(B B) A过程、子程序和分程序B顺序、选择和重复C递归、堆栈和队列D调用、返回和转移 确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C C) A、集成测试B、恢复测试C、验收测试D、单元测试 面向对象技术中,对象是类的实例。对象有三种成份: (A) 、属性和方法(或操作)。 A. 标识B. 规则C. 封装D. 消息 下面关于面向对象方法中消息的叙述,不正确的是(B) 。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D发送与接收消息的通信机制与传统的子程序调用机制不同 面向对象程序设计中的数据隐藏指的是(D D)。 A 输入数据必须输入保密口令 B数据经过加密处理 C. 对象内部数据结构上建有防火墙 D对象内部数据结构的不可访问性 二、填空题(共 30 分,每小题 3 分) 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 容错 功能 的软件。 为了便于对照检查,测试用例应由输入数据和预期的 结果 两部分组成。 传统软件工程方法的软件结构是以 模块 为基础而组成的一种控制层次结构。 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和 判定树 。 传统软件工程的三种建模方法是数据建模、功能建模和 行为建模 。 面向对象方法中,继承是指子类继承其类父类的 全部数据和操作 。 自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先策略。 UML 的定义包括和 UML 语义 和 UML 表示法 两个部分。 Codd 和 Yourdon 认为:面向对象 =对象 + 类 + 继承 +消息 。 三、判断题(正确用表示,错误用表示) 1-6 小题 2 分,第 7 小题 3 分,共 15 分。 1. 在软件开发中,采用原形系统策略的主要困难是时间问题。 () 2.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。 () 3. 内聚是指一个软件结构内各个模块之间互连的度量。 () 4.对与 DFD 图的划分,主要依赖设计人员的经验,一切都应该根据设计人员的经验确定。 () 5.详细设计是在概要设计之后进行的,它利用概要设计的结果,对系统中的每个模块给出足够的过程性描 述。() 6.在变更控制中,基线控制可以用来确保由不同用户所执行的并发变更。 () 7.下列关于模块的描述,正确的是(ABCD) 。 第 6 页 共 11 页 A具有独立性的模块软件比较容易开发出来。 B独立的模块比较容易测试和维护 C模块的独立程度可以通过内聚和耦合标定 D 独立的模块可以完成一个相对独立的特定子功能。 四、简答题 (每小题 5 分,共 20 分。 ) 1、怎样建立目标系统的逻辑模型? 首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图(一般为数据流 图)及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。 2说明并比较概要设计说明书与需求分析说明书的内容。 需求分析说明书是需求分析的阶段成果,将成为软件开发、验收和管理的依据;概要设计说明书是概要设计 的阶段成果,将作为详细设计的输入和集成测试的依据。 需求分析说明书主要内容是描述系统的需求, 包括数据描述、 功能要求、 性能要求、 运行需求以及其他要求; 概要设计说明书主要内容是描述系统的结构,包括总体设计、接口设计、数据结构设计、运行设计、出错处 理设计、安全保密设计以及维护设计等。 3什么是“对象”?什么是“类”? 对象是问题域或实现域中某些事物的一个抽象, 它反映该事物在系统中需要保存的信息和发挥的作用;它是 一组属性和对这些属性进行操作的一组服务的封装体。 类是具有相同属性和服务的一组对象的集合,为属于该类的全部对象提供统一的抽象描述, 其内部包括属性 和服务两个主要部分。具体来说,类由方法和数据组成,它是关于对象性质的描述,包括外部特性和内部实现两 个方面。 4版本控制 配置管理的版本控制主要解决下列问题: (1)根据不同用户的需要配置不同的系统; (2)保存系统老版本,为以后调查问题使用; (3)建立一个系统新版本,使它包括某些决策; (4)支持两为位以上工程师同时在一个项目工作; (5)高效存储项目的多个版本。 五、应用分析题: (共共 1515 分)分) 1根据以下列描述,画出学生申请 IC 借书卡的第一层数据流图: 学生入学后到图书馆申请 IC 借书卡,图书馆管理人员根据 IC 借书卡库存情况分析是否需要购买新的 IC 借书卡,如需购买,则向 IC 借书卡提供商购买。各种资金往来通过学校的会计科办理。 (5 5 分)分) 第 7 页 共 11 页 第一部分选择题 1对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。 A结合B隐藏C封装D抽象 8瀑布模型的存在问题是(b ) A用户容易参与开发B缺乏灵活性 C用户与开发者易沟通D适用可变需求 9软件测试方法中的静态测试方法之一为(a) A计算机辅助静态分析B黑盒法 C路径覆盖D边界值分析 10软件生命周期中所花费用最多的阶段是(d) A详细设计B软件编码 C软件测试D软件维护 11第一个体现结构化编程思想的程序设计语言是(b) AFORTRAN 语言BPascal 语言 CC 语言DPL/1 语言 12程序的三种基本控制结构是(b) A过程、子程序和分程序B顺序、选择和重复 C递归、堆栈和队列D调用、返回和转移 13在详细设计阶段,经常采用的工具有(a) APADBSACSCDDFD 14详细设计的结果基本决定了最终程序的(c) A代码的规模B运行速度 C质量D可维护性 15需求分析中开发人员要从用户那里了解(a) A软件做什么B用户使用界面 C输入的信息D软件的规模 16结构化程序设计主要强调的是(d) A程序的规模 B程序的效率 C程序设计语言的先进性 D程序易读性 18经济可行性研究的范围包括( c) A资源有效性B管理制度 C效益分析D开发风险 19可行性分析是在系统开发的早期所做的一项重要的 论证工作它是决定该系统是否开发的决策依据,因必须给出(b)的回答。 A确定B行或不行C正确D无二义 20需求分析阶段的任务是确定(d) A软件开发方法 B软件开发工具 C软件开发费 D软件系统的功能。 三、名词解释题每小题 3 分,共 15 分。 31软件生存周期模型32数据字典(DD) 33内聚性35多态性 三、名词解释题每小题 3 分,共 15 分。 31.是描述软件开发过程中各种活动如何执行的模型。 32数据字典是用来定义数据流图中的各个成分的具体含义的。 它以一种准确的、无二义性的说明方式为系统的分析、 设计及维护提供了有关元素的一致的定义和详细的描述。 33内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量, 即一个模块内部各个元素彼此结合的紧密程度的度量。 35指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。 四、简答题 每小题 5 分,共 20 分。 36简述容错技术的四种主要手段,并解释。 37以 G.J.Myers 的观点,简述对软件测试的目的。 38就程序设计语言的工程特性而言,对程序编码有哪些要求? 39模块的内聚性包括哪些类型? 四、简答题 每小题 5 分,共 20 分。 36结构冗余:包括静态冗余、动态冗余和混合冗余。 信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:指为实现上述冗余技术所需的资源和技术。 37软件测试是 第 8 页 共 11 页 (1)为了发现错误而执行程序的过程; (2)一个好的用例能够发现至今尚未发现的错误的测试。 (3)一个成功的测试是发现至今尚未发现的错误的测试。 38就程序设计语言的工程特性而言,对程序编码有如下要求: (1)可移植性 (2)开发工具的可利用性 (3)软件的可重用性 (4)可维护性 39模块的内聚性包括: (1)偶然内聚(2)逻辑内聚(3)时间内聚 (4)通信内聚(5)顺序内聚(6)功能内聚 一、选择题一、选择题: (每题(每题 1 分,共分,共 20 分分) (将答案写在题号前的()中)(将答案写在题号前的()中) (C)1.软件是() 。 A. 处理对象和处理规则的描述B. 程序 C. 程序及其文档D. 计算机系统 (B)2. 软件需求规格说明的内容不应包括() 。 A. 主要功能B. 算法的详细描述 C. 用户界面及运行环境D. 软件的性能 (B)3. 程序的三种基本控制结构是() 。 A. 过程、子程序和分程序B. 顺序、选择和重复 C. 递归、迭代和回溯D. 调用、返回和转移 () 4.面向对象的分析方法主要是建立三类模型,即()。 A) 系统模型、ER 模型、应用模型 B) 对象模型、动态模型、应用模型 C) -模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 (C) 5.在 E-R 模型中,包含以下基本成分()。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 (A) 6.各种软件维护的类型中最重要的是()。 A) 完善性维护B) 纠错性维护 C) 适应性维护D) 预防性维护 (B) 7软件测试的目标是() 。 A. 证明软件是正确的B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误D. 与软件调试相同 (D)8软件生命周期中所花费用最多的阶段是() A详细设计B软件编码 C软件测试D软件维护 (C)9若有一个计算类型的程序,它的输入量只有一个 X,其范围是-1.0, 1.0,现从输入的角度考虑一组 测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是() A条件覆盖法B等价分类法 C边界值分析法D错误推测法 (D)10、详细设计的基本任务是确定每个模块的()设计 A功能B.调用关系C.输入输出数据D.算法 (A)11设函数 C(X)定义问题 X 的复杂程序,函数 E(X)确定解决问题 X 需要的工作量(时间) 。对于 两个问题 P1 和 P2,如果 C(P1)C(P2)显然 E(P1)E(P2),则得出结论 E(P1+P2)E(P1)+E(P2)就是: () A模块化的根据B逐步求精的根据C抽象的根据D信息隐藏和局部化的根据 ( D)12下面几种白箱测试技术,哪种是最强的覆盖准则 () A语句覆盖B条件覆盖C判定覆盖D条件组合覆盖 ( A)13面向数据流的设计方法把()映射成软件结构。 A数据流B系统结构C控制结构D信息流 ( A)14.内聚程度最低的是()内聚 A.偶然B.过程C.顺序D.时间 ( A)15.确定测试计划是在()阶段制定的. A总体设计B.详细设计C.编码D.测试 ( D )16需求分析的产品是() 第 9 页 共 11 页 A数据流程图案B数据字典C判定表D需求规格说明书 ( C)17数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是() A数据库设计B数据通信C数据定义D数据维护 (D)18.()引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A增量模型B喷泉模型C原型模型D螺旋模型 (D)19模块的内聚性最高的是() A逻辑内聚B时间内聚C偶然内聚D功能内聚 (D)20.提高测试的有效性非常重要,成功的测试是指() A.证明了被测试程序正确无误B. 说明了被测试程序符合相应的要求 C.未发现被测程序的错误D.发现了至今为止尚未发现的错误 二判断题(每题二判断题(每题 1 分,共分,共 10 分)将答案写在题号前的(分)将答案写在题号前的()中,正确用)中,正确用, 错误用错误用。 ( )1、开发软件就是编写程序。 ( )、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等 测试。 ( )3、编程序时应尽可能利用硬件特点以提高程序效率. ( )4、软件需求分析的任务是建立软件模块结构图。 ( )5、尽可能使用高级语言编写程序 ( )6、以结构化分析方法建立的系统模型就是数据流图。 ( )7、进行总体设计时加强模块间的联系。 ( )8、编码时尽量多用全局变量. ( )9、用 CASE 环境或程序自动生成工具来自动生成一部分程序. ( )10、软件测试是要发现软件中的所有错误。 三、简答题三、简答题: (每题(每题 5 分,共分,共 25 分)分) 1.软件生命期各阶段的任务是什么? 答:软件生命期分为 7 个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2.软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3. 自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: 自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模 块的接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论