软件工程习题

软件工程习题
软件工程习题

第二章可行性分析

(1).在数据字典中,要表示身份证号码是由15位或18位数组成,应写成(1);“A=(B)+C”表示(2)。

1.A(0…9)15+(0…9)18 B{0…9}15+{0…9}18

C [0…9)15|(0…9)18]

D [15{0…9}15|18{0…9}18]

2.A 数据项A是由B或C组成的 B 数据项A是由B和C连接成的

C 数据项A包括B和C,B是可选的

D 数据项A包括B 和C,C是必选的

(2).在开发一个系统时,如果用户对系统的目标不是很清楚,难以定义需求,这时最好使用()。

A.原型法 B.瀑布模型 C.V-模型 D.螺旋模型

(3).结构化分析与设计方法和()有很好的结合度。

A瀑布模型B喷泉模型C螺旋模型D快速原型模型(4).要采用快速原型模型进行开发,那么原型化人员对原型的实施就很重要,那么衡量他们的重要标准是(1 );以下程序开发工具中,最不适用于原型开发的是(2 )。

1.A快速的程序开发能力B系统环境的安装与部署能力

C从模糊描述中快速获取需求的能力D高超的系统详细设计能力

2.A c++ B VB C Visio D Delphi

(5).根据Boehm的划分方法,可以将软件开发生命周期划分为三个阶

段,其中可行性研究属于(1 )阶段;不属于开发阶段的是(2 )。

1.A实现B计划C开发D运行

2.A问题定义B总体计划C编码D测试

(6).和面向对象软件开发过程最匹配的开发生命周期模型是(1 ),(2 )是其最为核心的特点。

1.A瀑布模型B喷泉模型C螺旋模型D快速原型模型

2.A风险分析B结构化C迭代D抛弃型原型

(7).软件工程的基本要素包括方法、工具和()

A)过程B) 软件系统C)硬件环境D)人员

(8). “软件危机”是指( )

A) 计算机病毒的出现

B) 利用计算机进行经济犯罪活动

C) 软件开发和维护中出现的一系列问题

D)人们过分迷恋计算机系统

1.可行性分析的内容包括(技术可行性)、经济可行性、操作可行性和法律可行性。

2. 数据流图有四种基本成分:()、()、()、()。

3.成本/效益分析目的是从(经济角度)评价开发一个新的软件项目是否可行。

4.可行性研究的任务是要用最小的代价,在(尽可能短)的时间内,分析与研究问题的范围,得到问题是否值得去解。

5.软件开发方法的主要工作模型有:增量模型、(瀑布模型)、螺旋模型、喷泉模型和(快速原型模型)。

黑盒测试

?下列四个软件可靠性定义中正确的是____ 。

A、软件可靠性是指软件在给定的时间间隔内,按用户要求成

功运行的概率

B、软件可靠性是指软件在给定的时间间隔内,按设计要求成

功运行的概率

C、软件可靠性是指软件在正式投入运行后,按规格说明书的

规定成功运行的概率

D、软件可靠性是指软件在给定时间间隔内,按规格说明书的

规定成功运行的概率

?例1:两个小组独立地对同一个程序进行测试,第一个小组发

现25个错误,第二个小组发现30个错误,在两个小组发现的

错误中有15个是共同的,那么可以估计程序中的错误总数是()个。

A.25 B. 30 C.50 D.60

例2. 某测试小组在测试某程序时,先向程序中植入20个错误,经过一段时间的测试后,一共找到40个错误,其中10个是植入的错误,那么该程序固有的错误应该有(1)个,使用该方法需要注意(2)。

(1).A 40 B 60 C 80 D100

(2).A植入的错误应该不少于10个

B植入的错误应该有大有小

C植入错误的人和测试的人应该不同

D应采用自动化的测试工具

?在测试一个长度为48000条指令的程序时,第一个月由甲、乙

两名测试员各自独立测试这个程序。经一个月测试后,甲发现并改正20个错误,使MTTF达到8h。与此同时,乙发现24个错误,其中6个甲也发现了。以后由甲一个人继续测试这个程序。问:

?(1) 刚开始测试时程序中总共有多少个潜藏的错误?

?(2) 为使MTTF达到240h,必须再改正多少个错误?

