当前位置:文档之家› 软件工程习题-答案

软件工程习题-答案

软件工程习题-答案
软件工程习题-答案

该习题答案由学生完成,仅供参考。象声词同学们能独立完成习题!

《软件工程》习题

第一章习题

1、计算机软件系统4个不同的发展阶段是:程序设计、程序系统、软件工程、面向对象阶段。

2、软件危机发生在那个阶段?主要指哪两方面的问题?

程序系统阶段

原因:1、如何开发软件,以满足对软件日益增长的需求。2、如何维护数量不断膨胀的已有软件。3、软件危机有几方面的典型表现?

○1、对软件开发成本和进度的估计常常很不准确

○2、用户对“已完成的”的软件系统不满意的现象经常发生

○3、软件产品的质量往往靠不住

○4、软件常常是不可维护的

○5、软件通常没有适当的文档资料

○6、软件成本在计算机系统总成本中所占的比例逐年上升

○7、软件开发效率提高的速度,远远跟不上计算机应用迅速普及及深入的趋势

4、软件危机产生的原因是、。

与软件本身的特点有关、软件开发与维护的方法不准确有关

5、软件是、和的完整集合。

程序、数据、相关文档

6、如何解决软件危机?

○1、一个软件必须是由一个完整的配置组成,事实上,软件是程序,数据及相关文档的完整集合○2、要充分认识到软件开发应该是一种组织良好、管理严密、各类人员协同合作、共同完成的工程项目

○3、推广使用在实践中总结出来的开发软件的成功的技术和方法

○4、应该开发和使用良好的开发软件工具

○5、总之,为了解决软件危机,既要有必要的技术措施又要有必要的组织管理措施

7、软件工程的定义?(以教材定义为准)

采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他,这就是软件工程。

8、软件工程的本质特征有、、、、、和。

关注大型程序的构造、中心课题是控制复杂性、软件经常变化、开发软件的效率非常重要、和谐地合作是开发软件的关键、软件必须有效地支持它的用户和由具有一种文化背景的人替另一种文化背景的人创造产品

9、软件工程的基本原理有、、、、、和。

用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查、开发小组的人员应该少而精和承认不断改进软件工程实践的必要性。10、软件工程学的三个基本要素是、、。

方法、工具、过程

11、软件工程学分为传统方法学和面向对象的方法学两大类。前者强调,而后者强

调。

自顶向下顺序的完成软件开发的各阶段任务、多次反复迭代的演化过程

12、软件工程学中的面向对象的方法学有四个基本要点。它们是对象、类、系统、消

息。

把对象作为融合了数据及数据上的操作行为的统一软件构件、把所有对象都划分成类、按照父类与子类的关系把若关干个相关类组成一个层次结构的系统、对象彼此间仅能发送消息互相联系。

13、什么是软件生命周期?

软件从生产到软件报废的过程

14、软件生命周期划分为几个时期几个阶段?各阶段主要任务是什么?

软件定义、软件开发、软件为维护3个时期组成。

软件定义:问题定义,可行性研究,需求分析;

软件开发阶段:总体设计,详细设计、编码和单元测试,综合测试;

软件维护:使软件持久地满足用户的需求

15、软件生命周期中的软件维护分为几大类?哪类维护所占比重最大?

改正性维护,适应性维护,完善性维护,预防性维护

完善性维护占比重最大

16、什么是软件过程?其任务集合主包括哪些内容?

软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。包括一组软件工程任务、里程碑和应该交付的产品。

17、瀑布模型、快速原型模型、增量模型、螺旋模型和喷泉模型格有什么特点和优缺点?

1、瀑布模型:

特点:

○1、阶段间具有顺序性和依赖性

○2、推迟实现的观点

○3、质量保证的观点

优点:

可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交文档;要求每个阶段的交出的所有产品必须经过质量保证小组的仔细验证

缺点:

瀑布模型是由文档驱动的是瀑布模型的主要缺点

2、快速还原模型:

特点:快速还原模型是快速建立起来的可直接在计算机上运行的程序,他所能完成的功能是最终产品的一个子集

优点:软件产品的开发基本上是线性顺序进行的

缺点:一旦需求确定了需求,原来的需求将被抛弃

3、增量模型:

优点:

逐步增加产品功能可以使用户有比较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲突

缺点:

○1、把每个新的增量构件集成到现有的软件体系结构中时,必须不破坏原来已经开发出来的产品。

○2、必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单,方便,也就是说,软件体系结构必须是开放的

