畢業(yè)設(shè)計(jì)----4s汽車銷售業(yè)務(wù)系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  4S汽車銷售業(yè)務(wù)系統(tǒng)</p><p>  學(xué)院名稱: </p><p>  專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班 級(jí): </p><p>  姓 名:

2、 </p><p>  指導(dǎo)教師姓名: </p><p>  指導(dǎo)教師職稱: </p><p>  4S汽車銷售業(yè)務(wù)系統(tǒng)</p><p>  摘要: 本系統(tǒng)的工作是構(gòu)建了一個(gè)汽車銷售信息系統(tǒng)。汽車銷售信息系統(tǒng)的完成實(shí)現(xiàn)了企業(yè)信息化的目標(biāo),提高了企業(yè)

3、員工的工作效率。論文主要講述了系統(tǒng)的需求分析、系統(tǒng)設(shè)計(jì)及其實(shí)現(xiàn)的工作。需求分析從企業(yè)對(duì)功能的需求和軟件性能需求兩方面展開。系統(tǒng)設(shè)計(jì)中給出了系統(tǒng)的總體框架、功能模塊、拓?fù)浣Y(jié)構(gòu)。在數(shù)據(jù)庫(kù)設(shè)計(jì)中,介紹了數(shù)據(jù)庫(kù)的設(shè)計(jì)原則,并給出了本系統(tǒng)的基本表結(jié)構(gòu)。在系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,結(jié)合J2EE 的相關(guān)技術(shù)和開發(fā)方式對(duì)系統(tǒng)三個(gè)層的實(shí)現(xiàn)進(jìn)行闡述和分析。最后,對(duì)測(cè)試環(huán)境的選擇、單元測(cè)試、系統(tǒng)功能測(cè)試等,做了詳盡的描述。系統(tǒng)開發(fā)采用面向?qū)ο蠓椒ㄩ_發(fā)設(shè)計(jì),

4、系統(tǒng)體系結(jié)構(gòu)采用三層B/S結(jié)構(gòu),以Java為開發(fā)語(yǔ)言進(jìn)行程序設(shè)計(jì),運(yùn)用Web及JSP, Servlet, JavaBean等先進(jìn)技術(shù)對(duì)該軟件進(jìn)行開發(fā)和實(shí)現(xiàn)。由于使用Java語(yǔ)言進(jìn)行開發(fā),使系統(tǒng)具有跨平臺(tái)性,組件的使用讓系統(tǒng)具有可擴(kuò)展性、可重用性和可維護(hù)性。本系統(tǒng)界面直觀、清晰、簡(jiǎn)單,友好,風(fēng)格統(tǒng)一。該汽車銷售業(yè)務(wù)系統(tǒng)實(shí)現(xiàn)了汽車信息管理、客戶信息管理、訂單信息管理、倉(cāng)儲(chǔ)信息管理四大功能模塊,是一個(gè)具有功能豐富、運(yùn)行快捷、操作簡(jiǎn)單、易維護(hù)等

5、特點(diǎn)的汽車銷售</p><p>  關(guān)鍵詞:汽車銷售業(yè)務(wù)系統(tǒng);Java;JavaBean</p><p>  4S Auto Sales Systems of Business Service</p><p>  Abstract: This paper is the work of building a car sales information systems.

6、 Car sales information system has completed the goal of enterprise information, improve the working efficiency of enterprise employees. Papers for the system needs analysis, system design to achieve the system work. Anal

7、ysis of demand from the functional needs of enterprises and software needs of both start. System design of the system described in the overall framework of the functional module, topology. In the databas</p><p

8、>  Key words: car sales system; Java; JavaBean</p><p><b>  目錄</b></p><p><b>  序言1</b></p><p>  第1章 概 述2</p><p>  1.1 課題背景和意義2</p>

9、<p>  1.2 國(guó)內(nèi)銷售系統(tǒng)現(xiàn)狀2</p><p>  第2章 相關(guān)技術(shù)介紹4</p><p>  2.1 J2EE相關(guān)技術(shù)4</p><p>  2.1.1 J2EE概述4</p><p>  2.1.2 J2EE多層應(yīng)用模型4</p><p>  2.1.3 J2EE組件—容器體系結(jié)構(gòu)5

10、</p><p>  2.2 Browser/Server結(jié)構(gòu)5</p><p>  2.3 J2EE組件介紹6</p><p>  2.3.1 Servlet技術(shù)6</p><p>  2.3.2 JSP技術(shù)7</p><p>  第3章 汽車銷售業(yè)務(wù)系統(tǒng)需求分析8</p><p>

11、  3.1 需求分析的目的8</p><p>  3.2 系統(tǒng)的功能需求分析8</p><p>  3.2.1 汽車信息管理功能9</p><p>  3.2.2 客戶信息管理功能9</p><p>  3.2.3 系統(tǒng)設(shè)置功能9</p><p>  第4章 汽車銷售管理信息系統(tǒng)的設(shè)計(jì)10</p&g

12、t;<p>  4.1 系統(tǒng)的總體設(shè)計(jì)10</p><p>  4.1.1 系統(tǒng)設(shè)計(jì)原則10</p><p>  4.2 系統(tǒng)的框架結(jié)構(gòu)設(shè)計(jì)10</p><p>  4.3 系統(tǒng)的流程設(shè)計(jì)11</p><p>  4.4 系統(tǒng)的功能設(shè)計(jì)12</p><p>  4.4.1 汽車信息管理13&l

13、t;/p><p>  4.4.2 數(shù)據(jù)維護(hù)管理13</p><p>  4.5 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)14</p><p>  4.5.1 數(shù)據(jù)庫(kù)建設(shè)原則14</p><p>  4.5.2 E-R圖描述14</p><p>  4.5.3 數(shù)據(jù)庫(kù)的組成15</p><p>  4.5.4 數(shù)

14、據(jù)庫(kù)的結(jié)構(gòu)表16</p><p>  第5章 系統(tǒng)關(guān)鍵模塊的實(shí)現(xiàn)18</p><p>  5.1 系統(tǒng)開發(fā)平臺(tái)的建立18</p><p>  5.2 前臺(tái)關(guān)鍵模塊18</p><p>  5.2.1 汽車信息查詢頁(yè)面的實(shí)現(xiàn)18</p><p>  5.3 后臺(tái)關(guān)鍵模塊19</p><p

15、>  5.3.1 用戶登陸模塊的實(shí)現(xiàn)19</p><p>  5.3.2 客戶管理的實(shí)現(xiàn)20</p><p>  5.3.3 倉(cāng)庫(kù)信息管理的實(shí)現(xiàn)22</p><p>  5.4.1 JDBC概述24</p><p>  5.4.2 JDBC的主要對(duì)象24</p><p>  5.4.3 JDBC實(shí)現(xiàn)2

16、5</p><p>  5.4.4 配置連接池和數(shù)據(jù)源26</p><p>  第6章 4s汽車銷售業(yè)務(wù)系統(tǒng)的測(cè)試28</p><p>  6.1 測(cè)試的目的及意義28</p><p>  6.2 測(cè)試的方法28</p><p>  6.2.1單元測(cè)試28</p><p>  6.2.

17、2 集成測(cè)試29</p><p>  6.2.3 系統(tǒng)測(cè)試29</p><p><b>  結(jié)論31</b></p><p><b>  致謝33</b></p><p>  4s汽車銷售業(yè)務(wù)系統(tǒng)</p><p><b>  序言</b><

18、/p><p>  當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中離不開信息處理,這正使得計(jì)算機(jī)被廣泛的應(yīng)用于信息管理系統(tǒng)。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理和查詢。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了方便用戶網(wǎng)上購(gòu)物而設(shè)計(jì)的。</p

19、><p>  網(wǎng)絡(luò)4S汽車銷售業(yè)務(wù)系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性、數(shù)據(jù)安全性能好的數(shù)據(jù)庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。傳統(tǒng)企業(yè)開始與電子商務(wù)結(jié)合成為電子商務(wù)發(fā)展的一個(gè)熱點(diǎn)。這個(gè)熱點(diǎn)由于是在傳統(tǒng)企業(yè)內(nèi)部根據(jù)企業(yè)發(fā)展的自身需要而自發(fā)產(chǎn)生的。隨著互聯(lián)網(wǎng)的出現(xiàn),供應(yīng)鏈端的管理開始提供更高的效率來(lái)完

