软件工程考试题doc.docx
《软件工程考试题doc.docx》由会员分享,可在线阅读,更多相关《软件工程考试题doc.docx(14页珍藏版)》请在冰豆网上搜索。
软件工程考试题doc
六、填空题
1、(可行性研究)的目的就是用最小代价在尽可能短的时间内确定该软件项目是否能够开发、是否值得开发。
2、可行性研究的目的不是是开发一个软件项目,而是研究这个项目是否(是否做值得)。
3、可行性研究需要从(经济)可行性、(技术)可行性、(操作)可行性和(社会)可行性四个方面分析研究每种解决方案的可行性。
4、技术可行性是对开发项目的(功能、性能、限制条件)进行分析,确定现有资源条件下,技术风险有多大,项目是否能实现。
5、经济可行性一般要考虑的情况包括:
(成本和效益)。
6、社会可行性所涉及的范围包括(合同、责任、侵权)用户组织的管理模式、范围以及其他一些技术人员常常不了解的陷阱。
7、典型的可行性研究有以下步骤:
确定项目的规模和目标、(研究正在运行的系统)、(建立新系统的高层逻辑模型)、导出和评价各种方案、推荐可行的方案和编写可行性研究报告。
8、系统效益=经济效益+(社会效益)。
9、效益分有型效益和(无形)两种。
10、可行性研究的第一个步骤是(确定项目的规模和目标)。
11、数据字典就是用来定义数据流图中的(各个成分的具体含义)的。
它和数据流图共同构成了系统的(逻辑模型),是(需求说明书)的主要组成部分。
12、由于数据流是流动中的数据,所以必须有(流向)。
除了与(数据存储)之间的数据流命名外,数据流应该采用名词或名词短语。
七、选择题
1、研究开发资源有效性是进行(D)可行性研究的一个方面
A.技术B.经济C.社会D.操作
2、在软件可行性研究中、可以从不同的角度对软件进行研究,其中从软件的功能可行性角度考虑的是(B)可行性
A.经济B.技术C.操作D.社会
3、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)
A.可行性研究、需求分析、问题定义
B.问题定义、可行性研究、需求分析
C.需求分析、问题定义、可行性研究
D.可行性研究、问题定义、需求分析
4、可行性研究要进行的需求分析和设计应是(C)。
A.详细的B.全面的C.简化的D.彻底的
七、填空题
1、需求分析的基本任务是要准确地定义(扇新系统的目标),为了满足用户需求,回答系统必须(做什么)的问题。
2、在需求分析阶段,首先进行问题识别,即双方确定对问题的综合需求,这些需求包括:
(功能)需求、(性能)需求、(环境)需求、(用户界面)需求。
另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。
3、需求分析的困难主要体现在4个方面:
问题的复杂性、(交流障碍)、(不完备性和不一致性)、需求易变性。
4、在需求分析阶段进行以下几个方面的工作:
识别系统综合要求、(分析系统的数据要求)、导出软件逻辑模型、(编写文档)。
八、选择题
1、需求分析(D)。
A.要回答“软件必须做什么?
”
B.可概括为:
“理解、分解、表达”6个字
C.要求编写需求规格说明书
D.以上都对
2、需求分析阶段研究的对象是软件项目的(A)。
A.用户要求B.合理要求C.系统要求D.环境要求
3、软件需求分析阶段的工作,可以分成4个方面:
确定系统综合要求、分析系统的数据要求、导出逻辑模型以及(D)。
A.进度规划B.测试计划C.需求分析评审D.编写文档
4、需求规格说明书的作用不应包括(D)。
A.软件设计的依据
B.用户与开发人员对软件要做什么的共同理解
C.软件验收的依据
D.软件可行性行研究的依据
六、填空题
1、在软件的体系结构中,模块是可组合、分解和更换的单元。
模块具有(接口)、(功能)、(逻辑)、和(状态)等属性。
2、总体设计的文档主要有:
(总体设计说明书)和(数据库设计说明书)。
3、数据库设计指(数据存储设计)的设计,主要进行一下几方面的设计(概念设计、逻辑设计、物理设计)。
4、软件设计的基本任务包括:
(设计软件结构)、(数据结构和数据库设计)、(编写设计文档)和(评审)4个方面
5、抽象是认识复杂现象过程中使用的思维工具,即抽出事物(本质)的、(共同)的特性而暂不考虑它的(细节),不考虑其它因素。
6、软件结构设计是以(模块)为基础,以需求分析的结果为依据,从实现的角度进一步划分(模块),并组成模块的(层次结构)。
7、软件设计是一个把(需求分析)转换为软件表示的过程,包括总体设计和(详细设计)。
8、进入了设计阶段,要把软件“做什么”的(逻辑)模型变换为“怎么做”
的(物理)模型,即着手实现软件需求,并将设计的结果反映在(设计)文档中。
9、总体设计评价是对设计部分是否完整地实现了需求中规定的(功能)、(性能)等要求,设计方案的(可行性),关键的处理及内外部接口定义(正确性)有效性,各部分之间的(一致性)等都一一进行评审。
10、在一个模块中,(功能)、(状态)和(接口)反映模块外部特征,(逻辑)反映它的内部特性。
11、(信息隐藏)是指在设计和确定模块时,使得一个模块的内包含的信息对于不需要遮羞信息的其它模块来说是不能(访问)的。
12、设计软件结构,具体为:
(1)采用某种方法将一个复杂系统按功能划分为(模块)
(2)确定每个模块的(功能)(3)确定模块之间的(调用关系)(4)确定模块之间的(接口),即模块之间传递的信息。
(5)评价模块结构的质量。
13、模块间耦合高低取决与模块间(接口的复杂性、调用方式、传递信息)。
14、耦合性分2种类型,最强耦合(内容耦合),最弱耦合(无直接耦合)。
15、模块独立性中每个模块只完成问题要求的(独立的)子功能,并且与其它模块的联系(最少且接口简单)。
16、内聚性分2种类型,最强内聚(偶然内聚),最弱内聚(功能内聚)。
17、耦合性指软件结构中(各模块间)相互联系紧密程度的一种度量。
模块之间联系越(紧密),其耦合性就越强,模块的(独立性)则越差。
18、(数据耦合)是指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的(值传递)。
19、(标记耦合)指两个模块之间传递的是数据结构,如高级语言中的数据名、记录名、文件名等,其实传递的是(这个数据结构的地址)。
20、功能内聚是内聚程度最(强)的内聚,指模块内所有元素共同完成(一个功能),缺一不可。
功能内聚的模块与其它模块的耦合是(弱)的。
21、结构图主要内容有(模块、模块的控制关系、模块的信息传递)。
22、变换型DFD由(输入、变换、输出)三部分组成。
23、软件结构从形态上总的考虑是:
顶层扇出数较(高)一些,中间层扇出数较(低)一些,底层(扇入)数较高一些。
24、软件结构设计是以(模块)为基础,在需求分析阶段,已经把系统分解成层次结构。
设计阶段以需求分析的结果为根据,从实现的角度进一步划分为模块,并组成模块的层次结构。
选择题
1.软件设计一般分为总体设计和详细设计,它们之间的关系是(A)。
A.全局和局部B.抽象和具体C.总体和层次D.功能和结构
2、软件结构使用的图形工具,一般采用(C)图。
A.DFDB.PADC.SCD.E-R
3、下列中属于软件设计的基本原理的是(D)。
A.数据流分析B.变换流分析C.事务流分析D.模块化
4、将几个逻辑上相似的成分放在一个模块中,该模块属于(A)内聚。
A.逻辑B.时间C.功能D.通信
5、模块内的某成分的输出是另一成分的输入,该模块属于(B)内聚。
A.功能B.顺序C.逻辑D.时间
6、结构图中不是主要成分的是(C)。
A.模块B.模块间传递数据C.模块内部数据D.模块的控制关系
7、模块中的所有成分结合起来完成一项任务,该模块属于(D)内聚,它具有简明的外部界面,由它构成的软件易于理解、测试和维护。
A.偶然B.顺序C.通信D.功能
8、软件设计中模块间的耦合性尽可能(B)。
A.强B.弱C.较强D.适中
9、一个模块把一个数值量作为参数传递给另一模块。
这两个模块之间的耦合是(B)。
A.逻辑耦合B.数据耦合C.控制耦合D.内容耦合
10、一个模块把开关量作为参数传递给另一模块。
这两个模块之间的耦合是()。
A.外部耦合B.数据耦合C.控制耦合D.内容耦合
11、在面向数据流的软件设计方法中,一般将信息流分为(D)。
A.变换流和数据流B.变换流和控制流
C.事务流和控制流D.数据流和控制流
12、(D)着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。
A.程序流程图B.数据流图C.E-R图D.结构图
13、首先将系统中的关键部分设计出来,再让系统的其余部分的设计去适应它们,这称为(C)。
A.模块化B.逐步求精C.抽象D.信息隐藏
14、模块(C),则说明模块的独立性越强。
A.耦合越强B.扇入数越多C.耦合越弱D.扇出数越多
15、为了提高模块(B),当修改和维护模块时减少把一个模块的错误扩散到其它模块中去的机会。
A.耦合性B.独立性C.内聚性D.共享性
30、(D)把已确定的软件需求转换成特定形式的设计表示,使其得以实现。
A.系统设计B.详细设计C.逻辑设计D.总体设计
第五章总体设计应用
例1、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。
变换型事务型
例2:
已知模块C中的一个判定影响到模块B,如图所示,它违反了SD的设计原则。
试问:
可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。
例3、请将下图的DFD转换为软件结构图。
第六章详细设计
●1、详细设计的基本任务是什么?
有那几种描述方法?
●设计模块的数据结构、设计模块的详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评审。
●程序流程图、N-S图、PAD图、PDL。
例题:
某程序流程图如右图所示,请分别用N-S图和PAD图表示。
●
例2、输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。
使用N-S图描述。
例3、画出下面用PDL写出的程序的PAD图。
WHILEPDO
IFA>OTHENA1ELSEA2ENDIF;
S1;
IFB>0THENB1;
WHILECDOS2;S3ENDWHILE;
ELSEB2
ENDIF;
B3
ENDWHILE;
例4、有一过程,其流程如下图所示。
其中b1、b2、b3为判定的逻辑条件,s1、s2为加工处理。
试用判定表给予描述。
●计算流图的环形复杂度。
●V(G)=?
第七章编码与测试
●通常把编码和测试统称为实现。
●软件测试在软件生命周期中横跨两个阶段。
●通常在编写出每个模块之后就对它做单元测试。
●在这个阶段结束之后,对软件系统还应该进行各种综合测试,通常由专门的测试人员承担这项工作。
编码所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。
●1、选择语言
●2、写程序的风格
①程序内部的文档②恰当的标识符③适当的注④程序的视觉组织
例:
源程序的版面文档要求应有变量说明、适当注释和____。
A.框图B.统一书写格式C.修改记录D.编程日期
例6:
强调清晰性容易理解比效率更重要
第九章基本概念
软件工程学家Codd和Yourdon给出了面向对象的定义:
面向对象=对象+类+继承+消息通讯
面向对象的概念和术语有很多,但仅有下列是最基本的:
对象、类、封装、继承、消息、多态性
第十章面向对象分析与设计
3个模型对象模型功能模型动态模型
1、面向对象分析的核心在于建立(D)模型。
A.建立正确的模型B.识别问题域对象C.识别对象之间的关系D.上面所有
2、面向对象分析过程中建立的模型有(D)。
A.数据模型、功能模型、活动模型B.对象模型、功能模型、测试模型
C.属性模型、功能模型、对象模型D.对象模型、功能模型、动态模型
3、下列的(C)不属于面向对象分析模型。
A.用例图B.类图C.实体关系图D.顺序图
4、面向对象的类层次结构中,聚集关系是一种(B)
A.“一般-特殊”关系B.“整体-部分”关系C.“相互依赖”关系D.“一般-具体”关系
5、(C)是子对象或者子类自动共享父对象或者父类数据结构和方法的机制,这是对象或类之间的一种关系
A.封装B.抽象C.继承D.信息隐藏
6、在用例图中,可以用(D)来表示整个软件系统或其中一些子系统的边界,也可以用它表示软件系统的不同发布版本的功能范围。
A.执行者B.关联关系C.用例D.边界框
十三章
1度量软件规模2工作量估算3进度计划
1、下列说法中,不正确的是(A)。
A.功能点度量方法与程序设计语言有关B.功能点度量方法适合于过程式语言
C.功能点度量方法适合于非过程式语言D.功能点度量方法适合于软件项目估算
2.1-2是建立计划,2-4是编程,
4-8是测试代码,8-10是测试系统,
1-3是购买硬件,3-5是安装,
5-7是撰写手册,5-6是转化,7-9是培训,
9-10是用户测试。
(1)画出完整的工程网络图(标出EET,LET,和每个作业的机动时间);
(2)找出关键路径及完成该项目的最短时间;
(3)从节省人力的角度,画出该项目的GANTT图。