软件工程习题附答案.docx

上传人:b****6 文档编号:5639503 上传时间:2022-12-29 格式:DOCX 页数:14 大小:117.04KB
下载 相关 举报
软件工程习题附答案.docx_第1页
第1页 / 共14页
软件工程习题附答案.docx_第2页
第2页 / 共14页
软件工程习题附答案.docx_第3页
第3页 / 共14页
软件工程习题附答案.docx_第4页
第4页 / 共14页
软件工程习题附答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

软件工程习题附答案.docx

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

软件工程习题附答案.docx

软件工程习题附答案

一、选择题

1、软件是一种

(2)性工业产品。

(1)理论

(2)知识(或逻辑)(3)消耗(4)体力

2、需求分析是在

(2)进行的。

(1)用户

(2)用户和分析人员之间

(3)开发人员内部(4)使用和维护人员之间

3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对

系统进行研究属于

(2)的研究。

(1)经济可行性

(2)技术可行性(3)操作可行性(4)法律可行性

4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是(4)。

(1)工作阶段的等待时间

(2)生产原型的复杂性

(3)参与人员所需的工作站数(4)参与人员之间的沟通困难

5、需求分析阶段的研究对象是

(1)。

(1)用户需求

(2)分析员要求(3)系统需求(4)软硬件需求

6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行(  4 )。

(1)系统设计 (2)系统分析 (3)系统详细调查 (4)系统初步调查

7、系统分析员应当(  4 )。

(1)善于使用户接受自已的观点         (2)善于使自已获得成就

(3)是用户与计算机技术人员的有效协调与组织者 (4)满足上述所有条件

8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( 1 )的过程。

(1)逻辑模型 (2)物理模型 (3)总体方案 (4)可行性报告

9、系统测试的目的是(  4 )。

(1)找出编码错误  (2)找出数据错误 

(3)要证明程序无错 (4)发现软件错误

10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为(3)。

(1)时间内聚

(2)功能内聚(3)通信内聚(4)顺序内聚

11、在结构化方法中全面指导模块划分的最重要的原则是(4)

A.程序模块化B.模块高内聚

C.模块低耦合D.模块独立性

12、最高程度也是最差的耦合是

(2)。

(1)公共耦合

(2)内容耦合(3)控制耦合(4)数据耦合

13、概要设计阶段产生的文档不包括(4)。

(1)概要设计说明书

(2)数据库设计说明书(3)用户手册(4)开发进度报告

14、汽车有一个发动机,汽车和发动机之间的关系是

(2)。

(1)一般具体关系

(2)整体部分关系(3)分类关系(4)isa关系

15、覆盖准则最强的是(4)。

(1)语句覆盖

(2)判定覆盖(3)条件覆盖(4)路径覆盖

16、下面对数据流图描述不正确的是( 4  )。

(1)是组织中信息运动的抽象  (2)是系统模型的主要形式

(3)它与对系统的物理描述无关 (4)所描述的内容是面向管理员的

17、在基本的数据加工中,决策树适合于表达(  2 )。

(1)决策或判断步骤较多的加工问题

(2)决策或判断条件较多,各条件又相互组合的问题

(3)非结构化决策问题

(4)半结构化决策问题

18、调试应该由

(2)完成。

(1)与源程序无关的程序员

(2)编制该源程序的程序员

(3)不了解软件设计的机构(4)设计该软件的机构

19、导出模块结构图的基础是( 2  )

(1)系统结构图 (2)数据流图 (3)数据结构图 (4)控制结构图

20、程序员进行程序设计的主要文档依据是( 1  )

(1)模块说明书 (2)系统流程图 (3)控制流程图 (4)数据流图

21.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(3)

A.软件工程B.软件周期

C.软件危机D.软件产生

22.研究开发所需要的成本和资源是属于可行性研究中的

(2)研究的一方面。

A.技术可行性B.经济可行性

C.社会可行性D.法律可行性

23.黑盒测试在设计测试用例时,主要需要研究

(1)

A.需求规格说明与概要设计说明B.详细设计说明

