软件工程复习题_第1页
软件工程复习题_第2页
软件工程复习题_第3页
软件工程复习题_第4页
软件工程复习题_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、该习题答案由学生完成,仅供参考。象声词同学们能独立完成习题!软件工程习题第一章习题1、计算机软件系统4个不同的发展阶段是:程序设计、程序系统、软件工程、面向对象阶段 。2、软件危机发生在那个阶段?主要指哪两方面的问题?程序系统阶段 原因:1、如何开发软件,以满足对软件日益增长的需求。2、如何维护数量不断膨胀的已有软件。3、软件危机有几方面的典型表现?、对软件开发成本和进度的估计常常很不准确、用户对“已完成的”的软件系统不满意的现象经常发生、软件产品的质量往往靠不住、软件常常是不可维护的、软件通常没有适当的文档资料、软件成本在计算机系统总成本中所占的比例逐年上升、软件开发效率提高的速度,远远跟不

2、上计算机应用迅速普及及深入的趋势4、软件危机产生的原因是与软件本身的特点有关 、软件开发与维护的方法不准确有关5、软件是程序、数据 、相关文档的完整集合。 6、如何解决软件危机?、一个软件必须是由一个完整的配置组成,事实上,软件是程序,数据及相关文档的完整集合、要充分认识到软件开发应该是一种组织良好、管理严密、各类人员协同合作、共同完成的工程项目、推广使用在实践中总结出来的开发软件的成功的技术和方法、应该开发和使用良好的开发软件工具、总之,为了解决软件危机,既要有必要的技术措施又要有必要的组织管理措施7、软件工程的定义?(以教材定义为准)采用工程的概念、原理、技术和方法来开发和维护软件,把经过

3、时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护他,这就是软件工程。8、软件工程的本质特征有 、 、 、 、 、 和 。关注大型程序的构造、中心课题是控制复杂性、软件经常变化、开发软件的效率非常重要、和谐地合作是开发软件的关键、软件必须有效地支持它的用户和由具有一种文化背景的人替另一种文化背景的人创造产品 9、软件工程的基本原理有 、 、 、 、 、 和 。用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚地审查 、开发小组的人员应该少而精和承认不断改进软件工程实践的必要性。10、软

4、件工程学的三个基本要素是方法 、工具 、过程11、软件工程学分为传统方法学和面向对象的方法学两大类。前者强调自顶向下顺序的完成软件开发的各阶段任务,而后者强调多次反复迭代的演化过程12、软件工程学中的面向对象的方法学有四个基本要点。它们是 对象 、 类 、 系统 、 消息。把对象作为融合了数据及数据上的操作行为的统一软件构件 、把所有对象都划分成类、按照父类与子类的关系把若关干个相关类组成一个层次结构的系统、对象彼此间仅能发送消息互相联系。13、什么是软件生命周期?软件从生产到软件报废的过程14、软件生命周期划分为几个时期几个阶段?各阶段主要任务是什么?软件定义、软件开发、软件为维护3个时期组

5、成。软件定义:问题定义,可行性研究,需求分析;软件开发阶段:总体设计,详细设计、编码和单元测试,综合测试;软件维护:使软件持久地满足用户的需求15、软件生命周期中的软件维护分为几大类?哪类维护所占比重最大?改正性维护,适应性维护,完善性维护,预防性维护 完善性维护占比重最大16、什么是软件过程?其任务集合主包括哪些内容?软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。包括一组软件工程任务、里程碑和应该交付的产品。17、瀑布模型、快速原型模型、增量模型、螺旋模型和喷泉模型格有什么特点和优缺点?1、瀑布模型:特点:、阶段间具有顺序性和依赖性、推迟实现的观点

6、、质量保证的观点优点:可强迫开发人员采用规范的方法;严格的规定了每个阶段必须提交文档;要求每个阶段的交出的所有产品必须经过质量保证小组的仔细验证缺点:瀑布模型是由文档驱动的是瀑布模型的主要缺点2、快速还原模型:特点:快速还原模型是快速建立起来的可直接在计算机上运行的程序,他所能完成的功能是最终产品的一个子集优点:软件产品的开发基本上是线性顺序进行的缺点:一旦需求确定了需求,原来的需求将被抛弃3、增量模型:优点:逐步增加产品功能可以使用户有比较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲突缺点:、把每个新的增量构件集成到现有的软件体系结构中时,必须不破坏原来已经开发出

