软件工程丨期末复习资料

【题目】1
__________是职业软件工程师的必要条件。
A.自律、善于沟通、具有一定的软件技能
B.编程速度快
C.熟悉众多的软件环境
D.语言天赋
【答案】A
【题目】2
IEEE是__________环境。
A.国际电气和电子工程师协会
B.国际软件标准
C.美国国家标准
D.美国空军的软件标准
【答案】A
【题目】3
IS09000-3是__________。
A.美国国家标准
B.世界计算机生产标准
C.软件产业的ISO9000族标准
D.ISO的第9003号标准
【答案】C
【题目】4
根据软件工程的7条基本原理判断下面正确的选项是__________。
A.软件错误发现的时机不重要,重要的是错误的严重程度
B.软件错误只能通过运行代码才能发现
C.软件错误发现的越早改正的成本越低
D.需求阶段一般不会引入错误
【答案】C
【题目】5
计算机病毒是指__________。
A.计算机系统的漏洞   
B. 一组自我复制和自动执行的具有破坏能力的代码
C.一种细菌           
D. 程序中的BUG
【答案】B
【题目】6
科学计算领域一般不选择__________语言。
A.FORTRAN  
B.C/C++
C.汇编语言
D.PASCAL
【答案】C
【题目】7
科学计算领域一般选择__________语言。
A.HTML  
B.C  
C.汇编语言
D.XML
【答案】B
【题目】8
美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的__________条基本原理。
A.7    
B.5    
C.3   
D.12
【答案】A
【题目】9
软件、程序和代码是__________。
A.相同的软件概念      
B.程序语言写的代码
C.计算机代码和数据    
D. 三个不同的概念
【答案】D
【题目】10
软件对硬件和环境有着不同程度的依赖性,这导致了软件__________问题。
A.复杂性   
B.升级和移植    
C.通用性   
D.脆弱性
【答案】D
【题目】11
软件工程的出现是由于 __________
A.软件危机   
B.计算机硬件技术的发展   
C.软件社会化的需要    
D.计算机软件技术的发展
【答案】A
【题目】12
软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是__________,最上层是工具层。
A.过程层   
B.方法层   
C.过程层和方法层  
D.系统层
【答案】C
【题目】13
软件工程的研究者将软件开发和维护过程概括为__________大活动。
A.5   
B.7   
C.8  
D.3
【答案】C
【题目】14
软件工程强调将__________的方法应用于软件的开发和维护过程之中。
A.规范化   
B.系统化   
C.可度量  
D.以上全部
【答案】D
【题目】15
软件工程四个层次由下至上是__________,它们的顺序不能互换。
A.质量层、过程层、方法层、工具层
B.过程层、方法层、质量层、工具层
C.方法层、过程层、质量层、工具层
D.方法层、质量层、过程层、工具层
【答案】A
【题目】16
软件可行性研究一般不考虑__________
A.是否有足够的人员和相关的技术来支持系统开发
B.是否有足够的工具和相关的技术来支持系统开发
C.待开发软件是否有市场、经济上是否合算
D.待开发的软件是否会有质量问题
【答案】D
【题目】17
软件与程序的区别是__________。
A.程序价格便宜,软件价格昂贵
B.程序是用户自己编写的,而软件是由厂家提供的
C.程序是用高级语言编写的,而软件是由机器语言编写的
D.软件包括程序、相关数据及其文档,程序是软件的一部分
【答案】D
【题目】18
上世纪70年代,美国国防部的研究结果发现70%的项目是因为__________原因,造成项目失败。
A.技术不精   
B.管理不善引起   
C.测试不充分   
D.人员不够
【答案】B
【题目】19
下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是__________。
A.原型模型   
B.瀑布模型  
C.基于知识的智能模型
D.变换模型
【答案】A
【题目】20
下列有关标准的符号,属于国内标准的是__________。
A.ZG
B.GB
C.GN
D.CB
【答案】B
【题目】21
下面的哪个选项不是软件工程的宗旨__________。
A.开发满足用户需求的软件   
B.研究算法   
C.及时交付软件  
D.生产无故障软件
【答案】D
【题目】22
下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是__________。
A.原型模型
B.瀑布模型
C.喷泉模型
D.螺旋模型
【答案】D
【题目】23
下面哪个选项不是软件工程研究的内容__________。
A. 生产无故障的软件       
B. 精通一门编程语言
C. 生产满足用户需求的软件
D.生产及时交付的软件
【答案】B
【题目】24
以下哪一项不是软件危机的表现形式__________
A.成本高      
B.生产率低     
C.技术发展快    
D.质量得不到保证
【答案】C
【题目】25
在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了__________
A.软件危机     
B.软件工程      
C.程序设计革命    
D.结构化程序设计
【答案】A
【题目】26
软件工程学科出现的主要原因是__________。
A. 计算机的发展
B. 其他工程科学的影响
C. 软件危机的出现
D. 程序设计方法学的影响
【答案】C
【题目】27
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是__________
A.把软件划分成模块          
B.确定模块之间的调用关系
C.确定各个模块的功能        
D.设计每个模块的伪代码
【答案】D
【知识点】01250.2.0.0
【题目】28
假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为__________元。
A.5202   
B.4500   
C.5100   
D.4712
【答案】A
【知识点】01250.2.0.0
【题目】29
经济可行性研究的主要内容包括__________
A.开发过程     
B.开发工具      
C.风险分析      
D. 效益分析
【答案】D
【知识点】01250.2.0.0
【题目】30
下列有关标准的符号,属于国内标准的是__________。
可行性分析研究的费用大约是项目总经费的__________。
A.2%          
B.8%           
C.20%          
D.50‰
【答案】B
【知识点】01250.2.0.0
【题目】31
可行性分析研究的目的是 __________
A.争取项目     
B.项目是否值得开发     
C.开发项目      
D.规划项目
【答案】B
【知识点】01250.2.0.0
【题目】32
可行性研究的四大要素是__________。
A.经济、技术、法律和社会环境
B.经济、技术、开发组织能力和领导者水平
C.经济、技术、计算机硬件环境和网络带宽
D.经济、技术、软件开发工具和人员的稳定性
【答案】A
【知识点】01250.2.0.0
【题目】33
可行性研究的主要目的是__________。
A.确定系统建设的详细方案   
B.深入了解用户需求  
C.分析开发系统的必要性   
D.确定系统是否值得开发
【答案】D
【知识点】01250.2.0.0
【题目】34
可行性研究的主要任务是__________。
A.确定系统做什么   
B.确定性能   
C.确定功能  
D.进行一次简要的需求分析
【答案】D
【知识点】01250.2.0.0
【题目】35
软件设计的目标是__________。
A.在最短的时间内,生产出可靠性、可维护性俱佳的软件方案。
B.为软件编码设计模块结构。
C.确定软件要做什么。
D.确定软件的实现算法。
【答案】A
【知识点】01250.2.0.0
【题目】36
软件调研报告是在__________提交的。
A. 可行性分析之前  
B. 需求分析之前   
C.签合同之前  
D.设计的时候
【答案】B
【知识点】01250.2.0.0
【题目】37
一般来说,可行性研究的成本是预期总成本的__________。
A.2%以下   
B.15%—20%   
C.6%—10%   
D.20%以上
【答案】C
【知识点】01250.2.0.0
【题目】38
一个软件项目大约__________的工作量在开发阶段,__________的工作量在维护阶段。
A.30%,70%  
B. 70%,30%  
C. 30%,30%   
D. 70%,70%
【答案】A
【知识点】01250.2.0.0
【题目】39
__________不是分析建模的目的。
A. 定义可验证的软件需求
B. 开发一个简单的问题解决方案
C. 描述客户需求
D. 建立软件设计的基础
【答案】B
【题目】40
__________定义了软件开发人员必须实现的软件功能。
A.用户需求
B.业务需求
C.性能需求
D.功能需求
【答案】D
【题目】41
__________定义了用户使用该软件要完成的任务。
A.用户需求
B.业务需求
C.性能需求
D.功能需求
【答案】A
【题目】42
__________通常是用户高层领导机构决定的,它确定软件的目标、规模和范围。
A.用户需求
B.业务需求
C.性能需求
D.功能需求
【答案】B
【题目】43
DFD中的每个加工至少需要__________
A.一个输入流                
B.一个输出流
C.一个输入或输出流          
D.一个输入流和一个输出流
【答案】D
【题目】44
PDL是描述处理过程__________。
A.做什么     
B.为什么做      
C.怎么做      
D.对谁做
【答案】C
【题目】45
PDL是一种__________语言。
A.低级程序设计语言  
B.建模语言  
C.高级程序设计语言  
D.过程设计语言
【答案】D
【题目】47
当一个模块内部的实现算法中包含着多重嵌套的条件选择时,如果完全用文字表达可能令人费解,这时可以采用__________。
A.软件结构图  
B.数据流程图  
C.判定表  
D.数据分析表
【答案】C
【题目】48
关于软件需求特性不正确的描述是“软件需求具有__________”。
A.多变性  
B.模糊性   
C. 准确性  
D.主观性
【答案】C
【题目】49
结构化分析方法(SA 法)使用的主要描述工具有__________。
A.数据库      
B.模块结构图     
C.PAD 图     
D.分层的DFD 图
【答案】D
【题目】50
进行需求分析有的多种描述工具,但不包括__________。
A.数据流图    
B.判定表    
C.PAD图     
D.数据词典
【答案】C
【题目】51
螺旋模型是一种将__________结合起来的软件开发模型。
A.原型化模型和增量模型    
B.风险判断和瀑布模型
C.瀑布模型和原型化模型    
D.瀑布模型和增量模型
【答案】D
【题目】52
螺旋模型是一种将瀑布模型和哪种模型结合起来的软件开发模型。__________
A.快速原型模型   
B.专家模型    
C.V模型    
D.演化模型
【答案】A
【题目】53
螺旋模型是一种考虑了__________的软件开发模型。
A.效率      
B.风险判断
C.可移植性  
D.安全性
【答案】D
【题目】54
描述软件需求通常不用哪个工具__________。
A.数据流程图  
B.数据字典   
C.模块结构图  
D.E-R图
【答案】C
【题目】55
哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。__________
A.演化模型     
B.喷泉模型     
C.原型模型      
D.螺旋模型
【答案】A
【题目】55
哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。__________
A.演化模型     
B.喷泉模型     
C.原型模型      
D.螺旋模型
【答案】A
【题目】56
软件特性中,一个软件能再次用于其他相关应用的程度称为( )。
A.可移植性        
B.可重用性      
C.容错性       
D.可适应性
【答案】B
【题目】57
瀑布模型存在的问题是__________。
A.用户容易参与开发
B.适用可变需求  
C.用户与开发者易沟通  
D.缺乏灵活性
【答案】D
【题目】58
瀑布模型的关键不足在于__________
A.过于简单     
B.不能适应需求的动态变更   
C.过于灵活     
D.各个阶段需要进行评审
【答案】B
【题目】59
软件需求分析的任务不包括__________。
A.问题分析    
B.信息域分析     
C.结构化设计    
D.确定逻辑结构
【答案】C
【题目】60
软件需求具有__________。
A.主观性
B.不确定性
C.多变性  
D.以上全部
【答案】D
【题目】61
数据流程图的主要作用是__________。
A.描述模块组成  
B.说明用户数据结构   
C.描述软件功能  
D. 描绘系统的逻辑模型
【答案】D
【题目】62
数据流程图上的数据流必须封闭在__________之间。
A.外部过程  
B.内部数据  
C.内部过程  
D.外部实体
【答案】D
【题目】63
数据流程图中的处理不能表示__________。
A.数据组成
B.一个程序
C.一个模块
D.一个函数
【答案】A
【题目】64
系统流程图的主要作用__________.
A.描述系统的物理模型  
B.业务流程   
C.系统处理过程  
D.数据处理过程
【答案】A
【题目】65
系统物理模型用__________表示。
A.系统流程图  
B.数据流程图   
C.程序流程图  
D.E-R图
【答案】A
【题目】66
详细设计与概要设计衔接的图形工具是__________。
A.DFD图   
B.SC图   
C.PAD图   
D.程序流程图
【答案】B
【题目】67
需求规格说明书的作用不包括 __________
A.软件验收的依据          
B.用户与开发人员对软件要做什么的共同理解
C.软件可行性研究的依据    
D.软件设计的依据
【答案】C
【题目】68
业务需求描述的是__________。
A.功能需求   
B.用户需求   
C.用户的具体业务流程  
D.软件的目标、规模和范围
【答案】C
【题目】69
一个数据流程图中的图形符号有且仅有__________种。
A.3  
B.5   
C.4  
D.7
【答案】C
【题目】70
用户需求描述的是__________。
A.用户使用该软件要完成的任务  
B.业务需求   
C.功能需求  
D.软件目标、规模和范围
【答案】A
【题目】71
与传统行业的生产相比较,软件的需求具有__________。
A.主观性   
B.稳定性   
C.明确性   
D.客观性
【答案】A
【题目】72
原型化方法是用户和设计者之间的一种交互手段,适用于__________系统。
A.需求不确定性高的
B.需求确定的
C.管理信息
D.实时
【答案】A
【题目】73
在E-R 模型中,包含以下基本成分__________。
A.数据、对象、实体          
B.控制、联系、对象
C.实体、联系、属性          
D.实体、属性、联系
【答案】C
【题目】74
在需求分析过程中,分析员要从用户那里解决的最重要的问题是__________。
A.要求软件做什么            
B.要给软件提供哪些信息
C.要求软件工作效率如何      
D.要求软件具有什么样的结构
【答案】A
【题目】75
针对需求不确定的软件开发,比较好的模型是__________。
A. 快速原型化模型  
B. 瀑布模型  
C.软件成熟度模型  
D.系统化模型
【答案】A
【题目】76
按照模块独立性,内聚程度由弱至强正确的顺序是__________。
A.时间内聚、信息(顺序)内聚、功能内聚
B.信息(顺序)内聚、时间内聚、功能内聚
C.信息(顺序)内聚、功能内聚、时间内聚
D.时间内聚、功能内聚、信息(顺序)内聚
【答案】A
【题目】77
按照模块独立性,耦合程度由强至弱正确的顺序是__________。
A.数据耦合、控制耦合、外部耦合、内容耦合
B.控制耦合、数据耦合、内容耦合、外部耦合
C.内容耦合、外部耦合、控制耦合、数据耦合
D.外部耦合、内容耦合、数据耦合、控制耦合
【答案】A
【题目】78
不适合作为数据处理与数据库应用的语言是__________
A. SQL   
B. Cobol    
C. 4GL    
D. Lisp
【答案】D
【题目】79
当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为__________
A.数据耦合   
B.公共耦合    
C.标记耦合   
D.内容耦合
【答案】D
【题目】80
反映模块独立性的指标是__________。
A.模块的复杂性  
B.模块的大小
C.模块的参数
D.内聚和耦合
【答案】D
【题目】81
非直接耦合的模块独立性最强,__________的模块独立性最弱。
A.内容耦合  
B.数据耦合
C.控制耦合
D.外部耦合
【答案】A
【题目】82
结构化程序设计思想的核心是要求程序只由顺序、循环和__________ 三种结构组成。
A.分支    
B.单入口     
C.单出口    
D.有规则GOTO
【答案】A
【题目】83
结构化程序设计主要强调的是__________。
A.程序的规模      
B.程序效率     
C.程序语言的先进性     
D.程序易读性
【答案】D
【题目】84
结构化设计方法划分模块的原则是__________。
A.模块扇出小于5  
B.模块扇入小于5  
C.低耦合,高内聚  
D.模块深度小于7
【答案】C
【题目】85
两个模块都访问一个全局简单变量而不是同一全局数据结构,则这两个模块属于__________。
A.数据耦合     
B.外部耦合     
C.公共耦合      
D.内容耦合
【答案】B
【题目】86
每个子系统的接口上定义了若干__________,其他子系统只能通过接口享受这个子系统提供的服务。
A.操作
B.数据
C.属性
D.命令
【答案】A
【题目】87
每个子系统的接口上定义了若干__________,体现了子系统的功能。
A.说明      
B.操作      
C.属性       
D.关系
【答案】B
【题目】88
内聚程度较低的是__________。
A.通信内聚     
B.过程内聚     
C.顺序内聚      
D.时间内聚
【答案】D
【题目】89
内容耦合是模块间最紧密的耦合,__________是模块间最松散的耦合。
A.数据耦合  
B.非直接耦合  
C.控制耦合  
D.外部耦合
【答案】B
【题目】90
耦合度最高的是__________。
A.外部耦合     
B.内容耦合      
C.控制耦合      
D.数据耦合
【答案】B
【题目】91
如果对象之间的耦合是通过__________来实现的,则这种耦合就是交互耦合。
A.消息机制   
B.参数   
C.方法   
D.公共数据区
【答案】A
【题目】92
软件结构图中没有__________元素。
A.模块  
B.调用参数
C.返回结果
D.判断
【答案】D
【题目】93
【题型:单选题】
【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】
随着模块规模的__________,模块的开发成本__________,但是模块之间的接口变得复杂起来,使得模块的集成成本增加。
A.减小,加大  
B.增加,减小
C.增加,加大
D.减小,减小
【答案】D
【题目】94
随着模块规模减小,模块开发成本__________,模块集成成本__________。
A.减小/减小  
B.减小/增加  
C.增加/减小
D.增加/增加
【答案】B
【题目】95
所有程序设计语言的基本成分都可归纳为:数据成分、__________、控制成分和传输成分。
A.循环成分  
B.运算成分  
C.说明成分  
D.输入成分
【答案】B
【题目】96
为了提高模块的独立性,模块之间最好是__________。
A. 控制耦合   
B. 公共耦合    
C. 内容耦合    
D. 数据耦合
【答案】D
【题目】97
信息隐藏的核心内容是__________。
A.把数据都放在公共的区域
B.数据不能被其他模块访问
C.一个模块的内部信息不允许其他模块直接访问
D.把信息加密,只能让有密钥的模块访问
【答案】C
【题目】98
用__________对需要长久保存的信息进行建模。
A.实体类  
B.数据库表  
C.E-R图   
D.对象类
【答案】C
【题目】99
__________反映了系统物理结构。
A.程序流程图
B.数据流程图
C.网络拓扑图
D.系统流程图
【答案】D
【题目】100
__________是从用户的观点描述系统功能,它由一组用例、参与者以及它们之间关系所组成。
A.类图
B.对象图
C.顺序图
D.用例图
【答案】D
【题目】101
__________用于描述系统的功能集。
A.组件视图  
B.逻辑视图  
C.用例视图  
D.对象视图
【答案】C
【题目】102
UML 语言支持的建模方式不包括有__________。
A.静态建模     
B.动态建模     
C.模块化建模      
D.功能建模
【答案】C
【题目】103
UML 中,包图是一种__________。
A.集合     
B.数据结构    
C.分组机制     
D.对系统的动态描述
【答案】D
【答案】C
【题目】104
UML是一种__________。
A.建模工具    
B.可视化的程序设计语言    
C.可视化的建模语言     
D.过程
【答案】A
【题目】105
UML是一种__________语言。
A.程序设计
B.面向对象
C.交互式建模
D.过程描述
【答案】C
【题目】106
UML是一种__________语言。
A.高级编程  
B.可视化建模  
C.分析方法  
D.过程
【答案】B
【题目】107
软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( )。
A.有效性         
B.可适应性     
C.正确性       
D.可靠性
【答案】D
【题目】108
包含关系用于构造多个用例__________。
A.关系    
B.共性的部分   
C.角色  
D.特殊活动
【答案】B
【题目】109
从本质上说,面向对象是“先”确定动作的__________“后”执行__________。
A.数据结构/主体
B.主体/数据结构
C.动作/主体
D.主体/动作
【答案】D
【题目】110
动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。面向对象方法中,常用__________实现。
A.状态图    
B.交互图    
C.活动图    
D.以上全部
【答案】D
【题目】111
对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由__________实现。
A.顺序图      
B.类图     
C.状态图      
D.组件图
【答案】B
【题目】112
软件的可修改性支持软件的( )。
A.有效性           
B.可互操作性      
C.可追踪性      
D.可维护性
【答案】D
【知识点】01250.7.0.0
【题目】113
对象实现了数据和操作的结合,使数据和操作__________于对象的统一体中。
A.结合     
B.隐藏     
C.封装     
D.抽象
【答案】C
【题目】114
对用例进行设计,发现实现用例功能的__________,确定类之间的关系。
A.算法   
B.业务流程   
C.数据结构   
D.关键类
【答案】D
【题目】115
功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由__________实现。
A.场景描述  
B.活动图和场景描述  
C.用例图和场景描述  
D.交互图和场景描述
【答案】C
【题目】116
构建类图是__________的任务。
A.对象模型
B.用例模型
C.动态模型
D.功能模型
【答案】A
【题目】117
继承耦合是__________之间的一种关联形式,设计时应该适当使用这种耦合。
A.虚类与实体类   
B.一般化类与特殊化类   
C.控制类与界面类  
D.数据类与处理类
【答案】B
【题目】118
角色可以有四种类型:系统的使用者,硬件设备,外部系统和__________。
A.数据库  
B.接口  
C.对象  
D. 时间
【答案】D
【题目】119
类的属性结构要坚持简单的原则,尽可能不使用复杂的__________。
A.数据结构
B.处理
C.方法
D.参数
【答案】A
【题目】120
类图描述系统的__________,表示系统中的类以及类之间的关系。
A.数据结构
B.物理结构
C.动态结构
D.静态结构
【答案】D
【题目】121
类有3种类型,即__________。
A.边界类、实体类、控制类        
B.实体类、控制类、界面类
C.控制类、实体类、虚类          
D.界面类、控制类、公共类
【答案】B
【题目】122
面向对象程序设计的基本机制__________。
A.继承       
B.消息       
C.方法      
D.结构
【答案】A
【题目】123
面向对象的这种__________模式与人们对客观世界的认识规律相符,从而使得面向对象技术在软件工程领域中获得了广泛的应用。
A.主体/动作
B.主体/对象
C.主体/类
D.对象/属性
【答案】A
【题目】124
面向对象的中层设计主要是对每个用例进行设计,规划实现用例功能的__________。
A.数据结构
B.处理过程  
C.关键类
D.逻辑模型
【答案】C
【题目】125
面向对象分析的核心在于__________。
A.建立正确的模型    
B.识别问题域对象    
C.识别对象之间的关系     
D.上面都有
【答案】D
【题目】126
面向对象分析和设计的界限是__________,从分析到设计是一个逐渐扩充模型的过程。
A.清晰的   
B.模糊的   
C.非线性的   
D.确定的
【答案】B
【题目】127
面向对象分析和设计涉及到三个方面的内容:__________、一系列有效的分析步骤和一个方便易用的建模工具。
A.一套完善的建模符号   
B.有效的数据结构
C.灵活的体系结构       
D.稳定的系统架构
【答案】A
【题目】128
面向对象分析是抽取和整理用户需求并建立问题域__________的过程。
A.精确模型
B.简要模型
C.正确的数据结构
D.灵活的数据结构
【答案】A
【题目】129
面向对象是“先”确定__________“后”__________。
A.属性/方法  
B.数据结构/方法  
C. 动作的主体/执行动作  
D.动作
【答案】C
【题目】130
面向过程的方法最关心的是__________,而过程实施的__________是作为过程参数传递的。
A.过程/对象
B.数据结构/主体
C.动作/数据结构
D.对象/属
【答案】A
【题目】131
面向过程的方法最关心的是__________,而过程实施的对象是作为过程参数传递的。
A.过程  
B.主体  
C.参数  
D.数据结构
【答案】A
【题目】132
面向过程的方法最关心的是过程,而过程实施的对象是作为过程__________传递的。
A.参数  
B.主体  
C.过程  
D.数据结构
【答案】A
【题目】133
目前面向对象分析有许多方法,大多数方法可以归结为建立__________、对象模型、动态模型。
A.数据模型  
B.功能模型
C.逻辑模型
D.物理模型
【答案】B
【题目】134
配置视图体现了系统的实现环境,反映系统的__________。
A. 逻辑架构  
B. 物理架构  
C.组成结构  
D.体系结构
【答案】B
【题目】135
首先用__________描述系统的物理构架,然后将需求分析阶段捕获的系统元素分配到这些物理节点上。
A.类图
B.配置图
C.组件图
D.网络拓扑图
【答案】B
【题目】136
属于某个类的一个具体对象称为该类的__________。
A.实例        
B.虚拟       
C.继承      
D.多态
【答案】A
【题目】137
下列哪个不是UML的视图__________
A.逻辑视图     
B.行为视图     
C.组件视图    
D.并发视图
【答案】A
【题目】138
以下哪一项不是面向对象的特征。__________
A.多态性       
B.继承性       
C.封装性          
D.过程调用
【答案】D
【题目】139
以下哪一项不属于面向对象的软件开发方法__________
A.coad方法    
B.booch方法   
C.jackson方法    
D.omt方法
【答案】A
【题目】140
用__________模型分析和定义用户的功能需求。
A.数据  
B.静态  
C.动态
D.用例
【答案】A
【题目】141
用__________模型分析和定义用户的需求。
A.数据  
B.静态  
C.动态
D.用例
【答案】A
【题目】142
用__________模型建立系统组织结构。
A.组织  
B.CMM
C.数据  
D.静态
【答案】D
【题目】143
用__________模型描述和分析业务流程。
A.交互  
B.业务  
C.数据  
D.动态
【答案】D
【题目】144
由于面向对象中的继承和消息机制,使得软件测试__________。
A.更加简单
B.更加复杂
C.没变
D.不确定
【答案】B
【题目】145
在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是__________。
A.控制类  
B.组件类   
C.主函数  
D.事务类
【答案】A
【题目】146
在现实世界中的任何有__________的单个实体或概念,都可看做__________。
A.主体/类
B.属性/对象
C.数据结构/对象
D.对象/属性
【答案】B
【题目】147
__________是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。
A.消息连接    
B.参数传递    
C.方法重写     
D.继承
【答案】D
【题目】148
表示对象相互行为的模型是__________模型。
A. 动态模型    
B. 功能模型    
C. 对象模型    
D. 状态模型
【答案】A
【题目】149
定义类的属性类型时尽量使用已有类型,太多自定义类型会降低系统的__________指标。
A.有效性  
B.安全性
C. 可维护性  
D. 开发效率
【答案】C
【题目】150
反映收发消息的对象的组织结构,用于描述系统的行为是如何有系统的成分协作实现的是__________。
A.顺序图      
B.类图     
C.合作图    
D.组件图
【答案】C
【题目】151
确定角色是__________的任务。
A.对象模型
B.用例模型
C.动态模型
D.交互模型
【答案】B
【题目】152
如果说用例F被用例T扩展,意思是__________。
A.F是一个一般用例,T是一个特殊用例
B.F是一个特殊用户,T是一个一般用例
C.都是一般用例
D.都是特殊用例
【答案】A
【题目】153
软件需求分析产生两个重要文档,一个是软件需求规格说明书,另一个是__________。
A.软件维护说明书            
B.概要设计说明书
C.可行性报告                
D.初步用户手册
【答案】B
【题目】154
下面建立功能模型的步骤哪个顺序是正确的__________。
A.确定角色/确定用例模型/确定用例
B.确定用例/确定用例模型/确定角色
C.确定角色/确定用例/确定用例模型
D.确定用例模型/确定角色/确定用例
【答案】C
【题目】155
在图书馆信息管理系统中,已经构造了一个读者类,后来发现图书馆的学生和教师在借书中有不同要求。请问在面向对象设计中用__________方法可以有效地设计这3个类?
A.信息隐藏  
B.多态  
C.动态联编  
D.继承
【答案】D
【题目】156
用__________描述系统与角色之间的接口。
A. 表单   
B.界面类   
C.窗体   
D.对话框
【答案】B
【题目】157
对类进行详细设计,主要是设计类的__________,优化类之间的关系。
A.数据结构   
B.处理流程   
C.属性和方法   
D.算法
【答案】C
【知识点】01250.7.0.0
【题目】158
面向对象设计的步骤中,正确的顺序是__________。
A.系统构架设计、用例设计、类设计
B.系统构架设计、数据库设计和用户界面设计
C.类设计、用例设计、构架设计   
D.用例设计、构架设计、类设计
【答案】A
【题目】159
面向对象设计强调定义__________,并且使它们相互协作来满足用户需求。
A.软件对象   
B.物理模型   
C.E-R模型   
D.接口
【答案】A
【知识点】01250.7.0.0
【题目】160
面向对象设计首先要进行高层设计:确定系统的总体结构和风格,构造系统的__________,将系统划分成不同的子系统。
A.逻辑模型
B.物理模型
C.数据模型
D.用例模型
【答案】B
【知识点】01250.7.0.0
【题目】161
面向对象设计首先要确定系统的总体结构和风格,构造系统的__________。
A.逻辑模型    
B.物理模型    
C.数据模型     
D.用例模型
【答案】B
【题目】162
在面向对象方法中,描述系统控制结构的模型是__________模型。
A. 动态模型    
B. 功能模型    
C. 对象模型   
D. 静态模型
【答案】A
【题目】163
在软件设计中应该保持模块的独立性原则,__________反映模块独立性。
A.耦合和内聚
B.数据和模块  
C. 模块内部的凝聚力
D.模块之间的耦合
【答案】A
【知识点】01250.7.0.0
【题目】164
程序的三种基本控制结构,包括顺序结构、__________和循环结构。
A.条件/判断结构
B.说明结构
C.输入结构
D.输出结构
【答案】A
【题目】165
程序结构清晰且简单易懂,一个函数的规模一般__________行。
A.等于300  
B.大于500  
C.不超过30  
D.100左右
【答案】D
【题目】166
程序设计语言的技术特性不应包括__________。
A.数据结构的描述性     
B.抽象类型的描述性
C.数据库的易操作性     
D.软件的可移植性
【答案】D
【题目】167
对于嵌套的循环和分支程序,层次不要超过__________层。
A.1  
B.2  
C.3  
D.5
【答案】C
【题目】168
构架设计的主要目的是__________,这项工作由经验丰富的构架设计师主持完成。
A.类图  
B.确定系统数据结构   
C.处理流程   
D. 确定系统总体结构
【答案】D
【题目】169
两个浮点数X0和X1比较相等时,应该用__________比较。
A.X0==X1   
B.X1-X0<ε  
C.|X0-X1|<ε  
D.X0=X1
【答案】C
【题目】170
如果程序代码的__________好,则调试的成本就可以大幅度降低。
A.性能比  
B.可扩充性  
C.可读性
D.可移植性
【答案】C
【题目】171
下列选项中,属于需求分析阶段的任务的是( )。
A.组装测试计划    
B.单元测试计划    
C.软件总体设计  
D.验收测试计划
【答案】D
【题目】172
软件特性中,相互矛盾的是__________。
A.可理解性与可测试性
B.效率与可修改性
C.可修改性和可理解性
D.可理解性与可读性
【答案】B
【题目】173
下列关于功能性注释不正确的说法是__________。
A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B. 注释用来说明程序段,需要在每一行都要加注释
C. 可使用空行或缩进,以便很容易区分注释和程序
D. 修改程序也应修改注释
【答案】B
【题目】174
源程序的效率与__________阶段确定的算法的效率直接有关。
A.概要设计  
B.总体设计      
C.单元设计   
D.详细设计
【答案】D
【题目】175
现在人们更强调程序代码的__________性。
A.可读
B.可移植
C.可扩充
D.可维护
【答案】A
【题目】176
__________不符合软件测试原则。
A.对每个测试结果进行检查,不漏掉已经出现的错误迹象
B.程序员应该仔细测试自己编写的程序代码
C.程序员要避免测试自己编写的程序代码
D.测试工作越早开始越好
【答案】B
【题目】177
__________时,测试人员必须接触到程序源代码。
A.黑盒测试     
B.白盒测试    
C.压力测试     
D.外观测试
【答案】B
【题目】178
__________属于功能测试方法。
A.等价类划分和判定覆盖  
B.边值分析和等价类划分
C.边值分析和判定覆盖  
D.判定覆盖和回归测试
【答案】B
【题目】179
不管多么完善的软件都可能有潜在的问题,所以设计人员应该为软件进行__________设计,当软件遇到异常数据、事件或操作时,软件不至于彻底崩溃。
A.容错性  
B.有效性
C.可靠性
D.安全性
【答案】A
【题目】180
测试用例是一组__________。
A.测试用的输入数据以及对应的预期结果
B.测试驱动程序   
C.测试数据  
D.测试程序及数据
【答案】A
【题目】181
测试最早的开始时间是__________。
A.从详细设计阶段开始
B.从编码阶段开始
C.从需求分析阶段开始
D.以上都对
【答案】C
【题目】182
从测试对象的粒度上划分测试为__________。
A.单元测试、集成测试
B.压力测试、功能测试、性能测试和系统测试
C.单元测试、集成测试、系统测试和验收测试
D.黑盒测试、白盒测试、功能测试和性能测试
【答案】C
【题目】183
从狭义上讲,软件测试是__________的过程。
A. 为发现错误而执行程序  
B.为了验证程序正确
C.用不同的数据验证程序正确性  
D.区分程序员水平
【答案】A
【题目】184
根据是否要运行被测程序,可以分为__________和动态测试。
A.静态测试  
B.白盒测试
C.黑盒测试
D.验收测试
【答案】A
【题目】185
黑盒测试在设计测试用例时,主要研究__________。
A.需求规格说明
B.详细设计说明
C.项目开发计划
D.概要设计说明与详细设计说明
【答案】A
【题目】186
画DFD 图的主要目的是__________。
A.作为需求分析阶段用户与开发者之间交流信息的工具
B.对系统的数据结构进行描述
C.对目标系统的层次结构进行描述
D.作为编码和测试的工具
【答案】A
【题目】187
可行性研究实质上是在较高层次上、以较抽象的方式进行__________的过程。
A.详细软件设计   
B.需求分析过程
C.深入的需求分析
D.测试设计
【答案】B
【题目】188
可维护性的特性中,相互矛盾的是__________。
A.可理解性与可测试性    
B.效率与可修改性
C.可修改性与可理解性    
D.可理解性与可读性
【答案】B
【题目】189
面向对象分析过程中建立的模型有__________。
A. 数据模型、功能模型、活动模型
B. 对象模型、功能模型、测试模型
C. 属性模型、功能模型、对象模型
D. 对象模型、功能模型、动态模型
【答案】D
【题目】190
软件测试的目标是设计优秀的测试用例,__________。
A.最快速地找出程序中的问题
B.以最小的代价、在最短的时间内尽可能多地发现软件中的错误
C.保障程序的正确性
D.区分出程序员的编程水平
【答案】B
【题目】191
软件测试的目的是__________。
A.评价软件的质量           
B.发现软件的错误
C.找出软件中的所有错误     
D.证明软件是正确的
【答案】B
【题目】192
软件测试的主要特点是__________。
A.软件测试的开销不大              
B.软件测试要依靠工具
C.软件不能进行“穷举”测试        
D.软件测试要依靠人工
【答案】C
【题目】193
软件测试方法中,白盒测试法是常用的方法,主要用于__________。
A.结构的合理性   
B.软件外部功能
C.程序正确性     
D.程序内部逻辑
【答案】D
【题目】194
软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为__________测试。
A.白盒法     
B.灰盒法     
C.黑盒法     
D.综合法
【答案】C
【题目】195
软件开发活动的顺序应该是__________。
A.问题定义、可行性研究、需求分析、设计、编码和测试。
B.问题定义、设计、可行性研究、编码和测试。
C.需求分析、设计、编码和测试。
D.需求分析、编码和测试、试运行。
【答案】A
【题目】196
软件中遗留的错误数量与已经发现的错误数量成__________。
A.反比  
B.正比  
C.相等  
D.没关系
【答案】B
【题目】197
若有一个计算类型的程序,它的输入量只有一个X,其范围是[-0,0],现从输入的角度考虑一组测试用例:-001,-0,0,001。设计这组测试用例的方法是__________。
A.条件覆盖法   
B.等价分类法     
C.边界值分析法
D.错误推测法
【答案】C
【题目】198
下述哪一种测试方法,测试人员必须接触到源程序__________。
A.功能测试
B.结构测试
C.界面测试
D.性能测试
【答案】B
【题目】199
验收测试主要涉及的文档是__________。
A.需求规格说明书
B.概要设计说明书
C.详细设计说明书
D.源程序
【答案】A
【题目】200
一般性的软件其测试工作量大约占整个开发工作量的__________。
A.小于10%  
B.40%  
C.90%  
D.大于100
【答案】B
【题目】201
一个测试用例是__________。
A.输入数据
B.输出结果
C.输入数据和预期的输出数据
D.实际的输出数据
【答案】C
【题目】202
以下哪种测试方法不属于白盒测试技术__________。
A.语句覆盖测试    
B.边界值分析测试    
C.条件覆盖测试    
D.判断覆盖测试
【答案】B
【题目】203
在设计测试用例时,应该包括__________测试用例。
A. 可能产生无效输出的输入情况
B.无效的和不期望的输入情况
C.有效的和期望的输入情况
D.上面所有情况
【答案】D
【题目】204
在设计黑盒测试用例时,主要研究__________。
A.概要设计说明书          
B.详细设计说明  
C.项目开发计划              
D.需求规格说明
【答案】D
【题目】205
即使软件能顺利运行,但用户往往会提出增加新功能或改进已有功能的建议,为满足这一类要求而进行的活动称为__________。
A.完善性维护    
B.预防性维护    
C.适应性维护     
D.代码重构
【答案】A
【题目】206
软件维护过程中产生的副作用,一般是由__________引起的。
A.算法说明  
B.修改程序  
C.优先级   
D.环境要求
【答案】B
【题目】207
通常软件的可维护性常常随着时间的推移而__________。
A.降低
B.提高
C.不变
D.不确定
【答案】A
【题目】208
为了获得维护的统计信息,应该记录每次维护的__________。维护管理者根据统计信息积累维护管理的经验,作为今后制定维护计划的依据。
A. 类型
B.工作量
C.维护人员
D.以上全部
【答案】D
【题目】209
为了适应软硬件环境变化而修改软件的过程是__________。
A.校正性维护     
B.完善性维护   
C.适应性维护     
D.预防性维护
【答案】C
【题目】210
维护的工作量与软件规模成__________,软件的规模可以由源程序的语句数量、模块数、输入输出文件数、数据库的规模,以及输出的报表数等指标来衡量。
A.反比   
B.正比   
C.没关系  
D.不确定
【答案】B
【题目】211
一般维护程序代码的策略__________。
A.从需求开始重新开发    
B.根据维护申请读源程序,并修改
C.找一个新的模块替换    
D. 不用读源程序,从新编写代码
【答案】B
【题目】212
以下属于完善性维护的有__________。
A.解决开发是未能测试各种可能条件带来的问题
B.增加联机求助命令
C.缩短系统的应答时间,使其达到特定要求
D.为提高软件的可靠性和可维护性,主动修改软件
【答案】B
【题目】213
引起软件改变的原因主要有__________。
A.运行环境变化
B. 需求变化
C.系统有错  
D.以上全部
【答案】D
【题目】214
在软件生存期的维护阶段,继续诊断和修正错误的过程称为__________。
A.完善性维护    
B.适应性维护     
C.预防性维护     
D.改正性维护
【答案】D
【题目】215
__________针对开发过程中的程序、数据、文档提出使用和管理策略。
A.组织管理     
B.过程管理    
C.软件配置管理  
D.风险管理
【答案】C
【题目】216
Gantt图直观简明、易学易用,但它不能__________。
A.直接反应任务间的依赖关系和关键路径
B.反应任务的分解情况
C.直接反应任务的起止日期
D.反应具体任务的时间段
【答案】A
【题目】217
SW-CMM是一种__________规范。
A.编程规范      
B.软件工作通用模型
C.软件设计模型  
D.软件成熟度模型
【答案】D
【题目】218
不属于软件项目管理的是__________。
A.开发机构能力评估
B.项目风险评估
C.质量监控
D.软件销售利润
【答案】D
【题目】219
下列选项中,属于详细设计阶段的任务的是( )。
A.组装测试计划     
B.单元测试计划      
C.初步用户手册   
D.验收测试计划
【答案】B
【题目】220
框架是一组可用于不同应用的__________的集合。
A.类  
B.数据结构
C.函数
D.过程
【答案】A
【题目】221
美国卡内基﹒梅隆大学制定的SW-CMM是__________。
A.软件工作规范   
B.软件工作流描述   
C.软件成熟度模型  
D.软件描述的一般方法
【答案】C
【题目】222
软件项目管理的内容包括__________。
A.人员的组织与管理       
B.软件配置管理  
C.软件开发进度计划       
D.以上所有
【答案】D
【题目】223
软件项目管理的内容不包括__________。
A.人员的组织与管理  
B. 技术和算法  
C.软件配置管理
D.软件开发进度计划
【答案】B
【题目】224
通俗的说,软件项目管理中常说的基线是__________。
A.管理的基本思路   
B. 一种软件开发的基本策略
C.基本的技术路线   
D. 通过正式复审的文档
【答案】D
【题目】225
项目计划活动的主要任务是__________。
A.估算项目的进度  
B.分配工作量  
C.计划资源使用  
D.以上全部
【答案】D
【题目】226
项目计划活动的主要任务是估算项目的进度、工作量、资源和__________。
A.风险  
B.时间  
C.人员  
D.事情
【答案】A
【题目】227
用__________模型描述系统组织结构。
A.组织   
B.CMM   
C.数据  
D.静态
【答案】D
【题目】228
简述模块独立性,内聚与耦合。
【答案】
模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。
【题目】229
等价分类法的基本思想是什么?
【答案】
根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。
【题目】230
衡量模块独立性的两个标准是什么?它们各表示什么含义?
【答案】
(1)两个定性的度量标准:耦合与内聚性。
(2)耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
(3)内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。
【题目】231
活动图与状态图的区别?
【答案】
(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。
(2)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。
【题目】232
简述结构化分析的主要步骤。
【答案】
(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系图。
(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。
(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。
(4)系统分析人员与用户一起对需求分析的结果进行复查。
(5)根据细化的需求修订开发计划。
(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。
【题目】233
简述面向对象分析的三个模型。
【答案】
(1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。
(2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
(3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。
【题目】234
简述模块独立性,内聚与耦合。
【答案】
模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。
【题目】235
简述软件过程模型。
【答案】
(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。
(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。
【题目】236
简述在项目开发时选择程序设计语言的主要考虑的因素。
【答案】
编程人员的水平和编程经历;
待开发的软件类型;
算法和计算复杂性;
数据结构的复杂性;
软件的开发成本和时间要求;
软件可移植性要求;
可用的软件工具。
【题目】237
结构化程序设计的特征是什么?
【答案】
结构化程序设计的特征如下:程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。
【题目】238
面向对象的分析通常要建立三个模型,请问三个模型的作用?
【答案】
1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。
【题目】239
请给出软件工程七条基本原理中的任意6条基本原理。
【答案】
原理1.用分阶段的生命周期计划严格管理
原理2.坚持进行阶段评审
原理3.实行严格的产品控制
原理4.采用现代程序设计技术
原理5.结果应能清楚地审查
原理6.开发小组的人员应该少而精
原理7.承认不断改进软件工程实践的必要性
【题目】240
请给出软件工程七条基本原理中的任意三条基本原理。
【答案】
原理1.用分阶段的生命周期计划严格管理
原理2.坚持进行阶段评审
原理3.实行严格的产品控制
原理4.采用现代程序设计技术
原理5.结果应能清楚地审查
原理6.开发小组的人员应该少而精
原理7.承认不断改进软件工程实践的必要性
【题目】241
请举例说明用例之间的包含关系和扩展关系的区别?
【答案】
包含关系用于构造多个用例共同的活动。例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。
【题目】242
请说明对象模型的作用是什么?
【答案】
对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构建对象模型的核心工具。
【题目】243
请说明快速原型化模型的基本思想
【答案】
在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。
【题目】244
请说明判定表的作用及其结构。
【答案】
判定表是结构化设计的工具,用于多条件的描述。其结构分为4部分:条件列表、条件组合、操作列表、特定条件下的操作组合。
【题目】245
软件工程的主要目标是什么?
【答案】
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
l实现预期的软件功能,达到较好的软件性能,满足用户的需求。
l增强软件过程的可见性和可控性,保证软件的质量。
l提高所开发软件的可维护性,降低维护费用。
l提高软件开发生产率,及时交付使用。
l合理预算开发成本,付出较低的开发费用。
【题目】246
软件工程为什么要强调规范化和文档化?
【答案】
(1)软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。
(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。
【题目】247
软件设计中的抽象是什么意思?
【答案】
所谓抽象就是将事务的相似方面集中和概括起来,暂时忽略它们之间的差异。或者说,抽象就是抽出事务的本质特性而暂时不考虑它们的细节
【题目】248
什么是耦合?什么是内聚?
【答案】
在软件设计中应该保持模块的独立性原则。反映模块独立性的有两个标准:内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密程度;耦合衡量模块之间彼此依赖的程度。软件设计时追求高内聚、低耦合。
【题目】249
什么是软件?如何评价软件的质量?
【答案】
(1)软件是程序以及开发、使用和维护程序所需的所有文档。
(2)软件质量从可维护性、可靠性、可理解性和效率等方面对软件作较全面的评价。
【题目】250
什么是软件生命周期?他分为哪几个阶段?
【答案】
软件生命周期是一个软件从提出开发要求到废弃为止的整个时期。
软件生命周期可分为8个阶段:问题定义、可行性分析、需求分析、概要设计、详细设计、编码、系统测试和运行维护
【题目】251
什么是软件危机?试简述至少3种软件危机的典型表现。
【答案】
(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。
(2)典型表现:
l开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;
l软件需求分析不够充分,用户不满意“已经完成”的软件系统。
l软件质量难于保证;
l软件维护困难;
l通常没有保留适当的文档资料
l开发成本逐年上升;
l软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势
【题目】252
为了提高软件的可维护性,在软件开发过程的各个阶段要充分考虑软件的可维护性因素。
【答案】
(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。
(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。
(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。
(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。
【题目】253
为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。【答案】
(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。
(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。
(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。
(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。
【题目】254
软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与用户需求的区别?
【答案】
业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。
用户需求是用户使用该软件要完成的任务。这部分需求应该充分调研具体的业务部门,详细了解最终用户的工作过程、所涉及的信息、当前系统的工作情况、与其他系统的接口等等。用户需求是最重要的需求,也是出现问题最多的。
【题目】255
什么是软件工程?请分析软件工程的目标是什么?
【答案】
软件工程是:① 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;② 对①中所选方法的研究”。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。
b)增强软件过程的可见性和可控性,保证软件的质量。
c)提高所开发软件的可维护性,降低维护费用。
d)提高软件开发生产率,及时交付使用。
合理预算开发成本,付出较低的开发费用。
【题目】256
请简单说明结构化分析的主要步骤。
【答案】
(1)根据用户的需求画出初始的数据流程图;(2)写出数据字典和初始的加工处理说明(IPO图);(3)实体关系图。(4)以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。(5)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。(6)系统分析人员与用户一起对需求分析的结果进行复查。(7)根据细化的需求修订开发计划。(8)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。
(2)
【题目】257
请简单分析顺序图和活动图的区别。
【答案】
(1)活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图特别适合描述工作流和并行处理过程。具体地说活动图可以描述一个操作过程中需要完成的活动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。
(2)顺序图用于描述一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
【题目】258
提高程序可读性有哪些招数?对你来讲比较灵验的是哪些?
【答案】
a)源程序文件头说明,函数应有函数头说明,内容包括:程序标题;有关该模块功能和目的说明;主要算法说明;接口说明,包括调用形式、参数描述、子程序清单、有关数据的说明。
b)主要变量(结构、联合、类或对象)的定义能够反映其内在含义。
c)变量定义最规范化,说明的先后次序固定。
d)处理过程的每个阶段和典型算法前都有相关注释说明。
e)用缩进来显示程序的逻辑结构。
f)嵌套的循环和分支程序层次不要超过五层。
【题目】259
设计类的属性时必须要定义是哪两项?
【答案】
设计类的属性时必须要定义的内容:
1)属性的类型:设计属性时必须要根据开发语言确定每个属性的数据类型,如果数据类型不够,设计人员可以利用已有的数据类型定义新的数据类型。
2)属性的可见性。在设计属性时要确定公有属性、私有属性、受保护属性。
【题目】260
面向对象的设计活动中,有构架师、用例工程师和构件师参加,他们每个角色的职责是什么?
【答案】
(1)构架设计的目的是要勾画出系统的总体结构,这项工作由经验丰富的构架设计师主持完成。该活动以用例模型、分析模型为输入,生成物理构架、子系统及其接口、概要的设计类(即设计阶段定义的类)。
(2)根据分析阶段产生的高层类图和交互图,由用例设计师研究已有的类,将它们分配到相应的用例中。检查每个用例的功能,这些功能依靠当前的类能否实现,同时检查每个用例的特殊需求是否有合适的类来实现。细化每个用例的类图,描述实现用例的类及其类之间的相互关系,其中的通用类和关键类可用粗线框区分,这些类将作为项目经理检查项目时的重点。
经过前面两个活动,构架设计师已经将系统的构架建立起来,用例设计师按照用例的功能将每个类分配给相应的用例。现在要由构件工程师详细设计每个类的属性、方法和关系。
【题目】261
软件的可维护性是软件设计师最关注的性能,谈谈为了获得软件良好的可维护性,在设计时应该注意哪些问题?
【答案】
(1)在设计阶段应该做一些变更实验,检查系统的可维护性、灵活性和可移植性;(2)设计时应该将今后可能变更的内容与其他部分分离开来,并且遵循高内聚、低偶合的原则。
【题目】262
根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?
【答案】
对于侵犯软件著作权的行为,(1)要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;(2)损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;(3)情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;(4)触犯刑律的,依法追究刑事责任。
【题目】263
读懂下面的程序,调整格式,使其更容易理解,并添加注释。
int main()
{
int a[10];
for (int i =0;i<10;i++)
scanf(“%d”,a[i]);
int max=a[0],min=a[1];
for (int j = 0;j<10;j++)
{
max=(max>a[j]?max:a[j]);
min=(min<a[j]?min:a[j]);
}
printf(“max= %d”,max);
printf(“min= %d”,min);
printf(“\n”);
return 0;
}
【答案】
int main()
{
int a[10];
//读入10个数据
for (int i =0;i<10;i++)
scanf(“%d”,a[i]);
//max存放最大值,min存放最小值
int max=a[0],min=a[0];
//从10个数中发现最大、最小值
for (int j = 0;j<10;j++)
{
max=(max>a[j]?max:a[j]);
min=(min<a[j]?min:a[j]);
}
//输出结果
printf(“max= %d”,max);
printf(“min= %d”,min);
return 0;
}
【题目】264
对功率大于50马力的机器或已运行 10 年以上的机器,应送到专业的维修公司处理;否则如果功率小于20马力,并且有维修记录,则在车间维修;否则送到本厂的维修中心维修,请建立判定表。
【答案】
>=50马力
Y
N
N
N
<=20马力
N
N
Y
N
>=10年
N
Y
N
有维修记录
Y
送外
本厂
本车间
【题目】265
孩子阅读疲倦时,一定要休息。如果不疲倦,但是对所阅读的内容不感兴趣,就跳到下一章;如果不疲倦,对内容有兴趣,理解无困难,则继续阅读;如果不疲倦,对内容有兴趣,但理解有困难,则应该重读。请对上面的描述设计判定表。
【答案】
疲倦
Y
Y
Y
Y
N
N
N
N
感兴趣
Y
Y
N
N
Y
Y
N
N
糊涂
Y
N
Y
N
Y
N
Y
N
重读
继续
跳到一下章
休息
化简为:
疲倦
Y
N
N
N
感兴趣
Y
Y
N
糊涂
Y
N
重读
继续
跳到一下章
休息
【题目】266
某学校开发了学生网上选课的系统,学生首先输入学生编号和密码,登录成功后在网上查找到希望选修的课程,并查看是否还有名额,若有名额就可以选课,系统自动记录该学生的选课信息,并返回选课成功。请用顺序图描述学生选课的过程。(只描述成功选课的情形即可)
【答案】
640-110
【题目】267
请说明IPO图的作用,并给出一个IPO图的模板。
【答案】
数据流程图中的处理本应该放在数据字典中进行定义,但是由于处理与数据是有一定区别的两类事物,它们各自有独立的描述格式,因此在实际项目中通常将处理说明用IPO图标描述。下面是项目中常用的处理说明模板:
系统名称:                                          作者:             
处理编号:                                          日期:             
输入参数说明:
输出参数说明:
处理说明:
 
局部数据元素:
备注:
 
【题目】268
请为下面的程序设计符合判定覆盖的测试用例。
int main()
{
int a,b,c,x,y,z,t;
scanf(“d%,d%,d%),&a,&b,&c,&t);
if a>5 && t<1 x=10 else x=1;
if b>10 y=20 else y=2;
if c>15 z=30 else z=3;
printf(“d%,d%,d%\n”,x,y,z)
}
【答案】
a>5,t=0
a<=5,t=0
b>10
b<=10
c>15
c<=15
测试用例(不唯一):a=6 t=0 b=11 c=16; a=5 t=0 b=10 c=15
【题目】269
软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?
【答案】
业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。
功能需求定义了软件开发人员必须实现的软件功能。用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。开发人员根据功能需求进行软件设计和编码。
【题目】270
设计下列伪程序的判定覆盖测试用例。
BEGIN
INPUT(a,b,c,x,y,z,t);
IF (a>10) THEN
x=10
ELSE
x=1
END IF
IF(b>10)AND (t<3) THEN
y=20
ELSE
y=2
END IF
IF(c>15) THEN
z=30
ELSE
z=3
END IF
PRINT(x,y,z)
END
【答案】
判断覆盖标准为,不仅使条语句都至少执行一次,还要是程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。
测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=15
【题目】271
设计下列伪程序的判定覆盖测试用例。
if (a>10) then
x=10
else
x=1
end if
if(b>10)and (t<3) then
y=20
else
y=2
end if
if(c>15) then
z=30
else
z=3
end if
【答案】
判断覆盖标准为,不仅使条语句都至少执行一次,还要是程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。
测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=15
【题目】272
设计下列伪程序的条件组合覆盖测试用例。
BEGIN
INPUT(A,B)
IF(A>0) AND (B>0) THEN
X=A+B
ELSE
X=A-B
END
IF (C>A) OR (D<B) THEN
Y=C-D
ELSE
Y=C+D
END
PRINT(X,Y)
END
【答案】
条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。
本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:
A>0,B>0
A>0,B<=0
A<=0,B>0
A<=0,B<=0
C>A,D<B
C>A,D>=B
C<=A,D<B
C<=A,D>=B
下面的4个测试用例,可以使上面列出的8种条件组合每种至少出现一次:
实现1,5两种条件组合
输入:A=1,B=1,C=2,D=0
预期的输出:X=2,Y=2
实现2,6两种条件组合
输入:A=1,B=0,C=2,D=1
预期的输出:X=2,Y=1
实现3,7两种条件组合
输入:A=0,B=1,C-1,D=0
预期的输出:X=-1,Y=-1
实现4,8两种条件组合
输入:A=0,B=0,C=-1,D=1
预期的输出:X=0,Y=0
【题目】273
设计下列伪程序的条件组合覆盖测试用例。
BEGIN
INPUT(x,y,z)
IF(y>1) AND (z=0) THEN
x=x/y
END IF
IF(y=2) OR(x=l) THEN
x=x+l
END IF
PRINT(x)
END
【答案】
条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。
本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:
y>1,  z=0
y>1,  z<>0
y<=1,  z=0
y<=1,  z<>0
y=2,  x=1
y=2,  x<>1
y<>2,  x=1
y<>2,  x<>1
条件组合覆盖设计测试用例:
实现1,6两种条件组合
输入:y=2, z=0, x=4;
实现 2,5两种条件组合
输入:y=2, z=1, x=1;
实现 3,8两种条件组合
输入:y=1, z=0, x=2;
实现 4,7两种条件组合
输入: y=1, z=1, x=1.
【题目】274
设计下列伪程序的语句覆盖测试用例。
BEGIN
INPUT(A,B,C)
IF A>5 THEN
X=10
ELSE
X=1
END IF
IF B>10 THEN
Y=20
ELSE
Y=2
END IF
IF C>15
THEN Z=30
ELSE Z=3
END IF
PRINT(X,Y,Z)
END
【答案】
因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。下面是实现语句覆盖的典型测试用例:
(1)使3个判定表达式之值全为假
输入:A=1,B=1,C=1
预期的输出:X=1,Y=2,Z=3
(2)使3个判定表达式之值全为真
输入:A=20,B=40,C=60
预期的输出:X=10,Y=20,Z=30
【题目】275
试从软件的特点出发分析软件危机产生的原因。
【答案】
1)软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分析、思考和判断才能了解它的功能和性能。
2)软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并且维护的成本通常比开发成本高许多。
3)软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就是为应用“量身订做”软件。长期以来,软件给人的感觉是修改几条指令很简单,客户总是强调软件要适应自己的业务需求。因此,软件产品大多是为客户“订做”的,通用性差。
4)软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程师提出了很高的要求。
5)软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是“不可见性”,这大大增加了组织管理上的困难。
【题目】276
试分析结构化方法存在的主要问题是什么?
【答案】
1)结构化方法分析和设计阶段所应用的模型之间存在鸿沟。分析阶段的主要模型是数据流程图,设计阶段的主要模型是软件模块结构图,数据流程图和软件模块结构图之间需要进行转换。不同的人转换出的模块图可能不同,有很大的随意性。
2)需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;需求分析的过程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。
3)结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。
结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。
【题目】277
下面的程序段A被程序员误写成程序段B,请设计合适的测试用例发现其中的错误。(有图)
程序段A
程序段B
……
{
T=0;
if (A>=1)&& (B>=2) T=T+1;
else T=T+2;
if (X>=90) &&(Y>=75) T=T+3;
else T=T+4;
}
printf(“d%\n”,T);
……   
……
{
T=0;
if (A>=1)&& (B>=2) T=T+1;
else T=T+2;
if (X>=90)&&(Y<75) T=T+3;
else T=T+4;
}
printf(“d%\n”,T);
……
【答案】
条件组合:
A>=1 B>=2;
A>=1 B>2
A<1 B>=2
A<1 B<2
X>=90 Y>=75
X>=90 Y<75
X<90 Y>=75
X<90 Y<75
由此获得测试用例:A=1 B=2; A=1 B=1;A=0 B=2;A=0 B=1;X=90 Y=75;X=90 Y=1;X=1 Y=75;X=1 Y=1;其中 X=90 Y=75和 X=90 Y=1能够发现错误。
【题目】278
一个程序片段如下,请设计符合判定覆盖的测试用例。
if (a>=5) && (b<0)
c=a+b;
else
c=a-b;
if (c>5) || (c<1)
printf(“c不在计算区域\n”)
else
printf(“%d\n”, c);
【答案】
条件:
a>=5 b<0
a>=5 b≮0
c<1
1<c<5
符合判定覆盖的测试用例(不唯一):a=5,b=-1,c=4; a=5,b=5,c=0;
【题目】279
一个程序片段如下,请设计符合判定覆盖的测试用例。
if (a>=5) && (b<0) {
c=a+b;
else
c=a-b;
if (c>5) || (c<1)
printf(“c不在计算区域\n”)
else
printf(“%d\n”,  c);
【答案】
判断覆盖标准为,不仅使条语句都至少执行一次,还要使程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。
测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=15
【题目】280
一个程序片段如下,请设计符合条件组合覆盖的测试用例。
……
if (a>=4) && (b<0)
c=a+b;
else
c=a-b;
if (c>3) || (c<1)
printf(“c不在计算区域\n”);
else
printf(“%d\n”, c);
……
【答案】
a>=4 b<0
a>=4 b>=0
a<4 b<0
a<4 b>=0
c>3
c<=3
c<1
c>=1
综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可):
a=4 b=-1 c=3
a=4 b=0 c=4
a=-1 b=-1 c=0
a=2 b=0    c=2
【题目】281
请画图说明软件工程的层次化结构,并详细分析中间两层的内容。
【答案】
软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层和方法层,最上层是工具层。见图:
640-111
其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。
【题目】282
QQ软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分为 群主和群普通成员、群管理员,请用类的继承关系描述QQ用户群。
【答案】
640-112
【题目】283
公司为本科以上学历的员工重新安排工作,原则如下:①如果年龄不满23岁,学历是本科,一律考研生;②如果年龄在23岁至50岁之间,学历本科,任项目经理;③如果年龄在50岁以下,学历硕士,任命为中层领导;④如果年龄超过50岁,不做调整,要求画出判定表。
【答案】
条件
1
2
3
4
<23
T
[23,50]
T
<50
T
F
本科
T
T
研究生
T
报考研究生
T
项目经理
T
中层领导
T
不变
T
【题目】284
下面程序代码,编程人员误把IF ((A==2) OR (X>1)) 条件写成了IF ((A==2) OR (X<1)),用A=2,B=0,X=3和A=2,B=1,X=1这两组测试用例不能发现错误,请你添加足够多的测试用例,以发现程序中的错误。
BEGIN
……….
If ((A>1) AND (B==0)) THEN DO
X:=X/A;
IF ((A==2) OR (X>1)) THEN DO
X:=X+1;
END
【答案】
用A=1,B=0,X=3测试用例可以发现错误,因为按照测试用例的预计的输出X=4,而错误的输出是X=3。
【题目】285
请用判定表描述产品出库量的计算方法:当库存量大于等于提货量时,以提货量作为出库量;当库存量小于提货量,但是库存量大于等于提货量的50%时,以实际库存量作为出库量;否则,出库量为0,不能提货。
【答案】
条件
1
2
3
库存≧提货量
T
F
库存≧50%提货量
T
F
按提货量出库
T
按库存量出库
T
不出库
T
【题目】286
将下面的程序片段画出程序流程图。
……
……
WHILE P DO
IF A>O THEN
A1
ELSE
A2
ENDIF;
S1;
IF B>0 THEN
B1;
WHILE C DO
S2;S3
ENDWHILE;
ELSE
B2
ENDIF;
B3
ENDWHILE;
……
【答案】
640-113
【题目】287
假设一家工厂的采购部门每天需要一张定货报表。报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应商、次要供应商。零件入库或出席称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存临界值时就应该再次定货。试绘制数据流图。
【答案】640-114
【题目】288
某个学生成绩管理系统的部分功能如下:
(1)基本信息管理:教务管理人员输入或修改学期教学计划、学生名单和教师名单;
(2)学生选课:学生根据课程和教师信息进行选课;
(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师和时间;
(4)教师查询并打印课表;
(5)成绩管理:每门课程的教师在考试评分结束后将考试成绩录入,学生可查询。
请根据要求画出该问题的数据流程图。
【答案】
640-115
【题目】289
学校每学期为品学兼优的学生发放奖学金,奖学金根据学生本人申请,班主任和同学评议的结果,分为三个等级,一等奖5名,二等奖10名,三等奖50名,向全校公布。
开发一个软件实现奖学金的评比和发布。每学期由学生本人填写申请信息:学号、姓名、班级、申请等级、申请理由;系统根据申请自动检查学生成绩文件,如果成绩有不及格则不能申请奖学金;如果平均成绩在85分以上有资格申请一等奖学金;75分以上可以申请二等奖学金;否则可以申请三等奖学金。系统保存申请信息和成绩检查结果。经过成绩筛选后,同学和班主任进行评议,同学可以给申请者加0—10分,教师可以给申请者0—10分。学习成绩占80%,同学评分占10%,班主任评分占10%,最后由学生管理科编制一张报表。请设计这张报表的内容和格式,并画出此系统的数据流程图。
【答案】
学号
姓名
班级
申请
等级
成绩
等级
学习总成绩
同学
评分
班主任评分
总分
实际获奖情况
640-116
【题目】290
简化的图书馆图书信息管理系统有以下要求:(1)借书:输入读者借书证和书号,系统检查借书证是否有效;查阅借还书文件,检查该读者所借图书是否超过8本,若已达8本,显示信息“已经超出借书数量”,拒借;然后查询是否有超过1个月期限的图书,若有则显示信息“有超期未还图书”;两项检查通过后,办理借书(检查库存、修改库存文件并将读者借书信息登入借还书文件)(2)还书:输入书号和读者号,从借书文件中读出有关的借书记录,查阅所借日期,如果超过1个月,作罚款处理。否则,修改库存文件与借还书文件。
请就以上需求画出DFD图,并给出借还书文件的数据字典。
【答案】
640-117
数据字典4分:可以用表格的方式说明也可以按照传统的数据字典格式,例如:
名称:借还书信息
编号:DS03
简述:保存读者的借还书记录
数据存储的组成:编号+读者号+图书号+借书日期+还书日期+操作员编号
存储方式:数据库表
访问频率:每日大约300条记录。
数据元素名称:编号
简称:NO
类型:CHAR
长度:6
取值范围:000000-999999
初始值:系统自动产生
其他……
或者:
编号:DS03 名称:借还书信息
名称
简称
键值
类型
长度
值域
初值
备注
编号
NO
P
字符
6
自动
读者号
ReadNO
字符
11
图书号
BookNO
字符
13
借书日期
Bdate
日期
当前日期
还书日期
Rdate
日期
当前日期
操作员编号
OPNO
字符
【题目】291
某企业的设备维修委托给专业的技术公司完成,现在要开发软件对设备维修信息进行管理,具体描述如下:
车间主任填写维修申请单,内容有设备名称、型号、故障描述、维护时间要求、预计费用;填好后交给审计人员,审计人员根据企业的审计规定对维修申请单进行审计,填写审计意见和审计结果,审计意见可以修改费用,审计结果是同意或不同意;车间主任可以随时查询审计意见和结果;审计通过的维修申请单送给总经理进行审核,并填写审核意见和结果,审核也是以修改费用,审核结果是同意或不同意。审核通过后,车间把设备送去维修。维修后由车间主任组织对设备维修结果进行验收,企业对每台有设备验收标准。验收通过后,由财务人员进行结算,填写支付单并支付维修费。最后收取发票后,财务人员填写发票记录。
请画出设备维修信息管理软件的数据流程图。
【答案】
640-118
【题目】292
学校教师工资管理系统的需求描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资+各种补贴+工作量奖金-税收-保险一公积金金。基本工资、各种补贴、保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。
请针对上面描述的需求画出数据流程图。
【答案】
640-119
【题目】293
学校开发的网上作业管理信息系统需求如下:教师使用本系统将作业题输入到数据库中,并且针对不同的学生布置不同的作业。学生在网上查看教师给自己布置的作业,并完成作业,完成的作业放在学生作业表中。教师在网上批阅作业,并可以统计作业完成情况。学生可以查看教师批阅的作业,修改作业中的错误,教师仍然可以查看学生修改作业的情况,并给予批阅。
请仔细阅读上面的描述,画出数据流程图。
【答案】
640-120
【题目】294
一个简单的飞机机票预订系统:机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来。旅行社把预订机票的旅客信息 (姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(附有应交的账款)。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。请你根据以上的描述,画出数据流程图。
【答案】
640-121
【题目】295
一个简化的养老院软件需求描述如下:老人来到养老院,接待人员将老人的基本信息录入到系统中,管理员读取老人信息,进行护理级别的评估,根据评估结果分配床位、确定护理方案,床位的分配信息存入床位分配数据表,每位老人的护理方案也要保存到数据库表中。财务人员根据收费标准、床位分配信息、护理方案和老人的日常护理记录计算应收费用,老人的家属可以查询应收费信息和老人的日常护理信息。护士根据老人基本信息、护理方案对老人进行日常护理,并向系统录入每日的护理信息。请你根据以上的描述,画出数据流程图。
【答案】
640-122
【题目】296
现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。用户提出的系统功能要求如下:在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。当病症出现异常时,系统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。
请按上述描述,画出系统的用例图。
【答案】
640-123
【题目】297
用用例图描述图书管理。该系统主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是几个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。
【答案】
640-124
【题目】298
根据下面程序代码,画出程序流程图,然后设计满足条件组合覆盖的测试用例。
BEGIN
T:=0
IF ( X>=80 AND  Y>=80 )THEN
T:=1
ELSE IF ( X>=90  AND  Y>=75  )  THEN
T:=2
ENDIF
END.
【答案】
640-125
经化简后的测试用例:x=95 y=95;x=95,y=70;x=70,y=95;x=70,y=70;
【题目】299
一个学生考试成绩统计程序,小于60分为“不及格”;60-79为“中”;80-89为“良”;90分以上为“优秀”,录入其他成绩均为“无效”。要求:按等价类划分方法设计测试用例。
【答案】
一个学生考试成绩统计程序,小于60分为“不及格”;60-79为“中”;80-89为“良”;90分以上为“优秀”,录入其他成绩均为“无效”。要求:设计语句覆盖的测试用例。
答案:
假设变量A是读入的成绩,则设计的测试用例有5个:
A=59 不及格
A=79 中
A=89 良
A=99 优
A=101 无效
说明:此题的答案不唯一,只要符合等价类划分要求即可
【题目】300
根据你的理解,为下面的数据流程图加上箭头,并把下列内容添加到合适的位置:用户名/密码、用户输入预订信息、保存预订信息、预订信息记录、登录确认、图书信息记录、图书信息、查询条件、查询结果、读者账号信息记录、预订信息。有图
640-126
【题目】301
某学校开发了学生网上选课的系统,学生首先输入学生编号和密码,登录成功后在网上查找到希望选修的课程,并查看是否还有名额,若有名额就可以选课,系统自动记录该学生的选课信息,并返回选课成功。请用顺序图描述学生选课的过程。(只描述成功选课的情形即可)
640-127