20、成一個(gè)新的利潤(rùn)的增長(zhǎng)。因而供應(yīng)鏈的上端——網(wǎng)上采購(gòu)(EP,E-Procurement)和下端——網(wǎng)上分銷(ED,E-Distribution)會(huì)成為企業(yè)對(duì)電子商務(wù)的基本需要。越來(lái)越多的人認(rèn)識(shí)到,電子商務(wù)不只是電子貿(mào)易,而是結(jié)合IT技術(shù)對(duì)采購(gòu)、生產(chǎn)和交易過(guò)程的高效率管理。隨著傳統(tǒng)產(chǎn)業(yè)和電子商務(wù)提供商的結(jié)合,電子商務(wù)的發(fā)展將會(huì)非常迅速。</p><p>  經(jīng)過(guò)分析,本系統(tǒng)將使用Java編程,使用Jbuilder作前

21、端開發(fā)工具,利用SQL Server 2000作后臺(tái)數(shù)據(jù)庫(kù)來(lái)進(jìn)行系統(tǒng)的開發(fā)。</p><p><b>  第1章 概 述</b></p><p>  1.1 課題背景和意義</p><p>  當(dāng)今,中國(guó)的汽車市場(chǎng)不斷擴(kuò)大,汽車制造企業(yè)的實(shí)力與日俱增,汽車經(jīng)銷商群體越來(lái)越龐大,但在多數(shù)汽車銷售企業(yè)中仍采用較為傳統(tǒng)的管理方式,紙制單據(jù)、手工業(yè)務(wù)

22、管理是信息管理的主要方式。這種方式不僅數(shù)據(jù)可靠性差,運(yùn)行效率低,而且統(tǒng)計(jì)分析難度較大,企業(yè)獲取有用統(tǒng)計(jì)信息的時(shí)間周期長(zhǎng)。企業(yè)與整個(gè)產(chǎn)業(yè)鏈中的供應(yīng)商、經(jīng)銷商、服務(wù)商等協(xié)作伙伴的商業(yè)信息交流主要通過(guò)電子郵件、電話及傳真的方式實(shí)現(xiàn),這將會(huì)嚴(yán)重影響商業(yè)信息交流的及時(shí)性和可靠性。所有這些問(wèn)題在不同程度上制約著企業(yè)的發(fā)展空間和發(fā)展速度,特別是網(wǎng)絡(luò)經(jīng)濟(jì)和信息化時(shí)代的到來(lái),采用先進(jìn)的管理方式以便增強(qiáng)企業(yè)的競(jìng)爭(zhēng)能力是汽車制造企業(yè)需面對(duì)的重要問(wèn)題。<

23、/p><p>  如何解決上述一系列問(wèn)題,如何快速適應(yīng)變化多端的市場(chǎng),如何運(yùn)用現(xiàn)代化的管理和技術(shù)手段降低產(chǎn)品成本、提高企業(yè)競(jìng)爭(zhēng)力,是我國(guó)汽車企業(yè)急需解決的問(wèn)題。信息技術(shù)和網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用和發(fā)展將為企業(yè)降低產(chǎn)品成本、優(yōu)化庫(kù)存結(jié)構(gòu)、拓展銷售渠道、提高服務(wù)效率等提供了可能,是汽車企業(yè)增強(qiáng)競(jìng)爭(zhēng)實(shí)力的必經(jīng)之路。</p><p>  1.2 國(guó)內(nèi)銷售系統(tǒng)現(xiàn)狀</p><p>  

24、我國(guó)將電子計(jì)算機(jī)應(yīng)用于經(jīng)濟(jì)管理方面起步較晚,直到七十年代左右才開始這方面的工作。而且,在我國(guó)計(jì)算機(jī)管理研究和實(shí)踐的開始階段,大多數(shù)項(xiàng)目都集中在人事、工資及倉(cāng)庫(kù)管理方面,很少涉足銷售管理領(lǐng)域。造成這種情況的主要原因是由于長(zhǎng)期以來(lái)的銷售管理工作不被重視,因此,開發(fā)者在其上的注意力就相應(yīng)小些,當(dāng)然,銷售工作的復(fù)雜性以及銷售效益的間接性也是比較重要的原因。近年來(lái),隨著市場(chǎng)機(jī)制的日益健全,企業(yè)自主權(quán)的不斷擴(kuò)大,銷售管理工作在企業(yè)中的地位越來(lái)越重要

25、。在此同時(shí),信息工作者也通過(guò)前一階段的工作積累了一定的經(jīng)驗(yàn),開始在銷售管理領(lǐng)域進(jìn)行管理信息系統(tǒng)的開發(fā)工作。不過(guò),總的來(lái)說(shuō),工作剛剛開始,銷售信息系統(tǒng)的理論還不十分完善。從目前的應(yīng)用狀況看,我國(guó)計(jì)算機(jī)輔助銷售的項(xiàng)目主要有以下幾類:</p><p>  (1)非獨(dú)立的銷售業(yè)務(wù)處理系統(tǒng)</p><p>  這類系統(tǒng)的典型特點(diǎn)是沒(méi)有把銷售單獨(dú)處理,而是僅作為其它系統(tǒng)的一個(gè)子功能。這類應(yīng)用主要是銷售

26、統(tǒng)計(jì)。如統(tǒng)計(jì)出每天的實(shí)際銷售量、實(shí)際收入以及拖欠貸款名單等。</p><p>  (2)單項(xiàng)銷售業(yè)務(wù)處理系統(tǒng)這類應(yīng)用是把某一項(xiàng)銷售業(yè)務(wù)建成獨(dú)立的子系統(tǒng),用以輔助某一方面的銷售管理工作。從掌握的資料看,這類系統(tǒng)主要是合同管理系統(tǒng)。</p><p><b>  (3)銷售信息系統(tǒng)</b></p><p>  這類應(yīng)用綜合各種銷售業(yè)務(wù),由計(jì)算機(jī)進(jìn)行統(tǒng)

27、一管理。它的特點(diǎn)是各子系統(tǒng)之間相互聯(lián)系,形成一個(gè)綜合的銷售信息處理系統(tǒng)。目前,我國(guó)這方面的系統(tǒng)還不多,總的來(lái)說(shuō)處于開發(fā)階段。我國(guó)的汽車銷售企業(yè),長(zhǎng)期以來(lái)依靠人工進(jìn)行銷售,沒(méi)有形成先進(jìn)和規(guī)范的銷售管理信息系統(tǒng)。</p><p>  第2章 相關(guān)技術(shù)介紹</p><p>  2.1 J2EE相關(guān)技術(shù)</p><p>  2.1.1 J2EE概述</p>

28、<p>  J2EE(Java 2 Enterprise Edition)是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化諸多與多級(jí)企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)[2]. J2EE平臺(tái)作為一種可擴(kuò)展的、全功能的平臺(tái),可以將關(guān)鍵的企業(yè)應(yīng)用擴(kuò)展到任何Web瀏覽器上并可適合多種不同的Internet數(shù)據(jù)流,可連接到幾乎任何一種傳統(tǒng)數(shù)據(jù)庫(kù)和解決方案。正是由于這樣的優(yōu)勢(shì),J2EE正在成為開發(fā)商創(chuàng)建電子商務(wù)應(yīng)用的實(shí)際標(biāo)準(zhǔn)。<

29、/p><p>  2.1.2 J2EE多層應(yīng)用模型</p><p>  J2EE平臺(tái)提供了一種多層的分布式客戶端的應(yīng)用模型(如圖2.1)[3]。一個(gè)多層的應(yīng)用能夠?yàn)橐韵碌拿總€(gè)服務(wù)提供獨(dú)立的層:</p><p><b>  動(dòng)態(tài)產(chǎn)生表現(xiàn)</b></p><p><b>  商業(yè)邏輯</b></p&g

30、t;<p><b>  數(shù)據(jù)訪問(wèn)</b></p><p>  Barkend系統(tǒng)集成</p><p>  圖2-1 J2EE的多層應(yīng)用模型</p><p>  多層的結(jié)構(gòu)可以得到一個(gè)更便于擴(kuò)展的分布式企業(yè)應(yīng)用。它可讓每個(gè)層集中在一個(gè)特定的角色上。例如讓一個(gè)Web服務(wù)器提供Web服務(wù),一個(gè)應(yīng)用服務(wù)器來(lái)提供應(yīng)用服務(wù),以及一個(gè)數(shù)據(jù)庫(kù)服務(wù)

