文章

浅谈商业智能系统与传统软件开发的差异

2021-06-03董致远

148阅
商业智能系统的开发属于软件开发领域的分支领域,有其自身的特点和工作方法论,特别是与商业逻辑本身有着天然不可分割的联系。
1 前言

       商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具,是对商业信息的搜集、管理和分析的过程,目的是使企业的各级决策者获得知识或洞察力,促使他们做出对企业更有利的决策。所获取的数据一般由来自企业内部的财务、业务、人力数据以及来自企业所处行业和竞争对手的外部数据组成。而实现这一工具则依赖于目前正在飞速发展的数据仓库,数据分析,数据展现等方面的前沿技术。笔者所负责的某数据分析平台项目属于一个典型的商业智能项目,该项目是为契合公司转型和市场转型的内外部要求,解决总分机构在计划下达、预算管理、资源配置、考核激励等方面的困扰,而决定建设的数据基础工具,通过搭建分支机构经营管理指标体系模型,建设透明、多维、全面的分析指标展示平台。通过项目几年的建设,笔者对于商业智能系统的建设也有了一些浅见与读者分享。

2 智能系统数据的获取、整合和分析及差异性

       首先,从需求分析层面看,商业智能系统需求分析的侧重点是数据的获取、整合和分析,一般意义的IT系统,比如银行或电信核心业务系统的需求分析往往关注的是工作流程的实现和业务逻辑的控制,二者需求的侧重点有很大的不同。对于BI开发人员来说,一般不会面对复杂的流程和逻辑,只要将数据源梳理清楚,将数据质量做到符合要求,将分析结果展现到位就可以完成任务,任务看似简单,但数据分析的结果是否真的符合业务需求,很多时候却不像业务流程那样能够准确的把握,这其中核心的问题就是在客户提供的需求说明的背后往往隐含着很多没有明示的管理策略和业务逻辑,这些背景知识和管理诉求往往需要深厚的业务经验才能准确领会,并且还要能够准确、简明、扼要的表述出来。比如说,曾经在项目中有一个重要需求,要设计一套数据指标定期展示给产品线和分支机构,需求表述的很简单,就是提取数据并定期更新展示。但是后来在需求落地的过程中,发现用户群是一个矩阵型的管理结构,每个分支机构都有产品线部门设置,总公司也有专门的对口产品线管理部门来监控这些指标的变化,条中有块,块中有条。由于各个分支结构面对的市场状况不同,对于前端业务开拓人员的绩效激励和工作组织模式也不同,因此总公司对于其考核的要求也不同,存在很多个性化和差异化的需求实现,然而在提交需求说明的时候,由于需求方的人员表述能力较差,很多个性化和差异化的东西都没有一一体现,为后续的设计开发带来了不少问题。面对这样的需求,在开发前时必须充分考虑的建设这一指标体系的背后的管理意义,理解为什么分支机构存在差异化的需求以及如何满足,管理层如何看待这个问题,期待通过这一功能的实现达到怎样的目标等等,类似于管理咨询顾问一样的业务访谈和需求挖掘的过程是必不可少的步骤,只有准确的理解用户的管理意图才能为为后续合理的设计做好铺垫和准备。

       其次,由于在需求层面的差异,导致在具体技术实施的层面上,一个BI项目的技术侧重点和一般意义的IT业务系统也很不一样。在BI项目中,往往数据仓库技术、统计分析软件、数据可视化工具等成型的商业套装软件产品大行其道,同时因为在业务流程控制层面的需求比较弱,因此技术框架和功能模块的设计也不需要过多额外的开发,可以用比较成熟稳定的技术框架稍作改造直接应用,因此工作的重点就会集中在以下三个方面:一是如何多快好省的使用和操作好现成的软件工具,将其具备的功能与现有需求做好匹配;二是做好数据模型的分析和开发,明确分析维度和分析目标之间的逻辑关系,设计内容尽量的全面、扩展方便的数据结构;三是强化用户界面(U1)和用户体验(UE)设计,让用户能方便快捷的获取或者理解数据。由上面的分析可以进一步得到结论,一个商业智能系统的开发需要的关键人力资源,一般可以由商业套装软件应用专家、数据模型构建专家(一般而言由业务专家和数据分析工程师共同处理)、界面和用户体验设计工程师三大类人员构成,而传统意义的软件设计工程师和系统架构师在商业智能项目里面扮演的角色将不如在生产业务系统里面显得那么重要,因为在系统架构、流程设计、算法优化等等方面没有突出的设计需求,很多关键处理都由套装软件自带的功能处理,属于软件应用问题和二次开发,比如如何设置定期数据抽取计划,如何进行数据清洗,如何模拟excel的网页操作,如何模拟回归分析等等,这些需求和功能都是一般大型套装软件必备的功能之一,我们所需要做的就是如何正确有效的应用这些功能。同样,数据模型构建和界面设计等也都属于非核心的软件开发技术范围,但在商业智能系统里面却显得尤为重要。

       最后,就是商业智能系统的软件过程模型也有所区别于一般意义的传统软件开发。软件开发的过程模型包括瀑布开发、迭代开发和原型开发等方式方法,瀑布模型是最典型也是最常用的软件工程方法论,瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。但是这种开发方法特别要求前期的需求严谨清晰,因此往往不适合BI系统的开发。笔者所参与的数据分析平台项目,分析目标由浅入深,数据范围逐渐扩大,数据更新频率也是由年到日逐步缩小粒度,很多新的需求是在应用过程中随时加入,但用户又要求短时间内在系统上实现,理想的瀑布模型很不适合这种需求经常变化又比较紧急的情况,而适当的采用原型快速开发或者迭代螺旋开发的方式,由简入繁,循序渐进,是比较合理的工作方式,通过原型系统来进一步理清思路和需求,同时确定软件开发的迭代计划和发展线路,既能阶段性的看到成果,然后不断的完善和提升项目的质量。关于原型开发模式和螺旋迭代模式,本文不再赘述。

3 总结

       总之,商业智能系统的开发属于软件开发领域的分支领域,有其自身的特点和工作方法论,特别是与商业逻辑本身有着天然不可分割的联系,要成功实施一套商业智能系统软件的开发和部署,还需要从业者结合工作实际不断的思考、探索和总结。
 
责任编辑:程玥
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (0)
请您登录/注册后再评论