【正文】
活動具有悠 久 的歷史,現(xiàn)代物流在我國的物流產(chǎn)業(yè)已經(jīng)成為發(fā)展的必然。 物流信息流系統(tǒng)的設(shè)計與實現(xiàn)為企業(yè)商品的信息交流、共享和人員協(xié)作方式帶來了新的機會和挑戰(zhàn)。s logistics industry. Modern logistics is a collection of modern transportation, inventory, distribution, orders, sales, modity circulation and information management, while traditional manual bookkeeping or standalone version of materials management system which have low level of sharing and slow cash turnover cannot meet the demands of the times. To construct a wellintegrated logistics workflow management system has bee an urgent need for a modern enterprise to provide vital information for decisionmaking and promote the logistics management. This paper proposed a logistics workflow management system which is proper to present logistics39。 Database。 本文結(jié)合現(xiàn)代物流信息流管理系統(tǒng)的開發(fā)過程展開,詳細介紹了 需求分析 、 總體 設(shè)計 、相關(guān)技術(shù) 和 系統(tǒng) 實現(xiàn)的全過程,力爭通過對該項目的開發(fā)來更一步加深對物流信息流管理系統(tǒng)各個業(yè)務(wù)的理解 、對相關(guān)技術(shù)的鞏固與提高 。計算機信息技術(shù)的發(fā)展,為現(xiàn)代物流企業(yè)實現(xiàn)管理提供了外在的條件,促進了現(xiàn)代物流企業(yè)生產(chǎn)的發(fā)展。同時,企業(yè)也可以借助網(wǎng)絡(luò)環(huán)境針對用戶日益多元化的信息需求,開拓思路,拓寬服務(wù)領(lǐng)域。 (4) 促進傳統(tǒng)交通行業(yè)的升級換代,改造現(xiàn)有的物流信息的組織方式。采用了加密登錄,安全性好,排除了非法用戶侵入,人機界面友好,易維護,滿足用戶進行測試、排版、修改、增加、刪除數(shù)據(jù)的各種功能。使用時,各數(shù)據(jù)的應(yīng)用和操作的安全性不可忽視,防止數(shù)據(jù)在操作的過程當中應(yīng)失誤而丟失,以及在系 統(tǒng)的維護當中,系統(tǒng)的各組件當中有緊密的連接,因為任何一個系統(tǒng)當中如果不聯(lián)系的話,將會造成很大的損失,大大減少了系統(tǒng)的實用價值,往往使我們難以預(yù)料,例如,在程序的執(zhí)行當中,如果第一項與第二項沒有關(guān)聯(lián),程序?qū)⒉粫^續(xù)運行下去,或者說,在退出程序時,沒有進行自動保存功能的話,那么數(shù)據(jù)就會丟失,所以這些都要做重點考慮。 (2) 國外物流企業(yè)向集約化方向、協(xié)同化發(fā)展、全球化方向發(fā)展。消費者可以直接在網(wǎng)上獲取有關(guān)產(chǎn)品或服務(wù)信息,實現(xiàn)網(wǎng)上購物。一方面電子物流的興起,刺激了傳統(tǒng)郵政快遞 業(yè)的需要和發(fā)展 ; 另一方面,新興的快遞業(yè)發(fā)展迅猛,觸角伸向全球各地。物流業(yè)的興起與外資進入中國市場,制造業(yè)轉(zhuǎn)移中國密切相關(guān),接著是連鎖業(yè)物流、家電物流、日用化工業(yè)物流、汽車物流等等。具體表現(xiàn)在 : (1) 現(xiàn)代物流觀念比較薄弱,物流人才匾乏。 (2) 物流基礎(chǔ)設(shè)施落后,重復(fù)建設(shè)嚴重。三是物流基礎(chǔ)設(shè)施不規(guī)范。特別是公共信息平臺建設(shè)滯后,物流信息分散,資源不能有效整合,形成了大大小小的 “ 信息孤島 ”。 (5) 發(fā)展現(xiàn)代物流的法制環(huán)境尚未完善。此外,現(xiàn)有物流信息管理軟件未能從整個城市的物流需求出發(fā),整合各領(lǐng)域的物流資源基礎(chǔ),起到面向各行業(yè)物流供需信息和方案決策的綜合平臺功能,這些都限制了它們的應(yīng)用推廣 [10]。 (4) 建立了以 某一模塊 為核心的整個信息系統(tǒng),包括商品,職員,庫存等多個中原工學(xué)院信息商務(wù)學(xué)院畢業(yè)設(shè)計(論文) 5 功能模塊。 可行性研究 技術(shù)可行性 物流信息管理系統(tǒng)主要通過 JSP、 Servlet 技術(shù)來是實現(xiàn)了一個物流管理系統(tǒng)。 對 MVC 三層架構(gòu), C 層是 M 和 V 之間的橋梁,用于控制流程,主要用 Servlet來實現(xiàn),它負責(zé)頁面跟底層數(shù)據(jù)庫的交互工作 , 頁面發(fā)送請求到 Servlet,控制器經(jīng)過處理之后調(diào) 用不同的業(yè)務(wù)來處理請求,把從數(shù)據(jù)庫拿的數(shù)據(jù)封裝到一個 Request里面,在頁面通過 EL 標簽和 JSTL CORE標簽庫對請求中的數(shù)據(jù)處理并顯示到界面給用戶。數(shù)據(jù)源很好的避免了上面所說的缺點,把數(shù)據(jù)連接保存在連接池中,當請 求到來時,只需從連接池中取出空閑狀態(tài)的連接數(shù)據(jù)庫,大大地提高訪問數(shù)據(jù)庫的效率。 目前 Inter 上流行的 系統(tǒng) 構(gòu)架方式是 LAMJ(Linux+Apache+MySQL+J2EE),即使用 Linux作為操作系統(tǒng), Apache 作為 Web 服務(wù)器, MySQL作為數(shù)據(jù)庫, J2EE作為服務(wù)器端腳本解釋器 [12]。在設(shè)計完成之后,設(shè)計人員對 系統(tǒng) 進行負責(zé)管理。當一個商品的類別改變時要重新生成商品的編號,其中查詢支持模糊查詢。 4. 訂單管理 主要有所有訂單的詳細信息,當相關(guān)人員登錄時,可以查詢訂單信息和訂單明細及修改訂單的狀態(tài),其中查 詢支持模糊查詢。 性能需求 在全面了解了用戶的需求后,接下來就要根據(jù)所掌握的用戶需求進行分析,為后面的正式系統(tǒng)設(shè)計提供技術(shù)基礎(chǔ),畢竟用戶只知道需要什么功能,具 體在網(wǎng)絡(luò)系統(tǒng)設(shè)計中如何體現(xiàn)并不清楚。在大量的處理環(huán)境中,超過 3 秒以上的響應(yīng)時間將會嚴重影響工作效率 ,因而需要控制系統(tǒng)的響應(yīng)時間在 3 秒以內(nèi)。由于本系統(tǒng)是應(yīng)用型系統(tǒng),因而 并發(fā)用戶數(shù)支持的多少決定了相應(yīng)系統(tǒng)的可用性和可擴展性 。 小結(jié) 綜上分析,設(shè)計系統(tǒng) 無論是技術(shù),還是經(jīng)濟,抑或是操作,都是完全可行的,系統(tǒng)的設(shè)計大致可分為商品、職員、顧客、訂單、銷售、采購和庫存等 7 個管理模塊。從另一個角度看,開發(fā)體系結(jié)構(gòu)又經(jīng)歷從 C/S 為主流發(fā)展到 B/S 唱主角的一個過程 [11]。核心 Java 平臺或 Java 平臺的標準版是 J2EE技術(shù)的基石 [16]。 J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足企業(yè)應(yīng)用程序設(shè)計、開發(fā)、裝配及部署過程中的需求,在 J2EE 平臺上的企業(yè)應(yīng)用系統(tǒng)實際上是實現(xiàn)了許多企業(yè)業(yè)務(wù)邏輯和用戶界面的 J2EE組件的集合。 2. 集成企業(yè)信息資源 系統(tǒng)可以在企業(yè)已有的信息系統(tǒng)的基礎(chǔ)上開發(fā),并可以使用其信息資源。 5. 可擴展性高 基于 J2EE開發(fā)的應(yīng)用程序可以部署到各種操作系統(tǒng)中,從而增強軟件的可伸縮性,滿足企業(yè)的各種需求。 MVC 設(shè)計模式是基于 J2EE 的 WEB應(yīng)用開發(fā)的首選軟件設(shè)計模式 [22],它是 “ Model—View—Controller” 的縮寫,中文翻譯為 “ 模型 —視圖—控制器 ” 。 MVC 中 Model 是實現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯,完成系統(tǒng)的核心功能。在 J2EE平臺,模型主要通過封裝 JavaBean 和 EJB來處理業(yè)務(wù)邏輯和訪問數(shù)據(jù)。視圖向用戶顯示相關(guān)數(shù)據(jù),并能接收用戶的數(shù)據(jù)輸入,但是它并不進行任何實際的業(yè)務(wù)處理。一個模型可以關(guān)聯(lián)多個視圖,反過來一個視圖也可以與不同的模 型相關(guān)聯(lián)??刂破鞯囊粋€重要的功能,就是將用戶請求傳遞給相應(yīng)的業(yè)務(wù)處理模型,同時還負責(zé)選擇視圖返回處理的結(jié)果。作為 MVC 框架, Struts 2 對模型、視圖和控制層都提供了對應(yīng)的實現(xiàn)組件 [28],下面分別加以介紹 。 2. 視圖 Struts 2應(yīng)用中的視圖部分通過 JSP技術(shù)來實現(xiàn)。 MVC 的優(yōu)缺點 作為一種模塊化的設(shè)計思想, MVC 具有如下優(yōu)點 [28]: 1. 多個視圖能共享一個模型 在 MVC 設(shè)計模式中,模型響應(yīng)用戶請求并返回響應(yīng)數(shù)據(jù),視圖負責(zé)格式化數(shù)據(jù)并將它們呈現(xiàn)給用戶,業(yè)務(wù)邏輯和數(shù)據(jù)表示分離,同一個模型可以被不同的視圖重用,因此大大提高了模型層程序代碼的可重用性。由于 MVC 的三個模塊張善龍:基于 Struts2 物流信息流管理系統(tǒng)的設(shè)計與實現(xiàn) 14 相互獨立,改變其中一個不會影響其他兩個,所以依據(jù)這種設(shè)計思想能構(gòu)造良好的松耦合組件。 JavaBean 技術(shù) JavaBean 概述 JavaBean是用 Java 語言寫的可重用組件。 用戶可以使用 JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任 何可以用 Java代碼創(chuàng) 造的對象進行打包,并且其他的開發(fā)者可以通過內(nèi)部的 JSP 頁面、 Servlet、其他 JavaBean、 applet 程序或者應(yīng)用來使用這些對象。除了在節(jié)約開發(fā)資源方面的意義外,一次性地編寫 JavaBean組件還可以在版本控制方面起到很好的作用。不僅是指組件可以在不同的操作平臺上運行,還包括可以在分布式網(wǎng)絡(luò)環(huán)境中運行。 (2) JavaBean 內(nèi) 的屬性都應(yīng)該定義為私有類型,可以較好的保護數(shù)據(jù)的完整性和封裝性 。 XML沒有復(fù)雜的語法和包羅萬象的數(shù)據(jù)定義,僅僅是一種簡單的數(shù)據(jù)存儲語言 [30]。這使得 XML簡單易于掌握,從而很快成為數(shù)據(jù)交換的唯一公共語言 [30]。 2. 語法嚴謹 XML的起始和結(jié)束標簽必須相匹配,嵌套標簽不能相互嵌套,嚴格區(qū)分大小寫。 4. 自描述性 XML允許自定義標簽 (tag),并且這些標簽可以表達明確的語義信息 , 因而 XML文檔是自描述的。 5. 靈活性 HTML 很難進一步發(fā)展,就是因為它是格式、超文本和圖形用戶界面語義的混合,內(nèi)容和形式的不可分制約了 HTML的發(fā)展。 這使得 XML兼容很多現(xiàn)有的數(shù)據(jù)類型,可以應(yīng)用到很多不同領(lǐng)域。 B/S 結(jié)構(gòu)無需考慮客戶端的兼容性,而且后臺數(shù)據(jù)庫系統(tǒng)的改變也不會影響客戶端,因此極大地方便了應(yīng)用程序的開發(fā)和維護 [10]。所以基于這種分層機制,使軟件系具有安全性、易維護性、可重構(gòu)性和快速響應(yīng)性。 系統(tǒng)目標 開發(fā)本系統(tǒng)前,公司與網(wǎng)絡(luò)運營商進行了多次磋商,客戶提出了詳細和具體的需求,本公司對這些需求進行了分析,最終確定系統(tǒng)要實現(xiàn)的要求如下: 張善龍:基于 Struts2 物流信息流管理系統(tǒng)的設(shè)計與實現(xiàn) 18 (1) 實現(xiàn)系統(tǒng)分析階段所設(shè)計的功能。 (2) Web 應(yīng)用服務(wù)器: 及其以上版本。 MySQL已經(jīng)被 Oracle 公司收購,會有一個比較好的發(fā)展,相信以后的功能將越來越強大。 數(shù)據(jù)庫分析 本系統(tǒng)由 JSP+Servlet+JavaBean+Tomcat+MySQL 組成,因為對數(shù)據(jù)庫的性能要求不是太高,故采用適用于中小型企業(yè)的 MySQL 數(shù)據(jù)庫較為合適。 商品信息表主要描述了商品的編號,商品名稱,商品價格,商品描述信息和商品圖片,并與商品類別表中的類別 編號 建立 外鍵聯(lián)系。 訂單信息表主要描述了訂單 編號 ,顧客 編號 ,訂單創(chuàng)建時間,送貨的地址,接受人的電話,最早送貨時間,最晚送貨時間,訂單備注和訂單狀態(tài)。 張善龍:基于 Struts2 物流信息流管理系統(tǒng)的設(shè)計與實現(xiàn) 20 庫存信息表主要描述了庫存 編號 、商品的庫存數(shù)量,并與商品信息表的 編號 建立 外鍵聯(lián)系。 顧客和訂單 的關(guān)系是一對多,訂單引用顧客的序號作為外鍵。 f k_p r o _ca t e g o r yf k_st o ck_p r of k_i n b o u n d _cl e r kf k_o u t b o u n d _cl e r kf k_o u t b o u n d _o r d e rf k_i n b o u n d _p r of k_o u t b o u n d _p r of k_i t e m _o r d e rf k_i t e m _p r o d u ctf k_o r d e r _cu sf k_cl e r k_d e pt b l _i n b o u n didcl e r ki dp r o d u ct i da m o u n ti n t i m ei n ti n ti n tn u m e r i c( 9 , 2 )t i m e st a m p p k f k2 f k1 i d e n t i t yn o t n u l ln o t n u l ln o t n u l ln o t n u l lt b l _st o ckidp r o d u ct i da m o u n ti n ti n tn u m e r i c( 9 , 2 ) p k f ki d e n t i t yn o t n u l ln o t n u l lt b l _ca t e g o r yidco d en a m ed e scr i p t i o ni n tva r ch a r ( 2 0 )va r ch a r ( 3 0 )va r ch a r ( 2 5 6 ) p k i d e n t i t yn o t n u l ln o t n u l ln u l lt b l _p r o d u ctidca t e g o r yi dn a m eco d ep r i ced e scr i p t i o n。 商品和