当前位置:文档之家› 软件工程 第一次作业

软件工程 第一次作业

软件工程 第一次作业
软件工程 第一次作业

软件工程第一次作业

第一题选择题

1. 软件需求规格说明的内容不应包括( B )。

A. 主要功能

B. 算法的详细描述

C. 用户界面及运行环境

D. 软件的性能

2. 程序的三种基本控制结构是( B )。

A. 过程、子程序和分程序

B. 顺序、选择和重复

C. 递归、迭代和回溯

D. 调用、返回和转移

3. 在E-R模型中,包含以下基本成分( C )。

A. 数据、对象、实体

B. 控制、联系、对象

C. 实体、联系、属性

D. 实体、属性、操作

4.软件测试的目标是( B )。

A. 证明软件是正确的

B. 发现错误、降低错误带来的风险

C. 排除软件中所有的错误

D. 与软件调试相同

5. 软件是( C )。

A. 处理对象和处理规则的描述

B. 程序

C. 程序及其文档

D. 计算机系统

6. 面向对象的分析方法主要是建立三类模型,即( D )。

A. 系统模型、ER模型、应用模型

B. 对象模型、动态模型、应用模型

C. E-R模型、对象模型、功能模型

D. 对象模型、动态模型、功能模型

7. 各种软件维护的类型中最重要的是( A )。

A. 完善性维护

B. 纠错性维护

C. 适应性维护

D. 预防性维护

8. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( C )

A. 条件覆盖法

B. 等价分类法

C. 边界值分析法

D. 错误推测法

9.在软件开发模型中,提出最早,应用最广泛的模型是(A)

A,瀑布 B,螺旋 C,演化 D,智能

10.软件工程方法是在实践中不断发展着的,而早期的软件工程方法一般是(B)A,原型化方法 B,结构化方法 C,面向对象方法 D,功能分解法

第二题判断题

1、开发软件就是编写程序。

2、系统测试的主要方法是白盒法和黑盒法。

3、编程序时应尽可能利用硬件特点以提高程序效率.

4、软件需求分析的任务是建立软件模块结构图。

5、程序的结构主要包括三种

6、以结构化分析方法建立的系统模型就是数据流图。

7、进行总体设计时加强模块间的联系。

8、编码时尽量多用全局变量.

9、用CASE环境或程序自动生成工具来自动生成一部分程序.

10、软件测试是要发现软件中的错误。

第三题简单题

1 自顶而下渐增测试与自底而上渐增测试各有何优、缺点?

自顶而下渐增测试

优点:不需要测试驱动程序能够在测试阶段的早期实现并验证系统的主要功能而且能够尽早发现上层模块的接口错误

缺点:需要存根程序底层错误发现较晚

②自底而上渐增测试

优点与缺点和自顶而下渐增测试相反

2软件生命周期划分成哪些阶段。

软件生命周期可分为三个阶段:软件定义、软件开发、运行维护,其主要活动阶段包括:可行性分析与计划制定、需求分析、软件设计(概要设计和详细设计)、软件实现(编码)、测试、维护等活动,其中软件开发阶段包括软件设计、实现与测试

第四题应用题

1 有一个无序整形数组a,设其长度为L,下面的伪代码给出了找出这个数组中最大值的方法,根据伪代码写出程序流程图.

Int max = a[0];

Int index = 1;

While (index < L) {

If (max < a[index]) max = a[index];

index = index + 1;

}

输出max;

2 某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法

第二次作业

第一题选择题

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,分析,设计,实现,测试,维护

第二题判断题

1.一个优秀的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。()

2.一个优秀的开发人员不必非要具有良好的书面和口头表达能力,只要程序写的好就没问题了。()

3.软件维护的副作用指由于维护或在维护过程中其他一些不期望的行为引入的

错误。()

4.耦合是影响软件复杂度的重要因素。设计师应尽量使用内容耦合,少用控制耦合和特征耦合,限制公共环境耦合,完全不用数据耦合。()

5.需求分析主要内容包括:问题分析,需求描述,需求评审。()

6.如果大量测试没有发现任何错误,可以说明软件没有错误。()

7.编程风格是在提高性能的前提下,有效的编排和组织程序以提高可读性和可维护性。()

8.数据字典是关于数据的信息的集合,也就是对数据流图中所包含的所有元素的定义的集合。()

9.程序的可靠性,可维护性和效率通常只由程序设计语言,源代码的质量和语言的实现机制决定的。()

10.完成测试工作后,为了缩短源程序的长度应删去源程序的注释。()

第三题简答题

