软件工程各章习题

软件工程各章习题
软件工程各章习题

即时练习

第1讲

一、 填空题

1. 软件危机是指在计算机软件的

过程中所遇到的一系列严重问题。

2.

软件危机包含下述两个方面的问题:一是

3. 软件不同于硬件,它是计算机系统中的

而不是物理部件。

4. 一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为

5.软件配置主要包括

等成分。 6. 软件工程学的一个重要目标就是提高软件的

、减少的代价。

7.

软件工程是指导计算机软件和 __的一门工程学科。

8. 软件工程包括和两方面的内容,是技术与管理紧密结合所形成的工程学科。

9. 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为,也称为范型。

10. 软件工程方法学包含和三个要素。

11.

目前使用最广泛的软件工程方法学,分别是

_。

12. 概括地说,软件生命周期由

__和3个时期组成,每个时期又进一步划分为若干个阶段。

13. 软件定义时期通常进一步划分为3个阶段,即

、和需求分析。、

14. 螺旋模型将模型和模型结合起来,加入了两种模型均忽略了的风险分析,弥补

了这两种模型的不足。

15. 瀑布模型

适应需求可变的软件开发,只有到才能见到整个软件系统。 二、 选择题:

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.问题定义阶段必须回答的关键问题是()。

A、要解决的问题是什么 B、确定目标系统必须具备哪些功能C、怎样实现目标系统D、如何具体实现系统三、问答题

1.简述软件危机的典型表现。

答:(1)对软件开发成本和进度的估计常常很不准确;

(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;

(4)软件常常是不可维护的;

(5)软件通常没有适当的文档资料;

(6)软件成本在计算机系统总成本中所占的比例逐渐上升;

(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

2.什么是软件过程它与软件工程方法学有何关系答:软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。

软件过程是软件工程方法学的3个重要组成部分之一。3.假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型请说明你作出选择的理由。

答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助开提高软件可维护性的增量模型或螺旋模型来开发该软件。

综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。

4.瀑布模型有什么优缺点

答:瀑布模型的优点:可强迫开发人员采用规范的方法(例如,结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点:“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

5、什么是软件危机软件危机包含哪些问题

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

软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

6、产生软件危机的原因主要有哪些

答:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

7、简述软件工程的7条基本原理的主要内容

答:1)用分阶段的生命周期计划严格管理;2)坚持进行阶段评审;3)实行严格的产品控制;4)采用现代程序设计技术;5)结果应能清楚地审查;6)开发小组的人员应该少而精;7)承认不断改进软件工程实践的必要性。

四、计算题

1. 美国一家公司在1982年计划用FORTRAN 语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN 指令。如果平均每人每天可以开发出10条FORTRAN 指令,请问: (1)开发这个应用程序将用到多少人日?

(2)假设程序员的平均工资为4000美元,每月按20个工作日计算,这个软件的成本是多少美元? (3)1982年VAX750计算机硬件价格约为125000美元,在那一年这个软件的成本在总成本中占多大比例 答:(1)10000÷10=1000(人日)

开发这个应用程序大约需要用1000个人日。 (2)每月平均工作20天,故开发这个软件需要用 1000÷20=5(人月)

每人每月的平均工资为4000美元,因此这个软件的成本大约为 50×4000=200000(美元)

(3)软件成本与硬件成本之和为计算机系统的总成本。这个软件的成本在总成本中所占的比例为: 200000÷(200000+125000)=%

第2讲

一、 填空题

1. 可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从

和这三个方面研究每

种解法的可行性。

2.的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

3.

可行性研究的目的不是解决问题,而是确定问题是否 。

4.

和定义了软件系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。

5.是概括地描绘物理系统的传统工具。

6. 系统流程图表达的是在系统各部件之间流动的情况。

7. 数据流图是一种图形化技术,它描绘

和从输入移动到输入的过程中所经爱的变换。 8.

数据流图中的圆角矩形或圆形代表着对变换数据的。

9. 数据流图有4种成分:源点或终点、、

和。

10.是对数据流图中包含的所有元素的定义的集合。

11. 成本/效益分析的目的正是要从角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。

12. 软件开发成本主要表现为。

二、 选择题:

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.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图方法中,()是常采用的。

①自顶向下②自底向上③分层绘制④逐步求精

A、全是 B、①③④C、①③ D、①②

三、问答题1.简述可行性研究过程的步骤。

答:(1)复查系统规模和目标;(2)研究目前正在使用的系统;

(3)导出新系统的高层逻辑模型;(4)进一步定义问题;(5)导出和评价供选择的解法;

(6)推荐行动方针;(7)草拟开发计划;

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

2.目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机为中心患者监护系统,请分层次地画出描述本系统功能的数据流图。

医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压和心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。答:从问题陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。

从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的护士。

系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。

为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病

人生理信号所形成的“患者日志”,显然也是一个数据存储。

本系统的基本系统模型如下图所示,是本系统的功能级数据流图。

3.某高校可用的电话号码有以下几类:校内电话号码为4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,如果是本地电话再接着拨8位电话号码(第1位不是0),如果是外地电话则先拨3位区码,再拨8位电话号码(第1位不是0)。请用本章所述的符号,定义上述的电话号码。答:电话号码=[校内电话号码|校外电话号码]校内电话号码=非零数字+3位数字

校外电话号码=[本市号码|外地号码]

本市号码=数字零+8位数字

外地号码=数字零+3位数字+8位数字

非零数字=[1|2|3|4|5|6|7|8|9]数字零=0

3位数字=3{数字}3

8位数字=非零数字+7位数字

