【系统分析师之路】2019年上系统分析师下午论文真题
作者:互联网
【系统分析师之路】2019年上系统分析师下午论文真题
2019年上系统分析师下午论文真题
试题一:论系统需求分析方法
论文1:论系统需求分析方法
系统需求分析是开发人员经过调研和分析,准确理解用户和项目的功能、性能、 可靠性等要求,将用户非形式的诉求表述转化为完整的需求定义,从而确定系统 必须做什么的过程。系统需求分析具体可分为功能性需求、非功能性需求与设计 约束等三个方面。
问题内容:
请围绕“系统需求分析方法”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述系统需求分析的主要方法。
3.结合你具体参与管理和开发的实际软件项目,说明是如何使用系统需求分析方法进行系统需求分析的,说明具体实施过程以及应用效果
- 【解答】
- 需求分析的方法种类繁多,不过如果按照分解的不同方式不同,可以很容易地划分出几种大的类型:
1)结构化分析方法
2)面向对象分析方法
3)面向问题域的分析方法PDOA
1. 面向问题域的分析方法
- PDOA更多的强调描述,而少强调建模。它的描述大致分为关注问题域和关注解系统的待求行为这两个方面。问题框架是PDOA的核心元素,是将问题域建模成为一系列相互关联的子域。也可以把问题框架看作是开发上下文图,但不同的是上下文图的建模对象是针对解系统,而问题框架则是针对问题域。也就是说,问题框架的目标就是大量的捕获更多有关问题域的信息。
- PDOA方法现在还在研究阶段,并未广泛应用。
2. 结构化分析方法
- 业务流程分析
业务流程分析的目的是了解各个业务流程的过程,明确各个部门之间的业务关系和每个业务处理的意义,为业务流程的合理化改造提供建议,为系统的数据流变化提供依据。
业务流程分析主要分为了以下的步骤:- 通过调查掌握基本情况
- 描述现有业务流程,绘制业务流程图
- 确认现有业务流程
- 对业务流程进行分析
- 发现问题,提出解决方案
- 提出优化之后的业务流程
- 数据流图
- 结构化分析中用到的重要的工具和方法就是数据流图。它是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD图还可被认为是一个系统模型,在信息系统开发中,一般将它作为需求说明书的组成部分。
- DFD图从数据传递和加工的角度,利用图形符号通过逐层细分地描述系统内到外各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说DFD的主要作用如下:
- DFD是理解和表达用户需求的工具,是系统分析的手段。理解DFD图不需要任何的计算机知识,因此通过它同客户交流很方便。
- DFD概括地描述了系统的内部逻辑过程,是系统分析结果的表达工具,因而也是系统设计的重要参考资料,是系统设计的起点。
- DFD作为一个存档的文字资料,是进一步修改和充实开发计划的依据。
- DFD图中有四个符号组成,分别是:加工,数据流,外部实体(数据源及数据终点),数据存储;
- 数据流:具有名字和流向的数据,用标有名字的箭头表示;
- 加工:是对数据流的变换,一般用圆圈来表示;
- 数据存储:它是可访问的存储信息,一般用直线段来表示;
- 外部实体:位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示;
- 如果面对的是稍微复杂的实际问题,我们可以按照系统的层次结构进行逐步分解,并以分层的DFD反映这种结构关系,能清楚地表达整个系统。
- 画DFD图的基本步骤其实就是“自顶向下,逐层分解”的这么一个过程。检查和修改的原则是:
- DFD中的所有图形符号只限于四种基本图形元素;
- 顶层的DFD图必须包含这四种元素,缺一不可。
- 顶层DFD中的数据流必须封闭在外部实体之间;
- 每个加工至少有一个输入数据流和一个输出数据流;
- 在DFD中,可以按层给加工框编号,编号可以表明该加工在哪一个层次,以及上下层单位父图与子图的应对关系;
- 规定任何一个数据流的子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。父图与子图的平衡;
- 可以在DFD中加入物质流,帮助用户理解DFD;
- 图上每个元素都必须有名字
- DFD中不可夹带控制流
- 数据字典
- 数据字典是关于数据的信息的集合,也就是对DFD中包含的所有元素的定义的集合。DFD和数据字典共同构成系统的逻辑模型。没有数据字典,那么DFD图就显得不够严格,没有DFD数据字典难以发挥作用;在数据字典的每一个词条中应该包含以下信息:名称,别名或编号,分类,描述,何处使用。
- 对加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言,判定树和判定表三种。
- 结构化语言
介于自然语言和形式语言之间的一种半形式化的语言,在自然语言的基础上加了一些限度,使用有限的词汇和有限的语句来描述加工逻辑。 - 判定树
若一个动作的执行不只依赖一个条件,而与多个条件有关,那么这项策略的表达就比较复杂。那么此时使用判定树来表达更加直观一些。 - 判定表
一些条件较多,在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁,无二义性的描述所有的处理规则。但判定表表示的是静态逻辑,他不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。
3. 面向对象分析方法
- OOA就是直接以问题域中客观存在的事物或概念识别为对象,建立分析模型,用对象的属性和服务分别描述事物的静态特征和行为,并且保留问题域中事物之间关系的原貌。问题域是指一个包含现实世界事物与概念的领域,这些事物和概念与所设计的系统要解决的问题有关。
- 分析模型独立于具体实现,即不考虑与系统具体实现有关的因素,这也是OOA和OOD的区别所在。OOA的任务是做什么,OOD的任务是怎么做。
- OOA的基本任务是运用面向对象的方法,对问题域和系统责任进行分析和理解,正确认识其中的事物及他们之间的关系,找出描述问题域及系统责任所需的类和对象,定义它们的属性和服务,以及它们之间所形成的结构,静态联系和动态联系。最终产生一个符合用户需求,并能反映问题域和系统责任的OOA模型及其详细的说明。
- 用例分析技术为软件需求规格化提供了一个基本的元素,而且该元素是可验证,可度量的。用例可以作为项目计划,进度控制,测试等环节的基础。而且用例还可以使开发团队与客户之间的交流更加顺畅。构建用例模型需要经历识别参与者,合并需求获得用例,细化用例描述三个阶段。
- 识别参与者
参与者有主要参与者和次要参与者,开发用例的重点是要找到主要参与者。 - 合并需求获得用例
找到所有的参与者之后就要仔细的检查参与者,为每一个参与者确定用例。而其中的依据主要可以来源于已经获取得到的特征表。首先将特征分配给相应的参与者,然后进行合并操作,最后绘制成用例图。在确定用例的过程中,不能混淆用例和用例所包含的步骤,要注意区分业务用例和系统用例。 - 细化用例描述
用例建模的主要工作是书写用例规约,而不是画图。用例模版为一个给定项目的所有人员定义了用例规约的结果,其内容至少包括用例名,参与者,目标,前置条件,事件流(基本和扩展事件流)后置条件,其他的还可以包括非功能需求,用例的优先级等。
- 分析模型
分析模型描述系统的基本逻辑结构,展示对象和类如何组成系统(静态模型),以及如何保持通信实现系统行为(动态模型)。
为了使模型独立于具体的开发语言,需要把注意力集中在概念性问题上而不是软件技术问题上,这些技术的起始点就是领域模型。领域模型又称为概念模型或者域模型,也就是找到代表那些事物与概念的对象,即概念类。概念类可以从用例模型中获得灵感,经过完善将形成分析模型中的分析类。
在迭代开发过程中,每一个用例对应一个类图,描述参与这个用例实现的所有概念类,用例的实现主要使用交互图来实现。
建立分析模型包括以下基本活动:
- 发现领域对象
从名词和名词短语中提取对象和属性;从动词和动词短语中提取操作和关联,而所有格短语通常表明名词应该是属性而不是对象。 - 识别对象的属性
属性是概念类所具有的特征,从概念建模的角度来看,属性越简单越好。属性是描述对象静态特征的一个数据项。可以与用户进行交谈提出问题来帮助寻找对象的属性。 - 识别对象的关系
包括建立类的泛化关系,以及对象的关联关系。理清类之间的关系类型,确定关系的多重性和角色的导向性。多重性是指所在类可以实例化的对象数量,即该类的多少个对象在一段特定的时间内可以与另一个类的一个对象相关联;导向性表示可以通过关联从源类导向到目标类,也就是说给定关联一端的对象就能够容易并直接的得到另一端的对象。 - 为类添加职责
类的职责包括两个主要内容分别是类所维护的知识,类能够执行的行为。可以使用状态图来描述系统中单个对象的行为。 - 建立交互图
多个对象的行为通常采用对象交互图来表示,UML2.0提供的交互图有顺序图,交互概览图,通信图和定时图。顺序图的基本元素有对象,参与者,生命线,激活框,消息和消息路线,其中消息是顺序图的灵魂。
- 在整个开发过程中,分析模型是不断演变的,最初的分析模型主要是围绕着领域知识进行,对现实的事物进行建模。而后则不断的加入设计元素,演变成运行于计算机上的体系结构。其演变过程中最主要的变化体现在:
- 补充类的属性和操作,不断细化其内容,更细致地刻画类之间的关联关系,以便体现代码的核心
- 添加许多与计算机实现相关的技术类,以体现系统的实现结构
- 利用分析模式,设计模型对类模型进行优化。
试题二:论系统自动化测试及其应用
论文2:论系统自动化测试及其应用
软件系统测试是在将软件交付给客户之前所必须完成的重要步骤之一,目前,软件测试仍是发现软件缺陷的主要手段。软件系统测试的对象是完整的、集成的计 算机系统,系统测试的目的是验证完整的软件配置项能否和系统正确连接,并满 足系统设计文档和软件开发合同规定的要求。系统测试工作任务难度高,工作量 大,存在大量的重复性工 作,因此自动化测试曰益成为当前软件系统测试的主 要手段。
问题内容:
请围绕“系统自动化测试及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2 详细论述系统自动化测试的主要工作内容及优缺点。
3.结合你具体参与管理和开发的实际项目,说明是如何进行系统自动化测试的, 说明具体实施过程以及应用效果
- 【解答】
- 编程自动化是一个通过编程完成测试的过程。一旦实现了测试的自动化,大量的测试用例可以迅速的得到执行。
- 测试自动化通常需要构建存放程序软件包和测试软件包的文件服务器,存储测试用例和测试结果的数据库服务器;执行测试的运行环境,控制服务器,Web服务器和客户端程序。
- 自动化测试的主要实现方法包括了代码的静态与动态分析,测试过程的捕获与回放,测试脚本技术,虚拟用户技术和测试管理技术等。
- 自动化测试的优点有:
1)提高测试执行的速度
2)提高工作效率
3)保证测试结果的准确性
4)连续运行测试脚本
5)模拟现实环境中受到约束的情况 - 自动化测试的缺陷:
1)自动化测试不能取代手动测试
2)自动化测试能够发现的缺陷不如手工测试
3)自动化测试对所测产品质量约束大,不能提高有效性,可能会制约软件开发,以及测试工具不具备想象力等。 - 测试用例的生成:
当前流行的自动化测试工具主要使用脚本技术来生成测试用例。脚本是一组测试工具执行的指令的集合,其作用是通过回放的方式来模拟手工测试所执行的操作。 - 自动化测试工具:
自动化测试工具的关键特征就是具有良好的脚本开发环境。测试工具首先要具有相应的容错系统,可以自动处理一些异常的状况;其次要能够提供类似软件集成开发环境中的调试功能;
目前自动化测试工具主要有:单元测试工具,负载和性能测试工具,GUI功能测试工具,基于Web应用的测试工具。其他的测试工具还包括了缺陷跟踪工具,综合测试管理工具,嵌入式测试工具,数据库测试工具等。 - 对于产品单一,或者是开发周期长的项目,我们更加倾向于自己开发测试工具,无论是从节省成本还是从企业长远发展考虑,这都是有利的。
试题三:论处理流程设计方法及应用
论处理流程设计方法及应用
处理流程设计(Process Flow Design,PFD)是软件系统设计的重要组成部分,它的主要目的是设计出软件系统所有模块以及它们之间的相互关系,并具体设计出每个模块内部的功能和处理过程,包括局部数据组织和控制流,以及每个具体加工过程和实施细节,为实现人员提供详细的技术资料。每个软件系统都包含了一系列核心处理流程,对这些处理流程的理解和设计将直接影响软件系统的功能和性能。因此,设计人员需要认真掌握处理流程的设计方法。
问题内容:请围绕“处理流程设计方法及应用”论题,依次从以下三个方面进行论述。
1.简要叙述你参与的软件开发项目以及你所承担的主要工作。
2.详细说明目前主要有哪几类处理流程设计工具,每个类别至少详细说明一种流程设计工具。
3.根据你所参与的项目,说明是具体采用哪些流程设计工具进行流程设计的,实施效果如何
- 【解答】
- 处理流程设计的任务是设计出系统中所有的模块以及它们之间的相互关系,并具体设计出每个模块内部的功能和处理过程,为开发人员提供详细的开发资料。每个信息系统都包含了一系列核心处理流程。
通过对业务流程的设计来对现实世界进行建模,及时完善和调整系统分析和设计过程中的遗漏和不合理之处。
- 程序流程图
用一些图框表示各种操作,他独立于任何一种程序设计语言。他比较直观,清晰,易于理解和掌握。程序流程图有一个缺点,就是他使用的符号不够规范, 常常会使用一些习惯性的用法。 - IPO图
他是系统设计重要的文档之一。其主体是处理过程的说明。IPO图中的输入,输出与功能模块,文件及系统外部项都需要通过数据字典来描述,同时需要为其中的某些元素添加注释。
可以采用流程图,判定树,判定表,盒图,问题分析图或者过程设计语言来进行描述。 - N-S图
通常把NS图称为盒图,任何一个NS图都是由五种基本控制结构相互组合嵌套的结果。
N-S图中过程的作用域明确,因为没有箭头,所以不能随意转移控制,并且容易表示嵌套关系和层次关系,具有强烈的结构化特征。缺点是当处理庞大复杂时,NS图可能很大。 - 问题分析图
PAD是一种支持结构化语言设计的图形工具。支持五种基本控制结构,并允许递归使用。 - 过程设计语言
它也称为结构化语言或者是伪代码,它是一种混合的语言,采用了自然语言的词汇和结构化语言的语法,用于描述处理过程怎么做。使用过程设计语言可以做到逐步求精,从比较概括和抽象的过程设计语言程序开始,逐步写出更详细更清楚的描述,其写法也比较灵活,它使用自然语言来描述处理过程,不必考虑语法的错误,有益于设计人员将主要的精力放在描述算法和加工逻辑上。 - 判定表
对于具有多个相互联系的条件和可能产生多种结果的问题,可以用以清楚简明为特征的判定表来表示。判定表采用逻辑表格的形式来表达逻辑判断的问题。 - 判定树
判定树也是用来表示逻辑判断问题的一种常用图形工具,它用树来表达不同条件下的不同处理流程,它比语言表格等方式更为直观。判定树的左边是加工名,中间是各种条件,所有的行动都列于最右侧。
试题四:论企业智能运维技术与方法
论企业智能运维技术与方法
智能运维(Artificial Intelligence for IT Operations, AIOps)是将人工智能应用于运 维领域,基于已有的运维数据(日志数据、监控数据、应用信息等),采用机器学习方法来进一步解决自动化运维难以解决的问题。具体来说,智能运维在自动化运维的基础上,增加了一个基于机器学习的智能决策模块,控制监测系统采集运维决策所需的数据,做出智能分析与决策,并通过自动化脚本等手段去执行决策,以达到运维系统的整体目标。 智能运维能够提高企业信息系统的预判能力和稳定性,降低 IT 成本,提升企业产品的竞争力。
问题内容:请围绕“企业智能运维技术与方法”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理与实施的软件运维项目以及你在其中所担任的主要工作。
2.智能运维主要从效率提高、质量保障和成本管理等三个方面提升运维水平, 其成熟程度可以分为尝试应用、单点应用、串联应用、能力完备和能力成熟等五个级别,请任意选择三个成熟度级别,说明其在效率提升、质量保障和成本管理等方面的特征。
3.结合你具体参与管理与实施的实际软件系统运维项目,举例说明如何采用智 能运维技术和方法提高运维效率、保障运维质量并降低运维成本,实施效果如何。 在智能运维过程中都遇到了哪些具体问题,是如何解决的。
标签:运维,真题,系统,分析师,用例,2019,测试,设计,DFD 来源: https://blog.csdn.net/Last_Impression/article/details/111307517