《2013软件项目工程期终考试复习资料题.doc》由会员分享,可在线阅读,更多相关《2013软件项目工程期终考试复习资料题.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 软件工程期终考试复习题软件工程期终考试复习题 一、单向选择题一、单向选择题 1 一个模块把一个数值量作为参数传送给另一个模块。这两种模块之间的耦 合是(A) 。 逻辑耦合 数据耦合 控制耦合 内容耦合 2.下列有关内聚度由低到高的排列顺序, (C)是正确的。 A 偶然性、时间性、功能性、通信性、逻辑性、顺序性、过程性 B 过程性、时间性、顺序性、功能性、通信性、逻辑性、偶然性 C 偶然性、逻辑性、时间性、过程性、通信性、顺序性、功能性 D 时间性、逻辑性、顺序性、功能性、通信性、偶然性、过程性 3. 好的软件结构应该是(B) A 高内聚、高耦合 B 高内聚、低耦合 C 低内聚、高耦合 D 低
2、内聚、低耦合 4.黑盒测试在设计测试用例时,主要需要研究(A) 。 .需求规格说明与概要设计说明.详细设计说明 .项目开发计划.概要设计说明与详细设计说明 5.SA 方法的基本思想是(C) A 自底向上逐步抽象 B 自底向上逐步分解 C 自顶向下逐步分解 D 自顶向下逐步抽象 6. 软件是一种(C) 。 .程序.数据 .逻辑产品.物理产品 7、软件的发展经历了(D)个发展阶段。 A 一 B 二 C 三 D 四 8、需求分析的任务不包括(B) 。 A 问题分析 B 系统设计 C 需求描述 D 需求评审。 9、一个软件的宽度是指其控制的(C) 。 A 模块数 B 层数 C 跨度 D 厚度 10、当
3、模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之 间的对应关系。 A 判定表和判定树 B 盒图 C 流程图 D 关系图 11、以下不属于逻辑覆盖的是(D) 。 A 语句覆盖 B 判定覆盖 C 条件覆盖 D 基本路径 12、为适应软件运行环境的变化而修改软件的活动称为(B) 。 A 纠错性维护 B 适应性维护 C 改善性维护 D 预防性维护 13适合于面向对象方法学的软件生存周期模型是( B ) A.瀑布模型B.喷泉模型 C.螺旋模型 D.增量模型 14从实用角度看,数据规范化程度在大多数场合选用第( C )范式。 A. 1B.2C.3D.5 15. 可行性分析研究的目的是( A
4、) 。 A. 项目值得开发否 B.争取项目 C.开发项目 D.规划项目 16 模块的内聚性最高的是(D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 17.软件是( C ) 。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档D. 计算机系统 18. 软件需求规格说明的内容不应包括(B ) 。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境D. 软件的性能 19. 程序的三种基本控制结构是( B ) 。 A. 过程、子程序和分程序B. 顺序、选择和重复 C. 递归、迭代和回溯D. 调用、返回和转移 20. 面向对象的分析方法主要是建立三类模型,即()
5、。 A) 系统模型、ER 模型、应用模型 B) 对象模型、动态模型、应用模型 C) -模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 21. 在 E-R 模型中,包含以下基本成分(C )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 22. 各种软件维护的类型中最重要的是(A)。 A) 完善性维护 B) 纠错性维护 C) 适应性维护 D) 预防性维护 23软件测试的目标是( B ) 。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 24软件生命周期中所花费用最多的阶
6、段是( D ) A详细设计 B软件编码 C软件测试 D软件维护 25若有一个计算类型的程序,它的输入量只有一个 X,其范围是-1.0, 1.0, 现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的 方法是( C ) A条件覆盖法 B等价分类法 C边界值分析法 D错误推测法 26、详细设计的基本任务是确定每个模块的( D )设计 A功能 B.调用关系 C.输入输出数据 D.算法 27设函数 C(X)定义问题 X 的复杂程序,函数 E(X)确定解决问题 X 需 要的工作量(时间) 。对于两个问题 P1 和 P2,如果 C(P1)C(P2)显然 E(
7、P1)E(P2),则得出结论 E(P1+P2)E(P1)+E(P2)就是:( A ) A模块化的根据 B逐步求精的根据 C抽象的根据 D信息隐藏和局部化的根据 28下面几种白箱测试技术,哪种是最强的覆盖准则 ( D ) A语句覆盖 B条件覆盖 C判定覆盖 D条件组合覆盖 29面向数据流的设计方法把( A )映射成软件结构。 A数据流 B系统结构 C控制结构 D信息流 30.内聚程度最低的是( A )内聚 A.偶然B.过程 C.顺序 D.时间 31.确定测试计划是在( A )阶段制定的. A总体设计 B.详细设计 C.编码 D.测试 32需求分析的产品是( D ) A数据流程图案 B数据字典 C
8、判定表 D需求规格说明书 33数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A数据库设计 B数据通信 C数据定义 D数据维护 34.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A增量模型 B喷泉模型 C原型模型 D螺旋模型 35模块的内聚性最高的是( D ) A逻辑内聚 B时间内聚 C偶然内聚 D功能内聚 36.提高测试的有效性非常重要,成功的测试是指( D ) A.证明了被测试程序正确无误 B.说明了被测试程序符合相应的要求 C.未发现被测程序的错误 D.发现了至今为止尚未发现的错误 二、填空题二、填空题 1.软件生存周期一般可分为_ 问题定义
9、 _、可行性研究、 _需求分析 _、设计编码、_ 测试_、运行与维护阶段。 2.按软件的功能进行划分,软件可以划分为 系统软件 、 支撑软件 和应用软件。 3.可行性研究主要集中在以下四个方面 经济可行性 、 技术可行性 法律可行性和抉择。 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5.常见的软件概要设计方法有 3 大类:以数据流图为基础构造模块结构的_ 结构化设计方法_,以数据结构为基础构造模块的_jackson _方法,以 对象、类、继承和通信为基础的_ 面向对象设计方法_。 6._ 数据流图_和_ 数据字典_共同构成系统的逻辑模型。 7.软件测试的方法有_ 分析方法
10、_和_ 非分析方法_(即黑盒法) 。 8.单元测试一般以_ 白盒_测试为主,_ 黑盒_测试为辅。 9软件工程的发展可分为时期、软件=程序+文档、 时期。 (程序 软件产品) 10 DFD 中最低一层的包含了系统的全部数据和加工,从哪里开始分析呢? W.Davis 认为,一般应该从数据的开始。因为 的数据代表系统的输出, 其要求是明确的。由这里开始,沿着一步步向数据,较易看清楚数据流中每 一个数据项的来龙去脉,有利于减少错误和遗漏。 (数据流图 终点 终点 数据流图 源点回溯) 11 加工说明通常使用 、或来描述。 (结构化语言判定表判定树) 12 耦合越弱,则表明模块的 越强。 (独立性) 1
11、3 要把数据流图(DFD)转换成软件结构,首先必须研究 DFD 的类型。各种 软件系统,一般可分为 和 两类。 (事务型 变换型) 14 模块之间联系越紧密,其耦合性就越 ,模块的独立性就越 。 (弱 强 ) 15 模块的独立性概括了把软件划分为 时要遵守的准则。 (模块) 16 一个模块的作用范围指受该模块内影响的所有模块的集合,一个模块的控制 范围指 及其的集合。 (的判定所 模块本身 下级模块) 17 SD 方法的中心任务是把用 DFD 图表示的系统分析模型转换为 ,使用的主 要描述工具是 。 (软件结构的设计模型 SC 图) 18 详细设计常用的表达工具有 (流程图和 N-S 图伪代码
12、和 PDL 语言判定表或判定树) 19 要改善程序的清晰度必须从改善每个模块的控制结构入手,结构化的三种控 制结构是 、 、 。 (顺序结构 、 选择结构 、 循环结构) 20 编码的目的是选定的 ,把模块的 翻译为用 书写的源程序。 (程序设计语言 过程性描述) 21 实现源程序的文档化主要包括以下三个方面的内容:它们是: (有意义的变量名 适当的注释标准的书写格式) 22 运行被测试程序的方法称为 测试。 (动态) 23 黑盒测试以程序功能为测试依据,可以采用如下的测试方法 、 、 。 (等价分类法 边界值分析法 错误猜测法) 24 语句覆盖是指设计足够的,使得被测试程序中 至少执行一次。
13、语句覆盖 是比较的覆盖标准。 (测试用例 每条语句 低) 25 判定覆盖是指设计足够的测试用例,使得被测试程序中每个 至少获得一 次 和 值,从而使程序中 的每一个至少都通过一次。 (判定条件 真值 假 值 分支) 26 条件覆盖指设计足够的测试用例,使得 中的每个条件的 值至少出现一次。 (每个判定表达式 各种可能) 27 黑盒法把被测对象看成一个 ,测试人员完全不考虑程序的 和 。只在软件的处进行测试。 (黑盒子 内部结构 处理过程 接口) 28 在单元测试中,测试一个模块时,需要设计 。 (驱动模块和桩模块) 29 软件测试依次由 、 、 和系统测试四个层次的测试组成。 (单元测试 集
14、成测试 确认测试) 30、瀑布模型把软件生命周期划分为 8 个阶段:问题的定义、可行性研究、软 件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段 又可归纳为三个大的阶段:计划阶段、开发阶段和( 运行阶段 )。 31、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,( 需求分析阶 段 )出错,对软件的影响最大。 32、在结构化的瀑布模型中, (需求分析阶段)定义的标准将成为软件测试中的 系统测试阶段的目标。 33、软件工程的出现主要是由于(软件危机的出现)。 34、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中, 它们之间的关系表现为相互补充。 35、U
15、ML 是软件开发中的一个重要工具,它主要应用于基于对象的( 面向对 象 )的方法。 36、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( 原型化方法 )。 37、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分 析对象的(数据流)。 38、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测 试等阶段,一般认为可能占用人员最多的阶段是( 编码阶段 )。 39、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的 开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型 将瀑布模型和演化模型相结合,并增加了(风险分析),它建
16、立在()的基础上,沿 着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面 向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和 (开发各阶段之间无“间隙”)的特征。 40、以下不属于白盒测试技术的是(等价类划分) 。 41、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护 ) 。 42、保证软件质量的手段有复审、复查、管理复审和测试等。其中复审发生在 软件生命周期的(每个阶段结束之前 ) 。 43、完整的系统设计应包括( 计算机系统设计、应用软件设计、数据库设计 和网络设计 ) 。 44、在信息系统的物理模型中,表示系统各个物理组成部分之间的
17、数据流动情 况的工具是(系统流程图 ) 。 45、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素 表达了系统中各种元素之间的( 信息流动)情况。 46、成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 47、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先 策略和(宽度优先策略) 。 48、在 JSP 方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 49、详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 50、所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。 51、独立路径是指包括一组以前没有处理
18、的语句或条件的一条路径。从程序图 来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。 52、设计任何一个人机界面,一般必须考虑(系统响应时间) 、用户帮助机制、 错误信息处理和命令方式四个方面。 53、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否 按照产品规格说明的规定正常进行的方法称为(白盒)测试法。 54、 (耦合度)是对软件结构中模快间关联程度的一种度量。 55 软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得 以实施的主要保证是(软件开发工具和软件开发的环境)。 三、判断题三、判断题 1、缺乏有力的方法学的指导和有效的开发工具的
19、支持, 这往往是产生软件危 机的原因之一。 () 2、一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能 力。 (X) 3、在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是 为了获取第一手资料,并从中提取出有价值的需求。 () 4、快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、 或设计一些复杂的算法等场合。 () 5、流程图也称为程序(框图)是最常用的一种表示法。 () 6、面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选 择和重复三种基本形式表示数据等步骤。 () 7、理想的人机界面应针对具有典型个性的特定的一类用户设
20、计。 () 8、数据输入的一般准则中包括尽量(增加)用户输入的动作。 (X) 9、用穷举测试是较现实的测试方法。 (X) 10、编码时应尽可能使用全局变量(X) 11、重视程序结构的设计,能使程序具有较好的层次结构() 12、程序中的注解越少越好( X ) 。 13、用户对软件需求的描述不精确,往往是产生软件危机的原因之一。 () 14、目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术 (PERT)和关键路径法(CPM) 。 () 15、一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建 立良好的人际关系,善于听取别人的意见。 () 16、目前的绝大多数软件都不适
21、合于快速原型技术。 (X) 17、面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:企事 业的信息管理系统;系统软件(如操作系统)等。 () 18、缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。 (X) 19、通常紧致性好的语言一致性就好。 (X) 20、测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。 (X) 21、数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致; 允许用户定做输入格式等内容。 () 22、软件也会磨损和老化。 (X) 23、完善性维护是提高或完善软件的性能。 () 24、McCabe 建议模块规模应满足:V(G)20。 (X
22、) ( )25、开发软件就是编写程序。 ( )26、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、 安全性测试及可靠性等 测试。 ( )27、编程序时应尽可能利用硬件特点以提高程序效率. ( )28、软件需求分析的任务是建立软件模块结构图。 ( )29、尽可能使用高级语言编写程序 ( )30、以结构化分析方法建立的系统模型就是数据流图。 ( )31、进行总体设计时加强模块间的联系。 ( )32、编码时尽量多用全局变量. ( )33、用 CASE 环境或程序自动生成工具来自动生成一部分程序. ( )34、软件测试是要发现软件中的所有错误。 35. 缺乏有力的方法学的指导和有效的开发工具
23、的支持, 这往往是产生软件危机的 原因之一。 ( T ) 36 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。 ( F ) 37 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为 了获取第一手资料,并从中提取出有价值的需求。 ( F ) 38 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、 或设计一些复杂的算法等场合。 ( T ) 39 流程图也称为程序框图是最常用的一种表示法。( T ) 40 面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和 重复三种基本形式表示数据等步骤。 ( T ) 四、简答题四、
24、简答题 1 什么叫软件工程?软件工程三要素是什么? 解:解:软件工程:指导计算机软件开发和维护的一门学科,采用工程的概念、原 理、技术和方法来开发与维护软件。 软件工程三个要素:方法、工具、过程 2衡量模块独立的两个标准是什么?它们各表示什么含义? 解解:衡量模块独立性的两个定性的度量标准:耦合性和内聚性。 耦合性和内聚性的概念(略) 耦合性与内聚性是模块独立性的两个定性的度量标准,将软件系统划分模 块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软 件结构奠定基础。 3什么是白盒法?它有哪两类测试法? 解解:以程序的结构为依据的测试方法 包括:逻辑覆盖测试法和路径测试法。 其中
25、,逻辑覆盖法包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖 和条件组合覆盖。 4软件的可维护性与哪些因素有关? 解解:软件的可维护性与可理解性、可修改性、可测试性等因素有关。 5、程序设计语言的三种类型和特点是什么? 解:解: 1)机器语言、汇编语言:依赖于机器,面向机器 2)高级语言:独立于机器,面向过程或面向对象 3)面向问题语言:独立于机器,非过程式语言(4GL) 6、什么是软件危机?为什么会产生软件危机? 解解:软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含 二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软 件。产生软件危机的原因,一方面与软件
26、本身的特点有关,另一方面和软件开 发与维护的方法不正确有关。 7、耦合性有哪几种类型? 其耦合度的顺序如何 解解:低:非直接耦合 数据耦合标记耦合 控制耦合外部耦合 公共耦 合内容耦合 :高 8、什么是黑盒测试法? 解解:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过 程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适 当地接收输入数据,产生正确地输出信息。 9.简述软件工程的概念。 答:概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用 工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证 明正确的管理技术和当前能够得到的最好的技
27、术方法结合起来,以经济地 开发出高质量的软件并有效地维护它,这就是软件工程。 10. 简述典型的软件生命周期的各个阶段。 答:软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护 三个时期组成。 软件定义时期:问题定义、可行性研究和需求分析 开发时期:总体设计、详细设计、编码和单元测试、综合测试。 维护时期:主要任务是使软件持久地满足用户的需要。 即每个有 8 个阶段及基本任务: 1 问题定义:回答 要解决的问题是什么? 2 可行性研究:该问题有行的通的解决办法吗?若有解决问题的办法, 则需要多少费用、资源、时间? 3 需求分析:回答“为了解决这个问题,目标系统必须做什么”,确定目
28、标 系统的功能 4 总体设计:回答 “概括地说,应如何解决这个问题”。把确定的各项功能 需求转换成需要的体系结构。设计软件的结构,确定程序由哪些模块组 成及模块间的关系,同时设计该项目的应用系统的总体数据结构和数据 库结构。 5 详细设计:回答 “应怎样具体地实现这个系统”。为每个模块完成的功能 进行具体描述,把功能描述转变为精确的、结构化的过程描述 6 编码和单元测试:把每个模块的控制结构转换成计算机可接受的程序代 码。写出的程序应是结构好,清晰易读,并且与设计一致。 7 综合测试:通过各种类型的测试使软件达到预定的要求。 8 软件维护:通过各种必要的维护活动使系统持久地满足用户需要。 11
29、. 简述传统方法学软件设计的基本原理及内容。? 答:传统方法学也称生命周期方法学或结构化范型。 原理:采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软 件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化 技术的运用。 内容:把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成 每个阶段的任务。采用生命周期方法学可以大大提高软件开发的成功率, 软件开发的生产率也能明显提高。 12. 以 G.J.Myers 的观点,简述对软件测试的定义。? 答:G.Myers 给出了关于测试的一些规则,这些规则也可以看作是测试的目标 或定义。 (1) 测试是为了发现程序中的错误而执
30、行程序的过程; (2) 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3) 成功的测试是发现了至今为止尚未发现的错误的测试。 从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程 序的过程”。 13. 简述面向对象方法学的 4 个要点。? 答:.概括地说,面向对象方法学具有下述 4 个要点: (1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。 (2) 把所有对象都划分成类(class)。 (3) 按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类 组成一个层次结构的系统(也称为类等级)。 (4) 对象彼此间仅能通过发送
31、消息互相联系。 14. 列举出 5 个详细设计阶段的常用工具。? 答:程序流程图,盒图,PAD 图(问题分析图) ,判定表,判定树,过程设计 语言, 15 向对象建模主要建立哪几种模型,其中哪种模型是最基本,最核心的? 答:功能模型,动态模型,对象模型。对象模型 16 元测试着重从哪几个方面对模块进行测试? 答:模块接口、局部数据结构、重要的执行通路、出错处理通路、边界条件 17 么是模块独立?为什么模块独立性很重要? 答:模块独立是指软件系统中每个模块只涉及软件要求的具体的子功能,而 和软件系统中其他模块的接口是简单的。即功能专一,模块之间无过多的相 互作用的模块。 这种类型的模块可以并行开
32、发,模块独立性越强,开发越容易。独立性 强的模块,还能减少错误的影响,使模块容易组合、修改及测试。 17. 软件生命期各阶段的任务是什么? 答:软件生命期分为 7 个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作 可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 18、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成
33、本,避免不必要的重复劳动和人力、财力的浪 费。 19、 自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: 自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要 功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 20 、 提高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段 结束前的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。 在讨论软件可移植性问题时,要考虑可能要影响软件
34、维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发, 评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性 的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维 护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件 规格说明来维护软件 ,同时也在大力发展软件重用技术。 21 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 【解答】 测试过程按 4 个步骤进行,即单元测试(模块测试) 、集
35、成测试(子系 统测试和系统测试) 、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的 文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结 构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的 各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试 计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份 组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 22 么是软件需求,可
36、以从哪些方面描述软件需求? 【解答】软件需求主要指一个软件系统必须遵循的条件或具备的能力。 条件与能力:用户解决问题或达到目标所需的条件或能力,即系统的外部 行为。 系统为了满足合同,规范或其他规定文档所需具备的条件或 能力,系统内部特性。 软件需求一般包括 3 个不同层次:业务需求,用户需求和功能需求。 软件需求的特性:功能性,可用性,可靠性,性能,可支持性, 设计约束 23 向对象设计模型包含哪几个层次?主要内容? 【解答】面向对象设计模型的四个层次 系统架构层:描述整个系统的总体结构,使所设计的软件能够满足客 户定义的需求,并实现支持客户需求的技术基础设施。 类和对象层:使系统能够从通用
37、的方式创建并不断逼近特殊需求,该 层同时包含每个对象的设计表示。 消息层:描述对象间的消息模型,它简历了系统的外部和内部接口, 包含使得每个对象能够和其协作者通信的细节。 责任层:包含针对每个对象的所有属性和操作的数据结构和算法的设 计。 24 多模块程序的测试有哪些层次?各层次主要解决什么问题? 【解答】多模块测试有 4 个层次 单元测试:通过对象模块的静态分析和动态测试,使其代码达到模块说 明的需求。 集成测试:把经过单元测试的模块逐步组成具有良好一致性的完整程序。 确认测试:确认组装完毕的程序是否满足软件需求规格说明书中的要求。 系统测试:检查把确认测试合格的软件安装到系统中以后,能否与
38、系统 的其余部分协调运行,并实现 SRS 的需求。 25 高考录取统分子系统有如下功能: 1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; 2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存 入录取线文件。 试根据要求画出该系统的数据流程图. 五、综合题五、综合题 1某航空公司规定,乘客可以免费托运不超过 20 公斤的行李。当行李重量超 过 20 公斤时,头等舱国内乘客超重部分每公斤收费 4 元,其他舱国内乘客 超重部分每公斤收费 6 元,对于国外乘客超重部分每公斤收费比国内乘客多 一倍,对于残疾乘客超重部分每公斤收费比正常乘客减少一半,用判定树表 示计算
39、行李的算法。 解解: 、某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教, 讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只 有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。 解:解:划分等价类: 输入条件合理等价类不合理等价类 职称 教授 副教授 讲师 四种职称之外任意一种 职称兼工龄 助教兼工龄大于 2 年 助教兼工龄等于两年 助教兼工龄小于两年 设计测试用例: 输入数据预期结果覆盖范围 教授输入有效,进行调整工资处理 副教授输入有效,进行调整工资处理 讲师输入有效,进行调整工资处理 助教 3输入有效,进行调整工资处理 助教 2输入有效,不调整工资处理 助教 1输入有效,不调整工资处理 工程师输入无效 8 一个客户可以在多个银行中开设账户,一个客户也可在同一银行中开设多个不同的账户。 客户可以通过银行职员进行开户、存款、取款、转账、注销账户等活动。其中转账指客 户将自己的某个账户上的钱款转入同一银行的不同账户(称为银行内转账)或转入不同 银行的账户(称为银行间转账) 。系统管理员负责系统的账户管理及业务报表的生成。 解:解:
限制150内