文档库 最新最全的文档下载
当前位置:文档库 › 软件工程考试试题(含答案)

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

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

一、填空题(每空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提出的,它是一种面向()的软件

设计方法。

A、对象

B、数据流

C、数据结构

D、控制结构

3.试判断下列叙述中,哪个(些)是正确的( )。

a、软件系统中所有的信息流都可以认为是事务流

b、软件系统中所有的信息流都可以认为是变换流

c、事务分析和变换分析的设计步骤是基本相似的

A、a

B、b

C、c

D、b和c

4.()是用户和设计交换最频繁的方法。

A、原型化方法

B、瀑布模型方法

C、螺旋模型方法

D、构件组装模型

5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施

的主要保证是( )。

A、硬件环境

B、软件开发的

环境

C、软件开发工具和软件开发的环境

D、开发人员的素质

6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低

级语言( )。

A、PASCAL

B、 VISUAL BASIC

C、 C++

D、汇编语言

7.软件测试的目的是?( )

A、证明软件的正确性

B、找出软件系统中存在的所有错误

C、证明软件系统中存在错误

D、尽可能多的发现软件系统中的错误

8.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。

A、程序的内部逻辑

B、程序的复杂程度

C、该软件的编辑人员

D、程序的功能

9.软件维护工作的最主要部分是( )。

A、校正性维护

B、适应性维护

C、完善性维护

D、预防性维护

10.PDL是()语言。

A、高级程序设计语言

B、伪码式

C、中级程序设计语言

D、低级程序设计语言

三、判断题(正确的在括号内打上“√”,错误的打上“×”。每题2分,共20分)

1.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(X )

2.发现错误多的程序模块,残留在模块中的错误也多。(V )

3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(X )

4.软件维护就是改正软件中的错误。( X )

5.质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组

织的活动。( V )

6.软件开发的主要任务是写程序。( X )

7.测试只能证明程序有错误,不能证明程序没有错误。( V )

8.模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都

在10行以下。( X )

9.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软

件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。

(X )

10.程序设计风格指导原则提出,尽量多使用临时变量。(X )

四、简答题(每题5分,共20分)

1.什么是软件工程?

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术

和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到

的最好的技术方法结合起来。

2.耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?

低:非直接耦合→数据耦合→标记耦合→控制耦合→外部耦合→公共耦合→内

容耦合:高

强:功能内聚→信息内聚→通信内聚→过程内聚→时间内聚→逻辑内聚→

巧合内聚:弱

3.简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?

:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。

三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐

步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。

4.什么是黑盒测试法?

黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收

输入数据,产生正确地输出信息。

五、程序设计与算法描述题(共15分)

1.根据下面的伪代码程序,完成相应要求。(8分)

START

IF C1

THEN

WHILE C2 DO

f

ENDDO

ELSE

BLOCK

g

p

ENDBLOCK

ENDIF

REPEAT UNTIL C3

q

r

ENDREP

STOP

1)画出程序流程图(4分)

2)用N—S图描述(4分)

2.有下列伪码程序:

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

设计该程序的语句覆盖和路径覆盖测试用例。(7分)M=9(或

M=l0(或>=10),N=20(或>=20)

路径覆盖的测试用例为

M=9,N=19;

M=9、N=20;

M=l0,N=l9;

M=10,N=20

要目标是提高软件质量,减少软件维护代价。

软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 可行性研究:

1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。

2、四个方面:技术、经济、操作可行性

3、数据流图四种成分:1、源点/终点2、处理3、数据存储

4、数据流 需求分析:

1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。

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

3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N 、M:N ) 总体设计:

任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 模块独立:内聚和耦合

耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

内聚 (Cohesion): 一个模块内各元素结合的紧密程度

面向数据流的设计方法:变换流和事务流 详细设计:

问题定义(确定题目)

可行性研究 需求分析 概要设计 详细设计 编码和单元测试 综合测试

系统设计

系统实现

软件定义

软件开发

运行维护:主要任务是使软件持久地满足用户的需要

软件生命周期:

任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树)

面向数据结构的设计方法(jackson方法):

程序复杂程度的定量(McCabe方法):1、V(G)=E-N+2(E是流图中边的条数,N是结点数)2、V(G)=P+1(P是流图中判定结点的个数)3、流图中的区域数等于环形复杂度。