31、器來(lái)提供數(shù)據(jù)庫(kù)服務(wù)。</p><p>  2.1.3 J2EE組件—容器體系結(jié)構(gòu)</p><p>  J2EE規(guī)范定義了4個(gè)主要的組件—容器類,J2EE是依據(jù)面向客戶還是面向服務(wù),面向Web還是面向純應(yīng)用程序來(lái)分類的。4個(gè)J2EE組件——容器模型詳述如下:</p><p>  Web應(yīng)用程序服務(wù)器:J2EE的Web組件有兩種,即Java Servlet和Java S

32、erver Page(JSP)。Web組件表示應(yīng)用相關(guān)的由Web服務(wù)器接收和請(qǐng)求處理并產(chǎn)生Web相應(yīng)。</p><p>  小應(yīng)用程序(Applet)客戶端:Applet</p><p>  是能在Web瀏覽器內(nèi)運(yùn)行的Java應(yīng)用程序,并在Web瀏覽器內(nèi)提供一個(gè)GUI。J2EE提供了把Applet駐留在標(biāo)準(zhǔn)化的小應(yīng)用程序容器環(huán)境的方法,并加入了從基于J2EE客戶機(jī)到基于J2EE服務(wù)器的支持

33、。</p><p>  應(yīng)用程序客戶端:應(yīng)用程序客戶端是基于Java的客戶端,通常運(yùn)行在客戶桌面或工作站上,并提供一個(gè)GUI。J2EE提供了在標(biāo)準(zhǔn)應(yīng)用程序客戶端容器環(huán)境內(nèi)配置應(yīng)用程序客戶端的方法,這種環(huán)境中又附加的API支持基于J2EE的客戶端充當(dāng)J2EE服務(wù)器。</p><p>  2.2 Browser/Server結(jié)構(gòu)</p><p>  本系統(tǒng)體系結(jié)構(gòu)采用如

34、圖2-2所示的三層的B/S結(jié)構(gòu)系統(tǒng)模型。B/S模式由用戶服務(wù)層、業(yè)務(wù)服務(wù)層和數(shù)據(jù)服務(wù)層構(gòu)成??蛻舳瞬捎脼g覽器,由瀏覽器向中間層業(yè)務(wù)服務(wù)層Web服務(wù)器發(fā)送信息,Web務(wù)器利用Jsp應(yīng)用程序向后端的數(shù)據(jù)服務(wù)層提出請(qǐng)求,數(shù)據(jù)庫(kù)處理接到請(qǐng)求,把查詢結(jié)果返回給WEB服務(wù)器,Web服務(wù)器向?yàn)g覽層作出響應(yīng),用戶通過(guò)瀏覽器可以看到數(shù)據(jù)庫(kù)的信息。</p><p>  該結(jié)構(gòu)的主要優(yōu)點(diǎn)包括:</p><p>

35、  (1)允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對(duì)獨(dú)立性,從而使整個(gè)系統(tǒng)的邏輯結(jié)構(gòu)更為清晰,能提高系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性。</p><p>  (2)允許更靈活有效地選用相應(yīng)的平臺(tái)和硬件系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺(tái)和各個(gè)組成部分可以具有良好的可升級(jí)性和開放性。例如,最初用一臺(tái)服務(wù)器,將數(shù)據(jù)層和功能層都配置在這臺(tái)服務(wù)器上。隨著業(yè)務(wù)的發(fā)展,用戶數(shù)和數(shù)據(jù)

36、量逐漸增加,這時(shí),就可以將此服務(wù)器為功能層的專用服務(wù)器,另外追加一臺(tái)專用于數(shù)據(jù)層的服務(wù)器。若業(yè)務(wù)進(jìn)一步擴(kuò)大,用戶數(shù)進(jìn)一步增加,則可以繼續(xù)增加功能層的服務(wù)器數(shù)目,用以分割數(shù)據(jù)庫(kù)。清晰、合理地分割三層結(jié)構(gòu)并使其獨(dú)立,可以使系統(tǒng)構(gòu)成的變更非常簡(jiǎn)單。因此,被分成三層的應(yīng)用基本上不需要修正。</p><p>  圖2-2 三層B/S結(jié)構(gòu)圖</p><p>  (3)三層結(jié)構(gòu)中,應(yīng)用的各層可以并行開發(fā)

37、,各層也可以選擇各自最適合的開發(fā)語(yǔ)言。使之能并行地而且是高效地進(jìn)行開發(fā),達(dá)到較高的性能價(jià)格比;對(duì)每一層的處理邏輯的開發(fā)和維護(hù)也會(huì)更容易些。</p><p>  2.3 J2EE組件介紹</p><p>  2.3.1 Servlet技術(shù)</p><p>  Servlet是用Java編寫的Server端程序,它與協(xié)議和平臺(tái)無(wú)關(guān)。Java Servlet可以動(dòng)態(tài)地?cái)U(kuò)展

38、Server的能力,并采用請(qǐng)求—響應(yīng)模式提供Web服務(wù)。</p><p>  Servlet運(yùn)行于有Servlet引擎所管理的Java虛擬機(jī)中,跟CGI腳本相似,Servlet被來(lái)自Web客戶機(jī)喚醒以處理請(qǐng)求,但CGI需要為每個(gè)請(qǐng)求創(chuàng)建一個(gè)新進(jìn)程,而一個(gè)Servlet被客戶端發(fā)送的第一個(gè)請(qǐng)求激活,然后它將繼續(xù)運(yùn)行于后臺(tái),等待以后的請(qǐng)求。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。這個(gè)過(guò)

39、程為:</p><p> ?、倏蛻舳税l(fā)送請(qǐng)求至服務(wù)器端;</p><p> ?、诜?wù)器將請(qǐng)求信息發(fā)送至Servlet;</p><p> ?、跾ervlet生成響應(yīng)內(nèi)容并將其傳給Server。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶端的請(qǐng)求;</p><p> ?、芊?wù)器將響應(yīng)返回給客戶端。</p><p>  一個(gè)Servl

40、et就是一個(gè)Java類。Java語(yǔ)言中有兩個(gè)Java包包含有Servlet的應(yīng)用程序接口(API)Javax.servlet.*和Javax.servlet.http.對(duì)于想開發(fā)基于客戶自定義協(xié)議的開發(fā)者,應(yīng)該使用Javax.servlet包中的類與界面;對(duì)于僅利用http協(xié)議與客戶端進(jìn)行交互的開發(fā)者,則只需要使用Javax.servlet.http包中的類與界面進(jìn)行開發(fā)即可。要開發(fā)一個(gè)Servlet,首先Java類必須實(shí)現(xiàn)Javax.

41、servlet.Servlet接口,既可以直接實(shí)現(xiàn),也可以用更常見(jiàn)的辦法,擴(kuò)展Javax.servlet.GenerieServlet或它的子類Javax.serviet.http.HttpServlet實(shí)現(xiàn).每個(gè)Servlet實(shí)例的生命中有三種類型的事件,這三種事件分別對(duì)應(yīng)于有Servlet引擎所調(diào)用的三個(gè)方法:inito方法、destory()方法、Service方法。</p><p>  使用Servlet

42、開發(fā)Web應(yīng)用具有如下的優(yōu)點(diǎn):(1)效率高。Servlet是在服務(wù)器端運(yùn)行的一個(gè)Java虛擬機(jī),因此在多次調(diào)用一個(gè)Servlet時(shí),只需對(duì)其進(jìn)行一次加載即可。(2)標(biāo)準(zhǔn)API。SUN公司為Servlet程序提供了一個(gè)標(biāo)準(zhǔn)的API。該API與協(xié)議無(wú)關(guān),保證了程序開發(fā)的一致性。(3)良好的可移植性。由于Servlet使用Java語(yǔ)言開發(fā),因此它具有Java語(yǔ)言的優(yōu)點(diǎn),可以做到“一次編譯,到處運(yùn)行”。</p><p>

43、  2.3.2 JSP技術(shù)</p><p>  Jsp的全稱是JavaServerPage,是由Sun公司推出的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它也提供了在HTML代碼中混合程序代碼,由語(yǔ)言引擎進(jìn)行解釋執(zhí)行的能力。嵌入JSP中用的是成熟強(qiáng)大的Java代碼,客戶端請(qǐng)求Jsp頁(yè)面時(shí),代碼被首先轉(zhuǎn)換成Java源文件,再編譯成支持HTTP. FTP等網(wǎng)絡(luò)協(xié)議的Class文件(即Servlet),并由Java虛擬機(jī)執(zhí)行.這種編譯操作僅在

