软件工程作业答案_第1页
软件工程作业答案_第2页
软件工程作业答案_第3页
软件工程作业答案_第4页
软件工程作业答案_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

软件工程网上作业题第1章软件工程学概述一、选择题.软件危机具有下列表现()I、对软件开发成本估计不准确、软件产品的质量往往不可靠、软件常常不可维护IV、软件成本逐年上升A.I、II和IIIB.I、III和IVC.II、III和IVD.以上都正确答案:D产生软件危机的原因可能有()I、用户需求描述不精确、不准确II、对大型软件项目的开发缺乏有力的组织与管理III、缺乏有力的方法学和工具的支持IV、软件产品的特殊性和人类智力的局限性A.I和IIB.I、II和IVC.II、III和IVD.以上都正确答案:D()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。A.增量模型B.喷泉模型C.原型模型D.螺旋模型答案:A为了克服软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。A.数学B.软件学C.运筹学D.工程学答案:D4、TURBOPASCAL()软件。A.系统软件B.人工智能C.事务软件D.应用软件答案:D.具有风险分析的软件生存周期模型是()A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型答案:C瀑布模型的关键不足在于()A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审答案:B

.软件危机是指()。A.软件遭到破坏B.软件开发和维护过程中遇到的问题C.软件维护出现困难D.软件不能正常运行系列问题答案:B软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。A.固有的B.人为的C.可消除的D.不可降低的答案:A()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。A.软件过程B.软件测试C.软件生存周期D.软件工程答案:DTOC\o"1-5"\h\z11.软件的主要特性是()。A.高性能B.高成本C.包括程序和文档D.可独立构成计算机系统答案:B12.软件开发方法的主要工作模型有()A.螺旋模型B.循环模型C.瀑布模型D.专家模型13.软件工程三要素是()。A.高技术人员、方法和工具B.方法、工具和过程C.方法、对象和类D.过程、模型、方法答案:B14.软件工程的目标有()。A.易于维护B.低的开发成本C.高性能D.短的开发期答案:B15.软件工程学的目的和意义是()。应用科学的方法和工程化的规范管理来指导软件开发克服软件危机做好软件开发的培训工作以较低的成本开发出高质量的软件答案:DTOC\o"1-5"\h\z开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生答案:C及早提供全部完整的软件产品

及早提供工作软件快速原型模型的主要特点之一是及早提供全部完整的软件产品

