1、东北农业大学网络教育学院 软件工程 网上作业题 参考答案 第 1 章 软件工程学概述 一、 选择题 1.软件危机具有下列表现( ) I、对软件开发成本估计不准确 II、软件产品的质量往往不可靠 III、软件常常不可维护 IV、软件成本逐年上升 A I、 II 和 III B I、 III 和 IV C II、 III 和 IV D以上都正确 答案: D 2. 产生软件危机的原因可能有( ) I、用户需求描述不精 确、不准确 II、对大型软件项目的开发缺乏有力的组织与管理 III、缺乏有力的方法学和工具的支持 IV、软件产品的特殊性和人类智力的局限性 A I 和 II B I、 II 和 IV
2、C II、 III 和 IV D以上都正确 答案: D 3. ( )分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。 A.增量模型 B喷泉模型 C原型模型 D.螺旋模型 答案: A 4. 为了克服软件危机,人们提出了用 ( ) 的原理来设计软件,这就是软件工程诞生的基础。 A. 数学 B. 软件学 C. 运筹学 D. 工程学 答案: D 5、 TURBO PASCAL 是( )软件。 A.系统软件 B.人工智能 C.事务软件 D.应用软件 答案: D 6具有风险分析的软件生存周期模型是( ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 答案: C 7. 瀑布模
3、型的关键不足在于( ) .过于简单 .不能适应需求的动态变更 .过于灵活 .各个阶段需要进行评审 答案: B 8软件危机是指( )。 A.软件遭到破坏 B.软件开发和维护过程中遇到的问题 C.软件维护出现困难 D.软件不能正常运行系列问题 答案: B 9. 软件的复杂性是( ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A.固有的 B.人为的 C.可消除的 D.不可降低的 答案: A 10. ( )是将系统化的、规范的、 可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A. 软件过程 B. 软件测试 C .软件生存周期 D .软件工程 答案: D
4、 11软件的主要特性是 ( )。 A.高性能 B.高成本 C.包括程序和文档 D.可独立构成计算机系统 答案: B 12软件开发方法的主要工作模型有 ( ) A.螺旋模型 B.循环模型 C.瀑布模型 D.专家模型 13软件工程三要素是 ( )。 A.高技术人员、方法和工具 B.方法、工具和过程 C.方法、对象和类 D.过程、模型、方法 答案: B 14软件工程的目标有 ( )。 A.易于维护 B.低的开发成本 C.高性能 D.短的开发期 答案: B 15软件工程学的目的和意义是 ( )。 A.应用科学的方法和工程化的规范管理来指导软件开发 B.克服软件危机 C.做好软件开发的培训工作 D.以较
5、低的成本开发出高质量的软件 答案: D 16. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( ) A. 软件工程 B. 软件周期 C. 软件危机 D. 软件产生 答案: C 17. 快速原型模型的主要特点之一是 ( ) A. 开发完毕才见到产品 B. 及早提供全部完整的软件产品 C. 开发完毕后才见到工作软件 D. 及早提供工作软件 答案: D 18瀑布模型的存在问题是( ) A用户容易参与开发 B缺乏灵活性 C用户与开发者易沟通 D适用可变需求 答案: B 19、软件生存周期模型不包括: ( ) A.瀑布模型 B.对象模型 C.增量模型 D.喷泉 模型 答案: B 2
6、0. 下列哪个不属于软件工程的内涵之一 ( ) A.应用完善的科学与工程原理 B.经济地开发软件 C.高薪聘请软件高手 D.开发既可靠又能有效运行的软件 答案: C 21在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于( )。 A.维护时期 B.计划时期 C.运行时期 D.开发时期 答案: B 22. 下列哪个办法不属于解决软件危机的途径之一 ( ) A. 研制新一代智能计算机 B. 大力扶持软件企业 C. 采用软件工程的解决途径 D. 采用面向对象的软件设计方法 答案: B 23 下面哪一项不属于快速原型模型的优点。 A.可及早为用户提供有用的产品。 B.可保证在开发后期
7、,全面发现错误给以纠正。 C.减少技术应用风险,缩短开发时间,减少费用、提高生产率。 D.促使用户主动参与开发活动,促进各类人员的协调,适应需求变化。 答案: B 24下列哪个不属于瀑布模型与传统的程序设计的不同之处( )。 A.传统的程序设计开发人员只开发程序 ,不写文档 . B.传统的程序设计重点在问题求解和算法 ,并只有自己才能读懂 . C.瀑布模型的各阶段要第三方介入审察 D.传统的程序设计规定各阶段必须写文档 . 答案: D 25下面哪个模式不属于软件工程的开发模式 A.基于瀑布模型的开发模式 B.基于原型模型的开发模式 C.基于人机对话的开发模式 D.基于关系数据库的开发模式 答案
8、: C 二、填空题 1. 软件工程学的内容可包括( )、结构、( )、( )、环境、管理、规范等。 答案:理论 方法 工具 2. 软件生存周期一般 可分为问题定义、( )、( )、设计、( )、测试、运行与维护阶段。 答案:可行性研究 需求分析 编码 3.软件( )( )。 答案: 程序 文档 4.软件危机的事实使人们意识到:计算机要推广使用,其关键在于( )技术的革新。 答:软件开发 5.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 ( ) 。 答: 软件危机 6软件危机出现于 _,为了解决软件危机,人们提出了用 _的原理来设计软件,这是软件工程诞生的基础。 答: 60 年
9、代末 工程学 7 瀑布模型把软件生存周期划分为软件定义、软件开发和 _三个阶段,而每一阶段又可细分为若干个更小的阶段。 答: 运行及维护 三、判断改错题 1. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。 ( ) 2瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。 ( ) 文档驱动 3结构化方法的工作模型是使用螺旋模型进行开发。 ( ) 两者无关 4软件危机的主要表现是软件的需求量迅速增加,软件价格上升。 ( ) 软件危机的主要表现: 一方面是无法满 足日益增长的对软件的需求;另一方面是难以满足对已有的软件系统维护的需要。 5 RCP 法与 RSP 法的主要区别是,前者采
10、用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。 ( ) 四、简答题 1. 当沿着螺旋模型的过程流路径向外移时,你认为正在开发或维护的软件发生了什么变化? 答: 在使用螺旋模型开发软件的过程中,从核心开始,螺旋的第一圈可能产生软件的规格说明,接下来的螺旋可能用于开发一个原型,随后是软件的更完善的版本。经过计划区域的每一圈是为了调整项目计划,基于从用户评估得到的反馈,调整 费用和进度。沿螺旋线自内向外每旋转一圈,便开发出一个更为完善的、新的软件版本。 2. 快速原型模型有几种?各有何特点? 答: 根据原型的不同作用,有三类原型模型:探索型原型。这种类型的原型模型是把原型用于开发的需求
11、分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这 种原型来证实设计方案的正确性。演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。 3 试说明 “软件生存周期 “的概念。 答: 软件生存周期是指软件产
12、品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。 ( 1) 计划阶段:确定待开发系统的总体目标和范围,研究系统的可行性 和可能的解决方案,对资源、成本及进度进行合理的估算。软件计划的主要内容包括所采用的软件生命周期模型、开发人员的组织、系统解决方案、管理的目标与级别、所用的技术与工具,以及开发的进度、预算和资源分配。 ( 2) 分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。通过评审需求规格说明,确保对用户需求达到共同的理解与认识。需求规格说明明确地描
13、述了软件的功能,列出软件必须满足的所有约束条件,并定义软件的输入和输出接口。 ( 3) 设 计阶段:设计阶段的目标是决定软件怎么做,设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。 ( 4) 实现阶段:实现阶段是将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。 ( 5) 测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。 ( 6) 维护阶段:一旦产品已交 付运行之后,对产品所做的任何修
14、改就是维护。维护是软件过程的一个组成部分,应当在软件的设计和实现阶段充分考虑软件的可维护性。维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。 4.软件产品的特性是什么? 答: a.软件产品是一种逻辑产品。 b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。 c.软件产品不会用坏,不存在磨损、消耗问题。 d.软件产品的生产主要是脑力劳动,还未完全摆脱手工 开发方式,而且碰分是 “定做 “的。 e.软件费用不断增加,成本相当昂贵。 5. 什么是软件危机?其产生的原因是什么? 答: 软件危机
15、:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发 的软件可维护性差。 d. 开发的软件可靠性差。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的: a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加。 d.软件开发技术落
16、后。 e.生产方式落后。 f.开发工具落后,生产率提高缓慢。 6. 什么是软件工程?它的目标和内容是什么? 答: 软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。 软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几 个目标: a.付出较低的开发成本 ; b.面到要求的软件功能 ; c.取得较好的软件性能 ; d.开发的软件易于移植 ; e.需要较低的维护费用 ; f.能按时完成开发任务,及时交付使用 ; g.开发的软件可靠性高 ; 软件工程的内容: ) 软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。 ) 软件开发管理:软件管理学、软件经济学、软件
17、心理学。 7. 软件工程面临的问题是什么? 答: 软件工程面临的问题: a.软件费用。 b.软件可靠性。 c.软件维护。 d.软件生产率。 e.软件重用。 8. 什么是 软件生存周期?它有哪几个活动? 答: 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等 . 9. 什么是软件生存周期模型?有哪些主要模型? 答: 软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程
18、式。) 软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型 和基于知识的模型等 五、问答题 无 第 2 章可行性研究 一、 选择题 1. 系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括( )。 A软件环境可行性、技术可行性、经济可行性、社会可行性 B经济可行性、技术可行性、操作可行性 C经济可行性、社会可行性、系统可行性 D经济可行性、实用性、社会可行性 答案: B 2. 研究开发所需要的成本和资源是属于可行性研究中的 ( ) 研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 答案: B 3. 设年 利率为 i ,若不计复
19、利, n 年后可得钱数为 F ,则这些钱现在的价值是( ) A. F ( 1+in ) B. ( 1+ni ) /F C. F/ ( 1+ni ) D. F/ ( 1+n/ i ) 答案: C 4. 在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于( )。 A.维护时期 B.计划时期 C.运行时期 D.开发时期 答案: B 5 数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成 ( )。 A.数据说明条目、 控制流条目、加工条目、数据存储条目 B.数据流条目、数据项条目、数据存储条目、加工条目 C.数据源条目、数据流条目、数据处理条目、数据文件条目 D.数据流
20、条目、数据文件条目、数据池条目、加工条目 答案: B 6. DFD 图不反映出系统 ( ) A. 系统做什么 B. 系统功能如何实现 C. 系统由谁来做 D. 系统实现的约束条件 答案: B 7. 下列模型属于成本估算方法的有 ( ) A.COCOMO 模型 B.McCall 模型 C.McCabe 度量法 D. 时间估算 法 答案: A 8. 软件项目计划一般不包括以下哪项内容( ) A 培训计划 B 人员安排 C 进度安排 D 软件开发标准的选择和制定 答案: D 9. 可行性研究的目标是 ( ) 。 A. 开发项目 B. 项目值得开发否 C. 规划项目 D. 维护项目 答案: B 10.
21、 分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 ( ) 。 A. 描绘了系统的实现细节 B. 表明了被开发系统的范围以及它和周围环境的数据交换关系 C. 描绘了系统的抽象 D. 描绘了软件实现的作 者和绘制的时间 答案: B 11. DFD 主要用来描述 ( ) 。 A. 系统的信息及其联系 B. 系统做什么 C. 系统模拟的动态模型 D. 系统功能如何实现 答案: B 12. 对软件复杂性进行度量时,采用代码行度量法,下列说法不正确的是 ( ) 。 A. 每行代码的出错率与源程序行数之间不存在简单的线性关系 B. 对于少于 100 行语句的小程序,源代码行数与出错
22、率是线性相关的 C. 代码行度量法只是一简单的,估计的很粗糙的方法 D. 随着程序的增大,出错率以线性方式增长 答案: D 13. 软件项目计划范围内容是对软件项目的综合描述,定义其所要做的工作以及性能限制。下列不属于软件项目计划范围内容的有 ( ) 。 A. 硬件资源 B. 成本估算 C. 系统接口 D. 进度安排 答案: C 14 DFD 图反映系统( ) A怎么做 B对谁做 C何时做 D做什么 答案: D 15 经济可行性研究的范围包括( ) A资源有效性 B管理制度 C效益分析 D开发风险 答案: C 16 可行性分析 是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发
23、的决策依据,因必须给出( )的回答。 A确定 B行或不行 C正确 D无二义 答案: B 17 为高质量地开发软件项目,在软件结构设计时,必须遵循 ( ) 原则。 A 信息隐蔽 B 质量控制 C 程序优化 D 数据共享 答案: A 18 数据流图( DFD )是 _ 方法中用于表示系统的逻辑模型的一种图形工具。 A SA B SD C SP D SC 答案: A 19 需求规格说明书的作用不包括( ) A 软件验收的依据 B 用户与开发人员对软件要做什么的共同理解 C 软件可行性研究的依据 D 软件设计的依据 答案: C 20 数据字典是用来定义 _ 中的各个成份的具体含义的。( ) A 流程图
24、 B 功能结构图 C 系统结构图 D 数据流图 答案: D 21. 软件可行性研究实质上是要进行 一次 ( )需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 答案: A 22软件计划的具体任务不包括 ( ) A.确定软件的作用范围 B.解决软件开发的难点 C. 估算开发所需的资源 D.估算软件成本费用和安排进度 答案: B 23 DFD 图不反映出系统 ( ) A.系统做什么 B.系统功能如何实现 C.数据流向与数据存储 D.系统实现的约束条件 答案: B 24. 软件可行性 研究一般不考虑( ) A 是否有足够的人员和相关的技术来支持系统开发 B 是否有足够的工具
25、和相关的技术来支持系统开发 C 待开发软件是否有市场、经济上是否合算 D 待开发的软件是否会有质量问题 答案: D 25分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的 ( ) 。 A 总貌 B细节 C抽象 D软件的作者 答案 A 26经调查,系统分析员给出有问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要还应输入系统,经库存业务(进贷或出贷)处理后输出。从这段 描述可知该部分数据流图中的外部项为: A.采购员、仓库管理员 B.定购清单、库存业务 C.库存业务 D.定购清单、采购员 答案 A 27下列叙述中, _不属于数据字
26、典的作用。 A.作为编码阶段的描述工具 B.为用户与开发人员之间统一认识 C.作为概要设计的依据 D.为需求分析阶段定义各类条目 答案 A 28数据流是数据流图的基本成分,下列关于数据流的叙述中, _ 是正确的。 A.某加 工的输入是一个数据流,该加工的输出也必定是一个数据流 B.多个不同的数据流可以流向一个加工,也可从一个加工中流出 C.数据流只能从加工流向文件,但不能从文件流向加工 D.一个数据流可以从一个文件流向另一个文件 答案 B 二、填空题 1. 数据流图的基本符号包括( )、( )、( )、( )。 答:数据输入的源点和数据输出的汇点 加工 数据流 数据存储文件 2. 数据流图和(
27、 )共同构成系统的逻辑模型。 答:数据字典 3. 数据字典的内容包括六项:( )、( )、( )、数据存储、处 理逻辑、外部实体。 答:数据流 数据项 数据结构 4. 可行性研究的目的是( )。 答:用最小的代价在尽可能短的时间内确定问题是否能够解决 5. 系统流程图是( )的传统工具。 答:描绘物理系统 6. 在可行性研究中,( )是系统开发过程中难度最大,最重要的一个环节。 答:技术可行性 7. 在结构化分析中,( )用于详细地定义数据流图中的成分。 答: 数据字典 8. 结构化分析方法中,数据流图的四种基本成分为:加工、源点或终点( )。 答:数据流和文件 9.在数据流图 中,用以表示软
28、件系统之外的人员、设备等外部实体的基本成分(元素)称为( )。 答:外部项 三、判断改错题 1.可行性研究阶段要进行一次大大压缩简化了的系统分析和设计的过程。 ( ) 2.数据流图表示了软件系统对数据的算法处理过程,即系统的物理模型。 ( ) 数据流图定义 3加工说明是对系统流程图中的加工进行说明。 ( ) 数据流图 4分层的 DFD 图可以用于可行性分析阶段,描述系统的物理结构。 ( ) 分层的 DFD 图可以用于可行性分析阶段。 描述系 统的物理结构 。 四、简答题 1.可行性研究的任务是什么? 答: a.技术可行性: 考虑的因素 (1).开发的风险 (2)资源的有效性 (3)技术 (4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。 b.经济可行性。 c.社会可行性。 2可行性研究有哪些步骤? 答: a.确定项目规模和目标 b.研究正在运行的系统 c.建立新系统的高层逻辑模型 d.导出和评价各种方案 e.推荐可行的方案 f.编写可行性研究报告 3. 成本 -效益分析可用哪些指标进行度量?