7位数字=7{数字}7

数字=[0|1|2|3|4|5|6|7|8|9]

第3讲

一、填空题

1.接口需求描述应用系统与它的环境通信的格式。常见的接口需求有: __用户接口需求、硬件接口需求、软件接口需求和通信接口需求。

2. _逆向__ 需求说明软件系统不应该做什么。

3.访谈是最早开始使用的获取的技术,它有两种基本形式,分别是 _用户需求、的_正式、非正式_的访谈。

4. __情景分析技术__ 就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析,系统分析员利用这种技术,往往能获知用户的具体需求。

5. __结构化分析方法__ 是面向数据流自顶向下逐步求精进行需求分析的方法。

6.使用传统的访谈或面向数据流自顶向下求精方法定义需求时,用户处于被动地位,为了解决这个问题,人们研究出一种面向团队的需求收集法,称为简易的 __应用规格说明技术_ 。

7.快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。快速原型应具备的第一个特性是 __快速___ 、第二个特性是 __容易修改__ 。

8.需求分析阶段得出的最主要文档是_软件需求规格说明书__ 。

9.数据对象彼此之间相互连接的方式称为_联系_ ,也称为关系。它分为一对一联系、 _一对多_ 联系和 _多对多_ 联系。

10. ER图中包含了

和等

3种基本成分。

二、选择题:

1.需求分析()。

A、要回答“软件必须做什么”B、要求编写软件需求说明书C、系统分析员可以采用访谈、简易的应用规格说明技术获取用户需求D、以上都对

2.需求分析阶段研究的对象是软件项目的()。

A、用户需求B、合理要求C、模糊要求3.在数据流图中,有名字及方向的成分是()。

A、控制流B、信息流C、数据流D、信号流

4.结构化分析方法使用的描述工具()定义了数据流图中每一个图形元素。

A、数据流图B、数据字典C、判定表D、判定树5.在结构化分析方法(SA)中,与数据流图配合使用的是()。

A、数据流图B、数据字典C、实体联系图D、程序流程图

6.通过()可以完成数据流图的细化。

A、结构分解 B、功能分解 C、数据分解 D、系统分解7.需求分析过程中,对算法的简单描述记录在()。

A、层次图 B、数据字典 C、数据流图 D、IPO图8.需求分析最终结果是产生()。

A、项目开发计划B、可行性分析报告

C、需求规格说明书D、设计说明书

9.结构化分析(SA)最为常见的图形工具是()。

A、程序流程图B、实体联系图

C、数据流图D、结构图

10.下面说法错误的是()。

A、每个数据流必须用名词或名词短语命名

B、每个加工必须有名字,通常是动词短语

C、每个数据存储必须用名词或名词短语

D、每个数据源点或终点必须有名字

三、问答题

1.简述可行性研究过程的步骤。

答:(1)复查系统规模和目标;(2)研究目前正在使用的系统;(3)导出新系统的高层逻辑模型;(4)进一步定义问题;(5)导出和评价供选择的解法;(6)推荐行动方针;(7)草拟开发计划;(8)书写文档提交审查。

2.应该从哪些方面验证软件需求的正确性。

答:对软件需求应从下述4个方面进行验证:

(1)一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾;

(2)完整性:需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能;

(3)现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的;

(4)有效性:必须证明需求是正确有效的,确实能解决用户面对的问题。

3.什么是需求分析需求分析阶段的基本任务是什么答:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求转换到相应的需求规格说明的过程。

需求分析阶段的基本任务是:

(1)确定对系统的综合要求;

(2)分析系统的数据要求;

(3)导出系统的逻辑模型;

(4)修正系统开发计划。 4. 什么是层次方框图

答:层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据

的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。

5、什么是快速软件原型,它有什么特点

答:快速软件原型是快速建立起来的旨在演示目标系统的主要功能的可行性的程序。 特点:1)快速;2)容易修改。

第4讲

一、 填空题

1. 按照形式化的程度,可以把软件工程使用的方法划分成

、和

3类。 2. 有穷

可以准确地描述一个系统,因此它是表达规格说明的一种形式化方法。

可以有效地描述并发活动。它包含4种元素:

一组位置P、一组转换T、输入函数I以及输出函数O。 4. Petri 网的标记是在Petri 网中的分配。

5. 在Petri 网中,当每个输入线上至少有一个权标,而

6、Petri

网包含4 二、 问答题:

1. 对比形式化方法和欠形式化方法的优缺点。 答:形式化与欠形式化方法相比,其优点在于:形式化的规格说明可以用数学方法研究验证,此外形式化的规格说明消除了二义性,而且它鼓励软件开发者在软件工程过程的早期阶段使用更严格的方法,从而可以减少差错。 形式化方法的缺点:大多数形式化规格说明主要关注于系统的功能和数据,而问题的时序、控制和行为等方面却更难于表示。此外,形式化方法比欠形式化方法更难学习,

不仅在培训阶段要花大量的投资,而且对某些软件工程师来说,它代表了一种“文化冲击”。

第5讲

一、 填空题

1.

总体设计过程通常由两个主要阶段组成,分别是 __阶段和

阶段。

2. 需求分析阶段得出的数据流图是

的极好的出发点。

3.

对总体设计的结果在通过技术审查后还需由使用部门的负责人从角度进行复审。

4.

是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能。

5.

就是抽出事物的本质特征而暂时不考虑它们的细节。

6.是为了集中精力解决主要问题而尽量推迟

对问题细节的考虑。

7.定性度量模块独立程序的标准是和

。 8. 耦合是对一个软件结构内不同模块之间

