软件工程课后题答案大全详细.docx

上传人:b****8 文档编号:9592441 上传时间:2023-02-05 格式:DOCX 页数:21 大小:125.70KB
下载 相关 举报
软件工程课后题答案大全详细.docx_第1页
第1页 / 共21页
软件工程课后题答案大全详细.docx_第2页
第2页 / 共21页
软件工程课后题答案大全详细.docx_第3页
第3页 / 共21页
软件工程课后题答案大全详细.docx_第4页
第4页 / 共21页
软件工程课后题答案大全详细.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

软件工程课后题答案大全详细.docx

《软件工程课后题答案大全详细.docx》由会员分享,可在线阅读,更多相关《软件工程课后题答案大全详细.docx(21页珍藏版)》请在冰豆网上搜索。

软件工程课后题答案大全详细.docx

软件工程课后题答案大全详细

软件工程习题解答

第一章概述

3.什么是软件危机?

其产生的原因是什么?

软件危机:

软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:

a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d.开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:

a.软件的规模越来越大,结构越来越复杂。

b.软件开发管理困难而复杂。

c.软件开发费用不断增加。

d.软件开发技术落后。

e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

4.什么是软件工程?

它的目标和内容是什么?

软件工程:

用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:

a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;

d.开发的软件易于移植;e.需要较低的维护费用;

f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;

软件工程的内容:

1)软件开发技术:

软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发管理:

软件管理学、软件经济学、软件心理学。

6.什么是软件生存周期?

它有哪几个活动?

软件生存周期:

一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:

可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.

7.什么是软件生存周期模型?

有哪些主要模型?

软件生存周期模型:

是描述软件开发过程中各种活动如何执行的模型。

(模型:

是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。

软件生存周期主要模型:

瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等

第三章需求分析

1.什么是需求分析?

需求分析阶段的基本任务是什么?

需求分析是指:

开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。

需求分析阶段的基本任务是:

(1)问题识别:

双方对问题的综合需求:

a.功能需求b.性能需求c.环境需求d.用户界面需求.

(2)分析与综合,导出软件的逻辑模型.(3)编写文档

4.什么是数据流图?

其作用是什么?

其中的基本符号各表示什么含义?

数据流图:

简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。

作用:

它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.

基本符号有四种:

→,箭头,表示数据流;○,圆或椭圆,表示加工;=,双杠,表示数据存储;□,方框,表示数据的源点或终点.

5.画数据流图应该注意什么事项?

画数据流图注意事项:

a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.

b.画数据流而不是控制流.c.一般不画物质流.

d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.

e.编号.f.父图与子图的平衡.g.局部数据存储.h.提高数据流图的易理解性.

7.描述加工逻辑有哪些工具?

a,结构化语言b,判定表c.判定树

10.某银行的计算机储蓄系统功能是:

将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。

请用DFD和IDEF0描绘该功能的需求,并建立相应的数据字典。

(1)数据流条目:

数据流名称:

存款单

别名:

简述:

储户存款时填写的项目

来源:

储户

去向:

记帐

数据流量:

未知

组成:

姓名+住址+存款类型+存款日期+利率

数据流名称:

取款单

别名:

简述:

储户取款时填写的项目

来源:

储户

去向:

统计

数据流量:

未知

组成:

姓名+住址+取款类型+取款日期+利率

数据流名称:

清单

别名:

简述:

储户取款后得到的项目

来源:

记录

去向:

储户

数据流量:

未知

组成:

姓名+住址+取款类型+取款日期+利率+余额

(2)数据存储条目:

数据存储名称:

账单

别名:

简述:

存放储户信息及其账目

组成:

姓名+住址+余额+存款类型+最后修改日期+利率

组织方式:

未知

查询要求:

能立即查询

(3)数据项条目:

未知

(4)加工条目:

加工名:

分类检查

编号:

激发条件:

接收到存/取款单

优先级:

优先

输入:

存/取款单

输出:

存/取款单

加工逻辑:

IF存款单THEN把存款单输出到统计

ELSE

把取款单输出到统计

ENDIF

加工名:

统计

编号:

激发条件:

取款单

优先级:

输入:

取款单

输出:

清单

加工逻辑:

根据账单检查此储户是否存在,不存在输出错误{

IF取款数<余额THEN余额=余额-取款数

输出清单到储户,输出现金到储户

ELSE

输出错误清单到储户

ENDIF

}

加工名:

记录

编号:

激发条件:

存款单

优先级:

输入:

存款单

输出:

存款单

加工逻辑:

根据账单检查此储户是否存在,不存在则建立此储户{

余额=余额+存款数

输出存款单到储户

}

11.某图书管理系统工程有以下功能:

(1)借书:

输入读者借书证。

系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。

否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件).

