软件工程复习题.pdf

上传人:tbuqq 文档编号:5007617 上传时间:2020-01-27 格式:PDF 页数:14 大小:266.75KB
返回 下载 相关 举报
软件工程复习题.pdf_第1页
第1页 / 共14页
软件工程复习题.pdf_第2页
第2页 / 共14页
软件工程复习题.pdf_第3页
第3页 / 共14页
软件工程复习题.pdf_第4页
第4页 / 共14页
软件工程复习题.pdf_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《软件工程复习题.pdf》由会员分享,可在线阅读,更多相关《软件工程复习题.pdf(14页珍藏版)》请在三一文库上搜索。

1、第 1 页 共 14 页 一、单项选择题 (在每小题的四个备选答案中, 选出一个正 确的答案序号填在括号内。每小题1 分,共 20 分) 1. 信息隐蔽概念与( A )这一概念直接的相关。 A. 模块的独立性 B. 模块类型的划分 C. 软件结构定义 D. 软件生命周期 2. 下列方法中不属于面向对象的开发方法有(C )。 A. Booch 方法B. Coad 方法C. VDM 方法D. OMT方法 3. 不属于详细设计的主要工具有( C ) 。 A. IPO 图B. PAD 图 C. PDL D. SC 4. 选择结构的复杂性比顺序结构的复杂性要( B )。 A. 小B. 大C.相等D.无法

2、比较 5. 软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)。 A.编码阶段B. 软件开发全过程 C. 软件定义阶段D. 软件设计阶段 6. 模块内聚度越高,说明模块内各成分彼此结合的程度越(B) 。 A.松散B. 紧密C. 无法判断D. 相等 7. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影 响软件的(A ) 。 A. 可理解性B. 可维护性C. 可扩展性D. 可移植性 8. 单元测试阶段主要涉及( C )的文档 。 A. 需求设计B. 编码和详细设计 C. 详细设计D. 概要设计 9. 鱼是一种水生动物。鱼与水生生物之间的关系是( A )。 A

3、. 一般与特殊关系B. 组装关系 C. 整体成员关系D. has a 得分 第 2 页 共 14 页 10.下列选项不属于软件工程方法学三要素的是(D )。 A.方法B.工具C.过程D. 操作 11. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往 往是(A ) 。 A.运行和维护阶段B.设计阶段 C.代码实现阶段D.测试阶段 12. . 黑盒测试在设计测试用例时,主要需要研究(A ) 。 A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 13. 可行性研究要进行一次( D )需求分析。 A. 深入的B. 详尽的C.

4、 彻底的D. 简化的、压缩了的 14. 下列属于维护阶段的文档是(C )。 A.软件规格说明B.用户操作手册 C.软件问题报告D.软件测试分析报告 15. 数据字典的最基本功能是( C ) 。 A.数据库设计B.数据通信C.数据定义D. 数据维护 16. 以下关于数据流图的说法不正确的是(C )。 A.数据流图舍去了具体的物理元素,只剩下数据的流动、加工处理和存储 B.数据流图是用作结构化分析建模的一种工具 C.传统的数据流图主要由处理、数据源点/ 终点、数据流、控制流、数据存储组成 D.数据流图的编绘采用自上向下、逐层分解的方法 17. 选择程序设计语言的关键因素是(D )。 A.软件应用领

5、域B.软件执行环境 C.软件开发方法D.算法和数据结构 18. 所谓软件过程的里程碑,通常是指(C )。 A.一定的时间间隔B.每个项目活动 C.基线D.开发进度月报 19. 程序的三种基本控制结构是(B )。 A.过程、子程序与分程序 B.顺序、选择和重复 第 3 页 共 14 页 C.递归、堆栈和队列 D.调用、返回和转移 20. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B )。 A.改正性维护B.适应性维护 C.完善性维护D.预防性维护 二、填空题 ( 每小题 2 分,共 16 分) 1软件不仅仅是程序,还应该有一整套_文档_。 2传统的软件生命期模型是_瀑布模型_。 3