编码

单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。

集成测试:

在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。

白盒测试技术(逻辑覆盖、基本路经测试)

白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程。所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作。白盒测试又称为结构测试。

语句覆盖就是设计足够的调试用例,使得程序中的每个语句至少执行一次。

判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖

条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果。判定/条件覆盖就是设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。

条件组合覆盖就是设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。

基本路经测试:

黑盒测试技术(等价划分)

黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。黑盒测试是在程序接口进行的测试,又称为功能测试。

1、黑盒测试检查的主要方面有:

程序的功能是否正确或完善;

数据的输入能否正确接收,输出是否正确;

是否能保证外部信息(如数据文件)的完整性等。

用黑盒法设计测试用例时,必须用所有可能的输入数据来检查程序是否都能产生正确的输出

2、等价类划分

等价类的划分在很大程度上依靠的是测试人员的经验,下面给出几条基本原则:(1)如果输入条件规定了取值范围,则可划分出一个有效的等价类(输入值在此范围内)和两个无效的等价类(输入值小于最小值、输入值大于最大值)。

(2)如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类(输入数据的个数等于给定的个数要求)和两个无效的等价类(输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求)。

(3)如果输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,则可将这组可能的值划分为一个有效的等价类,而这些值以外的值划分成无效的等价类。(4)如果输入条件规定了输入数据的一组可能的值,但是程序对不同的输入值做不同的处理,则每个输入值是一个有效的等价类,此外还有一个无效的等价类(所有不允许值的集合)。(5)如果输入条件规定了输入数据必须遵循的规则,则可以划分一个有效的等价类(符合规则)和若干个无效的等价类(从各种角度违反规则)。

维护(改正性维护、适应性维护、完善性维护、预防性维护)

决定软件可维护性因素(可理解性、可测试性、可修改性、可移植性、可重用性)

面向对象方法学优点:1、与人类习惯的思维方法一致2、稳定性好3、可重用性好4、较易开发大型软件产品5、可维护性好

对象模型1、关联2、聚集3、泛化4、依赖和细化

贰软件工程

1.1软件危机

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

2、了解软件危机主要的一些典型表现。(P2)

3、出现软件危机的原因:

4、消除软件危机的途径:首先,我们要对计算机软件有一个正确的认识;更重要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严格、各类人员协同配合、共同完成的工程项目;最后,应该开

发和使用更好的软件工具。

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

1.2软件工程

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

2、了解软件工程的本质特征:

1)、软件工程关注于大型程序的构造

2)、软件工程的中心课题是控制复杂性

3)、软件经常变化

4)、开发软件的效率非常重要

5)、和谐的合作是开发软件的关键

6)、软件必须有效地支持它的用户

7)、在软件工程的领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品

3、缺乏应用领域地相关知识,是软件开发项目出现问题的常见原因。

4、软件工程的基本原理:

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

2)、坚持进行阶段审评

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

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

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

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

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

5、方法学(范型):在软件生命周期全过程中使用的一整套技术方法的集合。

6、软件工程方法学3要素:方法、工具和过程。

7、目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学

8、传统方法学也成为生命周期方法学或结构化范型。

9、面向对象方法学具有的4个要点。(P10)

1.3软件生命周期

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

2、软件定义时期的任务

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

4、维护时期的主要任务是使软件持久地满足用户的需要。

5、软件开发时期通常分成4个阶段:总体设计、详细设计、编码和单元测试、综合测试。前两个阶段又称为系统设计,后两个阶段又称为系统实现。

6、软件生命周期每个阶段的基本任务:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试。

1.4软件工程

生命周期模型(过程模型):瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。

(对各种模型要了解)

1.5小结(熟读,对本章系统地了解)

可行性分析

可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。

2.1可行性研究的任务

研究解法的可行性的三个方面:技术可行性、经济可行性、操作可行性。

可行性研究最根本的任务:对以后的行动方针提出建议。

可行性研究需要的时间长短取决于工程的规模。

2.2可行性研究过程

复查系统规模和目标

研究目前正在试用的系统

导出新系统的高层逻辑模型

进一步定义问题

导出和评价供选择的解法

推荐行动方针

草拟开发计划

书写文档提交审查

2.3系统流程图

1、系统流程图:概括地描绘物理系统的工具。

