软件工程导论1_第1页
软件工程导论1_第2页
软件工程导论1_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章练习题一、判断题1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( )2.软件是 指用程序设计语言 (如 PASCAL ,C,VISUAL BASIC等)编写的 程序 ,软件开发实际上就是编写程序代码。( X)3. 在面向对象的软件开发方法中, 每个类都存在其相应的对象, 类是对象的实例 ,对象是生成类的模板。( X)4.快速原型模型可以有效地适应用户需求的动态变化。()5.类是关于对象性质的描述,由方法和数据组成。()6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。()二、名字解释:1. 软件:完成特定功能的 程序 +数据结构 +文档 。2. 软件危机: 软

2、件危机指 在计算机软件的 开发和维护 过程中,所遇到的 一系列严重问题 。3.软件工程: 将系统化的、 规范的、可度量的方法应用与软件的开发、运行和维护的过程。(将工程化运用于软件中)。4. 软件生命周期: 一个软件从 定义、开发、 使用和维护直至最终被废弃 ,要经历的漫长时期。5.软件过程: 为了获得高质量软件所需要完成的一系列任务的框架 ,它规定了完成 各项任务的工作步骤 。6.瀑布模型: 是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。7

3、.快速原型模型: 是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。8.增量模型: 是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。9. 螺旋模型: 是一种演化软件开发过程模型, 它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控 。螺旋模型最大的特点在于引入了其他模型不具备的 风险分析 ,使软件在无法排除重大风险时有机会

4、停止, 以减小损失。 同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。对象。三、选择题1. 软件工程的概念是哪年提出的 ( B)。A. 1988B. 1968C. 1948D. 19282. 瀑布模型的关键不足在于 (D )。3. 以下哪一项不是软件危机的表现形式(C )。A. 开发的软件不满足用户需要B. 开发的软件可维护性差C. 开发的软件价格便宜D. 开发的软件可靠性差7. 软件开发的需求活动,其主要任务是(AD )。A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型8. 以下说法错误的是 (

5、A)。A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令B. 文档也是软件产品的一部分,没有文档的软件就不成软件C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D. 高质量文档对于发挥软件产品的效益有着重要的意义9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于A. 成本估算B. 项目计划C. 工程管理D. 工程网络图21、软件是一种(C)A、程序B、数据C、逻辑产品D、物理产品(A )。22、需求分析最终结果是产生(B)A、项目开发计划C、设计说明书B、需求规格说明书D、可行性分析报告30、软件按照设计的要求,称为(B)在规定时间和条件下达到不出故障,持续

6、运行的要求的质量特性A.可用性B.可靠性C.正确性D.完整性36、对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A、结合B、隐藏C、封装37、 (D )是比较理想的可重用软构件。D、抽象A.子程序库C.对象B.源代码包含文件D.类39、软件生存周期中时间最长的是(D)阶段。A、总体设计B、需求分析C、软件测试D、软件维护42、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C)的编制是很重要的。A、需求说明B、概要说明C、软件文档D、测试计划52.以下哪一项不是软件危机的表现形式(3)(1)成本高( 2)生产率低 (3)技术发展快 ( 4)质量得

7、不到保证53.以下哪一项不是面向对象的特征(4)(1)多态性( 2)继承性( 3)封装性( 4)过程调用59. 软“件危机 ”是指 ( C) A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统71. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A )的方法和技术中产生的。A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段78. 软件开发过程来自用户方面的主要干扰是(A)A. 功能变化B. 经费减少C. 设备损坏D. 人员变化92. 需求分析是回答系统必须(A)的问题。A. 做什么B. 怎么做C.

8、何时做D. 为谁做107螺旋模型是一种将瀑布模型和_ 结合起来的软件开发模型。(A 增量模型B 专家系统C 喷泉模型D 变换模型108需求规格说明书的作用不包括(C)A)A 软件验收的依据B 用户与开发人员对软件要做什么的共同理解C 软件可行性研究的依据D 软件设计的依据111 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A)A 软件危机B 软件工程C 程序设计革命D 结构化程序设计125 需求分析中开发人员要从用户那里了解(A)A 软件做什么B 用户使用界面C 输入的信息 D 软件的规模129 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是

9、否开发的决策依据,因必须给出(B )的回答。A 确定B 行或不行C正确 D无二义130 需求分析阶段的任务是确定(D )A 软件开发方法B 软件开发工具C 软件开发费D 软件系统的功能D. 类的开发140. 需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出 ( B)的过程。A. 模块说明书B. 软件规格说明C. 项目开发计划D. 合同文档第二章练习题一、判断题7.软件的模块数越少,其软件成本越低。X8.软件模块之间的耦合性越弱越好。9.模块化, 信息隐藏, 抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。 10.耦合是指一个模块内各个元