○3、从某种意义上来说,增量模型是自相矛盾的

4、螺旋模型

优点:

○1、对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个项目指标;

○2、减少过多测试或测试不足所带来的风险

○3、在螺旋模型中维护只是模型的另一个周期,在维护和开发之间的并没有什么区别

5、喷泉模型

喷泉模型体现了面向对象软件开发过程迭代和无缝的特性

18、为什么说喷泉模型较好地体现了面向对象软件开发过程中的无缝和迭代特征?

喷泉模型图中的代表不同阶段的圆圈相互重叠,这明确表示两个活动之间的交叠;而面向对象方法在这种概念和表示方法上的一致性,保证了各项开发活动之间的无缝过度。

第二章习题

1、可行性研究的目的是什么?可行性研究的内容是什么?

确定问题是否值得去解决

技术、经济、操作、法律等的可行性

2、可行性研究中对问题的解法可行性包括主要和次要方面。两者分别包含、、

可行性和、可行性几个方面。

技术可行性、经济可行性、操作可行性

法律可行性、社会效益

3、可行性研究过程主要有、、、、、、和

几个步骤。

复查系统规模和目标、研究目前正在使用的系统、导出新系统的高层逻辑模型、进一步定义问题、导出和评价供选择的解法、推荐行动方针、草拟开发计划和书写文档提交审查几个步骤。

4、可行性研究过程中的第三步“导出新系统的高层次逻辑模型”涉及到、、、几种模型。

现有的物理系统、现有的逻辑模型、目标系统的逻辑模型、新的物理系统模型

5、可行性研究过程中的第五步中如何排定问题解法三种可行性的顺序?

技术可行性→操作可行性→经济可行性

6、系统流程图是描绘的传统工具。它用符号以形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。表达的是数据在系统各部件之间情况,而不是对数据进行的控制过程。

物理系统、图形、黑盒子、流动、加工处理

7、系统流程图与程序流程图的异同?

系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的过程;

而程序流程图是指程序指令控制流的流动(即算法描述)

8、系统流程图包含和两大类图形符号。其名称和符号分别是什么?

基本符号、系统符号

P39

9、在面对复杂的系统中,比较好的方法是采用什么策略来描述?

分层次地描绘这个系统

10、数据流图是一种技术,它描绘和从输入移动到输出的过程中所经受的。在数据流图中没有任何具体的,它只是描绘数据在软件中流动和被处理的。

图形化、信息流、数据、变换、物理部件、逻辑过程

11、数据流图的4种基本符号为、、、。附加符号有、

和。分别代表什么含义?

正方形、圆角矩形、开口矩形、箭头

星号、加号、○+(带圈加号)

正方形表示数据的源点或终点;圆角矩形代表变换数据的处理;开口矩形代表数据存储;箭头代表数据流;

星号表示数据流之间是“与”关系;加号表示“或”关系;○+号表示只能从中选一个。

12、画数据流图的步骤为(1)从问题描述中提取数据流图的4种成分(2)

(3)(4)。

(1)从问题描述中提取数据流图的4种成分(2)画功能级数据流图

(3)对功能级数据流图中描绘的系统主要功能进一步细化(功能级分解)(4)对处理进行编号。

13、为数据流或数据存储命名要注意哪些?为处理命名要注意哪些内容?

为数据流命名:

1、名字应代表整个数据流的内容,而不是仅仅反映它的某些成分;

2、不要使用空洞的、缺乏具体含义的名字;

3、如果在为某个数据流起名时遇到困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。

为处理命名:

1、通常先为数据流命名,然后再为与之相关的处理命名;

2、名字应该反映整个处理的功能,而不是他的一部分功能;

3、名字最好有一个工具的及物动词加上一个具体的宾语组成;

4、通常名字中仅包含一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当;

5、如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的现象,应考虑重新分解。

14、数据流图的作用有(1) (2) 。

作为交流信息的工具、作为分析和设计的工具

15、和共同构成了系统的逻辑模型。

数据流图、数据字典

16、数据字典是关于的集合,也就是对数据流图中包含的定义的集合。涉及到的元素有、、、四类。

数据信息、所有元素

数据流、数据流分量、数据存储、处理

17、数据字典中定义数据的方法有为。

对数据自顶向下的分解

18、数据字典中数据元素组成数据方式有、、和。使用的图形符

号有哪些?分别代表什么含义?

顺序、选择、重复和可选

= 等价于

+ 和

[] 或

{} 重复

19、简要叙述数据字典的用途是什么?

