夏俊博

【摘要】本論文討論ERP系統中的庫存管理模塊的開發過程。分析ERP系統中的庫存管理系統,并應用面向對象的分析和設計方法及建模技術給出了有關庫存管理系統的面向對象模型。主要研究了基于庫存管理系統的模型的建立、該模型應用的體系結構和數據庫結構以及系統實現。
【關鍵詞】現代庫存管理理論;統一建模語言;類圖;順序圖;用例圖;組件圖
一、課題背景
隨著科學技術的進步及其不斷向生產與庫存控制方面的滲透,解決合理庫存與生產控制問題所需要處理的大量信息和企業資源管理的復雜化,要求信息處理的效率更高。信息的集成度要求擴大到企業的整個資源的利用和管理,因此產生了新一代的管理理論與計算機系統——企業資源規劃(Enterprise Resource Planning,ERP)
傳統庫存管理模型
所謂庫存管理是在保障供應的前提下,使庫存物品的數量最少,所進行的有效管理的技術經濟措施,包括日常的庫存事務處理和庫存狀態控制兩部分。
庫存事務處理主要包括入庫處理、出庫處理、庫存臺賬維護和盤庫處理等庫存物資的收發存具體工作,賬目的計算和記錄以及各種數據、檔案的保管工作。
而在庫存狀態控制方面,傳統的庫存管理模式涉及兩類庫存:一是與生產庫存相適應的相關需求庫存:需要采用MRP算法進行處理;二是與經銷庫存相適應的獨立需求庫存。
二、MRP基本原理
MRP應用的目的是進行庫存的控制和管理,按需求的類型可以將庫存問題分為兩種:獨立性需求和相關性需求。
MRP的基本原理:由主生產計劃(MPS)和物料清單((BOM)逐個求出主產品所有主部件的出產時間、出產數量,即物料需求計劃。其中,零部件如果靠企業內部生產,需要根據各自的生產時間長短來提前安排投產時間,形成零部件生產計劃;如果零部件需要從企業外部采購,則要根據各自的訂貨提前期來確定提前發出各自訂貨的時間,采購數量,形成采購計劃。MRP原理如圖所示:
2.1 UPI庫存管理系統的分析
系統分析就是描述系統的需求,通過定義系統中的關鍵域類來定義模型。在這里,首先根據庫存管理業務流程來導出庫存管理系統的用例圖,然后進行領域分析。
2.2 UPI庫存管理系統的用例圖
用例圖的基本組成部件是用例、角色和系統。用例用于描述系統的功能,是對系統功能的宏觀描述。角色是與系統進行交互的外部實體,它可以是系統用戶,也可以是其它系統或硬件設備,凡是需要與系統交互的任何東西都可以稱作角色。系統的邊界線以內的區域(即用例的活動區域)則抽象表示系統能夠實現的所有基本功能。
2.3 UPI庫存管理系統的設計
設計階段就是將分析模型進行擴展并將模型進一步細化,該階段的目的是產生一個可行的解決方案,并且可以比較容易的轉為程序代碼。這里會定義一些新的類來執行技術上的操作,包括對數據庫的操作、用戶接口的操作。首先,進行體系結構設計。包括定義包、描述包之間的依賴性及基本的通信機制;最后,詳細設計,包括對所有的類進行描述。
2.4 體系結構設計
體系結構的設計是保證系統可擴展和可改變的基礎,它將應用程序邏輯和技術邏輯分開。這里的關鍵技術是,標識和建立包間相關性規則使包間不存在雙方關聯性,明確必須的標準庫和發現要使用的庫。
邊界類包:也稱之為用戶接口包,位于系統與外界的交界處,包括所有的社會分配、報表、與打印機和掃描儀等硬件接口、以及與其它系統的接口。邊界類描述表示參與者和系統之間交互的對象。它捕獲了部分系統的狀態,并用可視化顯示或聲音效果的形式將它呈現給用戶,邊界對象經常超出程序一次執行的范圍。邊界類對應于GUI設計中出現的類。實體對象將它的變化傳播到它的狀態中,從而使得邊界對象能更新GUI的顯示。
控制類包:負責協調其它類的工作。控制類本身不完成任何功能。其它類并不向控制類發送消息,而由控制類來發出消息。控制類代表協調、處理、控制和序列化其它對象,經常用于封裝與特定用例相關的控制或代表復雜的派生和計算,控制類封裝了對某些對象的控制、協調和事務處理,這樣將控制變化孤立在某個類中。控制類描述那些解釋用戶輸入事件并控制業務進程執行的對象。一個控制類表示行為以及一個用例的活動。控制對象經常不超出程序的執行。控制對象處理用戶生成事件和受到影響的實體對及邊界對象之間的交互。特別地,每個允許交互的邊界對象總有一個控制對象與之關聯。
實體包:保存要放進持續存儲體的信息,它是對用戶最有意義的類。它用于為系統長期存在的信息建模。在通常情況下,實體類直接來自業務對象模型中相應的業務對象,但是也有區別,實體類代表的是業務對象中需要計算機系統處理的部分,反映的信息必須是對開發都在設計和實事系統時有用。實體類描述那些表示一個應用領域中實體語義的對象。它對應于系統數據庫中的數據結構。實體對象總是要超出程序的執行并參與許多用例。
數據庫包:把實體包中負責抽取數據庫中的數據的類分離出來,形成數據庫包。數據庫包提供了應用和數據庫之間的一個沒有方向的層次。通常,數據庫包中的類執行一組關于數據庫的服務。這些服務包括打開和關閉與數據庫的互聯,當承諾或退出一個事務時向數據庫發指令,確定運行時數據庫配置的參數、處理用戶權限、抽取和存儲關于數據庫對象的元數據信息(如表、列、視圖、存儲過程、索引等)。
三、UPI庫存管理系統的詳細設計
在設計階段,為了保證得到優質的類圖,我們首先通過交互圖來細化分析模型。一般交互圖有兩種:順序圖和協作圖。
順序圖描述對象是如何交互的,并且將重點放在消息序列上,也就是說,描述消息是如何在對象間發送和接收的。順序圖有兩個坐標軸:縱坐標軸顯示時間,橫坐標軸顯示對象。順序圖也顯示特殊情況下的對象交互:在系統執行期間的某一時間點發生在對象間的特殊交互(如:當用到一個特殊功能時)。在順序圖的橫坐標軸上是與順序有關的對象。每一個對象的表示方法是:矩形框中寫有對象和(或)類名,且名字下面有下劃線。同時,有一條縱向的虛線表示對象在序列中的執行情況(即,發送和接收的消息,對象的活動),這條虛線稱為對象的“生命線”。對象間的通信用對象的生命線之間的水平的消息線來表示。消息線的箭頭說明消息的(下轉)(上接)類型,如同步,異步,或簡單(本章前面定義的)。瀏覽順序圖的方法是:從上到下查看對象間交換的消息。順序圖是按時間順序排序的;協作圖顯示同一信息,但是組織方式和順序圖不同,它注重的是對象之間的關系。交互圖關注實現用例功能時要生成的對象。
3.1 UPI庫存管理系統數據庫的設計
在大多數應用程序的運行中,對象的生命周期與一個動態變量的生命周期相似:首先對象被創建(在內存中分配空間),并按一定要求對屬性進行初始化。定義之后的對象可以被刪除,所用空間被收回。如果一個對象沒有被顯示刪除,應用程序運行結束時結束它的生命周期。如果對象要保持到下一次程序中運行,它必須被保持到一永久介質上,以便在需要時能被從介質上取用。外部介質的組織方式依賴于數據被使用的方式,它可以是一個普通的文件,也可以是層次、網狀或關系數據庫。一般是使用面向對象數據庫或使用關系數據庫。
由于面向對象數據庫存儲持久對象最主要的缺點是當數據操作頻繁時,需要使用兩個獨立的數據庫系統,特別對傳統的應用更是如此。而且面向對象數據庫不支持集合操作,因此我們采用關系數據庫。
關系數據庫可以用來有效地無關化對象,即把它們的屬性值保存在關系表中,以便將來用這些屬性值重建對象。它用表、表的行列、完整性約束等等提供了簡單的數據模型。它還提供了結構化查詢語言(SQL),用戶可用結構化查詢語言描述要做什么而不必描述怎樣去做;也不用瀏覽整個數據庫。
在UML中,類圖定義了應用所要求的數據結構,那些在數據庫中永久存在的數據結構被建模為實體類或者實體類之間的關系。實體類需要映射為數據庫能識別的數據結構。
結論
本文來自于實際中小型企業適用的ERP系統的分析、設計中遇到的實際應用問題,首先確定了ERP系統的構架,采用3-tier C/S模型,并對其進行分析確定其實用性和有效性;根據這一結構的特點,采用OOAD方法對庫存管理系統進行分析和設計,運用UML可視化建模方法將其描述出來,然后通過對象映射到關系數據庫的思想,來設計數據庫。
參考文獻
[1]羅鴻編著.ERP原理設計實施.北京:電子工業出版社,2002:95-139.
[2]王槐林著.采購管理與庫存控制.北京:中國物資出版社,2002:62-135.
[3]馬士華,林勇、陳志祥編著.供應鏈管理.北京:中國物資出版社,2002:102-268.
[4]俞仲文,陳代芬著.物流配送技術與實務.北京:人民交通出版社,2001:165-186.