及早提供工作软件A.开发完毕才见到产品B.C.开发完毕后才见到工作软件D.答案:D).缺乏灵活性.).缺乏灵活性.适用可变需求)C.增量模型 D.喷泉模型A.用户容易参与开发BC.用户与开发者易沟通D答案:B19、软件生存周期模型不包括:(A.瀑布模型B.对象模型答案:B

下列哪个不属于软件工程的内涵之一TOC\o"1-5"\h\zA.应用完善的科学与工程原理B.C.高薪聘请软件高手D.()()经济地开发软件开发既可靠又能有效运行的软件21.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于()。A.维护时期B.计划时期C.运行时期D.开发时期答案:B下列哪个办法不属于解决软件危机的途径之一()A.研制新一代智能计算机B.大力扶持软件企业C.采用软件工程的解决途径D.采用面向对象的软件设计方法答案:B23.下面哪一项不属于快速原型模型的优点。可及早为用户提供有用的产品。可保证在开发后期,全面发现错误给以纠正。减少技术应用风险,缩短开发时间,减少费用、提高生产率。D.促使用户主动参与开发活动,促进各类人员的协调,适应需求变化。答案:B24.下列哪个不属于瀑布模型与传统的程序设计的不同之处()。传统的程序设计开发人员只开发程序,不写文档.传统的程序设计重点在问题求解和算法,并只有自己才能读懂.瀑布模型的各阶段要第三方介入审察D.传统的程序设计规定各阶段必须写文档.答案:D25.下面哪个模式不属于软件工程的开发模式A.基于瀑布模型的开发模式B.基于原型模型的开发模式C.基于人机对话的开发模式D.基于关系数据库的开发模式答案:C二、填空题软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。答案:理论方法工具软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。答案:可行性研究需求分析编码软件=()+()。答案:程序文档软件危机的事实使人们意识到:计算机要推广使用,其关键在于()技术的革新。答:软件开发开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。答:软件危机.软件危机出现于,为了解决软件危机,人们提出了用的原理来设计软件,这是软件工程诞生的基础。答:60年代末工程学.瀑布模型把软件生存周期划分为软件定义、软件开发和三个阶段,而每一阶段又可细分为若干个更小的阶段。答:运行及维护三、判断改错题1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。()VTOC\o"1-5"\h\z.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。()x文档驱动.结构化方法的工作模型是使用螺旋模型进行开发。()X两者无关4.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。()一方面是无法满足日益增长的对软件的需求;另一方面是难以满足对已有的软件系统维护的需要。5.RCPt与RSP法的主要区别是,前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。()四、简答题当沿着螺旋模型的过程流路径向外移时,你认为正在开发或维护的软件发生了什么变化?答:在使用螺旋模型开发软件的过程中,从核心开始,螺旋的第一圈可能产生软件的规格说明,接下来的螺旋可能用于开发一个原型,随后是软件的更完善的版本。经过计划区域的每一圈是为了调整项目计划,基于从用户评估得到的反馈,调整费用和进度。沿螺旋线自内向外每旋转一圈,便开发出一个更为完善的、新的软件版本。快速原型模型有几种?各有何特点?答:根据原型的不同作用,有三类原型模型:⑴探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。⑵实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。⑶演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。.试说明"软件生存周期"的概念。答:软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。计划阶段:确定待开发系统的总体目标和范围,研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。软件计划的主要内容包括所采用的软件生命周期模型、开发人员的组织、系统解决方案、管理的目标与级别、所用的技术与工具,以及开发的进度、预算和资源分配。分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。通过评审需求规格说明,确保对用户需求达到共同的理解与认识。需求规格说明明确地描述了软件的功能,列出软件必须满足的所有约束条件,并定义软件的输入和输出接口。设计阶段:设计阶段的目标是决定软件怎么做,设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。实现阶段:实现阶段是将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。维护阶段:一旦产品已交付运行之后,对产品所做的任何修改就是维护。维护是软件过程的一个组成部分,应当在软件的设计和实现阶段充分考虑软件的可维护性。维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。软件产品的特性是什么?答:软件产品是一种逻辑产品。软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。软件产品不会用坏,不存在磨损、消耗问题。软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。软件费用不断增加,成本相当昂贵。什么是软件危机?其产生的原因是什么?答:软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面:经费预算经常突破,完成时间一再拖延。开发的软件不通满足用户要求。开发的软件可维护性差。开发的软件可靠性差。软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:软件的规模越来越大,结构越来越复杂。软件开发管理困难而复杂。软件开发费用不断增加。d.软件开发技术落后。e.生产方式落后。f.开发工具落后,生产率提高缓慢。什么是软件工程?它的目标和内容是什么?答:软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:TOC\o"1-5"\h\z付出较低的开发成本;面到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理:软件管理学、软件经济学、软件心理学。软件工程面临的问题是什么?答:软件工程面临的问题:a.软件费用。b.软件可靠性。c.软件维护。d.软件生产率。e.软件重用。什么是软件生存周期?它有哪几个活动?答:软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.什么是软件生存周期模型?有哪些主要模型?答:软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等五、问答题第2章可行性研究一、选择题系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。A.软件环境可行性、技术可行性、经济可行性、社会可行性B.经济可行性、技术可行性、操作可行性C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性答案:B研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。A.技术可行性B.经济可行性C.社会可行性D.法律可行性答案:B设年利率为i,若不计复利,n年后可得钱数为F,则这些钱现在的价值是()A.F(1+in)B.(1+ni)/FC.F/(1+ni)D.F/(1+n/i)答案:C在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于()。A.维护时期B.计划时期C.运行时期D.开发时期答案:B.数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成()。数据说明条目、控制流条目、加工条目、数据存储条目数据流条目、数据项条目、数据存储条目、加工条目数据源条目、数据流条目、数据处理条目、数据文件条目数据流条目、数据文件条目、数据池条目、加工条目答案:BDFD图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件答案:B下列模型属于成本估算方法的有()模型模型度量法D.时间估算法答案:A软件项目计划一般不包括以下哪项内容()A培训计划B人员安排C进度安排D软件开发标准的选择和制定答案:D可行性研究的目标是()。A.开发项目B.项目值得开发否C.规划项目D.维护项目答案:B分层DFD图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于()描绘了系统的实现细节表明了被开发系统的范围以及它和周围环境的数据交换关系描绘了系统的抽象D.描绘了软件实现的作者和绘制的时间答案:BTOC\o"1-5"\h\zDFD主要用来描述()。A.系统的信息及其联系B.系统做什么C.系统模拟的动态模型D.系统功能如何实现答案:B对软件复杂性进行度量时,采用代码行度量法,下列说法不正确的是()。每行代码的出错率与源程序行数之间不存在简单的线性关系对于少于100行语句的小程序,源代码行数与出错率是线性相关的代码行度量法只是一简单的,估计的很粗糙的方法随着程序的增大,出错率以线性方式增长答案:D软件项目计划范围内容是对软件项目的综合描述,定义其所要做的工作以及性能限制。下列不属于软件项目计划范围内容的有()。A.硬件资源B.成本估算C.系统接口D.进度安排答案:CDFD图反映系统()A.怎么做B.对谁做C.何时做D.做什么答案:D.经济可行性研究的范围包括()A.资源有效性B.管理制度C.效益分析D.开发风险答案:C.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。A.确定B.行或不行C.正确D.无二义答案:B.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。A.信息隐蔽B.质量控制C.程序优化D.数据共享答案:A.数据流图(DFD)是方法中用于表示系统的逻辑模型的一种图形工具。A.SAB.SDC.SPD.SC答案:A.需求规格说明书的作用不包括()A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据答案:C.数据字典是用来定义中的各个成份的具体含义的。()A.流程图B.功能结构图C.系统结构图D.数据流图答案:D软件可行性研究实质上是要进行一次()需求分析、设计过程。A.简化、压缩的B.详细的C.彻底的D.深入的答案:A22.软件计划的具体任务不包括()A.确定软件的作用范围B.解决软件开发的难点C.估算开发所需的资源D.估算软件成本费用和安排进度答案:B23.DFD图不反映出系统()A.系统做什么B.系统功能如何实现C.数据流向与数据存储D.系统实现的约束条件答案:B24.软件可行性研究一般不考虑()A是否有足够的人员和相关的技术来支持系统开发B是否有足够的工具和相关的技术来支持系统开发C待开发软件是否有市场、经济上是否合算D待开发的软件是否会有质量问题答案:D25.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的()。A.总貌B.细节C.抽象D.软件的作者答案A26.经调查,系统分析员给出有问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要还应输入系统,经库存业务(进贷或出贷)处理后输出。从这段描述可知该部分数据流图中的外部项为:A.采购员、仓库管理员B.定购清单、库存业务C.库存业务D.定购清单、采购员答案A27.下列叙述中,不属于数据字典的作用。A.作为编码阶段的描述工具B.为用户与开发人员之间统一认识C.作为概要设计的依据D.为需求分析阶段定义各类条目答案A28.数据流是数据流图的基本成分,下列关于数据流的叙述中,是正确的。某加工的输入是一个数据流,该加工的输出也必定是一个数据流多个不同的数据流可以流向一个加工,也可从一个加工中流出数据流只能从加工流向文件,但不能从文件流向加工一个数据流可以从一个文件流向另一个文件答案B、填空题数据流图的基本符号包括()、()、()、()。答:数据输入的源点和数据输出的汇点加工数据流数据存储文件数据流图和()共同构成系统的逻辑模型。答:数据字典数据字典的内容包括六项:()、()、()、数据存储、处理逻辑、外部实体。答:数据流数据项数据结构可行性研究的目的是()。答:用最小的代价在尽可能短的时间内确定问题是否能够解决系统流程图是()的传统工具。答:描绘物理系统在可行性研究中,()是系统开发过程中难度最大,最重要的一个环节。答:技术可行性在结构化分析中,()用于详细地定义数据流图中的成分。答:数据字典结构化分析方法中,数据流图的四种基本成分为:加工、源点或终点()。答:数据流和文件在数据流图中,用以表示软件系统之外的人员、设备等外部实体的基本成分(元素)称为()。答:外部项三、判断改错题TOC\o"1-5"\h\z.可行性研究阶段要进行一次大大压缩简化了的系统分析和设计的过程。().数据流图表示了软件系统对数据的算法处理过程,即系统的物理模型。()X数据流图定义.加工说明是对系统流程图中的加工进行说明。()x数据流图.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。()X分层的DFD图可以用于可行性分析阶段。描述系统的物理结构。——四、简答题.可行性研究的任务是什么?答:a.技术可行性:考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。b.经济可行性。c.社会可行性。.可行性研究有哪些步骤?答:a.确定项目规模和目标b.研究正在运行的系统c.建立新系统的高层逻辑模型d.导出和评价各种方案e.推荐可行的方案f.编写可行性研究报告.成本一效益分析可用哪些指标进行度量?答:有形效益度量:货币的时间价值投资回收期纯收入无形效益:主要从性质上、心理上进行衡量,很难直接进行量的比较。通常以有形效益度量作为成本---效益分析的度量。4.项目开发计划有哪些内容?答:a.项目概述b.实施计划c.人员组织及分工d.交付期限5.软件工程的基本目标是什么?答:软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:合理预算开发成本,付出较低的开发费用;实现预期的软件功能,达到较好的软件性能,满足用户的需求;提高所开发软件的可维护性,降低维护费用;提高软件开发生产率,及时交付使用。6.原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。答:建立原型的主要原因是为了解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。原型在软件开发过程中可以起到以下主要作用:明确并完善需求原型作为一种需求工具,它初步实现所理解的系统的一部分。用户对原型的评价可以指出需求中的许多问题,在你开发真正产品之前,可以最低的费用来解决这些问题。探索设计选择方案原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。发展为最终的产品原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。为什么数据流图要分层?答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。什么是加工逻辑?答:加工逻辑就是处理逻辑,加工逻辑是对加工过程的抽象描述。加工逻辑的具体实现就是加工过程。加工逻辑是指用户对这个加工的逻辑要求,即加工的输入数据流与输出数据流之间的逻辑关系。加工逻辑主要是说明加工做什么,而不是描述具体的加工过程,如采用哪些加工单元、如何控制执行等实现细节。五、问答题.指出下列数据流图中存在的问题。(10分)F父图子图答:1、父图没有输入数据流;2、子图的输入数据流应该是C,而不是B;3、子图的输出数据流应该只有D和E,而不应有F。.根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。(10分)第3章需求分析一、选择题TOC\o"1-5"\h\z.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()A.数据库设计B.数据通信C.数据定义D.数据维护答案:C.软件需求分析的主要任务是准确地定义出要开发的软件系统是()A.如何做B.怎么做C.做什么D.对谁做答案:C.软件复审时,其主要的复审对象是()。A.文档B.程序C.数据D.软件配置项答案:A.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。A.业务需求B.功能要求C.非功能需求D.用户需求答案:C.在E-R模型中,包含以下基本成分()A.数据、对象、实体B.控制、联系、对象C.实体、联接、属性D.实体、属性、联系TOC\o"1-5"\h\z答案:D.数据流图中的处理必须用对象中的操作来实现,常见的操作有()。A.查询B.动作C.活动D.访问答案:A.软件需求分析应确定的是用户对软件的()。A.功能需求和非功能需求B.性能需求C.非功能需求D.功能需求答案:A.对于一个大型系统,若对设计方案没有把握,可通过()来证实设计方案的正确性。A.增量构造模型B.实验型原型C.探索型原型D.演化型原型答案:C.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模答案:A10.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能答案:D.需求规格说明书的作用不包括()A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.研究的依据D.软件设计的依据答案:CTOC\o"1-5"\h\z.需求分析阶段最重要的技术文档之一是:()A.项目开发计划B.设计说明书C.需求规格说明书D.可行性分析报告答案:C13.需求工程的主要目的是()A.系统开发的具体方案B.进一步确定用户的需求C.解决系统是“做什么的问题”D.解决系统是“如何做的问题”答案:C14.不适于作为数据流图处理(加工)框名称的是。A.人工校核工资数据B.工资支票数据C.打印工资支票D.计算职工工资答案:B二、填空题需求分析的基本任务是准确的回答()。答:系统必须做什么需求分析阶段研究的对象是软件项目的()。答:用户要求结构化分析方法就是()自顶向下逐步求精进行需求分析的方法。需求分析的目的之一就是把数据流和数据存储定义到()。答:面向数据流元素级需求分析应交付的主要文档是()。答:需求规格说明书在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的()成分。答:加工或处理现有一种软件开发方法,它将软件开发过程分成以下阶段:需求分析、原型开发和评价、系统设计和系统实现。这种软件开发方法称为()。答:原形法所谓“用户要求”是指软件系统必须满足的()和限制。答:所有性质三、判断改错题实体--关系图中的数据对象之间的关系也可能有属性。()V在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。()数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(x加工。快速原型模型可以有效地适应用户需求的动态变化。()V.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。()x需求分析是解决软件做什么的问题.需求管理主要是对需求变化的管理,即如何有效控制和适应需求的变化。()四、简答题1.什么是需求分析?需求分析阶段的基本任务是什么?答:需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。需求分析阶段的基本任务是:问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.分析与综合,导出软件的逻辑模型.编写文档什么是结构化分析方法?该方法使用什么描述工具?答:结构化分析方法:是面向数据汉进行需求分析的方法。描述工具:A.数据流图B.数据字典C.描述加工逻辑的结构化语言、判定表、判定树。TOC\o"1-5"\h\z结构化分析方法通过哪些步骤来实现?答:结构化分析方法步骤:了解当前系统的工作流程,获得当前系统的物理模型.抽象出当前系统的逻辑模型.建立上标系统的逻辑模型.作进一步补充和优化.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种:-,箭头,表示数据流;。,圆或椭圆,表示加工;=,双杠,表示数据存储;□,方框,表示数据的源点或终点.画数据流图应该注意什么事项?答:画数据流图注意事项:a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.画数据流而不是控制流.一般不画物质流.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.编号.父图与子图的平衡.局部数据存储.提高数据流图的易理解性.什么是字据字典?其作用是什么?它有哪些条目?答:字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述.作用:1)为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述.为分析人员查找数据流图中有关名字的详细定义而服务的.它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分.条目:数据流、数据项、数据存储、基本加工。描述加工逻辑有哪些工具?答:a,结构化语言b,判定表c.判定树DFD和DD的主要作用是什么?两者的关系?答:DFD是软件系统逻辑模型的一种图形表示(Graphicrepresentation)。主要作用是指明系统中数据是如何流动和变换的,以及描述数据流进行变换的功能,在DFD中出现的每个功能的描述则写在加工说明(PSPEC)中,他们一起构成软件的功能模型数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。五、问答题1.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD苗绘该功能的需求,并建立相应的数据字典。(15分)答:数据流条目:数据流名称:存款单别名:无简述:储户存款时填写的项目来源:储户去向:记帐数据流量:未知组成:姓名+住址+存款类型+存款日期+利率数据流名称:取款单别名:无简述:储户取款时填写的项目来源:储户去向:统计数据流量:未知组成:姓名+住址+取款类型+取款日期+利率数据流名称:清单别名:无简述:储户取款后得到的项目来源:记录去向:储户数据流量:未知组成:姓名+住址+取款类型+取款日期+利率+余额数据存储条目:数据存储名称:账单别名:无简述:存放储户信息及其账目组成:姓名+住址+余额+存款类型+最后修改日期+利率组织方式:未知查询要求:能立即查询数据项条目:未知加工条目:加工名:分类检查编号:无激发条件:接收到存/取款单优先级:优先输入:存/取款单输出:存/取款单加工逻辑:IF存款单THEN把存款单输出到统计ELSE把取款单输出到统计ENDIF加工名:统计编号:无激发条件:取款单优先级:无输入:取款单输出:清单加工逻辑:根据账单检查此储户是否存在,不存在输出错误{IF取款数<余额THEN余额=余额-取款数输出清单到储户,输出现金到储户ELSE

输出错误清单到储户ENDIF加工名:记录编号:无激发条件:存款单优先级:无输入:存款单输出:存款单加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{余额=余额+存款数输出存款单到储户}处理存款/取款单处理存款/取款单.自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的DFDB,并写出数据词典中的数据流条目。(15分)答:.“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生“项目参加者”,如下图所示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。请写出这三个数据流条目。(10分)答:运动员名单=队名+运动员号+姓名+{项目}项目=项目名数据流词典数据流条目报名单=姓名+性别+身份证号+课程名开考课程==课程名+开考时间考生名册==准考证号+姓名+课程项目参加者=项目名+{运动员号}.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电t号码的数据条目的定义(即组成)。(10分)答:电话号码二分机号|外线号码分机号=7201...7299外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100...300市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4.某机械加工公司要建立的仓库管理系统中,有以下功能:.入库:入库员负责登记入库物品(编号,品名,型号,数量,单价,位置,检验员,审批人,入库日期,采购员,供应商)中,包括查看库存中有无这类物品。.出库:出库员根据用户要求(编号,品名,型号,数量),查看有无所需物品,若有查看库存量是否满足,方可提货,并修改库存。要求:1)用结构化分析方法,建立仓库系统的0层数据流图2)建立仓库系统1层DFD(10分)理员1)0层DFD理员仓库系统2)1层DFD图2-出库登记入库管理员出库管理员第4章形式化说明技术无第5章总体设计、选择题结构化程序设计思想的核心是要求程序只由顺序、循环和()三种结构组成。A.选择B.单入口C.单出口D.有规则GOTO答案:A划分模块时,一个模块的()。A.作用范围应在其控制范围之外B.作用范围应在其控制范围之内C.作用范围与其控制范围互不包容D.作用范围与其控制范围不受限制答案:B在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。A.数据结构B.实体关系C.E-R图D.数据流图答案:D模块(),则说明模块的独立性越强。A.耦合越强B.扇入数越高C.耦合越弱D.扇入数越低答案:C模块()定义为受该模块内一个判断影响的所有模块集合。A.控制域B.作用域C.宽度D.接口答案:B通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是()通信、逻辑、顺序、时间通信、时间、顺序、逻辑顺序、通信、时间、逻辑顺序、通信、逻辑、时间答案:C程序的三种基本控制结构的共同特点是()。A.只能用来描述简单程序B.不能嵌套使用C.单入口,单出口D.仅用于自动控制系统答案:C当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合B.公共耦合C.标记耦合D.内容耦合答案:B9.数据耦合、公共耦合、特征耦合、控制耦合的耦合性从低到高的顺序是(A.数据、公共、特征、控制B.数据、特征、控制、公共C.控制、数据、特征、公共D.控制、数据、公共、特征答案:BTOC\o"1-5"\h\z模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚答案:D在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性答案:D12.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性答案:D在以下模块耦合性类型中,模块之间独立性最差的类型是:()A.无直接耦合B.标记耦合C.控制耦合D.内容耦合答案:D重用率高的模块在软件结构图中的特征是:()。A.扇出数大B.扇入数大C.内聚性高D.扇出数小答案:B15.软件结构图中,模块框之间若有直线连接,表示它们之间存在()A.调用关系B.组成关系C.链接关系D.顺序执行关系答案:A16.为了提高模块的独立性,模块内部最好是()A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚答案:C17.概要设计最终结果是产生()A.项目开发计划B.需求规格说明书C.软件结构设计说明书D.可行性分析报告答案:C18.SA方法使用的描述手段不包括()A.数据流图B.程序流程图C.数据字典D.加工说明答案:B19.在七种偶合中,最低偶合是()。D.非直接偶合A.内容偶合B.公共偶合C.D.非直接偶合答案:D20.结构化设计是一种应用最广泛的系统设计方法,是以()为基础,自顶向下,求精和模块化的过程。A.数据流B.数据流图C.数据库D.数据结构答案:B设计方法由英国的M.Jackson提出的,它是一种面向()的设计方法。A.对象B.数据流C.数据结本勾D.控制结构答案:C22.要减少两个模块之间的耦合,则必须()。A.两个模块间的调用次数要少B.模块间传递的参数要少C.模块间传递的参数要少且布传递开关型参数D.模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量答案:D.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于()。A.逻辑内聚B.通信内聚C.顺序内聚D.功能内聚答案:B.()不属于概要设计所解决的问题范围。A.确定模块的层次结构B.全程数据结构的设计C.描述系统的功能与性能D.修改用户手册答案:C、填空题概要设计过程中要先进行系统设计、()与(),确定系统具体的实施方案;然后进行(),确定软件结构。答:复审系统计划需求分析结构设计层次结构的上一层是下一层的(),下一层是上一层的()。答:抽象求精模块独立的概念是()、()、()和局部化概念的直接结果。答:模块化抽象信息隐蔽模块耦合的强弱取决于()、()和通过接口的信息。答:模块间接口的复杂程度调用模块的方式设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低()提高()。答:耦合内聚在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为()。答:偶然内聚一个模块直接调用的模块数目称为模块的(),一个模块被多少上级模块直接调用称为模块的()答:扇出扇入JSD是一种典型的()的分析设计方法。答:面向数据结构Jackson图除了可以表达()外,还可以表达数据结构。答:程序结构外耦合性和内聚性是衡量()的两个定性的标准。答:模块独立性从模块内外的联系来看,结构化设计的要求是()。答:模块内联系大、模块间联系小如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为()耦合。答:数据软件工程技术中,控制复杂性的两个基本手段“分解”和()。答:抽象一个模块直接用另一个模块内部的代码和数据的模块间接的耦合方式称为()耦合。答:内容15定性度量模块独立性的两个标准是内聚性和()答:耦合性模块结构图中,直接调用某一模块的其他模块数称为该模块的()。答:扇入数若模块内的各处理元素都在同一时间间隔内执行完成,这种模块内元素间的联系称为()内聚。答:时间适合于作为概念性数据模型的所谓第二代数据模型是()。答:ER模型三、判断改错题1.模块独立要求高耦合低内聚。()V一般况来,模块的内聚程度越高,它们之间的耦合程度也就越高。()x内聚越高,耦合越低模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。()软件概要设计包括软件系统结构设计以及数据结构和数据库设计。()总体设计的基本目的就是回答:"概括地说,系统应该如何实现?"这个问题。()软件模块之间的耦合性越弱越好。SA法是面向数据流,建立在数据封闭原则上的需求分析方法。()V8.判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。()x判定表的优点适合描述条件,缺点是不能描述循环四、简答题自顶向下和由底向上设计的含义以及主要区别是什么?答:自顶向下是从顶层开始,逐步分解,直至系统所有模块便于掌握。由底向上是首先设计系统的关键部分,然后让系统的其它部分适应它。区别:自顶向下易于修改和扩展、整体测试较易通过、需要进行详细的可行性论证。由底向上可能导致较大的重新设计、整体测试可能在模块接口间发现不一致等问题、可行性的问题可以较早的发现。模块间的耦合性有哪几种?答:非直接耦合、数据耦合、特征耦合、控制耦合、外部耦合、公共耦合、内容耦合说明控制域和作用域规则及相互关系,举例说明。答:一个模块的控制域(ScopeofControl),等于模块本身加上其下级模块(即可供它调用的模块)。一个模块的作用域(ScopeofEffect),是受这个模块中的判定所应影响的模块。本规则的含义:作用域不要超出控制域的范围;(2)软件系统的判定,其位置离受它控制的模块越近越好解释深度、宽度、扇出、扇入对软件的影响。答:深度表示软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。宽度是软件结构内同一个层次上的模块总数的最大值。一般说来,宽度越大系统越复杂。对宽度影响最大的因素是模块的扇出。扇出是一个模块直接控制(调用)的模块数目,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块;扇出过小(例如总是1)也不好。经验表明,一个设计得好的典型系统的平均扇出通常是3或4(扇出的上限通常是5〜9)。扇出太大一般是因为缺乏中间层次,应该适当增加中间层次的控制模块。扇出太小时可以把下级模块进一步分解成若干个子功能模块,或者合并到它的上级模块中去。一个模块的扇入表明有多少个上级模块直接调用它,扇入越大则共享该模块的上级模块数目越多,这是有好处的,但是,不能违背模块独立原理单纯追求高扇入。观察大量软件系统后发现,设计得很好的软件结构通常顶层扇出比较高,中层扇出较少,底层扇入到公共的实用模块中去(底层模块有高扇入)。什么是软件概要设计?该阶段的基本任务是什么?答:软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转换为软件包表示的过程。基本任务:设计软件系统结构(简称软件结构)采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)确定模块的功能。(功能)确定模块之间的调用关系。(调用)确定模块之间的接口,即模块之间传递的信息。(接口)评价模块结构的质量。(质量)数据结构及数据库设计数据结构设计数据库设计:(概念设计、逻辑设计、物理设计)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)评审软件设计的基本原理包括哪些内容?答:软件设计的基本原理:模块化(四个属性:接口、功能、逻辑、状态)抽象信息隐蔽模块独立性(两个定性的度量标准:耦合性与内聚性)7.衡量模块独立性的两个标准是什么?它们各表示什么含义?答:两个定性的度量标准:耦合与内聚性耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。模块间的耦合性有哪几种?它们各表示什么含义?答:耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。(无直接关系)数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。(数据值)TOC\o"1-5"\h\z标记耦合:指两个模块之间传递的是数据结构。(数据结构)控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量)公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。(一个公式数据环境)内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部(内部数据)模块的内聚性有哪几种?各表示什么含义?答:模块间的内聚性有6种:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。偶然内聚:一个模块内的各处理元素之间没有任何联系。逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。时间内聚:把需要同时执行的动作组合在一起。通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。顺序内聚:一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。功能内聚:最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。什么是软件结构?简述软件结构设计优化准则。答:软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。软件结构设计优化准则:划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近软件的深度、宽度、扇入、扇出应适当。D.模块的大小要适中。E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。试述"变换分析","事务分析"的设计步骤。答:变换分析:a.确定DFD中的变换中心。设计软件结构的顶层和第一层变换结构。设计中下层模块。(输入模块下属模块的设计,输出模块下属模块的设计,变换模块下属模块的设计,设计的优化)事务分析:a.确定DFD中的事务中心和加工路径。设计软件结构的顶层和第一层事务结构。(接收、发送给支)事务结构中、下层模块的设计、优化工作同变换结构。五、问答题.已知模块C中的一个判定影响到模块B,如图所示,它违反了SM设计原则。试问:可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。(10分)答:

