BI项目的实施过程
BI项目的实施过程
BI项目的实施过程
BI项目实施的方法论与过程当前各家BI的软件厂商都有各自不同的BI 实施方法论和过程,他们大多大同小异. 这里 以SAP BW的实施方法论和微软BI通用流程为例, 来阐述BI项目实施的基本过程和需要注意的事 项
BI项目的实施过程
SAP BI项目实施的大致流程
BI项目的实施过程
项目计划和准备在项目准备和计划阶段,考量项目是否已经“万 事俱备”可以从3个方面入手。 用户需求是否清楚? 是否已经明确BI的技术标准? 业务部门是否有所准备?
在这3个方面中尤为重要的是:用户需求是否清楚。实际情况是用户在开始阶段并不能完全清楚自己需要什么,可能会在 以后的过程中修正自己的需求,故在设计阶段需要充分考虑到扩展性. 但一些主要的需求必须要在项目计划阶段搞清楚
BI项目的实施过程
这个阶段可能的陷阱有以下这些: 缺乏高层领导的支持。BI的目标用户不同于ERP,它覆盖的面从高层 领导到一线员工都有,并且更侧重于管理层。他们可能是BI的最终用 户,并且直接介入管理层的日常工作。如果领导层不理解项目的意义 并支持项目的实施,将对项目产生巨大的不利影响。 没有制定BI的技术标准。BI的项目实施是一个长期的过程,分阶段来 实现,通常不会一个项目就解决所有的问题。因此在选择BI软件,硬 件,架构等问题上必须有长期的考虑,为企业制定可扩展的BI技术标 准是关键。 没有获得业务部门的资源支持。BI项目同ERP一样需要大量的业务部 门的资源,IT只能负责其中的一部分,业务部门必须承诺在项目中投 入相应的资源。
在项目准备阶段没有相应的咨询公司的参与。大多数的企业对于BI应 用的认识仍然处于相对初级的阶段,因此在项目准备阶段就选择咨询 公司并让他们参与规划对项目的实施有重要的意义。
BI项目的实施过程
设计阶段设计阶段是BI项目最重要的阶段,其重要性甚至超过了 具体的开发阶段。该阶段大致需要覆盖以下方面:
BI项目的实施过程
设计阶段的注意事项 本阶段中的关键的关键是业务分析和模型设计
应该如何展开业务分析? 业务分析事实上包括了两方面,源系统分析和用 户需求分析。以下图示是比较通用的业务分析方 式:
BI项目的实施过程
业务分析人员应该同时从用户需求和源系统两端 同时展开分析,并且其中的重点在于源系统的数 据,是最终该BI应用可以满足多少用户需求的必要 条件。一个好的业务分析应该在充分理解源系统 数据的基础上,不但能满足用户的需求,并且能 超越或预见用户未来可能的需求从而予以相应的 考虑。
BI项目的实施过程
如何进行模型设计 业务分析所产生的文档将直接指导数据仓库的模 型设计。模型设计与业务分析经常是同一个人来 负责,
但也因此对建模师的要求抬高了。目前数 据仓库建模基本上有两种模式,一种是Bill Inmon所首先提出的ER模型,另一种是Kimbal的维 度建模方式。数据集市一般都是维度建模的(也 叫星型模型)。也有将这两种模型混合使用的。 如何验证所建模型的好坏客户经常反复检验的是报表或分析的质量而非常少的来 检验模型的质量。殊不知,模型的好坏很大程度上将影 响前端分析的质量,系统的速度,ETL开发的难易等一 系列的问题。可见,检验模型质量是如何重要了,但是 目前而言还没有一个业界公认的标准方法和流程来检验 模型的质量。下面是一个经常用到的方法:
BI项目的实施过程
第一步:如果是ER模型则首先应检验是否所有的实体 表已经在模型中正确的建立了。比如,项目包含了销 售主题的分析,那么销售相关的实体表是否已经包含 在了模型中?(假设发现销售订单表或客户表没有包 含,那么显然有问题)。如果是维度建模,那么总是 首先确认是否所有的维度表已经明确。接下来,就要 检验实体表之间的关系(ER建模)或维度和事实表之 间的关系(维度建模)。 第二步:如果是维度建模那么检验事实表和粒度是相 当.显而易见,如果是ER建模同样要检验是否在ER模 中包含足够细的数据粒度。同时在这一步中可以检验 是否因为系统性能优化的需求而进行了相关的设臵, 比如增加了某些聚合表,或进行了索引的优化,或进 行了分区等等。
BI项目的实施过程
第三步:如果是维度建模在重点在检验模型对于缓慢 变化或快速变化的维度是如何解决的。如果是ER模型, 则需要考虑基于该模型的数据集市应该如何管理维度 的变化。最后应该尝试对模型使用相应的业务需求来 进行检验,通常可以通过提问回答的方式来检验(因 为此时前端和ETL还没有完成)。比如,提问:客户 需要产生月度的销售报表,并可以按产品进行分类。 回答:模型中已经包含了月度的销售聚合表,可以按 产品维度进行分析。
BI项目的实施过程
设计阶段可能的陷阱
在用户需求分析和设计的时候没有同时从源数据和用 户需求出发 忽略了架构设计 忽略了对数据模型进行检验的重要性 数据建模时没有对缓慢变化和快速变化的维度进行适 当的处理 为满足用户需求在前端设计时加入了过多的客户化或 额外编程的要求。
BI项目的实施过程
开发阶段完成设计以后的开发阶段是BI项目中占用大多数人工和时间的阶段, 在这个阶段项目将进行一系列的开发,比如ETL的开发,前端报表或 分析的开发,元数据管理,权限设臵等等。但是有意思的是,在这个 阶段最有难度的并不是具体的开发有如何的难度,最难以控制的是这
样一个问题:“我们开发的是否正是用户需要的? 听上去这个问题不是应该在设计阶段已经解决的吗?没有错,设计阶 段应该要解决这个问题,通过理解用户的要求和源数据的状态。但是 相比于用户对于数据模型的无法理解,用户对于前端报表和分析的要 求通常是非常高,并且经常变化的。随着BI项目的进展,用户对于他 们想要得前端报表和分析的要求是在不断变化的,我们并不能通过一 个设计阶段就期望能够确定所有前端的需求。可以说,设计阶段只能 够给我们一个前端需求的基础版本,它的最终确定会随着项目的进展 而变化,而我们需要做的就是要不断地发现这些变化并在开发阶段更 新我们的设计来满足这些变化。