7、来的产品。、必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单,方便,也就是说,软件体系结构必须是开放的、从某种意义上来说,增量模型是自相矛盾的 4、螺旋模型优点 :、对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个项目指标;、减少过多测试或测试不足所带来的风险、在螺旋模型中维护只是模型的另一个周期,在维护和开发之间的并没有什么区别5、喷泉模型喷泉模型体现了面向对象软件开发过程迭代和无缝的特性18、为什么说喷泉模型较好地体现了面向对象软件开发过程中的无缝和迭代特征?喷泉模型图中的代表不同阶段的圆圈相互重叠,这明确表示两个活

8、动之间的交叠;而面向对象方法在这种概念和表示方法上的一致性,保证了各项开发活动之间的无缝过度。第二章习题1、可行性研究的目的是什么?可行性研究的内容是什么?确定问题是否值得去解决技术、经济、操作、法律等的可行性2、可行性研究中对问题的解法可行性包括主要和次要方面。两者分别包含技术可行性、经济可行性、操作可行性和法律可行性 、社会效益可行性几个方面。3、可行性研究过程主要有 、 、 、 、 、 、 和 几个步骤。复查系统规模和目标 、研究目前正在使用的系统、导出新系统的高层逻辑模型、进一步定义问题、 导出和评价供选择的解法、推荐行动方针、草拟开发计划和书写文档提交审查几个步骤。4、可行性研究过程

9、中的第三步“导出新系统的高层次逻辑模型”涉及到现有的物理系统、现有的逻辑模型、目标系统的逻辑模型、新的物理系统模型几种模型。5、可行性研究过程中的第五步中如何排定问题解法三种可行性的顺序?技术可行性操作可行性经济可行性6、系统流程图是描绘 物理系统 的传统工具。它用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。表达的是数据在系统各部件之间流动情况,而不是对数据进行加工处理的控制过程。7、系统流程图与程序流程图的异同?系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的过程;而程序流程图是指程序指令控制流的流动(即算法描述)8、系统流程图包含基

10、本符号、系统符号两大类图形符号。其名称和符号分别是什么?9、在面对复杂的系统中,比较好的方法是采用什么策略来描述?分层次地描绘这个系统10、数据流图是一种 技术,它描绘 和 从输入移动到输出的过程中所经受的 。在数据流图中没有任何具体的 ,它只是描绘数据在软件中流动和被处理的 。图形化、信息流、数据、变换、物理部件、逻辑过程11、数据流图的4种基本符号为正方形、圆角矩形、开口矩形、箭头附加符号有星号、加号、(带圈加号)。分别代表什么含义?正方形表示数据的源点或终点;圆角矩形代表变换数据的处理;开口矩形代表数据存储;箭头代表数据流;星号表示数据流之间是“与”关系;加号表示“或”关系;号表示只能从

11、中选一个。12、画数据流图的步骤为(1)从问题描述中提取数据流图的4种成分(1)从问题描述中提取数据流图的4种成分(2)画功能级数据流图(3) 对功能级数据流图中描绘的系统主要功能进一步细化(功能级分解)(4) 对处理进行编号 。13、为数据流或数据存储命名要注意哪些?为处理命名要注意哪些内容?为数据流命名:1、名字应代表整个数据流的内容,而不是仅仅反映它的某些成分;2、不要使用空洞的、缺乏具体含义的名字;3、如果在为某个数据流起名时遇到困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。为处理命名:1、通常先为数据流命名,然后再为与之相关的处理命名;2、名

12、字应该反映整个处理的功能,而不是他的一部分功能;3、名字最好有一个工具的及物动词加上一个具体的宾语组成;4、通常名字中仅包含一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当;5、如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的现象,应考虑重新分解。14、数据流图的作用有(1)作为交流信息的工具 (2) 作为分析和设计的工具。15、数据流图和数据字典共同构成了系统的逻辑模型。16、数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素定义的集合。涉及到的元素有数据流、数据流分量 、数据存储、处理四类。17、数据字典中定义数据的方法有为对