10、素彼此结合的紧密程度。X11.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。 X12.在设计模块时,其宽度和深度要适当。13.模块耦合的强弱取决于模块间接口的复杂程度。二、名字解释:10. 抽象:现实世界中一定事物, 状态或过程之间总存在着某些相似的方面。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象 (抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素 。 )。11. 模块化: 就是把 程序划分 独立命名且可 独立访问的模块 ,每个 模块完成一个子功能 ,把这些模块集成起来 构成一个整体 ,可以完成指定的功能满足用户的需求。12.逐步求精

11、 : 为了能 集中精力解决主要问题而尽量推迟对问题细节的考虑。逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术的基础。13.耦合:是对一个软件结构内 不同模块之间互联程度的度量 。14.内聚:标志一个 模块内各个元素彼此结合的紧密程度,它是 信息隐藏和局部化概念的自然扩展。15. 模块独立:是 模块化、抽象、信息隐藏和局部化概念的直接结果。16. 信息隐蔽: 指在设计和确定模块时, 使得一个模块内包含的信息 ,对于不需要这些信息的其它模块来说,是 不能访问 的。三、选择题10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、 高内聚以外,还有(B)。A. 隐

12、藏复杂性B. 信息隐蔽C. 经常类的复用20、为了提高模块的独立性,模块内部最好是(C)A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚33、从心理学角度看,一次大模块分解为多少个子模块为宜。(A、3±1B、7±2B )C、 15± 1D、18± 238、软件设计启发规则不包括(C)A、在耦合方式上降低模块间接口的复杂性B、模块功能应该可以预测C、将模块的控制域保持在其作用域内D、设计单入口单出口的模块40、为了提高模块的独立性,模块之间的联系最好的是(D )。A、公共耦合B、控制耦合C、内容耦合D、数据耦合48、下列几种类型中,耦合性最弱的是(D )。

13、A、内容型B、控制型C、公共型D、数据型51.内聚程度最高的是 ( A)A、功能内聚B 巧合内聚C、 过程内聚D、信息内聚89.通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是(C)A、 通信、逻辑、顺序、时间B、 通信、时间、顺序、逻辑C、 顺序、通信、时间、逻辑D、 顺序、通信、逻辑、时间90.在下列四种模块的耦合性中,信息隐蔽性能最好的是(D)A、控制耦合B、内容耦合C、标记耦合D、数据耦合103当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)A、数据耦合B、公共耦合C、标记耦合D、内容耦合134. 信息隐蔽概念与 (A )这一概念直接的相关。A、模块的独立

14、性B、模块类型的划分C、软件结构定义D、软件生命周期141. 数据耦合和控制耦合相比,则 (B )成立。A、数据耦合的耦合性强B、控制耦合的耦合性强C、两者的耦合性相当D、两者的耦合性需要根据具体情况分析第三章练习题一、判断题14.PDL 的语法是开放式的,其内层语法是确定的,而外层语法则不确定。(X)15.过程描述语言可以用于描述软件的系统结构。(X)二、名字解释:17.结构程序设计:如果一个程序的代码块仅仅通过 顺序、选择和循环 这 3 种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口 ,则称这个程序是结构化的。18.详细设计:详细设计是软件工程中软件开发的一个步骤,就是对概要

15、设计的一个细化 ,就是详细设计每个模块实现算法,所需的局部结构。19. 对象:由描述该对象 属性的数据以及可以对这些数据施加的所有操作封装 在一起构成的统一体 。20. 继承:广义的说是指 能够直接获得已有的性质和特征 ,而不必重复定义它们,狭义的说是子类自动地共享基类中定义的数据和方法的机制。21. 人机界面设计的三条“黄金规则” :1.置用户与控制之下。 2.减少用户记忆负担。 3.保持界面一致 。22. Jackson图:描述数据结构 ,数据元素彼此间的逻辑关系 。三、选择题18、软件详细设计的主要任务是确定每个模块的(A)A、算法和使用的数据结构B、外部接口C、功能D、编程26. 如果

16、一个程序常常需要根据多种条件的复杂组合,选择执行相应的动作,则以下哪种设计工具比较适合描述它 (A)A、判定表B、流程图C、PDLD、 N-S 图62. 下面关于 PDL语言不正确的说法是 (B) A、 PDL是描述处理过程怎么做B、 PDL是只描述加工做什么C、 PDL 也称为伪码D、 PDL 的外层语法应符合一般程序设计语言常用的语法规则87.结构化程序设计采用的三种基本控制结构是(C)A、顺序、分支、选择B、选择、循环、重复C、顺序、选择、循环D、输入、变换、输出88.在软件设计中详细描述处理过程常用的三种工具是(D)A、SA , SD , SPB、程序流程图, IPO,PADC、SA

