系统分析师-软件工程师1
(总分36,考试时间90分钟)
单项选择题
逆向工程过程的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。抽象层次分为四层,其中“最低层”抽象能够导出过程的设计表示文档,“低层”抽象能够导出程序和数据结构信息,“中层”抽象能够导出  (1)  ,“高层”抽象能够导出  (2)  。
1.
A. 实体关系模型        B. 程序和文档结构信息
C. 全部文档信息        D. 数据流和控制流模型
2.
A. 实体关系模型        B. 模块结构图
C. 完全的数据流图        D. 全部文档信息
3. 系统开发过程通常被分为若干个阶段,每个阶段的开始和结束都有明确的规定。人们常将开发过程中完成某项关键工作的时刻称为里程碑。完成  (3)  时最适于称为里程碑。
A. 需求调查        B. 总体设计稿
C. 一套实体关系图        D. 50%的编码
在业务领域分析过程中,通过建立实体关系图,把与业务相关的数据模型化;通过建立  (4)  来表示业务活动的分解过程;两个业务过程之间的相互依赖关系应记录在过程依赖图中;通过建立  (5)  来详细说明整个业务过程的逻辑。
4.
A. 数据流图(DFD)        B. 过程层次图(PHD)
C. 过程活动图(PAD)        D. 过程关系图(PRD)
5.
A. 数据流图(DFD)        B. 过程层次图(PHD)
C. 过程活动图(PAD)        D. 甘特图((Cantte)
在各种不同的软件需求中,  (6)  描述了用户使用产品必须要完成的任务,可以在用例模型中予以说明。软件需求说明书是需求分析阶段的成果,  (7)  不是其应包含的内容。
6.
A. 业务需求        B. 非功能需求
C. 用户需求        D. 功能需求
7.
A. 数据描述        B. 功能描述
C. 系统结构描述        D. 性能描述
软件测试是为了发现错误而执行程序的过程。检验软件是否满足用户需求的测试称为  (8)  。
  (9)  是维护中常用的方法,其目的是检验修改所引起的副作用。黑盒测试法主要根据  (10)  来设计测试用例。
8.
A. 确认测试        B. 有效性测试
C. 系统测试        D. 集成测试
9.
A. 回归测试        B. 模块测试
C. 功能测试        D. 结构测试
10.
A. 程序数据结构        B. 程序流程图
C. 程序内部逻辑        D. 程序外部功能
对软件开发的看法可有多种观点,敏捷软件开发方法是一种  (11)  ,代表性是极限编程XP,它的核心思想为  (12)  。
11.
A. 数学观        B. 建模观
C. 工程观        D. 协作游戏
12.
A. 强调文档和以敏捷性应对变化
B. 强调建模和以敏捷性应对变化
C. 强调设计和以敏捷性应对变化
D. 强调人和人之间的合作的因素和以敏捷性应对变化
13. 逆向工程可用于维护已有的软件,逆向工程能够  (13)  。
A. 分析源程序,决定需要修改的部分及其影响的程度
B. 能够使用数学方法证明各软件功能的正确性
C. 分析源程序,从源程序导出程序结构
D. 将源程序改写成易于理解的、结构清晰的程序
14. 在CORBA体系结构中,  (14)  属于客户端接口。
A. 静态IDL Skeletons        B. POA
C. 静态IDL Stubs        D. 动态Skeletons
15. 软件开发工具VB、PB、Delphi是可视化的。这些工具是一种  (15)  程序语言。
A. 事件驱动        B. 逻辑式
C. 函数式        D. 命令式
16. 若要重构一个功能上和性能上更为完善的改进的软件,可以使用  (16)  。
A. 逆向工程工具        B. 程序切片工具
C. 程序理解工具        D. 再工程工具
下列要素中,不属于DFD的是  (17)  。当使用DFD对一个工资系统进行建模时,  (18)  可以被认定为外部实体。
17.
A. 加工        B. 数据流
C. 数据存储        D. 联系
18.
A. 接收工资单的银行        B. 工资系统源代码程序
C. 工资单        D. 工资数据库的维护
软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能及一般性的
改进要求和建议,需要进行  (19)  ,它是软件维护工作的主要部分;软件测试不可能揭露旧系统中所有潜在的错误,所以这些程序在使用过程中还可能发生错误,诊断和更正这些错误的过程称为  (20)  ;为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为  (21)  。
19.
A. 完善性维护        B. 适应性维护
C. 预防性维护        D. 改正性维护
20.
A. 完善性维护        B. 适应性维护
C. 预防性维护        D. 改正性维护
21.
A. 完善性维护        B. 适应性维护
C. 预防性维护        D. 改正性维护
vb软件开发22. 新项目与过去成功开发过的一个项目类似,但规模更大,这时应该使用  (22)  进行项目开发设计。
A. 原型法        B. 变换模型
C. 瀑布模型        D. 螺旋模型
根据McCabe环路复杂性度量,程序图6-2的复杂度是  (23)  ,对这个程序进行路径覆盖测试,可得到的基本路径是  (24)  。
   
23.
A. 2        B. 3
C. 4        D. 5
24.
A. A-B-C-H-I-K;A-B-C-H-J-K;A-B-C-D-E-F-G
B. A-B-C-H-I-K;A-B-C-H-J-K;A-B-C-D-E-F-G-C-H-I-K;A-B-C-D-E-G-C-H-I-K
C. A-B-C-H-I-K;A-B-C-H-J-K:A-B-C-D-E-F-G-C-H-I-K;A-B-D-E-G-C-H-J-K
D. A-B-C-H-I-K;A-B-C-H-J-K;A-B-C-D-E-F-G-C-H-I-K;A-B-C-D-E-F-G-C-H-J-K:A-B-C-D-E-G-C-H-I-K
25. 下列关于软件需求管理与需求开发的论述,正确的是  (25)  。
A. 所谓需求管理是指对需求开发的管理
B. 需求管理包括需求获取、需求分析、需求定义和需求验证
C. 需求开发是将用户需求转化为应用系统成果的过程
D. 在需求管理中,要求维持对原有需求和所有产品构件需求的双向跟踪
26. 为了使构件系统更切合实际、更有效地被复用,构件应当具备  (26)  ,以提高其通用性。
A. 可继承性        B. 可变性
C. 可封装性        D. 可伸缩性
27. 在关于逆向工程的描述中,正确的是  (27)  。
A. 从已经安装的软件中提取设计规范,用以进行软件开发
B. 按照“输出一处理一输入”的顺序设计软件
C. 用硬件来实现软件的功能
D. 根据软件处理的对象来选择开发语言和开发工具
28. 在选择开发方法时,不适合使用原型法的情况是  (28)  。
A. 用户需求模糊不清        B. 系统设计方案难以确定
C. 系统使用范围变化很大        D. 用户的数据资源缺乏组织和管理
29. 集成测试有各种方法,以下关于集成测试的描述中,不正确的是  (29)  。
A. 增量式集成测试容易定位错误,排除错误
B. 非增量式集成测试不能充分利用人力,会拖延工程进度
C. 增量式集成测试的强度大,测试更彻底
D. 即使各个模块都通过了测试,系统集成以后仍可能出现错误
30. 有两种需求定义的方法——严格定义和原型定义,在关于这两种方法的描述中,不正确的是  (30)  。
A. 严格定义方法假定所有的需求都可以预先定义
B. 严格定义方法假定软件开发人员与用户之间的沟通存在障碍
C. 原型定义方法认为需求分析中不可避免地要出现很多反复
D. 原型定义方法强调用户在软件开发过程中的参与和决策
31. 软件的分层式体系结构把软件系统划分为4层,这4层结构自顶向下分别是  (31)  。
企业信息系统往往是一个具有业务复杂性和技术复杂性的大系统,针对其建设,系统分析首先要进行的工作是  (32)  。系统开发的目的是  (33)  。
32.
A. 获得当前系统的物理模型        B. 抽象出当前系统的逻辑模型
C. 建立目标系统的逻辑模型        D. 建立目标系统的物理模型
33.
A. 获得当前系统的物理模型        B. 抽象出当前系统的逻辑模型
C. 建立目标系统的逻辑模型        D. 建立目标系统的物理模型
34. 基于构件的开发(CBD)模型,融合了  (34)  模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。
A. 瀑布        B. 快速应用开发(RAD)