2、系统流程图的基本思想:用图形符号以黑盒子形式描绘组系统的每个部件(程序、文档、数据库、人工过程等)。

3、P39符号

4、系统流程图的习惯画法:使信息在图中从顶向下或从左向右流动。

5、面对复杂的系统时,一个比较好的方法时分层次地描绘这个系统。

2.4数据流图

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

数据流图的四种基本符号P41

数据存储(静止状态)和数据流(运动)都是数据。

数据流图的基本要点是描绘“做什么”,而不是考虑“怎么做”。

星号(*)是数据流之间的“与”关系;加号(+)表示“或”关系;⊕号表示只能从中选一个(互斥关系)。

画数据流图的基本目的是利用它作为交流信息的工具。

2.5数据字典

数据字典应由对下列4类元素的定义组成:数据流、数据流分量(即数据元素)、

数据存储、处理。

由数据元素组成数据的方式的三种基本类型:顺序、选择、重复。+可选

用以下符号描述由数据元素组成数据的关系:=意思是等价于(或定义为)、+意思是和(即连接两个分量)、[ }意思是或(通常用“|”号隔开供选择的分量)、{ }意思是重复、()意思是可选。

数据字典最重要的用途是作为分析阶段的工具。

2.6成本/效益分析

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

软件开发成本:主要表现为人力消耗。

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

货币的时间价值:用利率的形式。

假设年利率为i,如果现在存入P元,则n年后的价值:F=P(1+i)^n

衡量一项开发工程的价值:投资回收期。

纯收入

投资回收率

2.7小结

三需求分析

需求分析是软件定义时期的最后一个阶段。

基本任务:准确地回答“系统必须做什么?”这个问题。

用于需求分析的结构化分析方法必须遵守下述准则:

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

(2)、必须定义软件应完成的功能,这条准则要求建立功能模型。数据流图(3)、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。状态图

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

3.1需求分析的任务

对软件系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求。

需求分析的任务:确定对系统的综合要求

分析系统的数据要求

导出系统的逻辑模型

修正系统开发计划

3.2与用户沟通获取需求的方法

访谈、面向数据流自顶向下求精、简易地应用规格说明技术,快速建立软件原型。结构化分析方法就是面向数据流自顶向下求精进行需求分析的方法。

快速建立软件原型是最准确、最有效、最强大的需求分析技术。

3.3分析建模与规格说明

需求分析过程应建立3种模型:数据模型、功能模型、行为模型。

数据流图是建立功能模型的基础。

状态转换图是行为建模的基础。

3.4实体-联系图(E-R)

E-R图中包含着实体(即数据对象)、关系和属性3种基本成分。

3.5数据规范化

第一范式:每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。第二范式:满足第一范式的条件,而且每个非关键字都由整个关键字决定(而不是由关键字的一部分来决定)。

第三范式:符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)。

3.6状态转换图

状态转换图(简称状态图):通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。

在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在状态图中只能有一个初态,而终态则可以有0至多个。

事件就是引起系统做动作或(和)转换状态的控制信息。

在状态图中,初态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示。如图:

状态名

状态变量的

名字和值

活动表

活动表的语法格式:事件名(参数表)/动作表达式

在活动表中通常使用的3种标准事件:

Entry事件指定进入该状态的动作

Exit事件指定退出该状态的动作

Do事件制定在该状态下的动作

状态转换:箭头指明的转换方向。

事件表达式的语法:事件说明【守卫条件】/动作表达式

事件说明与守卫条件同时使用时,则当且仅当事件发生且布尔表达式为真时,状态转换才发生;如果只有守卫条件没有事件说明则只要守卫条件为真,状态转换就发生。

守卫条件是一个布尔表达式。

动作表达式是一个过程表达式,当状态表达式开始时执行该表达式。

3.7其他图形

层次方框图、warnier图、IPO图(输入、处理、输出图的简称)

3.8验证软件需求

从四个方面进行验证:一致性、完整新、现实性、有效性

3.9小结

五总体设计

5.1设计过程

总体设计过程通常有两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件的结构。

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

1)、设想宫选择的方案

需求分析阶段得出的数据流程图是总体设计的极好的出发点。

2)、选择合理的方案

对每个合理的方案,分析员都应准备下列四份材料:

