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

下载本文档

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

文档简介

软件工程各章习题软件工程各章习题软件工程各章习题xxx公司软件工程各章习题文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度即时练习第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]数字零=03位数字=3{数字}38位数字=非零数字+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.有穷_状态机_可以准确地描述一个系统,因此它是表达规格说明的一种形式化方法。

3.Petri网_可以有效地描述并发活动。它包含4种元素:一组位置P、一组转换T、输入函数I以及输出函数O。

4.Petri网的标记是在Petri网中_权标__的分配。

5.在Petri网中,当每个输入线上至少有一个权标,而_禁止_线上没有权标的时候,相应的转换才是允许的。6、Petri网包含4种元素:一组位置P、一组转换T、输入函数I以及输出函数O二、问答题:

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、HIPOC、IPO或PDLD、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)源程序清单(其中有适量的注解)

你将选取哪两份文档为什么这样选取

答:通常,“对一个已有的软件做重大修改”意味着对软件功能做较大变理可增加较多新功能,这往往需要修改软件的体系结构。因此,了解原有软件的总体情况是很重要的。程序的规格说明书准确地描述了对软件系统的数据要求、功能需求、性能需求、可靠性和可用

温馨提示

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

评论

0/150

提交评论