6、Jackson 程序设计方法是一种_面向数据结构 _的设计方法。 4黑盒测试也称为_功能测试 _,白盒测试也称为_结构测试_。 5与程序流程图相比,盒图没有_转移箭头_,因此不允许随意转移控制。 6在单元测试中, 使用 _驱动程序_模拟被测单元的调用和数据传递动作,_存根程序 _模拟被测模块的子程序。 7度量软件规模的常用技术主要有_代码行技术_和_功能点技术_。 8可行性研究包括_技术可行性_、_经济可行性_和_社会可行性_等三个 方面的可行性研究。 三、简答题 ( 每题 8 分,共 32 分) 1.集成测试有哪两种测试策略?试比较它们的优缺点。 答:主要是自顶向下集成测试策略和自底向上集成

7、测试策略两种。 自顶向下集成测试策略的优点是:能尽早地对程序的主要控制和决策机制进行检验, 因此能 较早地发现错误。 缺点是: 在测试较高层模块时, 低层处理采用桩模块替代, 不能反映真实情况, 重要数据不能 及时回送到上层模块, 因此测试并不充分。 自底向上集成测试策略的优点是:不用桩模块 , 测试用例的设计亦相对简单, 但缺点是程序 最后一个模块加入时才具有整体形象。 2.简述结构化程序设计方法的基本要点。 答: (1) 采用自顶向下, 逐步求精的程序设计方法. (2) 使用三种基本控制结构构造程序, 分别是顺序 ,选择和循环 得分 得分 第 4 页 共 14 页 (3) 采用主程序员组的

8、组织形式. (4) 采用单入口单出口的模块形式. 3.试解释软件、软件工程和软件工程方法学的基本含义。 答: 软件:软件是一种产品,同时又是开发和运行产品的载体。作为一种产品,它表达了由计 算机硬件体现的计算潜能。作为开发运行产品的载体,软件是计算机工作的基础、信息通 信的基础,也是创建和控制其他程序的基础。具体包括以下三方面内容:( 1)在运行中能 提供所希望的功能和性能的指令集(即程序); (2)使程序能够正确运行的数据结构;(3) 描述程序研制过程、方法所用的文挡。 软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方 法来开发与维护软件,把经过时间考验而证明正

9、确的管理技术和当前能够得到的最好的技 术方法结合起来。 软件工程方法学:软件工程方法学是研究软件设计方法论及工程开发技术的一门新兴学科。 4.简述面向对象开发方法的三大模型及各自的作用。 答: 面向对象开发方法中的三大模型是指对象模型、动态模型、功能模型。各自的作用是: 对象模型: 描述现实世界中的“类与对象”以及之间的关系,表示目标系统的静态数据 结构。 动态模型:描述对象之间的互相作用。 功能模型:该模型表明系统中数据之间的依赖关系,以及有关的数据处理功能。 四、应用分析题(共 32 分) 1.根据给出的程序流程图,画出它的N-S 图和流图 (也称为程序图) ,并计算它的McCabe复杂

10、度。(15 分) 其中: Pi 代表操作语句, Ci 代表判定条件 得分 第 5 页 共 14 页 答: (1)N-S 图为: (2)流图为: (3)McCabe复杂度根据公式: V(G )= E N +2 = 10 8 + 2 = 4 2.设计一个程序:先读入三角形的三条边的值(分别为A、B、C) ,再根据这些值判断三角形 是普通的、等腰的或等边的,要求打印出说明信息。(10 分) 1)写出该程序的有关约束条件; 2)结合黑盒测试中的等价分类法技术, 设计有关测试用例。 答: 1)我们可以设三角形的3 条边分别为A,B, C。如果它们能够构成三角形的3 条边,必须满 足的约束条件是: A0,

