文档库 最新最全的文档下载
当前位置:文档库 › 软件工程课复习题(1)

软件工程课复习题(1)

软件工程课复习题(1)
软件工程课复习题(1)

目录

软件工程自测题(一) (1)

软件工程自测题(二) (11)

软件工程自测题(三) (41)

补充编程类题目(四) (50)

1

软件工程自测题(一)

一、单项选择题

1. 软件危机具有下列表现()。

I.软件开发成本估计不准确II. 软件产品的质量往往靠不住

III. 软件常常不可维护IV. 软件成本逐年上升

A. I、II和III

B. I、III和IV

C. II、III 和IV

D. 以上都正确

2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是()。

A. 运行和维护阶段

B. 设计阶段

C. 代码实现阶段

D. 测试阶段

3. 下列属于软件的特点的是()。

A. 软件是一种逻辑实体,具有抽象性

B. 软件在使用过程中没有磨损、老化的问题

C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高

D. 以上都正确

4. 软件工程的出现是由于()。

1

A. 软件危机的出现

B. 计算机硬件技术的发展

C. 软件社会化的需要

D. 计算机软件技术的发展

5. 软件开发技术不包含()。

A. 软件开发方法学

B. 软件工程环境

C. 软件工具

D. 软件质量度量

6. 软件工程的课程特点()。

I. 学科理论及其知识应用的多维性

II. 工程化

III. 浓厚的方法学色彩

IV. 实践性、指导性强

A. I、II和III

B. I、III和IV

C. II、III和IV

D. 以上都正确

7. 下列属于应用软件的是()。

I. 计算机辅助教学软件II. 软件测试工具

III. 办公自动化软件IV. 工程与科学计算软件

A. I、II和III

B. I、III和IV

C. II、III和IV

D. 以上都正确

2

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. 逐步求精

3

13. 耦合度最高的是()耦合。

A. 环境

B. 内容

C. 控制

D.

数据

14. 内聚程度较低的是()内聚。

A. 偶然

B. 通讯

C. 顺序

D.

时间

15. 对一个程序来说,组成系统的模块数目(),则开发成本越小。

A. 越多

B. 越少

C. 顺序

16. 画软件结构图时应注意调用关系只能是()。

A. 从下到上

B. 从上到下

C. 从左到右

D. 从右到左

17. 程序流程图中的箭头代表()。

A. 数据流

B. 控制流

C. 顺序流

D. 调用

18. 软件测试是软件质量保证的重要手段,下述()是软件测试的最基础环节。

A.功能测试

B. 单元测试

C. 结构测试

D. 确认测试

19. 软件测试方法中,黑盒测试法主要用于测试()。

A. 结构合理性

B. 软件外部功能

4

C. 程序正确性

D. 程序内部逻辑

20. 软件测试是软件质量保证的主要手段之一,测试的目标是()。

A. 证明软件符合设计要求

B. 发展软件的潜在能力

C. 发现软件中的错误和缺陷

D. 判定软件是否合格

21. 选择程序设计语言的关键因素是()。

A. 软件应用领域

B. 软件执行环境

C. 软件开发方法

D. 算法和数据结构

二、填空题

1. 计算机软件不仅仅是程序,还应该有一整套文档。

2. 传统的软件生存期模型是瀑布模型。

3. 软件按照功能的不同可以划分为3大类型系统软件、支持软件和应用软件。

4. 与程序流程图相比,盒图没有箭头,因此不允许随意转移控制。

5. 好的测试方案是极可能发现了迄今为止尚未发现的错误的测试方案。

三、判断题(正确的划“√”,不正确的划“×”)

5

1. 在软件的开发过程中,工作量最大的一个阶段就是编写程序。

错误。在软件的开发过程中,工作量最大的一个阶段应是测试阶段。

2.一般说来,模拟的内聚程度越高,它们之间的耦合程度也就越高。

错误。一般说来,模块的内聚程度越高,它们之间的耦合程度也就越低。

3.软件测试只能证明程序有错误,不能证明程序没有错误。

错误。结构化程序设计方法能改善程序结构,但往往降低他程序的运行效率。

4.结构化程度设计方法能改善程序结构,提高程序的运行效率。