作为分析阶段的工具

20、成本估计技术有、和。

代码行技术、任务分解技术和自动估计成本技术

第三章习题

1、需求分析是确定系统。其最终成果是。

必须做什么、需求分析规则说明书

2、需求分析的任务有、、、和。、

确定对系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统的开发计划。3、需求分析任务中的综合要求包含哪些内容?数据要求包含哪些内容?

综合要求:

1、功能要求

2、性能要求

3、可靠性和可用性要求

4、出错处理要求

5、接口要求

6、约束

7、逆向要求

8、将来可能提出的要求

数据要求:

1、建立数据模型:数据流图、E-R图

2、数据规范化描述

4、需求分析过程中与用户沟通获取需求的方法有、、、和。

访谈、面向数据流自顶向下求精、简易的应用规格说明技术快速建立软件原型。

5、需求分析过程中“面向数据流自顶向下求精”是采用进行需求分析;“简易的应用规格说明技术”就是一种需求收集法。“快速建立软件原型”是、、的需求分析技术。

结构化分析方法、面向团队、最准确、最有效、最强大

6、“快速建立软件原型”需求分析技术主要使用了、和方法和工具。

第四代技术、可重用的软件结构和形式化规格说明和原型环境

7、需求分析过程中的“分析建模”应该建立、和 3种模型。所谓模型由一组和组织这些符号的组成。

数据模型、功能模型和行为模型

图形符号、规则

8、DFD、ER图和状态转换图分别对应、和模型。

功能模型、数据模型和行为模型

9、是分析模型的核心,它描述软件使用或产生的所有数据对象。

10、数据模型(ER图)中主要涉及到的信息有、和。

数据对象、属性和联系

11、数据对象的联系可分为、和 3种类型。

一对一联系、一对多联系和多对多联系

12、ER图有三种基本成分:实体,用图形符号表示;关系,用连接相关实体的表示;属性,用表示,并用把实体(或关系)与其属性连接起来。

矩形、菱形框、椭圆形或圆角矩形、直线

13、简述ER图的优点。

ER模型比较接近人的习惯思维方式。此外,ER模型使用简单的图形符号表示系统分析员对问题域的理解,不熟悉计算机的用户也能理解他,因此ER模型可以作为用户个分析员之间的交流工具。14、数据规范化主要目的是。其中第一范式:每个都必须是原子值,即仅仅是一个简单值而不含内部结构,即列的惟一。第二范式:满足第一范式条件,而且每个

属性都由整个关键字决定(而不是由关键字的一部分来决定),即不能有的重复。第三范式:符合第二范式的条件,每个非关键字属性都仅由决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述。

较少数据冗余

属性值、非关键字、行、关键字

15、状态转换图是通过描绘系统的及引起系统状态转换的,来表示系统的。

状态、事件、行为

16、状态转换图中的状态主要有、和,分别用用什么图形符号表示?

初态、终态、中间态

初态用实心圆表示,终态用一对同心圆表示,中间态用圆角矩形表示。

17、状态转换图中的状态转换用什么图形符号表示?其表明了状态转换的方向。一般要在上面标明触发转换的。如果未有标明,则表示了。

带箭头的连线、箭头方向、触发转换事件表达式、在源状态的内部活动执行完之后自动触发转换18、状态转换图中的中间状态由、和组成。底层为“活动表”,其语法格式为。

状态、状态变量和活动表

事件名(参数表)/动作表达式

19、层次方框图是用来建立模型的。它用的一系列多层次的框描绘数据的层次结构。顶层是一个单独的矩形框,它代表完整的;下面的各层矩形框代表这个数据的;最底层的各个框代表组成这个数据的实际 (不能再分割的元素)。

数据、树形结构、子集、数据元素

20. 比较层次方框图与结构图是的差异。

○1、层次图描绘软件的层次结构,层次方框图描绘的是数据结构

○2、层次图的方框表示模块或子模块。层次方框图的方框表示数据结构整体或其子集

○3、层次图的连线表示调用关系,层次方框图表示组成关系

21、Warnier图和层次方框图类似,Warnier图也用树形结构描绘信息, Warnier图可以表明的逻辑组织,也可以表示特定信息在某一类信息中是有地出现的。

信息、条件

22、IPO图是输入、处理、输出图的简称。能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。是显然是建立模型的工具之一(与DFD类似)。

功能模型

23、从、、和方面验证软件需求的正确性。验证软件需求的方法有、和。

一致性、完整性、现实性和有效性

