21秋软件技术基础考前辅导2西电
一、填空题(共20小题,每小题1分,共20分,填错不得分,也不扣分)
1. _________阶段的任务是准确的确定“为了解决这个问题,目标系统必须做什么”。
答案:需求分析
解析:见软件生命周期各阶段的基本任务
2. 瀑布模型的缺点是:成品时间长和______________。
答案:缺乏灵活性
解析:见瀑布模型的特点
3. 软件生存期模型中,__________模型适用于面向对象的软件开发工程。
答案:喷泉
解析:见喷泉模型的特点和适用对象
4. 数据字典是关于数据的____________。
答案:信息集合
解析:数据字典的定义
5. 软件需求分析的任务包括:问题识别、评价和综合、建模、规格说明和 ______。
答案:评审
解析:软件需求分析的主要任务
6. 面向数据流的设计方法把信息流映射成___________,信息流的两种类型是变换流和事务流。
答案:软件结构
解析:面向数据流的设计方法概念
7. 事务分析的设计步骤和变换分析的设计步骤大部分相同和类似,主要差别仅在于由数据流图到软件结构的___________不同。
答案:映射方法
解析:见事物分析的设计步骤
8. 在程序复杂程度的定量度量中,用__ ___ _方法度量得出的结果称为程序的环形复杂度,它等于强连通的程序图中线性无关的有向环的个数。
答案:McCabe
解析:见衡量程序复杂程度的两种常用方法:McCabe方法和Hasltead法
9. 从应用特点看,高级语言可分为基础语言、结构化语言、_____语言。
答案:专用
解析:程序设计语言的分类
10. _____的目的是实现人和计算机的通信,程序设计语言是人和计算机通信的最基本的工具。
答案:编码
解析:见编码的目的和风格
11. 验收测试一般使用_____ 测试法。
答案:黑盒
解析:见软件测试中验收测试的目的。
12. 设计测试的技术主要有_________、边界值分析及错误推测法和逻辑覆盖法。
答案:等价划分
解析:见软件测试中设计测试数据的主要技术
13. 软件质量主要从三方面来评价:软件可使用性、软件可维护性、软件可_________。
答案:移植性
解析:见评价软件质量的三个方面
14. _________是面向对象方法学中使用的最基本的概念。
答案:对象
解析:见面向对象方法的定义和特点
15. 面向对象方法建模技术所建立的三种模型是对象模型、_________、动态模型。
答案:功能模型
解析:见面向对象建模技术的三种模型
16. 面向对象分析的关键,是识别出问题域内的_______,并分析它们相互间的关系,最终建立起问题域的简洁、准确、可理解的正确模型。
答案:对象
解析:见面向对象分析的作用
17. 不管采用哪种方法开发软件,分析过程都是提取系统需求的过程。分析工作主要包括理解、_______、验证。
答案:表达
解析:
18. 系统流图是描述_________的传统工具,而数据流图描绘的是系统的逻辑模型。
答案:物理系统
解析:系统流程图定义
19. _____覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都去到各种可能的结果。
答案:条件
解析:条件覆盖的定义
20. 影响软件维护性的因素主要有:可理解性,_________,可测试性。
答案:可修改性
解析:见影响软件维护的因素
二 选择(每题1分,合计30分,选对得分,选错不扣分)
1. 软件是一种逻辑产品,软件产品具有无形性,它是通过 体现它的功能和作用的。
A.复制 B. 计算机的执行
C. 开发研制 D. 软件费用
答案:B
解析:见软件的定义
2. ______是有关计算机程序功能、设计、编制、使用的文学或图资料。
A.软件 B. 文档 C. 程序 D. 数据
答案:B
解析:见文档的定义
3. “概括地说,应该如何解决这个问题?”是_____阶段必须回答的问题。
A.问题定义 B.可行性研究
C.总体设计 D.软件生存周期模型
答案:C
解析:A阶段应该指出“要解决的问题是什么”;B阶段关键问题“对于问题定义阶段所确定的问题由行得通的解决办法”,A、B、C是D的各阶段。
4. 属于专用语言的是________。
A.BASIC B. FORTRAN
C. BLISS D. ALGOL
答案:C
解析:A和D属于基础语言,B属于静态高级语言
5. 软件生存周期包括可行性分析和项目开发、需求分析、概要设计、详细设计、编码、 和维护等活动。
A. 应用 B. 检测 C. 测试 D. 以上答案都不对
答案:C
解析:见软件生存周期的各阶段
6.软件生存期中用户的参与主要在_ ___。
A. 软件定义期 B. 软件开发期
C. 软件维护期 D. 整个软件生存周期过程中
答案:A
解析:软件定义期需要调查了解用户的需求,即找到“要解决的问题是什么”
7. 软件是一种_ ___产品。
A. 物质 B. 有形 C. 逻辑 D. 消耗
答案:C
解析:见软件的定义
8. 逻辑覆盖强弱关系正确的是___ ___
A. 条件覆盖 <判定覆盖 B. 条件覆盖<语句覆盖
C. 条件组合覆盖<条件覆盖 D. 判定覆盖<条件覆盖
答案:D
解析:语句覆盖时程序的逻辑覆盖很少,是较弱的逻辑覆盖;条件覆盖通常比判定覆盖要强,它使判定表达式中每个条件都取得到两个不同的结果,判定覆盖只关心整个判定表达式的值。
9. 测试的定义是 。
A.测试是为了表明程序是正确的
B. 成功的测试是没有发现错误的测试
C.为了发现程序中的错误而执行程序的过程
D. 暴露程序中的错误
答案:C
解析:见测试的定义
10. 软件设计中划分通常遵循的原则是要使模块间的耦合性尽可能地___
A.强 B.弱 C.较强 D.较弱
答案:B
解析:软件结构设计中力求降低耦合,提高内聚
11. 下列几种耦合中,_ _的耦合性最强。
A.逻辑耦合B.数据耦合C.控制耦合D.内容耦合
答案:D
解析:非直接耦合<数据耦合<标记耦合<控制耦合<外部耦合<公共耦合<内容耦合
12. 一个模块直接引用另一个模块中的数据,这两个模块之间的耦合是___
A.逻辑耦合B.数据耦合C.控制耦合D.内容耦合
答案:D
解析:见内容耦合的三种形式
13. ___数据处理问题的工作过程大致分为三步,即取得数据,变换数据
和给出数据。
A. 事务型 B. 变换型
C. 结构化 D. 非结构化
答案:B
解析:见变换分析设计步骤中的第5步,“对于变换流的情况,数据流图被映射成一个特殊的软件结构,该结构控制输入、变换和输出等信息处理过程。”
14. 模块__ ___则说明模块的独立性越高。
A. 耦合性越强 B. 扇入数越高
C. 耦合性越弱 D. 扇入数越低
答案:C
解析:见耦合性定义
15. 指出PDL是下列______语言。
A. 高级程序设计 B. 伪码
C. 中级程序设计 D. 低级程序设计
答案:B
解析:PDL即程序设计语言,也可成为伪码,A、C、D都为PDL的分类
16. _______工具在软件详细设计过程中不采用。
A. 判定表 B. DFD图
C. IPO图 D. PDL
答案:B
解析:DFD图即数据流图,它只描绘数据在软件中流动和被处理的逻辑过程,是分析员与用户之间极好的通信工具,而软件详细设计的根本目标是确定怎样具体实现所要求的系统,因此DFD图不是详细设计的工具
17. 逻辑覆盖的强弱排序是_____。
A. 语句覆盖<判定覆盖<条件覆盖<条件组合覆盖
B. 条件组合覆盖<判定覆盖<条件覆盖<语句覆盖
C. 语句覆盖<条件覆盖 <判定覆盖<条件组合覆盖
D. 条件组合覆盖<条件覆盖 <判定覆盖<语句覆盖
答案:A
解析:见逻辑覆盖中不同的覆盖标准
18. _____是软件生命的最后阶段。
A.软件测试 B. 软件维护 C.总体设计 D. 需求分析
答案:B
解析:软件生命周期由软件定义、软件开发和软件维护3个时期组成。
19. _____方法的基本出发点是尽可能按照人类认识世界的方法和思维方式来分析和解决问题。
A. 结构化 B. Jackson C. 维也纳开发 D.面向对象开发
答案:D
解析:见面向对象方法学的出发点和基本原则
20. _____是一种以用户需求为动力,以对象作为驱动的模型,适用于面向对象的开发方法。
A. 增量模型 B. 螺旋模型 C. 喷泉模型 D. 智能模型
答案:C
解析:见喷泉模型的定义
21. 在面向对象的设计中,应遵循的设计准则除了_____、抽象、低耦合、高内聚以外,还有信息隐蔽.
A.隐蔽复杂性 B. 模块化
C. 经常类的使用 D. 类的开发
答案:B
解析:见面向对象设计的准则:模块化、抽象、信息隐蔽、弱耦合、强内聚、可重用。
22. 可行性研究的第一个具体步骤是_____。
A.研究目前正在使用的系统
B. 确定项目规模和目标
C. 推荐可行方案
D. 编写可行性报告
答案:B
解析:见可行性研究的具体步骤
23. SA方法用DFD描述_____。
A.系统的控制流图 B. 系统的数据结构
C. 系统的基本加工 D. 系统的功能
答案:A
解析:SA方法即结构化设计方法,是基于数据流的设计方法,目的是给出设计全歼结构的一个系统化的途径,它用DFD即数据流图来描述系统控制流图
24. 动态模型是基于事件共享而互相关联的一组_____图的集合。
A. 程序 B. 数据流
C. 状态 D. PAD
答案:C
解析:见动态模型的概念
25. 数据流图的四种基本符号中圆形表示数据的_____。
A.源点 B. 数据流 C. 处理 D.存储
答案:C
解析:见数据流图的四种基本符号
26. 面向对象方法有四个主要特征,分别是对象唯一性、_____、继承性和多态性。
A. 通用性 B. 准确性
C. 分类性 D. 可测试性
答案:C
解析:见面向对象方法的特征
27. 下列概念中,不属于面向对象方法的是_____。
A.对象 B. 类 C. 继承 D. 过程调用
答案:D
解析:面向对象方法包括以下概念:对象、类、实例、消息、方法、属性、封装、继承、多态性、重载
28. 在结构化分析方法(SD)中,与数据字典配合使用的是_____。
A.网络图 B. 实体联系图
C. 数据流图 D. 程序流程图
答案:C
解析:见数据字典的定义和内容及数据流图的定义
29. 软件维护费用高的原因是_____。
A.生产率高 B. 生产率低
C. 人员多 D. 人员少
答案:B
解析:见软件维护的特点
30. 软件生存期_____的工作都与软件可维护性有密切关系。
A.编码阶段 B. 设计阶段
C. 测试阶段 D. 每个阶段
答案:D
解析:见软件维护的过程,其本质是修改和压缩了的软件定义和开发过程。
三 简答题(每题6分,合计30分)
1.软件的特点有哪些?
答案:(1)软件是一种逻辑产品,它与物质产品有很大的区别。软件产品看不见摸不着,因而具有无形性,它是脑力劳动的结晶,它以程序和文档的形式出现,保存在计算机存储器的磁盘和光盘介质上,通过计算机的执行才能体现它的功能和使用。
(2)软件产品的生产主要是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发研制完成后,通过复制就生产了大量软件产品。
(3)软件产品不会用坏,不存在磨损、消耗问题。
(4)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的。
(5)软件费用不断增加,软件成本昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动它的成本非常高。
评分标准:全部答对6分,漏答或错答一条扣一分
2. 简述Jackson方法的设计步骤?
答案:Jackson方法的设计步骤:
(1) 分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。
(2) 找出输入数据结构和输出数据结构中有对应关系的数据单元。
(3) 按一定的规则由输入、输出的数据结构导出程序结构。
(4) 列出基本操作与条件,并把它们分配到程序结构图的适当位置。
(5) 用伪码写出程序。
评分标准:全部答对6分,漏答或错答一条扣一分
3. 什么是程序流程图?它有什么缺点?
答案:程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述软件设计的方法。从二十世纪四十年代末到七十年代中期,程序流程图一直是软件设计的主要工具。
程序流程图的主要缺点有:
(1) 程序流程图本质上不是逐步求精的好工具,它诱使程序员过早的考虑程序的控制流程,而不去考虑程序的全局结构。
(2) 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。
(3) 程序流程图不易表示数据结构。
评分标准:全部答对6分,漏答或错答一条扣两分
4. 功能模型的特点?
答案:功能模型用来说明值是如何计算的、表明值之间的依赖关系及其相关的功能,它描述了系统的所有计算。动态模型确定什么时候发生,而功能模型指出发生了什么,对象模型确定发生的客体。功能模型表明一个计算如何从输入值到输出值,它不考虑所计算的顺序。功能模型由多张数据流图组成。
评分标准:四句话全部答对6分,缺少第2句话扣1分,其余少一句扣两分
5. 影响软件维护代价的因素有哪些?
答案:软件维护费用不断上升,这只是软件维护有形的代价,另外还有无形的代价,即要占用更多的资源。由于大量软件的维护活动要使用较多的硬件、软件、软件工程师等资源,这样一来,投入新的软件开发的资源会因不足而受影响。由于维护时的改动,在软件中引入了潜在的故障,从而降低了软件的质量。
评分标准:点出维护费用上升、占用更多资源、降低软件质量给4分,少一条扣一分,给出占用资源导致新软件开发资源不足给2分。
四 应用题(每题10分 合计20分)
1. 一个正文文件由若干记录组成,每个记录是一个字符串,要求系统每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串之后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,请用Jackson方法设计该程序结构。
答案:
评分标准:五个层次全部给出满分,少写、错写一个层次扣两分
2. 某商场在“十一”期间,顾客购物时付款有四种情况:普通顾客一次购物累计少于100元安A类标准付款(不打折),一次购物累计多于或等于100元,按B类标准付款(打九折);会员顾客一次购物累计少于1000元,按C类标准付款(打八折),一次购物累计等于或多于1000元,按D类标准付款(打七折)。请使用PDL来设计付款算法。
答案:付款算法的PDL描述:
COUNT_TOTAL(a,a,…,a)
{ for (i=1;i<n;i++) sum=sum+a;
If(会员)
{if (sum<1000) sum=sum*0.8;
else sum=sum*0.7;
}
else
{if (sum<100)不打折;
else sum=sum*0.9;
}
}
评分标准:四类标准全部包含,且书写正确,满分,少写或错写一类标准扣2.5分。
页:
[1]