错误。结构化程度设计方法能改善程序结构,但往往会降低程序的运行效率。

5.如果测试数据满足条件覆盖,则必然满足判定覆盖。

错误。对于特定的程序而言,满足条件覆盖的测试数据不一定必然满足判定覆盖。

四、综合题

1. 求100~1000间的素数。请画出描述该问题的N-S图。

6

7

1.

2. 将下列数据流图转换为控制结构图。

3. 已知有如下程序段:

begin

p1;

if C1

then while C2 do

p2

else p3;

while C3 do

begin p4;

if C4

then p5

else p6

end;

p7;

if C5

then repeat p8 until c6

else p9;

end

8

9

(1)请用PAD 图描述;

10

(2)请用程序流程图描述。

软件工程自测题(二)

一、填空题

1. 软件是计算机程序及其说明程序的各种文档。程序是计算机任务的处理对象和处理规则的描述;文档是有关计算机程序功能、设计、编制、使用的文字或图形资料。

2. 软件生产的发展,到现在为止,经过三个阶段,即程序设计时代,程序系统时代,软件工程时代。

3. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

4. 结构化方法由结构化分析、结构化设计、结构化程序设计构成。它是一种面向数据流的开发方法。

5. Jackson方法是一种面向数据结构的开发方法。

6. 软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

7. 可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、操作可行性。

8. 效益分析有形效益和无形效益两种。有形效益可以用货币的时间价格、投资回收期、纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。

9. 结构化分析方法是面向数据流进行需求分析的方法。

11

10. 在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。数据字典定义了数据流图中每一个图形元素。结构化语言、判定表或判定树则详细描述数据流图中不能被再分解为每一个加工。

11. 数据流图有四种基本成分:数据流、加工(又称为数据处理)、文件、数据的源点或终点。

12. 数据字典有以下四类条目:数据流、数据项、文件、基本加工。数据项是组成数据流和数据存储的最小元素。

13. 数据字典中的加工逻辑主要描述该加工“做什么”,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。

14. 加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:结构化语言、判定表、判定树。

15. 结构化语言是介于自然语言(英语或汉语)和形式语言之间的一种半形式语言。它的结构可分成外层和内层两层,外层用来描述控制结构,采用顺序、选择、重复三种基本结构。

16. 三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用结构化语言描述。对于存在多个条件复杂组合的判断问题,用判定表和判定树。

17. 在软件需求分析阶段,已经搞清楚了软件的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。

12

18. 软件结构的设计是以模块为基础的,以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。

19. 在一个模块中,输入/输出反映模块的外部特性,程序及数据反映它的内部特性。

20. 衡量模拟独立性的两个定性的度量标准是内聚性和耦合性。

21. 耦合性也称块间联系。指软件系统结构中相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模拟的独立性则越差。

22. 内聚性又称块内联系。指模拟的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。

23内聚性有六种类型:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。

24. 偶然内聚指一个模块内的各处理元素之间没有任何联系。这是内聚程度最差的内聚。

25. 逻辑内聚指模拟内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。把需要同时执行的动作组合在一起形成的模块为时间内聚模块。

26. 耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

13

27. 结构图的主要内容有:模块、模块调用、参数传递。

28. 模块的扇出指一个模块直接下属模块的个数,扇入指一个模块直接上属模块的个数。

29. 要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型。各种软件系统,一般可分为变换型和事务型两类。

30. 变换型的DFD是由输入、变换(或称处理)和输出三部分组成。

31. 变换型数据处理的工作过程一般分为三步:取得数据、变换数据和输出数据,这三步体现了变换型DFD 的基本思想。

32. 在变换型DFD中,变换是系统的主加工,变换输入端的数据流称为系统的逻辑输入,输出端的数据流为逻辑输出。而直接从外部设备输入数据称为物理输入,直接从外部设备上的输出数据称为物理输出。

33. 若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为事务型的数据流图,这个加工称为事务处理中心。

34. 任何程序都可由顺序、选择、重复三种基本控制结构构造。这三种基本结构的共同点是单入口、单出口。

35. 详细描述处理过程常用三种描述工作:图形、表格和语言。

