本站小編為你精心準備了家裝工程施工系統(tǒng)設計闡述參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1系統(tǒng)架構(gòu)及設計
1.1SSH架構(gòu)同
ExtJS4的整合新架構(gòu)保留了Spring+Hibernate的組合,從表示層、控制層和業(yè)務邏輯層入手,使用ExtJS實現(xiàn)Struts框架中的頁面表示層。(1)客戶端:瀏覽器界面是用ExtJS4制作,同時也可以擴展頁面的元素,使Web表示層的開發(fā)具備可復用和可繼承等面向?qū)ο蟮奶匦浴xtJS4頁面作為表示層實現(xiàn)與用戶的交互,各種請求都由ExtJS4動態(tài)生成的JavaScript對象處理,由客戶端Ajax引擎將JavaScript請求映射成Http請求,業(yè)務層的處理結(jié)果以基于XML的JSON數(shù)據(jù)結(jié)構(gòu)進行封裝,經(jīng)過Ajax引擎的解析,返回給客戶端ExtJS4組件,實現(xiàn)了服務器端與表示層的異步數(shù)據(jù)通信。(2)表現(xiàn)層:接收來自客戶端的Http請求,并調(diào)用相應的Action來處理請求,最后將執(zhí)行結(jié)果返回客戶端。其中,前端控制器(Controller)和處理用戶請求的每個動作(Ac-tion)采用Struts模式設計[12]。(3)業(yè)務層:Action的主要功能是從請求中取得參數(shù)的值,轉(zhuǎn)化成相應的模型,再將模型傳遞給執(zhí)行業(yè)務操作的對象,由業(yè)務對象執(zhí)行業(yè)務操作,再返回執(zhí)行的結(jié)果。利用Spring框架對會話及事務進行封裝、管理,向下與Hi-bernate數(shù)據(jù)持久層交互,向上為Struts的Ac-tion提供功能接口。N層計算模式和Spring框架的結(jié)合使用,降低了應用程序各模塊之間和應用層與持久層之間的耦合程度。(4)持久化層:Hibernate負責數(shù)據(jù)持久層的管理,直接與數(shù)據(jù)庫交互,將數(shù)據(jù)庫中的數(shù)據(jù)表與Java對象進行映射。
1.2系統(tǒng)主要功能模塊
工程施工管理系統(tǒng)的主要功能是施工監(jiān)控模塊和基礎數(shù)據(jù)管理模塊,其中施工監(jiān)控模塊涵蓋了施工從開工到結(jié)束的所有監(jiān)控信息,包含項目巡查、項目客訴、項目處罰等子模塊,是系統(tǒng)的主要業(yè)務功能實現(xiàn)的模塊。基礎數(shù)據(jù)管理模塊是為了維護系統(tǒng)基礎數(shù)據(jù),包含工隊管理、處罰條例等子模塊。
1.2.1施工監(jiān)控子模塊(1)項目巡查根據(jù)概要設計的設定和規(guī)劃,項目巡查是家裝公司為全過程監(jiān)控的一項最重要的活動。該活動由管家角色通過去工地實地巡檢,然后通過手機上傳巡查記錄。用戶可以通過管家姓名查詢到該管家下正在施工的所有項目,選中項目后可以查看該項目下的所有巡查記錄。選中巡查記錄后用戶可以查看這些巡查記錄的詳細信息和管家上傳的附件等信息,并且可以審核這些巡查記錄,可以在系統(tǒng)中進行審查操作。該審查的結(jié)果會被計入到管家的日常工作考察中。
1.2.2基礎數(shù)據(jù)管理子模塊(1)處罰條例處罰條例是家裝公司處罰工隊違規(guī)的重要依據(jù),為了方便用戶在對處罰進行裁決時可以隨時查看管家提交的處罰依據(jù)對應的處罰條例。進而對處罰條例進行全面的維護,包括對處罰章節(jié)的增加修改,對各條例內(nèi)容的增加修改等。(2)工隊管理工隊信息數(shù)據(jù)是項目在系統(tǒng)中能夠運行的關鍵數(shù)據(jù),同樣作為系統(tǒng)的基礎數(shù)據(jù),工隊管理的維護較為繁雜。首先,要對工隊本身的信息進行維護,其次,要對工隊成員單獨進行維護。最后,項目中有許多活動是圍繞著工隊進行的,例如:處罰、申報、客訴等,所以在工隊管理中需要同時統(tǒng)計每個工隊的各項數(shù)據(jù)。以作為該工隊的考核依據(jù)。
2系統(tǒng)界面設計及實現(xiàn)
2.1施工監(jiān)控界面施工監(jiān)控的主頁面是項目的列表和項目的基礎信息以及項目團隊的人員信息。其中項目的列表會根據(jù)登錄用戶的權(quán)限查詢到數(shù)量不等的項目(如圖1所示)。施工監(jiān)控界面由于數(shù)據(jù)加載量很大,采用異步加載數(shù)據(jù),系統(tǒng)需要時間來完成界面的數(shù)據(jù)加載初始化和渲染,若是直接將本界面的所有關聯(lián)數(shù)據(jù)全部初始化,系統(tǒng)的加載速度會降低很多,不符合高效的辦公要求。所以通過ExtJS4的動態(tài)加載技術動態(tài)加載JS文件,將系統(tǒng)的初始化加載任務降到最低,合理分配利用系統(tǒng)資源,使系統(tǒng)的加載速度明顯提高。優(yōu)化的加載方法也能夠大量減輕系統(tǒng)對網(wǎng)絡的負荷。在本頁面中,右側(cè)的標簽頁均采用Ext.require方法動態(tài)加載該標簽頁的JS文件。只有激活該標簽頁時才會將該標簽頁的內(nèi)容進行渲染和初始化加載,通過這樣的加載方式提高該頁面的綜合效率,降低系統(tǒng)加載負荷。
2.2處罰條例界面處罰條例是家裝公司處罰工隊違規(guī)的重要依據(jù),為了方便用戶在對處罰進行裁決時可以隨時查看管家提交的處罰依據(jù)對應的處罰條例,進而對處罰條例進行全面的維護。處罰條例頁面中樹狀的結(jié)構(gòu)是ExtJS提供的動態(tài)樹模塊,如圖2所示。在Action中將對象通過JSONConfig過濾到對象中的雙向關系(Parent和Children),然后通過JSONObject將對象轉(zhuǎn)化為JSON對象,再將對象以字符串形式傳回前臺,前臺的TreeStore接收JSON字符串后在TreeGrid中自動生成樹狀結(jié)構(gòu)的樹表,在章節(jié)樹狀結(jié)構(gòu)上可以修改增加處罰條例的章節(jié),在左側(cè)可以查看某章節(jié)下的處罰條例,并可以對其進行增加修改等操作。
3結(jié)論
針對家裝企業(yè)的數(shù)據(jù)特點和業(yè)務需求整合設計了該系統(tǒng),該系統(tǒng)將輕量級的SSH架構(gòu)與基于Ajax的ExtJS有機結(jié)合,具備SSH的良好的數(shù)據(jù)管理能力和系統(tǒng)管理能力,同時又可以在界面上滿足大量數(shù)據(jù)的處理和操作,使用ExtJS4的動態(tài)加載技術,也使得該系統(tǒng)的加載更加合理。當然系統(tǒng)從設計到實現(xiàn)還存在一些問題,還應在本系統(tǒng)中擴大家裝業(yè)務的范圍,使得系統(tǒng)能夠更全面地輔助家裝企業(yè)的信息化改革。
作者:趙國慶李磊單位:北京石油化工學院計算機系