程度的度量。

9.

是最高程度的内聚。

10.表示软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。

11.

图用于描绘软件的层次结构,图中

的每一个矩形框代表一个

12.

通常所说的结构化设计方法,也是基于

设计方法。

13.信息流有两种类型,分别是

和。

14.模块间还经常用带注释的短箭头表示调用过程中来回传递的信息。有时箭头尾部带空心圆表示传递的是

_,带实心圆的表示传递的是。

15.模块之间联系越紧密,其耦合性就越

、模块

的独立性就越。

二、选择题:

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.好的软件结构应该是()。

A、高耦合,高内聚B、低耦合,高内聚

C、高耦合,低内聚D、低耦合,低内聚

8.结构分析方法就是面向()自顶向下逐步求精进行需求分析的方法。

A、目标B、数据流C、功能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、E-R图D、结构图15.模块(),则说明模块的独立性越强。

A、耦合越强B、扇入数越高

C、耦合越强D、扇入数越低

16.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。

A、数据结构B、实体关系C、数据流图D、E-R图17.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是()。

A、模块间的联系程度B、模块的功能强度

C、信息隐蔽程度D、接口的复杂程度18.在软件结构中,如果两个矩形之间有直接相连,表示它们存在()关系。

A、链接B、调用C、并列D、顺序执行

19.为了提高模块的独立性,模块内部最好是()。A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚20.概要设计与详细设计衔接的图形工具是()。A、数据流图B、结构图C、程序流程图D、PAD图

三、问答题

1.衡量模块独立的两个标准是什么它们各表示什么含义答:模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。

耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;

内聚衡量一个模块内部各个元素彼此结合的紧密程度。2.什么是面向数据流的设计方法它有哪些策略。

答:面向数据流的设计方法也称为结构化设计方法(SD),它与结构化分析(SA)相衔接,它按一定的设计策略将数据流图转换成软件的模块层次结构。有两种设计策略:(1)事务形分析设计:一个大的复杂的系统分解成较小的,相对简单的子系统,这些子系统彼此之间相对独立一些,而高层数据流图的数据处理往往反映这些子系统的功能,有平行分别处理的特点,因此高层数据流图的转换通常可作为事务型处理,把一个加工逻辑看成是一类特定的事务,把它们分别映射成一个模块,最高层模块为系统模块,通过对输入初始命令的判断决定调用哪个模块。这种事务型分析设计的策略也用于较低层数据流图向软件结构图的转换。

(2)变换型分析设计:变换型数据流图具有主要的处理功能及实现这项处理功能所需要的输入数据流和经过处理后产生的输出数据流。确定了第三部分,高层模块就可分解出三个从属于它的新模块,分别执行输入、变换、输出功能。变换分析设计一般用于对较低层数据流图向软件结构图的转换。

软件结构图设计好后,还需要为每个模块提供必要的说明,如功能说明、接口说明等。IPO图是常采用的图形工具,软件结构图和各个模块的IPO图结合在一起才能较完整地描绘软件系统在总体上对需求功能的实现。

3.什么是“事务流”

答:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干动作序列中选出一个来执行,这类数据流称为事务流。

第6讲

一、填空题

1.详细设计阶段的根本目标是确定应该怎样

所要求的系统。2.

详细设计的结果基本上决定了最终的的质量。

3. 结构程序设计语言的重复结构有:

结构、_

结构、结构三种。

4. 系统响应时间有两个重要属性,分别是

和_。

5. 常见的帮助设施可分为

和两类。 6.

描述程序处理过程的工具称为过程设计的工具,它们三类。

7. 程序流程图又称为。

8. PAD 是的英文缩写。

9. McCabe

方法根据程序控制流的复杂程度,这样度量出的结果称为程序的。

10. 在流图中用圆表示,流图中的箭头线称为

_,它和程序流程图中的箭头线类似,代表

,由边和结点围成的面积称为。

11.

Halstead 方法是根据程序中的和

_

的总数来度量程序的复杂程度。

12. Jackson 二、 选择题:

1. 软件开发过程中,以下说法正确的是( )。 A、程序流程图是逐步求精的好工具

B、NS图不可能任意转移控制,符合结构化原则 C、判定表是一种通用的设计工具

D、判定流程图和NS图不易表达模块的层次结构 2. Jackson 方法是一种面向( )的方法。 A、对象 B、数据结构 C、数据流 D、控制流 3. 一个程序如果把它他为一个整体,它也是只有一个入口,一个出口的单个顺序结构,这是一种( )。

A、结构程序 B、组合的过程C、自顶向下设计 D、分解过程

4. 程序控制一般分为( )、分支、循环三种基本结构。 A、分块 B、顺序 C、跳转 D、控制 5. PDL 是下列( )语言。

A、高级程序设计语言 B、伪码

C、中级程序设计语言 D、低级程序设计语言 6. 数据元素组成设计的方式有( )类型。 A、顺序 B、选择 C、重复 D、以上全是 7. 详细设计规格说明通常使用( )手段。 A、IPO 图与层次图 B、HIPO C、IPO 或PDL D、HIPO 或PDL

8. 面向数据结构的设计方法(Jackson 方法)是进行( )的形式化的方法。

A、系统设计 B、详细设计 C、软件设计 D、编码 9. Jackson 方法根据( )来导出程序结构 A、数据结构 B、数据间的控制结构 C、数据流图 D、IPO 图

10. 程序控制的三种基本结构中,( )结构可提供多条路径选择。

A、反序 B、顺序 C、循环 D、分支 11. 程序的三种基本控制结构是( )。