第三章

1. 在软件生命周期中,能准确地确定软件系统必须

做什么和必须具备哪些功能的阶段是()

A.概要设计

B.详细设计

C.可行性研究

D.需求分析

2. 需求分析阶段的任务是确定()

A.软件开发方法

B. 软件开发工具

C.软件开发费用

D.软件系统功能

3. 在数据流图(DFD)中,带有名字的箭头表示__

A. 控制程序的执行顺序

B. 模块之间的调用关系

C. 数据的流向

D. 程序的组成成分

4. 结构化分析方法的一个重要思想是______.

A. 自顶向下,逐层抽象

B.自底向上,逐层抽象

C. 自顶向下,逐层分解

D.自底向上,逐层分解

5.下列叙述中,不属于软件需求规格说明书的作用是()。

A. 便于用户与开发人员进行理解与交流;

B. 反映出问题的结构,可以作为软件开发的基础

和依据;

C. 作为测试和验收的依据。

D. 便于开发人员进行需求分析

6. 需求分析阶段的最后成果是_____,是软件开发的重要文档之一。

第五章复习题

1.一组语句在程序的多处出现,为了节省内存空间,把这些语句放在一个模块中,该模块的内聚度是(1);将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是(2)。

(1).A.功能内聚B偶然内聚C逻辑内聚D瞬时内聚

(2). A功能内聚B过程内聚C逻辑内聚D通信内聚

2.在一个模块中直接引用另一个模块中的数据,那么这两个模块之间是(1)关系,如果一个模块把一个数值量作为参数传递给另一个模块,则这两个模块之间是(2)关系。

(1).A 公共耦合B内容耦合C外部耦合D数据耦合

(2).A 控制耦合B逻辑耦合C外部耦合D数据耦合

3.从宏观的角度将软件划分成各个组成模块,并确定模块的功能及模块之间的调用关系,这属于()的范畴。

A 概要设计B详细设计C接口设计D过程设计

4.模块中的所有成分引用共同的输入数据,则该模块的内聚度为(1);模块内的某成分的输出是另一些成分的输入,则该模块的内聚度为(2)。

(1).A功能内聚B偶然内聚C逻辑内聚D通信内聚(2).A顺序内聚B过程内聚C逻辑内聚D通信内聚

5.模块是执行某一特定任务的数据结构和程序代码。其中(1)属于其外部特性;而要使模块保持较高的独立性,应达到(2)的目标。(1).A接口B算法C代码D局部数据

(2).A高内聚、高耦合B低内聚、低耦合

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

6.对于结构化设计而言,可以用来表示每个模块之间关系的模型有多种,其中不适用的是(1),它是(2)。

(1).A HIPO B层次图C结构图 D PAD图(2). 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.3B.4C.5D.6

14.对于上图中,该结构图的宽度为()

A.1B.3C.4D.7

15.对于上图中,下列说法正确的是()

A.模块A的扇出为5B.模块A的扇出为1

C.模块C的扇出为4D.模块C的扇出为5

16.对于上图中,下列说法正确的是()

A.模块K的扇入为4B.模块K的扇入为6

C.模块K的扇入为5D.模块K的扇入为3

17.()数据处理问题的工作过程大致分为

三步,即取得数据、变换数据和给出数据。

A.变换型B.事务型C.结构化D.非结构化

18.在软件生命周期中,( )主要解决确定系统“做什

么”的问题。

A.系统分析阶段

B.系统设计阶段

C.系统测试阶段

D.系统运行阶段

19.结构化程序设计方法是采用()逐步求精的程序设计方法。

A.自下向上

B.自顶向下

C.自内向外

D.自外向内

20. 概要设计的任务是决定系统中各个模块的(①),即其(②)。

A、外部特性

B、内部特性

C、算法和使用数据

D、功能和输入输出数据

21. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是()。

A、顺序性内聚

B、过程性内聚

C、逻辑性内聚

D、功能性内聚

22. 结构化系统设计阶段的目的是()。

A、获得良好的软件结构

B、获得可读性好的程序

C、获得满足用户需求的数据流图

D、获得高效的算法

23. 结构化设计(SD)是软件开发中常用的方法,使用SD方法可以得到()。

