版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程习题及部分参考答案判断题软件也会磨损和老化。(X)完善性维护是提高或完善软件的性能。(,)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(X)软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码。(X)软件模块之间的耦合性越弱越好。(,)TOC\o"1-5"\h\z如果通过软件测试没有发现错误,则说明软件是正确的。(X)快速原型模型可以有效地适应用户需求的动态变化。(,)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(V)集成测试主要由用户来完成。(X)确认测试计划应该在可行性研究阶段制定(X)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(V)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(V)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(X)模块越多,开发成本越小。(X)软件测试的目的就是证明软件没有错。(X)PAD图在设置了五种基本的控制结构后,还允许递归使用。(V)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(X)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(,)HIPO法既是需求分析方法,又是软件设计方法。(,)在面向对象的需求分析方法中,建立动态模型是最主要的任务。(X)加工小说明是对系统流程图中的加工进行说明。(X)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(X)需求分析的主要方法有SD法、OOA法及HIPO法等。(X)分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(X)信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。(,)用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(,)PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X)设计阶段的输出是编码阶段的输入.(V)TOC\o"1-5"\h\z通过软件测试,可以发现软件中所有潜伏的错误.(X)非结构化维护用于软件的配置中只有源代码维护.(V)系统规格说明是系统分析和定义阶段生成的一种文档.(V)数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)内聚度标志一个模块内部各成分彼此结合的紧密程度,按其高低程度可分为七级,内聚度越低越好.(X)文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读.(V)生产高质量的软件产品是软件工程的首要目标.(V)软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因.(X)开发一个软件项目总存在某些不确定性,即存在风险.有些风险如果控制得不好,可能导致灾难性的后果.(V)TOC\o"1-5"\h\z结构化维护用于待维护的软件的配置是完整的维护.(V)用户本身的技能,个性上的差异彳亍为方式的不同,不会对人机界面使用造成影响.(X程序的可靠性,可维护性和效率通常由程序设计语言,源代码白^质量,和语言的实现机制决定的.(V)程序文档一般指以注释的形式嵌入程序中的代码描述.(V)为提高可交互性一般应提高用户对话,移动和思考的效率,即最大可能地减少击键次数缩短鼠标移动的距离,避免使用户产生无所适从的感觉.(V)一般单元测试不可以并行进行.(X)螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(V)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(X)软件模块之间的耦合性越弱越好。(,)如果通过软件测试没有发现错误,则说明软件是正确的。(X)快速原型模型可以有效地适应用户需求的动态变化。(,)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(,)集成测试主要由用户来完成。(X)确认测试计划应该在可行性研究阶段制定(X)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(,)一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(,)目前的绝大多数软件都不适合于快速原型技术。(X)缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)通常紧致性好的语言一致性就好。(X)测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)理想的人机界面应针对具有典型个性的特定的一类用户设计。(V)数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)用穷举测试是较现实的测试方法。(X)编码时应尽可能使用全局变量(X)重视程序结构的设计,能使程序具有较好的层次结构(,)程序中的注解越少越好(X)。缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。(,)一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第
TOC\o"1-5"\h\z一手资料,并从中提取出有价值的需求。(,)快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(,)流程图也称为程序(框图)是最常用的一种表示法。(,)文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维护。(,)软件开发、设计几乎都是从头开始,成本和进度很难估计。(,)适应性维护是改进软件未来的可维护性和可靠性。(X)由于软件是逻辑产品,软件质量较容易直接度量。(X)目前我国还没有颁布软件开发标准。(X)按照功能,软部件可划分为系统软件和应用软件两类。(,)如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。(,)耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的耦合的系统。(X)随着软件复杂性的不断提高,软件的维护难度越来越大。(,)软件的可维护性差是软件维护工作量和费用激增的直接原因。(,)纠错性维护是改正运行期间发现的潜伏错误。(,)软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。(X)一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。(,)不同程序设计语言在程序的效率上的差异不大。(X)编码的依据是详细设计说明书。(,)程序文档应该包括代码的功能、代码的完成者等内容。(,)软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。(,)预防性维护是修改软件,以适应软硬件环境的变化。(X)开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。(,)数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能。(X)编程中应采用统一的标准和约定,降低程序的复杂性。(,)对于软件项目,投资回收期越长,越快获得利润。(X)一个实时系统必须在严格的时间范围内响应。如果响应时间被过分延迟,将带来灾难性的后果。(,)模块接口简单是软件发生错误的一个主要原因。(X)软件的质量保证工作一般在编码工作结束后才开始。(X)现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。(V)单项选择题B)BB)B、缺乏灵活性D、适用可变需求A、用户容易参与开发C、用户与开发者易沟通2、软件测试方法中的静态测试方法之一为(
A、计算机辅助静态分析B、黑盒法C、路径覆盖D、边界值分析3、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A、软件工程B、软件周期C、软件危机D、软件产生4、研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。A、技术可行性B、经济可行性C、社会可行性D、法律可行性5、模块的内聚性最高的是(D)A、逻辑内聚B、时间内聚C、偶然内聚6、在SD方法中全面指导模块划分的最重要的原则是A、程序模块化C、模块低耦合7、程序的三种基本控制结构是(B)A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移6、黑盒测试在设计测试用例时,主要需要研究A、需求规格说明与概要设计说明C、项目开发计划7、若有一个计算类型的程序,它的输入量只有一角度考虑一组测试用例:-1.001,-1.0,1.0,A、条件覆盖法C、边界值分析法8、软件生命周期中所花费用最多的阶段是((D)B、详细设计说明D(D)B、详细设计说明D、概要设计说明与详细设计说明个X,其范围是[-1.0,1.0],现从输入的1.001。设计这组测试用例的方法是(C)B、等价分类法D、错误推测法C、软件测试D、软件维护9、下列属于维护阶段的文档是(C)A、软件规格说明C、软件问题报告10、下列文档与维护人员有关的有(C)A、软件需求说明书C、概要设计说明书11、维护中,因误删除一个标识符而引起的错误是D、功能内聚(D)B、模块高内聚D、模块独立性B、D、功能内聚(D)B、模块高内聚D、模块独立性B、用户操作手册D、软件测试分析报告B、项目开发计划D、操作手册(C)副作用。12、产生软件维护的副作用,是指(C)A、开发时的错误B、隐含的错误13、程序的三种基本控制结构是(B)C、因修改软件而造成的错误D、13、程序的三种基本控制结构是(B)A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移14、系统流程图是描述(C)的工具。A、逻辑系统B、程序系统C、体系结构D、物理系统15、可维护性的特性中相互促进的是(A)A、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好但避开错16、提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要(D)A、消除错误B、检测错误C、避开错误D、容错15、(D)是以提高软件质量为目的的技术活动。A、技术创新B、测试C、技术创造D、技术评审16、原型化方法是一种(A)型的设计过程。A、自外向内B、自顶向下C、自内向外D、自底向上17、为了提高测试的效率,应该(D)A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C、在完成编码以后制定软件的测试计划D、选择发现错误可能性大的数据作为测试数据18、使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A、程序的内部逻辑B、程序的复杂结构C、使用说明书D、程序的功能19、瀑布模型本质上是一种(A)。A、线性顺序*II型B、顺序迭代模型C、线性迭代模型D、及早见产品模型20、在SD方法中全面指导模块划分的最重要的原则是(D)。A、程序模块化B、模块高内聚
C、模块低耦合D、模块独立性21、软件可维护性的特性中相互矛盾的是(C)。A、可修改性和可理解性B、可测试性和可理解性C、效率和可修改性D、可理解性和可读性22、软件维护产生的副作用,是指(C)。A、开发时的错误B、隐含的错误C、C、因修改软件而造成的错误D、运行时误操作23、用黑盒技术设计测试用例的方法之一为(A)。D、基本路径测试A、边界值分析B、逻辑覆盖CD、基本路径测试24、软件测试方法中的(D)属于静态测试方法。A、黑盒法B、路径覆盖C、错误推测D、人工检测Ada语言是在Pascal语言基础上开发出来的,适用于(C)项目的应用领域。A、科学工程计算B、数据库应用C、实时处理D、人工智能TOC\o"1-5"\h\z26、程序设计语言的工程特性之一为(A)。A、软件的可重用性B、数据结构的描述性C、抽象类型的描述性D、数据库的易操作性27、软件详细设计的主要任务是确定每个模块的(A)。A、算法和使用的数据结构B、外部接口C、功能D、编程28、PAD图为(B)提供了有力的工具。A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件29、软件结构图的形态特征能反映程序复用率的是(C)。A、深度B、宽度C、扇入D、扇出30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B)。A、可用性B、可靠性C、正确性D、完整性31、为了提高模块的独立性,模块内部最好是(C)。A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚32、软件结构图中,模块框之间若有直线连接,表示它们之间存在(A)。A、调用关系B、组成关系C、链接关系D、顺序执行关系33、需求分析最终结果是产生(B)。A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告34、可行性研究要进行一次(D)需求分析。A、深入的B、详尽的C、彻底的D、简化的、压缩了的35、软件是一种(C)。A、程序B、数据C、C、逻辑产品D、物理产品36、单元测试的测试对象是(B).A.系统B.程序模块.C.模块接口D.系统功能37、软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括(D).A、设计软件的模块结构B、定义接口并建立数据结构C、生成概要设计规格说明和组装测试计划D、模块设计38、软件工程的原则有抽象,信息E1藏版块化和其他那些内容A、局部化B、一致性C、完全性D、可验证性39、常用的软件项目的估算方法主要有哪4种A、自顶向下的估算方法B、自底向上的估算方法C、差别估算法D、根据经验估算公式40、软件可行性研究一般不考虑(D)A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题41、软件维护的副作用主要有以下哪几种(C)A、编码副作用、数据副作用、测试副作用B、编码副作用、数据副作用、调试副作用C、编码副作用、数据副作用、文档副作用D、编码副作用、文档副作用、测试副作用42、软件项目计划一般不包括以下哪项内容(D)A、培训计划B、人员安排C、进度安排D、软件开发标准的选择和制定43、以下哪种测试方法不属于白盒测试技术(B)A、基本路径测试B、边界值分析测试C、循环覆盖测试D、逻辑覆盖测试43、(D)是以提高软件质量为目的的技术活动。A、技术创新B、测试C、技术创造D、技术评审44、使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A、程序的内部逻辑B、程序的复杂结构C、使用说明书D、程序的功能45、对在数据流图中每一个命令的图形元素均给以定义是(B)A、条目定义B、数据字典C、数据定义D、数据说明46、软件的可行性研究中不包括(D)A、法律可行性B、技术可行性C、经济可行性D、政治可行性47、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。A、纠错性维护B、适应性维护C、改善性维护D、预防性维护48、人机界面的风格大致经过了(B)代的演变。A、三B、四C、五D、六49、以下不属于白盒测试技术的是(D)A、逻辑覆盖B、基本路径测试C、循环覆盖测试D、等价类划分50、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。A、纠错性维护B、适应性维护C、改善性维护D、预防性维护51、在设计测试用例时,应当包括(C)A、合理的输入条件B、不合理的输入条件C、合理的和不合理的输入条件D、部分条件52、下列各项中不属于逻辑覆盖的是(D)A、语句覆盖B、判定覆盖C、判定一一条件覆盖D、全部覆盖53、高级语言通常被分成三类,其中不包括(D)A、通用高级语言B、面向对象的语言C、专用语言D、自然语言54、耦合度也可以分为七级:其中最松散的耦合是(A)。A、非直接耦合B、数据耦合C、特征耦合D、控制耦合55、判定表由四部分组成:左上部列出(B)。A、条件组合与动作之间的对应关系B、所有条件C、所有可能的动作D、可能的条件组合填空题软件=(程序)+(文档)。软件工程的基本原则包括(分解)、(独立性)、一致性和(确定性)。TOC\o"1-5"\h\z需求分析的基本任务是准确的回答(系统必须做什么)。数据字典的内容包括六项:数据流、(数据项)、数据结构、(数据存储)、(处理逻辑)、外部实体。模块独立的概念是(模块化)、(抽象)、(信息隐蔽)和局部化概念的直接结果。设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低(耦合)提高(内聚)。软件的维护一般经过(分析和理解程序)、(修改程序)、(重新验证程序)三个步骤。假设使用代码行技术进行费用估计,某软件中共3000行程序,每行平均成本25元,则该软件的成本为(75000元)。软件开发需要的资源包括(软件工具)、(硬件工具)和(人),其中(人)是最基本的资源。程序的效率是指(程序的执行速度)和(程序占用的存储空间)。软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清"做什么成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。软件工程由(方法),工具和过程三部分组成,称软件工程的三要素.基于计算机系统的软件要素中的软部件由程序,数据和(文档)组成.数据流图就是用来刻画数据流和转换的信息系统建模技术.它用简单的图形记号分别表示数据流,转换,(数据源)以及外部实体.流程图也称为程序框图是最常用的一种表示法,它有顺序,分支和(循环)三个基本控制构件.机器语言和汇编语言,也称为(低级语)言.软件测试是执行程序发现并排除程序中潜伏的(错误)的过程.动态测试有两种测试方法:黑盒测试和(白盒)测试.软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误,改进性能等属性,适应环境变化等方面工作的(难易)程度第三代语言也称为(高级)语言。软件测试是软件投入运行(前),对软件需求分析、设计、实现的强有力的最终审查。黑盒测试主要是测试软件是否满足(功能)需求。(调试)的目的是确定错误的位置和引起错误的原因,并加以改正。因此,又称为排错或纠错。软件工程由方法、工具和(过程)三部分组成,称软件工程的三要素。可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。喷泉模型是一种以需求分析为动力,以对象为驱动的模型。需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。投资回收期就是累计的经济效益等于最初的项目投资所需的时间。详细描述处理过程常用三种描述工具:图形、表格和语言。数据流图中,每个加工至少有一个输入流和一个输出流。结构化设计以数据流为基础映射成软件结构。当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。软件开发中原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性。产品管理包括版本管理和配置管理。任何程序都可由顺序、选择、重复三种基本控制结构构造。测试用例应有输入数据和预期的输出数据两部分组成。这样便于对照检查。需求分析阶段产生的最重要的文档之一是需求规格说明书。项目开发计划是一个管理性文档。软件配置管理,简称SCM,软件配置项简称SCI。在算法描述工具中,PAD图可自动生成程序。由机器自动通过走树的办法生成相应的源代码,大大提高软件的生产率。在CASE集成中,控制集成支持工作台或环境中一个工具对系统中其它工具的访问。过程集成是指CASE系统嵌入了关于过程活动、阶段、约束和支持这些活动所需的工具的知识。解决一个复杂问题,往往采取的策略是分解。效益分析有有形效益和无形效益两种。两个模块都是用同一张表,这种耦合称为公共耦合。一个模块把数值作为参数传送给另一个模块,这种耦合方式称为数据耦合。一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为通信内聚。在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统有哪几部分组成,各部分之间有什么联系等等。数据字典定义了数据流图中每一个图形元素;结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的每一个加工。IDEF图是一种功能模型,表示系统功能的图形称为活动图形,连方框上的箭头有四种类型,他们分别是输入、输出、控制、机制。软件项目计划是可行性研究阶段的结果产品。但由于可行性研究是在高层次进行系统分析,未能考虑软件系统开发的细节情节,因此软件项目计划一般在需求分析阶段完成后才定稿的。信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。同一个类中的共享是指同一个类中的对象有着相同的数据结构和相同的行为特征。通过抽象,可以确定组成软件的过程实体。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。IPO图描述分层图中一个模块的输入、输出和处理内容。软件是一种逻辑产品,它与物质产品有很大区别。数据流图中的箭头表示数据流。软件测试时需要三类信息:软件配置、测试配置、测试工具。基于IDEF0图的设计也是结构化设计技术之一,它以系统的功能模型和信息结构为基础设计软件结构。系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素,表达了系统中各种元素之间的信息流动情况。桩模块是用来代替被测试模块所调用的模块,它的作用是返回被测模块所需的信息。建立数据字典一般的两种形式是手工建立和利用计算机辅助建立并维护。汇编语言是面向机器的,可以完成高级语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。黑盒测试是功能测试,因此设计测试用例时,需要研究需求规格说明书和概要设计说明书中有关程序功能或输入、输出之间的关系等信息,从而与测试后的结果进行分析比较。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。子类继承了多个父类的数据结构和方法,则称为多重继承。由于数据流是流动中的数据,所以必须有流向。除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。项目的纯收入是指在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。程序设计语言的简洁性是指人们必须记住的语言成分的数量。人们要掌握一种语言,需要记住的成分数量越多,简洁性越差。不同对象的同一属性可以具有相同或不同的属性值。软件开发划分的各阶段任务尽可能相对独立,同一阶段任务性质尽可能相同。瀑布模型是将生存周期各活动规定为线性顺序联接的若干阶段的模型。成本效益分析的目的是从经济角度评价开发一个软件项目是否可行。在需求分析阶段要进行以下几方面的工作:问题识别、分析与综合、导出软件的逻辑模型、编写文档。静态冗余常用的有:三模冗余TMR和多模冗余。McCabe质量度量模型,针对面向软件产品的运行、修正、转移。程序设计语言的局部性是指语言的联想性。在编码过程中,由语句组合成模块,由模块组装成系统结构,并在组装过程中实现模块的高内聚,低耦合,使局部性得到加强。软件复杂性度量的参数主要有规模、难度、结构和职能度。项目开发计划的主要内容有:项目概述、实施计划、人员组织及分工、交付期限。可行性研究要在较高层次上以较抽象方式进行需求分析和设计。软件工程是一门综合性交叉学科,计算机科学着重于原理和理论,软件工程着重于建造软件系统。维护的副作用有编码副作用、数据副作用、文档副作用三种。若年利率为I,不计复利,P元在n年后的价值F=P*(1+n*i)软件结构是以模块为基础而组成的一种控制层次结构。软件设计阶段产生的最重要的文档之一是概要设计说明书。独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其它独立路径中未有过的边的路径。各模块经过单元测试后,将各模块组装起来进行集成测试,以检查与设计相关的软件系统结构的有关问题。开发过程管理包括项目计划和控制和任务管理等。临时维护小组采用响事复审域响行复审售方法来提高维护工作的效率。数据字典中的加工逻辑主要描述该加工做什么,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加式规则。为了较完整的描述用户对系统的需求,DFD应与数据库中的ER图结合起来。纯收入是软件生存周期内累计经济效益与投资之差。反映软件结构的基本形态特征是深度、宽度、扇入和扇出。若年利率为I,不计复利,n年后能收入F元的现在价值p=F/(1+n*i)。在一个模块中,功能状态与接口反映模块的外部特性,逻辑反映它的内部特性。硬件与软件一起构成完整的计算机系统。SA方法中主要描述工具是DFD与DD。软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。结构化设计对数据流有两种分析方法,他们是变换分析设计和事务分析设计。数据字典中有四类条目:数据流、数据项、数据存储、加工。常借用硬件可靠性的定量度量方法来度量软件的可靠性与可用性。常用指标有平均失效等待时间MTTF和平均失效间隔时间MTBF。Lisp是一种函数型语言,Prolog是一种逻辑性语言。Jackson结构图能对结构进行自顶向下分解,因此可以表示层次结构。变换模型是一种适合于形式化开发方法的模型,从软件需求形式化说明开始,经过一系列变换,最终得到系统的目标程序。软件开发环境的主要目标是提高软件开发的生产率,改善软件质量和降低软件成本。蹴件I包含计算机程序及其说明程序的各种文档。开发过程依序包括需求分析、设计、编码、集成、软件安装和验收等活动。社会可行性研究包括合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。IDEF0方法中,将系统功能称为活动,将表示系统功能的图形称为活动图形。数据库的设计指数据存储文件的设计,主要进行的设计方面有:概念设计、逻辑设计、物理设计。如果只有两个模块之间有公共数据环境,这种公共耦合有两种情况:一是一个模块只是给公共数据环境送数据,另一个模块是只从公共环境中去数据,这是比较松散的公共耦合;二是两个模块都往公共环境中送数据又从里面取数据,这是紧密的数据耦合。Jackson方法是面向数据结构的设计方法。早期的Jackson方法用于开发模型较少的数据处理系统的设计,简称JSP。工程网络图只有一个开始点和一个终止点,开始点没有流入箭头,称为入度为零;终止点没有流出箭头,称为出度为零。为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行质量检验,检验的实施有实际运行检验(即白盒测试和黑盒测试)和鉴定两种形式。瀑布模型是由W.Royce于1970年提出来的。又称为软件(生存周期)模型。程序设计语言的(可维护)性通常指这种语言编写的程序被理解,被修改及调整和改进的难易程度。软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。动态测试有两种测试方法:黑盒测试和(白盒)测试。名词解释经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。社会可行性要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。投资回收期投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。需求分析需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。白盒法该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。黑盒法该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据图来建立系统的功能模型,从而完成需求分析工作。原型是指模拟某种产品的原型模型。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特征模块化是指解决一个复杂问题是自顶向下逐层把软件系统划分成若干模块的过程,每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径。判定/条件覆盖指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。条件组合覆盖是指设计足够的测试用例,使的每个判定表达式中条件的各种可能的值的组合都至少出现一次,条件组合覆盖是比较强的覆盖标准。条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。满足条件覆盖并不一定满足判定覆盖。原型模型又称快速原型模型,它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。软件工程环境美国国防部在STARS计划中定义如下:-软件工程环境是一组方法、过程及计算机程序(计算机化的工具)的整体化构件,他支持从需求定义、程序生成知道维护的整个软件生存期1^程序图:是退化的程序流程图。也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫程序图。流程图:是描绘物理系统的工具,它用图形符号来表示系统中的各元素。它表达了系统中各个元素之间的信息流动的情况。结构化分析方法(SA)是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。数据字典(DD)数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。内聚性内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。问答题1、什么是软件危机,软件危机有哪几种表现?答:软件开发和维护的过程中所遇到的一系列严重的问题。具体表现在:(1)产品不能符合用户的实际需求;(2)软件开发的效率较低;(3)软件产品的质量差;(4)软件开发成本和进度的估算不准确;(5)软件可维护性差;(6)软件开发文档资料不完整也不合格;(7)软件的价格昂贵。2、什么是数据流图?为什么数据流图要分层?答:数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。描述一个复杂的系统,不可能一下子引进太多的细节。否则用一张数据流图画出所有的数据流和处理逻辑,这张图将及其庞大、复杂,难以绘制,难以理解。因此数据流图需要进行分解,用几个数据流图来表示。3、软件的质量反应在哪些方面?答:软件质量反映了以下三方面的问题。(1)软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。(2)在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。(3)往往会有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。4、什么是编码风格?为什么要强调编码风格?答:编码风格又称程序设计风格或编程风格。随着软件技术的发展,编码的目标已经从强调效率转变为强调清晰。良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不注意风格就很难写出高质量的程序。尤其当多个程序员合作编写一个很大的程序时,需要强调良好而一致的编码风格,以便相互通讯,减少因不协调而引起的问题。总之,良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。5、什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求。准确地回答“系统必须做什么?”的问题。获得需求规格说明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。需求分析的基本任务包括:(1)抽取需求分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。(2)模拟和分析需求需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结卞^化英语等)和形式化表示等三种。需求概念模型的要求包括实现的独立性:不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。(3)传递需求传递需求的主要任务是书写软件需求规格说明。(4)认可需求就是对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。(5)进化需求客户的需要总是不断(连续)地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发展是软件家族法,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性,并进行关于变化的推理。6、等价分类法的基本思想是什么?答:根据程序的输入特性,将程序的定义域划分为有限个等价区段一一“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。7、模块的内聚性包括哪些类型?模块的内聚性包括:偶然内聚逻辑内聚时间内聚过程内聚通信内聚顺序内聚功能内聚8、分析软件危机产生的主要原因有哪些?答:导致软件危机的主要原因有:(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加9、说明结构化程序设计的主要思想是什么?答:(1)自顶向下、逐步求精的程序设计方法(2)使用3种基本控制结构、单入口、单出口来构造程序。10、软件测试包括哪些步骤?说明这些步骤的测试对象是什么?答:(1)单元测试,测试对象对单元模块(2)集成测试,测试对象为组装后的程序模块(3)确认测试,测试对象为可运行的目标软件系统(1分)11、需求分析与软件设计二个阶段任务的主要区别是什么?答:需求分析定义软件的用户需求,即定义待开发软件能做什么软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。12、说明软件测试和调试的目的有何区别?答:测试的目的是判断和发现软件是否有错误调试的目的是定位软件错误并纠正错误。13、原型法模型一般适应哪些场合答:它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员,设计员,程序员和用户)不能很好交流或通彳t有困难的情况.14、软件工程的目标是什么?答:在给定成本,进度的前提下,开发出具有可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性并满足用户需求的软件产品^15、什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:一->箭头表示数据流;一C圆或椭圆表述加工;一二双杠表示数据存储;一方框表示数据的源点或终点。16、什么是确认测试?该阶段有哪些工作?答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。<1>确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。<2>软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。17、详细设计的基本任务是什么?有哪几种描述方法?答:详细设计是软件设计的第二阶段,其基本任务有:为每个模块进行详细的算法设计;为模块内的数据结构进行设计;对数据库进行物理设计,即确定数据库的物理结构;其它设计,根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计;编写详细设计说明书;评审。详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流程图、盒图和问题分析图。IPO图也是详细设计的主要工具之一。表格工具如判定表可作为详细设计中描述逻辑条件复杂的算法。过程设计语言(PDL)是一种用于描述模块算法设计和处理细节的语言工具。5、什么是软件危机?其产生的原因是什么?当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:<1>经费预算经常突破,完成时间一再拖延;<2>开发的软件不能满足用户要求;<3>开发的软件可维护性差;<4>开发的软件可靠性差。造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。共产生原因主要有以下几方面:<1>软件的规模越来越大,结构越来越复杂;<2>软件开发管理困难而复杂;<3>软件开发费用不断增加;<4>软件开发技术落后;<5>生产方式落后;<6>开发工具落后,生产率提高缓慢。6、CASE工作台有哪些分类?一个CASE工作台是一组工具集,支持像设计、实现或测试等特定的软件开发阶段。工作台工具能通过共享文件、共享仓库或共享数据结构来集成。它能支持大多数的软件过程活动。工作台有:<1>程序设计工作台;<2>分析和设计工作台;<3>测试工作台;<4>交叉开发工作台;<5>配置管理(CM)工作台;<6>文档工作台<7>项目管理工作台。7、IDEF0方法有什么特点?<1>采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制。从侧面清楚的反映了系统的功能。故IDEF0图宜全为正式文档。<2>采用严格的自顶向下、逐层分解的方式建立系统功能模型。顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略。同时,IDEF0规定每张图至少有3个、最多有6个方框,上界6保证采用层次性描述复杂问题的可理解性,下界3保证分解有意义。18、软件维护的特点是什么?答:主要体现在三个方面:<1>非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。<2>维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。<3>软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。19、什么是CASE?CASE工具有哪些分类?答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。从学术研究角度讲,CASE是多年来在软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸引了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其它计算机领域的原理和技术。因而,CASE领域是一个应用集成和综合的领域。从产业角度讲,CASE是种类繁多的软件开发和系统集成的产品及软件工具的集合。CASE分类:<1>CASE技术种类CASE系统所涉及到的技术有两类:一类是支持软件开发过程本身的技术;另一类是支持软件开发过程管理的技术。从CASE系统产生方式来看,还有一种特殊的CASE技术,即元一一CASE技术。他是生成CASE系统的生成器所采用的技术。该生成器可用来创建支持软件开发过程活动及过程管理的CASE系统。<2>CASE工具的分类对CASE工具分类的标准可分为:①功能。功能是对软件进行分类的最常用的标准。②支持的过程。根据支持的过程,工具可分为设计工具、编程工具、维护工具等。③支持的范围。根据支持的范围,可分为窄支持、较宽支持和一般支持工具。窄支持指支持过程中特定的任务,较宽支持是指支持特定过程阶段;一般支持是指支持覆盖软件过程的全部阶段或大多数阶段。1993年,Fuggetta根据CASE系统对软件过程的支持范围,提出CASE系统可分为三类:①支持单个过程任务的工具。工具可能是通用的,或者也可能归组到工作台。②工作台支持某一过程所有活动或某些活动。他们一般以或多或少的集成度组成工具集。③环境支持软件过程所有活动或至少大部分。他们一般包括几个不同的工作台,将这些工作台以某种方式集成起来。20、说明容错软件的定义与容错的一般方法。答:归纳容错软件的定义,有以下四种:⑴规定功能的软件,在一定程序上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件。⑵规定功能的软件,在一定程序上能从错误状态自动恢复到正常状态,则称之为容错软件。⑶规定功能的软件,在因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。⑷规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。实现容错技术的主要手段是冗余,通常冗余技术分为四类。⑴结构冗余。结构冗余是通常用的冗余技术。按其工作方式,它分为静态、动态和混合冗余三种。⑵信息冗余。为检查或纠正信息在运算或传输中的错误须外加一部分信息,这种现象称为信息冗余。⑶时间冗余。是指以重复执行指令(指令复执)或程序(程序复算)来消除瞬时错误带来的影响。⑷冗余附加技术。是指为实现上述冗余技术所需的资源和技术。包括程序、指令、数据、存放和调动他们的空间和通道等。21、软件概要设计阶段的基本任务是什么?答:⑴设计软件系统结构(简称软件结构),具体为:①采用某种设计方法,将一个复杂的系统按功能划分成模块。②确定每个模块的功能。③确定模块之间的调用关系。④确定模块之间的接口,即模块之间传递的信息。⑤评价模块结构的质量。⑵数据结构及数据库设计,汉数据结构的设计及数据库的设计。⑶编写概要设计文档。主要有:概要设计说明书;数据库设计说明书;用户手册;修订测试计划。⑷评审。5、快速原型模型有几种?各有何特点?根据原型的不同作用,有三类原型模型:⑴
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人房产买卖标准协议样本(2024年版)版B版
- 个人债权转让协议(2024版)3篇
- 个人手车买卖合同
- 专业软件技术开发服务协议(2024年更新版)版B版
- 二零二四商场LED显示屏采购与安装合同
- 2025年度城市综合体配套厂房建造与装修承包合同范本4篇
- 2025年度厂房土地开发及使用权出让合同4篇
- 2025年度插座产品售后服务网络建设合同4篇
- 2025年度科技园区场地转租及知识产权保护协议4篇
- 2024年05月上海华夏银行上海分行招考笔试历年参考题库附带答案详解
- 春节行车安全常识普及
- 电机维护保养专题培训课件
- 汽车租赁行业利润分析
- 春节拜年的由来习俗来历故事
- 2021火灾高危单位消防安全评估导则
- 佛山市服务业发展五年规划(2021-2025年)
- 房屋拆除工程监理规划
- 医院保安服务方案(技术方案)
- 高效能人士的七个习惯:实践应用课程:高级版
- 小数加减法计算题100道
- 通信电子线路(哈尔滨工程大学)智慧树知到课后章节答案2023年下哈尔滨工程大学
评论
0/150
提交评论