A、过程、子程序和分程序 B、顺序、选择和重复 C、递归、堆栈和队列 D、调用、返回和转移 12. Jackson 图上下层之间的关系是( )。

A、调用关系 B、组成关系 C、继承关系 D、嵌套关系 三、 简答题

1. Jackson 结构程序设计方法包括哪些步骤 答:Jackson 结构程序设计方法基本上由下述5个步骤组成:

(1)分析并确定输入数据结构和输出数据的逻辑结构,并用Jackson图描绘这些数据结构。

(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。

(3)用下述3条规则从描绘数据结构的Jackson图导出描绘程序结构的Jackson图:

①为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程序结构图的相应层次画一个处理框;

②根据输入数据结构中乖余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框;③根据输出数据结构中剩余的每个数据单元所处的层次,在程序结构图的相应层次分别为它们画上对应的处理框。

(4)列出所有操作和条件,并且把它们分配到程序结构图的适当位置。

(5)有伪码表示程序。

2. PDL作为一种设计工具,其优点是什么

答:PDL作为一种设计工具有如下一些优点:

(1)可以作为注释直接插在源程序中间。

(2)可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL 的书写和编辑工作。

(3)已经有自动处理程序存在,而且可以自动由PDL 生成程序代码。

四、综合题

1.一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的总个数。要求输出数据格式是每复制一行字符串之后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,请用Jackson方法设计该程序结构。

答:图1为输入数据的Jackson图:

图2为输出数据的Jackson图。

图3为程序结构的Jackson图

第7讲

一、填空题

1.通常把 _编码_ 和 _测试___ 统称为实现。

2.所谓 _编码__ 就是把软件设计结果翻译成用某种程序设计语言书写的程序。

3. 测试的目的就是在软件投入生产性运行之彰,尽可能多地发现软件中的

4. 通过测试发现错误之后还必须诊断并改正错误,

这就是的目的。

5.

程序内部的文档包括恰当的、适当的

和程序的等等。

6. 测试是为了发现程序中的错误而

的过程。

7.

8.

为了达到最佳的测试效果,应该由独立的从事测试工作。

9.测试法把程序看成一个黑盒子,完全不

考虑程序的内部结构和处理过程。

10.的目的是保证每个模块作为一个单元能正确运行,通常又称为单元测试。

11.

子系统测试,兼有检测和组装两重含义通常称为。

12.

测试是在用户积极参与下进行的,而且可能主要使用实际数据进行测试,也称为测试。

13. 单元测试主要使用测试技术。

14. 审查小组的任务是发现错误而不是错误。

15. 人工测试源程序如果由审查小组正式地进行,则称为。

16. 在测试过程中,由于模块并不是一个独立的程序,因此必须为每个单元测试开

和(或) _。

17. 由模块组装成程序时有两种方式,分别是

__测试和

测试。

18.目前在进行集成测试时普遍采用测试方法。

19. 当使用渐增方式把模块结合到程序中去,有

__

和两种集成策略。

20.

自顶向下集成方法中,将模块组装到程序结构中时。

21. 确认测试的目标是验证软件的。

22. 确认测试通常使用

测试法。

23.是程序在给定的时间间隔内,按照

规格说明书的规定成功地运行的概率。

24. 估计错误总数的方法有和分别测试法。

二、 选择题:

1. Alpha 测试是( )。 A、由用户在开发者的场所进行

B、由软件的最终用户在开发者的一个或多个客户场所进行

C、是在不受开发者控制的环境中进行的

D、是软件在开发者不能控制的环境中的“真实应用 2. 在逻辑覆盖中,每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果,这种覆盖称为( )。

A、语句覆盖 B、判定覆盖 C、条件覆盖 D、条件覆盖 3. ( )着重测试软件功能。

A、黑盒测试 B、白盒测试 C、功能测试 D、循环测试

4. 下列属于黑盒测试的是( )。

A、基本路径测试 B、条件测试 C、循环测试 D、等价划分

5. 关于测试下列说法错误的是( )。

A、调试也称为纠错 B、调试作为成功测试的后果出现

C、调节器试是在测试发现错误之后排除错误的过程

D、调试的目标是发现错误

三、综合题

1.航空公司A向软件公司B订购了一个规划飞行路线的程序。假设你是软件公司C的软件工程师。A公司已雇佣你所在的公司对上述程序进行验收测试。你的任务是,根据下述事实设计验收测试的输入数据。

领航员向程序输入出发地点和目的地,以及根据天气和飞机型号而初步确定的飞行高度。程序读入途中的风向风力等数据,并且制定出三套飞行计划(高度,速度,方向及途中的五个位置校核点)。所制定的飞行计划应该做到燃料消耗和飞行时间都最少。

答:应该分别使用正常的输入数据和异常的输入数据,作为验收测试数据.

(1)用正常的输入数据作为测试数据

①输入常规的出发点、目的地、5个位置校核点、高度、速度及飞机型号。

②针对5对不同的出发点、目的地,重复执行测试①。

③固定出发点、目的地位置、位置校核点、高度、速度,分别输入3~5种不同的飞机型号,重复执行测试①。

④固定出发点、目的地位置、位置校核点、高度、飞机型号,分别输入3~5种不同的速度,重复执行测试①。

⑤固定出发点、目的地位置、位置校核点、速度、飞机型号,分别输入3~5种不同的高度,重复执行测试①。

⑥固定出发点、目的地位置、高度、速度、飞机型号,分别输入3~5种不同的位置校核点,重复执行测试①。

⑦固定出发点、高度、位置校核点、速度、飞机型号,分别输入3~5种不同的目的地位置,重复执行测试①。

⑧固定高度、目的地位置、位置校核点、速度、飞机型号,分别输入3~5种不同的出发点,重复执行测试①。

⑨同时改变一对参数的值,其他参数的值固定,重复执行测试①。

⑩同时改变3个参数的值,其他参数的值固定,重复执行测试①。

⑾以适当的方式改变描述天气状况的数据,重复执行测试①。

(2)用边界数据值作为测试数据

①分别使用距离非常近和距离非常远的两个地点作为出发点和目的地。

②输入位置校核点的非常规组合。

③分别输入非常高和非常低的高度值。

④分别输入非常高和非常低的速度值。

⑤输入极其少见的飞机型号。

(3)用无效的数据作为测试数

①用由字母数字字符和控制字符混合在一起组成的字符串作为出发点或目的地。

②用数字0作为所有参数的值。

③用负数作为高度和速度的值。

第8讲一、填空题

1.软件工程的主要目的就是提高软件的

减少软件维护所需要的

,降低软件系统的

2.就是在软件交付使用后,为了改正错误或满足新的需要而修改软件的过程。

3.

维护过程本质上是修改和压缩了的

4.

可修改性、可移植性和可重用性5个。

5.软件系统的文档可以分为

和两

类。

6.是最常见的再工程活动。

7. 软件维护通常包括4类活动,

维护。

8.是影响软件可维护性的决定因素。 二、 简答题:

1. 代码重构与正向工程有何相同之处有何不同之处 答:代码重构和正向工程都需要重新设计数据结构和算法,并且需要重新编写程序代码,这些是代码重构和正向工程相同的地方。

通常,代码重构并不修改程序的体系结构,它只修改某些模块的设计细节和模块中使用的局部数据结构,并重新编写这些模块的代码。如果修改的范围扩展到模块边界之外涉及到程序的体系结构,则代码重构变成了正向工程。 三、 论述题:

1. 假设你的任务是对一个已有的软件作重大修改,而且只允许你从下述文档中选取两份:(a )程序的规格说明;(b )程序的详细设计结果(自然语言描述加上某种设计工具表示);(c )源程序清单(其中有适量的注解)? 你将选取哪两份文档为什么这样选取

答:通常,“对一个已有的软件做重大修改”意味着对软件功能做较大变理可增加较多新功能,这往往需要修改软

件的体系结构。因此,了解原有软件的总体情况是很重要的。程序的规格说明书准确地描述了对软件系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求及将来可能提出的需求,对了解已有软件的总体情况有很大帮助。在对已有软件做重大修改之前仔细阅读、认真研究这份文档,可以避免许多修改错误。因此,应该选取这份文档。 有经验的软件工程师通过阅读含有适当注解的源程序,不难搞清程序的实现算法,没有描述详细设计结果的文档并不会给维护工作带来太大困难。此外,为了修改程序代码,原有程序的清单是必不可少的。因此,为了对这个软件做重大修改,应该选取的第二份文档是源程序清单。

第13讲

一、

填空题

1. 为了估算项目的工作量和完成期限,目前常采用

和两种技术估算软件规模。 2.

当用代码行技术估算软件规模时,当程序较小时,常采用的单位是(LOC

),当程序较大时,常用的单位是

KLOC )。

