搜档网
当前位置:搜档网 › 软件工程习题答案参考

软件工程习题答案参考

软件工程习题答案参考
软件工程习题答案参考

软件工程

绪论

1.什么是软件危机为什么会产生软件危机

答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。

(2).软件生产技术进步缓慢

2.什么是软件生产工程化工程化生产方法与早期的程序设计方法主

要差别在哪里

答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。

3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管

理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一个

理想的软件工程环境,应该同时具备技术和管理两个方面。

4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。

答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。

5.什么是软件工程环境谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。

6. 何谓面向对象软件工程简述它与传统软件工程在各型软件开发中的作用。

答:以面向对象程序设计为基础。

7. 软件按规模大小可分成哪几类简述软件工程中各型软件开发中的作用。

答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。

8. 什么是形式化软件开发方法实现这类开发的困难和出路在哪里答:它是一种基于数学的开发技术,主要采用数学的方法来描述系统的性质(例如程序变换和程序验证等)。形式化的方法加上自动化的开发环境,可能是解决这一难题的出路。

软件开发模型

1.什么是软件生存周期把生存周期划分为阶段的目的是什么答:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。

2.传统的瀑布模型把生存周期分为哪些阶段瀑布模型软件开发有哪些特点

答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。

3.说明文档和复审对于软件质量的控制的作用。

答:每一阶段都要完成规定的文档,没有完成文档,就认为没有完成该阶段的任务。软件开发是许多人共同参加的计划,完整与合格的文档,不仅是开发时期软件人员之间互相通信的媒介,也是运行时期对

软件进行维护的中要依据。每一阶段都要对已完成的文档进行复审,以便尽早发现问题,消除隐患。愈是早期潜伏下来的故障,暴露出来的时间愈晚,排除故障需付出的代价也就愈高。及时复审是保证软件质量,降低开发成本的重要措施。

4.什么是快速原型法其快速表现在哪里

答:首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。然后将原型改进,最终建立完全符合用户要求的新系统。它的快速表现在能够缩短开发周期的语言和工具,能在短时间内提供出成品,但不包括成品中的细节,然后让客户进行对比。

5.实现快速原型法的最终系统可以有几种方法请说明并加以比较。答:原型系统仅包括未来系统的主要功能,以及系统的重要接口。为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。最终系统的形成可以采用原型废弃不用,另一方法是补充修改模型获得最终系统。方法一不包括系统的细节。后一种方法在实际工作中,由于原型系统使用的语言往往存在效率不高等原因,除了少数简单的事务系统外,大多数原型都废弃不用,仅把建立原型的过程当作帮助定义软件需求的一种手段。

6.比较增量模型和螺旋模型的特点,有什么不同和相似的地方

答:增量模型是瀑布模型的顺序特征与快速原型法的迭代特征相结合的产物。螺旋模型是一种迭代模型,每迭代一次,螺旋线就前进一周。增量模型每个增量具有高内聚低耦合,高度的独立性。而螺旋模型它

在结合瀑布模型与快速原型的基础上还增加了风险分析。

7.为什么利用转换模型开发软件有一定难度什么是净室软件工程答:从理论上说,一个正确的,满足客户需要的形式化规格说明,经过一系列正确的程序变化后,可以确保得到这样一个形式化规格说明,目前还有较高的难度,同时,软件开发者很少具有实用形式化方法所需的背景知识,况且,转换模型开发软件现在还很费时和昂贵!净室基本思想是力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。

8.哪些开发模型适用于面向对象的软件开发

答:构件集成模型

9.比较螺旋模型和构件集成模型的异同。

答:构件集成模型利用预先对封装好的软件构件来构造应用软件系统,它融合了螺旋模型的很多特征,支持软件开发的迭代方法。

软件需求分析

1.需求分析的任务是什么怎样理解分析阶段的任务是决定“做什么”,而不是“怎么做”

答:需求分析主要有两个任务:第一是通过对问题及其环境的理解、分析和综合建立分析模型;第二是在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。需求分析的任务就是为了明确要开发的是一个什么样的系统,而不是去怎么去实现这个系统。

2.需求分析要经过哪些步骤

答:需求获取、需求提炼、需求描述、需求验证。

3.有哪两种主要的分析模型,它们有什么联系

答:面向对象分析模型、结构化分析模型。前者是采用面向对象的思想进行软件需求分析的建模过程,而后者模型的核心是DD,它是设计各种数据对象的总和。他们的模型分别起到了描述数据模型,功能模型与行为模型的作用。

4.什么是结构化分析它的“结构化”体现在哪里

答:是使用DFD、DD、结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档。

5.什么是面向对象分析其主要思想是什么

答: OOA面向对象的分析是采用面向对象的思想进行软件需求分析建模的过程.主要思想是采用面向对象的思想。

5.需求说明(或需求规格说明书)由哪些部分组成各部分的主要内

容是什么

答:引言、信息描述、功能描述、行为描述、质量描述、接口描述、其他描述。引言:主要叙述在文体定义阶段确定的关于软件的目标与范围,简要介绍系统背景、盖帽、软件项目约束和按考资料等。信息描述:给出对软件所含信息的详细描述,包括信息的内容、关系、数据流向、控制流向和结构等。功能描述:对软件功能要求的说明,包括系统功能划分、每个功能的处理说明、限制和控制描述等。行为描述:包括对系统状态变化及事件和动作的描述,据此可以检查外部事件和软件内部的控制特征。质量描述:阐明在软件交付使用前需要进

