免费智能真题库 > 历年试卷 > 系统架构设计师 > 2015年下半年 系统架构设计师 上午试卷 综合知识
  第22题      
  知识点:   分析模型   商业智能   数据仓库   数据分析   预测
  关键词:   分析模型   商业智能系统   数据仓库   数据处理   数据分析   数据预处理   旋转分析   商业智能   数据        章/节:   企业信息化与电子商务       

 
商业智能系统的处理过程包括四个主要阶段:数据预处理通过(22)实现企业原始数据的初步整合;建立数据仓库是后续数据处理的基础;数据分析是体现系统智能的关键,主要采用(23)和(24)技术,前者能够实现数据的上卷、下钻和旋转分析,后者利用隐藏的知识,通过建立分析模型预测企业未来发展趋势;数据展现主要完成数据处理结果的可化。
 
 
  A.  数据映射和关联
 
  B.  数据集市和数据立方体
 
  C.  数据抽取、转换和装载
 
  D.  数据清洗和数据集成
 
 
 

 
  第23题    2015年下半年  
   56%
商业智能系统的处理过程包括四个主要阶段:数据预处理通过(22)实现企业原始数据的初步整合;建立数据仓库是后续数据处理的基础..
  第24题    2015年下半年  
   37%
商业智能系统的处理过程包括四个主要阶段:数据预处理通过(22)实现企业原始数据的初步整合;建立数据仓库是后续数据处理的基础..
  第24题    2014年下半年  
   36%
