软件工程试卷版(含答案)

软件工程试卷版(含答案)
软件工程试卷版(含答案)

一、概念题:

1、软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2、软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,

把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高

质量的软件并有效地维护它,这就是软件工程。

3、软件生命周期:由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶

段。

4、模块的内聚性:标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。

5、软件测试:为了发现程序中的错误而执行程序的过程。

6、软件的可维护性:维护人员理解、改正、改动或改进这个软件的难易程度。

7、数据流图DFD:一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

8、模块的耦合(性):对一个软件结构内不同模块之间互连程序的度量。耦合的强弱取决于模块间接口的复杂程序,进入或访

问一个模块的点,以及通过接口的数据。

9、形式化方法:描述系统性质的基于数学的技术。

10、软件重用:指同一事物不作修改或稍加改动就多次重复使用。广义地说,软件重用可分为以下3个层次:知识重用、

方法和标准的重用和软件成分的重用。

11、软件维护:就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。

12、对象:是由描述该对象属性的数据以及对这些数据施加的所有操作封装在一起构成的统一体。

13、软件可靠性:是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。

二、填空题:

1、软件工程包括技术和管理两方面内容,是(技术)与(管理)紧密结合所形成的工程学科。管理就是通过(计划)、(组织)

和(控制)等一系列活动。软件工程方法学包含3个要素:(方法)、(工具)和(过程)。

2、任何计算机系统均由(硬件)和(软件)两部分组成。

3、通常使用软件生命周期模型简洁地描述软件过程。请举出几种典型的软件过程模型如(瀑布模型)、(快速原型模型)、(增量

模型)等等。

4、可行性研究其实质上是要进行一次大大压缩简化了的系统分析和设计过程。一般对可供选择的主要系统实现方案的可行性,

至少应该从(技术可行性)、(经济可行性)和(操作可行性)等3个方面研究每种实现方案的可行性。

5、需求分析的任务包括(系统综合要求)、(数据要求)、(导出逻辑模型)和(修正系统开发计划)等。其中常见的接口需求有

(用户接口)、(硬件接口)、(软件接口)和(通信接口需求)等等。

6、需求分析过程应该建立3种模型,它们分别是(数据模型)、(功能模型)和(行为模型)。

7、按照形式化的程度,可以把软件工程使用的方法划分成(非形式化)、(半形式化)和(形式化)等3类。

8、软件设计一般包括(总体设计阶段)和(详细设计阶段)等两个阶段,在软件设计过程中应该遵循的基本原理和相关概念有

(模块化)、(抽象)、(逐步求精)、(信息隐藏和局部化)和(模块独立)。

9、软件设计的基本任务可以概括地说包括以下四个任务(体系结构设计)、(人机界面设计)、(数据设计)和(过程设计)。

10、在设计人机界面的过程中,必须充分重视并认真处理好(系统响应时间)、(用户帮组设施)、(出错信息处理)和(命令交

互)等四个问题。

11、(白盒测试)和(黑盒测试)是软件测试的两类基本方法,通常在测试过程的早期阶段主要使用(白盒测试),而在后期

阶段主要使用(黑盒测试)。

12、软件的结构程序设计按照控制结构的应用特点可以分为(经典的结构程序设计)、(扩展的结构程序设计)和(修正的结构

程序设计)。

13、用面向对象方法学开发软件过程,是一个主动地多次反复迭代的(演化过程)。传统方法学强调(自顶向下)顺序地完成软

件开发的各阶段任务。

14、程序复杂程度的定量度量使用较广泛的两种方法是(McCabe)方法和(Halstead)方法。

15、一般组成软件系统的物理元素包括(程序)、(文件)、(数据库)、(人工过程)和(文档)等。

16、软件配置管理主要包括有5项任务:(标识)、(版本控制)、(变化控制)、(配置审计)和(报告)。

17、大型、复杂系统的对象设计一般由下述5个层次组成:(主题层)、(类与对象层)、(结构层)、(属性层)和(服务层)。

18、软件重用是提高软件(开发生产率)和目标系统(质量)的重要途径,它基本上始于设计。其中软件成分重用可划分成以

