版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024年大学试题(计算机科学)-软件工程笔试历年真题荟萃含答案(图片大小可自由调整)答案解析附后卷I一.参考题库(共25题)1.信息隐藏2.从下列关于模块化程序设计的叙述中选出5条正确的叙述。 (1)程序设计比较方便,但比较难以维护。 (2)便于由多个人分工编制大型程序。 (3)软件的功能便于扩充。 (4)程序易于理解,也便于排错。 (5)在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。 (6)模块之间的接口叫做数据文件。 (7)只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。 (8)模块间的单向调用关系叫做模块的层次结构。 (9)模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。 5条正确的叙述为()。3.关于逻辑设计,以下哪些观点是正确的()A、逻辑设计是对待定物理模型的优化B、逻辑设计就是技术解决方案C、逻辑设计是评估和决定无力设计的可靠性和实现选项的基础D、逻辑设计是完整的功能规范4.什么是配置项?什么是配置管理?5.加工小说明有哪些描述方法?它们各有何优缺点?为什么不采用自然语言进行描述?6.怎么理解“软件概要设计是系统总体结构设计或系统架构设计”?7.软件分为()与()。8.从哪些方面验证软件需求的正确性?9.软件测试的目的是什么,为什么把软件测试的目的定义为只是发现错误?10.下列属于不标准的书写格式的是()A、书写时适当使用空格分隔B、一行写入多条语句C、嵌套结构不使用分层缩进的写法D、程序中不加注释11.数据流程图按照信息流的类型主要分为()和()两种。12.软件生存周期中的软件开发过程由哪几个阶段组成?各阶段的任务是什么?13.在软件工程中,高质量的文档标准是完整性、一致性和()A、统一性B、安全性C、无二义性D、组合性14.详细设计的任务是什么?具体包括哪些?15.简述使用DFD描述系统过程模型是必须遵守哪些规则。16.从项目的角度来看,需求总是向着膨胀的方向变化。17.基本表、代码表、中间表、临时表,它们有何异同?18.建立用户档案的任务是()A、管理用户的期望和需求B、定义用户的功能规范C、评估用户技能等级D、为设计决策提供依据E、确定用户种类、确定他们的需求19.Project2003空白项目应包含以下几列:WBS、()、()、工作量、开始时间、完成时间、()、()。20.描述“已知风险”和“可预测风险”之间的差别。21.模块具有()和()、()、()和()四个特性。22.以G.J.Myers的观点,简述对软件测试的目的。23.一台微机有1个显示器、1个键盘、1个主机、1个鼠标,声卡可有可无。主机包括主板、机箱、存储器、电源、USB口。存储器分固定存储器和活动存储器2种。固定存储器包括1~3个硬盘和若干内存条。活动存储器分为软盘和光盘,均可附带盘片多张或不附带盘片。USB口有1~2个或4个。请根据上述说明建立该微机的对象模型。24.在具有n个元素的顺序存储结构的线性表任意一个位置中插入一个元素,在等概率条件下,平均需要移动()个元素。25.在时间允许的情况下,适当减少人员会提高工作效率,降低软件开发成。卷II一.参考题库(共25题)1.为什么系统越大越难维护?2.什么是软件工程文化?其中的价值观是什么?3.什么是错误推测法?它主要用于什么测试?4.层次图和层次方框图有何区别?5.附加策略6.FORTRAN语言的源程序是()结构。A、COBOLB、BASICC、FORTRAND、PL/17.什么叫面向对象?面向对象方法的特点是什么?为什么要用面向对象方法开发软件?8.下面不是软件工程的3个要素的是()。A、过程B、方法C、环境D、工具9.所有的软件开发都可以看成是一个问题循环解决过程,其中包括4个截然不同的阶段:()、问题定义、技术开发和()。10.活动图是()图的特殊情况。A、类B、执行者C、状态D、对象11.下面哪一项是软件工程学科的研究内容()。A、软件销售方法B、软件的使用寿命C、软件工具D、软件的价格12.软件设计的基本原理有那些?13.以()为标准,可以将房屋租金分为公房租金、私房租金、商品房租金和非住宅租金。A、租赁房屋类型B、承租人C、租赁客体D、租金的构成要素14.白盒法有哪些逻辑覆盖标准?15.喷泉模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,喷泉模型的开发过程具有()和无间隙。A、需求确定性B、迭代性C、无间隙D、风险性16.下列哪个阶段不属于软件生存期的三大阶段?()A、计划阶段B、开发阶段C、编码阶段D、维护阶段17.利用现存类设计新类的方式有()A、选择B、分解C、配置D、演变18.传统的软件生存期模型是()。19.需求工程包括哪些活动,并简要说明其内容?20.关于MSF企业体系结果规划,以下哪些说法是错误的?()A、是指导一个,以有条不紊的方式,以当前的状态转变为未来的状态的B、是一个间断的过程C、是一种识别方法,以确定哪些项目(应用程序或基础构架)需要做,以及哪些需要先做D、MSF企业体系结构规划的价值不是来自规划,而是规划的实现21.()又称实施图,用来表示系统中的计算节点的拓扑结构和通信路径与节点上运行的软构件等。22.程序设计语言的心理特性主要表现在()、简洁性、传统性、局部性和顺序性。23.软件设计是要把描述软件“做什么”的()转换为描述“怎么做”的(),即着手实现软件的需求,并将设计结果记入()文档中。24.软件开发的目标25.在UML2.0中定义了四种交互图,其中强调对象调用顺序的是()图。卷III一.参考题库(共25题)1.某算法设计程序流程图如图所示。试将该图转换为N-S图、PAD图、PDL伪码,并使用McCabe方法对该算法的复杂度进行估算。2.面向对象软件开发最适合采用迭代、增量式的开发模型。3.为什么说软件工程是一门综合性的交叉学科?4.从哪几个方面来描述接口需求项?5.以下所示的流图的环形复杂度为() A、4B、5C、6D、76.为什么说GUI界面设计是一个迭代的过程?7.什么是软件危机?分析其产生的原因与摆脱危机的方法,你认为现在已经摆脱软件危机了吗?请说明理由。8.使用结构化分析方法时,采用的基本手段是()。A、分解和抽象B、分解和综合C、归纳与推导D、试探与回溯9.UML使用的行为模型有三种,即:()。A、交互图、状态图和顺序图B、顺序图、通信图和时间图C、交互图、状态图和活动图D、交互概述图、通信图和时间图10.集成测试主要由用户来完成。()11.简述容错技术的四种主要手段,并解释。12.某旅行社根据是否旅游旺季及是否团体票来确定旅游票的优惠率。其规定如下:旅游旺季,团体票优惠5%,散客不优惠;非旅游旺季,团体票优惠30%,散客优惠20%。试用判定表表示旅游订票的优惠规定。13.软件开发划分的各阶段任务尽可能(),同一阶段任务性质尽可能()。14.软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因。15.什么是面向复用方法?说说它产生的原因和适用的范围。16.建立分析和设计模型的一种重要方法是UML。试问UML是一种什么样的建模方法?它如何表示一个系统?17.软件测试方法中的静态测试方法之一为()A、计算机辅助静态分析B、黑盒法C、路径覆盖D、边界值分析18.软件及其特征。19.在DFD中,下列数据流中可以不命名的是()A、处理与处理之间的数据流B、处理与局部数据存储之间的数据流C、处理与数据源点之间的数据流D、处理与数据终点之间的数据流20.在单元测试中,桩模块用来代替被测模块的()。其作用是()的信息。21.设二维数组intM[4][4],每个元素(整数)占2个存储单元,元素按行优先的顺序存储,数组的起始地址为100,元素M[2][3]的地址是()22.若指针p,q的值相同,则*p和*q的值()相同。23.试简述原型开发的过程和运用原型化方法的软件开发过程。24.划分模块时尽量做到(),保持模块的独立性,尽量使用公共模块。25.某软件项目已将有待开发的软件分解为600个对象点数,其中有20%可以复用。假设该项目参与人员月平均工资为3000元人民币,每月按20个工作日计算,每人每天能够完成1个对象点数的工作量。试估算该软件项目的人力成本。卷I参考答案一.参考题库1.参考答案:指在模块设计时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。这样,改变模块的内部过程和数据的设计不会影响到其它模块。2.参考答案:(2)、(3)、(4)、(7)、(8)3.参考答案:C4.参考答案: 软件配置管理中的基本单元,称为软件配置项。 在开发过程中,将软件的文档、程序、数据进行分割与综合,以利于软件的定义、标识、跟踪、管理,使其最终形成受控的软件版本产品,这一管理过程称为软件配置管理。5.参考答案: 主要的描述方法有三种;结构化语言、判定表和判定树。 结构化语言:介于自然语言和形式语言(如谓词逻辑)之间的的一种半形式语言,它是自然语言的一个受限制的子集。是在自然语言的基础上加上一些约束,一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环);内层较灵活,表达“做什么”。 常用结构化英语或结构化汉语表示,精确、简明扼要、文体灵活。结构化语言特点:简单,易学,少二义性,但不好处理组合条件。 判定表:适用于表述比较复杂的加工逻辑,如具有多项选择条件的操作。判定表是一种二维的表格,常用于较复杂的组合条件。通常由四部分组成,如教材表2-2所示。对用结构化语言不易处理的较复杂的组合条件问题,可使用判定表。 判定树:本质上与判定表相同,图形表示更易于理解。描述一般组合条件较清晰,但不易输入计算机。6.参考答案:软件概要设计用以描述系统最顶层的结构和组织形式,表示出软件系统各个组成部分的功能及其互相之间的接口关系,所以概要设计是系统总体结构设计或系统架构设计。7.参考答案:系统软件;应用软件8.参考答案: (1)一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。 (2)完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 (3)现实性指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。 (4)有效性必须证明需求是正确有效的,确实能解决用户面对的问题。9.参考答案:测试的目的是找出整个软件开发周期中各个阶段的错误,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案,从而提高测试效率。10.参考答案:B,C,D11.参考答案:事务流;变换流12.参考答案:以瀑布模型为例主要包括六个阶段: ①可行性研究,确定系统的目标与规模,分析项目的可行性 ②需求分析与规格说明,明确系统的规格与要求 ③设计,包括概要设计与详细设计 ④编程,用程序语音实现每个模块的功能 ⑤测试,发现并改正错误 ⑥运行与维护13.参考答案:C14.参考答案:详细设计的任务是在软件构架的基础上,进一步确定如何实现目标系统,具体包括系统的模块逻辑的详细设计、系统数据结构的设计、系统数据库结构的设计、系统人机接口的设计。15.参考答案: 使用DFD描述系统过程模型是必须遵守一些规则,这些规则可以保证过程模型的正确性。这些规则有: ①过程是对数据的处理,必须有输入,也必须有输出,而且输入数据集和输出数据集应该存在差异。 如果过程在没有输入的情况下产生了输出,称之为“奇迹”,即输出数据在没有任何可见来源的情况下就奇迹般产生了。 如果过程接收了数据输入却没有产生输出,称之为“黑洞”。它浪费了输入的数据资源,却没有做出应有的贡献。 过程是对数据的处理,这种处理是要产生附加价值的,即进行了数据的加工和变换,而不是简单的数据转移。 ②数据流是必须和过程产生关联的,它要么是过程的数据输入,要么是过程的数据输出。 ③DFD当中所有的对象都应该有一个可以唯一标识自己的名称。过程使用动词,外部实体、数据流和数据存储使用名词。16.参考答案:正确17.参考答案: 数据库是表的集合,表由字段组成,表中存放着记录。由于记录的数据可以是原始数据、信息代码数据、统计数据和临时数据4种,所以又可将表划分为基本表、代码表、中间表和临时表4种。 1.存放原始数据的表,称为基本表。 2.存放信息代码数据的表,称为代码表。 3.存放统计数据的表,称为中间表(又称为查询表)。 4.存放临时数据的表,称为临时表。18.参考答案:A,C,D,E19.参考答案:任务名称;工作;前置任务;资源名称20.参考答案: 已知风险,是通过仔细评估项目计划、开发项目的商业及技术环境、以及其它可靠的信息来源(如:不现实的交付时间,没有需求或软件范围的文档、恶劣的开发环境)之后可以发现的那些风险。 可预测风险,能够从过去项目的经验中推测出来(如:人员调整,与客户之间无法沟通,由于需要进行维护而使开发人员精力分散)。21.参考答案:输入;输出(参数传递);功能;内部数据结构(局部变量);程序代码22.参考答案: 软件测试是: (1)为了发现错误而执行程序的过程。 (2)一个好的用例能够发现至今尚未发现的错误的测试。 (3)一个成功的测试是发现至今尚未发现的错误的测试。23.参考答案: 24.参考答案:n/225.参考答案:正确卷II参考答案一.参考题库1.参考答案:软件系统越大,功能越复杂,理解掌握起来就越困难,也就越难以维护,从而需要更多的维护工作量。2.参考答案:软件工程文化是指工程人员在软件开发中所应该具备的产品质量观、价值观、道德准则和团队意识等。其中的价值观是指软件企业上下对软件工程价值有一致的认同。3.参考答案:利用有经验的测试者对程序可能发生错误的位置的推测进行测试的方法,主要用于黑盒测试。4.参考答案:层次图主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框之间的连线表示模块之间的调用关系,常与IPO图一起形成HIPO图。层次方框图主要描述系统的组成关系,一般自用域需求分析。5.参考答案: 是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统。6.参考答案:A7.参考答案: 关于“面向对象”,有许多不同的看法。Coad和Yourdon给出了一个定义: “面向对象=对象+类+继承+消息通信”。如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。面向对象方法的特点是: 方法的唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到的。 从生存期的一个阶段到下一个阶段的高度连续性,即生存期后一阶段的成果只是在前一阶段成果的补充和修改。 把面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)集成到生存期的相应阶段。 使用面向对象方法开发软件的好处是: 开发方法的唯一性,开发阶段的高度连续性,表示方式的一致性; 问题空间实体的自然表示,减轻了设计者的负担,在设计系统之初不必考虑一个很完整的解决方案。 建立稳定的系统结构,可促进复用性,易于维护,易于修改,可合理利用共同性,减少复杂性。8.参考答案:C9.参考答案:状态捕捉;方案综合10.参考答案:C11.参考答案:C12.参考答案: ⑴模块化(自顶向下逐层把软件系统划分成若干模块); ⑵抽象(抽出事物本质特性而暂不考虑其细节); ⑶信息隐蔽[设计模块时使模块内的信息(过程或数据)不能被不需要这些信息的其他模块访问]; ⑷模块独立性(低耦合、高内聚:每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单)。13.参考答案:A14.参考答案: ①语句覆盖(每条语句至少执行一次); ②判定覆盖(每个判定的每个分支至少执行一次); ③条件覆盖(每个判定的每个条件应取到各种可能的值); ④判定/条件覆盖(同时满足判定覆盖和条件覆盖); ⑤条件组合覆盖(每个判定中各条件的每一种组合至少出现一次); ⑥路径覆盖(程序中每一条可能的路径至少执行一次)。15.参考答案:B16.参考答案:C17.参考答案:A,B,C,D18.参考答案:瀑布模型19.参考答案: 需求工程活动包括:需求开发和需求管理。 (1)需求开发包括:需求获取、需求分析、需求规格说明和需求验证4个部分。 (2)需求管理:主要工作就是跟踪后继阶段中需求实现与需求变更情况,确定需求得到了正确的理解并被正确的实现到软件产品中。20.参考答案:B21.参考答案:数据流程图22.参考答案:歧义性23.参考答案:逻辑模型;物理模型;软件设计说明书24.参考答案: 是在规定的投资和时间内,开发出符合用户需求的高质量的软件。25.参考答案:顺序卷III参考答案一.参考题库1.参考答案: (1)NS图: (2)PAD图:2.参考答案:正确3.参考答案: 因为软件工程涉及哲学、计算机科学、工程科学、管理科学、数学和应用领域知识。4.参考答案: 从以下四个方面来描述: (1)用户界面。 说明软件将实现的用户界面。 (2)硬件接口。 指出软件所支持的所有硬件接口,其中包括逻辑结构、物理地址、预期行为等。 (3)软件接口。 说明软件系统中与其他构件之间的软件接口。 这些构件可以是购入的构件、取自其他应用程序重新利用的构件,也可以是为此客户需求说明范围之外的子系统开发,但该软件应用程序必须与之交互的构件。 (4)通信接口。说明与其他系统或设备的所有通信接口。5.参考答案:A6.参考答案: 由于一次就设计出非常完美的界面的情况非常少见,因此用户界面设计是一个迭代的过程,需要进行多次反复而逐步使界面设计趋于完善。 用户界面设计的一般步骤是:(1)建立界面需求规格模型。(2)以界面需求模型为依据创建界面原型。(3)评价界面原型并进行迭代。7.参考答案:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题: (1)如何开发软件,怎样满足对软件的日益增长的需求; (2)如何维护数量不断膨胀的已有软件; 软件危机的出现,究其原因,一方面是由软件本身的特点引起的,如软件越来越复杂,软件故障难于检测,工作量难以估计;另一方面则是因为软件开发和维护方法不当所造成的,如软件的个体化特征太强等。 为了摆脱软件危机所造成的困境,提出软件工程的概念,其主要思路是:要把人类长期以来从事各种工程项目所积累起来的行之有效的原理,概念,技术和方法,特别是人类从事计算机硬件研究和开发的经验教训,应用到软件的开发和维护中来。 我认为我国现在还未完全摆脱软件危机,因为随着经济发展,各行各业对软件人才的需求不断扩大,由于我国的软件人才缺口依旧很大,造成了某些行业内软件开发进度难以预测,软件开发成本难以控制,用户对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺少适当的文档资料。8.参考答案:A9.参考答案:C10.参考答案:错误11.参考答案: 结构冗余:包括静态冗余、动态冗余和混合冗余。 信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:指为实现上述冗余技术所需的资源和技术。12.参考答案: 13.参考答案:相对独立;相同14.参考答案:错误15.参考答案: 面向复用的方法使用可复用软件组件以及能集成这些组件的框架来构建和开发新的软件;有时,这些组件本身就是一个独立的能满足某种需要的系统。 使用这种方法可以节省大量的重复劳动,加快开发速度。存在大量可以重用的构件的时候,可以使用这种方法。16.参考答案: UML叫做统一的建模语言,它把Booch、Rumbaugh和Jacobson等各自独立的OOA和OOD方法中最优秀的特色组合成一个统一的方法。UML允许软件工程师使用由一组语法的语义的实用的规则支配的符号来表示分析模型。 在UML中用5种不同的视图来表示一个系统,这些视图从不同的侧面描述系统。每一个视图由一组图形来定义。这些视图概述如下: 用户模型视图:这个视图从用户(在UML中叫做参与者)角度来表示系统。它用使用实例(usecase)来建立模型,并用它来描述来自终端用户方面的可用的场景。 结构模型视图:从系统内部来看数据和功能性。即对静态结构(类、对象和关系)模型化。 行为模型视图:这种视图表示了系统动态和行为。它还描述了在用户模型视图和结构模型视图中所描述的各种结构元素之间的交互和协作。 实现模型视图:将系统的结构和行为表达成为易于转换为实现的方式。 环境模型视图:表示系统实现环境的结构和行为。 通常,UML分析建模的注意力放在系统的用户模型和结构模型视图,而UML设计建模则定位在行为模型、实现模型和环境模型。17.参考答案:A18.参考答案: 软件是: (1)指令的集合(计算机程序),通过执行这些指令来满足预期的特征、功能和性能需求; (2)数据结构,使得程序可以合理利用信息; (3)文档描述,用来描述程序操作和使用。 特征: (1)软件是设计开发的,而不是传统意义上生产制造的。 (2)软件不会“磨损”。 (3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。19.参考答案:A20.参考答案:子模块;返回被测模块所需21.参考答案:12222.参考答案:一定23.参考答案: 原型的开发和使用过程叫做原型生存期。下图是原型生存期的模型及其细化。 ①快速分析:在分析者和用户的紧密配合下,快速确定软件系统的基本要求。 ②构造原型:根据基本规格说明,尽快实现一个可运行的原型系统。 ③运行和评价原型:用户试用原型,考核评价原型的特性。纠正过去交互中的误解和分析中的错误,增补新的要求,提出全面的修改意见。 ④修正和改进:根据修改意见进行修改。如果用修改原型的过程代替快速分析,就形成了原型开发的迭代过程。在一次次的迭代过程中不断将原型完善,以接近系统的最终要求。 ⑤判定原型完成:经过修改或改进的原型,达到参与者一致认可,则原型开发的迭代过程可以结束。为此,应判断有关应用的实质是否已经掌握,判定的结果有两个不同的转向,一是继续迭代验证,一是进行详细说明。 ⑥判断原型细部是否说明:判断组成原型的细部是否需要严格地加以说明。 ⑦原型细部的说明:通过文件加以说明那些不能通过原型说明的项目。 ⑧判定原型效果:考察新加入的需求信息和细部说明信息,看其对模型有什么影响?是否会影响模块的有效性?如果模型受到影响,则要进行修正和改进。 ⑨整理原型和提供文档 快速原型方法的提出使得传统的软件生存期在思想方法上受到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论