3.

4. 软件项目的开发时间最多可以减少到正常开发时间的。

5.

表示作业,用表示事件。

6. Gantt

能显示地定义

只能隐含地表示这

种关系。

7.

8.

甘特图中用代表任务,它的长度

代表任务

9.

软件质量保证的措施主要有:基于

的测试,基于

的测试和程序正确性证明。

10.

和。

11.基线就是通过了正式复审的软件

12.

二、选择题:

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、版本

三、问答题

1.为什么推迟关键路径上的任务会延迟整个项目

答:关键路径定义为一组任务(称为关键任务),这组任务决定了完成项目所需要的最短时间。如果位于关键路径上的一个关键任务的完成时间被推迟了,则关键路径上的下一个任务的开始时间和结束时间也要相应地延迟。这样依次传递会波及关键路径上的最后一个任务,从而延迟整个项目。

2.机动时间有何重要性

答:虽然不在关键路径上的任务并不决定完成项目所需要的最短时间,可以适当延迟一些时间,但是,如果这些任务延迟过久,则整个项目的完成时间也会被推迟。机动时间给出了完成这类任务的时间范围。

此外,在制定进度计划时仔细研究并充分利用工程网络中的机动时间,往往能够安排出既节省资源又不影响最终竣工时间的进度表。

3.假设有一项工程任务被分解成了a,b,…,i等9个子任务,下表给出了完成每个子任务所需要的时间以及子任务彼此之间的依赖关系。请用工程网络描述下表中给出的信息,并且计算每个事件的最早时刻和最迟时刻。

答:根据该表给出的信息,可以画出下图所示的工程网络。由于子任务a和b都不依赖于其他子任务,所以都可以从时刻零开始。根据最早时刻和最迟时刻的算法,可以算出每个事件的最早时刻和最迟时刻,算出的值已经标在工程网络中。为了便对将工程网络图与题目中所给的表相对照,在图中标注的完成任务时间后面的括弧中写出了该任务的标识。

软件工程习题及详细答案