验证需求的一致性、验证需求的现实性和验证需求的完整性和有效性

第四章习题

1、软件工程中对需求分析进行说明的技术分为、和三类。分别用、和进行描述。

非形式化、半形式化、形式化

自然语言、数据流图或者是E-R图和基于数学的技术

2、非形式化方法的缺点及形式化方法的优点分别是什么?

非形式化的缺点:可能产生矛盾、二义性、含糊性、不完整性、抽象层次混乱

形式化方法的优点:

○1、数学最有用的一个性质是:他能够简洁的准确的描述物理现象、对象或动作的结果,因此是理想的建模工具

○2、可以在不同的软件工程活动之间平滑的过度

○3、它提供了高层确认的手段

3、判断:使用了形式化的说明技术后就能保证说明的完整性了?错

4、应用形式化方法的准则有哪些?

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

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

○3、应该估算成本

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

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

○6、应该建立详细的文档

○7、不应该放弃质量标准

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

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

○10、应该重用

5、有穷状态机包括、、、和 5个部分。

态机J、输入集K、转换函数T、初始状态S和终态集F

6、目前使用的状态转换规则形式为: + + => 。

当前状态[菜单] +事件[所选择的项] + 谓词=>下个状态

7、Petri网包括、、和 4个元素。其中位置用代表,转换用表示。输入函数用由指向的箭头表示,输出函数用由指向

的箭头表示。它解决了状态转换中的时间问题。

位置P 、转换T 、输入函数I和输出函数O

圆圈、直线、位置、转换、转换、位置

8、带标记的Petri网中,主要是位置中设置了。状态转换规则是:当每个所拥有的权标数从该位置到转换的线数时,就允许转换。

权标、输入位置、大于

9、加入禁止线的Petri网中,用一个而不是用箭头标记的输入线表示禁止线。状态转换规则是:当每个输入线上至少有一个权标,而禁止线上的时候,相应的转换才是允许的。

小圆圈、没有权标

10、用Z语言描述的、最简单的形式化规格说明含有、、和 4个部分。

给定的集合、状态定义、初始状态和操作

第五章习题

1、从工程管理的角度,可以将软件设计分为阶段和阶段。从技术的角度,传统的结构化方法将软件设计划分为、、和 4部分。面向对象方法则将软件设计划分为、、和 4部分。

概要设计、详细设计

体系结构设计、数据设计、接口设计和过程设计

体系结构设计、类设计/数据设计、接口设计和构件级设计

2、简述总体设计的必要性。

可以站在全局角度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结

构,从而用较低成本开发出较高质量的软件系统

3、是各种设计方案的基础。总体设计过程分为阶段和阶段,前者确定,后者则确定。

数据流图、系统设计、结构设计、系统具体实现方案、软件结构

4、典型的总体设计过程包括的步骤有哪些?

○1、设想供选择的方案

○2、选取合理的方案

○3、推荐最佳方案

○4、功能分解

○5、设计软件结构

○6、设计数据库

○7、指定测试计划

○8、书写文档

○9、审查和复审

5、在总体设计中要准备组成系统的物理元素清单。包括哪些内容?

程序、文件、数据库、人工过程和文档

6、在总体设计中书写文档步骤,通常的文档有哪些?

○1、系统说明

○2、用户手册

○3、测试计划

○4、详细的实现计划

○5、数据库设计结果

7、总体设计的设计原理有、、、和五个部分。随着软件工程过程向前进行,其抽象程度随之而。是抽象的最底层。

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

减少、源程序

8、简述系统设计采用模块化的优点和模块独立的重要性。

模块化的优点:

(1).采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。

(2).模块化使软件容易测试和调试,因而有助于提高软件的可靠性。

(3).模块化能够提高软件的可修改性。

(4).模块化也有助于软件开发工程的组织管理。

模块独立的优点:

○1、有效的模块化的软件比较容易开发出来

○2、独立的模块化标胶容易测试和维护

9、模块独立是、、和的直接结果。模块独立程度的两个定性标准度量是和。

模块化、抽象、信息隐藏和局部化

耦合和内聚

10、耦合是衡量彼此间互相依赖(连接)的紧密程度,内聚是衡量一个各个元素彼此结合的紧密程度。好的设计方案,应该是由高和低的模块构建的系统结构。

模块、模块内、内聚、耦合

11、按耦合程度由低到高,常见的耦合形式有哪些?分别对应的模块独立性变化是?其中公共环境耦合的类型主要包括和。两者有何区别?