14

36. 程序流程图又称为程序框图,应由三种基本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这样的流程图是结构化的流程图。

37. 伪码的结构一般分为内外两层,外层语法应符合一般程序设计语言常用的语法规则,而内层语法则用一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。

38. Jackson方法是面向数据结构的设计方法。

39. 汇编语言是面向机器的,可以完成高级语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。

40. 近年来,推出了许多面向对象的语言,如C++、Java等

41. 软件测试是为了发现错误而执行程序的过程。一个好的测试用例能够发现至今尚未发现的错误。一个成功的测试是发现了至今尚未发现的错误的测试。

42. 软件测试方法一般分为两大类:动态测试方法与静态测试方法。

43. 动态测试方法中根据测试用例的设计方法不同,分为黑盒测试与白盒测试两类。

44. 动态测试指通过运行程序发现错误。对软件产品进行动态测试时,使用黑盒测试法和白盒测试法。

45. 黑盒法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程。只在软件的

15

接口处进行测试。

46. 白盒法把测试对象看作一个打开的盒子,测试人员需了解程序的内部结构和处理过程。

47. 语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次。语句覆盖是比较弱的覆盖标准。

48. 用墨盒技术设计测试用例的方法有四种等价类划分、边界值分析、错误推测法和因果图。

49. 等价类划分是将输入数据域按有效的(合理的)或无效的(不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。

50. 软件产品在交付使用之前要经过哪些测试呢?一般要经过以下四步测试:单元测试、系统测试、集成测试和确认测试。

二、单项选择题

1. ()是计算机程序及其说明程序的各种文档。

A. 软件

B. 数据

C. 文档

D.

程序

2. ()是有关计算机程序功能、设计、编制使用的文字或图形资料。

A. 程序

B. 文档

C. 软件

D.

数据

3. 软件工程中描述生存周期模型的瀑布模型一般包括

16

计划、()、设计、编码、测试、维护等几个阶段。

A. 需求分析

B. 需求调查

C. 可行性分析

D. 问题定义

4. 系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括()。

A. 软件环境可行性、技术可行性、经济可行性、社会可行性

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

C. 经济可行性、可行性、系统可行性

D. 经济可行性、实用性、可行性

5. 软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别,分析与综合,制定规格说明以及()。

A. 总结

B. 实践性报告

C. 需求分析评审

D. 以上答案都不正确

6. 在结构化分析方法中,用以表达系统内数据的运动情况的工具有()。

A. 数据流图

B. 数据词典

C. 结构化英语

D. 判定树与判定表

7. 数据词典的任务是对于数据流图中出现的所有被命名的数据元素,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的()。

17

A. 对象

B. 解释

C. 符号

D. 描述

8. 在数据流图的基本图形符号中,加工是以数据结构或()干什么为加工对象的。

A. 数据内容

B. 信息内容

C. 信息结构

D. 信息流

9. 软件需求分析的任务不应包括()。

A. 问题分析

B. 信息域分析

C. 结构化程序设计

D. 确定逻辑模型

10. 进行需求分析可使用多种工具,但()是不适用的。

A. 数据流图

B. 判定表

C. PAD图

D. 数据词典

11. 结构化分析方法(SA)是一种面向()的需求分析方法。

A. 对象

B. 数据结构

C. 数据流

D. 控制流

12. 结构化分析方法(SA)最为常见的图形工具是()。

A. 程序流程图

B. 实体联系图

C. 数据流图

D. 结构图

13. 在结构化分析方法(SA),与数据流图配合使用的是()。

18

A. 网络图

B. 实体联系图

C. 数据字典

D. 程序流程图

14. 在数据流图中,有名字及方向的成份是()。

A. 控制流

B. 信息流

C. 数据流

D. 信号流

15. 在数据流图中,不能由计算机处理的成份是()。

A. 控制流

B. 结点

C. 数据流

D. 数据源/终点

16. 通过()可以完成数据流图的细化。

A. 结构分解

B. 功能分解

C. 数据分解

D. 系统分解

17. 数据存储和数据流都是(),仅仅所处的状态不同。

A. 分析结果

B. 事件

C. 动作

D. 数据

18. 数据流图和()共同构成系统的逻辑模型。

A. IPO图

B. PDL

C. 数据字典

D. 层次图

19. 结构分析方法就是面向()自顶向下逐步求精进行需求分析的方法。

A. 目标

B. 数据流

C. 功能

D.

19

软件工程模拟题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

软件工程复习试题及答案.

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7 中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程复习题

一、单选题 1.软件结构图的形态特征能反映程序重用率的是() a)A、深度 B、宽度C、扇入 D、扇出 2.在大型数据处理系统的功能分析和设计中,数据库的概念设计对应于系统开发的( ) a)A、需求分析 B、概要设计C、详细设计 D、程序设计 3.为了提高模块的独立性,模块内部最好是() a)A、逻辑内聚 B、时间内聚C、功能内聚 D、通信内聚 4.需求分析最终结果是产生() a)A、项目开发计划 B、需求规格说明书C、设计说明书D、可行行分析报告 5.软件是一种() a)A、程序 B、数据C、逻辑产品 D、物理产品 6.信息隐蔽概念与()概念有直接的关系 a)A、模块的独立性 B、模块类型的划分C、软件结构定义 D、软件生命周期 7.不属于序言性注释的有() a)A、模块设计者B、修改日期C、程序的整体说明D、语句功能 8.单元测试阶段主要涉及()的文档。 a)A、需求设计 B、编码和详细设计C、详细设计D、概要设计 9.在软件测试中,白盒测试方法是通过分析程序的()来设计测试用例的方法。( ) a)A、应用范围B、内部逻辑C、功能 D、输入数据 10.需求分析是系统分析师经了解用户的需求,认真仔细的调研、分析,最终建立目标系统 的逻辑模型并写出() a)A、模块说明书B、软件规格说明书C、项目开发计划 D、合同文档 11.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( ) a)A、系统软件B、容错软件C、测试软件 D、操作系统 12.产品管理包括版本管理和() a)A、质量管理 B、性能管理C、开发过程管理 D、配置管理 13.ISO9001质量管理体系认证等同于能力成熟度模型中的第几级() a)A、CMM1 B、CMM2 C、CMM3 D、CMM4 E、CMM5 14.ISO9001质量管理体系认证只做到() a)A、历史记录可查询B、错误原因可查询 15.为了克服软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。 a)A、数据B、软件学C、运筹学D、工程学 16.可行性研究的目标是() a)A、开发项目B、项目是否值得开发C、规划项目 D、维护项目 17.结构化程序设计思想的核心是要求程序只由顺序、循环和()三种结构组成A、 选择 B、单入口C、单出口D、有规则的GOTO 18.纠错是由()完成的