下3个级别即代码重用、设计成果重用和分析结果重用。

19、面向数据流的设计方法把信息流映射成软件结构,信息流有(变换)和(事务)等两种类型。

20、大型软件系统的测试过程基本上由(模块测试)、(子系统测试)、(系统测试)、(验收测试)和(平行运行)等。

21、一般说来,软件调试途径主要有以下3种即(蛮干法)、(回溯法)和(原因排除法)。

22、需求分析的任务包括系统综合要求、数据要求、导出逻辑模型和修正系统开发计划等。其中设计约束或实现约束常见的有:

(精度)、(工具和语言约束)、(设计约束)、应该使用的标准和应该使用的(硬件平台)等。

23、COCOMO是(构造性成本模型)(constructive cost model)的英文缩写。

24、软件定义时期通常划分为3个阶段,它们分别是(问题定义)、(可行性研究)和(需求分析)。

25、程序的三种基本控制结构是(顺序)、(选择)和(循环)。

26、软件系统响应时间有两个重要属性,分别是(长度)和(易变性)。

27、在软件项目的组织方式典型的有(民主制程序员组)、(主程序员组)、(现代程序员组)等三种。

28软件维护通常包括四类活动即(改正性维护)、(完善性维护)、(适应性维护)和(预防性维护)。

29传统方法学强调(硬件接口)顺序地完成软件开发的各阶段任务。用(软件接口)开发软件过程,是一个主动地多次反复迭代的演化过程。

30、估算软件规模的方法主要有(码行技术)和(功能点技术)等等。

31、软件过程中的一个任务集合包括一组(软件工程任务)、(里程碑)和应该交付的产品(软件配置成分)。通常使用软件生命周期模型简洁地描述软件过程。请举出几种典型的软件过程模型如微软过程、(瀑布模型)、(快速原型)、(增量模型)、(螺旋模型)、(喷泉模型)等。

32、解决软件危机,既要有技术措施(方法和工具),又要有必要的(组织管理)措施。

33、CMM是软件过程能力成熟度模型(capability maturity model)的简称。其5个等级从低到高依次是(初始级)(又称为1级)、(可重复级)(又称为2级)、(已定义级)(又称为3级)、(已管理级)(又称为4级)和(优化级)(又称为5级)。

34、结构化分析方法需求分析过程应该建立3种模型,它们分别是(行为模型)、(功能模型)和(数据模型)。

35、用面向对象方法开发软件,需要建立3种形式的模型,它们分别是(对象模型)、(动态模型)和(功能模型)。

36、验证软件需求应该从以下4个方面进行验证,即(一致性)、(完整性)、(现实性)和(有效性)。

37、大型软件的测试应该分阶段地进行,通常至少分为(单元测试)、(集成测试)和(验收测试)等3个基本阶段。

38、软件成分重用可划分成以下3个级别即(代码重用)、(设计成果重用)、和(分析结果重用)重用。

三、判断题:

1、传统方法学强调自顶向下顺序地完成软件开发的各阶段任务,用面向对象方法学则是一个主动地多次反复迭代的演化过程。(×)

2、软件重用或称为复用仍然是降低软件成本和提高软件质量的唯一合理的方法。(×)

3、在软件设计过程中,对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。考虑到现在人机界面在系统中所占比例越来越大的现实,可以将人机界面设计放到软件的编码实现阶段同时考虑,即由程序员基于过程算法完成编码实现的同时,同时按照软件规格说明书和业务逻辑要求实现人机界面,这样就降低了软件的开发代价。(×)

4、即使采用了形式化方法,软件重用仍然是降低软件成本和提高软件质量的唯一合理的方法。(×)

5、模块独立是良好软件设计的关键,而维护又是决定软件质量的关键环节。(×)

6、软件测试的目的是“建设性”的,即为了竭力证明已经建造好的软件系统的正确性和适用性。(×)

7、软件质量是软件工程目标之一,保证模块独立是良好软件设计的关键,而维护又是决定软件质量的关键环节。(×)

8、软件测试一般包括黑盒测试和白盒测试两种方法,测试目的是为了竭力证明已经建造好的软件系统的正确性和适用性。(×)

