软件工程模拟题_第1页
软件工程模拟题_第2页
软件工程模拟题_第3页
软件工程模拟题_第4页
软件工程模拟题_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、 模拟 软件工程选择题第 1 题:软件工程方法学的三要素是。方法项目管理过程开发语言工具A. B. C.D.参考答案:D软件工程方法学包含三个要素:方法、 工具和过程。方法是指完成软件开发的各项任务的技术方法;工具是指为运用方法而提供的软件工程支撑环境;过程是指为获得高质量的软件所需要完成的一系列任务的框架。第 2 题:螺旋模型的开发实施和基本相吻合。A. 智能模型B. 快速原型模型C.喷泉模型D.V模型参考答案:B第 3 题:软件设计一般分为外部设计和内部设计,它们之间的关系是A. 全局和局部B. 抽象和具体C.总体和层次D.没有关系参考答案:A这里所说的外部设计实际上是指概要设计,内部设计

2、就是详细设计。概要设计的工作是:采用某种设计方法,将一个复杂的系统按功能划分成模块; 确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间传递的信息;评价模块结构的质量。而详细设计的工作是:为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。可见,这是一个全局和局部的关系,概要设计划分好模块,而详细设

3、计定义每个模块如何工作。第 4 题:瀑布模型把软件生命周期划分为三个阶段,它们分别是:计划阶段、开发阶段和 。A. 可行性分析阶段B. 运行阶段C.详细计划阶段D.测试与排错阶段参考答案:B瀑布模型的软件生命周期分为计划阶段、开发阶段和运行阶段( 即维护阶段) 三个大的阶段,这三个阶段又可细分为:可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试、运行维护几个小的阶段。第 5 题:瀑布模型(Waterfall Model) 突出的缺点是不能适应的变动。A. 算法B. 开发或应用平台C.程序语言D.用户需求参考答案:D瀑布模型有许多优点:可强迫开发人员采用规范的方法;严格规定了各阶段必

4、须提交的文档;要求每个阶段结束后,都要进行严格的评审。但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求,有时可能直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差。第 6 题:如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为模块。A. 功能内聚B. 顺序内聚C.通信内聚D.过程内聚参考答案:C第 7 题:项目管理工具中,将网络方法用于工作计划安排的评审和检查的是A.Gantt 图B.PERT网图C.因果分析图D.流程图Gantt 图:以水平线段表示任务的工作阶段。线段的起点和终点

5、分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。从甘特图上可以很清楚地看出各子任务在时间上的对比关系,并以文档编制与评审作为软件开发进度的里程碑。甘特图的优点是标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况。缺点是难以反映多个任务之间存在的复杂的逻辑关系。PERM图:也叫做计划评审技术。它采用网络图来描述一个项目的任务网络, 不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况, 分析某些子任务的完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个项目的完成。因果分析图:又叫特性要素图、树枝图和鱼刺图等,是

6、质量管理常用工具之一。流程图:流程图是以图解方式来说明实现一个解决方案所需完成的一系列操作。第 8 题:下述任务中,不属于软件工程需求分析阶段的是。A. 分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台参考答案:D需求分析的任务主要有:(1) 确定软件的综合要求:系统界面,系统功能,系统性能,安全性、保密性和可靠性方面的要求,系统的运行要求,异常处理,将来的扩充和修改等。(2) 分析软件系统的数据要求:基本数据元素,数据元素之间的逻辑关系,数据量, 峰值等。(3) 导出系统的逻辑模型。(4)修正项目开发计划。第 9 题:进行软件测试的目的是。

7、A. 尽可能多地找出软件中的缺陷B. 缩短软件的开发时间C.减少软件的维护成本D.证明程序没有缺陷参考答案:A进行软件测试的目的是想以最少的时间和人力找出软件中潜在的各种错误和缺陷,而不是证明程序没有缺陷。第 10 题:软件的测试通常分单元测试、组装测试、确认测试、系统测试四个阶段进行。属于确认测试阶段的活动。A. 设计评审B. 代码审查C.结构测试D.可靠性测试参考答案:D第 11 题:一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其它故障,这时应该进行。A. 程序走查B. 退化测试C.软件评审D.接收测试参考答案:B在维护过程中,当修正一个故障以后要进行回归测试,但此处没有这个

8、选项,所以我们要考查哪个选项是回归测试的意思。这里可以直接把A和C排除,而D选项的接收测试就是确认测试,所以我们选Bo其实退化测试就是回归测试,只是翻译不同而已。第 12 题:代码走查(code walkthrough) 和代码审查(code inspection) 是两种不同的代码评审方法,这两种方法的主要区别是。A. 在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动B. 在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性C.在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编 程能力和工作业绩D.代码审查是

