摘 要:本文結(jié)合電子購(gòu)書系統(tǒng)的現(xiàn)狀和經(jīng)過(guò)實(shí)際的需求,設(shè)計(jì)相應(yīng)的數(shù)據(jù)庫(kù)表,構(gòu)建系統(tǒng)數(shù)據(jù)庫(kù),進(jìn)行編碼實(shí)現(xiàn)和調(diào)試。在電子購(gòu)書系統(tǒng)的需求之上,結(jié)合圖書電子購(gòu)書的現(xiàn)狀完成主要的開發(fā)模塊。本系統(tǒng)采用B/S結(jié)構(gòu)模式,應(yīng)用Vs2008+sql2005進(jìn)行開發(fā)。其中,C#為主要開發(fā)語(yǔ)言,數(shù)據(jù)庫(kù)選用SQL2005。根據(jù)分析結(jié)果,制定了系統(tǒng)總體框架,并詳細(xì)列出各管理功能。在此基礎(chǔ)之上建立數(shù)據(jù)庫(kù),進(jìn)行編碼實(shí)現(xiàn)和調(diào)試。最后,對(duì)于本系統(tǒng)的安全性進(jìn)行了測(cè)試,結(jié)果說(shuō)明了可行性。
關(guān)鍵詞:市場(chǎng)需求;系統(tǒng)數(shù)據(jù)庫(kù);電子購(gòu)書
1 引言
近年,隨著網(wǎng)絡(luò)世界的蓬勃發(fā)展,電子商務(wù)已經(jīng)成為21世紀(jì)最熱門的產(chǎn)物,更是帶動(dòng)了各大企業(yè)的發(fā)展競(jìng)爭(zhēng)。淘寶、京東、聚美優(yōu)品等更是行業(yè)中的佼佼,成為了眾多設(shè)計(jì)與規(guī)劃的翹楚。充斥著我們的視野,吸引眾多的眼球。一時(shí)間,成為大家茶余飯后的討論對(duì)象。網(wǎng)上的書店層出不窮,質(zhì)量也良莠不齊。人們對(duì)網(wǎng)站的要求各不相同,一些網(wǎng)站無(wú)法滿足所有的需求,更好的完善人們對(duì)電子購(gòu)書系統(tǒng)需求是很有必要的。網(wǎng)絡(luò)安全問(wèn)題不能被忽視。在互聯(lián)網(wǎng)帶給我們遠(yuǎn)大利益的時(shí)候,一些安全性問(wèn)題隨之而來(lái)。網(wǎng)絡(luò)病毒、黑客攻擊、隱私泄露等一系列問(wèn)題在設(shè)計(jì)系統(tǒng)的時(shí)候也需要被考慮。
本文設(shè)計(jì)的電子購(gòu)書系統(tǒng)不但完善了人們對(duì)網(wǎng)上電子閱覽購(gòu)物的需求,而且網(wǎng)絡(luò)管理員能夠更方便的管理和發(fā)現(xiàn)問(wèn)題,在一定程度上對(duì)于網(wǎng)站的安全性也提高了,使網(wǎng)上購(gòu)書方便、安全、快捷。
2 系統(tǒng)的設(shè)計(jì)
本系統(tǒng)主要針對(duì)管理員和普通用戶分為:系統(tǒng)管理、權(quán)限管理、圖書管理、信息管理以及公共查詢。主要的系統(tǒng)權(quán)限如圖1所示。
2.1 系統(tǒng)注冊(cè)
如果只是單純的瀏覽網(wǎng)頁(yè),用戶不需要注冊(cè)。但是,想購(gòu)買書籍,需要填寫基本信息,如:姓名、地址、聯(lián)系方式等等。下次登錄成功后,就可以直接購(gòu)書了。
2.2 購(gòu)物流程模塊
用戶在注冊(cè)登錄后,對(duì)于需要的圖書加入購(gòu)物車后提交訂單,進(jìn)行購(gòu)買。
2.3 管理員操作模塊
網(wǎng)站管理員有權(quán)更改圖書信息、用戶信息、訂單,在網(wǎng)站的正常運(yùn)行中舉足輕重。
3 系統(tǒng)實(shí)現(xiàn)
3.1 用戶界面
只有正確輸入密碼才可以進(jìn)入用戶界面,購(gòu)買電子書,是防止非法用戶登錄的第一步。如果是第一次登陸,請(qǐng)先注冊(cè)。用戶登錄界面如圖2。
登錄具體實(shí)現(xiàn)過(guò)程如下:
先判斷輸入用戶名密碼是否為空,當(dāng)輸入用戶名密碼后通過(guò)
if (user.Exist) {
if (user.Password == password) {
Response.Redirect(\"Main.aspx\");
判斷輸入用戶名密碼是否正確, user.Passwor為類user的一個(gè)屬性
一旦密碼輸入正確,就可以進(jìn)入主頁(yè)面。系統(tǒng)主界面如圖3
主頁(yè)部分代碼如下,首先對(duì)用戶進(jìn)行身份驗(yàn)證,不同身份的顧客登錄系統(tǒng)會(huì)顯示他們的注冊(cè)用戶名。
if (CheckUser() == \"guest\")
{
lblWelcome.Text = \"您好,您現(xiàn)在的身份是游客\";
hlRegister.Visible = true;
hlLogin.Visible = true;
btnExit.Visible = 1;
}
else
{
if (CheckUser() == \"Admin\")
{
lblWelcome.Text = Session[\"login_name\"].ToString() + \",您好,歡迎使用網(wǎng)上書店系統(tǒng)\";
hlRegister.Visible = 1;
hlLogin.Visible = 1;
btnExit.Visible = true;
}
else
{
lblWelcome.Text = Session[\"login_name\"].ToString() + \",您好,歡迎使用網(wǎng)上書店系統(tǒng)\";
hlRegister.Visible = 1;
hlLogin.Visible = 1;
btnExit.Visible = true;
}
}
具體身份驗(yàn)證函數(shù)CheckUser()代碼如下
private string CheckUser()
{
if (Session[\"login_name\"].ToString() == \"guest\")
{
return \"guest\";
}
else
{
if (int.Parse(Session[\"login_role\"].ToString()) == 1)
{
return \"Admin\";
}
else
{
return \"User\";
}
}
}
3.2 系統(tǒng)購(gòu)物車界面
用戶登錄成功后,將需要購(gòu)買的書本加入購(gòu)物車,效果如圖4。
具體實(shí)現(xiàn)過(guò)程如下首先通過(guò)cart類的querycart方法查詢出購(gòu)物車中數(shù)據(jù)
private void InitData()
{
strUser = Session[\"login_name\"].ToString();
ds = Cart.QueryCart(strUser);
GVDetail.DataSource = ds;
GVDetail.DataBind();
}
QueryCart方法具體查詢代碼過(guò)程如下
public static DataSet QueryCart(string username)
{
string sql = \"\";
sql = \"Select [ShoppingCart].[ID],[ShoppingCart].[BookID],[Book].[BookName],[ShoppingCart].[Quatity],[ShoppingCart].[AddDate] from [ShoppingCart],[User],[Book] where [ShoppingCart].[UserID]=[User].[UserID] and [ShoppingCart].[BookID]=[Book].[BookID] and [User].[UserName] = '\"
+ username + \"'\";
Database db = new Database();
return db.GetDataSet(sql);
}
當(dāng)點(diǎn)擊購(gòu)買后會(huì)將購(gòu)物車中的信息生成訂單,部分代碼如下:
strSQL = \"select max([ID]) from [OrderItem]\";
dr = db.GetDataRow(strSQL);
if (dr.IsNull(0))
{
iID = 1;
}
else
{
iID = int.Parse(dr[0].ToString()) + 1;
}
iCartID = int.Parse(gdr.Cells[0].Text.ToString());
Cart cart = new Cart();
cart.LoadData(iCartID);
iBook = cart.BookID;
iQty = cart.Quatity;
Hashtable ht = new Hashtable();
ht.Add(\"ID\", iID);
ht.Add(\"OrderID\", iOrderID);
ht.Add(\"BookID\", iBook);
ht.Add(\"Quatity\", iQty);
orderitem.ItemAdd(ht);
}
Response.Redirect(\"OrderAdd.aspx\");
3.3 管理員查看圖書信息界面
4 系統(tǒng)測(cè)試
為了更好的保證系統(tǒng)開發(fā),需要在跟蹤故障的基礎(chǔ)上測(cè)試,以完善功能的實(shí)現(xiàn)。功能性測(cè)試主要是驗(yàn)證業(yè)務(wù)功能方面的準(zhǔn)確性。出錯(cuò)的用戶提示如下
只有輸入的信息正確,才能進(jìn)入系統(tǒng)。
5 結(jié)論
本文介紹了系統(tǒng)的開發(fā)環(huán)境,具體各層的實(shí)現(xiàn)技術(shù),以及各功能的實(shí)現(xiàn)效和相應(yīng)的部分代碼,并通過(guò)截圖和代碼展示說(shuō)明了可實(shí)現(xiàn)性
[參考文獻(xiàn)]
[1]黃忠成.深入剖析ASP.NET組件設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004.
[2]王國(guó)勝,柴寶杰,尼春雨.ASP.NET+SQL Server 動(dòng)態(tài)網(wǎng)站開發(fā)(含1CD)[M],清華大學(xué)出版社m2009,
[3][美]Matthew MacDonald,Mario Szpuszta.ASP.NET 3.5高級(jí)程序設(shè)計(jì)[M].北京:人民郵電出版社,2008.
[4]張躍廷,顧彥玲.ASP.NET從入門到精通[M].北京:清華大學(xué)出版社,2008.
[5]屈喜龍,朱杰.ASP+SQL Server開發(fā)動(dòng)態(tài)網(wǎng)站實(shí)例[M].北京:機(jī)械工業(yè)出版社,2006.
[6]微軟公司.Visual C# 2005程序設(shè)計(jì)語(yǔ)言[M].微軟公司,2008.
[7][美]Andrew Troelsen.王少葵,張大磊,等,譯.C#與.NET 3.0高級(jí)程序設(shè)計(jì)[M].北京:人民郵電出版社,2008.
[8]龐婭娟,房大偉,呂雙.ASP.net從入門到精通(第2版)[M].清華大學(xué)出版社,2010.
[9]鄭齊心.ASP.NET項(xiàng)目開發(fā)案例全程實(shí)錄[M].明日科技,清華大學(xué)出版社,2011.
作者簡(jiǎn)介:董子琦(1990-),女,漢族,江蘇鎮(zhèn)江人,研究方向:智能控制。