44、對(duì)Jsp頁(yè)面的第一次請(qǐng)求時(shí)發(fā)生,雖然首次調(diào)用需要幾秒的編譯加載時(shí)間,但后續(xù)請(qǐng)求只需調(diào)用服務(wù)器端緩存的Servlet就可以了。</p><p>  Jsp使網(wǎng)頁(yè)的外觀設(shè)計(jì)與其動(dòng)態(tài)內(nèi)容分離。Jsp的頁(yè)面中的HTMI.標(biāo)簽定義了網(wǎng)頁(yè)的外觀,嵌在頁(yè)面中的腳本、JavaBean組件共同生成與應(yīng)用邏輯相關(guān)的動(dòng)態(tài)內(nèi)容。這樣精通網(wǎng)頁(yè)設(shè)計(jì)的人員只要關(guān)注HTML,而精通Java的軟件工程師則可以集中精力開發(fā)Java組件,任何一方對(duì)頁(yè)

45、面布局或應(yīng)用邏輯的改變都不會(huì)影響到另一方。Jsp技術(shù)為創(chuàng)建動(dòng)態(tài)WEB頁(yè)面提供了一個(gè)簡(jiǎn)捷而快速的方法。Jsp技術(shù)的設(shè)計(jì)目的是使得構(gòu)建基于WEB的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種WEB服務(wù)器、應(yīng)用服務(wù)器、瀏覽器和開發(fā)工具協(xié)調(diào)工作。Jsp具有四個(gè)鮮明的特點(diǎn):1將內(nèi)容的生成和顯示進(jìn)行分離:2.強(qiáng)調(diào)可重用的組件:3.采用標(biāo)記簡(jiǎn)化頁(yè)面的開發(fā);同時(shí)作為JAVA2平臺(tái)的一部分,Jsp相當(dāng)JAVA語(yǔ)言“一次編寫,各處運(yùn)行”的特點(diǎn)。4.具有

46、平臺(tái)和服務(wù)器的獨(dú)立性。這些特點(diǎn)使得Jsp技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開發(fā)。</p><p>  第3章 汽車銷售業(yè)務(wù)系統(tǒng)需求分析</p><p>  3.1 需求分析的目的</p><p>  系統(tǒng)需求分析的目的:與客戶和其他人員(系統(tǒng)的用戶,可以是系統(tǒng)分析設(shè)計(jì)人員,也可以是開發(fā)人員或其他與本系統(tǒng)有關(guān)的人或系統(tǒng))在系統(tǒng)的工作內(nèi)容方面達(dá)成并保持一致,使系統(tǒng)開發(fā)

47、人員能夠更清楚地了解系統(tǒng)需求;為計(jì)劃迭代的技術(shù)內(nèi)容提供基礎(chǔ);為估算開發(fā)系統(tǒng)所需成本和時(shí)間提供基礎(chǔ);定義用戶的需要和目標(biāo)。</p><p>  3.2 系統(tǒng)的功能需求分析</p><p>  圖3-1系統(tǒng)功能結(jié)構(gòu)圖</p><p>  3.2.1 汽車信息管理功能</p><p>  (1) 對(duì)汽車的基本信息進(jìn)行管理,包括汽車型號(hào)、排量、價(jià)格、

48、地區(qū)等參數(shù)的錄入、修改、刪除、查詢。</p><p>  (2)對(duì)車輛的狀態(tài)信息進(jìn)行管理,包括車輛預(yù)定、售出、未售等詳細(xì)資料的錄入、修改、刪除、查詢。</p><p>  3.2.2 客戶信息管理功能</p><p><b>  (1)客戶狀況</b></p><p>  包括客戶車輛訂購(gòu)信息;通過(guò)這些查詢可以了解客戶訂

49、單,交款情況,欠款情況,退款情況及訂單更改。</p><p><b>  (2)客戶基本信息</b></p><p>  客戶姓名、工作單位、聯(lián)系電話等信息的錄入、修改、刪除、查詢。</p><p>  3.2.3 系統(tǒng)設(shè)置功能</p><p>  本系統(tǒng)用戶共分兩級(jí),分別為管理員和普通用戶。以管理員身份登錄系統(tǒng)能獲得所

50、有的權(quán)限,可對(duì)整個(gè)系統(tǒng)進(jìn)行狀態(tài)和參數(shù)設(shè)置及維護(hù),確保系統(tǒng)的正常運(yùn)行。以普通用戶身份登錄系統(tǒng),只能進(jìn)行普通的業(yè)務(wù)操作,系統(tǒng)設(shè)置功能模塊是不可用的,兩級(jí)用戶的設(shè)計(jì)可以保證系統(tǒng)的安全運(yùn)轉(zhuǎn)。</p><p><b>  (1)用戶管理</b></p><p>  管理員可以使用此功能模塊增加用戶(包括具有管理員權(quán)限的用戶),刪除用戶、修改用戶和查詢用戶等信息。這些信息存儲(chǔ)在用

51、戶權(quán)限表UserAuthority中,此表描述了用戶的基本信息:用戶名、用戶登錄密碼、用戶權(quán)限。</p><p><b>  (2)數(shù)據(jù)刪除</b></p><p>  用于刪除指定日期的數(shù)據(jù),這些數(shù)據(jù)包括合同的圖形文件、訂車后沒(méi)有購(gòu)車的客戶資料、購(gòu)車后又退車的客戶資料等等一些無(wú)用資料。</p><p>  第4章 汽車銷售管理信息系統(tǒng)的設(shè)計(jì)

52、</p><p>  4.1 系統(tǒng)的總體設(shè)計(jì)</p><p>  4.1.1 系統(tǒng)設(shè)計(jì)原則</p><p>  汽車銷售管理信息系統(tǒng)的建立是一個(gè)復(fù)雜的系統(tǒng)工程,其建設(shè)的好壞不僅影響系統(tǒng)自身的應(yīng)用情況,也將對(duì)銷售管理信息系統(tǒng)的推廣產(chǎn)生深遠(yuǎn)的影響。為此在設(shè)計(jì)和建設(shè)中必須遵循以下原則:</p><p>  科學(xué)性和先進(jìn)性原則:系統(tǒng)的設(shè)計(jì)應(yīng)該著重考慮

53、系統(tǒng)的先進(jìn)性。在軟、硬件平臺(tái)的選用上應(yīng)考慮系統(tǒng)的通用性及各部門現(xiàn)有的軟、硬件平臺(tái)及應(yīng)用水平,系統(tǒng)設(shè)計(jì)與開發(fā)必須采用先進(jìn)的成熟的思想、方法和技術(shù),同時(shí)在系統(tǒng)建設(shè)上最大可能的實(shí)現(xiàn)用戶的操作要求、功能要求及擴(kuò)展要求。</p><p>  高性能和穩(wěn)定性原則:在系統(tǒng)設(shè)計(jì)、開發(fā)和應(yīng)用時(shí),應(yīng)從系統(tǒng)結(jié)構(gòu)、技術(shù)措施、軟硬件平臺(tái)、技術(shù)服務(wù)和維護(hù)響應(yīng)能力等方面綜合考慮,確保系統(tǒng)較高的性能、較少的故障率。</p><

54、;p>  方便性和實(shí)用性原則:系統(tǒng)建設(shè)要體現(xiàn)“以人為本”的理念,充分考慮各項(xiàng)業(yè)務(wù)活動(dòng)的實(shí)際需要,貼近用戶的需求與習(xí)慣做法,力求做到功能強(qiáng)大、界面美觀、操作簡(jiǎn)單、方便實(shí)用。系統(tǒng)應(yīng)具有良好的人機(jī)交互界面。</p><p>  4.2 系統(tǒng)的框架結(jié)構(gòu)設(shè)計(jì)</p><p>  按照客戶需求制定下,具體各個(gè)層面表示如下圖所示:</p><p><b>  圖4

55、-1框架結(jié)構(gòu)圖</b></p><p><b>  (1) 用戶層</b></p><p>  該層是一些Jsp頁(yè)面,主要是利用Jsp技術(shù)來(lái)實(shí)現(xiàn),同時(shí)還運(yùn)用了JavaScript腳本,對(duì)一些數(shù)據(jù)進(jìn)行頁(yè)面上的計(jì)算,對(duì)一些參數(shù)和邏輯進(jìn)行了校驗(yàn)。</p><p><b>  (2) 業(yè)務(wù)層</b></p>