A.系统流程图

B.组成系统的物理元素清单

C.成本/效益分析

D.实现各个系统的进度计划

3)、推荐最佳方案

4)、功能分解

5)、设计软件结构

软件结构可以用层次图或结构图来描绘。

6)、设计数据库

7)、制定测试计划

8)、书写文档

这个阶段完成的文档有:系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果。

9)、审查和复查

5.2设计原理

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

模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它。模块是构成程序的基本构件。

模块化就是把程序分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。抽象:把相似的方面集中和概括起来,暂时忽略它们之间的差异,或者说,抽出事物的本质特性而暂时不考虑它们之间的细节。

逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术的基础。定义:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。

信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。

局部化:把一些关系密切的软件元素物理地放得彼此靠近。

模块独立的概念是模块化,抽象,信息隐藏和局部化概念的直接结果。

模块独立化重要性的原因:第一,有效地模块化的软件比较容易开发出来;第二,独立的模块化比较容易测试和维护。

模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。耦合是对一个软件结构内不同模块之间互连程度的度量。

耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。

如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。

如果传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现),则这种耦合称为控制耦合。

数据耦合是低耦合。

公共环境耦合、

最高程度的耦合式内容耦合。

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

偶然内聚、逻辑内聚、时间内聚

低内聚、中内聚、高内聚的分类。

5.3启发规则

/软件结构提高模块独立性

模块规模应该适中

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

模块的应用域应该在控制域之内

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

设计单入口单出口的模块

模块功能应该可以预测

5.4描绘软件结构的图形工具

层次图和HIPO图

结构图

5.5面向数据流的设计方法

面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。

信息流分成两种类型:变化流、事物流(概念)

变换分析是一系列设计步骤的总称,经过这些步骤吧具有变换流特点的数据流图按预先确定的模式映射成软件结构。

变换分析的设计步骤。

5.6小结

第6章详细设计

目标:1.确定应该怎样具体的实现所要求的系统

2.设计出程序的“蓝图”

3.详细设计的结果基本决定了最终的程序代码的质量

6.1 结构程序设计

1.概念:结果程序设计是一种设计程序的技术,它采用自顶向下逐步求精的的设计方法和单入口但出口的控制结构。

2.三种基本控制结构:

1)顺序结构:相当于“A、B”

2)选择结构:相当于“If exp then A else B endif;”

3) 循环结构:相当于“While exp do A”

3.扩充的两种控制结构:

1)多分支结构:相当于“Case I of I=1:C1;……I=n:Cn;”

2)UNTIL循环结构:相当于“Repeat A until exp;”

4.结构程序设计的种类:

1)经典的结构程序设计:只允许使用顺序、IF_THEN_ELSE型分支和DO_WHILE型循环;

2)扩展的结构程序设计:除了三种基本控制结构,还使用

DO_CASE型多分支结构和DO_WHILE型循环结构;

3)修正的结构程序设计:除了三种基本控制结构和两种扩充结构,还使用LEA VE(或BREAK)结构。

6.2 人机界面设计

6.2.1 设计问题

1.系统响应时间

2.用户帮助设施

3.出错信息处理

4.命令交互

6.2.2 设计过程

6.2.3 人机界面设计指南

1.一般交互指南

2.信息显示指南

3.数据输入指南

6.3 过程设计的工具

6.3.1 程序流程图

程序流程图:是一种描述程序的控制结构流程和指令执行情况的有向图。

程序流程图的主要缺点:

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

程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完

全不顾结构程序设计的精神,随意转移控制。

程序流程图不易表示数据结构。

6.3.2 盒图

盒图特点:

功能域明确,可以从盒图上一眼就看出来。

不可能任意转移控制。

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

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

PAD图

是一种问题分析图。

PAD图优点:

使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序

PAD图所描绘的程序结构十分清晰。图中最左面的竖线是程序的主线,即第一层结构。随着德程序层次的增加,PAD图逐渐向右延伸,每次增加一个层次,图形向右扩展竖线。PAD图中竖线的总条数就是程序的层次数。

用PAD图表现程序逻辑,易懂、易读、易记。PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。

容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生

产率。

即可用于表示程序逻辑,也可用于描绘数据结构。

PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象的程序,随着设计工作的深入而使用def符号逐步增加细节,直至完成详细设计。

