盧桂榮++姜明
摘要:隨著電子商務技術的蓬勃發(fā)展,越來越多的企業(yè)通過B2C商務網(wǎng)站為消費者提供產(chǎn)品和服務。文章詳細介紹了小型B2C商務網(wǎng)站的系統(tǒng)架構、前臺和后臺功能,以及數(shù)據(jù)庫的設計和實現(xiàn)過程。重點講解了購物車、后臺訂單管理功能的實現(xiàn)。網(wǎng)站開發(fā)采用ASP.NET 技術和C# 語言,SQL Server 2005 作為后臺數(shù)據(jù)庫,Visual Studio 2005 作為開發(fā)工具,實現(xiàn)小型B2C商務網(wǎng)站的一般功能。
關鍵詞:ASP.NET;商務網(wǎng)站;SQL Server2005;Visual Studio 2005;購物車;B2C
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)11-0286-04
Abstract: With the development of E-Commerce,more and more companies supply products and services on B2C E-Commerce Website. This paper provides detailed system architecture, foreground function and background function, giving database designing as well as realization. It also explains how to realize the function of Shopping Cart and order management in detail. The website adopts ASP.NET technology and C# language, using SQL Server 2005 as the background database and Visual Studio 2005 as development tool, realizing the general function of a Small B2C E-Commerce Website.
Key words:ASP.NET; e-commerce website; SQL Server2005; Visual Studio 2005;shopping cart; B2C
1 背景
隨著計算機網(wǎng)絡技術的迅猛發(fā)展,電子商務技術發(fā)展日新月異。 按照交易對象不同,電子商務分為ABC、B2B、B2C、C2C、B2M、M2C、B2A、C2A、O2O 等多種形式[1]。B2C簡稱為“商對客”,也就是通常說的直接面向消費者銷售產(chǎn)品和服務的商業(yè)零售模式,企業(yè)通過互聯(lián)網(wǎng)為消費者提供一個新型的購物環(huán)境——網(wǎng)上商店,消費者通過網(wǎng)絡在網(wǎng)上購物、網(wǎng)上支付等 [2]?!熬W(wǎng)上商店”就是我們說的商務網(wǎng)站。企業(yè)可以在商務網(wǎng)站上展示商品信息、企業(yè)信息、新聞簡訊等,只要買家注冊、登錄,就可以下訂單,輕松實現(xiàn)在線支付,賣家通過物流配送系統(tǒng)對買家商品進行發(fā)貨。這種虛擬的在線商務網(wǎng)站打破了傳統(tǒng)的線下交易過程,使買賣雙方變得更加輕松、便捷,深受年輕人的青睞。
2 系統(tǒng)分析
當今流行的網(wǎng)上商城系統(tǒng)不僅僅是把商品展示的內容擺放在網(wǎng)站上那么簡單,更要包含更多漂亮的設計元素,給予瀏覽者更多的視覺享受[3]。本文討論的小型B/C商務網(wǎng)站主要考慮買家和商家兩個方面的需求:
買家:買家打開商城首頁,可以瀏覽商品類別信息、商品信息,查看新聞動態(tài),銷售排行榜。買家注冊后成為會員,登錄后方可下訂單;同時買家還可以修改自身注冊信息,查看訂單信息。
商家:商家登錄后臺后可以管理買家信息、商品類別信息、商品信息、訂單信息,以實現(xiàn)發(fā)貨處理。
如下圖是小型B/C商務網(wǎng)站前臺和后臺功能框圖。
3 系統(tǒng)設計
3.1 系統(tǒng)結構
系統(tǒng)采用B/S架構,主要解決各種資源和信息在Web上的錄入、發(fā)布、查詢和遠程調用。B/S 是由客戶端瀏覽器、Web 服務器和數(shù)據(jù)庫服務器組成的三層結構[4],如圖3所示。
3.2 開發(fā)技術
系統(tǒng)采用ASP.NET動態(tài)網(wǎng)頁開發(fā)技術,前臺開發(fā)工具為Adobe Dreamweaver CS6、Visual Studio2005,后臺數(shù)據(jù)庫采用SQL server2005。。
3.3 數(shù)據(jù)庫設計
數(shù)據(jù)庫設計是軟件開發(fā)中非常重要的一個環(huán)節(jié),數(shù)據(jù)庫設計的好壞直接影響軟件的性能和質量。我們嚴格遵循數(shù)據(jù)庫設計的步驟,根據(jù)需求分析界定的軟件功能和數(shù)據(jù)流程,首先設計出數(shù)據(jù)庫的概念模型,概念模型用全局ER圖表示,如圖4所示。
在全局ER圖中,我們抽象出商品類別、商品、訂單、會員、新聞、管理員共計六個實體,實體之間的聯(lián)系、實體和聯(lián)系的屬性已經(jīng)在上圖中標出。接下來將ER圖轉化成某個DBMS支持的數(shù)據(jù)模型,并對其優(yōu)化。最終ER圖轉化的關系模式如下所示:
管理員表(管理員編號,管理員名稱,密碼)
商品類別表(類別編號,類別名稱)
商品表(商品編號,商品名稱,商品單價,商品圖片,類別編號,上架日期,商品描述)
新聞表(新聞編號,新聞標題,內容,圖片,發(fā)布日期)
會員表(會員編號,會員昵稱,密碼,性別,真實姓名,聯(lián)系電話,email,地址,郵編,郵編,注冊日期)
訂單表(訂單編號,會員編號,訂單總金額,訂單日期,訂單狀態(tài),支付方式,是否付款,收貨人真實姓名,聯(lián)系電話,地址,郵編,email)
訂單明細(訂單編號,商品編號,購買商品數(shù)量,商品總價格)
購物車表(購買編號,會員編號,商品編號,商品數(shù)量,總價格,購買日期)
為了編程方便,我們將中文表名稱、中文字段全部用英文名稱表示,并在SQL Server2005中完成了建表。其中的表結構如下圖所示:
這里重點說明一下購物車表Tb_BuyInfo的作用。這張表在編程實現(xiàn)的時候作用很大,它用來臨時存儲會員的購物信息。會員登錄后,選擇需要的商品添加到購物車中,購物車中的商品信息記入此表,訂單提交后購物記錄從該表中刪除,因此它相當于一個臨時的存儲空間。此表詳細用法在后面購物車實現(xiàn)的時候有詳細介紹。
SQL Server2005中生成表之間的關系圖,如下圖13所示:
4 系統(tǒng)實現(xiàn)
4.1 界面設計
除了滿足既定的功能需求外,我們還要兼顧界面美觀、好的用戶體驗等多個方面。界面美觀可以給買家更多的視覺上的享受,延長買家在網(wǎng)頁的停留時間,提高轉化率。
在欄目布局上主要考慮買家在購物時希望能夠在最短的時間內鎖定目標范圍,提高購物的便捷性。除了基本欄目(logo、導航、登錄、新聞、銷售排行、商品類別)外,針對無目的性的買家,大的折扣、優(yōu)惠信息、新產(chǎn)品等是抓住用戶心理的主要方法,因此,在首頁明顯位置展示非常有必要[5]。在配色上主要考慮使用明亮的顏色容易引起人類的注意,爭取在7秒鐘內讓買家加深對商品的印象,提高購物興趣。
4.2 前臺相關功能實現(xiàn)
系統(tǒng)開發(fā)過程中用到了ASP.NET 中的ADO.NET數(shù)據(jù)庫訪問技術。ADO.NET 是ASP.NET 應用程序與數(shù)據(jù)庫進行交互的一種技術,應用程序可以通過ADO.NET 連接到各種數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。ADO.NE T中有幾個非常重要的操作SQL Server2005數(shù)據(jù)庫的對象,它們是SqlConnection、DataSet、SqlCommand、SqlDataAdapter。
考慮到程序的可維護性、擴展性,所有開發(fā)過程嚴格按照企業(yè)級開發(fā)規(guī)范進行,如程序書寫中的變量命名、程序注釋、公共類編寫等都必須嚴格把關。
商務網(wǎng)站前臺功能中非常重要的有會員注冊登錄模塊、商品展示模塊、商城新聞模塊、銷售排行榜模塊、購物車模塊。其中購物車模塊式前臺功能的核心,下面進行詳細介紹。當會員登錄后選擇自己喜歡的商品,加入購物車后,點擊首頁中的“購物車”按鈕,即可出現(xiàn)下圖。
在購物車頁面中,買家可以修改購物數(shù)量、刪除不喜歡的商品,可以單擊“繼續(xù)購物”按鈕進入首頁繼續(xù)購物,還可以“清空購物車”、“結賬”付款。購物車中的商品展示使用GridView控件實現(xiàn),在頁面的Page_Load()事件中給控件初始化以綁定內容,加載當前登錄買家選購的商品信息,該商品信息在買家單擊“購買”按鈕時候已經(jīng)保存在購物車表tb_BuyInfo中;同時,增加GridView控件的RowDeleting()、RowEditing()、RowUpdating()三個事件,用來實現(xiàn)購物車中商品的刪除、修改、更新功能。
購物車實現(xiàn)是開發(fā)過程中的難點,為此在編程的時候增加了訪問數(shù)據(jù)庫的公共類DBHelper、購物車公共類BuyCar。在DBHelper類中主要有如下方法:
1) GetConnStr():獲得數(shù)據(jù)庫連接字符串。
2) GetDataSet(string sql) :由sql變量(select語句)得到DataSet類型查詢記錄集合。
3) ExecSql(string sql) :執(zhí)行sql語句,主要是insert、update、delete語句。
4) GetReader(string sql) :由select語句(sql)查詢得到SQLDataReader類型記錄集。
5) BindDDL(DropDownList ddlName, string sql) :給dropdownlist控件綁定數(shù)據(jù)庫源。
6) FindValue(string TabName, string FieldName, string strVal) :查找某值在某個表的某字段中是否出現(xiàn)過。
BuyCar類中主要有如下方法:
1) GetPriceByGoodsID(int GoodsID):由商品編號得到商品單價。
2) AddShopCart(int GoodsID, float Price, int MemberID, int Num) :向購物車表tb_BuyInfo表中添加購物信息。
3) TotalMoneyNum(int MemberID):獲得當前購物用戶的所有購物金額和購買商品總數(shù)量,放在記錄集變量中返回。
4) DelShopCarByMemberID(int MemberID, int BuyID):在tb_BuyInfo表中刪除指定會員、指定購物編號的購物記錄。
5) UpdateShopCarGoodsNum(int MemberId, int BuyID, int Num):更新購物車中對應商品的數(shù)量,同時修改對應商品的SumPrice,以及所有商品的總數(shù)量和總價格。
4.3 后臺管理功能實現(xiàn)
后臺管理功能包括會員管理、商品類別管理、商品管理、新聞管理、訂單管理等方面。其中訂單管理是重點也是難點,下面進行詳細介紹。
訂單管理主要涉及訂單查詢、編輯、打印等幾個方面,如下圖15所示。管理員可以根據(jù)訂單編號、是否付款、是否發(fā)貨來查詢訂單信息,之后對訂單進行編輯和查看;如果訂單沒有付款可以進行編輯,單擊“編輯”按鈕進入圖16所示的訂單修改頁面,在此頁面中可以修改訂單狀態(tài),也可以打印訂單信息。
訂單管理頁面中的訂單信息展示使用的是GridView控件,在頁面的Page_Load()事件中給控件初始化以綁定內容。搜索按鈕的單擊事件,主要是拼接查詢字符串并根據(jù)查詢結果重新給GridView控件綁定新內容。同時,給GridView控件增加RowEditing()、RowDeleting()方法,以實現(xiàn)訂單信息的編輯和刪除功能。
訂單修改頁面中,商品信息展示使用GridView控件,在頁面的Page_Load()事件中給控件初始化以綁定內容。另外,訂單信息、購貨人信息、收貨人信息是使用表格布局實現(xiàn)的,根據(jù)當前訂單編號的值查詢出相關信息并顯示出來?!按蛴∥臋n”功能使用客戶端JavaScript實現(xiàn)?!靶薷摹卑粹o的單擊事件中保存當前訂單信息,主要是通過修改數(shù)據(jù)庫中訂單表實現(xiàn),訂單明細表不受到影響 。
5 結束語
本文介紹了小型B/C電子商務網(wǎng)站的功能分析、數(shù)據(jù)庫設計、部分功能的編程實現(xiàn)。ASP.NET動態(tài)網(wǎng)站開發(fā)技術使用簡單,功能強大,開發(fā)和執(zhí)行效率高,利用它可以很方便地開發(fā)動態(tài)的交互的、高性能的電子商務網(wǎng)站。
參考文獻:
[1] 電子商務[EB/OL]. http://baike.baidu.com/view/757.htm.
[2] B2C[EB/OL].http://baike.baidu.com/view/16398.htm.
[3] 董慧, 王海洋, 謝靜. B2C 電子商務網(wǎng)站設計[J]. 計算機與現(xiàn)代化, 2014(11): 15.
[4] 李鵬海, 張鵬. 基于Internet 的高??蒲泄芾硐到y(tǒng)的研究與開發(fā)[J]. 天津理工大學學報, 2007, 23(5): 37.
[5] 楊亞萍. 基于服務設計理念的B2C 電子商務網(wǎng)站設計[J]. 學術探討, 2014(9): 44.