基于asp.net的网上书店商城设计与实现
歡迎添加微信互相交流學習哦!
項目源碼:https://gitee.com/oklongmm/biye
目 ?錄
前言?? ?1
第1章 系統概述?? ?2
第1.1節 ASP.NET簡介?? ?2
第1.2節 系統開發環境及配置?? ?2
第2章 系統需求分析?? ?3
第3章 系統總體設計?? ?4
第3.1節 系統設計思想?? ?4
第3.2節 系統結構設計?? ?4
第3.3節 系統功能模塊?? ?4
第4章 系統詳細設計?? ?6
第5章 系統數據庫設計?? ?8
第5.1節 數據庫需求分析?? ?8
第5.2節 數據庫結構分析設計?? ?8
第5.3節 數據庫邏輯設計?? ?9
第6章 系統編碼實現?? ?10
第6.1節 首頁設計和編碼?? ?10
第6.2節 用戶界面的設計?? ?12
第6.3節 后臺管理界面的設計?? ?19
第7章 總結?? ?23
參考文獻?? ?24
致謝?? ?25
附錄?? ?26
?
前言
隨著中國加入WTO,全球經濟一體化的逐步深入,網上書店已是現代傳統書店必不可少的經營策略。目前,網上書店在國際互聯網上可以實現的商務功能已經多樣化,可以說從最基本的對外溝通展示功能、信息發布功能,在線圖書展示功能、在線洽談功能、在線交易功能、在線采購功能、在線客戶服務功能、在線網站管理功能等等,幾乎以往傳統書店功能都可以在互聯網上進行電子化的高效運作。
技術的進步對傳統書店上網解決方案提出更嚴格的要求和挑戰。為了保護傳統書店的投資,書店上網解決方案應切合傳統書店實際的需求和發展的趨向,使投入回報和管理效益最大化,傳統書店在實施上網方案的之前,必須對一系列問題進行科學的論證,如網上書店的需求分析、網上書店總體規劃、網上書店系統的功能和實施方案、網上書店的傳播與推廣、運行網上書店系統的軟件和硬件配置、網上書店的管理系統和管理方法等等。網上書店具體實施的質素直接影響傳統書店在Internet的實際效果和經濟效益,這不僅是技術問題,同時也涉及到管理的因素。
綜上所述,網上書店已經成為互聯網時代傳統書店的必由之路。
第1章 系統概述
第1.1節 ASP.NET簡介
ASP.NET是ASP的下一代版本,然而ASP.NET又并非從ASP3.0自然演化而來,在許多方面,ASP.NET與ASP有著本質的不同。ASP.NET完全基于模塊與組件,具有更好的可擴展性與可定制性,數據處理方面更是引入了許多激動人心的新技術,正是這些具有革新意義的新特性,讓ASP.NET遠遠超越了ASP,同時也提供給web開發人員更好的靈活性,有效縮短了web應用程序的開發周期。ASP.NET與Windows 2000 Server/Advanced Server的完美組合,為中小型乃至企業級的web商業模型提供了一個更為穩定,高效,安全的運行環境。
ASP.NET 是統一的 Web 應用程序平臺,它提供了為建立和部署企業級 Web 應用程序所必需的服務。ASP.NET 為能夠面向任何瀏覽器或設備的更安全的、更強的可升級性、更穩定的應用程序提供了新的編程模型和基礎結構。
ASP.NET 是 Microsoft .NET Framework 的一部分,是一種可以在高度分布的 Internet 環境中簡化應用程序開發的計算環境。.NET Framework 包含公共語言運行庫,它提供了各種核心服務,如內存管理、線程管理和代碼安全。它也包含 .NET Framework 類庫,這是一個開發人員用于創建應用程序的綜合的、面向對象的類型集合。
第1.2節 系統開發環境及配置
首先ASP.NET的運行環境:
Win2000 Server+IIS(Win2000 Server 中IIS是默認安裝) /
Win2000 Advance Server+IIS(這里IIS也是默認安裝) /
WinXP+IIS / Win2003+IIS
除了上面的環境,Visual Studio 2008自帶編譯器和Web服務器進行調試,在部署網站之前,所有工作都可以在Visual Studio 2008中完成。
部署網站到IIS時,可以直接復制網站,也可以采用ClickOnce部署,兩者的區別是前者快速方便,后者靈活性較強。
?
第2章 系統需求分析
21世紀以來,人類經濟高速發展,人們發生了日新月異的變化,特別是計算機的應用及普及到經濟和社會生活的各個領域。使原本的舊的管理方法越來越不適應現在社會的發展。許多人還停留在以前的跑書店買需要的圖書。這大大地阻礙了人類經濟的發展。為了適應現代社會人們高度強烈的時間觀念,網上書店為大家帶來了極大的方便。我所開發的這個網站所采用的是當前較為流行的軟件Visual Studio2008 + DreamWeaver 8作為實現,以數據庫SQL Server 2008作為系統的后臺操作。
《網上書店》系統特點:
(1)、先進的購書流程
引入購物車購物方式,把記錄客戶所有的購書臨時信息寫入數據庫表中,訂單結束后,自動清除相關數據,客戶不用再擔心訂購時臨時數據的丟失,確保客戶購書準確無誤。
(2)、科學的書店管理模式
通過完善的信息發布系統,客戶可以及時得到書店最新圖書的相關信息,掌握行業動向;后臺結構化管理模式,涵蓋了欄目設置、圖書資料編輯、用戶管理、訂單管理、基礎信息管理等等,為書店的電子化管理提供了一套良好的管理模式。
(3)、人性化的操作界面
一個網站,能否吸引顧客的經常光顧,界面的美觀也顯得非常重要。本書店系統經過精心打造,同時也可根據書店客戶的品味專門訂制,讓書店的設計充分體現電子商務時期的時尚、大眾化。
(4)、完善的在線幫助
?? ? 提供詳細的在線幫助信息,如交款方式、退換圖書原則、交易條款等。幫助用戶了解購書流程,清楚書店在退換圖書等各方面的原則及條款。
第3章 系統總體設計
第3.1節 系統設計思想
(1) 書店前臺
功能強大 、操作方便
前臺作為與用戶直接交互的界面,在考慮功能的同時,也考慮了操作的簡潔和方便性,目的是讓大多數不在懂電腦操作的客戶,也能輕松的享受電子商務給他們帶來的便利。
(2) 書店后臺
本系統后臺管理在考慮書店管理操作簡便的同時,提供了強大的書店管理模式。它包括用戶資料管理,圖書分類管理,圖書資料管理,訂單管理,圖片管理,圖書推薦管理,圖書打折管理、物流管理、版權信息等等。
第3.2節 系統結構設計
前臺:用戶注冊—>用戶登錄—>查看圖書信息—>添加圖書到購物車—>在線支付
后臺:管理員登錄—>訂單管理、圖書管理、會員管理、物流管理、圖片管理—>退出
第3.3節 系統功能模塊
根據系統功能分析,可以畫出系統的功能模塊圖,系統模塊圖如下圖所示,圖3-1和圖3-2分別為前臺和后臺的功能結構圖。
圖3-1 ?前臺系統功能結構圖
?
圖3-2 ?后臺系統功能結構圖
第4章 系統詳細設計
通過以上的系統需求分析和系統總體設計,就已經有了一個網上系統的大體輪廓了
1、前臺主要功能包括
注冊/登錄、購物車、聯系方式、圖書查詢、圖書分類瀏覽、圖書展示、打折專區、熱門推薦、精品推薦、在線幫助功能等等。
2、書店系統前臺設計的特色
(1) 購物車?
每個注冊的用戶,都擁有一個屬于自已的購物車管理界面,客戶可以輕松的查看購物車中的圖書。本系統充分考慮到了本模塊對于客戶的重要性,所以界面盡量做的簡捷,采用開放式結構,一目了然,方便客戶輕松掌控自已的信息。
(2) 購書的詳細過程
會員注冊-->選擇圖書-->放入購物車-->去下訂單
購物車與下訂單:
? ? ?? ? 推出了全新的網上商務理念,這也是本系統與其他書店較大的不同的地方之一。
(3) 靈活多樣的圖書展示區
網站前臺圖書顯視欄目分為以下幾種方式:?
(1)精品推薦 (2) 圖書打折區 (3)熱銷圖書 (4)圖書分類
(4) 詳細的用戶幫助信息
?? ? 主要包括交款方式、退換圖書原則、配送信息和交易條款的信息。
3、系統提供完善的系統管理
在主頁的管理入口,點擊進入。出現驗證管理員窗口,輸入用戶名和密碼,進入系統管理器。后臺分為訂單管理、圖書管理、用戶管理、管理員帳號管理、物流管理和圖片管理。 ??
(1) 訂單管理模塊主要實現的是對訂單信息的審核,如果訂單信息不合格,可以進行刪除。此模塊中加入了訂單的搜索,以便查看特定訂單的信息。可以更改訂單的狀態:是否已確認、是否已付款、是否已發貨和是否已歸檔。
(2) 圖書管理是對圖書信息進行管理,添加或刪除圖書信息,也可對圖書信息進行修改。動態添加圖書信息,信息內容要求完善。
(3) 用戶管理和管理員帳號管理可以添加、刪除用戶和管理員帳號,可以對用戶和管理員進行統一的管理。
(4) 物流管理模塊主要實現的是支付方式管理、配送方式管理、配送地點管理
(5) 圖片管理模塊主要實現的是圖書和圖書類別相關圖片的添加和刪除。
第5章 系統數據庫設計
第5.1節 數據庫需求分析
在網上書店系統中,數據庫應當解決如下需求。
● 保存注冊用戶的個人信息,包括聯系資料等。
● 保存圖書信息,包括書名、價格、作者、圖片等信息。
● 保存購物車的詳細信息
● 保存購書信息,包括用戶ID、圖書ID、數量、總價等。
● 保存訂單信息,包括日期、支付方式、是否確認等。
第5.2節 數據庫結構分析設計
得到上面的數據項和數據結構以后,就可以設計出能夠滿足用戶需求的數據表,以及它們之間的關系,為后面的邏輯結構設計打下基礎。分析此系統的需求,可以得到數據庫關系圖,如圖5-1所示
?
圖5-1 數據庫關系圖
第5.3節 數據庫邏輯設計
數據庫的設計
數據庫的概念結構設計完畢后,可以將上面的數據庫概念結構轉化為某種數據庫系統所支持的實際數據模型,也就是數據庫的邏輯結構。如圖5-2所示
?
圖5-2 數據庫表
系統部分數據庫表的邏輯結構
表設計詳細信息見附錄
第6章 系統編碼實現
第6.1節 首頁設計和編碼
如圖6-1所示,為網上書店首頁,主要向用戶展示各種圖書信息。
?
圖6-1 網上書店首頁
數據庫連接代碼
public SqlConnection GetConnection() {
? ? ? ? string myStr = ConfigurationManager.
AppSettings["ConnectionString"].ToString();
? ? ? ? SqlConnection myConn = new SqlConnection(myStr);
? ? ? ? return myConn;
}
登錄判定
當用戶進行添加圖書到購物車、在線充值、在線付款、修改個人信息等操作時,程序需要驗證用戶是否已經登錄作為前提條件,如果用戶沒有登錄,則不應該訪問這些頁面,因此需要制作一個判斷用戶是否登錄并加以處理的模塊。
/// <summary>
/// 判斷用戶是否存在
/// </summary>
/// <param name="P_Str_Name">會員登錄名</param>
/// <param name="P_Str_Password">會員登錄密碼</param>
/// <returns></returns>
public int UserExists(string P_Str_Name, string P_Str_Password) {
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_UserExists", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數
SqlParameter Name = new SqlParameter("@Name", SqlDbType.VarChar, 50);
Name.Value = P_Str_Name;
myCmd.Parameters.Add(Name);
SqlParameter Password = new SqlParameter("@Password", SqlDbType.VarChar, 50);
Password.Value = P_Str_Password;
myCmd.Parameters.Add(Password);
SqlParameter returnValue = myCmd.Parameters.Add("returnValue",?
SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
//執行過程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
int P_Int_returnValue = Convert.ToInt32(returnValue.Value.ToString());
return P_Int_returnValue;
}
第6.2節 用戶界面的設計
用戶注冊代碼
/// <summary>
/// 向用戶表中插入信息
/// </summary>
/// <param name="P_Str_Name">會員名</param>
/// <param name="P_Bl_Sex">性別</param>
/// <param name="P_Str_Password">密碼</param>
/// <param name="P_Str_TrueName">真實姓名</param>
/// <param name="P_Str_Questions">找回密碼問題</param>
/// <param name="P_Str_Answers">找回密碼答案</param>
/// <param name="P_Str_Phonecode">電話號碼</param>
/// <param name="P_Str_Emails">E_Mail</param>
/// <param name="P_Str_City">會員所在城市</param>
/// <param name="P_Str_Address">會員詳細地址</param>
/// <param name="P_Str_PostCode">郵編</param>
/// <param name="P_Flt_AdvancePayment">預付金額</param>
/// <param name="P_Date_LoadDate">登錄日期</param>
public int AddUInfo(string P_Str_Name, bool P_Bl_Sex, string P_Str_Password, string P_Str_TrueName, string P_Str_Questions, string P_Str_Answers, string P_Str_Phonecode, string P_Str_Emails, string P_Str_City, string P_Str_Address, string P_Str_PostCode)
{
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_InsertUInfo", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數
SqlParameter Name = new SqlParameter("@Name", SqlDbType.VarChar, 50);
Name.Value = P_Str_Name;
myCmd.Parameters.Add(Name);
SqlParameter sex = new SqlParameter("@sex", SqlDbType.Bit, 1);
sex.Value = P_Bl_Sex;
myCmd.Parameters.Add(sex);
SqlParameter Password = new SqlParameter("@Password", SqlDbType.VarChar, 50);
Password.Value = P_Str_Password;
myCmd.Parameters.Add(Password);
SqlParameter TrueName = new SqlParameter("@TrueName", SqlDbType.VarChar, 50);
TrueName.Value = P_Str_TrueName;
myCmd.Parameters.Add(TrueName);
SqlParameter Questions = new SqlParameter("@Questions",?
SqlDbType.VarChar, 50);
Questions.Value = P_Str_Questions;
myCmd.Parameters.Add(Questions);
SqlParameter Answers = new SqlParameter("@Answers", SqlDbType.VarChar, 50);
Answers.Value = P_Str_Answers;?
myCmd.Parameters.Add(Answers);
SqlParameter Phonecode = new SqlParameter("@Phonecode",?
SqlDbType.VarChar, 20);
Phonecode.Value = P_Str_Phonecode;
myCmd.Parameters.Add(Phonecode);
SqlParameter Emails = new SqlParameter("@Emails", SqlDbType.VarChar, 50);
Emails.Value = P_Str_Emails;
myCmd.Parameters.Add(Emails);
SqlParameter City = new SqlParameter("@City", SqlDbType.VarChar, 50);
City.Value = P_Str_City;
myCmd.Parameters.Add(City);
SqlParameter Address = new SqlParameter("@Address", SqlDbType.VarChar, 200);
Address.Value = P_Str_Address;
myCmd.Parameters.Add(Address);
SqlParameter PostCode = new SqlParameter("@PostCode", SqlDbType.Char, 10);
PostCode.Value = P_Str_PostCode;
myCmd.Parameters.Add(PostCode);
SqlParameter MemberId = myCmd.Parameters.Add("@MemberId",?
SqlDbType.BigInt, 8);
MemberId.Direction = ParameterDirection.Output;
//執行過程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
return Convert.ToInt32(MemberId.Value.ToString());
}
用戶登錄
protected void btnLoad_Click(object sender, EventArgs e) {
Session["UID"] = null;
Session["Username"] = null;
if (txtName.Text.Trim() == "" || txtPassword.Text.Trim() == "") {
Response.Write("<script>alert('登錄名和密碼不能為空!');
location='javascript:history.go(-1)';</script>");
}
else {
if (txtValid.Text.Trim() == lbValid.Text.Trim()) {
int P_Int_IsExists = uiObj.UserExists(txtName.Text.Trim(),?
txtPassword.Text.Trim());
if (P_Int_IsExists == 100) {
DataSet ds = uiObj.ReturnUIDs(txtName.Text.Trim(),?
txtPassword.Text.Trim(), "UserInfo");
Session["UID"] = Convert.ToInt32(ds.Tables["UserInfo"].
Rows[0][0].ToString());
Session["Username"] = ds.Tables["UserInfo"].Rows[0][1].ToString();
Response.Redirect("index.aspx");
}
else {
Response.Write("<script>alert('您的登錄有誤,請核對后再重新登錄!');
location='javascript:history.go(-1)';</script>");
}
}
else {
Response.Write("<script>alert('請正確輸入驗證碼!');
location='javascript:history.go(-1)';</script>");
? ? ? ?}
}
}
購物車代碼
/// <summary>
/// 向購物車中添加信息
/// </summary>
/// <param name="P_Int_BookID">圖書編號</param>
/// <param name="P_Flt_MemberPrice">會員價格</param>
/// <param name="P_Int_MemberID">會員編號</param>
public void AddShopCart(int P_Int_BookID, float P_Flt_MemberPrice, int P_Int_MemberID)
{
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_InsertShopCart", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數
SqlParameter BookID = new SqlParameter("@BookID", SqlDbType.BigInt, 8);
BookID.Value = P_Int_BookID;
myCmd.Parameters.Add(BookID);
SqlParameter MemberPrice = new SqlParameter("@SumPrice", SqlDbType.Float, 8);
MemberPrice.Value = P_Flt_MemberPrice;
myCmd.Parameters.Add(MemberPrice);
SqlParameter MemberID = new SqlParameter("@MemberID", SqlDbType.BigInt, 8);
MemberID.Value = P_Int_MemberID;
myCmd.Parameters.Add(MemberID);
//執行過程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
}
/// <summary>
/// 顯示購物車中的信息
/// </summary>
/// <param name="P_Str_srcTable">信息表名</param>
/// <param name="gvName">控件名</param>
/// <param name="P_Int_MemberID">會員編號</param>
public void SCIBind(string P_Str_srcTable, GridView gvName, int P_Int_MemberID) {
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_GetShopCart", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數
SqlParameter MemberID = new SqlParameter("@MemberID", SqlDbType.BigInt, 8);
MemberID.Value = P_Int_MemberID;
myCmd.Parameters.Add(MemberID);
//執行過程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
SqlDataAdapter da = new SqlDataAdapter(myCmd);
DataSet ds = new DataSet();
da.Fill(ds, P_Str_srcTable);
gvName.DataSource = ds.Tables[P_Str_srcTable].DefaultView;
gvName.DataBind();
}
/// <summary>
/// 返回合計總數的Ds
/// </summary>
/// <param name="P_Str_srcTable">信息表名</param>
/// <param name="P_Int_MemberID">員工編號</param>
/// <returns>返回合計總數的Ds</returns>
public DataSet ReturnTotalDs(int P_Int_MemberID, string P_Str_srcTable) {
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_TotalInfo", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數
SqlParameter MemberID = new SqlParameter("@MemberID", SqlDbType.BigInt, 8);
MemberID.Value = P_Int_MemberID;
myCmd.Parameters.Add(MemberID);
//執行過程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
SqlDataAdapter da = new SqlDataAdapter(myCmd);
DataSet ds = new DataSet();
da.Fill(ds, P_Str_srcTable);
return ds;
}
第6.3節 后臺管理界面的設計
管理員登錄后臺代碼
protected void btnLogin_Click(object sender, EventArgs e) {
if (txtAdminName.Text.Trim() == "" || txtAdminPwd.Text.Trim() == "") {
Response.Write("<script>alert('登錄名和密碼不能為空!');
location='javascript:history.go(-1)';</script>");
}
else {
if (txtAdminCode.Text.Trim() == Session["Valid"].ToString().Trim()) {
int P_Int_IsExists = mcObj.AExists(txtAdminName.Text.Trim(),?
txtAdminPwd.Text.Trim());
if (P_Int_IsExists == 100) {
DataSet ds = mcObj.ReturnAIDs(txtAdminName.Text.Trim(),?
txtAdminPwd.Text.Trim(), "AInfo");
Session["AID"] =?
Convert.ToInt32(ds.Tables["AInfo"].Rows[0][0].ToString());
Session["Aname"] = ds.Tables["AInfo"].Rows[0][1].ToString();
Response.Write("<script language=javascript>
window.open('AdminIndex.aspx');window.close();</script>");
}
else {
Response.Write("<script>alert('您輸入的用戶名或密碼錯誤,
請重新輸入!');location='javascript:history.go(-1)';</script>");
}
}
else {
Response.Write("<script>alert('驗證碼輸入有誤,
請重新輸入!');location='javascript:history.go(-1)';</script>");
}
}
}
后臺設計
后臺的設計主要分為6大塊:訂單管理、管理員管理、會員管理、物流管理、圖書管理和圖片管理。
1) 訂單管理模塊主要實現的是對訂單信息的審核,如果訂單信息不合格,可以進行刪除。此模塊中加入了訂單的搜索,以便查看特定訂單的信息。可以更改訂單的狀態:是否已確認、是否已付款、是否已發貨和是否已歸檔。
2) 管理員管理和會員管理模塊的主要實現的是管理員和用戶的添加、修改和刪除。
3) 物流管理模塊主要實現的是支付方式管理、配送方式管理、配送地點管理。
4) 圖書管理模塊主要實現的是圖書和圖書類別信息的添加、修改和刪除。
5) 圖片管理模塊主要實現的是圖書和圖書類別相關圖片的添加和刪除。
? ? 如圖6-2所示,為后臺圖書管理頁面,管理員可以查看圖書相關信息,可以對圖書進行信息修改和刪除操作。
?
圖6-2 圖書管理頁面
如圖6-3所示,為后臺訂單管理頁面,管理員可以對定單進行核實,也可以刪除相應的訂單信息。
?
圖6-3 訂單管理頁面
如圖6-3所示,為圖片管理頁面,管理員可以進行圖片的上傳和刪除操作。
?
圖6-3 圖片管理頁面
第7章 總結
短短兩個月畢業設計,每天忙忙碌碌,一步一步走來,今天終于迎來了自己的成果。在這期間,經常遇到各種各樣的問題,時常為不能解決的問題而一籌莫展,但這并未因此打消我的信心,而是使我更加專著的去解決問題,也因此這相對短暫的時間卻是三年來過得最為充實的日子,充滿了挑戰的艱辛與樂趣。
在老師的指導和督促下,經過兩個月的緊張設計與開發,我的畢業設計基于 ASP.NET的網上書店系統終于開發完成了。 通過本系統的開發使我所學的專業知識得到了綜合的運用,對以前很多抽象、枯燥的理論知識加深了理解,同時也使我學會了利用結構化程序設計思想開發管理信息系統,并用模塊化方法加以實現。?
通過本次的系統開發,我深刻地認識到信息系統開發的每一步都是以上一步為基礎的。因此每一步文檔的編寫都必須正確、完整,否則就會給下一步的工作帶來不必要的麻煩,加大工作量。因為系統是為用戶服務的,所以要充分了解用戶的需求,考慮用戶的特點和使用方面的習慣,以協調人機關系。在系統實施中應結合各方面的要求,盡可能選擇自己熟悉的程序設計語言。系統測試中要根據實際情況設計有效的測試方法。 在系統設計過程中,從用戶的角度出發,在系統的可用性和易用性上做了很多功夫,力求能達到最好的效果。但由于我的編程實現能力和畢業設計的時間都有限,我對學生檔案管理這一系列工作的具體內容也不是特別地了解,所以目前我還不能把網上書店這個系統較為完善地實現出來,希望以后有機會能夠彌補這個遺憾。
能夠順利的完成這次畢業設計,也得益于指導教師的幫助,在他們的幫助下,通過到網上查資料,借閱圖書等一些途徑,使困難很快的得到解決。
短短的兩個月,終于按照設計說明書的要求完成了自己的畢業設計,由于時間有限、自身知識水平不足,我的設計還難免存在著很多不足的地方,請各位老師給予指正和提出寶貴的建議,我堅信在今后的工作中我會做得更好。
參考文獻
[1]龔赤兵.《精通ASP.NET 2.0電子商務網站開發》.2008年1月,第1版,人民郵電出版社
[2]劉乃麗.《精通ASP.NET 2.0 + SQL Server 2008項目開發》.2008年5月,第1版,人民郵電出版社
[3]陳冠軍.《精通ASP.NET 2.0典型模塊設計與實現》.2007年2月,第1版,人民郵電出版社
[4]鄭耀東.《精通ASP.NET 2.0的Web 2.0應用》.2007年9月,第1版,人民郵電出版社
[5]呂洋波.《ASP.NET 2.0寶典》.2007年4月,第1版,電子工業出版社
致謝
大學3年的學習生活即將結束,在這4年的學習生涯中得到了許多人的關心和幫助,在此,我要衷心感謝所有曾經教導過我的老師和關心過我的同學,他們在我成長的過程中給予了我很大的幫助。
經過近幾個月的忙碌,本次畢業設計已經接近尾聲,作為一個專科生的畢業設計,由于經驗的匱乏,難免有許多考慮不周全的地方,如果沒有導師的督促指導,以及同學們的支持,想要完成這個設計是難以想象的。
這次做畢業設計的經歷也會使我受益良多,我感受到做畢業設計是要真真正正用心去做的一件事情,是真正的自己學習的過程和研究的過程,沒有學習就不可能有研究的能力,沒有自己的研究,就不會有所突破。希望這次的經歷能讓我在以后學習中激勵我繼續進步。不積跬步何以至千里。
本設計能夠順利的完成,要特別感謝幫助我完成畢業設計的指導老師蘇凱英的關懷和教導,她對我的畢業設計提出了很多的建議,還給我提供了大量的資料。她嚴謹的治學態度、誨人不倦的教學作風給我留下了深刻的印象。此外還要感謝各位任課老師,正是他們平時的認真負責,使我能夠很好的掌握和運用專業知識,并在設計中得以體現。正是有了他們的悉心幫助和支持,才使我的畢業設計工作順利完成,在此向全體老師表示由衷的謝意,感謝他們三年來的辛勤栽培。
?
附錄
列名?? ?數據類型?? ?是否允許空?? ?說明
AdminID?? ?bigint?? ?否?? ?管理員ID,自動編號
Admin?? ?varchar(50)?? ?否?? ?管理員帳號
Password?? ?varchar(50)?? ?否?? ?管理員密碼
表1:Admin管理員表
列名?? ?數據類型?? ?是否允許空?? ?說明
AreaID?? ?bigint?? ?否?? ?區域ID,自動編號
AreaName?? ?varchar(50)?? ?否?? ?區域名稱
AreaKM?? ?int?? ?否?? ?區域與本地的距離
表2:Area區域表
列名?? ?數據類型?? ?是否允許空?? ?說明
BookID?? ?bigint?? ?否?? ?圖書ID,自動編號
ClassID?? ?bigint?? ?否?? ?類型ID,外鍵
BookName?? ?varchar(50)?? ?否?? ?圖書名稱
BookIntroduce?? ?ntext?? ?是?? ?圖書詳細介紹
ISBN?? ?varchar(20)?? ?否?? ?ISBN序號
PageNum?? ?varchar(20)?? ?是?? ?圖書頁碼
Publisher?? ?varchar(100)?? ?否?? ?出版社
PublishDate?? ?varchar(20)?? ?否?? ?出版時間
Author?? ?varchar(50)?? ?否?? ?作者
BookUrl?? ?varchar(50)?? ?否?? ?圖書對應圖片的URL地址
MarketPrice?? ?float?? ?否?? ?圖書市場價格
MemberPrice?? ?float?? ?否?? ?圖書會員價格
Isrefinement?? ?bit?? ?否?? ?是否推薦
IsHot?? ?bit?? ?否?? ?是否熱銷
AddDate?? ?datetime?? ?否?? ?圖書信息添加日期
IsDiscount?? ?bit?? ?否?? ?是否打折
表3:BookInfo圖書信息表
列名?? ?數據類型?? ?是否允許空?? ?說明
BuyID?? ?bigint?? ?否?? ?購書信息ID,自動編號
BookID?? ?bigint?? ?否?? ?圖書ID,外鍵
Num?? ?int?? ?否?? ?購買的圖書數量
OrderID?? ?bigint?? ?否?? ?訂單ID,外鍵
SumPrice?? ?float?? ?否?? ?總價
MemberID?? ?bigint?? ?否?? ?會員ID,外鍵
表4:BuyInfo購書信息表
列名?? ?數據類型?? ?是否允許空?? ?說明
CartID?? ?bigint?? ?否?? ?購物車ID,自動編號
BookID?? ?bigint?? ?否?? ?圖書ID,外鍵
Num?? ?int?? ?否?? ?購買數量
SumPrice?? ?float?? ?否?? ?總價格
MemberID?? ?bigint?? ?否?? ?會員ID,外鍵
表5:ShopCart購物車表
列名?? ?數據類型?? ?是否允許空?? ?說明
MemberID?? ?bigint?? ?否?? ?用戶ID,自動編號
Name?? ?varchar(50)?? ?否?? ?用戶帳號
Sex?? ?bit?? ?否?? ?性別
Password?? ?varchar(50)?? ?否?? ?用戶密碼
TrueName?? ?varchar(50)?? ?是?? ?真實姓名
Questions?? ?varchar(50)?? ?是?? ?安全提問
Answers?? ?varchar(50)?? ?是?? ?安全答案
Phonecode?? ?varchar(20)?? ?是?? ?電話號碼
Emails?? ?varchar(50)?? ?是?? ?電子郵件
City?? ?varchar(50)?? ?是?? ?所在城市
Address?? ?varchar(200)?? ?是?? ?具體地址
PostCode?? ?char(10)?? ?是?? ?郵政編碼
AdvancePayment?? ?float?? ?否?? ?用戶余額
LoadDate?? ?datetime?? ?否?? ?注冊時間
表6:Member會員表
列名?? ?數據類型?? ?是否允許空?? ?說明
ImageID?? ?bigint?? ?否?? ?圖片ID,自動編號
ImageName?? ?varchar(50)?? ?否?? ?圖片名稱
ImageUrl?? ?varchar(200)?? ?否?? ?圖片URL地址
表7:圖片信息表
總結
以上是生活随笔為你收集整理的基于asp.net的网上书店商城设计与实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php培训js重要么,php何以被戏称为
- 下一篇: react更改路由入参_JavaScri