软件工程模拟试题1

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、OO面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。 三 四 五 六 5、以下不属于白盒测试技术的是(D)。 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器)。 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并

开始a b c d e j 结束 f g h i d a b c f h g e i j R2 R1 R3 R4 R5 1 2 3 5 4 67 10 1112 13 89 最终可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 四、简答题(每小题4分,共20分) 1、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。0101 2、需求分析的任务是什么? 需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。 3、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。 4、快速原型技术的基本思想是什么? 在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。 5、程序设计语言的有哪些特点? 1)一致性 2)二义性 3)紧致性 4)局部性 五、综合题(每小题10分,共20分) 1、可将软件生存周期划分为哪3个过程和哪9个阶段。 解:(1)3个过程是:软件定义过程、软件开发过程、软件使用与维护过程。 (2)9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。 2、画出与图1所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。 解:(1)程序图如(图2)所示: (2)计算其巡回秩数:V(G)=E –N +2=13 –10 +2=5 (图一)(图二)

2010软件工程复习题及参考答案

中南大学现代远程教育课程考试复习题及参考答案 软件工程 一、选择题: 1.下面哪些UML图描述系统行为() A.用例图 B.类图 C.对象图 2.属于概要设计活动的是() A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是() A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是() A.UML是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5. 根据程序流程图划分的模块通常是() A. 信息内聚的模块 B. 过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其McCabe环形复杂度为() A.m-1 B.m C.m+1 7.按ISO9000-3的说明,下列属软件配置项的是() A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8. 软件测试的目的是() A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是() A. 软件体系结构 B. 模块细节 C.软件性能 10.软件项目开发计划的内容有() A. 数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的有() A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价() A.软件过程能力 B.组织能力 C.学习能力 13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为() A. 完善性维护 B. 改正性维护 C.适应性维护 14. 对项目软件而言,软件功能需求信息主要由谁提供() A.软件用户 B.软件开发人员 C.软件项目管理人员 15. IDEF0图反映不出() A.系统做什么 B.系统功能由谁做 C.系统如何做 16. 原型模型是一种什么开发过程模型() A.自顶向上 B. 由外至内 C.增量式 17. 系统流程图描述() A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括() A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型有() A. 瀑布模型 B. RAD模型 C.原型模型 20.UML图中描述系统结构的有() A. 组件图 B. 顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法() A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的有() A.可靠性 B.可用性 C.可行性 23. 系统分析员在需求分析最后负责编写()

