电大考试2017年软件工程简答题(整理篇)

电大考试2017年软件工程简答题(整理篇)
电大考试2017年软件工程简答题(整理篇)

简答题

1.什么是软件危机?试简述至少3种软件危机的典型表现。

答:(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严

重问题。

(2)典型表现:

●开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;

●软件需求分析不够充分,用户不满意“已经完成”的软件系统。

●软件质量难于保证;

●软件维护困难;

●通常没有保留适当的文档资料

●开发成本逐年上升;

●软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入

的趋势

2.简述软件过程模型

答:(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。

(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。

3.简述结构化分析的主要步骤

答:(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工

处理说明(IPO图),实体关系图。(2)以初始数据流程图为基础,从数据流程

图的输出端开始回溯。在对数据流程图进行回溯的过程中可能会发现丢失的处

理和数据,应将数据流程图补充完善。(3)对软件性能指标、接口定义、设计

和实现的约束条件等逐一进行分析。(4)系统分析人员与用户一起对需求分析

的结果进行复查。(5)根据细化的需求修订开发计划。(6)编写需求规格说

明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。

4. 请给出软件工程七条基本原理中的任意6条基本原理。

答:原理1.用分阶段的生命周期计划严格管理。原理2.坚持进行阶段评审。

原理3.实行严格的产品控制。理4.采用现代程序设计技术。原理5.结果应

能清楚地审查。原理6.开发小组的人员应该少而精。原理7.承认不断改进软

件工程实践的必要性

5.软件工程为什么要强调规范化和文档化?

答:(1)软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守

相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便

于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,

便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过

对提交的文档进行技术审查和管理审查,保证软件的质量。

6.简述模块独立性,内聚与耦合。

答:模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能,

而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模

块独立性比较强的模块应是高内聚低耦合的模块。

7.设计下列伪程序的语句覆盖测试用例。

BEGIN

INPUT(A,B,C)

IF A>5 THEN

X=10

ELSE

X=1

END IF

IF B>10 THEN

Y=20

ELSE

Y=2

END IF

IF C>15

THEN Z=30

ELSE Z=3

END IF

PRINT(X,Y,Z)

END

答:因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执

行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。下面是实现语句覆盖的典型测试用例:

(1)使3个判定表达式之值全为假,输入:A=1,B=1,C=1,预期的输出:X=1,Y=2,Z=3

(2)使3个判定表达式之值全为真,输入:A=20,B=40,C=60,预期的输出:

X=10,Y=20,Z=30

8. 为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。

答:(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维

护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应

变能力。

(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移

植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。

(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和

可用性,收集出错信息并进行分类统计,为今后的维护打下基础。

9.简述在项目开发时选择程序设计语言的主要考虑的因素。

答:编程人员的水平和编程经历;待开发的软件类型;算法和计算复杂性;数

据结构的复杂性;软件的开发成本和时间要求;软件可移植性要求;可用的软

件工具。10.设计下列伪程序的条件组合覆盖测试用例。

BEGIN

INPUT(A,B)

IF(A>0) AND (B>0) THEN

X=A+B

ELSE

X=A-B

END

IF (C>A) OR (D

Y=C-D

ELSE

Y=C+D

END

PRINT(X,Y)

END

答:条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少

出现一次。

本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总

共有8种可能的条件组合,它们是:

A>0,B>0

A>0,B<=0

A<=0,B>0

A<=0,B<=0

C>A,D

C>A,D>=B

C<=A,D

C<=A,D>=B

下面的4个测试用例,可以使上面列出的8种条件组合每种至少出现一次:

实现1,5两种条件组合

输入:A=1,B=1,C=2,D=0

预期的输出:X=2,Y=2 (1分)

实现2,6两种条件组合

输入:A=1,B=0,C=2,D=1

预期的输出:X=2,Y=1 (1分)

实现3,7两种条件组合

输入:A=0,B=1,C-1,D=0

预期的输出:X=-1,Y=-1 (1分)

实现4,8两种条件组合

输入:A=0,B=0,C=-1,D=1

预期的输出:X=0,Y=0 (1分)

1、试从软件的特点出发分析软件危机产生的原因。

答案:

a)软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通

过观察、分析、思考和判断才能了解它的功能和性能。

b)软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的

问题。计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软

件也需要不断维护,并且维护的成本通常比开发成本高许多。

c)软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命

的问题,就是为应用“量身订做”软件。长期以来,软件给人的感觉是

修改几条指令很简单,客户总是强调软件要适应自己的业务需求。因此,软件产品大多是为客户“订做”的,通用性差。

d)软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程

师提出了很高的要求。

e)软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过

程的特点是“不可见性”,这大大增加了组织管理上的困难。

2、什么是软件生命周期?他分为哪几个阶段?

答案:软件生命周期是一个软件从提出开发要求到废弃为止的整个时期。

分为8个阶段:问题定义、可行性分析、需求分析、概要设计、详细设计、编码、系统测试和运行维护

3、一个程序片段如下,请设计符合条件组合覆盖的测试用例。

……

if (a>=4) && (b<0)

c=a+b;

else

c=a-b;

if (c>3) || (c<1)

printf(“c不在计算区域\n”);

else

printf(“%d\n”, c);

……

答案

a>=4 b<0

a>=4 b>=0

a<4 b<0

a<4 b>=0

c>3

c<=3

c<1

c>=1

综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组

合条件即可):

a=4 b=-1 c=3

a=4 b=0 c=4

a=-1 b=-1 c=0

a=2 b=0 c=2

4、请说明对象模型的作用是什么?

答案:对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中

实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象

方法中,类图是构建对象模型的核心工具。

6、面向对象的分析通常要建立三个模型,请问三个模型的作用?

答案:1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。

2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体

的对象以及它们之间的关系,表示目标系统的静态数据结构。

3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的

系统的“控制”特性。

10、一个程序片段如下,请设计符合判定覆盖的测试用例。

if (a>=5) && (b<0) {

c=a+b;

else

c=a-b;

if (c>5) || (c<1)

printf(“c不在计算区域\n”)

else

printf(“%d\n”, c);

答案

条件:

a>=5 b<0

a>=5 b≮0

c<1

1

符合判定覆盖的测试用例(不唯一):a=5,b=-1,c=4; a=5,b=5,c=0;

11、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。

答案:软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层

其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和

可控性。方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。

12、请为下面的程序设计符合判定覆盖的测试用例。

int main()

{

int a,b,c,x,y,z,t;

scanf(“d%,d%,d%),&a,&b,&c,&t);

if a>5 && t<1 x=10 else x=1;

if b>10 y=20 else y=2;

if c>15 z=30 else z=3;

printf(“d%,d%,d%\n”,x,y,z)

}

答案

条件:

a>5,t=0

a<=5,t=0

b>10

b<=10

c>15

c<=15

测试用例(不唯一):a=6 t=0 b=11 c=16; a=5 t=0 b=10 c=15

13、活动图与状态图的区别?

答案:(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图

描述的是对象的状态及状态之间的转移。(2)使用的场合不同:在分析用例、

理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在

显示一个对象在其生命周期内的行为时,一般使用状态图。

15、请说明判定表的作用及其结构。

答案:判定表是结构化设计的工具,用于多条件的描述。其结构分为4部分:

条件列表、条件组合、操作列表、特定条件下的操作组合。

17、结构化程序设计的特征是什么?

答案:结构化程序设计的特征如下:程序模块只有一个入口和一个出口、程序

中只包含顺序、条件和循环三种控制结构。

19. 活动图与状态图的区别?

答:(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描

述的是对象的状态及状态之间的转移。(2)使用的场合不同:在分析用例、理

解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显

示一个对象在其生命周期内的行为时,一般使用状态图。

1.软件工程的主要目标是什么?

答案:软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:

●实现预期的软件功能,达到较好的软件性能,满足用户的需求。

●增强软件过程的可见性和可控性,保证软件的质量。

●提高所开发软件的可维护性,降低维护费用。

●提高软件开发生产率,及时交付使用。

●合理预算开发成本,付出较低的开发费用。

2.软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析功能需求和非功能需求的区别?

答:(1)功能需求定义了软件开发人员必须实现的软件功能。用户从他们完成

任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有

冗余的,开发人员不能据此编写程序。软件分析人员要充分理解用户需求,将

用户需求整理成软件功能需求。开发人员根据功能需求进行软件设计和编码。(2)非功能需求是对功能需求的补充,可以分两类。一类对用户来说是最重要

的属性,包括有效性、高效性、灵活性、完整性、互操作性、可靠性、健壮性、可用性。另一类对开发者来说是很重要的质量属性,包括可维护性、可移植性、可重用性、可测试性。3.简述面向对象分析的三个模型

答:(1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。

(2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。

(3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。

4.什么是软件?如何评价软件的质量?

答:(1)软件是程序以及开发、使用和维护程序所需的所有文档。

(2)软件质量从可维护性、可靠性、可理解性和效率等方面对软件作较全面的评价。

5.请说明快速原型化模型的基本思想。

答:在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。6.衡量模块独立性的两个标准是什么?它们各表示什么含义?

答:(1)两个定性的度量标准:耦合与内聚性。

(2)耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。(3)内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。7.等价分类法的基本思想是什么?

答:根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。

8.设计下列伪程序的条件组合覆盖测试用例。

BEGIN

INPUT(x,y,z)

IF(y>1) AND (z=0) THEN

x=x/y

END IF

IF(y=2) OR(x=l) THEN

x=x+l

END IF

PRINT(x)

END

答:条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。

本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:

y>1, z=0

y>1, z<>0

y<=1, z=0

y<=1, z<>0

y=2, x=1

y=2, x<>1

y<>2, x=1

y<>2, x<>1

条件组合覆盖设计测试用例:

实现1,6两种条件组合

输入:y=2, z=0, x=4;

实现 2,5两种条件组合

输入:y=2, z=1, x=1;

实现 3,8两种条件组合

输入:y=1, z=0, x=2;

实现 4,7两种条件组合

输入: y=1, z=1, x=1.

9. 活动图与状态图的区别?

答:(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。

(2)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期

内的行为时,一般使用状态图。

10.设计下列伪程序的判定覆盖测试用例。

BEGIN

INPUT(a,b,c,x,y,z,t);

IF (a>10) THEN

x=10

ELSE

x=1

END IF

IF(b>10)AND (t<3) THEN

y=20

ELSE

y=2

END IF

IF(c>15) THEN

z=30

ELSE

z=3

END IF

PRINT(x,y,z)

END

答:判断覆盖标准为,不仅使条语句都至少执行一次,还要是程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。

测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=15

软件工程期末考试题含答案

一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ), A .详细计划 B .可行性分析 C .运行阶段 D.测试与排 错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A ) A .需求分析阶段 B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段, 3.软件工程的出现主要是由于(C ) , A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展, 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C) A.硬件环境 B.软件开发的环境 C.软件开发工具和软件开发的环境 D.开发人员的素质 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A.相互排斥B相互补充C独立使用 D.交替使用 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C) A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法 C.基于对象的面向对象的方法 D.基于数据的数据流开发方法 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A.结构化方法B原型化方法C面向对象的方法 D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A) A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段

(2020年更新)国家开放大学电大本科《软件工程》期末题库和答案

最新国家开放大学电大本科《软件工程》期末题库及答案 考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。本文库还有其他网核及教学考一体化答案,敬请查看。 《软件工程》题库及答案一 一、选择题。请从四个可选项中选择正确答案。(60分,每题3分) 1.软件工程四个层次由下至上是( ),它们的顺序不能互换。 A.质量层、过程层、方法层、工具层 B.过程层、方法层、质量层、工具层 C.方法层、过程层、质量层、工具层 D.方法层、质量层、过程层、工具层 2.根据软件工程的7条基本原理判断下面正确的选项是( )。 A.软件错误发现的时机不重要,重要的是错误的严重程度 B.软件错误只能通过运行代码才能发现 C.软件错误发现的越早改正的成本越低D.需求阶段一般不会引入错误 8.下列有关标准的符号,属于国内标准的是( )。 A.ZG B.GBC.GN D.CB 4.经济可行性研究的主要内容包括( )。 A.开发过程 B.开发工具C.风险分析 D.效益分析 5.( )定义了用户使用该软件要完成的任务。 A.用户需求 B.业务需求C.性能需求 D.功能需求 6.数据流程图上的数据流必须封闭在( )之间。 A.外部过程 B.内部数据 C.内部过程 D.外部实体 7.按照模块独立性,耦合程度由强至弱正确的顺序是( )。 A.外部耦合、控制耦合、数据耦合 B.控制耦合、数据耦合、外部耦合 C.外部耦合、数据耦合、控制耦合 D.数据耦合、外部耦合、控制耦合 8.PDL是描述处理过程( )。 A.做什么 B.为什么做C.怎么做 D.对谁做 9.面向对象的这种( )模式与人们对客观世界的认识规律相符,从而使得面向对象技术在软件工

河南电大软件工程期末试题带答案

试卷代号:1260 中央广播电视大学2018-2018学年度第二学期“开放本科”期末考试(半开卷) 软件工程试卷 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试 结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场o监考人收完 考卷和答题纸后才可离开考场 二、仔细读懂题目的说明,并按题目要求答题。答案一定要写在答题纸的指 定位置上,写在试卷上的答案无效。 三、用蓝、黑圆珠笔或钢笔【含签字笔)答题,使用铅笔答题无效。 一、选择题(请从四个可选项中选择最佳答案0 60分.每题3分l 1.软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是( ).最上层是工具层。 A.过程层&方法层 C.过程层和方法层 D.系统层 2.美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的( )条基本原理。 A.7 B.5 C.3 D.12 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.动作/操作

软件工程 简答题复习题(带答案)

n n g a r 第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来 了解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过 程中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)预算,项目一再拖延。 2)需求,开发的软件不能满足用户的要求,项目成功率低。 3)软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软 件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升 高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法 做到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。