常见的耦合形式有:

数据耦合->控制耦合->特征耦合->公共环境耦合->内容耦合

分别对应的模块独立性变化是:由强变弱

松散公共耦合、紧密公共耦合,

差异是:前者一个模块往公共环境送数据另一个模块从公共环境取数据和两个模块既往公共环境送数据又从里面取数据

12、耦合是影响软件程度的一个重要因素,应该采取下述设计原则:尽量使用耦合,少用耦合和耦合,限制耦合的范围,完全不用耦合。

复杂、数据、控制、特征、、环境、内容、

13、内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。实践表明内聚更重要,应该把更多注意力集中到提高模块的程度上。

内聚

14、模块内部聚合形式从内聚程度从低到高有哪些?

偶然内聚->逻辑内聚->时间内聚->过程内聚->通信内聚->顺序内聚->功能内聚

15、使用程序流程图确定模块的划分,这样得到的往往是内聚的模块。根据数据流图划分模块时,通常得到内聚的模块。

过程内聚、顺序内聚

16、在总体设计时提供了哪些启发规则?

○1、改进软件结构

○2、模块规模应该适中

○3、深度、宽度、扇入和扇出都应该适当

○4、模块的作用域应该在控制域之内

○5、力争降低模块接口的复杂程度

○6、设计单入口出口的模块

○7、模块功能应该可以预测

17、描述软件结构的一些度量指标有深度、宽度、扇入和扇出。其中和程序长度

之间应该有粗略的对应关系。越大系统越复杂。扇出过大意味着过分复杂,越大则共享该模块的上级模块数目越多。

深度、宽度、模块、扇入

18、名词解释:深度、宽度、扇入和扇出。

深度:软件结构中控制的层数

宽度:软件结构内同一个层次上的模块总数的最大值

扇入:有多少个上级模块直接调用它

扇出:一个模块直接控制的模块数目

19、常用语的描绘软件结构的图形工具有和。

层次图或HIPO图和结构图

20、简单描述层次图(P102)和层次方框图(P68)的区别。

21、结构图是描绘软件结构的图形工具,其基本符号有:代表一个模块,方框之间的表示模块的调用关系;尾部是表示传递的是数据;尾部圆箭头表示传递的是控制信息。其附加符号有和。

方框、直线、空心、、实心、棱形、环绕箭头

22、判断正误:

层次图和结构图并不指明何时调用下层模块?层次图和结构图只表明一个模块调用那些模块,没有表示模块内还有没有其他成分。

正确(P104)

23、面向数据流的设计方法中定义了一些映射,利用它可把变换成。

数据流图、软件结构图、

24、面向数据流的设计方法中信息流的决定了映射的方法。信息流有和

两种类型,分别对应的和分两种方法。

类型、变换流、事务流、变换分析和事务分析

25、变换分析是一系列设计步骤的总称,经过这些步骤把具有具有“变换中心”的按预先确定的模式映射成结构。明显可以分割为“导入”、“加工变换”和“导出”三部分。对应软件结构的“子系统”、“子系统”和“子系统”三部分。

数据流图、软件、输入、变换中心、输出

26、面向数据流的总体设计有七个步骤。它们分别是什么?

○1、复查基本系统模型

○2、复查并精华数据流图

○3、确定数据流图具有变化特性还是事务特性

○4、确定输入流和输出流的边界从而孤立出变换中心

○5、完成第一级分解

○6、完成第二级分解

○7、使用设计度量和启发式规则对第一次分隔得到的软件结构进一步精化

27、面向数据流的总体设计中,确定输入流和输出流的边界,从而孤立出。第一级分解是位于软件结构最顶层的控制模块Cm协调下面的哪些控制模块?第二级分解是从开始分别向输入开始和输出结束方向把每个映射成一个模块。

变换中心

Cm协调控制模块:输入信息处理控制模块Ca、变换中心控制模块Ct、输出信息处理控制模块Ce

变换中心的边界、处理

28、事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。由事务流映射成的软件结构包括一个分支和一个

分支。前者从中心的边界开始,把沿着接收流通路的处理映射成模块;而后者的结构包含一个模块,它控制下层的所有活动模块;然后把数据流图中的每个活动流通路映射成与它的流特征相对应的结构。(P112)

接收、发送、事务、调度

29、简述设计优化原则。

○1、在不考虑时间因素的前提下开发并精化软件结构

○2、在详细设计阶段选出最耗时间的哪些模块,仔细的涉及他们的处理过程,以求提高效率

