摘 要: 該文設計開發的一站式點餐網站具有用戶點餐購物,個人信息管理,訂單信息管理,菜品信息管理和其他數據管理等功能;贐/S模式,前端采用HTML5、CSS3、JavaScript、jQuery、JSP技術,后臺采用Spring框架、Struts2、J2EE、MySQL數據庫技術,代碼量適中且易于維護,具有良好的拓展性。通過黑盒測試和白盒測試,該系統的功能滿足系統設計需求,可靠性較高,具有良好的適用性。
關鍵詞 : B/S; Struts2;電子商務; Spring; Ajax;
1、 背景
21世紀,隨著互聯網的不斷普及與發展,電子商務模式隨之涌現,憑借其網絡化和信息化的特點,通過線上連接用戶,相比線下消費更加方便快捷,使得電子商務模式發展愈加蓬勃。如何構建科學有效的盈利模式,保證盈利質量和盈利能力,形成良好的商業生態,打造各產品與服務的商業閉環,形成自己的核心競爭力成為重中之重[1]。同時相較于傳統的到店用餐和電話叫餐,一站式點餐網站因其點餐方便、成本低、訂單可追溯的特點而具有巨大的優勢。本文設計開發的一站式點餐網站不僅實現了自助點餐功能,還提供了用戶信息管理和菜品信息管理功能。讓商家和用戶都能通過信息化的手段更為方便快捷的進行外賣活動。
2、 關鍵技術
系統主要Java語言來編寫服務器程序,同時采用MVC三層架構將應用程序分為模型、控制器和視圖。前端使用JSP技術,結合HTML5,CSS3,Java Script技術將頁面展示給用戶和商家。后臺采用Struts2、Spring、JDBC進行編寫,利用Struts2框架中的taglib獲得可重用的代碼,利用Action Servlet配合struts.xml文件實現對整個系統的導航。在本系統中,由Spring框架代替Struts框架來對用戶請求進行攔截并分發,Spring框架可通過聲明式的方式進行事務管理,可以讓其變得更加簡潔方便,因此Hibernate事務便由Spring代替Struts2框架進行管理。在前端和后端之間,使用Ajax異步提交數據,同時使用My SQL進行數據保存和處理。
2.1 、JSP
JSP是由Sun公司主導,眾多互聯網公司共同參與、建立的基于Servlet規范的一種動態網頁技術。它具有良好的獨立性、可復用性、可拓展性,可以很好地將視圖層與業務邏輯層分割開,降低了維護成本。相較于ASP,JSP因其擁有用戶定制標簽庫而具有良好的可拓展性,而ASP沒有。JSP是基于Java語言的,它可以使用Java API,較ASP而言可以更好地實現跨平臺?傮w而言,JSP更加的方便、強大。
2.2、 Struts2框架
Struts2框架是一個具有靈活性和可重用性的開放資源框架,以Web Work為核心,具有組件模塊化的優點,采用MVC設計模式,它清晰地將事務邏輯、視圖和控制器區分開來,從而降低了程序的耦合性,簡化了程序開發過程。不僅如此,Strut2還提供了豐富具體的JSP自定義標簽庫,充分利用了Java的強大功能和其跨平臺的特性,不僅使得編寫程序更加靈活且提高了應用程序的柔韌性。
3、 系統設計
為了方便用戶使用,一站式點餐平臺分為管理員登錄和用戶登錄,對應不同的功能和界面。
3.1、體系結構
一站式點餐網站采用目前最為流行的B/S體系,即瀏覽器/服務器模式。采用這種模式的優勢在于系統功能主要實現集中在服務器上完成,用戶無需下載,在任意平臺使用瀏覽器即可進行點餐操作,不僅具有很強的便捷性、跨平臺性,還有利于管理員更新系統內容。
3.2、 用戶端
用戶端主要為用戶提供服務,為滿足用戶的不同需求,為用戶提供個人信息管理、訂單管理、用戶登錄與注冊、自助點餐四大功能模塊,每個功能模塊由若干個功能組成。
圖1 用戶端功能結構圖
用戶登錄與注冊模塊:用戶通過填寫表單提交數據,前端驗證數據合法性,若提交的數據不合法則直接由前端提示錯誤信息,若數據合法則將表單提交服務器,數據提交到服務器后,服務器通過和數據庫的交互返回驗證結果,前端將服務器返回的驗證結果顯示到頁面上。自助點餐板塊:用戶可通過分類功能查看不同種類的餐品,可點擊加入購物車按鈕將餐品添至購物車,用戶點餐完畢后,在購物車頁面中填寫收貨地址并成功支付后即點餐成功,訂單會根據用戶填寫的信息自動生成。個人信息管理模塊:用戶通過該模塊管理個人信息。用戶可以進行的操作有:管理收貨地址、查看個人信息、修改個人信息。訂單管理模塊:用戶通過訂單管理模塊管理個人訂單。用戶可通過該模塊查看正在進行的訂單狀態、查看已完成訂單或取消當前的訂單。
3.3 、管理員端
管理員端主要由管理員操作,管理員通過管理員賬號密碼登錄后即進入管理員端。用于對系統進行維護和管理,并對系統信息進行更新和備份,保障系統流暢、平穩運行。管理端提供的功能主要分為菜品管理、用戶個人信息管理、用戶訂單管理、管理員個人信息管理四大模塊。
圖2 管理員端功能結構圖
用戶信息管理模塊:可以修改用戶的賬號密碼,對違規賬號做封號處理,甚至刪除賬號。菜品管理模塊:可以添加供用戶選擇的餐品,修改餐品的圖片、菜名、價格等信息。訂單管理模塊:管理員可以查詢訂單的狀態,查詢歷史訂單,修改某個訂單狀態,為用戶退款,刪除某個訂單。管理員信息管理模塊:管理員可修改管理員的個人信息,添加新的管理員。
4 、系統關鍵技術實現
4.1、 數據操作
圖3 管理員用戶管理菜品流程圖
圖3為管理員用戶管理菜品流程圖,主要闡釋了該模塊為管理員用戶提供修改和刪除菜品信息的功能流程。如查詢菜品信息,刪除菜品信息和修改菜品信息。
自助點餐模塊中加入購物車的操作:
圖4 用戶加入購物車功能系統流程圖
圖4為用戶加入購物車功能系統流程圖,主要闡釋了用戶將餐品加入購物車時系統后臺的響應流程。
加入購物車功能關鍵代碼:
4.2、 Spring框架的配置
Spring框架是為解決企業應用開發的復雜性而建立的Web框架技術,也是目前國內外Web企業開發項目中應用非常廣泛的一個[2]。在本系統中,Spring框架提供了初始化的服務,通過Bean的注入有效的組織中間層對象,在使用之前自動創建對象,通過AOP進行面向切面編程,消除了使用各種各樣格式的屬性定制文件的需要。優化了系統運行速度,方便解耦,提高了開發效率。
本系統中數據庫Bean的配置:
5、 軟件測試
軟件測試的目的是檢查實際結果與預期結果是否匹配并確保軟件系統按系統設計需求運行。軟件測試還有助于識別產品與實際需求不符或是缺失項[3]。鑒于作者對系統的系統架構、功能和內部邏輯處理的完全了解,本系統擬采用白盒測試和黑盒測試的方法進行軟件測試,測試服務器選用本地服務器。
本系統的軟件測試階段信息流程圖如圖5所示:
圖5 軟件測試階段信息流程圖
為了設計出有效地測試方案按照下面準則進行測試:所有的測試方案應當根據用戶需求來制定;軟件測試前必須要指定嚴密的測試計劃,并且要嚴格執行測試計劃避免測試的隨意性;測試完成后要注意保留測試設計和說明文檔并注意測試設計的可重用性;運用Pareto原理著重對出現錯誤最多的20%的模塊進行測試,測試前必須明確定義軟件的質量標準,先重點測試單個程序模塊,單個程序無錯誤出現后再轉向集成的模塊簇[4];精心設計測試方案,如果進行相同的重復測試,則該方法將無助于發現新的缺陷[5]。
根據以上原則對本系統各功能模塊進行功能測試:
表1 一站式點餐平臺功能測試表
測試結論:經過黑盒測試和白盒測試,測試結果表示系統的各個功能實現都達到了系統需求設計的要求,測試通過。
6、 結束語
本系統使用JSP頁面進行頁面展示,與傳統的前端開發框架相比而言,JSP可以很容易的和靜態模板結合,包括:HTML或者XML,也可以很容易的和產生動態內容的代碼結合起來[6]。使用Spring框架結合Struts2來進行服務器開發,利用了Spring框架的兩個重要思想:Ioc(控制反轉)和Aop(面向切面編程),統一管理了系統中的Java對象,在使用前自動創建對象,提高了開發效率,同時節約了系統占用的資源。經過系統的測試,本系統無論是從功能方面還是性能方面都具有良好的表現,能夠很好地滿足用戶的點餐需求,各個功能模塊功能完善,具有良好的實用性。本系統基于B/S模式,用戶使用方便,也便于對服務器進行維護和升級,具有良好的便捷性。
參考文獻
[1]張涵美團網的盈利模式及其財務評價研究[D].大慶東北石油大學,2020.
[2]翟劍錕Spring框架技術分析及應用研究[D].北京:中國科學院大學(工程管理與信息技術學院),2013.
[3]佟偉光郭霏靠.軟件測試[M]北京人民郵電出版社,2015(1):281.
[4]劉文娟基于WEB的行政審批管理系統的設計與實現[D].成都:電子科技大學,2011.
[5]張海藩.軟件工程導論[M].4版北京:清華大學出版社2003.
[6]尼邁耶,洛伊科Java學習指南[M].李強,王建新,吳戈,譯北京:人民郵電出版社,2014.