9、一种正式的评审活动,而代码走查的讨论过程是非正式的参考答案:D静态分析中进行人工测试的主要方法有桌前检查、代码审查 ( 会审 ) 和走查。 经验表明, 使用这种方法能够有效地发现30%到 70%的逻辑设计和编码错误。桌前检查(Desk Checking) :由程序员自己检查自己编写的程序。程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。检查项目有:检查变量的交叉引用表:重点是检查未说明的变量和违反了类型规定的变量;还要对照源程序,逐个检查变量的引用、变量的使用序列;临时变量在某条路径上的重写情况;局部变量、全局变量与特权变量

10、的使用;检查标号的交叉引用表:验证所有标号的正确性:检查所有标号的命名是否正确;检查转向指定位置的标号是否正确。检查子程序、宏、函数:验证每次调用与被调用位置是否正确;确认每次被调用的子程序、宏、 函数是否存在;检验调用序列中调用方式与参数顺序、个数、类型上的一致性。等值性检查:检查全部等价变量的类型的一致性,解释所包含的类型差异。常量检查:确认每个常量的取值和数制、数据类型;检查常量每次引用同它的取值、数制和类型的一致性;标准检查:用标准检查程序或手工检查程序中违反标准的问题。风格检查:检查在程序设计风格方面发现的问题。比较控制流:比较由程序员设计的控制流图和由实际程序生成的控制流图,寻找和

11、解释每个差异,修改文档和校正错误。选择、激活路径:在程序员设计的控制流图上选择路径,再到实际的控制流图上激活这条路径。如果选择的路径在实际控制流图上不能激活,则源程序可能有错。用这种方法激活的路径集合应保证源程序模块的每行代码都被检查,即桌前检查应至少是语句覆盖。对照程序的规格说明,详细阅读源代码:程序员对照程序的规格说明书、规定的算法和程序设计语言的语法规则, 仔细地阅读源代码,逐字逐句进行分析和思考,比较实际的代码和期望的代码,从它们的差异中发现程序的问题和错误。补充文档:桌前检查的文档是一种过渡性的文档,不是公开的正式文档,通过编写文档,也是对程序的一种下意识的检查和测试,可以帮助程序员

12、发现和抓住更多的错误。这种桌前检查, 由于程序员熟悉自己的程序和自身的程序设计风格,可以节省很多的检查时间,但应避免主观片面性。代码会审(Code Reading Review):是由若干高级管理人员、程序员和测试员组成一个会审小组,通过阅读、讨论和争议,对程序进行静态分析的过程。高级管理人员领导整个会审小组。代码会审分两步。第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为评审的依据。小组成员在充分阅读这些材料之后,进入审查的第二步:召开程序审查会。在会上,首先由程序员逐句讲 解程序的逻辑。在此过程中,程序员或其他小组成员可以提出问题,展开讨论

13、,审查错误是否存在。实践表明,程序员在讲解过程中能发现许多原来自己没有发现的错误,而讨论和争议则促进了问题的暴露。在会前,应当给会审小组每个成员准备一份常见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高会审的实效。这个常见错误清单也叫做检查表,它把程序中可能发生的各种错误进行分类,对每一类列举出尽可能多的典型错误,然后把它们制成表格,供会审时使用。这种检查表类似于本章单元测试中给出的检查表。走查 (Walkthroughs) :与代码会审基本相同,一般由编写代码的程序员来组织讨论,其过程分为两步。第一步也把材料先发给走查小组每个成员,让他们认真研究程序,然后再开会。

14、开会的程序与代码会审不同,不是简单地读程序和对照错误检查表进行检查,而是让与会者“充当”计算机。即首先由测试组成员为被测程序准备一批有代表性的测试用例,提交给走查小组。走查小组开会, 集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹,供分析和讨论用。代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。人们借助于测试用例的媒介作用,对程序的逻辑和功能提出各种疑问,结合问题开展热烈的讨论和争议,能够发现更多的问题。第 13 题:参考答案:C首先要搞清楚什么是条件,什么是判定,以“ A ORB”为例,单个的A或者B是一个条件,而“A ORB ”才是判定。所谓判定覆盖,

15、就是指设计的测试用例能使得程序中的每个判定的真值分支和假值分支至少经过一次,因此, 判定覆盖亦称分支覆盖。A B、D选项中测试用例显然只覆盖了 " A OR B'真值分支。在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为(1);在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为(2)。第 14题:A. 直接转换B.位置转换C.分段转换D.并行转换参考答案:D第 15 题:A. 直接转换B.位置转换C.分段转换D.并行转换参考答案:C这道题属于纯概念题,题目中的字句都是从概念中抽出来的,下面我们来看系统转换的一些概念。新老系统之间的转换

