软件工程试题b卷及答案解析_软件工程第三版课后题答案

软件工程试题b卷及答案解析_软件工程第三版课后题答案软件工程试题B卷及答案2011年10月01日  重要提醒:系统检测到您的帐号可能存在被盗风险,请尽快查看风险提示,并立即修改密码。|关闭  网易博客安全提醒:系统检测到您当前密码的安全性较低,为了您的账号安全,建议您适时修改密码立即修改|关闭  一、选择题(每题2分,共40分)  1.软件项目的可行性研究要进行一次(C)需求分析。...

软件工程试题B卷及答案

2011年10月01日

  重要提醒:系统检测到您的帐号可能存在被盗风险,请尽快查看风险提示,并立即修改密码。 | 关闭

  网易博客安全提醒:系统检测到您当前密码的安全性较低,为了您的账号安全,建议您适时修改密码 立即修改 | 关闭

  一、选择题(每题2分,共40分)

  1.软件项目的可行性研究要进行一次( C )需求分析。

  A.详细的 B.全面的 C.简化的、压缩的 D.彻底的

  2、系统流程图用于可行性分析中的( A )的描述。

  A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统

  3、程序的三种基本控制结构的共同特点是( D )

  A.不能嵌套使用 B.只能用来写简单程序

  C.已经用硬件实现 D.只有一个入口和一个出口

  4、维护中,因误删除一个标识符而引起的错误是( C )副作用。

  A.文档 B.数据 C.编码 D.设计

  5、( D )是以提高软件质量为目的的技术活动。

  A.技术创新 B.测试 C.技术创造 D.技术评审

  6、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;( C );对象彼此之间仅能通过传递消息互相联系;层次结构的继承。

  A.开发过程基于功能分析和功能分解 B.强调需求分析重要性

  C.把对象划分成类,每个对象类都定义一组数据和方法 D.对既存类进行调整

  7、原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。

  A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时

  8、为了提高测试的效率,应该( D )。

  A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据

  C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据

  9、使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。

  A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能

  10、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )

  A.软件工程 B.软件周期

  C.软件危机 D.软件产生

  11、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B )。

  A.可用性 B.可靠性 C.正确性 D.完整性

  12、瀑布模型的关键不足在于( B )

  A.过于简单 B.不能适应需求的动态变更

  C.过于灵活 D.各个阶段需要进行评审

  13、软件维护的副作用主要有以下哪几种( C )

  A.编码副作用、数据副作用、测试副作用 B.编码副作用、数据副作用、调试副作用

  C.编码副作用、数据副作用、文档副作用 D.编码副作用、文档副作用、测试副作用

  14、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B)。

  A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法

  15、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C)。

  A、 硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、 开发人员的素质

  16、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(1),它建立在(2)的基础上,沿着螺线自内向外每旋转一圈,就得到(2)的一个新版本。喷泉模型描述了(3)的开发模型,它体现了这种开发方法创建软件的过程所固有的(4)和(5)的特征。

  B(1) A、 系统工程 B、 风险分析 C、 设计评审 D、 进度控制

  D(2) A、 模块划分 B、 子程序分解 C、 设计; D、 原型

  A(3) A、 面向对象 B、 面向数据流 C、 面向数据结构 D、 面向事件驱动

  D(4) A、 归纳 B、推理 C、 迭代 D、 递归

  A(5) A、 开发各阶段之间无“间隙” B、 开发各阶段分界明显 C、 部分开发阶段分界明显 D、 开发过程不分段 二、判断题(每题2分,共30分)

  1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( T )

  2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。( F )

  3.JAVA语言编译器是一个CASE工具。( T )。

  4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。( F )

  5.软件模块之间的耦合性越弱越好。( T )

  6.数据库设计说明书是一个软件配置项( T )

  7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。( F )

  8.过程描述语言可以用于描述软件的系统结构。( F )

  9.如果通过软件测试没有发现错误,则说明软件是正确的。( F )

  10.快速原型模型可以有效地适应用户需求的动态变化。( T )

  11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。( T )

  12.集成测试主要由用户来完成。( F )

  13.确认测试计划应该在可行性研究阶段制定( F )

  14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。( F )

  15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。( T )

  三、简答题(每题5分,共25分)

  1、分析软件危机产生的主要原因有哪些?

  2、说明结构化程序设计的主要思想是什么?

  3、软件测试包括哪些步骤?说明这些步骤的测试对象是什么?

  4、需求分析与软件设计二个阶段任务的主要区别是什么?

  5、简述文档在软件工程中的作用。

  四、综合题(5分)

  某培训中心要研制一个计算机管理系统。它的业务是:

  将学员发来的信件收集分类后,按几种不同的情况处理。

  1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

  2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

  3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

  要求:

  1.对以上问题画出数据流程图。(2.5分)

  2.画出该培训管理的软件结构图的主图。(2.5分)

  软件工程试题B答案

  一、 选择题

  1、C 2、A 3、D 4、C 5、D 6、C 7、A 8、D 9、A 10、C

  11、B 12、B 13、C 14、B 15、C 16、⑴B⑵D⑶A⑷D⑸A

  二、 判断题

  1、√ 2、X 3、√ 4、X 5、√ 6、√ 7、X 8、X 9、X 10、√ 11、√ 12、X 13、X

  14、X 15、√

  三、 简单题

  1.分析软件危机产生的主要原因有哪些?

  答:导致软件危机的主要原因有:

  (1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加

  1 个要点1分,只要答上5个要点得5分!

  2.说明结构化程序设计的主要思想是什么?

  答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。(3分)

  3.软件测试包括哪些步骤?说明这些步骤的测试对象是什么?

  答:(1)单元测试,测试对象对单元模块(2分)(2)集成测试,测试对象为组装后的程序模块(2分)(3)确认测试,测试对象为可运行的目标软件系统(1分)

  4.需求 分析与软件设计二个阶段任务的主要区别是什么?

  答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分)

  软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分)

  5、简述文档在软件工程中的作用。(5分)

  .(1)提高软件开发过程的能见度(1分)

  (2)提高开发效率、便于用户了解软件功能、性能(1分)

  (3)作为开发人员阶段工作成果和结束标志(1分)

  (4)记录开发过程的有关信息便于使用与维护(1分);

  (5)提供软件运行、维护和培训有关资料;(1分)

  四、 应用题(5分)

  (1)数据流图(2.5分)

  (2)软件结构(2.5分) 1、维护的副作用

  所谓副作用是指因修改软件而造成的错误或其它不希望发生的情况

  2、完善性维护

  为了适应用户业务和机构的发展变化,添加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护

  3、增量开发

  指在项目开发周期内,以一定的时间间隔开发部分工作软件

  4、.增量提交

  增量提交是在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应的文档资料。

  5、渐增式测试

  逐个把未经过测试的模块组装到已经测试的模块上,进行集成测试,每加入一个新模块,进行一次集成测试,重复此过程,直到程序组装完毕。

  6、详细设计

  是软件设计的第二阶段,主要确定每个模块具体执行过程,故也称过程设计

  7、父图与子图的平衡

  建立分层的数据流图时,子图的输入输出数据流同父图相应加工的输入输出数据流必须保持一致,这就是父图与子图的平衡

  8、HIPO图

  是一种表示软件系统结构的工具。它既可以描述软件总的模块层次结构――H图(层次图),又 可以描述每个模块输入/输出数据、处理功能及模块调用的详细情况――IPO图。

  9、PAD

  PAD是问题分 析图(Problem Analysis Diagram)的英文缩写,

  PAD是一种程序结构可见性好、结构唯一、易于编制、易于检查和易于修改的详细设计表现方法

  10、过程设计语言(PDL)

  它是一种用于描述模块算法设计和处理细节的语言

  11、对象

  是人们要进行研究的任何事物。它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

  12、 消息传递

  是从外部使得一个对象具有某种主动数据的行为。

  13、类的继承性

  继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

  14、多态性

  多态指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

  15、信息隐蔽(封装性)

  指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其 他模块来说,是不能访问的。

  16、基线

  是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作划分更加明确化,使本 来连续的工作在这些点上短开,以便于检查与肯定阶段成果。

  17、程序设计风格

  程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等.

  18、瀑布模型

  将软件生存周期各个活动规定为以线性顺序连接的若干阶段的模型

  19、软件生存周期模型

  软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

  20、软件质量

  包括三部分:①与所确定的功能和性能需求一致;②与所成文的开发标准一致;③与所有专业开发的软件 所期望的隐含特性一致

  21、.软件工程:是用科学知识和技术原理来定义、开发、维护软件的一门学科。

  22、软件可靠性

  (1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率;

  (2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;

  23、软件质量保证

  软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。

  24、软件生存周期

  软件生存周期(software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。

  25、软件工程过程

  软件工程过程是把输入转化为输出的一组彼此相关的资源和活动

  26、软件开发环境

  软件开发环境或称软件工程环境是全面支持开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务 的完成。

  27、软件项目的纯收入

  在整个生存周期之内的累计经济效益与投资之差

  28、软件开发方法

  使用早已定义好的技术集及符号表示习惯来组织软件生产的过程

  29、 软件工具

  软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统。

  30、静态测试

  静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性 31、动态测试

  所谓软件的动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性

  32、集成测试:是指对程序模块采用一次性或增值方法组装起来,对模块间接口进行正确性检验的测试工作,集成测试又称组装测试。

  33、确认测试:确认测试是指在模拟(或正式)的生产环境下,运用黑盒测试的方法,验证所测软件是否满足用户需求说明书中所列出的需求,确认测试又称有效性测试

  34、容错软件

  容错软件的定义:

  1。对自身的错误的作用具有屏蔽作用

  2。可以从错误状态恢复到正常状态

  3。发生错误时,能完成预期的功能

  4。在一定程度上具有容错能力

  35、技术可行性

  对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目能否实现

  36、可移植性

  软件可移植性指与软件从某一环境转移到另一环境下的难易程度。

  37、.数据字典

  是一种用户可以访问的记录数据库和应用程序元数据的目录

  38、数据流图

  数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间在什么联系等等,或是用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程

  39、需求分析

  软件需求分析:指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求 陈述转化

  为完整的需求定义,再由需求定义转换到 相应的形式功能规约(需求规格说明)的过程。

  40、模块的作用范围:该模块内一个判定影响的所有模块的集合

  41、模块的控制范围

  一个模块的控制范围指模块本身以及其所有下属模块的集合

  42、模块化

  模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。

  43、模块独立性

  模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单.

  44、桩模块

  集成测试前 要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩 模块。

  45、模块

  模块在程序中是数据说明、可执行语句等程序对像的集合。在软件结构中,模块是可组合、分解和更换的单元

  46、耦合性

  也称块间联系,指软件系统中各模块间相互联系紧密程度的一种度量。

  47、错误推测法(黑盒测试方法)

  基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

  48、条件覆盖(白盒测试内容)

  条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个 条件的所有可能结果至少出现一次,但未必能覆盖全部分支

  49、白盒测试:把 测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制 结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

  50、黑盒测试: 把被测试的对象看成一个黑盒子,测试人员完全不考虑内部结构和处理过程,只在软件的接口处进行测试,依据需求说明书,检查程序是否满足 功能要求。

  51、抽象: 是认识复杂现象过程中使用的思维工具,即抽出事物本 质的共同特性而暂不考虑它的细节,不考虑其他因素。

  52、软件: 指计算机程序及其说明程序的各种文档。

  53、状态: 是对象的属性 值,也是对象执行了一系列活动的结果。

  54、内聚:也称块内联系, 指模块的功能强度的度量,即一个模块内部各个元素彼

  此结合的紧密程度的度量

  55、软件测试:根据软件开发各阶段的文档,测试人员精心设计一组测试用 例,利用

  这些测试用例执行程序, 以尽可能多地发现程序中的错误和缺陷。

  56、类: 指具有相同或相似性质对象的抽象。

  57、配置管理:用于整个软件工程过程,其目标是标识变更;控制变更;确保 变更正

  确地实现;报告有关变更。它是一组管理整个软件生存期阶段变更的活动。

  58、冗余

  

  

  

架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/166000
0
 

发表评论