(完整word版)软件工程复习试题及答案_第1页
(完整word版)软件工程复习试题及答案_第2页
(完整word版)软件工程复习试题及答案_第3页
(完整word版)软件工程复习试题及答案_第4页
(完整word版)软件工程复习试题及答案_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、填空题(在下划线上填写正确的答案,每题 2分,共20分)1 .等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。2 .数据流图 和数据字典共同构成了系统的逻辑模型。3 .盒图也称为N-S图 。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。4 .软件有效性,指软件系统的时间和空间 效率。5 . IPO图的中文意思是 结构化设计中变换型Z勾的输入( Input )、加工 (Processing )、输出(Output ) 。6 .数据流图有四种基本成分:源、终点,处理,存储,数据流 c7 .数据字典有以下四种条目: 数据流、数据项、数据存储、基本加工 ,其

2、中数据项是组成数据流和数据存储的最小元素。8 .软件工程中的结构化分析 SA是一种面向数据流的分析方法。9 .软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。10 .耦合性 与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到 立内聚、 低 耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。1 .常用的软件开发模型有 瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型C2 .软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、 单元测试、运行与维护阶段。3 .软件测试的步骤: 单元、集成、系统、 验收 。4,数据流图的基本符号包括加工

3、、数据流、数据存储文件、汇点 。5 . IPO图由 输入、处理和 输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。6 .面向对象方法是一种运用类 、 实例 、 属性 、 重载 、消息传送、多态性等概念来构造系统的软件开发方法。7 .分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的向工程c8 .程序测试是对编码阶段的语法错、语义错和运行错讲行杳我的编码执行活动。9 .为了获得较高的模块独立性, 尽量设计出具有 高内聚和低藕合 性能的模块。10 .常用的测试方法有黑盒测试 和白盒测试。1. 可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究

4、。2 .构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。3 .软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护 阶段。4 .需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求 c7 .分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程 。8 .程序测试是对编码阶段的语法错、语义错 和运行错进行查找的编码执行活动进行查找的编码执行活动。9 .为了获得较高的模块独立性,尽量设计出具有低耦合 和 高内聚 性能的模块。1 .若年利率为i, n年后可得钱数为 F则现在的价值F/(1+N*i)。2 .在结构化分析中用来描述加工逻辑的主

5、要工具是结构化语言、判定表、判定树 。3 .软件测试的步骤: 制定测试计划、设计测试用例、实施测试、测试后调试、做测试报告4 .自顶向下结合的渐增测试法,在组合模块时有两种组合策略:深度优先策落和 宽度优先策略一7 .结构化方法总的指导思想是 自顶向下 逐层分解。1 .软件工程的三要素包括方法、 工具和过程。2 .面向对象方法用 对象行为和属性的分解取代了传统方法的功能分解。3 . HIPO图是由一组IPO图和一张 H 图组成。4 .在前期需求明确、资料完整的情况下尽量采用瀑布 模型。5 .用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用扩展 关系来表不。6 . UML中用一端为空心

6、三角形的连接表示 泛化 关系。7 .类是类图的主要的主要部件,由类名、属性 、操作3部分组成。8 . UML中的泛化关系就是通常所说的继承 关系。9 .部署图用 连接实线 关系表示各节点之间的通信路径。10 .选择 关系命令,可以看到 Rose中对应图形的分类。1.软件危机具有下列表现( D )。1、对软件开发成本估计不准确2、软件产品的质量往往靠不住3、软件常常不可维护4、软件成本逐年上升A、1、2和3 B、1、3和4 C、2、3和4 D、 以上都正确2.软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是(A )。A运行和维护阶段B、设计阶段 C、代码实现阶段 D

7、、测试阶段3下列属于软件的特点的是(D )。A、软件是一种逻辑实体,具有抽象性B 、软件在使用过程中没有磨损、老化C、软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高D 、以上都正确4软件开发技术不包含(D )。A、软件开发方法学 B、软件工程环境C、软件工具 D、软件质量度度量5需求分析阶段最重要的技术文档是(B )。A 、 设计说明书B 、 需求规格说明书C、可行性分析报告D、 用户手册6数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(C )A 、数据库设计B、 数据通信C、 数据定义D、 数据维护7需求分析阶段的研究对象是(C )。A 、系统分析员要求B 、用户要

