当前位置:文档之家› 《软件工程》期中试题解答

《软件工程》期中试题解答

《软件工程》期中试题解答
《软件工程》期中试题解答

《软件工程》期中试题(2002计科一、二、三班)

班级__________________ 姓名__________________ 学号____________________

一、选择题

1、下述表现那些是软件危机的主要表现?(D)

Ⅰ、软件的可维护性差Ⅱ、软件开发的成本和进度不能准确估计

Ⅲ、开发过程缺乏完整的文档资料Ⅳ、软件需求增长难以满足

A、ⅡⅢⅣ

B、Ⅱ和Ⅳ

C、ⅠⅡⅢ

D、全部

2、下图所示的软件过程模型是(A)。

A、瀑布模型

B、原型模型

C、螺旋模型

D、喷泉模型

3、数据字典一般由下列(D)元素的定义组成。

Ⅰ、数据的源点和终点Ⅱ、数据流Ⅲ、数据项Ⅳ、数据存储Ⅴ处理

A、全部

B、ⅠⅡⅣⅤ

C、ⅠⅢⅣⅤ

D、ⅡⅢⅣⅤ

E、ⅢⅣⅤ

4、优化软件设计,要求建立(C)的模块集合,以提高模块的独立性。

A、低内聚、低耦合

B、低内聚、高耦合

C、高内聚、低耦合

D、高内聚、高耦合

5、下图所示的软件模块结构图,该软件的宽度为(F),模块A的扇出数为(C)。

A、1

B、2

C、3

D、4

E、5

F、6

6、对软件进行适当的修改,使运行的软件能与处理环境或数据环境的变化相符合的维护活动是(B)。

A、改正性维护

B、适应性维护

C、完善性维护

D、预防性维护

7、测试的用例由(B)组成。

A、合理的输入数据

B、测试输入数据和预期输出结果

C、测试输入数据和实际输出结果

D、合理的输入数据和不合理的输入数据

8、考察模块间的接口和各模块之间的联系的测试是(B)。

A、单元测试

B、组装测试

C、确认测试

D、系统测试

9、不属于黑盒测试的测试用例设计的方法是(D)。

A、等价分类法

B、边界值分析法

C、错误猜测法

D、逻辑覆盖法

10、软件系统模块结构如图所示,下述说法中(C)属于深度优先的测试方法。

A、M1-M2-M3-M4-M5-M7-M6-M8

B、M1-M2-M4-M8-M3-M5-M6-M7

C、M1-M4-M5-M7-M6-M2-M3-M8

D、M7-M5-M4-M1-M6-M3-M2-M8

M1-M4-M5-M7为主控路径

11、软件工程的目标是(C)。

A、生产满足用户需要的产品

B、以合适的成本生产满足用户需要的产品

C、以合适的成本生产满足用户需要的、可用性好的产品

D、生产正确的、可用性好的产品

12、需求分析的产品是(A)。

A、需求规格说明

B、数据流图

C、判断表

D、数据字典

13、从下列有关系统结构图的叙述中选出正确的叙述。( D)

A、系统结构图中反映的是程序中数据流的情况。

B、系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。

C、一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。

D、在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。

14、软件结构图的形态特征能反映程序重用率的是(C)。

A、深度

B、宽度

C、扇入

D、扇出

15、面向对象的软件工程中,识别主类主要靠(B)。

A、技巧

B、经验

C、启发式规则

D、面向对象分析理论

二、简答

1、怎样克服软件危机?

解答:课本5页

(1)吸收其它工程项目中积累的丰富经验、科学原理、技术与方法,在开发软件的过程中应有良好的组织,

严格的管理,相互的友好协作;

(2)不断总结经验,探索软件开发中应遵循的原理、过程、技术和方法;

(3)根据不同的应用领域,使用用户常用的自然语言,描述问题,由计算机自动完成推理和运算,从而解

决用户提出的问题,即软件开发工程化的方法。

2、试简述著名的软件工程专家B.W.Boehm提出的软件工程的7条基本原理。

解答:课本7页

3、什么是软件生存周期?需求阶段和设计阶段的任务分别是什么?