行的共更能测试和性能测试,并且规定源程序和文档应该遵守的各种标准。接口描述:包括系统的用户界面、硬件接口、软件接口和通信接口等的说明。其他描述:阐述系统设计和实现上的限制,系统的假设和依赖等其他需要说明的内容。

6.为什么DFD要分层画分层DFD要遵循哪些原则

答:大型复杂的软件系统,其DFD可能含有数百乃至数千个加工,不能设想一次就将它们全部画齐。正确的做法是:从系统的基本模型(把整个系统看成一个加工)开始,逐层地对系统进行分解。原则:由顶向下,逐步细化。

7.DFD和CFD有什么区别

8.什么是系统的行为模型,如何建立

答:类对象模型所表示的是面向对象分析模型中的静态部分,而对象行为模型则用于描述系统的动态行为,即系统如何对应外部事件---系统的行为模型。建立一个对象行为模型一般要经历一些过程:评估所以的用例来理解系统中的交互序列;找出驱动交互序列的事件;为每个用例创建事件轨迹;为对象创建状态转换图。

9.选一个系统(例如工资处理系统、飞机订票系统、图书馆管理系

统等),分别用SA方法和OOA方法对它进行分析,并给出分析模型。

答:软件设计概述1.传统软件工程把设计过程分成2步:概要设计

与详细设计。

10.试述这2个阶段个字主要完成的任务。

答:概要设计,包括结构设计和接口设计,并编写设计文档。详细设计,其任务是确定各个软件组件的数据结构和操作,产生描述个软件组件的详细设计文档。

为什么大型软件设计必须分成两步走

答:概要设计和详细设计是软件设计的两步,概要设计确定模块的划分,模块之间的调用关系,接口等;详细设计细分模块、数据结构等;大型系统中分两步走是必要的,概要设计确定模块划分后,详细设计可把各模块交给不同的人做详细设计,大型系统中这样的分工是比较合理的,能提高效率,做到合理分工。

2.解释下列名词:(1)模块;(2)模块化;(3)模块化设计。

答:模块是一个拥有明确定义的、输出和特性的程序实体。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。模块化设计是把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块。但又相互关联的模块。

3.什么是模块独立性用什么度量

答:模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。独立性可以从两个方面来度量:

模块本身的内聚性(Cohesion)和模块之间的耦合(Coupling)。

4.具体说明“一个模块,一个功能”的含义,并试讨论这类模块的优点。

5.什么是自顶向下设计为什么说它尤其适用于大型软件的开发答:设计时首先对所设计的系统有一个全面的理解。然后从顶层开始,连续的逐层向下分解,直至系统的所有模块都笑道便于掌握为止。自底向上设计反映了软件规模较小的设计思想,随着软件规模的增长,这种方法的缺点逐渐暴露出来。而自顶向下的设计需要进行详细的可行性论证,易于修改和扩展,整体测试较易通过。

6.自顶向下逐步细化的方法也适用于编写教材。使用这种方法说明编写一本教材的过程。

7.输入三角形的3条边长(假定这些边确实能组成一个三角形),用它们来鉴别三角形的性质(等腰、等边、任意或者直角),并输出结果。试用逐步细化的方法设计这一程序,并用结构化语言(汉语或英语)写出细化过程中每一步的过程描述。

8.比较概要设计复审和过程设计复审的评审内容,并说明他们采取的复审方式有何异同。

答:概要设计复审的重点放在系统的总体结构、模块划分、内外结构等方面。例如软件结构是否满足需求结构形态是否合理层次是否清晰模块的划分是不是符合优化原则系统的人机界面、内外部接口、以及出错处理是不是合理等。过程设计复审的重点放在模块的具体设计上。例如模块设计能否满足其功能与性能要求选择算法与数据结构是否合理,是否符合编程语言的特点设计描述简单、清晰等。概要设计复审常用的复审方式是正式复审。

传统的设计方法

1.简释事务、事务型结构和变换型结构。

答:一次动作、时间或状态变化也可以成为一次事务。事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。

变换型结构由至少一条传入路径、变换中心和传出路径组成。

2.简述从DFD图到SC图的映射规则。

答:(1)复审DFD图,必要时可再次进行修改或细化;(2)鉴别DFD图所表示的软件系统的结构特征,确定它所代表的软件结构是属于变换型还是事务型。(3)按照SD方法规定一组规则,把DFD图转换为初始的SC图;(4)按照优化设计的指导原则改进初始的SC图,获得最终SC图。

5.某事务系统具有下列功能:(1)读入用户命令,并检查其有效

性;(2)按照命令的编号(1-4号)进行分类处理(3)1号命令计算产品共识,能根据用户给出的各种产品数量,计算出各工种的需要工时和缺额工时;(4)2号命令计算材料消耗,根据产品的材料定额和用户给出的生产数量,计算各种材料的需求量(5)3号命令编制材料订货计划(6)4号命令计算产品成品试用结构化分析和设计方法画出该系统的DFD图并据此到处系统的SC图。对动作分支中的1号和2号命令要详细描述和设计,3号命令和4号命令允许从略,可仅用示意图表示。

