【计算机类职业资格】系统分析师-软件工程师1及答案解析.doc
《【计算机类职业资格】系统分析师-软件工程师1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】系统分析师-软件工程师1及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、系统分析师-软件工程师 1及答案解析(总分:36.00,做题时间:90 分钟)一、单项选择题(总题数:25,分数:36.00)逆向工程过程的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。抽象层次分为四层,其中“最低层”抽象能够导出过程的设计表示文档,“低层”抽象能够导出程序和数据结构信息,“中层”抽象能够导出 (1) ,“高层”抽象能够导出 (2) 。(分数:2.00)A.实体关系模型B.程序和文档结构信息C.全部文档信息D.数据流和控制流模型A.实体关系模型B.模块结构图C.完全的数据流图D.全部文档信息1.系统开发过程通常被分为若干个阶段,每个阶段的开始和结束都有明确的规定。人们常
2、将开发过程中完成某项关键工作的时刻称为里程碑。完成 (3) 时最适于称为里程碑。(分数:1.00)A.需求调查B.总体设计稿C.一套实体关系图D.50%的编码在业务领域分析过程中,通过建立实体关系图,把与业务相关的数据模型化;通过建立 (4) 来表示业务活动的分解过程;两个业务过程之间的相互依赖关系应记录在过程依赖图中;通过建立 (5) 来详细说明整个业务过程的逻辑。(分数:2.00)A.数据流图(DFD)B.过程层次图(PHD)C.过程活动图(PAD)D.过程关系图(PRD)A.数据流图(DFD)B.过程层次图(PHD)C.过程活动图(PAD)D.甘特图(Cantte)在各种不同的软件需求中
3、, (6) 描述了用户使用产品必须要完成的任务,可以在用例模型中予以说明。软件需求说明书是需求分析阶段的成果, (7) 不是其应包含的内容。(分数:2.00)A.业务需求B.非功能需求C.用户需求D.功能需求A.数据描述B.功能描述C.系统结构描述D.性能描述软件测试是为了发现错误而执行程序的过程。检验软件是否满足用户需求的测试称为 (8) 。 (9) 是维护中常用的方法,其目的是检验修改所引起的副作用。黑盒测试法主要根据 (10) 来设计测试用例。(分数:3.00)A.确认测试B.有效性测试C.系统测试D.集成测试A.回归测试B.模块测试C.功能测试D.结构测试A.程序数据结构B.程序流程图
4、C.程序内部逻辑D.程序外部功能对软件开发的看法可有多种观点,敏捷软件开发方法是一种 (11) ,代表性是极限编程 XP,它的核心思想为 (12) 。(分数:2.00)A.数学观B.建模观C.工程观D.协作游戏A.强调文档和以敏捷性应对变化B.强调建模和以敏捷性应对变化C.强调设计和以敏捷性应对变化D.强调人和人之间的合作的因素和以敏捷性应对变化2.逆向工程可用于维护已有的软件,逆向工程能够 (13) 。(分数:1.00)A.分析源程序,决定需要修改的部分及其影响的程度B.能够使用数学方法证明各软件功能的正确性C.分析源程序,从源程序导出程序结构D.将源程序改写成易于理解的、结构清晰的程序3.
5、在 CORBA体系结构中, (14) 属于客户端接口。(分数:1.00)A.静态 IDL SkeletonsB.POAC.静态 IDL StubsD.动态 Skeletons4.软件开发工具 VB、PB、Delphi 是可视化的。这些工具是一种 (15) 程序语言。(分数:1.00)A.事件驱动B.逻辑式C.函数式D.命令式5.若要重构一个功能上和性能上更为完善的改进的软件,可以使用 (16) 。(分数:1.00)A.逆向工程工具B.程序切片工具C.程序理解工具D.再工程工具下列要素中,不属于 DFD的是 (17) 。当使用 DFD对一个工资系统进行建模时, (18) 可以被认定为外部实体。(
6、分数:2.00)A.加工B.数据流C.数据存储D.联系A.接收工资单的银行B.工资系统源代码程序C.工资单D.工资数据库的维护软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能及一般性的改进要求和建议,需要进行 (19) ,它是软件维护工作的主要部分;软件测试不可能揭露旧系统中所有潜在的错误,所以这些程序在使用过程中还可能发生错误,诊断和更正这些错误的过程称为 (20) ;为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为 (21) 。(分数:3.00)A.完善性维护B.适应性维护C.预防性维护D.改正性维护A.完善性维护B
7、.适应性维护C.预防性维护D.改正性维护A.完善性维护B.适应性维护C.预防性维护D.改正性维护6.新项目与过去成功开发过的一个项目类似,但规模更大,这时应该使用 (22) 进行项目开发设计。(分数:1.00)A.原型法B.变换模型C.瀑布模型D.螺旋模型根据 McCabe环路复杂性度量,程序图 6-2的复杂度是 (23) ,对这个程序进行路径覆盖测试,可得到的基本路径是 (24) 。(分数:2.00)A.2B.3C.4D.5A.A-B-C-H-I-K;A-B-C-H-J-K;A-B-C-D-E-F-GB.A-B-C-H-I-K;A-B-C-H-J-K;A-B-C-D-E-F-G-C-H-I-
8、K;A-B-C-D-E-G-C-H-I-KC.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-KD.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-K7.下列关于软件需求管理与需求开发的论述,正确的是 (25) 。(分数:1.00)A.所谓需求管理是指对需求开发的管理B.需求管理包括需求获取、需求分析、需求定义和需求验证C.需求开发是将用户需求转化为应用系统成果的过程D.在需求管理中,要求维持对原
9、有需求和所有产品构件需求的双向跟踪8.为了使构件系统更切合实际、更有效地被复用,构件应当具备 (26) ,以提高其通用性。(分数:1.00)A.可继承性B.可变性C.可封装性D.可伸缩性9.在关于逆向工程的描述中,正确的是 (27) 。(分数:1.00)A.从已经安装的软件中提取设计规范,用以进行软件开发B.按照“输出一处理一输入”的顺序设计软件C.用硬件来实现软件的功能D.根据软件处理的对象来选择开发语言和开发工具10.在选择开发方法时,不适合使用原型法的情况是 (28) 。(分数:1.00)A.用户需求模糊不清B.系统设计方案难以确定C.系统使用范围变化很大D.用户的数据资源缺乏组织和管理
10、11.集成测试有各种方法,以下关于集成测试的描述中,不正确的是 (29) 。(分数:1.00)A.增量式集成测试容易定位错误,排除错误B.非增量式集成测试不能充分利用人力,会拖延工程进度C.增量式集成测试的强度大,测试更彻底D.即使各个模块都通过了测试,系统集成以后仍可能出现错误12.有两种需求定义的方法严格定义和原型定义,在关于这两种方法的描述中,不正确的是 (30) 。(分数:1.00)A.严格定义方法假定所有的需求都可以预先定义B.严格定义方法假定软件开发人员与用户之间的沟通存在障碍C.原型定义方法认为需求分析中不可避免地要出现很多反复D.原型定义方法强调用户在软件开发过程中的参与和决策
11、13.软件的分层式体系结构把软件系统划分为 4层,这 4层结构自顶向下分别是 (31) 。(分数:1.00)A.B.C.D.企业信息系统往往是一个具有业务复杂性和技术复杂性的大系统,针对其建设,系统分析首先要进行的工作是 (32) 。系统开发的目的是 (33) 。(分数:2.00)A.获得当前系统的物理模型B.抽象出当前系统的逻辑模型C.建立目标系统的逻辑模型D.建立目标系统的物理模型A.获得当前系统的物理模型B.抽象出当前系统的逻辑模型C.建立目标系统的逻辑模型D.建立目标系统的物理模型14.基于构件的开发(CBD)模型,融合了 (34) 模型的许多特征。该模型本质是演化的,采用迭代方法开发
12、软件。(分数:1.00)A.瀑布B.快速应用开发(RAD)C.螺旋D.形式化方法15.结构模板能够帮助分析员建立一个逐层细化的层次结构。结构环境图(ArchitectureContext Diagram,ACD)则位于层次结构的顶层。在从 ACD导出的 (35) 中给出了各个专门子系统和重要(数据与控制)信息流。(分数:1.00)A.系统语境图(SCD)B.结构互连图(AID)C.结构流程图(AFD)D.结构图的规格说明(ADS)16.需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。 (36) 并不是需求分析的实现步骤之一。(分数:1.00)A.获
13、得当前系统的物理模型B.抽象出当前系统的逻辑模型C.建立目标系统的逻辑模型D.确定目标实现的具体技术路线系统分析师-软件工程师 1答案解析(总分:36.00,做题时间:90 分钟)一、单项选择题(总题数:25,分数:36.00)逆向工程过程的抽象层次是指可从源代码中抽取出来的设计信息的精密程度。抽象层次分为四层,其中“最低层”抽象能够导出过程的设计表示文档,“低层”抽象能够导出程序和数据结构信息,“中层”抽象能够导出 (1) ,“高层”抽象能够导出 (2) 。(分数:2.00)A.实体关系模型B.程序和文档结构信息C.全部文档信息D.数据流和控制流模型 解析:A.实体关系模型 B.模块结构图C
14、.完全的数据流图D.全部文档信息解析:分析 逆向工程(Reverse Engineering,反向工程)的概念来自硬件。硬件厂商总想弄到竞争对手产品的设计和制造的“奥秘”,但是又得不到现成的档案,只好拆卸对手的产品并进行分析,导出该产品的一个或多个设计与制造的规格说明。软件的逆向工程是完全类似的,由于受到法律的约束,进行逆向工程的程序常常不是竞争对手的,而是自己开发的程序,有些是多年以前开发出来的。这些程序没有规格说明,对它们的了解很模糊。因此,软件的逆向工程是分析程序,力图在比源代码更高的抽象层次上建立程序表示的过程。逆向工程是一个设计恢复的过程,其工具可以从已有的程序中抽取数据结构、体系结
15、构和程序设计信息。再工程(Re-engineering)不仅能从已有的程序中重新获得设计信息,而且还能使用这些信息改建或重构现有的系统,以改进它的综合质量。一般软件人员利用再工程重新实现已存在的程序,同时加进新的功能或改善它的性能。每一个软件开发机构都会有上百万行的老代码,它们都是逆向工程和再工程的可能对象。但是由于某些程序并不频繁使用而且不需要改变,逆向工程和再工程的工具还处于摇篮时代,仅能对有限种类的应用程序执行逆向工程和再工程,代价又十分昂贵,因此对其库中的每一个程序都进行逆向工程和再工程是不现实的。软件再工程旨在对现存的大量软件系统进行挖掘、整理以得到有用的软件构件,或对已有软件构件进
16、行维护以延长其生存期。它是一个工程过程,能够将逆向工程、重构和正向工程组合起来,将现存系统重新构造为新的形式。再工程的基础是系统理解,包括对运行系统、源代码、设计、分析和文档等的全面理解,但在很多情况下,由于各类文档的丢失,只能对源代码进行理解,即程序理解。为了执行预防性维护,软件开发组织必须选择在最近的将来可能变更的程序,做好变更它们的准备,逆向工程和再工程可用于执行这种维护任务。逆向工程可以从源程序抽取出设计信息,但是,抽象的层次、文档的完整性、工具和分析员一起工作的程度,以及过程的方向性却是高度可变的。逆向工程过程及用于实现该过程的工具的抽象层次是指可从源代码中抽取出来的设计信息的精密程
17、度。理想地,抽象层次应该尽可能高,即逆向工程过程应该能够导出过程的设计表示(一种低层的抽象);程序和数据结构信息(稍高一点层次的抽象);数据和控制流模型(一种相对高层的抽象);以及实体一关系模型(一种高层抽象)。随着抽象层次增高,软件工程师将获得更有助于理解程序的信息。逆向工程过程的完整性是指在某抽象层次提供的细节程度。在大多数情况下,随着抽象层次增高,完整性将降低。例如,给定源代码列表,得到一个完整的过程设计表示是相对容易的,简单的数据流表示也可被导出,但是,要得到数据流图或状态图的完整集合却困难得多。1.系统开发过程通常被分为若干个阶段,每个阶段的开始和结束都有明确的规定。人们常将开发过程
18、中完成某项关键工作的时刻称为里程碑。完成 (3) 时最适于称为里程碑。(分数:1.00)A.需求调查B.总体设计稿 C.一套实体关系图D.50%的编码解析:分析 里程碑是软件生存周期中各开发阶段末尾的特定点。由正式的技术评审而得到的软件配置项和软件配置的正式文本才能成为里程碑。里程碑的作用是把各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检验和肯定阶段成果。软件开发进程中可以设置许多里程碑,里程碑为管理人员提供了指示项目进度的可靠依据。当一个软件工程任务成功地通过了评审并产生了文档之后,一个里程碑就完成了。因此,一般来说,文档编制与评审是软件开发进度的里程碑。在业务领域分析
19、过程中,通过建立实体关系图,把与业务相关的数据模型化;通过建立 (4) 来表示业务活动的分解过程;两个业务过程之间的相互依赖关系应记录在过程依赖图中;通过建立 (5) 来详细说明整个业务过程的逻辑。(分数:2.00)A.数据流图(DFD)B.过程层次图(PHD) C.过程活动图(PAD)D.过程关系图(PRD)解析:A.数据流图(DFD)B.过程层次图(PHD)C.过程活动图(PAD) D.甘特图(Cantte)解析:分析 在业务领域分析过程中,通过建立实体关系图,把与业务相关的数据模型化;通过建立过程层次图来表示业务活动的分解过程;两个业务过程之问的相互依赖关系应记录在过程依赖图中;通过建立
20、过程活动图来详细说明整个业务过程的逻辑。在各种不同的软件需求中, (6) 描述了用户使用产品必须要完成的任务,可以在用例模型中予以说明。软件需求说明书是需求分析阶段的成果, (7) 不是其应包含的内容。(分数:2.00)A.业务需求B.非功能需求C.用户需求 D.功能需求解析:A.数据描述B.功能描述C.系统结构描述 D.性能描述解析:分析 开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细的技术需求,这包括所有面向用户、面向机器和其他软件系统的接口。同时,这也是一旦出错,将最终会给系统带来极大困难的部分,并且以后再对它进行修改也极为困难。软件需求可以分为几个层
21、次,分别如下:(1)业务需求(business requirement)。反映组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。(2)用户需求(user requirement)。描述用户使用产品必须完成的任务,在用例文档或方案场景(scenario)说明中予以说明。(3)功能需求(functional requirement)。定义开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。(4)非功能需求(none-functional requirement)。描述系统展现给用户的行为和执行的操作等。包括产品必须遵循的标准、规范和合约;外部界面的
22、具体细节;性能要求;设计或实现的约束条件;质量属性。软件需求说明书(SRS)是需求分析阶段的成果,不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。除了设计和实现上的限制,软件需求规格说明不应该包括设计、构造、测试或工程管理的细节。可以使用以下三种方法编写软件需求规格说明。(1)用好的结构化和自然语言编写文本型文档。(2)建立图形化模型,这些模型可以描绘转换过程、系统状态和它们之间的变化、数据关系、逻辑流或对象类和它们的关系。(3)编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义。由于形式化规格
23、说明具有很强的严密性和精确度,因此,所使用的形式化语言只有极少数软件开发人员才熟悉,更不用说客户了。虽然结构化的自然语言具有许多缺点,但在大多数软件工程中,它仍是编写需求文档最现实的方法。包含了功能和非功能需求的基于文本的软件需求规格说明已经为大多数项目所接受。图形化分析模型通过提供另一种需求视图,增强了软件需求规格说明。软件测试是为了发现错误而执行程序的过程。检验软件是否满足用户需求的测试称为 (8) 。 (9) 是维护中常用的方法,其目的是检验修改所引起的副作用。黑盒测试法主要根据 (10) 来设计测试用例。(分数:3.00)A.确认测试 B.有效性测试C.系统测试D.集成测试解析:A.回
24、归测试 B.模块测试C.功能测试D.结构测试解析:A.程序数据结构B.程序流程图C.程序内部逻辑D.程序外部功能 解析:分析 软件测试是软件质量保证的主要手段之一,也是在将软件交付给客户之前所必须完成的步骤。软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。从测试阶段划分,可分为单元测试、集成测试、确认测试。(1)单元测试。也称模块测试,通常可放在编程阶段,由程序员对自己编写的模块进行测试,检查模块是否实现了详细设计说明书中规定的功能和算法。单元测试主要发现编程和详细设计中产生的错误,单元测试计划应该在详细设计阶段制定。单元测试期间着重从以下几个
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 系统分析 软件工程师 答案 解析 DOC