13、数据自顶向下的分解18、数据字典中数据元素组成数据方式有顺序、选择、重复和 可选使用的图形符号有哪些?分别代表什么含义?= 等价于 、 + 和 、 或 、 重复 、()可选19、简要叙述数据字典的用途是什么?作为分析阶段的工具20、成本估计技术有代码行技术、任务分解技术和 自动估计成本技术第三章习题1、需求分析是确定系统必须做什么。其最终成果是需求分析规则说明书。2、需求分析的任务有确定对系统的综合要求 、分析系统的数据要求、导出系统的逻辑模型和修正系统的开发计划3、需求分析任务中的综合要求包含哪些内容?数据要求包含哪些内容?综合要求:1、功能要求 2、性能要求 3、可靠性和可用性要求 4、出

14、错处理要求5、接口要求 6、约束 7、逆向要求 8、将来可能提出的要求数据要求:1、建立数据模型:数据流图、E-R图2、数据规范化描述4、需求分析过程中与用户沟通获取需求的方法有访谈、面向数据流自顶向下求精、简易的应用规格说明技术和快速建立软件原型。5、需求分析过程中“面向数据流自顶向下求精”是采用结构化分析方法进行需求分析;“简易的应用规格说明技术”就是一种面向团队需求收集法。“快速建立软件原型”是最准确、最有效、最强大的需求分析技术。6、“快速建立软件原型” 需求分析技术主要使用了第四代技术、可重用的软件结构和形式化规格说明和原型环境 方法和工具。7、需求分析过程中的“分析建模”应该建立

15、、 和 3种模型。所谓模型由一组 和组织这些符号的 组成。数据模型、功能模型和行为模型图形符号、规则8、DFD、ER图和状态转换图分别对应 、 和 模型。功能模型、数据模型和行为模型9、 是分析模型的核心,它描述软件使用或产生的所有数据对象。数据字典10、数据模型(ER图)中主要涉及到的信息有 、 和 。数据对象、 属性和联系11、数据对象的联系可分为 、 和 3种类型。一对一联系、一对多联系和 多对多联系12、ER图有三种基本成分:实体,用 图形符号表示;关系,用连接相关实体的 表示;属性,用 表示,并用 把实体(或关系)与其属性连接起来。矩形、菱形框、椭圆形或圆角矩形、直线13、简述ER图

16、的优点。ER模型比较接近人的习惯思维方式。此外,ER模型使用简单的图形符号表示系统分析员对问题域的理解,不熟悉计算机的用户也能理解他,因此ER模型可以作为用户个分析员之间的交流工具。14、数据规范化主要目的是 。其中第一范式:每个 都必须是原子值,即仅仅是一个简单值而不含内部结构,即列的惟一。第二范式:满足第一范式条件,而且每个 属性都由整个关键字决定(而不是由关键字的一部分来决定),即不能有 的重复。第三范式:符合第二范式的条件,每个非关键字属性都仅由 决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述。较少数据冗余属性值、非关键字、行、关键字15、状态转换图是通过描绘系统

17、的 及引起系统状态转换的 ,来表示系统的 。状态、事件、行为16、状态转换图中的状态主要有 、 和 ,分别用用什么图形符号表示?初态、终态、中间态初态用实心圆表示,终态用一对同心圆表示,中间态用圆角矩形表示。17、状态转换图中的状态转换用什么图形符号表示?其 表明了状态转换的方向。一般要在上面标明触发转换的 。如果未有标明,则表示了 。带箭头的连线、箭头方向、触发转换事件表达式、在源状态的内部活动执行完之后自动触发转换18、状态转换图中的中间状态由 、 和 组成。底层为“活动表”,其语法格式为 。状态、状态变量和 活动表事件名(参数表)/动作表达式19、层次方框图是用来建立 模型的。它用 的一

18、系列多层次的 框描绘数据的层次结构。顶层是一个单独的矩形框,它代表完整的 ;下面的各层矩形框代表这个数据的 ;最底层的各个框代表组成这个数据的实际 (不能再分割的元素)。数据、树形结构、子集、数据元素20. 比较层次方框图与结构图是的差异。不同点:、层次图描绘软件的层次结构,层次方框图描绘的是数据结构、层次图的方框表示模块或子模块。层次方框图的方框表示数据结构整体或其子集、层次图的连线表示调用关系,层次方框图表示组成关系21、Warnier图和层次方框图类似,Warnier图也用树形结构描绘信息, Warnier图可以表明 的逻辑组织,也可以表示特定信息在某一类信息中是有 地出现的。信息、条件