7.简述过程(详细)设计说明书的主要内容,怎样对它进行复审答:(1)为每个模块确定采用的算法。选择某种适当的工具表达算法的过程,写出模块的详细过程描述;(2)确定每一模块使用的数据结构;(3)确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及关于模块输入数据、输出数据及局部数据的全部细节。

8.简化比较本章讲解的几种过程设计表达工具的优缺点。

答:流程图和N-S图,伪代码和PDL语言。流程图具有能随意表达任何程序逻辑的有点,随着结构化程序设计方法的普及,流程图在描述程序逻辑时的随意性与灵活性恰恰变成了它的缺点。N-S 图所有的程序结构均用方框来表示,无论并列或者嵌套,程序的结构清晰可见。容易养成良好的程序设计风格。缺点是当程序内

嵌的层数增多时,内层的方块越画越小,不仅增加画图的困难,也使图形的清晰性受到影响。伪代码工作量比画图小,又容易转换为真正的代码,PDL具有很强的描述功能,是一种十分灵活和有用的过程表达工具。

9.任选一种排序(从小到大)算法,分别用流程图、N-S图和PDL

语言描述其详细过程。

11.试将下列用PDL伪代码表示的某种模块的过程性描述改用N-S图

表示。

……Execute process aREPEAT UNTIL condition X8Execute process bIF condition X1 THEN BEGIN Execute process fIF condition X6 THEN REPEAT UNTIL condition X7 Execute process i ENDREPELSE BEGIN Execute process gExecute process hENDENDIFELSE CASE OF XiWHEN contdition X2 SELECT DO WHILE contition X5execute process CENDDOWHEN condition X3 SELECT process dWHEN condition X4 SELECT process eENDCASEENDIFENDREPExecute process jENDexecute process a execute process b TX1Fexecute process fTX3 F TX4 F TX6F execute process d execute process e execute process iexecute process gREPEAT UNTILX7execute process hexecute process jREPEAT UNTIL condition X8

12.图5-63显示了某仓库零件收发管理程序的数据结构,用Jackson

图表示。图中Part表示零件,Issue和Recept分别表示零件的出库量和入库量。现要求:(1)找出输入结构与输出结构之间的对应单元(2)画出用Jackson图表示的程序结构(3)列出程序所需要的操作,并加到第(2)步画出的程序结构图上(4)用伪代码写出收发管理程序的过程性表示

Inputfilepart group*receptMovement record*issueNet movement line*bodyheadingOutput report

13.某工资管理程序的输入/输出数据中包括:输入数据:职工姓名,日工资率,工作天数,加班天数,病事假天数,补贴变更,扣款变更等;输出数据:职工姓名,基本工资,各项补贴,各项扣款,事发工资等;试用Jackson方法设计这一程序。软件测试1.软件测试的基本任务是什么测试与纠错有什么不同测试的目的是发现程序错误;测试的任务是通过在计算机上执行程序,暴露程序中潜在的错误。纠错的目的是定位和纠正错误;纠错的任务是软件故障,保证程序的可靠运行。通常把一次程序执行需要的测试数据成为一个测试用例,每个测试用例产生一个相应的测试结果,如果它与期望结果不符,便说明程

序中存在错误,需要用纠错来改正。2.怎样理解下面的话所蕴含的意义:“程序测试只能证明错误的存在,但不能证明错误不存在”、“测试是为了证明程序有错,而不是证明程序无错”揭示了测试固有的一个重要性质——不彻底性。彻底测试就是让被测程序在一切可能的输入情况下全部执行一遍,又称穷举测试。在实际情况中是根本无法实现的。这就注定了一切实际测试都是不彻底的,当然也就不能保证测试后的程序不存在遗留的错误。◆测试的分类◆测试方法测试用例和测试结果测试用例={测试数据+期望结果}测试结果={测试数据+期望结果+实际结果} 黑盒测试①等价测试把输入数据的可能值划分为若干个等价类,使每类中的任何一个测试用例,都能代表同一等价类中的其它测试用例。采用等价测试注意以下两点:划分等价类不仅要考虑代表“有效”输入值的有效等价类,还要考虑代表“无效”输入值得无效等价类;每一无效等价类至少要用一个测试用例,不然可能漏掉某一类错误,但允许若干个有效等价类合用一个测试用例,以便进一步减少测试的次数。【例】某工厂公开招工,规定报名者年龄在16周岁至35周岁(在1967年2月到1986年3月)。如果出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。试用等价分类法设计这一程序功能的测试用例。第一步:划分等价类输入数据有效等价类无效等价类出生年月(1)6位数字字符(2)有非数字字符(3)少于6个数字字符(4)多于6个数字字符对应数值(5)在之间(6)<196702(7)>198603月份对应数值(8)在1-12之间(9)等于“0”(10)>12第二步:设计有效等价类需要的测试用例测试数据期望结果测试范围

