宋維賓,陳 冰
基于任務驅動的ERP實驗系統開發(fā)探索
宋維賓1,陳 冰2
(1.河南理工大學 能源科學與工程學院,河南 焦作 454000;2.焦作大學 信息工程學院,河南 焦作 454000)
針對高校企業(yè)資源計劃實驗教學中的主要問題,運用游戲設計思想和要素,設計了基于任務驅動的ERP實驗系統。系統基于開源的OpenERP進行設計和開發(fā),包括ERP系統和導學系統兩部分,二者在服務器端相互獨立,數據庫共享共用,而在瀏覽器端則相互集成和融合。運用反向代理、數據庫、JQuery等技術,解決了框架間跨域訪問、瀏覽器端用戶行為跟蹤、數據庫變化偵測等關鍵技術問題,實現了實驗系統的核心功能。系統是面向管理類專業(yè)的通用實驗平臺,既適用于課堂教學,又可作為開放性自學平臺。在驅動性、對抗性等方面完善提高后,系統具有較高的推廣價值。
任務驅動;企業(yè)資源計劃;實驗系統;OpenERP軟件
隨著我國企業(yè)信息化建設步伐的加快和企業(yè)資源計劃(enterprise resource planning,ERP)廠商的市場推廣,我國已進入ERP普及時代。人才作為ERP實施成敗的關鍵因素,企業(yè)對其質和量的需求與日俱增,ERP應用能力已成為社會對高校管理類(包括管理學類、物流類、工業(yè)工程類等)專業(yè)人才培養(yǎng)的新需求[1-4]。
面對社會對ERP應用人才的日益增長需求,作為ERP人才培養(yǎng)的主陣地,高校的應變和調整相對滯后,主要表現為:多數管理類專業(yè)培養(yǎng)方案未將ERP課程列入必修課程;一般不獨立設置ERP實驗課程,ERP實驗課時極為有限。受軟硬件、師資、學時等條件制約,加之教學中存在的理論與軟件操作脫節(jié)、實驗內容系統性差、實戰(zhàn)性不強等問題,ERP實驗開設困難和教學效果不佳的問題在國內高校中普遍存在[5-8]。
從學生自學角度來看,由于缺乏必要的激勵和引導,豐富的書籍、教程(圖文、視頻)、試用軟件等學習資源卻得不到充分有效地利用。在課堂之外,能夠系統學習ERP的學生少之又少。
針對上述問題,從建構主義教育理念出發(fā),運用情景性、沉浸感、任務驅動、隨機性等游戲設計要素[9-10],筆者設計開發(fā)了基于任務驅動的ERP仿真實驗系統,旨在為管理類專業(yè)學生提供一個開放性實驗平臺。
1.1 系統設計思路
實驗系統集成開源ERP系統進行設計,包括導學系統和ERP系統,如圖1所示。在導學系統中,將ERP的基本概念、理論、方法同ERP軟件功能結合起來[11],按照由淺至深、通專結合的原則,將傳統課堂上的實訓題目,設計成為新手任務、進階任務、專家任務等各種任務項目;用戶在導學系統中開啟任務,按照任務向導提示,在ERP系統中完成當前任務指定的業(yè)務操作。導學系統根據用戶的客戶端操作行為和ERP系統數據庫的數據變動判別任務完成情況,任務完成后,導學系統給予用戶一定的經驗值和財富值獎勵,并記錄可供考核的日志。該系統綜合運用任務驅動、情景模擬、榮譽激勵等方法,系統性地引導學生完成銷售、生產、采購、倉庫、會計等日常業(yè)務處理任務,以及針對特定專業(yè)設計的實戰(zhàn)性、專業(yè)性更強的業(yè)務操作任務。通過大量的任務訓練,可加深學生對企業(yè)管理業(yè)務流程、ERP理論、ERP軟件系統等的認識和理解,能使其積累一定的軟件實操經驗和管理實務經驗,并形成繼續(xù)學習ERP的動力和興趣。
圖1 實驗系統整體架構
針對實驗教學中理論與軟件實操容易脫節(jié)的問題,任務設計采用向導式設計。任務向導既為學生提供連續(xù)完整的情景信息,包括時間(時機)、人物、地點(部門)、劇情等,又盡可能將體現在ERP軟件中的理論知識揭示出來。換言之,學生在完成任務時,能夠弄清任務的時間、部門、人物、事件等相關要素,能夠感知物料、資金、信息的流動,能夠搞清楚所模擬業(yè)務流程的來龍去脈。
考慮到各專業(yè)教學要求和目標的不同,導學系統支持企業(yè)類型和角色類別定制。用戶在注冊時,可設置模擬企業(yè)的類型,如商貿業(yè)、制造業(yè)等;用戶登入系統后,可隨時切換自己的角色類別。系統會根據角色類別,在其業(yè)務范圍內生成實訓任務。
1.2 系統功能設計
導學系統的主要功能模塊包括任務、沙盤、伙伴、測評、對話、消息、日志等,以下重點介紹任務模塊。
任務模塊的作用是開啟、偵測和處理實訓任務。系統根據用戶屬性(專業(yè)、級別等)和ERP系統現有經營數據,循序或隨機從任務庫中調取任務,并提醒用戶有新任務產生。用戶開啟任務后,系統將定時(如每隔0.5 s)跟蹤用戶的鼠標操作行為,當偵測到ERP系統中標志性按鈕被點擊后,延時數秒等待ERP系統處理完畢,而后調用任務處理程序,在ERP數據庫中查詢當前任務相關數據的變化情況,如數據的增減、更新等,并依此判斷任務是否完成。任務完成后,系統隨即或按隨機的時間間隔,調取下一個新任務。標志性按鈕是指“保存”“審核”“入庫”等表單提交按鈕,當其被點擊后,ERP數據庫可能發(fā)生變動。
任務模塊共設計新手、進階、專家等三類任務。新手任務用于引導學生錄入ERP基礎資料,完成一個銷售訂單的完整業(yè)務流程操作,如圖2所示。進階任務難度稍大,所模擬的業(yè)務更接近生產實際,如銷售業(yè)務要考慮折扣、客戶信用等,按照ERP的功能,可分為銷售、采購、倉庫、生產、會計等類別,在調用時,根據用戶的專業(yè)或角色類別,按照權重隨機調取,若用戶是市場營銷專業(yè)或銷售主管,則系統會更多地調取銷售類任務。由于企業(yè)的大部分業(yè)務是訂單驅動的,因此,銷售訂單任務在進階任務中的產生概率最大。專家任務的專業(yè)性、綜合性最強,如銷售預測、排程、分析財務報表等。
圖2 新手任務表(部分)
其他模塊主要為提高系統可視性、互動性和趣味性而設置。沙盤模塊是一個簡單可視化信息看板,用于增強用戶的情景體驗,系統能根據ERP數據庫中的基礎資料,按照設定布局規(guī)則,在沙盤上繪制車間、工作中心、倉庫、部門、合作伙伴的圖標(可制作成動畫,如運行中的生產線、入庫、出庫等),并動態(tài)調用相關信息,構成一幅直觀的企業(yè)經營狀態(tài)圖?;锇?、對話、消息等模塊是用戶之間的交流互動平臺。在伙伴平臺上,ERP用戶之間能夠建立供應鏈合作關系,開展銷售、采購等業(yè)務,用戶還能在其他用戶系統中擔任角色,開展分角色協同操作;對話、消息系統為用戶間溝通和交流的工具。測評模塊為在線考試系統,用于測試用戶的ERP知識技能水平。日志模塊主要記錄和顯示用戶的任務完成情況,日志數據詳細記錄了用戶登錄、任務完成等信息,日志數據清單可作為實驗報告的附件。
1.3 系統界面設計
實驗系統主界面采用左右框架結構,左框架顯示ERP系統軟件界面,右框架加載導學系統頁面,如圖3所示。導學系統的所有子窗口均采用對話框形式進行設計,在導學系統中點擊對話框按鈕,即打開相應的對話框窗口。為方便用戶操作,在左框架中設置有隱藏/顯示切換按鈕,用戶可根據需要隱藏或顯示導學系統界面。
圖3 實驗系統界面
2.1 開源ERP軟件選擇
從功能覆蓋率、應用普及度、源碼開放度、開發(fā)歷史及影響、發(fā)展勢頭等多方面甄選,我們選擇OpenERP作為本實驗系統的ERP軟件平臺。
OpenERP是由比利時Tiny Sprl公司開發(fā)的一款開源ERP軟件,目前,最新穩(wěn)定版本為7.0。OpenERP使用Python語言開發(fā),采用開源的PostgreSQL數據庫,系統基于APGL開源協議發(fā)布,擁有上千個功能模塊,其中官方標準模塊有100多個,涵蓋企業(yè)在銷售、采購、庫存、財務、生產、人力資源等方面的管理需求[12]。因其在易用性、第三方支持、定制和擴展等方面的優(yōu)勢,被Infoworld評為2012最佳開源ERP軟件[13]。
2.2 開發(fā)方式選擇
盡管OpenERP為二次開發(fā)提供了良好的支持,但對于導學系統而言,并不適合在OpenERP技術架構下進行開發(fā)。首先,若使用OpenERP的Python框架開發(fā)[14],則導學系統和原ERP系統耦合度高,ERP版本升級時,需要對導學系統進行大量的修改和調試工作;其次,掌握OpenERP的技術細節(jié),需要較長的學習和研究時間。因此,導學系統開發(fā)宜采用相對獨立的開發(fā)方式,即導學系統和ERP系統在服務器端相互獨立,而在客戶端則有機融合,兩者共用同一數據庫。
針對上述開發(fā)方式,系統環(huán)境按下述方案進行部署:(1)安裝PostgreSQL數據庫,建議使用9.0以上版本;(2)安裝OpenERP server,XML-RPC端口設為8080;(3)安裝Apache、PHP,配置PHP應用程序運行環(huán)境,HTTP端口為80;(4)配置A-pache反向代理功能,將其根目錄指向OpenERP server;(5)在Apache根目錄下創(chuàng)建一個子目錄,存放導學系統程序文檔,Apache對該目錄不進行代理,如圖4所示。按此部署,導學系統在服務器端可獨立于ERP系統運行,既有利于日后ERP系統升級,又讓開發(fā)者擺脫了ERP系統的技術框架,使其能夠選擇自己熟悉的程序語言(如PHP、JSP等)進行開發(fā)。
在以上的系統部署方案中,借助反向代理技術,導學系統和OpenERP系統能夠共用同一個URL空間(域),可有效避開瀏覽器對框架間跨域操作的安全限制,解決了兩者在瀏覽器端集成時的跨域難題。
圖4 系統部署方案
2.3 關鍵技術實現
在導學系統的各個功能模塊中,同ERP系統聯系密切的模塊,一般開發(fā)難度較大。下面著重介紹這些功能模塊中的關鍵技術。
2.3.1 鼠標點擊事件的監(jiān)聽機制
在任務模塊中,導學系統通過偵測標志性按鈕的鼠標點擊事件,來激發(fā)任務處理程序。這一工作機制的實現分三個步驟實現:(1)修改ERP系統CSS文件,在ERP系統界面中,為目標按鈕添加新的CSS類,相當于作標記,使其成為導學系統可檢出的標志性按鈕;(2)在導學系統創(chuàng)建JavaS-cript函數,命名為taskCheck,該函數的功能是利用JQuery技術[15],根據CSS類名,從ERP系統頁面中檢出標志性按鈕,并為其添加一個鼠標點擊事件函數,命名為taskhander。taskCheck函數按定時器設定的間隔(如0.5 s)重復執(zhí)行,當用戶點擊標志性按鈕時,觸發(fā)導學系統中定義的taskhander函數;(3)taskhander執(zhí)行時,采用Ajax技術調用服務器端上的任務處理程序。
2.3.2 任務的生成機制
任務模塊主要使用兩個數據表:任務表和活動任務表。任務表存儲任務編號、名稱、說明、信息、經驗值、財富值、類別等數據;活動任務表存放已載入的任務信息,包括任務編號、用戶編號、任務狀態(tài)(待開啟、進行中、完成、放棄、過期)等數據。
任務生成是指從任務表中抽取任務信息并將其寫入活動任務表的過程。新手任務生成時,先在活動任務表中查詢已載入任務的最高等級,再從任務表中調取下一等級任務;進階任務、專家任務生成時,先從任務表中隨機抽取一條任務,檢驗其是否滿足加載條件,若滿足,則將其寫入活動任務表。以“處理今日到期的發(fā)貨單”任務為例,今日有到期的發(fā)貨單時則加載,否則不加載。
進階任務、專家任務生成過程具有較強的隨機特性。首先,任務生成的間隔是隨機的,在任務模塊中,通過瀏覽器定時器來隨機調用任務生成程序;其次,生成任務的類型是隨機的;最后,任務信息是隨機的。例如,任務相關的客戶、物料等信息,都是從ERP系統數據庫中現有數據中隨機抽取的。
2.3.3 任務的處理機制
在ERP系統中,用戶大多數操作都會引起數據庫的數據變動包括數據插入、更新、刪除等;任務模塊依此來判別任務的完成情況。查詢任務相關的ERP數據表,若發(fā)現有與預期相符的數據變化,任務處理程序則判定任務完成。以“完成一個銷售訂單”任務為例,若任務處理程序在ERP系統的sale order表中,檢索到新增一條狀態(tài)為“done”的記錄,則表示任務完成;若在任務信息中指定了客戶名稱、商品名稱、數量等信息,查詢時也要判斷這些約束條件是否滿足。
任務處理程序在執(zhí)行時,根據任務編號或等級調用相應的處理函數。當任務完成時,更新用戶表、活動任務表、日志表等相關數據表,并做好加載新任務準備。
目前,存在以下問題:(1)實驗系統對學生自學活動的驅動力還有待加強;(2)用戶間的對抗性偏弱;(3)OpenERP系統的核心邏輯同教材所描述的原理方法差異大;(4)OpenERP運行時占用系統資源較多,對服務器性能要求高。測試過程中,當20~30個用戶同時登錄時,系統頻繁超負荷,影響用戶訪問。
現階段的開發(fā)工作側重于技術可行性探索,在模擬情景設計、任務編排及其實戰(zhàn)性等方面暫未進行深入研究,這是系統驅動力不足的主要原因。今后將通過提高系統的情景性、趣味性和實戰(zhàn)性,來增強系統的內在吸引力和驅動力。在實驗系統中,除使用經驗值、財富值、等級外,暫無模擬經營業(yè)績的評價指標,這是系統對抗性弱的主因。這一問題是后續(xù)研究的重點。由于OpenERP是面向中小企業(yè)用戶的簡易ERP系統,在功能和流程方面,同商業(yè)ERP系統有一些差異,通過導學系統的補充和增強,可以使這一問題得以部分解決,如添加銷售預測功能。至于系統負荷問題,可通過升級服務器或負載平衡來解決。
針對ERP實驗教學中的主要問題,設計開發(fā)了基于任務驅動的ERP實驗教學系統。系統借用游戲設計方法,將ERP原理知識和軟件操作結合起來,設計成為任務項目。學生在系統設計的模擬情景中,在任務驅動下,能夠輕松、主動地完成ERP業(yè)務操作。在深入理解ERP理論知識的基礎上,獲得一定實務經驗和軟件操作技能。系統適合于管理類專業(yè)學生使用,支持分角色扮演,既可用于實驗課堂教學,又可作為課外自學平臺。
系統基于OpenERP系統進行開發(fā),運用反向代理、數據庫、JQuery等技術,解決了框架跨域訪問、鼠標點擊事件跟蹤、任務生成與處理等關鍵技術,成功實現了ERP系統與所開發(fā)導學系統的集成和融合。
目前,大多商業(yè)ERP系統已支持Web訪問,運用本實驗系統的設計思想和開發(fā)模式,基于商業(yè)ERP系統能否成功開發(fā)類似的實驗系統,值得探索和嘗試。本實驗系統經進一步完善后,具有較大的推廣價值。
[1]張濤.企業(yè)資源計劃(ERP)原理與實踐[M].北京:機械工業(yè)出版社,2010.
[2]周玉清,劉伯瑩,周強.ERP原理與應用教程[M].北京:清華大學出版社,2010.
[3]張莉莉.新編用友ERP生產管理系統實驗教程[M].北京:清華大學出版社,2009.
[4]文洋,尹風霞.SAP從入門到精通[M].北京:人民郵電出版社,2010.
[5]耿麗麗,李偉.ERP仿真綜合實驗平臺的構建及教學模式探討[J].實驗室研究與探索,2011,30(6):201-203.
[6]陳暢,嚴志剛.高校ERP實踐教學體系創(chuàng)新研究[J].沈陽教育學院學報,2009,11(2):72-73.
[7]徐愛,高樹風,趙鶴芹.經管類專業(yè)ERP綜合實踐教學體系的構建[M].實驗室研究與探索,2012,31(2):185-188.
[8]劉新艷,吳琨.提升工商管理類學生專業(yè)能力的ERP實驗教學探討[J].中國大學教學,2010(10):70-72.
[9]張慶華,彭曉英.基于情境設計的ERP綜合實訓模式[J].實驗室研究與探索,2011,30(6):370-372.
[10]Adams E,Rolling A.游戲設計基礎[M].王鵬杰,董西廣,霍建同,譯.北京:機械工業(yè)出版社,2009.
[11]吳葉葵,唐志豪.“ERP軟件應用”課程開放式實驗教學模式探索[J].實驗室研究與探索,2012,31(7):202-205.
[12]Fabien Pinckaers,Geoff Gardiner.OpenERP Book[EB/ OL].[2013-03-27].http://doc.openerp.com/ v7.0/book/index.html.
[13]Infoworld.The Best Open Source Applications[EB/OL].(2012-09-18)[2013-03-27].http://www. infoworld.com/slideshow/65165/bossie-awards-2012-the-best-open-source-applications-202530.
[14]李勇,王文強.Web程序員成功之路:Python Web開發(fā)學習實錄[M].北京:清華大學出版社,2011.
[15]趙增敏.jQuery全面提速[M].北京:機械工業(yè)出版社,2010.
Development and Exp loration of ERP Training System Based on Task-driven Approach
SONGWeibin1,CHEN Bing2
(1.School of Energy Science and Engineering,He'nan Polytechnic University,Jiaozuo 454000,China;2.College of Information Engineering,Jiaozuo University,Jiaozuo 454000,China)
Direct against themain problems of ERP practice training in universities,applying game theory and design elements,the ERP training system based on task-driven approach was designed.The training system was developed on the basis of open-source Open-ERP.The system consists of two parts:ERP system and guiding system,which are independentof each other on the server side,integrated mutually on the browser side,and share the same database service.We applied various web application technologies,such as reverse proxy,database and JQuery,the key technical problems of access across domains,tracking online behavior of users,listening changes of database tableswere successfully solved,and the core functionality of the system was implemented.As a generalexperiment platform formanagementmajors,it applies to both classroom teaching and self-learning.The system has a great promotional value after further improvement.
task-driven approach;enterprise resource planning;experimental system;OpenERP software
TP31
A
10.3969/j.issn.1672-4550.2014.05.018
2013-09-26;修改日期:2013-10-29
宋維賓(1976-),男,在讀博士,實驗師,研究方向:礦業(yè)工程。