判定表

判定表由四部分组成:

左上部列出所有条件

左下部是所有可能做的动作

右上部是表示各种条件组合的一个矩阵

右下部是和每种条件组合相对应的动作

6.3.5 判定树

判定树是判定表的变种。

过程设计语言

过程设计语言(PDL)也称为伪码。

PDL的优点:

可以作为注释的直接插在源程序中间

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

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

PDL缺点:不如图形工具形象直观。

面向数据结构的设计方法

Jackson图

顺序结构

选择结构

重复结构

改进的Jackson图

Jackson方法

Jackson结构程序设计方法基本上由5个步骤组成:

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

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

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

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

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

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

列出所有操作和条件,并且把它们分配到程序结构图的适当位置。用伪码表示程序。

程序复杂程度的定量度量

McCabe方法

1.流图

“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。

2.计算环形复杂度的方法

环形复杂度等于流图中的区域数。

流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数的,N是结点数。

流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

3.环形复杂度的用途

它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。

实践表明,模块规模以V(G)<=10为宜。

6.5.2 Halstead

根据程序中运算符和操作数的总数来度量程序的复杂程度。

N=N1+N2

程序总长度:N

运算符出现的总次数:N1

操作数出现的总次数:N2

Halstead给出的预测程序长度的公式:

log2n1+n2log2n2

H=n

1

预测程序中包含错误的个数的公式:

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

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

软件工程试题及答案34385

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

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

软件工程考试题(带答案)..

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

是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。 C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。

软件工程复习试题及答案

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

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

软件工程试题及答案

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、软件重用的效益是什么?

软件工程试题(附答案)

软件工程试题(附答案)

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

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

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

软件工程复习题及答案

软件工程复习题(一) 一、选择题 1、瀑布模型本质上是一种() A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是() A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是() A、深度 B、宽度 C、扇入 D、扇出 4、软件结构图中,模块框之间若有直线连接,表示它们之间存在() A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生() A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品 B、及早提供全部完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、可靠性 C、正确性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

《软件工程》试题及参考答案(第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.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计C程序编制D软件维护 2.软件是一种逻辑产品,它的开发主要是(A )。 A研制B拷贝C再生产D复制 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗C逻辑D文档 6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。 A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。 A可修改性B可靠性C可适应性 D 可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A可移植性B可重用性 C 容错性 D 可适应性 13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性 D 可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。 A可理解性 B 可维护性C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ). A可理解性B可修改性C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性B可适应性C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。 A可修改性B可适应性C可维护性 D 可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。 A可理解性B可互操作性C可维护性 D 可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是( C )。

软件工程试题及答案

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

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

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

软件工程试题库集及答案

综合练习一答案 选择题: 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、(可行性研究)得目得就就是用最小代价在尽可能短得时间内确定该软件项目就是否能够开发、就是否值得开发。 2、可行性研究得目得不就是就是开发一个软件项目,而就是研究这个项目就是否(就是否做值得)。 3、可行性研究需要从(经济)可行性、(技术)可行性、(操作)可行性与(社会)可行性四个方面分析研究每种解决方案得可行性。 4、技术可行性就是对开发项目得(功能、性能、限制条件)进行分析,确定现有资源条件下,技术风险有多大,项目就是否能实现。 5、经济可行性一般要考虑得情况包括:(成本与效益)。 6、社会可行性所涉及得范围包括(合同、责任、侵权)用户组织得管理模式、范围以及其她一些技术人员常常不了解得陷阱。 7、典型得可行性研究有以下步骤:确定项目得规模与目标、(研究正在运行得系统)、(建立新系统得高层逻辑模型)、导出与评价各种方案、推荐可行得方案与编写可行性研究报告。 8、系统效益=经济效益+(社会效益)。 9、效益分有型效益与(无形)两种。 10、可行性研究得第一个步骤就是(确定项目得规模与目标)。 11、数据字典就就是用来定义数据流图中得(各个成分得具体含义)得。它与数据流图共同构成了系统得(逻辑模型),就是(需求说明书)得主要组成部分。 12、由于数据流就是流动中得数据,所以必须有(流向)。除了与(数据存储)之间得数据流命名外,数据流应该采用名词或名词短语。 七、选择题 1、研究开发资源有效性就是进行( D )可行性研究得一个方面 A、技术 B、经济 C、社会 D、操作 2、在软件可行性研究中、可以从不同得角度对软件进行研究,其中从软件得功能可行性角度考虑得就是( B )可行性 A、经济 B、技术 C、操作 D、社会 3、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成( B ) A、可行性研究、需求分析、问题定义 B、问题定义、可行性研究、需求分析 C、需求分析、问题定义、可行性研究 D、可行性研究、问题定义、需求分析 4、可行性研究要进行得需求分析与设计应就是( C )。 A、详细得 B、全面得 C、简化得 D、彻底得 七、填空题 1、需求分析得基本任务就是要准确地定义(扇新系统得目标),为了满足用户需求,回答系统必须(做什么)得问题。 2、在需求分析阶段,首先进行问题识别,即双方确定对问题得综合需求,这些需求包括:(功能)需求、(性能)需求、(环境)需求、(用户界面)需求。另外还有可靠性、安全性、保密性、可移植性、可维护性等方面得需求。 3、需求分析得困难主要体现在4个方面:问题得复杂性、(交流障碍)、(不完备性与不一致性)、需求易变性。 4、在需求分析阶段进行以下几个方面得工作:识别系统综合要求、(分析系统得数据要求)、导出软件逻辑模型、(编写文档)。

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

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

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