197011输入有效(1)、(5)、(8)第三步:为每一无效等价类设计一个测试用例测试数据期望结果测试范围MAY,70输入无效(2)19705输入无效(3)1968011输入无效(4)195512年龄不合格(6)196006年龄不合格(7)196200输入无效(9)197222输入无效(10) ②边界测试程序员在处理边界情况时,很容易因忽略或考虑不周发生编码错误。例如,数组容量、循环次数以及输入数据与输出数据在边界值附近程序出错概率往往较大。采用边界值分析法就是要这样来选择测试用例,使得被测试程序能在边界值及其附近运行,从而更有效地暴露程序中潜在的错误。例如程序可能设有语句If(196702<=value(birthdate)<=198603)then read(birthdate)else write “invalid age”将上式<=写成<,以上所有测试都不能发现该错误。【例】上题年月日的测试用例(边界分析法)输入等价类测试用例说明测试数据期望结果选取理由出生年月1个数字字符5个数字字符7个数字字符有1个非数字字符全是非数字字符519705AAUGUST输入无效仅有一个合法字符比有效长度恰少一个字符比有效字符恰多一个字符非法字符最少非法字符最多6个数字字符196702输入有效类型与长度均有效对应数值35周岁16周岁合格年龄最大符合年龄最小符合年龄>35周岁<16周岁不合格年龄恰大于合格年龄恰小于合格年龄月份对应数值月份为1月份为2输入有效最小月份最大月份月份<1月份>3输入无效恰小于最小月份恰大于最大月份③错误猜测法猜错就是猜测被测程序放在哪些地方容易出错,然后针对可能的薄弱环节来设计测试用例。一般先用等价分类法和边界值分析法设计测试用例,然

后用猜错法补充一些例子作为辅助的手段。白盒测试①逻辑覆盖测试:用流程图来设计测计用例。主要考察的重点是图中的判定框(选择或循环)。按照被测试程序所作测试的有效程度,逻辑测试可由弱到强区分5种覆盖标准:语句覆盖:每条语句至少执行一次。判定覆盖:每一判定的每个分支至少执行一次。条件覆盖:每一判定中的每个条件,分别按“真”、“假”至少各执行一次。判定/条件覆盖:同时满足判定覆盖和条件覆盖的要求。条件组合覆盖:求出判定中所有条件的各种可能组合值,每一可能的条件子和至少执行一次。覆盖标准程序结构举例测试用例应满足的条件语句覆盖AÙB=.T.判定覆盖AÙB=.T.,AÙB=.F.条件覆盖A=.T.,A=.=.T.,B=.F.判定/条件覆盖AÙB=.T.,AÙB=.=.T.,A=.=.T.,B=.F. 条件组合覆盖A=.T. Ù B=.=.T. Ù B=.=.F. Ù B=.=.F. Ù B=.F.

②路径测试法程序图:是一种简化的流程图。对程序图中每一条可能的程序执行路径至少测试一次。如果程序中含有循环(在程序中表现为环),则每个循环至少执行一次。路径测试具有如下特征:满足结构测试的最低要求。语句覆盖加判定覆盖是对白盒测试的最低要求,同时满足这两种标准的覆盖为“完全覆盖”。从对路径测试的要求可见,它本身就包含了语句覆盖和判定覆盖(在程序图上分别为点覆盖与边覆盖)。

软件复用

1.什么是软件复用

答:在构造新的软件系统的过程中,对已存在的软件人工制品的使用

技术。

2.什么是领域工程简述其活动内容。

答: 领域工程是指通过领域分析找出最优复用,把它们设计和构造为可复用构件,进而建立大规模的软件构件仓库的过程。答:按复用活动所应用的领域范围,复用可划分为横向复用和纵向复用。横向复用是指复用不同应用领域中的软件元素如数据结构、分类算法等。纵向复用是指在一类具有较多公共性的应用领域之间进行软部分复用。纵向复用包括以下几个方面的活动:(1)实施领域分析:根据应用领域的特征及相似性,可预测软构件的可复用性,发现并描述可复用实体,进而建立相关的模型和需求规约。(2)开发可复用构件:一旦确认了构件的复用价值,即可进行构件的开发,并对具有复用价值的软构件进行抽象、一般化和参数化,以便它们能够适应新的类似的应用领域。

(3)建立可复用构件库:将软件构件及其文档进行分类归并,形成相关的分类检索机制,成为可供后继项目使用的可复用资源。

3.什么是CBSD实施软件构件技术要解决哪些问题

答:基于构件的软件开发(Component-Based Software Development,简称CBSD)是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过组合构件来构造应用软件系统的开发过程。要解决的问题:构件应具有的特征:通用性、可变性、易组装性。在建造构件时,必须考略应用领域的特征。领域构件设计框架:标准数据、标准接口协议、程序模板。

软件维护

1.为什么说软件维护是不可避免的

答:满足用户对已开发产品的性能与运行环境不断提高的需要,进而达到延长软件的寿命。

2.纠错和纠错性维护有哪些异同

答:纠错的目的是定位和纠正错误;纠错的任务是软件故障,保证程序的可靠运行。纠错性维护是由于软件测试的不彻底性,任何大型软件交付使用后,都会继续发现潜在的错误,对它们进行诊断和改正。目的在于纠正在开发期间未能发现的遗留错误。

4.什么是软件配置说明搞好维护时期配置的意义与方法。

答:软件配置是一个软件在生存周期内,它的各种形式、各种版本的文档与程序的总称。对软件配置进行科学的管理,是保证软件质量的重要手段。配置管理贯穿于整个生存周期,在运行和维护时期,其任务尤为繁重。为了方便对多种产品和多种版本进行跟踪和控制,常常借助于自动的配置管理工具:配置管理数据库工具和版本控制库工具。

8.什么是软件再工程软件再工程的主要活动有哪些

