系统分析师分类真题软件工程二.docx
- 文档编号:30429125
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:27
- 大小:29.63KB
系统分析师分类真题软件工程二.docx
《系统分析师分类真题软件工程二.docx》由会员分享,可在线阅读,更多相关《系统分析师分类真题软件工程二.docx(27页珍藏版)》请在冰豆网上搜索。
系统分析师分类真题软件工程二
系统分析师分类真题软件工程
(二)
(总分:
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).极限编程是一种重要的敏捷开发方法,包含策划、设计、编码和测试四个框架活动的规则和实践。
下面关于极限编程的叙述,错误的是______。
∙A.极限编程中使用的重要技术是重构,既包括设计技术的重构,也包括构建技术的重构
∙B.极限编程提倡在基本设计完成后,立即进行编码实现,并进行测试
∙C.极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码
∙D.极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略
(分数:
2.50)
A.
B. √
C.
D.
解析:
[解析]极限编程是一种重要的敏捷开发方法,包含规划、设计、编码和测试4个框架活动的规则和实践。
极限编程中使用的重要技术是重构,既包括设计技术的重构,也包括构建技术的重构;极限编程提倡在基本设计完成后,团队不应该直接开始编码,而是开发一系列用于检测本次发布的包括所有故事(story)的单元测试;极限编程活动中的关键概念之一是“结对编程”,推荐两个人面对同一台计算机共同开发代码;极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即时的回归测试策略。
(4).需求工程帮助软件工程师更好地理解要解决的问题。
下列开发过程中的活动,不属于需求工程范畴的是______。
∙A.理解客户需要什么,分析要求,评估可行性
∙B.与客户协商合理的解决方案,无歧义地详细说明方案
∙C.向客户展现系统的初步设计方案,并得到客户的认可
∙D.管理需求以至将这些需求转化为可运行的系统
(分数:
2.50)
A.
B.
C. √
D.
解析:
[解析]需求工程为以下工作提供了良好的机制:
理解客户需要什么,分析要求,评估可行性,协商合理的解决方案,无歧义地详细说明方案,确认规格说明,管理需求以至于将这些需求转化为可运行的系统。
需求工程并不关心采用何种设计方案解决问题。
(5).面向团队的需求收集方法能够鼓励合作,为解决方案的各个要素提供建议,协商不同的方法,以及说明初步的需求方案。
下列关于面向团队的需求收集方法叙述,不恰当的是______。
∙A.举行团队需求收集会议,会议由软件工程师、客户和其他利益相关者共同举办和参加
∙B.拟定一个会议议程,与会者围绕需求要点,畅所欲言
∙C.会议提倡自由发言,不需要特意控制会议的进度
∙D.会议目的是识别问题,提出解决方案的要点,初步刻画解决方案中的需求问题
(分数:
2.50)
A.
B.
C. √
D.
解析:
[解析]在进行面向团队的需求分析时,通常会举行团队需求收集会议,会议由软件工程师、客户和其他利益相关者共同举办和参加;为会议拟订一个会议议程,既要涵盖所有的重要点,又要鼓励思维的自由交流;会议由一位主持人控制会议进度,并保证会议主题不被偏离;会议目的是识别问题,提出解决方案的要点,初步刻画解决方案中的需求问题。
(6).质量功能部署(QFD)是一种将客户要求转化成软件需求的技术。
QFD的目的是最大限度地提升软件工程过程中客户的满意度。
为了这个目标,QFD确认了三类需求,常规需求、______和意外需求。
∙A.期望需求
∙B.基础需求
∙C.显式需求
∙D.功能需求
(分数:
2.50)
A. √
B.
C.
D.
解析:
[解析]QFD确认了三类需求,分别是基本需求(常规需求)、期望需求和意外需求(兴奋需求)。
其中期望需求指的是那些隐含在产品或系统中,可能由于非常基础以至于用户没有显式说明的需求。
(7).在软件需求工程中,需求管理贯穿整个过程。
需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立______。
∙A.需求跟踪说明
∙B.需求变更管理文档
∙C.需求分析计划
∙D.需求基线
(分数:
2.50)
A.
B.
C.
D. √
解析:
[解析]需求是软件项目成功的核心所在,它为其他许多技术和管理活动奠定基础。
在软件需求工程中,需求管理贯穿整个过程。
需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立需求基线。
(8).某大型移动通信运营商欲开发一个新的应用系统以替换原有系统。
在需求分析阶段,为尽快从已有系统文档资料和用户处获取整体系统需求,采用______的方法捕获需求最为合适。
∙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).希赛公司欲开发一个基于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. √
解析:
[解析]净室软件工程是软件开发的一种形式方法,它可以生成质量非常高的软件。
它使用盒结构规约(或形式化方法)进行分析和设计建模,并且强调将正确性验证,而不是测试,作为发现和消除错误的主要机制。
使用统计的测试来获取认证被交付软件的可靠性所必需的出错率信息。
净室方法从使用盒结构表示的分析和设计模型入手,一个“盒”在某特定的抽象层次上封装系统(或系统的某些方面)。
黑盒用于表达系统的对外可观测行为,状态盒封装状态数据和操作,清晰盒用于对某状态盒中的数据和操作所蕴涵的过程设计进行建模。
一旦完成了盒结构设计,则运用正确性验证。
软件构件的过程设计被划分为一系列子函数,为了证明每个子函数的正确性,要为每个函数定义出口条件并实施一组子证明。
如果每个出口条件均被满足,则设计一定是正确的。
一旦完成了正确性验证,便开始统计的使用测试。
和传统测试不同,净室软件工程并不强调单元或集成测试,而是通过定义一组使用场景、确定对每个场景的使用概率及定义符合概率的随机测试来进行软件测试。
将产生的错误记录和取样、构件和认证模型相结合使得可以数学地计算软件构件的可靠性。
净室哲学是一种严格的软件工程方法,它是一种强调正确性的数学验证和软件可靠性认证的软件过程模型,其目标和结果是非常低的出错率,这是使用非形式化方法难以或不可能达到的。
软件架构评估中,评估人员主要关注系统的质量属性,并确定采用何种架构更为合适。
在对某个应用软件进行评估时,该应用软件采用的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.
解析:
[解析]软件架构评估可以只针对一个架构,也可以针对一组架构。
在架构评估中,评估人员主要关注系统的质量属性,并确定采用何种架构更为合适。
敏感点是一个或多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
在本题中,在对某个应用软件进行评估时,该应用软件采用的Web服务器所支持的并发连接数是整个系统性能的一个敏感点;改变加密级别可能会对安全性和操作性均产生重要影响,则加密级别是系统的一个权衡点。
(3).以下关于敏捷开发原则的叙述中,错误的是______。
∙A.强调通过尽早地、持续地交付有价值的软件来使客户满意
∙B.经常交付可以工作的软件,但是每次都必须交付具有完整功能的系统
∙C.在团队内部,最具有效果并富有效率的信息传递方法是面对面的交谈
∙D.强调应对需求的持续变更,即使在项目后期也可灵活应对需求变更
(分数:
2.50)
A.
B. √
C.
D.
解析:
[解析]敏捷开发的主要原则如下:
●最优先要做的是通过尽早地、持续地交付有价值的软件来使客户满意。
●即使到了开发的后期,也欢迎改变需求。
敏捷过程利用变化来为客户创造竞争优势。
●经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。
但不要求每次交付的都是系统的完整功能。
●在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
●围绕被激励起来的人来构建项目,给他们提供所需要的环境和支持,并且信任他们能够完成工作。
●在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
●工作的软件是首要的进度度量标准。
●责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
●不断地关注优秀的技能和好的设计会增强敏捷能力。
●简单——使未完成的工作最大化的艺术——是根本的。
●最好的架构、需求和设计出自于自组织的团队。
●每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
(4).以下敏捷软件开发方法中,______方法强调以业务为核心,快速而有效地进行系统开发。
∙A.极限编程
∙B.自适应软件开发
∙C.特性驱动开发
∙D.动态系统开发
(分数:
2.50)
A.
B.
C.
D. √
解析:
[解析]在我们面临“软件危机”所带来的挑战之时,曾经通过采用严格的规范、详尽的文档来约束开发过程,以保证开发的质量与效果,获得了突出的成就。
但是随着时代的进一步发展,商业周期越来越短,变化越来越快,甚至在软件开发的过程中,商业逻辑和需求已经悄然变化,这给本来还不成熟的软件产业带来了新的挑战。
就在这种情况下,敏捷方法论应运而生。
2001年这些方法论的创始人走到一起,成立了敏捷联盟,发表了颇具影响力的敏捷宣言:
个体和交互胜过过程和工具,可工作的软件胜过面面俱到的文档,客户合作胜过合同谈判,响应变化胜过遵循计划。
比较有影响力的敏捷方法论包括XP(极限编程)、FDD(特征驱动开发)、CrystalMethod(水晶方法)、DSDM(动态系统开发方法)、ASD(自适应软件开发)、SCRUM、轻量型RUP等。
XP的思想源自KentBeck和WardCunningham在软件项目中的合作经历。
因为知道计划永远赶不上变化,XP无须开发人员在软件开始初期做出很多的文档。
为了将以后出现bug的几率降到最低,XP提倡测试先行。
XP的核心是其总结的沟通、简单、反馈、勇气四大价值观。
它包括12种最佳实践,分别是计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户及编码标准。
SCRUM是一种迭代的增量化过程,用于产品开发或工作管理。
它是一种可以集合各种开发实践的经验化过程框架。
SCRUM中发布产品的重要性高于一切。
该方法由KenSchwaber和JeffSutherland提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进。
CrystalMethods由AlistairCockburn在20世纪90年代末提出。
之所以是个系列,是因为他相信不同类型的项目需要不同的方法。
虽然水晶系列不如XP的产出效率高,但会有更多的人能够接受并遵循它。
FDD由PeterCoad、JeffdeLuca、EricLefebvre共同开发,是一套针对中小型软件开发项目的开发模式。
此外,FDD是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、易于被开发团队接受,适用于需求经常变动的项目。
ASD由JimHighsmith在1999年正式提出。
ASD强调开发方法的适应性,这一思想来源于复杂系统的混沌理论。
ASD不像其他方法那样有很多具体的实践做法,它更侧重为ASD的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。
DSDM是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。
实践证明DSDM是成功的敏捷开发方法之一。
在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。
DSDM不但遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。
RUP其实是个过程的框架,它可以包容许多不同类型的过程,CraigLarman极力主张以敏捷型方式来使用RUP。
他的观点是:
目前如此众多的努力以推进敏捷型方法,只不过是在接受能被视为RUP的主流OO开发方法而已。
螺旋模型将瀑布模型和______结合起来,强调项目的风险分析,特别适合大型复杂系统的开发过程。
螺旋模型沿着螺线进行若干次迭代,依次经历了计划指定、风险分析、工程实施和______四个主要活动。
(分数:
15.00)
(1).
∙A.喷泉模型
∙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.
解析:
[解析]在开发之初,用户对系统的功能并不清楚,并且系统的功能会不断变更,针对这种情况,应该采用增量的开发模型。
因为在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。
增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。
整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。
(4).软件需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为获取情况、分析、______和评审四个阶段。
∙A.制订规格说明
∙B.形成需求基线
∙C.跟踪需求变更
∙D.控制需求版本
(分数:
2.50)
A. √
B.
C.
D.
解析:
[解析]所有与需求直接相关的活动通称为需求工程。
需求工程的活动可分为两大类,一类属于需求开发,另一类属于需求管理。
需求开发的目的是通过调查与分析,获取用户需求并定义产品需求,需求开发的过程有4个,分别是需求获取、需求分析、需求定义(制定需求规格说明书)和需求验证,这4个阶段不一定是遵循线性顺序的,它们的活动是相互独立和反复的。
需求管理的目的是确保各方对需求的一致理解,管理和控制需求的变更,以及从需求到最终产品的双向跟踪。
需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括变更控制、版本控制、需求跟踪、需求状态跟踪等工作。
在需求管理中,要收集需求的变更和变更的理由,并且维持对原有需求和产品,以及构件需求的双向跟踪。
(5).下列活动中,______不属于需求开发活动的范畴。
∙A.根据系统需求识别和确认系统功能
∙B.将所收集的用户需求编写成文档和模型
∙C.针对系统特点,考虑并确定系统开发平台与程序设计语言
∙D.了解实际用户任务和目标以及这些任务所支持的业务需求
(分数:
2.50)
A.
B.
C. √
D.
解析:
[解析]需求开发包括以下几个方面的活动:
①确定产品所期望的用户类别。
②获取每个用户类的需求。
③了解实际用户任务和目标及这些任务所支持的业务需求。
④分析源于用户的信息以区别用户任务需求、功能需求、业务规则、质量属性、建议解决方法和附加信息。
⑤将系统级的需求分为几个子系统,并将需求中的一部分分配给软件组件。
⑥了解相关质量属性的重要性。
⑦商讨实施优先级的划分。
⑧将所收集的用户需求编写成文档和模型。
本题中的C选项已经涉及系统的设计与实现,不属于需求开发活动的范畴。
(6).软件需求管理是软件项目开发过程中控制和维持需求约定的活动,包括______、版本控制、需求跟踪、需求状态跟踪等活动。
∙A.需求发现
∙B.需求变更控制
∙C.需求排序
∙D.需求评估
(分数:
2.50)
A.
B. √
C.
D.
解析:
希赛公司正在承担开发一个字处理器的任务。
在需求分析阶段,公司的相关人员整理出一些相关的系统需求,其中,“找出文档中的拼写错误并提供一个替换项列表来供选择替换拼错的词”属于______;“显示提供替换词的对话框以及实现整个文档范围的替换”属于______;“用户能有效地纠正文档中的拼写错误”属于______。
(分数:
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).系统分析阶段的基本任务是系统分析师在充分了解用户需求的基础上,把双方对待建系统的理解表达为______。
∙A.系统可行性说明书
∙B.系统开发计划
∙C.系统总体设计报告
∙D.系统需求规格说明书
(分数:
2.50)
A.
B.
C.
D. √
解析:
[解析]本题主要考查对系统分析的基本任务的理解与掌握。
系统分析阶段的基本任务是系统分析师在充分了解用户需求的基础上,把双方对待建系统的理解表达为系统需求规格说明书。
IDEF(IntegrationDEFinitionmethod,集成定义方法)是一系列建模、分析和仿真方法的统称,每套方法都是通过建模来获得某种特定类型的信息。
其中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.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统分析 分类 软件工程