版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 名車坊汽車服務(wù)管理系統(tǒng)</p><p> [摘要] 隨著計算機(jī)的普及和計算機(jī)科學(xué)技術(shù)的飛速發(fā)展,人們開始越來越多地利用計算機(jī)解決實際問題。汽車服務(wù)管理系統(tǒng)是現(xiàn)代企業(yè)信息管理的重要部分之一,面對大量的汽車百貨零件信息、汽車裝飾、汽車美容、汽車保養(yǎng)以及員工的工資績效管理等,采用傳統(tǒng)的紙張?zhí)幚硇畔⒗速M大量的時間、人力和物力,且數(shù)據(jù)的準(zhǔn)確性低。因此,開發(fā)一個界面友好,易于操作的汽車服務(wù)管理系統(tǒng)軟
2、件進(jìn)行自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。</p><p> 作為動態(tài)頁面的實現(xiàn),JSP技術(shù)已經(jīng)形成了一整套獨有的理論。JSP是Microsoft提出的一種網(wǎng)絡(luò)服務(wù)器端編程環(huán)境。JSP已經(jīng)成為開發(fā)動態(tài)網(wǎng)站的重要而快速、有效的工具。JSP強(qiáng)大的功能使之成為一種優(yōu)秀的服務(wù)器技術(shù)。隨著網(wǎng)絡(luò)技術(shù)的日益成熟,JSP技術(shù)在網(wǎng)絡(luò)編程中也變得越來越重要。所以,在在本次畢業(yè)設(shè)計中采用了JSP作為開發(fā)工具,構(gòu)建了
3、一個能實現(xiàn)簡單的小型管理系統(tǒng)——名車坊汽車服務(wù)管理系統(tǒng)。本系統(tǒng)采用Myeclipse7.0和JDK Version1.6開發(fā)工具,它提供的各種內(nèi)部及外部控件,可以幫助我們設(shè)計出功能強(qiáng)大,頁面有好的管理系統(tǒng);服務(wù)器選擇Tomcat6.0版本。另外在本次設(shè)計中,選擇MySQL作為后臺數(shù)據(jù)庫, 由于它本身通過一個高度優(yōu)化類庫實現(xiàn)SQL函數(shù)庫,使得查詢速度快而且查詢初始化之后沒有任何內(nèi)存分配,使得開發(fā)系統(tǒng)更加的方便。</p>&l
4、t;p> 本論文針對該系統(tǒng)的各個方面,對開發(fā)過程中涉及到的技術(shù)和工具都分別進(jìn)行了闡述。系統(tǒng)功能主要包括以下方面:人員信息管理、汽車百貨信息管理、汽車裝飾管理、汽車美容管理、汽車保養(yǎng)管理以及人員工資報表等。</p><p> [關(guān)鍵詞] JSP技術(shù);汽車服務(wù);管理系統(tǒng)</p><p> Square Cars Car Service Management System</p
5、><p> [Abstract]With the proliferation of computers and the rapid development of computer science and technology, more and more people began using computers to solve practical problems. Automotive Service Mana
6、gement System is a modern enterprise information management an important part of the face of a large number of vehicles department stores part information, car decoration, car, vehicle maintenance and performance managem
7、ent, staff wages, the use of traditional paper processing of information will</p><p> As the realization of dynamic pages, JSP technology has formed a set of unique theory. JSP is Microsoft proposed a netwo
8、rk server-side programming environment. JSP has become an important and dynamic website development fast and effective tool. JSP powerful features make it an excellent server technology. With the increasing maturity of n
9、etwork technology, JSP technology in network programming has become increasingly important. Therefore, in this graduation project using JSP as a development too</p><p> This thesis focuses on various aspect
10、s of the system, involved in the process of developing the technology and tools are described. System functions include the following areas: information management, information management department car, automobile decor
11、ation management, car management, vehicle maintenance management and staff salaries reporting.</p><p> [Keywords] JSP Technology Automotive Service Management System</p><p><b> 目 錄<
12、/b></p><p><b> 1 緒論1</b></p><p><b> 1.1課題意義1</b></p><p><b> 1.2課題目的1</b></p><p> 1.2.1系統(tǒng)目標(biāo)設(shè)計1</p><p> 1.2.
13、2系統(tǒng)功能要求2</p><p> 2開發(fā)工具和環(huán)境介紹3</p><p> 2.1 JSP簡介3</p><p> 2.2 JavaScript簡介4</p><p> 2.3 jQuery簡介4</p><p> 2.4系統(tǒng)數(shù)據(jù)庫介紹4</p><p> 2.4.1數(shù)
14、據(jù)庫的概念4</p><p> 2.4.2MySQL簡介5</p><p><b> 2.5開發(fā)環(huán)境6</b></p><p><b> 3需求分析7</b></p><p><b> 3.1設(shè)計背景7</b></p><p><
15、b> 3.2用戶需求7</b></p><p> 3.3系統(tǒng)架構(gòu)的選擇8</p><p> 3.4邏輯結(jié)構(gòu)10</p><p> 3.5物理結(jié)構(gòu)10</p><p> 3.6概念結(jié)構(gòu)設(shè)計11</p><p><b> 4數(shù)據(jù)庫設(shè)計13</b></p&
16、gt;<p> 4.1 數(shù)據(jù)庫實體關(guān)系圖設(shè)計13</p><p> 4.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計16</p><p> 4.3 數(shù)據(jù)字典17</p><p> 4.3.1 數(shù)據(jù)項17</p><p> 4.3.2數(shù)據(jù)結(jié)構(gòu)19</p><p> 4.3.3數(shù)據(jù)流20</p>
17、<p> 4.3.4數(shù)據(jù)存儲20</p><p> 4.3.5處理過程21</p><p><b> 5詳細(xì)設(shè)計22</b></p><p> 5.1 劃分功能模塊22</p><p> 5.2 系統(tǒng)的基本流程23</p><p> 5.3 程序流程圖24&l
18、t;/p><p> 5.4操作數(shù)據(jù)庫的實現(xiàn)25</p><p> 5.4.1連接池的工作原理25</p><p> 5.4.2操作數(shù)據(jù)庫的代碼實現(xiàn)25</p><p> 5.4.2數(shù)據(jù)庫連接的關(guān)閉26</p><p> 5.5 系統(tǒng)實現(xiàn)27</p><p> 6系統(tǒng)測試與維護(hù)
19、29</p><p> 6.1系統(tǒng)測試方法29</p><p> 6.2系統(tǒng)維護(hù)30</p><p><b> 7結(jié)束語33</b></p><p><b> 致 謝34</b></p><p><b> 參考文獻(xiàn) 35</b><
20、;/p><p><b> 1 緒論</b></p><p><b> 1.1課題意義 </b></p><p> 從汽車美容概念進(jìn)中國市場到現(xiàn)在已經(jīng)有十幾年的時間了,汽車美容方式的不斷升級及美容服務(wù)的“星級化”告訴業(yè)內(nèi)人士,汽車美容行業(yè)已經(jīng)正式走了成熟發(fā)展時期。的確,中國有龐大的汽車市場,是汽車美容市場火爆的可靠保障
21、。看好這個市場的商家紛紛向行業(yè)進(jìn)軍,一時之間汽車美容店遍地開花,汽車美容連鎖也成了行業(yè)熱門話題。</p><p> 汽車服務(wù)行業(yè)的確是“黃金產(chǎn)業(yè)”,主要是因為該行業(yè)屬于社會經(jīng)濟(jì)發(fā)展的產(chǎn)物,是隨著汽車保有量的增加而自然形成的新興行業(yè),她具有技術(shù)含量高和專業(yè)人才匱乏的現(xiàn)實發(fā)展特點,屬于“先發(fā)展先受益”的行業(yè)。初步形成一定的行業(yè)規(guī)范,但總體來說我國的汽車后服務(wù)市場剛剛開始,從服務(wù)模式和發(fā)展模式等方面的行業(yè)特征還不夠穩(wěn)
22、定,今后幾年之內(nèi)必然要進(jìn)行一輪殘酷的競爭,重新洗牌的結(jié)果是真正意義上的規(guī)范經(jīng)營的汽車美容裝飾養(yǎng)護(hù)服務(wù)業(yè)的開始。</p><p> 但是我國的管理信息化水平還處在初級階段,主要表現(xiàn)在對信息的交互、人力物力的管理以及信息的大力推廣等方面,而面對龐大的信息量, 這時的人工管理幾乎無法實現(xiàn),在這種情況下用數(shù)據(jù)庫進(jìn)行管理變的尤為必要,這可以發(fā)揮計算機(jī)的優(yōu)勢,就需要有汽車服務(wù)管理系統(tǒng)來提高汽車服務(wù)管理工作的效率.通過這樣的
23、系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計和快速的查詢,從而減少管理方面的工作量和減少人為的錯誤。</p><p><b> 1.2課題目的</b></p><p> 1.2.1系統(tǒng)目標(biāo)設(shè)計</p><p> 使得汽車服務(wù)管理工作更加清晰、條理化、自動化。</p><p> 很容易地完成對汽車日常裝飾、美容、保養(yǎng)、修
24、理等有關(guān)的各類數(shù)據(jù)進(jìn)行輸入、修改于查詢等。</p><p> 不同的用戶具有不同的權(quán)限,對各類信息實現(xiàn)不同的操作</p><p> 對汽車零件實現(xiàn)了模糊查詢,提供對職工信息和工資報表的信息維護(hù),并且本系統(tǒng)各模塊之間彼此聯(lián)系,緊密結(jié)合在一起。</p><p> 系統(tǒng)設(shè)計界面友好、操作方便、并能夠?qū)崿F(xiàn)數(shù)據(jù)操作,從而保證數(shù)據(jù)庫信息的一致性。</p>&
25、lt;p> 1.2.2系統(tǒng)功能要求</p><p> 名車坊汽車服務(wù)管理系統(tǒng)</p><p> 本系統(tǒng)提供查詢零件信息、日常交易維護(hù)、職工信息管理、統(tǒng)計報表查看等幾個功能模塊。</p><p> 系統(tǒng)各個模塊都有著較為完善和細(xì)致的功能,用于滿足不同用戶的需求,同時它們之間彼此聯(lián)系,有機(jī)結(jié)合在一起。</p><p> 本系統(tǒng)界面
26、友好、易于操作。</p><p> 對系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)及時更新,保持?jǐn)?shù)據(jù)一致性。</p><p> 由于數(shù)據(jù)庫內(nèi)的信息會很多,注意數(shù)據(jù)庫表格設(shè)計,使得用戶易于操作。</p><p> 2開發(fā)工具和環(huán)境介紹 </p><p><b> 2.1 JSP簡介</b></p><p> JSP
27、(Java Server Pages)技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易[6]。</p><p> Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,
28、然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫,重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能夠瀏覽[1]。</p><p><b> JSP內(nèi)置對象:</b></p><p> reques
29、t對象:該對象封裝了用戶提交的信息,通過調(diào)用該對象相應(yīng)的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息,它是ServletRequest的一個實例。</p><p> response對象:網(wǎng)頁傳回給用戶端的回應(yīng),response對象主要將JSP處理數(shù)據(jù)后的結(jié)果傳回到客戶端,其作用域是它所在的頁面。常用的方法sendRedirect()是重新定向客戶端的請求。</p><p>
30、 session對象:為發(fā)送請求的客戶端建立會話,并只對HTTP請求有效,session對象表示目前個別用戶的會話狀況,用此項機(jī)制可以輕易識別每一個用戶,然后對每一個別用戶的要求,給予正確的響應(yīng)。session對象也可以存儲獲取的用戶相關(guān)的數(shù)據(jù)。</p><p> application對象:是JSP引擎正在執(zhí)行的內(nèi)容。有些時候服務(wù)器需要維護(hù)全局的一些數(shù)據(jù)在服務(wù)器工作的期間,application對象能夠起到
31、保存信息的作用。application的兩個主要方法setAttribute和getAttribute分別用來存儲一個變兩個和讀取一個變量。</p><p> out對象:用來輸出各種類型的數(shù)據(jù)流。</p><p> page對象:對應(yīng)this關(guān)鍵字。JSP網(wǎng)頁本身,page對象是當(dāng)前頁面轉(zhuǎn)換后的Servlet類的實例。從轉(zhuǎn)換后的Servlet類的代碼中,可以看到這種關(guān)系:Object
32、 page = this;在JSP頁面中,很少使用page對象。</p><p> config對象:代表該JSP的配置信息,該對象更多地在Servlet中有效。</p><p> exception對象:該對象代表其他頁面中的異常和錯誤。</p><p> pageContext對象:該對象代表該JSP頁面上下文,使用該對象可以訪問頁面中的共享數(shù)據(jù)。<
33、/p><p> 2.2 JavaScript簡介</p><p> Javascript是一種由Netscape的LiveScript發(fā)展而來的原型化繼承的面向?qū)ο蟮膭討B(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當(dāng)時服務(wù)端需要對數(shù)據(jù)進(jìn)行驗證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗證步驟浪費的時間太多。
34、于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗證的基本功能。</p><p> JavaScript的一個重要功能就是面向?qū)ο蟮墓δ埽ㄟ^基于對象的程序設(shè)計,可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開發(fā)[2]。</p><p> 一組包含數(shù)據(jù)的屬性和對屬性中包含數(shù)據(jù)進(jìn)行操作的方法,稱為對象。比如要設(shè)定網(wǎng)頁的背景顏色,所針對的對象就是docu
35、ment,所用的屬性名是bgcolor,如document.bgcolor="blue",就是表示使背景的顏色為藍(lán)色。</p><p> 2.3 jQuery簡介</p><p> Jquery是繼prototype之后又一個優(yōu)秀的Javascrīpt框架。它是輕量級的js庫(壓縮后只有21k) ,它兼容CSS3,還兼容各種瀏覽器 (IE 6.0+, FF 1.5+
36、, Safari 2.0+, Opera 9.0+)。jQuery使用戶能更方便地處理HTML documents、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互[9]。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用也說得很詳細(xì),同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。<
37、/p><p> 2.4系統(tǒng)數(shù)據(jù)庫介紹</p><p> 2.4.1數(shù)據(jù)庫的概念</p><p> 數(shù)據(jù)庫是以數(shù)據(jù)(數(shù)據(jù)就是對客觀事物的符號表示,是存儲在計算機(jī)中的模擬客觀事物的一系列信息。對于計算機(jī)科學(xué)而言,數(shù)據(jù)的含義極為廣泛,凡是可存儲的信息,如文本、圖象、聲音等都可以通過二進(jìn)制編碼而形成數(shù)據(jù))為對象,指為了滿足某種特定應(yīng)用的需要,按照一定的數(shù)據(jù)模型在計算機(jī)系統(tǒng)
38、中組織、存儲和使用數(shù)據(jù)的數(shù)據(jù)集合。數(shù)據(jù)庫系統(tǒng)是管理大量的、持久的、可靠的和共享的數(shù)據(jù)的工具。</p><p><b> 數(shù)據(jù)庫有以下特點:</b></p><p> (1)集成性:數(shù)據(jù)有兩層含義,一個是數(shù)據(jù)本身,一個是數(shù)據(jù)之間的關(guān)系。集成就是指把數(shù)據(jù)集中到一起來,按照一定的結(jié)構(gòu)形式進(jìn)行存儲,并通過一系列的機(jī)制約束數(shù)據(jù) 之間的關(guān)系,避免數(shù)據(jù)重復(fù)或不合要求。</
39、p><p> (2)量大性:數(shù)據(jù)庫中存放的數(shù)據(jù)量一般都比較龐大,不能同時在內(nèi)存中全部調(diào)用,而只能通過外部存儲器存儲,通常使用大容量的可移動磁盤或硬盤等設(shè)備。</p><p> (3)共享性:指多個不同的用戶,為了不同的目的,可以使用不同的語言,通過不同的方式,訪問同一個數(shù)據(jù)庫,而訪問的范圍、可執(zhí)行的操作會有所區(qū)別。數(shù)據(jù)庫系統(tǒng)會提供相應(yīng)的機(jī)制,保證這種共享在有序的條件下進(jìn)行,可以避免因為同步
40、而造成的錯誤。</p><p> (4)持久性:一般來說,數(shù)據(jù)庫中是數(shù)據(jù)都需要長期保存。</p><p> 2.4.2MySQL簡介</p><p> 在Java編程中通常要與數(shù)據(jù)庫打交道,對于數(shù)據(jù)量較小的應(yīng)用,一般選用MySQL作為數(shù)據(jù)庫,因為MySQL數(shù)據(jù)庫比較簡單,功能也比較齊全,數(shù)據(jù)的備份、拷貝都很方便,且程序發(fā)布時不需要額外單獨安裝其它的數(shù)據(jù)庫管理軟
41、件[5]。因此,在功能夠滿足要求的條件下,MySQL數(shù)據(jù)庫往往成為一些小型數(shù)據(jù)庫軟件的首選。</p><p> 而本系統(tǒng)使用的正是MySQL數(shù)據(jù)庫。MySQL數(shù)據(jù)庫經(jīng)過多年的發(fā)展,技術(shù)已經(jīng)相當(dāng)成熟。使用這種成熟的數(shù)據(jù)庫技術(shù),有利于數(shù)據(jù)庫的使用和維護(hù),節(jié)約開發(fā)成本。MySQL數(shù)據(jù)庫和其他數(shù)據(jù)庫相比也有很大的優(yōu)勢,它有四大優(yōu)點:</p><p><b> (1)優(yōu)化 <
42、/b></p><p> 對于MySQL的優(yōu)化,我們可以說,主要的問題在于你的硬件條件,而非MySQL本身。不過對于Access,(以及其他桌面數(shù)據(jù)庫軟件)事情就不是這樣了。沒錯,MicrosoftJetDatabase的確實有效率,不過它還不是最快的。如果你的數(shù)據(jù)庫設(shè)計得非常差,你的網(wǎng)站還是會受到影響而速度變慢的。數(shù)據(jù)庫結(jié)構(gòu)設(shè)計也會影響到MySQL,例如,MySQL并不支持外鍵(foreignkey)。
43、這個缺點會影響到你的數(shù)據(jù)庫設(shè)計以及網(wǎng)站的效率。對于使用MySQL做數(shù)據(jù)庫的網(wǎng)站,你應(yīng)該注意的是,如何讓硬盤存取IO減少到最低值、如何讓一個或多個CPU隨時保持在高速作業(yè)的狀態(tài)、以及適當(dāng)?shù)木W(wǎng)絡(luò)帶寬,而非實際上的數(shù)據(jù)庫設(shè)計以及資料查詢語句。事實上,有些網(wǎng)站開發(fā)者將MySQL稱為目前市面上跑得最快的數(shù)據(jù)庫。</p><p><b> (2)備份 </b></p><p&
44、gt; 如果你曾經(jīng)有過搶救一個損壞的MDB檔案的慘痛經(jīng)驗,那么你會對MySQL表示非常激賞。這是MySQL另一個勝過Access的地方。首先,mysqldump會產(chǎn)生一個比Access好很多而且也更可靠的備份檔案。相比之下,在Access中你只是將一個MDB檔拷貝起來做備份。其次,即使MySQL的備份有部分損壞,復(fù)原起來也要比一個損壞的MDB檔要容易得多了。</p><p> (3)可延伸性及資料處理能力
45、</p><p> 句登山者的話來說,將Access數(shù)據(jù)庫來跟MySQL相比,簡直就是像把印第安那的小山丘拿來跟科羅拉多洛磯山脈的Pike'sPeak頂相比較。事實就是這么簡單∶MySQL可以處理的檔案比Access所能處理的檔案大很多。如果你硬將Access數(shù)據(jù)庫弄到100MB的MDB檔案時,你要準(zhǔn)備好一個字典厚的紀(jì)錄本來記錄來自客戶對于網(wǎng)站效率低下的抱怨。而類似的數(shù)據(jù)庫在MySQL上面跑,就不會發(fā)生
46、承載過重的跡象。</p><p> (4)多樣性 </p><p> MySQL同時提供高度多樣性,能夠提供很多不同的使用者介面,包括命令行客戶端操作,網(wǎng)頁瀏覽器,以及各式各樣的程序語言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包裝好的客戶端,或者干脆自己寫一個合適的應(yīng)用程序。MySQL可用于Unix,Windows,以及OS/2等平臺,因此它可
47、以用在個人電腦或者是服務(wù)器上。</p><p><b> 2.5開發(fā)環(huán)境</b></p><p> 名車坊汽車服務(wù)管理系統(tǒng)的開發(fā)與運行環(huán)境如下:</p><p> 開發(fā)環(huán)境:Windows XP</p><p> 開發(fā)工具:Myeclipse7.0、JDK Version1.6</p><p&
48、gt; 數(shù)據(jù)庫管理系統(tǒng):MySQL</p><p> 服務(wù)器:Tomcat6.0</p><p> 運行環(huán)境:Windows 2000/XP/2003</p><p><b> 3需求分析</b></p><p><b> 3.1設(shè)計背景</b></p><p>
49、 進(jìn)行數(shù)據(jù)庫設(shè)計首先必須準(zhǔn)確了解和分析用戶需求(包括數(shù)據(jù)和處理)。目的是為名車坊汽車服務(wù)管理數(shù)據(jù)庫系統(tǒng)的設(shè)計打下牢牢的基礎(chǔ),是數(shù)據(jù)庫開發(fā)的重要文件依據(jù),主要為數(shù)據(jù)庫設(shè)計人員使用,是用戶和系統(tǒng)分析員的項目依據(jù)文件。作為“地基”的需求分析是否做得充分與準(zhǔn)確,它決定了在其上構(gòu)建數(shù)據(jù)庫大廈的速度和質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個數(shù)據(jù)庫設(shè)計返工重做。</p><p> 本系統(tǒng)的開發(fā)是設(shè)計一個名車坊汽車服務(wù)管理系統(tǒng)。
50、</p><p><b> 3.2用戶需求</b></p><p> 本系統(tǒng)是針對企業(yè)的汽車服務(wù)管理系統(tǒng),因此名車坊汽車服務(wù)管理系統(tǒng)的用戶包括經(jīng)理和普通員工。主要涉及管理汽車百貨、汽車裝飾、美容項目、保養(yǎng)項目、業(yè)務(wù)信息、工資業(yè)績、銷售圖形分析等多種數(shù)據(jù)信息。</p><p> 實現(xiàn)的具體功能如下:</p><p>
51、 管理汽車百貨——經(jīng)理負(fù)責(zé)對各種零件信息的查詢、錄入、修改、刪除等操作。</p><p> 管理汽車裝飾——經(jīng)理負(fù)責(zé)對汽車裝飾信息的查詢、錄入、修改、刪除等操作。</p><p> 管理美容項目——經(jīng)理負(fù)責(zé)對汽車美容信息的查詢、錄入、修改、刪除等操作。</p><p> 管理保養(yǎng)項目——經(jīng)理負(fù)責(zé)對汽車保養(yǎng)信息的查詢、錄入、修改、刪除等操作。</p>
52、;<p> 管理業(yè)務(wù)信息——經(jīng)理和普通員工均可以對管理業(yè)務(wù)信息進(jìn)行查詢、錄入、修改、刪除等操作。</p><p> 工資業(yè)績信息——經(jīng)理和普通員工都有權(quán)限查看每個人的工資信息,每個職工的工資均采用基本工資加提成的算法得出最終結(jié)果</p><p> 銷售圖形分析——經(jīng)理和普通員工都有權(quán)限查看企業(yè)所有職工的銷售總額。</p><p> 系統(tǒng)用戶管理
53、——系統(tǒng)管理員負(fù)責(zé)用不同的權(quán)限來限制不同用戶對系統(tǒng)的使用。</p><p> 以上是用戶對系統(tǒng)的基本的功能要求,此外用戶還要求系統(tǒng)的效率要高,查詢速度要快,比較小的冗余,易維護(hù),具有較高的數(shù)據(jù)安全性。</p><p> 3.3系統(tǒng)架構(gòu)的選擇</p><p> 通過系統(tǒng)分析,本系統(tǒng)采用MVC架構(gòu),MVC架構(gòu)是"Model-View-Controller
54、"的縮寫,中文翻譯為"模型-視圖-控制器"。MVC應(yīng)用程序總是由這三個部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己。 MVC架構(gòu)是一個復(fù)雜的架構(gòu),其實現(xiàn)也顯得非常復(fù)雜。但是
55、,我們已經(jīng)總結(jié)出了很多可靠的設(shè)計模式,多種設(shè)計模式結(jié)合在一起,使MVC架構(gòu)的實現(xiàn)變得相對簡單易行。Views的實現(xiàn)顯然可以用JSP來實現(xiàn)Controller控制Views的顯示,可以用Servlet實現(xiàn)[4]。Model通常是一個調(diào)停者,可采用JavaBean來實現(xiàn)[8]。 </p><p> MVC與J2EE[7]架構(gòu)的對應(yīng)關(guān)系是:View處于Web Tier或者說是Client Tier,通常是JSP/Se
56、rvlet,即頁面顯示部分。Controller也處于Web Tier,通常用Servlet來實現(xiàn),即頁面顯示的邏輯部分實現(xiàn)。Model處于Middle Tier,通常用服務(wù)端的JavaBean[1]或者EJB實現(xiàn),即業(yè)務(wù)邏輯部分的實現(xiàn)。</p><p> 視圖是模型的表示,它提供用戶交互界面。使用多個包含單顯示頁面的用戶部件,復(fù)雜的Web頁面可以展示來自多個數(shù)據(jù)源的內(nèi)容,并且網(wǎng)頁人員,美工能獨自參與這些Web
57、頁面的開發(fā)和維護(hù)。</p><p> 視圖部分大致處理流程如下:首先,頁面模板定義了頁面的布局;頁面配置文件定義視圖標(biāo)簽的具體內(nèi)容(用戶部件);然后,由頁面布局策略類初始化并加載頁面;每個用戶部件根據(jù)它自己的配置進(jìn)行初始化,加載校驗器并設(shè)置參數(shù),以及事件的委托等;用戶提交后,通過了表示層的校驗,用戶部件把數(shù)據(jù)自動提交給業(yè)務(wù)實體即模型。</p><p> 用控制器提供一個控制和處理請求的
58、集中入口點,它負(fù)責(zé)接收、截取并處理用戶請求;并將請求委托給分發(fā)者類,根據(jù)當(dāng)前狀態(tài)和業(yè)務(wù)操作的結(jié)果決定向客戶呈現(xiàn)的視圖。在這一部分主要定義了HttpReqDispatcher(分發(fā)者類)、HttpCapture(請求捕獲者類)、Controller(控制器類)等,它們相互配合來完成控制器的功能。請求捕獲者類捕獲HTTP請求并轉(zhuǎn)發(fā)給控制器類??刂破黝愂窍到y(tǒng)中處理所有請求的最初入口點??刂破魍瓿梢恍┍匾奶幚砗蟀颜埱笪薪o分發(fā)者類;分發(fā)者類分
59、發(fā)者負(fù)責(zé)視圖的管理和導(dǎo)航,它管理將選擇哪個視圖提供給用戶,并提供給分發(fā)資源控制。在這一部分分別采用了分發(fā)者、策略、工廠方法、適配器等設(shè)計模式。</p><p> 選擇MVC架構(gòu)[12]的優(yōu)點如下:</p><p> 大部分用過程語言比如ASP、PHP開發(fā)出來的Web應(yīng)用,初始的開發(fā)模板就是混合層的數(shù)據(jù)編程。例如,直接向數(shù)據(jù)庫發(fā)送請求并用HTML顯示,開發(fā)速度往往比較快,但由于數(shù)據(jù)頁面的
60、分離不是很直接,因而很難體現(xiàn)出業(yè)務(wù)模型的樣子或者模型的重用性。</p><p> 由于一個應(yīng)用被分離為三層,因此有時改變其中的一層就能滿足應(yīng)用的改變。一個應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需改動MVC的模型層。 </p><p> 控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起完成不同的請求,因此,控制層可以說是包含了用戶請求權(quán)限的概念。 </p><
61、;p> 另外,它還有利于軟件工程化管理[3]。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工程化、工具化產(chǎn)生管理程序代碼。</p><p> 因此該系統(tǒng)采用MVC架構(gòu)。</p><p><b> 3.4邏輯結(jié)構(gòu)</b></p><p> 名車坊汽車服務(wù)管理系統(tǒng)的特點就是利用Browser/Server(B/
62、S)結(jié)構(gòu)[11],提供了一個企業(yè)簡單的管理系統(tǒng),讓企業(yè)的管理更加科學(xué)、現(xiàn)代化。系統(tǒng)的優(yōu)勢在于系統(tǒng)簡單、功能強(qiáng)大、擴(kuò)展能力良好等性能。系統(tǒng)的網(wǎng)絡(luò)應(yīng)用原理示意圖如圖3-1所示:</p><p> 圖3-1 系統(tǒng)網(wǎng)絡(luò)應(yīng)用原理圖</p><p><b> 3.5物理結(jié)構(gòu)</b></p><p> 系統(tǒng)實現(xiàn)的物理結(jié)構(gòu)如圖3-2所示:</p&g
63、t;<p> 圖3-2 系統(tǒng)物理結(jié)構(gòu)圖</p><p> 概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進(jìn)行綜合、歸納與抽象,形成獨立于具體DBMS的概念模型。</p><p><b> 3.6概念結(jié)構(gòu)設(shè)計</b></p><p> 概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它通過對用戶需求進(jìn)行綜合、歸納與抽象,形成獨立于
64、具體DBMS的概念模型。</p><p> 數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理的關(guān)系,根據(jù)用戶的需求分析和名車坊汽車服務(wù)管理系統(tǒng)的需求,得出如下圖3-3所示的名車坊汽車服務(wù)管理系統(tǒng)數(shù)據(jù)流圖。</p><p> 圖 3-3 名車坊汽車服務(wù)管理系統(tǒng)數(shù)據(jù)流圖</p><p> 系統(tǒng)的功能模塊設(shè)計圖如圖所示。</p><p> 圖3-4 系統(tǒng)功能模塊設(shè)
65、計圖 </p><p><b> 4數(shù)據(jù)庫設(shè)計</b></p><p> 設(shè)計數(shù)據(jù)庫是指對于一個給定的應(yīng)用環(huán)境,包括硬件環(huán)境、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)等軟件環(huán)境,可以使用這些個環(huán)境來表達(dá)用戶的要求,構(gòu)造最優(yōu)秀的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及圍繞數(shù)據(jù)庫開展的應(yīng)用系統(tǒng),使之能夠有效地收集、存儲、操作和管理數(shù)據(jù),滿足企業(yè)組織中各類用戶的應(yīng)用需求。數(shù)據(jù)庫設(shè)計
66、的內(nèi)容主要包括結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計。</p><p> 結(jié)構(gòu)特性設(shè)計是指數(shù)據(jù)庫的邏輯結(jié)構(gòu)特性,即確定數(shù)據(jù)庫的數(shù)據(jù)模型[10]。行為特性設(shè)計是指確定數(shù)據(jù)庫應(yīng)用的行為和動作,并根據(jù)其行為特性設(shè)計出數(shù)據(jù)庫的子模式。在數(shù)據(jù)庫設(shè)計過程中,數(shù)據(jù)庫的結(jié)構(gòu)特性設(shè)計起著關(guān)鍵作用,行為特性設(shè)計起著輔助作用。</p><p> 按照數(shù)據(jù)庫規(guī)范設(shè)計的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設(shè)計分
67、為六個階段:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行和維護(hù)等步驟。下面將詳細(xì)介紹本次設(shè)計對于數(shù)據(jù)庫實體關(guān)系圖的設(shè)計以及數(shù)據(jù)庫邏輯結(jié)構(gòu)的設(shè)計。</p><p> 4.1 數(shù)據(jù)庫實體關(guān)系圖設(shè)計 </p><p> 由于直接將現(xiàn)實世界按具體數(shù)據(jù)模型進(jìn)行組織時必須同時考慮很多因素,設(shè)計工作非常復(fù)雜,并且效果也不很理想,因此需要一種方法能夠?qū)ΜF(xiàn)實世界的信息結(jié)構(gòu)
68、進(jìn)行描述。事實上這方面已經(jīng)有了一些方法,就是實體—聯(lián)系(Entity—Relational)方法,即通常所說的E—R方法。這種方法由于簡單、實用,因此得到了廣泛的應(yīng)用,也是目前描述信息結(jié)構(gòu)最常用的方法。</p><p> 將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)及概念模型的過程是概念結(jié)構(gòu)設(shè)計。為了描述數(shù)據(jù)庫結(jié)構(gòu)的概念模式,這里將采用E—R圖來描述數(shù)據(jù)庫的實體關(guān)系。E—R圖不僅能夠描述兩個實體之間的聯(lián)系,而且還能描
69、述兩個以上實體之間的聯(lián)系。</p><p> (1)用戶信息表中包含自動編號(主鍵)、用戶名、密碼、職工姓名、聯(lián)系電話、權(quán)限、基本工資、提成等字段。用戶信息實體關(guān)系圖如圖4-1所示。</p><p> 圖4-1 用戶信息實體關(guān)系圖</p><p> (2)汽車服務(wù)信息表中包含自動編號(主鍵)、服務(wù)時間、車牌號、聯(lián)系電話、百貨名稱、百貨數(shù)量、裝飾名稱、裝飾數(shù)量、
70、美容名稱、保養(yǎng)名稱、總價格、所屬職工等字段。汽車服務(wù)信息實體關(guān)系圖如圖4-2所示。</p><p> 圖4-2 汽車服務(wù)基本信息實體關(guān)系圖</p><p> (3)汽車百貨信息表中包含自動編號(主鍵)、百貨名稱、價格、百貨描述、數(shù)量等字段。汽車百貨信息實體關(guān)系圖如圖4-3所示。</p><p> 圖4-3 汽車百貨基本信息實體關(guān)系圖</p>
71、<p> (4)汽車保養(yǎng)信息表中包含自動編號(主鍵)、保養(yǎng)名稱、價格、保養(yǎng)描述等字段。汽車保養(yǎng)信息實體關(guān)系圖如圖4-4所示。</p><p> 圖4-4 汽車保養(yǎng)基本信息實體關(guān)系圖</p><p> (5)汽車美容信息表中包含自動編號(主鍵)、美容名稱、價格、美容描述等字段。汽車保養(yǎng)信息實體關(guān)系圖如圖4-4所示。</p><p> 圖4-5 汽
72、車美容基本信息實體關(guān)系圖</p><p> (6)汽車裝飾信息表中包含自動編號(主鍵)、裝飾名稱、價格、裝飾描述、數(shù)量等字段。汽車裝飾信息實體關(guān)系圖如圖4-6所示。</p><p> 圖4-6 汽車裝飾基本信息實體關(guān)系圖</p><p> 4.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的E
73、—R圖轉(zhuǎn)換成與選用的數(shù)據(jù)庫管理系統(tǒng)(DBMS)產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。</p><p> E—R圖轉(zhuǎn)為關(guān)系數(shù)據(jù)庫模型所要解決的問題是如何將實體和實體間的聯(lián)系轉(zhuǎn)換成關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。</p><p> 在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系
74、,實體之間的聯(lián)系通常是指不同實體之間的聯(lián)系。聯(lián)系是數(shù)據(jù)之間的關(guān)聯(lián)集合,是客觀存在的應(yīng)用語義鏈。兩個實體型之間的聯(lián)系可以分為三類:</p><p> 數(shù)據(jù)中兩實體之間1:1聯(lián)系轉(zhuǎn)換為一端至多對應(yīng)一端(也可以沒有)的關(guān)系模型,也可以說一端與另一端實體之間是一對一聯(lián)系。</p><p> 數(shù)據(jù)中兩實體間1:n聯(lián)系轉(zhuǎn)換為一個與n端對應(yīng)的關(guān)系模式合并的關(guān)系模式的方法是將聯(lián)系的屬性與1端得碼加入n
75、端作為屬性,主碼為n端實體的主碼。</p><p> 數(shù)據(jù)中兩實體之間m:n轉(zhuǎn)為一實體中的每個實例,在另一實體中有(n>=0)與之聯(lián)系,而對此端實體中的每個實例,在另一實體中也有m個實例(m>=0)與之聯(lián)系,也可以說兩實體之間的關(guān)系是多對多的聯(lián)系。</p><p><b> 4.3 數(shù)據(jù)字典</b></p><p><b&
76、gt; 4.3.1 數(shù)據(jù)項</b></p><p> 數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果,數(shù)據(jù)字典是對系統(tǒng)所用到的所有表結(jié)構(gòu)的描述,名車坊汽車服務(wù)管理系統(tǒng)的主要數(shù)據(jù)見下表。</p><p> 表 4.1 用戶基本信息表</p><p> 表 4.2 汽車百貨基本信息表</p><
77、p> 表 4.3 汽車保養(yǎng)基本信息表</p><p> 表 4.4 汽車服務(wù)基本信息表</p><p> 表 4.5 汽車美容基本信息表</p><p> 表4.6 汽車裝飾基本信息表</p><p><b> 4.3.2數(shù)據(jù)結(jié)構(gòu)</b></p><p> 數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間
78、的組合關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或若干個數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)混合組成。經(jīng)過數(shù)據(jù)項和用戶需求的分析,本系統(tǒng)數(shù)據(jù)結(jié)構(gòu)具體如下表所示:</p><p> 表 4.7 數(shù)據(jù)結(jié)構(gòu)表</p><p><b> 4.3.3數(shù)據(jù)流</b></p><p> 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健Mㄟ^對用戶的需求分析,
79、以及數(shù)據(jù)項和數(shù)據(jù)流的設(shè)計,得出了相應(yīng)的數(shù)據(jù)流描述如下表所示:</p><p> (1) 數(shù)據(jù)流定義表</p><p> 表 4.8 數(shù)據(jù)流定義表</p><p> (2) 外部項定義表</p><p> 表 4.8 外部項定義表</p><p><b> 4.3.4數(shù)據(jù)存儲</b><
80、;/p><p> 數(shù)據(jù)存儲是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。經(jīng)過數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)流的設(shè)計,本系統(tǒng)一共選用了三個數(shù)據(jù)存儲,具體對數(shù)據(jù)存儲的描述通常如下表所示:</p><p> 表 4.9 數(shù)據(jù)存儲表</p><p><b> 4.3.5處理過程</b></p><p> 處理過程的具體處理
81、邏輯一般用判定表或判定樹來描述。對于本系統(tǒng)用于汽車服務(wù)管理一共設(shè)計了四種處理方法,具體處理方式如下表所示:</p><p> 表 4.10 數(shù)據(jù)處理過程表</p><p><b> 5詳細(xì)設(shè)計</b></p><p> 5.1 劃分功能模塊</p><p> 根據(jù)系統(tǒng)功能的需求分析和企業(yè)對汽車服務(wù)管理的特點,經(jīng)過
82、模塊化的分析得到如下圖5-1所示的系統(tǒng)功能模塊結(jié)構(gòu)圖。</p><p> 圖5-1 系統(tǒng)功能模塊結(jié)構(gòu)圖</p><p> 5.2 系統(tǒng)的基本流程</p><p> 用戶首先進(jìn)入登錄界面,系統(tǒng)根據(jù)用戶名和密碼判斷是否為合法用戶,如果不是則拒絕進(jìn)入系統(tǒng);如果用戶屬于合法用戶,則根據(jù)不同的權(quán)限將會進(jìn)入系統(tǒng)的不同主界面。主界面的左邊是采用樹形做的系統(tǒng)的功能菜單,點擊對
83、應(yīng)的按鈕,就會跳轉(zhuǎn)到相應(yīng)的頁面。</p><p> 用戶登錄系統(tǒng)流程圖如下圖5-2所示。</p><p> 圖5-2 用戶登錄流程圖</p><p><b> 5.3 程序流程圖</b></p><p> 圖5-3 系統(tǒng)流程圖</p><p> 個人資料修改包括:經(jīng)理可以對所有職工的基本
84、信息進(jìn)行錄入、修改、刪除,其中查詢?yōu)槎鄺l件模糊查詢。普通職工只能對自己的基本信息進(jìn)行修改。</p><p> 業(yè)務(wù)信息管理:經(jīng)理可以通過多條件模糊查詢來查看所有職工的工作情況,而普通員工只能登錄時只能查看自己的業(yè)務(wù)信息。</p><p> 工資業(yè)績分析:經(jīng)理和普通員工均可以查看某個工作階段期間所有職工的銷售額情況以及工資等,而所有職工的工資都是經(jīng)過總銷售乘以提成再加上基本工資得出的。&
85、lt;/p><p> 銷售圖形分析:經(jīng)理和普通員工均可以查看每個職工的銷售金額。該銷售額將以柱形圖顯示。</p><p> 汽車百貨信息、汽車裝飾管理、汽車美容項目、汽車保養(yǎng)項目等只有經(jīng)理可以對其信息進(jìn)行錄入、修改以及刪除等操作,并且可以多條件模糊查詢各自基本信息。</p><p> 5.4操作數(shù)據(jù)庫的實現(xiàn)</p><p> 5.4.1連
86、接池的工作原理</p><p> 數(shù)據(jù)庫連接分為直接連接和池連接。直連接是指直接通過在Java代碼中打開連接并維護(hù),使用直連接的時候必須在完成對數(shù)據(jù)庫的操作后將連接關(guān)閉,否則,太多的將直接導(dǎo)致系統(tǒng)性能的下降,甚至超過數(shù)據(jù)庫服務(wù)器的連接限制,使得系統(tǒng)崩潰。</p><p> 池連接是被J2EE服務(wù)器打開和維護(hù)的,J2EE服務(wù)器啟動時會建立一定數(shù)量的池連接,具體的數(shù)量由配置參數(shù)決定。并一直
87、維持不少于此數(shù)目的池連接,程序中需要連接的時候,池驅(qū)動程序會返回一個未被使用的連接并標(biāo)記為忙,如果當(dāng)前沒有空閑的連接,池會新建一定數(shù)量的新連接,當(dāng)程序使用完連接池,池驅(qū)動程序?qū)⒋诉B接標(biāo)記為空閑,這樣其他的調(diào)用又可以使用這個連接了。</p><p> 連接池的基本思想就是預(yù)先的建立一些連接放置于內(nèi)存對象中以被使用。當(dāng)程序中需要建立數(shù)據(jù)庫連接時,只需從內(nèi)存中取一個來用而不用新建。同樣使用完畢后只需放回內(nèi)存即可。而連
88、接的建立,斷開都由連接池本身來管理,通過連接池可以大大的提高程序的效率。本次《民車坊汽車服務(wù)管理系統(tǒng)》的開發(fā)在數(shù)據(jù)庫連接時選擇了池連接。</p><p> 5.4.2操作數(shù)據(jù)庫的代碼實現(xiàn)</p><p> (1) 通過連接池連接數(shù)據(jù)庫,連接池連接數(shù)據(jù)庫的具體方法。</p><p> public conn() {</p><p><
89、;b> try {</b></p><p> ctx = new InitialContext(); //實例化上下文對象</p><p> ds = (DataSource) ctx.lookup("java:/comp/env/qc"); //通過JNDI找到數(shù)據(jù)源</p><p> con
90、n = ds.getConnection(); //從數(shù)據(jù)源中取出一個空閑連接</p><p> } catch (SQLException e) {</p><p> System.out.println(e.getMessage());</p><p> } catch (Exception e) {</p><
91、p> System.out.println(e.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p> (2) 查詢數(shù)據(jù)庫公共方法的實現(xiàn),具體實現(xiàn)方法如下。</p><p> public ResultSet que
92、ry(String sql) {</p><p><b> try {</b></p><p> stmt = conn.prepareStatement(sql);</p><p> rs = stmt.executeQuery();</p><p> return rs;</p><p&g
93、t;<b> }</b></p><p> catch (Exception e) {</p><p> System.out.println(e.getMessage());</p><p><b> }</b></p><p> return rs;</p><p&
94、gt;<b> }</b></p><p> (3) 添加、修改以及刪除數(shù)據(jù)庫信息公共方法的實現(xiàn),具體實現(xiàn)方法如下。</p><p> public int update(String sql) throws SQLException {</p><p><b> try {</b></p><
95、p> stmt = conn.prepareStatement(sql);</p><p> return stmt.executeUpdate();</p><p> } catch (Exception e) {</p><p> System.out.println(e.getMessage());</p><p><
96、;b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> 5.4.2數(shù)據(jù)庫連接的關(guān)閉</p><p> 數(shù)據(jù)庫連接是必須被關(guān)閉的,而關(guān)閉數(shù)據(jù)庫連接在直接連接和連接池中的意義是不同的。在直接連接中,數(shù)據(jù)
97、庫連接的關(guān)閉是真正意義上的關(guān)閉,而在連接池中的關(guān)閉實際上是把用過的數(shù)據(jù)庫連接重新放回連接池,等待在此被使用。數(shù)據(jù)庫連接的關(guān)閉具體方法的實現(xiàn)如下。</p><p> public void close() throws Exception{</p><p> if(rs != null) rs.close();</p><p> if(stmt != nul
98、l) stmt.close();</p><p> if(conn != null) conn.close();</p><p><b> }</b></p><p><b> 5.5 系統(tǒng)實現(xiàn)</b></p><p> 系統(tǒng)登錄界面的實現(xiàn)如下圖所示:</p><p>
99、; 圖5-4 系統(tǒng)登陸界面</p><p> 當(dāng)經(jīng)理輸入的用戶名和密碼驗證合格時,系統(tǒng)將進(jìn)入汽車服務(wù)主界面,如下圖所示:</p><p> 圖5-5 系統(tǒng)主界面</p><p> 用戶可以鼠標(biāo)右鍵將顯示對信息的錄入、更新以及刪除等操作,當(dāng)選擇添加信息時,將彈出一個添加框如下圖所示:</p><p> 圖5-6 業(yè)務(wù)添加頁面</
100、p><p> 用戶輸入用戶名和密碼檢驗正確時,可以進(jìn)入主界面查看任何職工的銷售情況,如下圖所示:</p><p> 圖5-7 所有職工銷售情況圖</p><p><b> 6系統(tǒng)測試與維護(hù)</b></p><p><b> 6.1系統(tǒng)測試方法</b></p><p>
101、在整個軟件生存期,確認(rèn)、驗證、測試分別有其側(cè)重的階段。確認(rèn)主要體現(xiàn)在計劃階段、需求分析階段,也會出現(xiàn)在測試階段;驗證主要體現(xiàn)在設(shè)計階段和編碼階段;測試主要體現(xiàn)在編碼階段。事實上,確認(rèn)、驗證、測試是相輔相成的,確認(rèn)無疑會產(chǎn)生驗證和測試的標(biāo)準(zhǔn),而驗證和測試通常又會幫助完成一些確認(rèn),特別是在系統(tǒng)測試階段。因此,軟件測試貫穿于軟件定義和開發(fā)的整個過程。軟件開發(fā)過程中所產(chǎn)生的需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細(xì)設(shè)計規(guī)格說明以及源程序都是軟件測試的
102、對象。</p><p> 無論怎樣強(qiáng)調(diào)軟件測試的重要性和它對軟件可靠性的影響都不過分。在開發(fā)畢業(yè)設(shè)計這種工程型的設(shè)計時,面對著錯綜復(fù)雜的問題,主觀認(rèn)識不可能完全符合客觀事實。因此,力求在系統(tǒng)測試時發(fā)現(xiàn)錯誤、糾正錯誤。因為:目前軟件測試仍然是保證軟件質(zhì)量的關(guān)鍵步驟,它是對軟件規(guī)格說明、設(shè)計和編碼的最后復(fù)審。</p><p> 軟件測試按照不同的劃分方法,有不同的分類。按照程序是否執(zhí)行,可
103、以分為靜態(tài)測試和動態(tài)測試;按照測試用例的設(shè)計方法,可以分為白盒測試和黑盒測試;按照開發(fā)階段劃分,可分為單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試和驗收測試;按照測試實施組織劃分,可分為開發(fā)方測試、用戶測試和第三方測試;按照是否使用工具軟件,可以分為手工測試和自動測試。本次設(shè)計選擇測試用例的設(shè)計方法,采用黑盒測試和白盒測試相互結(jié)合的方法。</p><p> 測試的關(guān)鍵是測試用例的設(shè)計[13],對任何工程產(chǎn)品都可用兩種
104、方法對其進(jìn)行測試:第一是基于產(chǎn)品的功能來規(guī)劃測試,檢查程序各功能是否實現(xiàn),并檢查其中的錯誤,這種測試稱為黑盒測試。第二是基于產(chǎn)品的內(nèi)部結(jié)構(gòu)來規(guī)劃測試,檢查內(nèi)部操作是否按規(guī)定執(zhí)行,各部分是否被充分利用,這種測試稱為白盒測試。一般來說,這兩類測試方法是從完全不同的起點出發(fā),兩類方法各有側(cè)重,各有優(yōu)缺點,構(gòu)成互補(bǔ)關(guān)系,在測試的實踐中都是有效和實用的,在規(guī)劃測試時需要把黑盒測試和白盒測試結(jié)合起來。通常在進(jìn)行單元測試時大都采用白盒測試,而在確認(rèn)測
105、試或系統(tǒng)測試中大都采用黑盒測試。</p><p> 黑盒測試又稱功能測試、數(shù)據(jù)驅(qū)動測試或基于軟件需求規(guī)格說明書的測試,是一種從用戶觀點出發(fā)的測試。用這種方法進(jìn)行測試時,把被測試程序當(dāng)作一個黑盒,在不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性,測試者只知道該程序的輸入和輸出之間的關(guān)系或程序的功能的情況下,依靠能夠反映這一關(guān)系的軟件需求規(guī)格說明書,來確定測試用例和推斷測試結(jié)果的正確性。軟件的黑盒測試被用來證實軟件功能的正確性和可操
106、作性。</p><p> 黑盒測試主要根據(jù)軟件需求規(guī)格說明書設(shè)計測試用例,并不涉及程序的內(nèi)部構(gòu)造。它是一種傳統(tǒng)的測試方法,有嚴(yán)格的規(guī)定和系統(tǒng)的方式可供參考。應(yīng)該說功能測試不僅能夠找到大多數(shù)其他測試方法無法發(fā)現(xiàn)的錯誤,而且是一些外購軟件、參數(shù)化軟件包以及某些生成的軟件的主要測試方法,由于無法得到源程序,用其他方法進(jìn)行測試是完全無能為力的。</p><p> 白盒測試又稱結(jié)構(gòu)測試、邏輯驅(qū)動
107、測試或基于程序的測試。它依賴于對程序細(xì)節(jié)的嚴(yán)密檢查,針對特定條件和與循環(huán)集設(shè)計測試用例,對軟件的邏輯路徑進(jìn)行測試。在程序的不同點檢驗“程序的狀態(tài)”以判定其實際情況是否和預(yù)期的狀態(tài)相一致。白盒測試主要是根據(jù)被測試程序的內(nèi)部結(jié)構(gòu)設(shè)計測試用例。</p><p> 黑盒測試法把程序看成是一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,黑盒測試在程序接口進(jìn)行測試,檢查程序功能是否按照要求規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮?/p>
108、輸入數(shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息的完整性;而白盒測試是先把程序看成是裝在一個透明的盒子里,我們完全了解程序的結(jié)構(gòu)和功能。這種方法按照程序內(nèi)部的邏輯測試程序,檢查程序中的每條通路是否能按照預(yù)定的要求正確工作。</p><p> 針對名車坊汽車服務(wù)管理系統(tǒng),采用黑盒法和白盒法相結(jié)合的方法,根據(jù)程序的具體內(nèi)容設(shè)計測試情況,并編制一些測試程序,上機(jī)運行,開展測試工作。</p><p>
109、;<b> 6.2系統(tǒng)維護(hù)</b></p><p> 系統(tǒng)維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正軟件運行錯誤,或者因滿足新的需求而加入新功能的修改軟件的過程。要求進(jìn)行維護(hù)的原因主要分為以下五種:</p><p> 1.在運行中發(fā)現(xiàn)在測試階段未能發(fā)現(xiàn)的潛在軟件錯誤和設(shè)計缺陷;</p><p> 2.根據(jù)實際情況,需要改進(jìn)系統(tǒng)設(shè)計,以增強(qiáng)系
110、統(tǒng)的功能,提高系統(tǒng)的性能;</p><p> 3.要求在某環(huán)境下已運行的系統(tǒng)能適應(yīng)特定的硬件、軟件、外部設(shè)備和通信設(shè)備等新的工作環(huán)境,或是要求適應(yīng)已變動的數(shù)據(jù)或文件;</p><p> 4.為使投入運行的系統(tǒng)與其它相關(guān)的程序有良好的接口,以利于協(xié)同工作;</p><p> 5.為使運行系統(tǒng)的應(yīng)用范圍得到必要的擴(kuò)充。</p><p>
111、對系統(tǒng)進(jìn)行維護(hù)的目的是為了糾正軟件開發(fā)過程未發(fā)現(xiàn)的錯誤,增強(qiáng),改進(jìn)和完善軟件的功能和性能,以適應(yīng)軟件的發(fā)展,延長軟件的壽命讓其創(chuàng)造更多的價值。</p><p> 根據(jù)以上目的可以把維護(hù)活動可以歸納為完善性維護(hù)、適應(yīng)性維護(hù)、糾錯性維護(hù)和預(yù)防性維護(hù)四類:</p><p> 1.完善性維護(hù):在系統(tǒng)漫長的使用過程中,為了滿足用戶使用過程中對系統(tǒng)提出的新的功能與性能要求,需要對原來的系統(tǒng)的功能進(jìn)
112、行修改或擴(kuò)充,這種擴(kuò)充系統(tǒng)功能,增強(qiáng)系統(tǒng)性能,提高系統(tǒng)運行效率和可維護(hù)性而進(jìn)行的維護(hù)活動稱為完善性維護(hù)。此維護(hù)活動工作量較大占整個維護(hù)工作的50%。例如:對黨員管理系統(tǒng),在使用中要不斷修改黨員管理程序,使其增加或刪除新的項目,滿足新需求;原來系統(tǒng)的查詢響應(yīng)速度較慢,要提高軟件的響應(yīng)速度;改變原來系統(tǒng)的用戶界面或增加聯(lián)機(jī)幫助信息;為系統(tǒng)的運行增加監(jiān)控設(shè)施等。此項維護(hù)主要采用的策略可以使用功能強(qiáng)、使用方便的工具,采用原型化方法開發(fā)等。<
113、;/p><p> 2.適應(yīng)性維護(hù):適應(yīng)性維護(hù)是為了適應(yīng)計算機(jī)的飛速發(fā)展,使系統(tǒng)適應(yīng)外部新的硬件和軟件環(huán)境或者數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入/輸出方式、數(shù)據(jù)存儲介質(zhì))發(fā)生的變化,而進(jìn)行修改系統(tǒng)的過程。例如:為現(xiàn)有的某個應(yīng)用問題實現(xiàn)一個數(shù)據(jù)庫管理系統(tǒng);對某個指定代碼進(jìn)行修改,如:從3個字符改為4個字符;縮短系統(tǒng)的應(yīng)答時間,使其達(dá)到特定的要求;修改兩個程序,使它們可以使用相同的記錄結(jié)構(gòu);修改程序,使其適用于另外的終
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車租賃管理系統(tǒng)畢業(yè)設(shè)計
- 汽車修理管理系統(tǒng)畢業(yè)設(shè)計
- 汽車出租業(yè)務(wù)管理系統(tǒng)畢業(yè)設(shè)計
- java家政服務(wù)管理系統(tǒng)畢業(yè)設(shè)計
- 汽車租賃管理系統(tǒng)設(shè)計與開發(fā)畢業(yè)設(shè)計
- 汽車租賃管理系統(tǒng)設(shè)計與開發(fā)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(汽車租賃管理系統(tǒng))開題報告
- 畢業(yè)設(shè)計——jsp的汽車租賃管理系統(tǒng)
- 汽車制動系統(tǒng)畢業(yè)設(shè)計
- 汽車轉(zhuǎn)向系統(tǒng)畢業(yè)設(shè)計
- 汽車制動系統(tǒng)畢業(yè)設(shè)計
- 汽車畢業(yè)設(shè)計--轉(zhuǎn)向系統(tǒng)設(shè)計
- 汽車防撞系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計論文 ----汽車售后服務(wù)
- 汽車制動系統(tǒng)畢業(yè)設(shè)計
- 家電售后服務(wù)管理系統(tǒng)畢業(yè)設(shè)計
- 汽車租賃管理系統(tǒng)畢業(yè)設(shè)計(論文)開題報告
- 畢業(yè)設(shè)計 汽車制動系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計—汽車銷售管理信息系統(tǒng)
- lotus_oa畢業(yè)設(shè)計服務(wù)系統(tǒng)畢業(yè)設(shè)計
評論
0/150
提交評論