19、22、IPO图是输入、处理、输出图的简称。能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。是显然是建立 模型的工具之一(与DFD类似)。功能模型23、从 、 、 和 方面验证软件需求的正确性。验证软件需求的方法 有 、 和 。一致性 、完整性、现实性和有效性验证需求的一致性、验证需求的现实性和验证需求的完整性和有效性 第四章习题1、软件工程中对需求分析进行说明的技术分为 、 和 三类。分别用 、 和 进行描述。非形式化、半形式化、形式化自然语言、数据流图或者是E-R图和基于数学的技术2、非形式化方法的缺点及形式化方法的优点分别是什么?非形式化的缺点:可能产生矛盾、二义性、含糊性、不完

20、整性、抽象层次混乱形式化方法的优点:、数学最有用的一个性质是:他能够简洁的准确的描述物理现象、对象或动作的结果,因此是理想的建模工具、可以在不同的软件工程活动之间平滑的过度、它提供了高层确认的手段3、判断:使用了形式化的说明技术后就能保证说明的完整性了?错4、应用形式化方法的准则有哪些?、应当选用适当的表示方法、应该形式化,但不要过分形式化、应该估算成本、应该有形式化方法顾问随时提供咨询、不应该放弃传统的开发方法、应该建立详细的文档、不应该放弃质量标准、不应该盲目依赖形式方法、应该测试、测试再测试、应该重用5、有穷状态机包括 、 、 、 和 5个部分。态机J、输入集K、转换函数T、初始状态S和

21、终态集F 6、目前使用的状态转换规则形式为: + + = 。当前状态菜单 +事件所选择的项 + 谓词=下个状态 7、Petri网包括 、 、 和 4个元素。其中位置用 代表,转换用 表示。输入函数用由 指向 的箭头表示,输出函数用由 指向 的箭头表示。它解决了状态转换中的 时间 问题。位置P 、转换T 、输入函数I和输出函数O圆圈、直线、位置、转换、转换、位置8、带标记的Petri网中,主要是位置中设置了 。状态转换规则是:当每个 所拥有的权标数 从该位置到转换的线数时,就允许转换。权标、输入位置、大于9、加入禁止线的Petri网中,用一个 而不是用箭头标记的输入线表示禁止线。状态转换规则是:

22、当每个输入线上至少有一个权标,而禁止线上 的时候,相应的转换才是允许的。小圆圈、没有权标10、用Z语言描述的、最简单的形式化规格说明含有 、 、 和 4个部分。给定的集合、状态定义、初始状态和操作第五章习题1、从工程管理的角度,可以将软件设计分为 阶段和 阶段。从技术的角度,传统的结构化方法将软件设计划分为 、 、 和 4部分。面向对象方法则将软件设计划分为 、 、 和 4部分。概要设计、详细设计体系结构设计、数据设计、接口设计和过程设计体系结构设计、类设计/数据设计 、接口设计 和 构件级设计2、简述总体设计的必要性。可以站在全局角度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现

23、方案和软件结构,从而用较低成本开发出较高质量的软件系统3、 是各种设计方案的基础。总体设计过程分为 阶段和 阶段,前者确定 ,后者则确定 。数据流图、系统设计、结构设计、系统具体实现方案、软件结构4、典型的总体设计过程包括的步骤有哪些?、设想供选择的方案、选取合理的方案、推荐最佳方案、功能分解、设计软件结构 、设计数据库、指定测试计划、书写文档、审查和复审5、在总体设计中要准备组成系统的物理元素清单。包括哪些内容?程序、文件、数据库、人工过程和文档6、在总体设计中书写文档步骤,通常的文档有哪些?、系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果7、总体设计的设计原理有 、 、 、

24、和 五个部分。随着软件工程过程向前进行,其抽象程度随之而 。 是抽象的最底层。模块化 、 抽象 、 逐步求精 、 信息隐藏和局部化和 模块独立减少 、 源程序8、简述系统设计采用模块化的优点和模块独立的重要性。模块化的优点:(1). 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。(2). 模块化使软件容易测试和调试,因而有助于提高软件的可靠性。(3). 模块化能够提高软件的可修改性。(4). 模块化也有助于软件开发工程的组织管理。模块独立的优点:、有效的模块化的软件比较容易开发出来、独立的模块化标胶容易测试和维护9、模块独立是 、 、 和 的直接结果。模块独立程度的两个定性标

