鄭文青
(山東科技大學(xué),濟南 250031)
第一,系統(tǒng)以企業(yè)的實際需求進行設(shè)計與開發(fā)。對企業(yè)生產(chǎn)部門進行有針對性的實地調(diào)研,全面了解不同主體的需求。
第二,明確數(shù)據(jù)來源。保證系統(tǒng)開發(fā)中數(shù)據(jù)的真實性,對運行測試中產(chǎn)生的結(jié)果確保其有效性,方便系統(tǒng)與現(xiàn)實操作的對接。
第三,堅持靈活性與可擴展性原則。系統(tǒng)能夠根據(jù)用戶不斷變化和增長的需求,盡可能少的改動框架結(jié)構(gòu)與代碼。
第四,堅持先進性與標準性原則。系統(tǒng)的設(shè)計不僅要考慮當前發(fā)展需求,也要借鑒國內(nèi)外成功案例設(shè)計創(chuàng)新性功能,保證系統(tǒng)的生命力。同時,系統(tǒng)應(yīng)遵循國家標準、行業(yè)規(guī)范。
系統(tǒng)采用模塊化的方式對不同的主體進行具體的功能設(shè)計,本系統(tǒng)主要劃分為:客戶模塊、工人模塊、管理者模塊四部分。具體的功能設(shè)計如下:
(1)客戶模塊:此模塊包括客戶個人信息管理和訂單信息管理。客戶個人信息管理,即客戶可以調(diào)閱、更改個人信息,系統(tǒng)實現(xiàn)數(shù)據(jù)庫的實時更新。訂單信息管理,即用戶選擇訂購的產(chǎn)品,根據(jù)產(chǎn)品相應(yīng)的數(shù)據(jù)生成訂單信息。其中,系統(tǒng)實現(xiàn)庫存和訂單狀態(tài)實時更新,并通過Dijkstra最短路徑法生成最優(yōu)運輸路徑以及運費。
(2)工人模塊:此模塊包括員工個人信息管理和考勤信息管理??记谛畔⒐芾恚üと撕灥?、請假、排班及換班信息的管理。工人每日實時簽到,簽到信息計入考勤信息。工人通過查看排班信息有選擇的進行換班,實現(xiàn)多個工人間信息的實時交互,并生成新的排班表。
(3)管理員模塊:此模塊包括用戶信息管理、生產(chǎn)控制管理和發(fā)展預(yù)測三部分功能。管理員擁有管理所有用戶信息的權(quán)限。生產(chǎn)控制管理,即用戶可以對生產(chǎn)過程中的訂單或產(chǎn)品進行直接的操作。而發(fā)展預(yù)測則是對企業(yè)生產(chǎn)數(shù)據(jù)的深度利用,根據(jù)概率的計算生成預(yù)測發(fā)展報告。
系統(tǒng)在數(shù)據(jù)存儲上依賴SQL Server2012數(shù)據(jù)庫,使用T-SQL語句,通過JDBC技術(shù)在Java程序中間接操作數(shù)據(jù)庫表。同時,以輕量級web應(yīng)用服務(wù)器Tomcat 7.0來開發(fā)和調(diào)試JSP程序。在MyEclipse中通過內(nèi)置服務(wù)器啟動Tomcat,實現(xiàn)B/S交互模式。系統(tǒng)的訪問機制采用的是能夠保存所有用戶公共的數(shù)據(jù)信息的Application。
2.1.1 SSH框架在系統(tǒng)開發(fā)中的模塊劃分
在SSH框架下的系統(tǒng)從職責上被劃分為表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層以及域模塊層,在本系統(tǒng)中也是按照這樣的劃分來開發(fā)的。
其中Strust框架在系統(tǒng)中是以整體基礎(chǔ)架構(gòu)的身份出現(xiàn)的,它首先對出現(xiàn)的Servlet代碼和JSP標簽整合到統(tǒng)一的Struts框架中。其次,它負責分離MVC的同時也為這三部分提供了相應(yīng)的控件。系統(tǒng)中的前端界面操作、后臺運行以及前后端的交互就是以MVC形式分離的,功能代碼獨立放置提高了代碼的重用性。
而Spring框架,作為一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,它的主要功能是管理Struts和Hibernate,在兩個框架通過DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問時進行管理。對于Hibernate框架的應(yīng)用主要體現(xiàn)在對象關(guān)系的映射,它主要是對JDBC進行了輕量級的封裝。
2.1.2 SSH框架在系統(tǒng)中的工作流程
三大框架在系統(tǒng)中各司其職又聯(lián)系密切,各個框架有自己的運行流程,不同框架間又通過特殊的配置文件進行連接。它們之間具體的工作流程如下:在JSP界面即表示層,系統(tǒng)接收用戶的請求。這時服務(wù)器把這個請求傳遞給Struts,通過Struts的配置文件struts-con fig.xml,把ActionServlet接收到的請求委派給相應(yīng)的Action處理。位于業(yè)務(wù)層的Spring框架負責向Action提供業(yè)務(wù)模型組件和該組件的協(xié)作對象DAO組件完成業(yè)務(wù)邏輯。最后在持久層中,依賴于Hibernate的對象化映射和系統(tǒng)的數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。
SSH框架固然擁有優(yōu)勢能夠提高企業(yè)生產(chǎn)管理效率,但是隨著這種模式的普遍使用,三個框架的缺陷也逐漸顯現(xiàn)出來:Struts使系統(tǒng)結(jié)構(gòu)更加清晰的同時,也增加了系統(tǒng)的復(fù)雜度;Spring中JSP需要過多的代碼;Hibernate在批量數(shù)據(jù)處理時有弱勢。
但隨著Web技術(shù)的逐漸發(fā)展,許多先進的技術(shù)也彌補了這一問題的不足。SSM(Spring+SpringMVC+MyBatis)框架作為現(xiàn)在較為主流的方式,比起SSH框架更加適合中小系統(tǒng)的開發(fā),更加輕便,在未來的系統(tǒng)升級中應(yīng)重點考慮。
[1] 陸貫中.基于SSH框架的人力資源管理系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林大學(xué),2011.
[2] 翟高粵.基于J2EE技術(shù)的SSH框架的改進及應(yīng)用[J].計算機時代,2012(10):24-26+29.
[3] 曾亮,齊歡,王小平等.基于J2EE核心模式的組合Web框架研究[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2007,35(6).