n d A i 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实 施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。软件支持过程由所支持的CASE 工具组成,常用的CASE 工具有Power Designer 和Rational Rose 等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开 发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。 9,请简述现代软件工程与传统软件工程显著的区别和改进。 1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向 对象技术为标志。 2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中, 采用面向对象的思维方式,更加完整、自然地反映客观世界。3)采用架构技术,开发效率、产品质量得到了极大提高。 4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP 模型、 XP 模型、过程改进、能力成熟度模型、配置管理等。 第二章 1,如何理解软件生命周期的内在特征?

软件工程期末考试题3

试卷一 中南大学考试试卷 2006--2006 学年学期时间110分钟 专业年级:总分100分,占总评成绩 100% 注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。 2. 需求分析的基本任务是()。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。 4. 根据程序流程图划分的模块通常是()内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、()和应用软件。 6. UML的定义包括UML语义和()两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。 8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分) 1. 什么是软件工程?软件工程和计算机科学有何区别?

2. 面向对象方法和结构化方法有何区别与联系? 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 4. 什么是设计模式?试举例说明组合设计模式的应用。 5.什么是依赖倒置原则?它和开闭原则有何联系? 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 三、绘图题(本题34分) 1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。

电大期末考试试题带答案1260软件工程资料

试卷代号:1 260 中央广播电视大学2012-2013学年度第一学期“开放本科”期末考试(半开卷) 软件工程试题 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试 结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完 考卷和答题纸后才可离开考场。 二、仔细读懂题目的说明,并按题目要求答题。答案一定要写在答题纸的指 定位置上,写在试卷上的答案无效。 三、用蓝、黑圆珠笔或钢笔(含签字笔)答题,使用铅笔答题无效。 一、选择题(请从四个可选项中选择最佳答案。60分,每题3分) 1.美国卡内基·梅隆大学制定的SW-CMM是( )。 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.PDL是一种( )语言。 A.低级程序设计语言B.建模语言 C.高级程序设计语言D.过程设计语言 7.结构化设计方法划分模块的原则是( )。 A.模块扇出小于5 B.模块扇人小于5 C.低耦合,高内聚D.模块深度小于7 8.配置视图体现了系统的实现环境,反映系统的( )。 A.逻辑架构B.物理架构 C.组成结构D.体系结构 9.角色可以有四种类型:系统的使用者,硬件设备,外部系统和( )。 A.数据库B.接口 C.对象D.时间 10.功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象法中,由( )实现。 A.场景描述B.活动图和场景描述 C.用例图和场景描述D.交互图和场景描述

