周玮祎
摘 要:为了完善产销一体化新模式,让众多企业管理信息系统中长期积累的业务数据在市场战略规划中充分发挥其价值,在分析市场战略要素的基础上,设计与实现面向产销一体化的决策支持平台。该平台是基于Java语言开发的,围绕市场份额、销售情况、库存现状、人员信息等对企业业务数据以报表形式进行展示。测试结果表明,该决策支持平台具有一定的可行性与有效性,可帮助企业制定更全面的产销一体化市场战略规划,使其在激烈的市场竞争中赢得更多商机。
关键词:产销一体化;管理信息系统;市场战略规划;决策支持
DOI:10. 11907/rjdk. 182320
中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2019)005-0122-03
Abstract: In order to perfect the new mode of production and marketing integration to make the business data that generated from the enterprises' numerous management information systems and accumulated in the database for a long time fully employed to realise the use value of market strategic planning, based on analyzing the elements of the marketing strategy, this decision supporting platform that oriented production and marketing integration was designed and implemented. This platform is based on the Java language development, displaying the business data chart about market shares, sales status, inventory, personal information and so on. The running result shows that it is feasible and effective, which can help enterprises to make a more comprehensive marketing strategy plan for production and marketing integration, and promote the enterprises to win more business opportunities in fierce market competition.
Key Words: production and marketing integration; management information system; marketing strategy plan; decision support
0 引言
近年来,决策支持系统开始应用于银行[1]、医疗[2]、物流[3]等多个行业。但由于各行业信息化建设水平参差不齐,并不是所有制造型企业都拥有决策支持系统,原因主要有两方面:一方面,很多决策支持系统需要有数据仓库支持,而很多企业尚未筹建大数据中心;另一方面,一些企业因投入资金量有限,可能导致系统功能不全或与预期效果有差异,从而使系统使用率不高。
为了帮助企业建立并完善产销一体化新模式,尤其对于暂时没有数据仓库的制造型企业,能够及时了解企业发展现状、把握市场动态[4],本文采用Java语言搭建基于B/S架构的决策支持平臺。通过该平台,管理者们能够更加全面地了解企业销售、市场、人员绩效等各方面信息,从而作出更科学的决策提升企业生产效率,并制定更有效的市场营销战略。
1 平台需求分析
1.1 研究背景
在决策支持系统尚未得到广泛应用时,企业管理者如要了解企业发展状况,通常需要先由其助理登录相关系统或从数据库管理员那里获取最近业务数据,并对相关信息进行核对、修改、删减等一系列操作,再将整理好的数据按照规定文档格式进行编辑打印,最后提交给管理者进行查阅、审批。在此期间,助理们需要花费大量时间与精力对数据进行整理,管理者们也要等待很长时间[5]。目前,虽然市面上已有不少由提供软件技术服务的公司或个人开发的决策支持系统[6],但是将大量业务数据交由第三方处理具有一定安全风险。因此,从长远发展的角度看,企业研发符合自身实际情况的决策支持平台显得尤为重要[7]。
1.2 技术分析
鉴于目前很多企业的信息系统均是基于Java语言开发的,为了提升平台的可扩展性,降低平台维护难度,保证平台开发质量与效率,本文同样采用Java语言进行开发。平台框架可以是应用广泛、便于数据库移植的SSH框架[8],也可以是易入门、灵活性好的SSM框架[9]。
2 平台设计
2.1 用户定位
平台的主要用户是负责制定企业市场战略决策的中高层管理者,例如分公司经理、大区经理、总经理等,根据用户职位授予其不同权限内容[10]。
2.2 数据来源定位
要想把握企业运营动态与发展趋势,必须统计与分析诸如销售、库存等与市场营销管理密切相关的重要指标[11],为企业制定战略决策提供数据支持。例如,通过对订单数据库里各类业务订单中包含的商品数量与价格进行统计,计算不同时段内企业商品销售信息;通过从仓库数据库中获取当前库存信息,分析企业近期滞销品与畅销品等。
2.3 数据获取途径
根据企业数据总量可将平台数据获取途径分为直接从数据库提取与从数据仓库获取两种。直接从数据库提取数据一般適用于数据量在100GB级别以内的中小型企业,此时平台开发者要能熟练使用优化的SQL语句对数据库中多张表进行检索操作,避免低效率的查询方式增加企业数据库负担。开发人员还要经常关注数据库中各表的状态,如果发现平台涉及的数据表结构及与其它表之间联系有所更新,必须及时整理出最新的数据表内容与关系信息。如果企业有专门的数据库管理员,开发人员则可以不用实时关注数据库,但需要保持与数据库管理员之间的良好沟通,以便随时得知数据库动态。
如果企业数据量超过了100GB级别,则应采取类似数据仓库的智能手段对数据进行搜集与分析。对于数据仓库的数据获取,平台开发者们要能灵活运用商业智能工具对数据库中的数据进行相应操作[12]。
2.4 总体设计
根据不同数据获取途径,平台总体设计层次也有所不同。如图1所示,对于已建立数据仓库的企业,平台总体层次可分为4层:数据源、数据中心、逻辑处理层、决策展示层;对于未建立数据仓库的企业,平台总体层次可简化为3层,即去掉图中虚线框中数据中心,保留数据源、逻辑处理层与决策展示层。
4个层次的主要功能可概括为:
(1)数据源:数据库中的各数据表,涵盖了企业人员、业务、财务等多种信息,是平台的数据根基。
(2)数据中心:采用ETL工具对数据库中的数据进行抽取、更新、清洗、转换、加载等一系列操作之后,将其存入数据仓库,之后再通过相关程序接口将数据传递给逻辑处理层。
(3)逻辑处理层:根据不同情况运用不同程序接口,直接访问数据库中的数据表或数据仓库中的数据存储,再对得到的内容进行逻辑处理操作,最后将处理结果传递给决策展示层。
(4)决策展示层:根据逻辑层产生的处理结果,运用前端图表技术描绘与之相关的图表信息,并通过Web界面呈现给用户,使用户可以通过浏览器直接访问平台,并方便地浏览自己权限范围内的图表信息。
3 功能实现
3.1 前端页面展示
用户登录平台后,首先展示的是平台首页,之后用户可点选导航栏中的提示信息,进入业务查询、市场分析、营销信息、畅销与滞销以及人员管理5个模块,查看内容详情。
除采用HTML与CSS等技术对平台页面样式进行基本勾勒外,平台还使用图表、地图等多种插件对统计数据进行图形展示。目前,市场上有多种发展较为成熟的开源图表插件与地图插件。为了提高后期的可拓展性与易维护性,平台主要运用轻量级JS Chart插件,以及包含国内地区信息的百度地图插件[13]。
在以条形图、折线图、饼状图等反映企业销售信息、商品排行榜、市场份额比重等基本运营信息的同时,平台另一个特点是用户可根据自身需要,了解其管辖范围内任一区域的业务信息。与市场上多数技术公司提供的纯静态地图或只能点击相应按钮才能按一定比例放大或缩小的动态地图不同,用户在使用该功能时,就像平时浏览地图应用一样,只需滑动鼠标滚轮,便可对地图进行放大或缩小操作。
如图2所示,用户在地图上点选所负责辖区中的任意区域后,即能看到该区域负责人信息及当月业务情况,再点击图表或人员信息框,还能跳转至“业务查询”或“人员管理”模块,查看相应业务或人员信息。
3.2 后端处理操作
通过AJAX将前端操作指令传至后端,后台便开始寻找具体操作方法。后端操作大致可分为3类:数据查询、报表导出与屏幕信息截取。
3.2.1 数据查询
根据不同数据获取途径,数据查询方式可分为如下两种:
(1)从数据库直接提取数据[14]。Java平台主要利用JDBC实现从数据库中直接提取数据。通过配置与JDBC相关的属性,如driverClassName、username与password等,搭建客户端与数据库服务器端的桥梁;之后无论项目是以Hibernate形式还是Mybaits形式与数据库连接,都要在项目的Spring文件中,写明所连接的数据库信息与项目里实体Java类对应xml文件的所处路径;JDBC为访问不同数据库提供了一种统一途径,如采用thin方式连接Oracle数据库、通过jtds方式连接SQL Server数据库等。因此,只要配置信息正确,便能成功建立平台与数据库间的连接;最后以“action调用service、service调用dao”逐层调用的方式,完成平台数据查询工作。
(2)从数据仓库提取数据[15]。以Oracle为例,由于Oracle数据仓库具有报表生成工具Oracle Reports与报表展示工具Oracle Discoverer,用户可以直接登录页面查看。
如果企业尚未购买这两款工具,可通过在项目中调用应用程序接口完成从ODS层到OLAP层的数据抽取工作。不同于从数据库中直接提取数据,此时平台应采用OCI方式连接Oracle数据库。因为OCI适用于集群数据库,其数据连接池可极大地提高应用程序性能与并发量。唯一不足之处是,使用时必须安装Oracle客户端,且JDBC连接数据库的配置工作也需要在程序中进行;连接完毕后,通过传递指令寻找数据存储中的对应记录,然后将找到的内容存入参数对象中;再根据参数对象提供的类名创建该类对象,并将参数对象传递给该对象;最后,执行一系列逻辑处理操作,即可将执行结果放入相应位置。
3.2.2 报表导出
根据不同的平台模块需求,其对应打印需求也有所不同。对于企业而言,打印文档一般分为有文档格式要求的Word文档与可进行批量数据处理的Excel文档两种。
(1)Word文档。Java生成Word文档的方法有多种,但所生成Word文档的排版主要只有两种:一种没有模板导出,即将读取的数据直接插入一份空白Word文档中;另一种则是将数据按格式要求填入已编写好的Word模板中,再进行打印[16]。为了使信息可以规范地呈现在用户面前,本平台选择后者,利用Freemarker插件将后台传来的处理结果填入拟定好格式的Word文档中,并加以导出[17]。
具体步骤为:先在本地电脑中将编辑好表头、表体的Word文档另存为xml文档,表中需要填写的地方以“${变量名}”形式代替,变量名命名标准可参照Java变量名命名标准进行,然后在平台项目中导入freemarker.jar包,并在项目相应action类里建立Word文档生成方法,方法中必须调用之前生成的xml文档,并对xml中需要填写的地方逐一进行赋值,最后输出文档。
(2)Excel文档。Java生成Excel文档的方法主要有两种,一种是借助第三方插件,另一种是在JSP页面中编写相关代码直接生成,无需第三方插件支持[18]。但由于后者不适合处理大批量数据,并且生成的文件样式略显单调,所以平台选用第一种方案,并采用JXL插件[19]。
具体步骤为:与生成Word文档类似,首先在项目中导入jxl.jar包,然后在相应action类中建立Excel文档生成方法,方法中要有创建Excel文件及表格、设置表中文字样式等操作,之后对表中内容进行逐行赋值,最后打印输出Excel文档。
3.2.3 屏幕信息截取
由于不是所有人都能熟练使用键盘上的截屏快捷键,因此平台特意添加了截屏按钮。平台截屏操作主要是通过SWT扩展插件——SWT Win32 Extension实现的。通过创建鼠标移动监听器的方式,捕捉鼠标在屏幕中划出的临时矩形框,并将框内图像先存放于缓冲区,在确定保存图像之后,再将图像另存为PNG或JPEG格式图片[20]。
4 结语
为了帮助企业制定更有效的市场营销战略,本文设计开发了适用于一般企业的决策支持平台。该平台可对企业业务量、市场份额、销售信息、库存量、人员等各方面信息进行统计,从而为企业管理者提供直观的数据报表。经测试,该平台具有一定的可行性与有效性,可帮助企业作出更科学的战略决策。然而,对于不同企业,面临的实际情况也有所不同,因此可能会产生一些新问题,例如如何利用企业历史数据估算市场对企业新品的实际需求量,以及更准确地预测市場发展方向等,都有待后续作进一步探索。
参考文献:
[1] 田梓又. 交通银行江苏省分行决策支持系统规划与实施研究[D]. 南京:南京理工大学,2014.
[2] 李明. 医院决策支持系统设计与实施[J]. 医学信息学杂志,2014, 35(2):22-27.
[3] 陈继民, 赵晶英. 物流企业遴选业务项目的决策支持系统开发[J]. 电子世界,2017(4):58-60.
[4] 屠强,刘明伟. 基于BI的数据中心建设探讨[J]. 金融电子化,2008(10): 52-53.
[5] 罗晓菁. 用BI技术深化ERP应用[J]. 软件和集成电路,2009(10):44-49.
[6] 温彩荣. 企业市场战略决策支持系统的构建与应用研究[J]. 现代营销,2017 (3):18.
[7] Yang. 第一方数据管理将成为驱动“商业智能”的关键[J]. 声屏世界·广告人,2017(2):104.
[8] 谌湘倩,狄文辉,孙冬. 基于SSH框架与AJAX技术的JavaWeb应用开发[J]. 计算机工程与设计,2009, 30(10):2590-2592.
[9] 李洋. SSM框架在Web应用开发中的设计与实现[J]. 计算机技术与发展,2016, 26(12):190-194.
[10] 张华. 企业管理层次论[J]. 化工管理,1995(2):28-29.
[11] 陆峰. 企业市场营销管理要素创新探讨[J]. 合作经济与科技,2016(10):136-137.
[12] 盖欧. 企业商业智能应用模式及其研究[D]. 西安:西安电子科技大学,2009.
[13] 朱根荣. 百度地图API应用数例[J]. 电脑编程技巧与维护,2013(23): 29-34.
[14] 王锋. 关于Oracle JDBC Thin Drivers的解析[J]. 苏州大学学报:工科版,2004, 24(2):66-69.
[15] 宋时光. 吉林酒业经营决策系统设计与实现[D]. 长春:吉林大学,2008.
[16] 张海建,孙丹. 基于JAVA和XML的WORD文档自动生成技术研究与应用[J]. 信息与电脑:理论版,2010 (1):124-126.
[17] 王正敏,张太红,李永可,等. Freemarker模板引擎在线动态生成Excel和Word文档技术[J]. 计算机与现代化,2016(4):109-113.
[18] 郭晓玉,鲍慧,戚宇林. JSP中上传文件和生成Excel文件的实现[J]. 微计算机信息,2006,22(15):242-243.
[19] 李友宏. Java Web开发中对Excel文件的读写实现[J]. 电脑编程技巧与维护,2012(8):16-17.
[20] 赵国海,张启龙. 浅谈Java的本地应用开发[J]. 学园:教育科研,2011(24):24.
(责任编辑:黄 健)