17、, SC , SDD、图形,表格,语言101程序的三种基本控制结构的共同特点是(C)A、只能用来描述简单程序B、不能嵌套使用C、单入口,单出口D、仅用于自动控制系统123 在详细设计阶段,经常采用的工具有(A)A、 PADB、SAC、 SCD、 DFD124详细设计的结果基本决定了最终程序的(C)A、代码的规模B、运行速度C、质量D、可维护性136.不属于详细设计的主要工具有(D)。A、 IPO 图B、 PAD 图C、 PDLD、 SC4下列描述中错误的是 (C)A、判定树中,越接近树的叶端重复次数越多。B、 PAD图中的控制流程为自上而下、从左到右的执行。C、盒图又称 N-S 图,可以有箭头

18、,允许随意转移。D、过程设计语言是在伪码基础上,扩充了模块定义和调用、数据定义和输入 /输出而形成的。四、填空题1 描述程序处理过程的工具称为过程设计工具,它们分为 图形工具 、 表 格工具 和语言三类。2 在 HIPO 图中, H 图 描述软件的层次结构 ,IPO 图描述 模块的输入、处理和输出信息 。3 在 HIPO 图中, H 图描述软件层次结构, IPO 图描述程序输入输出处理过程4 伪码的语法规则分为“外语法”和“内语法” 。其中 外语法 可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。五、综合应用题40 .试利用McCabe 的程序复杂性计算方法计算如下程

19、序图的复杂性。结点: 15.边: 20.区域: 7V(G) = 740.下面是一段伪码程序(代码前的数字只作标号用,不参与程序执行):START1: INPUT(A,B,C,D)2: IF(A>0)AND(B>0)THEN3: X=A+BELSE4: X=A-B5: END6: IF(C>A)OR(D<B)< p>THEN7: Y=C-DELSE8: Y=C+D9: END10: PRINT(X,Y)STOP根据以上的描述(1) 画出对应的流程图和程序图。流程图:开始输入 A,B,C,DTA>0且B>0FX=A+BX=A-BTC>A或D&l

20、t;BFY=C+DY=C-D输出 X,Y结束程序图:(2) 计算程序图的环形复杂度。V(G) = 340请使用PAD 图和 PDL 语言描述在数组A( 1) A( 10)中找最大数的算法。解: PDL 语言:N=1WHILE N<=10 DOIF A( N) <=A( N+1) MAX =A( N+1) ;ELSE MAX =A(N) ENDIF;N=N+1;ENDWHILE;PAD 图:解析 人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。2某厂对部分职工重新分配工作的政策是:年龄在20 岁以下者,初中

21、文化程度脱产学习,高中文化程度当电工; 年龄在 20 岁到 40岁之间者, 中学文化程度 (包括高中和初中)男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40 岁以上者,中学文化程度(包括初中和高中)当材料员,大学文化程序当技术员。请分别用判定表 (条件成立用 “”表示,无关条件或条件不成立用空白表示;用 “×”表示左边相应项动作的发生,空白表示不做左边相应项动作)和判定树表示上述问题的加工逻辑。12345678910年<=20龄>20 并且 <40>40文初中化高中大学性男别女脱产学习×电工×钳工××车工

22、15;×技术员××材料员××1已知一算法的N-S 图如下,请画出相应的流程图和PAD 图输入 A,B,CTA > BFMAX=AMAX=BTC>MAXFMAX=C输出 MAX流程图:开始输入 A,B,CTA>BFMAX=BMAX=AFC>MAXMAX=CF输出 MAX结束PAD 图:输入 A,B,CMAX=AA>BMAX=BMAX=CC>MAX输入 MAX第四章练习题一、判断题16. 根据编程规范 ,在对方法命名时 , 方法名称的第一个单词常常采用一个名词。X17.随着软件技术的发展,人们逐渐认识到编码不仅要

23、强调效率还要强调清晰。18.程序要能直截了当地说明程序员的用意。19.编程作业中,代码的检查是对程序进行动态分析。X20.代码版本控制的优点之一是能获得版本控制工具中保存的任何版本。21.程序设计语言中应绝对禁止使用GOTO语句。 X22.功能性注释嵌在源程序体中,用以解释其后的语句或程序段是在怎么做。X23. 在 Java源文件中, package 行要在 import 行之前。 24. 文件头部注释需要列出文件名、函数名、作者日期等信息25. 编程作业中,代码的检查是对程序进行的静态分析。二、名字解释:三、选择题13 以下哪一条 不属于注释的基本原则(C)A、注释应该增加代码的清晰度。B、

