《计算机科学技术:软件工程考试题库四.docx》由会员分享,可在线阅读,更多相关《计算机科学技术:软件工程考试题库四.docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机科学技术:软件工程考试题库四161、多选模块的基本特征是()。A、外部特征(输入/输出、功能)B、内部特征(输入/输出、功能)C、内部特征(局部数据、代码)D、外部特征(局部数据、代码)答案:A,C162、单选结构化设计方法采用变换分析和事务分析技术实现()。A从数据结构导出程序结构B从模块结构导出程序结构C从模块结构导出数据结构D从数据流图导出初始化结构图答案:D163、问答题在面向对象分析时类和对象的静态关系主要有哪几种?答案:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。164、问答题项目可行性报告包括哪几部分的内容?答案:包括如下内容:引言系统名称、目标、功能、开发组
2、织单位,服务对象等。系统开发的背景,必要性和意义现行系统的调查研究:组织机构、业务流程、工作负荷、费用、人员、设备、计算机应用情况、存在问题等。需求调查和分析:用户提出的需求及考虑经济改革和发展需要进行预测结果。新系统的几种方案介绍拟建系统目标系统规模及初步方案(粗略的逻辑模型)系统的实施方案(计划安排)投资方案人员培训及补充方案其他可供选择的方案可行性研究1)技术上的可行性(按系统目标衡量)对现有技术的估价使用现有技术进行系统开发的可行性对技术发展可能产生影响的预测关键技术人员的数量和水平估计2)经济上的可行性(估算成本/效益比)现有的经济条件开发、运行费用对系统效益的估计投资回收期成本/效
3、益比3)系统运行的可行性对组织机构的影响人员适应的可行性环境条件的可行性几种方案的比较分析结论165、问答题分析RUP的二维开发模型,说明RUP的迭代开发过程。答案:在RUP中,软件开发生存周期根据时间和RUP的核心工作流划分为二维空间。横轴描述RUP开发过程的动态结构,纵轴描述RUP的静态组成部分。横轴把软件开发周期(Cycle)划分为起始(Inception)、演化(Elaboration)、构造(Construction)和提交(Transition)四个连续的阶段(Pahse)。纵轴表示核心工作流。RUP中有商业建模、需求、分析和设计、实现、测试、部署、配置和变更管理、软件项目管理和环
4、境9个核心工作流(CoreWorkflows):RUP中的每个阶段都由一个或多个连续的迭代组成,每一个迭代都是一个完整的开发过程,产生一个可执行的产品版本,在每个阶段结束前都应有一个里程碑(MileStone)评估该阶段的工作,只有当阶段目标达到时才允许项目进入下一阶段,产生一个阶段里程碑。这是一种更灵活、风险更小的方法,是多次通过不同的开发工作流,这样可以更好地理解需求,构造一个健壮的体系结构,并最终交付一系列逐步完成的版本,称为一个迭代生存周期。166、单选在下列工具与环境中()属于较早期的CASE。A基于信息工程CASEB人工智能CASEC结构的基于图形CASED集成的CASE环境答案:
5、C167、单选软件的()一般由两次故障平均间隔时间和故障平均恢复时间来度量。A可维护性B可靠性C效率D可理解性答案:B168、填空题在软件开发过程中要产生大量的信息,要进行大量的修改,()能协调软件开发,并使混乱减到最低程度。答案:软件配置管理169、多选属性的可见性有()。A、公有的B、私有的C、私有保护的D、保护的答案:A,B,D170、单选某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为()。A数据耦合B混合耦合C公共耦合D控制耦合答案:D171、单选模块内部的算法设计在结构化方法的()阶段进行。A、系
6、统分析B、概要设计C、详细设计D、编码(实现)答案:C172、判断题用面向对象方法开发的软件系统,可维护性好。()答案:对173、单选在软件生产的(),使用的工具主要是机器语言和汇编语言。A.程序系统时代B.软件工程时代C.面向对象时代D.人工智能时代答案:A174、单选通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是()A.通信、逻辑、顺序、时间B.通信、时间、顺序、逻辑C.顺序、通信、时间、逻辑D.顺序、通信、逻辑、时间答案:C175、单选要显示描绘软件开发项目各作业的依赖关系,应选择()。A.Gantt图B.工程网络C.COCOMO模型D.数据流图答案:B176、判断题当模块
7、的控制范围是其作用范围的子集时,模块之间的耦合度较低。()答案:错177、单选下列叙述中,()不属于数据字典的作用。A、作为编码阶段的描述工具B、为用户与开发人员之间统一认识C、作为概要设计的依据D、为需求分析阶段定义各类条目答案:A178、问答题什么是模块化?模块设计的准则?答案:模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。模块设计的准则:(1)改进软件结构,提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。(2)模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级
8、模块中。(3)软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。(4)尽量降低模块接口的复杂程度。(5)设计单入口、单出口的模块。(6)模块的作用域应在控制域之内。179、问答题软件开发为什么要使用UML建模?它有何特点?答案:软件开发的过程犹如雕琢一件工艺品,由无形到有形,由粗到细。鉴于软件系统的复杂性和规模的不断增大,项目失败的可能性也相应增加。需要建立不同的模型对系统的各个层次进行描述。在长期的研究与实践中,人们越来越深刻地认识到,建立简明准确的表示模型是把握复杂系统的关键。模型是对事物的一种抽象,在软件开发过程中,建立各种模型,以便更透彻地了解系统的本质。由于U
9、ML以图形模型为主,模型的直观性及丰富的信息描述便于开发人员与用户的交流。建立的模型也为以后的系统维护和升级提供了文档。总的来说,使用模型可以使人们从全局上把握系统的全貌及其相关部件之间的关系,可以防止过早地陷入各个模块的细节。因此,面向对象的分析与设计应该从建模开始。UML是一种标准的图形化、可视化的建模型语言,UML的核心是建立系统的各类模型。其主要特点是:统一标准。UML统一了面向对象的主要流派Booch、OMT和OOSE等方法中的基本概念,已成为对象组织OMG的正式标准,并提供了标准的面向对象的模型元素的定义和表示。面向对象。UML集面向对象技术的众家之长。吸取了面向对象技术领域中其他
10、流派的长处。可视化、表示能力强。系统的各种模型都能用UML的可视化模型清晰地表示,对系统描述能力强,模型蕴涵的信息丰富,可用于复杂软件系统的建模。独立于过程。UML是系统建模语言,独立于开发过程。易掌握、易用。UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。正是由于UML具有上述优点,所以对于大型复杂系统的建模,UML是最合适的选择。180、多选确定可维护性的因素主要有()。A、文档B、可理解性C、可修改性D、可测试性答案:B,C,D181、名词解释维护的副作用答案:所谓副作用是指因修改软件而造成的错误或其它不希望发生的情况。182、问答题变换分析设计的步骤?答案:(1)区分
11、传入、传出和变换中心三部分,划分DFD图的分界线;(2)完成第一级分解:建立初始SC图的框架;(3)完成第二级分解:分解SC图的各个分支;(4)对初始结构图按照设计准则进行精化与改进。183、单选Jackson程序设计方法是一种面向()的设计方法。A、数据结构B、数据流图C、IPO图D、系统流程图答案:A184、问答题何谓软件维护的成本?如何度量软件维护的工作量?答案:软件维护的成本包括有形和无形两个部分:有形的维护成本指的是在软件维护过程中花费了多少金钱。无形的维护成本主要包括:一些合理的修复或修改请求不能及时安排,使得客户不满意;变更的结果引入新的故障,使得软件整体质量下降;把软件人员抽调
12、到维护工作中,干扰了软件开发工作等。软件维护的工作量的度量可用如下的公式:其中:M是维护中消耗的总工作量p是上面描述的生产性工作量K是一个经验常数c是因缺乏好的设计和文档而导致复杂性的度量d是对软件熟悉程度的度量。185、单选经过严密的软件测试后所提交给用户的软件产品中()A、软件不再包含任何错误B、还可能包含少量软件错误C、所提交给用户的可执行文件不会含有错误D、文档中不会含有错误答案:B186、问答题软件质量保证应做好哪几方面的工作?答案:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须采用技术手段和工
13、具,尤其是使用软件开发环境来进行软件开发。(2)组织正式技术评审。在软件开发的每一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。(3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。(4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。187、问答题简述文档在软件工程中的作
14、用。答案:(1)提高软件开发过程的能见度;(2)提高开发效率;(3)作为开发人员阶段工作成果和结束标志;(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。188、名词解释软件开发方法答案:使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。189、多选画DFD图的主要目的是()。A、作为需求分析阶段用户与开发者之间交流信息的工具B、对系统的数据结构进行描述C、对目标系统的层次结构进行描述D、作为分析和设计的工具答案:A,D190、单选下列模型属于成本估算方法的有()A、COCOMO模型B、McCall模型C、McCabe
15、度量法D、时间估算法答案:A191、判断题数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。()答案:错192、单选使用结构化分析方法时,采用的基本手段是()。A分解和抽象B分解和综合C归纳与推导D试探与回溯答案:A193、填空题系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()情况。答案:信息流动194、填空题复苏过程中,持续心动过缓和紫绀,很少由_引起的,可能是_导致的。答案:先天性心脏病;肺部问题解析:试题答案先天性心脏病;肺部问题195、问答题一般面向对象分析建模的工具(图形)有哪些?答案:用例图、类/对象图、对象关
16、系图、实体关系图(ER)、事件轨迹图(时序图)和状态转换图(STD)等196、名词解释软件项目的纯收入答案:在整个生存周期之内的累计经济效益与投资之差。197、单选下列文档与维护人员有关的有()A.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册答案:C198、问答题软件测试通常包含哪几个基本步骤?答案:软件测试通常应该对需求、总体设计、详细设计、编码实现各个阶段所获得的开发产品进行测试,软件测试应该贯穿于整个软件开发的全过程。软件测试过程按测试的先后次序可分为以下步骤进行:单元测试、集成测试、确认测试和系统测试,最后进行验收测试。单元测试。完成每个模块的测试,尽可能发现模块内部的
17、错误。单元测试主要采用白盒测试法。集成测试。把已测试过的模块按照一定顺序组装起来,构成软件系统。主要采用黑盒测试法。但对发现错误较多的新子系统,还可能采用白盒法进行回归测试。确认测试:检验所开发的软件能否满足所有功能和性能需求的最后手段,通常均采用黑盒测试法。系统测试:完成确认测试以后,检验它能否与系统的其他部分(如硬件,数据库及操作人员)协调工作,需要进行系统测试。验收测试:检验软件产品质量的最后一道工序是验收测试。与前面讨论的各种测试活动的不同之处主要在于它突出了客户的作用,同时软件开发人员也应有一定程度的参与。199、名词解释条件覆盖(白盒测试内容)答案:条件覆盖是指选择足够的测试用例,
18、使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支。200、问答题渐增式与非渐增式有何区别?为什么通常采用渐增式?答案:非渐增式是将所有的模块一次连接起来,简单、易行,节省机时,但测试过程中难于查错,发现错误也很难定位,测试效率低。渐增式是将模块一个一个地连入系统,每连入一个模块,都要对新子系统进行测试。这种组装测试方案虽然用机时多,但比较非渐增式容易查出错误及进行错误定位,有利于查出模块接口部分的错误,测试效率高。因此通常采用渐增式。计算机科学技术:软件工程考试题库1、单选当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A数据耦合B公共耦合
19、C标记耦合D内容耦合答案:D2、填空题科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。答案:FORTRAN语言3、单选一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于()耦合。A、数据型B、复合型C、内容型D、公共型答案:A4、判断题中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使用事务分析技术得到初始的模块结构图。()答案:错5、单选IDEF。图反映系统()A怎么做B对谁做C何时做D做什么答案:D6、名词解释模块独立性答案:模块独立性是指软件系统中每个模块只涉及软件要求的具体子
20、功能,而和软件系统中其他的模块接口是简单的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。7、单选某个模块的作用域是指()。A、被该模块调用的所用模块B、调用该模块的所有模块C、与该模块相关联的所有模块D、受该模块内的判定影响的所有模块答案:D8、填空题从模块内外的联系来看,结构化设计的要求是()。答案:高内聚低耦合9、单选瀑布模型的关键不足在于()。A.过于简单B.各个阶段需要进行评审C.过于灵活D.不能适应需求的动态变更答案:D10、名词解释完善性维护答案:为了适应用户业务和机构的发展变化,添加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。11、多
21、选软件维护阶段所产生的文档主要有()。A、软件问题报告B、软件修改报告C、软件修改申请报告D、测试报告答案:A,B12、判断题改进程序的执行效率不会引入错误。()答案:错13、问答题有哪些主要的软件开发方法?答案:主要的软件开发方法有:结构化开发方法、原型化开发方法和面向对象的开发方法。14、填空题所有软件维护申请报告要按规定方式提出,该报告也称()报告。答案:软件问题15、单选采用()且编写程序,可提高程序的可移植性。A机器语言B宏指令C汇编语言D高级语言答案:D16、判断题泳道是一种分组机制,它描述了状态图中对象所执行的活动。()答案:错17、单选为高质量地开发软件项目,在软件结构设计时,
22、必须遵循()原则。A信息隐蔽B质量控制C程序优化D数据共享答案:A18、多选软件工程学的目的和意义是()。A、应用科学的方法和工程化的规范管理来指导软件开发B、克服软件危机C、作好软件开发的培训工作D、以较低的成本开发出高质量的软件答案:A,D19、名词解释模块的控制范围答案:一个模块的控制范围指模块本身以及其所有下属模块的集合。20、多选模块的基本特征是()。A、外部特征(输入/输出、功能)B、内部特征(输入/输出、功能)C、内部特征(局部数据、代码)D、外部特征(局部数据、代码)答案:A,C21、名词解释瀑布模型答案:将软件生存周期各个活动规定为以线性顺序连接的若干阶段的模型。22、单选按
23、软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()A、需求分析B、程序设计C、详细设计D、软件维护答案:A23、单选第一个体现结构化编程思想的程序设计语言是()AFORTRAN语言BPascal语言CC语言DPL/1语言答案:B24、问答题何谓是软件危机,软件危机有哪几种表现?答案:软件开发和维护的过程中所遇到的一系列严重的问题。具体表现在:(1)产品不能符合用户的实际需求;(2)软件开发的效率较低;(3)软件产品的质量差;(4)软件开发成本和进度的估算不准确;(5)软件可维护性差;(6)软件开发文档资料不完整;(7)软件的价格昂贵。25、判断题需求分析的主要方法有SD法、
24、OOA法及HIPO法等。()答案:错26、单选下列哪个阶段不是软件生存期三个阶段中的内容()。A、计划阶段B、开发阶段C、编码阶段D、维护阶段答案:C27、单选SA法的主要描述手段有()。A、系统流程图和模块图B、DFD图、数据词典、加工说明C、软件结构图、加工说明D、功能结构图、加工说明答案:B28、单选与确认测试阶段有关的文档是()。A.需求规格说明书B.概要设计说明书C.详细设计说明书D.源程序答案:A29、问答题工资计算系统中的一个子系统有如下功能:(1)计算扣除部分由基本工资计算出应扣除(比如水电费、缺勤)的部分;(2)计算奖金部分根据职工的出勤情况计算出奖励金;(3)计算工资总额部
25、分根据输入的扣除额及奖金计算出总额;(4)计算税金部分由工资总额中计算出应扣除各种税金;(5)生成工资表根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。试根据要求画出该问题的数据流程图。答案:30、判断题在面向对象的需求分析方法中,建立动态模型是最主要的任务。()答案:错31、单选在软件生产的(),使用的工具主要是机器语言和汇编语言。A.程序系统时代B.软件工程时代C.面向对象时代D.人工智能时代答案:A32、问答题PowerDesigner包含哪几个模块?答案:PowerDesigner是一个功能强大而使用简单的工具集,它包含六个紧密集成的模块。(1)PowerDes
26、ignerProcessAnalyst数据流程图逻辑设计工具。(2)PowerDesignerDataArchitect概念数据模型与物理数据模型设计工具。(3)PowerDesignerAppModeler客户端应用程序生成工具。(4)PowerDesignerMetaWorks团队开发控制工具。(5)PowerDesignerWarehouseArchitect是数据仓库设计工具。(6)PowerDesignerViewer是模型观察工具。33、问答题一般面向对象分析建模的工具(图形)有哪些?答案:用例图、类/对象图、对象关系图、实体关系图(ER)、事件轨迹图(时序图)和状态转换图(STD
27、)等34、多选软件的主要特性是()。A、无形B、高成本C、包括程序和文档D、可独立构成计算机系统答案:A,B,C35、问答题如何画分层数据流图?有哪些基本原则?答案:总的原则是:至顶而下,逐层分解(画分层数据流图)。逐层分解的画法可以控制每一层的复杂度。顶层:将整个系统作为一个加工,描述系统边界(输入与输出)。中间层:将某个加工分解为一组子加工,其中的子加工还需进一步分解。底层:由不再进行分解的基本加工组成。画分层数据流图的基本原则有:数据守恒与数据封闭原则。加工分解的原则。子图与父图“平衡”的原则。合理使用文件的原则。36、多选画分层DFD图的基本原则有()。A、数据守恒原则B、分解的可靠性
28、原则C、子、父图平衡的原则D、数据流封闭的原则答案:A,C,D37、单选软件项目计划一般不包括以下哪项内容()A.培训计划B.人员安排C.进度安排D.软件开发标准的选择和制定答案:A38、多选需求分析的主要方法有()。A、形式化分析方法B、PAD图描述C、结构化分析(SA)方法D、OOA法答案:C,D39、名词解释软件工程过程答案:在软件生产中,软件工程过程规定了获取、供应、开发、操作和维护软件时,要实现的过程、活动和任务,它包括7个主要过程:获取过程、供应过程、开发过程操作过程、维护过程、管理过程和支持过程。40、问答题什么是软件危机?软件危机的表现是什么?其产生的原因是什么?答案:软件发展
29、第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。软件危机表现在以下四个方面:(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一
30、再拖延。(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大
31、量的问题。造成软件危机的原因是:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。41、多选用户界面设计的任务包括()。A、确定用户界面类型B、建立任务模型C、建立用户模型D、建立功能模型答案:A,B,C42、名词解释增量提交答案:增量提交是在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应的文档资料。43、问答题以G.J.Myers的观点,简述对软件测试的目的。答案:软件测试是:(1)为了发现错误而执行程序的过程。(2)一个好的用例能够发现至今尚未
32、发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。44、问答题简述业务用例图与用例图的区别。答案:业务用例图用于建立机构的业务模型,包括描述整个机构业务执行的流程和所提供的功能等内容。用例图用于对软件系统的需求分析,即用于描述一个软件系统需要完成什么样的功能。45、填空题规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有()的软件。答案:容错功能46、单选针对软件需求分析所进行的软件测试是指()A.集成测试B.确认测试C.黑盒子测试D.白盒子测试答案:B47、判断题UML是一种建模语言,是一种标准的表示,是一种方法。()答案:错48、填空题
33、软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、()、可使用性和效率。答案:可移植性49、多选UML中包括的事件有()。A、条件为真B、收到另一对象的信号C、收到操作调用D、时间表达式答案:A,B,C,D50、多选软件测试的主要特点是()。A、软件测试的开销大B、软件测试要依靠工具C、软件不能进行“穷举”测试D、软件测试要依靠人工答案:A,C51、问答题程序设计语言分为哪几类?答案:程序设计语言,按照语言级别可以分为两大类:低级语言和高级语言。低级语言包括机器语言和汇编语言。低级语言依赖于特定的机器,其使用复杂、繁琐、费时、易出差错,因而程序编写也有一定的难度。机器语言是
34、表示成二进制形式的机器基本指令集,或者是操作码经过符号化的基本指令集,其存储由语言本身决定。汇编语言比机器语言更直观,是机器语言中地址部分符号化的结果,或进一步包括宏构造。即便是现在汇编语言有着生产效率低、维护困难、容易出错的缺点,但是在实现与硬件系统接口部分时,仍然采用它,因为它易于实现接口,实现效率高。高级语言的表示方法要比低级语言更接近于待解的问题,其特点是在一定程度上与具体机器无关,易学、易用、易维护。高级语言的实现极大地提高了软件的生产效率。众多的高级语言根据不同的标准有不同的分类方式。(1)按照应用范围分为:通用语言与专用语言。通用语言有:Pascal、C、C+、Java等;目标单
35、一的语言称为专用语言,有:APT等。(2)按照用户的要求分为:过程式语言和非过程式语言。过程式语言的主要特征是,用户可以指明一系列可执行的顺序运算,以表示相应的计算过程,如Pascal、C等;非过程式语言反之,较为著名的是Java。(3)按照使用方式分为:交互式语言和非交互式语言。具有反映人机交互作用的语言成分的语言成为交互式语言,如BASIC等;不反映人机交互作用的语言称为非交互式语言,如Pascal、C等都是非交互式语言。(4)按照语言的内在特点分为:系统实现语言、静态高级语言、动态高级语言和块结构高级语言;系统实现语言例如:C语言;静态高级语言例如:COBOL和FORTRAN语言;动态高
36、级语言的特点是动态完成所有的存储管理,如Java;块结构高级语言,例如ALGOL和Pascal语言。52、判断题结构化方法和OO方法都是一种面向过程的软件开发方法。()答案:错53、填空题如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为()耦合。答案:数据54、判断题软件危机的主要表现是软件的需求量迅速增加,软件价格上升。()答案:错55、填空题汇编语言是面向()的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。答案:机器56、填空题在软件开发过程中要产生大量的信息,要进行大量的修改,()能协调软件开发,并使混乱减到最低程度。答案:软件配置管
37、理57、单选划分软件生存周期的阶段时所应遵循的基本原则是()。A、各阶段的任务尽可能相关性B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立答案:B58、单选某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为()。A数据耦合B混合耦合C公共耦合D控制耦合答案:D59、单选在McCall软件质量度量模型中,()属于面向软件产品修改。A可靠性B可重用性C适应性D可移植性答案:C60、判断题用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有
38、效性。()答案:对61、多选软件设计的主要任务是()。A、将分析阶段获得的需求说明转换为计算机中可实现的系统;B、完成系统的数据结构和程序结构设计C、完成模块的编码和测试D、对模块内部的过程进行设计答案:A,B,D62、问答题软件测试与其他软件开发活动相比具有什么样的特点?答案:软件测试的目标在于,以最小的工作量和成本,尽可能多地发现软件系统中存在的各种错误和缺陷,以确保软件系统的正确性和可靠性。其主要特点是:软件测试的开销大。按照Boehm的统计,软件测试的开销大约占总成本的30%50%。不能进行“穷举”测试。只有将所有可能的情况都测试到,才有可能检查出所有的错误,但这是不可能的。软件测试难
39、度大。既然不能进行“穷举”测试,又要查出尽可能多的错误,随着软件的规模和复杂度不断增加,软件测试工作的难度越来越大。测试也是一种开发活动,但鉴于软件测试的以上特点,它比其他软件开发活动更加复杂、困难和重要,且无论怎样强调它的重要性都不过分。63、名词解释黑盒测试答案:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试又称为功能测试。64、单选初始化模块和结束模块从块内联系看,被称为()模块。A过程内聚B功能内聚C
40、时间内聚D逻辑内聚答案:C65、名词解释详细设计答案:是软件设计的第二阶段,主要确定每个模块具体执行过程,故也称过程设计。66、单选JSP方法是一种面向()的设计方法。A控制结构B对象C数据流D数据结构答案:D67、问答题何谓软件维护的成本?如何度量软件维护的工作量?答案:软件维护的成本包括有形和无形两个部分:有形的维护成本指的是在软件维护过程中花费了多少金钱。无形的维护成本主要包括:一些合理的修复或修改请求不能及时安排,使得客户不满意;变更的结果引入新的故障,使得软件整体质量下降;把软件人员抽调到维护工作中,干扰了软件开发工作等。软件维护的工作量的度量可用如下的公式:其中:M是维护中消耗的总
41、工作量p是上面描述的生产性工作量K是一个经验常数c是因缺乏好的设计和文档而导致复杂性的度量d是对软件熟悉程度的度量。68、判断题在可行性研究中最难决断和最关键的问题是经济可行性。()答案:错69、问答题程序设计语言的选择对应用程序的开发有什么样的影响?答案:通常应根据软件系统的应用特点,程序设计语言的内在特性以及系统的性能要求等方面来进行选择。程序设计语言的选择应该考虑以下因素:1、项目的应用领域。应尽量选取适合某个应用领域的语言。例如,选择VisualBasic来开发数据库应用就比选择VisualC+要容易一些。2、算法和计算复杂性。要根据不同语言的特点来选取能够适应软件项目算法和计算复杂性
42、的语言。例如,对于科学计算较多的应用一般会考虑选择FORTRAN语言。3、软件的执行环境。要选取机器上能运行且具有相应支持软件的语言。例如,在嵌入式系统中(这类系统的硬件资源往往较少),软件开发语言多为C/C+、Java。4、性能因素。应结合工程具体性能来考虑,例如实时系统对响应速度有特殊要求,就应选择汇编语言、C语言等。5、数据结构的复杂性。要根据不同语言构造数据结构类型的能力选取合适的语言。C+、Java这样的高级语言显然比汇编语言的表达能力要强。6、软件开发人员的知识水平以及心理因素。知识水平包括开发人员的专业知识,程序设计能力;心理因素是指开发人员对某种语言或工具的熟悉程度。从技术的层
43、面来讲,大多数的任务用任何一门高级语言都可以完成,所以选择开发者熟悉的语言是可以提高效率的。为此,要尽量避免受外界的影响,盲目追求高、新的语言。70、单选结构化系统分析主要是通过()进行分析的。A算法分解B控制结构分解C数据结构分解D处理功能分解答案:D71、多选静态测试是以人工的、非形式化的方法对程序进行分析和测试。常用的静态测试方法有()。A、运行程序并分析运行结果B、桌前检查与代码会审C、数据流分析图D、调用图答案:B,C,D72、问答题RationalRose可以建立哪几种模型图?答案:RationalRose可以建立的模型图共有9种,它们分别是:(1)业务用例图(BusinessUs
44、eCaseDiagram);(2)用例图(UseCaseDiagram);(3)类图(ClassDiagram);(4)协作图(CollaborationDiagram);(5)顺序图(SequenceDiagram);(6)活动图(ActivityDiagram);(7)状态图(StatechartDiagram);(8)构件图(ComponentDiagram);(9)部署图(DeploymentDiagram)。73、单选源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有()A.模块的功能B.语句的功能C.模块的接口D.开发历史答案:D74、填空题结构化程序设计是一种程序设计技
45、术,它采用()的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。答案:自顶向下、逐步求精75、问答题模块分解应该遵循什么样的标准?答案:按照“降低块间联系,提高块内联系”的设计总则对模块进行分解。具体从以下方面考虑:(1)尽可能建立功能模块;(2)消除重复功能;(3)模块的作用范围与控制范围,即当作用范围为控制范围的子集时,才能获得较低的块间联系;(4)模块的大小适当;(5)模块的扇入/扇出数不宜太多。也可以用软件独立性的两个定性指标来度量模块分解的标准:一是耦合性。用于描述模块之间联系的紧密程度。从三个方面衡量块间联系大小:方式(直接或间接)类型(数据型、控制型、混合型)数量(数量越大,块间联系越紧密。二是内聚性。用于描述模