答:软件再工程是将新技术和新工具应用于老的软件的一种较“彻底”的预防性维护。主要活动有6类:

9.软件再工程与软件维护差异

答:软件维护是局部的,以完成纠错或适应需求变化为目的;软件再

工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用以提高软件的可理解性、可维护性或演化性。

软件工程管理

3.一个4万行规模的应用程序,花50万美元可以在市场上买到。

如果自己开发,则没人一月的总花费需4000美元。试问是购买合算呢还是自己开发合算呢(注:开发成本用COCOMO模型计算)

答:

5.下图是某软件项目的PERT图。起点H 2I 3J 2E 3F 5G 8D 3A 3B 6C 5

终点图框中的数字代表活动所需的周数。要求:(1)找出关键路径和完成项目的最短时间;(2)标出每项活动的最早起止时间与最迟起止时间。

6.在上题中,若活动G的持续时间分别缩短为7周、6周或5周,

试问,完成项目的最短时间有何变化。

7.将第2题的内容改用Gantt图表示。

答:软件质量管理 3.解释下列各队名词,并说明他们的相互关系和差别:(1)验证与确认答:(2)软件质量保证与软件质量认证答:软件质量保证着眼于每一个软件,保证提供给用户的产品都达到规定的

质量水平。软件质量认证注重软件企业的整体资质,目的在于全面考察企业的质量体系,判断它是否具备设计、开发和生产符合质量要求的软件产品的能力。

4.什么是软件可靠性怎样对他进行定量表示

答:在给定时间内,程序按照规定的条件成功地运行的概率。R(t)=P{在时间[0,t]内按规定条件运行成功} 计算方法1:R(t)=e-λt,其中,t为程序运行时间,λ为故障率,即单位时间内程序运行失败的次数。计算方法2:平均故障时间MTTF=1/λ,其中,λ为故障率,即单位时间内程序运行失败的次数。

5.可靠性模型有几大类他们的主要区别是什么答:可靠性模型分为宏观模型和微观模型2大类。后者是建立在对程序语句和控制结构详细分析的基础之上的,在开发时期很难建立;前者则忽略程序方面的细节,主要从程序中残留错误的角度来建立模型,并且用统计方法确定模型中的常数。

8.什么是CMM软件过程能力成熟度模型他有哪些应用

答:“能力成熟度模型”是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。是用来确定一个软件过程的成熟程度以及指明如何提高过程成熟度的参考模型。CMM的主要应用在能力评估和过程改善2个方面。

软件工程作业及参考答案(版)

软件危机与软件工程 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 . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 D ?缺乏好的开发方法和手段

最新软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

软件工程模拟题1带答案.doc

软件工程期末试卷A 试题一、结构化分析与设计(共20 分,每小题10分) 需求陈述: 高考录取统分子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。(10分) (2) 给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。(10分) 答案 网上搜的答案 结构图即软件的模块

试题二、下面是程序流程图,试分别用N-S图和伪代码(类C语言描述)表示。(共20分) 答案: 我做的:do { if(!p) { g 真假 假 开始 结束 p >0 q 真

exit(); } g; } while(q); 我自己做的,可以不太对

Do { If(p为真) { 执行g If(g为真) { do nothing } Else if(g为假) { return } } Else if(p为假) { Return } }while(g为真) 试题三、(共20 分,每题10 分) 阅读下面的程序段,回答后面的问题: float calculateTotal( int N) //计算满足条件的N个数的和 { float count = 0.0; int i=1; while ( i<=N ) { if( i % 4 == 0) count += i; i++; } return count; } (1)画出上述程序的有向流图,并计算该函数的环形复杂度。(每问5分,共10分)(2)请用基本路径的测试技术完成该函数的测试。要求给出基本路径和测试用例。(每问5分,共10分) 答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础”PPT的P30页 白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础,为我们提供了非常有用的软件度量。可用如下三种方法之一来计算环形复杂度:(1)控制流图中环形区域的数量对应于环形复杂度。(2)给定控制流图G的环形复杂度—V(G),定义为V(G) = E-N+2 其中,E是控制流图中边的数量,N是控制

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程复习题库(挂答案)

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

土木工程概论复习题库

