楊國+肖祥林
(1.西昌市第一中學(xué),四川 西昌 615000;2.四川交通職業(yè)技術(shù)學(xué)院信息工程系,四川 成都 611130)
摘要:運(yùn)用ASP.NET MVC應(yīng)用框架和SQL Server2010等技術(shù)設(shè)計(jì)一款基于Web的在線購物網(wǎng)站,前臺實(shí)現(xiàn)用戶登錄注冊、瀏覽商品、購物車管理、下訂單等功能,后臺實(shí)現(xiàn)商品分類管理、商品管理、訂單管理、用戶管理等功能。運(yùn)用.NET MVC應(yīng)用框架,提高應(yīng)用程序的可擴(kuò)展性和可維護(hù)性,縮短開發(fā)周期、節(jié)省開發(fā)成本。
關(guān)鍵詞:ASP.NET MVC;購物;系統(tǒng)
中圖分類號:R857.3 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2017)26-0257-02
一、引言
隨著互聯(lián)網(wǎng)的發(fā)展,新的互聯(lián)網(wǎng)發(fā)展形態(tài)“互聯(lián)網(wǎng)+”為社會各行業(yè)提供了新的發(fā)展平臺,促進(jìn)各個(gè)行業(yè)經(jīng)濟(jì)的快速發(fā)展,尤其是在電子商務(wù)這塊效果更為明顯。網(wǎng)上購物作為一種嶄新的消費(fèi)模式也更多地被人們關(guān)注和接受,同時(shí)眾多的商家看到了網(wǎng)上購物的潛在利益,紛紛在網(wǎng)上建立購物系統(tǒng),將一種新的購物方式提供給消費(fèi)者。網(wǎng)上購物相對傳統(tǒng)購物具有方便、快捷、安全、經(jīng)濟(jì)等優(yōu)勢,使得網(wǎng)上購物逐漸深入人心。本文主要探討運(yùn)用ASP.NET MVC應(yīng)用框架和SQL Server2010等技術(shù)設(shè)計(jì)并實(shí)現(xiàn)一款基于Web的在線購物網(wǎng)站,文章從系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)等幾個(gè)方面做闡述。
二、系統(tǒng)分析
網(wǎng)上購物系統(tǒng)主要是針對喜歡網(wǎng)上購物的這類用戶精心設(shè)計(jì),其主要的中心對象為用戶和管理員。對于網(wǎng)上購物系統(tǒng),其最大好處是要能給用戶帶來最大的便捷,這種便捷不僅體現(xiàn)在價(jià)格上的優(yōu)惠折扣,更要體現(xiàn)在進(jìn)行操作時(shí)的易用性,能夠模擬用戶的購物行為,營造一種盡量真實(shí)、貼切的用戶購物過程。
三、系統(tǒng)設(shè)計(jì)
(一)系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)采用三層架構(gòu)ASP.NET MVC設(shè)計(jì),ASP.NET MVC是微軟官方提供的以MVC模式為基礎(chǔ)的ASP.NET Web應(yīng)用程序框架,它由Castle的MonoRail而來,目前最新版本是ASP.NET MVC 5.1,該系統(tǒng)涉及使用的是ASP.NET MVC 4。系統(tǒng)由用戶頁面層(view)、業(yè)務(wù)邏輯層(model)、控制處理層(controller)組成,將輸入、處理和輸出分開。它們在應(yīng)用程序中各自完成自己的任務(wù)又相互協(xié)作,增加代碼的重用率,減少數(shù)據(jù)表達(dá),數(shù)據(jù)描述和應(yīng)用操作的耦合度,加快應(yīng)用程序開發(fā),使得復(fù)雜項(xiàng)目更加容易維護(hù),使Web程序支持單元測試。
(二)系統(tǒng)功能設(shè)計(jì)
系統(tǒng)功能主要包含用戶管理模塊、商品搜索模塊、購物車管理模塊、商品管理模塊、商品分類模塊、訂單管理模塊。
1.用戶管理模塊。用戶管理模塊包含用戶注冊、用戶登錄、修改密碼、設(shè)置用戶狀態(tài)、設(shè)置用戶角色等功能。
2.商品搜索模塊。商品搜索模塊包含:按照商品名稱搜索、按照商品種類搜索、按照價(jià)格搜索、按照銷量搜索等功能。
3.購物車管理模塊。購物車管理模塊包含:添加商品到購物車、查看購物車、修改購物車中商品數(shù)量、刪除購物車中的商品、清空購物車等功能。
4.商品管理模塊。商品管理模塊包含:添加商品、修改商品庫存、修改商品價(jià)格、修改商品信息、修改商品分類等功能。
5.商品分類管理模塊。商品分類管理模塊包含:添加商品分類、修改分類信息、查詢所有分類等功能。
6.訂單管理模塊。訂單管理模塊包含:按照下單時(shí)期篩選訂單、查看訂單詳情、取消訂單、刪除訂單、確認(rèn)訂單等功能。
(三)數(shù)據(jù)庫設(shè)計(jì)
1.概念結(jié)構(gòu)設(shè)計(jì)。網(wǎng)上購物系統(tǒng)主要涉及五大實(shí)體,用戶、管理員、收貨地址、商品和訂單。用戶主要包含用戶名、密碼、郵箱、電話、用戶類型等信息;商品主要包含商品名稱、商品種類、商品描述、商品價(jià)格、商品庫存、商品圖片等信息;訂單主要包含訂單數(shù)量、訂單價(jià)格、用戶名、下單時(shí)間等信息;收貨地址主要包含收貨人、電話、郵編、用戶名、地址、等信息;權(quán)限表主要包含用戶類型、權(quán)限等信息。
2.邏輯結(jié)構(gòu)設(shè)計(jì)。根據(jù)在概念結(jié)構(gòu)設(shè)計(jì)階段得到的ER圖,按照概念模型轉(zhuǎn)換成邏輯模型的原則:(1)一個(gè)1:n聯(lián)系,將聯(lián)系與n端對應(yīng)的關(guān)系模式合并;(2)每一個(gè)實(shí)體轉(zhuǎn)換成一個(gè)關(guān)系。將ER圖轉(zhuǎn)換為如下邏輯結(jié)構(gòu)。
用戶(用戶ID,用戶名,密碼,郵箱,用戶類型,電話號碼)
商品(商品ID,商品名稱,種類ID,圖片,庫存,描述,價(jià)格,用戶ID)
訂單(訂單ID,金額,數(shù)量,產(chǎn)品ID,用戶名,下單時(shí)間,用戶ID)
收貨地址(地址ID,用戶名,收貨人,郵箱,電話號碼,備注,用戶ID)
權(quán)限(ID,權(quán)限頁面,用戶類型,用戶ID)
3.物理結(jié)構(gòu)設(shè)計(jì)。根據(jù)已設(shè)計(jì)好的邏輯結(jié)構(gòu)模型選擇最合適的物理結(jié)構(gòu),設(shè)計(jì)網(wǎng)上購物系統(tǒng)數(shù)據(jù)庫為“Shopping”,將邏輯結(jié)構(gòu)設(shè)計(jì)的每一個(gè)關(guān)系轉(zhuǎn)換成數(shù)據(jù)庫中的表。
四、系統(tǒng)實(shí)現(xiàn)
在線購物網(wǎng)站核心功能就是購物車管理,系統(tǒng)采用MVC的設(shè)計(jì)模式,其中模型層用到以下接口和類:CartLine、IValueCalculator、LinqValueCalculator、ShoppingCart,視圖用到:Checkout、GetCarts、GoToCart,控制器用到:CartController。其核心代碼如下:
public ActionResult AddToCart(ShoppingWebsite.Helper.Cart cart,int productID,int quantity = 1) {
//根據(jù)productID到數(shù)據(jù)庫查詢產(chǎn)品的名稱、價(jià)格
Products p = new Products();
p = db.Products.Single(x => x.ProductID == productID);
CartLine c = new CartLine
{
Product = p,
Quantity = quantity
};
Session["Quantity"] = c.Quantity;
cart.AddItem(c);
ViewData.Model = cart;
ShoppingCart total_cart = new ShoppingCart(calc) { carts=cart.Products };
decimal totalValue = total_cart.CalculateProductTotal();
Session["totalprice"] = totalValue;
ViewBag.totalPrice = totalValue;
return View("Checkout");
}
五、總結(jié)
本文運(yùn)用ASP.NET MVC應(yīng)用框架和SQL Server2010等技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了一款在線購物系統(tǒng)。通過該系統(tǒng)用戶可以通過瀏覽器瀏覽商品、將感興趣的商品添加到購物車、購買感興趣的商品等功能。
參考文獻(xiàn):
[1]朱濤,周昕.基于ASP.NET MVC模式的精品課程網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[1].科技信息,201,1(31).
[2]張恒靜.基于ASP.NET技術(shù)在線購物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技大學(xué),2011.
[3]耿璐,聶足.基于CMS的企業(yè)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算工程與設(shè)計(jì),2009,(02).