软件工程复习题

一、判断 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 改错 (1).(×)在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 改正:在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。 (2).(√)在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。 (3).(×)软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。 改正:软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。 (4).(√)模型是对现实的简化,建模是为了更好地理解所开发的系统。 (5).(×)UML语言支持面向对象的主要概念,并与具体的开发过程相关。 改正:UML语言支持面向对象的概念,并独立于具体的开发过程。 (6).(√)用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。 (7).(×)好的测试用例应能证明软件是正确的。 改正:好的测试用例在于能发现至今未发现的错误。 (8).(√)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 二、填空

《软件工程》期末复习题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. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。 3. 可行性研究的实质:是要进行一次简化了的系统分析和设计过程。首先要分析和澄清问题定义,导出系统的逻辑模型,探索若可供选择的方案,对每种方案仔细研究它的可行性。推荐一个较好的解决方案和一个初步的计划。 第4,5章本章的题型有选择题。 2. 什么是需求工程?需求工程是指应用有效的技术和方法进行需求分析,确定客户需求,帮助分析人员理解问题,定义目标系统的外部特征的一门学科。需求工程中的主要活动有:需求获取、需求分析、需求规格说明、需求验证和需求变更管理。

软件工程练习题目及答案

1.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱 产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用PDL语言、判定表和判定树分别描述上述问题。 答:PDL语言描述: If(年龄<20){ If(文化程度=”初中”){ 脱产学习; } Else if (文化程度=”高中”){ 当电工; } } Else if (年龄<40){ If(文化程度=”初中” ||文化程度=”高中”){ If(性别=”男”){ 当钳工; } Else { 当车工; } }

Else{ 当技术员; } } Else{ If(文化程度=”初中” ||文化程度=”高中”){当材料员; } Else { 当技术员; } } 判定表

判定树 ---20<=<40----???? ?? ???????????? ?? ??????? 初中文化程度脱产学习 年龄<20高中文化程度电工女性车工中学文化程度年龄男性钳工大学文化程度技术员中学文化程度材料员年龄>=40大学文化程度技术员 2. 某考务管理系统有如下要求: (1)对考生送来的报名表进行检查; (2)对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生 名单送给阅卷站; (3)对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合 格者; (4)填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生; (5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难 度分析,产生统计分析表。 画出该系统的分层数据流图。

软件工程复习题及答案

二、填空题 1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。 3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__内聚性_____。 5.数据流图(DFD)一般可分为变换型和__事务性_____两类。 6.软件维护的内容包括校正性维护、适应性维护、__完善性维护__和预防性维护。 7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。 9.状态图反映了_事件与状态____的关系。 10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。11.组成软件的两个部分是:____程序和文档________。 14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。15.Jackson方法是一种面向___数据结构_____的开发方法。 16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。 17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。 19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。 22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。 23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。 24.数据流图描绘数据在系统中___流动和处理___的过程。 25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。 26.软件详细设计阶段常采用的工具有图、表和____语言_______。 28.实现容错技术的主要手段是__冗余_____。 29.软件开发环境的目标是提高软件开发的生产率和__降低软件的费用__。 32.软件工程管理中的控制包括进度控制、人员控制、经费控制和_____质量控制______。33.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_演化型原型34.软件复杂性主要表现在程序的复杂性。程序的复杂性主要指___模块内___程序的复杂性。35.白盒法中,__基本路径测试_______首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。 36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是__PAD图。37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是__控制耦合______。 38.结构化分析是面向__数据流_____进行需求分析的方法。

软件工程期末试题及答案

软件工程期末试题及答案 选择题 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)编码

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、不确定的

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

