我们知道MIS,知道ERP,知道GIS等等,这些系统在管理限制上有很多的冲突,管理和被管理,开放和限制等等,然而BI在开始就不是这样的。BI要求的就是易用还要易于扩展,首先是报表,这个是你无条件的需要去做的,其次是adhoc和analysis,同样的岗位有不同的需求,这不是权限,管理等等的需要,而是一种习惯。

实施BI project的时候,我们经常遇到这样的情况:

1:花少量的时间去理解客户的要求,比如reporting,了解一般的字段的数据出处,然后就开始data modeling,开始搭建DW,ETL等等。

2:中间出现大量的业务计算。

3:客户需求修改,增加需求。

4:数据不完整,数据口径不一致。

5:性能底下。

6:schedule delay。

然后:

1:重新调研需求,了解维度数据,实时数据,关系计算。

2:修改模型,etl process,cube。

3:重新设计接口。

如果处理不当,我们可能会遇到一下几种情况。

1:overtime

2:rework again and again

3:restructure

4:game over

不管是哪一种,都是我们不愿意去看到的,我们没有办法去指责用户的需求对不对,应该不应该。他们是付钱了的,我们做得就是一种services,如果我们遇到这样的问题应该怎么办了,应该怎么去分析了。或者说事前应该做一些什么样的准备了。

这其实需要一种平衡,客户需求和公司利润,当然,如果是甲方自己去做的话,那就是不满意和责罚之间去平衡了。

很多人会说当初定下来的范围边界,如果有需求重新增加的话,只能放到第二期里面去。其实这样的办法其实也是一种办法,只是可以对新的需求,有一个工作量的评估吧。

其实我们定需求的时候可以由大到小,还要兼顾将来系统的扩展性。

当前情况:

1:用户的使用习惯,包括如何分析数据,如何查找数据,如何在reporting导出数据,自己进行的处理。

2:用户的使用不便之处,包括计算,查询数据,统计,甚至在EXCEL里面做的变动或者计算。

3:现有系统的权限设置。

4:数据统计时间,生成时间,归档时间,汇报时间等等。

边界需求

1:确认业务边界,BI,BI,business在前面,所以我们必须先了解业务上的边界在哪里,很多公司在HR和finance都比较保密,这些都不纳入DW/BI的范围,那我们就要确定清楚,是不是真的不纳入,如果中途纳入的话应该怎么处理。这些我们可以留下接口,将HR和finance综合在一起。

2:确认系统边界,就是这个project包含哪些源系统,这些源系统又有什么特点,数据量,表,还有各个系统的详细描述,特点,已经相互间的逻辑关系等等,这些东西就和我们将来做data profiling和ETL有关系了。

3:确认功能边界,就是做Ad-hoc,reporting,analysis,dashboard等等,需要这些吗,每一种的具体需求又是什么,包含多少的量,每一种的dimension对应的又是什么,reporting的格式,数据源 ,dashboard的对应的KPI是什么等等,在查询,查找,参看数据的时候,需要哪些功能。

权限需求

1:确认系统将来使用,开始上线和最终平稳使用时涉及到的部门,人员,还有每个人的权限。

2:确认系统需要涉及到的维度,部门,时间,产品等等,往往权限是和这些维度有关系的。

3:将来如何去控制用户的访问权限,是有windows的AD控制还是ldap控制,或者用维度和用户关系表去空,考虑以后如果发生变化,时候便于维护,如何去做一个维护权限的UI。

数据质量

1:各功能(adhoc,reporting,analysis,dashboard)涉及到的数据表结构。

2:分析各系统的数据质量,最好有数据质量报告。包括维度,空值,一致性,完整性的检查。

需求记录

不管我们和用户谈到什么,只要是和系统有关系的,最好能写出报告的形式,然后再和用户讨论,谈谈你的理解,看用户是否认可,有记录,我们不一定要用户去签字,只是为了以后我们出现人员变动或者最后做UAT测试的时候方便。

如果你真的没有时间做上面的这些事情,那你一定要做好一下的工作。

1:多多了解系统各个岗位的人员的要求,不管是Ad-hoc,reporting,还是analysis,dashboard,听听他们所说什么,有什么要求。