16、有三种方式:直接转换、并行转换和分段转换,下面我们来详细介绍这三种转换的各自特点。直接转换就是在确定新系统运行无误时,立刻启用新系统,终止老系统运行。这种方式对人员、设备费用很节省。这种方式一般适用于一些处理过程不太复杂,数据不很重要的场合。并行转换是指新老系统并行一段时间,经过一段时间的考验以后,新系统正式替代老系统。对于较复杂的大型系统,它提供了一个新系统与老系统运行结果进行比较的机会,消除了尚未认识新系统之前的紧张和不安。在银行、财务和一些企业的核心系统中,这是一种经常使用的转换方式。它的主要特点是安全、 可靠, 但费用和工作量都很大,因为在相当长时间内系统要两套班子并行工作。分段转换又

17、称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是以上两种转换方式的结合。在新系统全部正式运行前,一部分一部分地代替老系统。那些在转换过程中还没有正式运行的部分,可以在一个模拟环境中继续试运行。这种方式既保证了可靠性,又不至于费用太大。但是这种分段转换要求子系统之间有一定的独立性,对系统的设计和实现都有一定的要求,否则就无法实现这种分段转换的设想。由此可以看出题目所说的“旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略”是并行转换,而“在新系统全部正式运行前,一部分一部分地代替旧系统的策略”是分段转换。所以第 (1)空应选D,第空应选Co第 16 题:在面向数据流的设计方法中,

18、一般把数据流图中的数据划分为两种。A. 数据流和事务流B. 变换流和数据流C.变换流和事务流D.控制流和事务流参考答案:C数据流图简称DFD是描述数据处理过程的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式描述数据在系统流程中流动和处理的移动变换过程,反映数据的流向、自然的逻辑过程和必要的逻辑数据存储。一般把数据流图中的数据划分为变换流和事务流两种。第 17 题:软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定。A. 模块间的操作细节B. 模块间的相似性C.模块间的组成关系D.模块的具体功能参考答案:C这里所说的软件设计其实指概要设计,其主要任务就

19、是:合理划分模块,并追求更高的内聚度和更低的耦合度。第 18 题:应该在 阶段制定系统测试计划。A. 需求分析B. 概要设计C.详细设计D.系统测试参考答案:A第 19 题:(1) 是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的上。A. 版本记录B. 还原点C.基线D.变更点参考答案:C基线是软件生存期中各开发阶段的一个特定点,它的作用是把各开发阶段的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查和肯定阶段成果。软件设计包括四个既独立又相互联系的活动,分别为(1)、(2)数据设计和过程设计。第 20 题:A. 用户手册

