一、选择题1、软件是一种( B )性工业产品。(1)理论 (2)知识(或逻辑) (3)消耗 (4)体力2、需求分析是在( B )进行的。(1)用户 (2)用户和分析人员之间 (3)开发人员内部 (4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( B )的研究。(1)经济可行性 (2)技术可行性 (3)操作可行性 (4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( D )。(1)工作阶段的等待时间 (2)生产原型的复杂性(3)参与人员所需的工作站数 (4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( A )。(1)用户需求 (2)分析员要求 (3)系统需求 (4)软硬件需求 6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( D )。(1)系统设计 (2)系统分析 (3)系统详细调查 (4)系统初步调查7、系统分析员应当( D )。(1)善于使用户接受自已的观点 (2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者 (4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( A )的过程。(1)逻辑模型 (2)物理模型 (3)总体方案 (4)可行性报告9、系统测试的目的是( D )。(1)找出编码错误 (2)找出数据错误 (3)要证明程序无错 (4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( B )。(1)时间内聚 (2)功能内聚 (3)通信内聚 (4)顺序内聚11、对象是面向对象开发的基本成分,每个对象可用它的一组( C )和它可以执行的一组操作来定义。(1)服务 (2)参数 (3)属性 (4)调用12、最高程度也是最差的耦合是( B )。(1)公共耦合 (2)内容耦合 (3)控制耦合 (4)数据耦合13、概要设计阶段产生的文档不包括( C )。(1)概要设计说明书 (2)数据库设计说明书 (3)用户手册 (4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是( B )。(1)一般具体关系 (2)整体部分关系 (3)分类关系 (4)is a 关系15、覆盖准则最强的是( D )。(1)语句覆盖 (2)判定覆盖 (3)条件覆盖 (4)路径覆盖16、下面对数据流图描述不正确的是( B )。(1)是组织中信息运动的抽象 (2)是系统模型的主要形式(3)它与对系统的物理描述无关 (4)所描述的内容是面向管理员的17、在基本的数据加工中,决策树适合于表达( B )。(1)决策或判断步骤较多的加工问题(2)决策或判断条件较多,各条件又相互组合的问题(3)非结构化决策问题(4)半结构化决策问题18、调试应该由( B )完成。(1)与源程序无关的程序员 (2)编制该源程序的程序员(3)不了解软件设计的机构 (4)设计该软件的机构19、导出模块结构图的基础是( B )(1)系统结构图 (2)数据流图 (3)数据结构图 (4)控制结构图20、程序员进行程序设计的主要文档依据是( B )(1)模块说明书 (2)系统流程图 (3)控制流程图 (4)数据流图21、面向对象程序设计语言不同于其它语言的最主要特点是( C )。(1)模块性 (2)抽象性 (3)继承性 (4)共享性22、软件部件的内部实现与外部可访问性分离,这是指软件的( C )。(1)继承性 (2)共享性 (3)封装性 (4)抽象性23、面向对象分析阶段建立的三个模型中,核心的模型是( C )。(1)功能模型 (2)动态模型 (3)对象模型 (4)分析模型24、在只有单重继承的类层次结构中,类层次结构是( A )。(1)树型层次结构 (2)网状型层次结构 (3)星型层次结构 (4)环型层次结构25、动态模型的描述工具是( C )。(1)对象图 (2)结构图 (3)状态图 (4)设计图26、表示对象的相互行为的模型是( B )。(1)对象模型 (2)动态模型 (3)功能模型 (4)分析模型27、在确定类时,候选的类是所有的( A )。(1)名词 (2)形容词 (3)动词 (4)代词28、在面向对象方法中,信息隐蔽的实现是通过对象的( C )。(1)分类性 (2)继承性 (3)封装性 (4)共享性29、每个对象可用它自已的一组属性和它可以执行的一组( C )来表示。(1)行为 (2)功能 (3)操作 (4)数据30、面向对象的主要特征除对象唯一性、封装、继承外,还有( A )。(1)多态性 (2)完整性 (3)可移植性 (4)兼容性31.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生32.研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性33.黑盒测试在设计测试用例时,主要需要研究( A ) A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明34.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法35.下列属于维护阶段的文档是( C ) A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告36.快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件37.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B ) A.教正性维护 B.适应性维护 C.完善性维护 D.预防性维护38.只有单重继承的类层次结构是( C )层次结构。 A.网状型 B.星型 C.树型 D.环型39.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B ) A.可用性 B.可靠性 C.正确性 D.完整性40.下列文档与维护人员有关的有( C ) A.软件需求说明书 B.项目开发计划 C.概要设计说明书 D.操作手册二、填空题1、可行性研究的目的不是去开发一个软件项目,而是研究这个项目是否 值得去开发 ,其中的问提能否解决。2、软件结构的设计是以 模块 为基础的。3、软件设计阶段,是把软件“做什么”的逻辑模型变换为“ 怎么做 ”的物理模型。4、需求分析的关键是必须 准确理解 用户的要求,同时要 满足 用户的要求。最终解决目标系统“做什么”的问题。5、数据流图一般可分为 变换型 和 事务型 两类。6、HIPO图中 H 图用于描述软件总的模块层次结构, IPO 图用于说明模块间的信息传递及模块内部的处理。7、详细设计也称 过程设计 ,它是软件设计的第二阶段,主要确定每个 模块 的具体执行过程。8、处理过程设计中最典型的方法是 结构化程序设计(SP) 方法,其基本要点是采用的程序设计方法是 自顶向下 、 逐步求精 。9、测试用例由 输入数据 和预期的 输出数据 两部分组成。10、白盒法必须考虑程序的 内部结构 和 处理过程 ,以检查 处理过程 的细节为基础,对程序中尽可能多的逻辑路径进行 测试 。11、软件测试过程中需要3类信息: 软件配置 、 测试配置 和 测试工具 。12、在详细设计阶段,需要对处理过程的 模块 和数据库的 物理 结构做评审。13、对象具有状态,对象用 数据值 来描述它的状态。14、数据流图描述系统的 分解 ,即描述系统由 哪几部分 组成,各部分之间有什么联系等。15、任何程序都可由 顺序、选择 和重复3种基本控制结构构造。这3种基本结构的共同点是 单入口、单出口 。16、测试的目的就是 发现 程序中的错误,而不是 调试 程序没有错误。17、对象之间进行 通信 的构造叫做消息,类中操作实现的过程叫做 方法 。18、在面向对象方法中,信息隐蔽通过对象的 封装性 来实现。类结构分离了 细节 与 实现 ,从而支持了信息隐蔽。19、。面向数据流的设计又称 结构化程序设计(SP) ,它是以需求分析阶段产生的 数据流图 为基础,按一定的步骤映射成软件结构。20、可行性分析包括 技术可行性 、经济上的可行性和 社会因素可行性 分析。21、对象模型表示了 静态 、结构化的系统数据性质。22、动态模型描述了系统的 控制 结构。23、对象实现了 数据 和 操作 的结合,使它们封装于对象的统一体中。24、在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即 一般----具体结构 关系, 整体---部分结构 关系。25、具有相同或相似性质的对象的 抽象 就是类。类的 抽象 就是对象,也可以说类的 具体化 是对象。26、类具有属性,它是 状态 的抽象,用 数据结构 来描述类的属性。27、类具有操作,它是 行为 的抽象,用 操作名 和 方法 实现来描述。28、现实世界中,各对象之间相互触发,一个触发行为就是一个 事件 。对事件的响应取 决于 接受该触发的对象 的状态,响应包括 状态 的改变或形成一个新的 触发 。29、链表示 对象 间的物理与概念联结,关联表示 类 之间的一种关系,就是一些 可能的链 的集合。链是关联的 实例 ,关联是链的 抽象 。两个类之间的关联称为 二元关联 ,三个类之间的关联称为 三元关联 。30、聚集关系是一种 整体---部分 关系。在这种关系中,有 整体类 和 部分类 之分。聚集最重要的性质是 传递性 ,也具有 逆对性 。三、名词解释1、软件测试软件测试是指为了发挥软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。2、详细设计系统的详细设计是系统总体设计的深入,对总体设计中的各个具体的任务选择适当的技术手段和处理方法。详细设计主要包括代码设计,数据库设计,输出设计,输入设计,对话设计,处理流程设计,制定设计规范等。3、数据耦合如果两个模块之间通过数据交换信息,且每一个参数均为数据,那么这种模块间的耦合称为数据耦合。4、模块化模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,从而完成指定的功能,满足问题的要求。5、信息隐蔽信息隐蔽是指在设计模块时,应让一个模块内包含的信息(过程和数据)对于其他不需要这些信息的模块来说是不能访问的。6、耦合耦合性是对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于模块间接口的复杂程度。7、功能内聚如果模块内所处理的元素属于一个整体,完成一个单一的功能,则称为功能内聚。8、事务流在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务流。事务流的特点是接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。9、对象模型对象模型描述系统的静态结构,包括类和对象,它们的属性和操作,以及它们之间的关系。构造对象模型的目的在于找出与应用程序密切相关的概念。对象模型用包含对象及对象的关系图表示。10、动态模型动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。着重于系统的控制逻辑,考察在任何时候对象及其关系的改变,描述这些涉及时序和改变的状态。动态模型包括状态图和事件跟踪图。11、功能模型功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”。着重于系统内部数据的传送和处理。功能模型表明,通过计算,从输出数据能得到什么样的输出数据,但不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成,它们指明从外部输出,通过操作和内部存储,直到外部输出的整个数据流情况。12、对象是指一组属性以及这组属性上的专用操作的封装体。13、类就是对具有相同数据和相同操作的一组相似对象的定义14、消息消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如果有必要的话)。15、方法 16、继承性继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。17、多态性多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。18、事件跟踪图 19、集成测试集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块的接口。20、需求分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。21、白盒法白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。22、黑盒法黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。四、简述题1、软件设计的基本原理包括哪些内容?软件设计的基本原理:(1)模块化(四个属性:接口、功能、逻辑、状态)(2)抽象(3)信息隐蔽(4)模块独立性(两个定性的度量标准:耦合性与内聚性)2、需求分析应遵循的原则是什么?所有这些分析方法都遵守下述准则: (1) 必须理解并描述问题的信息域,根据这条准则应该建立数据模型。(2) 必须定义软件应完成的功能,这条准则要求建立功能模型。(3) 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。(4) 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。3、为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?① 软件测试是软件开发中不可缺少的重要一环,原因是:A、测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,测试的工作量还要成倍增加。B、软件测试代表了需求分析、设计、编码的最终复审。② 软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。4、软件测试的目的是什么?为什么把软件测试的目标定义为只是发现错误?软件测试的目的有:① 软件测试是为了发现错误而执行程序的过程。② 一个好的测试用例能够发现至今尚未发现的错误。③ 一个成功的测试是发现了至今尚未发现的错误。软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误。5、增量开发和原型开发有什么相同和不同的地方? 增量模型和原型模型都是从概要的需求出发进行开发的,但两者有明显的不同。增量模型是从一些不完整的系统需求出发开始开发,在开发过程中逐渐发现新的需求规格说明,并进一步充实完善该系统,使之成为实际可用的系统。原型开发的目的是为了发现并建立一个完整的经过证实的需求规格说明,并以此作为正式系统的开发基础。因此,原型开发阶段的输出是需求的规格说明,是为了降低整个软件生成期的费用而拉大需求分析阶段的一种方法,大部分原型是“用完就扔”的类型。6、说明对象建模的过程。7、说明动态建模的过程。建立动态模型的第一步,是编写典型交互行为的脚本。虽然脚本中不可能包括每个偶然事件,但是,至少必须保证不遗漏常见的交互行为。第二步,从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。第三步,排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。总的来说,建立动态模型的步骤如下:(1)编写典型交互的脚本;(2)找出对象之间的事件;(3)为每个脚本准备一个事件轨迹图(跟踪图);(4)创建一个状态图;(5)为确保一致性,匹配对象之间的事件。8、说明功能建模的过程。9、说明面向对象的特征和要素。10、简述结构化程序设计方法的基本要点。 .(1)采用自顶向下,逐步求精的程序设计方法。(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。11、简述文档在软件工程中的作用。.(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。12、简述提高可维护性的方法。.(1)建立明确的软件质量目标(2)利用先进的软件开发技术和工具(3)建立明确的质量保证工作(4)选择可维护的程序设计语言(5)改进程序文档13、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?模块的影响范围:受该模块内的一个判定影响的所有模块的集合。模块的控制范围:模块本身及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的影响范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 五、应用题1、研究生入学考试的科目为英语、数学、政治,录取规则是:a) 总分200分以下(不含200分)不录取。b) 总分200分以上(含200分)时: i. 英语、数学均为60分以上(含60分)录取。 ii. 数学55分以上(含55分),英语70分以上(含70分)需参加复试。 iii. 其它情况不录取。用决策树表达此项处理逻辑。 2、某银行发放贷款原则如下:(1) 对于贷款未超过限额的客户,允许立即贷款;(2) 对于贷款已超过限额的客户,若过去还款记录好且本次贷款额在2万元以下,可作出贷款安排,否则拒绝贷款。请用结构化语言描述该原则。{.如果 已超过贷款限额 则 如果 客户过去还款记录差 则 拒绝贷款 否则 如果本次贷款额≥2万 则 拒绝贷款 否则 作出贷款安排 否则 允许立即贷款}3、银行确定储蓄类型部分数据流图如下:
存款单 试作出事务分析结构的控制结构图。 4、高考录取计分子系统有如下功能:(1) 计算标准分根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。试根据要求画出该系统的数据流图。 5、一本书有一个封面、一个目录、一个前言、若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后还有一个封底。建立该书的对象模型。 6、一台微机有一台显示器、一台主机、一个键盘、一个鼠标,打印机可有可无。主机包括一个机箱、一个主板、一个电源、存储器等部件,存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。建立微机的对象模型。7.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。电话号码=分机号|外线号码分机号=7201...7299外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100...300市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4 8.某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。要求:1).对以上问题画出数据流程图。2).画出该培训管理的软件结构图的主图。
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《软件工程复习题答案(填空已做出)》
文章链接:
https://www.skykkk.com/archives1844.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。