软件工程期末复习题参考答案

合集下载

《软件工程》期末试卷(3套含答案)

《软件工程》期末试卷(3套含答案)

《软件工程》期末试卷(一)(满分100分)考试时间:120分钟(可根据具体情况适当调整)1.单项选择题(每题2分,共20分)(1)以下哪一项不属于软件工程三要素()。

A.过程B. 方法C. 工具D. 计划(2)以下哪一项不属于软件管理过程()。

A. ISO9000B. CMMC. IEEED. 软件企业文化(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. 包含关系、扩展关系2.填空题(每题2分,共20分)(1)需求分析员参与客户需求调研,撰写________________。

(2)_______________是软件策划的核心、重点与难点。

(3)软件由程序、数据和______________组成。

(4)______________是软件设计的基础,______________是软件开发的核心。

(5)需求分析分为两个阶段,_______________阶段和需求规约阶段。

(6)对象图的组成元素包括对象和______________。

软件工程 期末考试题(含答案)

软件工程 期末考试题(含答案)

一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。

( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。

软件工程期末复习题答案

软件工程期末复习题答案

软件工程期末复习题一、选择题1.软件测试的目的是()。

A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的()来设计测试用例的。

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.确认测试以()文档作为测试的基础。

软件工程期末考试复习题及答案

软件工程期末考试复习题及答案
(3分)
用户手册要使用专门术语,并充分地描述该软件系统的结构及使用方法。
.得分:
0知识点:
软件工程,软件工程作业题展开解析.答案错.解析..17.
(3分)
Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试,开发者负责记录发现的错误和使用中遇到的问题。
.得分:
0知识点:
软件工程作业题,软件工程展开解析.答案对.解析..18.
.得分:
3知识点:
软件工程作业题,软件工程展开解析.答案对.解析..6.
(3分)
数据流图和数据字典共同构成系统的物理模型。
.得分:
0知识点:
软件工程,软件工程作业题展开解析.答案错.解析..7.
..8.
(3分)
需求分析是提取、建模、规格说明和复审的过程。
.得分:
3知识点:
软件工程,软件工程作业题展开解析.答案对.解析..9.
(4分)
CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。
A. CMM
B. PSP
C. ISO-9000
D. RUP
得分:
0知识点:
软件工程,软件工程作业题展开解析.答案A .解析..9.
(4分)
若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()
.得分:
0知识点:
软件工程,软件工程作业题展开解析.答案错.解析..16.
(3分)
软件结构一般要求顶层扇出比较少,中层扇出较高,底层模块有高扇入。
.得分:
0知识点:
软件工程作业题,软件工程展开解析.答案错.解析..17.

大学本科软件工程期末试题及答案

大学本科软件工程期末试题及答案

软件工程期末考试试题及参考答案一、单向选择题1、软件的发展经历了(D)个发展阶段。

A. 一B. 二C. 三D. 四2、需求分析的任务不包括(B)。

A. 问题分析B. 系统设计C. 需求描述D. 需求评审。

3、一个软件的宽度是指其控制的(C)。

A. 模块数B. 层数C. 跨度D. 厚度4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。

A. 判定表和判定树B. 盒图C. 流程图D. 关系图5、以下不属于逻辑覆盖的是(D)A. 语句覆盖B. 判定覆盖C. 条件覆盖D. 基本路径6、为适应软件运行环境的变化而修改软件的活动称为(B)A. 纠错性维护B. 适应性维护C. 改善性维护D. 预防性维护二、填空题1. 软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)2. 高级语言:独立于机器,面向过程或面向(对象)3. 软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)4. 人机界面的风格第一代界面是命令和(询问)方式5. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)6. 在公式V (G)= E - N + 2中:E为程序图G中边的总数;N为程序图中结点的总数。

V (G)又称为图G的环形(复杂度)7. 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型8. 为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问你确实要删除…?”9. 文档是一种数据媒体和其上所记录的(数据)三、判断题(每小题2分,共24分,错误打X、正确打")1. 用户对软件需求的描述不精确,往往是产生软件危机的原因之一。

(V)2. 目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。

(V)3. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。

答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。

答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。

答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。

答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。

需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。

(2) 什么是软件需求?简述软件需求分析的过程。

答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。

软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。

其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。

3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。

请简要讨论软件版本控制的几种常见方式及其优缺点。

答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。

每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。

5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。

6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。

7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。

9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。

A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。

A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。

A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程期末复习题选择题1.软件设计中划分模块的一个准则是(C)。

A低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.(A)是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3.试判断下列叙述中,哪个些是正确的(C)。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D)A、PASCALB、VISUAL BASICC、C++D、汇编语言6.软件测试的目的是?(D)A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是(C)。