.已知有一抽象的DFt®如下所示,请用SDT法画出相应的结构图。(15分)答:.高考录取统分子系统有如下功能:(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。试根据要求画出该系统的数据流程图,并将其转换为软件结构图。(15分)答:(1)数据流图:(2)软件结构图:.图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组。①原始分②标准分③招生计划④录取线15分)(2)15分)(3)根据供书目录和订书书目产生订书文档留底。(4)将订书信息(包括数目,数量等)反馈给供书单位。(5)将未订书目通知订书者。(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。(答:(1)数据流图:(2)软件结构图.在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。(10分)答:变换型事务型第6章详细设计、选择题1.软件详细设计阶段的任务是()。A.算法设计B.功能设计C.调用关系设计D.输入/输出设计答案:A2.结构化方法是一种()的软件开发方法。A.面向用户B.面向数据结构答案:D3.SA法的主要描述手段有()。A.系统流程图和模块图C.软件结构图、加工说明D.C.面向对象D.面向数据流图、数据词典、加工说明功能结构图、加工说明答案:B4.画分层DFD图的基本原则下面不对的是()。A.数据守恒原则B.分解的可靠性原则C.子、父图平衡的原则D.数据流封闭的原则答案:B软件详细设计主要采用的方法是()A.模块设计B.结构化设计语言D.结构化程序设计答案:D下列关于JSD方法不正确的说法是()方法主要用于规模不大的数据处理系统方法不明确的划分软件概要设计和详细设计的两个阶段方法适用于输入数据和输出数据之间有对应关系的问题求解方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段答案:D结构化程序设计思想的核心是要求程序只由顺序、循环和()A.选择B.单入口C.单出口D.有规则GOTO答案:A详细设计阶段,一种二维树性结构来描述算法的工具称为()A.IPO图B.PAD图C.PDLD.判定树答案:D在软件工程开发过程中,数据流图、结构图的创建由()A.测试B.分析和设计C.程序设计D.过程设计10.在详细设计阶段,经常采用的工具有()A.PADB.SAC.SCD答案:A11.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D三种结构组成。。工作台提供支持。.DFD.可维护性答案:C软件详细设计的主要任务是对()进行的详细设计。A.算法和数据结构B.外部接口C.软件编码D.功能答案:A方法是一种面向()的方法。A.数据流B.对象C.数据结构D.控制流答案:C14.软件详细设计的主要任务是确定每个模块的()A.算法和使用的数据结构B.外部接口C.功能D.编程答案:A15.PAD(ProblemAnalysisDiagram)图是一种()工具。A.系统描述B.详细设计C.测试D.编程辅助答案:B16.在软件开发中,有利于发挥集体智慧的一种做法是()。设计评审B.模块化C.主程序员制D.进度控制答案:A17.在开发软件时, 17.在开发软件时, (A.程序开发环境C.编译程序的优化功能B.操作系统的作业管理功能D.并行运算的大型计算机答案:A18.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠。设C1表示购买的台数,C2为1、2、。分别表示教师、学生和其他人员,则符合九折优惠判定条件为()。A.(C1<100)ANDNOT(C2=0)B.(C1<100)ANDNOT(C2>0)(C1>100)AND(C2=0)(C1<100)AND(C2>0)答案:A19.银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是()_。A.变换型B.事务型C.既不是A也不是BD.不一定答案:B、填空题详细设计的工具有()、表格工具和语言工具。答:图形工具为使用流程图描述结构华程序,限制流程图有五种基本的控制结构()、()、()、until循环、多情况型选择。答:顺序型选择型while型循环HIPO图是由一组()图和一张()图组成。答:IPOHCIPO图由()、处理和()三个框组成。这个图的特点是能够直观的显示三者之间的关系。答:输入输出.从数据流图导出初始模块结构图,主要是通过()两项技术。答:变换和事务结构化程序设计是一种程序设计技术,它采用()的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。答:自顶向下、逐步求精在系统设计时,当数据流图中数据的流动路径几乎是线性时,应采用()策略设计系统结构图。答:变换中心模块内部的算法设计在结构化方法的()阶段进行。答:详细设计如果一个软件系统完成从卡片机上读入一叠卡片,检查卡片的信息是否合理,然后对旧文件进行修改,产生一个修改过的新文件,并被修改的记录打印成一份报告。对此系统的数据流图,应采用()设计策略,导出模块结构。答:变换流法的设计原则是:使程序结构同()相对应。答:数据结构11.在结构化程序设计思想提出以前,在程序设计中曾强调程序的()。现在人们更重视程序的()。答:效率可理解性12.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于()。答:变换型三、判断改错题1.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。()X代价越高软件技术复审是由用户和测试人员实施的一种质量保证活动。()X软件技术复审是由开发人员实施的一种质量保证活动。过程描述语言可以用于描述软件的系统结构。()X不能没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。()四、简答题1.详细设计的基本任务是什么?有哪几种描述方法?答:详细设计的基本任务:(1)为每个模块进行详细的算法设计。(2)为每个模块内的数据结构进行设计。(3)对数据库进行设计,即确定数据库的物理结构。(4)其他设计:a.代码设计b.输入/输出格式设计。c.人机对话设计。(5)编写详细设计说明书。(6)评审。描述方法(三种):a.程序流程图图C.过程设计语言.结构化程序设计基本要求要点是什么?答:a.采用自顶向下、逐步求精的程序设计方法b.使用三种基本程序控制结构构造程序.用顺序方式对过程分解,确定各部分的执行顺序。.用选择方式对过程分解,确定某个部分的执行条件。.用循环方式对过程分解,确定某个部分重复的开始和结束的条件。c.主程序员组的组织形式。.根据伪码画出Nl-S图。STARTIFATHENX1DOUNTILBELSEX2YENDIFZSTOP答:.根据伪码画出PAD图。STARTSWITCHPCASE1:AbreakCASE2:BbreakCASE3:CbreakDefaultSTOP答:五、问答题.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用判定表或判定树描述上述问题。(10分)答:钳工车工钳工车工电工材料员技术员厂男年龄「中学—介于一女20--4L大学一年龄「中学一匚大于40」大学.移动通信公司为促进业务的发展发行优惠卡,具体规则如下:(10分)从未发生过话费拖欠,每月通话费300元以上可获金卡,每月通话费150元以上可获银卡,每月通话费低于150元以上可获普通卡;发生过话费拖欠的,能在规定时间内补清欠款,每月通话费300元以上可获银卡,每月通话费150元以上可获普通卡;发生过拖欠话费,并未能在规定时间内补清欠款,不能获得优惠卡。

请用判定表描述上述问题的加工逻辑。答:发卡的规则条件123456是否有拖欠无无无有有有拖欠是否还清是是否每月消费额度>=300<300且>=150<150>=300<300且>=150发卡类型金卡银卡普通卡银卡普通卡无.某公司为本科以上学历的人重新分配工作,分配原则如下:如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。要求:画出判定表或判定树。(10分)答:年龄XX<18X<1850>X皂1850>X皂18X三50X三50X三50学历本科本科本科硕士本科本科硕士性别男女男女报考研究生V行政工作V中层领导V课题组组长VV科研人员V资料员V.某校的课酬计算机方案为:基本课酬为每节课10元。班级人数超过60人,增加基本课酬的10%班级人数超过80人,增加基本课酬的20%如果教师为副教授,增加基本课酬的10%如果教师为教授,增加基本课酬的20%如果教师为助教,不增加课酬。如果教师为见习助教,减少基本课酬的10%用判定表,表达上述计算方案。(10分)答:123456789101112人数<=60TTTT人数>60TTTT人数>80TTTT教授TTT副教授TTT助教TTT见习TTT基本课酬金VVVVVVVVVVVV课酬增10%VVV课酬增20%VVV课酬减10%VVV.的订货单按如下原则处理:将顾客的信用度分三个档次:欠款时间不超过30天;欠款时间超过30天但不超过100天;欠款时间超过100天。对于上述三种情况,分别根据库存情况来决定对顾客订货的态度。情况之一(欠款时间w30天),如果需求数w库存量,则立即发货,如果需求数>库存量,则只发现有库存,不足部分待进货后补发。情况之二(30天〈欠款时间w100天),如果需求数w库存量,则要求先付款再发货,如果需求数>库存量,则不发货。情况之三(欠款时间>100天),则通知先付欠款,再考虑是否发货。试用判定树的形式予以描述(设欠款时间D,需求数N,库存量Q)。(10分)答:图表示下图所示的二维表格:(10分)答:si、s2为加工处理。试用判定表给予描述。.程,其流程如下图所示。(10分)其中bl、b2、si、s2为加工处理。试用判定表给予描述。答:.过程如下图所示的流程,试用判定表予以描述。(10分)1234条件biFTTTb2…FFTb3…FT…结果siVs2V第7章实现、选择题.在进行软件测试时,首先应当进行(),然后再进行集成测试,最后再进行有效性测试。A.单元测试B.集成测试C.确认测试D.组合测试答案:A.测试的关键问题是()A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例答案:D.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准.A.程序的内部逻辑B.程序的复杂程度C.使用说明书D.程序的功能答案:A.软件测试的目的是()A.评价软件的质量B.发现软件的错误C.找出软件中的所有错误D.证明软件是正确的答案:B.确认测试是对软件进行()测试。

A.可靠性B.有效性C.可维护性D.可用性答案:B6.检查软件产品是否符合需求定义的过程称为()。A.确认测试B.集成测试C.验收测试D.验证测试答案:A在下述哪一种测试中,测试人员必须接触到源程序()。i功能测试n结构测试A.均不需B.只有IC.只有nd.I和n答案:C不适合作为科学工程计算的语言是()A.PascalB.CC.FortranD.Prolog答案:D黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明答案:A若有一个计算类型的程序,它的输入量只有一个X,其范围是[,],现从输入TOC\o"1-5"\h\z的角度考虑一组测试用例:,,,。设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法下面关于程序设计风格的叙述不可取的有应当有适量的注释下面关于程序设计风格的叙述不可取的有应当有适量的注释使用有意义的标识符C.循环覆盖 D.集成测试为了使软件具有清晰结构和良好的风格,A.尽量不要进行浮点数的相等比较B.C.尽可能对代码优化D.答案:D12.软件调试技术包括()A.边界值分析B.演绎法13.软件测试方法中的静态测试方法之一为()A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析答案:A14.一个成功的测试可以()。A.表明程序没有错误B.发现所有错误C.提高软件可靠性D.发现尚未发现的错误答案:D15、黑盒技术设计测试用例的方法之一为()。A.因果图B.逻辑覆盖C.循环覆盖D.基本路径测试答案:A编码阶段的目标是()对诸如“学生编号”,“职工编号”进行编码设计将软件算法过程翻译成源程序统一各种信息编码D.选择最适合的程序设计语言答案:BNET属于()

B.4GLA.3GLB.4GLC.独立于机器的面向算法的语言D.结构化编程语言答案:B以下哪种测试方法不属于白盒测试技术()A基本路径测试B边界值分析测试C循环覆盖测试D逻辑覆盖测试答案:C软件测试方法中的静态测试方法之一为()A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析答案:A.用白盒法技术设计测试用例的方法包括()A.错误推测B.因果图C.基本路径测试D.边界值分析答案:C21.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们()A前者属于静态测试,后者属于动态测试B.前者属于动态测试,后者属于静态测试C.都属于静态测试D.都属于动态测试答案:D22.为了提高测试的效率,应该()。A.随机地选取测试数据B.取一切可能的输入数据作为测试数据库C.在完成编码后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据答案:D23.与设计测试数据无关的文档是()。A.需求说明书B.数据说明书C.源程序D.项目开发设计答案:D24.注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。A.1/6B.1/5C.1/4D.1/3答案:D25.排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的A.95%B.5%C.50%D.20%答案:A26.编码(实现)阶段得到的程序段应该是编译(或汇编)通过的可装配程序可运行程序B. 测试用例要给出测试的预期结果编译(或汇编)通过的可装配程序可运行程序B. 测试用例要给出测试的预期结果D. 开发小组与测试小组合并2)表中只有一个元素C.可交付使用的程序D.答案:B27.下列所述的测试原则中,错误的是A.应设计非法输入的测试用例C.因维护修改程序后需回归测试答案:D28.如果一个排序程序所设定的测试用例为(1)表空3)表中均有相同的关键字值(4)元素已排序则此测试方法称为。A、等价分类法B.边缘值分析法C.因果图法D.错误推测法答案:D29.在有集成(组装)测试的叙述中,是正确的。测试底层模块时不需要桩模块驱动模块的作用是模拟被调模块自顶向下测试方法易于设计测试结果自底向上测试方法有有利于提前预计测试结果答案:A.某程序功能说明中列出“规定每个运动员参赛项目为1——3项”,应用黑盒法中的等价分类法确定等价类是。A、1<=项目数<=3B.项目数<1C.项目数>3D.以上都是答案:D.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边缘值分析法设计测试用例,应选。A、a=3,b=4,c=5=1,b=2,c=4C.上述项目都应选上=1,b=2,c=3答案:D、填空题程序的效率是指程序的执行速度和()。答:程序占用的存储空间实现容错的主要手段是()和()。答:冗余防错程序设计软件测试的配置主要包括()、()和测试程序等。答:测试计划测试用例软件测试的步骤主要包括()、集成测试、确认测试和()。答:单元测试系统测试黑盒法测试时,如果选择的测试用例需考虑输入条件的各种组合,应采用()法进行测试。答:因果图由底向上渐增式是在测试层次结构的大型软件时常用的一种方法。用由底向上渐增式方法对软件进行测试时,需要为每个模块准备一个(),它的作用是调用被测的模块。答:驱动模块现有一个计算类型的程序,它的输入只有一个Y,其范围是一50WYW50。现采用黑盒法进行测试,设计了一组测试用例:—100,100,0。设计这组测试用例的方法是()。答:等价分类如果某个程序的输入数据的可能值划分为n个合理等价类、m个不合理等价类,这些等价类均为数轴上的一个有限敬意范围,则采用边缘值测试方法至少需要()个测试用例。答:2(m+n)在()测试中,主要测试详细设计和编码实现阶段中的错误。答:单元选择足够的测算数据,使得判定中的每个条件获得各种可能的值的测试用例产生的方法称为()覆盖。答:条件在联合测试时,采用先独立测试每一模块,然后再连到一起运行,这种方式称为()联调。答:非渐增式程序评价和测试系统PET的主要功能是支持对FORTRAN^序采用白盒法测试,可以监视测试的()。答:实际覆盖程度检验是软件开发过程中不可缺少的部分,检验的目的在于()。答:发现错误并及时改正()测试解决的主要问题是模块间接口和连接的测试。答:集成编程的目标是编写出逻辑上正确又易于()的程序。答:阅读或理解单独测试一个模块时,有时需要一个()驱动被测试的模块.有时还要有一个或TOC\o"1-5"\h\z几个()模块模拟由被测试模块调用的模块。答:驱动桩模块三、判断改错题当验收测试通过,软件开发就完成了。()X当验收测试通过,软件开发并没有完成还应该有维护。好的测试用例应能证明软件是正确的。()X好的测试用例不能证明软件是正确的。在程序调试时,找出错误的位置和性质比改正该错误更难。()用黑盒法测试时,测试用例是根据程序内部逻辑设计的。()用黑盒法测试时,测试用例是根据程序外部功能设计的。完成测试作业后,为了缩短源程序的长度应删除程序中的注解。()x也不应删除注解测试是为了验证软件已正确地实现了用户的要求。()x测试的目的是尽可能多地发现软件中的错误,其附带的收获才是验证该软件已正确地实现了用户的要求。程序测试不仅能证明错误的存在,也能证明错误的不存在。()x改正:仅能证明错误存在如果通过软件测试没有发现错误,则说明软件是正确的。()X也不能说明集成测试主要由用户来完成。()X集成测试主要由开发人员来完成。确认测试计划应该在可行性研究阶段制定()X确认测试计划应该在需求分析阶段制定白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。()X黑盒测试软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码。()X软件定义判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,判定/条件覆盖是同时满足这两种覆盖标准的逻辑覆盖。()四、简答题一个程序能够既正确又不可靠吗?请加以解释。答:软件的功能正确并不代表软件是可靠的。可靠性是指在一定的环境下,在给定的时间内系统不发生故障的概率。由于无法对软件进行彻底的测试,因此即使软件的某个功能是正确的,软件中潜在的错误也可能导致其不可靠,如"2000"年问题就是如此。软件测试包括哪些类型的测试?这些测试之间的区别是什么?答:软件测试包括单元测试、集成测试、确认测试和系统测试等。单元测试集中于单个模块的功能和结构的检验;集成测试集中于模块组合的功能和软件结构检验;确认测试主要检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等;系统测试集中检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到。简述渐增式测试方法与非渐增式测试方法的优劣。答:非渐增式测试一下子把所有模块放在一起,并把庞大的程序作为一个整体来测试,测试者面对的情况十分复杂。测试时会遇到许许多多的错误,改正错误更是极端困难,因为在庞大的程序中想要诊断定位一个错误是非常困难的。而且一旦改正一个错误之后,马上又会遇到新的错误,这个过程将继续下去,看起来好像永远也没有尽头。渐增式测试与“一步到位”的非渐增式测试相反,它把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误;对接口可以进行更彻底的测试;可以使用系统化的测试方法。因此,目前在进行集成测试时普遍采用渐增式测试方法。4.什么是桩模块?什么是驱动模块?二种渐增式集成测试如何组装模块?答:在单元测试时,需要为被测程序编制若干测试软件,给它的上级模块或下级模块做替身。代替上级模块的称为测试驱动模块(TestDriver),代替下级模块的称为测试桩模块(TestStub)。(1)自顶向下组合。该方法只需编写桩模块,其步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模块都结合起来,(2)自底向上结合。该方法仅需编写驱动模块。其步骤为:①把底层模块组合成实现一个个特定子功能的簇。②为每一个簇编写一个驱动模块,以协调测试用例的输入和测试结果的输出。③对模块簇进行测试。④按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的簇。⑤重复②至④步,直至软件系统全部测试完毕。5.采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?答:(1)等价类划分。等价类划

温馨提示

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

评论

0/150

提交评论