logo资料库

软件工程》期末考试试卷集合及答案.doc

第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
资料共17页,剩余部分请下载后查看
《软件工程》期末考试试卷 、运行与维护阶段。 、可行性研究、 需求分析 、 独立性 、一致性、确定性等。 一、填空题(在括号内填写正确的答案,每空 1 分,共 25 分) 1.软件工程学的基本原则包括 分解性 2.软件生存周期一般可分为 问题定义 试 3.成本估计方法主要有 自顶向下方法 4.数据流图的基本符号包括 数据输入的源点和数据输出的汇点 、 加工 、 数据流 、 数据存储文件 5.JSD 是一种典型的 6.详细设计的工具有 图形工具 7.IPO 图由 输入 8.面向对象技术是一整套关于如何看待 软件系统 研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用 象 9.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的 逆向工程 10.程序测试是对编码阶段的语法错、 语义 二、单项选择题(将一个正确的答案代码填入括号中,每小题 2 分,共 10 分) 、表格工具和 语言工具 三个框组成。这个图的特点是能够直观的显示三者之间的关系。 、 封装 、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 的关系,以什么观点来 、 对 类 和算法模型估计三种类型。 进行查找的编码执行活动。 、设计、编码、 测 、 自底向上方法 、处理和 输出 面向数据结构 的分析设计方法。 和 现实世界 和 运行 、 继承 。 。 1.下列哪个阶段不属于软件生存期的三大阶段( c )。 A、计划阶段 C、编码阶段 B、开发阶段 D、维护阶段 2.下列哪个图不是 N-S 图的构件( c )。 A、 A、 C、 C、 X X Y Y X X Y Y B、 B、 WHILE M WHILE M B B C C D、 D、 UNTIL N UNTIL N 3.对于下列各图,有关描述中正确的是( A )。 A、数据 A 和 B 同时输入变成 C A A * * C C B、数据 A 变换成 B 和 C B B B B A A C C C、数据 A 或数据 B(不能同时)输入,变换成 C A A + + B B C C D、数据 A 变换成 B 和 C B B ⊕ ⊕ A A C C 4.下列哪种方法不是度量效益的方法( B )。 B、数据要求 D、修正的开发计划 第 1 页 共 17 页 A、货币的时间价值 C、投资回收期 B、算法模型估计 D、纯收入 5.下列描述错误的是( D )。 A、数据流图将各种信息流抽象成数据流的形式 B、数据流图不反映控制关系、调用关系 C、数据流图不反映处理逻辑的先后顺序 D、数据流图不反映数据的流向 三、多项选择题(将正确的答案代码填入括号中,每小题3 分,共15分) 1.需求分析阶段应该完成的文档资料包括(ABCD )。 A、系统规格说明 C、用户系统描述
2.下列关于模块的描述,正确的是( ABCD )。 A、具有独立的模块软件比较容易开发出来 B、独立的模块比较容易测试和维护 C、模块的独立程度可以通过内聚和耦合标定 D、独立的模块可以完成一个相对独立的特定子功能 3.关于内容耦合的描述正确的是( AD )。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合 C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式( BCD )。 A、书写时适当使用空格分隔 B、一行写入多条语句 C、嵌套结构不使用分层缩进的写法 D、程序中不加注释 5.软件测试主要包括( ABC )方面的差错和纠错。 A、软件计划 C、软件编码 B、软件设计 D、软件价格 四、判断题(正确的在括号内打上“√”,错误的打上“×”。每小题 3 分,共 30 分) 1.螺旋模型是利用笛卡尔坐标的四个象限分别代表四个方面的活动来表示。( Y ) 2.模块越多开发成本越小。 3.内聚是指一个软件结构内各个模块之间互连程序的度量。 4.结构化设计属于面向数据流的设计方法。 5.详细设计是在概要设计之后进行的它利用概要设计的结果对系统中的每个模块给出足够的过程性描述 y 6.程序运行过程中出现错误叫做容错。 7.软件测试的目的是证明程序没有错误。 8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。(N) 9.PAD 图在设置了五种基本的控制结构后,还允许递归调用。 10.独立编译是指一个大程序的不同程序单元分别编译,然后重 新连接整个程序段。y ( N ) ( Y ) ( N ) ( N ) ( N ) ( Y ) 五、问答题(每小题 5 分,共 20 分) 1.什么是软件生存期。 2.简述什么是系统流程图。 3.为什么数据流图要分层? 4.软件的质量反应为哪些方面的问题? 五、问答题(每小题 5 分,共 20 分) 1.答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历 的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。 2.答:系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每 个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不表示对信息进 行加工处理的控制过程。 3.答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题, 需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 4.答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。 在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。 如果不遵守这些开发准则,软件质量就得不到保证。 往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的 需求,软件质量也不能保证。软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量 要求不同而不同。 第 2 页 共 17 页
1. 软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行 2. 按软件的功能进行划分,软件可以划分为 系统软件 3. 可行性研究主要集中在以下四个方面 经济可行性 、 支撑软件 、 技术可行性 和应用软件。 、法律可行性 和 与维护阶段。 抉择。 4. 用户界面的 可使用性 是用户界面设计最重要的也是最基本的目标。 5. 常见的软件概要设计方法有 3 大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数 据结构为基础构造模块的__jackson 方法__________,以对象、类、继承和通信为基础的__面向对象设计方 法__________。 __数据流图________和__数据字典___共同构成系统的逻辑模型。 6. 7. 软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。 8. 单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 9. 成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。 1. 下列哪个阶段不属于软件生存周期的三大阶段( C B、开发阶段 D、维护阶段 A、计划阶段 C、编码阶段 )。 2. 需求分析是( A )。 A、 软件开发工作的基础 C、 由系统分析员单独完成的 D、 由用户自己单独完成的 B、 软件生存周期的开始 3. 原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B )。 A、 明确的需求定义 C、 较长的开发时间 B、完整的生命周期 D、熟练的开发人员 4. 软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为 B、适应性维护 D、预防性维护 5. 一般说来,投入运行的软件系统中有错误( A )。 A、不是不可以理解的 B、是不能容忍的 C、是要求退货的理由 D、是必然的 1. 下面哪些测试属于白盒测试( ae )。 B、等价类划分 C、边界值分析 D、错误推测 ( A )。 A、改正性维护 C、完善性维护 A、基本路径测试 E、逻辑覆盖测试 2. 下列哪些选项是属于内容耦合( abc )。 A、 一个模块直接访问另一个模块的内部数据 B、一个模块有多个入口 C、一个模块不通过正常入口转到另一模块内部 D、 一个模块只有一个入口 3. 下列属于度量效益方法的是( abc )。 A、货币的时间价值 B、收入 B、投资回收期 D、投资回报率 4. 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的( acd )。 A、自顶向下 B、自底向上 C、分层绘制 D、逐步求精 5. 软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具( acd )。 A、结构图 B、实体联系图 C、IPO 图 D、层次图 1. 在进行总体设计时应加强模块间的联系。( N 2. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。 ) ( N ) ) N ) 3. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( 4. 在程序调试时,找出错误的位置和性质比改正该错误更难。( Y 5. 以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。( Y 6. 如果通过软件测试没有发现错误,则说明软件是正确的。( N ) 7. 快速原型模型可以有效地适应用户需求的动态变化。( Y 8. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。( 9. 集成测试主要由用户来完成。( N 10. 软件危机完全是由于硬件问题引起的。( N 1. 什么是软件危机?为什么会产生软件危机? 2. 耦合性有哪几种类型? 其耦合度的顺序如何 3. 简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则? 4. 什么是黑盒测试法? 1. 假定某航空公司规定,乘客可以免费托运重量不超过 30 公斤的行李。当行李重量超过 30 公斤时,对头等舱 的国内乘客超重部分每公斤收费 4 元,对其它舱的国内乘客超重部分每公斤收费 6 元,对国外乘客超重部分 每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示计算行李 ) ) ) Y ) ) 第 3 页 共 17 页
费的算法。 答案: 五、简答题(每小题 5 分,共 20 分) 1. 答:软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含二方面的问题,一是如何 开发利用软件,三是如何维护数量不断膨胀的已有软件。产生软件危机的原因,一方面与软件本身的特 点有关,另一方面和软件开发与维护的方法不正确有关。 2. 答:低:非直接耦合 数据耦合标记耦合 控制耦合外部耦合 公共耦合内容耦合 :高 3. 答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则: 必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断 细化;要给出系统的逻辑视图和物理视图。 4. 答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是 否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。 六、分析设计题(----)判定树为下图 第 4 页 共 17 页
《软件工程》试卷(A 卷) 1.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 2.软件生命周期中所花费用最多的阶段是( D A.详细设计 B.软件编码 )。 C.软件测试 3.需求分析中开发人员要从用户那里了解( A )。 D.软件维护 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 4.测试的关键问题是( D )。 A.如何组织对软件的评审 C.如何采用综合策略 B.如何验证程序的正确性 D.如何选择测试用例 5.( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具 和过程三个要素。 A.软件过程 C.软件生命周期 B.软件测试 D.软件工程方法学 6.( A )意味着一个操作在不同的类中可以有不同的实现方式。 A.多态性 B.多继承 7.单元测试的测试用例主要根据( D A.需求分析 B.源程序 8.随着软硬件环境变化而修改软件的过程是( B C.类的可复用 D.信息隐藏 )的结果来设计。 C.概要设计 )。 D.详细设计 A.校正性维护 C.完善性维护 B.适应性维护 D.预防性维护 9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。 A.语句覆盖 C.条件组合覆盖 B.路径覆盖 D.判定覆盖 10.结构化程序设计的一种基本方法是( C )。 A.筛选法 C.逐步求精法 B.迭代法 D.递归法 11.不适合作为科学工程计算的程序设计语言是( D )。 A.Pascal C.Fortran B.C D.Prolog 12.只有单重继承的类层次结构是( C )层次结构。 A.网状型 C.树型 B.星型 D.环型 13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。 A.Booch 方法 B.Coad 方法 C.UML 语言 D.OMT 方法 14.瀑布模型本质上是一种( A )。 A.线性顺序模型 C.线性迭代模型 B.顺序迭代模型 D.及早见产品模型 15.软件维护产生的副作用,是指( C )。 A.开发时的错误 C.因修改软件而造成的错误 B.隐含的错误 D.运行时误操作 16.软件详细设计的主要任务是确定每个模块的( A )。 A.算法和使用的数据结构 C.功能 B.外部接口 D.编程 17.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度 B.宽度 C.扇入 D.扇出 18.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 C.功能内聚 B.时间内聚 D.通信内聚 19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.调用关系 C.链接关系 20.“软件危机”是指( C )。 B.组成关系 D.顺序执行关系 A. 计算机病毒的出现 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统 B.利用计算机进行经济犯罪活动 21.具有风险分析的软件生命周期模型是( C )。 A.瀑布模型 C.螺旋模型 B.喷泉模型 D.增量模型 )。 22.数据流图(DFD)中的每个数据处理至少需要( D A.一个输入数据流 C.一个输入或者输出数据流 B.一个输出数据流 D.一个输入数据流和一个输出流 第 5 页 共 17 页
) ) ) ) ) 为基础而组成的一种控制层次结构。 二.判断题(每小题 2 分,共 24 分) 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 分,共 24 分) 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).自顶向下逐步求精。 表示的软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。 两部分组成。 ,椭圆或圆形表示 数据处理 ,矩形表示 数据源点或终点 。 模块 进行测试。 模型。 第 6 页 共 17 页
一、单项选择题(共 20 分,每小题 2 分) ① 软件 A. 详细设计 B.软件编码 C.软件测试 D.软件维护生命周期中所花费用最多的阶段是(D) ② 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因 必须给出(B)的回答。 A.确定 B.行或不行 C.正确 D.无二义 ③下列关于瀑布模型的描述正确的是(C)。 A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 ④ 详细设计的结果基本决定了最终程序的(C) C.质量 A.代码的规模 B.运行速度 D.可维护性 ⑤ 结构化程序设计主要强调的是(D) B. 程序的效率 A. 程序的规模 ⑥ 程序的三种基本控制结构是(B) C. 程序设计语言的先进性 D. 程序易读性 A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 ⑦ 确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C) A、集成测试 B、恢复测试 C、验收测试 D、单元测试 ⑧ 面向对象技术中,对象是类的实例。对象有三种成份:(A)、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装 D. 消息 ⑨ 下面关于面向对象方法中消息的叙述,不正确的是(B)。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 ⑩ 面向对象程序设计中的数据隐藏指的是(D)。 A. 输入数据必须输入保密口令 B.数据经过加密处理 C. 对象内部数据结构上建有防火墙 D.对象内部数据结构的不可访问性 二、填空题(共 30 分,每小题 3 分) ⒈ 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 容错 功能 的软件。 ⒉ 为了便于对照检查,测试用例应由输入数据和预期的 结果 两部分组成。 ⒊ 传统软件工程方法的软件结构是以 模块 为基础而组成的一种控制层次结构。 ⒋ 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和 判定树 。 ⒌ HIPO 图是由一组 IPO 图和一张 HC 图组成。 ⒍ 传统软件工程的三种建模方法是数据建模、功能建模和 行为建模 。 ⒎ 面向对象方法中,继承是指子类继承其类父类的 全部数据和操作 。 ⒏ 自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先策略。 ⒐ UML 的定义包括和 UML 语义 和 UML 表示法 两个部分。 ⒑ Codd 和 Yourdon 认为:面向对象 =对象 + 类 + 继承 + 消息 。 三、判断题(正确用√表示,错误用×表示) 1-6 小题 2 分,第 7 小题 3 分,共 15 分。 1. 在软件开发中,采用原形系统策略的主要困难是时间问题。(×) 2. 数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。(√) 第 7 页 共 17 页
3. 内聚是指一个软件结构内各个模块之间互连的度量。(×) 4. 对与 DFD 图的划分,主要依赖设计人员的经验,一切都应该根据设计人员的经验确定。(×) 5. 详细设计是在概要设计之后进行的,它利用概要设计的结果,对系统中的每个模块给出足够的过程性描 述。(√) 6. 在变更控制中,基线控制可以用来确保由不同用户所执行的并发变更。(×) 7. 下列关于模块的描述,正确的是(ABCD)。 A.具有独立性的模块软件比较容易开发出来。 B.独立的模块比较容易测试和维护 C.模块的独立程度可以通过内聚和耦合标定 D. 独立的模块可以完成一个相对独立的特定子功能。 四、简答题 (每小题 5 分,共 20 分。) 1、怎样建立目标系统的逻辑模型? 首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图(一般为数据流 图)及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。 2.说明并比较概要设计说明书与需求分析说明书的内容。 需求分析说明书是需求分析的阶段成果,将成为软件开发、验收和管理的依据;概要设计说明书是概要设计 的阶段成果,将作为详细设计的输入和集成测试的依据。 需求分析说明书主要内容是描述系统的需求,包括数据描述、功能要求、性能要求、运行需求以及其他要求; 概要设计说明书主要内容是描述系统的结构,包括总体设计、接口设计、数据结构设计、运行设计、出错处 理设计、安全保密设计以及维护设计等。 3.什么是“对象”?什么是“类”? 对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是 一组属性和对这些属性进行操作的一组服务的封装体。 类是具有相同属性和服务的一组对象的集合,为属于该类的全部对象提供统一的抽象描述,其内部包括属性 和服务两个主要部分。具体来说,类由方法和数据组成,它是关于对象性质的描述,包括外部特性和内部实现两 个方面。 4.版本控制 配置管理的版本控制主要解决下列问题: (1)根据不同用户的需要配置不同的系统; (2)保存系统老版本,为以后调查问题使用; (3)建立一个系统新版本,使它包括某些决策; (4)支持两为位以上工程师同时在一个项目工作; (5)高效存储项目的多个版本。 五、应用分析题:(共 15 分) 1.下面是某程序的流程图: (1)计算它的环路复杂度。(5 分) (2)为了完成基本路径测试,求它的一组独立的路径。(5 分) 第 8 页 共 17 页
分享到:
收藏