C.项目开发计划D.概要设计说明与详细设计说明

24.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:

-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是(3)

A.条件覆盖法B.等价分类法

C.边界值分析法D.错误推测法

25.下列属于维护阶段的文档是(3)

A.软件规格说明B.用户操作手册

C.软件问题报告D.软件测试分析报告

26.快速原型模型的主要特点之一是(4)

A.开发完毕才见到产品B.及早提供全部完整的软件产品

C.开发完毕后才见到工作软件D.及早提供工作软件

27.因计算机硬件和软件环境的变化而作出的修改软件的过程称为

(2)

A.改正性维护B.适应性维护

C.完善性维护D.预防性维护

28.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为

(2)

A.可用性B.可靠性

C.正确性D.完整性

29.下列文档与维护人员有关的有(3)

A.软件需求说明书B.项目开发计划

C.概要设计说明书D.操作手册

二、填空题

1、可行性研究的目的不是去开发一个软件项目,而是研究这个项目是否值得去开发 ,其中的问提能否解决。

2、软件结构的设计是以 模块   为基础的。

3、软件设计阶段,是把软件“做什么”的逻辑模型变换为“  怎么做    ”的物理模型。

4、需求分析的关键是必须 准确理解     用户的要求,同时要 满足     用户的要求。

最终解决目标系统“做什么”的问题。

5、数据流图一般可分为 变换型     和 事务型     两类。

6、HIPO图中 H   图用于描述软件总的模块层次结构, IPO   图用于说明模块间的信息传递及模块内部的处理。

7、详细设计也称 过程设计   ,它是软件设计的第二阶段,主要确定每个 模块   的具体执行过程。

8、处理过程设计中最典型的方法是  结构化程序设计(SP)   方法,其基本要点是采用的程序设计方法是  自顶向下      、 逐步求精       。

9、测试用例由  输入数据    和预期的 输出数据   两部分组成。

10、白盒法必须考虑程序的  内部结构      和  处理过程      ,以检查处理过程         的细节为基础,对程序中尽可能多的逻辑路径进行 测试   。

11、软件测试过程中需要3类信息:

 软件配置   、  测试配置   和 测试工具   。

12、在详细设计阶段,需要对处理过程的模块   和数据库的 物理   结构做评审。

13、纯收入是指在整个生存周期之内的________与投资之差。

14、数据流图描述系统的 分解  ,即描述系统由 哪几部分  组成,各部分之间有什么联系等。

15、任何程序都可由  顺序、选择和重复3种基本控制结构构造。

这3种基本结构的共同点是   单入口、单出口 。

16、测试的目的就是 发现  程序中的错误,而不是 调试  程序没有错误。

17、软件概要设计的主要任务就是________。

19、。

面向数据流的设计又称 结构化程序设计(SP) ,它是以需求分析阶段产生的数据流图        为基础,按一定的步骤映射成软件结构。

20、可行性分析包括  技术可行性   、经济上的可行性和 社会因素可行性        分析。

20、在单元测试中,需要为被测模块设计模块和模块。

用来模拟被测模块的上级调用模块,用来代替被测模块所调用的模块。

三、名词解释

1、软件测试

软件测试是指为了发挥软件中的错误而执行软件的过程。

它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。

2、详细设计

系统的详细设计是系统总体设计的深入,对总体设计中的各个具体的任务选择适当的技术手段和处理方法。

详细设计主要包括代码设计,数据库设计,输出设计,输入设计,对话设计,处理流程设计,制定设计规范等。

3、数据耦合

如果两个模块之间通过数据交换信息,且每一个参数均为数据,那么这种模块间的耦合称为数据耦合。

4、模块化

模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,从而完成指定的功能,满足问题的要求。

5、信息隐蔽

信息隐蔽是指在设计模块时,应让一个模块内包含的信息(过程和数据)对于其他不需要这些信息的模块来说是不能访问的。

6、耦合

耦合性是对一个软件结构内不同模块之间互联程度的度量。

耦合强弱取决于模块间接口的复杂程度。