56、<p>  該層是由控制組件ActionServlet,ActionMapping,Action和業(yè)務(wù)邏輯類JavaBean來(lái)實(shí)現(xiàn)的。JavaBean里邊封裝了與數(shù)據(jù)層的交互關(guān)系,以實(shí)現(xiàn)所有的業(yè)務(wù)邏輯。該層通過(guò)面向方面編程、面向接口編程,來(lái)降低業(yè)務(wù)組件之間的禍合度、提高代碼的重用性和增強(qiáng)系統(tǒng)擴(kuò)展性。</p><p><b>  (3) 數(shù)據(jù)層</b></p>&l

57、t;p>  開發(fā)中與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互主要可以歸為添加、讀取、修改、刪除,這些操作占據(jù)了系統(tǒng)開發(fā)中大部分的時(shí)間,同時(shí)還需要考慮與數(shù)據(jù)庫(kù)交互的性能問(wèn)題,如連接池、數(shù)據(jù)緩存等等。數(shù)據(jù)層主要設(shè)計(jì)目標(biāo)是為整個(gè)項(xiàng)目提供一個(gè)高層、統(tǒng)一、安全和并發(fā)的數(shù)據(jù)持久機(jī)制。</p><p>  4.3 系統(tǒng)的流程設(shè)計(jì)</p><p>  經(jīng)過(guò)整體的需求分析后,根據(jù)業(yè)務(wù)流程及對(duì)系統(tǒng)的功能要求,對(duì)系統(tǒng)整體的流程

58、給出了設(shè)計(jì)方案。</p><p>  由于安全性考慮,本系統(tǒng)的操作要求用戶在登錄后才能進(jìn)行。用戶登錄時(shí),將進(jìn)行用戶身份的判斷。一般客戶和工作人員由于權(quán)限不同,可以實(shí)現(xiàn)的功能也不相同,在登錄后,系統(tǒng)把他們分別轉(zhuǎn)到不同的操作頁(yè)面。</p><p>  用戶登錄后,可以對(duì)系統(tǒng)進(jìn)行一些常用的業(yè)務(wù)操作。對(duì)于客戶,除了可以修改自己的注冊(cè)密碼以外,還可以進(jìn)行汽車資料的查詢和交易進(jìn)度的查詢功能的操作。對(duì)于

59、銷售工作人員,除了可以做到和客戶相同的操作以外,本系統(tǒng)的四個(gè)主要功能,汽車信息管理、客戶信息管理、銷售信息管理以及統(tǒng)計(jì)報(bào)表管理都是為他們服務(wù)的,在登錄之后都可以進(jìn)行相應(yīng)的操作。</p><p>  圖4-2具體的系統(tǒng)工作流程</p><p>  4.4 系統(tǒng)的功能設(shè)計(jì)</p><p>  在系統(tǒng)設(shè)計(jì)部分,用類圖來(lái)描述系統(tǒng)的結(jié)構(gòu)。在此基礎(chǔ)出上可得到系統(tǒng)的主要類圖,由于

60、系統(tǒng)涉及到的類數(shù)量眾多,下面僅以部分類為例給出系統(tǒng)的類圖。如圖4-3所示。根據(jù)業(yè)務(wù)的流程,我們建立了一個(gè)主類SysMenu,所有的類都是圍繞著這個(gè)主類展開的。用戶管理的類Login,可以實(shí)現(xiàn)增加刪除和查找用戶信息的功能。數(shù)據(jù)庫(kù)管理的類Database,用于實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。</p><p>  系統(tǒng)設(shè)置功能模塊的類為Syssetup,完成各種系統(tǒng)設(shè)置。</p><p>  信息查詢的類Q

61、uery,對(duì)客戶信息、汽車信息、銷售信息的查詢都可以引用這個(gè)類。</p><p>  圖4-3系統(tǒng)部分UML圖</p><p>  4.4.1 汽車信息管理</p><p>  普通用戶登錄后只能對(duì)待售汽車的基本信息進(jìn)行查詢,而系統(tǒng)管理員登錄后可以錄入汽車的參數(shù)和狀態(tài)信息,可以實(shí)現(xiàn)汽車詳細(xì)信息的查詢,主要包括庫(kù)存情況、定購(gòu)狀態(tài)等。</p><p&

62、gt;  4.4.2 數(shù)據(jù)維護(hù)管理</p><p>  系統(tǒng)管理員登錄成功后,對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。主要有變動(dòng)數(shù)據(jù)的更改,無(wú)用數(shù)據(jù)信息的刪除,新數(shù)據(jù)的添加。</p><p>  圖4-4 數(shù)據(jù)維護(hù)流程</p><p>  4.5 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  4.5.1 數(shù)據(jù)庫(kù)建設(shè)原則</p><p>  數(shù)據(jù)庫(kù)是

63、信息系統(tǒng)實(shí)現(xiàn)的基礎(chǔ),也是系統(tǒng)建設(shè)的關(guān)鍵環(huán)節(jié)。它不僅為管理信息系統(tǒng)提供數(shù)據(jù),而且要滿足業(yè)務(wù)系統(tǒng)的流轉(zhuǎn)。設(shè)計(jì)時(shí)綜合考慮系統(tǒng)訪問(wèn)的要求。一般數(shù)據(jù)庫(kù)設(shè)計(jì)方法有兩種,即屬性主導(dǎo)型和實(shí)體主導(dǎo)型。</p><p>  本系統(tǒng)采用關(guān)聯(lián)型數(shù)據(jù)庫(kù)管理系統(tǒng)Microsoft SQL Server2000開發(fā)數(shù)據(jù)庫(kù)。SQL Server是一個(gè)客戶/服務(wù)器模式的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。它使用Transact-SQL語(yǔ)言,在客戶和

64、SQL Server之間發(fā)送處理請(qǐng)求。SQL Server的關(guān)系數(shù)據(jù)庫(kù)引擎和Analysis Services都能為常用的Windows DNA或Win32數(shù)據(jù)訪問(wèn)接口(如ActiveX數(shù)據(jù)對(duì)象(ADO). OLEDB和開放式數(shù)據(jù)庫(kù)連接(ODBC))提供本機(jī)支持。應(yīng)用程序可以使用上述任何一種應(yīng)用程序接口(API),將SQL或XML語(yǔ)句發(fā)送到使用本機(jī)OLEDB提供程序或ODBC驅(qū)動(dòng)程序的關(guān)系數(shù)據(jù)庫(kù)引擎。SQL Server 2000還提供

65、使用HTTP將SQL或XML語(yǔ)句發(fā)送到關(guān)系數(shù)據(jù)庫(kù)引擎的能力。應(yīng)用程序可以使用ADO或OLEDB的多維擴(kuò)展向Analysis Services發(fā)送多維表達(dá)式(MDX)查詢。</p><p>  4.5.2 E-R圖描述</p><p>  下面列出管理員表的E-R圖</p><p>  圖4-4 管理員E-R圖</p><p>  圖4-5

66、實(shí)體關(guān)系E-R圖</p><p>  4.5.3 數(shù)據(jù)庫(kù)的組成</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)是確定系統(tǒng)所需的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)是表的集合,通常一個(gè)系統(tǒng)只需要一個(gè)數(shù)據(jù)庫(kù),其中包含許多個(gè)表。本系統(tǒng)數(shù)據(jù)庫(kù)共建8個(gè)表,包括:</p><p>  (1)管理員表(賬號(hào),密碼)</p><p><b>  (2)區(qū)域信息表</b>

67、;</p><p><b>  (3)城市信息表</b></p><p><b>  (4)訂單數(shù)據(jù)表</b></p><p><b>  (5)客戶信息表</b></p><p><b>  (6)省份表</b></p><p>

68、<b>  (7)訂單信息表</b></p><p><b>  (8)標(biāo)題名稱表</b></p><p>  4.5.4 數(shù)據(jù)庫(kù)的結(jié)構(gòu)表</p><p>  根據(jù)本系統(tǒng)特點(diǎn),在對(duì)流程進(jìn)行分析規(guī)范之后,系統(tǒng)定義了上述8個(gè)表,其中最主要的包括如下4張,這4張表存在著不同程度的聯(lián)系。系統(tǒng)在實(shí)現(xiàn)中不僅限于這4張表,這里只是例舉出

69、能描述系統(tǒng)特性的4張主要表。這4張表的定義和描述如下表所示。</p><p>  表4-1 (managerInfo)</p><p>  表4-2 (Carinfo)</p><p>  表4-3 Cardetails</p><p>  表4-4 Provinceinfo</p><p>  第5章 系統(tǒng)關(guān)鍵模塊

