系统分析师历年真题解析(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2019年系统分析师下午试题Ⅱ分析与解答

试题一 论系统需求分析方法

系统需求分析是开发人员经过调研和分析,准确理解用户和项目的功能、性能、可靠性等要求,将用户非形式的诉求表述转化为完整的需求定义,从而确定系统必须做什么的过程。系统需求分析具体可分为功能性需求、非功能性需求与设计约束三个方面。

请围绕“系统需求分析方法”论题,依次从以下三个方面进行论述。

1.概要叙述你参与管理和开发的软件项目,以及你在其中所担任的主要工作。

2.详细论述系统需求分析的主要方法。

3.结合你具体参与管理和开发的实际软件项目,说明是如何使用系统需求分析方法进行系统需求分析的,说明具体实施过程,以及应用效果。

【要点解析】

需求分析的方法主要有SA方法、OOA方法和面向问题域的PDOA方法。

1.SA方法

SA方法的基本思想是自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的,于是复杂的问题也就迎刃而解了。

2.OOA方法

OOA的基本任务是运用OO方法,对问题域进行分析和理解,正确认识其中的事物及它们之间的关系,找出描述问题域和系统功能所需的类和对象,定义它们的属性和职责,以及它们之间所形成的各种联系。最终产生一个符合用户需求,并能直接反映问题域和系统功能的OOA模型及其详细说明。

3.PDOA方法

与SA和OOA相比,PDOA更多地强调描述,而少强调建模。它的描述大致分为以下两个部分:

(1)关注问题域。用一个文档对含有的问题域进行相关的描述,并列出需要在该域中求解的问题列表,也就是需求列表。只有这个文档是在分析时产生的。

(2)关注需求行为。用一个文档对解决问题的系统中的需求行为进行描述。该文档将在需求定义阶段完成。

在PDOA方法中,对整个过程有着一个清晰的定义:

(1)收集基本的信息并开发问题框架,以建立问题域的类型。

(2)在问题框架类型的指导下,进一步收集详细信息,并给出一个问题域相关特性的描述。

(3)基于以上两点,收集并用文档说明新系统的需求。

试题二 论系统自动化测试及其应用

软件系统测试是在将软件交付给客户之前所必须完成的重要步骤之一,目前,软件测试仍是发现软件缺陷的主要手段。软件系统测试的对象是完整的、集成的计算机系统,系统测试的目的是验证完整的软件配置项能否和系统正确连接,并满足系统设计文档和软件开发合同规定的要求。系统测试工作任务难度高,工作量大,存在大量的重复性工作,因此自动化测试日益成为当前软件系统测试的主要手段。

请围绕“系统自动化测试及其应用”论题,依次从以下三个方面进行论述。

1.概要叙述你参与管理和开发的软件项目,以及你在其中所担任的主要工作。

2.详细论述系统自动化测试的主要工作内容及优缺点。

3.结合你具体参与管理和开发的实际项目,说明是如何进行系统自动化测试的,说明具体实施过程及应用效果。

【要点解析】

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

自动化测试的过程可以分为:

1.自动化测试需求分析

此过程需要确定自动化测试的范围,以及相应的测试用例、测试数据,并形成详细的文档,以便于自动化测试框架的建立。

2.自动化测试框架的搭建

自动化测试框架类似于软件架构,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。自动化测试框架的典型要素有公用的对象、公用的环境、公用的方法和测试数据。

试题三 论处理流程设计方法及应用

处理流程设计(Process Flow Design,PFD)是软件系统设计的重要组成部分,它的主要目的是设计出软件系统所有模块及它们之间的相互关系,并具体设计出每个模块内部的功能和处理过程,包括局部数据组织和控制流,以及每个具体加工过程和实施细节,为实现人员提供详细的技术资料。每个软件系统都包含了一系列核心处理流程,对这些处理流程的理解和设计将直接影响软件系统的功能和性能。因此,设计人员需要认真掌握处理流程的设计方法。

请围绕“处理流程设计方法及应用”论题,依次从以下三个方面进行论述。

1.简要叙述你参与的软件开发项目,以及你所承担的主要工作。

2.详细说明目前主要有哪几类处理流程设计工具,每个类别至少详细说明一种流程设计工具。

3.根据你所参与的项目,说明是具体采用哪些流程设计工具进行流程设计的,实施效果如何。

【要点解析】

其中常见的图形工具包括程序流程图、IPO图、N-S图、问题分析图、判定树,表格工具包括判定表,语言工具包括过程设计语言等。

1.程序流程图

程序流程图用一些图框表示各种操作,它独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。但也存在一些严重的缺点,例如,程序流程图所使用的符号不够规范,常常会使用一些习惯性用法。

2.IPO图

IPO图是由IBM公司发起并逐步完善的一种流程描述工具。系统分析阶段产生的数据流程图经转换和优化后形成的系统模块结构图的过程中将产生大量的模块,分析与设计人员应为每个模块写一份说明,即可用IPO图来对每个模块进行表述,IPO图用来描述每个模块的输入、输出和数据加工。

3.N-S图

为避免流程图在描述程序逻辑时的随意性与灵活性,美国学者I.Nassi和B.Shneiderman在1973年提出了用方框代替传统的程序流程图,通常把这种图称为N-S图或盒图,与程序流程图类似,在N-S图中也包括5种控制结构,分别是顺序型、选择型、WHILE循环型(当型循环)、UNTIL循环型(直到型循环)和多分支选择型,任何一个N-S图都是这5种基本控制结构相互组合与嵌套的结果。

4.问题分析图

问题分析图是继程序流程图和N-S图之后,又一种描述详细设计的工具,它由日立公司于1979年提出,也是一种支持结构化程序设计的图形工具。问题分析图也包含5种基本控制结构,并允许递归使用。

5.过程设计语言

过程设计语言也称为结构化语言或伪代码,它是一种混合语言,采用自然语言的词汇和结构化程序设计语言的语法,用于描述处理过程怎么做,类似于编程语言。过程设计语言用于描述模块中算法和加工逻辑的具体细节,以便在开发人员之间比较精确地进行交流。

6.判定表

对于具有多个互相联系的条件和可能产生多种结果的问题,用结构化语言描述则显得不够直观和紧凑,这时可以用以清楚、简明为特征的判定表来描述。判定表采用表格形式来表达逻辑判断问题。

7.判定树

判定树也是用来表示逻辑判断问题的一种常用的图形工具,它用树来表达不同条件下的不同处理流程,比语言、表格的方式更为直观。

试题四 论企业智能运维技术与方法

智能运维(Artificial Intelligence for IT Operations,AIOps)是将人工智能应用于运维领域,基于已有的运维数据(日志数据、监控数据、应用信息等),采用机器学习方法来进一步解决自动化运维难以解决的问题。具体来说,智能运维在自动化运维的基础上,增加了一个基于机器学习的智能决策模块,控制监测系统采集运维决策所需的数据,做出智能分析与决策,并通过自动化脚本等手段去执行决策,以达到运维系统的整体目标。智能运维能够提高企业信息系统的预判能力和稳定性,降低IT成本,提升企业产品的竞争力。

请围绕“企业智能运维技术与方法”论题,依次从以下三个方面进行论述。

1.概要叙述你参与管理与实施的软件运维项目,以及你在其中所担任的主要工作。

2.智能运维主要从效率提高、质量保障和成本管理三个方面提升运维水平,其成熟程度可以分为尝试应用、单点应用、串联应用、能力完备和能力成熟五个级别,请任意选择三个成熟度级别,说明其在效率提升、质量保障和成本管理方面的特征。

3.结合你具体参与管理与实施的实际软件系统运维项目,举例说明如何采用智能运维技术和方法提高运维效率、保障运维质量并降低运维成本,实施效果如何。在智能运维过程中都遇到了哪些具体问题,是如何解决的。

【要点解析】

智能运维是指通过机器学习等人工智能算法,自动地从海量运维数据中学习并总结规则,并做出决策的运维方式。

智能运维概念最早由Gartner提出,它是将人工智能科技融入运维系统中,以大数据和机器学习为基础,从多种数据源中采集海量数据(包括日志、业务数据、系统数据等)进行实时或离线分析,通过主动性、人性化和动态可视化,增强传统运维的能力。

AIOps能力分级为:

(1)尝试应用。开始尝试应用AI能力,还无较成熟单点应用。

(2)单点应用。具备单场景的AI运维能力,可以初步形成供内部使用的学习件。

(3)串联应用。有由多个单场景AI运维模块串联起来的流程化AI运维能力,可以对外提供可靠的运维AI学习件。

(4)能力完备。主要运维场景均已实现流程化免干预AI运维能力,可以对外提供可靠的AIOps服务。

(5)能力成熟。有核心中枢AI,可以在成本、质量、效率间从容调整,达到业务不同生命周期对三个方面不同的指标要求,可实现多目标下的最优或按需最优。