软件开发技术考试复习题及参考答案.docx
- 文档编号:30223390
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:15
- 大小:110.95KB
软件开发技术考试复习题及参考答案.docx
《软件开发技术考试复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《软件开发技术考试复习题及参考答案.docx(15页珍藏版)》请在冰豆网上搜索。
软件开发技术考试复习题及参考答案
软件开发技术
一、填空题
1、软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。
2、软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。
3、系统流程图是()的传统工具。
4、结构化语言是介于自然语言和()之间的一种半形式语言。
5、数据字典的内容包括六项:
()、()、()、数据存储、处理逻辑、外部实体。
6、UML的定义包括()和()两个部分。
7、按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和()。
8、瀑布模型是以文档为驱动、适合于()的软件项目的模型。
9、对象具有标识唯一性、分类性、多态性、( )和( )等基本特性。
10、消息关联指的是对象( )的一种依赖关系。
11、对象的规格说明包括对对象( )的说明及对对象( )的说明。
12、在需求分析阶段常用的图形工具有()、()、()。
13、模块独立的概念是()、()、()和局部化概念的直接结果。
14、基于计算机系统的系统元素包括:
软件、硬件、人、()、()和过程等几个部分。
15、软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、()、可使用性和效率。
16、为了便于对照检查,测试用例应由输入数据和预期的()两部分组成。
17、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:
结构化语言、判定表、
()。
18、需求分析的基本任务是准确的回答()。
19、常用的系统分析方法有四类,包括:
()、数据流方法、信息造型方法以及()。
20、面向对象设计中,主要存在两种耦合,交互耦合和()。
21、UML是一种标准的图形化(即可视化)建模语言,它由()和()组成。
其中,前者是UML的表示法(语法),而后者给出前者的含义,是UML的语义。
二、选择题
1、下列关于瀑布模型的描述正确的是()。
A.瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B.瀑布模型具有良好的灵活性。
C.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D.利用瀑布模型,如果发现问题修改的代价很低。
2、下列各方法中()不是软件测试方法。
A.白盒法B.黑盒法
C.动态测试D.盒法
3、UML的基本建筑块不包括()。
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.开发风险
11、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。
A.确定B.行或不行C.正确D.无二义
12、需求分析阶段的任务是确定()
A.软件开发方法B.软件开发工具
C.软件开发费D.软件系统的功能
13、下图说明的是模块A、B之间的关系,对下图说明正确的是()
A、模块A调用模块BB、模块B调用模块A
C、模块A和模块B相互调用D、模块A和模块B之间不存在调用关系
14、以实体、联系和属性等基本概念为基础的实体联系图是基本实体联系图。
为了满足新的应用需求和表达更多的语义,实体联系图可以进行扩充;通过引入()概念而形成的实体联系图即为扩充的实体联系图。
()
A、分类B、聚集C、分类和聚集D、实体和联系
15、需求分析最终结果是产生()
A、项目开发计划B、需求规格说明书
C、设计说明书D、可行性分析报告
16、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()
A.软件工程B.软件周期
C.软件危机D.软件产生
17、研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性
C.社会可行性D.法律可行性
18、在SD方法中全面指导模块划分的最重要的原则是()
A.程序模块化B.模块高内聚
C.模块低耦合D.模块独立性
19、不适合作为科学工程计算的语言是()
A.PascalB.C
C.FortranD.Prolog
20、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()
A.条件覆盖法B.等价分类法
C.边界值分析法D.错误推测法
21、下列属于维护阶段的文档是()
A.软件规格说明B.用户操作手册
C.软件问题报告D.软件测试分析报告
22、快速原型模型的主要特点之一是()
A.开发完毕才见到产品B.及早提供全部完整的软件产品
C.开发完毕后才见到工作软件D.及早提供工作软件
23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为()
A.校正性维护B.适应性维护
C.完善性维护D.预防性维护
24、类库这种机制是()级别的信息共享。
A.同一类B.不同类
C.同一应用D.不同应用
25、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为()
A.可用性B.可靠性
C.正确性D.完整性
26、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()
A、探索型模型B、演化型模型C、实验型模型D、提交型模型
27、软件可维护性的特性中相互矛盾的是()
A、可修改性和可理解性B、可测试性和可理解性
C、效率和可修改性D、可理解性和可读性
28、瀑布模型的存在问题是()
A.用户容易参与开发B.缺乏灵活性
C.用户与开发者易沟通D.适用可变需求
29、软件结构图的形态特征能反映程序重用率的是()
A、深度B、宽度C、扇入D、扇出
30、用黑盒技术设计测试用例的方法之一为()
A、因果图B、逻辑覆盖C、循环覆盖D、基本路径测试
三、名词解释
1、数据字典
2、内聚性
3、JSP方法
4、多态性
5、重用性
6、软件工程过程
7、信息隐蔽
8、集成测试
9、系统流程图
10、软件维护
四、简要回答下列问题
1、什么是模块、模块化、模块独立性?
2、何谓黑盒测试?
何谓白盒测试?
3、以G.J.Myers的观点,简述对软件测试的目的。
4、简述结构化程序设计方法的基本要点。
5、简述文档在软件工程中的作用。
6、何谓是软件危机,软件危机有哪几种表现?
五、综合说明及应用题
1、某公司为本科以上学历的人重新分配工作,分配原则如下:
1).如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;
2).如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;
3).如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。
要求:
画出分析过程,得出判定表,并进行化简。
2、执行下列语句后,
inti,s;
for(i=s=0;i<12;i++)s+=i;
while(--i>5)s+=i;
求S的值(写出必要的中间值)。
3、分别举例说明C++中对象操作的两种调用方式。
4、采用对象联系矩阵表示下面的问题:
1个“A”“使用”0到m个“B”,1个“B”只能被1个“A”所“使用”;1个“B”上只能“选用”1个“C”,1个“C”可以被0到m个“B”来“选用”。
5、给出下面程序的运行结果。
#include“iostream.h”
intmain()
{inti=1;
while(i<=25)
if(++i%7!
=3)continue;
elsecout<<”i=”<
}
6、别举例说明C++中的两种对象创建方式。
7、用判定树描述下例:
在铁路货运票价系统中,如果里程数大于1千km(含),且货运量超过500吨(含),则货运价为0.05元/公里.吨;500吨以下,货运价为0.06元/公里.吨。
如果里程数小于1千km,且货运量超过500吨(含),则货运价为0.07元/公里.吨;500吨以下,货运价为0.08元/公里.吨。
参考答案
一、填空题
1、理论、方法、工具
2、可行性研究、需求分析、编码
3、描述物理系统
4、形式语言
5、数据流、数据项、数据结构
6、UML语义、UML表示法
7、事务分析设计
8、软件需求明确
9、继承性,封装性
10、行为之间
11、属性,行为
12、层次方框图、Warnier图、IPO图
13、模块化、抽象、信息隐蔽
14、数据库、文档
15、可移植性
16、输出结果
17、判定树
18、系统必须做什么
19、功能分解方法,面向对象方法
20、继承耦合
21、图,元模型
二、选择题
1~15:
CDABB;CCADC;BDACB
16~30:
CBDDC;CDBDB;ACBCA
三、名词解释
1、数据字典:
数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
2、内聚性:
内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
3、JSP方法:
JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
4、多态性:
多态性指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果,或不同的对象,收到同一消息可以产生不同的结果。
5、重用性:
重用性指的是软件的某些部分重复使用的性能。
软件重用是提高软件生产率的重要手段,重用性越高,则软件生产率越高。
按重用性的程度从低至高可以分为代码重用、设计结果重用和分析结果重用几种类型。
6、软件工程过程:
在软件生产中,软件工程过程规定了获取、供应、开发、操作和维护软件时,要实现的过程、活动和任务,它包括7个主要过程:
获取过程、供应过程、开发过程操作过程、维护过程、管理过程和支持过程。
7、信息隐蔽:
信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
8、集成测试:
集成测试也称组装测试或联合测试。
是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
组装模块的方式有两种:
渐增式测试和非渐增式测试。
9、系统流程图:
系统流程图是描绘物理系统的工具,它用图形符号来表示系统中的各元素。
它表示系统中各元素之间的信息流动的情况。
10、软件维护:
软件维护是指在软件已交付用户使用后,为了改正错误,或者满足用户新的需求而修改软件的过程。
四、简答题
1、答:
模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。
模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。
模块独立性是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。
模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
2、答:
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。
黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。
黑盒测试又称为功能测试。
白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。
这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。
3、答:
软件测试的目的:
(1)为了发现错误而执行程序的过程;
(2)一个好的用例能够发现至今尚未发现的错误的测试;
(3)一个成功的测试是发现至今尚未发现的错误的测试。
4、结构化程序设计方法的要点包括:
(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
5、文档在软件工程中的作用主要包括:
(1)提高软件开发过程的能见度
(2)提高开发效率
(3)作为开发人员阶段工作成果和结束标志
(4)记录开发过程的有关信息便于使用与维护;
(5)提供软件运行、维护和培训有关资料;
(6)便于用户了解软件功能、性能。
6、答:
软件开发和维护的过程中所遇到的一系列严重的问题。
具体表现在:
(1)产品不能符合用户的实际需求;
(2)软件开发的效率较低;
(3)软件产品的质量差;
(4)软件开发成本和进度的估算不准确;
(5)软件可维护性差;
(6)软件开发文档资料不完整;
(7)软件的价格昂贵;
五、综合说明及应用题
1、
(1)判定条件可能取值表:
(2)计算组合数2*3*2=12;
(3)初步判定表
(4)简化后的判定表
2、forwhile
i=0,s=0–>s=0i=11,s=66–>s=77
i=1,s=0–>s=1...
i=2,s=1–>s=3
...
i=11,s=55–>s=66;i=66,s=111–>最后得:
s=117
3、C++操作的调用分两种情况:
(1)如果是采用静态内存分配方式创建对象的,那么采用"."方式调用操作,如例1所示。
例1静态对象操作的调用
Studentstudentobj("98109002");
studentobj.ChangePassword(NewPassword,OldPassword);
(2)如果是采用动态内存分配方式创建对象的,那么采用"->"方式调用操作,如例2所示。
例2动态对象操作的调用
Student*studentobj=newStudent("98109002")
studentobj->ChangePassword(NewPassword,OldPassword);
4、采用对象联系矩阵表示下面的问题
A
C
B
1个A
“使用”0,m个
1个C
被0,m个“选用”
1个B
被1个A“使用”
“选用”1个C
5、输出结果:
i=3
i=10
i=17
i=24
6、C++有两种对象创建方式,静态内存分配方式和动态内存分配方式,每当创建一个新对象,就执行一次构造函数。
例:
用静态内存分配方式创建了类Student的学号为98109002的对象studentobj。
Studentstudentobj("98109002");
如果该语句是出现在一个操作或函数中,则说明studentobj被定义为局部变量,当操作或函数执行完毕退出时,该对象将被自动消除,所占用的内存被释放,释放内存时将执行一次析构函数。
如果该语句是将studentobj定义为一个全局变量,则只有系统退出后对象studentobj才会被消除。
采用动态内存分配方式创建对象时需要借用C++的new操作符进行。
new操作符为新对象分配内存并且返回它的一个指针,指针存放在指针变量中。
new操作符可以包括构造函数中的参数,如下例所示。
例:
对象创建的动态内存分配方式
Student*studentobj=newStudent("98109002")
7、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 技术 考试 复习题 参考答案
![提示](https://static.bdocx.com/images/bang_tan.gif)