25、准度量是 和 。模块化 、抽象、信息隐藏 和 局部化耦合 和 内聚10、耦合是衡量 彼此间互相依赖(连接)的紧密程度,内聚是衡量一个 各个元素彼此结合的紧密程度。好的设计方案,应该是由高 和低 的模块构建的系统结构。模块、模块内、内聚、耦合11、按耦合程度由低到高,常见的耦合形式有哪些?分别对应的模块独立性变化是?其中公共环境耦合的类型主要包括 和 。两者有何区别?常见的耦合形式有: 数据耦合-控制耦合-特征耦合-公共环境耦合-内容耦合分别对应的模块独立性变化是:由强变弱松散公共耦合、紧密公共耦合,差异是:前者一个模块往公共环境送数据 另一个模块从公共环境取数据 和 两个模块既往公共环境送数据

26、又从里面取数据12、耦合是影响软件 程度的一个重要因素,应该采取下述设计原则:尽量使用 耦合,少用 耦合和 耦合,限制 耦合的范围,完全不用 耦合。复杂、数据、控制、特征、 环境、内容 、13、内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。实践表明内聚更重要,应该把更多注意力集中到提高模块的 程度上。内聚14、模块内部聚合形式从内聚程度从低到高有哪些?偶然内聚-逻辑内聚-时间内聚-过程内聚-通信内聚-顺序内聚-功能内聚15、使用程序流程图确定模块的划分,这样得到的往往是 内聚的模块。根据数据流图划分模块时,通常得到 内聚的模块。过程内聚、顺序内聚16、在总体设计时提供了哪些启

27、发规则?、改进软件结构、模块规模应该适中、深度、宽度、扇入和扇出都应该适当、模块的作用域应该在控制域之内、力争降低模块接口的复杂程度、设计单入口出口的模块、模块功能应该可以预测17、描述软件结构的一些度量指标有 深度 、 宽度 、扇入 和扇出 。其中 和程序长度之间应该有粗略的对应关系。 越大系统越复杂。扇出过大意味着 过分复杂, 越大则共享该模块的上级模块数目越多。深度、宽度、模块、扇入18、名词解释:深度、宽度、扇入和扇出。深度:软件结构中控制的层数宽度:软件结构内同一个层次上的模块总数的最大值扇入:有多少个上级模块直接调用它 扇出:一个模块直接控制的模块数目19、常用语的描绘软件结构的图

28、形工具有 和 。层次图或 HIPO图 和 结构图20、简单描述层次图(P102)和层次方框图(P68)的区别。层次图 层次方框图 作用 描绘软件结构 描绘数据结构 矩形框 模块 数据元素 连线 调用关系 组成关系 21、结构图是描绘软件结构的图形工具,其基本符号有: 代表一个模块,方框之间的 表示模块的调用关系;尾部是 表示传递的是数据;尾部 圆箭头表示传递的是控制信息。其附加符号有 和 。方框、直线、空心、实心、棱形、环绕箭头22、判断正误:层次图和结构图并不指明何时调用下层模块?层次图和结构图只表明一个模块调用那些模块,没有表示模块内还有没有其他成分。正确(P104)23、面向数据流的设计

29、方法中定义了一些映射,利用它可把 变换成 。数据流图、软件结构图、24、面向数据流的设计方法中信息流的 决定了映射的方法。信息流有 和 两种类型,分别对应的 和 分两种方法。类型、变换流、事务流、变换分析 和 事务分析25、变换分析是一系列设计步骤的总称,经过这些步骤把具有具有“变换中心”的 按预先确定的模式映射成 结构。明显可以分割为“导入” 、“加工变换”和“导出” 三部分。对应软件结构的“ 子系统”、“ 子系统”和“ 子系统”三部分。数据流图、软件、输入、变换中心、输出26、面向数据流的总体设计有七个步骤。它们分别是什么?、复查基本系统模型、复查并精华数据流图、确定数据流图具有变化特性还

30、是事务特性、确定输入流和输出流的边界从而孤立出变换中心、完成第一级分解、完成第二级分解、使用设计度量和启发式规则对第一次分隔得到的软件结构进一步精化27、面向数据流的总体设计中,确定输入流和输出流的边界,从而孤立出 。第一级分解是位于软件结构最顶层的控制模块Cm协调下面的哪些控制模块?第二级分解是从 开始分别向输入开始和输出结束方向把每个 映射成一个模块。变换中心Cm协调控制模块:输入信息处理控制模块Ca、变换中心控制模块Ct、输出信息处理控制模块Ce变换中心的边界、处理28、事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。由事务流映射

