王晶
(陜西鐵路工程職業(yè)技術(shù)學(xué)院 管理工程系,陜西 渭南 714000)
基于SSH的現(xiàn)代綜合性物流倉(cāng)儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王晶
(陜西鐵路工程職業(yè)技術(shù)學(xué)院 管理工程系,陜西 渭南 714000)
針對(duì)現(xiàn)代綜合性物流倉(cāng)儲(chǔ)的需求以及當(dāng)前物流管理軟件中存在的弊端,在充分了解當(dāng)代物流的發(fā)展現(xiàn)狀的基礎(chǔ)上,采用當(dāng)下流行的SSH(struts+spring+hibernate)框架設(shè)計(jì)開(kāi)發(fā)了具有針對(duì)性的專(zhuān)業(yè)化、集成化的現(xiàn)代綜合性物流倉(cāng)儲(chǔ)系統(tǒng),實(shí)現(xiàn)了對(duì)員工、貨物、訂單、車(chē)輛等的有效管理。系統(tǒng)由于采用了SSH框架,具有耦合度低,維護(hù)方便,復(fù)用性強(qiáng)的優(yōu)點(diǎn),便捷可靠。
物流管理系統(tǒng);SSH;系統(tǒng)設(shè)計(jì);現(xiàn)代物流
隨著經(jīng)濟(jì)的全球化,互聯(lián)網(wǎng)時(shí)代的到臨,在現(xiàn)代化的商業(yè)運(yùn)作體系中,第三方物流公司承擔(dān)著越來(lái)越重要的角色。近年來(lái),物流信息化已成為我國(guó)信息化最受關(guān)注的領(lǐng)域之一。建立現(xiàn)代物理倉(cāng)儲(chǔ)系統(tǒng)將提供物流供應(yīng)鏈各個(gè)環(huán)節(jié)的協(xié)調(diào),有效降低物流成本,方便企業(yè)提高服務(wù)質(zhì)量。在此背景下,傳統(tǒng)的物流管理系統(tǒng)已無(wú)法滿(mǎn)足當(dāng)代物流管理的需求,要加快物流體系發(fā)展,消除弊端,開(kāi)發(fā)新的現(xiàn)代物流倉(cāng)儲(chǔ)系統(tǒng)迫在眉睫。
SSH是目前較流行的一種Web應(yīng)用程序開(kāi)源框架,其是struts+spring+hibernate的一個(gè)集成框架。SSH框架的系統(tǒng)從職責(zé)上分為4層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,其可用于短期內(nèi)搭建復(fù)用性強(qiáng)、結(jié)構(gòu)簡(jiǎn)明清晰、便于維護(hù)的Web應(yīng)用程序。
文中基于SSH完成了現(xiàn)代物流倉(cāng)儲(chǔ)系統(tǒng)的設(shè)計(jì),本系統(tǒng)一經(jīng)使用,第三方物流公司的各項(xiàng)信息均可更安全可靠的保存、查看,在業(yè)務(wù)實(shí)施過(guò)程中,可大幅降低出錯(cuò)率,同時(shí)節(jié)省大量的時(shí)間和金錢(qián),為公司帶來(lái)更多的利潤(rùn)。
通過(guò)對(duì)現(xiàn)代物流倉(cāng)儲(chǔ)體系的調(diào)研,得到了第三方物流企業(yè)物流管理系統(tǒng)所需的功能性能、安全性的需求。建立系統(tǒng)如圖1所示。
1.1系統(tǒng)用戶(hù)
1.1.1管理員
管理員分超級(jí)管理員、員工管理員、總公司配送點(diǎn)管理員、配送點(diǎn)管理員。超級(jí)管理員擁有最大權(quán)限,可為系統(tǒng)分配用戶(hù)的權(quán)限,進(jìn)行各項(xiàng)了解;員工管理員由超級(jí)管理員分配權(quán)限,管理公司的所有員工;總公司配送點(diǎn)管理員由超級(jí)管理員分配權(quán)限,管理公司的所有配送點(diǎn);而配送點(diǎn)管理員由超級(jí)管理員分配權(quán)限,管理配送點(diǎn)的各項(xiàng)事務(wù)。其關(guān)系如圖2。
1.1.2用戶(hù)(客戶(hù)端)
用戶(hù)可通過(guò)系統(tǒng)在線(xiàn)查詢(xún)貨物狀態(tài),及時(shí)了解訂單信息;根據(jù)貨物的重量、體積、目的地查詢(xún)配送價(jià)格;查看配送點(diǎn)的配送范圍和配送價(jià)格。
1.2系統(tǒng)功能模塊
系統(tǒng)功能模塊包括主用戶(hù)管理、員工管理、車(chē)輛管理、線(xiàn)路管理、配送點(diǎn)管理、訂單管理、報(bào)表管理等7個(gè)模塊。功能說(shuō)明如下:
1)用戶(hù)管理:由超級(jí)管理員對(duì)用戶(hù)分配不同的權(quán)限,權(quán)限包括:配送點(diǎn)管理員,配送點(diǎn)操作員。當(dāng)新增配送點(diǎn)時(shí)為該配送點(diǎn)分配一個(gè)配送點(diǎn)管理員,再由該配送點(diǎn)管理員分配配送點(diǎn)操作員權(quán)限。當(dāng)配送點(diǎn)用戶(hù)發(fā)生變更時(shí),根據(jù)需要?jiǎng)h除對(duì)應(yīng)的用戶(hù)信息。
2)員工管理:由總公司統(tǒng)一管理公司員工,主要的功能有增加員工,員工信息修改,員工信息刪除,員工信息查詢(xún)。當(dāng)公司有新員工入職時(shí),則新建員工信息。當(dāng)員工信息變更時(shí)進(jìn)行修改,如職位變動(dòng),工資變動(dòng)等。當(dāng)有員工離職時(shí),刪除該員工信息。
3)車(chē)輛管理:管理配送點(diǎn)擁有的所有車(chē)輛,包括新購(gòu)車(chē)輛登記,車(chē)輛調(diào)度,車(chē)輛的狀態(tài)記錄及查詢(xún)。登記新購(gòu)車(chē)輛的基本信息。根據(jù)車(chē)輛的具體信息(狀態(tài)、噸位、容積等)進(jìn)行調(diào)度。反饋車(chē)輛當(dāng)前的狀態(tài),即車(chē)輛現(xiàn)處于空閑、使用途中或是維修中。
4)線(xiàn)路管理:由總公司進(jìn)行線(xiàn)路的添加、刪除和查詢(xún)。可在現(xiàn)有的配送點(diǎn)范圍內(nèi),添加新線(xiàn)路。如配送點(diǎn)有變動(dòng),則刪除該線(xiàn)路。
5)配送點(diǎn)管理:由總公司新增配送點(diǎn),查看配送點(diǎn)信息,修改配送點(diǎn)信息,刪除配送點(diǎn)。
6)訂單管理:可完成接受訂單、訂單狀態(tài)修改、訂單刪除、生成交接單以及查詢(xún)。接受用戶(hù)所填寫(xiě)的訂單輸入到系統(tǒng)中。配送點(diǎn)管理員對(duì)所有的訂單均應(yīng)進(jìn)行審查和批復(fù)。且應(yīng)維護(hù)訂單的各種狀態(tài),包括:接受、在途(在哪個(gè)點(diǎn))、在配送中、客戶(hù)已收、等待支付等。當(dāng)訂單生成后,根據(jù)具體的或特殊的信息,管理員來(lái)處理訂單。當(dāng)貨物發(fā)貨時(shí),生成交接單,當(dāng)貨物運(yùn)送到某個(gè)配送點(diǎn)時(shí),檢查完貨物,司機(jī)應(yīng)與該配送點(diǎn)的管理員來(lái)填寫(xiě)交接單,以保證貨物能在各個(gè)段內(nèi)安全的配送。訂單管理員查詢(xún)當(dāng)日訂單,當(dāng)月訂單,按訂單號(hào)查詢(xún)。
7)報(bào)表管理:負(fù)責(zé)總公司及配送點(diǎn)的報(bào)表管理。
圖1 系統(tǒng)總體關(guān)系圖
圖2 管理員關(guān)系圖
2.1SSH框架
SSH是目前較流行的一種Web應(yīng)用程序開(kāi)源框架。SSH不是一個(gè)框架,其是struts+spring+hibernate的一個(gè)集成框架。其可用于短期內(nèi)搭建復(fù)用性強(qiáng)、結(jié)構(gòu)簡(jiǎn)明清晰、便于維護(hù)的Web應(yīng)用程序。
從系統(tǒng)職責(zé)上講,SSH框架分為4層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層(實(shí)體層)。
Struts是整個(gè)系統(tǒng)的基礎(chǔ)架構(gòu),其負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對(duì)持久層提供支持。Spring有兩方面的應(yīng)用,其既可作為一個(gè)輕量級(jí)的IoC容器,負(fù)責(zé)查找、定位、創(chuàng)建和管理對(duì)象及對(duì)象之間的依賴(lài)關(guān)系,也用于Struts和Hibernate協(xié)同工作。文中以建立倉(cāng)儲(chǔ)系統(tǒng)中的配送點(diǎn)管理模塊為例,其系業(yè)務(wù)流程框圖如圖3。
圖3 配送點(diǎn)管理業(yè)務(wù)流程
功能描述:由總公司新增配送點(diǎn)、查看配送點(diǎn)信息、修改配送點(diǎn)信息、刪除配送點(diǎn)。新增配送點(diǎn):當(dāng)公司根據(jù)業(yè)務(wù)需求擴(kuò)展配送規(guī)模,新開(kāi)設(shè)配送點(diǎn)并添加配送點(diǎn)信息。查看配送點(diǎn)信息:為了方便公司管理,隨時(shí)了解配送點(diǎn)具體信息。修改配送點(diǎn)信息:如配送點(diǎn)信息有變更,則修改配送點(diǎn)信息。刪除配送點(diǎn):根據(jù)公司業(yè)務(wù)需求刪除配送點(diǎn)。配送價(jià)格管理:配送點(diǎn)根據(jù)自身的配送范圍制定配送價(jià)格。
2.2系統(tǒng)的實(shí)現(xiàn)
由SSH構(gòu)建系統(tǒng)的基本流程如下。
2.2.1表示層實(shí)現(xiàn)
在表示層中,通過(guò)JSP頁(yè)面實(shí)現(xiàn)交互界面,其負(fù)責(zé)傳送請(qǐng)求和接收響應(yīng),然后Struts通過(guò)struts-config.xml配置文件將ActionServlet接收到的請(qǐng)求交給相應(yīng)的Action處理。
Struts的配置如下:
2.2.2業(yè)務(wù)層的實(shí)現(xiàn)
在業(yè)務(wù)層中,實(shí)現(xiàn)承上啟下,連接表示層和持久層。其業(yè)務(wù)邏輯的完成主要依靠在該層中管理服務(wù)組件的Spring IoC容器,負(fù)責(zé)向Action提供業(yè)務(wù)模型組件和該組件的協(xié)作對(duì)象數(shù)據(jù)處理組件,同時(shí)依靠事務(wù)處理、緩沖池等容器組件保證系統(tǒng)性能和數(shù)據(jù)的完整性。在構(gòu)建業(yè)務(wù)層時(shí)要完成兩個(gè)任務(wù):首先,必須在strus-config.xml文件中配置Spring的application -Context.xml文件,然后配置applicationContext.xml
主要利用Spring框架構(gòu)建業(yè)務(wù)層,其表示如下:
2.2.3持久層的實(shí)現(xiàn)
在持久層中,通過(guò)Hibernate的對(duì)象化映射完成和數(shù)據(jù)庫(kù)間的交互,以此處理協(xié)作對(duì)象數(shù)據(jù)處理組件請(qǐng)求的數(shù)據(jù),返回處理結(jié)果。在此過(guò)程中,大幅簡(jiǎn)化了對(duì)數(shù)據(jù)表的訪(fǎng)問(wèn)操作。
配送點(diǎn)管理持久化通過(guò)DeliverySpotDaoImpl類(lèi)實(shí)現(xiàn),代碼如下:
實(shí)現(xiàn)的程序界面如圖4所示。
圖4 查看配送點(diǎn)和添加配送點(diǎn)程序界面
上述的開(kāi)發(fā)模型,實(shí)現(xiàn)了兩個(gè)分離:一是視圖、控制器與模型的徹底分離;二是業(yè)務(wù)邏輯層與持久層的分離。通過(guò)系統(tǒng)間不同層次耦合度的降低保證了在前端變化的情況下,模型層只需較少的改動(dòng),同時(shí)數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,系統(tǒng)層次分明,結(jié)構(gòu)清晰,方便后期維護(hù)。且由于不同層之間耦合度小,有利于團(tuán)隊(duì)的分工與并行開(kāi)發(fā),大幅縮短了開(kāi)發(fā)周期。
基于SSH架構(gòu)的現(xiàn)代綜合性物流倉(cāng)儲(chǔ)系統(tǒng)通過(guò)實(shí)際運(yùn)行,表現(xiàn)良好,運(yùn)行穩(wěn)定,有力的證明了SSH框架是一個(gè)行之有效的Java EE應(yīng)用系統(tǒng)解決方案。在該系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,按照軟件工程的思路指導(dǎo)開(kāi)發(fā),體會(huì)到了只有認(rèn)真進(jìn)行需求分析、總體設(shè)計(jì)才可確保軟件質(zhì)量。需求分析與軟件設(shè)計(jì),是后期代碼實(shí)現(xiàn)和測(cè)試的過(guò)程中少走彎路、縮短開(kāi)發(fā)周期的重要保障。本系統(tǒng)在保證運(yùn)行功能正確的前提下,盡量提升用戶(hù)體驗(yàn)。軟件的設(shè)計(jì)實(shí)現(xiàn)了計(jì)算機(jī)技術(shù)與行業(yè)相結(jié)合,證明了計(jì)算機(jī)技術(shù)將是推動(dòng)未來(lái)社會(huì)發(fā)展的重要?jiǎng)恿Α?/p>
[1]陳天河.Struts+Hibernate+Spring集成開(kāi)發(fā)寶典[M].北京:電子工業(yè)出版社,2007
[2]Turner J.Bedell K.Struts Kick Start[M].北京:機(jī)械工業(yè)出版社,2004.
[3]吳其慶.Java編程思想與實(shí)踐[M].北京:冶金工業(yè)出版社,2002.
[4]楊紅飛,李振坤,梅松青,等.基于Struts和Hibernate的教務(wù)系統(tǒng)研究與設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(2):202-204.
[5]王寶龍,李子揚(yáng),李曉輝.基于SSH框架和DWR技術(shù)的減災(zāi)衛(wèi)星運(yùn)行管理系統(tǒng)建設(shè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(23): 5096-5099.
[6]蔣衛(wèi)祥.基于SSH框架煤炭企業(yè)物流掛案例系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].煤炭技術(shù),2013,32(8):262-263.
[7]楊帆.基于J2EE的物流信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2013.
Design and implement of modern comprehensive logistics management system based on SSH
WANG Jing
(Shaanxi Railway Engineering Vocational and Technical College of Management Engineering,Weinan 714000,China)
In order to satisfy the requirement of the modern comprehensive logistics and warehousing,a professional logistics management system based on strut-spring-hibernate technology is designed in this paper,realizing the effective management of employees,goods,orders,vehicles,etc The software system adopts the SSH framewok as development environment achieving the goal of the reducing of the coupling between various levels of the system and the improving of the system's practicability and reusability.
logistics;management system;SSH;system design
TP311
A
1674-6236(2016)21-0132-03
2015-11-05稿件編號(hào):201511051
王 晶(1982—),女,湖北崇陽(yáng)人,碩士,助教。研究方向:工商管理。