工程管理之《土木工程概论》(06393)复习题库 一、单选题 1、目前世界最高的大厦在 C:阿联酋 2、十八层的房屋建筑属于D:高层建筑 3、建筑工程设计程序正确的是 A:方案设计→初步设计→技术设计→施工图设计 4、房屋建筑结构中的楼板通常是属于哪种基本构件A:受弯构件 5、下面哪个级别的建筑物的耐久性和重要程度最高A:一级建筑物 6、桥梁的下部结构由组成A:桥墩、桥台、基础 7、上海杨浦大桥属于D:斜拉桥 8、某大厦建成后存在严重质量问题,不得不爆破拆除,这说明工程项目具有D:不可逆转性的特征 9、也称片石,是采石场由爆破直接获得的形状不规则的石块 B:毛石 10、第一座依照现代钢框架结构原理建造起来的高层建筑是D:芝加哥家庭保险公司大厦 11、将建筑物从屋顶、墙面、楼层、基础等构件全部断开,即使建筑物的相邻部位也互不牵制,从而避免建筑物开裂的是 B:沉降缝 12、作为跑道和土质地面之间过渡用,主要用来减少飞机一旦冲出或偏离跑道时有损坏的危险C:跑道道肩 13、在地形图上或地面上选定线路的走向,并确定线路的空间位置过程是C:铁路定线 14、跨越码头与人工岛之间的连接通道被称为C:栈桥 15、在正常条件下,一条道路在单位时间内可通过的车辆数,称为道路 C:通行能力 16、下列关于高速铁路模式的说法哪一种是错误的 C:德国ICE模式:全部修建新线,旅客列车专用 17、下面港口堆场的分类是正确的D:按货物种类及使用特点分类:散货堆场、件杂货堆场、集装箱堆场 18、主干路的设计年限为C:20年 19、是建造各类工程设施的科学技术的总称 A:土木工程 20、是关于事物的基本原理和事实的有组织、有系统的知识B:科学 21、美国金门大桥是世界上第一座单跨超过千米的大桥、它属于D:悬索桥 22、桥梁按受力特点和结构体系主要分为C:梁式桥、拱桥、悬索桥、刚架桥、斜拉桥、组合体系桥 23、桥墩的作用是 B:支承在其左右两跨上部结构通过支座传来的竖直力和水平力 24、下列建筑中采用成束筒结构的是D:美国西尔斯塔楼 25、当建筑物建造在土层性质差别较大的地基上,可在房屋适当的位置设置垂直缝隙,将建筑物从屋顶、墙面、楼层、基础等构件全部断开,划分为若干个刚度较好的单元,从而避免建筑物开裂的构造是 B:沉降缝 26、工程项目管理难度最大的阶段是工程项目的A:实施阶段 27、上海东方明珠电视塔属于D:高耸结构建筑 28、是一种带状的、三维空间的人工构造物,它常和桥梁、涵洞、隧道等构成统一的工程实体,是供各种车辆和行人通行的工程设施 B:道路 29、是利用不适合种田的山泥,废土,砂等,加入少量水泥或石灰作固结剂及微量外加剂和适量水混合搅拌压制成型,自然养护或蒸养一定时间制成的 B:非烧结粘土砖 30、用于门窗等洞口上部用以承受洞口上部荷载的梁是 C:过梁 31、在港口中,对于汽车和装卸流动机械共同行驶的道路宽度一般不应小于C:10~12m 32、在路堤的路肩边缘以下、路堑路基面两侧的侧沟外,因填挖而形成的斜坡面,称为C:路基边坡 33、是由人工或机械开采出的较规则的六面体石块A:料石 34、地下铁道的施工方法主要分为两大类A:明挖法、暗挖法 35、高速公路定线的原则包括 B:路线与城市应有一定距离 36、道路的设计标高高于整个自然地面,需全部填土形成路基的是 A:路堤 37、轨道间宽度1435mm的轨道是 A:标准轨 38、下面哪个组成属于港口水域 D:港池、锚地、进港航道

软件工程模拟试题1

一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1、软件工程强调将()的方法应用于软件的开发和维护过程之中。 A.规范化B.系统化C.可度量D.以上全部 2、软件开发活动的顺序应该是()。 A.问题定义、可行性研究、需求分析、设计、编码和测试。 B.问题定义、设计、可行性研究、编码和测试。 C.需求分析、设计、编码和测试。 D.需求分析、编码和测试、试运行。 3、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。A.5202 B.4500 C.5100 D.4712 4、系统物理模型用()表示。 A.系统流程图B.数据流程图 C.程序流程图D.E-R图 5、关于软件需求特性不正确的描述是“软件需求具有()”。 A.多变性B.模糊性C.准确性D.主观性 6、随着模块规模减小,模块开发成本_____,模块集成成本____()。 A.减小/减小B.减小/增加C.增加/减小D.增加/增加 7、反映模块独立性的指标是()。

A.模块的复杂性B.模块的大小 C.模块的参数D.内聚和耦合 8、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。 A.过程B.主体C.参数D.数据结构 9、UML是一种()。 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.从详细设计阶段开始

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

土木工程概论习题汇总(答案)

土木工程概论复习题汇总 一;填空题。 1. 砖按生产工艺分—烧结砖—和非烧结砖。 2. 砂一般分为天然砂和—人工砂________ 。 3. 配置混凝土时应优先选用—中砂______ 。 4. 所谓灰是指石灰_和石膏。 5. 土木工程中使用的钢材是指_线材_______ 和型材。 6. 水泥按其用途及性能分为通用水泥、_专用水泥_、特性水泥。 7. 普通混凝土是由水泥、 _粗骨料_、细骨料、和 _水—拌合,经硬化而成的一种人 造石材。 8. 绝热材料按其成分分为无机材料和_有机材料_。 9. 将上部结构的荷载传给土地基,连接上部结构与地基土的下部结构称为—基 础__ 。 10. 常用工程地质测绘方法有相片成图法和 _实地测绘法—。 11. 通常把位于天然地基上,埋置深度小于5m的一般基础以及埋深度虽超过5m 但小于基础宽度的大尺寸基础,统称为天然地基上的_____ 浅基础。 12. 刚性基础通常由砖、毛石、_素混凝土 _、和灰土等材料做成。 13. 建筑物的基础分为刚性基础和柔性基础,钢筋混凝土基础属于—柔性________ 基 础。 14. 浅基础一般分为单独基础,_条形基础_、伐板基础和箱形基础、壳体基础。 15. 埋置深度大于_ 5米______ 或大于基础宽度的基础,称为深基础。 16. 桩按荷载传递方式分为端承桩和 _摩擦桩_。 17. 建筑物的基本构建可分为梁、板、—柱_、拱。 18. 梁和板都是工程结构中的 _受弯—构件。 19. 梁按支撑方式可分为—简支梁_、悬臂梁和连续梁。 20. 柱是工程结构中的 _ 受压—构件。 21. 框架结构承受—竖向—荷载能力强,但承受水平荷载能力差。 22. 当前我国的公路等级按照其使用任务、功能和适应的交通量分为_ 5 —个等 级。