软件工程课后习题测验简答题

第一章: 三、简答题 1.软件产品的特性是什么? 答:●软件是一种逻辑产品,具有无形性; ●软件产品的生产主要是研制;主要是脑力劳动; ●软件不存在磨损和老化问题,但存在退化问题; ●软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答:①程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设计方法。 ②程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 ③软件工程阶段。 硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3.什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2)软件生产率低,不能满足需要。 4.什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点? 答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简化,是描述软件开发过程中各种活动如何执行的模型,因此又称为软件开发模型。 主要的软件过程模型有:瀑布模型、增量模型、螺旋模型、喷泉模型和基于知识的模型等。 ⑴瀑布模型是经典的软件开发模型,将软件开发活动中的各项活动规定为依线性顺序连接的若干阶段,它简单易用,在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大的作用。但在软件开发实践中也逐渐暴露出它的缺点。它将一个充满回溯的软件开发过程硬性分割为几个阶段,无法解决软件需求不明确或者变动的问题。 ⑵增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。 ⑶螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:制定计划、风险分析、实施工程、客户评估。 ⑷喷泉模型用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。软件开发过程有4

软件工程问答题

/*****************************简答题********************************************/ 1.什么是软件工程?软件工程的目标是什么? 答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。目标:1合理预算开发成本,付出较低的开发费用。2实现预期的软件功能,达到较好的软件性能,满足用户的需求。3 提高软件的可维护性,降低维护费用。4 提高软件开发生产率,及时交付使用 2.指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设 计,系统测试,设计评审,编码,需求规格说明书。 答:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试 3.可行性研究报告的主要内容是什么? 答:可行性研究主要包括以下几个部分: (1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论 4.什么是需求分析?需求分析阶段的基本任务是什么? 答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,“需求分析”就是确定要计算机“做什么”。 任务:确定软件项目的目标和范围。调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作 5.什么是结构化分析方法?该方法使用什么描述工具? 答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。 结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止 描述工具:1系统流程图 2 数据流程图3数据字典4 IPO图 5层次方框图6实体—关系图 7状态—变迁图 6.结构化分析方法通过哪些步骤来实现? 答:1)确定系统的功能要求 2)确定系统的数据要求 3)确定系统的操作要求和界面要求 4) 确定系统的性能要求 5)确定系统的运行要求 6)获得当前系统的物理模型 7)抽象出当前系统的逻辑模型 8)建立目标系统的逻辑 模型。9)修正开发计划 10)如果需要则开发系统原型 7.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义? 答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 数据流图的基本符号的意思: 1.矩形表示数据的外部实体;2.圆角的矩形表示变换数据的处理逻辑; 3.少右面的边矩形表示数据的存储; 4.箭头表示数据流。 8.什么是数据字典?其作用是什么?它有哪些条目? 答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。 作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。 包括的条目:数据流词条数据元素词条数据存储词条数据加工处理词条数据源点及终点词条 9.什么是概要设计?有哪些基本任务? 答:概要设计:根据用户的需求先确定软件系统的总体结构和总的设计原则 基本的任务:设想供选择的方案。推荐最佳方案。功能分解,确定软件结构。设计软件结构。制定测试计划。数据设计。书写文档。包括总体设计规格说明书。用户手册。测试计划。设计审查和复审。 10.详细设计的基本任务是什么?有那几种描述方法? 答:详细设计阶段的任务是要为编写程序代码设计“图纸”,由程序员按“图纸”用某种高级程序设计语言编写程序代码。主要方法有设计程序流程图,表格设计符号以及过程设计语言。 11.什么是变换流?什么是事物流? 答:变换型数据流可以划分为明显的三部分:逻辑输入,中心变换,逻辑输出。事务流的特点是数据沿某个输入路径流动,该路径将外部信息转换成事务,其中发射出多条事务处理路径的中心处理被称为中心事务 12.模块的内聚有哪几种?模块间的耦合有哪几种? 答:内聚分为七种类型:巧合内聚:一个模块执行多个完全互不相关的动作,那么这个模块就有巧合内聚逻辑内聚:当一个模块执行一系列相关的动作时,称其有逻辑内聚。时间性内聚:当一个模块内的多个任务是与时间有关时,这个模块具有时间性内聚。过程内聚:模块执行的若干动作之间有顺序关系。通信内聚:模块执行的若干动作之间有顺序关系,并且所有动作是在相同的数据上执行。信息内聚:一个模块中执行一系列动作,每个动作都有自己的入口点和处理代码,所有的动作都作用在相同的数据结构上,这样的模块叫做信息内聚。功能性内聚:一个模块中各个部分都是完成某一具体功能必不可少的组成部分 耦合分为七类:内容耦合:如果一个模块直接参考另一个模块的内容,则这两个模块是内容耦合。公共耦合:如果多个模块都访问同一个公共数据环境,则称它们是公共耦合。外部耦合:如果两个模块都访问同一个全局简单变量而不是同一全局数据结构,而且,不是通过参数表传递该全局变量的信息,则这两个模块属于外部耦合。控制耦合:如果