70、的實(shí)現(xiàn)</p><p>  5.1 系統(tǒng)開發(fā)平臺(tái)的建立</p><p>  采用RationalRose作為UML統(tǒng)一建模語(yǔ)言設(shè)計(jì)業(yè)務(wù)模型,以Java為主流開發(fā)語(yǔ)言進(jìn)行程序設(shè)計(jì),應(yīng)用Web,JSP,Servlet,JavaBean等J2EE技術(shù)和JDBC技術(shù)實(shí)現(xiàn)系統(tǒng)的開發(fā)。在J2EE體系中,用Servlet控制,用JSP表現(xiàn),而業(yè)務(wù)層用JavaBean實(shí)現(xiàn)。</p><

71、p>  開發(fā)環(huán)境選擇Windows xp professional,開發(fā)工具使用比較流行的Jbuilder 2006,JDK為1.4.2.06,系統(tǒng)的數(shù)據(jù)庫(kù)平臺(tái)選用SQL Server2000系統(tǒng)。</p><p>  5.2 前臺(tái)關(guān)鍵模塊</p><p>  5.2.1 汽車信息查詢頁(yè)面的實(shí)現(xiàn)</p><p>  汽車信息查詢功能模塊主要是面向外來(lái)客戶的展示

72、頁(yè)面,方便購(gòu)車人及時(shí)查詢到感興趣的車輛信息,介紹本店銷售的汽車。因此界面要做的友好且便于客戶觀看。該查詢可以按某一條件單一的查詢(如通過(guò)輸入汽車名稱),也可以按照多個(gè)條件組合查詢(如同時(shí)錄入汽車名稱跟排放標(biāo)準(zhǔn))。</p><p>  這些汽車的相關(guān)信息都是由管理員事先錄入的,包括汽車的價(jià)格標(biāo)準(zhǔn)、排放標(biāo)準(zhǔn)、車型名稱,客戶在查詢到這些信息后,可以及時(shí)的定下訂單。</p><p>  以下顯示的

73、是汽車基本參數(shù)信息的查詢頁(yè)面:如圖5-1</p><p>  圖5-1靚車查詢界面圖</p><p>  5.3 后臺(tái)關(guān)鍵模塊</p><p>  5.3.1 用戶登陸模塊的實(shí)現(xiàn)</p><p>  系統(tǒng)登錄作為一個(gè)系統(tǒng)是必不可少的,主要目的是根據(jù)用戶名和密碼確定該用戶是否有權(quán)利登錄系統(tǒng),并可根據(jù)權(quán)限的分配來(lái)確定該用戶的職能范圍。該系統(tǒng)的權(quán)限

74、分配了兩部分,一是一般客戶,其次是系統(tǒng)管理員。登錄功能流程圖如圖5-2所示。</p><p>  圖5-2 用戶登陸功能流程</p><p>  登錄時(shí),提交登錄者的用戶名和密碼,然后通過(guò)一個(gè)表傳給系統(tǒng),系統(tǒng)根據(jù)此用戶名取得該用戶的信息,然后與其輸入的用戶名和密碼進(jìn)行比較,如果用戶不存在或者密碼錯(cuò)誤,會(huì)提示用戶用戶名或密碼錯(cuò)誤。</p><p>  表單是HTML頁(yè)

75、面中的一種結(jié)構(gòu),表單以標(biāo)志<form>開始,以<form>結(jié)束。表單有許多屬性,其中最主要有action,method,name等。action的值為處理表單提交內(nèi)容的服務(wù)器端處理程序的名字;method指定了提交的方法,如:get,post,對(duì)應(yīng)于HTTP中的相應(yīng)方法;name為該表單的名字。實(shí)際上,表單提供了一種客戶端和服務(wù)器端交互途徑,包含在表單里的表單元素的值可以通過(guò)表單提交給服務(wù)器,服務(wù)器根據(jù)表單屬性a

76、ction的值指定相應(yīng)的處理程序,來(lái)處理表單的提交內(nèi)容,并把處理結(jié)果傳送到客戶端。</p><p>  一般的簡(jiǎn)單驗(yàn)證可以通過(guò)HTML表單和服務(wù)器端程序來(lái)實(shí)現(xiàn)。在客戶端生成要用戶輸入用戶名和密碼的HTML頁(yè)面,該頁(yè)面包含著一個(gè)表單,用戶所輸入的用戶名和密碼作為表單元素的值被提交到服務(wù)器端。相應(yīng)的服務(wù)器端處理程序從提交內(nèi)容中分離出用戶名和密碼,然后查詢數(shù)據(jù)庫(kù)中的注冊(cè)用戶表,如果用戶輸入的用戶名和密碼對(duì)應(yīng)著該數(shù)據(jù)庫(kù)表

77、中的一條記錄,那么說(shuō)明該用戶是注冊(cè)用戶,則用戶登錄成功。否則,給出錯(cuò)誤信息。</p><p>  表單設(shè)計(jì)中,聲明用戶名為text類型,密碼為Password類型。這樣,在輸入用戶名和密碼時(shí),用戶名以明碼顯示,密碼則以*來(lái)顯示。雖然輸入口令時(shí)為星號(hào),但是瀏覽器還是以純文本傳送口令本身:非加密、不進(jìn)行Base64編碼,只是純文本。如果表單的提交方式為get,即表單的method屬性設(shè)為method'=

78、9;get',那么用戶瀏覽器將在URL欄中明顯地顯示出口令,而且瀏覽器還會(huì)將它保存在最近流覽的頁(yè)面列表中,這樣就帶來(lái)了安全隱患,所以一般采用post提交方式。</p><p>  下面是用戶登陸模塊的驗(yàn)證代碼主要部分:</p><p>  <script language='JavaScript' src=''></script&g

79、t;</p><p>  <form method="post" action="adminservlet" name="houform" onsubmit="return check()"></p><p>  <input type="submit" value=&qu

80、ot;提交"/>&nbsp;<input type="reset" value="重置"/></p><p>  圖5-3管理員登陸界面</p><p>  5.3.2 客戶管理的實(shí)現(xiàn)</p><p>  添加客戶時(shí)與銷售信息管理功能類似,系統(tǒng)隨機(jī)生成一個(gè)CustoMID,并把這條信息以一個(gè)

81、form傳給ActionForm,在數(shù)據(jù)庫(kù)增加一條記錄。查詢頁(yè)面與上面所述的銷售信息查詢部分相同,在刪除功能上也與銷售信息的刪除類似。查看檢索出結(jié)果的詳細(xì)內(nèi)容,在點(diǎn)擊客戶名稱時(shí),頁(yè)面會(huì)傳一個(gè)CustomId后調(diào)用servlet對(duì)數(shù)據(jù)庫(kù)進(jìn)行查找并跳轉(zhuǎn)到相關(guān)信息的詳細(xì)頁(yè)面。在客戶信息一覽頁(yè)面中,可以根據(jù)檢索條件,包括ID,日期等進(jìn)行對(duì)客戶情況情況的檢索。系統(tǒng)通過(guò)對(duì)用戶所需要的檢索條件,生成一個(gè)searchKeys的傳輸對(duì)象,通過(guò)find方法

82、,檢索到符合條件的信息通過(guò),archCustoms的傳輸對(duì)象傳回頁(yè)面,同時(shí)通過(guò)hKeys,通過(guò)printCustomServlet調(diào)用printCustom可以顯示出結(jié)果。</p><p>  圖5-4添加客戶信息界面</p><p>  下面是修改客戶信息的部分代碼:</p><p>  %String proID;</p><p>  /

83、/String stuClassID;</p><p>  boolean c;</p><p>  proID=request.getParameter("proID");</p><p>  Connection con;</p><p>  ResultSet rs;</p><p>  St