A、程序流程图

B、编程语言的源程序

C、分层数据流图和数据字典

D、模块结构图

24. 为保证软件质量,在软件生存周期的每个阶段结束之前,都需要进行()工作。

A、制定计划

B、测试

C、审查

D、交接

25.使用结构化分析方法时,采用的基本手段是()。

A、分解和抽象

B、分解和综合

C、归纳与推导

D、试探与回溯

26.结构化设计方法采用变换分析和事务分析技术实现()。

A、从数据结构导出程序结构

B、从模块结构导出程序结构

C、从模块结构导出数据结构

D、从数据流图导出初始结构图

27.如果(),则称该模块具有功能内聚。

A、模块包括单一功能

B、模块包括若干功能,但所有功能相互紧密相关

C、每个模块有单入口、单出口

D、模块中每个处理成分对应一个功能,它们紧密结合

28.某个模块的作用域是指()。

A、被该模块调用的所有模块

B、调用该模块的所有模块

C、与该模块相关联的所有模块

D、受该模块内的判定所影响的所有模块

29.变换型数据流图通常是()形态。

A、线性

B、层次

C、网状

D、无规则

30. 事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过()执行后面的加工。

A、变换

B、选择

C、合并

D、联接

31()是指让一些关系紧密的软件元素在物理上彼此靠近。

A信息隐藏B内聚C局部化D模块独立

1.一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是()的。

2.将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是()的。3.对于各种软件系统,不论DFD如何庞大与复杂,DFD的类型一般可分为()和()两类。

4.软件概要设计阶段的成果是()。

5.为了便于软件模块的维护和测试,模块的接口应当()。

6.模块间耦合度越高则模块的相对独立性();反之,模块内聚合度越高则模块的相对独立性()。

7.信息隐藏原则有利于提高模块的()。

8. 一个模块直接用另一个模块内部的代码和数据的模块间的耦合方式称为()耦合。

9. 如果一个软件系统完成从卡片机上读入一叠卡片,检查卡片的信息是否合理,然后对旧文件进行修改,产生一个修改过的新文件,并被修改的记录打印成一份报告。对此系统的数据流图,应采用()设计策略,导出模块结构。

10. 若模块内的各处理元素都在同一时间间隔内执行完成,这种模块内元素间的联系称为()内聚。

1、已知模块C中的一个判定影响到模块B,如图所示,它违反了SD 的设计原则。试问: 可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。

第六章详细设计

1.下面关于PDL语言不正确的说法是( )

A. PDL是描述处理过程怎么做

B. PDL是只描述加工做什么

C. PDL也称为伪码

D. PDL的外层语法应符合一般程序设计语言常用的语法规则

2.伪码又称为程序设计语言PDL,一种典型的PDL是仿照( )编写的.

A) FORTRAN

B) 汇编语言

C) PASCAL 语言

D) COBAL 语言

3.伪码作为详细设计的工具,缺点在于( )

A) 每个符号对应于源程序的一行代码,对于提高系统的可理解性作用很小

B) 不如其他图形工具直观,描述复杂的条件组合于动作间的对应关系不够明了

C) 容易使程序员不受任何约束,随意转移控制

D) 不支持逐步求精,使程序员不去考虑系统的全局结构

1.结构化程序流程图中一般包括三种基本结构,下述结构中()不属于其基本结构?

A)顺序结构B)循环结构C)选择结构D)嵌套结构

2. Jackson方法根据输入输出的数据结构按-定的规则映射成软件的()。

A)程序结构B)体系结构C)数据结构D)选择结构

3. 过程设计语言(简称PDL)表示顺序结构用()来描述。

A)自然语言B)高级语言C)汇编语言D)机器语言

4.软件详细设计阶段主要采用的工具是()

A) DFD B)PAD C)DD D)SA

5 .Jackson图上下层之间是()关系。

A)调用B)组成C)主次D嵌套

6.软件详细设计阶段属于软件生存周期()阶段

A)需求分析B)软件设计C)编码D)软件维护

7. 以语言形式描述模块算法的是()。

A) PAD B)程序流程图C)PDL D)盒图

8.Jackson方法是一种面向()的设计方法。