9、可以用形式化方法证明软件的需求和设计的正确性和合理性,因此,软件重用并不是降低软件成本和提高软件质量的合理方法之一。如果为了降低软件的测试成本和改正错误代价等,可以不用对软件进行测试,也可以保证软件的质量和降低开发成本等软件工程的目标。(×)

10、形式化方法有许多优点,因此在实际软件工作中应该依赖形式化方法来保证开发出的软件绝对正确和降低由于设计缺陷产生的维护代价。(×)

11、开发同一个软件(即LOC固定或功能点)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量,更加完善了软件的设计工作,提高软件编码的效率。(×)

12、程序员知识、软件可移植性要求、软件应用领域和工程规模及系统用户的要求等是在软件开发中选择程序设计语言的主要实用标准。(√)

13、详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。(√)

14、在可行性研究过程中只需要找出几种技术方案就可以了,等到需求分析的时候再去考虑成本效益问题。(×)

15、在软件开发中选择程序设计语言的主要实用标准包括程序员知识、软件可移植性要求、软件应用领域和工程规模及系统用户的要求等。(√)

16、采用形式化方法进行软件系统的建模、分析与设计有许多其它方法不可替代的优点,因此在实际软件工作中应该依赖形式化方法来保证开发出的软件绝对正确,并降低由于设计缺陷产生的维护代价。(×)

17、请根据你所学的软件工程原理和常识,判断下述说法是否正确:开发同一个软件(即LOC固定或功能点)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量,更加完善了软件的设计工作,提高软件编码的效率。(×)18、必须用评审、测试等其他方法来验证软件正确性,因为无法用形式化方法证明从非形式化需求到形式化规格说明转换是正确的。(√)

19、在软件系统开发中,选择程序设计语言的主要实用标准是依据程序员的知识。(×)

20、通过较长的开发时间可以对复杂问题和软件系统的能够进行深入的分析,因此开发同一个软件(即LOC固定或功能点相同)的时候,如果把项目持续时间延长一些,则可降低完成项目所需要的工作量。(×)

21、无法用形式化方法证明从非形式化需求到形式化规格说明转换是正确的。所以必须用评审、测试等其他方法来验证软件正确性。(√)

22、人机界面是软件开发后期完善的工作内容,无需在设计阶段考虑人机界面问题。(×)

23、判定覆盖必然满足语句覆盖。(√)

24、代码审查方法没有计算机测试方法好。(×)

25、不同程序设计语言在程序的效率上的差异不大。(×)

26、用穷举测试是较现实的测试方法。(×)

四、简答题

1、软件工程包括哪7条基本原理?(7分)

(1)、用分阶段的生命周期计划严格管理

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

(3)、实行严格的产品控制

(4)、采用现代程序设计技术

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

(6)、开发小组的人员应该少而精

(7)、承认不断改进软件工作实践的必要性

2、简要说明软件生命周期包括哪三个时期及其任务是什么?各个时期包括哪些阶段活动?简要说明传统瀑布模型软件开发有

哪些特点?(14分)

软件生命周期由软件定义、软件开发和运行维护(软件维护)三个时期组成,每个时期又进一步划分成若干个阶段。

软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。

开发时期由系统设计和系统实现两个阶段即总体设计、详细设计、编码和单元测试和综合测试4个阶段组成。

维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。

特点:阶段间具有顺序性和依赖性、推迟实现的观点、质量保证的观点

3、简述用于需求分析的结构化分析方法所遵守的4个准则?并说明系统在确定功能需求时对软件系统有那些综合要求?

四个准则包括:

(1)、必须理解并描述问题的信息域,根据这条准则应该建立数据模型;

(2)、必须定义软件应完成的功能,这条准则要求建立功能模型;

(3)、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型;

(4)、必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。

八个综合要求:

(1)功能需求

(2)性能需求

(3)可靠性和可用性需求

(4)出错处理需求

(5)接口需求

(6)约束

(7)逆向需求

(8)将来可能提出的要求

4、请简述可行性研究的过程步骤有哪些?(8分)

(1)、复查系统规模和目标

(2)、研究目前正在使用的系统

(3)、导出新系统的高层逻辑模型

