软件工程习题+答案及软件工程试题及答案_第1页
软件工程习题+答案及软件工程试题及答案_第2页
软件工程习题+答案及软件工程试题及答案_第3页
软件工程习题+答案及软件工程试题及答案_第4页
软件工程习题+答案及软件工程试题及答案_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE60一、选择题软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。B)问题定义,可行性研究,需求分析。C)可行性研究,需求分析,问题定义。D)以上顺序都不对。(软件开发时期:概要设计、详细设计、软件实现、软件测试)可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。B)技术可行性,经济可行性,系统可行性。C)经济可行性,系统可行性,操作可行性。D)经济可行性,系统可行性,时间可行性。耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。B)内容耦合,控制耦合,公共环境耦合,数据耦合。C)内容耦合,公共环境耦合,控制耦合,数据耦合。(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。在详细设计阶段所使用到的设计工具是:(C)A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon图,程序流程图,PAD图,N-S图,HIPO图。C)判定表,判定树,PDL,程序流程图,PAD图,N-S图。D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD图、N-S图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS图)和问题分析图(PAD).常用的语言描述工具为PDL(程序设计语言),常用的表格描述工具有判定表和判定树.DFD数据流图:总体设计阶段按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。B)模块的控制域应在模块的作用域之内。C)模块的控制域与模块的作用域互相独立。D)以上说法都不对。在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C)A.概要设计B.详细设计C.需求分析D.可行性分析下面不是软件工程的3个要素的是(C)A过程B.方法C.环境D.工具软件工程的三个要素:方法、工具、过程下面不属于软件的组成的是(B)A程序B.记录C.文档D.数据软件=程序+数据+文档+服务在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C)A.维护时期B.运行时期C.定义时期D.开发时期10.在瀑布模型中,下面(C)是其突出的缺点。A.不适应平台的变动B.不适应算法的变动C.不适应用户需求的变动D.不适应程序语言的变动11下面不属于软件的特点的是(D)。A软件是一种软件产品B软件产品不会用坏,不存在磨损、消耗问题C软件产品的生产主要是研制D软件产品非常便宜12软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是。AA.维护工具B.编码工具C.测试工具D.需求分析工具13.下列叙述中不属于软件生命周期模型的是(D)。A.原型模型B.瀑布模型C.螺旋模型D.快速组装模型14.软件设计中,用抽象和分解的目的是(B)。A.提高易读性B.降低复杂性C.增加内聚性D.降低耦合性15软件生命周期中所花费用最多的阶段是(D)。A.详细设计B.软件编码C.概要设计D.软件测试和维护16.开发软件时对提高开发人员工作效率至关重要的是(B)。A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力17.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(B)。A.软件投机B.软件危机C.软件工程D软件产生18软件开发的结构化生命周期方法将软件生命周期划分成(A)A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计19.软件工程的理论和技术性研究的内容主要包括软件开发技术和(B)。A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用20软件工程的出现是由于(C)。A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展21.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)。A.概要设计B.详细设计C.问题定义D.需求分析22.开发大型软件时,产生困难的根本原因是(A)。A.大系统的复杂性B.人员知识不足C.客观世界千变万化D.时间紧、任务重23.文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的(B),软件开发人员在各个阶段以文档作为前段工作成果的体现和后段工作的基础。A.接口B.桥梁C.科学D.继续24软件工程学的目的是以较低的成本,研制(A)质量的软件。A较高B较低C.可靠D.优秀25软件从一个计算机系统或环境转换到另一个计算机和环境的容易程度称为(D)。A.可用性B.兼容性C.可靠性D.可移植性26.软件生存周期是指(D)阶段。A.软件开始使用到用户要求修改为止B.软件开始使用到被淘汰为止C.从开始编写程序到不能再使用为止D.从立项制定计划,进行需求分析到不能再使用为止27.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是(B)。A引入新技术提高空间利用率B用较少的投资获得高质量的软件C缩短研制周期扩大软件功能D硬软件结合使系统面向应用28.软件可行性分析是着重确定系统的目标和规模。对成本-效益进行发现应属于下列选项中的(A)。A.经济可行性B.操作可行性C.技术可行性D.社会可行性29在数据流图中,用圆或者椭圆来表示(B)。A.数据流B.加工C.数据存储D.数据源点或终点30.需求分析阶段的任务是确定(C)。A.软件开发方法B.软件开发费用C.软件系统功能D.软件开发工具31(D)的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。A需求分析B概要设计C总体设计D可行性研究32.下列选项中(D)不是软件需求规格目标。A.便于用户、分析员和软件设计人员进行理解及交流B.控制系统的实施过程C.作为软件测试和验收以及维护的依据D.便于软件的维护33下面描述中,不符合结构化程序设计风格的是(B)。A使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B模块只有一个入口,可以有多个出口C注重提高程序的执行效率D不使用goto语句34.下列工具中属于需求分析常用工具的是(D)。A.PADB.PFDC.N-SD.DFD35.在数据流图(DFD)中,带有名字的箭头表示(C)。A.控制程序的执行顺序B.模块之间的调用关系(直线)C.数据的流向D.程序的组成成分长方形代表起点或者终点36.在软件生产过程中,需求信息的给出是(D)。A.程序员B.项目管理者C.软件分析设计人员D.软件用户37下列叙述中,不属于结构化分析方法的是(C)。A.面向数据流的结构化分析方法B.面向数据结构的结构化数据系统开发方法C.面向对象的分析方法38结构设计(SD)是一种应用最广泛的系统设计方法,是以(B)为基础、自顶向下、逐步求精和模块化的过程。A.数据流B.数据流图C.数据库D数据结构39需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出(B)。A.模块说明书B.软件规格说明书C.项目开发计划D.合同文档40.结构化分析方法以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A.DFD图B.PAD图C.IPO图D.数据字典41.数据字典是软件需求分析阶段的重要工具之一,它的基本功能是(A)A.数据定义B.数据维护C.数据通讯D.数据库设计42.以下(A)不是详细设计中常用的图形描述工具。A.数据流图B.程序流图C.盒图(N-S)D.问题分析图(PAD)43.在结构图的有关术语中,用于表示软件结构中控制的层数的是(C)A.扇入B扇出C深度D宽度44.模块的独立程度是评价设计好坏的重要标准。(A)是衡量软件的模块独立性的两个定性度量标准。A耦合性和内聚性B内聚性和可靠性C耦合性和独立性D可靠性和独立性45.软件设计包括(B)两个阶段。A.接口设计和结构设计B.概要设计和详细设计C.数据设计和概要设计D.结构设计和过程设计46在详细设计阶段,经常采用的工具是(A)。A.PADB.SAC.SC(结构图,总体设计)D.DFD47.在软件开发中,下面任务不属于设计阶段的是(D)。A.数据结构设计B给出系统模块结构C定义模块算法D定义需求并建立系统模型48.对建立良好的程序设计风格,下面描述正确的是(A)。A程序应简单、清晰、可读性好B符号名的命名要符合语法C充分考虑程序的执行效率D程序的注释可有可无49.下面不属于软件设计原则的是(C)。A抽象B模块化C自底向上D信息隐蔽50.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(C)。APAD图B.N-S图C.结构图D数据流图51软件测试按照功能划分可以分为(B)。A黑盒测试和单元测试B白盒测试和黑盒测试C集成测试和单元测试D白盒测试和静态测试软件测试按照功能划分可以分为白盒测试和黑盒测试按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试白盒测试方法:逻辑覆盖、循环测试、基本路径测试黑盒测试方法:等价分类法,边界值分析法、错误推断法,因果图法,场景法.52在软件测试过程的4个步骤中,测试依据是需求规格说明的是(C)A单元测试B集成测试C确认测试D系统测试53黑盒测试法属于(C)。A集成测试B系统测试C动态测试D静态测试静态测试(不实际运行软件,对软件的格式和结构进行评估)包括:代码规则检查、程序结构分析、代码质量度量(程序复杂度分析)动态测试:功能确认与接口测试、覆盖率分析、性能分析、内存分析54下列叙述中错误的是(C)。A测试是为了寻找错误而运行程序的过程B一个成功的测试是揭示了迄今为止尚未发现的错误的测试C测试的目的是为了证明程序是正确的D一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试55软件测试过程是软件开发过程的逆过程,其最基础性的测试应是(B)A集成测试B单元测试C有效性测试D系统测试55.1有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(

B

A.

语句覆盖

B.判定覆盖

C.条件覆盖

D.路径覆盖6.关于白盒测试与黑盒测试的最主要区别,正确的是__。(

A

A.白盒测试侧重于程序结构,黑盒测试侧重于功能

B.白盒测试可以使用测试工具,黑盒测试不能使用工具

C.白盒测试需要程序参与,黑盒测试不需要

D.黑盒测试比白盒测试应用更广泛56.程序的三种基本控制结构是(B)。A.过程、子程序和分程序C.递归、迭代和回溯B.顺序、选择和重复D.调用、返回和转移57.面向对象的分析方法主要是建立三类模型,即(D)。A)系统模型、ER模型、应用模型B)对象模型、动态模型、应用模型C)E-R模型、对象模型、功能模型D)对象模型、动态模型、功能模型58.在E-R模型中,包含以下基本成分(C)。A)数据、对象、实体B)控制、联系、对象C)实体、联系、属性59.软件测试的目标是(B)。A.证明软件是正确的B.发现错误、降低错误带来的风险C.排除软件中所有的错误D.与软件调试相同60.软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护61.在数据流图中,圆或椭圆表示(1)A,平行线表示(2)D__。(1)A、加工B、外部实体C、数据流D、存储(2))