7、功能内聚

如果模块内所处理的元素属于一个整体,完成一个单一的功能,则称为功能内聚。

8、渐增式测试

是先从单个模块开始测试,然后每次将测试后的一个模块添加到系统中并测试,系统像“滚雪球”一样越滚越大,直到把所有的模块都组装并测试完毕。

渐增式测试又可以根据每次添加模块的路线分为自顶向下测试、自底向上测试和混合测试等方式。

9、非渐增式测试

非渐增式测试:

一下子把所有模块放在一起,并把庞大的程序作为一个整体来测试,测试者面对的情况十分复杂。

10、软件概要设计

所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。

通常,模型由一组图形符号和组织这些符号的规则组成。

为了更好地理解复杂事物,人们常常采用建立事物模型的方法。

为了开发出复杂的软件系统,系统分析员应该从不同角度抽象出目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型。

11、模块

在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。

12、路径覆盖

路径覆盖是指选择若干个测试用例,运行被测程序,使得运行这些测试用例时,被测程序的每条可执行的路径至少执行一次。

13、条件覆盖

条件覆盖是指选择足够的测试用例,使得运行这些测试用例后,要使每个判断中每个条件的可能取值至少满足一次,但未必能覆盖全部分支

14、判定/条件覆盖

判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。

15、条件组合覆盖

在白盒测试法中,选择足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。

显然,满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。

16、集成测试

集成测试,也叫组装测试或联合测试。

在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。

模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块的接口。

17、需求分析

软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。

需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

18、白盒法

白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

19、黑盒法

黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。

四、简述题

软件设计的基本原理:

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

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

(2)抽象

(3)信息隐蔽

(4)模块独立性(两个定性的度量标准:

耦合性与内聚性)

2、需求分析应遵循的原则是什么?

所有这些分析方法都遵守下述准则:

 

(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型。

(2)必须定义软件应完成的功能,这条准则要求建立功能模型。

(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。

(4)必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。

3、为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?

①软件测试是软件开发中不可缺少的重要一环,原因是:

A、测试的工作量约占整个项目开发工作量的40%左右,几乎一半。

如果是关系到人的生命安全的软件,测试的工作量还要成倍增加。

B、软件测试代表了需求分析、设计、编码的最终复审。

②软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。

4、软件测试的目的是什么?

为什么把软件测试的目标定义为只是发现错误?

软件测试的目的有:

①软件测试是为了发现错误而执行程序的过程。

②一个好的测试用例能够发现至今尚未发现的错误。

③一个成功的测试是发现了至今尚未发现的错误。

软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。

由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误。

5、可行性研究的任务是什么?

可行性研究的目的不是解决问题,而是确定问题是否值得去解决。

为了达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。

因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

6、简述结构化程序设计方法的基本要点。

(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环

(3)采用主程序员组的组织形式。

7、简述文档在软件工程中的作用。

.

(1)提高软件开发过程的能见度

(2)提高开发效率

(3)作为开发人员阶段工作成果和结束标志

(4)记录开发过程的有关信息便于使用与维护;

(5)提供软件运行、维护和培训有关资料;

(6)便于用户了解软件功能、性能。

8、简述提高可维护性的方法。

.

(1)建立明确的软件质量目标

(2)利用先进的软件开发技术和工具

(3)建立明确的质量保证工作

(4)选择可维护的程序设计语言

(5)改进程序文档

9、什么是模块的影响范围?

什么是模块的控制范围?

他们之间应该建立什么关系?

模块的影响范围:

受该模块内的一个判定影响的所有模块的集合。

模块的控制范围:

模块本身及其所有下属模块(直接或间接从属于它的模块)的集合。

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

10、什么是模型?

开发软件时为什么要建立模型?

所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。

通常,模型由一组图形符号和组织这些符号的规则组成。

为了更好地理解复杂事物,人们常常采用建立事物模型的方法。

为了开发出复杂的软件系统,系统分析员应该从不同角度抽象出目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型。

五、应用题

1、研究生入学考试的科目为英语、数学、政治,录取规则是:

a)总分200分以下(不含200分)不录取。

b)总分200分以上(含200分)时:

i.英语、数学均为60分以上(含60分)录取。

ii.数学55分以上(含55分),英语70分以上(含70分)需参加复试。

iii.其它情况不录取。

用决策树表达此项处理逻辑。

 

2、某银行发放贷款原则如下:

(1)对于贷款未超过限额的客户,允许立即贷款;

(2)对于贷款已超过限额的客户,若过去还款记录好且本次贷款额在2万元以下,可作出贷款安排,否则拒绝贷款。

请用结构化语言描述该原则。

答:

IF 已超过贷款限额

           IF 客户过去还款纪录差

                 拒绝贷款

              ELSE IF 本次贷款额≥  2万

                                  拒绝贷款

                             ELSE 作出贷款安排

                          ENDIF 

          ELSE  允许立即贷款  

  ENDIF

3、银行确定储蓄类型部分数据流图如下:

存款单

 

试作出事务分析结构的控制结构图。

 

4、高考录取计分子系统有如下功能:

(1)计算标准分根据考生原始分计算,得到标准分,存入考生分数文件;

(2)计算录取线分:

根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流图。

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

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

分机号是从7201至7299。

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

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

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

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

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

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

要求:

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

答:

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

分机号=7201…7299

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

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

区号=100…300

市话号码=局号+分局号

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

分局号=4{数字}4

6、某培训中心要研制一个计算机管理系统。

它的业务是:

将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

要求:

1)对以上问题画出数据流程图。