1 什么叫逻辑覆盖,常用的逻辑覆盖方法有哪些(写出方法名称即可)

答:逻辑覆盖:是对一系列测试过程的总称,这组测试过程逐渐尽兴越来越完整的通路测试,它是以程序内部的逻辑结构为基础的设计测试用例的技术,适用于白盒测试。常用的逻辑覆盖法:语句覆盖:选择足够多的测试数据,使被测试程序中每个语句至少执行一次。判定覆盖:又叫分支覆盖,不仅每个语句要至少执行一次,而且每个判定的每种可能的结果都应该执行一次,即每个判定的每个分支都执行至少一次。条件覆盖:不仅每个语句至少执行一次,而且是判定表达式中的每个条件都取到各种可能的结果。条件组合覆盖:选择足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。路径覆盖:选取足够多的数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)

2 什么是软件危机?什么是软件工程?

第四题应用题

1. 将下面给出的伪码转换为程序流程图

i = 1; j = 0;

while ( i <= 10 ) {

输入三个数a, b, c;

p = b*b ? 4*a*c;

if ( p < 0 ) 输出0;

Else {

j = j + 1;

}

i = i +1;

}

输出j;

2 输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”. 要求:1.用伪代码的形式写出该算法;2.根据地一个部分设计设计路径覆盖的测试用例。

第三次作业

第一题选择题

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,导出逻辑模型并修正开发计划

第二题判断题

1.难以控制开发进度和工作量估计困难是软件危机的主要表现之一。()

2.系统响应时间是指当用户执行了某个控制动作后(例如,按回车键,点鼠标键等),系统作出的反应时间。()

3.原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。()

4.即使测试过程没有发现任何错误,也不能说明软件没有错误。()

5.采用信息隐藏原理指导模块设计可以支持模块的并行开发,减少软件测试和软件维护的工作量。()

6.模块的接口设计要简单,以便降低复杂程度。()

7.软件="完成特定功能的程序+数据结构+文档”。()

8.制定软件项目进度表的途径之一是软件开发小组根据提供软件产品的最后期限从后往钱安排时间。()

9.在模块原理中,模块的作用域应该在控制域内。()

10.瀑布模型在实际的项目中严格顺序执行就基本可以成功。()

第三题简答题

1 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关?

2 软件重用的效益是什么?

第四题应用题

1 假设系统中有一个模块的代码如下,请将该代码转换画出程序流程图。PROCEDUREEX(A,B:REAL;VAR X:REAL);

BEGIN

IF(A=3)OR(B>1)THEN X:=A×B

IF(A>2)AND(B=0)THEN X:=A-3

END

2 请用语句覆盖和判定覆盖两种测试方法设计出两套测试数据,用于测试问题14中的程序。

第四次作业

第一题选择题

1.要将一个复杂的系统分析清楚,传统软件工程常用的方法是结构化分析方法,结构化分析方法就是()

A,面向数据流自顶向下,逐步求精的方法 B,由内向外进行分析的方法 C,先局部后整体的分析方法 D,使用IPO图形工具分析的方法

2.需求分析是要完整,准确,清晰,具体地确定系统所要完成的工作,其主要根据是前一阶段的文档()

A,用户手册和参考手册 B,软件需求规格说明书 C,开发计划 D,可行性研究报告

3.需求分析阶段的主要任务是确定()

A,软件开发方法 B,软件开发工具 C,软件开发费 D,软件系统的功能

4.数据字典是用来定义()中的各个成份的具体含义的

A,流程图 B,功能结构图 C,系统结构图 D,数据流图

5.数据流图是一种用来描述()的图形化工具

A,系统物理组成 B,系统信息流和数据流 C,所有功能 D,系统控制流和数据流

6.()和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整

A,数据流程图 B,E-R图 C,数据字典 D,层次方框图

7.数据流图DFD中每个加工至少需要()

A,一个输入流 B,一个输出流和一个输入流 C,一个输入或输出流 D,一个输出流

8.数据流图(DFD)是()方法中用于表示系统的逻辑模型的一种工具

A,SA B,SD C,SP D,SC

9.使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联的信息是()

A,数据对象,属性,方法 B,数据对象,属性,联系 C,数据表,属性,联系 D,数据表,实体,联系

10.模块的内聚性最高的是()

A,逻辑内聚 B,时间内聚 C,过程内聚 D,功能内聚

第二题判断题

1.只要实行严格的产品控制就不用担心用户随意改需求。()

2.确认测试任务是根据软件需求规格说明书。测试软件系统是否满足用户的需求。()

3.需求分析阶段所生成的文档主要是进度计划和可行性研究报告。()