(2)还书:

从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。

否则,修改库存目录与借书文件。

(3)查询:

可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。

请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。

12.某厂对部分职工重新分配工作的政策是:

年龄在伙岁以下者,初中文化程度脱产学习。

高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。

年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。

请用结构化语言、判定表或判定树描述上述问题的加工逻辑。

(1)结构化语言:

根据职工年龄和文化程序:

 REPEAT

If 年龄<=20

 If 初中文化 Then 脱产学习  endif

else if 高中文化 Then 电工 endif

endif

If 20<年龄<40

If 中学文化 

If 男性 Then 钳工

 Else

车工

Endif

else if 大学文化 Then 技术员endif

endif

endif

If 年龄>=40

If 中学文化 Then 材料员

else if 大学文化 Then 技术员endif

endif

endif

Until 没有剩余未分配员工

判定表

1

2

3

4

5

6

7

8

9

10

11

年龄

C

C

D

D

D

D

D

E

E

E

文化

G

H

H

G

G

H

I

G

H

I

性别

--

--

M

M

F

F

--

--

--

--

脱产学习

电工

钳工

车工

技术员

材料员

条件取值表

条件名

取值

符号

取值数

年龄

<=20

C

M1=3

>20,<40

D

>=40

E

文化程度

中学

G

M2=3

高中

H

大学

I

性别

M

M3=2

F

附加题:

1、自学考试报名过程中有个“记录报名单”的加工。

该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。

请绘制该加工的DFD图,并写出数据词典中的数据流条目。

答:

数据流词典

数据流条目:

报名单=姓名+性别+身份证号+课程名

开考课程=课程名+开考时间

考生名册=准考证号+姓名+课程

2、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生“项目参加者”,如下图所示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。

请写出这三个数据流条目。

答:

运动员名单=队名+运动员号+姓名+{项目}

项目=项目名

项目参加者=项目名+{运动员号}

3、某旅馆的电话服务如下:

可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888,552中任意一个号码。

分局号是任意长度为4的数字串。

要求:

写出在数据字典中,电话号码的数据条目的定义(即组成)。

答:

电话号码=分机号|外线号码

分机号=7201...7299

外线号码=9+[市话号码|长话号码]

长话号码=区号+市话号码

区号=100...300

市话号码=局号+分局号

局号=[455|466|888|552]

分局号=4{数字}4第四章概要设计

1.什么是软件概要设计?

该阶段的基本任务是什么?

软件概要设计:

在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转换为软件包表示的过程。

基本任务:

(1)设计软件系统结构(简称软件结构)

a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)

b.确定模块的功能。

(功能)

c.确定模块之间的调用关系。

(调用)

d.确定模块之间的接口,即模块之间传递的信息。

(接口)

e.评价模块结构的质量。

(质量)

(2)数据结构及数据库设计

a.数据结构设计b.数据库设计:

(概念设计、逻辑设计、物理设计)

(3)编写概要设计文档(文档主要有:

概要设计说明书、数据库设计说明书、用户手册、修订测试计划)

(4)评审

2.软件设计的基本原理包括哪些内容?

软件设计的基本原理:

