[大二下]软件工程删减后复习题

软件工程复习题1.doc

填空题

1. 在信息处理和计算机领域内,一般认为软件是 _程序___文档_ _数据__

2. 数据流图的基本组成部分有 _数据的源点与终点____ 数据流___ 加工___ 数据文件___

3. 数据流图和数据字典共同构成了系统的 _逻辑___模型,是需求规格说明书的主要组成部分。

4. 划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。

5. 类的实例化是_对象_______

6. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为_自底向上_______

7. 如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 _____N___个。

8.  结构化设计以 __数据流图___ 为基础,按一定的步骤映射成软件结构。

9.     软件的风险分析可包括风险识别、风险预测       和风险驾驭(或风险管理)等3项活动。

10.    面向对象分析的目的是对客观世界的系统进行 ___建模____

11.    一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 __顺序内聚_

12.    软件生存周期是指一个软件从提出开发要求开始直到 __软件废弃____为止的整个时期。

13.    曾被誉为程序设计方法的革命  结构化   程序设计,使程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。

14.    在单元测试时,需要为被测模块设计_测试用例_

一、判断题(每题2分,共30分)

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

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

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

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

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

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

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

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

17.耦合是指一个模块内各个元素彼此结合的紧密程度。(    

18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(    

20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(

26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(    

 

名词解释

1.  数据词典——是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。

2.  数据流图——他以图形的方式反映系统的数据流程。

3.  白盒测试——按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试。

4.  黑盒测试——按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法。

5.  α测试——是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。

6.  β测试——是由软件的最终用户(多个)在一个或多个用户场所来进行。由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。

7.  内聚——一个模块内部各个元素彼此结合的紧密程度的度量。

8.  耦合——一一个软件结构内不同模块之间互连程度的度量。

简答题

1.软件工程的七条基本原理是什么/span>

:软件工程的七条基本原理是:

(1) 用分阶段的是的生存周期计划严格管理;

(2) 坚持进行阶段评审;

(3) 严格实施的产品控制;

(4) 采用现代程序技术;

(5) 结果应能清楚地审查;

(6) 开发小组的成员应该少而精;

(7) 承认不断改进软件工程的必要性。

9. 什么是模块化块设计的准则/span>

  模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。

  模块设计的准则:

  (1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。

  (2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。

  (3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。

  (4) 尽量降低模块接口的复杂程度;

  (5) 设计单入口、单出口的模块。

  (6) 模块的作用域应在控制域之内。

10.什么是模块独立性什么度量/span>

答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。

17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;

  (1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

  (2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。绘制该系统的数据流图和软件结构图。

blob.png

18.什么是软件生存周期生存周期划分为阶段的目的是什么/span>

答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理。

23.什么是黑盒测试盒测试主要采用的技术有哪些/span>

黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。

24.什么是白盒测试盒测试主要采用的技术有哪些/span>

白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。

白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。

25.路径测试技术中几种主要覆盖的含义例说明/span>

语句覆盖:至少执行程序中所有语句一次。  

判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。

条件覆盖:执行所有可能的穿过程序的控制路流程。

条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。

(例略)

26.等价分类法的测试技术采用的一般方法例说明/span>

(1)  为每个等价类编号;

(2)  设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。

(3)  设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。

(例略)

34、软件测试的基本任务是什么试与纠错有什么区别/span>

答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。

35.软件测试包括哪些步骤时说明这些步骤的测试目的是什么/span>

答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。

37.说明软件测试和调试的目的有何区别/span>

答:测试的目的是判断和发现软件是否有错误,调试的目的是定位软件错误并纠正。

39.工资计算系统中的一个子系统有如下功能:

1 )计算扣除部分由基本工资计算出应扣除(比如水电费、缺勤)的部分;

2 )计算奖金部分根据职工的出勤情况计算出奖励金;

3 )计算工资总额部分根据输入的扣除额及奖金计算出总额;

4 )计算税金部分由工资总额中计算出应扣除各种税金;

5 )生成工资表根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。

试根据要求画出该问题的数据流程图。

  blob.png

 

42.把变换型数据流图映射成软件结构图:

blob.png

选择题

1. 软件工程的概念是哪年提出的( )。

A. 1988     B. 1968

C. 1948     D. 1928

13. 面说法正确的是( )。

A. 经过测试没有发现错误说明程序正确

B. 测试的目标是为了证明程序没有错误

C. 成功的测试是发现了迄今尚未发现的错误的测试

D. 成功的测试是没有发现错误的测试

14. ( )能够有效地检测输入条件的各种组合可能会引起的错误。

A. 等价类划分            B. 边界值分析

C. 错误推测              D. 因果图

17、使用程序设计的控制结构导出测试用例的测试方法是(    )

A、黑盒测试                     B、白盒测试

C、边界测试                     D、系统测试

20、为了提高模块的独立性,模块内部最好是(    )

A、逻辑内聚                     B、时间内聚

C、功能内聚                     D、通信内聚

21、软件是一种(  )

A、程序                         B、数据     

C、逻辑产品                     D、物理产品

25、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(      )

  A、条件覆盖法               B、等价分类法

  C、边界值分析法       D、错误推测法

27、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作( )

A、需求分析         B、程序设计

C、详细设计         D、软件维护

29、等价划分测试方法属于(  )

    A、黑盒测试     B、白盒测试

C、边界测试     D、系统测试

31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(  )

A、集成测试                B、恢复测试

  C、确认测试                D、单元测试

35、在用户界面层次上对软件进行测试属于哪种测试方法(   )

    A、黑盒测试               B、白盒测试

C、边界测试               D、系统测试

39、软件生存周期中时间最长的是(     )阶段。

A、总体设计                 B、需求分析

C、软件测试                 D、软件维护

40、为了提高模块的独立性,模块之间的联系最好的是(   )。

A、公共耦合                 B、控制耦合

来源:cpongo311111

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年5月17日
下一篇 2017年5月18日

相关推荐