11、 B0, C0,且 A+BC ,B+CA ,A+CB 。 如果是等腰的,还要判断A=B ,或 B=C,或 A=C。 如果是等边的,则需判断是否A=B,且 B=C ,且 A=C 。 2)等价分类法有关部门等价类的划分: 第 6 页 共 14 页 输入条件有效等价类无效等价类 是否三角形的三条边 (A0) ,(1) (B0) ,(2) (C0) ,(3) (A+BC ) ,(4) (B+CA ) ,(5) (A+CB ) ,(6) (A0) ,( 7) (B 0) ,( 8) (C0) ,( 9) (A+BC) ,(10) (B+CA) ,(11) (A+CB) ,(12) 是否等腰三角形 (A=

12、B) ,(13) (B=C) ,(14) (C=A ) ,(15) (AB) and( BC)and(CA) (16) 是否等边三角形 (A=B)and(B=C )and( C=A ) (17) (AB) ,(18) (B C) ,(19) (CA) ,(20) 有关测试用例: 序号【A,B, C】覆盖等价类输出 1【3,4,5】( 1) , ( 2) , ( 3) , (4) , (5) , (6)一般三角形 2【0,1,2】( 7) 不能构成三角形 3【1,0,2】( 8) 4【1,2,0】( 9) 5【1,2,3】( 10) 6【1,3,2】( 11) 7【3,1,2】( 12) 8【3

13、,3,4】( 1) , (2) , (3) , ( 4) , ( 5) , (6) , ( 13) 等腰三角形9【3,4,4】( 1) , (2) , (3) , ( 4) , ( 5) , (6) , ( 14) 10【3,4,3】( 1) , (2) , (3) , ( 4) , ( 5) , (6) , ( 15) 11【3,4,5】( 1) , (2) , (3) , ( 4) , ( 5) , (6) , ( 16)非等腰三角形 12【3,3,3】( 1) , (2) , (3) , ( 4) , ( 5) , (6) , ( 17)是等边三角形 13【3,4,4】 ( 1) , (

14、2) , (3) ,(4) , (5) , (6) , (14) , (18) 非等边三角形14【3,4,3】 ( 1) , (2) , (3) ,(4) , (5) , (6) , (15) , (19) 15【3,3,4】 ( 1) , (2) , (3) ,(4) , (5) , (6) , (13) , (20) 第 7 页 共 14 页 3.绘制取款过程的数据流程图:(7 分) 储户将填好的取款单及存折交储蓄所,经查对储户帐,将不合格的存折和取款单退还 储户,合格的存折和取款单被送交取款处理。处理时要修改储户帐和现金帐,并将存折利 息单和现金交储户,同时将取款单存档。试画出以上存取款

15、处理过程的数据流程图。 答: 数据流程图为: 1什么是软件?什么叫软件软件工程?其目标是什么? 软件定义 (1)在运行中能提供所希望的功能和性能的指令集(即程序); (2)使程序能够正确运行的数据结构; (3)描述程序研制过程、方法所用的文挡。 软件工程定义1:应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践 标准和工序。 定义 2:在软件设计、实现、检查、运行、维护各个过程中适用的立足于科学基础上 的实用方法。 软件工程的目标: a.降低开发和维护成本,提高软件质量,加快和控制开发进度, b.降低开发的风险(包括你提到的人员流动的风险), c.软件开发的实施使大型软件的开发成

16、为可能 2什么是软件危机?它的表现是什么? 文档: 各种规格书、说明书、用户手册等等的总称。 软件: 程序与文档。 软件危机: 在计算机软件的开发和维护过程中,所遇到的一系列严重问题,这一系列问 题使软件产生了危机。 软件危机的表现: 对软件开发成本和进度的估计常常很不准确。 用户易对 “ 已完成的 ” 软件系统产生不满。 软件质量不可靠。 软件常常是不可维护的。 软件通常没有适当的文档资料。 软件成本越来越高。 第 8 页 共 14 页 软件开发生产率提高速度慢,跟不上发展。 3可行性研究的目的是什么? 可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。若值得解,则 推荐