(1)模块化(四个属性:

接口、功能、逻辑、状态)

(2)抽象

(3)信息隐蔽(4)模块立性(两个定性的度量标准:

耦合性与内聚性)

3.衡量模块独立性的两个标独准是什么?

它们各表示什么含义?

两个定性的度量标准:

耦合与内聚性

耦合性:

也称块间联系。

指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

内聚性:

也称块内联系。

指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

模块内元素联系越紧密,内聚性越高。

4.模块间的耦合性有哪几种?

它们各表示什么含义?

耦合性有六种:

无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合

无直接耦合:

两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。

(无直接关系)

数据耦合:

指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。

(数据值)

标记耦合:

指两个模块之间传递的是数据结构。

(数据结构)

控制耦合:

指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量)

公共耦合:

指通过一个公共数据环境相互作用的那些模块间的耦合。

(一个公式数据环境)

内容耦合:

一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部(内部数据)

5.模块的内聚性有哪几种?

各表示什么含义?

模块间的内聚性有6种:

偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。

偶然内聚:

一个模块内的各处理元素之间没有任何联系。

逻辑内聚:

模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

时间内聚:

把需要同时执行的动作组合在一起。

通信内聚:

指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。

顺序内聚:

一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。

功能内聚:

最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。

6.什么是软件结构?

简述软件结构设计优化准则。

软件结构:

软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。

软件结构设计优化准则:

a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。

b.一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近

c.软件的深度、宽度、扇入、扇出应适当。

D.模块的大小要适中。

E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。

8.什么是"变换流"?

什么是"事务流"?

试将相应形式的数据流图转换成软件结构图。

变换流由输入、变换(或处理)、输出三部分组成。

某个加工将它的输入流分离成许多发散

的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称为事物流。

9.试述"变换分析","事务分析"的设计步骤。

变换分析:

a.确定DFD中的变换中心。

b.设计软件结构的顶层和第一层-------变换结构。

c.设计中下层模块。

(输入模块下属模块的设计,输出模块下属模块的设计,变换模块下属模块的设计,设计的优化)

事务分析:

a.确定DFD中的事务中心和加工路径。

b.设计软件结构的顶层和第一层------事务结构。

(接收、发送给支)

c.事务结构中、下层模块的设计、优化工作同变换结构。

附加:

2、已知模块C中的一个判定影响到模块B,如图所示,它违反了SD的设计原则。

试问:

可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。

6、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。

答:

变换型事务型

第七章软件测试

1、软件测试的目的是?

测试中要注意那些原则?

软件测试

答:

软件测试的目的是的发现软件中存在错误的活动。

好的测试用例可以发现至今没有发现的错误、好的测试用例可以发现至今没有发现的错误测试。

要提供输入数据还要提供输出数据、保留测试用例、检查它是否做了应该做的还要检查它是否做了不该做的、避免自己测试自己的程序、多错误多的地方要更严格的测试。

2、什么是白盒法?

有那些覆盖标准?

比较他们的检错能力。

答:

将程序看成是白盒子,认真的分析程序的结构和功能制定测试用例来测试。

有逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、路径覆盖)

3、什么是黑盒法?

有那些测试方法?

特点?

答:

将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。

等价类划分、边界值分析、因果图、错误推测。

4、软件测试要经过那些步骤?

这些步骤和开发那些阶段对应?

答:

单元测试对应详细设计和编码、集成测试对应概要设计、确认测试对应需求分析。

5、单元测试有那些内容?

答:

测试模块的接口、数据结构、重要的执行路径、错误处理、边界条件。

6、什么是集成测试?

非渐增式和渐增式有什么区别?

渐增式如何组装模块?

答:

将模块组合起来成为一个完整的系统对其进行测试。

非渐增式是将模块先进行单元测试然后组装在一起进行测试。

渐增式是逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次。