8、求C、软硬件要求D、系统要求8结构化方法的基本原则是(B )。A、模块化 B、抽象与分解C、信息隐藏 D、逐步求精9耦合度最高的是(B )耦合。A、环境耦合B、内容耦合 C、控制耦合 D、数据耦合10画软件结构图时应注意调用关系只能是(B )A 、从下到上B 、从上到下C、从左到右D、从右到左11 软件设计中划分模块的一个准则是(C)A 、低内聚低耦合B 、低内聚高耦合C、高内聚低耦合 D高内聚高耦合12 . Jackson设计方法是由英国的 M.Jackson提出的,它是一种面向(C)的软件设计方法。A、对象 B、数据流 C、数据结构D、控制结构13 .使用白盒测试方法时,确定测试数据应根据

9、( A)和指定的覆盖标准。A、程序内部逻辑 B、程序的复杂程度C、该软件的编辑人员D、程序的功能14软件维护工作的最主要的部分是(A )。A、校正性维护 B、适应性维护 C、完善性维护 D、预防性维护15. PDL 是(B)语言。A、高级程序设计语言 B、伪码式C、中级程序设计语言 D、低级程序设计语言16下列哪个阶段不属于软件生存期的三大阶段(C )。A 、定义阶段B 、开发阶段C、编码阶段D、维护阶段17可维护性的特性中相互促进的是(A )A、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好18软件测试的目标是(B)A 、证明软件是正确的B 、发现错误、降低错误带来的

10、风险C、排除软件中所有的错误D、与软件调试相同19 .软件生命周期中所花费用最多的阶段是A、详细设计 B、软件编码 C、软件测试20 .详细设计的基本任务是确定每个模块的(A、功能B、调用关系 C、输入输出数据(D )D、D)D、软件维护 设计。算法22 .下列哪个图不是 N-S图的构件( C )o23 .对于下列各图,有关描述中正确的是(A、数据A和B同时输入变成 C* CBB、数据A变换成B和CBC、数据A或数据B (不能同时)输入,变换成 CCBD、数据A变换成B和C24.25.26.C卜列哪种方法不是度量效益的方法(A、货币的时间价值C、投资回收期卜列描述错误的是( D )。B )。B

11、、算法模型估计D、纯收入A、B、C、D、数据流图将各种信息流抽象成数据流的形式 数据流图不反映控制关系、调用关系数据流图不反映处理逻辑的先后顺序 数据流图不反映数据的流向软件是(C)A、处理对象和处理规则的描述B、程序C、程序及文档D、计算机系统27软件需求规格说明的不应包括(B)。A、主要功能 B算法的详细描述C、用户界面及运行环境 D、软件性能28程序的三种基本控制结构是(B)。A、过程、子程序和分程序B、顺序、选择和循环C、递归、迭代和回溯 D、调用、返回和转移29面向对象的分析方法主要是建立三类模型,即( D)。A、系统模型、ER模型、应用模型 B、对象模型、动态模型、应用模型B 、

12、ER 模型、对象模型、功能模型D 、动态模型、功能模型、对象模型30 ER 模型中,包含以下基本成分(C)。A、数据、对象、实体 B、控制、联系、对象C、实体、联系、属性 D、实体、属性、操作1 快速原型模型的主要特点之一是A 开发完毕才见到产品C.及早提供全部完整软件2软件工程学的一个重要目标是A 提高程序的执行效率C.定义各种软件开发过程模型3需求分析最终结果是产生A 项目开发计划C.设计说明书B 及早提供工作软件D 开发完毕才见到工作软件B 降低程序对存储空间的要求D 提高软件的可维护性B 需求规格说明书D 可行性分析报告B)D )B )4数据存储和数据流都是处于不同状态的A分析结果B事