A)对象B)数据流C)控制结构D)数据结构

9.JSP(Jackson结构程序设计方法)方法主要用于规模不大的()系统。A)实时处理B)文字处理C)数据处理D)体系结构

10.对于PDL,下面说法正确的是()

A)PDL的内层语法符合一般程序设计语言常用的语法规则

B)PDL的外层语法用一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能

C)PDL的总体结构与一般程序完全不同

D)PDL可方便生成程序的源代码,大大提高软件的生产率

11.软件详细设计工具可分为三类:即图视工具、设计语言和表格工具。图视工具中,(A)简单而应用广泛;(B)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套;(C)可以纵横延伸,图形的空间效果好;(D)是一种设计和描述程序的语言,也称为伪码。

A、B、C:①NS图②流程图③HIPO图④PAD图

D:①C ②PDL ③Prolog ④Pascal

12.PAD(Problem Analysis Diagram)图是一种( )工具。

A)系统描述B)详细设计C)测试D)编程辅助

13.在结构化方法中,N-S图应属于软件开发中的()阶段?A)详细设计B)需求分析C)总体设计D)编程调试

14.一个只有顺序结构的程序,其环形复杂度是( )。

A.0

B.1

C.3

D.不确定的

15.详细设计的任务是决定每个模块的(B①),即模

块(C②)。

A、外部特性

B、内部特性

C、算法和使用数据

D、功能和输入输出数据

16.为了避免程序流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为()。

A)PAD图B)NS图C)结构图D)数据流图

17. 在软件的设计阶段应提供的文档是( ) 。

A、软件需求规格说明书

B、概要设计规格说明书和详细设计规格说明书

C、数据字典及数据流图

D、源程序以及源程序的说明书

18.Jackson结构化程序设计方法(JSP)是英国人M.Jackson提出来的,它是一种面向(①)的设计方法,主要适用于规模不大的(②)系统的开发,其基本步骤依次为(A ③)、(C④)、(B ⑤)。

供选择的答案:

①:A对象B数据流C数据结构D控制结构

②:A数据处理B文字处理C实时控制D科学计算

③-⑤:A建立数据结构B列出基本操作

C建立程序结构D建立控制结构E建立对象

19. 侧重于从数据结构中导出模块的结构设计方法是()。

A)面向对象分析B)McCabe方法

C)Jackson方法D)parnas方法

20.在下列设计工具中,有一个与其他三个不属于同一类,它是(①);其中PDL是指(②)。

①.A) PAD B) N-S图C) PDL D) HIPO

②.A)问题定义语言B)伪码

C)问题分析图D)编程语言

1.Jackson法的设计原则是:使程序结构同(数据结构图)相对应.

2.在软件详细设计阶段,使用JSP方法来完成设计的最后一步是用()写出程序。

3. 程序的三种基本控制结构是(顺序)、(选择)和循环。

4.详细设计可以用图形、()和过程设计语言三种形式的描述工具进行描述。

5.当算法中包含多重嵌套的选择条件时,使用()和()能够清楚的描述条件组合与相应动作间的关系。

6.软件详细设计阶段采用自左向右的二维图形结构描述算法的是()。

7.在软件详细设计阶段,使用JSP方法按一定的规则由输入、输出的

数据结构导出程序结构后,还要列出(),并把它们分配到程序结构图的适当位置。

1.画出下列伪码程序的:(1)PAD图(2)流图,并计算它的环形复杂度。

start

if P then

while q do

f

end do

else

block

g

n

end block

end if

stop

2、用Jackson图表示下图所示的二维表格:

3、有一过程,其流程如下图所示。其中b1 、b2、b3为判定的逻辑条件,s1、s2为加工处理。试用判定表给予描述。

4、将如图所示的PAD图转换为伪码表示。

5、某高校研究生招生系统的初选方法如下:总分300(含)以上进

入候选学生库,否则退档;数学分数不低于70分,则进入三级备选库,否则进入四级备选库;在三级备选库的基础上,如果专业课分数高于100分,则进入一级备选库,否则进入二级备选库,请画出对应的判定树。