A、加工B、外部实体

C、数据流(箭头)D、存储62.瀑布模型(WaterfallModel)突出的缺点是不适应(D)的变动。A、算法B、平台C、程序语言D、用户需求63.结构化分析方法(SA)的一个重要指导思想是(C)。A.自顶向下,逐步抽象B.自底向上,逐步抽象C.自顶向下,逐步分解D.自底向上,逐步分解64.模块的控制范围包括它本身及它所有的从属模块,模块的作用范围是指模块内一个判定的作用范围,凡是受到这个判定影响的所有模块都属于这个判定的作用范围,理想的情况是(A)A.模块的作用范围应在控制范围之内B.模块的控制范围应在作用范围之内C.模块的作用范围与控制范围交叉D.模块的作用范围与控制范围不相交65.软件危机具有下列表现(D)I、对软件开发成本估计不准确=2\*ROMANII、软件产品的质量往往不可靠III、软件常常不可维护IV、软件成本逐年上升A.I、=2\*ROMANII和IIIB.I、III和IVC.=2\*ROMANII、III和IVD.以上都正确66.产生软件危机的原因可能有(D)I、用户需求描述不精确、不准确=2\*ROMANII、对大型软件项目的开发缺乏有力的组织与管理III、缺乏有力的方法学和工具的支持IV、软件产品的特殊性和人类智力的局限性A.I和=2\*ROMANIIB.I、=2\*ROMANII和IVC.=2\*ROMANII、III和IVD.以上都正确68.(A)分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。A.增量模型(分批)B.喷泉模型(重叠)C.原型模型D.螺旋模型(迭代,风险分析)69.为了克服软件危机,人们提出了用(D)的原理来设计软件,这就是软件工程诞生的基础。A.数学B.软件学C.运筹学D.工程学具有风险分析的软件生存周期模型是(C)A.瀑布模型 B.喷泉模型C.螺旋模型 D.增量模型瀑布模型的关键不足在于(B)A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审软件工程的目标有(B)。A.易于维护B.低的开发成本C.高性能D.短的开发期软件工程学的目的和意义是(D)。A.应用科学的方法和工程化的规范管理来指导软件开发B.克服软件危机C.做好软件开发的培训工作D.以较低的成本开发出高质量的软件开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程B.软件周期C.软件危机D.软件产生快速原型模型的主要特点之一是(D)A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件瀑布模型的存在问题是(B)A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求软件生存周期模型不包括:(B)A.瀑布模型B.对象模型C.增量模型D.喷泉模型下列哪个不属于软件工程的内涵之一(C)A.应用完善的科学与工程原理B.经济地开发软件C.高薪聘请软件高手D.开发既可靠又能有效运行的软件在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)。A.维护时期B.计划时期C.运行时期D.开发时期下列哪个办法不属于解决软件危机的途径之一(B)A.研制新一代智能计算机B.大力扶持软件企业C.采用软件工程的解决途径D.采用面向对象的软件设计方法下面哪一项不属于快速原型模型的优点。BA.可及早为用户提供有用的产品。B.可保证在开发后期,全面发现错误给以纠正。C.减少技术应用风险,缩短开发时间,减少费用、提高生产率。D.促使用户主动参与开发活动,促进各类人员的协调,适应需求变化。下列哪个不属于瀑布模型与传统的程序设计的不同之处(D)。A.传统的程序设计开发人员只开发程序,不写文档.B.传统的程序设计重点在问题求解和算法,并只有自己才能读懂.C.瀑布模型的各阶段要第三方介入审察D.传统的程序设计规定各阶段必须写文档.下面哪个模式不属于软件工程的开发模式(C)A.基于瀑布模型的开发模式B.基于原型模型的开发模式C.基于人机对话的开发模式D.基于关系数据库的开发模式数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(B)。A.数据说明条目、控制流条目、加工条目、数据存储条目B.数据流条目、数据项条目、数据存储条目、加工条目C.数据源条目、数据流条目、数据处理条目、数据文件条目D.数据流条目、数据文件条目、数据项条目、加工条目下列模型属于成本估算方法的有(A)A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法DFD图反映系统(D)A.怎么做B.对谁做C.何时做D.做什么经济可行性研究的范围包括(C)A.资源有效性B.管理制度C.效益分析D.开发风险为高质量地开发软件项目,在软件结构设计时,必须遵循(A)原则。A.信息隐蔽B.质量控制C.程序优化D.数据共享需求规格说明书的作用不包括(C)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据90.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的(A)。A.总貌B.细节C.抽象D.软件的作者91.经调查,系统分析员给出有问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要还应输入系统,经库存业务(进贷或出贷)处理后输出。从这段描述可知该部分数据流图中的外部项为:AA.采购员、仓库管理员B.定购清单、库存业务C.库存业务D.定购清单、采购员92.数据流是数据流图的基本成分,下列关于数据流的叙述中,___B___是正确的。A.某加工的输入是一个数据流,该加工的输出也必定是一个数据流B.多个不同的数据流可以流向一个加工,也可从一个加工中流出C.数据流只能从加工流向文件,但不能从文件流向加工D.一个数据流可以从一个文件流向另一个文件93.需求分析阶段最重要的技术文档之一是:(C)A.项目开发计划B.设计说明书C.需求规格说明书D.可行性分析报告94.需求工程的主要目的是(C)A.系统开发的具体方案B.进一步确定用户的需求C.解决系统是“做什么的问题”D.解决系统是“如何做的问题”95.不适于作为数据流图处理(加工)框名称的是__B__。A.人工校核工资数据 B.工资支票数据C.打印工资支票 D.计算职工工资96结构化程序设计思想的核心是要求程序只由顺序、循环和(A)三种结构组成。A.选择B.单入口C.单出口D.有规则GOTO97.模块(C),则说明模块的独立性越强。A.耦合越强B.扇入数越高C.耦合越弱D.扇入数越低98.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)A.数据耦合B.公共耦合C.标记耦合D.内容耦合[解析]耦合分为以下几种,按照耦合度由高到低排列是:内容耦合――一个模块直接访问另一个模块的内容。公共耦合――组模块都访问同一全局数据结构。外部耦合――组模块都访问同一个数据项。控制耦合――一个模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能99.软件结构图中,模块框之间若有直线连接,表示它们之间存在(A)A.调用关系B.组成关系C.链接关系D.顺序执行关系100.概要设计最终结果是产生(C)A.项目开发计划B.需求规格说明书C.软件结构设计说明书D.可行性分析报告101.在有集成(组装)测试的叙述中,__A____是正确的。A测试底层模块时不需要桩模块B驱动模块的作用是模拟被调模块C自顶向下测试方法易于设计测试结果D自底向上测试方法有有利于提前预计测试结果102.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边缘值分析法设计测试用例,应选___D__。A.a=3,b=4,c=5 B.a=1,b=2,c=4C.上述A.B项目都应选上 D.a=1,b=2,c=3103、软件维护的副作用,是指(C)。A.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时误操作在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(D)。A.状态图B.数据流图C.系统结构图D.时序图面向对象分析是对系统进行(A)的一种方法。A.需求建模B.程序设计C.设计评审D.测试验收(C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A.多态性B.继承C.封装D.消息下列不属于面向对象开发方法的是(B)A.BoochB.UMLC.CoadD.OMT面向对象的分析方法主要是建立三类模型,即(D)A.系统模型,ER模型,应用模型B.对象模型,动态模型,实现(应用)模型C.ER模型,对象模型,功能模型D.对象模型,动态模型,功能模型面向对象程序设计的基本机制(A)A.继承B.消息C.方法D.结构下列属于面向对象的要素对象、属性、服务有(C)对象、属性、服务A.分类性B.抽象C.对象D.封装对象三要素:对象、属性、服务在进行面向对象分析时,所采用的模型有()。A.对象模型B.动态模型C.静态模型D.功能模型状态是对象属性的值的一种抽象,它的性质有()。A.时间性B.持续性C.有序性D.有穷性建立继承关系时所采用的方式有()。A.自顶向下B.从内到外C.自底向上D.从复杂到简单对象是人们要研究的任何事物,主要的对象类型有()。A.有形实体B.作用C.事件D.性能说明类库这种机制是(D)级别的信息共享。A.同一类B.不同类C.同一应用D.不同应用状态是对象(D)的抽象。A属性值B.方法C.功能D.行为动态模型的描述工具是(D)。A.对象图B.结构图C.流程图D.状态图在确定对象的属性中,所有(A)是候选的对象。A.名词B.动词C.词组D.修饰性名词词组对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A.结合B.隐藏C.封装D.抽象OOA是(D)A.结构化分析B.面向对象程序设计C.面向对象程序分析D.面向对象分析面向对象继承、多态、封装、重用的特征不包括(C)继承、多态、封装、重用A.继承性。B.多态性。C.互换性D..封装性在面向对象软件开发方法中,类与类之间主要有以下结构关系(D)A继承和聚集B继承和一般C聚集和消息传递D继承和方法调用以下哪一项不是面向对象的特征(D)A多态性B继承性C封装性D过程调用对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A.结合B.隐藏C.封装D.抽象在面向对象软件开发方法中,类与类之间主要有以下结构关系(A)A继承和聚集B继承和一般C聚集和消息传递D继承和方法调用以下哪一项不是面向对象的特征(D)A多态性B继承性C封装性D过程调用下面所列的性质中,(D)不属于面向对象程序设计的特性。A.继承性B.重用性C.封装性D.可视化下列是面向对象设计方法中有关对象的叙述,其中(B)是正确的。A.对象在内存中没有它的存储区B.对象的属性集合是它的特征表示C.对象的定义与程序中类型概念相当D.对象之间不能相互通信在面向对象软件方法中,“类”是(D)。A.具有同类数据的对象的集合B.具有相同操作的对象的集合C.具有同类数据的对象的定义D.具有同类数据和相同操作的对象的定义面向对象分析时,所标识的对象为__D____是错误的。A.与目标系统有关的物理实体B.与目标系统发生作用和人或组织的角色C.目标系统运行中需记忆的事件D.目标系统中环境场所的状态面向对象设计OOD模型的主要部件中,通常不包括__A___。A通信部件B.人机交互部件C.任务管理D.数据管理面向对象设计时,对象信息的隐藏主要是通过__A____实现的。A.对象的封装性B.子类的继承性C.系统模块化D.模块的可重用作为面向对象分析的基础、由问题领域中的对象所组成、用ER图来描述是_A___。消息模型 B.处理模型 C.状态模型 D.瀑布模块开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(C)。A.软件工程B.软件周期C.软件危机D.软件产生下面不属于软件工程3要素的是(D)A)工具B)过程C)方法D)环境检查软件产品是否符合需求定义的过程称为(A)A)确认测试B)集成测试C)验证测试D)验收测试数据存储和数据流都是(D),仅仅是所处的状态不同。A)分析结果B)事件C)动作D)数据数据流图和(C)共同组成目标系统的逻辑(功能)模型。A)HIPO图B)PDLC)数据字典D)层次图数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A)。A)控制流B)加工C)数据存储D)源和汇结构化分析方法就是面向(B)的自顶向下逐步求精进行需求分析的方法。A)目标B)数据流C)功能D)对象下面不属于软件工程设计基本原理的是(C)