○3、使用高级程序设计语言编写程序

○4、在软件中鼓孤立出哪些大占处理机资源的哪些模块

○5必要时重新设计或依赖于机器的语言重写那些大量占用资源的的模块的代码,以求提高效率

第六章习题

1、简述经典的结构程序设计、扩展的结构程序设计和修正的结构程序设计。(P119)

经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构;

扩展的结构程序设计:如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和

DO-UNTIL型循环结构;

修正的结构程序设计:再加上允许使用LEAVE(或BREAK)结构。

2、判断:结构程序的目的是不使用GOTO语句?错

3、人机界面设计主要的设计问题是、、、。(P120)

系统响应时间、用户帮助设施、出错信息处理、命令交互

4、人机界面设计中的“系统响应时间”的重要属性有、。

长度、易变性

5、为什么用户界面设计过程是一个迭代过程?

通常先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见进行修改6、详细设计阶段使用的设计工具有、、。通过它们可以对概要设计阶段的获得的模块结构图的每一个模块的进行详细的描述。

图形、表格、语言

算法

7、详细设计阶段中的过程设计主要采用面向的设计方法,它是在、、完成之后进行的,它的主要任务是设计解题的。(P140)

过程设计、数据设计、体系结构设计、接口设计、详细步骤(即算法)

8、过程设计工具中的图形工具主要有、、;表格工具有;语言工具有。在表示多重嵌套的条件选择时,一般选用、工具。

程序流程图、盒图(N-S图)、问题分析图(PAD图)

判定表、

PDL、

判定表、判定树

9、简述程序流程图、N-S图、PAD图各自的特点。

程序流程图:

主要优点是对控制流程的描绘很直观,便于初学者掌握。

主要缺点:

