软件工程选择Word下载.docx

上传人:b****5 文档编号:16184650 上传时间:2022-11-21 格式:DOCX 页数:11 大小:23.93KB
下载 相关 举报
软件工程选择Word下载.docx_第1页
第1页 / 共11页
软件工程选择Word下载.docx_第2页
第2页 / 共11页
软件工程选择Word下载.docx_第3页
第3页 / 共11页
软件工程选择Word下载.docx_第4页
第4页 / 共11页
软件工程选择Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

软件工程选择Word下载.docx

《软件工程选择Word下载.docx》由会员分享,可在线阅读,更多相关《软件工程选择Word下载.docx(11页珍藏版)》请在冰豆网上搜索。

软件工程选择Word下载.docx

层次图和HIPO图是概要设计中的工具图;

程序流程图、N-S图、问题分析PAD图、设计程序语言PDL是详细设计中的工具图

(7)在软件开发中,下面任务不属于设计阶段的是______。

A.数据结构设计

B.给出系统模块结构

C.定义模块算法

D.定义需求并建立系统模型

(7)[答案]D

A、B为概要设计中的,C为详细设计中的,D为分析阶段中的

(14)结构化程序设计主要强调的是______。

A.程序的规模

B.程序的易读性

C.程序的执行效率

D.程序的可移植性

(14)[答案]B

又是结构化的问题,何谓结构化?

简单地比如:

VB:

If...EndIf

C:

if..{...}

Pascle:

Begin...End

我们在"

结构"

的中间写代码,从哪执行到哪结束我们能很快抓住!

此题中重要性为:

B>

C>

D

