隨著信息技術(shù)的進步及激烈市場競爭的多元化,引進ERP這種代表了世界上最先進的管理思想和方法的管理信息系統(tǒng)是大勢所趨。許多國內(nèi)外著名公司基于自身的信息技術(shù)并根據(jù)企業(yè)整合的方法論開發(fā)出完整且復雜的ERP系統(tǒng),堪稱是企業(yè)參考模型的最佳典范。但是企業(yè)的業(yè)務(wù)流程與企業(yè)的文化特質(zhì)是互不相同的,因此在導人ERP的過程中經(jīng)常會產(chǎn)生ERP無法滿足企業(yè)本身需求或與企業(yè)產(chǎn)生不合適的狀況,因而產(chǎn)生了ERP用戶化和二次開發(fā)的問題。所以在實施ERP系統(tǒng)的過程中用戶化和二次開發(fā)就成為了必不可少的組成部分。
1 用戶化和二次開發(fā)的涵義
當企業(yè)需求與ERP系統(tǒng)發(fā)生不合適狀況時,我們有多種解決方法,而當企業(yè)需求不能做出讓步時則只能改變ERP系統(tǒng)了。用戶化和二次開發(fā)是兩個容易搞混的概念,客戶在項目的實施中對此往往不能很好的區(qū)分。但是如果不加以區(qū)分地將它們混為一談則會出現(xiàn)很多弊端,從工作量和難易度看,用戶化遠遠小于二次開發(fā),而且它們各自適用的原則、步驟都是不同的。
1.1 用戶化涵義
用戶化的涵義即一般把不牽動程序的改動稱為用戶化,如修改報表格式。軟件如果有報表生成功能,或采用第四代語言,任何業(yè)務(wù)人員,不需要有很多計算機知識就可以自行設(shè)置。當然,還需經(jīng)項目實施小組的批準。
1.2 二次開發(fā)涵義
通常把改動程序的工作稱為二次開發(fā),即“以成熟套裝軟件方式針對某用戶實施ERP時,對于軟件功能不適用處進行的修改行為”。雖然系統(tǒng)通過參數(shù)可調(diào)的形式可以部分滿足不同用戶的需求,但很多情況下這種“輕度”靈活會失效。當客戶的業(yè)務(wù)不能通過簡單的用戶化實現(xiàn)時,就需要通過改動程序的二次開發(fā)來完成,如圖l所示。
圖1 ERP系統(tǒng)用戶化和二次開發(fā)
2 解決的主要問題
2.1 國外軟件的本土化
每個國家在歷史、地理、政治、經(jīng)濟、文化等方面的條件各不相同,而反映到企業(yè)中,必然使企業(yè)在管理模式、管理方法等方面有所不同,所以自然會對ERP這樣的管理系統(tǒng)提出不同的要求。而這些要求對大部分國外軟件來說是無法完全實現(xiàn)的。這就產(chǎn)生了對軟件進行用戶化和二次開發(fā)的需求。這種用戶化和二次開發(fā)常常是可以在多家國內(nèi)企業(yè)廣泛使用的,具有本地化的特點。對其程序要求具有產(chǎn)品軟件的質(zhì)量水平和技術(shù)支持水平,才能滿足用戶的需要。
2.2 滿足不同行業(yè)的需求
某種軟件產(chǎn)品的存在依賴于需求和市場。企業(yè)信息化發(fā)展到今天,行業(yè)細分需求特點日益明顯。以制造業(yè)為例,企業(yè)用戶已經(jīng)不僅僅滿足于財務(wù)管理、進銷存管理,更要求對生產(chǎn)制造過程進行現(xiàn)代化管理,以提高核心競爭力。而這方面的需求具有鮮明的行業(yè)特點:同樣是制造業(yè),機械、電子、醫(yī)藥、冶金、化工、紡織、汽車等等對ERP軟件的要求是不同的。即使同為汽車行業(yè),總裝廠、零部件廠、毛坯廠對軟件功能的要求也各有不同。
2.3 適應(yīng)不同的企業(yè)戰(zhàn)略
一個ERP系統(tǒng)是一個通行的解決方案,它的設(shè)計反映了對企業(yè)通行業(yè)務(wù)的基本原則。供應(yīng)商試圖使系統(tǒng)反映最佳的操作,但是這“最佳”的含義往往是由供應(yīng)商而不是由顧客定義的。在多數(shù)情況下,系統(tǒng)能使企業(yè)的業(yè)務(wù)運行比使用前效率更高。但是在有些情況下,系統(tǒng)的設(shè)計恰恰違背了企業(yè)的最佳效益。因此,在具體實施ERP以前,必定需要對企業(yè)、企業(yè)所處的行業(yè)、企業(yè)的客戶以及競爭對手等因素進行具體分析,對業(yè)務(wù)進行合理的分析和調(diào)整來保持并加強企業(yè)的核心競爭力。當ERP的某些理念與企業(yè)的核心競爭力有沖突時,需要對ERP系統(tǒng)進行適當?shù)恼{(diào)整。通過合理的配置。甚至于二次開發(fā)來滿足企業(yè)的需求,而不是一味地修正企業(yè)自身來適應(yīng)系統(tǒng)。
2.4 適應(yīng)用戶企業(yè)的特殊需要
有些使用ERP系統(tǒng)的公司是集團企業(yè),作為集團企業(yè)的成員可能在不同的時期分別使用了自己的ERP系統(tǒng),或者類似的信息系統(tǒng),而作為統(tǒng)一管理這些成員公司的母公司,出于信息化管理的需要,必然希望能對這些不同的REP系統(tǒng)的信息進行匯總管理,這就必然要求各個成員公司的ERP系統(tǒng)能夠提供母公司要求的格式的數(shù)據(jù)。這些數(shù)據(jù)經(jīng)常是系統(tǒng)本身不能提供、或者不能按要求的格式提供的,這就必然涉及到用戶化或二次開發(fā)工作。所以,在使用不同軟件的集團公司中就常常需要進行接口程序的用戶化或二次開發(fā)工作。另外,每個企業(yè)的生產(chǎn)過程是不一樣的,對生產(chǎn)過程的管理與控制也是千差萬別的,所以就往往會提出本企業(yè)的一些特殊要求。這些要求可能是部分流程邏輯的改變,也可能是一些特殊格式的報表,但是其共同的主旨是適應(yīng)企業(yè)獨特的需要,對通用軟件進行用戶化或二次開發(fā)。
3 二次開發(fā)的類型
ERP項目二次開發(fā)常常涉及以下方面的需求。
3.1 接口需求
由于企業(yè)所使用的系統(tǒng)常常不只ERP一個,而各系統(tǒng)的數(shù)據(jù)之間常常會有所交叉,這就產(chǎn)生了不同系統(tǒng)之間接口的需求。一般來講,接口程序的編制都要由接口雙方系統(tǒng)所屬的公司共同完成,所以就在技術(shù)之外,先要有雙方如何配合的問題。在需求分析上,要求接口雙方和用戶企業(yè)大力配合,才可以確定真正的接口需求。
3.2 報表需求
報表需求的產(chǎn)生一般都是由于各單位需要符合自己特殊要求的報表。其特點有以下幾點。
(1)不需要修改數(shù)據(jù)庫中數(shù)據(jù),而只是進行查詢和讀取。
(2)一般對導出的數(shù)據(jù)字段內(nèi)容及格式要求較嚴格。
(3)常常會不斷有新的需求產(chǎn)生。
根據(jù)這些特點,應(yīng)該鼓勵用戶自己參與報表的開發(fā)工作,這樣做的理由是:報表的開發(fā)不會破壞系統(tǒng)邏輯或者修改系統(tǒng)數(shù)據(jù),所以交給用戶做是安全的,系統(tǒng)提供了方便的編制報表的工具。用戶自己開發(fā)報表,更容易了解最終用戶對內(nèi)容和格式的要求。今后在項目實施階段完成以后,遇有新的需求時。用戶可以自行進行報表的開發(fā)。可以節(jié)約用戶支付給開發(fā)商的軟件開發(fā)費用。
3.3 邏輯修改需求
一個真正成熟的軟件系統(tǒng),其實施過程中需要進行的邏輯修改很少,進行時也要采取非常謹慎的態(tài)度。進行邏輯修改之前要先確認要進行的修改在邏輯上是合理的,在實現(xiàn)上是可行的。并且充分了解用戶需求,設(shè)計出性價比最高的解決方案。同時要注意所采用的解決方案及其程序?qū)崿F(xiàn)可以滿足需要的性能要求和健壯性,并且界面相對容易掌握。因為要進行修改的是個大系統(tǒng),所以要整體的看所要做的修改對系統(tǒng)的整體影響,不要顧此失彼,對整個系統(tǒng)的穩(wěn)定運行造成影響。另外,要建立詳細的文檔,以保證將來在需要對系統(tǒng)進行升級時,可以在新版本中重建這些二次開發(fā)的部分。
4 二次開發(fā)的管理重點
4.1 全面了解用戶需求
了解用戶需求表面上看是很容易的,但實際上卻需要很大的努力。有些資深顧問認為,了解用戶需求的時間往往超過整個開發(fā)項目總時間的1/4,甚至有時在小項目中可以超過總用時的1/3。其困難主要是有以下幾點。
(1)用戶無法用專業(yè)詞匯、專業(yè)邏輯來表述其需求,而程序開發(fā)人員又缺少用戶企業(yè)環(huán)境的背景,造成雙方溝通的困難。
(2)用戶企業(yè)組織不利,造成每個部門,甚至每個人都有對二次開發(fā)有不同的要求。
(3)用戶總是在自覺不自覺中希望重復企業(yè)原有的,不合理的生產(chǎn)邏輯。
基于上述可能產(chǎn)生的問題,就需要在了解用戶需求時本著真正對用戶負責的原則,耐心、細致、科學、系統(tǒng)地了解用戶需求。①針對困難(1)就需要在進行二次開發(fā)設(shè)計之前,對戶進行教育、培訓,至少使主要的核心用戶不僅了解ERP軟件的使用方法,同時也了解ERP的內(nèi)在邏輯,真正懂得ERP。這樣,供求雙方才能使用共同語言,在共同邏輯基礎(chǔ)上討論ERP二次開發(fā)的需求。②針對困難(2)要注意以下兩點。一是幫助用戶建立合理的項目隊伍。只有項目隊伍有合理的組織結(jié)構(gòu),才可能匯總、優(yōu)化各個不同部門,不同個人的不同的需求。二是要求所有主要核心用戶都參加整個ERP培訓,而不只是自己工作相關(guān)模塊的培訓,這樣才能讓他們樹立全局的觀點,自覺把自己的、本部門的需求與ERP項目整體的需求相結(jié)合,得到完整的、一致的需求。③針對困難(3)就需要負責二次開發(fā)的技術(shù)人員本著對用戶對項目負責的原則,深入地理解ERP系統(tǒng)的整體邏輯,與項目的實施人員緊密配合,真正了解用戶的需求。這個工作有時甚至可能是一種極具挑戰(zhàn)性的工作,不僅需要科學的態(tài)度,還要需要藝術(shù)的方法。
4.2 判斷二次開發(fā)要求的合理性
對于軟件的二次開發(fā)有時是不可避免的。但是,過多的修改又會影響ERP項目的順利實施。那么,二次開發(fā)是否要做的標準是什么呢?也就是說如何判斷用戶化要求是否合理,從而有效的防止過多的修改呢?有3個方面的工作可以防止過多的修改,即教育、標準軟件和管理。
4.3 區(qū)分及處理二次開發(fā)上線前、后階段
在實際進行二次開發(fā)工作時,首要之事就是區(qū)分哪些二次開發(fā)是屬于上線前一定要完成的,哪些二次開發(fā)是屬于上線完成后才慢慢來進行的。前者指的是那些“不改的話根本無法上線”的二次開發(fā),后者指的是那些屬于重要性不高,不會影響上線的二次開發(fā)。如果不能對二次開發(fā)進行有效的區(qū)分,會模糊上線實施的管理重點,進而影響上線的進度甚至質(zhì)量。
4.4 盡量避免更動數(shù)據(jù)庫結(jié)構(gòu)
新增或修改原有的報表或查詢程序,不會影響系、統(tǒng)的原有數(shù)據(jù)庫結(jié)構(gòu),因此不會造成日后系統(tǒng)升級的困擾。但是,如果二次開發(fā)牽涉到新增字段或檔案,就可能影響到原有數(shù)據(jù)庫結(jié)構(gòu),此時,最好的方式就是盡量利用系統(tǒng)原有的“閑置”字段,不要輕易新增字段或文件檔案。如果有改動較大的二次開發(fā),其規(guī)格應(yīng)當請軟件原開發(fā)廠商確認,以避免二次開發(fā)與產(chǎn)品發(fā)展方向重疊或沖突,以降低日后版本升級的困擾。
4.5 建立二次開發(fā)的規(guī)范
二次開發(fā)是一項龐雜的系統(tǒng)工程,決不是簡單系統(tǒng)代碼的增增減減,二次開發(fā)的文檔應(yīng)該由專人保管,而代碼注釋也必須清晰易懂,還必須有專人負責檢查代碼質(zhì)量。新擴充的字段命名、新建程序的命名都應(yīng)該由專人分配,首先不能和現(xiàn)有系統(tǒng)沖突,同時還應(yīng)預留一定的空間。對于公用元件一般不建議修改,因為公用元件被很多程序調(diào)用。在程序的編寫上應(yīng)采用繼承的方式,在保證不破壞原有功能的基礎(chǔ)上做個性化的功能完善。如要修改處理業(yè)務(wù)邏輯.則分兩種情況:一是修改原有程序中的處理邏輯,將局部的繼承去掉,重寫新邏輯。二是在原有功能基礎(chǔ)上新增,保留繼承關(guān)系,在新的子文件中只完成新功能的實現(xiàn)即可,當版本升級時,二次開發(fā)的程序惟一要做的就是繼承新版本的源代碼作重新編譯。
5 結(jié)論
ERP系統(tǒng)用戶化和二次開發(fā)具有十分重要的意義,本文旨在從中總結(jié)出一些普遍性的經(jīng)驗和教訓。對提高ERP實施的成功率和實施效益具有參考價值,從而使得ERP能夠真正的發(fā)揮作用,提高企業(yè)決策體系和市場運作體系的反應(yīng)水平,提高企業(yè)捕捉發(fā)展機遇、規(guī)避市場風險的能力,提高企業(yè)的核心競爭力、加快企業(yè)的市場反應(yīng)機制,并最終推動企業(yè)的發(fā)展。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文網(wǎng)址:http://www.guhuozai8.cn/html/support/1112152626.html