《软件工程》模拟试卷 (1)

软件工程概论考试模拟试卷 科目:软件工程概论 专业: 一、 单项选择题:在每小题列出的四个备选答案中只有一个....答案.. 是符合题目要求。请将正确答案填入“单项选择题答题表”对应的格中。未填入答题表、 (每小题1分,本题共计20分) 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. 使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关 联的信息:()。 A.数据对象,属性,方法 B.数据对象,属性,联系 C.数据表,属性,联系 D.数据表,实体,联系 8. 模块的内聚性最高的是( )。 A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 9. 在软件工程中,描绘软件结构的图形工具不包括()。 A. 层次图 B. HIPO图 C.PAD图 D.H图 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.应用范围 B.内部逻辑 C.功能 D.输入数据16. 为了满足用户在使用过程中对软件提出的新的功能与性能要求,需要 对原来的软件的功能进行修改或扩充。这种维护的维护类型是()。 A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护17. 软件调试技术包括()。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试18. 在整个软件维护阶段所花费的全部工作中,哪种维护所占比例最大? () A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护

软件工程习题(附(附答案))

第一章概述 1.软件产品具有哪些特性? 答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性 软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的 a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的成本主要体现在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别. ⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品. ⑶软件产品不会用坏,不存在磨损,消耗. ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的 ⑸开发软件的费用不断增加,致使生产成本相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程? 答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件” 的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须 的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不 超过预算,并满足用户要求; 3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段? 答:定义时期:问题的定义(客户需求)、可行性研究(为什么做); 开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。 运行时期:软件维护。 4.依下列叙述确定软件生命周期模型。 M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已 经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认 为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐 明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。 5.依下列叙述确定软件生命周期模型。 假设要求你开发一个软件,该软件的功能是

软件工程期末考试复习题

《软件工程》选择题 一、选择题(在每小题得四个备选答案中,选出一个正确答案,并将正确答案得序号填在题干得括号内,每小题1分) 软件工程 1、软件产品得开发主要就是(D )。 A、复制B、再生产C、拷贝 D、研制 2、作坊式小团体合作生产方式得时代就是(C )时代。 A、程序设计B、软件生产自动化 C、程序系统 D、软件工程3、软件工程与计算机科学性质不同,软件工程着重于(C )。 A、理论研究 B、原理探讨 C、建造软件系统 D、原理得理论 4、与计算机科学得理论研究不同,软件工程就是一门(C)学科。 A、理论性B、原理性C、工程性D、心理性 5、软件工程得出现主要就是由于( C )。 A、程序设计方法学得影响 B、其它工程科学得影响 C、软件危机得出现 D、计算机得发展 6、在软件工程项目中,不随参与人数得增加而使软件得生产率增加得主要问题就是( D ) A、工作阶段间得等待时间 B、生产原型得复杂性 C、参与人员所需得工作站数 D、参与人员之间得通信困难 7、软件工程方法学得目得就是:使软件生产规范化与工程化,而软件工程方法得以实施得 主要保证就是(C ) A、硬件环境 B、软件开发得环境 C、软件开发工具与软件开发得环境D、开发人员得素质 8、下列不属于软件工程方法学三要素得就是( D ): A、方法 B、工具 C、过程 D、操作 周期 1、将每个模块得控制结构转换成计算机可接受得程序代码就是(A )阶段得任务。 A、编码 B、需求分析 C、详细设计 D、测试 2、可行性研究得目得就是决定( B )。 A、开发项目 B、项目值得开发否 C、规划项目 D、维护项目 3、据国家标准GB8566-8计算机软件开发得规定,软件得开发与维护划分为八个阶段,其中组装测试得计划就是在( C )阶段完成得? A、可行性研究与计划 B、需求分析 C、概要设计D、详细设计4、初步用户手册在( B )阶段编写。 A、可行性研究B.需求分析C.软件概要设计D.软件详细设计 5、在软件得可行性研究中,可以从不同得角度对软件得可行性进行研究,其中就是从软件得 功能可行性角度考虑得就是(B ) A、经济可行性 B、技术可行性C、操作可行性D、法律可行性 6、瀑布模型把软件生命周期划分为八个阶段:问题得定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试与运行、维护。八个阶段又可归纳为三个大得阶段:计划阶段、开发阶段与( C )。 A、详细计划 B、可行性分析 C、运行阶段D、测试与排错

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