(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。

(2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。

(3)程序流程图不易表示数据结构

N-S图:

(1).功能域明确。

(2).不可能任意转移控制。

(3).很容易确定局部和全程数据的作用域。

(4).很容易表现嵌套关系,也可以表示模块的层次结构

PAD图:

(1).使用表示结构化控制结构的PAD符号设计出来的程序必然是结构化程序。

(2).P AD图所描绘的程序结构十分清晰。

(3).P AD图表现程序逻辑易读、易懂、易记。

(4).容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成。

(5).即可表示程序逻辑,也可描绘数据结构。

(6).P AD图的符号支持自顶向下、逐步求精方法的使用。

10、简述Jackson图和层次图的区别。

11、画出改进的Jackson图表示顺序、选择和重复的数据结构图。

顺序结构选择结构循环结构

12、简述Jackson方法进行模块算法设计过程(设计步骤)。

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

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

(3) 根据一定规则从描绘数据结构的Jackson图导出描绘程序结构的Jackson图

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

(5) 用伪码表示程序算法。

13、Jackson方法的核心是从数据结构图导出。进行算法设计最后主要采用工具进行描述的。

程序结构图、PDL

14、程序复杂程度的定量度量方法主要有、。

McCabe方法和Halstead方法

15、McCabe方法根据程序的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的。其中用突出表示程序中的控制流。

程序控制流、环形复杂度、流图

16、流图的主要构成有、、。其中点代表,边代表。

结点、箭头线、区域

一条或多条语句、控制流

17、流图是根据程序过程设计结果转化而来的。请画出下面程序结构对应的流图。

18、根据下面的程序流程图试画出相应的流图。

19、当过程设计中包含复合条件(包含了一个或多个OR,AND,NAND,NOR)时,应该把复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点。试画出下面复合条件对应

的流图。

20、环形复杂度定量度量程序的逻辑复杂度。如何从流图中计算环形复杂度V(G)?

(1)V(G)=流图中的区域数

(2)V(G)=E-N+2 其中E是流图中的边数,N是结点数

(3)V(G)=P+1 其中P是流图中判定结点的数目

21、环形复杂度的用途

(1).定量度量程序内分支数或循环个数,即程序结构的复杂程度;

(2).定量度量了测试难度;

(3).能对软件最终的可靠性给出某种预测。

22、Halstead方法根据程序中的和的总数来度量程序的复杂程度。

运算符操作数

第七章习题

1、软件的实现阶段主要包括和阶段。

编码测试

2、软件工程过程是一个从抽象走向具体的一个过程。编码是对设计的最终。而编码并不决定程序的质量,决定程序质量的主要因素是。但编码阶段所选用的程序设计语言和编码风格对程序的、、和有深远的影响。

实现(具体化)、设计的质量、可靠性、可读性、可测试性、可维护性

3、简述编码阶段选择语言的理想标准有哪些?首要的实用标准是。

(1).为了使程序容易测试和维护以减少软件的总成本,所选用的高级语言应该有理想的模块化机制,以及

可读性好的控制结构和数据结构;

(2).为了便于调试和提高软件可靠性,语言特点应该使编译程序能够尽可能多地发现程序中的错误;

(3).为了降低软件开发和维护的成本,选用的高级语言应该有良好的独立编译机制。

首要的实用标准是满足系统用户的要求。

4、一般来说,编码风格主要涉及、、、和几个方面。

程序内部的文档、数据说明、语句构造、输入输出、效率

5、简述G.Meyers关于测试的目标或定义。

(1).测试是为了发现程序中的错误而执行程序的过程;

(2).好的测试方案是能够发现迄今为止尚未发现的错误的测试方案;

(3).成功的测试是发现了至今为止尚未发现的错误的测试。

6、以下说法的正误:

(1)软件测试,是为了发现错误而执行程序的过程。(T)

(2)好的测试方案是能够发现迄今为止尚未发现的错误的测试方案。(T)

(3)成功的测试是发现了至今为止尚未发现的错误的测试(T)

(4)测试是为了表明程序是正确的(F)

(5)成功的测试是没有发现错误的测试(F)

(6)程序测试只能证明错误的存在,但不能证明错误不存在(T)

(7)程序员应避免检查自己的程序(T)

(8)在设计测试用例时,应包括合理的合理条件和不合理的输入条件(T)

(9)应长期保留测试用例,直至系统废弃(T)

7、简述软件测试的基本准则。

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

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

(3).把Pareto(柏拉图)原理应用到软件测试中

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

(5).穷举测试是不可能的

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

8、软件测试的方法主要有、。前者分为、。后者又可分为、。

静态测试、动态测试、静态分析器分析、代码评审、白盒测试方法、黑盒测试方法

9、黑盒测试又称为测试,它完全不考虑程序的和,是在处进行的测试。白盒测试又称为测试,它按照程序的测试程序,检测程序中的主要

是否都能按预定要求正确工作。

功能测试、内部结构、处理过程、程序接口

结构测试、内部逻辑、执行通路

10、测试的基本步骤有、、、和。

模块测试(单元测试)、子系统测试、系统测试、验收测试(确认测试)、平行运行(并行运行)

11、测试阶段的输入信息应包括、。它们又分别包含哪些内容?测试方案由哪些组成?测试用例由和组成。

软件配置:需求说明书、设计说明书和源程序清单等

测试配置:包括测试计划和测试方案

测试方案:输入数据、功能说明、输出数据

测试用例:输入数据、输出数据

12、单元测试横跨软件生命周期的、两个阶段。可以应用测试和测试这样两种不同类型的测试方法。其中主要采用技术,主要检测模块的、、、和五个方面。

编码、测试、人工测试、计算机测试、白盒测试

模块接口、局部数据结构、重要的执行通路、出错处理通路、边界条件

13、单元测试中在进行计算机测试时,应为每个模块单元测试开发和(或) 才能进行。

驱动软件(驱动模块)存根软件(桩模块)

14、集成测试是一种和同时进行的系统化技术。主要目标是发现与有关的问题。根据组装的方式方法分另有、两种方法。这两种各有什么特点?

测试和组装软件、接口、非渐增式测试方法、渐增式测试方法

非渐增式测试:

(1)一下子把所有模块放在一起,并把庞大的程序作为一个整体来测试,测试者面对的情况十分复杂。

(2)在庞大的程序中想要诊断定位一个错误是非常困难的,改正错误更是极端困难,而且一旦改正一个错误之后,马上又会遇到新的错误。

渐增式测试:

(1)实际上同时完成单元测试和集成测试;

(2)把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误;

(3)对接口可以进行更彻底的测试;

(4)可以使用系统化的测试方法(输入-处理-输出)

15、渐增式测试方法有两种集成策略,分别是、。简述一下两种方式的特点(优缺点)。

自顶向下、自底向上

软件工程试题及答案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. 为了提高测试的效率,应该。 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、数据流和文件均不要命名,通过加工可自然反映出 11. 分析员是。 A、用户中系统的直接使用者 B、用户和软件人员的中间人 C、软件的编程人员 D、用户和软件人员的领导 12. 在软件开发中,有利于发挥集体智慧的一种做法是。

软件工程课后习题集(含答案解析)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规、项目规。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 ?软件也会磨损和老化。(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)

软件工程试题及答案

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. 为了提高测试的效率,应该。 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、数据流和文件均不要命名,通过加工可自然反映出

软件工程课后习题参考答案

1.简述软件开发的本质。 答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。P19 2.简述实施软件开发的基本途径。 答:实施软件开发的基本途径是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。P19 3.简述何谓模型以及软件开发中所涉及的模型。 答:模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。 软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。 4.简述软件开发所涉及的两大类技术。 答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。 5、简述需求与需求规约的基本性质。 答:需求的基本性质:1) 必要的,该需求是用户所要求的。2)无歧义的,该需求只能用一种方式解释。3)可测的,该需求是可进行测试的。4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。5)可测量的,该需求是可测量的。 需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。 3)完整的:没有被遗漏的需求。4)一致的:不存在互斥的需求。 6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可 7、举例说明功能需求和非功能需求之间的基本关系。 答: 非功能需求可作用于一个或多个功能需求,例如 非功能需求可作用于一个或多个功能需求 其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。P24 8、有哪几种常用的初始需求发现技术 答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。P26 9、简述需求规约的3种基本形式。 (1) 非形式化的需求规约。非形式化的需求规约即以一种自然语言来表达需求规约,如同使用一种自然语言写了一篇文章。(2) 半形式化的需求规约。半形式化的需求规约即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约。(3)形式化的需求规约。形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。 P29 10、简述软件需求规约的内容和作用。 答:软件需求规约的内容有:引言、总体描述、特定需求、附录、索引。P28 需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求规约是一个管理控制点。3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。4)需求规约是创建产品验收测试计划和用户指南的基础。P31 11、简述需求规约在项目开发中的基本作用。 答:需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求