20、设计B. 语言设计C.体系结构设计D.文档设计参考答案:C第 21 题:A. 文档设计B. 程序设计C.实用性设计D.接口设计参考答案:D软件设计包括体系结构设计、接口设计、数据设计和过程设计。系统设计的四方面内容是:体系结构设计、户界面设计、内外部接口设计) 。模型的优点,还增加了(1)外旋转,每转一圈都要对(2)模块设计、数据结构与算法设计、接口设计( 用软件开发的螺旋模型综合了瀑布模型和演化。采用螺旋模型时,软件开发沿着螺线自内向进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个(3) 。从第二圈开始,一个新产品开发项目开始了, 新产品的演化沿着螺旋线进行若干次迭代,一直运

21、转到软件生命期结束。第 22 题:A. 版本管B. 可行性分析C.风险分析D.系统集成参考答案:C第 23 题:A. 系统B. 计划C.风险D.工程参考答案:C第 24 题:A. 原型项目B. 概念项目C.改进项目D.风险项目参考答案:B软件能力成熟度模型(Capability Maturity Model, CMM)J述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟程度的分级标准。在初始级,软件过程定义几乎处于无章法可循的状态,软件产品的成功往往依赖于个人的努力和机遇。在(1) ,已建立了基本的项目管理过程,可对成本、进度和功能特性进行跟踪。在(2) ,用于软件管理与工程两方

22、面的软件过程均已文档化、标准化, 并形成了整个软件组织的标准软件过程。在已管理级,对软件过程和产品质量有详细的度量标准。在(3) ,通过对来自过程、 新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对过程进行改进。第 25 题:A. 可重复级B. 管理级C.功能级D.成本级参考答案:A第 26 题:A. 标准级B. 已定义级C.可重复级D.优化级参考答案:B第 27 题:A. 分析级B. 过程级C.优化级D.管理级参考答案:C如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误,(1) 测试是由软件的最终用户在一个或多个用户实

23、际使用环境下来进行的。(2) 测试是由一个用户在开发者的场所来进行的。测试的目的是寻找错误的原因并改正之。第 28 题:A.AlphaB.BetaC.GammaD.Delta参考答案:B第 29 题: A.Alpha B.Beta C.Gamma D.Delta参考答案:A大型通用软件在正式发布前,通常需要执行Alpha 和 Beta 测试,目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。Alpha 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试。Alpha 测试不能由程序员或测试员完成。Alp

24、ha 测试发现的错误,可以在测试现场立刻反馈给开发人员, 由开发人员及时分析和处理。Alpha 测试的目的是评价软件产品的功能、可使用性、可靠性、性能和支持,尤其注重产品的界面和特色。Alpha 测试可以从软件产品编码结束之后开始,或在模块( 子系统 ) 测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册( 草稿 ) 等应该在Alpha测试前准备好。 Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场。Beta 测试不能由程序员或测试员完成。因此,Beta 测试是在开发者无法控制的环境下进行的软件现场应用。在Be

25、ta 测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的问题,定期向开发者报告;开发者在综合用户的报告后做出修改,最后将软件产品交付给全体用户使用。Beta 测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当 Alpha 测试达到一定的可靠程度后,才能开始 Beta 测试。由于Beta 测试的主要目标是测试可支持性,因此Beta 测试应该尽可能由主持产品发行的人员来管理。由于 Alpha 和 Beta 测试的组织难度大,测试费用高,测试的随机性强、测试周期跨度较长,测试质量和测试效率难于保证,因此,很多专业软件可能不再进行Beta 测试。随着测试技术的提高以及专业测

26、试服务机构的大量涌现,很多软件的Beta 测试外包给这些专业测试机构进行测试。第 30 题:用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为工具。A.CADB.CAIC.CAMD.CASE参考答案:D软件工具是指用于辅助软件开发、运行、维护、管理、支持等过程中的活动的软件,通常也称为CASE(Computer Aided Software Engineering ,计算机辅助软件工程 ) 工具。CAD: Computer Aided Design ,计算机辅助设计。1972年10月,国际信息处理联合会(IFIP)在荷兰召开的“关于 CAD原理的工作会议”

27、 上给出如下定义:CA支一种技术,其中人与计算机结合为一个问题求解组,紧 密配合, 发挥各自所长,从而使其工作优于每一方,并为应用多学科方法的综合性协作提供了可能。CAD®工程技术人员以计算机为工具,对产品和工程进行设计、绘图、分析和编写技术文档等设计活动的总称。CAD4机械制造行业的应用最早,也最为广泛。采用 CAD技术进行产品设计不但可以使设计人员“甩掉图 板”,更新传统的设计思想,实现设计自动化,降低产品的成本,提高企业及其产品在市场上的竞争能力;还可以使企业由原来的串行式作业转变为并行作业,建立一种全新的设计和生产技术管理体制,缩短产品的开发周期,提高劳动生产率。CAM: C

28、omputer Aided Manufacturing ,计算机辅助制造,核心是计算机数值控制( 简称数控) ,是一种将计算机应用于制造生产过程的技术。CAD/CA极术产生于20世纪50年代后期发达国家的航空和军事工业中,随着计算机软硬件技术和计算机图形学技术的发展而迅速成长起来。1989 年美国国家工程科学院将CAD/CA极术评为当代(1964-1989年)十项最杰出的工程技术成就 之一。五十多年来CAD技术和系统有了飞速的发展,CAD/CAM勺应用迅速普及。在工业发达国家,CAD/CA眼术的应用已迅速从军事工业向民用工业扩展,由大型企业向中小企业推广,由高技术领域的应用向日用家电、轻工产品

29、的设计和制造普及。如今世界各大航空、航天及汽车等制造业巨头不但广泛采用CAD/CA极术进行产品设计,而且投入大量的人力、物力及资金进行CAD/CA啾件的开发,以保持自己技术上的领先地位和国际市场上的优势。CAI: ComputerAssisted Instruction , 计算机辅助教学,是指利用计算机媒体帮助教师进行教学。 CAI 是计算机科学、教育学、心理学等多门学科交叉形成的一门综合性新兴学科,它既代表一个十分广阔的计算机应用领域,又是一项重要的教育技术。软件维护工作越来越受到重视,因为它的花费常常要占软件生存周期全部花费的 (1)%左右。其工作内容为(2) 。为了减少维护工作的困难,可以考虑采取的措施是(3)。 而软件的可维护性包含(4)。 所谓维护管理主要指的是(5) 等。第 31 题:A.10 20B.20 40C.60 80

温馨提示

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

评论

0/150

提交评论