《软件工程》期末考试样题 一、填空题 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. C. D. 3.对于螺旋模型,下列( D )不是利用笛卡尔坐 标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD )。 A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(ABCD )。 A.表头 B.表体 C.表名 D.字段名 3.关于内容耦合的描述正确的是(AD )。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合 C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式(BCD )。 A、书写时适当使用空格分隔 B、一行写入多条语句 C、嵌套结构不使用分层缩进的写法 D、程序中不加注释 四、判断题(正确的在括号内打上“√”,错误的打上“×”) 1.软件生存周期是从软件开始开发到开发结束的整个时 期。() 2.系统流程图是一个典型的描述逻辑系统的传统工具。 () 3.数据流图和数据字典共同构成系统的逻辑模型。 (1) 4.扇出是一个模块直接调用的模块数目,一般推荐的扇出 为3或4。( 1 ) 5.耦合用于衡量一个模块内部的各个元素彼此结合的紧 密程度。()

软件工程复习题及答案

一、画出实际的瀑布模型p16 三、画出增量模型p18 五、可行性研究的工作过程及内容p36 答:1).复查系统规模和目标; 2).研究目前正在使用的系统; 3).导出新系统的高层逻辑模型; 4).进一步定义问题; 5).导出和评价供选择的解法; 6).推荐行动方针;7).草拟开发计划;8.书写文档提交审查。 六、可行性研究的目的是什么?要如何进行?p35 答:目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。 首先,需要进一步分析和澄清问题定义。之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干可供选择的主要解决方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 二、画出快速原型模型p17 四、画出简化的螺旋模型p20 软件工程考试复习题

七、需求分析的任务是什么?进行需求分析时要重点考虑哪些方面的问题?p56 答:1、确定对系统的综合要求:1).功能需求——指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。2).性能需求——性能需求指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3).可靠性和可用性需求——可靠性是指确保各应用及其相关的所有交易的完整性和一致性的能力;可用性是指一个系统应确保一项服务或者资源永远都可以被访问到。4).出错处理需求——说明系统对环境错误应该怎样响应。5).接口需求——描述应用系统与它的环境通信格式。6).约束——在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7).逆向需求——说明软件系统不应该做什么。8).将来可能提出的要求——应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2、分析系统的数据要求。 3、导出系统的逻辑模型。 4、修正系统开发计划。 八、典型的总体设计过程包括哪些步骤?p92 答:典型的总体设计过程包括九个步骤: 1)、设想供选择的方案;2)、选取合理的方案;3)、推荐最佳方案;4)、功能分解;5)、设计软件结构;6)、设计数据库;7)、制定测试计划;8)、书写文档;9)审查和复查。 九、总体设计的主要任务是什么?总体设计的主要过程有哪些?p91 答:主要任务: 总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要的任务是设计软件的结构,也就是要确定系统中每个程序是由哪个模块组成,以及这些模块相互间的关系。 主要过程: ①寻找实现目标系统的各种不同的方案。②从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。③进行成本/效益分析,并且制定实现这个方案的进度计划。从中选出一个最佳方案。④进一步为这个最佳方案设计软件结构。⑤进行必要的数据库设计,确定测试要求并且制定测试计划。 十、何谓耦合?有哪些类型?软件设计应该取哪种类型?p97 答:耦合是对一个软件结构内不同模块之间互连程度的度量。 类型:数据藕合、控制藕合、公共环境藕合、内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 十一、何谓内聚?有哪些类型?软件设计应该取哪种类型?p98 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

相关文档
相关文档 最新文档