說說ERP軟體的系統設計--開源軟體誕生8

35歲的程式設計師發表於2020-09-12

赤龍ERP系統設計篇--第8篇

用日誌記錄“開源軟體”的誕生

赤龍 ERP 開源地址:

點亮星標,感謝支援,與開發者交流 kzca2000

碼雲:https://gitee.com/redragon/redragon-erp

GitHub:https://github.com/redragon1985/redragon-erp

赤龍ERP官網:https://www.redragon-erp.com

說說ERP軟體的系統設計

 

如何學習系統設計

筆者是軟體專業出身,學了好多的理論知識,但我總結就是理論過於枯燥,而且在實戰中基本用不上。所以今天就來說說我是如何學習系統設計的。還記得我剛剛畢業,第一次面對要獨立做一個系統或網站時的困惑與迷茫。不知該做什麼?不知該從何做起?來看看我的成長曆程:

一、借鑑已有系統或網站

(1)沒有人可以閉門造車:系統設計的初學者,要做的第一步應該是復刻別人的系統,記住是復刻不是複製。即用你自己的方式做一個儘量功能一致的系統。

(2)復刻並不簡單:作為一個初學者復刻一個系統並不簡單,這要有強大的系統分析能力。要有在不依賴文件的情況下,分析系統流程、功能及邏輯的能力。如果你無法直接做到,沒關係,我們來一步一步實現。

(3)知曉需求:在分析系統前,首先要明確你分析的系統做的是什麼內容,解決的什麼問題,以及相關的業務流程是怎樣的。不管是文件也好,還是網上搜尋也好,有很多手段可以獲取需求。

(4)抽絲剝繭的拆分:不管任何系統都有一個主流程,就像是大樹的主幹一樣。主流程可以拆分出一個一個的節點,以及節點間的邏輯串聯。緊接著再分析每個節點,即一個個的模組。模組再拆分成功能點。只要你拆分的夠細,你會發現最後一定是增刪改查。到此所有的功能已經展露在你的面前了。

(5)重新組裝:經過上面的拆分,我們下面可以把所有拆分得到的功能,重新組裝成一個完整流程了。當然在組裝過程中一定會涉及到很多連線問題、邏輯問題,如果其中的實現方式並不明確,可以先採用你最瞭解的方式保證儘量的還原。

(6)過程中學習:復刻系統不是目的,目的是在復刻的過程中,學習別人的系統或網站在面對何種需求是如何設計的,並思考為什麼人家會如此設計,如果對於相同需求有不同實現方案那就仔細比較下它們的區別和優劣勢。

說說ERP軟體的系統設計

 

二、優化已有問題

首先要明確,你認為的問題不一定是真正的問題,那可能僅僅是你認為的問題而已。但為什麼還要去做這一步呢?這是一個轉化的過程,即把別人的東西轉化成自己的東西,即使這是一個曲折的過程。只有發現、思考、解決,才可能在這一過程中打磨自己的系統設計方法和思路,並逐漸形成自己的體系。

三、創造新的亮點

當你逐漸形成了自己的系統設計理念,你就可以嘗試創新了。創新並不容易,甚至可能會使你的系統走一些彎路或得到批評,但這才是你成長的基石,如果你可以做到不斷堅持,最終的結果一定是你的設計亮點。

【赤龍ERP】的系統設計初探

之前的文章中介紹過,ERP系統的最大特點是流程明確、功能複雜、個性化強。下面我們就以上特點,來談談ERP系統設計需要注意的問題。

1、表結構設計

(1)單表欄位多:單表欄位多在ERP表結構裡不可避免,所以沒必要為了減少欄位而合併。要明確每個欄位的業務含義,有助於欄位的設立。

(2)多表關係雜:由於ERP功能的複雜性,主表出現多個關聯表,甚至關聯表再套關聯表是常見的現象。明確何時建立1對1、1對多、多對多關係,有助於降低表關聯的複雜性。這裡特殊說明一下頭行結構,即頭表和行表是1對多關係。(在業務中也經常見到,比如訂單、發票)

(3)處理冗餘:我的原則是避免冗餘,但又可在場景需要的情況下增加冗餘。

2、主流程設計

(1)一根主線:從業務到財務,圍繞著對於企業資源的管理,只設計一個核心流程。並保證最少的流程節點,以及明確的流轉過程。讓使用者在使用你係統的時候,永遠不能脫離你的主線。

(2)分支清晰:首先設計分支一定是在主線中不能完成的業務,但要保證分支流程儘量的短,實現在一兩個節點之內完成分支流轉,並最終合併到主線。分支與主線不要出現重複步驟。

3、模組設計

(1)增刪改查:對於功能設計來說一定是增刪改查的重複使用,但要從整體模組來看,不能割裂的設計成一個個的增刪改查,要讓系統有業務感,讓使用者在場景下操作各種功能。

(2)功能解耦:這涉及到功能和功能間,模組和模組間的關聯關係的設計。原則上除了主流程外,不設定強制耦合,即在沒有一些資料的情況下,使用者也可以處理某些業務。

4、互動設計

(1)單頁面操作簡化:儘量減少單頁面的可操作功能,這樣使用者很容易明確自己在當前頁面可以實現哪些功能,步驟是什麼。

(2)可培養的使用者習慣:設計一些創新的亮點,適當的培養使用者的使用習慣,當習慣落成,必定會大大簡化使用者的操作。(比如:精確與模糊搜尋匹配、快速可複製的資料錄入)

(3)適配終端:讓使用者在不同的終端具備一致的操作體驗。

【赤龍ERP】設計優與劣

上述設計的目的只有一個:讓複雜的事情簡單化。當然這其中肯定也各有優劣。

(1)優勢:讓ERP的使用不再繁重而複雜

(2)優勢:讓使用者使用得更加靈活和個性

(3)劣勢:限制少了,業務的嚴謹程度降低了;邏輯簡化了,中大型企業的業務匹配度降低了

 

希望您讀完本文可以幫助筆者進入【碼雲】或【GitHub】(可搜尋“赤龍ERP”)點選星標。等待著您的支援!

相關文章