13、件C动作D数据5数据字典是对数据定义信息的集合,它所定义的对象都包含于(AA .数据流图B.程序框图C.软件结构D.方框图6、结构化设计是一种面向(A )的设计方法。A.数据流B.数据库C.数据结构D.程序7下列可哪个组件不是用例图的基本组件(DA.参与者B.用例C.系统D.文档8用例图中用例之间存在各种关系,但不包括( B)A.包含B.关联C.泛化D.扩展9常用动词或动词词组来表示(C )A.对象B.类C.关联D.属性10组件图中通常不包括下列哪个元素(A)A.对象B.组件C.接口D.依赖11 好的软件结构应该是(B )A 高耦合、高内聚B 低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚

14、12静态模型不包括(C )A.类图B.组件图C.状态图D.部署图13动态模型不包括(D)A.交组图B.活动图C.状态图D.部署图14. Rose模型文件的扩展名为A)A mdlB vsd15逆向工程是什么过程A.模型到代码C.代码到模型C pdfD swfB 设计到实现D 类图到包图2 分,共 20 分)1 软件开发的主要任务是写程序。( F )2 测试只能证明程序有错误,不能证明程序没有错误。(T )3 模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。( F )4 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要写软件文档那样,很好地琢磨

15、程序具有什么样的功能,这些功能如何安排等等。(F )5 程序设计风格指导原则提出,尽量多使用临时变量。( F )6 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( F )7 发现错误多的程序模块,残留在模块中的错误也多。( T )8 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(F )9 软件维护就是改正软件中的错误。( F )10 质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。( T )11 螺旋模型是利用笛卡尔坐标的四个象限分别代表四个方面的活动来表示。( F )12 模块越多,开发成本越小。(F)13 内聚是指一个软件结构内各个模块之

16、间互连程序的度量。(F)14 结构化设计属于面向数据流的设计方法。(T)15 详细设计是在概要设计之后进行的。它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述。( T )16 程序运行过程中出现错误叫做容错。(F )17 软件测试的目的是证明程序没有错误。(F )18 白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。( F )19 PAD 图在设置了五种基本的控制结构后,还允许递归调用。(T )20 独立编译是指一个大程序的不同程序单元分别编译,然后重新连接整个程序段。(T )31 开发软件就是编写程序(F)32 系统测试的主要方法是白盒测试法,主要进行功