17、一个较好的方案,并制定一个初步的计划;若无可行解,则建议停止开发工程(以免浪费 时间、人力、和金钱) 。 4数据流图的基本要求是什么? 描绘“做什么”,而不考虑“怎样做”。数据流图中描绘的是数据流,而不是控制流。 5软件生存期分几个阶段?每个阶段的主要作用是什么? (1)问题定义 关键: 要解决的问题是什么?作用: 提出关于问题性质、工程目标和规模的书面报告。 (2)可行性研究 关键: 问题是否有行得通的解决办法?作用: 进行一次大大压缩和简化了的系统分析和设 计的过程(抽象的) ,导出系统的高层逻辑模型(通常用数据流图表示),估计系统的成本和效 益作为是否进行此项工程的重要依据。 (3)需求

18、分析 确定目标系统必须具备哪些功能。得出经过用户确认的系统逻辑模型(一般用数据流图、 数据字典和简要的算法描述表示)。 ( 4)总体设计 关键: 应如何解决这个问题。作用: 根据系统分析的结果来考虑系统的结构,即考虑算法与 数据的结构。 考虑如下问题: a.如何将系统划分成一个个模块;b. 模块间传送什么数据; c.模块间如何调用;d. 如何评价模块结构的质量。 ( 5)详细设计 如何具体实现这个系统?根据总体设计的结果,考虑在具体硬件与操作系统上的程序模块 结构与数据结构。实际上是具体考虑每一模块内部采用什么算法。设计出程序的详细规格说明。 (6)编码和单元测试 写出正确的、容易理解的、容易

19、维护的程序模块,并测试编写出的每一个模块。 ( 7)综合测试 通过各种类型的测试使软件达到预定的要求。 集成测试 :根据设计的软件结构,把经过单元测试的模块按某种选定的策略装配起来, 进行必要的测试。 验收测试 :按规格说明书的规定,由用户对目标系统进行验收。 ( 8)软件维护 通过各种必要的维护活动使系统持久地满足用户的需要。 通常有四类维护活动: a.改正性维护 b. 适应性维护c. 完善性维护d. 预防性维护 6 系统分析的方法有哪几种? 系统分析即需求分析方法,大致可分为三种:归纳法、推论法和比较、舍取法。 例 1:某企业计划用计算机实现工资管理,系统的分析由接受过信息处理训练的人员承

20、担。可 采用 “ 归纳法 ” 。 例 2:某公司根据经理的指示要开发一个能适应若干年后的经营环境,并能开拓市场的综合信 息处理系统。可采用“ 推论法 ” 。 第 9 页 共 14 页 例 3:某公司想用计算机进行接收订货处理,希望在询问时能正确地应答,快速给出票据,从 而改善服务,降低营业成本,但因是小公司,费用大了有困难,且商品种类多,变动也快,订 货集中在很短的时间内,操作人员未受训练等等。采用比较、舍取法。 7 何为功能模块?设计模块? 功能模块: 在分析阶段由系统分析员对该系统应完成的功能进行规定的模块。 设计模块: 在后面设计阶段对如何实现这些功能进行描述的模块。 8 我们学过的几个

21、单词缩写:SADT ,HIPO ,PSL,PSA,等,其意义是什么? SADT:结构分析设计方法HIPO图:H图加IPO图,即层次图加输入/ 处理 / 输出图。 PSL: 问题陈述语言PSA: 问题陈述分析程序CADSAT: 计算机辅助设计和规格说明分析工 具。 9 何为模块化?评价好的模块化的标准是什么? 模块化 是指把整个系统按照一定的规则分割成各个模块的过程。 评价好的模块的标准: a. 模块的大小:既不能太大,也不能太小。 b. 模块之间的联系程度: 模块的独立性越强越好,也就是模块间的接口越简单越好 c. 模块内的联系程度: 块内联系越强,则模块独立性就越高,系统的结构也就越好。 d

22、. 模块的信息隐蔽程度: 各个模块间仅有极少量的信息连结,大量的详细的信息隐蔽在模块内 部,这样的模块结构是好的结构。 10模块间的调试调用方式有哪几种?a. 直接引用 b. 通过 CALL语句调用(实际即为过程 调用或子程序调用) 11系统设计基础有哪几种?a. 以控制为中心的设计b. 以数据为中心的设计 12结构化程序设计方法采用哪几种基本的控制结构?画出图形。 结构化程序设计方法采用三种基本控制结构:顺序、选择和重复 图形如下: 13程序设计工程有那些步骤? 了解具体使用的计算机的性能和环境。 计算机性能 操作系统 程序设计语言 充分理解系统设计的详细规格书。 考虑程序在机器上的管理方式

