版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計書(論文)</b></p><p> 題 目 網(wǎng)絡圖書銷售系統(tǒng)的設計與實現(xiàn) </p><p> 系 別 計算機科學與工程系 </p><p> 專 業(yè) 計算機科學與技術(軟件工程方向)</p><p><b> 目錄&l
2、t;/b></p><p> Abstract:I</p><p><b> 摘要:1</b></p><p><b> 1.緒論2</b></p><p><b> 1.1概述2</b></p><p> 1.2系統(tǒng)研究動態(tài)2
3、</p><p> 1.3課題的提出及其只要研究內(nèi)容3</p><p> 1.4論文組織結構3</p><p><b> 1.5本章小結4</b></p><p> 2.系統(tǒng)實現(xiàn)的關鍵技術4</p><p> 2.1B/S概述4</p><p> 2.
4、2 .NET Framework5</p><p> 2.2.1 C#編程語言5</p><p> 2.2.2 C#的擴展6</p><p> 2.3 數(shù)據(jù)庫技術6</p><p> 2.3.1 SQL結構化查詢語言6</p><p> 2.4 數(shù)據(jù)安全7</p><p>
5、 2.5 三層技術7</p><p> 2.6 本章小結8</p><p> 3需求分析與系統(tǒng)設計結構8</p><p><b> 3.1需求分析8</b></p><p> 3.2 系統(tǒng)總體設計9</p><p> 3.2.1 功能結構9</p><p
6、> 3.2.2 架構設計9</p><p> 3.2.3 運行環(huán)境10</p><p> 3.3 業(yè)務流程10</p><p> 3.4 系統(tǒng)流程分析11</p><p> 3.5 數(shù)據(jù)庫結構12</p><p> 3.5.1 數(shù)據(jù)庫概念設計13</p><p>
7、 3.5.2 數(shù)據(jù)庫邏輯結構設計13</p><p> 3.6 文件組織結構14</p><p> 3.7 本章小結14</p><p><b> 4公共模塊15</b></p><p> 4.1系統(tǒng)主界面15</p><p> 4.2登錄及注冊模塊15</p>
8、<p> 4.2.1登錄15</p><p> 4.2.2注冊16</p><p> 4.2.3修改密碼18</p><p> 4.3 圖書搜索19</p><p> 4.4管理員模塊19</p><p> 4.4.1角色管理19</p><p> 4.5用
9、戶管理19</p><p> 4.5.1主界面19</p><p> 4.5.2修改用戶角色及備注信息20</p><p> 4.5.3我的個人信息及更新20</p><p> 4.6圖書管理21</p><p> 4.6.1主界面21</p><p> 4.6.2添加圖
10、書21</p><p> 4.6.3查看圖書詳細信息及更新22</p><p> 4.7 訂單管理22</p><p> 4.7.1查看訂單信息22</p><p> 4.7.2查看訂單子項信息23</p><p> 4.8類別管理23</p><p> 4.8.1主界面
11、23</p><p> 4.8.2添加圖書類別24</p><p> 4.9普通用戶模塊24</p><p> 4.9.1用戶信息中心查看24</p><p> 4.9.2購買圖書24</p><p> 4.9.3結算中心25</p><p> 4.9.4查看圖書詳細信息
12、及留言25</p><p> 4.10 本章小結27</p><p><b> 5.測試分析27</b></p><p> 5.1 程序功能驗證27</p><p> 5.2測試用例選擇28</p><p> 5.3 測試結果分析29</p><p>
13、 5.4 本章小結30</p><p> 6.全文總結與展望30</p><p> 6.1 全文總結30</p><p> 6.2 未來展望31</p><p><b> 參考文獻31</b></p><p><b> 致謝33</b></p&g
14、t;<p> Design and Realization of Book Sale System Online</p><p><b> By</b></p><p><b> Patty</b></p><p> December, 2009</p><p> Abstr
15、act:With the development of information technology, online book sales as a typical Web e-commerce systems are rapidly developing and in-depth people's daily life. More and more people are willing to pick their favori
16、te books at home, it can greatly reduce their time, and increased efficiency. So the online book sales system across time and space limitations, to commercial circulation after the game is not the same transformation, b
17、ut also to consumers. The system uses the asp.net + SQL2005</p><p> Keywords:.NET; Pet Shop; B/S; Book Sale; Factory Design Pattern</p><p> 網(wǎng)絡圖書銷售系統(tǒng)的設計及實現(xiàn)</p><p><b> 高佩娟<
18、;/b></p><p> 摘要: 隨著信息技術的發(fā)展,網(wǎng)上圖書銷售作為一種典型的Web電子商務系統(tǒng)也迅速的發(fā)展并深入人們的日常生活中。可見,網(wǎng)上圖書銷售系統(tǒng)跨越了時間和空間的限制,給商業(yè)流通領域帶來了一場不一樣的變革,也給消費者帶來了便捷。該系統(tǒng)采用了對ASP.NET + SQL2005,三層架構,工廠模式,開發(fā)了一個功能完善的網(wǎng)上圖書銷售系統(tǒng)。其具有一定的實用性,用戶可以在網(wǎng)上瀏覽圖書信息,查找圖書資
19、料,或放入購物車并下訂單購買;同時,管理員也可以對整個系統(tǒng)的信息和數(shù)據(jù)進行管理,可以管理庫存書信息、分類信息、出版社信息、用戶信息和訂單信息。此外,本文討論了在線書店的整個發(fā)展進程,詳細并考慮和理論基礎。</p><p> 關鍵詞: .Net;三層架構;B/S;圖書銷售;工廠模式</p><p><b> 1.緒論</b></p><p>
20、 21世紀是個信息化的時代,現(xiàn)代計算機技術的發(fā)展,為各行各業(yè)的發(fā)展創(chuàng)造了一個全新的時代背景——人們的生活、工作等已經(jīng)越來越離不開計算機科學的運用,而Internet的應用加速了這種趨勢。</p><p><b> 1.1概述</b></p><p> 隨著我國網(wǎng)絡經(jīng)濟的快速發(fā)展,互聯(lián)網(wǎng)用戶數(shù)突破了1.1億,有過購物經(jīng)歷的用戶達到3000萬人,其中有一半人已經(jīng)習慣
21、網(wǎng)上購物[1]。網(wǎng)上書店系統(tǒng)的存在給予廣大用戶能不出門也能買到書,搜索到自己想要的書籍。隨著網(wǎng)站的大規(guī)?;?,它的存在就成為互聯(lián)網(wǎng)生活中不可缺少的一部分。本系統(tǒng)主要采用ASP.NET,開發(fā)語言為C#,主要是介紹如何進行系統(tǒng)分析和規(guī)劃,數(shù)據(jù)庫如何設計與實現(xiàn),并且使用ASP.NET具有的基于三層應用程序模型,進行電子商務系統(tǒng)的設計與實現(xiàn)。在下面的各章節(jié)中,我將詳細的介紹網(wǎng)上書店系統(tǒng)BookShop的開發(fā)過程和所涉及的問題以及解決方法。 <
22、;/p><p><b> 1.2系統(tǒng)研究動態(tài)</b></p><p> 在當前電子商務的實際用用過程中,有兩個主流應用,一類是B2B(Business to Business),一類是B2C(Business to Customer)。其中B2B主要面向的是企業(yè)與企業(yè),或是大宗單子,這種平臺對性能、安全和服務要求比較高。[2]&
23、lt;/p><p> B2C離我們比較近,它直接面向大眾消費者,不過它的經(jīng)營一般也有兩種方式,一種是同現(xiàn)在的大超市一樣,里面提供大量的貨物商品,消費者可以自由的瀏覽挑選商品,然后付款購買,典型例子有亞馬遜網(wǎng)上書店等;另一種形式就是像淘寶一樣的大商城,在這個商城里有很多的柜臺或店鋪,每個都賣自己的東西,商城按柜臺經(jīng)營的商品的類別把這些柜臺安排在不同的地方,而用戶可以根據(jù)自己的需要到相應的地方去瀏覽挑選自己想要的商品,
24、然后去商城的服務臺付款。</p><p> 1.3課題的提出及其只要研究內(nèi)容</p><p> 鑒于目前電子商務軟件的發(fā)展狀況,開發(fā)實用的網(wǎng)上圖書銷售系統(tǒng)在市場上有很大的潛力。</p><p> 網(wǎng)絡圖書銷售作為目前發(fā)展比較成熟的電子商務應用,在網(wǎng)站的開發(fā)和部署中占有一定的比例和側重。它的功能日臻完善,為圖書的銷售和采購都提供了一個方便快捷的穩(wěn)定平臺。[3]&
25、lt;/p><p> 此系統(tǒng)可完成的功能有:用戶注冊管理、管理員管理、訂單管理、購物車管理等。</p><p> 實現(xiàn)了用戶瀏覽察看商品,進行定購并下訂單,雙方確認然后付款交貨,完成交易這一電子商務的主要流程。 </p><p> 網(wǎng)絡圖書交易系統(tǒng)一般需要實現(xiàn)如下功能:</p><p><b> 分類圖書管理模塊:</b&
26、gt;</p><p> 1、包括所售圖書的分類添加、刪除和修改,能夠上傳并顯示圖書封面;</p><p> 2、能夠查詢、統(tǒng)計和查詢庫存圖書的狀態(tài)</p><p><b> 用戶管理模塊</b></p><p><b> 1、 用戶角色劃分</b></p><p>
27、 不同角色的用戶在系統(tǒng)中具有不同功能,管理員能夠使用管理功能,注冊用戶能夠參與采購,非注冊用戶只能瀏覽。</p><p> 2、 添加用戶、設定角色,修改用戶信息,刪除用戶</p><p><b> 3、 用戶注冊</b></p><p><b> 4、 用戶登錄</b></p><p>
28、 5、用戶個人資料修改</p><p> 網(wǎng)絡銷售圖書展示功能 </p><p><b> 1. 圖書分類顯示</b></p><p> 2. 特價或推薦圖書突出顯示</p><p> 3.增加書評和好書推薦功能</p><p><b> 購書車功能模塊</b>&l
29、t;/p><p> 1. 記錄并自動計算登錄用戶所購圖書的數(shù)目,價錢,希望送貨時間。</p><p> 2. 訂單取消功能。</p><p><b> 3. 訂單查詢</b></p><p><b> 訂單處理功能</b></p><p> 1. 管理員處理訂單<
30、/p><p><b> 2. 處理反饋</b></p><p><b> 1.4論文組織結構</b></p><p> 論文的組織結構為:[4]</p><p> 第一章是緒論,介紹分析網(wǎng)上書店市場的當前狀況,目前國內(nèi)的用網(wǎng)絡進行圖書銷售市場經(jīng)營的有一部分,但開發(fā)網(wǎng)上圖書銷售系統(tǒng)在市場上仍然有很
31、大的潛力,而且有利于圖書銷售這一行業(yè)的發(fā)展;</p><p> 第二章講述系統(tǒng)實現(xiàn)的關鍵技術,包括B/S模式與C/S模式體系結構,C#編程語言,數(shù)據(jù)庫技術和三層技術;</p><p> 第三章是需求分析與系統(tǒng)設計結構,分析了開發(fā)網(wǎng)上圖書銷售系統(tǒng)的可行性,詳細的介紹了系統(tǒng)的結構;</p><p> 第四章是系統(tǒng)實現(xiàn),對主要模塊深入分析編碼過程和實現(xiàn)方法;<
32、/p><p> 第五章是測試分析,系統(tǒng)編碼完成后,對系統(tǒng)功能進行測試,以便發(fā)現(xiàn)問題和改進性能,達到預期目標; </p><p> 第六章的全文總結與展望,總結論文的內(nèi)容,根據(jù)系統(tǒng)的特性展望未來的發(fā)展。</p><p><b> 1.5本章小結</b></p><p> 本章主要分析了當今市場網(wǎng)上圖書銷售市場的一些狀況
33、以及國內(nèi)外一些典型的圖書銷售的情況,考慮到了顧客對售書的服務需求和網(wǎng)上書店管理系統(tǒng)在當今市場的狀況,對網(wǎng)絡圖書銷售信息系統(tǒng)進行了比較系統(tǒng)的描述,闡述了研究的可行性。</p><p> 在激烈的市場競爭下,圖書銷售要提高競爭力,就首先在銷售管理上要有所突破,可以實現(xiàn)網(wǎng)絡定購、電話預約和實時查詢訂單功能,跟蹤訂單發(fā)往到何處,提高工作效率,這是我們值得推廣和深入討論的話題。</p><p>
34、 2.系統(tǒng)實現(xiàn)的關鍵技術</p><p> 本章述系統(tǒng)實現(xiàn)的關鍵技術,包括B/S模式,C#編程語言,數(shù)據(jù)庫設計和三層技術。</p><p><b> 2.1 B/S概述</b></p><p> B/S結構,即Browser/Server(瀏覽器/服務器)結構,就是只安裝維護一個服務器(Server),而客戶端采用瀏覽器(Browse)運
35、行軟件。它是隨著Internet技術的興起,對C/S結構的一種變化和改進。B/S三層體系結構采用三層客戶/服務器結構,在數(shù)據(jù)訪問層(Server)和用戶界面層(Client)增加了一層結構,稱為中間件(Middleware),使整個體系結構成為三層。三層結構是伴隨著中間件技術的成熟而興起的,核心概念是利用中間件將應用分為表示層、業(yè)務邏輯層和數(shù)據(jù)訪問層三個不同的處理層次,這種結構下的用戶工作界面是通過瀏覽器實現(xiàn),主要事務邏輯在服務器端(S
36、erver)實現(xiàn),形成三層結構。</p><p> 在B/S體系結構系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行等工作全部由Web Server完成。隨著Windows將瀏覽器技術植入操作系統(tǒng)內(nèi)部,這種結構已成為當今應用軟件的首選體系結構。顯然B/S結構應用程序
37、相對于傳統(tǒng)的C/S結構應用程序是一個非常大的進步。 </p><p> B/S結構的主要特點是分布性強、維護方便、開發(fā)簡單且共享性強、總體擁有成本低。但數(shù)據(jù)安全性問題、對服務器要求過高、數(shù)據(jù)傳輸速度慢、軟件的個性化特點明顯降低,這些缺點是有目共睹的,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求。[5]</p><p> 2.2 .NET Framework </p><p>
38、; .NET Framework 是向開發(fā)人員提供一個一致的面向對象的編程環(huán)境,使開發(fā)人員在面對類型不相同的應用程序時保持一致。</p><p> 2.2.1 C#編程語言</p><p> C#是微軟公司發(fā)布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg
39、的最新成果。</p><p> C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的復雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。</p><p> 并
40、且C#成為ECMA與ISO標準規(guī)范。C#看似基于C++寫成,但又融入其它語言如Delphi、Java、VB等。</p><p> 微軟c#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點.</p><p> 2.2.2 C#的擴展</p><p> C#不但可以開發(fā)基于ASP.net的應用程序,也可以開發(fā)基于WinForm的程序。<
41、;/p><p><b> 2.3 數(shù)據(jù)庫技術</b></p><p> 目前使用的數(shù)據(jù)庫一般為關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),對于Microsoft SQL Server 200X 數(shù)據(jù)庫是多關系數(shù)據(jù)管理系統(tǒng),具有強大的擴展性。</p><p> 2.3.1 SQL結構化查詢語言</p><p> SQL全稱是“
42、結構化查詢語言(Structured Query Language)”,最早的是IBM的圣約瑟研究實驗室為其關系數(shù)據(jù)庫管理系統(tǒng)SYSTEM R開發(fā)的一種查詢語言,它的前身是SQUARE語言。</p><p> SQL Server所使用的數(shù)據(jù)庫查詢語言稱為Transact-SQL,它是SQL Server的核心,Transact-SQL強化了原有的SQL關鍵字以進行數(shù)據(jù)的存取,儲存及處理等功能,Transact
43、-SQL擴充了流程控制指定,可以使你方便的編寫功能強大的存儲過程,他們存放在服務器端,并預先編譯過,執(zhí)行速度非常塊,觸發(fā)是一種特殊的存儲過程,用來確保SQL Server數(shù)據(jù)庫引用的完整性,你可以建立插入,刪除和更新觸發(fā)以控制相關的表格中對數(shù)據(jù)列的插入,刪除和更新,你還可以使用規(guī)則(Rule),缺省(default)以及限制(Constraints),來協(xié)助將新的數(shù)值套用到表格中去。[5]</p><p> 數(shù)
44、據(jù)庫的基本結構分三個層次,反映了觀察數(shù)據(jù)庫的三種不同角度。 </p><p><b> (1)物理數(shù)據(jù)層。</b></p><p> 它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設備上實際存儲的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。 </p><p><b> (2)概念數(shù)據(jù)層。&
45、lt;/b></p><p> 它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對象的邏輯關系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。 </p><p><b> (3)邏輯數(shù)據(jù)層。</b></p><p> 它是用戶所看到和使用的數(shù)據(jù)庫
46、,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。 </p><p> 數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進行轉換的。</p><p><b> 2.4 數(shù)據(jù)安全</b></p><p> 數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)本身的保護不夠,就有可能被任何人訪問。用戶完全可以不按規(guī)定的用戶操作流程進行操作,隨心所欲修改和刪除數(shù)據(jù),對后臺數(shù)據(jù)庫構
47、成直接威脅。通過用戶身份驗證、數(shù)據(jù)備份與還原等技術來保護數(shù)據(jù)。</p><p> 備份數(shù)據(jù)庫是對數(shù)據(jù)庫或事務日志進行拷貝,當系統(tǒng)、磁盤或數(shù)據(jù)庫文件損壞時,可以使用備份文件進行恢復,防止數(shù)據(jù)丟失。</p><p> 還原數(shù)據(jù)庫是使用數(shù)據(jù)庫的備份文件對數(shù)據(jù)庫進行還原操作。由于病毒的破壞、磁盤損壞或操作員操作失誤等原因會導致數(shù)據(jù)丟失、不完整或數(shù)據(jù)錯誤,此時,需要對數(shù)據(jù)庫進行還原。[5]<
48、;/p><p><b> 2.5 三層技術 </b></p><p> 目前,典型的分層架構是三層架構,依次是數(shù)據(jù)訪問層、業(yè)務邏輯層和表示層。綜合現(xiàn)有的成功實踐和.NET平臺的特殊性,本系統(tǒng)中將三層架構的層次劃分如下: </p><p> 數(shù)據(jù)訪問層——負責與數(shù)據(jù)源的交互,即數(shù)據(jù)的插入、刪除、修改以及從數(shù)據(jù)庫中讀出數(shù)據(jù)等操作。對數(shù)據(jù)的正確性和
49、可用性不負責,對數(shù)據(jù)的用途不了解,不負擔任何業(yè)務邏輯。 </p><p> 業(yè)務邏輯層——負責系統(tǒng)領域業(yè)務的處理,負責邏輯性數(shù)據(jù)的生成、處理及轉換。對流入的邏輯性數(shù)據(jù)的正確性及有效性負責,對流出的邏輯性數(shù)據(jù)及用戶性數(shù)據(jù)不負責,對數(shù)據(jù)的呈現(xiàn)樣式不負責。 </p><p> 表示層——負責接收用戶的輸入、將輸出呈現(xiàn)給用戶以及訪問安全性驗證。對流入的數(shù)據(jù)的正確性和有效性負責,對呈現(xiàn)樣式負責,
50、對呈現(xiàn)友好的錯誤信息負責。[6]其結構如圖2.1所示。</p><p><b> 圖2.1 三層結構</b></p><p><b> 2.6 本章小結</b></p><p> 本章主要對當今軟件設計的主流技術三層架構技術和項目開發(fā)用到的技術作出了介紹和探討。在.NET Framework上用C#語言開發(fā)的數(shù)據(jù)庫技
51、術,還有在網(wǎng)絡圖書銷售系統(tǒng)中的應用三層技術架構,充分發(fā)揮了面向對象編程的特點,便于管理和維護。</p><p> 3需求分析與系統(tǒng)設計結構</p><p><b> 3.1需求分析</b></p><p> 通過相關調查發(fā)現(xiàn)系統(tǒng)包含兩類用戶,即管理員和普通用戶。針對這兩類用戶,系統(tǒng)根據(jù)登錄時的角色判斷,跳轉到相應的頁面為其提供操作。[6]
52、</p><p> 網(wǎng)上圖書銷售系統(tǒng)首先應該方便用戶瀏覽、購買圖書,同時需要由系統(tǒng)管理員進行管理和維護,由此分為前臺用戶功能和后臺管理員功能兩個方面。</p><p><b> 前臺用戶功能:</b></p><p> 1)用戶注冊登錄:用戶進行注冊,登錄。</p><p> 2)圖書瀏覽:以列表方式顯示圖書信息
53、供用戶瀏覽。</p><p> 3)圖書顯示:顯示圖書的詳細信息。</p><p> 4)圖書搜索:使用搜索功能使用戶快速地找到所喜歡的圖書。</p><p> 5)購物車:用戶找到所喜歡的圖書時,可以將其放入購物車中,再繼續(xù)查看其它圖書。</p><p> 6)圖書訂單:用戶下訂單購買圖書,由管理員定期負責處理,根據(jù)訂單信息向用戶送
54、貨。</p><p><b> 后臺管理員功能:</b></p><p> 1)圖書管理:維護網(wǎng)上圖書銷售系統(tǒng)中的所有圖書信息。</p><p> 2)分類信息管理:維護系統(tǒng)中的所有分類信息。</p><p> 3)出版商信息管理:維護系統(tǒng)中的所有出版商信息。</p><p> 4)用戶
55、信息管理:顯示所有注冊用戶的信息。</p><p> 5)訂單管理:定期對用戶訂單進行處理,向用戶送貨。</p><p> 3.2 系統(tǒng)總體設計</p><p> 本研究課題的主要的目的是是設計并實現(xiàn)一個B/S體系結構的網(wǎng)絡圖書交易系統(tǒng),以便反應客戶的需求,把交易變得更方便,使圖書的購買變得容易。</p><p> 3.2.1 功能結
56、構</p><p> 網(wǎng)上圖書銷售系統(tǒng)的功能模塊圖3.1和圖3.2:</p><p> 3.2.2 架構設計</p><p> 系統(tǒng)按照三層架構技術設計,按功能可以分為表示層、業(yè)務邏輯層和數(shù)據(jù)訪問層。分層技術提高了系統(tǒng)的靈活性和維護性。[7]系統(tǒng)的三層架構如圖3.3。</p><p> 表示層主要表示W(wǎng)EB方式或者Windows 窗體
57、方式,需要訪問實體對象的屬性值;業(yè)務邏輯層主要是對具體的問題的操作,對數(shù)據(jù)業(yè)務邏輯處理;數(shù)據(jù)訪問層主要是對原始數(shù)據(jù),包括數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式的操作層。</p><p> 3.2.3 運行環(huán)境</p><p> 網(wǎng)絡銷售系統(tǒng)可以在任何安裝有Windows 32位操作系統(tǒng)的PC機上運行,支持Microsoft SQL Server 2005 數(shù)據(jù)庫管理系統(tǒng)和Microsoft
58、 .NET Framework SDK v2.0,開發(fā)語言為C#2.0,開發(fā)平臺為Microsoft Visual Studio 2005。</p><p><b> 3.3 業(yè)務流程</b></p><p> 網(wǎng)絡銷售系統(tǒng)的業(yè)務流程用例圖如圖3.4。</p><p> 3.4 系統(tǒng)流程分析</p><p> 網(wǎng)
59、絡銷售系統(tǒng)的系統(tǒng)流程圖如圖3.5。</p><p> 圖3.5 業(yè)務流程用例圖</p><p><b> 3.5 數(shù)據(jù)庫結構</b></p><p> 根據(jù)圖書銷售的特點,把數(shù)據(jù)庫命名db_BookShop,數(shù)據(jù)表分別是tb_Books,tb_BooksClicked,tb_Order,db_Category,tb_Customers,t
60、b_Items,tb_ItemCategory,tb_OrderItems,tb_Publishers,tb_Roles[8]</p><p> 3.5.1 數(shù)據(jù)庫概念設計</p><p> 圖書的種類比較多,數(shù)據(jù)量也比較大,商品信息將存放在tb_Books表,如圖3.6所示的圖書實體E-R模型。</p><p> 3.5.2 數(shù)據(jù)庫邏輯結構設計</p&
61、gt;<p> 根據(jù)E-R圖在數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表,結構如下:</p><p> 圖書信息表tb_Books用來存儲書店內(nèi)所有的書籍的相關信息,表的結構如表3-1所示。</p><p> 表3-1圖書表Books</p><p> 3.6 文件組織結構</p><p> 網(wǎng)絡銷售系統(tǒng)在開發(fā)當中會用到大量的窗體,為了方便管
62、理和查看,在BookShop解決方案中將圖片文件放在image和img文件夾,公共類都分別放到了相應的層里面,窗體放在工程項目的根目錄下根據(jù)相應的權限可訪問的頁面放到了相應的文件夾里面。[9]文件組織結構如圖3.7所示。</p><p><b> 3.7 本章小結</b></p><p> 本章主要說明需求分析和詳細分析了系統(tǒng)的功能結構,介紹了程序流程,深入分析了
63、數(shù)據(jù)庫的設計方法,列舉了數(shù)據(jù)庫中每個數(shù)據(jù)表的邏輯結構。</p><p> 數(shù)據(jù)庫邏輯設計是建立數(shù)據(jù)表前的一項工作。網(wǎng)絡圖書銷售系統(tǒng)涉及的數(shù)據(jù)量比較多,不同的數(shù)據(jù)要分開不同的表來儲存,然后通過主鍵關聯(lián)。</p><p><b> 4公共模塊</b></p><p><b> 4.1系統(tǒng)主界面 </b></p>
64、;<p> 登錄頁面,管理員登錄后可進入管理員頁面,普通用戶進入普通用戶界面。</p><p> 普通用戶登錄到界面后可進行購買,若未登錄則提示您未登錄,請登錄后再進行購買;而未登錄的用戶同樣可以瀏覽該商店里面的商品;</p><p> 管理員登錄后則可跳到管理員頁面,不但有瀏覽的權限,還可以對網(wǎng)站里面的信息作出一定的更新操作等。</p><p>
65、; 4.2登錄及注冊模塊</p><p><b> 4.2.1登錄</b></p><p> 輸入用戶名和密碼點擊登錄按鈕,確認身份后用戶進入系統(tǒng),若為空或者錯誤時會有相應的提示信息。登錄后根據(jù)用戶的角色系統(tǒng)進入不同界面,用戶可以選擇進行其他操作。</p><p><b> 代碼如下:</b></p>
66、<p> Customers us = CustomersManage.Login(nametext.Text.Trim(),passwordtext.Text.Trim());</p><p> Session["user"] = us;//保存用戶</p><p> if (us != null)</p><p><b
67、> {</b></p><p> if (us.Role.RoleName == "管理員")</p><p><b> {</b></p><p> Response.Redirect("~/Admin/index.aspx");</p><p><
68、;b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> string code = yanzhengtext.Text; //獲取驗證碼</p><p> string user_name = nametex
69、t.Text;//</p><p> string user_password = CustomersManage.en(passwordtext.Text);</p><p> if (Request.Cookies["CheckCode"].Value == code)</p><p><b> {</b><
70、/p><p> Customers uis = new Customers();</p><p> uis = CustomersManage.getcusInfoByName(user_name);</p><p> if ((nametext.Text == uis.Username) && (CustomersManage.en(passwo
71、rdtext.Text) == uis.Password))</p><p><b> {</b></p><p> writecookie(uis.Username, uis.CustomerId.ToString());</p><p> Response.Redirect("index.aspx");</p
72、><p><b> }</b></p><p><b> 4.2.2注冊</b></p><p> 新用戶填寫注冊信息,提交注冊為系統(tǒng)用戶,默認用戶的角色為“普通用戶”。會員注冊信息時要按規(guī)定輸入正確格式的數(shù)據(jù)方可能通過,也為了防止相同用戶名的用戶注冊也增加了“檢查用戶是否已存在”的功能。</p><
73、p> 也專門為了針對所謂的“注冊機”或“灌水機”程序可以通過錄制鍵盤鼠標輸入的方法進行批量的用戶注冊。采用了隨機驗證碼的技術;在用戶注冊時可以隨機產(chǎn)生一個驗證號,如果輸入的驗證號與實際不符則不會繼續(xù)注冊過程,這樣就可以保證每次注冊的過程都是用戶手工輸入的信息。[9]</p><p><b> 4.2.3修改密碼</b></p><p> 用戶登錄系統(tǒng)后就能
74、修改密碼。修改時除需要輸入用戶名和舊密碼,另外還需要對新密碼進行確認。提交后自動保存到數(shù)據(jù)庫中。</p><p><b> 代碼如下:</b></p><p> Customers users=new Customers();</p><p> if (users != null)</p><p><b>
75、; {</b></p><p> this.usernametext.Text = users.Username;</p><p><b> }</b></p><p> if (Page.IsValid)//點擊修改事件</p><p><b> {</b></p>
76、;<p> string newPwd = this.newpassword.Text.Trim();</p><p> string message = CustomerManager.ModifyPwd(newPwd, user.UserID);</p><p> Response.Write("<script>alert('"
77、; + message + "')</script>");</p><p><b> }</b></p><p><b> //密碼判斷</b></p><p> string pwd = this.oldpassword.Text;</p><p>
78、 if (pwd.Equals(users.Password))</p><p><b> {</b></p><p> args.IsValid = true;</p><p><b> }</b></p><p><b> else</b></p>&
79、lt;p><b> {</b></p><p> args.IsValid = false;</p><p><b> }</b></p><p><b> 4.3 圖書搜索</b></p><p> 圖書瀏覽,就是讓用戶在產(chǎn)品瀏覽頁面查看圖書的詳細信息,吸引用
80、戶成為買家,因此除介紹圖片、價格和圖書描述等基本信息外,還要設置用戶評價產(chǎn)品以及用戶對其他產(chǎn)品評價等功能,加強用戶間信息的溝通和共享。</p><p> 系統(tǒng)用戶及游客可以輸入圖書名稱進行模糊查詢,結果以表格的形式顯示,并可以進入相應頁面查看詳細信息。</p><p><b> 代碼如下:[10]</b></p><p> string
81、 bookname = this.txtBookname.Text;</p><p> IList<Books> book = BooksManager.GetBooksBybookname(bookname);</p><p> this.GridView1.DataSource = book;</p><p> this.GridView1.D
82、ataBind();</p><p><b> 4.4管理員模塊</b></p><p><b> 4.4.1角色管理</b></p><p> 通過角色管理讓不同的驗證用戶具有不同的使用權限,只有注冊用戶才能購買產(chǎn)品,只有具有管理員權限的用戶才能管理網(wǎng)站;</p><p><b>
83、 4.5用戶管理</b></p><p> 網(wǎng)站安全對于任何一個電子商務網(wǎng)站的重要性是不言而喻的,在網(wǎng)絡圖書銷售系統(tǒng)中,通過用戶管理來驗證用戶,不在數(shù)據(jù)庫中存儲明文的密碼等方法來提供用戶管理的安全性。[11]</p><p><b> 4.5.1主界面</b></p><p> 系統(tǒng)列出當前所有用戶的基本信息,可以進行刪除用
84、戶功能,并提供修改操作的鏈接。管理員還可以按照角色和用戶名進行分類和精確查詢。</p><p> 4.5.2修改用戶角色及備注信息</p><p> 管理員通過主頁面的鏈接,進入修改頁面,修改用戶的角色及備注信息。</p><p><b> 代碼如下:</b></p><p> protected void bt
85、nModify_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Customer u = new Customer ();</p><p> u.UserID = int.Parse(Request.QueryString["customerId &qu
86、ot;].ToString());</p><p> Roles role = Roles();</p><p> role.RoleID = int.Parse(this.ddlRoleselect.SelectedValue.ToString());</p><p> u.Role = role;</p><p> u.UserN
87、ame = lblUsername.Text;</p><p> u.Remark = txtremark.Text;</p><p> CustomerManager.ModifyRemark(u);</p><p> Response.Write("<script>alert('修改成功');</script&g
88、t;");</p><p><b> }</b></p><p> 4.5.3我的個人信息及更新</p><p> 顯示當前登錄用戶的基本信息,并可以根據(jù)需要進行相應的更新操作。</p><p><b> 具體代碼如下:</b></p><p> prot
89、ected void btnOk_Click1(object sender, EventArgs e)</p><p><b> {</b></p><p> Customer user = (Customer Session["user"];//獲取登陸用戶的信息</p><p> user.UserName = t
90、his.txtusername.Text;</p><p> user.RealName = txtrealname.Text;</p><p> user.Remark = txtremark.Text;</p><p> user.Phone = txtphone.Text;</p><p> user.CreateDate =
91、System.DateTime.Now.ToString();</p><p> user.Addr = txtaddr.Text;</p><p> CustomerManager.ModifyUser(user);</p><p> Response.Write("<script>alert('修改用戶信息');<
92、;/script>");</p><p><b> }</b></p><p><b> 4.6圖書管理</b></p><p><b> 4.6.1主界面</b></p><p> 提供圖書的按類別與書名等查詢的功能,結果在表格中顯示。其次還可以瀏覽到
93、最新上架的圖書有哪些,和查看到圖書點擊率排行榜以及最暢銷的圖書。</p><p><b> 4.6.2添加圖書</b></p><p> 為管理員提供添加圖書的功能,可以將本地的圖書各項信息中,存入數(shù)據(jù)庫。</p><p><b> 圖 </b></p><p><b> 代碼如下
94、:</b></p><p> Books bo = new Books();</p><p> bo.BookName = booknametext.Text.Trim();</p><p> bo.Author = authortext.Text.Trim();</p><p> bo.Photo = Image1.Im
95、ageUrl;</p><p> bo.ISBN = isbntext.Text.Trim();</p><p> bo.Present = pretext.Text.Trim();</p><p> bo.Subject = titletext.Text.Trim();</p><p> bo.Price = float.Parse
96、(pricetext.Text.Trim());</p><p> bo.CategoryId = int.Parse(categorydrop.SelectedValue);</p><p> bo.PublisherId = int.Parse(publishdrop.SelectedValue);</p><p> BooksManage.insertb
97、ookInfo(bo);</p><p> Response.Write("<script> alert('添加成功')</script>");</p><p> 4.6.3查看圖書詳細信息及更新</p><p> 頁面顯示相應選擇圖書的詳細信息,包括圖書名稱、作者、ISBN號和簡介等,并可能過詳細按
98、鈕查看到更詳細的書本信息,也可以能過更新按鈕獲取所選所有的數(shù)據(jù)到表格中進行修改操作。</p><p> 點擊詳細信息后可查看到:</p><p><b> 4.7 訂單管理</b></p><p> 4.7.1查看訂單信息</p><p> 對于該系統(tǒng)的管理員來說,提供訂單管理的頁面,可以方便地查詢指定用戶的訂單
99、、指定的訂單號的訂單以及指定日期范圍的訂單。</p><p> 代碼如下://根據(jù)狀態(tài)查詢訂單方法</p><p> public static IList<Orders> GetOrderByState(string state)</p><p><b> {</b></p><p> string
100、 sql = "select * from Orders where state = '" + state+"'";</p><p> IList< Orders > list = new List< Orders >();</p><p> DataTable table = DBHelper.GetDa
101、taSet(sql);</p><p> foreach (DataRow row in table.Rows)</p><p><b> {</b></p><p> Orders order = new Orders ();</p><p> order.OrderID = (int)row["Or
102、derFormID"];</p><p> order.OrderDate = row["OrderDate"].ToString();</p><p> order.TotalNum = (int)row["TotalNum"];</p><p> order.TotoalMoney = decimal.Pa
103、rse(row["TotoalMoney"].ToString());</p><p> order.State = (string)row["State"];</p><p> order.User = OrderService.GetUserById((int)row["itemId"]);</p><
104、p> list.Add(order);</p><p><b> }</b></p><p> return list;</p><p><b> }</b></p><p> 4.7.2查看訂單子項信息</p><p> 管理員在訂單管理頁面選擇某條訂單信
105、息進行查看,跳轉到訂單子項頁面,方便管理員查看訂單的詳細信息。</p><p> 對于指定的某一訂單,管理員要實現(xiàn)多種功能的管理,如取消訂單和改變訂單狀態(tài)等。</p><p><b> 4.8類別管理</b></p><p><b> 4.8.1主界面</b></p><p> 以表格形式顯
106、示當前系統(tǒng)所有的圖書種類,點擊“編輯”,可以類別名稱、備注進行更新修改操作,同時提供刪除功能的鏈接。[11]</p><p> int row =int.Parse(((GridViewRow)((LinkButton)sender).NamingContainer).Cells[0].Text);</p><p> GridView2.DataSource = new Categor
107、iesManage().GetCatagoryByParentID(row);</p><p> GridView2.DataBind();</p><p> object CR = Request.Params["curFloor"];</p><p> if (CR != "")</p><p&g
108、t;<b> {</b></p><p> Categories category = new Categories();</p><p> category.CategoryId = Convert.ToInt32(CR);</p><p> new CategoriesManage().GetCatagoryByID(ref cat
109、egory);</p><p> lblParentName.Text = category.CategoryName + "的二級分類";</p><p> GridView2.Visible = true;</p><p> HyperLink2.NavigateUrl = "AddCategory.aspx?curFloor
110、=" + category.CategoryId.ToString();</p><p> HyperLink2.Visible = true;</p><p><b> }</b></p><p> 4.8.2添加圖書類別</p><p> 通過選擇要添加的一級分類還是二級分類按鈕跳轉到圖書添加頁面,
111、填寫表單信息,包括類別名稱,選擇“添加”,將當前信息存入數(shù)據(jù)庫。</p><p><b> 4.9普通用戶模塊</b></p><p> 4.9.1用戶信息中心查看</p><p> 用戶登錄后通過用戶詳細資料頁面中可查看到當前用戶的個人信息,也可以根據(jù)個人情況添加更多詳細信息或者修改個人信息包括用戶密碼等。</p><
112、;p><b> 4.9.2購買圖書</b></p><p> 用戶通過商品瀏覽頁面,包括給用戶顯示剛剛所選購的產(chǎn)品和推薦的產(chǎn)品列表等,并在該頁面中設置一個小型的購物車;然后專門設計一個購物車頁面,供用戶在確定購買之前查看購物車中的選購產(chǎn)品,高速所購產(chǎn)品的數(shù)量,刪除相關的選購商品,以便用戶更新自己的購物車。[12]</p><p><b> 4.9
113、.3結算中心</b></p><p> 顯示在購物車中已確認的圖書信息,以及當前購買的圖書總量、總價錢。用戶可以選擇“結賬”操作,否則訂單默認為“未結”狀態(tài)。[13]</p><p><b> 代碼如下:</b></p><p> private void Bind()</p><p><b>
114、; {</b></p><p> Orders form = (Orders)Session["orders"];</p><p> this.GridView1.DataSource = OrderItemManager.GetOrderItemByorderformid(form.OrderId);</p><p> th
115、is.GridView1.DataKeyNames = new string[] { "orderId" };</p><p> this.GridView1.DataBind(); </p><p> lblBookQuantity.Text = form.TotalNum.ToString();</p><p> lblTotalpri
116、ce.Text = form.TotoalMoney.ToString();</p><p><b> }</b></p><p> protected void btnJiesuan_Click(object sender, EventArgs e)</p><p><b> {</b></p>&l
117、t;p> Orders order = new Orders();</p><p> Orders form = (Orders)Session["orders"];</p><p> order.OrderFormID = form.OrderFormID;</p><p> order.State = "結算"
118、;;</p><p> OrdersManager.ModifyOrderForm(order);</p><p> Response.Write("<script>alert('結算成功');</script>");</p><p><b> }</b></p>
119、<p> 4.9.4查看圖書詳細信息及留言</p><p> 為普通用戶顯示所選圖書的詳細信息,包括基本信息、留言列表等,并提供留言功能,用戶可以根據(jù)具體的情況在留言板上留言,比如增加圖書的數(shù)量和加快發(fā)貨時間以及更多的建議和意見。[14]</p><p><b> 4.10 本章小結</b></p><p> 本章對整個系統(tǒng)的
120、主要模塊和關鍵技術做了比較全面的分析,網(wǎng)上圖書銷售系統(tǒng)主要由后臺管理、前臺設計和結賬等幾個核心模塊組成。</p><p><b> 5.測試分析</b></p><p> 系統(tǒng)測試是驗證系統(tǒng)是否達到預期目標,發(fā)現(xiàn)問題和解決問題。通過測試,對存在問題進行改進,對代碼進行優(yōu)化,不斷地提高軟件質量。 </p><p> 5.1 程序功能驗證&l
121、t;/p><p> 本文章詳細介紹從登錄和注冊兩個功能上進行測試,通過WEB測試驗證用戶在登錄時輸入的用戶名是否存在,和判斷輸入的用戶名密碼是否正確以及游客在注冊時填寫的注冊信息是否符合注冊信息的要求;判斷測試所鏈接的頁面是否存在等測試。</p><p> 對于網(wǎng)站的測試而言,每一個獨立的功能模塊需要單獨的測試用例的設計導出,主要依據(jù)為《需求規(guī)格說明書》及《詳細設計說明書》,對于應用程序模
122、塊需要設計者提供基本路徑測試法的測試用例。 </p><p> 1、鏈接測試:鏈接是Web應用系統(tǒng)的一個主要特征,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面: </p><p> 1)測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面; </p><p> 2)測試所鏈接的頁面是否存在; </p>&l
123、t;p> 3)保證Web應用系統(tǒng)上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。 </p><p> 鏈接測試可以自動進行,也就是說,在整個Web應用系統(tǒng)的所有頁面開發(fā)完成之后進行鏈接測試。 </p><p> 2、表單測試:當用戶給Web應用系統(tǒng)管理員提交信息時,就需要使用表單操作,例如用戶注冊、登陸、信息提交等。在這種情況下,我們必須
124、測試提交操作的完整性,以校驗提交給服務器的信息的正確性。例如:用戶注冊時填寫的信息的格式是否符合,用戶登錄時用戶名和密碼是否匹配,驗證碼是否有誤等信息。要測試這些程序,需要驗證服務器能正確保存這些數(shù)據(jù),而且后臺運行的程序能正確解釋和使用這些信息。[15]</p><p><b> 5.2測試用例選擇</b></p><p> 系統(tǒng)測試是驗證系統(tǒng)是否能進行注冊和登錄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡圖書銷售系統(tǒng)的設計和實現(xiàn)【畢業(yè)設計】
- 網(wǎng)絡圖書銷售系統(tǒng)的設計與實現(xiàn)【文獻綜述】
- 網(wǎng)絡圖書銷售系統(tǒng)的設計和實現(xiàn)【畢業(yè)設計+開題報告+文獻綜述】
- 網(wǎng)絡圖書銷售系統(tǒng)的設計與實現(xiàn)【開題報告】
- 畢業(yè)設計---圖書銷售系統(tǒng)
- 軟件工程畢業(yè)論文-網(wǎng)絡圖書管理系統(tǒng)的設計與實現(xiàn)
- 圖書借閱系統(tǒng)的設計與實現(xiàn)畢業(yè)設計
- 51818.網(wǎng)絡圖書館的設計與實現(xiàn)
- 畢業(yè)設計---超市銷售系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計--圖書借閱系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計---網(wǎng)上圖書銷售系統(tǒng)
- 畢業(yè)設計論文--圖書銷售管理系統(tǒng)
- 畢業(yè)設計---圖書管理系統(tǒng)的設計與實現(xiàn)
- 圖書管理系統(tǒng)設計與實現(xiàn)畢業(yè)設計
- 畢業(yè)設計---圖書管理系統(tǒng)的設計與實現(xiàn)
- 花卉在線銷售系統(tǒng)的設計與實現(xiàn)畢業(yè)設計
- 畢業(yè)設計--- 圖書管理系統(tǒng)的設計與實現(xiàn)
- 超市銷售管理系統(tǒng)設計與實現(xiàn)畢業(yè)設計
- 畢業(yè)設計---基于網(wǎng)絡超市商品銷售管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計(論文)基于jsp、servlet的易購網(wǎng)上圖書銷售系統(tǒng)的設計與實現(xiàn)
評論
0/150
提交評論