4.确认测试任务是根据软件需求规格说明书,测试软件系统是否满足用户的需求。()

5.软件就是完成特定功能的程序集合。()

6.制定软件项目进度表的途经之一是软件项目开发组织根据项目和资源情况制定项目开发的初步计划和交付软件产品的日期。()

7.过程式程序设计语言的基本机制包括:消息传送,数据类型定义,多态,子程序,控制程序。()

8.即使测试程序没有发现任何错误,也不能说明软件没有错误。()

9.只要完成了软件的测试工作,将软件产品交给用户,软件生命周期……了。()

10.重构工程也称修复和改造工程,它是在逆向工程所…的基础上修改成重构已有的系统,产生系统的一个新版本。()

第三题简答题

1 提高可维护性的方法有哪些?

2 面向对象分析有哪些启发性原则?

第四题应用题

1 假设机票预定系统中有一个模块的程序代码如下,请画出该模块的程序流程图。

BEGIN

T:=0

IF(X>=80ANDY>=80)THEN

T:=1

ELSEIF(X>=90ANDY>=75)THEN

T:=2

ENDIF

END.

2 请用语句覆盖和条件组合覆盖两种测试方法设计出两套测试数据,用于测试问题1中你设计的程序。

第五次作业

第一题选择题

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.对象是00方法的核心,对象的类型有多种,但通常把如飞行,事故,演出,开会等称为()

A,有形实体 B,作用 C,事件 D,性能说明

9.汽车有一种叫货车。汽车和火车之间的关系是()

A,继承关系 B,聚合关系 C,分类关系 D,主从关系

10()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息是对外界隐蔽的,外界只能通过有限的接口与对象发生联系

A,多态性 B,继承 C,封装 D,消息

第二题判断题

1. 在进行需求分析时同时考虑维护问题。()

2. 完成测试后,为缩短源程序长度而删去程序中的注释。()

3. 尽可能在软件开发过程中保证各阶段文档的正确性。()

4. 编码时尽可能使用全局变量。()

5.选择时间效率和空间效率尽可能高的算法。()

6.尽可能利用硬件的特点以提高效率。()

7.重视程序结构的设计,使程序具有较好的层次结构。()

8.使用维护工具或软件工程环境。()

9.进行概要设计时尽可能加强模块间的联系。()

10. 提高程序可读性,尽可能使用高级语言编程。()

第三题简答题

1 决定软件可维护性的因素有哪些?

2 软件维护的过程是什么?

第四题应用题

1 画出下列伪码程序的程序流程图

START

IF p THEN

WHILE q DO

f

ENDDO

ELSE

BLOCK

g

n

ENDBLOCK

ENDIF

STOP

2 设计下列伪码程序的语句覆盖测试用例:

START

INPUT(A,B,C)//判定表达式1 IFA>5THEN

X=10

ELSE

X=1

ENDIF

//判定表达式2 IFB>10THEN

Y=20

ELSE

Y=2

ENDIF

//判定表达式3 IFC>15THEN

Z=30

ELSE

Z=3

ENDIF

PRINT(X,Y,Z)STOP

软件工程作业及参考答案(版)

软件危机与软件工程 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 . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 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)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 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、软件重用的效益是什么?

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任

务的工作步骤。

?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑布模型需求分析入手难的问题。 优点:关注满足需求。

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程第1章作业