23、。 了解编译程序的特点与规 处理 2 处理 1 顺序 条件 处理 2 处理 1 F T 选择 条件 处理 T F 重复 第 10 页 共 14 页 14大,中 ,小规模系统的开发分析顺序是什么? ( 1)问题的明确; ( 2)确立系统方案; (3)系统基本设计; (4) ;系统需求规格的明确化;(5) 系统方案评价; (6)制订系统计划。 15什么是测试?测试的目的是什么? 测试的定义 是:为了发现错误而执行程序。 测试的目的 是:设法使软件发生故障,暴露软件错误。 16软件测试由哪几个步骤组成?各个步骤的工作是什么? 模块测试(单体测试) 这一测试发现的问题往往是编码和详细设计的错误。 子系

24、统测试(组合测试) 主要测试模块间的接口,也就是模块间的协调和通信。 系统测试 这一步发现的问题往往是软件设计中的错误,也可能发现需求说明中的错误。 验收测试 使用实际数据进行测试,以验证系统能否满足用户需求。 平行运行 平行运行是一种试运行 17一个正确的软件能否说它是可靠的?为什么? 一个正确的软件不能说是可靠的,因为正确性与可靠性 是二个不同的概念。正确性 是从系统开 发者的立场出发,指开发出的软件满足该规格的要求;而可靠性 是从用户立场出发,指系统完 全满足用户的要求与各种性能指标。 18选择测试用例一般有哪几种方法?各自的含义是什么? 选择测试用例一般使用黑盒测试 和 白盒测试 。

25、黑盒法 把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。即不关心程序内 部的逻辑,只根据程序的功能说明来设计测试用例。 白盒法 把程序看成装在一个透明的白盒子里,即完全了解程序的结构和处理过程。白盒法 测试也叫逻辑驱动测试或逻辑覆盖法。 选择测试用例(分三步进行) 为每个等价类编号; 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的合理等价类,重复 进行,直至覆盖所有的合理等价类; 设计一个新的测试用例,使其覆盖一个(仅仅是一个)尚未被覆盖的不合理等 价类,重复进行,直至覆盖所有的不合理等价类。 说明 :若一次覆盖二个不合理等价类,则程序发现第一个不合理等价类后,可 能不会再去检

26、查第二个不合理等价类,因此这一部分程序实际上并没有测试到。 19开发同期中各阶段潜伏的错误一般再什么时候被发现? 系统分析运行维护系统设计综合测试程序设计单体测试越早潜伏的错 误越晚发现 20软件维护的内容包括哪几类?各自的含义是什么? 维护内容分为修改、适应新环境的变更和改良三类。 修正(改正性维护,也叫正确性维护) 改正在开发阶段产生,在测试阶段又没有发现的错误。 第 11 页 共 14 页 a.改正有关程序的异常结束或输出不恰当的信息等的处理方面的错误。 b. 修正性能(如平均响应时间)方面的错误。 c. 修正有关程序设计标准(编码规则)、功能规格与设计内容不一致等软件实现方面的错 误。