软件工程复习题及答案

2006-2007-2软件工程复习 一、单项选择题(20选10) 1. 结构化分析的主要描述手段有( B )。 A. 系统流程图和模块图 B. DFD图、数据词典、加工说明 C. 软件结构图、加工说明 D. 功能结构图、加工说明 2. 用于表示模块间的调用关系的图叫( D )。 A.PAD B.SC C.N-S D.HIPO 3. 在( B )模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。 A.快速原型 B. 统一过程 C.瀑布模型 D. 螺旋模型 4. 常用的软件开发方法有面向对象方法、面向( A )方法和面向数据方法。 A. 过程 B. 内容 C. 用户 D. 流程 5 从工程管理的角度来看,软件设计分两步完成( D )。 A. ①系统分析②模块设计 B. ①详细设计②概要设计 C. ①模块设计②详细设计 D. ①概要设计②详细设计 6. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 7. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 8. SD方法衡量模块结构质量的目标是( C )。 A. 模块间联系紧密,模块内联系紧密 B. 模块间联系紧密,模块内联系松散 C. 模块间联系松散,模块内联系紧密 D. 模块间联系松散,模块内联系松散 9.为提高软件测试的效率,应该( C )。 A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码后制定软件测试计划 D.选择发现错误可能性大的数据作为测试数据 10.( D )测试用例发现错误的能力较大。 A.路径覆盖 B.条件覆盖 C.判断覆盖 D.条件组合覆盖 11.软件需求分析应确定的是用户对软件的( A )。 A. 功能需求和非功能需求 B. 性能需求 C. 非功能需求 D. 功能需求 12.下列各种图可用于动态建模的有( C )。 A.用例图 B. 类图 C. 序列图 D. 包图 13.软件过程模型有瀑布模型、( B )、增量模型等。 A. 概念模型 B. 原型模型 C. 逻辑模型 D. 物理模型 14.面向对象的分析方法主要是建立三类模型,即( D )。 A. 系统模型、ER模型、应用模型 B. 对象模型、动态模型、应用模型 C. E-R模型、对象模型、功能模型 D. 对象模型、动态模型、功能模型 15.测试的分析方法是通过分析程序( B )来设计测试用例的方法。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 16. 软件工程是研究软件( B )的一门工程学科。 A. 数学 B. 开发与管理 C. 运筹学 D. 工具 17. 需求分析可以使用许多工具,但( C )是不适合使用的。 A.数据流图 B.判定表 C.PAD图 D.数据字典 18.划分模块时,一个模块内聚性最好的是( A )。 A. 功能内聚 B. 过程内聚 C. 信息内聚 D. 逻辑内聚 19.软件可移植性是用来衡量软件的( D )的重要尺度之一。 A.效率 B. 质量 C. 人机关系 D. 通用性 20.软件配置管理是在软件的整个生存周期内管理( D )的一组活动。 A.程序 B.文档 C.变更 D.数据 二、判定题(20选10) 1统一过程是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。(×) 2当模块中所有成分结合起来完成一项任务,该模块的内聚是偶然内聚。(×) 3SD方法衡量模块结构质量的目标是模块间联系松散,模块内联系紧密(√) 4当模块中所有成分结合起来完成一项任务,该模块的内聚是功能内聚。(√) 5在进行需求分析时,就应该同时考虑软件的可维护性问题。(√) 6需求分析可以使用许多工具,但数据流图是不适合使用的。(×)