软件工程第1章作业 一、填空题(每小题1分,共15分) 1、软件与物质产品有很大的区别,软件是一种_____逻辑_______产品。 2、软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于建造一个软件系统____________________。 3、最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是_瀑布模型。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为_生存周期。 5、软件工程是指导计算机软件开发和维护的一门工程学科。 6、软件工程包括___软件开发技术_________和____管理________两方面的内容,是技术与管理紧密结合所形成的工程学科。 7、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为_范型____________。 8、螺旋模型将瀑布模型和快速原型模型结合起来,加入了两种模型均忽略了的__风险分析_________,弥补了这两种模型的不足。 9、____瀑布_____模型不能适应需求可变的软件开发,只有到开发结束时才能见到整个软件系统。 10、将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是__瀑布________模型。 11、喷泉模型是一种以用户需求为动力,以__对象________为驱动的模型。 12、一个软件项目的开发中,要采用一种生存周期模型,要按照某种_开发方法__________,使用相应的工具来进行。 13、软件工程的出现主要是由于_ ____软件危机__________的出现而产生的。 14、软件工程知识体系指南SWEBOK将软件工程知识体系划分为___10____个知识域。 15、Rational统一过程RUP是_用例_______驱动的、以体系结构为核心的、迭代的增量的过程,其迭代过程分为初始、细化、___构建________、移交4个阶段。 二、选择题(每小题2分,共30分) 1、作坊式小团体合作生产方式的时代属于( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 2、软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 3、个体手工劳动生产方式的时代是( A )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 4、软件是一种( B )产品。 A、有形B、逻辑C、物质D、消耗 5、与计算机科学的理论研究不同,软件工程是一门( C )学科。 A、理论性B、工程性C、原理性D、心理性 6、软件工程学科出现的主要原因是( C )。 A、计算机的发展B、其他工程学科的影响

软件工程试题及答案

综合练习一答案 一.选择题: 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.什么是软件危机,它有哪些典型表现? 答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。 3.什么是软件工程?它有哪些本质特性? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。 4.软件工程是如何用来消除软件危机的? 软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业1答案 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3. 瀑布模型存在的问题是(B )。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的B.需求确定的C.管理信息D.实时 6. 下列有关软件工程的标准,属于国际标准的是(D) A.GB B.DIN C.ISO D.IEEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次(A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。 A、P×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(i+n) 11. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

中国石油大学 软件工程 第一次在线作业

中国石油大学软件工程第一次在线作业 (2.5分)结构化分析建立功能模型的工具是() ? A、DFD ? B、判定树/判定表 ? C、SC ? D、结构化语言 我的答案:A 此题得分:2.5分 2.(2.5分)检查软件产品是否符合需求定义的过程称为() ? A、确认测试 ? B、集成测试 ? C、系统测试 ? D、单元测试 我的答案:A 此题得分:2.5分 3.(2.5分)软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试() ? A、结构合理性 ? B、软件外部功能 ? C、程序正确性 ? D、程序内部逻辑

我的答案:B 此题得分:2.5分 4.(2.5分)软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为() ? A、瀑布模型 ? B、对象模型 ? C、螺旋模型 ? D、层次模型 我的答案:A 此题得分:2.5分 5.(2.5分)建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是() ? A、用于验证软件需求的原型 ? B、垂直原型 ? C、用于验证设计方案的原型 ? D、用于演化出目标系统的原型 我的答案:B 此题得分:2.5分 6.(2.5分)面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。 ? A、Booch方法 ? B、Coad方法 ? C、UML语言

? D、OMT方法 我的答案:C 此题得分:2.5分 7.(2.5分)黑盒技术设计测试用例的方法之一为() ? A、因果图 ? B、逻辑覆盖 ? C、循环覆盖 ? D、基本路径测试 我的答案:A 此题得分:2.5分 8.(2.5分)软件测试方法中的静态测试方法之一为() ? A、计算机辅助静态分析 ? B、黑盒法 ? C、路径覆盖 ? D、边界值分析 我的答案:A 此题得分:2.5分 9.(2.5分)技术可行性是可行性研究的关键,其主要内容一般不包括() ? A、风险分析 ? B、资源分析 ? C、人员分析 ? D、技术分析

(完整版)《软件工程》作业及答案

t h e i 《软件工程》作业及答案 1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产 率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系 统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。 软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上 升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念, 在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件 工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能 在设计阶段清除它呢?”你怎么反驳他? 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。 消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功 的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在 计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。1-6 什么是软件过程?它与软件工程方法学有何关系? 答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增 量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户 真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用 户反馈意见的办法,获取用户的真实需求。 增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风 险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 快速原型模型:适合小型软件; 螺旋模型:适合内部开发的大规模软件项目。2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面 研究目标系统的可行性? 答: 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。答: 电话号码=[校内电话|本市电话|外地电话] 非零数字字符=[1|2|3|4|5|6|7|8|9] 校内电话=非零数字字符+3{数字}3本市电话=0+非零数字字符+7{数字}7外地电话=0+区码+非零数字字符+7{数字}73-1 为什么要进行需求分析?通常对软件系统有哪些需求?答: 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。3-2 怎样与用户有效地沟通以获取用户的真实需求? 答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型 4-2 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应 遵守哪些准则? 答: 在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则:(1)应该选用适当的表示方法。(2)应该形 式化,但不要过分形式化。 (3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。 (5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用 7-8 对一个包含10000条机器指令的程序进行一个月集成测试后,总 共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了 25个错误(第二个月改正了10个错误),MTTF=15h 。要求:(1) 根据上述数据确定MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2) 为做到MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 答: (1)所做假设:1)单位长度里的错误数近似为常数;2)失效率正比于软件中剩余的错误数,而平均无故障时间与剩余的错误数成反比. 3)发现的每一个错误都立即正确地改正了.(2)由Shooman 公式:MTTF=I T /(K*(E T -E C (T))) 其中,I T =104,MTTF 1=10,n 1=15,MTTF 2=15,n 2=25。得:MTTF 1=I T /(K*(E T -E C (T 1)))10=10000/(K*(E T -15))MTTF 2=I T /(K*(E T -E C (T 2)))15=10000/(K*(E T -25)) (1)解得程序中固有的错误总数E T =45,此外K=100/3。(2)设MTTF=100,有 100=10000/((100/3)*(45-x))

