1、系统分析师分类真题软件工程(二)及答案解析(总分:97.50,做题时间:90 分钟)一、B单项选择题/B(总题数:9,分数:97.50)螺旋模型是一种演进式的软件过程模型,结合了原型开发方法的系统性和瀑布模型可控性特点。它有两个显著特点,一是采用_的方式逐步加深系统定义和实现的深度,降低风险:二是确定一系列_,确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。(分数:20.00)(1). A.逐步交付 B.顺序 C.循环 D.增量(分数:2.50)A.B.C.D.(2). A.实现方案 B.设计方案 C.关键点 D.里程碑(分数:2.50)A.B.C.D.(3).极限编程是一
2、种重要的敏捷开发方法,包含策划、设计、编码和测试四个框架活动的规则和实践。下面关于极限编程的叙述,错误的是_。 A.极限编程中使用的重要技术是重构,既包括设计技术的重构,也包括构建技术的重构 B.极限编程提倡在基本设计完成后,立即进行编码实现,并进行测试 C.极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码 D.极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略(分数:2.50)A.B.C.D.(4).需求工程帮助软件工程师更好地理解要解决的问题。下列开发过程中的活动,不属于需求工程范畴的是_。 A.理解客户需要什么,
3、分析要求,评估可行性 B.与客户协商合理的解决方案,无歧义地详细说明方案 C.向客户展现系统的初步设计方案,并得到客户的认可 D.管理需求以至将这些需求转化为可运行的系统(分数:2.50)A.B.C.D.(5).面向团队的需求收集方法能够鼓励合作,为解决方案的各个要素提供建议,协商不同的方法,以及说明初步的需求方案。下列关于面向团队的需求收集方法叙述,不恰当的是_。 A.举行团队需求收集会议,会议由软件工程师、客户和其他利益相关者共同举办和参加 B.拟定一个会议议程,与会者围绕需求要点,畅所欲言 C.会议提倡自由发言,不需要特意控制会议的进度 D.会议目的是识别问题,提出解决方案的要点,初步刻
4、画解决方案中的需求问题(分数:2.50)A.B.C.D.(6).质量功能部署(QFD)是一种将客户要求转化成软件需求的技术。QFD 的目的是最大限度地提升软件工程过程中客户的满意度。为了这个目标,QFD 确认了三类需求,常规需求、_和意外需求。 A.期望需求 B.基础需求 C.显式需求 D.功能需求(分数:2.50)A.B.C.D.(7).在软件需求工程中,需求管理贯穿整个过程。需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立_。 A.需求跟踪说明 B.需求变更管理文档 C.需求分析计划 D.需求基线(分数:2.50)A.B.C.D.(8).某大型移动通信运营商欲开发一个新的
5、应用系统以替换原有系统。在需求分析阶段,为尽快从已有系统文档资料和用户处获取整体系统需求,采用_的方法捕获需求最为合适。 A.用户访谈 B.联合需求计划 C.抽样 D.头脑风暴(分数:2.50)A.B.C.D.软件开发模型大体上可以分为三种类型:第一种是以完全确定软件需求为前提的_;第二种是在软件开发初始阶段只能提供基本需求时采用的_;第三种是以形式化为基础的变换模型。(分数:7.50)(1). A.协同模型 B.瀑布模型 C.交互式模型 D.迭代式模型(分数:2.50)A.B.C.D.(2). A.协同模型 B.瀑布模型 C.交互式模型 D.迭代式模型(分数:2.50)A.B.C.D.(3)
6、.希赛公司欲开发一个基于 Web 的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确,在这种情况下,采用_比较合适。 A.瀑布模型 B.螺旋模型 C.V 模型 D.原型化模型(分数:2.50)A.B.C.D.净室软件工程是软件开发的一种_方法,可以开发出具有较高质量的软件。它使用盒结构规约进行分析和建模,并将_作为发现和排除错误的主要机制,采用统计测试来获取验证软件可靠性所需要的信息。(分数:5.00)(1). A.形式化 B.迭代式 C.瀑布式 D.交互式(分数:2.50)A.B.C.D.(2). A.测试 B.仿真 C.实验 D.正确性验证(分数:2.50)A.B.C.D.软件架
7、构评估中,评估人员主要关注系统的质量属性,并确定采用何种架构更为合适。在对某个应用软件进行评估时,该应用软件采用的 Web 服务器所支持的并发连接数是整个系统性能的一个_;改变加密级别可能会对安全性和操作性均产生重要影响,则加密级别是系统的一个_。(分数:10.00)(1). A.检查点 B.敏感点 C.权衡点 D.风险点(分数:2.50)A.B.C.D.(2). A.检查点 B.敏感点 C.权衡点 D.风险点(分数:2.50)A.B.C.D.(3).以下关于敏捷开发原则的叙述中,错误的是_。 A.强调通过尽早地、持续地交付有价值的软件来使客户满意 B.经常交付可以工作的软件,但是每次都必须交
8、付具有完整功能的系统 C.在团队内部,最具有效果并富有效率的信息传递方法是面对面的交谈 D.强调应对需求的持续变更,即使在项目后期也可灵活应对需求变更(分数:2.50)A.B.C.D.(4).以下敏捷软件开发方法中,_方法强调以业务为核心,快速而有效地进行系统开发。 A.极限编程 B.自适应软件开发 C.特性驱动开发 D.动态系统开发(分数:2.50)A.B.C.D.螺旋模型将瀑布模型和_结合起来,强调项目的风险分析,特别适合大型复杂系统的开发过程。螺旋模型沿着螺线进行若干次迭代,依次经历了计划指定、风险分析、工程实施和_四个主要活动。(分数:15.00)(1). A.喷泉模型 B.增量模型
9、C.V 模型 D.快速原型模型(分数:2.50)A.B.C.D.(2). A.客户评估 B.客户使用 C.工程交付 D.软件测试(分数:2.50)A.B.C.D.(3).希赛公司欲开发一个人力资源管理系统,客户在开发初期对系统的功能并不清楚,但明确表示随着人力资源管理制度的逐步完善,需要对软件功能进行不断调整,针对这种情况,采用_开发模型比较合适。 A.瀑布式 B.喷泉 C.增量 D.螺旋(分数:2.50)A.B.C.D.(4).软件需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为获取情况、分析、_和评审四个阶段。 A.制订规格说明 B.形成需求基线 C.跟踪需求
10、变更 D.控制需求版本(分数:2.50)A.B.C.D.(5).下列活动中,_不属于需求开发活动的范畴。 A.根据系统需求识别和确认系统功能 B.将所收集的用户需求编写成文档和模型 C.针对系统特点,考虑并确定系统开发平台与程序设计语言 D.了解实际用户任务和目标以及这些任务所支持的业务需求(分数:2.50)A.B.C.D.(6).软件需求管理是软件项目开发过程中控制和维持需求约定的活动,包括_、版本控制、需求跟踪、需求状态跟踪等活动。 A.需求发现 B.需求变更控制 C.需求排序 D.需求评估(分数:2.50)A.B.C.D.希赛公司正在承担开发一个字处理器的任务。在需求分析阶段,公司的相关
11、人员整理出一些相关的系统需求,其中,“找出文档中的拼写错误并提供一个替换项列表来供选择替换拼错的词”属于_;“显示提供替换词的对话框以及实现整个文档范围的替换”属于_;“用户能有效地纠正文档中的拼写错误”属于_。(分数:10.00)(1). A.业务需求 B.用户需求 C.功能需求 D.性能需求(分数:2.50)A.B.C.D.(2). A.业务需求 B.用户需求 C.功能需求 D.性能需求(分数:2.50)A.B.C.D.(3). A.业务需求 B.用户需求 C.功能需求 D.性能需求(分数:2.50)A.B.C.D.(4).系统分析阶段的基本任务是系统分析师在充分了解用户需求的基础上,把双
12、方对待建系统的理解表达为_。 A.系统可行性说明书 B.系统开发计划 C.系统总体设计报告 D.系统需求规格说明书(分数:2.50)A.B.C.D.IDEF(Integration DEFinition method,集成定义方法)是一系列建模、分析和仿真方法的统称,每套方法都是通过建模来获得某种特定类型的信息。其中IDEF0 可以用来对_进行建模。_可以用来对面向对象设计进行建模。(分数:12.50)(1). A.信息 B.过程描述 C.业务流程 D.组织结构(分数:2.50)A.B.C.D.(2). A.IDEF1 B.IDEF2 C.IDEF3 D.IDEF4(分数:2.50)A.B.C
13、.D.(3).以下关于软件系统模块结构设计的叙述中,正确的是_。 A.当模块扇出过大时,应把下级模块进一步分解为若干个子模块 B.当模块扇出过小时,应适当增加中间的控制模块 C.模块的扇入大,表示模块的复杂度较高 D.模块的扇入大,表示模块的复用程度高(分数:2.50)A.B.C.D.(4).“置于用户控制之下”是用户界面设计的“黄金三原则”之一。下列叙述中,不满足该原则的情形是_。 A.不能中断或撤销正在进行的人机交互操作 B.不强迫用户采用不情愿的方式来进行操作 C.用户可以定制交互方式 D.用户可以和出现在屏幕上的对象直接进行交互(分数:2.50)A.B.C.D.(5).流程设计的任务是
14、设计出系统所有模块和它们之间的相互关系,并具体设计出每个模块内部的功能和处理过程。以下关于流程设计的叙述,正确的是_。 A.任何复杂的程序流程图都应该由顺序、选择、循环结构构成 B.IPO 图不适合用来进行流程设计 C.PAD 图是一种支持原型化设计方法的图形工具 D.N-S 图容易表示嵌套关系和层次关系,特别适合于设计非常复杂的流程(分数:2.50)A.B.C.D.详细调查的目标是获取企业业务处理的方法,深入了解系统的处理流程,确定用户需求。详细调查强调科学合理,根据欲获取信息的不同,调查方法也各不相同。若想获取用户对系统的想法和建议等定性特征,则_方法比较合适;若想获取系统某些较为复杂的流
15、程和操作过程,则_方法比较合适。(分数:7.50)(1). A.抽样调查 B.阅读历史文档 C.开调查会 D.现场观摩(分数:2.50)A.B.C.D.(2). A.抽样调查 B.阅读历史文档 C.开调查会 D.现场观摩(分数:2.50)A.B.C.D.(3).以下关于需求获取方法的叙述中,正确的是_。 A.问卷调查可以在短时间内,以低廉的价格从大量的回答中收集数据 B.用户访谈是最为灵活、成本最低的一种需求获取方法 C.抽样能够提高需求获取效率,且不会受到系统分析师的主观因素影响 D.用户访谈的成功与否与系统分析师的人际沟通能力无关(分数:2.50)A.B.C.D.数据动态分析中,_属于数据
16、随机变动属性,_属于数据固定个体变动属性。(分数:10.00)(1). A.库存余额 B.客户基础资料 C.会计科目 D.产品月销售量(分数:2.50)A.B.C.D.(2). A.库存余额 B.客户基础资料 C.会计科目 D.产品月销售量(分数:2.50)A.B.C.D.(3).RUP 中的软件过程在时间上分解为 4 个顺序的阶段:初始阶段、细化阶段、构建阶段和移交阶段。架构的确定与建立是在_完成的。 A.初始阶段 B.细化阶段 C.构建阶段 D.移交阶段(分数:2.50)A.B.C.D.(4).列关于敏捷方法的叙述,错误的是_。 A.敏捷方法强调可工作的软件胜过大量的文档 B.敏捷方法强调
17、软件过程与工具胜过个体和交互 C.敏捷方法强调尽早提交有价值的软件 D.敏捷方法强调小版本发布(分数:2.50)A.B.C.D.系统分析师分类真题软件工程(二)答案解析(总分:97.50,做题时间:90 分钟)一、B单项选择题/B(总题数:9,分数:97.50)螺旋模型是一种演进式的软件过程模型,结合了原型开发方法的系统性和瀑布模型可控性特点。它有两个显著特点,一是采用_的方式逐步加深系统定义和实现的深度,降低风险:二是确定一系列_,确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。(分数:20.00)(1). A.逐步交付 B.顺序 C.循环 D.增量(分数:2.50)A.
18、B.C. D.解析:(2). A.实现方案 B.设计方案 C.关键点 D.里程碑(分数:2.50)A.B.C.D. 解析:解析 螺旋模型是瀑布模型与快速原型模型相结合,并加入两者所忽略的风险分析所建立的一种软件开发模型。螺旋模型是一种演化软件过程模型,它将原型实现的迭代特征与线性顺序模型中控制的和系统化的方面结合起来,使软件的增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。 螺旋模型沿着螺线进行若干次迭代,每次迭代都包括制订计划、风险分析、实施工程和客户评估四个方面的工作。它有两个显著特点,一是采用循环的方式逐步加深系统定义和实现的深度,同时降低风险:二是确定一系列里程碑
19、,确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应。因此,特别适用于庞大、复杂并具有高风险的系统。 与瀑布模型相比,螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,有助于提高软件的适应能力,并且为项目管理人员及时调整管理决策提供了便利,从而降低了软件开发的风险。在使用螺旋模型进行软件开发时,需要开发人员具有相当丰富的风险评估经验和专门知识。另外,过多的迭代次数会增加开发成本,延迟提交时间。(3).极限编程是一种重要的敏捷开发方法,包含策划、设计、编码和测试四
20、个框架活动的规则和实践。下面关于极限编程的叙述,错误的是_。 A.极限编程中使用的重要技术是重构,既包括设计技术的重构,也包括构建技术的重构 B.极限编程提倡在基本设计完成后,立即进行编码实现,并进行测试 C.极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码 D.极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略(分数:2.50)A.B. C.D.解析:解析 极限编程是一种重要的敏捷开发方法,包含规划、设计、编码和测试 4 个框架活动的规则和实践。极限编程中使用的重要技术是重构,既包括设计技术的重构,也包括构建技术的重
21、构;极限编程提倡在基本设计完成后,团队不应该直接开始编码,而是开发一系列用于检测本次发布的包括所有故事(story)的单元测试;极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码;极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略。(4).需求工程帮助软件工程师更好地理解要解决的问题。下列开发过程中的活动,不属于需求工程范畴的是_。 A.理解客户需要什么,分析要求,评估可行性 B.与客户协商合理的解决方案,无歧义地详细说明方案 C.向客户展现系统的初步设计方案,并得到客户的认可 D.管理需求以至将这些需求转化为可运行的系
22、统(分数:2.50)A.B.C. D.解析:解析 需求工程为以下工作提供了良好的机制:理解客户需要什么,分析要求,评估可行性,协商合理的解决方案,无歧义地详细说明方案,确认规格说明,管理需求以至于将这些需求转化为可运行的系统。需求工程并不关心采用何种设计方案解决问题。(5).面向团队的需求收集方法能够鼓励合作,为解决方案的各个要素提供建议,协商不同的方法,以及说明初步的需求方案。下列关于面向团队的需求收集方法叙述,不恰当的是_。 A.举行团队需求收集会议,会议由软件工程师、客户和其他利益相关者共同举办和参加 B.拟定一个会议议程,与会者围绕需求要点,畅所欲言 C.会议提倡自由发言,不需要特意控
23、制会议的进度 D.会议目的是识别问题,提出解决方案的要点,初步刻画解决方案中的需求问题(分数:2.50)A.B.C. D.解析:解析 在进行面向团队的需求分析时,通常会举行团队需求收集会议,会议由软件工程师、客户和其他利益相关者共同举办和参加;为会议拟订一个会议议程,既要涵盖所有的重要点,又要鼓励思维的自由交流;会议由一位主持人控制会议进度,并保证会议主题不被偏离;会议目的是识别问题,提出解决方案的要点,初步刻画解决方案中的需求问题。(6).质量功能部署(QFD)是一种将客户要求转化成软件需求的技术。QFD 的目的是最大限度地提升软件工程过程中客户的满意度。为了这个目标,QFD 确认了三类需求
24、,常规需求、_和意外需求。 A.期望需求 B.基础需求 C.显式需求 D.功能需求(分数:2.50)A. B.C.D.解析:解析 QFD 确认了三类需求,分别是基本需求(常规需求)、期望需求和意外需求(兴奋需求)。其中期望需求指的是那些隐含在产品或系统中,可能由于非常基础以至于用户没有显式说明的需求。(7).在软件需求工程中,需求管理贯穿整个过程。需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立_。 A.需求跟踪说明 B.需求变更管理文档 C.需求分析计划 D.需求基线(分数:2.50)A.B.C.D. 解析:解析 需求是软件项目成功的核心所在,它为其他许多技术和管理活动奠定
25、基础。在软件需求工程中,需求管理贯穿整个过程。需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立需求基线。(8).某大型移动通信运营商欲开发一个新的应用系统以替换原有系统。在需求分析阶段,为尽快从已有系统文档资料和用户处获取整体系统需求,采用_的方法捕获需求最为合适。 A.用户访谈 B.联合需求计划 C.抽样 D.头脑风暴(分数:2.50)A.B.C. D.解析:解析 需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。常见的需求获取方式有用户访谈、问卷调查、抽样、联合需求计划、阅读文档、跟踪实践等。根据题干描述,为尽快从已有系统文档资料和用户处获取整体系统需求,应该采
26、用抽样的方法。软件开发模型大体上可以分为三种类型:第一种是以完全确定软件需求为前提的_;第二种是在软件开发初始阶段只能提供基本需求时采用的_;第三种是以形式化为基础的变换模型。(分数:7.50)(1). A.协同模型 B.瀑布模型 C.交互式模型 D.迭代式模型(分数:2.50)A.B. C.D.解析:(2). A.协同模型 B.瀑布模型 C.交互式模型 D.迭代式模型(分数:2.50)A.B.C.D. 解析:解析 软件开发模型大体上可以分为三种类型。第一种是以软件需求完全确定为前提的瀑布模型;第二种是在软件开发初始阶段只能提供基本需求时采用的迭代式或渐进式模型,例如,喷泉模型、螺旋模型、统一
27、开发过程和敏捷方法等;第三种是以形式化为基础的变换模型。(3).希赛公司欲开发一个基于 Web 的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确,在这种情况下,采用_比较合适。 A.瀑布模型 B.螺旋模型 C.V 模型 D.原型化模型(分数:2.50)A.B.C.D. 解析:解析 由于客户对系统的基本功能、表现形式等要求并不明确,在这种情况下,采用原型化模型比较合适。可以通过开发原型,让用户运行原型来进一步明确系统的功能和表现形式。净室软件工程是软件开发的一种_方法,可以开发出具有较高质量的软件。它使用盒结构规约进行分析和建模,并将_作为发现和排除错误的主要机制,采用统计测试来获取
28、验证软件可靠性所需要的信息。(分数:5.00)(1). A.形式化 B.迭代式 C.瀑布式 D.交互式(分数:2.50)A. B.C.D.解析:(2). A.测试 B.仿真 C.实验 D.正确性验证(分数:2.50)A.B.C.D. 解析:解析 净室软件工程是软件开发的一种形式方法,它可以生成质量非常高的软件。它使用盒结构规约(或形式化方法)进行分析和设计建模,并且强调将正确性验证,而不是测试,作为发现和消除错误的主要机制。使用统计的测试来获取认证被交付软件的可靠性所必需的出错率信息。 净室方法从使用盒结构表示的分析和设计模型入手,一个“盒”在某特定的抽象层次上封装系统(或系统的某些方面)。黑
29、盒用于表达系统的对外可观测行为,状态盒封装状态数据和操作,清晰盒用于对某状态盒中的数据和操作所蕴涵的过程设计进行建模。 一旦完成了盒结构设计,则运用正确性验证。软件构件的过程设计被划分为一系列子函数,为了证明每个子函数的正确性,要为每个函数定义出口条件并实施一组子证明。如果每个出口条件均被满足,则设计一定是正确的。 一旦完成了正确性验证,便开始统计的使用测试。和传统测试不同,净室软件工程并不强调单元或集成测试,而是通过定义一组使用场景、确定对每个场景的使用概率及定义符合概率的随机测试来进行软件测试。将产生的错误记录和取样、构件和认证模型相结合使得可以数学地计算软件构件的可靠性。 净室哲学是一种
30、严格的软件工程方法,它是一种强调正确性的数学验证和软件可靠性认证的软件过程模型,其目标和结果是非常低的出错率,这是使用非形式化方法难以或不可能达到的。软件架构评估中,评估人员主要关注系统的质量属性,并确定采用何种架构更为合适。在对某个应用软件进行评估时,该应用软件采用的 Web 服务器所支持的并发连接数是整个系统性能的一个_;改变加密级别可能会对安全性和操作性均产生重要影响,则加密级别是系统的一个_。(分数:10.00)(1). A.检查点 B.敏感点 C.权衡点 D.风险点(分数:2.50)A.B. C.D.解析:(2). A.检查点 B.敏感点 C.权衡点 D.风险点(分数:2.50)A.
31、B.C. D.解析:解析 软件架构评估可以只针对一个架构,也可以针对一组架构。在架构评估中,评估人员主要关注系统的质量属性,并确定采用何种架构更为合适。敏感点是一个或多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。 在本题中,在对某个应用软件进行评估时,该应用软件采用的 Web 服务器所支持的并发连接数是整个系统性能的一个敏感点;改变加密级别可能会对安全性和操作性均产生重要影响,则加密级别是系统的一个权衡点。(3).以下关于敏捷开发原则的叙述中,错误的是_。 A.强调通过尽早地、持续地交付有价值的软件来使客户满意 B.经常交付可以工作的软件,但是每次都必须交付具有完整功
32、能的系统 C.在团队内部,最具有效果并富有效率的信息传递方法是面对面的交谈 D.强调应对需求的持续变更,即使在项目后期也可灵活应对需求变更(分数:2.50)A.B. C.D.解析:解析 敏捷开发的主要原则如下: 最优先要做的是通过尽早地、持续地交付有价值的软件来使客户满意。 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。但不要求每次交付的都是系统的完整功能。 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 围绕被激励起来的人来构建项目,给他们提供所需要的环境和支持,并且
33、信任他们能够完成工作。 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。 工作的软件是首要的进度度量标准。 责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 不断地关注优秀的技能和好的设计会增强敏捷能力。 简单使未完成的工作最大化的艺术是根本的。 最好的架构、需求和设计出自于自组织的团队。 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。(4).以下敏捷软件开发方法中,_方法强调以业务为核心,快速而有效地进行系统开发。 A.极限编程 B.自适应软件开发 C.特性驱动开发 D.动态系统开发(分数:2.50)A.B.C.D.
34、 解析:解析 在我们面临“软件危机”所带来的挑战之时,曾经通过采用严格的规范、详尽的文档来约束开发过程,以保证开发的质量与效果,获得了突出的成就。但是随着时代的进一步发展,商业周期越来越短,变化越来越快,甚至在软件开发的过程中,商业逻辑和需求已经悄然变化,这给本来还不成熟的软件产业带来了新的挑战。就在这种情况下,敏捷方法论应运而生。 2001 年这些方法论的创始人走到一起,成立了敏捷联盟,发表了颇具影响力的敏捷宣言:个体和交互胜过过程和工具,可工作的软件胜过面面俱到的文档,客户合作胜过合同谈判,响应变化胜过遵循计划。比较有影响力的敏捷方法论包括 XP(极限编程)、FDD(特征驱动开发)、Cry
35、stal Method(水晶方法)、DSDM(动态系统开发方法)、ASD(自适应软件开发)、SCRUM、轻量型 RUP 等。 XP 的思想源自 Kent Beck 和 Ward Cunningham 在软件项目中的合作经历。因为知道计划永远赶不上变化,XP 无须开发人员在软件开始初期做出很多的文档。为了将以后出现 bug 的几率降到最低,XP 提倡测试先行。XP 的核心是其总结的沟通、简单、反馈、勇气四大价值观。它包括 12 种最佳实践,分别是计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作 40 小时、现场客户及编码标准。 SCRUM 是一种迭
36、代的增量化过程,用于产品开发或工作管理。它是一种可以集合各种开发实践的经验化过程框架。SCRUM 中发布产品的重要性高于一切。 该方法由 Ken Schwaber 和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进。 Crystal Methods 由 Alistair Cockburn 在 20 世纪 90 年代末提出。之所以是个系列,是因为他相信不同类型的项目需要不同的方法。虽然水晶系列不如 XP 的产出效率高,但会有更多的人能够接受并遵循它。 FDD 由 Peter Coad、Jeff de Luca、Eric Lefeb
37、vre 共同开发,是一套针对中小型软件开发项目的开发模式。此外,FDD 是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、易于被开发团队接受,适用于需求经常变动的项目。 ASD 由 Jim Highsmith 在 1999 年正式提出。ASD 强调开发方法的适应性,这一思想来源于复杂系统的混沌理论。ASD 不像其他方法那样有很多具体的实践做法,它更侧重为 ASD 的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。 DSDM 是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明 DSDM 是成功的敏捷开发方法之一。在英国,由于
38、其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。DSDM 不但遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。 RUP 其实是个过程的框架,它可以包容许多不同类型的过程,Craig Larman 极力主张以敏捷型方式来使用 RUP。他的观点是:目前如此众多的努力以推进敏捷型方法,只不过是在接受能被视为 RUP 的主流 OO 开发方法而已。螺旋模型将瀑布模型和_结合起来,强调项目的风险分析,特别适合大型复杂系统的开发过程。螺旋模型沿着螺线进行若干次迭代,依次经历了计划指定、风险分析、工程实施和_四个主要活动。(分数:15.00)(1). A.喷
39、泉模型 B.增量模型 C.V 模型 D.快速原型模型(分数:2.50)A.B.C.D. 解析:(2). A.客户评估 B.客户使用 C.工程交付 D.软件测试(分数:2.50)A. B.C.D.解析:(3).希赛公司欲开发一个人力资源管理系统,客户在开发初期对系统的功能并不清楚,但明确表示随着人力资源管理制度的逐步完善,需要对软件功能进行不断调整,针对这种情况,采用_开发模型比较合适。 A.瀑布式 B.喷泉 C.增量 D.螺旋(分数:2.50)A.B.C. D.解析:解析 在开发之初,用户对系统的功能并不清楚,并且系统的功能会不断变更,针对这种情况,应该采用增量的开发模型。因为在增量模型中,软
40、件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。(4).软件需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为获取情况、分析、_和评审四个阶段。 A.制订规格说明 B.形成需求基线 C.跟踪需求变更 D.控制需求版本(分数:2.50)A. B.C.D.解析:解析
41、 所有与需求直接相关的活动通称为需求工程。需求工程的活动可分为两大类,一类属于需求开发,另一类属于需求管理。 需求开发的目的是通过调查与分析,获取用户需求并定义产品需求,需求开发的过程有 4 个,分别是需求获取、需求分析、需求定义(制定需求规格说明书)和需求验证,这 4 个阶段不一定是遵循线性顺序的,它们的活动是相互独立和反复的。 需求管理的目的是确保各方对需求的一致理解,管理和控制需求的变更,以及从需求到最终产品的双向跟踪。需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括变更控制、版本控制、需求跟踪、需求状态跟踪等工作。在需求管理中,要收集需求的变更和变更的理由,并且维持对原有需
42、求和产品,以及构件需求的双向跟踪。(5).下列活动中,_不属于需求开发活动的范畴。 A.根据系统需求识别和确认系统功能 B.将所收集的用户需求编写成文档和模型 C.针对系统特点,考虑并确定系统开发平台与程序设计语言 D.了解实际用户任务和目标以及这些任务所支持的业务需求(分数:2.50)A.B.C. D.解析:解析 需求开发包括以下几个方面的活动: 确定产品所期望的用户类别。 获取每个用户类的需求。 了解实际用户任务和目标及这些任务所支持的业务需求。 分析源于用户的信息以区别用户任务需求、功能需求、业务规则、质量属性、建议解决方法和附加信息。 将系统级的需求分为几个子系统,并将需求中的一部分分
43、配给软件组件。 了解相关质量属性的重要性。 商讨实施优先级的划分。将所收集的用户需求编写成文档和模型。 本题中的 C 选项已经涉及系统的设计与实现,不属于需求开发活动的范畴。(6).软件需求管理是软件项目开发过程中控制和维持需求约定的活动,包括_、版本控制、需求跟踪、需求状态跟踪等活动。 A.需求发现 B.需求变更控制 C.需求排序 D.需求评估(分数:2.50)A.B. C.D.解析:希赛公司正在承担开发一个字处理器的任务。在需求分析阶段,公司的相关人员整理出一些相关的系统需求,其中,“找出文档中的拼写错误并提供一个替换项列表来供选择替换拼错的词”属于_;“显示提供替换词的对话框以及实现整个
44、文档范围的替换”属于_;“用户能有效地纠正文档中的拼写错误”属于_。(分数:10.00)(1). A.业务需求 B.用户需求 C.功能需求 D.性能需求(分数:2.50)A.B. C.D.解析:(2). A.业务需求 B.用户需求 C.功能需求 D.性能需求(分数:2.50)A.B.C. D.解析:(3). A.业务需求 B.用户需求 C.功能需求 D.性能需求(分数:2.50)A. B.C.D.解析:解析 在本题中,“用户能有效地纠正文档中的拼写错误”是业务需求,因为该产品的包装盒封面上可能会标明这是个满足业务需求的拼写检查器。而对应的用户需求则是“找出文档中的拼写错误并通过一个提供的替换项
45、列表来供选择替换拼错的词”。同时,该拼写检查器还有许多功能需求,如找到并高亮度提示错词的操作;显示提供替换词的对话框以及实现整个文档范围的替换。(4).系统分析阶段的基本任务是系统分析师在充分了解用户需求的基础上,把双方对待建系统的理解表达为_。 A.系统可行性说明书 B.系统开发计划 C.系统总体设计报告 D.系统需求规格说明书(分数:2.50)A.B.C.D. 解析:解析 本题主要考查对系统分析的基本任务的理解与掌握。系统分析阶段的基本任务是系统分析师在充分了解用户需求的基础上,把双方对待建系统的理解表达为系统需求规格说明书。IDEF(Integration DEFinition meth
46、od,集成定义方法)是一系列建模、分析和仿真方法的统称,每套方法都是通过建模来获得某种特定类型的信息。其中IDEF0 可以用来对_进行建模。_可以用来对面向对象设计进行建模。(分数:12.50)(1). A.信息 B.过程描述 C.业务流程 D.组织结构(分数:2.50)A.B.C. D.解析:(2). A.IDEF1 B.IDEF2 C.IDEF3 D.IDEF4(分数:2.50)A.B.C.D. 解析:解析 本题主要考查对 IDEF 建模方法的理解与掌握。IDEF(Integration DEFinition method,集成定义方法)是一系列建模、分析和仿真方法的统称,每套方法都是通过建模来获得某种特定类型的信息。其中 IDEF0 可以用来对业务流程进行建模;IDEF4 可以用来对面向对象设计进行建模。(3).以下关于软件系统模块结构设计的叙述中,正确的是_。 A.当模块扇出过大时,应把下级模块进一步分解为若干个子模块 B.当模块扇出过小时,应适当增加中间的控制模块 C.模块的扇入大,表示模块的复杂度较高 D.模块的扇入大,表示模块的复用程度高(分数:2.50)A.B.C.D. 解析:解析 一个模块的扇出是指
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1