个人收集整理勿做商业用途 软件工程习题及答案 一、选择题: 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、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

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

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

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 ?软件也会磨损和老化。(X) ?完善性维护是提高或完善软件的性能。(√) ?数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 (X) ?软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X) ?软件模块之间的耦合性越弱越好。(√) ?如果通过软件测试没有发现错误,则说明软件是正确的。(X) ?快速原型模型可以有效地适应用户需求的动态变化。(√) ?模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高聚,低耦合度的软件产品。(√) ?集成测试主要由用户来完成。(X) ?确认测试计划应该在可行性研究阶段制定(X) ?白盒测试无需考虑模块部的执行过程和程序结构,只要了解模块的功能即可。(X) ?软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√) ?软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√) ?系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)?模块越多,开发成本越小。(╳) ?软件测试的目的就是证明软件没有错。(╳) ?PAD图在设置了五种基本的控制结构后,还允许递归使用。(√) ?在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) ?SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) ?HIPO 法既是需求分析方法,又是软件设计方法。(√) ?在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) ?加工小说明是对系统流程图中的加工进行说明。(×) ?判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) ?需求分析的主要方法有SD 法、OOA 法及HIPO 法等。(×) ?分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。(×) ?信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√) ?用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) ?PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X) ?设计阶段的输出是编码阶段的输入.(√) ?通过软件测试,可以发现软件中所有潜伏的错误.(X) ?非结构化维护用于软件的配置中只有源代码维护.(√) ?系统规格说明是系统分析和定义阶段生成的一种文档.(√) ?数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)

软件工程(习题与参考答案)

第1章概述(习题与参考答案) [判断题] 1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。(×) 2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。(×) 3. 购买大多数计算机系统所需的硬件比软件更昂贵。(×) 4. 大多数软件产品在其生命周期中不需要增强功能。(×) 5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。(√) 6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。(×) [选择题] 1. ()因素促使计算机系统越来越复杂。(D) A. 计算机内存和存储容量上的巨大增长 B. 外部输入/输出选项的更加多样性 C. 计算机体系结构方面的深刻变化 D. 以上所有选项 2. 下面的()不再是现代软件工程师关注的问题。(A) A. 为什么计算机硬件的成本这么高? B. 为什么软件需要很长时间才能完成? C. 为什么开发一个软件的成本这么高? D. 为什么不能在产品发布前去除软件错误? 3. 软件会逐渐退化而不会磨损,其原因在于()。(C) A. 软件通常暴露在恶劣的环境下 B. 软件错误通常发生在使用之后 C. 不断的变更使组件接口之间引起错误 D. 软件备件很难订购 4. 大多数软件仍然是定制开发的,其原因在于()。(C) A. 软件组件重用是十分普遍的 B. 可重用的组件太昂贵而无法使用 C. 软件在不使用其他组件的情况下很容易构造出来 D. 商业组件在很多应用领域中可以得到 5. 下面的()说法是正确的。(C) A. 软件危机在20世纪70年代末期全面爆发

B. 当前先进的软件工程方法已经解决了软件危机的问题 C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题 D. 软件危机是指在软件产品中存在一系列的质量问题 6. 软件工程的基本目标是()。(B) A. 消除软件固有的复杂性 B. 开发高质量的软件 C. 努力发挥开发人员的创造性潜能 D. 更好地维护正在使用的软件产品 7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方 法、工具和过程三个要素。(D) A. 软件产品 B. 软件过程 C. 软件测试 D. 软件工程 8. 软件工程的基本要素包括方法、工具和()。(C) A. 软件系统 B. 硬件环境 C. 过程 D. 人员 9. 软件工程师在从事软件工作时应使用下面的()准则。(E) A. 从来不为个人获利而窃取数据 B. 从来不散布或出售项目中自己工作的信息 C. 从来不故意毁坏或修改别人的程序、文件或数据 D. 从来不侵犯个人、小组或组织的隐私 E. 以上所有选项 第2章软件过程(习题与参考答案) [选择题] 1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、 软件确认、软件改进等活动组成。(A) A. 软件过程 B. 软件工具 C. 软件产品 D. 软件工程 2. 软件过程的基本活动是()。(A) A. 分析、设计、实现、测试、演化 B. 沟通、计划、建模、构造、部署 C. 计划、分析、设计、实现、调试 D. 沟通、风险管理、度量、产品化、评审 3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。(B) A. 真 B. 假

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

软件工程练习题

一.填空题 1.软件生命周期分为、需求分析、概要设计、详细设计、软件实现、软件测试及运行维护7个阶段。 2. 是最早的软件生存周期开发模型,它将软件开发过程中的各项活动规定为依固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件系统或软件产品。 3. 是一种软件开发模型,在这种模型的每一个阶段,都要编码产生一个新的构件,并将新构件集成到先前已经构成的产品中并作为一个整体进行测试,直到满足用户需求为止。 4.当没有足够的人员在规定的期限内开发完整的产品或者由于不可克服的客观原因而把交付期限规定的太短时应选用软件开发模型。 5. 是一种软件开发模型,由需求定义、风险分析、实施开发和计划评审4个部分组成,主要适用于大型软件项目开发。 6. 文档说明该软件开发项目的实现在技术上、经济上和社会因素上等方面的可行性,评述为了合理地达到开发目的可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。 7.可行性分析的目的是。 8. 用于描述系统的物理模型,用物理符号以黑盒子的形式描绘系统里的每个部件,仅表达信息在系统个部件之间流动的情况。 9. (一种图)可以用来进行项目进度管理。 10. 结构化分析与设计是一种面向的分析设计方法。 11. 常见的需求获取方式有、情景分析技术等。 12. 在结构化分析中,用于描述加工逻辑的工具主要有结构化语言、判定树和。 13. 数据字典中的条目主要有、数据流、文件和加工四种。 14. 结构化软件开发方法贯穿始终的八字方针为。 15. 在软件生命周期中的每一个阶段结束后必须进行,这是为了能尽早发现项目开发中的错误。 16. 是软件生命周期中重要的一步,是软件定义阶段的最后一个阶段,是关系到软件开发成败的关键步骤。 17. 数据流图分为变换型和两种类型。 18. 衡量不同模块彼此之间相互依赖的紧密程度。 19. 衡量不同模块彼此之间相互依赖的紧密程度。 20.在软件模块设计时应该采取的设计原则是。 21.内聚性与模块独立性的关系为内聚性越高,模块独立性越。

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

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