(4)、进一步定义问题

(5)、导出和评价供选择的解法

(6)、推荐行动方针

(7)、草拟开发计划

(8)、书写文档提交审查

5、总体设计过程包括哪2个阶段(请简述总体设计过程的阶段划分及其任务)?说明典型的总体设计过程包括的9个步骤。

总体设计过程包括:

(1)、系统设计阶段:确定系统具体的实现方案;

(2)、结构设计阶段:确定软件结构。

典型的总体设计过程包括9个步骤:

(1)、设想供选择的方案

(2)、选取合理的方案

(3)、推荐最佳方案

(4)、功能分解

(5)、设计软件结构

(6)、设计数据库

(7)、制定测试计划

(8)、书写文档

(9)、审查和复审

6、简述软件调试的3种途径?(3分)

(1)蛮干法

(2)回溯法

(3)原因排除法

7、黑盒测试力图发现哪些类型的软件错误?(5分)

黑盒测试力图发现如下错误:

着重测试软件功能。与白盒测试互补的测试方法,很可能发现白盒测试不易发现的其它类型的错误。

1、功能不正确或遗漏了功能

2、界面错误

3、数据结构错误或外部数据库访问错误

4、性能错误

5、初始化和终止错误

8、为了更好的发挥形式化方法的长处,我们在实际应用中需要注意哪些形式化方法的准则?(10分)

1、应该选用适当的表示方法

2、应该形式化,但不要过分形式化

3、应该估算成本

4、应该有形式化方法顾问随时提供咨询

5、不应该放弃传统的开发方法

6、应该建立详尽的文档

7、不应该放弃质量标准

8、不应该盲目依赖形式化方法

9、应该测试、测试再测试

10、应该重用。

9、请说明软件重用的概念并简单说明其3个层次的内容。(5分)(什么叫软件重用(或称软件再用、软件复用)?广义地说,

软件重用可分为哪3个层次。)

软件重用又叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。

广义地说,软件重用可分为以下3个层次:

1、知识重复:如软件工程知识的重用

2、方法和标准重用:如面向对象方法或软件开发规范重用

3、软件成分重用:代码重用、设计成果重用和分析结果重用。

10、你认为软件测试过程中应该遵守哪些基本准则?什么叫测试方案?请说明黑盒测试技术力图发现哪些类型的错误?(15分)

测试方案包括具体的测试目的,应该输入的测试数据和预期的结果。

测试的基本准则有:

1、所有测试都应该能追溯到用户需求

2、应该远在测试开始之前就制定出测试计划

3、把Pareto原理应用到软件测试中

4、应该从“小规模”测试开始,并逐步进行“大规模”测试

5、穷举测试是不可能的

6、为了达到最佳的测试效果,应该由独立的的第三方从事测试工作

黑盒测试力图发现如下错误:

1、功能不正确或遗漏了功能

2、界面错误

3、数据结构错误或外部数据库访问错误

4、性能错误

5、初始化和终止错误

11、简述面向对象方法学的出发点和基本原则?(5分)

尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。

12、简述决定软件可维护性的五个因素?(5分)

a)可理解性

b)可测试性

c)可修改性

d)可移植性

e)可重用性

五、软件工程管理综合应用(本题共10分)

在软件工程管理实践中,一般用工程网络图(PERT)技术来制定软件的进度计划。下图为大学生四年人生规划管理系统软

件项目的工程网络图,圆框中的数字代表某项目活动所需要的月数即

持续时间。

(1)试分析该工程网络图并用粗箭头在下图标出关键路径。

(2)完成项目的最短时间即软件开发周期是多少?

答:完成项目的最短时间为15个月

(3)由于用户单位即营口市公共事业局根据管理和实际业务情况,要求该项目要提前上线,开发单位综合考虑,把设计时间从4个月缩短为3个月,测试软件时间缩短为1个月,则项目开发最短时间变为多少?

答:项目开发最短时间变为14个月

(4)由于开发项目团队以软件学院学生为主,由于期末考试和毕业实习和设计等原因,本项目在执行过程中已经延期,项目决策者决定向该项目增加大量开发人员期望快速按照时完成工期,此种做法是否正确?为什么?