2)画出该培训管理的软件结构图的主图。

7、阅读以下说明和数据流图,回答问题1至问题3,将解答题纸的对应栏内。

[说明]

  学生住宿服务系统帮助学生在就学的城市内找以所需的住房,系统对出租的房屋信息、房主信息、需要租房的学生信息以及学生和房主的会面住处进行管理和维护。

  房主信息包括姓名、地址、电话号码以及系统分配的唯一身份标识(ID)和密码;房屋信息包括房屋地址、类型(单间/套间)、适合住宿的人数、房租、房主的ID以及现在是否可以出租(例如由于装修原因,需等到装修后才可出租或者房屋已被租出)。

每当房房屋信息发生变化时,房主须通知系统,系统将更新房到文件以便学生能够获得准确的可租用房屋信息,房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息。

房主可随时更新房屋的各种属性。

  学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。

学生信息包括姓名、现住址、电话号码、出生日期、性别以及系统分配的唯一身份标识(ID)和密码。

若学生希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并将会面信息通知学生和房主,会面信息包括会面时间、地点以及会面双方的基本信息,系统将记录会面信息。

  学生住宿服务系统的顶层图如图1-1所示;学生住宿服务系统的第0层DFD图如图1-2所示,其中,加工3的细化图如图1-3所示。

[问题1]

  

(1)数据流图1-1缺少了一条数据流(在图1-2中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。

数据流名称:

“费用信息”;起点:

“学生住宿服务系统”;终点:

“房主”

  

(2)数据流图1-2中缺少了与"查询房屋"加工相关的数据流,请指出此数据流的起点和终点。

缺少“房屋文件”到“查询房屋”的数据流

[问题2]

  "安排会面"加工除需要写入会面文件外,还需要访问哪些文件?

房主文件和学生文件

[问题3]

  请补齐下列数据字典条目:

  登录信息=学生ID+密码

  注册信息= 姓名+现住址+电话号码+出生日期+性别

[数据流图1-1]

[数据流图1-2]

[数据流图1-3]

 

8、乘客可以免费携带50kg的行李。

超过50kg,国内乘客,坐头等舱,超重部分按每千克8元收费;乘坐经济舱,超重部分按每千克12元收费;对国外乘客,坐头等舱,超重部分按每千克16元收费;坐经济舱,超重部分按每千克24元收费;残疾乘客费用减半。

请用结构化语言、判定树、判定表中的任一种对行李费用计算进行描述。

答:

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

当前位置:首页 > PPT模板 > 商务科技

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

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