软件工程简答题66339

简答题: 1、什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究把工程应用于软件中提到的途径。 软件工程的本质特征: (1)软件工程关注于大型程序的构造; (2)软件工程的中心课题是控制复杂性; (3)软件产品交付使用后仍然需要经常修改; (4)开发软件的效率非常重要; (5)和谐地合作是成功开发软件的关键; (6)软件必须有效地支持它的用户 (7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人开发产品。 消除软件危机的途径: (1)对计算机软件有一个正确的认识(软件≠程序) (2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3)推广使用在实践中总结出来的开发软件的成功技术和方法 (4)开发和使用更好的软件工具 2、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 3、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型

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

《软件工程》期末考试样题 一、填空题 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

国家开放大学电大《软件工程(本科)》2020-2021期末试题及答案

国家开放大学电大《软件工程(本科)》2020-2021期末试题及答案 一、选择题(请从四个可选项中选择正确答案。共60分,每小题3分) 1.软件工程的出现是由于( )。 A.计算机硬件技术的发展 B.软件危机 C.软件社会化的需要 D.计算机软件技术的发展 2.瀑布模型存在的问题是( )。 A.缺乏灵活性 B.用户容易参与开发 C.用户与开发者易沟通 D.设计的太完美 3.软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是( ),最上层是工具层。 A.过程层 B.方法层 C.过程层和方法层 D.系统层 4.下列说法正确的是( )。 A.软件工程课程实际是教授学生精通一门编程语言 B.软件开发虽然不能一帆风顺,但是其过程简单,只要程序员优秀就可以,也不需要任何测试,因此其开发过程不需要任何管理 C.美国著名软件工程专家B.W. Boehm于1983年提出了软件工程的7条基本原理 D.结构化分析方法和面向对象设计方法都是程序员在编写代码时采用的方法,只要程序员知道就可以了,不属于软件工程的内容 5.结构化分析方法(SA法)使用的主要描述工具有( )。 A.数据库 B.模块结构图 C.PAD图 D.分层的DFD图 6.源程序的效率与( )阶段确定的算法的效率直接有关。 A.概要设计 B.总体设计 C.单元设计 D.详细设计 7.可行性研究的主要任务是( )。 A.确定系统做什么 B.确定性能 C.确定功能 D.进行一次简要的需求分析 8.内容耦合是模块间最紧密的耦合,( )是模块间最松散的耦合。 A.数据耦合 B.非直接耦合 C.控制耦合 D.外部耦合 9.UML是一种( )语言。

软件工程 简答题复习题(带答案)

第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做 到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件

管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer 和Rational Rose等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效率、 高效益)。 2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组织 过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的开 发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程的 管理。 9,请简述现代软件工程与传统软件工程显著的区别和改进。 1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向对 象技术为标志。 2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中, 采用面向对象的思维方式,更加完整、自然地反映客观世界。 3)采用架构技术,开发效率、产品质量得到了极大提高。 4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP模型、 XP模型、过程改进、能力成熟度模型、配置管理等。 第二章 1,如何理解软件生命周期的内在特征? 软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件