答:不对,因为人员少而精和向一个已经延期的项目增加人员,反而更延期。

六、软件工程综合应用(本题共15分)

阅读下列说明和图,回答问题1至问题4,将答案填入对应栏中。

【说明】某学校欲开发图书管理系统,以记录图书馆所藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:

(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查,通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行对比,以验证借阅者ID是否合法。若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表。借阅者归还所借图书时,先由图书管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行:“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。

(2)维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。

(3)处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并计入罚金表,并给有逾期未还图书的借阅者发送提醒信息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。

现采用结构化方法对该图书管理系统进行分析和设计,获得如果1-1所示的顶层数据流图和图1-2所示的0层数据流图。【问题1】(4分)

使用说明中的词语,给出图1-1中的实体E1——E4的名称。

答:借阅者、管理员、教务处、人事处

【问题2】(4分)

使用说明中的词语,给出图1-2中的数据存储D1——D4的名称。

答:图书表、借出图书表、逾期记录表、罚金表

【问题3】(5分)

在DFD建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。针对图1-2中的加工“处理借阅”,在

1层数据流图中应分解为那些加工?(使用说明中的术语)

答:验证借阅者、检查逾期、检查罚金、借阅图书、处罚

【问题4】(2分)

软件开发项目的工程网络图

说明【问题3】中绘制1层数据流图时要注意的问题。

答:合理编号、注意父图与子图的平衡、局部文件、分解的程度

图1-2 0层数据流图

五、软件工程综合应用(本题共25分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

某医院拟开发一套住院病人信息管理系统,以方便对住院病人、医生、护士和手术等信息进行管理。

【需求分析】

系统登记每个病人的住院信息,包括:病案号、病人的姓名、性别、地址、身份证号、电话号码、入院时间及病床等信息,每个病床有唯一所属的病区及病房,如表5-1所示。其中病案号唯一标识病人本次住院的信息。

在一个病人的一次住院期间,由一名医生对该病人的病情进行诊断,并填写一份诊断书,如表5-2所示。对于需要进行一次或多次手术的病人,系统记录手术名称、手术室、手术日期、手术时间、主刀医生及多名协助医生,每名医生在手术中的职责不同,如表5-3所示,其中手术室包含手术室号、楼层、地点和类型等信息。

表5-2 诊断书

护士分为两类:病床护士和手术室护士。每个病床护士负责护理一个病区内的所有病人,每个病区由多名护士负责护理。手术室护士负责手术室的护理工作。每个手术室护士负责多个手术室,每个手术室由多名护士负责,每个护士在手术室中有不同的职责,并由系统记录其职责。

【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图(不完整),如图5-1所示。

图5-1 实体联系图

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模型(不完整): 病床(病床号,病房,病房类型,所属病区) 护士(护士编号,姓名,类型,性别,级别) 病床护士( (1) ) 手术室(手术室号,楼层,地点,类型)

手术室护士( (2) )

病人( (3) ,姓名,性别,地址,身份证号,电话号码,入院时间 ) 医生(医生编号,姓名,性别,职称,所属科室)

诊断书( (4) ,诊断,诊断时间) 手术安排(病案号,手术室号,手术时间,手术名称)

手术医生安排( (5) ,医生职责) 【问题1】(6分)

补充图5-1中的联系和联系类型。

(1)病人与病床的联系是1对1的, (2)病人与医生的联系是1对1的, (3)护士与手术室的联系是多对多的。 【问题2】(10分)

根据图5-1,将逻辑结构设计阶段生成的关系模型中的空(1)~(5)补充完整,并用下划线指出主键。

(1)护士编号 (2)护士编号 (3)病案号 (4)病案号 (5)手术名称

【问题3】(9分)

如果系统还需要记录医生给病人的用药情况,即记录医生给病人所开处方中药品的名称、用量、价格、药品的生产厂家等信息。请根据该要求,对图5-1进行修改,画出补充后的实体、实体间联系和联系的类型。

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件工程复习考试题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法?B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )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.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 5.IPO 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7. 其中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、

单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和 社会效益可行性等方面研究。 2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环 结构。 3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护 阶段。 4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功 能需求。

软件工程试题及答案(B)

B卷 一、选择题(每题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 )。

软件工程考试卷及答案

《软件工程导论》测试题(参考答案) (本试卷答卷时间为60分钟) 学号:_____________ 组别:姓名:___________________一、选择题:(每题2分,共20分) 1.瀑布模型的存在问题是(B) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 2.程序的三种基本控制结构是(B) A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 3.在详细设计阶段,经常采用的工具有(A) A.PAD B.SA C.SC D.DFD 4.详细设计的结果基本决定了最终程序的(C) A.代码的规模 B.运行速度 C.质量 D.可维护性5.结构化程序设计主要强调的是(D)

A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性 6.需求分析阶段的任务是确定( D) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 在E-R模型中,包含以下基本成分( C )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 8.设函数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.信息隐藏和局部化的根据 9.面向数据流的设计方法把(D)映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、.软件工程 B、软件周期 C、软件危机 D、软件产生 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、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 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。该电话号码的

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

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

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程考试试题(含答案)

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

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

填空题 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的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示

软件工程试题及答案

1. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: ①自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 4 、提高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前

的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 【解答】 测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 36.简述容错技术的四种主要手段,并解释。

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

填空题(本题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、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据

合肥师范学院软件工程期末考试试题·优选.

TEST1 一、选择题:(本大题共10小题,每小题2分,共20分) 1.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A.可移植性 B.可重用性 C.容错性 D.可适应性 2.关于计算机软件,下列说法正确的是(A )。 A.计算机系统的组成部分 B.不能作为商品参与交易 C.是在计算机硬件设备生产过程中生产出来的 D.只存在于计算机系统工作时 3.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 (B)。 A.软件投机 B.软件危机 C.软件工程 D.软件产生 4.软件工程中(C )不属于用户文档的内容。 A.功能描述 B.安装手册 C.系统设计 D.使用手册 5.软件概要设计结束后得到( B )。 A.DFD图 B.软件结构图 C.模块详细的算法 D.程序编码 6.软件设计中,可应用于详细设计的工具有( )。 A.程序流程图、PAD图和伪码 B.数据流图、PAD、结构图和伪码 C.业务流程图、N-S图和伪码 D.数据流图、PAD、N-S图和伪码 7.软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是 ( A )产生的副作用。 A.文档 B.数据 C.编码 D.设计 8.瀑布模型本质上是一种(C )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.及早见产品 9.螺旋模型是一种将瀑布模型和(A )结合起来的软件开发模型。 A.增量模型 B.专家系统 C.喷泉模型 D.变换模型 10.面向对象分析是对系统进行(A )的一种方法。 A. 需求建模 B. 程序设计 C. 设计评审 D. 测试验收

二填空题:(本大题共10个空,每空2分,共20分) 1.软件工程三要素是软件工程的( 方法)、( 工具)和(过程)。 2.软件工程学的主要内容是( )和( ) 。 3.实体-关系图(E-R图),用于建立数据模型,其中包含了( 对象)、( 关 系)和( 属性)。 4.详细设计的任务是确定每个模块的内部特性,即模块的( )和( )。 三、判断题:(本大题共10小题,每小题2分,共20分) 1.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达 能力。F 2.可以用CASE环境或程序自动生成工具来自动生成一部分程序。T 3.开发软件就是编写程序。F 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输 出、或设计一些复杂的算法等场合。F 5.面向对象的分析由对象、结构、继承性和基于消息的通信构成。 6.封装是把对象和属性结合在一起,强调独立和封闭。T 7.类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。 8.软件工程学只有理论意义,没有实际用途。F 9.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。T 10.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。F 四、简答题:(本大题共4小题,每小题5分,共20分) 1.什么是软件生命周期?软件生命周期都有哪些阶段? 软件从提出设计到被使用和维护直至被舍弃的时间段。 2.以G.Myers的观点,简述软件测试的目的。 为了发现错误而执行的过程;好的方案是极有可能发现错误的方案 3.设计用户界面的过程中,会遇到那四个问题? 4.面向对象的分析通常要建立三个模型,请问三个模型的作用?

相关文档
最新文档