中央广播电视大学考试复习题.docx
《中央广播电视大学考试复习题.docx》由会员分享,可在线阅读,更多相关《中央广播电视大学考试复习题.docx(12页珍藏版)》请在冰豆网上搜索。
中央广播电视大学考试复习题
中央广播电视大学2008-2009学年期末考试
软件工程试题
一、选择题,请从四个可选项中选择正确答案(60分,每题3分)
1.软件工程四个层次由上至下是(),它们的顺序不能互换。
A.质量层、过程层、方法层、工具层
B.过程层、方法层、质量层、工具层
C.方法层、过程层、质量层、工具层
D.方法层、质量层、过程层、工具层
答案:
A
知识点:
软件工程研究的内容具有层次化结构
过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。
方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。
工具层为软件工程方法和过程提供了自动或半自动的支撑环境。
2.根据软件工程的7条基本原理判断下面正确的选项是()
A.软件错误发现的时机不重要,重要的是错误的严重程度
B.软件错误只能通过运行代码才能发现
C.软件错误发现的越早改正的成本越低
D.需求阶段一般不会引入错误
答案:
C
知识点:
软件工程的7条基本原理
(1)用分阶段的生命周期计划严格管理
(2)坚持进行阶段评审。
(3)实行严格的产品控制
(4)采用现代程序设计技术
(5)结果应能清楚地审查
(6)开发小组的人员应该少而精
(7)承认不断改进软件工程实践的必要性
3.下列有关标准的符号,属于国内标准的是()
A.ZG
B.GB
C.GN
D.CB
答案:
B
4.经济可行性研究的主要内容包括()
A.开发过程
B.开发工具
C.风险分析
D.效益分析
答案:
D
知识点:
经济可行性分析主要包括:
(1)成本-收益分析
(2)短期-长远利益分析
分析开发成本和可能取得的收益,确定软件项目是否值得投资开发。
5.()定义了用户使用该软件要完成的任务。
A.用户需求
B.业务需求
C.性能需求
D.功能需求
答案:
A
知识点:
软件需求分为4个层次:
业务需求、用户需求、功能需求、性能需求(非功能需求)
用户需求是用户使用该软件要完成的任务。
业务需求:
是用户高层领导机构决定的,它确定软件的目标、规模和范围。
功能需求:
定义了软件开发人员必须实现的软件功能。
性能需求:
一类对用户来说的重要属性:
有效性、高效性、灵活性、完整性、互操作性、可靠性健壮性、可用性。
一类对开发者来说的重要属性:
可维护性、可移植性、可重用性、可测试性。
6.数据流程图上的数据流必须封闭在()之间。
A.外部过程
B.内部数据
C.内部过程
D.外部实体
答案:
D
知识点:
数据流程图上的数据流必须封闭在外部实体之间
画数据流图注意事项
•数据流程图是描绘信息在系统中的流动和处理,在数据流程图中不能反映控制流,
•数据流程图上所有图形符号只限于四种基本图形元素。
并且必须包括述四种基本元素,缺一不可。
•数据流程图上的数据流必须封闭在外部实体之间。
•每个加工至少有一个输入数据流和一个输出数据流。
•在数据流程图中,需按层给加工框编号,编号表明该加工所处层次及上下层的亲子关系。
•一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。
•数据流程图上每个元素都必须有名字和编号。
•数据流图中不可夹带控制流。
•初画时可以忽略琐碎的细节,以集中精力于主要数据流,然后通过不断细化添加必要的细节。
7.按照模块独立性、耦合程度由强至弱正确的顺序是()
A.外部耦合、控制耦合、数据耦合
B.控制耦合、数据耦合、外部耦合
C.外部耦合、数据耦合、控制耦合
D.数据耦合、外部耦合、控制耦合
答案:
A
知识点:
藕合的种类和强度
⏹
内容耦合
⏹公共耦合
⏹外部耦合
⏹控制藕合
⏹数据结构耦合
⏹数据耦合
⏹非直接耦合
8.PDL是描述处理过程()
A.做什么
B.为什么做
C.怎么做
D.对谁做
答案:
C
知识点:
PDL过程设计语言使用自然语言的词汇描述处理过程,使设计更加易于理解。
9.面向对象的这种()模式与人们对客观世界的认识规律相符,从而使得面向对象技术在软件工程领域中获得了广泛的应用。
A.主体/动作
B.主体/对象
C.主体/类
D.对象/属性
答案:
A
知识点:
软件中的对象封装了一组属性和对属性进行的操作,是对现实世界中的对象实体的抽象。
10.()是从用户的观点描述系统功能,它由一组用例、参与者以及它们之间关系所组成。
D
A.类图
B.对象图
C.顺序图
D.用例图
答案:
D
知识点:
用例图的基本元素有用例、角色和关系
⏹类图:
描述系统的静态结构,表示系统中类以及类之间的关系.在设计阶段,类图描述类与类之间的接口和控制;
⏹在实现阶段,类图描述系统中类的具体实现。
⏹对象图:
对象图(Objectdiagram)描述系统在某个时刻的静态结构
⏹顺序图:
是按时间顺序反映对象之间传递的消息。
顺序图由对象、生命线、激活框、消息等组成。
⏹UML中定义了9种图:
用例图、类图、对象图、状态图、顺序图、合作图、活动图、组件图、配置图
11.面向对象分析和设计涉及到三各方面的内容:
()、一系列有效的分析步骤和一个方便易用的建模工具。
A.一套完善的建模符号
B.有效的数据结构
C.灵活的体系结构
D.稳定的系统架构
答案:
A
知识点:
面向对象分析和设计涉及到3方面内容:
⏹一套完善的建模符号
⏹一系列有效的分析步骤
⏹一个方便易用的建模工具。
12.确定角色是()的任务。
A.对象模型
B.用例模型
C.动态模型
D.交互模型
答案:
B
知识点:
用例图的基本元素有用例、角色和关系。
面向对象分析方法可以归结为建立以下三个模型:
⏹功能模型:
表达系统的详细需求,由用例图和场景描述组成
⏹对象模型:
表示静态的、结构化的系统“数据”性质。
描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,类图是构件对象模型的核心工具。
⏹动态模型:
描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。
面向对象方法中,常用状态图、顺序图、合作图、活动图构件系统的动态模型。
13.面向对象设计首先要进行高层设计:
确定系统的总体结构和风格,构造系统的(),将系统划分成不同的子系统。
A.逻辑模型
B.物理模型
C.数据模型
D.用例模型
答案:
B
知识点:
构架设计:
第一步:
构造系统的物理模型
第二步:
设计子系统
14.每个子系统的接口上定义了若干(),其它子系统只能通过接口享受这个子系统提供的服务。
A.操作
B.数据
C.属性
D.命令
答案:
A
知识点:
定义子系统的接口。
每个子系统的接口上定义了若干操作,其它子系统只能通过接口享受这个子系统提供的服务。
构架设计:
第一步构造系统的物理模型
第二步:
设计子系统
(1)划分各个子系统
(2)定义子系统之间的关系
(3)定义子系统的接口
15.科学计算机领域一般不选择()语言。
A.FORTRAN
B.C/C++
C.汇编语言
D.PASCAL
答案:
C
知识点:
程序设计语言的分类、如何选择一种语言
不同的语言适用于不同的应用
⏹COBOL语言:
数据处理程序
⏹JAVA语言:
跨平台的网络编程
⏹PHP语言专门用来编写网页处理程序
⏹Perl语言更适合文本处理
⏹C语言被广泛用于系统软件开发
⏹Java语言用于跨平台的应用软件开发等
16.对于嵌套的循环和分支程序,层次不要超过()层。
A.1
B.2
C.3
D.5
答案:
D
知识点:
程序设计风格
可读性要求:
对于嵌套的循环和分支程序,层次不要超过5层。
17.软件中遗留的错误数量与已发现的错误数量成()。
A.反比
B.正比
C.相等
D.没关系
答案:
B
知识点:
测试原则
⏹软件中遗留的错误数量与已经发现的错误数量成正比。
⏹应该把测试贯穿在整个开发过程之中。
⏹每个测试用例都应该包括测试输入数据和这组数据输入作用下的预期输出结果。
⏹程序员应该尽量避免检查自己编写的代码。
⏹在设计测试用例时,应该包括有效的、期望的输入情况,也要包括无效的和不期望的输入情况。
⏹严格执行测试计划。
⏹做好测试记录等等
18.黑盒测试在设计测试用例时,主要研究()。
A
A.需求规格说明书
B.详细设计说明
C.项目开发计划
D.概要设计说明与详细设计说明
答案:
A
知识点:
功能测试(黑盒测试):
验证软件是否提供了预期服务。
19.通常软件的可维护性常常随时间的推移而()。
A.降低
B.提高
C.不变
D.不确定
答案:
A
知识点:
影响维护的因素
⏹先进的软件开发技术软件年限:
软件越老,其维护越困难。
⏹软件规模:
维护工作量与软件规模成正比。
⏹程序设计语言
⏹文档质量:
⏹软件的应用领域:
⏹软件结构
⏹编程习惯
⏹人员的变动
20.通俗的说,软件项目管理中常说的基线是()。
B
A.管理的基本思想
B.通过正式复审的文档
C.基本的技术路线
D.一种软件开发的基本策略
答案:
B
知识点:
基线定义:
已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式的变化控制过程改变。
二、简答题(30分,每小题6分)
1.什么是软件工程?
请分析软件工程的目标是什么?
答案:
(1)软件工程是
①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。
(2)目标:
①合理预算开发成本,付出较低的开发费用。
②实现预期的软件功能,达到较好的软件性能,满足用户的需求。
③提高软件的可维护性,降低维护费用。
④提高软件开发生产率,及时交付使用
2.请简单说明结构化分析的步骤?
答案:
(1)确定系统的功能要求
(2)确定系统的数据要求
(3)确定系统的操作要求和界面要求
(4)确定系统的性能要求
(5)确定系统的运行要求
(6)获得当前系统的物理模型
(7)抽象出当前系统的逻辑模型
(8)建立目标系统的逻辑模型。
(9)修正开发计划
(10)如果需要则开发系统原型
3.3.QQ软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分为群主和群普通成员、群管理员,请用类的继承关系描述QQ用户群。
答案:
4.请简单分析顺序图和活动图的区别。
答案:
活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。
活动图特别适合描述工作流和并行处理过程。
具体地说活动图可以描述一个操作过程中需要完成的活动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。
顺序图用于描述一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
5.提高程序可读性有哪些招数?
对你来讲比较灵验的是哪些?
答案:
(1)源程序文件头说明,函数应有函数头说明,内容包括:
程序标题;有关该模块功能和目的说明;主要算法说明;接口说明,包括调用形式、参数描述、子程序清单、有关数据的说明。
(2)主要变量(结构、联合、类或对象)的定义能够反映其内在含义。
(3)变量定义最规范化,说明的先后次序固定。
(4)处理过程的每个阶段和典型算法前都有相关注释说明。
(5)用缩进来显示程序的逻辑结构。
(6)嵌套的循环和分支程序层次不要超过五层。
三、应用题
根据下面程序代码,画出程序流程图,然后设计满足条件组合覆盖的测试用例。
BEGIN
T:
=0
IF(X>=80ANDY>=80)THEN
T:
=1
ELSEIF(X>=90ANDY>=75)THEN
T:
=2
ENDIF
END.
知识点:
条件组合覆盖:
设计足够多的测试用例,使得每条语句都至少被执行一次,还要使得每条判定表达式中条件的各种组合都至少出现一次。
(1)每条语句都至少被执行一次
x=90,y=80;或者x=95,y=85
(2)每条判定表达式中条件的各种组合
第1个分支:
X>=80ANDY>=80
x=95y=85,x=95,y=80,x=95,y=75
x=80y=85,x=80,y=80,x=80,y=75
x=75y=85,x=75,y=80,x=75,y=75
第2个分支:
X>=90ANDY>=75
x=95y=75,x=95,y=80,x=95,y=70
x=80y=75,x=80,y=80,x=80,y=70
x=90y=75,x=90,y=80,x=90,y=70
经化简后的测试用例:
x=90,y=85
x=90,y=80;
x=90,y=70
x=80,y=85,
x=80,y=80,
x=80,y=70
x=95,y=85
x=95,y=80,
x=95,y=70
x=75,y=85,
x=75,y=80,
x=75,y=75