版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 摘要III</b></p><p> AbstractIV</p><p><b> 引 言V</b></p><p><b> 1 項目概述6</b><
2、/p><p> 1.1 現(xiàn)系統(tǒng)概述6</p><p> 1.2公司組織機構(gòu)6</p><p> 1.3 系統(tǒng)業(yè)務(wù)流程7</p><p> 1.4 系統(tǒng)功能模塊7</p><p> 2 系統(tǒng)需求分析9</p><p> 2.1 需求陳述9</p><p>
3、; 2.2 Use Case建模10</p><p> 2.2.1定義活動者10</p><p> 2.2.2 Use Case圖10</p><p> 3 系統(tǒng)架構(gòu)設(shè)計11</p><p> 3.1架構(gòu)設(shè)計目標11</p><p> 3.2 系統(tǒng)架構(gòu)設(shè)計11</p><p&
4、gt; 3.3 系統(tǒng)架構(gòu)類圖16</p><p> 4 系統(tǒng)詳細設(shè)計17</p><p> 4.1 系統(tǒng)模塊設(shè)計17</p><p> 4.1.1 登陸17</p><p> 4.1.2 產(chǎn)品信息管理17</p><p> 4.2 數(shù)據(jù)庫設(shè)計19</p><p> 4.
5、2.1 ER圖19</p><p> 4.3.2 物理表結(jié)構(gòu)圖19</p><p> 4.4 開發(fā)環(huán)境的選擇20</p><p> 4.4.1系統(tǒng)開發(fā)工具20</p><p> 4.4.2數(shù)據(jù)庫的選擇21</p><p> 4.4.3 系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計21</p><p>
6、<b> 5 編碼23</b></p><p> 5.1 概述開發(fā)工具及編程腳本23</p><p> 5.1.1 JSP技術(shù)23</p><p> 5.1.2 JavaBean技術(shù)23</p><p> 5.1.3 JDBC技術(shù)24</p><p> 5.1.4 用JDBC
7、訪問數(shù)據(jù)庫25</p><p> 5.2 腳本習(xí)慣說明27</p><p> 6 系統(tǒng)調(diào)試與測試29</p><p> 6.1 程序調(diào)試29</p><p> 6.2 程序的測試29</p><p> 6.2.1 測試的重要性及目的29</p><p> 6.2.2 測試
8、的步驟30</p><p> 6.2.3 測試的主要內(nèi)容31</p><p><b> 結(jié)束語32</b></p><p><b> 致謝33</b></p><p><b> 參考文獻34</b></p><p><b>
9、 附錄A 譯文35</b></p><p><b> 附錄B 原文36</b></p><p> 附錄C 程序清單37</p><p><b> 附錄D 其他38</b></p><p><b> 摘要</b></p><p>
10、; 課題目標是設(shè)計并實現(xiàn)一個B/S體系結(jié)構(gòu)的企業(yè)客戶服務(wù)與產(chǎn)品管理系統(tǒng)。結(jié)合實踐,理解網(wǎng)頁開發(fā)技術(shù)和數(shù)據(jù)庫的基本知識,學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,熟悉系統(tǒng)設(shè)計的過程,熟練掌握網(wǎng)絡(luò)數(shù)據(jù)庫編程方法,本系統(tǒng)用JSP技術(shù)來編寫本系統(tǒng),數(shù)據(jù)庫用SQLSERVER 2000來連接系統(tǒng)。</p><p> 本論文主要是對客戶管理、加工管理、產(chǎn)品管理、投訴反饋、售后回訪、事務(wù)提醒等功能實現(xiàn),涵蓋知識面廣,可有效地提高學(xué)生綜合
11、運用所學(xué)知識分析解決問題的能力,增強學(xué)生對事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計思想,獨立思考,勇于進取,探索創(chuàng)新,為今后進一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。</p><p> 關(guān)鍵詞:計算機技術(shù);企業(yè)客戶服務(wù)及產(chǎn)品管理系統(tǒng);JSP</p><p><b> Abstract</b></p><p> The topi
12、c goal is designs and realizes a B/S architecture enterprise customer service and the product management system. The union practice, understood that the homepage development technology and the database elementary knowled
13、ge, the study related development kit and the application software, the familiar system design's process, masters the network database programming method skilled. this system arranges the comp book system with the JS
14、P technology, the database uses the SQLSERVER 2000 conne</p><p> Key words: Computer technology; Enterprise customer service and product management system; JSP</p><p><b> 引 言</b>&
15、lt;/p><p> 在現(xiàn)在飛速發(fā)展的環(huán)境下,客戶與產(chǎn)品形成了密不可分的關(guān)系,客戶服務(wù)對于一個公司已經(jīng)是畢不可少的了,產(chǎn)品管理更是重中之重,產(chǎn)品管理業(yè)是對客戶負責(zé),也是公司生存的保障,現(xiàn)在的公司生產(chǎn)的產(chǎn)品是多元化的,所以產(chǎn)品管理也變的復(fù)雜,產(chǎn)品管理需要系統(tǒng)化的管理制度,給管理者方便明了的管理產(chǎn)品,一個嚴密的產(chǎn)品管理系統(tǒng)是必不可缺的。數(shù)以千萬的產(chǎn)品產(chǎn)出,售出,存放等,需要產(chǎn)品管理系統(tǒng)都能明了的表現(xiàn)出來,方便對產(chǎn)品的質(zhì)
16、量,數(shù)量的了解,以便把客戶最需要最好的產(chǎn)品售給客戶。</p><p> 客戶作為公司生存的對象,客戶服務(wù)就成了必需品,現(xiàn)在的公司以把客戶與產(chǎn)品連成線,有客戶才會生產(chǎn)產(chǎn)品,有客戶才能售出產(chǎn)品,同樣,也了解了生產(chǎn)什么樣產(chǎn)品,以便滿足客戶,產(chǎn)品數(shù)以千萬,客戶同樣數(shù)以千萬,并且賣出的產(chǎn)品也必須得到保障,首先對客戶就要有售后服務(wù),還要知道那些客戶要什么產(chǎn)品,都必須分出類別,客戶的一些方便對客戶服務(wù)。做出這個客戶服務(wù)和產(chǎn)品
17、管理系統(tǒng)就能方便公司管理人員管理。</p><p> 產(chǎn)品管理技術(shù)在全球的應(yīng)用領(lǐng)域十分廣泛,包括機械、電子、汽車、航空、航天以及非制造業(yè)等。目前,汽車工業(yè)已經(jīng)在全球范圍內(nèi)開始實施產(chǎn)品管理技術(shù)(如福特、通用等),航空/航天工業(yè)用管理技術(shù)對企業(yè)進行重組(如波音、麥道等),非制造業(yè)(如交通、商業(yè)、電子出版等)應(yīng)用管理技術(shù)的增長速度也十分迅速。產(chǎn)品管理系統(tǒng)在文檔管理、變更控制、配置管理與信息跟蹤等方面也得到廣泛的應(yīng)用,
18、并把它作為支持企業(yè)重組(如技術(shù)重組、產(chǎn)品重組、信息重組等)、并行工程、虛擬制造等的使能技術(shù)。</p><p> 企業(yè)客戶服務(wù)與產(chǎn)品管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。系統(tǒng)主要完成對客戶管理、加工管理、產(chǎn)品管理、投訴反饋、售后回訪、事務(wù)提
19、醒等幾個方面的描述。</p><p> 本論文包括需求分析、系統(tǒng)功能、系統(tǒng)設(shè)計、程序設(shè)計、系統(tǒng)測試及存在問題等方面,較為系統(tǒng)地介紹了“企業(yè)信息管理信息系統(tǒng)”課題開發(fā)的整個過程。</p><p><b> 1 項目概述</b></p><p><b> 1.1 現(xiàn)系統(tǒng)概述</b></p><p>
20、; 產(chǎn)品管理技術(shù)在全球的應(yīng)用領(lǐng)域十分廣泛,包括機械、電子、汽車、航空、航天以及非制造業(yè)等。目前,汽車工業(yè)已經(jīng)在全球范圍內(nèi)開始實施產(chǎn)品管理技術(shù)(如福特、通用等),航空/航天工業(yè)用管理技術(shù)對企業(yè)進行重組(如波音、麥道等),非制造業(yè)(如交通、商業(yè)、電子出版等)應(yīng)用管理技術(shù)的增長速度也十分迅速。產(chǎn)品管理系統(tǒng)在文檔管理、變更控制、配置管理與信息跟蹤等方面也得到廣泛的應(yīng)用,并把它作為支持企業(yè)重組(如技術(shù)重組、產(chǎn)品重組、信息重組等)、并行工程、虛擬
21、制造等的使能技術(shù)。</p><p> 企業(yè)客戶服務(wù)與產(chǎn)品管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。系統(tǒng)主要完成對客戶管理、加工管理、產(chǎn)品管理、投訴反饋、售后回訪、事務(wù)提醒等幾個方面的描述。</p><p><b&
22、gt; 1.2公司組織機構(gòu)</b></p><p> 圖1-1 公司組織機構(gòu)圖</p><p> Fig 1-1 Diagram of the Company's Organizational Structure</p><p> 1.3 系統(tǒng)業(yè)務(wù)流程</p><p> 經(jīng)過前期調(diào)研分析和綜合其它各方面相關(guān)理論知
23、識,給出整個系統(tǒng)的業(yè)務(wù)流程圖如下圖1-2所示:</p><p> 整個系統(tǒng)的開發(fā)主要圍繞上述業(yè)務(wù)流程進行開發(fā),開發(fā)過程采用面向?qū)ο蟮拈_發(fā)技術(shù),具體開發(fā)過程見下面的章節(jié)。</p><p><b> 圖1-2 系統(tǒng)流程</b></p><p> Fig 1-2 the Workflow of System</p><p&
24、gt; 1.4 系統(tǒng)功能模塊</p><p> 根據(jù)上述業(yè)務(wù)流程,整個系統(tǒng)抽象出以下幾個功能模塊,如圖1-3所示。</p><p> 下面模塊劃分只是抽象意義上的劃分,各模塊之間需要共享數(shù)據(jù),相互協(xié)作,完成整個系統(tǒng)流程,單一事物功能模塊間是相互獨立的。</p><p> 圖1-3 系統(tǒng)功能模塊</p><p> Fig 1-3 Fu
25、nction Models of System</p><p><b> 2 系統(tǒng)需求分析</b></p><p><b> 2.1 需求陳述</b></p><p> 通常,需求陳述的內(nèi)容包括:問題范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等??傊枨箨愂鰬?yīng)該闡明“做什么”而不是“怎樣做”。它應(yīng)該描述用戶的需求
26、而不是提出解決問題的方法。應(yīng)該指出哪些是系統(tǒng)必要的性質(zhì),哪些是任選的性質(zhì)。應(yīng)該避免對設(shè)計策略施加過多的約束,也不要描述系統(tǒng)的內(nèi)部結(jié)構(gòu),因為這樣做將限制實現(xiàn)的靈活性。對系統(tǒng)性能及系統(tǒng)與外界環(huán)境交互協(xié)議的描述,是合適的需求。此外,對采用的軟件工程標準、模塊構(gòu)造準則、將來可能做的擴充以及可維護性要求等方面的描述,也都是適當?shù)男枨?。下面以企業(yè)客戶服務(wù)及產(chǎn)品管理系統(tǒng)為例說明如何進行系統(tǒng)需求陳述。</p><p> 本系統(tǒng)
27、需要具有以下功能:</p><p> (1)由于一項新的軟件在被使用之前,對于使用者來說是陌生和嶄新的,所以要求系統(tǒng)具有良好的人機界面。</p><p> (2)能夠?qū)崿F(xiàn)信息管理功能,能成功的對各種信息進行查詢及管理。</p><p> (3)查詢數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。</p><p> 系統(tǒng)采用B/S模式。整個系統(tǒng)最關(guān)鍵
28、的就是數(shù)據(jù)庫系統(tǒng),一個強大的數(shù)據(jù)庫可以支持完善一個優(yōu)秀的軟件設(shè)計,通過軟件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的連接來實現(xiàn)通過軟件界面觀察和處理操作數(shù)據(jù)。</p><p> 系統(tǒng)任務(wù)確定之后,下面的工作就是進行系統(tǒng)分析。</p><p> 面向?qū)ο蟮姆治龅闹饕蝿?wù)是分析問題領(lǐng)域,找出問題解決方案,發(fā)現(xiàn)對象,分析對象的內(nèi)部構(gòu)成和外部關(guān)系,建立軟件系統(tǒng)的對象模型。</p><p>
29、分析問題領(lǐng)域是軟件系統(tǒng)開發(fā)的一項基本工作,是項目開發(fā)之初必須首先進行的重要工作。分析問題領(lǐng)域的結(jié)果是對問題領(lǐng)域的清晰,精確的定義,明確目標系統(tǒng)將做什么。</p><p> 分析問題領(lǐng)域的主要任務(wù)是:對問題領(lǐng)域進行抽象,提出解決方案;對未來的系統(tǒng)進行需求分析,確定系統(tǒng)的職責(zé)范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等。</p><p> 實施面向?qū)ο蠓治龅囊话悴襟E如下:</p&g
30、t;<p> 1.分析用戶需求,建立Use Case 并通過用例圖來描述用戶的需求。</p><p> 2.通過建立域模型以識別類與對象,從而識別系統(tǒng)中的各種對象。</p><p> 3.確定對象的內(nèi)部特征,從而定義出各個屬性與服務(wù),以進一步細化類的結(jié)構(gòu)。</p><p> 4.識別對象之間的關(guān)系并使用設(shè)計模式對類的結(jié)構(gòu)進行優(yōu)化和改造。<
31、/p><p> 5.獲得對象之間的行為關(guān)系,繪制出各種動態(tài)圖形(順序圖、協(xié)作圖、狀態(tài)圖等)。</p><p> 2.2 Use Case建模</p><p> 2.2.1定義活動者</p><p> 根據(jù)的需求可以確定2個活動者,即客戶及系統(tǒng)管理員。</p><p> 客戶可以進行網(wǎng)上轉(zhuǎn)賬及余額查詢;</p
32、><p> 系統(tǒng)管理員可以管理客戶的賬戶。</p><p> 2.2.2 Use Case圖</p><p> 根據(jù)系統(tǒng)需求分析,結(jié)合上節(jié)系統(tǒng)活動者的定義分析,得到系統(tǒng)的用例圖3-1如下:</p><p> 圖2-1客戶服務(wù)與產(chǎn)品管理系統(tǒng)Use Case 圖</p><p> Fig3-1 Use Case fo
33、r Sales Management</p><p><b> 3 系統(tǒng)架構(gòu)設(shè)計</b></p><p> 軟件的系統(tǒng)架構(gòu)是指通過某種特定的技術(shù)平臺,完成軟件系統(tǒng)整體功能的開發(fā)過程。也可以通俗地理解為:總體設(shè)計和總體結(jié)構(gòu)布局。</p><p> 一般而言,軟件系統(tǒng)架構(gòu)有兩個要素:</p><p> 1.它是一個軟
34、件系統(tǒng)從整體到部分的最高層次的劃分。</p><p> 2.建造一個系統(tǒng)所做出的最高層次的,以后難以更改的,商業(yè)和技術(shù)的決定。</p><p><b> 3.1架構(gòu)設(shè)計目標</b></p><p> 軟件架構(gòu)設(shè)計要達到如下的目標:</p><p> 1.可行性(Feasible)。架構(gòu)具有可行性是架構(gòu)設(shè)計的基石。
35、</p><p> 2.可靠性(Reliable)。軟件系統(tǒng)對于用戶的商業(yè)經(jīng)營和管理來說極為重要,因此軟件系統(tǒng)必須非??煽俊?lt;/p><p> 3.安全行(Secure)。軟件系統(tǒng)所承擔(dān)的交易的商業(yè)價值極高,系統(tǒng)的安全性非常重要。</p><p> 4.可定制化(Customizable)。同樣的一套軟件,可以根據(jù)客戶群的不同和市場需求的變化進行調(diào)整。<
36、/p><p> 5.可擴展性(Extensible)。在新技術(shù)出現(xiàn)的時候,一個軟件系統(tǒng)應(yīng)當允許導(dǎo)入新技術(shù),從而對現(xiàn)有系統(tǒng)進行功能和性能的擴展。</p><p> 6.可維護性(Maintainable)。軟件系統(tǒng)的維護包括兩方面,一是排除現(xiàn)有的錯誤,二是將新的軟件需求反映到現(xiàn)有系統(tǒng)中去。一個易于維護的系統(tǒng)可以有效地降低技術(shù)支持的花費。</p><p> 7.可升級
37、性(Scalable)。軟件必須能夠在用戶的使用率、用戶的數(shù)目增加很快的情況下,保持合理的性能。只有這樣,才能適應(yīng)用戶的市場擴展得可能性。</p><p> 8.客戶體驗(Customer Experience)。軟件系統(tǒng)必須易于使用。軟件的最終用戶很可能是不具有計算機專業(yè)技術(shù)的人員。</p><p> 3.2 系統(tǒng)架構(gòu)設(shè)計</p><p> 下面我們將根據(jù)架
38、構(gòu)設(shè)計原則和信息系統(tǒng)原理來建立系統(tǒng)的架構(gòu)設(shè)計模型。將信息系統(tǒng)中比較關(guān)心的對象分層,可分為三層:用戶界面層、業(yè)務(wù)層、數(shù)據(jù)訪問層(如下圖3-2所示),再把各層中的一些公共部分提出來:權(quán)限管理、異常處理,這樣得到包圖如圖3-2-1所示:</p><p> 圖3-2 系統(tǒng)體系架構(gòu)圖</p><p> Fig3-2 The Diagram of System Architecture</p
39、><p><b> 圖3-2-1 包圖</b></p><p> Fig3-2-1 Package Diagram of Sales Management Model</p><p><b> 1.用戶界面包</b></p><p> 用戶界面包的職責(zé)是:</p><p>
40、; (1)與用戶的交互,接收用戶的各種輸入以及輸出各種提示信息或處理結(jié)果。</p><p> ?。?)對于輸入的數(shù)據(jù)進行數(shù)據(jù)校驗,過濾非法數(shù)據(jù)。</p><p> ?。?)向業(yè)務(wù)處理對象發(fā)送處理請求。</p><p> 用戶界面包圖展開如圖3-3所示:</p><p> 圖3-3 用戶界面包展開圖</p><p>
41、; Fig3-3 Package Diagram of Users Interface</p><p> 用戶界面包包含的類見圖2-4:</p><p> 圖3-4 用戶界面類圖</p><p> Fig3-4 Class Diagram of Users Interface</p><p><b> 2.業(yè)務(wù)邏輯包<
42、;/b></p><p> 業(yè)務(wù)邏輯包的職責(zé)是:</p><p> ?。?)實現(xiàn)各種業(yè)務(wù)處理邏輯或處理算法。</p><p> ?。?)驗證請求者的權(quán)限。</p><p> ?。?)向數(shù)據(jù)訪問對象發(fā)送數(shù)據(jù)持久化操作的請求。</p><p> ?。?)向用戶界面層返回處理結(jié)果。</p><p&
43、gt; 業(yè)務(wù)邏輯包圖展開如圖3-5所示:</p><p> 圖3-5 業(yè)務(wù)邏輯包圖展開</p><p> Fig3-5 Package Diagram of Business</p><p> 業(yè)務(wù)邏輯包包含的類見圖3-6:</p><p> 圖3-6 業(yè)務(wù)邏輯類圖</p><p> Fig3-6 Clas
44、s Diagram of Business</p><p><b> 3.數(shù)據(jù)訪問包</b></p><p> 數(shù)據(jù)訪問層的職責(zé)是:</p><p> (1)實現(xiàn)數(shù)據(jù)的持久化操作。</p><p> ?。?)實現(xiàn)事務(wù)處理。</p><p> 數(shù)據(jù)訪問包圖展開如圖2-7所示:</p&g
45、t;<p> 圖3-7 數(shù)據(jù)訪問包圖展開</p><p> Fig3-7 Package Diagram of Data Access</p><p> 數(shù)據(jù)訪問包包含的類見圖3-8:</p><p> 圖3-8數(shù)據(jù)訪問類圖</p><p> Fig3-8 Class Diagram of Data Access<
46、;/p><p> 對于每一個業(yè)務(wù)處理中需要持久化操作的對象都可以對應(yīng)為一個數(shù)據(jù)庫訪問對象,在很多業(yè)務(wù)處理中需要請求多個數(shù)據(jù)庫訪問對象來進行數(shù)據(jù)的讀寫操作,而這些操作又必須在同一個事務(wù)中,這時需要用同一個數(shù)據(jù)庫連接對象來進行統(tǒng)一的事務(wù)處理。這里的數(shù)據(jù)庫連接類的創(chuàng)建用到了單件(Singleton)模式,保證一個類僅有一個實例,一個客戶在同一時刻只能用一個數(shù)據(jù)庫連接對象。</p><p><
47、b> 4.權(quán)限管理包</b></p><p> 權(quán)限管理的主要職責(zé)是:</p><p> ?。?)驗證請求者的請求權(quán)限。</p><p> ?。?)提供請求者的權(quán)限列表。</p><p> 權(quán)限管理包圖展開如圖3-9所示:</p><p> 圖3-9權(quán)限管理包圖展開</p>&l
48、t;p> Fig3-9 Package Diagram of Access Authorization</p><p> 權(quán)限管理包包含的類見圖3-10:</p><p> 圖3-10權(quán)限管理類圖</p><p> Fig3-10 Class Diagram of Access Authorization</p><p><
49、;b> 5.異常處理包</b></p><p><b> 異常處理的職責(zé):</b></p><p> (1)匯報運行時的詳細異常信息。</p><p> ?。?)記錄異常處理日志。</p><p> 異常處理包圖展開如圖3-11所示:</p><p> 圖3-11異常處
50、理包圖展開</p><p> Fig3-11 Package Diagram of Exception Processing</p><p> 異常處理包包含的類見圖3-12:</p><p> 圖3-12異常處理類圖</p><p> Fig3-12 Class Diagram of Exception Processing<
51、/p><p> 因為異常處理類型比較多,如:系統(tǒng)異常、數(shù)據(jù)庫異常、業(yè)務(wù)邏輯異常等,針對不同類型的異常處理方式也容易變,如:顯示錯誤,記錄文本日志,記錄數(shù)據(jù)庫日志等,所以這里使用了橋接(Bridge)模式來實現(xiàn),使各部分的變化比較獨立。</p><p> 3.3 系統(tǒng)架構(gòu)類圖</p><p> 將包圖展開,得到類圖,它是架構(gòu)的靜態(tài)結(jié)構(gòu)圖,表達了各個類之間的靜態(tài)聯(lián)系。
52、企業(yè)客戶服務(wù)及產(chǎn)品管理系統(tǒng)中的系統(tǒng)架構(gòu)類圖如下圖3-13所示。</p><p> 圖3-13 系統(tǒng)架構(gòu)類圖</p><p> Fig3-13 Class Diagram of System Architecture</p><p><b> 4 系統(tǒng)詳細設(shè)計</b></p><p> 4.1 系統(tǒng)模塊設(shè)計<
53、/p><p><b> 4.1.1 登陸</b></p><p> 在用戶登錄界面,在用戶名對應(yīng)的文本框中輸入用戶名,在密碼對應(yīng)的文本框中輸入密碼,如果用戶名和密碼同時與數(shù)據(jù)庫中的用戶名和密碼相對應(yīng),點擊“確定”后進入系統(tǒng)的主界面。如果輸入的信息不正確,則給出提示。</p><p> 輸入:用戶名和密碼。</p><p&g
54、t; 處理:校檢字符的有效性。用戶要登錄本系統(tǒng)需要提供用戶名和密碼,在這里就是要檢驗用戶是否滿足輸入的要求,即檢驗用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。檢驗用戶名是否存在或密碼是否正確,即是否存在用戶輸入的用戶名,并且密碼是否正確。</p><p> 輸出:登錄成功,進入用戶的系統(tǒng)使用資源頁面,不成功則顯示錯誤信息頁面。</p><p><b>
55、界面如下圖所示:</b></p><p> 4.1.2 產(chǎn)品信息管理</p><p> 管理員進入系統(tǒng)后可以對產(chǎn)品信息進行管理,包括對產(chǎn)品信息的添加、修改、刪除的功能。</p><p> a) 添加產(chǎn)品的信息操作:</p><p> ?點擊添加產(chǎn)品信息按鈕。并輸入所需添加產(chǎn)品的內(nèi)容,內(nèi)容包括產(chǎn)品編號,產(chǎn)品名稱,產(chǎn)品單位,
56、生產(chǎn)日期,生產(chǎn)數(shù)量,成本金額。</p><p> 檢測所輸入的內(nèi)容是否符合用戶數(shù)據(jù)庫表中字段定義。若不符合則提示輸入有誤。</p><p> ?提示信息添加成功。</p><p> ?更新產(chǎn)品數(shù)據(jù)庫表的信息。</p><p><b> b) 刪除產(chǎn)品信息</b></p><p> ?
57、點擊刪除按鈕來刪除產(chǎn)品的相關(guān)信息。</p><p> ?根據(jù)產(chǎn)品的表中的關(guān)鍵字產(chǎn)品編號刪除表中的一切以產(chǎn)品編號為主鍵的其他字段。執(zhí)行sql語句delete并且刪除相關(guān)屬性。</p><p> ?更新數(shù)據(jù)庫表的信息。</p><p><b> c)修改產(chǎn)品</b></p><p> ?點擊修改產(chǎn)品按鈕。并
58、輸入需要修改的內(nèi)容,內(nèi)容包括產(chǎn)品編號,產(chǎn)品名稱,產(chǎn)品單位,生產(chǎn)日期,生產(chǎn)數(shù)量,成本金額。</p><p> ?檢驗用戶輸入的內(nèi)容是否符合數(shù)據(jù)庫表中字段定義。若不符合則提示輸入有誤。</p><p> ?如果用記錄存在,進行修改操作,輸入新的字段,并根據(jù)數(shù)據(jù)庫表中對應(yīng)字段的定義檢查輸入是否合法,如果輸入有錯誤則進行提示。</p><p> ?如果輸入正確,
59、執(zhí)行(UPDATE)SQL語句,更新數(shù)據(jù)庫表中該項目所對應(yīng)的記錄。</p><p> ?提示信息修改成功。</p><p> ?更新數(shù)據(jù)庫表的信息。</p><p><b> 界面如圖:</b></p><p><b> 4.2 數(shù)據(jù)庫設(shè)計</b></p><p>
60、; 關(guān)系型數(shù)據(jù)庫是目前應(yīng)用最廣泛的數(shù)據(jù)庫。既然是面向?qū)ο笙到y(tǒng)設(shè)計,數(shù)據(jù)庫設(shè)計當然也要是面向?qū)ο蟮摹,F(xiàn)在要考慮如何對類進行持久化操作,即如何將對象類映射到關(guān)系數(shù)據(jù)庫的二維表。目前可以采用數(shù)據(jù)庫建模工具來實現(xiàn),象PowerDesigner、Rose 等。</p><p><b> 4.2.1 ER圖</b></p><p> 2. 操作員實體E-R圖如圖所示:<
61、;/p><p> 圖2-11 操作員實體E—R圖</p><p> 4.3.2 物理表結(jié)構(gòu)圖</p><p> 將ER模型中的實體轉(zhuǎn)換為物理表,得到物理表結(jié)構(gòu)如下:</p><p> 設(shè)計表“admin”</p><p> 設(shè)計表“system”</p><p> 設(shè)計表“member”
62、</p><p> 4.4 開發(fā)環(huán)境的選擇</p><p> 4.4.1系統(tǒng)開發(fā)工具</p><p> 本系統(tǒng)采用VisualStuido2005作為系統(tǒng)開發(fā)工具。Visual Studio 是微軟公司推出的開發(fā)環(huán)境,是目前最流行的 Windows 平臺應(yīng)用程序開發(fā)環(huán)境。使用Visual Studio 2005, 專業(yè)開發(fā)人員能夠:使用改進后的可視化設(shè)計工具、
63、編程語言和代碼編輯器,享受高效率的開發(fā)環(huán)境 ,在統(tǒng)一的開發(fā)環(huán)境中開發(fā)并調(diào)試多層次的服務(wù)器應(yīng)用程序 使用集成的可視化數(shù)據(jù)庫設(shè)計和報告工具,創(chuàng)建SQL Server 2005解決方案</p><p> 4.4.2數(shù)據(jù)庫的選擇</p><p> SQL Server2000是一個具備完全Web支持的數(shù)據(jù)庫產(chǎn)品,其特點如下:</p><p> 真正的客戶機/服務(wù)器體系
64、結(jié)構(gòu)。</p><p> 1.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。</p><p> 豐富的編程接口工具,為用戶進行程序設(shè)計提供了更大的選擇余地。</p><p> 2.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackO
65、ffice產(chǎn)品集成。</p><p> 3.很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦Windows 2000的大型多處理器等多種平臺使用。</p><p> 4.對Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 </p><p> 5.SQL Server提供數(shù)據(jù)倉庫功能,這個功能只在Oracle和其他更昂貴的
66、DBMS中才有。</p><p> 4.4.3 系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計</p><p> 本系統(tǒng)采用B/S結(jié)構(gòu),系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖見圖4-11。</p><p> 圖4-11系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖</p><p> Fig4-11 Net Architecture Diagram of System</p><p> 客戶機配
67、置情況如下表4-8所示。</p><p> 表4-8 (Table 4-8)</p><p> 支持軟件安裝情況如下表4-9所示。</p><p> 表4-9 (Table 4-9)</p><p><b> 5 編碼</b></p><p> 5.1 概述開發(fā)工具及編程腳本</p
68、><p> 5.1.1 JSP技術(shù)</p><p> JSP是由Sun微系統(tǒng)公司于1999年6月推出的一項技術(shù),是基于JavaServlet以及整個Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立先進、安全和跨平臺的動態(tài)網(wǎng)站。JSP技術(shù)在多個方面加速了動態(tài)Web頁面的開發(fā)。</p><p> 與微軟公司的ASP技術(shù)相比,JSP具有如下優(yōu)點:</p>
69、<p> (1) 開放的技術(shù):JSP技術(shù)基于平臺和服務(wù)器的相互獨立,技術(shù)支持來自廣泛的、專門的、各種工具包,有服務(wù)器的組件和數(shù)據(jù)庫產(chǎn)品開發(fā)商提供。相比之下,ASP技術(shù)主要依賴MICROSOFT支持。</p><p> (2) 平臺和服務(wù)器的獨立性:JSP編寫的代碼可運行在任何符合JAVA語法結(jié)構(gòu)的環(huán)境中。這樣JSP就能夠運行在多種WEB服務(wù)器上并支持來自多家開發(fā)商提供的各種工具包。</p&g
70、t;<p> (3) 開放的開發(fā)過程,開放的源碼:自1995年以來,SUN用開放過程方法同國際JAVA組織合作開發(fā)和修改JAVA技術(shù)和規(guī)范。</p><p> (4) JSP標記可擴充性:JSP技術(shù)能夠為開發(fā)者擴展JSP標記,充分利用與XML兼容的標記技術(shù)強大的功能,大大減少對腳本語言的依賴。</p><p> (5)JSP跨平臺的可重用性:JSP組件(EJB,Java
71、Bean或定制的JSP標記)都是跨平臺可重用的。</p><p> 5.1.2 JavaBean技術(shù)</p><p> JSP作為一個很好的動態(tài)網(wǎng)站開發(fā)語言得到了越來越廣泛的應(yīng)用,在各類JSP應(yīng)用程序中,JSP + JavaBean的組合成為了一種事實上最常見的JSP程序的標準. JavaBean是描述Java的軟件組件模型,有點類似于Microsoft的COM組件概念。在Java模型
72、中,通過JavaBean可以無限擴充Java程序的功能,通過JavaBean的組合可以快速的生成新的應(yīng)用程序。對于程序員來說,最好的一點就是JavaBean可以實現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護性等等也有很重大的意義。JavaBean通過Java虛擬機(Java Virtual Machine)可以得到正確的執(zhí)行,具有平臺無關(guān)性。</p><p> 一個JavaBean有三個部分組成:</p>
73、<p> 屬性(Property)</p><p> Bean的屬性就是對象的屬性,但提供了屬性讀取和設(shè)置的接口支持。例如一個時鐘Bean可以有時區(qū)和鎮(zhèn)鈴屬性,日歷Bean可以有年份和月份屬性。每個屬性通常遵守簡單的方法命名規(guī)則。這樣可以很方便的找出Bean提供的屬性,然后查詢屬性值或改變屬性值,對Bean進行操作。</p><p> 方法(Method)</p&
74、gt;<p> 由于Bean本身是Java對象,調(diào)用這個對象的方法是與其交互作用的唯一途徑。JavaBean嚴格遵守面向?qū)ο蟮念愒O(shè)計邏輯,不讓外界訪問其任何實例字段(沒有Public字段)。這樣,方法調(diào)用的是接觸Bean的唯一途徑。</p><p><b> 事件(Event)</b></p><p> Bean與其他軟件組件交流信息的主要方式是發(fā)
75、送和接收事件。這與對象之間通過消息通信類似。</p><p> JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,JavaBean更多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來了越來越強的生命力。利用非可視化JavaBean, 來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等等,可以很好地實現(xiàn)業(yè)務(wù)邏輯和前臺程序(如JSP)的分離,使得系統(tǒng)具有更好的健壯性和靈活性。</p><
76、p> 5.1.3 JDBC技術(shù)</p><p> JDBC是Java的開發(fā)者——Sun的JavaSoft公司制定的Java數(shù)據(jù)庫連接JavaDataBaseConnectivity技術(shù)的簡稱,是為各種常用數(shù)據(jù)庫提供無縫聯(lián)接的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺應(yīng)用程序中的作用類似。JDBC有一個非常獨特的動態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來
77、完成對數(shù)據(jù)庫的訪問包括以下四個主要組件:Java的應(yīng)用程序、JDBC驅(qū)動器管理器、驅(qū)動器和數(shù)據(jù)源。簡單地說,JDBC能完成下列三件事: </p><p> (1)同一個數(shù)據(jù)庫建立連接; </p><p> (2)向數(shù)據(jù)庫發(fā)送SQL語句; </p><p> (3)處理數(shù)據(jù)庫返回的結(jié)果。</p><p> JDBC是一種可用于執(zhí)行SQL
78、語句的JavaAPI(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計接口)。它由一些Java語言寫的類、界面組成。JDBC給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標準的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 </p><p> 通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。也就是說,開發(fā)人員可以不必寫一
79、個程序訪問Sybase,寫另一個程序訪問Oracle,再寫一個程序訪問Microsoft的SQLServer。用JDBC寫的程序能夠自動地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。不但如此,使用Java編寫的應(yīng)用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上編寫不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開發(fā)人員在開發(fā)數(shù)據(jù)庫應(yīng)用時真正實現(xiàn)“WriteOnce,RunEverywhere!” </p>&
80、lt;p> Java具有健壯、安全、易用等特性,而且支持自動網(wǎng)上下載,是一種很好的與數(shù)據(jù)庫線連接而使用的編程語言。它所需要的是Java應(yīng)用如何同各種各樣的數(shù)據(jù)庫連接,JDBC正是實現(xiàn)這種連接的關(guān)鍵。 </p><p> JDBC擴展了Java的能力,如使用Java和JDBCAPI就可以公布一個Web頁,頁中帶有能訪問遠端數(shù)據(jù)庫的Applet。或者企業(yè)可以通過JDBC讓全部的職工(他們可以使用不同的操作系
81、統(tǒng),如Windwos,Machintosh或UNIX)在Intranet上連接到幾個全球數(shù)據(jù)庫上,而這幾個全球數(shù)據(jù)庫可以是不相同的。</p><p> 5.1.4 用JDBC訪問數(shù)據(jù)庫</p><p> 所有的數(shù)據(jù)庫的對象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想連接數(shù)據(jù)庫,首先要將驅(qū)動程序調(diào)入。</p><p>
82、 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");這是JDBC-ODBC 的驅(qū)動程序。 </p><p> 要想連接一個指定的數(shù)據(jù)庫,必須創(chuàng)建Connection類的一個實例。 </p><p> String url = "jdbc:odbc:Grocery prices"; </p>
83、<p> Connection con = DriverManager.getConnection(url); </p><p> 注意在此用到的數(shù)據(jù)庫名稱是在ODBC設(shè)置控制面板中輸入的數(shù)據(jù)資源名。URL語法對于不同類型的數(shù)據(jù)庫會很不一樣。 語法是這樣的: jdbc:subprotocol:subname 開頭都是JDBC,后面是子協(xié)議,然后是ODBC名稱。 </p><p&g
84、t; 若要使用純JDBC驅(qū)動程序,必須安裝第三方軟件提供的驅(qū)動程序,一般在數(shù)據(jù)庫的官方網(wǎng)站上可以找到這里不做討論。</p><p> 本系統(tǒng)采用JDBC-ODBC的驅(qū)動程序連接數(shù)據(jù)庫,并使用JavaBean組件,有效的避免了代碼的重復(fù),具體過程如下:</p><p> package exam; </p><p> import java.sql.*;
85、</p><p> public class ExamBean {</p><p> String strDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";//JDBC-ODBC驅(qū)動程序</p><p> String strDBUrl="jdbc:odbc:exam";</p>
86、;<p> private Connection conn=null;</p><p> private Statement stmt=null;</p><p> ResultSet rs=null;</p><p> //<!--注冊數(shù)據(jù)庫驅(qū)動程序--></p><p> public ExamBean
87、() {</p><p><b> try {</b></p><p> Class.forName(strDBDriver);</p><p><b> }</b></p><p> //<!—異常處理--></p><p> catch(java.l
88、ang.ClassNotFoundException e){</p><p> System.err.println("exam():"+e.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p> //&
89、lt;!—建立數(shù)據(jù)庫連接及定義數(shù)據(jù)查詢--></p><p> public ResultSet executeQuery(String sql){</p><p><b> rs=null;</b></p><p><b> try{</b></p><p> conn=Driver
90、Manager.getConnection(strDBDriver);//創(chuàng)建數(shù)據(jù)庫連接對象 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持數(shù)據(jù)回滾</p><p> rs=stmt.executeQuery(sql);</p><p> }
91、catch(SQLException ex){</p><p> System.err.println("aq.executeQuery:"+ex.getMessage());</p><p><b> }</b></p><p> return rs;</p><p><b> }
92、</b></p><p> //<!—定義數(shù)據(jù)更新操作--></p><p> public void executeUpdate(String sql){</p><p> stmt=null;</p><p><b> try{</b></p><p> co
93、nn=DriverManager.getConnection(strDBDriver);</p><p> stmt=conn.createStatement();</p><p> stmt.executeUpdate(sql);</p><p> stmt.close();</p><p> }catch(SQLException
94、 ex){</p><p> System.err.println("aq.executeQuery:"+ex.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p> //<!—關(guān)閉數(shù)據(jù)庫連接--&
95、gt;</p><p> public void closeStmt(){</p><p><b> try{</b></p><p> stmt.close();</p><p> }catch(SQLException e){</p><p> e.printStackTrace()
96、;</p><p><b> }</b></p><p><b> }</b></p><p> public void closeConn(){</p><p><b> try{</b></p><p> conn.close();<
97、/p><p> }catch(SQLException e){</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> 5.2 腳本習(xí)慣說明</p><
98、p> 無論是哪一種JSP實現(xiàn),在一定 的階段,它們的某些版本都會出現(xiàn)給系統(tǒng)帶來危險的安全隱患,即使 JSP開發(fā)者遵從了安全編程慣例也無濟于事。例如,在Allai re的JRun的一個版本中,如果請求URL包含字符串“.js p%00”作為JSP腳本擴展名的一部分,服務(wù)器不會忽略nul l字節(jié),它會把頁面視為一個靜態(tài)的非JSP頁面之類的東西。這樣 ,服務(wù)器會請求操作系統(tǒng)打開該頁面,而這時null字節(jié)卻被忽略 ,結(jié)果提供給用戶的是J
99、SP頁面的源代碼而不是頁面的執(zhí)行結(jié)果。 </p><p> 類似地,Tom cat的一個版本也有一個安全隱患。只要請求類如下面的格式,它 會讓攻擊者看到JSP頁面的源代碼: </p><p> http://server/page.j s%2570 </p><p> 這 里的騙局在于,%25是URL編碼的“%”,而70是“p”的十 六進制值。Web服務(wù)器不會
100、調(diào)用JSP處理器(因為URL沒有以 “.jsp”結(jié)尾),但靜態(tài)文件處理器會設(shè)法把URL映射到正確 的文件名字(再一次解碼URL)。 </p><p> 另外,許多Web服務(wù)器和JSP實現(xiàn)都帶有示 范腳本,這些示范腳本常常包含安全隱患。在把服務(wù)器部署到一個不 無惡意的環(huán)境(即Internet)之前,禁止對所有這些腳本的 訪問有利于安全。 </p><p> 簡而言之,JSP開發(fā)者應(yīng)該清楚
101、:在自己正在開發(fā)的平臺上,當 前有哪些安全隱患。訂閱BUGTRAQ和所有供應(yīng)商提供的郵件列 表是跟蹤這類信息的好方法。</p><p><b> 6 系統(tǒng)調(diào)試與測試</b></p><p><b> 6.1 程序調(diào)試</b></p><p> 在設(shè)計系統(tǒng)的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時
102、自動提示,并請求立即糾正,因此,這類錯誤比較容易發(fā)現(xiàn)和糾正。但另一類錯誤是在程序執(zhí)行時由于不正確的操作或?qū)δ承?shù)據(jù)的計算公式的邏輯錯誤導(dǎo)致的錯誤結(jié)果。這類錯誤隱蔽性強,有時會出現(xiàn),有時又不出現(xiàn),因此,對這一類動態(tài)發(fā)生的錯誤的排查是耗時費力的。</p><p><b> 6.2 程序的測試</b></p><p> 6.2.1 測試的重要性及目的</p>
103、<p><b> ?。?)測試的重要性</b></p><p> 軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗本階段的成果是否接近預(yù)期的目標,盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進
104、行測試,錯誤的延時擴散常常會導(dǎo)致最后成品測試的巨大困難。 </p><p> 事實上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計表明
105、,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內(nèi),討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。 </p><p> 在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度
106、,這包括: </p><p> ?、?認為測試工作不如設(shè)計和編碼那樣容易取得進展難以給測試人員某種成就感; </p><p> ?、?以發(fā)現(xiàn)軟件錯誤為目標的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責(zé)任者工作的一種否定; </p><p> ?、?測試工作枯燥無味,不能引起人們的興趣; </p><p> ④ 測試工作是艱苦而細致
107、的工作; </p><p> ?、?對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。 </p><p> 這些觀點對軟件測試工作是極為不利的,必須澄清認識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。 </p><p><b> ?。?)測試的目的 </b></p><p> 如果測試的目的是為了盡可
108、能多地找出錯誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯比較多的位置。 </p><p> ?、?軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程; </p><p> ?、?測試是為了證明程序有錯,而不是證明程序無錯誤; </p><p> ?、?一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤; </p><p> ④ 一個成功的測試是
109、發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。 </p><p> 這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導(dǎo),認為發(fā)現(xiàn)錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。 </p><p> 首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當前所采用的軟件過
110、程的缺陷,以便改進。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。</p><p> 6.2.2 測試的步驟</p><p> 與開發(fā)過程類似,測試過程也必須分步驟進行,每個步驟在邏輯上是前一個步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由若干個模塊組成。因此,大型軟件系統(tǒng)
111、的測試基本上由下述幾個步驟組成:</p><p> ?。?)模塊測試 在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細設(shè)計的錯誤。</p><p> ?。?)系統(tǒng)測試 在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。</p><p> (3)驗收測試 在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。</p><p>
112、 6.2.3 測試的主要內(nèi)容</p><p> 為了保證測試的質(zhì)量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試、確認測試和系統(tǒng)測試。 </p><p><b> ?。?)單元測試 </b></p><p> 單元測試集中在檢查軟件設(shè)計的最小單位—模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編
113、碼的錯誤。 </p><p><b> ?。?)集成測試 </b></p><p> 集成測試是將模塊按照設(shè)計要求組裝起來同時進行測試,主要目標是發(fā)現(xiàn)與接口有關(guān)的問題。如一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預(yù)期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯誤等。 </p>
114、<p><b> ?。?)確認測試 </b></p><p> 確認測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是確認測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。 </p><p><b>
115、(4)系統(tǒng)測試 </b></p><p> 軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運行,進行系統(tǒng)測試。包括恢復(fù)測試、安全測試、強度測試和性能測試等。 </p><p> 單獨對系統(tǒng)的測試主要從以下幾方面入手:</p><p> ?、?功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和
116、必須的測試,通常還會以正式的軟件說明書為測試標準。</p><p> ?、?強度測試及性能測試:測試系統(tǒng)能力最高實際限度,即軟件在一些超負荷情況下功能實現(xiàn)的情況。</p><p> ③ 安全測試:驗證安裝在系統(tǒng)內(nèi)的保護機構(gòu)確實能夠?qū)ο到y(tǒng)進行保護,使之不受各種非常的干擾。針對本系統(tǒng)主要是對權(quán)限系統(tǒng)的測試和對無效數(shù)據(jù)、錯數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測試。</p><p&g
117、t; 經(jīng)過上述的測試過程對軟件進行測試后,軟件基本滿足開發(fā)的要求,測試宣告結(jié)束。 </p><p><b> 結(jié)束語</b></p><p> 本文通過本系統(tǒng)設(shè)計與開發(fā),從而得出下列結(jié)論: </p><p> ?。?)學(xué)習(xí)一門新技術(shù),最重要的是實踐,只有多動手才能盡快掌握它。</p><p> ?。?)一個系
118、統(tǒng)的開發(fā),經(jīng)驗是最重要的,經(jīng)驗不足,就難免會有許多考慮不周之處。</p><p> ?。?)要想吸引更多的用戶,系統(tǒng)的界面必須要美觀、有特色、友好,功能要健全。不過由于經(jīng)驗不足,我設(shè)計的圖形界面比較簡單。只是對基本功能進行了開發(fā)。</p><p> (4)本次開發(fā),我參考了很多本系統(tǒng)的例子,吸取了一些別的本系統(tǒng)的長處,對自己的畢業(yè)設(shè)計進行了完善,但是還有很多的不足之處,有待以后進一步學(xué)習(xí)
119、。</p><p> 實踐證明,本系統(tǒng)有著很好的發(fā)展前景,經(jīng)測試運行。本文所制作的系統(tǒng)界面友好、使用靈活、操作簡單、功能齊全、表現(xiàn)方式獨特,已基本具備了成熟的技術(shù)理論。</p><p> 由于時間倉促,本次設(shè)計由我完成本系統(tǒng)的制作,對我這樣一個JSP新手而言所制作的模塊還有不完善的地方。數(shù)據(jù)庫的設(shè)計也比較簡單。還有很多畢業(yè)設(shè)計中用到JSP語言的知識也不夠全面,還有很多地方不能夠作到完全
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 269jsp 物流中心倉儲信息管理系統(tǒng)的設(shè)計與實現(xiàn)sqlserver
- 基于JSP的企業(yè)產(chǎn)品材料數(shù)據(jù)管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于MVC和ExtJS的產(chǎn)品管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 運動產(chǎn)品管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 老鄉(xiāng)雞產(chǎn)品管理系統(tǒng)設(shè)計與實現(xiàn).pdf
- 統(tǒng)一產(chǎn)品管理系統(tǒng)的設(shè)計和實現(xiàn).pdf
- 家電企業(yè)客戶服務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于.net和sqlserver的鋼瓶管理系統(tǒng)的設(shè)計與實現(xiàn)
- PRM系統(tǒng)中產(chǎn)品管理子系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 圣勞倫斯生物產(chǎn)品管理系統(tǒng)的設(shè)計和實現(xiàn).pdf
- 基于J2EE和SQLServer的客戶存款系統(tǒng)的設(shè)計與實現(xiàn).pdf
- jsp企業(yè)快信系統(tǒng)的設(shè)計與實現(xiàn)
- jsp企業(yè)快信系統(tǒng)的設(shè)計與實現(xiàn)
- 上饒聯(lián)通客戶維系禮品管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 雙合焊機產(chǎn)品管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于條碼技術(shù)的產(chǎn)品管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于JSP實現(xiàn)的體育用品管理系統(tǒng).pdf
- 基于.net平臺的液晶產(chǎn)品管理系統(tǒng)的設(shè)計與實現(xiàn)
- 債權(quán)交易系統(tǒng)產(chǎn)品管理模塊的設(shè)計與實現(xiàn).pdf
- 農(nóng)信社客戶服務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)
評論
0/150
提交評論