24、避免使用装饰性内容。C、注释在源代码中的比例至少为25%.D、注释信息不仅要包括代码的功能,还应给出原因。65. 下列关于功能性注释不正确的说法是(B)A、功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B、注释用来说明程序段,需要在每一行都要加注释C、可使用空行或缩进,以便很容易区分注释和程序D、修改程序也应修改注释66. 下列关于效率的说法不正确的是(D)A、效率是一个性能要求,其目标应该在需求分析时给出B、提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C、效率主要指处理机时间和存储器容量两个方面D、程序的效率与程序的简单性无关第五章练习题一、判断题26. 软

25、件测试就是程序测试( 和文档测试 )。 X27. 如果通过软件测试没有发现错误,则说明软件是正确的。X28. 集成测试主要由用户来完成。 X29. 确认测试计划应该在可行性研究阶段制定X30.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。X31.一个好的测试用例在于能发现至今未发现的错误。32. 集成测试时, 一般希望较早地发现系统功能的错误, 所以经常采用自底向上的渐增式测试。 X33. 发现错误多的程序模块,一般残留在模块中的错误也多。34. 在做程序的单元测试时,一般桩模块比驱动模块容易编写。X35.为保证程序的安全,必须做到程序中没有任何错误 存在,即容错。X3

26、6. 软件测试也就是在程序编码结束后对程序进行检错和修正错误。X37. 程序测试必须由程序员自己去完成。 X38.二、名字解释:23. 测试用例:通常指 测试数据和预期的输出结果24.单元测试: 需要从程序的内部结构出发设计测试用例(对软件中的最小可测试单元进行检查和验证 )25. 白盒测试: 按照程序内部的逻辑测试程序 ,检测程序中重要执行通路是否都按预定要求正确工作26. 黑盒测试: 是在程序结构进行的测试 ,它只检查程序功能是否按规格说明书的规定正常使用,程序是否适当的接收输入信息并产生正确的输入信息, 程序运行过程中能否保持外部信息的完整性27. 等价划分: 把所有可能的输入数据 (包

27、括有效或无效的) ,划分成若干数据类 (等价类),然后从 每个数据类中选取少数有代表性的数据作为测试用例三、选择题6. 与确认测试阶段有关的文档是(A)。A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序28、经过严密的软件测试后所提交给用户的软件产品中(B)A、软件不再包含任何错误B、还可能包含少量软件错误C、所提交给用户的可执行文件不会含有错误D、文档中不会含有错误。29、等价划分测试方法属于(A)A、黑盒测试B、白盒测试C、边界测试D、系统测试31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于A、集成测试B、恢复测试C、确认测试D、单元测试(C)67. 测

28、试的关键问题是 (D)A、如何组织对软件的评审C、如何采用综合策略B、如何验证程序的正确性D、如何选择测试用例83. 用白盒技术设计测试用例的方法包括(B)A、边界值分析B、条件组合覆盖C、因果图D、错误推测84. 软件测试的目的是 (C)A、为了表明程序没有错误B、为了说明程序能正确地执行C、为了发现程序中的错误D、为了评价程序的质量85. 针对软件需求分析所进行的软件测试是指(B)A、集成测试B、确认测试C、黑盒子测试D、白盒子测试100软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种。(D)A、前者属于静态测试,后者属于动态测试B、前者属于动态测试,后者属于静态测试C、

29、都属于静态测试D、都属于动态测试119 软件测试方法中的静态测试方法之一为(A)A、计算机辅助静态分析B、黑盒法C、路径覆盖D、边界值分析138. 单元测试阶段主要涉及的文档。(B)139.A、需求设计B、编码和详细设计C、详细设计D、概要设计在软件测试中,白盒测试方法是通过分析程序的(B)来设计测试用例的方法。A、应用范围B、内部逻辑C、功能D、输入数据7下列关于测试的描述中正确的是(D( B) )A、单元测试是对程序模块接口进行测试。B、组合测试是将各个程序模块组装起来进行程序之间的连接测试。C、系统测试又称验收测试。D运行测试主要由编程人员完成。8下列关于黑盒测试的描述中正确的是(B)A、黑盒测试是通过分析程序内部的逻辑与执行路线,设计测试用例进行测试的方法。B、黑盒测试

温馨提示

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

评论

0/150

提交评论