6、某校的课酬计算方案如下:(l)基本课酬为每节课10元;(2)如果班级人数超过40人,课酬增加:基本课酬×0.1;(3)如果班级人数超过60人,课酬增加:基本课酬×0.2;(4)如果教师是副教授,课酬增加:基本课酬×0.1;(5)如果教师是教授,课酬增加:基本课酬×0.2;(6)讲师,课酬不增加;(7)助教,课酬减少:基本课酬×0.1。请用判定表表达上述计算方案。

《软件工程》期末考试及答案

《软件工程》 期末考试试卷 考生注意:1.本试卷共有五道大题,满分100分。 2.考试时间90分钟。 3.卷面整洁,字迹工整。 4.填写内容不得超出密封线。 一、名词解释题(每小题3分,共15分) 1.软件生存周期模型 2.数据字典DD

3.内聚性 4.JSP方法 5.多态性 二、填空题(每空2分,共20分) 1.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。

2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有的软件。 3.McCall提出的软件质量模型包括个软件质量特性。 4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。 5. 为了便于对照检查,测试用例应由输入数据和预期的两部分组成。 6. 程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。 7. 软件结构是以为基础而组成的一种控制层次结构。 8. 使用类创建对象的过程实际上是类的过程。 9. 结构化语言是介于自然语言和之间的一种半形式语言。 10.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。 三、简答题(每小题5分,共20分)

2.以G.J.Myers的观点,简述对软件测试的目的。 3.就程序设计语言的工程特性而言,对程序编码有哪些要求? 4.模块的内聚性包括哪些类型?

四、理论应用题(每小题15分,共30分) PDL语言描述在数组A(1)~A(10)中找最大数的算法。 2.根据下列条件使用等价类划分法设计测试用例。某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。

第1章_软件工程学概述练习题

第一章练习题 一、判断题 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√) 2..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开 发实际上就是编写程序代码。(X) 3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是 生成类的模板。(X) 4.快速原型模型可以有效地适应用户需求的动态变化。(√) 5.类是关于对象性质的描述,由方法和数据组成。(√) 6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 二、名字解释: 1.软件:完成特定功能的程序+数据结构+文档。 2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 3.软件工程:指导计算机软件开发和维护的一门工程学。 4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时 期。 5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可 行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往 是最终产品能完成的功能的一个子集。 8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开 发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件; 增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。 9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模 型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。 对象。

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

第一章练习题 一、填空题 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、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程期末考试

━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ 防灾科技学院 2011 ~ 2012 学年 第二学期期末考试 __软件工程_试卷 (A) 使用班级__0950411/0950412__ 答题时间__120分钟 _ 题号 一 二 三 四 五 总分 阅卷教师 得分 孙旭光 一、 选择题(本大题共20小题,每题2分,共40分。) 请把选择题的答案填写于下列的表格中: 题号 1 2 3 4 5 6 7 8 9 10 答案 D B C A B C B C A C 判卷 题号 11 12 13 14 15 16 17 18 19 20 答案 B A A D B A A C B A 判卷 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、某大企业最近决定采用高性能微机开发人事管理系统,该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,系统设计师决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。系统工程师张某通过调查收集到如下4条意见,请问下面4条意见中哪条是不可接受的:( ) A. 某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。 B. 某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP 功能。 C. 某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。 D. 教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。 阅卷教师 孙旭光 得 分 试卷序号: 班级: 0950411 学号: 095041103 姓名: 谢英杰

软件工程习题及参考答案

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

软件工程模拟题1带答案

