【正文】
,電子商務已成為我國互聯(lián)網(wǎng)產(chǎn)業(yè)繼門戶、游戲、短信、搜索之后又一新的支撐點。 同時也是 languageindependent 語言獨立化的,所以,你可以選擇一 種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C( C++和 Java 的結(jié)合體), VB, Jscript[7]。 5 可行性分析總結(jié) 綜合在線購物市場用戶群體的特點和不斷增長的需求,以及技術(shù)、市場前景趨勢等因素,在線購物市場有很大的發(fā)展前途,而網(wǎng)上書店銷售管理系統(tǒng)則是建立在對商品的價格等參數(shù)對比的基礎上的在線購物系統(tǒng),因此本系統(tǒng)的開發(fā)是具有可行性的。 作為一個已編譯的、基于 .NET 的環(huán)境,可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、 C 和 JScript .NET.)創(chuàng)作應用程序。這不僅使得 Web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu) 點,包括開發(fā)人員可以用來將服務器控件拖放到 Web 頁的 GUI 和完全集成的調(diào)試支持。 全新的構(gòu)造 新的 引入 受管代碼 (Managed Code)這樣一個全新概念,橫貫整個 7 視窗開發(fā)平臺。在 ASP 中你只有盡可能精簡你的代碼,以至于不得不將它們移植到一個僅有很少一點性能的部件中。 語言概述 簡介 Visual 是從 Visual Basic 語言演變而來的,是一種為高效地生成類型安全和面向?qū)ο蟮膽贸绦蚨O計的語言。也許這樣說你也不太明白,我用一句話來解釋,就是 VB6 及其以前的產(chǎn)品是 DOS 時代到 Windows 可視化時代的一個轉(zhuǎn)變, 是為建造基于因特網(wǎng)的分布式計算的新時代的解決方案提供基礎構(gòu)造的一個轉(zhuǎn)變。 3)直接建立在 .NET 的框架結(jié)構(gòu)上,因此開發(fā)人員可以充分利用所有 .NET 平臺特性,也可以與其他的 .NET 語言交互。 SQL Server 2020 數(shù)據(jù)庫引擎提供完整的 XML 支持。同一個數(shù)據(jù)庫引擎可以在不同的平臺上使用,從運行 Microsoft Windowsamp。 3)企業(yè)級數(shù)據(jù)庫功能。復制同樣使您得以維護多個數(shù)據(jù)復本,同時確保單獨的數(shù)據(jù)復本保持同步。 SQL Server 2020 還支持基于標準的、與 Windows DNA 集成的程序設計模型,使 SQL Server 數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強大的可伸縮系統(tǒng)的無縫部分。 SQL Server 中還包括一些工具,可用來直觀地設計數(shù)據(jù)庫并通過 English Query 來分析數(shù)據(jù)。 購物車管理: 當客戶選擇購買某圖書產(chǎn)品時,應該能夠?qū)獔D書信息,如:價格、數(shù)量記錄到對應的購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當對應的購物訂單生成后,應該能夠自動清除以生成訂單的購物車中的信息。 11 網(wǎng)站總體設計 網(wǎng)站的設計采用了 3 層架構(gòu),將 ASPX 頁面同業(yè)務層和數(shù)據(jù)訪問層的代碼分開。 1. Product 類 Product 類表示顯示在網(wǎng)站中的圖書。 2. OrderedProduct 類 表 對 OrderedProduct 類進行了相關(guān)描述,其中包含很多 Product 類也有 12 的屬性,因此 OrderedProduct 和 Product 有很多相似之處。 3. ShoppingCart 類 ShoppingCart 類用于集中存儲 OrderedProduct。它還包含可以用于訪問購物車中的商品、獲取商品數(shù)量以及獲取訂單總金額的屬性。表示層將調(diào)用 ShopManager的公有方法,后者在調(diào)用 ShoppingCart 類的方法。 表 45 ShoppingCart 類的屬性 方法 返回類型 描述 Public Shared Sub AddProductToCart(ByVal theProduct As Product) n/a 通過調(diào)用 ShoppingCart 的 Add 方法將OrderedProduct 加入到購物車 Public Shared Sub DeleteProduct(ByVal theProduct As Product) n/a 從商品目錄中刪除一件商品,該方法用于管理部分 Public Shared Function FinalizeOrder(ByVal theCustomer As Customer) Integer 確定客戶訂單 Public Shared Function GetProduct(ByVal theProductId As Integer) Product 返回單個 Product實例 Public Shared Function GetProductCategories() DataSet 返回一個 DataSet,其中包含商品類別,該方法用于管理部分 Public Shared Function GetProductList(ByVal theCategoryId As Integer) List(Of Product) 返回指定商品類別的商品列表 Public Shared Function GetShoppingCartItems() List(Of Ordered Product) 返回購物車中所有的 OrderedProduct Public Shared Sub InsertProduct(ByVal theProduct As Product) n/a 加入新圖書,該方法用于管理部分 Public Shared Sub RemoveProductFromCart(ByVal id As Guid) n/a 刪除購物車中已有的 OrderedProduct 14 Public Shared Sub UpdateProductInCart(ByVal newQuantity As Integer, ByVal id As Guid) n/a 更新購物車中以后的 OrderedProduct 5. Customer 類 Customer 類使用 Membership 提供程序和 Profile 類來存儲有關(guān)用戶的信息,如姓名、密碼和詳細地址等。第一項是用于存儲商品數(shù)據(jù)的數(shù)據(jù)庫及其表,第二部分是 ShopManagerDB 類的方法,它們使用存儲過程在數(shù)據(jù)庫中檢所和存儲數(shù)據(jù)。 P r o d u c tI dT i t l eA u t h o rP r e s sP r i c eC a t e g o r y I dD e s c r i p t i o nP i c t u r e U r l S m a l lP i c t u r e U r l M e d i u mP i c t u r e U r l L a r g eD e l e t e dO r d e r D e t a i lI dO r d e r B a s e I dP r o d u c t I dP r i c eQ u a n t i t yO r d e r B a s eI dO r d e r D a t eC u s t o m e r I dF i r s t N a m eL a s t N a m eS t r e e tZ i p C o d eC i t yC o u n t r yC a t e g o r yI dD e s c r i p t i o n 圖 41 網(wǎng)站的數(shù)據(jù)模型 15 在系統(tǒng)運行時, 架構(gòu)使用成員資格和角色提供程序加入的表 來認證用戶以及確定它們的角色。這使得更容易在應用的其他部分重用這些代碼,還使得更容易對數(shù)據(jù)庫結(jié)構(gòu)做重大修改:只需修改存儲過程,而無需修改數(shù)據(jù)訪問層中的眾多方法。即將客戶所選購的圖書商品信息記錄到對應的購物車中,以便于到收銀臺進行結(jié)賬處理。 網(wǎng)上書店在運行過程中頁面的基本流程如下圖: 進 入 網(wǎng) 站購 書 中 心 加 入 購 物 車老 用 戶結(jié) 賬NY已 登 錄注 冊 賬 號登 錄用 戶 詳 細信 息 已 知確 認 訂 單顯 示確 認 信 息收 集 用 戶詳 細 信 息NYNY圖 42 系統(tǒng)基本流 程圖 用戶首先進入網(wǎng)站的主頁,然后進入圖書目錄,看到要購買的圖書后,將其添加到購物車中,此時,用戶可能返回圖書目錄繼續(xù)選購圖書。登錄后,系統(tǒng)將詢問其他的詳細信息,如姓名和送貨地址。該連接字符串使用本地的 SQL Server,命令它自動連接到文件夾 App_Data 中的文件: connectionStrings add name=WebShop connectionString=server=(local)\SqlExpress。它還引用了一個名為 MainMenu 的用戶控件,在該控件中通過使用 LoginView控件,對未認證的用戶隱藏了有些鏈接。 網(wǎng)站的首頁 是網(wǎng)站的首頁,只包含了簡介文本和一個商品目錄的鏈接。 Login 讓已注冊的用戶登錄網(wǎng)站 PasswordRecovery 讓用戶能夠通過回答提示問題來獲取新密碼 PasswordRecovery 控件,在默認情況下,它根據(jù)用戶名檢索用戶的密碼,然 20 而,很多用戶忘記了用戶名,但還記得 EMail 地址。 用戶信息填寫 頁面讓用戶能夠提供諸如姓名和送貨地址等信息。在用戶按下提交按鈕后將執(zhí)行如下代碼: Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As ) Handles () If Then = = = = = = = True If 0 Then (~/Shop/) Else (~/) End If End If End Sub 如果用戶購物車中已有圖書的,系統(tǒng)則會跳轉(zhuǎn)到 頁面。右邊一欄包含一個 Datalist 控件,用于圖書的顯示。除數(shù)據(jù)源外,還可以像 GridView 那樣設置 AllowPaging、 PageSize 和 CurrentPageIndex 等屬性。Temp Product to add to our ProductList () Using myReader As SqlDataReader = _ () While () theProduct = New Product( _ ((Id)), _ categoryId) = ((Title)) = ((Author)) = ((Press)) = ((Description)) = ((Price)) 22 = ((PictureUrlSmall)) = ((PictureUrlMedium)) = ((PictureUrlLarge)) (theProduct) End While () End Using End Using Catch ex As Exception Throw End Try Return productList End Function 該方法首先聲明了一個類型為 Product 的 List。最后,將商品列表返回給調(diào)用代碼。然后,使用 DetailsView 控件將該商品顯示在頁面中。該頁面中嵌入了一個名為 ShoppingCartView 的用戶控件 ,這個控件包含了一個 GridView 和一個 ObjectDataSource,前者用于顯示圖書,而后者負責從購物車檢索圖書。 25 修改購物車中圖書的數(shù)量 當用戶輸入新的圖書數(shù)量時,系統(tǒng)將使用方法 UpdatProductInCart 接受購物車中 OrderedProduct 的 ID 和新數(shù)量作為參數(shù)。而優(yōu)秀的開源數(shù)據(jù)引擎 SQL Server 2020 本身所具有的良好性能,對于繁雜而且龐大的數(shù)據(jù)處理有明顯的優(yōu)勢,這就為系統(tǒng)的使用提供了穩(wěn)定性和安全性。導師淵博的專業(yè)知識,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,誨人不倦的高尚師德,嚴以律己、寬以待人的崇高風范,樸實無華、平易近人的人格魅力對我影響