软件工程试题及答案

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

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

软件工程考试题库完整

类型一: 1. 软件定义时期包括两个阶段,它们是(可行性研究)和(需求分析)两个阶段。 2. 数据流图有(4)种基本符号,数据流图中,箭头表示(数据流)。 3. 数据流图有变换型结构和(事务)型结构两种类型。 4. 4个人之间的通信量是(6) 5. 评定模块的独立性的标准是耦合和聚。(耦合)是对软件部块间联系的度量, 按照由弱到强的顺序,可以把它分为(7)类。其中,最弱的是(非直接耦合), 最强的是(容耦合) 6.程序结构的复杂性度量值V(G)取决于程序控制流的复杂程度。顺序结构的V(G)值为(1),选择结构的为(2)。 7. 在模块结构图中,(扇入)是指直接调用该模块的模块数 8.模块的独立性可用耦合和聚的高低来评定,设计较好的模块要求(聚)高、耦合(低)。 9. 语句覆盖测试技术是(白盒测试)方法的一种 10. 等价类划分技术是属于(黑盒测试)方法的 11. 按维护的起因,可以将维护活动分为4类:(改正性维护)、(适应性维护)、完善性维护和预防性维护。完善性维护占总维护量的(50%以上)。 12.软件项目的可行性研究要进行一次(简化的、压缩的)需求分析。 13、系统流程图用于可行性分析中的(当前运行系统)的描述。 14、程序的三种基本控制结构的共同特点是(只有一个入口和一个出口) 15、维护中,因误删除一个标识符而引起的错误是(编码)副作用。 16、(技术评审)是以提高软件质量为目的的技术活动。 17、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;(把对象划分成类,每个对象类都定义一组数据和方法);对象彼此之间仅能通过传递消息互相联系;层次结构的继承。 18、原型化方法是用户和设计者之间执行的一种交互构成,适用于(需求不确定性高的)系统。 19.在下列工具与环境中(结构的基于图形CASE )属于较早期的CASE。 20.Putnam成本估算模型是一个(动态多变量)模型。 21.在McCall软件质量度量模型中,(适应性)属于面向软件产品修改。 22.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是(SQDC )23.软件复杂性度量的参数包括(规模) 24.对象实现了数据和操作的结合,使数据和操作(封装)于对象的统一体中。25.软件调试技术包括(演绎法) 26.瀑布模型的存在问题是(缺乏灵活性) 27.软件测试方法中的静态测试方法之一为(计算机辅助静态分析) 28.软件生命周期中所花费用最多的阶段是(软件维护) 29.第一个体现结构化编程思想的程序设计语言是(PL/1语言) 30.程序的三种基本控制结构是(顺序、选择和重复) 31.在详细设计阶段,经常采用的工具有(PAD ) 32.详细设计的结果基本决定了最终程序的(质量) 33.需求分析中开发人员要从用户那里了解(软件做什么) 34.结构化程序设计主要强调的是(程序易读性)

相关文档