软件工程考试题 简答题 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 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件工程习题

软件工程习题 CH1 一、填空题 1、软件工程需要解决的问题包括:、、、和。 2、到目前为止,软件生产的发展经历了三个阶段,即、和。 3、计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于,而软件工程侧重于。 4、软件工程有用管理科学的方法和原理进行。 5、软件工程是用科学知识和技术原理来、、软件的一门科学。 6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。在软件开发技术方面,主要研究、、。在软件开发管理技术方面主要研究、、。 7、作为一门交叉学科,软件工程具有很强的综合性,它涉及、、、等领域。 8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。通常包括、、、、、、、等活动,可以将这些活动以适当方式分配到不同阶段去完成。 9、开发软件工具的主要目的是为了提高软件生产效率和改善。 10、描述软件开发过程中各种活动如何执行的模型称为模型。 11、从软件工程诞生以来,已经提出了多种软件开发方法,如、、 ,它们对软件工程及软件产业的发展起到了不可估量的作用。 12、结构化方法由、和构成。它是一种面向的开发方法。 13、模型是一种非整体开发方法的模型。软件在该模型中是“逐渐”开发出来的,开发一部分向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 14、喷泉模型是一种以为动力,以作为驱动的模型,适合于的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有和。 15、结构化方法总的指导思想是。它的基本原则是功能的和。它是软件工程中最早出现的开发方法,特别适用于的问题。 16、螺旋模型将模型和模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 17、螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为4个工作步骤。第一步,确定目标,选定实施方案,明确开发限制条件。第二步,分析所选方案、识别风险,通过原型消除风险。第三步,实施软件开发。第四步,评价开发工作,提出修改意见,建立下一周期的计划。 18、面向对象开发方法包括、、三部分。

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导 10.下列叙述中,_______不属于数据字典的作用。 A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程部分课后练习题答案

第一章 1.计算机系统是由计算机硬件系统和软件系统这两个密不可分的部分组成的。 2.计算机软件系统通过运行程序来实现各种不同应用,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等。 3.在软件工程学中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。 4.在软件工程层次结构中,包括工具层、方法层、过程、技术层和质量保证层。 5.在面向对象概念中,消息传递是其与外部世界相互关联的唯一途径。 第三章 1.软件需求分析,可以把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。 2.软件需求工作基本上包括收集用户、市场等方面对项目的需要,经过分析建立解题模型,细化模型,抽取需求。 3.结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求和规格说明书。 4.面向对象分析方法总是从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后开始建立对象——关系和对象——行为模型。 5.需求分析评审过程由以下5个步骤组成:规划、准备、召开审查大会、修改缺陷、重审。第四章 1.与软件需求分析一样,软件设计也有两种主要设计方法:以结构化设计为基础的结构化软件设计和面向对象方法指导的面向对象软件设计。 2.传统的软件设计任务通常分两个阶段完成。第一个阶段是概要设计,包括体系结构设计

和接口设计,并编写概要设计文档;第二阶段是详细设计,其任务是确定各个软件的数据结构和操作,产生描述各软件组件的详细设计文档。 3.结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。 4.在数据流图中所代表的结构化设计模型中,所有系统均可纳入两种典型的形式,因此系统结构图也有两种类型:变换型系统结构图,事务型系统结构图。 5.Jackson表示法包括图形描述(Jackson图)和文本描述(Jackson伪代码)两种形式。 第五章 1.与结构化设计一样,面向对象设计也是将分析阶段所建立的分析模型转变为软件设计模型,应用数据设计(对象属性设计)、接口设计(消息模型开发)以及过程设计(子系统级设计)。 2.当两个子系统相互通信时,可以建立客户机/服务器连接或端对端连接。 3.系统设计不仅包括主要的业务需求子系统设计,还包括用户界面子系统设计、任务管理子系统设计、数据管理子系统设计。 4.对象设计强调从问题域的概念转换成计算机领域的概念,通过对象的描述、算法和数据结构设计、程序构件和接口,实现相关的类、关联、属性和操作。 5.在面向对象设计中系统设计的主要目标是表示软件体系结构。对象设计着重于对象及其交互的描述 第八章 1.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露程序中潜在的错误。

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

软件工程习题参考答案

《软件工程》习题参考答案 概述 1.什么是软件危机,它有哪些典型表现 所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: a. 开发成本和进度不能准确估计 b. 开发出来的软件不能满足用户的要求 c. 软件的可维护性差 d. 软件质量不可靠 e. 软件成本在系统中的比重逐年上升 f. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。 3.什么是软件工程它有哪些本质特性 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的 软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 6.简述软件的定义。 软件=程序+ 数据+ 文档 7.软件工程的目的是什么 为高质量的软件开发提供一个科学的体系框架。 8.什么是软件工程方法学软件工程是一种什么样的技术包括哪三大要素分为哪三个分支 软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。

软件工程综合习题及答案样本