84、atement stmt;</p><p>  boolean i=true;</p><p><b>  try{</b></p><p>  data me=new data();</p><p>  con=me.data();</p><p>  stmt=con.createStatem

85、ent(ResultSet.TYPE_SCROLL_SENSITIVE,</p><p>  ResultSet.CONCUR_UPDATABLE);</p><p>  // pstmt.setString(1,getStuID());</p><p>  rs=stmt.executeQuery("select uid,uname,upsw,ssex,

86、saddress,resume from serinfo where utype=2 and uid="+proID);</p><p>  //rs=pstmt.execute();</p><p>  //return i;//返回值是false的話表示刪除成功</p><p>  while(rs.next()){</p><p&

87、gt;<b>  %></b></p><p>  5.3.3 倉(cāng)庫(kù)信息管理的實(shí)現(xiàn)</p><p>  倉(cāng)庫(kù)信息管理是該銷售系統(tǒng)的主要功能,它包括汽車信息的添加,修改和刪除,并且對(duì)庫(kù)存信息進(jìn)行統(tǒng)計(jì)。</p><p>  圖5-5 倉(cāng)庫(kù)信息管理功能圖</p><p>  倉(cāng)庫(kù)信息的管理主要是對(duì)數(shù)據(jù)庫(kù)表的操作。在數(shù)據(jù)信

88、息操作中用到了SQL Server工具SQL管理器(SQL Server Enterprise Manager)。使用SQL管理器可以實(shí)現(xiàn)以下功能:管理連接和用戶許可創(chuàng)建腳本程序:管理SQL Server對(duì)象的備份;備份數(shù)據(jù)和事務(wù)處理日志;管理表、視圖、存儲(chǔ)過(guò)程、觸發(fā)器、索引、規(guī)則、默認(rèn)值以及用戶定義的數(shù)據(jù)類型;建立全文本索引、數(shù)據(jù)庫(kù)圖表和數(shù)據(jù)庫(kù)維護(hù)計(jì)劃;輸入和輸出數(shù)據(jù);數(shù)據(jù)轉(zhuǎn)換等。</p><p>  在倉(cāng)庫(kù)管

89、理模塊中,對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的查詢是常有的事情,其中經(jīng)常用到的是多維查詢語(yǔ)言MDX,Analysis Services包括分析服務(wù)器(Analysis Server).多維數(shù)據(jù)存儲(chǔ)(OLAP Store)、決策支持對(duì)象DSO、分析管理器(Analysis Manager)。</p><p>  關(guān)系數(shù)據(jù)庫(kù)中,用戶查詢的對(duì)象是關(guān)系,其結(jié)果也是一個(gè)關(guān)系.在多維查詢語(yǔ)言MDX中,查詢的對(duì)象是n維數(shù)據(jù)方體,查詢的結(jié)果也是一個(gè)p

90、維的方體(p(=n)。稱為數(shù)據(jù)集合。</p><p>  MDX用一套坐標(biāo)系統(tǒng)來(lái)對(duì)查詢結(jié)果集進(jìn)行定義。數(shù)據(jù)集合所形成的數(shù)據(jù)方體中,維被稱作軸(axes),每一個(gè)坐標(biāo)軸上可以有多個(gè)維。軸上的點(diǎn)稱為坐標(biāo)點(diǎn)(coordinate)。各個(gè)維上成員的不同組合就構(gòu)成了該坐標(biāo)軸上的不同的坐標(biāo)點(diǎn)。例如:下圖中地區(qū)維和產(chǎn)品維都在一個(gè)數(shù)據(jù)集合的x軸上,則該軸上地區(qū)維的維值“地點(diǎn)”和車輛維的維值“車輛名”共同組成了一個(gè)元組(tuple

91、)[8]。表示一個(gè)坐標(biāo)點(diǎn)。各個(gè)軸坐標(biāo)的交叉處是數(shù)值點(diǎn)(cell). </p><p>  圖5-6 地區(qū)-車輛維系圖</p><p>  我們用SQL Server Analysis 創(chuàng)建了七個(gè)維度:型號(hào)名稱維、省區(qū)維、市維、區(qū)維、排量維、數(shù)量維、價(jià)格維。并在此基礎(chǔ)上創(chuàng)建了一個(gè)名為“汽車信息”的數(shù)據(jù)集,并且對(duì)維度和數(shù)據(jù)集進(jìn)行了處理,計(jì)算了各種粒度的聚集,實(shí)現(xiàn)了這個(gè)簡(jiǎn)單的數(shù)據(jù)倉(cāng)庫(kù)的管理。

92、實(shí)現(xiàn)了數(shù)據(jù)倉(cāng)庫(kù)以后,可以用微軟提供了多維查詢語(yǔ)言MDX(Multidimentional Expression)對(duì)該數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行各種各樣的OLAP操作。</p><p>  圖5-7 添加信息界面</p><p>  5.4 數(shù)據(jù)庫(kù)的實(shí)現(xiàn)</p><p>  數(shù)據(jù)庫(kù)訪問(wèn)是本系統(tǒng)中最為重要的部分,Java中連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC(Java Database Con

93、nectivity).很多數(shù)據(jù)庫(kù)系統(tǒng)帶有JDBC驅(qū)動(dòng)程序,Java程序就通過(guò)JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢、提取數(shù)據(jù)等操作[9]。Sun公司還開發(fā)了JDBC-ODBC bridge,用此技術(shù)Java程序就可以訪問(wèn)帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC驅(qū)動(dòng)程序,所以Java程序能訪問(wèn)諸如Oracle,Sybase,MSSQL Server和MS Access等數(shù)據(jù)庫(kù)。本系統(tǒng)的訪問(wèn)方法是在JSP中利用Jav

94、a Bean通過(guò)JDBC訪問(wèn)SQL Server 2000數(shù)據(jù)庫(kù)。</p><p>  5.4.1 JDBC概述</p><p>  JDBC是一種可用于執(zhí)行SQL語(yǔ)句的Java API( Application Programming Interface應(yīng)用程序設(shè)計(jì)接口)。它由一些java語(yǔ)言編寫的類和界面組成。JDBC為數(shù)據(jù)庫(kù)應(yīng)用開發(fā)人員、數(shù)據(jù)庫(kù)前臺(tái)工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序

95、設(shè)計(jì)接口,使開發(fā)人員可以用純Java語(yǔ)言編寫完整的數(shù)據(jù)庫(kù)應(yīng)用程序。</p><p>  5.4.2 JDBC的主要對(duì)象</p><p>  JDBC提供了與平臺(tái)和數(shù)據(jù)庫(kù)無(wú)關(guān)的、面向?qū)ο蟮姆椒▉?lái)訪問(wèn)數(shù)據(jù)庫(kù)。JDBC的主要對(duì)象有:Result Set(有關(guān)整個(gè)數(shù)據(jù)庫(kù)的信息:表名、表的索引、數(shù)據(jù)庫(kù)產(chǎn)品的名稱和版本、賓主支持的操作)、ResultSetMetadata(關(guān)于某個(gè)表的信息或一個(gè)查詢的

96、結(jié)果)和Database Metadata(有關(guān)Result Set中列的名稱和類型的信息)。其中Result Set對(duì)象是JDBC中最重要的單個(gè)對(duì)象。從本質(zhì)上講,它是對(duì)一個(gè)一般寬度和未知長(zhǎng)度的表的一種抽象。幾乎所有的方法和查詢都被數(shù)據(jù)作為Result Set返回。Result Set包含任意數(shù)量的命名列(可以按名稱訪問(wèn)這些列)和一個(gè)或多個(gè)行(可以按順序自上而下逐一訪問(wèn))。在使用ResultSet之前,必須查詢它包含多少個(gè)列,此信息存儲(chǔ)

97、在ResultSetMeta Data對(duì)象中。</p><p>  5.4.3 JDBC實(shí)現(xiàn)</p><p>  在本系統(tǒng)中,我們采用以下的方法實(shí)現(xiàn)在Servlet中實(shí)現(xiàn)JDBC[13]。</p><p>  (1)注冊(cè)相應(yīng)的驅(qū)動(dòng)程序,這一步的實(shí)現(xiàn)語(yǔ)句為Class.forName(DriverClassName);</p><p>  其中D

98、riverCIassName就是數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的名字,本系統(tǒng)使用的數(shù)據(jù)庫(kù)是Microsoft的SQL Server 2000,應(yīng)用程序服務(wù)器為tomcat5.5。所以我們使用Webloeic自帶的type4 JDBC驅(qū)動(dòng)程序,即:welogicjdbc.mssglserver4。</p><p>  (2)建立同數(shù)據(jù)庫(kù)的連接</p><p>  驅(qū)動(dòng)程序加載成功后,就可以建立到數(shù)據(jù)庫(kù)的連接

99、。其實(shí)現(xiàn)語(yǔ)句為:Connection</p><p>  connection=DriverManager.getConnection(URL, Usemame, Password);</p><p>  其中URL是數(shù)據(jù)庫(kù)連接串,稱為JDBC URL,其標(biāo)準(zhǔn)格式為:</p><p>  jdbc:<子協(xié)議>:<子名稱></p>

100、<p>  本系統(tǒng)中具體JDBC URL為:</p><p>  jdbc:tomcat:mssglserver4:DB@127.0.0.1:8080"</p><p>  另外兩個(gè)參數(shù)Usename和Password分別表示數(shù)據(jù)庫(kù)連接的用戶名和密碼。</p><p>  (3)申請(qǐng)進(jìn)行數(shù)據(jù)庫(kù)操作的語(yǔ)句對(duì)象</p><p&g