31、成的软件结构包括一个 分支和一个 分支。前者从 中心的边界开始,把沿着接收流通路的处理映射成模块;而后者的结构包含一个 模块,它控制下层的所有活动模块;然后把数据流图中的每个活动流通路映射成与它的流特征相对应的结构。(P112)接收、发送、事务、调度29、简述设计优化原则。、在不考虑时间因素的前提下开发并精化软件结构、在详细设计阶段选出最耗时间的哪些模块,仔细的涉及他们的处理过程,以求提高效率、使用高级程序设计语言编写程序、在软件中鼓孤立出哪些大占处理机资源的哪些模块必要时重新设计或依赖于机器的语言重写那些大量占用资源的的模块的代码,以求提高效率第六章习题1、简述经典的结构程序设计、扩展的结构

32、程序设计和修正的结构程序设计。(P119)经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循环这3种基本控制结构;扩展的结构程序设计:如果除了上述3种基本控制结构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构;修正的结构程序设计:再加上允许使用LEAVE(或BREAK)结构。 2、判断:结构程序的目的是不使用GOTO语句?错3、人机界面设计主要的设计问题是 、 、 、 。(P120)系统响应时间、用户帮助设施、出错信息处理、命令交互 4、人机界面设计中的“系统响应时间”的重要属性有 、 。长度、易变性5、为什么用户界面设计过程是一个