17、能、性能测试、安全性测试及可靠性测试等(F)33 编程时应尽可能利用硬件特点以提高程序效率(F)。34 软件需求分析的任务是建立软件模块结构图(F)。35 尽可能使用高级语言编写程序(T)。36 以结构化方法建立的系统模型就是数据流图(F)。37 进行总体设计时加强模块间的联系(F)。38 编码时尽量多用全局变量(F)。T)39 用 CASE 环境或程序自动化生成工具来自动生成一部分程序(40 软件测试是要发现软件中所有错误(F)(T ) 41、软件开发、设计几乎都是从头开始,成本和进度很难估计。(F ) 42、V (G)值越高的程序往往是越不复杂、越不容易出问题的程序。(F ) 43、适应性

18、维护是改进软件未来的可维护性和可靠性。(F ) 44、软件是逻辑产品,软件质量较容易直接度量。(T ) 45、随着软件复杂性的不断提高,软件的维护难度越来越大。(F ) 46、软件也会磨损和老化。(F ) 47、用穷举法测试是较现实的测试方法。(T ) 48、面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、 选择和循环三种基本形式表示数据等步骤。(F ) 49、测试计划、测试用例,出错统计和有关的分析报告一般不用长期保存。(F ) 50、McCabe建议模块规模应满足:V (G) w 20。(T ) 61 .总体设计阶段要设计软件体系结构。(F ) 62、软件即程序。( T )

19、63.采用对象设计系统时,首先建立系统的物理模型。(T ) 64.用例图中,扩展关系表示为虚线箭头加“extend”。(T ) 65.实现关系指定两个实体之间的一个合同。( T ) 66.状态图通常作为对类图的补充。( F ) 67.聚集关系是关联的一种形式,表示两个类之间的一般与特殊关系。( T ) 68. 一个完整的模型必然描述系统的静态和动态两个方面。(F ) 69.状态图是对多个对象建模。(T ) 70.在UML中,组件是指系统中可替换的物理部分。四简述题(每小题 5分,共10分)1 .测试用例测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以

20、便测试某个程序路径或核实是否满足某个特定需求。2 .模块化模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。3 .对象指行动或思考时作为目标的事物4 .软件生命周期各阶段的任务是什么?答:软件生命期分为 7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。1、什幺跋件生命邺的将性就螂钿虺腿?备处睚遮后等的持翡;熟脸错瓶度愎钿需

21、阴耻瞰的蜉黔浙5朋杂瑞到蚱福q immram 掘用对蚯抓锄皆灰阶蚁耀咖惬辘停燃魂航嫡侬烷路睡船否喷道如但铉缶曲段的丹娟施生相青跚雌A册:一恸为4,股,绛正邠儡定邓谶舸册钻湖喷胸襦都淅 随箝罐却理置坟 维脚推有岫L跖好.5 .软件重用的效益是什么?答:1、软件重用可以显著地改善软件的质量和可靠性。2、软件重用可以极大地提高软件开发的效率。3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。6 .结构化程序设计方法的基本要点。1 .采用自顶向下、逐步求精的程序设计方法:在需求分析、概要设计中,都采用了自定 向下、逐层细化的方法。2 .使用三种基本控制结构构造程序,分别是顺序、选择和循环

22、,这三种基本结构的共同 点是、单入口、单出口,为自顶向下、逐步求精的设计方法提供了具体的实施手段。3 .采用主程序员的组织形式:指开发程序的人员组织方式应用由一个主程序员、一个后 备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组。7 .什么是软件生命周期?8 .简述什么是回归测试?回归测试-在集成测试过程中每当一个新模块结合进来时,程序就发生了变化:建立了 新的数据流路径,可能出现新的I/O操作,激活新的控制逻辑。这样变化有可能使原来正常的功能出现了问题;所谓回归测试是指重新执行已经做过的测试的某个子集,以保证上 述变化没有带来非预期的错误。9 .简述软件危机有哪几种表

23、现?软件开发和维护的过程中常遇到的问题(1)对于软件开发的成本和进度的估计很不准确。(2)开发的软件产品不能完全满足用户要求。(3)开发的软件可靠性差,软件产品质量差。(4)软件通常没有适当的文档资料。(5)软件的可维护性差。(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势,效率低。(7)软件价格昂贵。10 .什么是软件工程?(Software Engineering ,简称为SE)是一门研究用工程化方法构建和维护有效的、实 用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台, 标准,设计模式等方面。11 .简述需求分析的任务?需求分析的任务就是:

24、确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准 则和初步的用户手册12 .详细设计的主要任务是什么?答:详细设计的基本任务包括:1、为每个模块进行详细的算法设计2、为模块内的数据结构进行设计3、对数据库进行物理设计4、其他设计5、编写详细设计说明书6、评审13 .自顶而下渐增测试与自底向上渐增测试各有何优缺点答: 自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且 能够尽早发现上层模块的接口错误。缺点:需要存根程序,底层错误发现较晚。自底而上渐增测试优点与缺点和自

25、顶而下渐增测试相反。14 .软件生存期各阶段的主要任务。15 .简述需求分析工作可以分成哪四个方面?软件需求分析有三个基本原则?需求分析阶段的基本过程包括四个方面 :对问题的识别,分析与综合,制定规格 说明以及评审。(1)问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件 项目实施计划。然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户 界面需求、资源使用需求等方面的工作。(2)分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求,是否合理。(3)制定规格说明,编写需求分析的文

26、档。(4)需求分析评审。为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格执行。需求分析的原则1 .必须能够传达和理解问题的数据域和功能域2 .必须按自顶向下、逐层分解的方式对问顺进行分解和不断细化3 .给出系统的逻辑模型和物理模型16 .以G.J.Myers的观点,简述对软件测试的目的。1、为了发现错误而执行程序的过程2、一个好的用例能够发现至今尚未发现的错误的测试3、一个成功的测试是发现至今尚未发现的错误的测试17 .在面向对象的系统开发过程中,每个阶段需要建造的模型各有什么作用?1、在面向对象的系统开发过程中,每个阶段要建造不同的模型2、需求分析阶段建造的模型用来捕获系统需求分析3、设计阶段的模型是分析模型的扩充,为实现阶段作指导性和技术性的解决方案4、实现阶段的模型是真正的源代码及编译后的组件5、发布阶段是描述系统物理上的架构18 .软件工程的原则是什么?软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵 循的原则。五、应用题(20分)1 .某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论