A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是(B)语言。

A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。

A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表(B)A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的(D)。

A、规模B、测试方案C、费用D、功能及模块结构13.检查软件产品是否符合需求定义的过程称为(A)。

A、确认测试B、集成测试C、验收测试D、验证测试14、在七种偶合中,最低偶合是(C)。

A、内容偶合B、公共偶合C、数据偶合D、非直接偶合15.以下不属于白盒测试技术的是(D)A.逻辑覆盖B.基本路径测试C、循环覆盖测试D、等价类划分16.软件的发展经历了(D)个发展阶段A.1B.2C.3D.417.需求分析的任务不包括(B)A.问题分析B.系统设计C.需求描述D.需求评审。

18.从事物的组成部件及每个部件的属性、功能来认识事物。

这种方法被称为(A)的方法。

A、面向对象B、面向数据C、面向过程D、面向属性19.将软件组装成系统的一种测试技术叫(A)A.集成测试B.单元测试C.集合测试D.系统测试20.技术可行性是可行性研究的关键,其主要内容一般不包括(C)A.风险分析B.资源分析C.人员分析D.技术分析21.一个模块的(B)是指能直接控制该模块的模块数。

A.扇出数B.扇入数C.宽度D.深度22.下列模型属于成本估算方法的是(A)A、COCOMO模型B、McCall模型C、McCabe度量法D、时间估算法23.在衡量软件质量时,最重要的标准是(B)。

A、成本低B、可维护性好C、符合要求D、界面友好24.瀑布模型的关键不足在于(B)A、过于简单B、不能适应需求的动态变更C、过于灵活D、各个阶段需要进行评审25.软件生命周期中所花费用最多的阶段是(D)A、详细设计B、软件编码C、软件测试D、软件维护26.软件开发时,一个错误发现得越晚,为改正它所付出的代价(A)A、越大B、越小C、越不可捉摸D、越接近平均水平27.程序的三种基本控制结构是(B)A、过程、子程序和分程序B、顺序、选择和循环C、递归、堆栈和队列D、调用、返回和转移28.结构化程序设计主要强调的是(D)A程序的规模B程序的效率C程序设计语言的先进性D易读性29.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为(D)A.纠错性维护B、适应性维护C、改善性维护D、预防性维护30.模块的内聚性最高的是(D)A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚问答题1.什么是软件?计算机软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的文档及数据;2.什么是软件工程?软件工程是一门指导软件开发的工程学科,以计算机理论及其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经实践证明的科学的管理措施与最先进的技术方法结合起来。

3.快速原型技术的基本思想是什么?花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,最终提高软件质量。

4.快速开发原型的途径有哪些?废弃型:快速建立需求规格原型;追加型:快速建立渐进原型法采用循环渐进;步骤:快速分析、构造原型、运行和评价原型、修改与改进5.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

主要是两个问题:(1)如何开发软件,怎样满足对软件的日益增长的需求;(2)如何维护数量不断膨胀的已有软件;6.什么是软件生存周期?软件生存周期是软件的产生直到报废的整个生命周期7.什么是软件的可靠性?指在给定时间内,在规定的环境条件下系统完成所指定功能的概率8.如何识别用例?明确以下4个问题即可:1、与系统实现有关的主要问题是什么;2、系统需要哪些输入/输出,这些输入/输出从何而来,到哪里;3、执行者需要系统提供哪些功能;4、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储9.如何识别角色?1、谁使用系统的主要功能?2、谁需要系统的支持以完成日常工作任务?3、谁负责维护,管理并保持系统正常运行?4、系统需要应付(或处理)哪些硬设备?5、系统需要和哪些外部系统交互?6、谁(或什么)对系统运行产生的结果(值)感兴趣?10.如何识别类?常用的方法有:1.名词识别法;2.系统实体识别法;3.从用例中识别类;4.利用分解与抽象技术;关键是要定义类的“属性”及“操作”11.耦合性和内聚性有几种类型?其耦合度、内聚强度的顺序如何?(1)非直接耦合;(2)数据耦合;(3)标记耦合;(4)控制耦合;(5)外部耦合;(6)公共耦合;(7)内容耦合;(1)偶然内聚;(2)逻辑内聚;(3)时间内聚;(4)过程内聚;(5)通信内聚;(6)顺序内聚;(7)功能内聚;12.什么是黑盒测试法?也称功能测试或数据驱动测试,测试时把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,只根据需求规格说明书,测试程序的功能或程序的外部特性。