33、迭代过程?通常先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见进行修改6、详细设计阶段使用的设计工具有 、 、 。通过它们可以对概要设计阶段的获得的模块结构图的每一个模块的 进行详细的描述。图形、表格、语言算法7、详细设计阶段中的过程设计主要采用面向 的设计方法,它是在 、 、 完成之后进行的,它的主要任务是设计解题的 。(P140)过程设计、数据设计、体系结构设计、接口设计、详细步骤(即算法)8、过程设计工具中的图形工具主要有 、 、 ;表格工具有 ;语言工具有 。在表示多重嵌套的条件选择时,一般选用 、 工具。程序流程图、盒图(N-S图)、问题分析图(PAD图

34、)判定表、PDL、判定表、判定树9、简述程序流程图、N-S图、PAD图各自的特点。程序流程图:主要优点是对控制流程的描绘很直观,便于初学者掌握。主要缺点:(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。(2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。(3)程序流程图不易表示数据结构N-S图:(1). 功能域明确。(2). 不可能任意转移控制。(3). 很容易确定局部和全程数据的作用域。(4). 很容易表现嵌套关系,也可以表示模块的层次结构PAD图:(1). 使用表示结构化控制结

35、构的PAD符号设计出来的程序必然是结构化程序。(2). PAD图所描绘的程序结构十分清晰。(3). PAD图表现程序逻辑易读、易懂、易记。(4). 容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成。(5). 即可表示程序逻辑,也可描绘数据结构。(6). PAD图的符号支持自顶向下、逐步求精方法的使用。10、简述Jackson图和层次图的区别。Jackson图 层次图 作用 描绘数据结构 描绘程序结构 描绘软件结构 矩形框 数据元素 几个语句 模块 连线 组成关系 调用关系 11、画出改进的Jackson图表示顺序、选择和重复的数据结构图。 顺序结构 选择结构 循环结构 12、简

36、述Jackson方法进行模块算法设计过程(设计步骤)。(1) 分析并确定输入数据和输出数据的逻辑结构,用Jackson图描绘数据结构(2) 找出输入数据结构和输出数据结构中有对应关系的数据单元(3) 根据一定规则从描绘数据结构的Jackson图导出描绘程序结构的Jackson图(4)列出所有操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构图的适当位置。(5) 用伪码表示程序算法。13、Jackson方法的核心是从数据结构图导出 。进行算法设计最后主要采用 工具进行描述的。程序结构图、PDL14、程序复杂程度的定量度量方法主要有 、 。McCabe方法和Halstead方法 1

37、5、McCabe方法根据程序 的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的 。其中用 突出表示程序中的控制流。程序控制流、环形复杂度、流图16、流图的主要构成有 、 、 。其中点代表 ,边代表 。结点、箭头线、区域 一条或多条语句、控制流17、流图是根据程序过程设计结果转化而来的。请画出下面程序结构对应的流图。 18、根据下面的程序流程图试画出相应的流图。 19、当过程设计中包含复合条件(包含了一个或多个OR,AND,NAND,NOR)时,应该把复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点。试画出下面复合条件对应的流图。 20、环形复杂度定量度量程序的逻辑复杂度

38、。如何从流图中计算环形复杂度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、软件工程过程是一个从抽象走向具体的一个过程。编码是对设计的最终 。而编码并不决定程序的质量,决定程序质量的主

39、要因素是 。但编码阶段所选用的程序设计语言和编码风格对程序的 、 、 和 有深远的影响。实现(具体化)、设计的质量、可靠性、可读性、可测试性、可维护性3、简述编码阶段选择语言的理想标准有哪些?首要的实用标准是 。(1). 为了使程序容易测试和维护以减少软件的总成本,所选用的高级语言应该有理想的模块化机制,以及可读性好的控制结构和数据结构;(2). 为了便于调试和提高软件可靠性,语言特点应该使编译程序能够尽可能多地发现程序中的错误;(3). 为了降低软件开发和维护的成本,选用的高级语言应该有良好的独立编译机制。 首要的实用标准是满足系统用户的要求。4、一般来说,编码风格主要涉及 、 、 、 和

40、几个方面。程序内部的文档、数据说明、语句构造、输入输出、效率5、简述G.Meyers关于测试的目标或定义。(1). 测试是为了发现程序中的错误而执行程序的过程;(2). 好的测试方案是能够发现迄今为止尚未发现的错误的测试方案;(3). 成功的测试是发现了至今为止尚未发现的错误的测试。 6、以下说法的正误:(1)软件测试,是为了发现错误而执行程序的过程。(T)(2)好的测试方案是能够发现迄今为止尚未发现的错误的测试方案。(T)(3)成功的测试是发现了至今为止尚未发现的错误的测试(T)(4)测试是为了表明程序是正确的(F)(5)成功的测试是没有发现错误的测试(F)(6)程序测试只能证明错误的存在,

41、但不能证明错误不存在(T)(7)程序员应避免检查自己的程序(T)(8)在设计测试用例时,应包括合理的合理条件和不合理的输入条件(T)(9)应长期保留测试用例,直至系统废弃(T)7、简述软件测试的基本准则。(1). 所有测试都应该能追溯到用户需求(2). 应该远在测试开始之前就制定出测试计划(3). 把Pareto(柏拉图)原理应用到软件测试中(4). 应该从“小规模”测试开始,并逐步进行“大规模”测试(5). 穷举测试是不可能的(6). 为了达到最佳的测试效果,应该由独立的第三方从事测试工作8、软件测试的方法主要有 、 。前者分为 、 。后者又可分为 、 。静态测试、动态测试、静态分析器分析、

42、代码评审 、白盒测试方法 、黑盒测试方法 9、黑盒测试又称为 测试,它完全不考虑程序的 和 ,是在 处进行的测试。白盒测试又称为 测试,它按照程序的 测试程序,检测程序中的主要 是否都能按预定要求正确工作。功能测试、内部结构、处理过程、程序接口结构测试、内部逻辑、执行通路10、测试的基本步骤有 、 、 、 和 。模块测试(单元测试)、子系统测试、系统测试、验收测试(确认测试)、平行运行(并行运行) 11、测试阶段的输入信息应包括 、 。它们又分别包含哪些内容?测试方案由哪些组成?测试用例由 和 组成。软件配置:需求说明书、设计说明书和源程序清单等测试配置:包括测试计划和测试方案测试方案:输入数

43、据、功能说明、输出数据测试用例:输入数据、输出数据12、单元测试横跨软件生命周期的 、 两个阶段。可以应用 测试和 测试这样两种不同类型的测试方法。其中主要采用 技术,主要检测模块的 、 、 、 和 五个方面。编码、测试、人工测试、计算机测试、白盒测试模块接口、局部数据结构、重要的执行通路 、出错处理通路、边界条件13、单元测试中在进行计算机测试时,应为每个模块单元测试开发 和(或) 才能进行。驱动软件(驱动模块) 存根软件(桩模块)14、集成测试是一种 和 同时进行的系统化技术。主要目标是发现与 有关的问题。根据组装的方式方法分另有 、 两种方法。这两种各有什么特点?测试和组装软件、接口、非

44、渐增式测试方法、渐增式测试方法 非渐增式测试:(1)一下子把所有模块放在一起,并把庞大的程序作为一个整体来测试,测试者面对的情况十分复杂。(2)在庞大的程序中想要诊断定位一个错误是非常困难的,改正错误更是极端困难,而且一旦改正一个错误之后,马上又会遇到新的错误。渐增式测试: (1)实际上同时完成单元测试和集成测试; (2)把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误; (3)对接口可以进行更彻底的测试;(4)可以使用系统化的测试方法(输入-处理-输出)15、渐增式测试方法有两种集成策略,分别是 、 。简述一下两种方式的特点(优缺点)。自顶向下、自底向上方法优点缺点自顶向下

45、具有错误隔离手段主要设计错误发现早不需要驱动程序 潜在可重用代码测试不充分需要存根程序 自底向上 具有错误隔离手段潜在可重用代码能充分测试不需要存根程序 主要设计错误发现迟需要驱动程序 16、确认测试也称为 ,它的目标是验证软件的 。 是进行确认测试的基础。确认测试除了有测试人员参与外,必须有 积极参与。确认测试通常使用 测试法进行测试。在测试前应该仔细设计 和 。验收测试、有效性、软件需求规格说明书、用户、黑盒、测试计划、测试过程17、简述确认测试中软件配置复查的测试内容(P161)。(1)软件配置的所有成分都齐全,质量符合要求;(2)文档与程序完全一致,具有完成软件维护所必须的细节,而且已

46、经编好目录;(3)仔细记录发现的遗漏或错误18、简述Alpha测试和Beta测试。Alpha测试:由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。显是在受控的环境中进行的。Beta测试:由软件的最终用户们在一个或多个客户场所进行。开发者通常不在Beta测试的现场,因此,Beta测试是软件在开发者不能控制的环境中的“真实”应用19、设计测试方案是测试阶段最关键的技术问题。测试方案包括 和 ,而后者又包括 和预期的输出结果。测试目的、测试用例、输入数据20、白盒法基于两种策略设计测试用例,即 逻辑覆盖 和 控制结构设计。逻辑覆盖根据测试数据覆盖 程序语句 的程度划分出五种覆盖标准

47、,从低到高分别是 、 、 、 和 。控制结构设计是描述了测试数据覆盖源程序中控制结构的程度分为。 、 和 。语句覆盖 、判定覆盖 、条件覆盖 、判定/条件覆盖 、条件组合覆盖 基本路径测试、条件测试、循环测试21、简述语句覆盖、判定覆盖、条件覆盖、 判定/条件覆盖、条件组合覆盖和路径覆盖的定义。语句覆盖:选择足够多的测试数据,使被测程序中每个语句至少执行一次判定覆盖:不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果(每个分支)都应该至少执行一次。条件覆盖:不仅每个语句至少执行一次,而且使每一个判定条件中的每一个条件至少获得过一次可能的值的测试 。判定/条件覆盖:指选择足够的测试用例,

48、使得判定表达式中的每个条件都取到各种可能的值,每个判定表达式也都取到各种可能的结果。条件组合覆盖:要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。22、针对下面的程序流程图设计了多组测试用例,它们分别满足了哪些覆盖标准(多选题)。第二组:A2,B0,X4A1,B1,X1第一组:A=2,B=0,X=1A=1,B=1,X=2第一组: A、C (A)语句覆盖(B)判定覆盖(C)条件覆盖(D) 判定/条件覆盖(E)条件组合覆盖(F)路径覆盖第二组: A、B、C、D (A)语句覆盖(B)判定覆盖(C)条件覆盖(D) 判定/条件覆盖(E)条件组合覆盖(F)路径覆盖23、基本路径测试是Tom McCabe提出的一种白盒测试技术。简述该方法的设计测试用例的步骤。(1). 根据过程设计结果画出相应的流图;(2). 计算流图的环形复杂度。(3). 确定线性独立路径的基本集合。(4). 设计可强制执行每条独立路径的测试用例。24、黑盒测试着重测试软件功能,能够检测的错误类型有哪些?(1). 功能不正确或遗漏了功能; (2). 界面错误; (3). 数据结构错误或外部数据库访问错误; (4). 性能错误; (5). 初始化和终止错误。25

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论