非渐增式需要桩模块和驱动模块、非渐增式开始可以并行测试、渐增式可以及时的发现接口错误,非渐增式很难发现接口发现错误、渐增式开始不能并行测试、渐增式测试比较彻底。

渐增式组装模块有自顶向下和自底向上两种组装方式。

7、什么是确认测试?

该阶段有那些工作?

答:

按照需求规格说明书中的确定指标对系统进行功能与性能的测试。

进行确认测试(对照需求规格说明书用黑盒法进行测试)、软件配置检查。

(文档的完整性、正确性,发现遗漏和错误及时补充和修改)

8、 调试的目的是什么?

调试的技术有那些?

答:

调试的目的是发现错误的位置并改正错误。

简单调试、演绎调试、递归调试、回溯调试。

附加题:

1、对下列子程序进行调试:

procedureexample(y,z:

real;varx:

real)

begin

if(y>1)and(z=0)thenx:

=x/y;

if(y=2)or(x=l)thenx:

=x+l;

end.

该子程序接受x,y,z的值,并将计算结果x的值返回给调用程序。

答题要求:

(1)画出流程图。

(2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。

答:

(1)流程图

(2)用白盒法中条件组合覆盖设计测试用例:

①y=2,z=0,x=4;②y=2,z=1,x=1;③y=1,z=0,x=2;④y=1,z=1,x=1.

2、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。

系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。

现要求用黑盒测试法中的边界值法写出测试用例。

答:

输入条件测试用例说明测试数据

报表日期的1个数字字符5

类型及长度5个数字字符20035

7个数字字符2003005

有1个非数字字符2003.5

全部是非数字字符MAY---

6个数字字符200305

日期范围在有效范围200301

边界上选取200812

数据200300

200813

月份范围月份为1月200301

月份为12月200312

月份<1200300

月份>12200313

3、对以下程序进行测试:

PROCEDUREEX(A,B:

REAL;VARX:

REAL);

BEGIN

IF(A=3)OR(B>1)THENX:

=A×B

IF(A>2)AND(B=0)THENX:

=A-3

END

先画出程序流程图。

再按不同逻辑覆盖法设计一种(写出名称)测试数据。

答:

语句覆盖 A=3B=0

4、程序功能说明书指出,某程序的输入条件为:

每个学生可以选修1至3门课程,试用黑盒法设计测试用例。

(1)按等价分类法设计测试用例(要求列出设计过程)

(2)按边缘值分析法设计测试用例。

答:

1)合理等价类

选修1门

选修2门

选修3门

不合理等价类

没选课

选3门以上

测试用例

选修=2

选修=0

选修>3

2)边缘值法

0,1,3,4

5、设被测试的程序段为:

begin

s1;

if(x=0)and(y>2)

thens2;

if(x<1)or(y=1)

thens3;

s4;

end

可供选择的测试数据组为:

xy

Ⅰ03

Ⅱ12

Ⅲ-12

Ⅳ31

找出实现

(1)语句覆盖;

(2)条件覆盖;(3)判定覆盖至少要选择的数据组。

答:

(1)Ⅰ

(2)Ⅰ,Ⅳ(3)Ⅰ,Ⅱ

第八章软件维护

1、软件维护有哪些内容?

a、校正性维护b、适应性维护c、完善性维护d、预防性维护

2.软件维护的特点是什么?

a、非结构化维护和结构化维护b、维护的困难性c、软件强维护的费用

3.软件维护的流程是什么?

a、制定申请维护报告b、审查申请报告并批准c、进行维护并作详细记录d、覆审

4.软件维护的副作用有哪些?

 编码、数据、文档副作用

5.什么是软件的可维护性?

可维护性的度量的特性是什么?

软件的可维护性:

软件能够被理解、校正、适应及增强功能的容易程度。

可维护性的度量的特性是:

可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

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

A、建立明确的软件质量目标。

B、利用先进的软件开发技术和工具。

C、建立明确的质量保证工作。

D、选择可维护的程序设计语言。

E、改进程序文档。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1