摘 要:為了解決實體書店受到服務時間、地理位置以及啟動資金大等條件制約的問題,設計了一個網上書店系統,該系統基于用戶層/應用層/數據層的三層模式體系結構設計,使用Visual Studio 2005平臺結合SQL Server 2000數據庫進行開發。經試驗證明,本網上書店系統具有功能比較穩定、代碼可移植性好和維護簡單等優點。在此著重討論如何設計基于B/S三層結構的網上書店系統,分析了開發系統的關鍵技術和難點。
關鍵詞:B/S模式; 三層結構; 網上書店系統; 數據庫技術
中圖分類號:TN91934 文獻標識碼:A 文章編號:1004
網上書店,是一種高質量、更快捷、更方便的銷售和購買圖書的方式,打破了傳統書店對于服務時間和地域等的限制,不但大大節省了開店的成本,而且真正實現了24 h不打烊的書店服務。近年來隨著卓越亞馬遜和當當等網上書店的涌現,各實體書店都爭先將書店銷售業務擴展到網絡,網上購書的實惠、便捷、多樣化等優勢都逐漸深入人心,網上購書日益成為時尚。加上近年來數據挖掘技術在電子商務平臺上的應用,使得網上書店的購銷模式更加人性化。網上書店系統在圖書的銷售和購買過程中發揮出了重要的作用。本文討論如何設計基于B/S三層結構的網上書店系統,分析了開發系統的關鍵技術和難點。
1 B/S三層結構介紹
B/S是Brower/Server(瀏覽器/服務器)模式的簡稱。B/S結構以訪問Web數據庫為中心,以http為傳輸協議,客戶端通過瀏覽器訪問Web服務器和與其相連的后臺數據庫。B/S模式由瀏覽器、Web服務器和數據庫服務器3個層次組成,其結構如圖1所示[1]。
圖1 B/S模式結構圖Visual Studio 2005是一個高效率的集成開發環境,可以方便地實現B/S結構的3層構架,即用戶層、應用層和數據層。用戶層直接跟用戶進行交互,一般是指系統的界面,用于數據錄入、顯示等。應用層主要是做有效性驗證的工作,能更好地保證程序運行的健壯性,如完成數據添加、修改和查詢業務等。數據層,就是專門跟數據庫進行交互,執行數據的添加、刪除、修改,即實現對數據表的Select,Insert,Update,Delete等進行操作[23]。
2 網上書店系統體系結構
網上書店系統需要完成的功能有用戶管理、圖書展示、訂購服務和后臺管理4大部分。從操作界面來說,主要是分為用戶操作界面和管理員操作界面。用戶可以隨意瀏覽網店的商品,但是要在網店購買圖書,就必須先登錄(未注冊的先要進行注冊)。用戶通過自己瀏覽和查詢,可以選購自己想要的圖書,其所選圖書自動添加到購物籃中,選好圖書后用戶可以對自己的購物籃進行管理,如刪除訂單、修改訂單等,并最終確定需要購買的圖書,進行支付。管理員登錄后轉到后臺管理的頁面,這里管理員可以管理普通用戶,可以增、刪、改用戶;可以對圖書進行管理,包括添加圖書類別、刪除圖書類別、添加圖書、刪除圖書和管理用戶訂單等。根據以上敘述,得出本系統的軟件結構圖如圖2所示[46]。
圖2 系統軟件結構圖3 實體關系模型
根據系統功能模塊以及各模塊之間的關系,可以設計出滿足用戶需求的各種實體以及他們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包含各種具體信息,通過相互之間的作用形成數據的流動。本系統可以設計以下主要實體:用戶實體、訂單實體、圖書實體和圖書類別實體等。其中,圖書實體和圖書類別實體之間是多對一的關系,用戶實體與圖書訂單實體之間是一對多的關系。主要實體之間的ER關系模型如圖3所示[7]。
圖3 實體之間的ER關系圖4 數據庫設計
數據庫是本系統中非常重要的組成部分,存儲著網上書店運行過程中的所有數據,整個系統的設計和運行都是圍繞著數據庫來進行展開的,數據庫的結構設計和安全維護將直接影響到整個系統的設計開發和軟件的質量。
4.1 數據庫設計技術要點
在進行數據庫的數據結構分解和設計時,應遵循數據規范化的理論進行設計,以減少數據冗余,保證數據的完整性和一致性。數據庫設計的基本原則是在管理信息系統總體信息方案的指導下,各個數據庫應當為它所支持的管理目標服務,在設計數據庫系統時,應當重點考慮以下幾個技術要點:數據庫的設計必須層次分明、布局合理;必須保證數據庫中的數據高度結構化、規范化和標準化,這是建立數據庫和進行信息交換的基礎;數據結構的設計應該遵循國家標準和行業標準,尤其要重視編碼的應用;在設計數據庫的時候,一方面要盡可能地減小冗余度,減小存儲空間的占用,降低數據一致性問題發生的可能性;另一方面,還要考慮適當的冗余,以提高運行速度和降低開發難度;必須維護數據的正確性和一致性;在管理信息系統中,經常會出現多個用戶共享數據庫的情況,由于并發操作,可能影響數據的一致性,因此必須用“鎖”等辦法保證數據的一致性;設定相應的安全機制,由于數據庫的信息對特定的用戶有特定的保密要求,安全機制必不可少[89]。
4.2 表結構設計
本系統采用SQL Server 2000數據庫管理系統,在管理系統中先建立名為bookstore的數據庫后,需要再創建如下主要數據表:用戶表、訂單表、圖書訂單表和圖書類別表等。
(1) 用戶表:用于存放用戶的基本信息,包括郵寄圖書時需要填寫的信息,如用戶編號等,如表1所示。
(2) 其他表。除了上面介紹的用戶表,還需要設計一個訂單表用來存放訂單的信息,設計一個圖書信息表用來記錄圖書的基本信息,一個圖書類別表用來記錄圖書的類別信息等,各表中主要字段如上面的實體ER圖所示,出于篇幅限制,此處不再一一列舉。
4.3 數據庫連接設置
數據庫使用的是傳統的SQL Server 2000,數據庫名稱:bookstore。為了使應用程序方便移植,為版本控制提供更好的支持,可以在應用程序配置文件Web.config中設置數據庫連接信息。在該配置文件中添加如下語句來連接數據庫供整個系統使用,如圖4所示。
該環節包括網站界面的設計和各功能模塊的實現。界面設計主要包括首頁、注冊頁、圖書查詢頁、購物籃管理頁和管理員界面等。設計界面時首先要考慮的問題是方便用戶操作,將最想讓用戶了解的信息放在最顯眼的位置,同時還要在方便操作的基礎上盡量追求界面美觀。導航欄的設計也是非常重要,既要方便使用,又要分類明晰和醒目。整個設計過程可以綜合使用文本、圖像、聲音、視頻和動畫等多種媒體元素,以吸引用戶眼球。
在功能模塊中,最主要的模塊包括用戶注冊和登錄管理模塊、圖書查詢模塊、訂單管理模塊及銷售管理模塊等。在程序設計過程中,除了考慮代碼的正確性以確保系統正常功能的實現外,還要考慮代碼的健壯性和可移植性等問題,系統功能的可擴充性也是設計過程中需要考慮的問題,此處介紹圖書查詢模塊。圖書的查詢可以通過書名、作者(或主編)或出版社等來查詢,查詢后會專門有一個頁面來顯示查詢的內容。圖書查詢模塊主體的設計流程圖如圖5所示。
6 結 語
網上書店系統在圖書的在線銷售中起到了巨大的作用,部分書籍的網上銷售量甚至超過了實體書店的銷售。如果能夠在網上書店系統中加入數據挖掘技術,這種技術將海量的購書信息進行挖掘計算后把相關聯的書籍推薦給顧客,從而可以發掘和刺激顧客潛在的購書需求,大大提高圖書的銷售量[10]。本文介紹的網上書店系統基本功能齊全、操作簡單、代碼可移植性好和維護簡單,對于建立網上書店系統和其他一些中小型電子商務網站具有一定的參考作用。
圖5 圖書查詢模塊設計流程圖
參 考 文 獻
[1] 肖建芳,陸深煥.如何在J2EE平臺上設計開發基于Web的教學管理信息系統[J].中國科技信息,2008(4):193195.
[2] 程志梅,陸鋼,劉光萍.基于 B/S 模式的網絡教學系統的設計與實現[J].東華理工大學學報:社會科學版,2009,28(2):185188.
[3] 張春燕,繆力.基于XML網上書店系統的設計[J].現代電子技術,2010,33(16):4042.
[4] 諶志鵬,商艷紅.基于WAP的網上書店的設計與實現[J].唐山師范學院學報,2011,33(5):5355.
[5] 楊文彬.基于ASP的網上書店管理系統的設計與實現[J].長江大學學報,2011,8(9):7375.
[6] 高峰.基于ASP.NET網上書店的設計與實現[J].重慶文理學院學報:自然科學版,2011,30(2):6264.
[7] 張樹亮.ASP.NET 2.0+SQL Server網絡應用系統開發案例精解[M].北京:清華大學出版社,2006.
[8] 高彩霞.基于關聯規則的網上書店電子商務的研究與設計[D].成都:電子科技大學,2008.
[9] 李妍,張娜,張東海.網上書店的分析與實現[J].佳木斯大學學報:自然科學版,2009,27(4):530531.
[10] 李愛鳳.基于數據挖掘技術的購物籃模式研究[J].計算機應用與軟件,2011,28(12):5658.
[11] 陳明忠.基于ASP.net的網上書店系統安全性研究\[J\].現代電子技術,2012,35(4):3537.
作者簡介: 肖建芳 女,1980年出生,湖南郴州人,工程碩士,講師。研究方向為計算機應用技術、數據挖掘等。