最新软件工程期末考试题

41.软件是一种产品。 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.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的。 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.争取项目D.规划项目 15.需求分析中开发人员要从用户那里了解。 A.输入的信息B.用户使用界面C.软件做什么√D.软件的规模 16.需求分析阶段研究的对象是。 A.软硬件要求B.系统要求C.分析员要求D.用户需求√ 17.系统流程图用于可行性分析中的的描述。 A.目标系统B.当前逻辑模型C.当前运行系统√D.新系统 18.数据字典是用来定义中的各个成分的具体含义的。

电大软件工程形考1答案

题目1 ()是职业软件工程师的必要条件。 选择一项: B. 自律、善于沟通、具有一定的软件技能 题目2 根据软件工程的7条基本原理判断下面正确的选项是()。 选择一项: B. 软件错误只能通过运行代码才能发现 题目3 美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。 选择一项: B. 7 题目4 软件、程序和代码是()。 选择一项: B. 相同的软件概念 题目5 软件对硬件和环境有着不同程度的依赖性,这导致了软件()问题。 选择一项: A. 升级和移植 题目6 软件工程的出现是由于()。 选择一项: A. 软件危机 题目7 软件工程四个层次由下至上是(),它们的顺序不能互换。 选择一项: B. 质量层、过程层、方法层、工具层 题目8 软件可行性研究一般不考虑() A. 待开发的软件是否会有质量问题 题目9 软件与程序的区别是()。 选择一项: B. 软件包括程序、相关数据及其文档,程序是软件的一部分 题目10 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。 选择一项: C. 软件危机 题目11 软件工程学科出现的主要原因是()。 选择一项: D. 软件危机的出现 题目12