软件工程综合习题( 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.可行性研究需要的时间长短取决于系统的规模, 一般来说, 可行性研究的成本只是

软件工程练习题&答案

软件工程练习题 一. 选择题(单选或多选) (1)需求分析阶段最重要的技术文档是( C )。 A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告 (2)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是(A ) A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合 (3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D ) A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合 (4)软件详细设计的主要任务是对(A)进行的详细设计。 A) 算法和数据结构B) 外部接口C)软件编码D)功能 (5)Jackson方法是一种面向(C)的结构化方法。 A) 数据流B) 对象C)数据结构D)控制流 (6)一个成功的测试可以( D )。 A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误 (7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。 A)失败后重新启动所需的时间B)引起失败的时间所占的百分比 C)失败前的平均工作时间D)在一次失败中数据恶化的概率 (8)黑盒技术设计测试用例的方法之一为( A )。 A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试 (9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。 A)工作无序,项目进行过程中经常放弃当初的计划 B)建立了项目级的管理制度 C)建立了企业级的管理制度 D)软件过程中活动的生产率和质量是可度量的 (10)在面向数据流的软件设计方法中,一般将信息流分为( A )。 A)变换流和事务流B)变换流和控制流 C)事务流和控制流D)数据流和控制流 (11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。( ABCDEF ) A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。 A)确定系统的性能要求B)确定系统的运行要求 C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要 (13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。 A)Gantt图B)工程网络图C)CoCoMo模型D)数据流图 (14)软件开发中需求分析的主要任务是( D )。 A)给出软件解决方案B)给出系统模块结构 C)定义模块算法D)定义需求并建立系统模型

软件工程综合应用例题解析

软件工程综合应用例题 第一部分 《结构化软件开发方法》 1、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 解: 2、高考录取统分子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 试根据要求画出该系统的数据流程图,并将其转换为软件结构图。 解:(1)数据流图: (2)软件结构图: ① 原始分 ② 标准分 ③ 招生计划 ④ 录取线 3、有下列伪码程序: START INPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIF PRINT(X,Y) STOP

设计该程序的语句覆盖和路径覆盖测试用例。 解: 语句覆盖测试用例为 ①M=9(或=10),N=20(或>=20) 路径覆盖的测试用例为 ①M=9,N=19; ②M=9、N=20; ③M=l0,N=l9; ④M=10,N=20 4、画出下列伪码程序的程序流程图、盒图(N-S图)、PAD图。 START IF p THEN WHILE q DO F END DO ELSE BLOCK g n END BLOCK END IF STOP 解: 5、根据下面程序流程图,给出测试用例: 解:路径覆盖可使用测试用例: ⑴【A=1,B=1,X=1】 ⑵【A=1,B=1,X=2】

软件工程综合应用例题(题)

综合应用例题 第一部分传统软件开发方法 1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的 围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。 请用等价类划分法设计测试用例。 2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 int GetMax(int n, int datalist[ ]) { int k=0; for ( int j=1; j datalist[k] ) k=j; return k; } 画出该程序的程序流程图,并计算其McCabe复杂度。 3、有下列伪码程序: START INPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIF PRINT(X,Y) STOP 设计该程序的语句覆盖和路径覆盖测试用例。 4、根据伪码程序画出程序流程图,盒图(N-S图)。 START a IF x1 THEN REPEAT UNTIL x2 b END REPEAT ELSE BLOCK c d END BLOCK

END IF STOP 5、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 6、画出下列伪码程序的程序流程图,盒图(N-S图)。 START IF p THEN WHILE q DO F END DO ELSE BLOCK g n END BLOCK END IF STOP 7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。 WHILE P DO IF A>O THEN A1 ELSE A2 ENDIF; IF B>0 THEN B1; IF C>0 THEN C1 ELSE C2 ENDIF ELSE B2 ENDIF; B3 ENDWHILE; 8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。 PROCEDURE EX(A,B:REAL;VAR X:REAL); BEGIN IF(A=3)OR(B>1)THEN X:=A×B IF(A>2)AND(B=0)THEN X:=A-3 END 9、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 如果是付款的,则由财务人员在帐目文件上登记,也给学生一收费收据。

软件工程习题1及答案

第一章概论 一.选择题 1.软件是计算机系统中与硬件相互依存的另一部分,它包括文档,数据以及() A 数据 B 软件 C 文档 D 代码 2.软件工程中描述生存周期的瀑布模型一般包括计划、()、设计、编码、测试、维护等几个阶段。 A 需求分析 B 需求调查 C 可行性分析 D 问题定义 3.在结构化的瀑布模型中,()阶段定义的标准将成为软件测试中的系统测试阶段的目标。 A 需求分析 B 详细设计 C 概要设计 D 可行性研究 4.从结构化的瀑布模型看,在它的生命周期的8个阶段中,下面的几个选项中()环节出错,对软件的影响最大。 A 详细设计阶段 B 概要设计阶段 C 需求分析阶段 D 测试和运行阶段 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。 A 硬件环境 B 软件开发的环境 C 软件开发工具和软件开发的环境 D 开发人员的 素质 6.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为()。 A 相互排斥 B 相互补充 C 独立使用 D 交替使用 7.软件开发的瀑布模型一般都将开发过程划分为分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是()。 A 分析阶段 B 设计阶段 C 编码阶段 D 测试阶段 答案:1、D 2、A 3、D 4、C 5、C 6、B 7、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 判定表与判定树 答案:1、B 2、ABCD 3、A 4、AB 5、A 第三章需求分析 一、选择题 1.进行需求分析可使用多种工具,但()是不适用的。 A 数据流图 B 判定表 C PAD图 D 数据字典 2.在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是()。

相关文档
最新文档