MES系統(tǒng)實施過程中,由于各企業(yè)情況不同,必然會存在一些無法滿足企業(yè)需求的情況,雖然系統(tǒng)通過參數(shù)調(diào)整可以滿足部分需求,但很多情況下都需要改動原有程序、甚至需要修改原始數(shù)據(jù)庫結(jié)構(gòu)來滿足需求。
MES系統(tǒng)二次開發(fā)的原因
1.用戶不接受新系統(tǒng)的操作習慣
MES產(chǎn)品為了保持較強的通用性,功能跟流程的設(shè)置都是標準與規(guī)范的。但在實施時,除了業(yè)務(wù)流程等方面具有個性化需求外,還存在著一些不涉及業(yè)務(wù)流程的、由企業(yè)的特殊性而產(chǎn)生的操作習慣需求,而提出了大量的二次開發(fā)。
2.企業(yè)不規(guī)范的管理制度造成的特殊流程需求
大部分企業(yè)都想把現(xiàn)有的手工流程、手工作業(yè)全封不動的搬到MES中去,而不分析規(guī)范化的流程與企業(yè)原有流程的優(yōu)劣性,固執(zhí)的堅持采用目前的管理手段、管理習慣,要進行必須二次開發(fā)來滿足其需求。
3.MES軟件確實無法滿足的需求
MES系統(tǒng)屬于行業(yè)通用軟件,但每個企業(yè)是有其自身的特點,確實也存在著一些個性需求,要進行二次開發(fā),既要吸納軟件中的先進管理思想,也要保持企業(yè)的特色。
4.接口需求
信息化建設(shè)涉及多套系統(tǒng),如OA、ERP等,而各系統(tǒng)的數(shù)據(jù)之間存在信息共享,有系統(tǒng)接口需求,二次開發(fā)也成為必然。
5.新的需求產(chǎn)生
隨著項目實施的不斷深入,企業(yè)人員對信息系統(tǒng)有了更深的了解,應(yīng)用不斷深入,對信息系統(tǒng)產(chǎn)品就會提出更多的要求,使系統(tǒng)更貼合企業(yè)運營。
MES系統(tǒng)二次開發(fā)的可能帶來的風險
1.過多二次開發(fā)會增加系統(tǒng)升級難度
MES供應(yīng)商會階段性的對系統(tǒng)新功能進行完善與擴充,不斷推出新版本。系統(tǒng)的升級只針對標準版,不會考慮到個性化和二次開發(fā)的部分,所以二次開發(fā)工作大部分要重新修改或者開發(fā)。
2.二次開發(fā)會降低系統(tǒng)穩(wěn)定性
成熟MES軟件具有較高的穩(wěn)定性。而二次開發(fā)只對單一用戶,某局部的更改往往因為滿足特殊需求而沒有考慮對全局的影響殃及整個系統(tǒng)的穩(wěn)定性,并且二次開發(fā)的測試和試運行時間有限,系統(tǒng)復(fù)雜度以及耦合度增大,降低系統(tǒng)的穩(wěn)定性。
3.二次開發(fā)有時會偏離企業(yè)實施MES系統(tǒng)的初衷
二次開發(fā)需求往往會使MES系統(tǒng)合理的邏輯屈服于企業(yè)固有的、習慣的工作方法,也會因提高不同部門員工使用系統(tǒng)的效率,而影響流程的穩(wěn)定性。企業(yè)無法借鑒系統(tǒng)優(yōu)化流程,學(xué)習先進管理模式。
4.二次開發(fā)增加MES項目的成本
因為規(guī)模效應(yīng),產(chǎn)品軟件的價格相對于其實施費用是偏低的。而二次開發(fā)只針對唯一用戶,所以這些程序開發(fā)的全部成本由其承擔,即使用企業(yè)自行二次開發(fā),也要投入人力、物力,必然會增加MES項目的成本。
MES二次開發(fā)的風險控制
盡管各企業(yè)都有不同需求,但必須把握好二次開發(fā)的原則:實施MES二次開發(fā)項目的目的是提升企業(yè)的管理水平,優(yōu)化企業(yè)的流程。因提升個別工作效率而會影響業(yè)務(wù)流程的穩(wěn)定性,堅決不做;因工作效率提升,并未對業(yè)務(wù)流程以及管理水平有幫忙的開發(fā),盡量少做。
1.對整個企業(yè)的業(yè)務(wù)進行規(guī)劃,二次開發(fā)要有所取舍
對于制造企業(yè),會涉及到CAD、PDM、CAPP、ERP、MES系統(tǒng),并存在接口集成等,因此要根據(jù)企業(yè)情況,從整體考慮,而不是從某個功能點或某個業(yè)務(wù)部門去考慮。企業(yè)不應(yīng)過多強調(diào)自身的特點,畢竟MES中的管理流程具有一定的先進性和合理性。某些特殊之處是由企業(yè)流程自身的不合理產(chǎn)生的,應(yīng)通過MES的實施,對企業(yè)的業(yè)務(wù)流程進行優(yōu)化重組,而不是一味修改軟件以適應(yīng)不合理的流程。
2.利用原有的“閑置”字段,避免改動數(shù)據(jù)庫結(jié)構(gòu)
對于會牽涉到新增字段而影響到原有數(shù)據(jù)庫結(jié)構(gòu)的開發(fā),盡量利用系統(tǒng)原有的“閑置”字段,不要輕易新增字段或文件檔案。如確實需要的要與原開發(fā)商進行確認,以避免二次開發(fā)與產(chǎn)品發(fā)展方向重疊或沖突,以降低日后版本升級的困擾。
3.不要隨意修改核心代碼,新功能好自成模塊
要嚴格遵守不修改核心代碼這一原則。如果必須開發(fā),則應(yīng)盡量使二次開發(fā)的功能模塊獨立于原來的系統(tǒng)。這樣當系統(tǒng)版本更新時,二次開發(fā)出來的模塊無需修改或者只需較少的修改就可以應(yīng)用于高版本系統(tǒng)。
4.建立二次開發(fā)的規(guī)范
二次開發(fā)要建立一套完整的開發(fā)流程與標準。新擴充的字段、新建程序的命名制定統(tǒng)一規(guī)范,并且要預(yù)留擴充空間。公用組件不建議修改,程序的編寫應(yīng)采用繼承的方式。
5.避免開發(fā)人員流失
培養(yǎng)一支既懂管理科學(xué)又懂信息技術(shù)的復(fù)合型、專業(yè)化人才隊伍是企業(yè)信息化建設(shè)韻重中之重。留住IT人才也是規(guī)避企業(yè)MES二次開發(fā)風險的策略。
結(jié)語
企業(yè)MES系統(tǒng)二次開發(fā)具有十分重要的意義,MES實施的成功率和實施效益具有參考價值,不僅要貼合企業(yè)管理,還要助力企業(yè)全面發(fā)展。