A)抽象 B)模块化 C)自底向上 D)信息隐蔽(D)是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。A)模块化B)抽象C)精化D)模块面向数据流的设计方法把(D)映射成软件结构。A)数据流B)系统结构C)控制结构D)信息流程序流程图(PDF)中的箭头代表的是(B)。A)数据流B)控制流C)调用关系D)组成关系在进行软件结构设计时应该遵循的最主要的原理是(C)A)抽象B)模块化C)模块独立D)信息隐蔽在测试中,下列说法错误的是(B)A)测试是为了发现程序中的错误而执行程序的过程B)测试是为了表明程序的正确性C)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案D)成功的测试是发现了至今为止尚未发现的错误的测试下列工具中为需求分析常用工具是(D)A)PADB)PFDC)N-S D)DFD软件调试的目的是(B)A)发现错误B)改正错误C)改善软件的性能D)挖掘软件的潜能软件详细设计主要采用的方法是(A)。A)结构化程序设计B)模型设计C)结构化设计D)流程图设计软件开发的原型化方法是一种动态定义软件需求的方,下述条件中,(A)是实施原型化方法所必需的。Ⅰ成熟的原型化人员Ⅱ快速的成型工具Ⅲ需求了解的正确性A)Ⅰ和ⅡB)Ⅱ和ⅢC)Ⅰ、Ⅱ和ⅢD)Ⅲ模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是(D)。顺序性内聚B)过程性内聚C)逻辑性内聚D)功能性内聚由弱到强:偶然内聚、逻辑内聚、时间内聚、过程内聚;通信内聚、顺序内聚和功能内聚。由弱到强:偶然内聚、逻辑内聚、时间内聚、过程内聚;通信内聚、顺序内聚和功能内聚。由弱到强:偶然内聚、逻辑内聚、时间内聚、过程内聚;通信内聚、顺序内聚和功能内聚。数据字典是对数据定义信息的集合,它所定义的对象都包含在(A)中。A)数据流图 B)程序框图C)软件结构D)方框图软件开发的结构化分析方法,常用的描述软件功能需求的工具是(C)。A)业务流程图、处理说明B)软件流程图、模块说明C)数据流程图、数据字典D)系统流程图、程序编码软件开发的结构化设计方法(SD方法),全面指导模块化分的最重要的原则应该是(C)。A)模块高内聚B)模块低耦合C)模块独立性D)程序模块化面向数据流的软件设计方法,一般是把数据流图中得数据流化分为(B)两种流,再将数据流图映射为软件结构。A)数据流与事务流B)交换流和事务流C)信息流与控制流D)交换流和数据流软件设计中,可应用于详细设计的工具在软件详细设计阶段,常用的图形描述工具有程序流程图,在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS图)和问题分析图(PAD).常用的语言描述工具为PDL(程序设计语言),常用的表格描述工具有判定表和判定树A)程序流程图、PAD、方框图和伪码B)数据流程图、PAD、结构图和伪码C)业务流程图、N-S图和伪码D)数据流程图、PAD、N-S图和伪码软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基本依据则是用户提出的软件(B)。A)系统质量B)系统目标C)系统功能D)系统性能结构化方法将软件生命周期分为计划、开发概要设计、详细设计、软件实现、软件测试和运行3个时期,下列任务中(B)属于计划时期的任务问题定义、可行性研究、需求分析。概要设计、详细设计、软件实现、软件测试问题定义、可行性研究、需求分析A)需求分析B)问题定义C)总体设计D)编码耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应属于(B)方式。内容耦合一个模块直接访问另一个模块的内容B)公共耦合一组模块都访问同一数据结构C)外部耦合一组模块都访问同一个数据项D)控制耦合一个模块明显的把开关量、名字等信息送入另一模块,控制另一模块一个模块直接访问另一个模块的内容一组模块都访问同一数据结构一组模块都访问同一个数据项一个模块明显的把开关量、名字等信息送入另一模块,控制另一模块[解析]耦合分为以下几种,按照耦合度由高到低排列是:内容耦合――一个模块直接访问另一个模块的内容。公共耦合――组模块都访问同一全局数据结构。外部耦合――组模块都访问同一个数据项。控制耦合――一个模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C)方式。逻辑内聚由传给模块的参数来确定模块应该完成哪一种功能B)时间内聚按顺序完成相关功能C)过程内聚按照特定次序执行元素的模块D)顺序内聚把处理元素和一个功能密切相关由传给模块的参数来确定模块应该完成哪一种功能按顺序完成相关功能按照特定次序执行元素的模块把处理元素和一个功能密切相关逻辑内聚是指把几种相关的功能组合在一起,每次调用时,由传给模块的参数来确定模块应完成哪一种功能;时间内聚是指顺序完成一类相关功能的模块;过程内聚是指内部的处理元素是相关的而且必须以特定次序执行的模块,与题目相符;而顺序模块是把模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行的模块。软件管理中,需要对软件进行配置,各阶段文档的管理属于(D)。A)组织管理B)资源管理C)计划管理D)版本管理软件开发的结构化方法中,常用数据字典技术,其中数据加工是其组成内容之一,下述方法(D)是常采用编写加工说明的方法。Ⅰ结构化语言Ⅱ判定树Ⅲ判定表A)ⅠB)ⅡC)Ⅱ、ⅢD)都是软件开发过程中,软件结构设计是描述(B)。A)数据存储结构B)软件模块体系C)软件结构测试D)软件控制过程(B)是对象的静态特征。A.方法B.属性C.关系D.操作对象的(D)是对象的动态特征。A.特征B.属性C.关系D.操作属于某个类的一个具体对象称为该类的(A)A.实例B.虚拟C.继承D.多态UML是(A)。A)一种可视化的建模语言B)是一种可视化的程序设计语言C)是一种过程D)是一种方法下列的(C)不属于面向对象分析模型。A.用例图B.类图C.实体关系图D.顺序图程序的三种基本控制结构是(B)。A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移结构化程序设计主要强调的是(D)。A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A.程序内部逻辑B.程序复杂结构C.使用说明书D.程序的功能确认测试主要涉及的文档是(A)。A)需求规格说明书B)概要设计说明书C)详细设计说明书D)源程序测试的关键问题是(D)。A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例下面哪个测试属于黑盒测试(B)。A)路径测试B)等价类划分C)条件判断覆盖测试D)循环测试软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。A)结构合理性B)软件外部功能C)程序正确性D)程序内部逻辑为了适应软硬件环境变化而修改软件的过程是(C)。A)校正性维护B)完善性维护C)适应性维护D)预防性维护在McCall软件质量度量模型中,(C)属于面向软件产品修改。A.可靠性B.可重用性C.适应性D.可移植性瀑布模型的存在问题是(B)A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护程序的三种基本控制结构的共同特点是(D)A.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。A.需求不确定性高的B.需求确定的C.管理信息D.实时以下不属于逻辑覆盖的是(D)。A.语句覆盖B.判定覆盖C.条件覆盖D.基本路径覆盖一个模块的(B)是指能直接控制该模块的模块数。A.扇出数B.扇入数C.宽度D.深度软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B)。A)用户B)需求审评C)总结D)都不正确以下分析模型的结构成员中,属于行为模型的是(C)。A)数据流图B)实体-关系图C)状态转换图D)数据字典在白盒法技术测试用例的设计中(A)是最弱的覆盖标准。A)语句B)条件C)判定D)条件组合模块化中的信息隐藏原则是指(B)。A)使信息对用户隐藏B)使信息对其它模块隐藏C)使信息对软件隐藏D)使信息对操作系统隐藏CASE是指(C)。A)计算机辅助软件开发B)计算机辅助软件制造C)计算机辅助软件工程D)计算机辅助软件设计以下软件生命周期模型中,(A)是用户驱动的模型。A)快速原型模型B)螺旋模型C)喷泉模型D)瀑布模型文档驱动文档驱动若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()A)条件覆盖法B)等价分类法C)边界值分析法 D)错误推测法模块的扇入是指(A)。A)本模块的所有上层模块数B)本模块的所有下层模块数C)调用本模块的所有模块数D)本模块调用的所有模块数软件生存周期是指(D)。A)开发软件的全部时间B)使用软件的全部时间C)开发和使用软件的全部时间D)从软件计划起直到软件废弃所经历的全部时间测试用例是指(C)。A)被测对象B)测试的输入数据C)测试数据+预期结果D)测试的预期结果软件能力成熟度模型CMM分为(C)个等级。A)3B)4C)5数据流A由若干个数据项B和一个数据项C组成,用数据字典的符号表示出来(D)。A.A={B+C}B.A={B}+{C}C.A=B+{C}D.A={B}+C分层DFD中父子平衡是指(D)。A.父加工的数据流数目与子图中数据流数目相同B.父图应包含子图中的全部数据流C.子图应包含父图中的全部数据流D.父加工和子图的输入数据和输出数据应分别保持一致下列( B)属于不良的编程习惯。A.尽量不使用GOTO语句 B.从来不使用注释C.每行只写一条语句 D.变量命名尽量直观瀑布模型中各阶段按时间先后顺序是(B)。A.计划→需求分析→编码→设计→测试→维护B.计划→需求分析→设计→编码→测试→维护C.计划→设计→需求分析→编码→测试→维护D.计划→需求分析→设计→测试→编码→维护目前最流行的面向对象建模语言是(C)。A)HTMLB)XMLC)UMLD)VML