2:分析主题,归纳需求的相似点。看看有没有统一实现的方法。

3:逐个的去完成用户的功能,记住,要一个一个的去完成,完成一个后,就和相应的人员去确认是否是他想要的。不行就again。

4:关注说话有分量的人,比如leader,mananger或者high level manager等等,多和他们沟通,或者尽量完成他们的要求,做到他们满意。

其实需求分析不仅只是在项目开始的时候做,如果我们吧BI/DW的项目当作一个过程的话,每一个时间点都可可以看做是一个小项目的开始。

开发BI系统时的需求分析研究的更多相关文章

  1. 开发数学系统时,需要掌握的几个基于Web的数学框架

    在做数学系统时,经常要和数学公式打交道,这里介绍几个常用的基于Web的数学处理软件. 数学系统主要包括三类:(1)数学公式的显示,也就是如何使用web显示复杂的数学公式. (2)图像制作,例如长方形, ...

  2. 公司正在开发BI系统?这些设计要素请了解一下!

    ​1. 数据源 第一个要素数据源.企业中的BI工具可能承接上游数据中台或者其他产品输出的结果,作为输入的数据源,每个业务方用的数据库都可能是不一样的,所以可接入数据源的种类决定的一个BI工具的可用性, ...

  3. WPF开发ArcGis系统时的异常信息: ArcGIS product not specified. You must first bind to an ArcGIS version prior to using any ArcGIS components.

    “System.Runtime.InteropServices.COMException”类型的未经处理的异常在 Arcgis_Test.exe 中发生 其他信息: ArcGIS product no ...

  4. 开发MIS系统的相关技术

    Java Web应用的核心技术包括以下几个方面:● JSP:进行输入和输出的基本手段.● JavaBean:完成功能的处理.● Servlet:对应用的流程进行控制.● JDBC:是与数据库进行交互不 ...

  5. 企业BI系统应用的切入点及五大策略

    从技术的角度来看,BI的技术正在走向成熟,处于一个发展的阶段,但它促使了BI的应用在成本方面开始逐步的降低,越来越多的企业在BI应用方面取得了成功.从实施的角度来出发,实施商业智能系统是一项复杂的系统 ...

  6. Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. 大数据时代的新BI系统架构发展趋势

    商业智能(BI,Business Intelligence).它是一套完整的解决方式,用来将企业中现有的数据进行有效的整合,高速准确的提供报表并提出决策根据.帮助企业做出明智的业务经营决策.     ...

  8. BI系统打包Docker镜像及容器化部署的具体实现

    在过去的几年中,"云"作为明星热词站在了各种新潮技术之中,你可能使用过,但说不清它的原理:或者是没用过,但听过它的大名:也可能连它的名字都没听过,但你对这只蓝色鲸鱼一定十分眼熟.作 ...

  9. BI系统打包Docker镜像及部署的技术难度和实现

    BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...

随机推荐

  1. EXCEL VBA入门篇之代码应用基础

  2. js实现点击一个按钮进行两种状态的切换(toggle)

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  3. Maven系列--"maven-compiler-plugin"的使用

    maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配的问题,以 ...

  4. javascript设计模式与开发实践阅读笔记(7)——迭代器模式

    迭代器模式:指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示. 迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺 ...

  5. How Tomcat works — 四、tomcat启动(3)

    上一节说到StandardService负责启动其子组件:container和connector,不过注意,是有先后顺序的,先启动container,再启动connector,这一节先来看看conta ...

  6. SourceTree - 正在检查源... When cloning a repository, "Checking Source" spins forever

    I am trying to clone a repository, my OpenSSH is set up correctly and I can do everything fine in Gi ...

  7. Chkdsk scan needed on volume

    After we extended the volume in storage array, in Failover cluster, it shows the volume is of 30.0 T ...

  8. Dreamweaver8 查找和替换窗口不见了解决办法

    激活窗口,按下Atrl+空格,再按下M,方向键移动窗口,就回来了!

  9. 奇怪吸引子---WimolBanlue

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  10. jackson json转实体 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException

    jackson 2.2.2 由于vo中缺少json的某个字段属性引起 2种解决方法 1:vo中添加注解@JsonIgnoreProperties(ignoreUnknown = true) 2.  m ...