27、 适应新环境的变更(适应性维护) 为适应软件外界环境改变,而对它们进行的修改。 a.由分类代码的变化、数据库的逻辑结构的变化等数据环境的变化引起的相应的变更。 b.由硬件、操作系统等处理环境的变化引起的相应的变更。 更加完善的改良(完善性维护) 为扩充功能或改善性能而进行的修改。 a.为提高效率而进行的改良。(如算法的改良、为高效使用硬件而进行的改进) b.为了便于使用,输出形式的改善或添加新的输出信息等的功能的改善。 c.补充源程序说明,提高源程序的易读性等的便于维护的改良。 21Jackson方法属于哪一种设计方法?你能否用这方法设计一个打印表程序结构? Jackson 系统开发方法(JS

28、D,Jackson System Development)是一种典型的面向数据结构的分 析设计方法,它是以信息驱动的,是将信息转换成软件的程序结构 设计一个打印表程序结构: 姓名年龄类别状态 其中:类别为教师学生两种;状态为:若教师,则为工龄;若学生,则为年级。 其数据结构为: 然后把数据结构和程序结构找出对应关系 找出数据结构中与程序结构相对应的关系。 表体 产生表格 产生表体 表格 第 12 页 共 14 页 22什么叫文档?包括那些内容? 文档: 各种规格书、说明书、用户手册等等的总称。文档可分为两类:用户文档和系统文档 (1)用户文档包括: 功能描述安装文档使用手册参考手册操作员指南五

29、方 面内容 (2)系统文档: 主要指从问题定义、需求说明到验收测试计划等和系统实现有关的文档。 23测试时软件的配置和测试配置各包含什么内容? 测试时的软件配置包含:需求说明书、设计说明书、源程序清单。 测试配置 包含:测试计划、测试方案。其中测试方案 包括:测试时使用的输入数据、每组输入 数据预定要检验的功能、每组输入数据预期应得到的正确输出。 24需求功能的集合和规格的功能集合,程序功能结合之间的关系 软件维护过程中三个集合的定义: 需求功能集合(用R 表示) 规格功能集合(用S 表示) 程序功能集合(用P 表示) 若规格功能集合S 是需求功能集合R 的必要且充分的描述内容时(即必充条件或

30、充要条件), 表头 表格 表体 行 姓名类别 工龄 O 年龄状态 年龄 O “ 表 格 ” 由 “ 表头 ” 和 “ 表 体” 顺序组成 每一 “ 行” 又由 “ 姓名 ” 、 “ 年龄 ” 、 “ 类别 ” 和 “ 状 态” 顺序组成 “ 表体 ” 由 “ 行” 重复组成 “状态”由 “工 龄”或“年级” 选择组成 产生表头产生表体 产生行 * 产生姓名产生年龄产生类别产生状态 产生年级 O 产生工龄 O 程序结构为: 产生表格 第 13 页 共 14 页 即当 S=R 时,此规格功能理想的 。 若规格功能集合S 包含了全部需求功能集合的内容,即 SR, 那么,规格功能集合S 是 正确的 。

31、 除去以上两种情况,则为错误的。 由于程序的实现是以规格功能集合S 为目标进行的,所以在? 的情况下,不能进行程序设计。 若程序功能集合P 必要且充分地实现了规格功能集合S,即 P=S 时,则程序功能集合P 是理想 的。 只要满足S 集合中没有未实现的功能时,即满足P S时,则程序功能集合P是正确的。 除去以上两种情况,即为设计或编码阶段的错误。 一般只要满足关系式PS R 就行了。 25不用 GOTO 语句用类某种语言的方式写出一个结构程序来。 (c) 错误的 R S R R S S= R (a) 理想的 (b) 正确 的 处理结束 处理开始 条件F 处理5 处理2 处理 1 处理3 处理6

32、 处理 4 条件 A 条件 C 条件B 条件D 条件 B N Y Y Y Y Y Y N N N N N 第 14 页 共 14 页 26把到医院去看病从进去到出来写出一个系统分析图来。 27把程序结构变成图解逻辑 B D F O E H I A G O J * K O L O C B iter(重复) E seq(顺序) do H; do I; E end B end do C; D select (选择) F iter(重复) do J; F end D or G select(选择) do K; G or do L; G end D end A end A seq (顺序) 程序结构 图解逻辑 IF 条件 A THEN 处理 1 处理 4 DO WHILE 条件 B DO WHILE 条件 B IF 条件 C THEN IF 条件 E THEN 处理 3 IF 条件 F THEN ELSE 处理 6 ENDIF ELSE ENDDO ENDIF 处理 2 ELSE ENDIF 处理 5 ENDIF ENDDO ELSE 挂号选择科室排队看病付钱取药品

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1