判断题:1.软件是一种抽象的逻辑产品。(√) 2.按照软件的服务对象可将软件划分为系统软件和应用软件服务对象:项目软件和产品软件软件用途(功能):系统软件、应用软件、支撑软件软件规模:微型、小型、大型、中型等工作方式:实时处理软件、分时软件、交互式软件、批处理软件两类。(×服务对象:项目软件和产品软件软件用途(功能):系统软件、应用软件、支撑软件软件规模:微型、小型、大型、中型等工作方式:实时处理软件、分时软件、交互式软件、批处理软件 3.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作软件危机。(√) 4.软件危机就是大量软件出现严重问题不能继续再使用。(×) 5.软件工程有7个基本要素3个基本要素:方法、工具、过程常用的软件工程方法有7种类型。(3个基本要素:方法、工具、过程常用的软件工程方法有7种类型 6.结构化软件开发期将软件开发划分为3个阶段,其中关键的是需求的准确性。(√) 7.瀑布模型存在的最主要的问题是缺乏灵活性。(√) 8.在软件工程中,软件是指程序+数据+文档程序+数据+文档+程序+数据+文档+服务 9.软件就是指程序见上题。(×)见上题 10.CASE即计算机辅助软件工程的英文缩写。(√) 11.瀑布模型也称为是基于文档驱动的模型。(√) 12.快速原型模型也称为是基于文档驱动用户驱动的模型。(×)用户驱动13.软件生存周期是指开发软件软件生存周期是指软件开始研发到软件停止使用的整个过程的全部时间。(×)软件生存周期是指软件开始研发到软件停止使用的整个过程 14.软件工程在软件设计时把软件的效率放在第一位。(√) 15.可行性分析研究的目的是规划如何开发项目以尽可能小的成本在较短时间和特点条件下确定软件项目是否值得研发。(×)以尽可能小的成本在较短时间和特点条件下确定软件项目是否值得研发 16.可行性分析研究的目的是探讨项目值得开发否。(√) 17.软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基本依据则是用户提出的软件系统目标。(√) 18.软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基本依据则是用户提出的软件系统功能。(×) 19.在可行性研究中最具挑战性的,难度最大是技术可行性分析。(√ 20.数据存储和数据流都是数据,区别在于数据流是静态数据,而数据存储是动态数据数据流是动态数据,数据储存是静态数据。(×)数据流是动态数据,数据储存是静态数据 21.数据流图和数据字典共同组成目标系统的逻辑(功能)模型。(√) 22.SA(结构化分析)方法中目标软件的逻辑模型是由数据流图和数据字典共同组成。(√) 23.数据流图中可以有控制流数据流程图的是数据流,控制流属于程序流程图。(×)数据流程图的是数据流,控制流属于程序流程图 24.数据字典是对数据定义信息的集合,它是对DFD中所有数据对象及加工的详细说明。(√) 25.DFD中的每个加工至少有一对输入流和输出流。(√) 26.结构化分析方法是一种面向数据流的自顶向下逐步求精进行需求分析的方法。(√) 27.结构化分析方法是一种面向数据结构数据流的需求分析的方法。(×)、数据流 28.需求分析最终结果是产生SRS(软件需求规格说明书)。(√) 29.需求分析最终结果是产生项目开发计划。(×) 30.软件设计基本原理中不包括自底向上的设计思路。(√) 31.软件设计基本原理中包括自底向上的设计思路。(×) 32.模块的的独立性高意味着模块的内聚弱,耦合高高内聚、低耦合。(×)高内聚、低耦合 33.模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。(√) 34.面向数据流的设计方法简单地说就是把DFD中的信息流信息流由交换流和事务流组成映射成为软件结构。(√)信息流由交换流和事务流组成 35.面向数据流的设计方法就是把DFD中的控制结构信息流映射成为软件结构。(×)信息流 36.程序流程图(PDF)中的箭头代表的是程序的控制流程。(√) 37.模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是过程性内聚功能内聚由弱到强:偶然内聚、逻辑内聚、时间内聚、过程内聚;通信内聚、顺序内聚和功能内聚。(×)功能内聚由弱到强:偶然内聚、逻辑内聚、时间内聚、过程内聚;通信内聚、顺序内聚和功能内聚 38.面向数据流的软件设计方法,一般是把数据流图中得数据流信息流化分为变换流和事务流两种类型,再将数据流图信息流映射为软件结构。(×)信息流信息流 39.模块的控制域和作用域原则是指作用域应该在控制域之内。(√) 40.模块化中的信息隐藏原则是指使模块内部的私有信息对软件开发人员其他模块隐藏。(×)其他模块 41.内聚和藕合都是用于度量模块复杂性独立性的两个定性指标。(×)独立性 42.判定所在的模块以及该判定影响的所有模块称为判定的作用范围。(×)以及该判定影响的所有模块 43.判定所在的模块及该判定影响的所有模块称为判定的作用范围。(√) 44.软件详细设计主要采用的方法是流程图设计法。(√) 45.程序的三种基本控制结构是顺序、选择和重复。(√) 46.程序的三种基本控制结构的共同特点是只有一个入口和一个出口。(√) 47.结构化程序设计主要强调的是程序的清晰易读性(√) 48.软件详细设计的主要任务是确定每个模块的功能实现算法。(×)实现算法 49.检查软件产品是否符合需求定义的测试过程称为集成测试确认测试。(×)确认测试 50.测试是为了证明程序中没有错误而执行程序的过程。(×) 56.软件调试的目的是改正软件中存在错误。(√) 57.测试用例就是一组测试用的数据。(×) 58.测试用例就是一组测试用的数据及其预期结果。(√) 59.使用白盒测试方法时,确定测试数据应根据程序的输入输出关系内部逻辑。(×)内部逻辑 60.测试的关键问题是如何选择测试用例。(√) 61.测试的关键问题是用测试用例来驱动测试被测对象。(× 62.在白盒法技术测试用例的设计中,语句覆盖是必须要满足语句覆盖是做弱的覆盖标准的覆盖标准。(×)语句覆盖是做弱的覆盖标准 63.为了适应软硬件环境变化而修改软件的过程是预防性维护适应性维护。(×)适应性维护 64.软件在给定的时间间隔内和给定的条件下,按照规格说明书的规定成功地运行的概率称为软件的可靠性。(√) 65.UML是统一建模语言的英文简写。(√) 66.在面向对象技术中,对象之间可以直接调用对方的任何方法。(×) 67.在面向对象技术中,对象之间利用数据信息进行通信。(×)信息 68.软件项目管理中,需要对软件进行配置,各阶段文档的管理属于资源管理版本管理。(×)版本管理69.软件能力成熟度模型CMM分为5个等级。(√)1.软件生命期各阶段的任务是什么?

答:软件生命期分为7个阶段:

1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。

2、软件重用的效益是什么?

答:1、软件重用可以显著地改善软件的质量和可靠性。2、软件重用可以极大地提高软件开发的效率。3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?

答:

①自顶而下渐增测试

优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

缺点:需要存根程序,底层错误发现较晚。

②自底而上渐增测试

优点与缺点和自顶而下渐增测试相反。

4、提高可维护性的方法有哪些?

答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。

在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。

在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。

在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。

在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。

在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。

为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。【解答】测试过程按4个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。36.简述容错技术的四种主要手段,并解释。结构冗余:包括静态冗余、动态冗余和混合冗余。信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。36.可行性报告的主要内容有哪些?解:一个可行性研究报告的主要内容如下:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。[解析]做软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发,其中的问题能否解决,报告共分为八个基本内容。37.系统设计的内容是什么?解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。38.什么是软件危机?软件危机的表现是什么?其产生的原因是什么?解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。软件危机表现在以下四个方面:(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。造成软件危机的原因是:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。6)开发工具落后,生产率提高缓慢。39.软件质量保证应做好哪几方面的工作?解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。(2)组织正式技术评审。在软件开发的每一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。(3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。(4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。[解析]软件的质量保证是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,是软件工程管理中的重要内容。40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。解:PDL语言:N=1WHILEN<=10DOIFA(N)<=A(N+1)MAX=A(N+1);ELSEMAX=A(N)ENDIF;N=N+1;ENDWHILE;PAD图:[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。四、应用题(每题8分,共40分)42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报表调整月生产计划3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。解:画出生产科图的给6分,画出技术科的给4分。[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。答:将下面给出的伪码转换为N-S图和PAD图。voidroot(floatroot1,floatroot2){i=1;j=0;while(i<=10){输入一元二次方程的系数a,b,c;p=b*b–4*a*c;if(p<0)输出“方程i无实数根”;elseif(p>0)求出根并输出;if(p==0){求出重根并输出;j=j+1;}i=i+1;}输出重根的方程的个数j;}【解答】(1)N-S图i=1;j=0;i=1;j=0;while(i<=10)输入a,b,c;计算p=b2-4ac;p<0?输出“方程i”无实根求出根并输出p>0?p==0?求出重根并输出;j=j+1;i=i+1;输出重根的方程个数iTTTFFF(2)PAD图i=1;j=0;i=1;j=0;输出重根的方程个数iwhile(i<=10)输入a,b,c;计算p=b2–4ac;求出根并输出p>0?p<0?输出方程i无实根p=0?求出重根并输出;j=j+1;i=i+1;3、:输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”.要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度;3.设计路径覆盖的测试用例。答:开始开始输入A,B,CA+B>CA+C>BB+C>A输出ABC不能构成三角形结束FFFTTT①②③④⑤⑦①①②①③④⑤⑥⑦ⅠⅡⅢⅣ路径:1.①—②—③—④—⑥—⑦2.①—②—⑤—⑥—⑦3.①—⑤—⑥—⑦4.①—②—③—⑤—⑥—⑦程序复杂度=3+1=4测试用例路径测试用例(A,B,C)结果1A=3,B=4,C=5A=3,B=4,C=52A=5,B=8,C=2不能构成三角形3A=2,B=2,C=5不能构成三角形4A=5,B=2,C=2不能构成三角形4、某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法.答案:5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员和开发人员。开发部门有经理和开发人员,管理部门有经理和工作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,每位经理可主持多个开发项目,建立该公司的对象模型。答案:软件公司软件公司部门名部门开发部门管理部门软件产品开发人员经理开发项目工作人员员工是是有有有有开发参加1+1+1+1+1+1+1+▼▼▼▼▼有2.复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。请用状态转换图描绘复印机的行为。3.根据下边的程序流程图,画出相应的N-S图,并计算它的环形复杂度。FFTSTARTPABQENDFT5.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。(2)报社下属多个发行站,每个站负责收集登录订单、打印收款凭证等事务。(3)报社负责分类并统计各个发行站送来的报刊订阅信息。请就此需求建立对象模型。(15分)6.在要建立的某库房简化的信息管理系统中,库房管理员负责:1)当新的货物需要入库时,根据入库单(品名,编号,生产厂家,数量,单价,日期)录入物品信息。2)当接到出库单(品名,编号,数量,日期)时,进行数量的修改。3)当日结时,打印库房商品库存清单(品名,编号,库存量,库存金额)。就以上系统功能画出0层,1层的DFD图。ⅱ顶层DFD的数据词典。入库单=品名+编号+生产厂家+数量+单价+日期出库单=品名+编号+数量+日期库存清单=品名+编号+库存量+库存余额年终库存情况表=品名+编号+库存量+库存金额简答题1.软件工程的七条基本原理是什么?答:软件工程的七条基本原理是:(1)用分阶段的是的生存周期计划严格管理(2)坚持进行阶段评审;(3)严格实施的产品控制(4)采用现代程序技术(5)结果应能清楚地审查;(6)开发小组的成员应该少而精(7)承认不断改进软件工程的必要性。2.良好的编码风格应具备哪些条件?答:应具备以下条件:(1)使用标准的控制结构(2)有限制地使用GOTO语句(3)源程序的文档化(应具备以下内容)①有意义的变量名称——“匈牙利命名规则”②适当的注释——“注释规范”③标准的书写格式:——用分层缩进的写法显示嵌套结构的层次(锯齿形风格)——在注释段的周围加上边框——在注释段与程序段、以及不同程序段之间插入空行——每行只写一条语句——书写表达式时,适当使用空格

温馨提示

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

评论

0/150

提交评论