13.等价类划分方法中,划分好等价类后设计测试用例的步骤是什么?1)为每个等价类编号;2)使一个测试用例尽可能覆盖多个有效等价类;3)特别要注意:一个测试用例只能覆盖一个无效等价类;15.什么是白盒测试?分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试;16.什么叫综合测试?一般都应该先进行静态测试,再考虑动态测试,最后进行验收测试;选择最少量的高效测试用例,从而尽可能多地发现软件中的问题。

17.什么叫改善性维护?扩充原有系统的功能,提高原有系统的性能,满足用户的实际需要18什么叫预防性维护?为了进一步改善软件的可靠性和易维护性,或者为将来的维护奠定更好的基础而对软件进行修改。

19什么叫适应性维护?要使运行的软件能适应运行环境的变动而修改软件的过程。

20.什么是内聚度?模块内部各成分彼此结合的紧密程度21.什么是耦合度?软件结构中模块间关联程度的一种度量22.面向对象软件测试基本步骤是什么?1、测试用例模型2、测试某些用例中的典型场景3、类及对象模型4、某些类测试其状态模型23.什么是软件体系结构?为软件系统提供一个结构、行为和属性的高级抽象,确定了系统的组织结构和拓扑结构,显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

24典型软件体系结构有哪些,其优缺点是什么?仓库模型、分布式模型、客户机/服务器模型、抽象机模型、控制摸型;仓库模型,优点:1.共享大数据量的有效方法。

2.子系统不必关心其它的子系统如何使用它所产生的数据。

3.易于将新子系统集成,若新子系统也采用相同。

缺陷:1.为了共享数据,各子系统必须有一致的数据视图,不可避免地会影响了整个系统的性能;2.子系统的改变,使产生的数据结构也可能发生改变;3.统一的数据库结构(备份、安全、访问控制和恢复的策),将影响子系统的效率。

分布式模型,优点:资源共享;开放性高;可伸缩性好;容错能力强;透明性高;缺点:复杂性;安全性;可管理性;不可预知性;抽象机模型又称为分层模型:优点:支持增量式开发。

缺点:系统构成,性能保证较困难。

25.黑盒测试的典型方法有哪些?等价类划分、边界值分析、错误推测、因果图和综合策略26.白合测试的典型方法有哪些?1、逻辑覆盖①语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一次;②判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值;③条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果;④判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果;⑤条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次;2、循环覆盖3、基本路径测试4、代码检查法5、静态结构分析6、静态质量度量法27.静态分析中的数据流分析图基本思想是什么?数据流分析则侧重于对变量在控制结构下的定值,使用以及传播情况的分析检查分析变量的定义和引用情况。

列出源代码中的变量并且报告任何异常的使用。

28.软件设计阶段的任务与目标是什么?任务:将分析阶段获得的需求说明转换为计算机中可实现的系统;即:软件体系结构的设计、用户界面的设计、数据结构的设计、算法的设计目标:构造一个高内聚低耦合的软件模型。

29.软件设计的准则是什么?1、软件结构的准则:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数2、模块化准则:将系统划分成若干模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,以满足所要求的整个系统的功能。

3、软件独立性准则:开发具有功能专一,模块之间无过多相互作用的模块。

30.需求获取的方法有哪些?1.面谈法重要而直接,简单的需求获取技术。

2.问卷法调查法是对面谈法的补充。

3.需求专题讨论会最有力的需求获取技术。

有利于培养高效团队。

4.观察用户的工作流程适用于用户无法准确表达需求的情况。

5.原型化方法6.基于用例的方法应用题:一、已知一个软件项目的记录,开发人员M=3人,其代码行数L=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。

相关文档
最新文档