《软件工程》试题及参考答案(第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.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 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.需求分析说明书不能作为______。

软件工程试题及答案(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 )。

软件工程题库及答案

一、选择题 软件(2) 1.在软件开发的各种资源中,( D )是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 2.软件的复杂性是(A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D )。 A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.软件是一种(B )产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了 ( A ) A.软件危机B.软件工程C.程序设计革命D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式( C ) (A)成本高(B)生产率低 (C) 技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。 A 开发 B 使用C维护D更新 软件工程(2) 10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生 的基础。 (A) 运筹学(B) 工程学(C) 软件学(D) 数学 11.2.在软件工程时期,决定软件质量的主要因素是( A )

A.管理水平 B.个人程序技术C.小组技术水平 D.硬件的发展 12. 3. 软件管理工作涉及到的直接对象不包括( B )。 A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目 13. 4. 软件工程方法学有三个要素,它们是(A ) A.方法、工具和过程 B.质量、进度和成本 C.顺序、分支和循环 D.入口、过程、出口生命周期及模型(5) 14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维 护等几个阶段。 A.需求分析 B.需求调查 C.可行性分析 D.问题定义 15. 2.瀑布模型把软件生存周期划分为软件计划、软件开发与(C )三个阶段,而每一阶 段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行与维护 D. 测试与排错 16.3:下列哪个模型没有采用迭代的思想(A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 17.4:下列关于瀑布模型的描述正确的是( D )。 A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 18.5:瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 19. 6. 快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 20.7:瀑布模型的关键不足在于( B ) (A)过于简单(B)不能适应需求的动态变更 (C)过于灵活(D)各个阶段需要进行评审 21.8:瀑布模型存在的问题是( D )。 A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 问题定义(1)

-软件工程习题答案参考

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

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(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.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(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.下列有关软件工程的标准,属于国际标准的是(C ) A.GB B.ANSI C.ISO D.IEEE 7.结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10.可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 11.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 (C)。 A、1% B、20% C、8% D、50% 12.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》 B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》 D.《计算机病毒防治管理办法》 13.效率是一个性能要求,因此应当在以下哪个阶段规定?B A、可行性分析 B、需求分析 C、概要设计 D、详细设计 14.需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 15.数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 16.数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 17.DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流 B、一个输入流和一个输出流 C、一个输入流 D、一个输出流 18.需求分析阶段的关键任务是确定(D) A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能 19.在SD方法中全面指导模块划分的最重要的原则是(D)。 A、程序模块化 B、模块高内聚 C、模块低耦合 D、模块独立性

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若 干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早

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

一、填空题(每空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.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。 (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 4.构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 5.什么是软件生存周期? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。 6.软件生存周期为什么划分成阶段? (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

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