软件工程考模拟试题 (2)

软件工程考模拟试题 一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1、下面的哪个选项不是软件工程的宗旨()。 A.开发满足用户需求的软件 B.研究算法 C.及时交付软件 D.生产无故障软件 2、针对需求不确定的软件开发,比较好的模型是()。 A. 快速原型化模型 B. 瀑布模型 C.软件成熟度模型 D.系统化模型 3、可行性分析研究的费用大约是项目总经费的()。 A.2% B.6% C.20% D.5‰ 4、业务需求描述的是()。 A.功能需求 B.用户需求 C.用户的具体业务流程 D.软件的目标、规模和范围 5、一个数据流程图中的图形符号有且仅有()种。 A.3 B.5 C.4 D.7 6、非直接耦合的模块独立性最强,()的模块独立性最弱。 A.内容耦合B.数据耦合C.控制耦合D.外部耦合 7、信息隐藏的核心内容是()。 A.把数据都放在公共的区域 B.数据不能被其他模块访问 C.一个模块的内部信息不允许其他模块直接访问 D.把信息加密,只能让有密钥的模块访问 8、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。 A.参数 B.主体 C.过程 D.数据结构 9、()用于描述系统的功能集。 A. 组件视图 B.逻辑视图 C. 用例视图 D.对象视图 10、用()模型描述系统组织结构。 A.组织 B.CMM C.数据 D.静态 11、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由()实

现。 A.顺序图 B.类图 C.状态图 D.组件图 12、如果对象之间的耦合是通过()来实现的,则这种耦合就是交互耦合。 A.消息机制 B.参数 C.方法 D.公共数据区 13、定义类的属性类型时尽量使用已有类型,太多自定义类型会降低系统的()指标。 A.有效性 B.安全性 C. 可维护性 D. 开发效率 14、在设计测试用例时,应该包括()测试用例。 A. 可能产生无效输出的输入情况 B.无效的和不期望的输入情况 C.有效的和期望的输入情况 D.上面所有情况 15、()属于功能测试方法。 A.等价类划分和判定覆盖 B.边值分析和等价类划分 C.边值分析和判定覆盖 D.判定覆盖和回归测试 16、一个软件项目大约()的工作量在开发阶段,()的工作量在维护阶段。 A.30%,70% B. 70%,30% C. 30%,30% D. 70%,70% 17、软件项目管理的内容不包括()。 A.人员的组织与管理 B. 技术和算法 C.软件配置管理 D.软件开发进度计划 18、通俗的说,软件项目管理中常说的基线是()。 A.管理的基本思路 B. 一种软件开发的基本策略 C.基本的技术路线 D. 通过正式复审的文档 19、科学计算领域一般选择()语言。 A.HTML B.C C.汇编语言 D.XML 20、对于嵌套的循环和分支程序,层次不要超过()层。 A.1 B.2 C.3 D.5 二、简答题(30分,每小题6分) 1、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程题库及答案

一、选择题 软件(2) 1.在软件开发的各种资源中,( D )是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 2.软件的复杂性是(A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D )。 A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.软件是一种(B )产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了 ( A ) A.软件危机B.软件工程C.程序设计革命D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式( C ) (A)成本高(B)生产率低 (C) 技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。 A 开发 B 使用C维护D更新 软件工程(2) 10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生 的基础。 (A) 运筹学(B) 工程学(C) 软件学(D) 数学 11.2.在软件工程时期,决定软件质量的主要因素是( A )

