《软件工程》试题参考答案1卷001.docx
《《软件工程》试题参考答案1卷001.docx》由会员分享,可在线阅读,更多相关《《软件工程》试题参考答案1卷001.docx(18页珍藏版)》请在冰豆网上搜索。
《软件工程》试题参考答案1卷001
《软件工程》试题参考答案
(1)卷
一、单向选择题(四选一、每小题3分,共18分)
1、软件的发展经历了(D)个发展阶段。
0102
一
二
三
四
2、需求分析的任务不包括(B)。
0401
问题分析
系统设计
需求描述
需求评审。
3、一个软件的宽度是指其控制的(C)。
0801
模块数
层数
跨度
厚度
4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
0802
判定表和判定树
盒图
流程图
关系图
5、以下不属于逻辑覆盖的是(D)。
1402
语句覆盖
判定覆盖
条件覆盖
基本路径
6、为适应软件运行环境的变化而修改软件的活动称为(B)。
1501
纠错性维护
适应性维护
改善性维护
预防性维护
二、填空题(每空2分,共18分)
软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
0101
高级语言:
独立于机器,面向过程或面向(对象)0101
软件项目管理的范围主要集中于3个P上,即:
People人员、Problem问题和(过程)。
0201
人机界面的风格第一代界面是命令和(询问)方式。
1202
由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。
1504
在公式V(G)=E–N+2中:
E为程序图G中边的总数;N为程序图中结点的总数。
V(G)又称为图G的环形(复杂度)0204。
矚慫润厲钐瘗睞枥庑赖賃軔。
任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。
0303聞創沟燴鐺險爱氇谴净祸測。
为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?
”。
1204残骛楼諍锩瀨濟溆塹籟婭骒。
文档是一种数据媒体和其上所记录的(数据)。
0101
三、判断题(每小题2分,共24分,错误打X、正确打√)
用户对软件需求的描述不精确,往往是产生软件危机的原因之一。
(√)0102
目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。
(√)0206酽锕极額閉镇桧猪訣锥顧荭。
一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
(√)0206彈贸摄尔霁毙攬砖卤庑诒尔。
目前的绝大多数软件都不适合于快速原型技术。
(X)0402
面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:
企事业的信息管理系统;系统软件(如操作系统)等。
(√)10001謀荞抟箧飆鐸怼类蒋薔點鉍。
缺乏处理大型软件项目的经验。
是产生软件危机的唯一原因。
(X)0102
通常紧致性好的语言一致性就好。
(X)1301
测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。
(X)1401
数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容。
(√)1204厦礴恳蹒骈時盡继價骚卺癩。
软件也会磨损和老化。
(X)0101
完善性维护是提高或完善软件的性能。
(√)0101
McCabe建议模块规模应满足:
V(G)≤20。
(X)0204
四、简答题(每小题4分,共20分)
1、程序设计语言的三种类型和特点是什么?
0101
机器语言、汇编语言:
依赖于机器,面向机器
高级语言:
独立于机器,面向过程或面向对象
面向问题语言:
独立于机器,非过程式语言(4GL)(2分)
2、软件危机
是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
0101
3、软件项目的质量管理——制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。
0201茕桢广鳓鯡选块网羈泪镀齐。
4、好的编程风格应遵循哪四条规则?
1304
1)节简化
2)模块化
3)简单化
4)文档化
5、软件测试中按照错误的性质和范围进行分类可分为:
“功能错误”及其它哪些错误?
1401
系统错误
加工错误(算法错误)
数据错误
代码错误
五、综合题(每小题10分,共20分)
1、选择语言时要考虑的因素有:
项目的应用领域、项目中算法、计算的复杂性和其余哪些内容?
1301
答:
1)项目中数据结构的复杂性
2)用户的性能需求
3)软件运行的环境
4)软件开发人员开发水平
5)可用的编译器和交叉编译器
2、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。
试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。
0201鹅娅尽損鹌惨歷茏鴛賴縈诘。
解:
1.软件开发的生产率P为:
P=L/E=12.1×103LOC/24PM=504LOC/PM
2.开发每行代码的平均成本C为:
C=S/L=168000美元/12100LOC=13.9美元/LOC
3.代码出错率EQR为:
EQR=N/L=29个/12.1KLOC=2.4个/KLOC
4.软件的文档率D为:
D=Pd/L=365页/12.1KLOC=30页/KLOC
《软件工程》试题参考答案
(2)卷
一、单向选择题(四选一、每小题3分,共18分)
1、对在数据流图中每一个命令的图形元素均给以定义是(B)0501
A、条目定义
B、数据字典
C、数据定义
D、数据说明
2、软件的可行性研究中不包括(D)0302
A、法律可行性
B、技术可行性
C、经济可行性
D、政治可行性
3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。
1501
纠错性维护
适应性维护
改善性维护
预防性维护
4、人机界面的风格大致经过了(B)代的演变。
1202
三
四
五
六
5、以下不属于白盒测试技术的是(D)1402
逻辑覆盖
基本路径测试
循环覆盖测试
等价类划分
6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
1501
纠错性维护
适应性维护
改善性维护
预防性维护
二、填空题(每空2分,共18分)
文档(document)—一种数据媒体和其上所记录的(数据)。
0101
机器语言、汇编语言:
依赖于机器,面向(机器)0101
软件有效性(efficiency),指软件系统的时间和(空间)效率。
0103
软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
0103
软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
0103
为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
0402
一个软件的深度是指其控制的(层数)。
0801
以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
1301籟丛妈羥为贍偾蛏练淨槠挞。
软件维护是软件生命周期的(最后)一个阶段。
1501
三、判断题(每小题2分,共24分,错误打X、正确打√)
缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
(√)0102
一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
(X)0206
在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
(√)0402預頌圣鉉儐歲龈讶骅籴買闥。
快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
(√)0402渗釤呛俨匀谔鱉调硯錦鋇絨。
流程图也称为程序(框图)是最常用的一种表示法。
(√)0802
面向数据设计方法一般都包括下列任务:
确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。
(√)1001铙誅卧泻噦圣骋贶頂廡缝勵。
理想的人机界面应针对具有典型个性的特定的一类用户设计。
(√)1201
数据输入的一般准则中包括尽量(增加)用户输入的动作。
(X)1204
用穷举测试是较现实的测试方法。
(X)1401
10、编码时应尽可能使用全局变量(X)1302
11、重视程序结构的设计,能使程序具有较好的层次结构(√)1301
12、程序中的注解越少越好(X)。
1302
四、简答题(每小题4分,共20分)
1、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。
0101
2、需求分析的任务是什么?
0103
需求分析的任务是确定待开发的软件系统“做什么”。
具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。
擁締凤袜备訊顎轮烂蔷報赢。
3、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。
0201贓熱俣阃歲匱阊邺镓騷鯛汉。
4、快速原型技术的基本思想是什么?
0402
在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。
坛摶乡囂忏蒌鍥铃氈淚跻馱。
5、程序设计语言有哪些特点?
1301
1)一致性
2)二义性
3)紧致性
4)局部性
五、综合题(每小题10分,共20分)
1、可将软件生存周期划分为哪3个过程和哪9个阶段。
0103
(1)3个过程是:
软件定义过程、软件开发过程、软件使用与维护过程。
(2)9个阶段有:
可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。
蜡變黲癟報伥铉锚鈰赘籜葦。
2、画出与图1所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。
0204
解:
(1)程序图如(图2)所示:
(2)计算其巡回秩数:
V(G)=E–N+2=13–10+2=5
(图一)
(图二)
《软件工程》试题参考答案(3)卷
一、单向选择题(四选一、每小题3分,共18分)
1、在设计测试用例时,应当包括(C)1401
A、合理的输入条件
B、不合理的输入条件
C、合理的和不合理的输入条件
D、部分条件
2、下列各项中不属于逻辑覆盖的是(D)1402
A、语句覆盖
B、判定覆盖
C、判定——条件覆盖
D、全部覆盖
3、高级语言通常被分成三类,其中不包括(D)1301
通用高级语言
面向对象的语言
专用语言
自然语言
4、Jackson方法在需求分析阶段的主要步骤不包括(A)。
1002
了解实体行为
标识实体与行为
生成实体结构图
创建软件系统模型
5、实践表明,确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的(D)%。
1404
30
50
70
90
6、为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为(D)。
1501
纠错性维护
适应性维护
改善性维护
预防性维护
二、填空题(每空2分,共18分)
软件的可互操作性,是指多个软件元素相互(通信)并协同完成任务的能力。
0201
第三代语言也称为(高级)语言。
1301
软件测试是软件投入运行(前),对软件需求分析、设计、实现的强有力的最终审查。
1401
黑盒测试主要是测试软件是否满足(功能)需求。
1402
(调试)的目的是确定错误的位置和引起错误的原因,并加以改正。
因此,又称为排错或纠错。
1404
软件工程由方法、工具和(过程)三部分组成,称软件工程的三要素。
0101
软件可追踪性(traceability),是指根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行(逆向)追踪的能力。
0103買鲷鴯譖昙膚遙闫撷凄届嬌。
瀑布模型是由W.Royce于1970年提出来的。
又称为软件(生存周期)模型。
0104
程序设计语言的(可维护)性通常指这种语言编写的程序被理解,被修改及调整和改进的难易程度。
1302
三、判断题(每小题2分,共24分,错误打X、正确打√)
文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维护。
(√)0101
软件开发、设计几乎都是从头开始,成本和进度很难估计。
(√)0101
适应性维护是改进软件未来的可维护性和可靠性。
(X)0101
由于软件是逻辑产品,软件质量较容易直接度量。
(X)0203
V(G)值越高的程序往往是越不复杂、越不容易出问题的程序。
(X)0204
目前我国还没有颁布软件开发标准。
(X)0206
按照功能,软部件可划分为系统软件和应用软件两类。
(√)0301
如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。
(√)0502綾镝鯛駕櫬鹕踪韦辚糴飙钪。
耦合度是对软件结构中模块间关联程度的一种度量。
在设计软件时应追求尽可能紧密的耦合的系统。
(X)0803驅踬髏彦浃绥譎饴憂锦諑琼。
在面向对象设计阶段则着重完成“如何做”的问题,也就是着重考虑对象的实现细节。
(√)1101
随着软件复杂性的不断提高,软件的维护难度越来越大。
(√)1501
软件的可维护性差是软件维护工作量和费用激增的直接原因。
(√)1505
四、简答题(每小题4分,共20分)
1、软件在使用过程中维护有哪几种?
0101
1)纠错性维护
2)完善性维护
3)适应性维护
4)预防性维护
2、Coad/Yourdon面向对象的方法除了包含识别对象外还包括哪4个步骤?
0702
标识对象的属性
标识对象的行为
识别对象所属的类
定义主题词
3、Jackson系统开发方法其核心思想是什么?
0602
根据作用于数据的行为序列的结构(顺序、选择、重复),建立目标软件系统的模型,然后在软件设计阶段将模型转换为相应的程序结构。
猫虿驢绘燈鮒诛髅貺庑献鵬。
4、设计人机界面,必须考虑哪四个方面。
1202
系统的响应时间;
用户求助机制;
错误信息处理;
命令方式。
5、什么是测试用例?
为了进行有效的测试而设计的输入数据和预期的输出结果数据。
1401
五、综合题(每小题10分,共20分)
1、SD方法能方便地将数据流图转换为软件结构,其过程分为哪五步?
0901
1. 确定信息流的类型;
2. 划定流界;
3. 将数据流图映射为程序结构;
4. 提取层次控制结构;
5. 通过设计复审和使用启发式策略进一步精化所得到的结构。
2、已知有一个软件项目的记录,开发人员M=6人,其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。
试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。
0201锹籁饗迳琐筆襖鸥娅薔嗚訝。
解:
根据给出的已知数据,可得:
P=L/E=20.2KLOC/43PM=0.47KLOC/PM
=470LOC/PM
C=S/L=314000美元/20.2KLOC
=15.54美元/LOC
EQR=N/L=64个/20.2KLOC=3.17个/KLOC
D=Pd/L=1050页/20.2KLOC=51.98页/KLOC
《软件工程》试题参考答案(4)卷
一、单向选择题(四选一、每小题3分,共18分)
1、从事物的组成部件及每个部件的属性、功能来认识事物。
这种方法被称为(A)的方法。
0701
A、面向对象
B、面向数据
C、面向过程
D、面向属性
2、判定表由四部分组成:
左上部列出(B)。
0802
条件组合与动作之间的对应关系
所有条件
所有可能的动作
可能的条件组合
3、面向对象的分析和设计(OOA&OOD)方法出现在20世纪(C)年代中期。
0701
50
60
70
80
4、耦合度也可以分为七级:
其中最松散的耦合是(A)。
0801
非直接耦合
数据耦合
特征耦合
控制耦合
5、面向对象方法是将现实世界的事物以对象的方式(B)到计算机世界的方法。
0101
对应
映射
反映
反射
6、盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
0802構氽頑黉碩饨荠龈话骛門戲。
流程图
框图
判定表
N-S图
二、填空题(每空2分,共18分)
软件工程由方法、(工具)和过程三部分组成,称软件工程的三要素。
0101
软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。
0103
在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。
0502
建立数据流模型要遵循的原则包括:
每个加工至少应有一个输入数据流以反映被处理数据的来源和一个(输出)数据流来反映加工的结果。
0503輒峄陽檉簖疖網儂號泶蛴镧。
从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。
0801
通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可(交互)性的措施之一。
1204尧侧閆繭絳闕绚勵蜆贅瀝纰。
程序设计语言的可靠性是指程序设计语言本身不出错或对错误的(纠正)能力。
1302
对发现错误较多的程序模块,应进行(重点)测试。
1401
测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。
1401
三、判断题(每小题2分,共24分,错误打X、正确打√)
纠错性维护是改正运行期间发现的潜伏错误。
(√)0101
软件可移植性(portability),是指软件从一个计算机系统或(环境)移植到另一个上去的难易程度。
(√)0103识饒鎂錕缢灩筧嚌俨淒侬减。
软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。
(X)0204
当程序内的分支数和循环数增加时,V(G)值将随之增加,即程序的复杂性增大。
(√)0204
一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。
(√)0803凍鈹鋨劳臘锴痫婦胫籴铍賄。
设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以及人-机工程学、语言学等学科的知识。
(X)1201恥諤銪灭萦欢煬鞏鹜錦聰櫻。
第四代语言(4GL)还局限在某些领域内,如数据库查询语言。
(√)1301
不同程序设计语言在程序的效率上的差异不大。
(X)1302
编码的依据是详细设计说明书。
(√)1303
程序文档应该包括代码的功能、代码的完成者等内容。
(√)1303
软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。
(√)0301
预防性维护是修改软件,以适应软硬件环境的变化。
(X)0101
四、简答题(每小题4分,共20分)
1、软件工程的原则有抽象、信息隐藏、模块化和其他那些内容?
0102
局部化
一致性
完全性
可验证性
2、常用的软件项目的估算方法主要有哪4种?
0202
自顶向下的估算方法
自底向上的估算方法
差别估算法
根据经验估算公式
3、原型法模型一般适应哪些场合?
0104
它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
鯊腎鑰诎褳鉀沩懼統庫摇饬。
4、简答结构化程序设计的内容。
0801
是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。
5、瀑布模型一般适应哪些场合?
0104
瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。
例如操作系统、编译系统、数据库管理系统等系统软件的开发。
应用有一定的局限性。
硕癘鄴颃诌攆檸攜驤蔹鸶胶。
五、综合题(每小题10分,共20分)
1、软件工程的目标是什么?
0103
答:
在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
阌擻輳嬪諫迁择楨秘騖輛埙。
2、软件工程必须遵循那些基本原则?
0102
答:
抽象
信息隐藏(2分)
模块化(2分)
局部化
一致性
完全性
可验证性(2分)
《软件工程》试题参考答案(5)卷
一、单向选择题(四选一、每小题3分,共18分)
1、描述静态数据结构的概念模式是(A)。
0801
A、E-R图B、DFDC、结构图D、框图
2、结构化程序设计理论认为,实现良好的程序结构要应用(A)的分析方法。
1301
A、自顶向下B、自底向上C、面向对象D、基于组件
3、在结构化程序设计当中,不建议使用(D)。
1302
A、分支语句B、循环语句C、子程序调用语句D、转向语句
4、软件生产过程中,需求信息由(D)给出。
0401
A、程序员B、项目管理者C、软件分析设计人员D、软件用户
5、在下列的基本成分中,哪个不是数据流程图的基本成分?
(D)0502
A、信息处理B、信息存储C、外部实体D、系统状态
6、与设计测试数据无关的文档是(D)。
1401
A、需求说明书B、设计说明书C、源程序D、项目开发设计
二、填空题(每空2分,共18分)
软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。
0103
基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。
0301
数据流图就是用来刻画数据流和转换的信息系统建模技术。
它用简单的图形记号分别表示数据流、转换、(数据源)以及外部实体。
0501氬嚕躑竄贸恳彈瀘颔澩纷釓。
被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类子类。
0701
流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基本控制构件。
0802
机器语言和汇编语言,也称为(低级)语言。
1301
软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。
1401
动态测试有两种测试方法:
黑盒测试和(白盒)测试。
1401
软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。
0103釷鹆資贏車贖孙滅獅赘慶獷。
三、判断题(每小题2分,共24分,错误打X、正确打√)
开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。
(√)0102
据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以下。
(X)0201怂阐譜鯪迳導嘯畫長凉馴鸨。
数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能。
(X)0501
软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。
(√)0801
最高耦合度是数据耦合。
(X)0803
人机界面(Human-ComputerInterface,简称HCI)又称人-机接口或用户界面。
(√)1201谚辞調担鈧谄动禪泻類谨觋。
在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形式和风格。
(X)1204
判定覆盖必然满足语句覆盖。
(√)1402
为提高可交互性一般对大多数操作动作应允许用户恢复。
同时应尽量减少用户记忆的信息量。
(√)1204
编程中应采用统一的标准和约定,降低程序的复杂性。
(√)1303
软件在使用过程中维护不十分复杂。
(X)0101