

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 1 引言</b></p><p> 隨著社會和經濟的不斷發(fā)展,產業(yè)結構調整步伐的加快,人民生活水平不斷提高,大量舊的生活用品、閑置設備和庫存產品等舊貨資源不斷產生。與此同時,大批流動人口涌入城市,欠發(fā)達地區(qū)的加快開發(fā),又為舊貨物品開辟了十分廣闊的市場。有關專家指出,二手貨物中蘊含著一個大商機。讓二手貨物流通起來,對調劑生活用品余缺,盤活企業(yè)存量資產,充分挖掘
2、社會閑置資源,促進生產,滿足消費和保護環(huán)境都有著重要作用。為了減少資源浪費,減輕環(huán)境負擔,也是響應黨的十七大“節(jié)能減排”的號召,貫徹可持續(xù)發(fā)展的戰(zhàn)略,將二手商品充分合理的利用很是必要,因此二手交易市場應運而生。</p><p> 而傳統(tǒng)的二手交易市場主要存在有以下問題:</p><p> (1)信息流動滯后。對于買方想要獲得二手交易市場的商品信息必須跑去跳蚤市場或是尋找公告板上張貼的廣
3、告。而對于賣方想要使自己想賣的物品信息傳播出去要么破費去張貼廣告,要么就是節(jié)假日去跳蚤市場擺攤。信息傳播具有較大的滯后性。</p><p> ?。?)網絡利用率低。隨著現在電子信息化的開展,網絡的建設已經進入一個更加高速發(fā)展的時期,傳統(tǒng)的二手交易市場沒有充分利用這些現有的網絡設備資源。</p><p> 所以,隨著計算機技術的飛速發(fā)展,網絡應用的普及,利用網絡構建二手交易平臺系統(tǒng)勢在必行
4、。</p><p> 本課題為同城二手交易系統(tǒng),手上有閑置物品的同學只需要登錄本系統(tǒng),注冊一個賬號,經過管理員的認可即可成為系統(tǒng)的會員,這樣就可以將自己的二手物品發(fā)布到網上進行交易,這樣就避免了同學擺地攤收售物品的麻煩,方便了供求雙方,也避免了到處張貼小廣告的麻煩,美化了校園環(huán)境,為低碳生活盡一份力。2 編程語言與開發(fā)工具介紹</p><p> 同城二手交易系統(tǒng)采用B/S模式開發(fā),用
5、Microsoft Visual Studio 2008作為開發(fā)工具,用C#語言和.NET技術等實現程序開發(fā),用Microsoft SQL Server 2005作為后臺數據支持。下面對這些技術進行詳細的介紹:</p><p> 2.1 B/S開發(fā)模式</p><p> B/S型模式,即瀏覽器/服務器結構。B/S模式最大特點是:用戶可以通過WWW瀏覽器去訪問Internet上的文本、數
6、據、圖像、動畫、視頻點播和聲音信息,這些信息都是由許許多多的Web服務器產生的,而每一個Web服務器又可以通過各種方式與數據庫服務器連接,大量的數據實際存放在數據庫服務器中??蛻舳顺薟WW瀏覽器,一般無須任何用戶程序,只需從Web服務器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數據庫有關的指令,由Web服務器交給數據庫服務器來解釋執(zhí)行,并返回給Web服務器,Web服務器又返回給用戶。在這種結構中,將許許多多的網連接到一塊,形成一個巨
7、大的網,即全球網。而各個企業(yè)可以在此結構的基礎上建立自己的Intranet。B/S架構軟件的優(yōu)勢如下:</p><p> 2.1.1 維護和升級方式</p><p> 目前,軟件系統(tǒng)的改進和升級越來越頻繁,B/S模式大大簡化了客戶端,只要客戶端機器能上網就可以。對于B/S而言,開發(fā)、維護等幾乎所有工作也都集中在服務器端,當企業(yè)對網絡應用進行升級時,只需更新服務器端的軟件就可以,這減輕了
8、異地用戶系統(tǒng)維護與升級的成本。如果客戶端的軟件系統(tǒng)升級比較頻繁,那么B/S架構的產品優(yōu)勢明顯——所有的 升級操作只需要針對服務器進行,這對那些點多面廣的應用是很有價值的,例如一些招聘網站就需要采用B/S模式,客戶端分散,且應用簡單,只需要進行簡單的瀏覽和少量信息的錄入。 </p><p> 2.1.2 系統(tǒng)的性能 </p><p> 在系統(tǒng)的性能方面,B/S占有優(yōu)勢的是其異地瀏覽和信息
9、采集的靈活性。任何時間、任何地點、任何系統(tǒng),只要可以使用瀏覽器上網,就可以使用B/S系統(tǒng)的終端。不過,采用B/S結構,客戶端只能完成瀏覽、查詢、數據輸入等簡單功能,絕大部分工作由服務器承擔,這使得服務器的負擔很重。采用C/S結構時,客戶端和服務器端都能夠處理任務,這雖然對客戶機的要求較高,但因此可以減輕服務器的壓力。而且,由于客戶端使用瀏覽器,使得網上發(fā)布的信息必須是以HTML格式為主,其它格式文件多半是以附件的形式存放。而HTML格式
10、文件(也就是Web頁面)不便于編輯修改,給文件管理帶來了許多不便。</p><p> 2.2 Microsoft Visual Studio 2008 開發(fā)平臺</p><p> Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代開發(fā)工具,是對Visual Studio 2005一次全面的升級。VS
11、2008引入了250多個新特性,整合了對象、關系型數據、XML的訪問方式,語言更加簡潔。作為Microsoft推出的新一代集成開發(fā)工具Visual Studio 2008,它不但彌補了早期版本的不足,功能上也進行了相關的新增和增強。下面則詳細介紹:</p><p> 2.2.1集成開發(fā)環(huán)境的改進和增強</p><p> 如果在同一臺計算機已安裝了Visual Studio 2005,則
12、安裝Visual Studio2008后,在首次啟動Visual Studio 2008時,可以遷移Visual Studio 2005中的大多數功能。Visual Studio 2008中,對一些用戶界面元素進行了更新。IDE導航界面在被改進后,可以比較輕松地在各項之間進行切換;改進后的工具窗口??磕繕耍雇?抗ぞ叽翱诒容^輕松。Visual Studio 2008使用了Windows標準對話框,使導航體驗更貼近于Windows中的導航
13、體驗。類設計器增加了對Visual C++代碼的支持。Visual Studio的較早版本中,類設計器僅支持托管語言?,F在,Visual Studio 2008的類設計器增加了對本機C++代碼的有限支持,但只可用于可視化和文檔。</p><p> 2.2.2 項目和解決方案的增強</p><p> Web應用項目中:新的web應用程序項目模型包含了一個基于項目文件的結構和一個
14、基于將項目的所有代碼編譯到單個程序集的生成模型。此外,新的項目類型還支持Visual Studio 2005以及ASP.NET2.0版的許多新增功能,如母板頁,數據控件,成員資格與登錄,角色管理,web控件,個性化設置,網站導航和主題。</p><p> Ajax開發(fā):支持基于服務器的Ajax開發(fā)的服務器控件。通過這些控件,用很少或者不用客戶端腳本代碼,就可以輕松地在頁面中進行部分更新,這樣可以避免整頁回發(fā)所產
15、生的系統(tǒng)開銷。</p><p> 項目設計器:項目設計器支持對Windows Pressentiation Foundation(WPF)應用程序,web應用程序項目的開發(fā)設計,并且支持多定向。如果在Visual Studio 2008 IDE中加載了WPF項目,則可以通過項目設計器頁的用戶界面制定特定于WPF應用程序的屬性。新的應用程序項目模型對Visual Studio 2005和ASP.NET 2.0的功
16、能進行了更新,并通過使用多目標功能,控制編寫代碼面向特定的.NET Framework版本,.NET Framework2.0,.NET Framework3.0和.NET Framework 3.5。</p><p> 2.2.3編輯器的改進和增強</p><p> CSS編輯器:Visual Studio 2008可以讓用戶體驗到豐富的CSS編輯功能,從而比以前更加輕松地使用CSS
17、。</p><p> 增強的代碼只能感應:代碼的智能感應很大的改進,現在支持Jscript和ASP.NET Ajax腳本編寫。網頁中的客戶端腳本不但具有IntelliSense的優(yōu)點,而且IntelliSense還顯示XML代碼注釋。Xml代碼注釋用于描寫過客戶端腳本的摘要,參數和返回詳細信息。</p><p> 對象瀏覽器和查找符號對多目標的支持:現在可以指定對象瀏覽器只顯示.NET
18、 Framework或.NET Compact Framework的單一版本信息。</p><p> WPF設計器:通過使用WPF設計器,可以在IDE中創(chuàng)建WPF應用程序和自定義控件。WPF設計器不僅具有XAML實時編輯功能,還對用戶的圖形設計時的體驗進行了改善。</p><p> 網頁設計器:Visual Studio 2008在網頁設計的“設計視圖”,“源視圖”基礎上,增加了一個“
19、拆分”視圖。</p><p> 2.2.4客戶端應用程序服務</p><p> 客戶端應用程序服務是.NET Framework 3.5中的新增功能,這些服務使基于Windows的應用程序可以方便地訪問ASP.NET登錄,角色和配置文件服務。通過這些服務,可以對用戶進行身份驗證,并且從共享服務器中檢索用戶角色和應用程序設置。</p><p> 2.3 Mic
20、rosoft SQL Server 2005數據庫平臺</p><p> SQL Server 2005 是建立在SQL Server 7.0 在可伸縮性、可用性、可管理性和數據倉庫成功的基礎上,并且引入了針對電子商務的重要新功能。在高性能和企業(yè)級可伸縮性領域,SQL Server 2005 設計成利用Windows2000 對更多處理器、更大的系統(tǒng)內存的支持,最終達到支持64 位硬件平臺。在不斷提升可用性的努
21、力過程中,SQL Server 2005 采用Windows 2000 四路群集,提供了大大改進的群集支持。SQL Server 7.0 已經在可管理性和易用性方面在行業(yè)內領先,SQL Server 2005 通過與Windows 2000 活動目錄緊密結合進一步改進了這些功能。而且,SQL Server 2005 還包含對現有管理工具和實用程序的重大改進,并引入更具自我調節(jié)和自我管理的引擎功能。SQL Server 2005 按照設計
22、可以為部署和維護強大的、易于管理、支持商務活動的Web 站點提供最好的性能,這些站點可以從事商家和商家之間或商家與客戶之間的交易。在尋求一個支持您的電子商務解決方案的數據庫時,需要考慮的項目包括:可用性、性能、可管理性和</p><p> 2.4 ASP.NET技術</p><p> 2.4.1 ASP.NET簡介</p><p> ASP.NET技術是Mic
23、rosoft公司推出的新一代動態(tài)Web開發(fā)工具,是電子商務、電子政務、遠程教育等Web應用開發(fā)的主流技術之一。ASP.NET不同于ASP,它是建立在.NET Framework之上,提供了更易于編寫且結構更清晰的代碼,它使用VB.NET和C#等模塊化語言編寫程序,提高了代碼的再利用性和共享性。ASP.NET在結構上幾乎完全基于組件和模塊化的,Web應用程序的開發(fā)人員使用這個開發(fā)環(huán)境可以實現更加模塊化的、功能更強大的應用程序。</p
24、><p> 2.4.2 ASP.NET的優(yōu)點</p><p> ASP.NET的優(yōu)點主要體現在效率高、可重用性高、代碼量少這三方面。在使用ASP進行程序設計的時候,由于ASP使用的是腳本語言,所有的代碼都嵌入到HTML代碼中,所以當編制功能復雜的網頁時,就需要編寫大量的代碼,而且會導致程序代碼的可讀性差的問題。另外,由于所有的代碼都是解釋執(zhí)行的,所以相對速度較慢,并且無法有效地利用機器硬件
25、的各種性能。ASP.NET與ASP相比較效率更高,提供了很高的可重用性,對于實現同樣功能的程序,ASP.NET使用的代碼量比ASP要少得多。ASP.NET采用全新的編程環(huán)境,代表了技術發(fā)展的主流方向。</p><p> 2.4.3 ASP.NET的工作原理</p><p> 首先,有一個HTTP請求發(fā)送到Web服務器要求訪問一個Web網頁。Web服務器通過分析客戶的HTTP請求來定位所
26、請求網頁的位置。如果所請求的網頁的文件名的后綴是aspx,那么就把這個文件傳送到aspnet_isapi.dll進行處理,由aspnet_isapi.dll把ASP.NET代碼提交給CLR。如果以前沒有執(zhí)行過這個程序,那么就由CLR編譯并執(zhí)行,得到純HTML結果;如果已經執(zhí)行過這個程序,那么就直接執(zhí)行編譯好的程序并得到純HTML結果。最后把這些純HTML結果傳回瀏覽器作為HTTP響應。瀏覽器收到這個響應之后,就可以顯示Web網頁。<
27、;/p><p><b> 3 需求分析</b></p><p> 3.1 系統(tǒng)需求分析</p><p> 3.1.1 系統(tǒng)首頁</p><p> 用戶點擊服務器網址,首先進入網站的首頁,首頁顯示點擊率最高的數件商品和數件商品的圖片。首頁集成了二手物品出售、求購信息的瀏覽,關于,幫助和用戶登錄注冊。物品信息簡單介紹
28、求購、出售商品信息的一部分內容,用戶可以點擊詳細信息查看全部內容,用戶也可以點擊求購信息(或其他信息)中的每一行中的詳細信息查看每一條的完整信息。公告用來顯示一些最新的信息。</p><p><b> 3.1.2系統(tǒng)登錄</b></p><p> 只有登錄的會員才有權限進行發(fā)布。所以用戶要想發(fā)布商品信息必須先登錄,而如果是新用戶就要注冊成為網站的會員再進行登錄,然
29、后來使用網站提供的功能。用戶登錄時輸入用戶名和密碼首先校驗用戶名是否合法(用戶名只能是2到10位中英文字符),是否為合法的會員,驗證成功后進入系統(tǒng),并且根據用戶的角色顯示不同的頁面。</p><p> 3.1.3 系統(tǒng)注冊</p><p> 輸入注冊所需的資料提交內容:用戶名(只能是2到10位中英文字符)、密碼、確認密碼、聯(lián)系方式(7到11位數字)、登錄權限,并與管理員取得聯(lián)系,獲得管
30、理員的同意即可成為系統(tǒng)的用戶。</p><p> 3.1.4 系統(tǒng)人員管理</p><p> 此部分功能只有管理員才有權限。系統(tǒng)人員管理包括以下內容:</p><p><b> a新增會員</b></p><p> 會員從網站注冊,添加必要的用戶信息等待管理員的認可。而這些注冊用戶信息會在管理員登陸的時候在頁面上
31、顯示,有幾個用戶在該網站上注冊,管理員查看新注冊的用戶,并對新注冊的用戶進行認可,或者是刪除注冊信息。經過管理員認可的注冊用戶即可成為正式的會員。</p><p><b> b 修改會員</b></p><p> 管理員可以查看會員及會員發(fā)布的商品信息,也可以修改會員的信息,比如修改會員的聯(lián)系方式或者是用戶的權限。</p><p> 需要
32、說明的是會員可以修改自己的信息,但與管理員不同的是會員不能修改自己的權限。</p><p><b> c 刪除會員</b></p><p> 管理員有權利刪除用戶和用戶發(fā)布的商品信息,在刪除用戶的時候系統(tǒng)彈出確認框,在確認后則刪除對應的用戶和用戶所上傳的商品信息。</p><p><b> d 查看會員</b><
33、;/p><p> 管理員可以查看用戶發(fā)布的商品的信息,并可以在彈出的用戶發(fā)布的信息中刪除用戶上傳的商品信息。</p><p> 3.1.5 商品信息管理</p><p> 此部分功能只有會員有權限,商品信息管理包括以下內容:</p><p><b> a 新增商品信息</b></p><p>
34、; 會員登陸后可以新增商品信息,提供商品的一些基本屬性,比如商品的名稱,價格,數量,圖片等。</p><p><b> b 修改商品信息</b></p><p> 會員登陸后可以修改商品的信息,如商品的名稱,價格,數量,圖片等。</p><p><b> c 刪除商品信息</b></p><p&
35、gt; 若是會員的某件商品已經賣出,用戶可以將商品信息列表中對應的商品信息刪除,在刪除的時候系統(tǒng)彈出確認框,在確認后刪除對應的商品信息。</p><p> 3.2 可行性分析</p><p> 如果沒有資源和時間上的限制,任何項目都將是可行的,但是在現有資源條件下,要在規(guī)定時間內完成項目開發(fā),則必須細致而謹慎的評估項目的可行性。在設計校園二手物品拍賣系統(tǒng)之前,做了大量的信息調查,并
36、且完成了項目中各個功能模塊的需求分析,模塊之間的關系,嚴謹的數據庫設計及關系的明確。在完成項目過程中,及時的對各個模塊進行測試,保證了系統(tǒng)的正常運行。軟件開發(fā)時,良好的需求分析,系統(tǒng)設計,系統(tǒng)的實現,及時的軟件運行、測試、維護是完成一個合格系統(tǒng)必須做到的,在校園二手物品拍賣系統(tǒng)中,我時刻注意到了這些,這使我的項目能夠順利完成的保證。</p><p> 3.3 系統(tǒng)開發(fā)目標</p><p&g
37、t; 系統(tǒng)將基本涵蓋校園二手物品管理的主要需求,包括前臺頁面和后臺管理,具有完善細致的功能、嚴謹的系統(tǒng)框架結構、最新技術完美的使用、信息的動態(tài)驗證及正則表達式的匹配、強大的數據處理功能和較完備的安全機制。系統(tǒng)開發(fā)的目標是方便移動會員的操作,提供更為友好的、主題突出的前臺用戶界面,以及實用、易用的后臺管理功能。</p><p><b> 4 概要設計</b></p><
38、;p> 在需求分析階段已經較好地解決了要讓系統(tǒng)“做什么”的問題,下一步要設計實現系統(tǒng)的需求,即要著手解決“怎么做”的問題。概要設計階段的主要目的就是將需求分析階段所提出的系統(tǒng)邏輯方案轉換成可以實施的基于計算機與通信系統(tǒng)的物理方案。這一階段的主要任務是從系統(tǒng)的總體目標出發(fā),根據需求分析階段對系統(tǒng)邏輯功能的要求,并考慮到經濟、技術和運行環(huán)境等方面的條件,確定系統(tǒng)的總體結構和系統(tǒng)各組成部分的技術方案,合理選擇計算機和通信的軟、硬件設備
39、,提出系統(tǒng)的實施計劃,確??傮w目標的實現。</p><p> 4.1 模塊結構設計</p><p> 系統(tǒng)采用的是B/S(客戶端/服務器)結構模式開發(fā)的,對整個系統(tǒng)的管理、資源分配、數據庫操作、業(yè)務邏輯部件的管理及動態(tài)加載等工作都集中于應用服務器。這樣一來,僅僅通過提高應用服務器及數據庫服務器的性能,就可以提高整個系統(tǒng)的運行效率,該模式同時具有開發(fā)時間短,成本較低,而且數據的傳輸快,
40、數據操作安全性能高等優(yōu)點。在系統(tǒng)中,整體框架采用流行的SSH,服務器端使用的是SQL Server 2005數據庫系統(tǒng)。根據系統(tǒng)需求分析的要求,設計實現系統(tǒng)功能的各個主要模塊框架如圖4.1所示。另外,后臺管理的用例模型圖如圖4.2所示。</p><p> 圖4.1 功能模塊結構圖</p><p> 圖4.2 后臺管理用例模型圖</p><p> 4.2
41、 模塊功能設計</p><p> 4.2.1會員登錄系統(tǒng)操作</p><p> 用例名稱:會員登錄</p><p> 功能簡述:會員進行的任何操作,都必須首先完成登錄操作才可進入系統(tǒng)。此用例用于處理會員的登錄。</p><p> 后置條件:是否登錄成功,登錄成功獲得會員的角色。</p><p> 前置條件
42、:會員存在。</p><p> 基本流:會員在界面中輸入會員登陸名(2到10位中英文字符)和密碼,并提交。</p><p> 判斷會員輸入的會員ID和密碼是否匹配,并且確定會員的角色(管理員還是一般會員);會員的密碼采用MD5方式進行加密處理。</p><p> 備注: 會員、管理員都具有此權限。</p><p> 4.2.2
43、新增會員操作</p><p><b> 用例名稱:新增會員</b></p><p> 功能簡述:管理員查看注冊會員信息:登錄名、姓名、密碼、角色(一般會員還是管理員)。根據信息添加新的會員。</p><p> 后置條件:新增會員是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具有管理員身份。&l
44、t;/p><p> 基本流:會員在注冊頁面輸入自己的基本信息:登錄名(2到10位中英文字符)、密碼、角色;</p><p> 動態(tài)驗證,并利用正則表達式匹配;</p><p> 提交保存到數據庫中;</p><p><b> 返回操作的結果。</b></p><p> 備注: 只有系統(tǒng)管
45、理員有權限完成此功能。</p><p> 4.2.3 修改會員操作</p><p><b> 用例名稱:修改會員</b></p><p> 功能簡述:此功能主要是對會員的資料進行修改。</p><p> 后置條件:修改會員是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具
46、有管理員身份。</p><p> 基本流:在表單中已經具有用戶的基本信息,用戶可對某些資料進行修改,或者進行全部的修改;</p><p> 動態(tài)驗證,并利用正則表達式匹配;</p><p> 將數據保存到數據庫中;</p><p><b> 返回操作的結果。</b></p><p>
47、備注只有系統(tǒng)管理員有權限完成此功能。</p><p> 4.2.4 刪除會員操作</p><p><b> 用例名稱:刪除會員</b></p><p> 功能簡述:此功能主要是對會員的刪除的操作。</p><p> 后置條件:刪除會員是否成功的信息提示。</p><p> 前置條件:登
48、錄成功,并且具有管理員身份。</p><p> 基本流:列出系統(tǒng)中所有的用戶,在對應的用戶名前面都有一個復選框,管理員選中復選框,點擊刪除按鈕,系統(tǒng)彈出確認框,點擊確認則刪除對應的用戶,和用戶所上傳的信息;</p><p> 備注: 只有系統(tǒng)管理員有權限完成此功能。</p><p> 4.2.5查看會員上傳商品信息操作</p><p&g
49、t; 用例名稱:查看會員信息</p><p> 功能簡述:此功能是查看會員上傳商品信息。</p><p><b> 后置條件:無</b></p><p> 前置條件:登錄成功,并且具有管理員身份。</p><p> 基本流:管理員可以查看任意會員上傳商品的信息,并有權刪除商品信息。</p>&l
50、t;p> 備注: 只有系統(tǒng)管理員有權限完成此功能。</p><p> 4.2.6添加商品信息操作</p><p> 用例名稱:添加商品信息</p><p> 功能簡述:此功能是添加商品的信息。</p><p> 后置條件:添加信息成功,并有成功添加的提示。</p><p> 前置條件:登錄成功,且具
51、有會員身份。</p><p> 基本流: 在表單中輸入相應的商品信息;輸入商品名(2到50位任意字符),價格(數字),數量(數字),選擇商品類別,和新舊程度;</p><p> 保存商品信息,返回操作的結果。</p><p> 備注: 只有會員具有此權限。</p><p> 4.2.7修改商品信息操作</p><
52、;p> 用例名稱:修改商品信息</p><p> 功能簡述:此功能主要是對商品的資料進行修改。</p><p> 后置條件:修改商品信息是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具有會員身份。</p><p> 基本流: 在表單中已經具有商品的原有的基本信息,用戶可對某些信息進行修改,或者進行全
53、部的修改;動態(tài)驗證用戶輸入的字符是否合理;</p><p> 將數據保存到數據庫中;</p><p><b> 返回操作的結果。</b></p><p> 備注: 只有會員有權限完成此功能。</p><p> 4.2.8 刪除商品信息操作</p><p> 用例名稱:刪除商品信息&l
54、t;/p><p> 功能簡述:此功能主要是對商品信息的刪除的操作。</p><p> 后置條件:刪除會員是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具有會員身份。</p><p> 基本流:列出該會員上傳的所有商品信息,在對應的商品信息前面都有一個復選框,會員選中復選框,點擊刪除按鈕,系統(tǒng)彈出確認框,點擊確認則
55、刪除對應的商品信息;</p><p> 備注: 只有會員有權限完成此功能。</p><p> 4.2.9 修改會員個人信息操作</p><p> 用例名稱:修改個人信息</p><p> 功能簡述:此功能主要是對會員的資料進行修改。</p><p> 后置條件:修改會員是否成功的信息提示。</p
56、><p> 前置條件:登錄成功,并且具有會員身份。</p><p> 基本流: 此處和4.2.3修改會員操作差不多,唯一不同的是管理員有權修改用戶的權限。動態(tài)驗證,并利用正則表達式匹配;</p><p> 將數據保存到數據庫中;</p><p><b> 返回操作的結果。</b></p><
57、p> 備注: 只有系統(tǒng)管理員有權限完成此功能。</p><p> 4.3 數據庫設計</p><p> 對大多數應用系統(tǒng)而言,很大程度上都是圍繞對數據庫的操作展開的,數據庫本身才是應用系統(tǒng)的核心部分,程序界面只是提供用戶對數據庫中的數據的組織與管理的接口。任何數據庫結構的變更都很可能導致界面程序的改動,因此,良好的數據庫結構設計在項目開發(fā)時至關重要。</p>
58、<p> 4.3.1 數據結構分析</p><p> 根據系統(tǒng)功能設計的要求以及功能模塊的劃分,數據庫需要存儲的信息如下:</p><p> 會員信息:會員ID、會員登陸名、會員密碼、聯(lián)系方式、是否為管理員、是否為用戶。</p><p> 商品信息:商品ID、商品名稱、商品描述、商品新舊程度、聯(lián)系人、商品點擊數、商品數量、商品類別、商品圖片、
59、商品價格、商品發(fā)布時間。</p><p> 商品類別信息:類別名稱,類別ID </p><p> 會員信息表中會員ID為主鍵,商品信息表中商品ID為主鍵,聯(lián)系人為外鍵,對應會員信息表中的會員ID,商品類別為外鍵,對應商品類別中的類別ID。商品類別信息表中類別ID為主鍵。數據庫E-R圖如下:</p><p> 圖4.3 系統(tǒng)數據E-R圖</p>&
60、lt;p> 4.3.2 數據庫物理設計</p><p> 根據功能要求在SQL Server中建立各數據表,數據表清單如表4.1。</p><p> 表4.1 數據庫mobile的數據表清單</p><p> 數據庫中表詳細信息以及結構如以下:</p><p> 表4.3 商品信息表(Goods)</p>&
61、lt;p> 表4.2 會員信息表(User)</p><p> 表4.4 商品類別表(sorts)</p><p><b> 5 系統(tǒng)詳細設計</b></p><p> 5.1 系統(tǒng)操作流程</p><p> 前臺頁面統(tǒng)一使用style.css樣式單實現頁面風格的統(tǒng)一,并使用使用time.html
62、來顯示當前的時間信息。</p><p> 5.1.1 會員登錄模塊</p><p> 圖5.2.1 登錄系統(tǒng)界面</p><p> 在上圖所示的登錄表單中輸入用戶名和密碼,單擊“登陸”按鈕登錄,如果會員輸入的用戶名不存在或是不正確,則會刷新頁面。</p><p> 5.1.2 添加人員模塊</p><p>
63、 5.1.3 刪除人員模塊</p><p> 管理員在主頁面,然后點擊刪除按鈕,在確認刪除后刪除該用戶。</p><p> 5.2.5 刪除用戶界面</p><p> 文本框里的數據是原有的數據,可以進行修改,修改時用戶名為2到10位中英文字符,聯(lián)系方式為7到11位數字字符。用戶輸入完用戶名,當焦點離開用戶名對應的文本框時,系統(tǒng)無刷新提交用戶名,在數據庫中
64、查詢此用戶名是否已經存在,若存在,提示用戶換一個用戶名;若不存在則告知用戶此用戶名可用。修改完成點擊按鈕即可完成修改。</p><p> 前面提到無刷新提交用戶名的其實就是近幾年比較流行的AJAX技術的一種簡單應用。AJAX的概念是由Adaptive Path公司的Jesse James Garrett于2005年2月在他的一篇“Ajax:A New Approach to Web Applications”中
65、提出的,在文章中把綜合運用JavaScript、XHTML、CSS、DOM、XMLHttprequest、XML和XSLT等技術來改善B/S結構客戶端用戶體驗效果的方法稱為AJAX(Asynchronous JavaScript And Xml)。AJAX如果被翻譯成中文應成為“異步的JavaScript和XML”。 在頁面中是由AJAX技術主要是加快會員的操作。</p><p> 在系統(tǒng)中,Prototype
66、.js是提供最基本的一個AJAX工具類,下面介紹一些AJAX的實現代碼:</p><p> <script type="text/javascript" src="prototype.js"></script>//添加Prototype.js到頁面</p><p> <script language="Ja
67、vascript"> </p><p> function createXHR() {</p><p><b> var xhr;</b></p><p><b> try {</b></p><p> xhr = new ActiveXObject("Msxm
68、l2.XMLHTTP");//得到瀏覽器中可以發(fā)送的http請求對象,本例只對IE5.0有效</p><p> } catch (e) {</p><p><b> try {</b></p><p> xhr = new ActiveXObject("Microsoft.XMLHTTP");//得到瀏覽器中
69、可以發(fā)送http請求的對象,只對IE5.5+有效</p><p> } catch (E) {</p><p> xhr = false;</p><p><b> }</b></p><p><b> }</b></p><p> if (!xhr &&a
70、mp; typeof XMLHttpRequest != 'undefined') {</p><p> xhr = new XMLHttpRequest();</p><p><b> }</b></p><p> return xhr;</p><p><b> } </b
71、></p><p><b> var req;</b></p><p> function checkUser(){</p><p> var checkResult = $('checkResult');</p><p> checkResult.innerHTML = "正在檢
72、測用戶ID...";</p><p> var userID = $F('userID');//得到跨瀏覽器的XMLHttpRequest對象</p><p> req = createXHR();</p><p> req.open("get", "ajax.do?checkUserID="+
73、userID);//創(chuàng)建一個異步請求將userID當做參數傳到AjaxAction中做處理</p><p> req.onreadystatechange = handleRequest;</p><p> req.send(null);</p><p><b> }</b></p><p> function
74、handleRequest(){ //當XMLHttpRequest對象從服務器獲得正確的應答后,將調用改操作</p><p> var checkResult = $("checkResult");</p><p> if (req.readyState == 4) {</p><p> if (req.status == 200) {
75、//請求成功</p><p> checkResult.innerHTML = req.responseText;</p><p> }else {//網絡連接失敗</p><p> alert("An error occurred: "+ req.statusText);</p><p><b> }&
76、lt;/b></p><p><b> }</b></p><p><b> }</b></p><p><b> </script></b></p><p> 在頁面的表單中的代碼:</p><p> 用戶名:<inp
77、ut type="text" name="userID" id="userID" onblur="checkUser();"/></p><p> <label id="checkResult"></label></p><p> 這樣就可以通過將userI
78、D填寫完成后,由AjaxAction類來完成判斷ID是否存在,大大的節(jié)省了時間和操作。</p><p> 5.1.5 添加商品模塊</p><p> 點擊會員界面下方的添加商品按鈕,進入添加商品界面:</p><p> 5.2.7 添加商品界面</p><p> 在此界面上填入商品名稱(2到50位任意字符),商品價格(數字),商品數
79、量(數字)等信息,上傳圖片然后提交信息。其中商品名稱,商品價格,商品數量是必須填的,商品價格若是填0則說明是價格面議。</p><p> 本系統(tǒng)中在此模塊中使用到了文件上傳技術,上傳圖片至Web應用的根目錄下。在addGoods.jsp中添加如下代碼:</p><p> <html:form action="/uploadResource" enctype=&
80、quot;multipart/form-data"></p><p><b> <table></b></p><p> <tr><td colspan="2"><font color="red" ></p><p> <h
81、tml:errors property="messerror2"/></font></td></tr></p><p> <tr><td height="50">從指定文件導入:</td></p><p> <td><input type="
82、file" name="resource" size="30" value="瀏 覽"></p><p> <html:submit value="提交保存"/></p><p> <html:reset value="重新選擇"/></td
83、></tr></p><p><b> </table></b></p><p> </html:form></p><p> 注意在該代碼中使用了Struts標記庫中的相關標記,這是實現文件上傳的關鍵,同時在表單本身的form標記中也增加了一個新的屬性enctype="multipar
84、t/form-data"以確保文件上傳成功。<input type="file" name="resource" size="30" value="瀏 覽">則可以實現文件瀏覽選擇,實現的效果如下所示:</p><p> 圖5.1.6 文件瀏覽選擇頁面效果</p><p> 同時修改S
85、truts配置文件,在struts-config.xml中添加代碼:</p><p> <form-bean name="uploadResourceForm" type="org.apache.struts.validator.DynaValidatorForm"></p><p> <form-property name=&
86、quot;resource" type="org.apache.struts.upload.FormFile" /></p><p> </form-bean></p><p> 這里的file的屬性設置的類型是“org.apache.struts.upload.FormFile”。同時在UploadResourceAction完成文件的
87、上傳:</p><p> FormFile theFile = (FormFile) uploadResourceForm.get("resource");</p><p> Date date = new Date();</p><p> String s = DateFormat.getDateTimeInstance().format
88、(date).replaceAll(" ", "_");</p><p> String fileName = s.replaceAll(":", "-");</p><p> String filePath = request.getRealPath("/");//獲取當前系統(tǒng)路徑&l
89、t;/p><p> ActionMessages message = new ActionMessages();</p><p> if(!theFile.getFileName().equals("")){</p><p><b> try {</b></p><p> InputStream
90、stream = theFile.getInputStream();//把資源文件讀出</p><p> OutputStream bos = new FileOutputStream(filePath + fileName+theFile.getFileName());//建立一個上傳文件的輸出流以原名和當前時間</p><p> int bytesRead = 0;</p&
91、gt;<p> byte[] buffer = new byte[8192];</p><p> while((bytesRead = stream.read(buffer, 0, 8192))!=-1){</p><p> bos.write(buffer, 0, bytesRead);//將文件寫入到當前服務器中</p><p><b&
92、gt; }</b></p><p> bos.close();</p><p> stream.close();//關閉流操作</p><p> } catch (Exception e) {</p><p> System.out.println("上傳文件是存在問題");</p>
93、<p><b> }</b></p><p><b> }</b></p><p> 在該類中主要借助相關的輸入/輸出流最終實現了文件上傳,上傳成功后,可以在Web應用的根目錄下,觀察到成功上傳的文件。</p><p> 5.1.6 修改商品模塊</p><p> 點擊商品
94、名對應的修改按鈕,即可進入修改商品界面:</p><p> 5.2.8 修改商品界面</p><p> 5.1.7 刪除商品模塊</p><p> 會員在主頁面,選中商品名前面的復選框,然后點擊刪除按鈕,在確認刪除后刪除該用戶。</p><p> 5.2.9 刪除商品界面</p><p> 5.1.8 會
95、員修改個人信息模塊</p><p> 當會員想改個人信息的時候,可點擊表格下的[修改個人信息]的超鏈,進入修改個人信息的頁面:</p><p> 5.2.10 修改個人信息界面</p><p> 需要說的是修改用戶的身份只有管理員有這個權限,會員自己沒有這個權限。用戶修改完成點擊按鈕,修改即可完成。</p><p> 5.1.9 會
96、員注冊模塊</p><p> 點擊主頁上的[注冊]超鏈,即可進入注冊頁面:</p><p> 5.2.11 會員注冊界面</p><p> 填入必要的信息,點擊注冊按鈕,等待管理員的同意,待管理員同意即可成為系統(tǒng)的會員。在等待管理員的同意的時間里,用剛剛注冊的用戶名登陸會出現下面界面:</p><p> 在涉及到用戶密碼的問題時,用到
97、了MD5加密技術。比如此板塊中注冊的時候,輸入會員的密碼,然后通過MD5加密技術,將密碼轉換成為32位的字母和數字組成的號碼,這樣一來,即使是數據庫管理員也無法直接得到任何會員的密碼信息,可以提供系統(tǒng)的安全性。MD5的代碼如下:</p><p> import java.security.*;</p><p> import java.util.*;</p><p&
98、gt; public class Md5{</p><p> public static String md5(String s){</p><p> String md5String = "";</p><p><b> try {</b></p><p> MessageDigest d
99、igest = MessageDigest.getInstance("MD5");</p><p> byte[] byteString = s.getBytes();</p><p> digest.update(byteString);</p><p> byte[] md5 = digest.digest();</p>
100、<p> StringBuffer buffer = new StringBuffer();</p><p> for(int i : md5){</p><p> if(i < 0){</p><p> i = i + 256;</p><p><b> }</b></p&
101、gt;<p> if(i < 16 ){</p><p> buffer.append("0");</p><p><b> }</b></p><p> buffer.append(Integer.toHexString(i));</p><p><b> }
102、</b></p><p> md5String = buffer.toString();</p><p> } catch (NoSuchAlgorithmException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p>
103、<p> return md5String;</p><p><b> }</b></p><p><b> }</b></p><p> 由于會員的密碼都使用了MD5加密技術進行加密,所有在會員登錄系統(tǒng)時輸入的密碼就需要使用MD5也進行一次加密,在判斷與數據庫中的密碼是否一致。</p>
104、<p> String password = indexForm.getString("password"); //獲取頁面中的密碼</p><p> String newPassword = MD5.md5(password); //對密碼進行MD5加密</p><p> newPassword.equalsIgnoreCase(topera
105、tor.getOperatorPwd()) ; //比較密碼是否相同</p><p> 5.1.10 退出系統(tǒng)模塊</p><p> 單擊“退出”按鈕,系統(tǒng)將退回到登錄界面,同時將所有的session注銷,通過request.getSession().invalidate();</p><p> 來清除保存在session中的信息,提供系統(tǒng)的安全性。&l
106、t;/p><p> 最后要提到的是:在完成一個系統(tǒng)時,字符集問題很重要,在本系統(tǒng)中,使用了過濾器來將字符集過濾成為UTF-8格式的字符集。在系統(tǒng)環(huán)境中新建一個CharFilter類,讓它實現javax.servlet.Filter,然后完成代碼編寫:</p><p> public class CharFilter implements Filter {</p><p&
107、gt; public void destroy() {</p><p><b> }</b></p><p> public void doFilter(ServletRequest arg0, ServletResponse arg1,</p><p> FilterChain arg2) throws IOException, Se
108、rvletException {</p><p> // 將字符集設為UTF-8格式</p><p> arg0.setCharacterEncoding("UTF-8");</p><p> arg2.doFilter(arg0, arg1);</p><p><b> }</b></
109、p><p> public void init(FilterConfig arg0) throws ServletException {</p><p><b> }</b></p><p><b> }</b></p><p> 在完成代碼后,還要在系統(tǒng)WEB-INF/web.xml中添加代碼
110、:</p><p><b> <filter></b></p><p> <filter-name>charFilter</filter-name></p><p> <filter-class>filter.CharFilter</filter-class></p>
111、<p><b> </filter></b></p><p> <filter-mapping></p><p> <filter-name>charFilter</filter-name></p><p> <url-pattern>/*</url-pat
112、tern></p><p> </filter-mapping></p><p> 這樣就可以在編寫程序時不再需要考慮字符集不統(tǒng)一的問題,而將所有的字符集都通過過濾器轉換成UTF-8格式。</p><p> 5.2 系統(tǒng)實現中的不足</p><p> 由于時間的限制以及個人能力等原因,本課題還存在很多缺陷,比如一些
113、信息驗證做的不夠,構造有點簡單,后臺管理操作和功能不夠人性化,在查看操作結果顯示中沒有設計分頁操作,前臺界面設計也略有欠缺。</p><p><b> 結 論</b></p><p> 本次畢業(yè)設計的任務是設計校園二手物品銷售系統(tǒng),系統(tǒng)以基于Java語言的JSP進行前端開發(fā),以 MySQL作為后臺數據庫開發(fā)工具,Tomcat作為Web服務器,利用JDBC完成數據
114、源的連接與打開,采用B/S結構,使用SSH框架,Ajax的異步通信。系統(tǒng)的開發(fā)基本上完成了設計任務的要求,能夠實現前臺頁面顯示和添加會員、刪除會員、查看會員、添加商品、刪除商品、修改商品等功能,系統(tǒng)具有一定的安全性與信息共享性。系統(tǒng)完善了公司的管理,提高了工作效率。由于時間倉促和個人經驗的不足,設計中不可避免的存在一些不完善的地方,有待在今后的工作中加以彌補。</p><p><b> 致 謝<
115、;/b></p><p> 在本文完成之際,謹向所有給予我指導、關心、支持和幫助的老師、同學致以衷心的感謝。</p><p> 首先,要深深感謝的是我畢業(yè)設計的zz老師。他在我的畢業(yè)設計期間,無論是在日常的學習,還是在生活上都給予了嚴格的要求和親切的關懷與指導,并時刻督促我,以高標準來要求我。因此,本次畢業(yè)設計的完成與zz老師的高度責任心是分不開的,在此謹向zz老師表示最衷心的感
116、謝和最誠摯的敬意。</p><p> 畢業(yè)設計過程中,我遇到過很多問題,在我最需要幫助的時候同學們也給了我很多支持和幫助,大家共同探討問題,一起試驗、測試、解決問題,本著獨立思考和組隊研討結合、學習更多知識、掌握更多技能的想法,大家在畢業(yè)設計過程中充分發(fā)揮了團隊精神,解決了一個又一個的技術難題。</p><p> 最后,畢業(yè)設計的順利完成凝聚了學院各級領導的期望和辛苦,感謝各位領導對我
117、們的支持和幫助。</p><p><b> 參考文獻</b></p><p> 1. 夏昕、曹曉鋼、唐勇. 深入淺出Hibernate. 北京:電子工業(yè)出版社.2004</p><p> 2. 孫衛(wèi)琴. 精通Hibernate. 北京:電子工業(yè)出版社.2005 </p><p> 3. Hans Bergst
118、an. JSP設計. 北京:清華大學出版社.2002</p><p> 4. 羅時飛. 精通Spring . 北京:電子工業(yè)出版社.2005</p><p> 5. 李剛. 輕量級J2EE企業(yè)應用實戰(zhàn). 北京:電子工業(yè)出版社.2004</p><p> 6. Ted Husted、Cedric Dumoulin、George Franciscus、David
119、Winterfeld . Struts in Action. Manning Publication.2004</p><p> 7. 孫衛(wèi)琴. 基于MVC的JavaWeb設計與開發(fā). 北京:電子工業(yè)出版社.2005</p><p> 8. 陳剛. Eclipse從入門到精通. 北京:清華大學出版社.2005</p><p> 9. Joshua Bloc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于php二手交易系統(tǒng)
- 校園二手交易系統(tǒng)詳細設計
- 畢業(yè)論文——基于bs結構的二手交易系統(tǒng)的設計與實現
- 本科畢業(yè)論文web校園二手交易系統(tǒng)的設計與實現
- 二手交易系統(tǒng)的設計與實現.pdf
- 在線二手交易系統(tǒng)的設計與實現
- 校園二手交易系統(tǒng)的設計與實現——商品評價功能【畢業(yè)論文】
- 校園二手交易系統(tǒng)的設計與實現——商品評價功能【畢業(yè)論文】
- 在線二手交易系統(tǒng)的設計與實現
- 校園二手交易市場系統(tǒng)詳細設計畢業(yè)論文
- 畢業(yè)論文大學生二手交易網站
- 大學生二手交易網站畢業(yè)論文
- 大學生二手交易網站畢業(yè)論文
- 畢業(yè)設計---web校園二手交易系統(tǒng)的設計與實現
- 大學生二手交易系統(tǒng)的設計與實現
- 校園二手交易系統(tǒng)數據庫課程設計
- 校園二手交易系統(tǒng)數據庫課程設計
- 基于Android的校園二手交易系統(tǒng)設計與實現.pdf
- 校園二手交易網站畢業(yè)設計論文
- 基于bs結構的二手交易系統(tǒng)的設計與實現
評論
0/150
提交評論