A.管理水平 B.个人程序技术C.小组技术水平 D.硬件的发展 12. 3. 软件管理工作涉及到的直接对象不包括( B )。 A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目 13. 4. 软件工程方法学有三个要素,它们是(A ) A.方法、工具和过程 B.质量、进度和成本 C.顺序、分支和循环 D.入口、过程、出口生命周期及模型(5) 14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维 护等几个阶段。 A.需求分析 B.需求调查 C.可行性分析 D.问题定义 15. 2.瀑布模型把软件生存周期划分为软件计划、软件开发与(C )三个阶段,而每一阶 段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行与维护 D. 测试与排错 16.3:下列哪个模型没有采用迭代的思想(A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 17.4:下列关于瀑布模型的描述正确的是( D )。 A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 18.5:瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 19. 6. 快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 20.7:瀑布模型的关键不足在于( B ) (A)过于简单(B)不能适应需求的动态变更 (C)过于灵活(D)各个阶段需要进行评审 21.8:瀑布模型存在的问题是( D )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 问题定义(1)

土木工程概论习题答案

土木工程概论习题 第一章绪论 1.1土木工程概论课程的任务 1、简述土木工程的概念及其包含的内容。 答:概念:土木工程是建造各类工程设施的科学技术的总称,它即指工程建设的对象,即建在地上、地下、水中的各种工程设施,也指所应用的材料、设备和所进行的勘探设计、施工、保养、维修等技术。 包含的内容:基础工程、房屋建筑工程、交通土建工程、桥梁工程、港口工程、地下工程、水利水电工程。 1.2土木工程发展历史概述 1、简述古代土木工程的特点。 答:没有系统的设计理论,主要依靠经验 2、简述近代土木工程的特点。 答:(1)、有了比较系统的设计理论,如1683年意大利学者伽利略发表了“关于两门新科学的对话”,首次用公式表达了梁的设计理论;1687年牛顿总结出力学三大定律,为土木工程奠定了力学分析基础;1825年,法国的纳维于1825年建立了土木工程中结构设计的容许应力法。(2)、从材料方面讲,1824年波特兰水泥发明;1867年钢筋混凝土开始应用于土木工程;1859年转炉法炼钢发明 3、简述现代土木工程的特点。 答:(1)、功能要求多样化:由于电子技术,精密机械,生物基因工程,航空航天等高技术工业的发展,许多工业建筑提出了恒湿、恒温、防微震、防腐蚀、防辐射、防磁、无微尘等要求,并向跨度大、分隔灵活、工厂花园化的方向发展。 (2)、城市建设立体化:经济发展、人口增多,造成城市用地紧张、交通拥挤。 (3)、交通工程快速化:市场经济要求运输系统快速、高效,现代化技术的进步提供了条件。(4)、工程设施大型化 1.2土木工程的未来 1、目前土木工程面临的形势有哪些? 答:(1)、世界正经历工业革命以来的有一次重大变革,这便是信息(包括计算机、通信、网络等)工业的迅猛发展,可以预计人类的生产、生活方式将会发生重大变化。 (2)、航空、航天事业等高科技事业的发展,月球上已经留下了人类的足迹,对火星及太阳系内外星空的探索已取得了巨大进步。 (3)、地球上居住人口激增,目前世界人口已经达60亿,预计21世纪末,人口要接近百亿。地球上的资源有限,日益浩劫 (4)、生态环境受到严重破坏,随着工业的发展、技术的进步,人类的生存环境却日益恶化。 2、未来土木工程的发展趋势? 答:(1)、重大工程项目将陆续兴建 (2)、土木工程将向太空、海洋、荒漠地开拓 (3)、工程材料向轻质、高强、多功能化发展 传统材料的改性、化学合成材料的应用 (4)、设计方法精确化,设计工作自动化 (5)、信息和智能化技术全面引人土木工程

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运 行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计 方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并 最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭 圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处 理数据的来源和一个(输出)数据流来反映加工的结果

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析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.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

土木工程概论习题汇总[1]

土木工程概论习题汇总

一、单项选择题 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、第一条完全用于客货运输而且有特定时间行驶列车的铁路,是()年通车的英国利物浦与曼彻斯特之间的铁路,这条铁路全长为563 km。 A、1830; B、1863; C、1892; D、1919。 12、高速铁路的信号与()是高速列车安全、高密度运行的基本保证。 A、灯光系统; B、控制系统; C、路基; D、铁路平顺度。

软件工程考模拟试题

软件工程考模拟试题 一、简答题(30分,每小题6分) 1、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。 软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层和方法层,最上层是工具层。见图: 其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。 评分标准:画图2分,过程层2分,方法层2分。 2、请为下面的程序设计符合判定覆盖的测试用例。 int main() { int a,b,c,x,y,z,t; scanf(“d%,d%,d%),&a,&b,&c,&t); if a>5 && t<1 x=10 else x=1; if b>10 y=20 else y=2; if c>15 z=30 else z=3; printf(“d%,d%,d%\n”,x,y,z) } 1、答案 条件: a>5,t=0 a<=5,t=0 b>10 b<=10 c>15

c<=15 测试用例(不唯一):a=6 t=0 b=11 c=16;a=5 t=0 b=10 c=15 评分标准:只要写出条件,不管测试用例是否给出都给3分;两组测试用例各占3分。 3、活动图与状态图的区别? (1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。 (2)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。 4、试分析结构化方法存在的主要问题是什么? (1)需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;需求分析的过程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。 (2)结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。 (3)结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。 5、请说明判定表的作用及其结构。 判定表是结构化设计的工具,用于多条件的描述。其结构分为4部分:条件列表、条件组合、操作列表、特定条件下的操作组合。 二、应用题(10分) 一个简化的养老院软件需求描述如下:老人来到养老院,接待人员将老人的基本信息录入到系统中,管理员读取老人信息,进行护理级别的评估,根据评估结果分配床位、确定护理方案,床位的分配信息存入床位分配数据表,每位老人的护理方案也要保存到数据库表中。财务人员根据收费标准、床位分配信息、护理方案和老人的日常护理记录计算应收费用,老人的家属可以查询应收费信息和老人的日常护理信息。护士根据老人基本信息、护理方案对老人进行日常护理,并向系统录入每日的护理信息。请你根据以上的描述,画出数据流程图。 一、简答题(30分,每小题6分) 4、答案 5、答案 判定表是结构化设计的工具,用于多条件的描述。其结构分为4部分:条件列表、条件组合、操作列表、特定条件下的操作组合。 评分标准:作用3分、结构3分。

相关主题