软件工程期末试卷A 试题一、结构化分析与设计(共20分,每小题10分) 需求陈述: 高考录取统分子系统有如下功能: (1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。(10分) (2)给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。(10分) 答案网上搜的答案 let计创 结构图即软件的模块

软件结构答案 试题二、F面是程序流程图,试分别用表示。(共20分) 答案: 我做的: do {

if( ! P) { g ; } while(q); 我自己做的,可以不太对 始 开 q 为真

执行 do nothing Else if(g 为假) return } Else if(p 为假) { Return }while(g 为真) 试题三、(共20分,每题10分) float calculateTotal( int N) { float count = 0.0; int i=1; while ( i<=N ) Do lf(p 为真) lf(g 为真) 阅读下面的程序段,回答后面的问题: //计算满足条件的N 个数的和

{ if( i % 4 == 0) cou nt += i; i++; } retur n count; } (1)画出上述程序的有向流图,并计算该函数的环形复杂度。 (每问5分,共10分) (2)请用基本路径的 测试技术完成该函数的 测试。要求给出 基本路径和测试用例。(每问5 分,共 10分) 答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础” 对应的测试用例 N=1 对应的测试用例N=4 试用例N=0 对应的测试用例 N=1 (?? ?不太确定) 对应的测试用例 N=4 对应的测试用例 N=4 PPT 的P30页 白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础, 为我们提供了非常有用的软件度量。 算环形复杂度: (1)控制流图中环形区域的数量对应于环形复杂度。 可用如下三种方法之一来计 (2)给定控制流图 N 是控制 G 的环形复杂度 一V(G),定义为V(G) = E-N+2其中,E 是控制流图中边的数量, 流图中 的节点数量。 (3)给定控制流图 其中,P 是控制流图G 中判定节点的数量。 以上输出路径的节点。 环形复杂度V(G)=区域数=边-结点+2= 4 G 的环形复杂度 一V(G),也可定义为 V(G) = P+1 何为判定节点:即存在一个输入,两个或两个 判定结点+1 环形复杂度3 基本路径3条 路径 1 : 1-2-3-4-6-3-7 路径 2 : 1-2-3-4-5-6-3-7 路径3 : 1-2-3-7 对 路径 1 : 1-2-3-4-6-7 路径 2 : 1-2-3-4-5-6-7 路径 3 : 1-2-3-4-6-3-7

软件工程《软件工程》习题集

软件工程习题集 第一章概述 一、选择题 1.“软件危机”产生的主要原因是( B )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 2.软件工程中描述生存周期的瀑布模型一般包括计划、( 需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。 ①需求分析②需求调查③可行性分析④问题定义⑤方案设计 ⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩ 3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(程序、数据、文档)。A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.在软件工程时期,决定软件质量的主要因素是( ) A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展 5.下列哪个模型没有采用迭代的思想(A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 6.下列关于瀑布模型的描述正确的是( D ) A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 7.瀑布模型的关键不足在于(B ) (A)过于简单(B)不能适应需求的动态变更 (C)过于灵活(D)各个阶段需要进行评审 8.瀑布模型把软件生存周期划分为软件定义、软件开发与(D )三个阶段,而每一阶段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行及维护 D. 测试与排错

二、判断题 1.软件工程是指导计算机软件开发和维护的工程学科。( ) 2.在软件工程时期,决定软件质量的主要因素是管理水平. ( ) 3.软件生存期是从软件项目需求定义直至软件开始使用为止。() 4.常用的软件生存周期模型有瀑布模型和结构化模型。() 5.瀑布模型是一种线形的、顺序的软件开发模型( ) 6.瀑布模型的关键不足在于不能适应需求的动态变更.( ) 7.快速原型模型是为了克服瀑布模型的缺点而提出来的。() 8.快速原型模型可以有效地适应用户需求的动态变化。() 9.风险分析是螺旋模型的优点,因此螺旋模型适合任何大系统的开发。() 三、简答题 1、什么软件工程?什么是软件过程? 2、软件工程学的主要内容是什么? 3、什么是软件生命周期?软件生命周期为什么要划分阶段?划分阶段的原则是什么?第二章可行性研究与软件开发计划 一、选择题 1.经济可行性研究的范围包括( C ) A.资源有效性 B.管理制度 C.效益分析 D.开发风险 2.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。 A.确定 B.行或不行 C.正确 D.无二义 3.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持 4.一个项目是否开发,从经济上来说是否可行,归根结底是取决于对( A ) A.成本的估算B.项目计划C.工程管理D.工程网络图 5. 可行性研究的目标是( B )

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

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)对于项目的其余大多数工作,需求

《软件工程》期末复习题1(精)

考试时间: 16周周一5,6节 考试地点: 二教419 406 408 考试题型: 选择题:20分 简答题:30分 应用题:50分 各章内容及题型总结: 第1,2章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么?答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义?答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 IEEE的定义:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。 3. 软件工程研究的主要内容是什么?答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。

4. 软件工程的7条基本原理是什么?答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期?答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗?答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些?答:结构化方法和面向对象方法。 9. 软件工程师职业道德规范的8组关键词是什么?1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 10. 职业化软件工程师要注意的十大问题是什么?答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第3章本章的题型主要是选择题。 1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。

软件工程习题200题

软件工程习题200题 1、什么是软件危机?产生软件危机的原因?怎样消除? 2、什么是软件工程?包括哪些内容? 3、软件生存周期包含哪些内容? 4、软件开发模型有几种?各有什么特点? 5、软件技术审查和管理复审的作用是什么? 6、软件开发与写程序有什么不同? 7、在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性? 8、一个软件开发系统的可行性研究报告应如何编写? 9、数据流图有哪几种基本符号? 10、画数据流图原则是什么? 11、数据流图在软件分析中的作用是什么? 12、数据字典的作用? 13、什么是数据字典?有几个定义?各自特点是什么? 14、有几种效益的分析方法? 15、需求分析的任务是什么? 16、需求分析通常采用哪些分析技术? 17、什么是结构化分析?他的结构化体现在哪里? 18、简述面向对象分析技术的主要步骤? 19、原型开发技术的目的,特点是什么? 20、简述总体设计的一般过程? 21、什么叫软件结构?什么叫软件工程?二者之间关系? 22、解释深度、宽度、扇出、扇入对软件的影响。 23、什么叫模块化?M代表的含义是什么? 24、模块化的三个重要特征是什么?阐明各自的作用。 25、举例说明各种耦合情况和各种内聚情况。 26、简述设计准则的内容。 27、简述层次方框图与软件结构图的异同点。

28、事物型软件结构图有什么特点?原因是什么? 29、详细设计的任务是什么? 30、什么是结构化程序设计?用N-S图表示三种基本结构。 31、简述Jackson程序设计方法的主要内容。 32、简述Wariner程序设计方法的主要内容。 33、McaHei(Muahe,笔记有些模糊,未校正)方法的核心是什么?有何用途? 34、简述程序设计语言两次本质性变化的内容及意义。 35、C语言属于第几代语言?第四代语言特点是什么? 36、简述高级语言的应用特点和内在特点。 37、试分析程序设计语言特点及软件可靠性、可理解性、可修改性、可测试性及成本的关系。 38、选择一种语言的实用标准是什么? 39、简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。 40、程序的编码风格主要体现在哪几个方面? 41、软件测试的基本任务是什么?测试与调试区别是什么? 42、软件测试的目标是什么? 43、软件测试分几个步骤进行?每个步骤解决什么问题? 44、软件测试有几种方法?每种方法的特点是什么? 45、软件出错有几种类型?验证其程序正确性有几种方法? 46、什么是单元测试和集成测试?他们各有什么特点? 47、简述渐增式测试方法与非渐增式测试方法的优劣。 48、简述存根程序驱动程序的作用。 49、编最大、最小公倍数程序,并为它设计测试用例。 50、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务? 51、举出几种常用的测试工具,说明他们的用法。 52、MTTF的含义是什么?如何计算Et值? 53、假设有一个由1000行Pascal语句构成的程序(编译后约有5000条机器指令),请估算对它进行测试期间将发现多少错误。为什么? 54、什么叫软件维护?软件维护的基本内容是什么? 55、软件维护分几类?每类的基本内容是什么?占软件维护总工作量的百分比是多少?

《软件工程》期末考试及答案

的年 值

1.简述容错技术的四种主要手段, 并解释。 2. 3. 就程序设计语言的工程特性而 言,对程序编码有哪些要求? 4. 模块的内聚性包括哪些类型? 四、理论应用题(每小题15分,共30分) 1. 请使用PAD图和PDL语言描述在 数组A(1)~A(10)中找最大数的 算法。 2.根据下列条件使用等价类划分法 设计测试用例。某一8位微机,其八 进制常数定义为:以零开头的数是八 进制整数,其值的范围是-177~177, 如05,0127,-065。 五、实践应用题(每小题15分,共15分) 1.某电器集团公司下属的厂包括技 术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中: 生产科的任务是: (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。 (2)根据车间实际生产日报表、周报表调整月生产计划 (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。 (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是: (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上

系统中生产科和技术科处理的软件结构图。 软件工程期末答案一、名词解释题(每题3分,共15分)。 1.是描述软件开发过程中各种活动如何执行的模型。 2.数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。3.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。 4.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。 5.指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。) 二、填空题(每空2分,共20分)。 1.软件配置管理 2.容错功能 3.11 4.可移植性 5.输出结果 6.歧义性 7.模块 8.实例化 9.形式语言 10.F/(1+(n*i)) 三、简答题(每小题5分,共20分)。1.结构冗余:包括静态冗余、动态冗余和混合冗余。 信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

软件工程第一,二章习题doc

第一、二章习题及答案 (一)名词解释 1. 软件 2. 文档 3. 软件危机 4. 软件工程 5. 软件工程过程 6. 软件生存周期 7. 软件生存周期模型(软件开发模型) (二)填空题 1. 在信息处理和计算机领域内,一般认为软件是、和。 2. 国家标准“计算机软件开发规范”中,把软件生存周期划分为8个阶段,即、、、、、、和。 3. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为、、和四个步骤。 4. 软件工程过程包含的7个过程是、、、、、 和。 5. 结构化方法包括结构化方法、结构化方法和结构化程序设计方法。它是一种面向的开发方法,其实质就是分解。 (三)单项选择题 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、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工

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

一、选择题 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.输入、输出、外部实体和加工

-软件工程习题答案参考

软件工程 绪论 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、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结 构化设计方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属 性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的来源和一个(输出)数据流来反映加工的结果

软件工程习题1传统方法

一.选择和判断 软件工程概述 1、软件的主要特性是() A、无形性 B、高成本 C、包括程序和文档 D、可独立构成计算机系统 2、软件工程三要素是() A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 3、包含风险分析的软件工程模型是() A、螺旋模型 B、瀑布模型 C、增量模型 D、喷泉模型 4、软件的生命周期的阶段包括() A、软件需求 B、软件设计 C、风险分析 D、软件实现 5、下列属于面向对象开发方法的是() A、Booch B、UML C、Coad D、OMT 6、软件危机的主要表现是() A、软件成本太高 B、软件产品的质量低劣 C、软件开发人员明显不足 D、软件生产率低下 7、软件开发方法的主要工作模型有() A、螺旋模型 B、喷泉模型 C、瀑布模型 D、专家模型 8、软件工程的目标有() A、易于维护 B、低的开发成本 C、高性能 D、短的开发期 9、软件工程学的目的和意义是() A、应用科学的方法和工程化的规范管理来指导软件开发。 B、克服软件危机。 C、作好软件开发的培训工作。 D、以较低的成本开发出高质量的软件。 10、软件就是程序,编写软件就是编写程序。() 11、瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。() 12、结构化方法的工作模型是使用螺旋模型进行开发的。() 13、结构化方法和JSP方法都不适合于大型软件的开发。()

14、原型化开发方法包括生成原型和实现原型两个步骤。() 15、面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。 () 16、软件危机的主要表现是软件的需求量迅速增加,软件价格上升。() 17、软件工具的作用是为了延长软件产品的寿命。() 18、软件工程过程应该以软件设计为中心,关键是编写程序。() 19、RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品, 而后者将被废弃。() 需求分析 1、需求分析的主要目的是() A、系统开发的具体方案 B、进一步确定用户的需求 C、解决系统是“做什么的问题” D、解决系统是“如何做的问题” 2、需求分析的主要方法有() A、形式化分析方法 B、PAD图描述 C、结构化分析(SA)方法 D、OOA法 3、面向对象的分析方法主要是建立三类模型,即()。 A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型 C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型 4、SA法的主要描述手段有() A、系统流程图和模块图 B、DFD图、数据词典、加工说明 C、软件结构图、加工说明 D、功能结构图、加工说明 5、画分层DFD图的基本原则有()。 A、数据守恒原则 B、分解的可靠性原则 C、子、父图平衡的原则 D、数据流封闭的原则 6、在E-R模型中,包含以下基本成分()。 A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、联系 7、用例驱动的需求方法的主要优点是() A、作为需求分析阶段用户与开发者之间交流信息的工具。 B、对系统的数据结构进行描述。

相关文档
最新文档