商业智能是企业对商业数据的搜集、管理和分析的系统过程,主要技术包括(24)。
   知识点讲解    
   · 分析模型    · 商业智能    · 数据仓库    · 数据分析    · 预测
 
       分析模型
        9.3.1节从用户的观点对系统进行了用例建模,但获得了用例并不意味着分析的结束,还要对需求进行深入研究,获取关于问题域本质内容的分析模型。分析模型描述系统的基本逻辑结构,展示对象和类如何组成系统(静态模型),以及它们如何保持通信实现系统行为(动态模型)。
        为了使模型独立于具体的开发语言,需要把注意力集中在概念性问题上而不是软件技术问题上,这些技术的起始点就是领域模型。领域模型又称为概念模型或域模型,也就是找到代表那些事物与概念的对象,即概念类。概念类可以从用例模型中获得灵感,经过完善将形成分析模型中的分析类。在迭代开发过程中,每一个用例对应一个类图,描述参与这个用例实现的所有概念类,用例的实现主要通过交互图来表示。
        建立分析模型包括以下基本活动:
        (1)发现领域对象,定义概念类。发现类的方法有很多种,其中最广泛应用的莫过于“名词动词法”。它的主要规则是从名词与名词短语中提取对象与属性;从动词与动词短语中提取操作与关联;而所有格短语通常表明名词应该是属性而不是对象。
        (2)识别对象的属性。属性是描述对象静态特征的一个数据项。可以与用户进行交谈,提出问题来帮助寻找对象的属性。属性是概念类所拥有的特性,从概念建模的角度看,属性越简单越好,要保持属性的简单性,应该做到4个方面:仅定义与系统责任和系统目标有关的属性;使用简单数据类型来定义属性;不使用可由其他属性导出的属性(冗余属性);不为对象关联定义属性。最后,要对属性加以说明,包括名称和解释、数据类型,以及其他的一些要求。
        (3)识别对象的关系,包括建立类的泛化关系、对象的关联关系。理清类之间的层次关系,决定类之间的关系类型,确定关系的多重性和角色的导向性。多重性指定所在类可以实例化的对象数量(重数),即该类的多少个对象在一段特定的时间内可以与另一个类的一个对象相关联;导向性表示可以通过关联从源类导向到目标类,也就是说给定关联一端的对象就能够容易并直接地得到另一端的对象。
        (4)为类添加职责。找到了反映问题域本质的主要概念类,而且还理清它们之间的协作关系之后,我们就可以为这些类添加其相应的职责。类的职责包括两个主要内容,分别是类所维护的知识、类能够执行的行为。可以使用状态图来描述系统中单个对象的行为。
        (5)建立交互图。多个对象的行为通常采用对象交互来表示,UML 2.0提供的交互图有顺序图、交互概览图、通信图和定时图。每种图出于不同视点对行为有不同的表现能力,其中最常用的是顺序图,几乎可以用在任何系统的场合。顺序图的基本元素有对象、参与者、生命线、激活框、消息和消息路线,其中消息是顺序图的灵魂。
        :在整个开发的过程中,分析模型是不断演变的,最初的分析模型主要是围绕着领域知识进行的,对现实的事物进行建模。而后,则不断地加入设计的元素,演变成为运行于计算机上的架构和结构。其演变过程中最主要的变化体现在以下3个方面:
        (1)根据鲁棒分析和交互分析的结果,补充类的属性和操作,不断地细化其内容,更细致地刻化类之间的关联关系,以便体现代码的核心。
        (2)添加许多与计算机实现相关的技术类,以体现系统的实现结构。
        (3)利用分析模式、设计模式对类模型进行优化。
 
       商业智能
        商业智能(Business Intelligence,BI)是企业对商业数据的搜集、管理和分析的系统过程,目的是使企业的各级决策者获得知识或洞察力,帮助他们做出对企业更有利的决策。BI技术并不是基础技术或者产品技术,它是数据仓库、OLAP和数据挖掘等相关技术走向商业应用后形成的一种应用技术。
        BI系统主要实现将原始业务数据转换为企业决策信息的过程。与一般的信息系统不同,它在处理海量数据、数据分析和信息展现等多个方面都具有突出的性能。
        一般认为数据仓库、OLAP和数据挖掘技术是BI的三大组成部分。BI系统主要包括数据预处理、建立数据仓库、数据分析及数据展现四个主要阶段。数据预处理是整合企业原始数据的第一步,它包括数据的抽取、转换和装载3个过程。建立数据仓库则是处理海量数据的基础。数据分析是体现系统智能的关键,一般采用OLAP和数据挖掘两大技术。联机分析处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题。在海量数据和分析手段增多的情况下,数据展现则主要保障系统分析结果的可视化。
 
       数据仓库
        传统数据库在联机事务处理(OLTP)中获得了较大的成功,但是对管理人员的决策分析要求却无法满足。因为管理人员希望对组织中的大量数据进行分析,了解组织业务的发展趋势,而传统的数据库中只能保留当前的管理信息,缺乏决策分析所需要的大量的历史信息。为了满足管理人员的决策分析需要,在数据库基础上产生了能满足决策分析需要的数据环境——数据仓库(Data Warehouse,DW)。
        虽然数据仓库是从数据库发展而来的,但是二者在许多方面有相当大的差异,二者的比较情况如下表所示。
        
        数据仓库与数据库比较
               数据仓库的基本特性
               数据仓库有这样一些重要的特性:面向主题的、数据是集成的、数据是相对稳定的、数据是反映历史变化的。
                      面向主题的
                      数据仓库中数据是面向主题进行组织的。从信息管理的角度来看,主题就是一个较高的管理层次上对信息系统中数据按照某一具体的管理对象进行综合、归类所形成的分析对象。从数据组织的角度来看,主题就是一些数据集合,这些数据集合对分析对象进行了比较完整的、一致的数据描述,这种数据描述不仅涉及数据自身,还涉及数据间的联系。例如,企业中的客户、产品和供应商等都可以作为主题来看待。
                      数据仓库的创建使用都是围绕主题实现的,因此,必须了解如何按照决策分析来抽取主题,所抽取的主题应该包含哪些数据内容,这些数据应该如何组织。在进行主题抽取时,必须按照决策分析对象进行。例如,在企业销售管理中的管理人员所关心的是本企业哪些产品销售量大、利润高?哪些客户采购的产品数量多?竞争对手的哪些产品对本企业产品构成威胁?根据这些管理决策分析对象,就可以抽取“产品”“客户”等主题。
                      数据是集成的
                      数据仓库的集成性是指根据决策分析的要求,将分散于各处的原数据进行抽取、筛选、清理、综合等集成工作,使数据仓库中的数据具有集成性。
                      数据仓库所需要的数据不像业务处理系统那样直接从业务发生地获取数据。如在线事务处理系统(OLPT)、企业业务流程重组(BRP)以及基于因特网的电子商务(EC)中的数据是与业务处理联系在一起的,只为业务的日常处理服务,而不是为决策分析服务。这样,数据仓库在从业务处理系统那里获取数据时,并不能将原数据库中的数据直接加载到数据仓库中,而要进行一系列的数据预处理。即从原数据库中挑选出数据仓库所需要的数据,然后将来自不同数据库中的数据按某一标准进行统一,如将数据源中数据的单位、字长与内容统一起来,将源数据中字段的同名异义、异名同义现象消除,然后将源数据加载到数据仓库,并将数据仓库中的数据进行某种程度的综合,进行概括和聚集的处理。
                      数据是相对稳定的
                      数据仓库的数据主要是供决策分析之用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。数据仓库的数据反映的是一段相当长的时间内历史数据的内容,是不同时间的数据库快照的集合,以及基于这些快照进行统计、综合和重组的导出数据,而不是联机处理的数据。数据库中进行联机处理的数据经过集成输入到数据仓库中。因为数据仓库只进行数据查询操作,所以在DBMS中的完整性保护、并发控制在数据仓库管理中都可以省去。但是,由于数据仓库的查询数据量往往很大,所以对数据查询提出了更高的要求,需要采用复杂的索引技术。
                      数据是反映历史变化的
                      数据仓库中数据的相对稳定是针对应用来说的,数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不表明在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据是永远不变的。数据仓库的数据是反映历史变化的,这主要表现在如下三个方面:
                      (1)数据仓库随时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP数据库中变化的数据,追加到数据仓库中去。
                      (2)数据仓库随时间变化不断删除旧的数据内容。
                      (3)数据仓库中包含大量的综合数据,这些数据有很多信息与时间有关,如数据经常按时间段进行综合,或隔一定的时间进行抽样等等,这些数据要随时间不断地进行重新综合。
               数据仓库的数据模式
               典型的数据仓库具有为数据分析而设计的模式,使用OLAP工具进行联机分析处理。因此数据通常是多维数据,包括维属性、度量属性。包含多维数据的表称为事实表,事实表通常很大。例如,一个表sales记录了零售商店的销售信息,其中每个元组对应一个商品售出记录,这是一个非常典型的事实表的例子。表sales的维包括售出的是何种商品(用商品标识表示)、商品售出的日期、商品售出的地点、哪个顾客购买该商品等等。度量属性包括售出商品的数量和金额。
               为了减少存储要求,维属性通常是一些短的标识,作为参照其他表的外码。例如,事实表sales含有属性item_key、time_key、branch_key和location_key,以及度量属性units_sold和dollars_sold。其中,属性item_key是一个参照维表item的外码,表item含有商品名称、商品的品牌、商品所属类别等属性;属性time_key是一个参照维表time的外码,表time含有日、月、季和年的属性;属性branch_key是一个参照维表branch的外码,表branch含有出售商品的分销商的名称、分销商的类型属性;属性location_key是一个参照维表location的外码,表location含有销售地点的街道、城市、省份、国家等属性。由此得到一个事实表、多维表以及从事实表到多维表的参照外码的模式称为星型模式,如下图所示。
               
               数据仓库的星型模式示例
               更复杂的数据仓库设计可能含有多级维表,例如维表item含有属性supplier_key,作为参照给出供应商的细节信息的另一个维表supplier的外码;维表location含有属性city_key,作为参照给出城市的细节信息的另一个维表city的外码。这种模式称为雪花模式,如下图所示。
               
               数据仓库的雪花模式示例
               复杂的数据仓库设计可能含有不止一个事实表,下图模式中含有Sales和Shipping两个事实表,共享location、item、time和branch维表。这种模式称为事实星型模式。
               
               数据仓库的事实星型模式示例
               数据仓库的体系结构
               数据仓库通常采用三层体系结构,底层为数据仓库服务器、中间层为OLAP服务器,顶层为前端工具。底层的数据仓库服务器一般是一个关系数据库系统,数据仓库服务器从操作型数据库或外部数据源提取数据,对数据进行清理、转换、集成等,然后装入数据仓库中。中间层的OLAP服务器的实现可以是关系型OLAP,即扩充的关系型DBMS,提供对多维数据的支持;也可以是多维的OLAP服务器,它是一种特殊的服务器,直接支持多维数据的存储和操作。顶层的前端工具包括查询和报表工具、分析工具、数据挖掘工具等。
               从结构的角度看有三种数据仓库模型:企业仓库、数据集市和虚拟仓库。
               企业仓库收集跨越整个企业的各个主题的所有信息。它提供全企业范围的数据集成,数据通常都来自多个操作型数据库和外部信息提供者,并且是跨越多个功能范围的。它通常包含详细数据和汇总数据。企业数据仓库可以在传统的大型机上实现,例如UNIX超级服务器或并行结构平台。它需要广泛的业务建模,可能需要多年的时间来设计和建造。
               数据集市包含对特定用户有用的、企业范围数据的一个子集。它的范围限于选定的主题,例如一个商场的数据集市可能限定于它的主题为顾客、商品和销售。包括在数据集市中的数据通常是汇总的。通常,数据集市可以在低价格的部门服务器上实现,基于UNIX或Windows NT/2000/XP。实现数据集市的周期一般是数周,而不是数月或数年。但是,如果它的规划不是企业范围的,从长远讲,可能会涉及很复杂的集成。根据数据的来源不同,数据集市分为独立的和依赖的两类。在独立的数据集市中,数据来自一个或多个操作型数据库或外部信息提供者,或者是一个特定部门或地区本地产生的数据。在依赖数据集市中,数据直接来自企业数据仓库。
               虚拟仓库是操作型数据库上视图的集合。为了有效地处理查询,只有一些可能的汇总视图被物化。虚拟仓库易于建立,但需要操作型数据库服务器具有剩余能力。
 
       数据分析
        数据分析是大数据处理过程中的重要组成部分,是大数据价值体现的核心环节。经典的机器学习方法是最常见的数据智能分析方法,近年来迅速发展的深度学习在某些领域取得了惊人的效果。在应用开发上,也形成了几种主流的大数据处理框架。
        机器学习中算法很多,也有很多不同种类的分类方法,一般分为监督学习和非监督学习(或无监督学习)。其中,监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练,是从标记的训练数据来推断一个功能的机器学习任务。根据训练集中的标识是连续的还是离散的,可以将监督学习分为两类:回归和分类。
        回归是研究一个或一组随机变量对一个或一组属性变量的相依关系的统计分析方法。线性回归模型是假设自变量和因变量满足线性关系。Logistic回归一般用于分类问题,而其本质是线性回归模型,只是在回归的连续值结果上加了一层函数映射。
        分类是机器学习中的一个重要问题,其过程也是从训练集中建立因变量和自变量的映射过程,与回归问题不同的是,分类问题中因变量的取值是离散的,根据因变量的取值范围,可将分类问题分为二分类问题、三分类问题和多分类问题。根据分类采用的策略和思路的不同,分类算法大致包括:基于示例的分类方法,如K最近邻(K-Nearest Neighbor,KNN)方法;基于概率模型的分类方法,如朴素贝叶斯、最大期望算法EM等;基于线性模型的分类方法,如SVM;基于决策模型的分类方法,如C4.5、AdaBoost、随机森林等。
        在实际应用中,缺乏足够的先验知识,因此难以人工标注类别或进行人工类别标注的成本太高,学习模型是为了推断出数据的一些内在结构。因此,根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称为无监督学习。常见的算法有:关联规则挖掘,是从数据背后发现事物之间可能存在的关联或联系。比如数据挖掘领域著名的“啤酒-尿不湿”的故事。K-means算法,基本思想是两个对象的距离越近,其相似度越大;相似度接近的若干对象组成一个簇;算法的目标是从给定数据集中找到紧凑且独立的簇。
        近年来发展起来的深度学习算法是基于原有的神经网络算法发展起来的,包括BP神经网络、深度神经网络。
        BP神经网络是一种反向传播的前馈神经网络,所谓前馈神经网络就是指各神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层。所谓反向传播是指从输出层开始沿着相反的方向来逐层调整参数的过程。BP神经网络由输入层、隐含层和输出层组成。
        深度神经网络主要包括卷积神经网络、循环神经网络等,也包括它们的各种改进模型。
        (1)卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,其结构包括输入层、卷积层、池化层、全连接层以及输出层等。该算法在图像处理、模式识别等领域取得了非常好的效果。在CNN的发展过程中,最经典的模型是AlexNet,针对不同的应用需要,又产生了全卷积模型(FCN)、残差神经网络模型(ResNet)、DeepFace等模型结构。
        (2)循环神经网络(Recurrent Neural Network,RNN)是一种人工神经网络,在该网络中,除了层间的连接以外,同层各单元之间连接构成了一个有向图序列,允许它显示一个时间序列的动态时间行为。RNN可以使用它们的内部状态来处理输入序列,这使得它们适用于诸如未分割的、连续的手写识别或语音识别等任务。传统的RNN是很难训练的,往往会出现梯度消失或梯度爆炸等情况,因此又出现了多个扩展版本,如BiRNN、LSTM等。
        随着深度学习的快速发展和应用的普及,开始出现了一些深度学习框架。深度学习框架是一种界面、库或工具,可以使用户在无需深入了解底层算法的细节的情况下,能够更容易、更快速地构建深度学习模型。深度学习框架利用预先构建和优化好的组件集合定义模型,为模型的实现提供了一种清晰而简洁的方法。常见的深度学习框架有:Caffe,是一个广泛使用的开源深度学习框架,支持常用的网络模型,比如Lenet、AlexNet、ZFNet、VGGNet、GoogleNet、ResNet等;TensorFlow,是一个使用数据流图进行数值计算的开源软件库,图中的节点表示数学运算,而图边表示节点之间传递的多维数据阵列(又称张量),其为大多数复杂的深度学习模型预先编写好了代码,比如递归神经网络和卷积神经网络,灵活架构使我们能够在一个或多个CPU(以及GPU)上部署深度学习模型;Keras,是一个由Python编写的开源人工神经网络库,可以作为TensorFlow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化,Keras完全模块化并具有可扩展性,并试图简化复杂算法的实现难度。
        随着大数据技术的广泛深入,大数据应用已经形成了庞大的生态系统,很难用一种架构或处理技术覆盖所有应用场景。下文介绍几种当前主流的大数据分布式计算架构。
        Apache Hadoop是用于开发可靠、可伸缩、分布式计算的开源软件,是一套用于在由通用硬件构建的大型集群上运行应用程序的框架。包含的模块有:Hadoop分布式文件系统(HDFS),提供对应用程序数据的高吞吐量访问的分布式文件系统;Hadoop YARN,作业调度和集群资源管理的框架;Hadoop MapReduc,一个用于大型数据集并行处理的基于YARN的系统;Hadoop Ozone,Hadoop的对象存储;Hadoop Submarine,Hadoop的机器学习引擎。
        Apache Spark是加州大学伯克利分校的AMP实验室所开源的类Hadoop MapReduce的通用并行框架。Spark是一个分布式的内存计算框架,是专为大规模数据处理而设计的快速通用的计算引擎。Spark的计算过程保持在内存中,不需要读写HDFS,减少了硬盘读写,提升了计算速度。除了Map和Reduce操作外,Spark还延伸出如filter、flatMap、count、distinct等更丰富的操作。同时通过Spark Streaming支持处理数据流。
        Apache Storm是一个免费的开源分布式实时计算系统,可以可靠地处理无边界的数据流变,可以实现实时处理。Apache Storm速度很快,它是可扩展的,容错的,并且易于设置和操作。Apache Storm应用于实时分析、在线机器学习、连续计算、分布式RPC、ETL等等。Storm的核心是拓扑(Topology),拓扑被提交给集群,由集群中的主控节点分发代码,将任务分配给工作节点执行。
 
       预测
        随着项目进展,项目团队可根据项目绩效,对完工估算(EAC)进行预测,预测的结果可能与完工预算(BAC)存在差异。如果BAC已明显不再可行,则项目经理应考虑对EAC进行预测。预测EAC是根据当前掌握的绩效信息和其他知识,预计项目未来的情况和事件。预测要根据项目执行过程中所提供的工作绩效数据来产生、更新和重新发布。工作绩效信息包含项目过去的绩效,以及可能在未来对项目产生影响的任何信息。
        有关预测的相关计算会在15.4节中详细说明。
   题号导航      2015年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第22题    在手机中做本题