概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。 选择一项: C. 设计每个模块的伪代码 题目13 经济可行性研究的主要内容包括()。 选择一项: C. 开发过程 题目14 可行性分析研究的费用大约是项目总经费的()。 选择一项: C. 8% 题目15 可行性分析研究的目的是()。 选择一项: B. 规划项目 题目16 可行性研究的四大要素是()。 选择一项: A. 经济、技术、法律和社会环境 题目17 可行性研究的主要目的是()。 选择一项: A. 确定系统是否值得开发 题目18 软件设计的目标是()。 选择一项: C. 在最短的时间内,生产出可靠性、可维护性俱佳的软件方案 题目19 软件调研报告是在()提交的。 选择一项: B. 需求分析之前 题目20 一个软件项目大约()的工作量在开发阶段,()的工作量在维护阶段。 选择一项: D. 30%,70% 题目21 ()定义了软件开发人员必须实现的软件功能。 选择一项: A.功能需求 题目22 PDL是描述处理过程()。 选择一项: C. 怎么做 题目23

软件工程简答题复习题(带答案)

软件工程简答题复习题(带 答案) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一章 1,与计算机硬件相比,计算机软件有哪些特点 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机什么原因导致了软件危机 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升 高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做 到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。 7,请简述软件工程的目标、过程和原则。

软件工程期末试题及答案(六)

软件工程期末试题及答案(六) 选择题 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)非渐增式测试D)系统测试15.确认测试以()文档作为测试的基础。 A)需求规格说明书B)设计说明书C)源程序D)开发计划 16.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。 A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能 17.程序的三种基本结构是()。 A)过程子、程序、分程序B)顺序、选择、循环 C)递归、堆栈、队列D)调用、返回、转移 18.结构化程序设计的一种基本方法是() A)筛选法B)递归法C)归纳法D)逐步求精法 19.软件调试的目的是() A)找出错误所在并改正之B)排除存在错误的可能性 C)对错误性质进行分类D)统计出错的次数

相关文档
最新文档