一個人在一年內寫一套ERP程式

一個人在一年寫一套ERP程式, 可能嗎?

        筆者是朝正面且樂觀看待此事,認為一個人在一年內寫一套ERP程式是有可能的。當然,首先要滿足以下前題條件下才有辦法完成此項工作。

1.ERP程式的執行平台須為Windows 桌面版。
        桌面版的設計階段和執行速度均比Web 版要方便且快速,如用 web 版來設計 ERP,筆者認為不太可能在一年內完成所有的程式,因為寫Web 程式非常耗時耗工(足厚工),有分前端後端程式還要搞定各廠牌瀏覽器(還有瀏覽器版本問題)差異就夠你忙了,時間都被耗廢在這邊,程式寫作時間都被縮減了,因此,建議還是使用桌面版的ERP程式比較有可能在一年內完成ERP程式。
       現在因駭客多,有些公司怕被入侵,因此,將Web版的ERP 對外的Port關閉,只限內部使用,這樣使用Web設計ERP的優點就消失了,還不直接用Winfomr桌面版ERP。

2.程式語言要選C#
        C# 具備簡捷快速方便的特性,是寫ERP首選程式,最重要就是C# 有 Form 的表單繼承功能,可減少大部份的工作時間,不用每支Form 都從頭開始寫。另外也要必須具備一定的使用C# DLL的方法和經驗 ,否則ERP全部數百支的FORM寫在同一支執行檔裡,執行檔案SIZE 恐要超過20 MB ,這20 MB 的ERP 程式一執行,個人電腦的記憶體就被耗光了,其他事情就不用做了。

3.取消(或減少)報表設計工作
        在ERP程式寫作工作中,除了建立FORM程式外,另外工作量最多的就是寫報表了,如取消報表工作將可加快完成ERP程式。
        早期無電子表單,資料文件都要印出來供主管簽名確認,現在都電子化,可直接線上簽核就可,因此,設計報表的工作極乎可省略或減少9成的報表工作。減少報表的工作後,作業時間可全部專注在Form的程式創作,ERP專案才有可能在一年內完成。

註:這邊所謂的線上簽核不是去買一套電子表單流程簽核,而是直接在ERP Form 程式中直接審核按核准即可。

4.取得某大ERP廠商完整且全套的說明書
        在這些大廠ERP說明書裡有詳細的程式介紹和流程還有一些基本的計算公式可供使用,最重要的是這些說明書裡有完整的Form 畫面控件編排(Layout)可供參考,在寫Form程式時你只要照說明書去排版就可,省略了最耗時間的表單畫面編排工作,這在提昇ERP完成時間起了很大的作用。
另外有一個比較模糊地帶,如果你可以拿到台灣某大廠ERP的DB資料庫,那後台建立Table 的工作時間也可省略,加快你的ERP程式進度。

5.支持自行開發ERP的最高主管 ,
        正常此案企劃一定會由高級主管核准通過才實施,所以,一開始高級主管是同意的,但就怕實施到一半時底下人員開始有悲觀心態或閒言閒語出現,因一年的時間裡,只見這位設計師坐在位置上什麼事也沒做,只是在一直打電腦,薪水卻領的比別人多,其他同事心理難免有不平的地方。這種悲觀的反應如只有一位反應還好,最怕是多人群體反應,遇到多人反應就算意志再堅強的主管也會受其影響而草草結束此專案。

6.經驗豐富的ERP程式設計人員 
        這是這項專案成功最關鍵的因素,一定要有一位經驗豐富的程式設計師來主導一切,從計劃的規劃到程式設計等一系列的工作都要能全部包辦並能做好,做滿,所以這位設計師承擔此計劃的關鍵靈魂人物。
如果沒有找到一位經驗豐富的程式設計師來主導一切,建議此計劃暫不實施,公司的ERP軟體還是由軟體公司提供較好。

7.查詢視窗模組化
     ERP 另外一個比較耗時的工作就是要去建立這支程式專屬的查詢視窗程式,ERP每一支程式都要建立專屬於這支程式的查詢視窗程式,目的是方便操作者輸入條件查詢歷史資料。由於查詢視窗是這支程式專屬的,因此,每一支程式都要做查詢視窗,非常耗時間去設計。但如果可以將這查詢視窗程式模組化,不需要每支程式都重新設計,只要在程式Call In就可以,這樣ERP 完成時間可加快不少。

8.Form控件程式產生器
    眾所周知,WinForm程式的操作界面就是在設計階段時從IDE工具箱內去拉控制元件,例如Label、TextBox 等拉至Form 內,再依元件命名規則重新命名這些元件名稱並賦與中文意義文字等,過程有點繁鎖費時(又有點煩)。
     一日筆者在拉控件時,突想到,我不是會寫程式,何不乾脆自己寫一支自動產生Form控件產生器程式,按一個按鈕即可產生上述的控件的程式碼,再貼入C#中,這樣可節省自製ERP不少的時間。於是花了3天時間修修改改完成這支程式,以後控件基本上不用再拉了,直接用程式產生了。

9.會使用C# Form 繼承
    如果程式設計師會使用C# Form 繼承功能則對這套ERP是否在一年內完成起到關鍵作用,因為寫ERP 最耗時的工作就是寫程式,約佔整個工作的80%,如果能夠降低寫程式的工作量,就能有效地幫助ERP程式在一年內完成。
     降低寫程式的工作量的方法有很多種,例如程式邏輯分層代,函數化等,其中最好的方式就是使用Form 繼承功能(OOP)。
    (繼承(OOP) 簡單講就Base Form 裡有儲存按鈕,繼承的Form也自動取得儲存按鈕和功能,不用再另外寫儲存程式)
ERP裡有數百支程式,如以外觀分類,約可分為6種,
a.單一程式
b.主表-明細(Master Detail)
c.查詢程式
d.報表列印
e.瀏覽視窗
f.其他
    如果每一支都從 0 開始寫,那太費時間,且沒效率,編譯後的執行檔也會大的嚇人,執行時也太佔Client端電腦的記憶體了。最好的方法是先分別建立這6種視窗的BaseForm,並將專屬的程式碼寫在這BaseForm裡。這樣在新增Form時,依新增程式的類別分別去繼承其所屬的BaseForm,再修改這支新程式的Form屬性參數和SQL程式,整個過程不需一個小時即可完成一支程式。
     以訂單程式為例:先在Visual Strdio IDE工具下建立訂單程式的Form ,設定此程式繼承主表-明細(Master Detail)的BaseForm,增加此程式對應的SQL程式,利用Form控件程式產生器,產生此程式操作界面的控件,將控件排版好後,一支訂單程式即完工了。此程式繼承了BaseForm所有功能,因此,主表有新增、刪除和修改功能,明細也一樣有新增、刪除和修改功能,不用另外再寫一次相同的程式。預估整支程式建立過程,熟練的設計師約可在一小時左右完成。
     (以上指基本程式功能,其他還有很查詢、防呆程式等要另外寫)



以上個人觀點 如有雷同,純屬巧合

        後記:筆者指 一個人在一年寫一套ERP程式,這套ERP程式並不包含人事薪資和會計系統。因人事薪資資料以台灣中小企業來講是祕密不會公開的,如掛在ERP裡會被MIS人員看到,因此,都會以獨立程式只供管理部作業。而會計系統也是一樣 ,也是獨立的,只供會計部門作業,因此,也都是另外採購的。

資料來源: https://wilson1966.pixnet.net/blog/post/63030988

留言

這個網誌中的熱門文章

省錢的ERP導入方法之一

看ERP 裡的SQL寫法就知道他是不是菜鳥了

ERP最好實施日期