101、t;  建立好數(shù)據(jù)庫(kù)連接之后,在進(jìn)行實(shí)際的數(shù)據(jù)庫(kù)操作之前,還需要獲取操作數(shù)據(jù)庫(kù)語(yǔ)句對(duì)象(Statement),這是因?yàn)镴DBC使用標(biāo)準(zhǔn)的SQL語(yǔ)一言操作數(shù)據(jù)庫(kù),SQL語(yǔ)言的基本單元是語(yǔ)句,包括DDL和DML語(yǔ)句。其實(shí)現(xiàn)語(yǔ)句如下:</p><p>  Statement statement-comiection.createstatementQ;</p><p>  其中connection

102、是前面建立的數(shù)據(jù)庫(kù)連接。</p><p>  (4) 數(shù)據(jù)庫(kù)行操作,如查詢表、更新數(shù)據(jù)等。</p><p>  下面我們就可以進(jìn)行具體的數(shù)據(jù)庫(kù)操作,并處理數(shù)據(jù)庫(kù)操作的結(jié)果了。數(shù)據(jù)庫(kù)的操作有兩種:一種是數(shù)據(jù)庫(kù)的查詢操作,通過(guò)SQL SELECT語(yǔ)句進(jìn)行,它將返回查詢的結(jié)果數(shù)據(jù),稱為結(jié)果集(ResultSet);另一種是數(shù)據(jù)庫(kù)的更新操作,包括SQL UPDATE, SQL INSERT等修改數(shù)

103、據(jù)庫(kù)內(nèi)容的操作,這類操作不返回結(jié)果集,僅返回一個(gè)整數(shù),返回值對(duì)于不同的具體語(yǔ)句含義一也有所不同。</p><p>  數(shù)據(jù)查詢操作通過(guò)executeQuery方法實(shí)現(xiàn):</p><p>  Resultsetresultset=statement.executeQuery(sglString);</p><p>  數(shù)據(jù)庫(kù)修改操作則通過(guò)executeUpdate()

104、方法來(lái)實(shí)現(xiàn):</p><p>  int return =statement.executeUPdate(Sglstring);</p><p>  (5)對(duì)數(shù)據(jù)庫(kù)結(jié)果集的處理。</p><p>  對(duì)數(shù)據(jù)庫(kù)操作結(jié)果的最主要的處理就是處理查詢操作返回的結(jié)果集,返回的結(jié)果集是一個(gè)Java對(duì)象,其定義類為Resultset,所以我們就可以使用Resultset類的方法處

105、理結(jié)果集。</p><p>  (6)最后關(guān)閉數(shù)據(jù)庫(kù)操作的對(duì)象,釋放相應(yīng)的資源</p><p>  數(shù)據(jù)庫(kù)操作結(jié)束,應(yīng)該將數(shù)據(jù)庫(kù)操作結(jié)果集、申請(qǐng)的語(yǔ)句對(duì)象、建立的數(shù)據(jù)庫(kù)連接關(guān)閉,這些對(duì)象都具有一個(gè)close()方法,用于關(guān)閉操作.其實(shí)現(xiàn)語(yǔ)句為:</p><p>  resultset. close();//關(guān)閉結(jié)果集</p><p>  st

106、atement.close();/關(guān)閉SQL語(yǔ)句對(duì)象</p><p>  connection.close();/關(guān)閉數(shù)據(jù)庫(kù)連接</p><p>  5.4.4 配置連接池和數(shù)據(jù)源</p><p>  數(shù)據(jù)庫(kù)連接是一個(gè)很重要的資源,建立一個(gè)數(shù)據(jù)庫(kù)連接的開銷往往是很大的,因此程序中應(yīng)盡量避免不必要的連接,并盡量減少連接占用的時(shí)間,本系統(tǒng)將一些頻繁使用的數(shù)據(jù)都放在實(shí)體B

107、ean中,來(lái)解決這個(gè)問(wèn)題。另外,本系統(tǒng)對(duì)Tomcat應(yīng)用服務(wù)器進(jìn)行了配置,分別配置了連接池和對(duì)應(yīng)的數(shù)據(jù)源,并通過(guò)JNDI來(lái)調(diào)用相應(yīng)的數(shù)據(jù)源,通過(guò)tomcat自身的機(jī)制來(lái)管理連接池。通過(guò)使用連接池技術(shù)來(lái)提供數(shù)據(jù)庫(kù)操作的效率。在Tomcat應(yīng)用服務(wù)器上配置JDBC包括連接池的配置和數(shù)據(jù)源的配置。</p><p><b>  (1)連接池</b></p><p>  當(dāng)To

108、mcat啟動(dòng)時(shí),它將創(chuàng)建一個(gè)針對(duì)數(shù)據(jù)庫(kù)資源的連接池(ConnectionPool)。連接池包含應(yīng)用服務(wù)器中己經(jīng)打開的與數(shù)據(jù)庫(kù)資源的連接。當(dāng)應(yīng)用需要訪問(wèn)數(shù)據(jù)庫(kù)時(shí),可以從連接池中取得一個(gè)連接,使用它與數(shù)據(jù)庫(kù)進(jìn)行通信。一旦某個(gè)指定用戶的數(shù)據(jù)庫(kù)操作完成,數(shù)據(jù)庫(kù)連接將被釋放,并返回連接池。</p><p><b>  (2)數(shù)據(jù)源</b></p><p>  為了簡(jiǎn)化獲取數(shù)據(jù)庫(kù)

109、連接的過(guò)程,JDBC2.0規(guī)范引進(jìn)了JDBC數(shù)據(jù)源(DataSource)的概念。Datasource對(duì)象是Connection對(duì)象的工廠。為了使用Data Source對(duì)象,我們必須指定一個(gè)連接池,使之提供與存儲(chǔ)在tomcat應(yīng)用服務(wù)器中的Data Source的連接。JNDI是一個(gè)中央注冊(cè)中心,其中存儲(chǔ)了各種對(duì)象、用戶和應(yīng)用的變量及其值等。</p><p>  第6章 4s汽車銷售業(yè)務(wù)系統(tǒng)的測(cè)試</p&

110、gt;<p>  6.1 測(cè)試的目的及意義</p><p>  盡管在軟件的定義、分析、設(shè)計(jì)過(guò)程中采用各種不同的措施來(lái)保證軟件的質(zhì)量,但在實(shí)際開發(fā)過(guò)程中也難免存在問(wèn)題,因此,必須對(duì)設(shè)計(jì)完成的軟件進(jìn)行充分的測(cè)試。軟件的主要測(cè)試過(guò)程是根據(jù)軟件開發(fā)各階段的規(guī)則說(shuō)明和程序內(nèi)部結(jié)構(gòu),設(shè)計(jì)若干測(cè)試用例(程序系統(tǒng)的輸入數(shù)據(jù)和預(yù)期輸出結(jié)果)。使用這些測(cè)試用例運(yùn)行系統(tǒng),根據(jù)運(yùn)行結(jié)果判斷軟件是否存在錯(cuò)誤。側(cè)試階段是查找

111、錯(cuò)誤階段,是軟件生命周期的重要環(huán)節(jié),通過(guò)測(cè)試可以極大地提高系統(tǒng)的可靠性。</p><p><b>  6.2 測(cè)試的方法</b></p><p>  軟件測(cè)試是精心設(shè)計(jì)測(cè)試用例,運(yùn)行系統(tǒng),發(fā)現(xiàn)系統(tǒng)存在的問(wèn)題。測(cè)試用例的選擇是軟件測(cè)試的關(guān)鍵。根據(jù)設(shè)計(jì)測(cè)試用例方法的不同,軟件測(cè)試分為白盒測(cè)試和黑盒測(cè)試。</p><p>  對(duì)本系統(tǒng)的測(cè)試采用的是黑

112、盒測(cè)試法。黑盒測(cè)試著眼于程序的外部特征,而不考慮程序的內(nèi)部結(jié)構(gòu)。這種側(cè)試方法將程序看成是一個(gè)黑盒子,只在程序的接口上進(jìn)行測(cè)試,主要看軟件是否完成功能的要求,因此,黑盒測(cè)試也稱為功能測(cè)試。按照軟件測(cè)試步驟,即單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試,對(duì)本系統(tǒng)的各個(gè)模塊進(jìn)行了測(cè)試。</p><p><b>  6.2.1單元測(cè)試</b></p><p>  在EJB組件編譯完成后,就

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論