(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。

A.概要设计

B.详细设计

C.可行性分析

D.需求分析

(15)[答案]D

题中所述为需求分析

可行性研究包括经济可行性、技术可行性、操作可行性,即以最小的代价确定系统的规模是否现实

概要设计的任务是确定软件的总体结构、子结构和模块的划分

详细设计的任务是确定每一模块的实现细节,包括数据结构、算法和接口。

有些同学还不知道什么叫系统,什么叫模块。

软件工程中的系统指的整个软件系统,比如QQ的所有东西,我们用的是客户端程序,实际的东西放在腾讯公司的服务器上,主要是数据库,包括在中间的传输过程,这一整个相关的东西都叫做OICQ的系统;

什么叫模块,这里不单指如VB里的"

标准模块"

、"

类模块"

,也不单指一个窗体或者一个文件,宏观上讲,软件工程中把一种功能或相关功能把它做成一个模块,这个模块有可能是一个过程,有可能是一个函数…从功能角度度量模块内的联系为模块的内聚(一般来说越强越好,不易出错);

模块之间的联系为耦合,比如我们编程中常用把一实参的值赋给了函数中的形参,使函数完成某一功能,耦合度越低越好,独立性就强;

何谓独立性?

比如我们二级编程都有考到全局变量、局部变量,函数中的局部变量独立性很强,函数外无法访问…

(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是______。

A.控制流

B.加工

C.数据存储

D.源和终点

(16)[答案]A

数据流图用于需求分析阶段,在此阶段我们只考虑大致的数据流流向,而不关心内部具体的处理,以及如何在计算机上实现,不必讨论控制流,我们只关心的:

数据流、数据储存、变换/加工(相当于一个黑盒,不关心内部细节)、外部实体,数据流图通俗易懂,因为它远离了计算机,用户(无需懂编程)和软件人员都易接受。

(17)软件需求分析阶段的工作,可以分为四个方面:

需求获取、需求分析、编写需求规格说明书以及______。

A.阶段性报告

B.需求评审

C.总结

D.都不正确

(17)[答案]B

评审(复审)每阶段都有,把前三个方面说完了,还剩什么呢?

此题需要记一下,至于各名词的解释,顾名即可思义。

(24)对建立良好的程序设计风格,下面描述正确的是______。

A.程序应简单、清晰、可读性好

B.符号名的命名要符合语法

C.充分考虑程序的执行效率

D.程序的注释可有可无

(24)[答案]A

结构化程序设计中力求程序的可读性(如代码清晰,结构明了,附加注释……),故D错;

如果程序写的都是错的,谈何风格?

如果符号名的命名不符合语法,编译会报错,也是很基本的错误,B错;

追求程序的可读性要高于执行效率,C错。

(25)下面对对象概念描述错误的是______。

A.任何对象都必须有继承性

B.对象是属性和方法的封装体

C.对象间的通讯靠消息传递

D.操作是对象的动态性属性

(25)[答案]A

此题为基本概念,必记!

这里举几个例子说明以助大家理解:

比如

VB:

Command按纽类是个类,在窗体上画一个名为Command1的按纽即是创建该类的一个实例,也可创建另外一个实例如Command2,他们的属性可以调置为不同的,但是都是Command类的实例。

Command1,Command2都是对象,它们封装了属性和方法,都是封装体,比如Name属性,Caption属性……宏观上可说Command1的Move操作是动态属性,对象间的通读靠消息传递,比如在Command1的单击事件中写上:

Picture1.Print"

消息传递"

Picture1是一个图片框对象,我们还可以调用Form_Load事件等等,都是通过消息传递的,即对象A向对象B发出消息,对象B执行怎样的操作。

C++:

classBase

{

Public:

Base(){}

~Base(){}

...

};

classDerive:

PublicBase

Print()

Cout<

<

"

打印函数!

endl;

}

voidmain()

Derivea;

Base*p;

Base为基类,Derive为基类上的派生类,它继承了基类的一些属性和方法等,a为创建的实例,即是一个对象,它封装了类Derive的所有性性和方法,特别是私有的属性和方法,直接调用它们会失败,这就是类的封装性。

对象间的通讯是靠消息传递的,比如我们在内存中删除p所指的一个对象,用deletep语句,会调用类Base的析构函数~Base();

我们也可用a.Print()语句来调用Derive类的Print()函数,对象a具有类Derive的属性和方法(在C++中一般用函数来实现,比如Print(),我们可以说这操作是对象a的动态属性)

(26)下面不属于软件工程的3个要素的是______。

A.工具

B.过程

C.方法

D.环境

(26)[答案]D

这里阐述一下,以上答案为原稿的答案,有的书上答案应该为B,解释如下:

软件工程包括的三要素是:

软件开发方法学、工具和环境支持,而其主体内容是软件开发方法学。

1、软件开发方法,比如根据瀑布模型有结构化分析与设计方法,有原型化开发方法

2、软件开发工具各个瀑存模型阶段都有相关工具,比如需求分析阶段有DFD数据流程图,详细设计阶段有HIPO图或PAD图,编码工具有VC、VB……

3、软件开发环境是全面支持软件开发全过程的软件工具集合。

此题的争论,意义性不大,燃眉之急是应付考试。

软件工程三要素工具、方法、过程,请大家记一下。

(27)程序流程图(PFD)中的箭头代表的是______。

A.数据流

B.控制流

C.调用关系

D.组成关系

(27)[答案]B

如果A,那么B,否则C,这是我们二级中很熟悉的程序流程方式,我们可以画成相应的PFD图或N-S图。

易知箭头控制应该是哪条语句执行,即B答案。

(34)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。

A.调用语句

B.命令

C.口令

D.消息

(34)[答案]D

通过消息机制。

太理论方面的不多说,现举例说明。

比如在VC++中,单击了一个菜单命令项"

退出"

,我们要实现退出程序,如何来实现?

很简单,只要向窗体发送一个PostQuitMessage(0);

就可以关闭窗体。

这个在VB中还简单,三个字符"

End"

即可解决,相当于向所有窗体发送一个销毁窗体的消息,即"

Unload窗体名"

语句。

(如果是单个窗体的话,即相当于UnloadMe语句)

PublicaAsInteger

PrivateSubCommand1_Click()

a=20

Printa

EndSub

PrivateSubCommand2_Click()

Form_Load'

'

这里调用Form_Load()过程,实用a=10

PrivateSubForm_Load()

a=10

命令按纽Command2向其母窗体发送一个消息,使其为Command2服务。

Command2是CommandButton类的一个对象,主窗体是窗体类的一个对象。

关于类与对象的理解,请大家看前面的题的详解。

 

(35)检查软件产品是否符合需求定义的过程称为______。

A.确认测试

B.集成测试

C.验证测试

D.验收测试

(35)[答案]A

A、C、D相近,但A为比较正规的说法名词。

确认测试也称合格测试或验收测试,主要由用户参加,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节。

单元测试主要采用白盒法,之后再采用集成测试,主要采用黑盒法。

这些主要由开发者的工作,而无用户参与,不是检查是否符合需求定义的。

什么叫白盒黑盒?

相当于这样理解吧:

白盒测试,我们要注意到代码;

黑盒,我们只关心程序运行的输入输出是否正确,一般是大量的测试,主要于非增量测试中使用,而非增量测试又一般适用于规模较小的系统开发。

可以想象,一个很大很复杂的系统,我们用黑盒法来集成测试,效果可想而知。

(36)下列工具中属于需求分析常用工具的是______。

A.PAD

B.PFD

C.N-S

D.DFD

(36)[答案]D

PAD,问题分析图,常用于详细设计;

PFD,程序流程图,常用于详细设计,我们很多如C、VB…程序设计书上都有简单的实例;

N-S,方框图,比程序流程图更灵活,也常用于详细设计;

DFD,数据流图,远离具体在计算机上的实现,不懂计算机的用户也能看懂,用于需求分析。

什么叫详细设计?

它与我们编程有什么区别?

这样理解吧,公司的高级程序员,就是软件设计师,他们会搞详细设计的(在概要设计之后),比如用PAD或N-S画个图,它不涉及具体的某种程序设计语言的实现,但程序员们都能看懂,程序员再用某种语言(比如C、VB、JAVA…)按照图来写代码。

这个过程,高级程序员完成设计工作,程序员完成写代码工作。

(37)下面不属于软件设计原则的是______。

A.抽象

B.模块化

C.自底向上

D.信息隐蔽

(37)[答案]C

我们无论是设计与编写代码,无论是画数据流图还是程序流图,习愦性思维都是先有输入才有输出,从下至下。

自底向上不是软件设计的原则。

(45)信息隐蔽的概念与下述哪一种概念直接相关______。

A.软件结构定义

B.模块独立性

C.模块类型划分

D.模拟耦合度

(45)[答案]B

模块独立性越强,则信息隐蔽性越好。

举个例,

在多重窗体设计时,每个窗体里的变量尽量与其它窗体里变量无关,比如少用Public声明的变量,即全局变量,当多个窗体共享全局变量越多时,窗体的独立性就越差。

头文件里的一些函数,一般不用到全局变量,否则在主程序里出乱子的情况很多,我们在模块化开发时,尽量使每个模块独立,强功能内聚,分工明确,调试程序也要方便得多。

类的封装性就是一个很好的说明。

 (46)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。

A.模拟现实世界中不同事物之间的联系

B.强调模拟现实世界中的算法而不强调概念

C.使用现实世界的概念抽象地思考问题从而自然地解决问题

D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

(46)[答案]C

我们举个例,

从各种语言的结构体类型出发,我们知道,结构体中可以定义很多变量,对每个变量执行相同的操作,挨个挨个写出,很麻烦。

假设该结构体有如下变量:

草鱼、田鱼、鲫鱼……

它们都在一口池塘里,现在执行:

它们都上来

传统的程序设计是:

草鱼上来

田鱼上来

鲫鱼上来

……

一条一条都写出,是不是很麻烦?

改进一下,我们用个循环:

n等于从1到10(假设共有10种鱼)

第n种鱼上来

还是很麻烦,现实中我们很易想到用"

面向对象的思想"

,池塘里所有的鱼都是一个结构体变量,名为鱼,执行:

鱼上来

意思即所有的鱼都上来。

现特定于面象对象语言中的类,鱼,就可以看作为一类。

这就属于C项:

使用现实世界的概念抽象地思考问题从而自然地解决问题。

 (47)在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。

A.详细设计

C.总体设计

D.编程调试

(47)[答案]C

从先到后一排,是:

需求分析、总体设计、详细设计、编程调试

需求分析远离在计算机上的实现,谈不上功能的分解;

有了需求分析的报告,软件设计员可以思考我要让软件怎么做,开始总体设计,其间将软件的功能分解,确定模块之间的接口;

有了每个模块功能的分解,再对每个模块进入详细设计阶段;

接下来再是程序员的任务,编写代码,开始编程调试。

(48)软件调试的目的是______。

A.发现错误

B.改正错误

C.改善软件的性能

D.挖掘软件的潜能

(48)[答案]B

(55)在设计程序时,应采纳的原则之一是______。

A.程序结构应有助于读者理解

B.不限制goto语句的使用

C.减少或取消注解行

D.程序越短越好

(55)[答案]A

前面的题中已解释过,二级的各种程序设计语言教程都会对结构化程序设有一定的介绍,比如goto语句的限制使用,基本上每本书上都会提到。

其中A,即易读性比程序的效率更显得重要,这是结构化程序设计原则提倡的,也是我们进行开发时非常重要的一点。

(56)下列不属于软件调试技术的是______。

A.强行排错法

B.集成测试法

C.回溯法

D.原因排除法

(56)[答案]B

耍个小聪明:

我们严格区分调试与测试,调试是已知有错误而来找错误,是被动的;

测试有很多种,比如未发现错误但不能保证程序没错而来找BUG,还比如我们运行测试程序是否符合用户的要求,是主动的。

不用说答案就是B了:

A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法。

测试有单元测试、集成测试、确认测试、系统测试。

比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误。

(57)下列叙述中,不属于软件需求规格说明书的作用的是______。

A.便于用户、开发人员进行理解和交流

B.反映出用户问题的结构,可以作为软件开发工作的基础和依据

C.作为确认测试和验收的依据

D.便于开发人员进行需求分析

(57)[答案]D

A、B、C都是作用,D说法有一定的错误,开发人员包括很多,比如程序员的工作就不是进行需求分析。

(58)在数据流图(DFD)中,带有名字的箭头表示______。

A.控制程序的执行顺序

B.模块之间的调用关系

C.数据的流向

D.程序的组成成分

(58)[答案]C

顾名思义,数据流图就是带有方框(外部实体)、圆圈(变换/加工)和带有名字的箭头以表示数据的流向。

需求分析中常用的分析图,它远离计算机上的具体实现,软件人员和用户都能看懂,有益于和用户交流。

(65)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。

A.模块间的关系

B.系统结构部件转换成软件的过程描述

C.软件层次结构

D.软件开发过程

(65)[答案]B

相当于详细设计,比如N-S图就是一种,它不用具体的某种语言实现,但描述了程序的思路,有了这就可以很轻松转换为某种语言的程序源代码。

这是一种系统结构部件转换成软件的过程描述。

(66)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。

A.PAD图

B.N-S图

C.结构图

D.数据流图

(66)[答案]B

(70)需求分析阶段的任务是确定______。

A.软件开发方法

B.软件开发工具

C.软件开发费用

D.软件系统功能

(70)[答案]D

据前面的题的解释,相信大家对需求分析有个理性认识了。

分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段,用户也参与,确定软件系统功能是一个重要的任务。

(75)下列不属于结构化分析的常用工具的是______。

A.数据流图

B.数据字典

C.判定树

D.PAD图

(75)[答案]D

通过前面题的解释,数据流图属于分析阶段相信大家都有所了解了。

数据字典也是一种分析阶段的工具。

什么叫数据字典,我们可以这样理解。

假设给了你一个数据流图,但上面的文字说明,比如"

看书"

练习"

考试"

拿证书"

…(假设这些是数据(知识)的处理过程,但可能有些人认为有个"

测试"

,实际上他的意思是"

,如果写在数据流图上,其它人认为是"

练习测试"

的意思,这就造成了数据流图不一致的理解,而数据流图是开发人员和用户都能看懂的,理解肯定是一致的。

所以必须有个数据字典,它标识了数据流图的所有名词述语,就好比我们用英汉词典一样,不会再有不一致的理解了。

判定树和判定表都是加工描述方法,当然也是分析阶段的。

PAD图(问题分析图)是详细设计阶段的工具,它的作用类似于程序流程图和N-S图。

关于程序流图和N-S图,二级很多科目都有介绍,前面的题中我也解释过。

(76)软件开发的结构化生命周期方法将软件生命周期划分成______。

A.定义、开发、运行维护

B.设计阶段、编程阶段、测试阶段

C.总体设计、详细设计、编程调试

D.需求分析、功能定义、系统设计

(76)[答案]A

我们可从一个软件的从无到有的过程来看,就是分析人员先分析,开发人员再开发,最终运行和维护。

(77)在软件工程中,白箱测试法可用于测试程序的内部结构。

此方法将程序看做是______。

A.循环的集合

B.地址的集合

C.路径的集合

D.目标的集合

(77)[答案]C

白盒测试,我们要深入源代码的内部;

而黑盒测试,我们只关心输入与输出数据是否符合要求。

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

当前位置:首页 > 表格模板 > 调查报告

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

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