春季学期软件工程第一次作业精

2011年春季学期软件工程第一次作业 一、单项选择题(本大题共 60分,共 60 小题,每小题 1 分 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. SA B. SD

C. SP D. SC 8. 下列关于软件的特征不正确的是 ( A. 软件容易受到磨损 B. 软件是一种逻辑实体 , 具有抽象性 C. 软件是开发出来的 , 不是制造出来的 D. 软件的开发和运行受到计算机系统的限制 9. 软件开发方法的主要工作模型有(。 A. 螺旋模型 B. 循环模型 C. 瀑布模型 D. 专家模型 10. 包含风险分析的软件工程模型是(。 A. 螺旋模型 B. 瀑布模型 C. 增量模型 D. 喷泉模型 11. 进行需求分析可使用多种工具 , 但 ( 是不适用的 A. 数据流图

《软件工程》作业及参考答案2

软件工程作业及参考答案 第三、四章 一、填空题 1.需求分析的基本任务是准确的回答(系统必须做什么)。 2.需求分析阶段研究的对象是软件项目的(用户要求)。 3.结构化分析方法就是(面向数据流)自顶向下逐步求精进行需求分析的方法。需求分析 的目的之一就是把数据流和数据存储定义到(元素级)。 4.数据流图的基本符号包括(数据输入的源点和数据输出的汇点)、(加工)、(数据流)、 (数据存储文件)。 5.数据流图和(数据字典)共同构成系统的逻辑模型。 6.数据字典的内容包括六项:(数据流)、(数据项)、(数据结构)、数据存储、处理逻辑、 外部实体。 7.在需求分析阶段常用的图形工具有(层次方框图)、(Warnier图)、(IPO图)。 8.需求分析应交付的主要文档是(需求规格说明书)。 9.概要设计过程中要先进行系统设计、(复审系统计划)与(需求分析),确定系统具体 的实施方案;然后进行(结构设计),确定软件结构。 10.层次结构的上一层是下一层的(抽象),下一层是上一层的(求精)。 11.模块独立的概念是(模块化)、(抽象)、(信息隐蔽)和局部化概念的直接结果。 12.模块耦合的强弱取决于(模块间接口的复杂程度)、(调用模块的方式)和通过接口的信 息。 13.设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低(耦合)提高(内 聚)。 14.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况 出现的内聚称为(偶然内聚)。 15.一个模块直接调用的模块数目称为模块的(扇出),一个模块被多少上级模块直接调用 称为模块的(扇入)。 16.JSD是一种典型的(面向数据结构)的分析设计方法。 17.Jackson图除了可以表达(程序结构外)外,还可以表达数据结构。 18.对于下列伪码,画出改进的Jackson图() A seq B C D A end

软件工程作业及参考答案(最新版)

软件工程 一、软件危机与软件工程 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.质量保证 ②A.需求分析B.可行性研究C总体设计D模块化设计 ③A.文档编制B.运行维护C.测试D.验收 8.软件开发中常采用的生命周期方法,由于其特征而一般称其为()。 A.层次模型B.瀑布模型C.螺旋模型D.对象模型 9.描述软件生存周期的瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段。其中,设计阶段又可以分成(B)和(C)两个步骤。 A:①需求分析②可行性研究③需求调查④问题定义 B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计 10.什么是软件危机?软件危机产生的原因? 11.生命周期阶段的划分?每个阶段的任务? 二、可行性研究 1.可行性研究的任务?步骤?对于各种可能的方案,从哪几个方面进行可行性研究? 参考答案:任务:在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。步骤:1.复查系统规模和目标;2.研究当前系统;3.建立新系统的高层逻辑模型;4.导出和评价各种方案;5.推荐可行方案;6.编写可行性研究报告。对于各种可能的方案,主要从以下几个方面进行可行性研究:1.经济可行性; 2.技术可行性; 3.法律可行性; 4.运行可行性; 5.开发方案可行性等。

相关主题
文本预览
相关文档 最新文档