版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 農(nóng)業(yè)管理系統(tǒng)</b></p><p> 內(nèi)容摘要:隨著Internet的日益普及和電腦技術(shù)的不斷發(fā)展,網(wǎng)上開辦網(wǎng)站來介紹一些專業(yè)知識,順便出售一些相關(guān)成品已經(jīng)迅速成為一種非常活躍的商務(wù)模式。本系統(tǒng)開發(fā)中涉及了ASP.NET技術(shù)以及分析了基于ASP.NET建立網(wǎng)上農(nóng)業(yè)網(wǎng)站的技術(shù)手段,深入探討了如何利用ADO技術(shù)實現(xiàn)與SqlServer2005數(shù)據(jù)庫連接的方法。&
2、lt;/p><p> 本系統(tǒng)采用MVC的構(gòu)架開發(fā),系統(tǒng)的視圖層與控制層主要通過ASP.NET的控件實現(xiàn);DAO用于持久層的實現(xiàn),包括數(shù)據(jù)庫訪問層和對象模型的設(shè)計。</p><p> 系統(tǒng)中一些模塊使用了雙重密碼校驗和驗證碼技術(shù),進一步提升了系統(tǒng)的完全系數(shù)。使它能即使在復(fù)雜的網(wǎng)絡(luò)環(huán)境也能正常運行。</p><p> 關(guān)鍵詞:ASP.NET MVC DAO<
3、/p><p> Agricultural management system</p><p> Abstract: With the continuous development of computer technology and the increasing popularity of the Internet, the Internet to set up a website to
4、introduce some professional knowledge, by the way the sale of some related products has quickly become a very active business model. This paper introduces ASP.NET technology and analysis technology building online agricu
5、lture website based on ASP.NET, discusses how to use ADO technology to realize with SqlServer2005 database connection method.</p><p> This system adopts the framework of MVC development, the view layer and
6、control layer mainly by the ASP.NET control; DAO is used to realize the persistence layer, including the design of database access layer and object model.</p><p> Double password checking and verification c
7、ode technology some module using the system, and further improve the complete coefficient system. So that it can run even in complex network environment.</p><p> Keywords: ASP.NET MVC DAO</p><p
8、><b> 目 錄</b></p><p><b> 前言1</b></p><p> 1 可行性分析1</p><p> 1.1技術(shù)可行性分析2</p><p> 1.1.2 C/S與B/S模式3</p><p> 1.2 經(jīng)濟可行性
9、分析5</p><p> 1.3 系統(tǒng)擬采用的軟、硬件環(huán)境5</p><p><b> 2 需求分析6</b></p><p> 2.1確定系統(tǒng)執(zhí)行者6</p><p><b> 2.2確定用例6</b></p><p> 2.3網(wǎng)上農(nóng)業(yè)網(wǎng)站用例描述6
10、</p><p> 3 系統(tǒng)概要設(shè)計8</p><p> 3.1 系統(tǒng)功能構(gòu)成8</p><p> 3.2 用戶登錄系統(tǒng)流程圖8</p><p> 3.3程序流程圖9</p><p> 4 詳細(xì)設(shè)計11</p><p> 4.1系統(tǒng)首頁11</p>&l
11、t;p> 4.2登錄界面設(shè)計13</p><p> 4.3 用戶注冊界面設(shè)計14</p><p> 4.4新聞界面設(shè)計16</p><p> 4.5 添加農(nóng)產(chǎn)品界面設(shè)計17</p><p> 4.6 產(chǎn)品購買評價20</p><p><b> 5 系統(tǒng)測試21</b>
12、</p><p> 5.1單元測試21</p><p> 5.1.1確定環(huán)形復(fù)雜性度量V(G)21</p><p> 5.1.2確定基本路徑集合21</p><p> 5.1.3測試用例設(shè)計21</p><p> 5.2功能測試22</p><p> 5.3集成測試22&
13、lt;/p><p><b> 6 總結(jié)23</b></p><p><b> 參考文獻24</b></p><p><b> 農(nóng)業(yè)管理系統(tǒng)</b></p><p><b> 前言</b></p><p> 據(jù)有關(guān)資料,截止
14、2009年9月,中國農(nóng)業(yè)信息網(wǎng)站約三萬多個,在量上超過了法國、加拿大等發(fā)達國家,名列世界前l(fā)0名;日均頁面瀏覽量已達120多萬次,內(nèi)容及形式較以前也有很大提高。而在1998年,我國農(nóng)業(yè)網(wǎng)站數(shù)量不足200個。</p><p> 從總體上看,農(nóng)業(yè)網(wǎng)站正在蓬勃發(fā)展,但是農(nóng)業(yè)網(wǎng)站建設(shè)仍匱乏,與增速迅猛的農(nóng)村網(wǎng)民隊伍不成正比。據(jù)統(tǒng)計,截至2009年12月,中國網(wǎng)站總數(shù)達323萬多個,其中農(nóng)村、農(nóng)業(yè)類網(wǎng)站只有3萬余個,占全
15、國網(wǎng)站總數(shù)不足1%。與此相對比,農(nóng)村網(wǎng)民隊伍卻增速迅猛。中國互聯(lián)網(wǎng)信息中心(CNNIC)首次農(nóng)村互聯(lián)網(wǎng)調(diào)查報告顯示,至2009年12月,農(nóng)村網(wǎng)民規(guī)模達到1.0681億,占中國3.84億整體網(wǎng)民的27.8%1。也就是說,接近網(wǎng)民總數(shù)近1/3的農(nóng)村網(wǎng)民,只擁有不足1%的農(nóng)村農(nóng)業(yè)類網(wǎng)站。</p><p> 海南省萬寧市山地廣闊,土地肥沃,是中國不可多得的熱帶作物宜種區(qū),高效農(nóng)業(yè)開發(fā)區(qū)。最近幾年,熱帶作物如橡膠、胡椒、
16、菠蘿、椰子、檳榔、咖啡、可可等都得到了很快的發(fā)展。近幾年來,成片綜合開發(fā)種植的胡椒、菠蘿、檳榔、咖啡、芒果、龍眼、荔枝、香蕉等熱帶作物65萬畝陸續(xù)進入收獲期;現(xiàn)尚有50多萬畝荒山有待開發(fā)。在擁有如此有利的條件下,設(shè)計并實現(xiàn)一個農(nóng)村農(nóng)業(yè)網(wǎng)站,是一個具有現(xiàn)實意義的課題。</p><p><b> 1 可行性分析</b></p><p> 在系統(tǒng)的開發(fā)前期對系統(tǒng)進行可
17、行性分析是十分必要的一個環(huán)節(jié),這對于保證資源的合理使用,避免浪費是十分必要的,也是項目一旦開始以后能順利進行的必要保證。信息系統(tǒng)的建設(shè)是一項投資大,時間長的復(fù)雜工程,可行性研究更為必要,也更復(fù)雜,更困難?!翱尚行浴笔侵冈诋?dāng)前情況下,企業(yè)研制這個信息系統(tǒng)是否有必要,是否具備必要的條件??尚行缘暮x不僅包括可能性,還包括必要性,合理性。</p><p> 開發(fā)任何一個急于計算機的系統(tǒng)都會受到時間和資源的限制,因此開
18、發(fā)方在接受客戶的項目之前,必須按照客戶可能提供的具體條件進行可行性研究。其主要任務(wù)不是研究如何解決問題,而是要用最小的代價在最短的時間內(nèi)確定該項目時候值得去解決,是否存在可行的解決方案。對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟、社會的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功。通過長時間的觀察與實踐,我認(rèn)為網(wǎng)上農(nóng)業(yè)網(wǎng)站的可行性分析如下:</p><p><b> 技術(shù)可行性分析</b>&l
19、t;/p><p> 技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,硬件、軟件配置能否滿足開發(fā)者的需要,各類技術(shù)人員的數(shù)量,水平,來源等。網(wǎng)上農(nóng)業(yè)網(wǎng)站的工作主要是在消費者和消費者之間架起一座橋梁,使其可以查詢信息和處理信息。這一特點與計算機特點完全相同,通過網(wǎng)絡(luò)Internet技術(shù),發(fā)揮計算機的信息傳輸速度快、準(zhǔn)確度高的優(yōu)勢。計算機硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。</p>
20、;<p> 鑒于本人的專業(yè)技能不高、實戰(zhàn)經(jīng)驗少、知識面不寬和開發(fā)時間短等方面情況的分析,軟件完成在技術(shù)上確實有很大的難度。但是,在“學(xué)?!边@個良好的開發(fā)環(huán)境中,我們可以很快的學(xué)到新的知識、可以得到多方面的幫助,可以產(chǎn)生更多的靈感,所以,從開發(fā)人員方面講在技術(shù)上是有可行性的。</p><p> 1.1.1 Dreamweaver介紹</p><p> Dreamweave
21、r是美國MACROMEDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設(shè)計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。</p><p> Dreamweaver的特色:</p><p> (1)最佳的制作效率</p><p> Dreamweaver可以用最快速
22、的方式將Fireworks,F(xiàn)reeHand,或Photoshop等檔案移至網(wǎng)頁上。 使用檢色吸管工具選擇螢?zāi)簧系念伾稍O(shè)定最接近的網(wǎng)頁安全色。對于選單,快捷鍵與格式控制,都只要一個簡單步驟便可完成。Dreamweaver能與您喜愛的設(shè)計工具,如Playback ,F(xiàn)lash,Shockwave和外掛模組等搭配,不需離開Dreamweaver便可完成,整體運用流程自然順暢。 除此之外,只要單擊便可使Dreamweaver自動開啟Fire
23、work或Photoshop來進行編輯與設(shè)定圖檔的最佳化。</p><p><b> ?。?)網(wǎng)站管理</b></p><p> 使用網(wǎng)站地圖可以快速制作網(wǎng)站雛形,設(shè)計,更新和重組網(wǎng)頁。改變網(wǎng)頁位置或檔案名稱,Dreamweaver會自動更新所有連結(jié)。使用支持文字,HTML碼,HTML屬性標(biāo)簽和一般語法的搜尋及置換功能使得復(fù)雜的網(wǎng)站更新變得迅速又簡單。</p&
24、gt;<p> (3)無可比擬的控制能力</p><p> Dreamweaver是唯一提供Roundtrip HTML、視覺化編輯與原始碼編輯同步的設(shè)計工具。它包含Home Site和BBEdit等主流文字編輯器。幀(frames)和表格的制作速度快的令您無法想象。 進階表格編輯功能使您簡單的選擇單格、行、欄或作未連續(xù)之選取。甚至可以排序或格式化表格群組,Dreamweaver支持精準(zhǔn)定位,利
25、用可輕易轉(zhuǎn)換成表格的圖層以拖拉置放的方式進行版面配置。</p><p><b> ?。?)全方位的呈現(xiàn)</b></p><p> 利用Dreamweaver設(shè)計的網(wǎng)頁,可以全方位的呈現(xiàn)在任何平臺的熱門瀏覽器上。對于cascading style sheets的動態(tài)HTML支持和鼠標(biāo)換圖效果,聲音和動畫的DHTML效果資料庫可在Netscape和Microsoft瀏覽
26、器上執(zhí)行。使用不同瀏覽器檢示功能,Dreamweaver可以告知您在不同瀏覽器上執(zhí)行的成效如何。當(dāng)有新的瀏覽器上市時,只要從Dreamweaver的網(wǎng)站在下載它的描述檔,便可得知詳盡的成效報告。</p><p> 1.1.2 C/S與B/S模式</p><p> MIS系統(tǒng)平臺模式的選擇是系統(tǒng)設(shè)計的主要問題。MIS系統(tǒng)平臺模式大體上分為四種:主機終端模式、文件服務(wù)器模式、客戶機/服務(wù)器
27、模式(Client/Server,簡稱C/S)和Web瀏覽器/服務(wù)器模式 (Browser/Server,簡稱B/S)。</p><p> 主機終端模式由于硬件選擇有限,硬件投資得不到保證,已被逐步淘汰。而文件服務(wù)器模式只適用小規(guī)模的局域網(wǎng),對于用戶多、數(shù)據(jù)量大的情況就會產(chǎn)生網(wǎng)絡(luò)瓶頸,特別是在互聯(lián)網(wǎng)上不能滿足用戶要求。因此,現(xiàn)代企業(yè)MIS系統(tǒng)平臺模式應(yīng)主要考慮C/S模式和B/S模式。</p>&l
28、t;p> 如今流行的數(shù)據(jù)庫模式主要是雙層模式和三層模式,其代表分別是C/S和B/S。C/S型數(shù)據(jù)庫程序由服務(wù)器和客戶機兩個部分組成,因此被稱為雙層(two-tiered)模型。雙層模型在金融、電力、通信等領(lǐng)域被廣泛使用,極大地推動了網(wǎng)絡(luò)數(shù)據(jù)庫的發(fā)展。與文件型數(shù)據(jù)庫(單層模型single-tiered)不同的是,C/S型數(shù)據(jù)庫應(yīng)用程序由兩個部分組成:服務(wù)器和客戶機。服務(wù)器指數(shù)據(jù)庫管理系統(tǒng)(Database Manage Syste
29、m,DBMS),用于描述、管理和維護數(shù)據(jù)庫的程序系統(tǒng),是數(shù)據(jù)庫系統(tǒng)核心組成部分,對數(shù)據(jù)庫進行統(tǒng)一的管理和控制。客戶機則將用戶的需求送交到服務(wù)器,再從服務(wù)器返回數(shù)據(jù)給用戶。C/S型數(shù)據(jù)庫非常適合于網(wǎng)絡(luò)應(yīng)用,可以同時被多個用戶所訪問,并賦予不同的用戶以不同的安全權(quán)限。C/S型數(shù)據(jù)庫支持的數(shù)據(jù)量一般比文件型數(shù)據(jù)庫大得多,還支持分布式的數(shù)據(jù)庫(即同一數(shù)據(jù)庫的數(shù)據(jù)庫用于多臺服務(wù)器上)。同時,C/S型數(shù)據(jù)庫一般都能完善地支持SQL語言(所以也被稱作
30、SQL數(shù)據(jù)庫)。這些特性決定了C/S型數(shù)據(jù)庫適合于高端應(yīng)用。</p><p> 隨著技術(shù)的不斷更新,C/S型的結(jié)構(gòu)也開始逐漸被多層(Multi-Tiered)數(shù)據(jù)庫模型所取代。在這種情況下,出現(xiàn)了三層模型,應(yīng)用程序中的數(shù)據(jù)模塊部分被分離出來,轉(zhuǎn)移到一個單獨的服務(wù)器上,成為獨立的一層。簡言之,三層模型由以下三個層次組成:客戶機-應(yīng)用程序服務(wù)器-數(shù)據(jù)庫服務(wù)器。用戶的請求首先通過客戶機向應(yīng)用程序服務(wù)器發(fā)出,應(yīng)用程序服
31、務(wù)器再向數(shù)據(jù)庫服務(wù)器發(fā)出具體的數(shù)據(jù)訪問命令(一般是SQL),數(shù)據(jù)庫服務(wù)器返回的數(shù)據(jù)被應(yīng)用程序服務(wù)器重新組織之后返回給客戶機。 </p><p> B/S(Brower/Server瀏覽器/服務(wù)器)模型無疑是當(dāng)前最為流行的多層數(shù)據(jù)庫模型之一。用戶通過瀏覽器發(fā)出某個請求,通過應(yīng)用程序服務(wù)器-數(shù)據(jù)庫服務(wù)器之間一系列復(fù)雜的操作之后,返回相應(yīng)的Html頁面給瀏覽器。 其實這就是Internet上的WEB數(shù)據(jù)庫,當(dāng)然它也可
32、以用于局域網(wǎng)。它實際上可以說是一種最常見的多層模型。</p><p> 鑒于B/S模型是當(dāng)前最為流行的多層數(shù)據(jù)庫模型之一,我選擇B/S模式來設(shè)計開發(fā)整個系統(tǒng)。</p><p> 由于考慮到B/S結(jié)構(gòu)易于部署等優(yōu)點與超市在線交易系統(tǒng)的要求相符。所以我選擇了B/S結(jié)構(gòu)。</p><p> 1.1.3 ASP.NET與JSP技術(shù)</p><p&g
33、t; ASP.NET與JSP技術(shù)都是目前網(wǎng)上最流行的在服務(wù)器端運行的腳本技術(shù),jsp能用JavaBeans技術(shù)封裝,達到商業(yè)邏輯的目的,ASP對應(yīng)之的是COM組件,因此兩者都能用于開發(fā)商業(yè)邏輯,PHP則更像于一個純腳本,僅適合于普通的網(wǎng)站開發(fā),而不能用作商業(yè)邏輯而被冠以“Person Home Page”的名稱,這是最貼切不過的了。</p><p> ASP.NET 與 JSP 技術(shù)非常相似。兩者都提供在 H
34、TML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。在 ASP 或 ASP.NET 環(huán)境下, HTML 代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML 頁面只依賴于 Web 服務(wù)器,而 ASP 和 ASP.NET 頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。 ASP 和 ASP.NET 都是面向 Web 服務(wù)器的技術(shù),客戶
35、端瀏覽器不需要任何附加的軟件支持。</p><p> ASP 的編程語言是 VBScript 之類的腳本語言, ASP.NET 使用的是 Java ,這是兩者最明顯的區(qū)別。此外, ASP 與 ASP.NET 還有一個更為本質(zhì)的區(qū)別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。在 ASP 下,VBScript 代碼被 ASP 引擎解釋執(zhí)行;在 ASP.NET 下,代碼被編譯成 Servlet 并由 Ja
36、va 虛擬機執(zhí)行,這種編譯操作僅在對 ASP.NET 頁面的第一次請求時發(fā)生。</p><p> 1.1.4 SqlServer2005</p><p> 目前,市面上的數(shù)據(jù)庫產(chǎn)品多種多樣,從大型企業(yè)的解決方案到中小企業(yè)或個人用戶的小型應(yīng)用系統(tǒng),可以滿足用戶的多樣化需求。這里,我選擇的SqlServer2005數(shù)據(jù)庫是眾多的關(guān)系型數(shù)據(jù)庫產(chǎn)品中的一個,相比較其它系統(tǒng)而言,SqlServe
37、r2005數(shù)據(jù)庫可以稱得上是目前運行速度最快的SQL語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,SqlServer2005數(shù)據(jù)庫是一種完全免費的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個人或商業(yè)用途,而不必支付任何費用。總體來說,SqlServer2005數(shù)據(jù)庫具有以下主要特點: </p><p> ① 同時訪問數(shù)據(jù)庫的用戶數(shù)量不受限制; </p><p> ② 可以保
38、存超過50,000,000條記錄; </p><p> ?、?是目前市場上現(xiàn)有產(chǎn)品中運行速度最快的數(shù)據(jù)庫系統(tǒng); </p><p> ?、?用戶權(quán)限設(shè)置簡單、有效。 </p><p> 如今,包括Siemens和Silicon Graphics這樣的國際知名公司也開始把SqlServer2005作為其數(shù)據(jù)庫管理系統(tǒng),這就更加證明了SqlServer2005數(shù)據(jù)庫的優(yōu)
39、越性能和廣闊的市場發(fā)展前景。</p><p> 1.2 經(jīng)濟可行性分析</p><p> 主要是對項目的經(jīng)濟效益進行評價,本系統(tǒng)開發(fā)經(jīng)費對于學(xué)校在經(jīng)濟上是可以接受的。開發(fā)工具方面,我選擇是Dreamweaver MX平臺,編程語言選擇的是ASP.NET語言。在數(shù)據(jù)庫方面,我考慮經(jīng)濟因素選擇了SqlServer2005?;谏鲜龉ぞ叩膽?yīng)用開發(fā)環(huán)境為整個系統(tǒng)的開發(fā)節(jié)省了大量投資。沒有一般
40、項目開發(fā)的基建投資,沒有工作地點的費用,常用設(shè)備是開發(fā)人員自帶的不用支付。不需要購買新的硬件,安裝系統(tǒng)及軟件也無須任何費用。經(jīng)常性的費用支出包括資料費、上網(wǎng)費等。雖然要使用很多的書籍,但可以去學(xué)校的圖書館租用。</p><p> 1.3 系統(tǒng)擬采用的軟、硬件環(huán)境</p><p><b> ?、庞布h(huán)境</b></p><p> 網(wǎng)絡(luò)框架體系
41、結(jié)構(gòu)模型采用瀏覽器/服務(wù)器模型。</p><p> 根據(jù)現(xiàn)有的條件,擬定該項目終端機采用PC機一臺(終端機和服務(wù)器為同一臺計算機)。</p><p> PC機的基本要求如下:</p><p> CPU:Inter celeron 2.0G Hz </p><p><b> 內(nèi)存:1G </b>
42、</p><p><b> 硬盤:160G</b></p><p><b> ?、栖浖h(huán)境</b></p><p> 本次設(shè)計所用的軟件環(huán)境如下:</p><p> 操作系統(tǒng):Windows 7</p><p><b> 所用軟件:</b><
43、;/p><p> JDK1.5.0_09(Java的編譯環(huán)境,是所有Java開發(fā)工具的運行基礎(chǔ))</p><p> Tomcat5.5(作為web服務(wù)器存在) </p><p> Dreamweaver MX(網(wǎng)頁制作工具,可以高效的開發(fā)HTML代碼)</p><p> SqlServer2005(數(shù)據(jù)庫,簡單易用)
44、</p><p><b> 2 需求分析</b></p><p> 2.1確定系統(tǒng)執(zhí)行者</p><p> 網(wǎng)上農(nóng)業(yè)網(wǎng)站中,用戶要操作該網(wǎng)站進行產(chǎn)品的查詢和新聞內(nèi)容的查看,以及留言等信息??梢源_定,該系統(tǒng)涉及到的人執(zhí)行者有用戶,系統(tǒng)執(zhí)行者為管理員。</p><p><b> 2.2確定用例</b
45、></p><p> “網(wǎng)上農(nóng)業(yè)網(wǎng)站”包含八個用例。</p><p> ① “注冊”用例:對于首次登錄該系統(tǒng)的用戶,要先進行注冊。</p><p> ?、?“登錄”用例:只有登錄的用戶才可以對系統(tǒng)做相應(yīng)的操作。</p><p> ?、?“操作產(chǎn)品”用例:對于登錄后的用戶可以操作產(chǎn)品,發(fā)布新產(chǎn)品。</p><p&g
46、t; ?、?“操作產(chǎn)品種類”用例:對于登錄后的用戶可以操作產(chǎn)品種類,添加產(chǎn)品種類。</p><p> ?、?“查看新聞”用例:可以查看農(nóng)業(yè)新聞信息。</p><p> ⑥ “瀏覽產(chǎn)品”用例:用戶可以通過該用例瀏覽產(chǎn)品。</p><p> ?、?“搜索產(chǎn)品”用例:用戶可以搜索產(chǎn)品。</p><p> ?、?“留言”用例:用戶可以進行瀏覽操作。
47、</p><p> 2.3網(wǎng)上農(nóng)業(yè)網(wǎng)站用例描述</p><p> 用例圖里共有“注冊”、“登錄”、“操作產(chǎn)品”、“操作產(chǎn)品種類”、“查看新聞”、“瀏覽產(chǎn)品”、“搜索產(chǎn)品”、“留言”八個用例,下面對其中的幾個用例進行簡單的描述。</p><p><b> ?、拧安僮鳟a(chǎn)品”用例</b></p><p> 用例編號:01
48、01 (共兩層用例圖結(jié)構(gòu),每層用兩位數(shù)字表示,共兩位編號。)</p><p><b> 用例名:操作產(chǎn)品</b></p><p> 執(zhí)行者:人執(zhí)行者:管理員</p><p> 目的:發(fā)布新產(chǎn)品品,對已經(jīng)發(fā)布的產(chǎn)品品進行管理(修改、刪除)。</p><p> 類型:主要的、基本的</p><p&
49、gt;<b> 級別:一級</b></p><p><b> 過程描述:</b></p><p> 用戶輸入用戶名,密碼及驗證碼,系統(tǒng)識別有效性。</p><p> ?、?選擇產(chǎn)品管理功能,再對應(yīng)選擇相應(yīng)的其他操作(新增、查找、刪除)。</p><p> ③ 新增產(chǎn)品時,填寫新產(chǎn)品的相關(guān)信息
50、,并輸入驗證碼。</p><p> ?、?退出相應(yīng)模塊功能。</p><p> 與其他用例的關(guān)聯(lián):過程描述①中包含登錄用例;②中查找子用例涉及“查找產(chǎn)品”用例。</p><p><b> ⑵“搜索產(chǎn)品”用例</b></p><p> 用例編號:0102 (共兩層用例圖結(jié)構(gòu),每層用兩位數(shù)字表示,共兩位編號。)<
51、/p><p><b> 用例名:搜索產(chǎn)品</b></p><p> 執(zhí)行者:人執(zhí)行者:用戶</p><p><b> 系統(tǒng)執(zhí)行者:用戶</b></p><p><b> 目的:用戶搜索產(chǎn)品</b></p><p> 類型:主要的、基本的</p
52、><p><b> 級別:一級</b></p><p><b> 過程描述:</b></p><p> 用戶輸入用戶名,密碼及驗證碼,系統(tǒng)識別有效性。</p><p><b> ?、?搜索產(chǎn)品。</b></p><p> ?、弁顺鱿鄳?yīng)功能模塊。<
53、/p><p> 與其他用例的關(guān)聯(lián):過程描述①中包含登錄用例;②中查找子用例涉及“查找產(chǎn)品”用例。</p><p><b> 3 系統(tǒng)概要設(shè)計</b></p><p> 3.1 系統(tǒng)功能構(gòu)成</p><p> 系統(tǒng)分為前臺和后臺兩個模塊,前臺主要用來提供給系統(tǒng)注冊用戶或者游客瀏覽、查看產(chǎn)品,并提供注冊的模塊,系統(tǒng)注冊
54、用戶通過登錄后還能管理自己的信息和對指定的產(chǎn)品參與競拍。</p><p> 后臺是系統(tǒng)管理員對農(nóng)業(yè)網(wǎng)站設(shè)置、管理用戶和管理產(chǎn)品的地方。</p><p> 系統(tǒng)的系統(tǒng)層次概框劃分如圖3-2所示。</p><p> 綜上所述,我們就可以得到系統(tǒng)層次概框圖如下3.1-1所示。</p><p> 圖3.1-1 系統(tǒng)層次概框圖</p&g
55、t;<p> 3.2 用戶登錄系統(tǒng)流程圖</p><p> 圖3.2-1 用戶登錄系統(tǒng)流程圖</p><p><b> 3.3程序流程圖</b></p><p> 本系統(tǒng)單元測試采用的是白盒測試技術(shù)。以用戶參加競拍為例,其程序流程圖如下:</p><p><b> 4 詳細(xì)設(shè)計<
56、;/b></p><p><b> 4.1系統(tǒng)首頁</b></p><p> 運行效果如圖4.1-1所示。</p><p> 圖4.1-1 首頁界面</p><p><b> 其關(guān)鍵代碼如下:</b></p><p> public partial clas
57、s _Default : System.Web.UI.Page</p><p><b> {</b></p><p> public string sql;</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b>
58、 {</b></p><p> if (!IsPostBack)</p><p><b> {</b></p><p> sql = "select top 5 id,title,addtime from allgonggao where leibie='新聞中心'";</p>
59、<p> getdata(sql);</p><p> sql = "select top 7 * from allpro order by id desc";</p><p> getdata2(sql);</p><p><b> }</b></p><p><b>
60、; }</b></p><p> private void getdata(string sql)</p><p><b> {</b></p><p> DataSet result = new DataSet();</p><p> result = new Class1().hsggetdat
61、a(sql);</p><p> if (result != null)</p><p><b> {</b></p><p> if (result.Tables[0].Rows.Count > 0)</p><p><b> {</b></p><p>
62、DataGrid1.DataSource = result.Tables[0];</p><p> DataGrid1.DataBind();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b><
63、/p><p> DataGrid1.DataSource = null;</p><p> DataGrid1.DataBind();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>
64、</p><p> private void getdata2(string sql)</p><p><b> {</b></p><p> DataSet result = new DataSet();</p><p> result = new Class1().hsggetdata(sql);</p
65、><p> if (result != null)</p><p><b> {</b></p><p> if (result.Tables[0].Rows.Count > 0)</p><p><b> {</b></p><p> DataGrid2.Dat
66、aSource = result.Tables[0];</p><p> DataGrid2.DataBind();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p
67、> DataGrid2.DataSource = null;</p><p> DataGrid2.DataBind();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&
68、lt;p><b> }</b></p><p><b> 4.2登錄界面設(shè)計</b></p><p> 系統(tǒng)運行界面如圖4.2-1所示。 </p><p> 圖4.2-1 系統(tǒng)登錄界面</p><p><b> 其關(guān)鍵代碼如下:</b></p>
69、<p> protected void Button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (TextBox2.Text.ToString().Trim() == "" || TextBox1.Text.ToString().Trim()
70、== "")</p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('請輸入完整');history.back();</script>");</p><p> Response
71、.End();</p><p><b> }</b></p><p> string sql;</p><p> sql = "select * from allusers where username='" + TextBox1.Text.ToString().Trim() + "' and
72、 pwd='" + TextBox2.Text.ToString().Trim() + "'";</p><p> DataSet result = new DataSet();</p><p> result = new Class1().hsggetdata(sql);</p><p> // result =
73、 new TestOnline.Class1().hsggetdata(sql);</p><p> if (result != null)</p><p><b> {</b></p><p> if (result.Tables[0].Rows.Count > 0)</p><p><b>
74、{</b></p><p> Session["username"] = TextBox1.Text.ToString().Trim();</p><p> Session["role"] = result.Tables[0].Rows[0]["cx"].ToString().Trim();</p>
75、<p> Response.Redirect("main.aspx");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Writ
76、e("<script>javascript:alert('對不起,用戶名或密碼不正確!');</script>");</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b>
77、</p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('對不起,系統(tǒng)錯誤,請不要越權(quán)操作!');</script>");</p><p><b> }</b></p&
78、gt;<p><b> } </b></p><p> 4.3 用戶注冊界面設(shè)計</p><p> 運行界面如圖4.3-1所示。</p><p> 圖4.3-1 用戶注冊界面</p><p><b> 其關(guān)鍵代碼如下: </b></p><p>
79、protected void Button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> string sql;</p><p> sql = "insert into yonghuzhuce(yonghuming,mima,xingming,dia
80、nhua,shenfenzheng,youxiang,QQ,dizhi,xingbie) values('" + yonghuming.Text.ToString().Trim() + "','" + mima.Text.ToString().Trim() + "','" + xingming.Text.ToString().Trim() + &q
81、uot;','" + dianhua.Text.ToString().Trim() + "','" + shenfenzheng.Text.ToString().Trim() + "','" + youxiang.Text.ToString().Trim() + "','" + QQ.Text.ToStr
82、ing().Trim() + "','" + dizhi.Text.ToString().Trim() + "','" + xingbie.Text.ToString().Trim() + "') ";</p><p> int result;</p><p> result = new
83、 Class1().hsgexucute(sql);</p><p> if (result == 1)</p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('注冊成功,您現(xiàn)在可以去首頁登陸了!');location
84、.href='default.aspx';</script>");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Writ
85、e("<script>javascript:alert('系統(tǒng)錯誤,請檢查數(shù)據(jù)庫設(shè)置問題');</script>");</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.4新聞界面設(shè)計<
86、/b></p><p> 運行界面如圖4.4-1所示。</p><p> 圖4.4-1 新聞界面</p><p><b> 其關(guān)鍵代碼如下: </b></p><p> protected void Page_Load(object sender, EventArgs e)</p><p
87、><b> {</b></p><p> lb = Request.QueryString["lb"].ToString().Trim();</p><p> switch (lb)</p><p><b> {</b></p><p><b> cas
88、e "1":</b></p><p> lbtxt = "新聞中心";</p><p><b> break;</b></p><p><b> case "2":</b></p><p> lbtxt = "
89、網(wǎng)站規(guī)章";</p><p><b> break;</b></p><p><b> }</b></p><p> if (!IsPostBack)</p><p><b> {</b></p><p> string sql;&l
90、t;/p><p> sql = "select * from allgonggao where leibie='" + lbtxt + "' order by id desc";</p><p> getdata2(sql);</p><p><b> }</b></p>
91、<p><b> }</b></p><p> private void getdata2(string sql)</p><p><b> {</b></p><p> DataSet result = new DataSet();</p><p> result = new
92、Class1().hsggetdata(sql);</p><p> if (result != null)</p><p><b> {</b></p><p> if (result.Tables[0].Rows.Count > 0)</p><p><b> {</b></
93、p><p> DataGrid2.DataSource = result.Tables[0];</p><p> DataGrid2.DataBind();</p><p><b> }</b></p><p><b> else</b></p><p><b>
94、; {</b></p><p> DataGrid2.DataSource = null;</p><p> DataGrid2.DataBind();</p><p><b> }</b></p><p><b> }</b></p><p><
95、b> }</b></p><p><b> }</b></p><p> 4.5 添加農(nóng)產(chǎn)品界面設(shè)計</p><p> 圖4.5-1 添加農(nóng)產(chǎn)品界面</p><p><b> 其關(guān)鍵代碼如下:</b></p><p> protected vo
96、id Button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (mc.Text.ToString().Trim() != "")</p><p><b> {</b></p><p>
97、 double je3, je4;</p><p><b> try</b></p><p><b> {</b></p><p> je3 = Convert.ToDouble(je.Text.ToString().Trim());</p><p><b> }</b&g
98、t;</p><p><b> catch</b></p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('農(nóng)產(chǎn)品原價必需是數(shù)字型');</script>");</p&
99、gt;<p><b> return;</b></p><p><b> }</b></p><p><b> try</b></p><p><b> {</b></p><p> je4 = Convert.ToDouble(j
100、e2.Text.ToString().Trim());</p><p><b> }</b></p><p><b> catch</b></p><p><b> {</b></p><p> Response.Write("<script>ja
101、vascript:alert('農(nóng)產(chǎn)品現(xiàn)價必需是數(shù)字型');</script>");</p><p><b> return;</b></p><p><b> }</b></p><p> if (UploadFile.Value != null && Uplo
102、adFile.Value != "")</p><p><b> {</b></p><p> hsgupload();</p><p><b> }</b></p><p> string sql;</p><p> sql = "i
103、nsert into allpro(mc,lb,price1,price2,fn,content,addby,shuliang) values('" + mc.Text.ToString().Trim() + "','" + lb.SelectedItem.ToString().Trim() + "'," + je3 + "," + j
104、e4 + ",'" + fname + "','" + content.Text.ToString().Trim() + "','" + Session["username"].ToString().Trim() + "',"+shuliang.Text.ToString().Trim()+
105、")";</p><p> int result;</p><p> result = new Class1().hsgexucute(sql);</p><p> if (result == 1)</p><p><b> {</b></p><p> Respon
106、se.Write("<script>javascript:alert('添加成功');</script>");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b><
107、;/p><p> Response.Write("<script>javascript:alert('系統(tǒng)錯誤');</script>");</p><p><b> }</b></p><p><b> }</b></p><p>&l
108、t;b> else</b></p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('請?zhí)顚懲暾?#39;);</script>");</p><p><b> }</b
109、></p><p><b> }</b></p><p> 4.6 產(chǎn)品購買評價</p><p> 系統(tǒng)運行界面如圖4.4.2-1所示。</p><p> 圖4.6-1 產(chǎn)品購買評價界面</p><p><b> 其關(guān)鍵代碼如下:</b></p>
110、<p> protected void Button1_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (Session["username"] != null)</p><p><b> {</b>
111、</p><p> string sql;</p><p> sql = "insert into pinglun(content,proid,addby) values('" + content.Text.ToString().Trim() + "','" + Request.QueryString["id&q
112、uot;].ToString().Trim() + "','" + Session["username"].ToString().Trim() + "')";</p><p> int result2;</p><p> result2 = new Class1().hsgexucute(sql);&l
113、t;/p><p> if (result2 == 1)</p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('評論成功');location.href='pro_detail.aspx?id=" + R
114、equest.QueryString["id"].ToString().Trim() + "';</script>");</p><p> Response.End();</p><p><b> }</b></p><p><b> else</b><
115、;/p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('系統(tǒng)錯誤');</script>");</p><p><b> }</b></p><p>&l
116、t;b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Write("<script>javascript:alert('對不起,請您先登陸!');location.href=
117、'pro_detail.aspx?id=" + Request.QueryString["id"].ToString().Trim() + "';</script>");</p><p> Response.End();</p><p><b> } </b></p>&l
118、t;p><b> }</b></p><p><b> 5 系統(tǒng)測試</b></p><p><b> 5.1單元測試</b></p><p> 單元測試的測試對象是經(jīng)過軟件設(shè)計并編碼的一個個程序模塊。單元測試的依據(jù)是根據(jù)詳細(xì)設(shè)計的描述制定的單元測試計劃。為了盡可能多地發(fā)現(xiàn)并糾正程序模塊
119、中的錯誤。</p><p> 5.1.1確定環(huán)形復(fù)雜性度量V(G)</p><p> (1) V(G).=E-N+2=7-5+2=4</p><p> (2) V(G).= 4個區(qū)域</p><p> (3) V(G).=P+1=3+1=4</p><p> 5.1.2確定基本路徑集合</p>
120、<p> 本系統(tǒng)可以確定幾條獨立的路徑:</p><p> 路徑1:1-2-1-…</p><p> 路徑2:1-2-3-1-… </p><p> 路徑3:1-2-3-4-1-… </p><p> 路徑4:1-2-3-4-5</p><p> 5.1.3測試用例設(shè)計</p>&l
121、t;p> (1) 用戶名 = “” , 密碼 = “”,驗證碼=“THJUGO”</p><p> 期望結(jié)果:“提示:用戶名不能為空 密碼不能為空”</p><p> (2) 用戶名 = “tomcat” , 密碼 = “tomcat”,驗證碼=“TUHK”</p><p> 期望結(jié)果:“提示:驗證碼不能少于六位”</p><p&g
122、t; (3) 用戶名 = “tomcat” , 密碼 = “SqlServer2005”,驗證碼=“THJUGO”</p><p> 期望結(jié)果:“提示:用戶名密碼不匹配”</p><p> (4) 用戶名 = “tomcat” , 密碼 = “tomcat”,驗證碼=“TUIKPS”</p><p> 期望結(jié)果:“提示:進入系統(tǒng)主界面”</p>
123、<p><b> 5.2功能測試</b></p><p> 功能測試是評價集成后的系統(tǒng)以便確定需求規(guī)格說明所期望的系統(tǒng)功能是否真正的實現(xiàn)了。</p><p> 表5.2-1 主要功能測試表 </p><p><b> 5.3集成測試</b></p>&
124、lt;p> 集成測試是對程序總體的協(xié)調(diào)性進行檢測。查看是否符合用戶所要求的各種功能和操作,對前臺應(yīng)用程序與后臺數(shù)據(jù)庫是否能有機正確地鏈接做一下評測,因為集成測試對于完整的開發(fā)設(shè)計是最為重要的,是對所設(shè)計的軟件的滿意度進行檢驗。通過單元測試后,保證每個獨立的子模塊的正常操作,才可以設(shè)計集成測試的具體步驟,完成測試。包括設(shè)計總體流程圖、計劃具體的集成測試步驟、對所得結(jié)果進行審核等。</p><p> 在按照
125、測試方案進行測試后,經(jīng)過集成測試,從中發(fā)現(xiàn)了一些數(shù)據(jù)連接方面的問題。經(jīng)過幾次調(diào)試后,系統(tǒng)沒有再出現(xiàn)同樣的問題,已經(jīng)完全達到預(yù)期要實現(xiàn)的目標(biāo),在極值條件下各項輸出均在正常值范圍內(nèi),各測試用例真實可靠。所選模塊的功能實現(xiàn)都能正常運行,基本達到了測試的目的。</p><p><b> 6 總結(jié)</b></p><p> 這個系統(tǒng)還有許多不足與值得改進的地方,比如沒有用到
126、數(shù)據(jù)庫緩沖池技術(shù),數(shù)據(jù)庫緩沖池可以減少數(shù)據(jù)庫的連接時間并減輕服務(wù)器的負(fù)擔(dān)。再比如說查詢功能這塊,可以進行模糊查詢,這樣更有助于吸引的靈活性。經(jīng)過這次畢業(yè)設(shè)計,確切的提高了我在系統(tǒng)整體設(shè)計上的能力,增長了分析、解決問題的經(jīng)驗,對一些專業(yè)知識有了更深一步的掌握??梢哉f,這次畢業(yè)設(shè)計對我專業(yè)知識與技能的提高起到了很大的作用,這將對我以后的學(xué)習(xí)起到不可估量的作用。</p><p> 這次寶貴的項目經(jīng)驗會不斷的指導(dǎo)我,不
127、斷的激勵我。在今后的道路上,不斷的充實自己,讓自己更適合于軟件行業(yè)發(fā)展的需要。</p><p><b> 參考文獻</b></p><p> [1] 王強:JSP開發(fā)技術(shù),高等教育出版社,2011.09,P4-P26</p><p> [2] 邵峰晶:Web Services應(yīng)用開發(fā),電子工業(yè)出版社,2012.6,P4-P26</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計論文 畢業(yè)設(shè)計管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計 畢業(yè)設(shè)計(論文)管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計管理系統(tǒng)論文畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---畢業(yè)設(shè)計管理系統(tǒng)論文
- 畢業(yè)設(shè)計---畢業(yè)設(shè)計管理系統(tǒng)論文
- 畢業(yè)設(shè)計論文管理系統(tǒng)
- 畢業(yè)設(shè)計(論文)管理系統(tǒng)
- 畢業(yè)設(shè)計--高校畢業(yè)設(shè)計管理系統(tǒng)論文
- 畢業(yè)設(shè)計選題管理系統(tǒng)論文--畢業(yè)設(shè)計
- 倉庫管理系統(tǒng)畢業(yè)設(shè)計論文
- 倉庫管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計論文-----薪酬管理系統(tǒng)
- 餐飲管理系統(tǒng)畢業(yè)設(shè)計論文
- 倉庫管理系統(tǒng)畢業(yè)設(shè)計論文
- 文件管理系統(tǒng)畢業(yè)設(shè)計論文
- 超市管理系統(tǒng)畢業(yè)設(shè)計論文
- 教務(wù)管理系統(tǒng)畢業(yè)設(shè)計論文
- 超市管理系統(tǒng)畢業(yè)設(shè)計論文
- 科研管理系統(tǒng)畢業(yè)設(shè)計論文
- 旅游管理系統(tǒng)畢業(yè)設(shè)計論文
評論
0/150
提交評論