解答:软件生存周期是指一个软件系统从目标提出到最终被淘汰的整个存在期。概括地说,软件生存周

期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。通常可划分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试、软件维护8个阶段。

需求阶段的任务是对目标系统实现的功能等提出完整、准确、清晰、具体的要求。

设计阶段的任务是设计程序的体系结构和设计出程序的详细规格说明。

4、系统流程图与数据流图有什么区别?

解答:课本33页

5、什么是模块?模块具有哪几个特征?总体设计主要考虑什么特性?

解答:课本84页~91页

模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。

模块具有输入和输出(参数传递)、功能、内部数据结构(局部变量)和程序代码四个特性。

(模块化设计的基本原理:把大型软件按规定的原则划分为一个个较小的相对独立又相关的模块,每个模块完成一个子功能,把这些模块集合起来组成一个整体,以完成指定的功能。)

概要设计主要考虑输入、输出(参数传递)和功能两个特性。

(总体设计考虑(模块设计的)准则课本63~65页启发规则:

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

块的内聚,降低藕合;

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

并到上级模块中;

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

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

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

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

6、选择程序设计语言需要考虑的因素?

解答:课本99页

(1)选择用户熟悉、便于用户维护的语言;

(2)选择目标系统的环境中可以提供的编译程序所能选用的语言;

(3)选择可以得到的软件工具,能支持程序开发中可以利用的语言;

(4)根据工程规模的大小、目标系统应用范围;

(5)选择程序员熟悉的语言;

(6)选择标准化程度高、程序可移植性好的语言;

(7)根据算法与计算的复杂性、数据结构的复杂性选择;

(8)根据实时要求系统需要的响应速度和效率选择相应的语言。

7、白盒测试法和黑盒测试法有什么区别?

解答:白盒测试法完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑结构及有关信息设计或选择测试用例,检查程序中的每条通路是否都能按预定要求正确工作。

黑盒测试着眼于软件的外部特性,不考虑软件内部的逻辑结构和内部特性,只依据程序的需求规格说明书检查程序是否满足功能要求,测试要在软件的接口处进行。

8、软件的维护一般分为哪几类?

解答:

改正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。

适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件的活动;

完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;

预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

三.综合题

1、请为某仓库的管理设计一个ER模型。该仓库主要管理零件的订购和供应等事项。仓库向工程项目供应零件,并且根据需要向供应商订购零件。(辅导书21页)

2、如图显示某程序的逻辑结构。

试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。

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

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

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

C.取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

要求完成下列工作:

(1)用数据流图描绘该系统的功能需求;

(2)用面向数据流的方法导出系统结构图;

(3)用你熟悉的一种方法写出模块“获得合理单据”及“分类处理”的算法。

存折、存款单

存取单

存折 D1 帐目 D2 现金帐

存折、取款单

存折(现金)

二层

1 3 57

模块“获得合理单据”的IPO 图

模块“分类处理”的IPO 图

4、将如下的基本文件:考生基本情况文件(简称考生情况文件)和考生高考成绩文件(简称考分文件)合并成考生新文件。

考生情况文件 考分文件

(1)画出输入和输出的数据结构图; (2)画出程序结构图;

(3)写出程序的过程性表示,列出所有操作和条件.

(4)用Jackson 伪代码写出与程序结构图对应的过程性表示 解答:

(1)输入数据结构图

输出数据结构图

(2) 程序结构图如下

(3)程序的过程性表示,所有操作和条件:

①停止⑤生成一条新记录

②打开两个输入文件⑥将新记录写入输出文件

③建立输出文件⑦关闭全部文件

④从输入文件中各读一条记录 I(1)文件结束

把它们分配到程序结构图的适当位置,如图:

产生新文件seq

打开两个输入文件

建立输出文件

从输入文件中各读一条记录

分析考生记录iter until文件结束

处理考生记录seq

产生准靠证号

产生姓名

产生通讯地址

产生考分

生成一条新记录

将新记录写入输出文件

从输入文件中各读一条记录

处理考生记录end

关闭全部文件

停止

产生新文件end

5、公司的折扣政策为:

(1)只对一次交易额在四万元(含四万元)的客户实施折扣;

(2)如果客户的支付信用好,折扣率为10%;否则要根据客户与公司的业务史定折扣率;

(3)如果客户与本公司的交易史在五年以上(含五年),折扣率为5%,否则,折扣率为2%.

绘制上述问题的判定树和判定表. (S:交易额,单位:万元)

解答:

决策树

交易额支付信用交易年限折扣额

好 - - - - - - - - - - - - - - -S*10%

S=4 ≥5年 - - - - - -S*5%

不好

<5年 - - - - - -S*2%

<4 - - - - - - - - - - - - - - - - - - - - - - S*0%

决策表

6、给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:

(1)流程图;(2)N—S图;(3)PAD图;(4)PDL语言。

9.请建立下述的图书馆馆藏出版物的对象模型。

一家图书馆藏有书籍、杂志、小册子、电影录影带、音乐CD、录音磁带和报纸等出版物,供读者借

阅。这些出版物有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等服务。

《软件工程》试题及参考答案(第4套)

厦门理工软件学院2011 –2012 学年度下期 《软件工程》试题(第4套) 题号一二三四五总分 题分 第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.Putnam成本估算模型是一个()模型。 A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 2.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性 B.可重用性 C.适应性 D.可移植性 3.软件复杂性度量的参数包括() A.效率 B.规模 C.完整性 D.容错性 4.瀑布模型的存在问题是() A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 5.详细设计的结果基本决定了最终程序的() A.代码的规模 B.运行速度 C.质量 D.可维护性 6.经济可行性研究的范围包括() A.资源有效性 B.管理制度 C.效益分析 D.开发风险 7.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 8.为了提高测试的效率,应该( ) A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据 9.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。 A.程序的内部逻辑B.程序的复杂结构 C.使用说明书D.程序的功能 10.结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于( ) A.它强调编程风格 B.选择良好的数据结构和算法 C.有限制地使用GOTO语句 D.只有三种基本结构 11. 在结构化分析方法中,()表达系统内部数据运动的图形化技术。 A 数据字典 B 实体关系图 C 数据流图 D 状态转换图 12、()意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的复用 D 封装 13.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、

软件工程试题与答案 (6)

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程模拟题1带答案.doc

软件工程期末试卷A 试题一、结构化分析与设计(共20 分,每小题10分) 需求陈述: 高考录取统分子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。(10分) (2) 给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。(10分) 答案 网上搜的答案 结构图即软件的模块

试题二、下面是程序流程图,试分别用N-S图和伪代码(类C语言描述)表示。(共20分) 答案: 我做的:do { if(!p) { g 真假 假 开始 结束 p >0 q 真

exit(); } g; } while(q); 我自己做的,可以不太对

Do { If(p为真) { 执行g If(g为真) { do nothing } Else if(g为假) { return } } Else if(p为假) { Return } }while(g为真) 试题三、(共20 分,每题10 分) 阅读下面的程序段,回答后面的问题: float calculateTotal( int N) //计算满足条件的N个数的和 { float count = 0.0; int i=1; while ( i<=N ) { if( i % 4 == 0) count += i; i++; } return count; } (1)画出上述程序的有向流图,并计算该函数的环形复杂度。(每问5分,共10分)(2)请用基本路径的测试技术完成该函数的测试。要求给出基本路径和测试用例。(每问5分,共10分) 答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础”PPT的P30页 白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础,为我们提供了非常有用的软件度量。可用如下三种方法之一来计算环形复杂度:(1)控制流图中环形区域的数量对应于环形复杂度。(2)给定控制流图G的环形复杂度—V(G),定义为V(G) = E-N+2 其中,E是控制流图中边的数量,N是控制

软件工程试卷

一、名词解释(15分) 1.软件工程 2.结构化方法 3.软件可靠性 4.对象与类 5.变更控制 二、填空(20分) 1.增量模型适合于________不明确、设计方案有一定风险的软件项目。 2.结构化分析方法的分析策略是__________。 3.可行性研究实质上是要在较高层次上以较抽象的方式进行___________的过程。 4.衡量模块独立性的两个定性标准是_________。 5.Jackson方法是一种面向______________的设计方法。 6.软件集成测试的方法主要有两种,它们是__________。 7.维护阶段是软件生存周期中花费精力和费用_____________的阶段。 8.继承性是子类自动共享其父类的______________机制。 9.在面向对象方法中,人们常用状态图描述类中对象的___________。 10.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为_________软件。 三、选择(20分) 1.需求分析中,开发人员要从用户那里解决的最重要的问题是( )。 A、要让软件做什么 B、要给该软件提供哪些信息 C、要求软件工作效率怎样 D、要让该软件具有何种结构 2.DFD中的每个加工至少有( )。

A、一个输入流或一个输出流 B、一个输入流和一个输出流 C、一个输入流 D、一个输出流 3.详细设计与概要设计衔接的图形工具是( )。 A、DFD图 B、SC图 C、PAD图 D、程序流程图 4.下列几种类型中,耦合性最弱的是( )。 A、内容型 B、控制型 C、公共型 D、数据型 5.确认测试中,作为测试依据的文档是( )。 A、需求规格说明书 B、设计说明书 C、源程序 D、开发计划 6.为了适应软硬件环境变化而修改软件的过程是( )。 A、校正性维护 B、完善性维护 C、适应性维护 D、预防性维护 7.瀑布模型是一种( )。 A、整体开发模型 B、非整体开发模型 C、风险驱动模型 D、对象驱动模型 8.用于描述对象模型的工具是( )。 A、数据流图 B、结构图 C、状态图 D、对象图 9.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的( )上 A.配置项 B.程序 C.基线 D.过程

上海大学软件工程试卷试题(附答案)

、单项选择题(本大题共20小题,每小题 1 分,共20分) 在每小题列出的备选项中只有一个是符合题目要求的,多选或未选均无分。请将其代码填写在题后的括号内。错选、 1. 在软件生命周期的各个阶段中,工作量最大的阶段是 A .需求分析B.总体设计 C.综合测试 D .软件维护 2. 瀑布模型的特点不包括 A.前一阶段的任务没有完成,不能进入下一阶段工作 B.进入某个阶段工作后,不再回复到之前的阶段工作C.只有完成并评审了规定的文档,才标志着一个阶段的工作结束D.在软件产生之前,需求无法得到充分的测试 3. 螺旋模型强调的开发手段是 A.分阶段开发 C.风险驱动开发 4. 需求分析阶段的工作不包括 A.获得当前系统的物理模型 C.建立目标系统的逻辑模型 5. 总体设计阶段的工作不包括 A.确定程序的模块组成 C.确定实现各个模块功能的处理逻辑 6. 描绘系统物理模型的传统工具是 A .系统流程图 C.实体-联系图 7. 符合信息隐藏原理的是 A .将信息隐藏起来不被发现 C.将可能要修改的设计决策隐藏起来B.废弃式原型开发 D.增量式开发 B.抽象出当前系统的逻辑模 型 建立目标系统的物理模型 D. B.确定模块间的相互关 系 D.制定测试计划 B.数据流图 D.状态转换图 B.将信息隐藏起来确保安全 D.将不要修改的设计决策隐藏起 来 8. 模块的独立性原则是指软件设计时要尽量使模块具有 A .低内聚、低耦合B.低内聚、高耦合C.高内聚、低耦合D.高内聚、高耦合

[ 9. 有利于提高模块独立性的做法是 A.尽量使模块具有逻辑型内聚 B.尽量使模块间具有内容型耦合 C.使判定作用范围内的模块尽量成为该判定所在模块的直属下级模块 D.尽量提高模块的扇入数和扇出数 [ 10. 有关结构化设计(SD )方法的正确叙述是 ] A.只使用顺序、选择和循环 3 种控制结构 B.由数据结构映射出软件的结构 C.是一种面向对象的设计方法 D.是一种面向数据流的设计方法 [ 11. 有关总体设计阶段所使用的结构图的不正确叙述是 ] A.能够描述软件系统的模块组成 B.结构图中的模块是按照自上而下、自左向右的顺序执行的 C.能够描述模块间的调用关系以及模块间调用时所传递的信息 D.将模块间调用时所传递的信息分成两种:数据信息和控制信息 [ 12. 要求使用顺序、选择和循环控制结构的组合或嵌套来表达程序的过程设计工具是 A .程序流程图B . 盒图 C .判定表D.PDL 13 . 关于好的编码风格的正确叙述是 A .把多个语句写在同一行以节省空间B.要求用户指定输入数据的数目 C .检查输入项重要组合的合法性D.表达式中不使用多余的括号,以简化表达式 14 . 能发现软件需求规格说明书中的错误的测试步骤是 A .模块测试B.子系统测试 C .系统测试D.验收测试 15 . 自顶向下集成测试和自底向上集成测试都具有的优点是 A .较早发现主要设计错误B.可采用深度优先策略和宽度优先策略 C .支持故障隔离D.可复用模块得到充分测试 19 . 不符合面向对象设计准则的是 A .用对象的封装性来实现信息隐藏B.尽可能松散对象之间的交互耦合 C .尽可能减小继承耦合度D.尽可能设计小而简单的类 20. 上海大学校内电话号码由 5 位数字组成,但第 1 位数字只能是 5 或6。该电话号码的

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程模拟试卷(一)

软件工程》模拟试卷(一) 、单项选择题 1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是() A、程序模块化 B 、模块高内聚 C 、模块低耦合 D 、模块独立性 2、软件维护产生的副作用,是指() A、开发时的错误 B 、隐含的错误 C、因修改软件而造成的错误 D 、运行时误操作 A、算法和使用的数据结构 B 、外部接口C、功能D 、编程 3、软件详细设计的主要任务是确定每个模块的() 4、为了提高模块的独立性,模块内部最好是() A、逻辑内聚 B 、时间内聚 C 、功能内聚 D 、通信内聚 A、程序 B 、数据 C 、逻辑产品 D 、物理产品 5、软件是一种() A、纠正性维护 B 、适应性维护 C 、完善性维护D预防性维护 6、因计算机硬件和软件环境的变化而作出的修改软件的过程称为() A、网状型 B、星型C树型D、环型 7、只有单重继承的类层次结构是()层次结构。 A、软件规格说明 B 、用户操作手册 C 、软件问题报告 D 、软件测试分析报告 8、下列属于维护阶段的文档是() 9、不适合作为科学工程计算的语言是() A 、 Pascal B 、 C C、 Fortran D 、 Prolog 10 、研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 11、中级结构性成本模型COCOM是一个() A、静态单变量模型 B 、动态单变量模型 C 、静态多变量模型 D 、动态多变量模型 12 、P AD图为()提供了有力的工具。 A、系统分析 B 、软件的自动化生成 C 、自动分析数据 D 、测试软件 13、下列关于JSP方法不正确的说法是()

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

软件工程模拟试卷和答案

北京语言大学网络教育学院 《软件工程》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 1、在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为()。 [A] 设计模型[B] 软件模型[C] 实现模型[D] 部署模型 2、一般来说,整个需求的主体是()。 [A] 功能需求[B] 性能需求 [C] 外部接口需求[D] 设计约束 3、总体设计的第二阶段是()。 [A] 初始设计[B] 详细设计[C] 复审阶段[D] 精化设计 4、在模块内聚类型中,常常通过研究流程图确定模块的划分,得到的是()。 [A] 逻辑内敛[B] 顺序内敛[C] 功能内敛[D] 过程内敛 5、一个模块直接控制(调用)的下层模块的数目称为模块的()。 [A] 扇入[B] 扇出[C] 深度[D] 宽度 6、UML术语中,限定符常被用在()。

7、UML 提供的13种图形化工具中,用于概念模型和软件模型静态结构的是( ) 8、RUP 的迭代、增量式开发规定的4个阶段不包括( )。 9、根据RUP 实现的活动,输入为设计类,活动为实现类,则输出为( )。 10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是( )。 11、黑盒测试技术,又称为( )。 12、若有语句if(A<1 and C>0)then B=1/C else B=1/A ,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B 的值,这种测试策略为( )。 13、在两种模型的基础上,螺旋模型加入两者所忽略的风险分析,这两者是( )。 [A] 瀑布模型和增量模型 [B] 瀑布模型和演化模型 [C] 喷泉模型和增量模型 [D] 喷泉模型和演化模型 14、在软件生存周期模型中,主要用于支持面向对象技术的软件开发模型是( )。 15、CMMI 能力等级中的第一级为( )。 [A] 依赖关系 [B] 泛化关系 [C] 关联关系 [D] 细化关系 [A] 用况图 [B] 状态图 [C] 类图 [D] 活动图 [A] 评审阶段 [B] 构造阶段 [C] 移交阶段 [D] 精化阶段 [A] 用况 [B] 子系统 [C] 接口 [D] 构件 [A] 评审 [B] 走查 [C] 形式化证 明 [D] 软件测试 [A] 功能测试 [B] 结构测试 [C] 系统测试 [D] 集成测试 [A] 定义域测试 [B] 等价类测 试 [C] 路径测试 [D] 事物流测 试 [A] 演化模型 [B] 增量模型 [C] 喷泉模型 [D] 螺旋模型

软件工程试题与答案

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。

三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终 可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一。(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法。(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三 种基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作。(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分)

软件工程期末试题(含答案)广东药学院

填空题 1. 定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;维护;维护。 2. 技术;经济;操作;软件项目的可行性/ 3. 一致性;现实性;完整性;有效性;完整性;有效性;原型系统。 4. 模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设计;可理解性。 5. 发现错误;黑盒测试;白盒测试;穷尽测试;测试方案。 6. 改正性维护;适应性维护;完善性维护;预防性维护。 一、 1. 软件生命周期可划分为、和3个时期,通常把这3个时期再细分为8个阶段,它们是①、②、③、④、⑤、⑥、⑦和⑧,其中的阶段的工作量是8个阶段中最大的。 2. 可行性研究的任务是从、和等三个方面研究。 3. 至少应该从、、和4个方面验证软件需求的正确性,其中和这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发。 4. 软件总体设计时应遵循、、、、、和等6条基本原则。详细设计通常以技术为逻辑基础,因为从软件工程观点看,是软件最重要的质量标准之一。 5. 软件测试的目的是,通常把测试方法分为和两大类。因为通常不可能做到,所以精心设计是保证达到测试目的所必须的。 6. 软件维护通常包括4类活动,它们分别是、、、。 二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。 1. 在进行需求分析时同时考虑维护问题。() 2. 完成测试后,为缩短源程序长度而删去程序中的注释。() 3. 尽可能在软件开发过程中保证各阶段文档的正确性。() 4. 编码时尽可能使用全局变量。() 5. 选择时间效率和空间效率尽可能高的算法。() 6. 尽可能利用硬件的特点以提高效率。() 7. 重视程序结构的设计,使程序具有较好的层次结构。() 8. 使用维护工具或软件工程环境。() 9. 进行概要设计时尽可能加强模块间的联系。() 10. 提高程序可读性,尽可能使用高级语言编程。() 三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C、D、E的正确内容 给程序输入二维数组W(I,J),其中I≤M,J≤N(MT N均为正整数)。程序打印出数组中绝对值最小的元素值Q=W(K,L),及其下标K、L的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业1答案 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3. 瀑布模型存在的问题是(B )。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的B.需求确定的C.管理信息D.实时 6. 下列有关软件工程的标准,属于国际标准的是(D) A.GB B.DIN C.ISO D.IEEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次(A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。 A、P×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(i+n) 11. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

《软件工程》模拟试卷 (1)

软件工程概论考试模拟试卷 科目:软件工程概论 专业: 一、 单项选择题:在每小题列出的四个备选答案中只有一个....答案.. 是符合题目要求。请将正确答案填入“单项选择题答题表”对应的格中。未填入答题表、 (每小题1分,本题共计20分) 1. 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等 原因导致了( )。 A .软件危机 B .软件工程 C .程序设计革命 D .结构化程序设计 2. 瀑布模型的主要特点之一是 ( )。 A.推迟实现 B.成功率极高 C.容易失败 D.过程迭代 3. 可行性研究阶段的主要任务包括( )。 A .分析和澄清问题定义 B .导出系统的逻辑模型 C .制定粗略的进度.建议和计划 D .以上全是 4. 软件需求分析的任务是准确地定义出要开发的软件系统是( )。 A. 如何做? B. 怎么做? C .做什么? D .不做什么? 5. 面向对象分析是对系统进行( )的一种方法。 A. 需求建模 B. 程序设计 C. 设计评审 D. 测试验收

6. 数据字典是软件需求分析阶段的重要工具之一,其基本功能是()。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 7. 使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关 联的信息:()。 A.数据对象,属性,方法 B.数据对象,属性,联系 C.数据表,属性,联系 D.数据表,实体,联系 8. 模块的内聚性最高的是( )。 A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 9. 在软件工程中,描绘软件结构的图形工具不包括()。 A. 层次图 B. HIPO图 C.PAD图 D.H图 10. 提高程序可读性的手段包括( )。 A.使用三种标准控制结构 B.采用有实际意义的变量名 C. 给程序加注释 D.以上都是 11. 结构化设计又称为( )。 A. 概要设计 B. 面向数据流的设计 C. 面向对象设计 D. 详细设计 12. 在结构化设计方法中全面指导模块划分的最重要的原则是 ( )。 A.程序模块化 B. 模块高内聚 C. 模块低耦合 D. 模块独立性 13. 为了提高软件的可维护性,在编码阶段应注意( )。 A.保存测试用例和数据 B.提高模块的独立性 C.文档的副作用 D.养成好的程序设计风格 14. 下列属于维护阶段的文档是 ( )。 A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 15. 软件测试中,黑盒法是通过分析程序的()来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据16. 为了满足用户在使用过程中对软件提出的新的功能与性能要求,需要 对原来的软件的功能进行修改或扩充。这种维护的维护类型是()。 A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护17. 软件调试技术包括()。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试18. 在整个软件维护阶段所花费的全部工作中,哪种维护所占比例最大? () A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护

软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。

A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。 A、系统软件 B、人工智能 C、事务软件 D、应用软件 15、选择结构的复杂性比顺序结构的复杂性要(B)。 A、小 B、大 C、相等 D、无法比较 16、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。 A、松散 B、紧密 C、无法判断 D、相等 17、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以()维护所占的维护量最小(C)。 A、纠错性维护 B、代码维护 C、预防性维护 D、文档维护 18、在下述哪一种测试中,测试人员必须接触到源程序(C)。 Ⅰ功能测试Ⅱ结构测试 A、均不需 B、只有Ⅰ C、只有Ⅱ D、Ⅰ和Ⅱ 19、软件设计阶段的输出主要是(D)。 A、程序 B、模块 C、伪代码 D、设计规格说明书 20、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。 A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑 21、下面哪几个阶段是软件的设计阶段(D)。 A、编码 B、可行性研究 C、测试 D、维护 E、需求分析 22、数据字典是用来定义(D )中的各个成分的具体含义的。 A.流程图B.功能结构图C.系统结构图D.数据流图

中南大学软件工程历届试卷

填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于(软件需求确定的)软件项目的开发。 2. 需求分析的基本任务是(确定用户需要软件做什么)。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(边界值分析法)。 4. 根据程序流程图划分的模块通常是(过程)内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、(支撑软件)和应用软件。 6. UML的定义包括UML语义和(UML表示法)两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( 整体与部分结构)。 四、测试题(本题16分,每小题8分) 某程序的程序流程图如下图所示,试据此回答下述问题: 1. 计算程序的环形复杂度; 2. 设计测试用例,满足基本路径覆盖。 四.(1)环路复杂性=判断数+1=6+1=7(个) (2)路径1:(0)—①—(13)—(19) 路径2:(0)—②—③—(14)—(19) 路径3:(0)—②—④—⑤—(15)—(19) 路径4:(0)—②—④—⑥—⑦—(16)—(19) 路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19) 路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19) 路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19) 一、填空题(本题30分,每小题1.5分) 1、软件是计算机程序、(描述计算机程序的文档)及(数据)的完整集合,将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项称为(基线),只有通过正式的变化控制过程才能改变它。 2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、(工具)和(过程)。传统方法学采用(结构化)技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以(数据)为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。 3、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据

相关主题
文本预览
相关文档 最新文档