【单选题】以下关于数据流图的叙述中,不正确的是( )
A、从数据传递和加工的角度,刻画数据流从输入到输出的移动变化过程
B、描述了数据对象及数据对象之间的关系
C、顶层数据流图仅包含一个数据处理,即目标系统
D、采用自顶向下的方式进行,开始于顶层数据流图,结束于模块规格说明
答案:B
解析:B,数据流图表示的是数据流动的过程表示,数据对象及数据对象之间的关系属于关系-实体图,即ER图
【单选题】以下属于CPU中算术逻辑单元的部件是( )
A、程序计数器
B、加法器
C、指令寄存器
D、指令译码器
答案:B
【单选题】内存按字节编址从A5000H到DCFFFH的区域其存储容量为( )。
A、123KB
B、180KB
C、223KB
D、224KB
答案:D
解析:内存按字节编址从A5000H到DCFFFH,得出地址空间为:DCFFFH-A5000H+1=38000H;38000H换算为KB为:38000H=3*16^4+8*16^3=229376B=229376/1024KB=224KB。 也可以通过2进制换算:38000H=3*16^4+8*16^3=3*2^16+8*2^12=(3*2^6+8*2^2)*2^10=(3*64+8*4)KB=224KB
【单选题】系统可维护性的评价指标不包括( )
A、可理解性
B、可测试性
C、可移植性
D、可修改性
答案:C
【单选题】经测试发现某软件系统存在缓冲区溢出缺陷,针对这一问题,最可靠的解决方案是( )。
A、更改防火墙设置
B、对软件系统自身进行升级
C、安装防病毒软件
D、安装入侵检测系统
答案:B
解析:缓冲区是已分配的一段大小确定的内存空间,用来存放数据。当向一个已分配了确定存储空间的缓冲区内复制多于该缓冲区处理能力的数据时,将发生缓冲区溢出。发生缓冲区溢出时,会覆盖相邻的内存块,从而引发程序安全问题。造成缓冲区溢出缺陷的根本原因是软件代码中存在相应的逻辑错误,因此针对缓冲区溢出缺陷最可靠的解决方案是对对软件系统自身进行升级。
【单选题】原型化(Prototyping)方法是一类动态定义需求的方法,( )不是原型化方法所具有的特征。与结构化方法相比,原型化方法更需要( )。衡量原型开发人员能力的重要标准是(请作答此空)。
A、丰富的编程技巧
B、灵活使用开发工具
C、很强的协调组织能力
D、快速获取需求
答案:D
解析:原型化方法基于这样一种客观事实:并非所有的需求在系统开发之前都能准确地说明和定义。因此,它不追求也不可能要求对需求的严格定义,而是采用了动态定义需求的方法。具有广泛技能、高水平的原型化人员是原型实施的重要保证。原型化人员应该是具有经验与才干、训练有素的专业人员。衡量原型化人员能力的重要标准是他是否能够从用户的模糊描述中快速获取实际的需求。
【单选题】程序质量评审通常是从开发者的角度进行评审,其内容不包括( )。
A、功能结构
B、功能的通用性
C、模块层次
D、与硬件的接口
答案:D
【单选题】以下控制流图的圈复杂度V(g)和基本圈复杂度EV(g)是( )。
A、V(g)=5 EV(g)=1
B、V(g)=6 EV(g)=6
C、V(g)=5 EV(g)=5
D、V(g)=6 EV(g)=1
答案:D
解析:本题考查从控制流图计算圈复杂度V(g)和基本圈复杂度EV(g)的方法。V(G)=(区域数)=6,Essential Complexity (ev(G))基本圈复杂度,是用来衡量程序非结构化程度的,非结构成分降低了程序的质量,增加了代码的维护难度,使程序难于理解。因此,基本复杂度高意味着非结构化程度高,难以模块化和维护。将圈复杂度图中的结构化部分简化成一个点,计算简化以后流程图的圈复杂度就是基本复杂度。当基本复杂度为1,这个模块是充分结构化的;当基本复杂度大于1而小于圈复杂度,这个模块是部分结构化的;当基本复杂度等于圈复杂度,这个模块是完全非结构化的。按照结构化原则简化后,原来的控制流图转变成顺序执行的流图,因此EV(g)=1。
【单选题】瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述中,正确的是( )。
A、瀑布模型能够非常快速地开发大规模软件项目
B、只有很大的开发团队才使用瀑布模型
C、瀑布模型已不再适合于现今的软件开发环境
D、瀑布模型适用于软件需求确定,开发过程能够采用线性方式完成的项目
答案:D
解析:本题考查软件开发模型。瀑布模型是一种系统的、顺序的软件开发方法,它适用于软件需求确定,开发过程能够以线性化的方式完成那些软件开发项目。能否适用于某个项目或者快速开发某个项目并不取决于所开发的软件项目的规模或开发团队的规模,而且只要软件需求确定,开发过程能够采用线性方式完成,现今的软件开发仍然可以使用瀑布模型。
【单选题】以下关于测试时机的叙述中,正确的是( )
A、应该尽可能早的进行测试
B、若能推迟暴露软件中的错误,则修复和改正错误所花费的代价就会降低
C、应该在代码编写完成后开始测试
D、需求分析和设计阶段不需要测试人员参与
答案:A