1、系统分析师-软件工程(六)及答案解析(总分:44.00,做题时间:90 分钟)一、单项选择题(总题数:36,分数:44.00)为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。其中 (14) 本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。 (15) 是描述系统的状态如何响应外部的信号进行推移的一种图形表示。(分数:2.00)(1).A状态迁移图 B时序图 CPetri 网 D数据流图(分数:1.00)A.B.C.D.(2).A状态迁移图 B时序图
2、CPetri 网 D数据流图(分数:1.00)A.B.C.D.1.在进行项目计划前,应该首先建立_的目的和范围,考虑可选的解决方案、标识技术和管理的约束。没有这些信息,就不可能进行合理的成本估算、有效的风险评估、适当的项目任务划分或是可管理的项目进度安排。 A人员 B产品 C过程 D计划(分数:1.00)A.B.C.D.2.在新系统全部正式运行前,一部分一部分地代替旧系统的统转换策略称为_。 A直接转换 B位置转换 C分段转换 D并行转换(分数:1.00)A.B.C.D.3.有两种需求定义的方法严格定义和原型定义,在关于这两种方法的描述中,不正确的是_。 A严格定义方法假定所有的需求都可以预先
3、定义 B严格定义方法假定软件开发人员与用户之间的沟通存在障碍 C原型定义方法认为需求分析中不可避免地要出现很多反复 D原型定义方法强调用户在软件开发过程中的参与和决策(分数:1.00)A.B.C.D.4.下述任务中,不属于软件工程需求分析阶段的是_。 A分析软件系统的数据要求 B确定软件系统的功能需求 C确定软件系统的性能要求 D确定软件系统的运行平台(分数:1.00)A.B.C.D.5.在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需求,这时最好使用。 A原型法 B瀑布模型 CV-模型 D螺旋模型(分数:1.00)A.B.C.D.6.软件测试通常分为单元测试、组装测试、确认测试、系
4、统测试等四个阶段。_属于确认测试阶段的活动。 A设计评审 B代码审查 C结构测试 D可靠性测试(分数:1.00)A.B.C.D.7.需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。_并不是需求分析的实现步骤之一。A获得当前系统的物理模型 B抽象出当前系统的逻辑模型 C建立目标系统的逻辑模型 D确定目标实现的具体技术路线(分数:1.00)A.B.C.D.软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能以及一般性的改进要求和建议,需要进行 (51) ,它是软件维护工作的主要部分;软件测试不可能揭露旧系统中所有潜在的错误,所以这些程
5、序在使用过程中还可能发生错误,诊断和更正这些错误的过程称为 (52) ;为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为 (53) 。(分数:3.00)(1).A完善性维护 B适应性维护 C预防性维护 D改正性维护(分数:1.00)A.B.C.D.(2).A完善性维护 B适应性维护 C预防性维护 D改正性维护(分数:1.00)A.B.C.D.(3).A完善性维护 B适应性维护 C预防性维护 D改正性维护(分数:1.00)A.B.C.D.8.下面列出了系统维护工作流程中的几项关键步骤,正确的工作顺序是_。 用户提交维护申请报告 交付使用 更新文
6、档 测试 核实和评价维护申请报告 制定维护计划 实施维护 A B C D(分数:1.00)A.B.C.D.(27) 可用于描述数据流图中数据存储及其之间的关系,最初用于数据库概念设计。在某学生选课系统中使用该工具来描述,学生的学号属于 (28) 。(分数:2.00)(1).A实体关系图 B数据字典 CIPO 图 D判定表(分数:1.00)A.B.C.D.(2).A实体 B关系 C属性 D方法(分数:1.00)A.B.C.D.9.基于构件的开发(CBD)模型,融合了_模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。 A瀑布 B快速应用开发(RAD) C螺旋 D形式化方法(分数:1.00
7、)A.B.C.D.如图 5-5 所示的活动图中,从 A 到 J 的关键路径是 (72) ,I 和 J 之间的活动开始的最早时间是 (73) 。 *(分数:2.00)(1).AABEGJ BADFHJ CACFGJ DADFIJ(分数:1.00)A.B.C.D.(2).A13 B23 C29 D40(分数:1.00)A.B.C.D.10.PROLOG 语言属于_程序设计范型,该范型将程序设计归结为列举事实,定义逻辑关系等。 A过程式 B函数式 C面向逻辑 D面向对象(分数:1.00)A.B.C.D.对软件开发的看法可有多种观点,敏捷软件开发方法是一种 (83) ,代表慢是极限编程 XP,它的核心
8、思想为 (84) 。(分数:2.00)(1).A数学观 B建模观 C工程观 D协作游戏(分数:1.00)A.B.C.D.(2).A强调文档和以敏捷性应对变化 B强调建模和以敏捷性应对变化 C强调设计和以敏捷性应对变化 D强调人和人之间的合作的因素和以敏捷性应对变化(分数:1.00)A.B.C.D.11.下列关于软件需求管理与需求开发的论述,正确的是_。 A所谓需求管理是指对需求开发的管理 B需求管理包括:需求获取、需求分析、需求定义和需求验证 C需求开发是将用户需求转化为应用系统成果的过程 D在需求管理中,要求维持对原有需求和所有产品构件需求的双向跟踪(分数:1.00)A.B.C.D.12.代
9、码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是_。 A在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动 B在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性 C在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩 D代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的(分数:1.00)A.B.C.D.根据 McCabe 环路复杂性度量,下面程序图(图 5-2)的复杂度是 (41) ,对这个程序进行路径
10、覆盖测试,可得到的基本路径是 (42) 。 *(分数:2.00)(1).A2 B3 C4 D5(分数:1.00)A.B.C.D.(2).AABCHIK;ABCHJK:ABCDEFG BABCHIK;ABCHJK;ABCDEFGCHIK:ABCDEGCHIK CABCHIK;ABCHJK;ABCDEFGCHIK:ABDEGCHJK DABCHIK;ABCHJK;ABCDEFGCHIK;ABCDEFGCHJK;ABCDEGCHIK(分数:1.00)A.B.C.D.13.开发专家系统时,通过描述事实和规则由模式匹配得出结论,这种情况下适用的开发语言是_。 A面向对象语言 B函数式语言 C过程式语言
11、D逻辑式语言(分数:1.00)A.B.C.D.14.新项目与过去成功开发过的一个项目类似,但规模更大,这时应该使用_进行项目开发设计。 A原型法 B变换模型 C瀑布模型 D螺旋模型(分数:1.00)A.B.C.D.15.测试是保证软件质量的重要手段。根据国家标准 GB 8566-88计算机软件开发规范的规定,应该在_阶段制定系统测试计划。 A需求分析 B概要设计 C详细设计 D系统测试(分数:1.00)A.B.C.D.16.结构模板能够帮助分析员建立一个逐层细化的层次结构。结构环境图(ACD,Architecture Context Diagram)则位于层次结构的项层。在从 ACD 导出的_
12、中给出了各个专门子系统和重要的(数据与控制)信息流。 A系统语境图(SCD) B结构互连图(AID) C结构流程图(AFD) D结构图的规格说明(ADS)(分数:1.00)A.B.C.D.17.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定_。 A模块间的操作细节 B模块问的相似性 C模块问的组成关系 D模块的具体功能(分数:1.00)A.B.C.D.18.在面向数据流的设计方法中,一般把数据流图中的数据流划分为_两种。 A数据流和事务流 B变换流和数据流 C变换流和事务流 D控制流和事务流(分数:1.00)A.B.C.D.19.某工程计划如图 5-4 所示
13、,由于任务 A 延迟了一天,为保证该工程按时完成,应将任务一缩短一天,使成本增加最少。表 5-12 列出了各任务每缩短一天所需增加的成本。 表 5-12 某工程任务与每缩短一天所需增加的成本表 任务 每缩短一天需要增加的成本A 4B 6C 3D 2E 2.5F 2.5G 5* AB BC CD DE(分数:1.00)A.B.C.D.20.黑盒测试方法是根据软件产品的功能设计规格说明书,通过运行程序进行测试,证实每个已经实现的功能是否符合设计要求。如果某产品的文本编辑框允许输入 1255 个字符,采用_测试方法,其测试数据为:0 个字符、1 个字符、255 个字符和 256 个字符。 A等价类划
14、分 B边界值分析 C比较测试 D正交数组测试(分数:1.00)A.B.C.D.21.某工程计划如图 5-7 所示,各个作业所需的天数如表 5-13 所列,设该工程从第 0 天开工,则作业 I 最迟应在第_天开工。 表 5-13 各个作业所需天数表 作业 A B C D E F G H I J所需天数 8 7 9 11 8 4 5 4 2 8*(分数:1.00)A.B.C.D.22.质量控制非常重要,但是进行质量控制也需要一定的成本。_可以降低质量控制的成本。 A使用抽样统计 B进行过程分析 C对全程进行监督 D进行质量审计(分数:1.00)A.B.C.D.23.对 OO 系统的技术度量的识别特
15、征,Berard 定义了导致特殊度量的特征。其中_抑制程序构件的操作细节,只有对访问构件必须的信息被提供给其他希望访问它的构件。 A局部化 B封装 C信息隐蔽 D继承(分数:1.00)A.B.C.D.24.在关于逆向工程(reverse engineering)的描述中,正确的是_。 A从已经安装的软件中提取设计规范,用以进行软件开发 B按照“输出处理输入”的顺序设计软件 C用硬件来实现软件的功能 D根据软件处理的对象来选择开发语言和开发工具(分数:1.00)A.B.C.D.25.某工程计划如图 5-6 所示,图中标注了完成任务 AH 所需的天数,其中虚线表示虚任务。经评审后发现,任务 D 还
16、可以缩短 3 天(即只需 7 天就能完成),则总工程可以缩短_天。 * A0 B1 C2 D3(分数:1.00)A.B.C.D.26.实施新旧信息系统转换,采用_方式风险最小。 A直接转换 B并行转换 C分段转换 D分块转换(分数:1.00)A.B.C.D.27.某工程计划图 5-8 如下图所示,弧上的标记为作业编码及其需要的完成时间(天),作业 F 最迟开始时间需在第_天开始。 * A8 B12 C13 D17(分数:1.00)A.B.C.D.28.在软件项目管理中可以使用各种图形工具来辅助决策,以下对 Gantt 图的描述错误的是_。 AGantt 图不能表现各个活动的顺序和它们之问的因果
17、关系 BGantt 图不能表现哪些活动可以并行性 CGantt 图可以表现各个活动的起始时间 DGantt 图可以表现各个活动完成的进度(分数:1.00)A.B.C.D.29.在高级程序设计语言中,用于描述程序中的运算步骤、控制结构及数据传输的是_。 A语句 B语义 C语用 D语法(分数:1.00)A.B.C.D.下列聚合类型中内聚程度最高的是 (30) ,下列耦合类型中耦合程度最低的是 (31) 。(分数:2.00)(1).A偶然内聚 B时间内聚 C功能内聚 D过程内聚(分数:1.00)A.B.C.D.(2).A数据耦合 B控制耦合 C公共耦合 D内容耦合(分数:1.00)A.B.C.D.系
18、统分析师-软件工程(六)答案解析(总分:44.00,做题时间:90 分钟)一、单项选择题(总题数:36,分数:44.00)为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。其中 (14) 本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。 (15) 是描述系统的状态如何响应外部的信号进行推移的一种图形表示。(分数:2.00)(1).A状态迁移图 B时序图 CPetri 网 D数据流图(分数:1.00)A.B.C. D.解析:(2).A状态迁移图 B时序
19、图 CPetri 网 D数据流图(分数:1.00)A. B.C.D.解析:为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。其中最常用的动态分析方法有状态迁移图、时序图和 Petri 网。 状态迁移图是描述系统的状态如何响应外部的信号进行推移的一种图形表示。 时序图用于对比在系统中处理时间的时序与相应的处理时间,进行系统分析。 Petri 网方法本来是表达异步系统的控制规则的图形表示方法,现在已经广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。 数据流图是描述数据处理过程的工具,从数据传递和加工的角度
20、,以图形的方式刻画数据流从输入到输出的移动变换过程,是描述系统逻辑模型的图形化工具之一。1.在进行项目计划前,应该首先建立_的目的和范围,考虑可选的解决方案、标识技术和管理的约束。没有这些信息,就不可能进行合理的成本估算、有效的风险评估、适当的项目任务划分或是可管理的项目进度安排。 A人员 B产品 C过程 D计划(分数:1.00)A.B. C.D.解析:解析 有效的项目管理集中于 4P,即人员(people)、产品(product)、过程(process)和项目(project)。 4P 的顺序不是任意的。任何管理者如果在项目开发早期没有鼓励全面的客户沟通,有可能为错误的问题建造一个不错的解决
21、方案。软件开发者和客户必须一起定义产品的目的和范围。目的是标识出该产品的总体目标(从客户角度),而不考虑这些目标如何实现。范围是标识出与产品相关的主要数据、功能和行为,更为重要的是,它以量化的方式约束这些特性。2.在新系统全部正式运行前,一部分一部分地代替旧系统的统转换策略称为_。 A直接转换 B位置转换 C分段转换 D并行转换(分数:1.00)A.B.C. D.解析:解析 新系统试运行成功之后,就可以在新系统和旧系统之间互相转换。分段转换又称逐步转换、向导转换、试点过渡法等。这种转换方式实际上是直接转换与并行转换方式的结合。在新系统全部正式运行前,一部分一部分地代替旧系统。那些在转换过程中还
22、没有正式运行的部分,可以在一个模拟环境中继续试运行。 这种转换方式既保证了可靠性,又不至于费用太大。但是它要求子系统之间有一定的独立性,否则就无法实现这种分段转换的设想。3.有两种需求定义的方法严格定义和原型定义,在关于这两种方法的描述中,不正确的是_。 A严格定义方法假定所有的需求都可以预先定义 B严格定义方法假定软件开发人员与用户之间的沟通存在障碍 C原型定义方法认为需求分析中不可避免地要出现很多反复 D原型定义方法强调用户在软件开发过程中的参与和决策(分数:1.00)A.B. C.D.解析:解析 严格定义方法用于结构化分析和设计的场合中。该方法假定所有的需求都是可以被预先定义的,而且认为
23、修改不完善的系统需求代价昂贵且实施困难。进行严格的需求定义要求系统开发人员与用户能够进行有效地沟通,准确地了解用户的需求,并且可以用静态的图形或文本工具完整地表示系统需求。 原型方法认为并不是所有的需求在系统开发之前都可以进行准确定义的,而且软件开发人员与用户之间存在通信的障碍。在具备快速建模工具的情况下通过向用户提供可以运行的系统模型来吸取用户的反馈意见,通过不断反复、不断修改原型系统可以获取完整的系统需求,一旦确定了需求,就可以遵照严格的方法继续进行系统开发。4.下述任务中,不属于软件工程需求分析阶段的是_。 A分析软件系统的数据要求 B确定软件系统的功能需求 C确定软件系统的性能要求 D
24、确定软件系统的运行平台(分数:1.00)A.B.C.D. 解析:解析 需求分析阶段的主要任务是为一个新系统定义业务需求,该阶段的关键是描述一个系统必须做什么(或者一个系统是什么),而不是系统应该如何实现。它通常被划分成 5 个工作阶段:问题分析;问题评估和方案综合;建模;规约;复审。 具体来说,需求分析阶段需完成以下要求: 确定软件系统的功能需求和非功能需求; 分析软件系统的数据要求; 导出系统的逻辑模型; 修正项目开发计划; 如有必要,可以开发一个原型系统。 对于本题的选项 D,确定软件系统的运行平台是系统设计阶段的工作任务之一。5.在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需
25、求,这时最好使用。 A原型法 B瀑布模型 CV-模型 D螺旋模型(分数:1.00)A. B.C.D.解析:解析 在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需求,这时最好使用原型法的系统开发方法。应用原型法的主要目的就是获取需求。使用原型法,在用户的共同参与下可以改善和加快需求获取过程。其第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么。第二步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明
26、确带来的开发风险,具有显著的效果。 选项 B 的“瀑布模型”,是一种将按软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等 6 个基本活动,并且规定了它们自上而下、相互衔接的固定次序的系统开发方法。瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。 选项 C 的“V-模型”,是一种典型的测试模型。该模型通常会在其开始部分对软件开发过程进行描述,其中通过单元测试检测代码的开发是否符合详细设计的要求;集成测试检测各单元代码是否能完好地结合到一起,是否符合概要设计阶段提出的要求;系统测试检测已集成在一起的产品是否符合系统规格说明书的要求;而验收测试则检测产品是否符合最终
27、用户的需求。对于选项 D 的“螺旋模型”,是指将瀑布模型和快速原型模型结合起来,强调风险分析的一种开发模型。6.软件测试通常分为单元测试、组装测试、确认测试、系统测试等四个阶段。_属于确认测试阶段的活动。 A设计评审 B代码审查 C结构测试 D可靠性测试(分数:1.00)A.B.C.D. 解析:解析 软件测试通常分为单元测试、组装测试、确认测试、系统测试等四个阶段。表 5-9 给出了这 4 个阶段的主要工作任务和测试依据。 确认测试包括有效性测试和软件配置审查。有效性测试是在模拟的环境下,运用黑盒测试方法,验证所测软件是否满足需求规格说明书列出的要求。在有效性测试中除考虑功能、性能以外,还需检
28、验可移植性、可靠性、兼容性、用户界面及系统所提供的文档资料是否符合要求等内容。软件配置审查的目的在于确保已开发软件的所有文档资料均已编写齐全,足以支持投入运行以后的软件维护工作。 表 5-9 软件测试各阶段的主要任务及依据 阶 段 主 要 任 务 测 试 依 据单元测试 对软件设计的最小单位模块进行正确性检验的测试 详细设计说明书、源程序组装测试也称为集成测试,它是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现域接口有半的错误概要设计说明书确认测试检验软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确系统测试 把通过确认测试的软件作为整个基
29、于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下的测试活动需求规格说明书、合同书7.需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。_并不是需求分析的实现步骤之一。A获得当前系统的物理模型 B抽象出当前系统的逻辑模型 C建立目标系统的逻辑模型 D确定目标实现的具体技术路线(分数:1.00)A.B.C.D. 解析:解析 软件需求分析工作是软件生存周期中重要的一步,也是决定性的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。软件
30、需求决定的是目标系统“做什么”,而不是“怎么做”的问题(例如确定目标实现的具体技术路线等)。软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能以及一般性的改进要求和建议,需要进行 (51) ,它是软件维护工作的主要部分;软件测试不可能揭露旧系统中所有潜在的错误,所以这些程序在使用过程中还可能发生错误,诊断和更正这些错误的过程称为 (52) ;为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,这类活动称为 (53) 。(分数:3.00)(1).A完善性维护 B适应性维护 C预防性维护 D改正性维护(分数:1.00)A. B.C.D.解析:
31、(2).A完善性维护 B适应性维护 C预防性维护 D改正性维护(分数:1.00)A.B.C.D. 解析:(3).A完善性维护 B适应性维护 C预防性维护 D改正性维护(分数:1.00)A.B.C. D.解析:解析 按照每次进行维护的具体目标的不同,软件维护可分为完善性维护、适应性维护、改正性(纠错性)维护和预防性维护等 4 种类型。每种软件维护类型的定义以及在整个维护工作量中所占的比例见表 5-10。 表 5-10 软件维护类型表 维护类型 定义 比例完善性维护为满足用户日益增长的需求,修改和加强现有系统的功能和性能的维护活动50%60%适应性维护 为应用软件适应运行环境的变化而进行的维护活动
32、20%25%改正性维护诊断和更正在软件测试期间未能发现的遗留错误的维护活动20%25%预防性维护为了改进软件未来的可维护性或可靠性,或者为了给未来的改进提供更好的础而对软件进行修改的活动 5%1O%8.下面列出了系统维护工作流程中的几项关键步骤,正确的工作顺序是_。 用户提交维护申请报告 交付使用 更新文档 测试 核实和评价维护申请报告 制定维护计划 实施维护 A B C D(分数:1.00)A. B. C. D. 解析:解析 系统维护工作正确的流程顺序是:用户提交维护申请报告核实和评价维护申请报告制定维护计划实施维护测试更新文档交付使用。(27) 可用于描述数据流图中数据存储及其之间的关系,
33、最初用于数据库概念设计。在某学生选课系统中使用该工具来描述,学生的学号属于 (28) 。(分数:2.00)(1).A实体关系图 B数据字典 CIPO 图 D判定表(分数:1.00)A. B.C.D.解析:(2).A实体 B关系 C属性 D方法(分数:1.00)A.B.C. D.解析:实体关系(ER)模型将现实的信息结构统一用实体、属性以及实体之间的关系来描述,它可用于描述数据流图中数据存储及其之间的关系。 实体是客观存在并可互相区分的“事物”。实体必须有一组表征其特征的“属性”来描述。关系是实体之间存在的对应的联系,关系也可以有属性。在某学生选课系统中使用 ER 图来描述时,通常学生的学号定义
34、为“学生”这一实体的属性。9.基于构件的开发(CBD)模型,融合了_模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。 A瀑布 B快速应用开发(RAD) C螺旋 D形式化方法(分数:1.00)A.B.C. D.解析:解析 螺旋模型是演化软件过程模型的一种,最早由 Boehm 提出,它将原型实现的迭代特征与线性顺序模型中控制的和系统化的方面结合起来,使软件的增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。 面向对象技术为软件工程的基于构件的过程模型提供了技术框架。基于构件的开发模型融合了螺旋模型的许多特征。它本质上是演化型的,要求软件创建迭代方法。然而,基于构件的开
35、发模型是利用预先包装好的软件构件来构造应用的。 统一软件开发(RUP)过程是在产业界业已提出的一系列基于构件的开发模型的代表。如图 5-5 所示的活动图中,从 A 到 J 的关键路径是 (72) ,I 和 J 之间的活动开始的最早时间是 (73) 。 *(分数:2.00)(1).AABEGJ BADFHJ CACFGJ DADFIJ(分数:1.00)A.B. C.D.解析:(2).A13 B23 C29 D40(分数:1.00)A.B. C.D.解析:解析 对于(1)空的解答思路如下。 选项 A 的路径“ABEGJ”所花费的时间为(3+10+2+7)=22 个单位时间。 选项 B 的路径“AD
36、FHJ”所花费的时间为(10+9+20+10)=49 个单位时间。 选项 C 的路径“ACFGJ”所花费的时间为(5+4+3+7)=19 个单位时间。 选项 D 的路径“ADFIJ”所花费的时间为(10+9+4+4)=27 个单位时间。 由以上分析可知,从 A 到 J 的关键路径是选项 B 的路径“ADFHJ”,因为这一条路径所花费的时间最多,决定了整个项目完成的最早时间。 对于(2)空的解答思路如下。 某作业松弛时间定义为该作业最迟开始时间减去其最早开始时间。由于作业 F、H 是关键路径中的两个作业,因此作业 F、H 的松弛时间均为 0。而在图 5-5 活动图中,作业 I 的最早开始时间依赖
37、于作业 F、H 的最迟开始时间。作业 F 的最早开始时间为第 19 个单位时间(也是最迟开始时间),而作业 H 的最早开始时间为第 39 个单位时间(也是最迟开始时间)。由图 5-5 的活动路径可知,作业 I 最早可在第 23(19+4)个单位时间开始,即 I 和 J 之间的活动开始的最早时间是第 23 个单位时间。另外,作业 I 的最迟开始时间为第 45(49-4)个单位时间。10.PROLOG 语言属于_程序设计范型,该范型将程序设计归结为列举事实,定义逻辑关系等。 A过程式 B函数式 C面向逻辑 D面向对象(分数:1.00)A.B.C. D.解析:解析 程序设计范型是指程序设计的体裁。目
38、前代表性的程序设计范型主要有:过程式程序设计范型、函数式程序设计范型、面向逻辑的程序设计范型和;面向对象程序设计范型,见表 5-2。 表 5-2 代表性的程序设计范型表 类 型 说 明 例 子过程式程序设计范型 将软件程序归结为数据结构、算法过程或函数的设计与确定,程序的执行被看作是各过程调用的序列 Pascal 语言、C 语言函数式程序设计范型 将程序看做是“描述输入与输出之间的关系”的一个数学函数 LISP 语言面向逻辑的程序设计范型 将程序设计归结为列举事实、定义逻辑关系等 Prolog 语言面向对象程序设计范型将程序归结为一系列对象类,通过继承关系、消息传递等联结起来的结构对软件开发的
39、看法可有多种观点,敏捷软件开发方法是一种 (83) ,代表慢是极限编程 XP,它的核心思想为 (84) 。(分数:2.00)(1).A数学观 B建模观 C工程观 D协作游戏(分数:1.00)A.B.C.D. 解析:(2).A强调文档和以敏捷性应对变化 B强调建模和以敏捷性应对变化 C强调设计和以敏捷性应对变化 D强调人和人之间的合作的因素和以敏捷性应对变化(分数:1.00)A.B.C.D. 解析:解析 对软件开发的看法可有多种观点,敏捷软件开发方法是一种创作与交流的协作游戏。极限编程 XP 是敏捷开发的典型代表,它的核心思想是强调人和人之间的合作的因素和以敏捷性应对变化。11.下列关于软件需求
40、管理与需求开发的论述,正确的是_。 A所谓需求管理是指对需求开发的管理 B需求管理包括:需求获取、需求分析、需求定义和需求验证 C需求开发是将用户需求转化为应用系统成果的过程 D在需求管理中,要求维持对原有需求和所有产品构件需求的双向跟踪(分数:1.00)A.B.C.D. 解析:解析 所有与需求直接相关的活动通称为需求工程。需求工程的活动可分为需求开发和需求管理两大类。其中,需求开发的目的是通过调查与分析,获取用户需求并定义产品需求。需求开发主要有需求获取、需求分析、需求定义和需求验证等 4 个过程。 需求管理的目的是确保各方对需求的一致理解、管理和控制需求的变更,从需求到最终产品的双向跟踪。
41、在需求管理中,要收集需求的变更和变更的理由,并且维持对原有需求和产品及构件需求的双向跟踪。12.代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是_。 A在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动 B在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性 C在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩 D代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的(分数:1.00)A.B.C.D. 解
42、析:解析 代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。因此选项 D 说法正确。而选项 A 的说法应改正为“在代码走查中由编写代码的程序员来组织讨论,而在代码审查中由高级管理人员来领导评审小组的活动”。 选项 B 的说法应改正为“无论代码审查和代码走查都要检查程序与设计文档的一致性”。 选项 C 中说要评审程序员的编程能力和工作业绩也是不对的。根据 McCabe 环路复杂性度量,下面程序图(图 5-2)的复杂度是 (41) ,对这个程序进行路径覆盖测试,可得到的基本路径是 (42) 。 *(分数:2.00)(1).A2 B3 C4 D5(分数:1.00)A.B.C. D.解析:
43、(2).AABCHIK;ABCHJK:ABCDEFG BABCHIK;ABCHJK;ABCDEFGCHIK:ABCDEGCHIK CABCHIK;ABCHJK;ABCDEFGCHIK:ABDEGCHJK DABCHIK;ABCHJK;ABCDEFGCHIK;ABCDEFGCHJK;ABCDEGCHIK(分数:1.00)A.B. C.D.解析:解析 对程序图环路复杂度的求解有 3 种方法。解法 1:程序图的环路数是源代码复杂程度的度量。根据 McCabe度量法,环路数 N=e-n+2,其中,e 表示有向图的边数,n 表示节点数。图 5-2 中 e=13,n=11,得到N=13-11+2=4。 解
44、法 2:计算有向图把平面划分成的区域数。图 5-2 中有 3 个闭合区域外加 1 个开放区域,共 4 个区域。所以程序图的复杂度是 4。 解法 3:图 5-2 中有 3 个判断节点,即节点 C、E、H,所以程序图的复杂度是判断节点数加 1,即 3+1=4。 路径测试的关键是要找出程序图中所有可能的路径,这些基本路径都是从程序起点到终点,并且包含了至少一条独立的边。对图 5-2 所示的程序进行路径覆盖测试,可得到 4 条基本路径:ABCHIK;ABCHJK;ABCDEFGCHIK;ABCDEGCHIK。13.开发专家系统时,通过描述事实和规则由模式匹配得出结论,这种情况下适用的开发语言是_。 A
45、面向对象语言 B函数式语言 C过程式语言 D逻辑式语言(分数:1.00)A.B.C.D. 解析:解析 用逻辑式程序设计语言编写程序不需要描述具体的解题过程,只需要给出一些必要的事实和规则。这些规则是解决问题的方法的规范说明,根据这些事实和规则,计算机利用谓词逻辑,通过演绎推理得到求解问题的执行序列。逻辑式语言主要用在人工智能领域,也应用在自然语言处理、数据库查询、算法描述等方面,尤其适合于作为专家系统的开发工具。 函数式程序设计语言的数据结构本质上是表,而函数又可以作为值出现在表中,因此函数式程序的控制结构取决于函数,以及函数的定义和调用。函数式语言主要用于符号数据处理,如微分和积分演算、数理
46、逻辑、游戏推演以及人工智能等其他领域。14.新项目与过去成功开发过的一个项目类似,但规模更大,这时应该使用_进行项目开发设计。 A原型法 B变换模型 C瀑布模型 D螺旋模型(分数:1.00)A.B.C. D.解析:解析 由于新项目与过去成功开发过的一个项目类似,已经有了以前成功的项目开发经验和积累的软件模块,因此应该用尽可能将这些经验和软件模块应用到新项目中,即对于这个规模更大的软件项目,应该使用瀑布模型进行开发。15.测试是保证软件质量的重要手段。根据国家标准 GB 8566-88计算机软件开发规范的规定,应该在_阶段制定系统测试计划。 A需求分析 B概要设计 C详细设计 D系统测试(分数:
47、1.00)A. B.C.D.解析:解析 根据国家标准 GB 8566-88计算机软件开发规范的规定,单元测试是根据详细设计阶段给出的“规格说明书”在编码阶段完成的测试工作;集成测试的计划是在概要设计阶段制定的;系统测试计划应该在需求分析阶段就开始制订,并在设计阶段细化和完善,而不是等系统编码完成后才制订测试计划;而验收测试则检测产品是否符合最终用户的需求。 软件测试的各个阶段与软件开发阶段的对应关系如图 5-3 所示。 *16.结构模板能够帮助分析员建立一个逐层细化的层次结构。结构环境图(ACD,Architecture Context Diagram)则位于层次结构的项层。在从 ACD 导出的_中给出了各个专门子系统和重要的(数据与控制)信息流。 A系统语境图(SCD) B结构互连图(AID) C结构流程图(AFD) D结构图的规格说明(ADS)(分数:1.00)A.B.C. D.解析:解析 结构模板能够帮助分析员建立一个逐层细化的层次结构,类似于所有在系统和软件工程中使用的建模技术一