开发BI系统时的需求分析研究
我们知道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系统时的需求分析研究的更多相关文章
- 开发数学系统时,需要掌握的几个基于Web的数学框架
在做数学系统时,经常要和数学公式打交道,这里介绍几个常用的基于Web的数学处理软件. 数学系统主要包括三类:(1)数学公式的显示,也就是如何使用web显示复杂的数学公式. (2)图像制作,例如长方形, ...
- 公司正在开发BI系统?这些设计要素请了解一下!
1. 数据源 第一个要素数据源.企业中的BI工具可能承接上游数据中台或者其他产品输出的结果,作为输入的数据源,每个业务方用的数据库都可能是不一样的,所以可接入数据源的种类决定的一个BI工具的可用性, ...
- 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 ...
- 开发MIS系统的相关技术
Java Web应用的核心技术包括以下几个方面:● JSP:进行输入和输出的基本手段.● JavaBean:完成功能的处理.● Servlet:对应用的流程进行控制.● JDBC:是与数据库进行交互不 ...
- 企业BI系统应用的切入点及五大策略
从技术的角度来看,BI的技术正在走向成熟,处于一个发展的阶段,但它促使了BI的应用在成本方面开始逐步的降低,越来越多的企业在BI应用方面取得了成功.从实施的角度来出发,实施商业智能系统是一项复杂的系统 ...
- Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 大数据时代的新BI系统架构发展趋势
商业智能(BI,Business Intelligence).它是一套完整的解决方式,用来将企业中现有的数据进行有效的整合,高速准确的提供报表并提出决策根据.帮助企业做出明智的业务经营决策. ...
- BI系统打包Docker镜像及容器化部署的具体实现
在过去的几年中,"云"作为明星热词站在了各种新潮技术之中,你可能使用过,但说不清它的原理:或者是没用过,但听过它的大名:也可能连它的名字都没听过,但你对这只蓝色鲸鱼一定十分眼熟.作 ...
- BI系统打包Docker镜像及部署的技术难度和实现
BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置n ...
随机推荐
- 将Eclipse代码导入到AndroidStudio的两种方式
版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4183553.html 说到使用AndroidStudio,除 ...
- ftp 操作,支持断点续传或者继续下载。
1.ftpclient 类 public class FTPClient:IDisposable { public static object _obj = new object(); #region ...
- Proxy模式:管理第三方API
软件中的Barrier. 数据从程序移到DB中时,要跨越数据库的Barrier.消息从一个PC到另一个PC时,要跨越网络Barrier. 跨越可能是复杂的,很可能处理Barrier的Code会多于处理 ...
- Reorder List
题目: Given a singly linked list L: L0→L1→-→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→- You must do ...
- [推荐]PaaS技术知识贴
[推荐]PaaS技术知识贴 云计算PaaS技术与应用 http://wenku.baidu.com/view/08f77eefaeaad1f346933f20?fr=prin大型WEB网站架构深入分析 ...
- html5使用FileReader上传图片
客户端代码是网上找的,修改为.net代码. <html><head> <meta charset="utf-8"> <titl ...
- VS2010链接TFS
VS2010链接TFS源代码管理器 1.打开VS2010开发工具. 2.菜单视图===>>团队资源管理器 3.点击链接到团队项目 4.点击服务器 5.点击添加 6.输入TFS服务配置信息 ...
- IOS中CocoaPods安装与使用
网上有很多文章关于 cocoaPods配置文章,其实cocoaPods配置并不难,只是比较繁琐而已,我也是照着网站文章一步步搭建配置成功.写这篇文章的目的就是像做笔记一样,便于以后用的时候好回忆.废话 ...
- Maven 简单配置gpg
1. 下载maven到指定目录,指定对应的gpg的执行命令所需要的属性.这里比如下载解压后的maven目录是: C:\maven-apache-3.3.2 ,那么配置文件目录是: C:\maven-a ...
- 跨平台web调试代理工具---whistle
whistle是基于Node实现的跨平台web调试代理工具,支持windows.mac.linux等所有安装了Node的操作系统,可以部署在本地机器.虚拟机或远程服务器,并通过本地网页查看或修改HTT ...