軟件工程畢業(yè)論文-汽車(chē)銷(xiāo)售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-銷(xiāo)售管理模塊_第1頁(yè)
已閱讀1頁(yè),還剩32頁(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><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  汽車(chē)銷(xiāo)售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-銷(xiāo)售管理模塊</p><p><b>  摘要</b></p><p>  本論文的目的是滿足目前汽車(chē)銷(xiāo)售企業(yè)管理銷(xiāo)售信息的

2、需求,來(lái)構(gòu)建一個(gè)汽車(chē)銷(xiāo)售信息管理模塊。該汽車(chē)銷(xiāo)售信息管理模塊改變了原來(lái)傳統(tǒng)紙質(zhì)訂單不好管理銷(xiāo)售信息的局面,使用這種先進(jìn)的管理方法能夠提高銷(xiāo)售數(shù)據(jù)的準(zhǔn)確性,而且還能夠大大提高銷(xiāo)售信息管理人員的工作效率。</p><p>  本文介紹了實(shí)現(xiàn)汽車(chē)銷(xiāo)售信息管理模塊的總體框架,該模塊采用J2EE技術(shù)進(jìn)行開(kāi)發(fā),同時(shí)還采用三層B/S(Browser/Server)結(jié)構(gòu),該結(jié)構(gòu)的采用使得數(shù)據(jù)結(jié)構(gòu)集合能夠在瀏覽器中顯示,而數(shù)據(jù)的處

3、理在服務(wù)器上進(jìn)行,用戶通過(guò)瀏覽器就能使用本模塊的功能。本模塊采用的數(shù)據(jù)庫(kù)是Mysql,并且使用JSP技術(shù),使用戶界面更加簡(jiǎn)潔友好,方便操作。</p><p>  本模塊完成了管理員對(duì)銷(xiāo)售訂單和退貨訂單的管理以及修改汽車(chē)庫(kù)存的功能。管理員可以對(duì)退貨訂單進(jìn)行添加、刪除、修改、查詢的操作,同時(shí)對(duì)于銷(xiāo)售訂單也能進(jìn)行添加、刪除、修改、查詢的操作。庫(kù)存管理主要是進(jìn)行退貨訂單入庫(kù),銷(xiāo)售訂單出庫(kù)的操作,從而實(shí)現(xiàn)對(duì)汽車(chē)庫(kù)存進(jìn)行修改

4、的功能。</p><p>  關(guān)鍵詞:銷(xiāo)售管理模塊,J2EE,JSP,Mysql</p><p><b>  Abstract </b></p><p>  The purpose of this paper is to meet the needs of management informationsales car sales enterp

5、rises, to build a car sales information management module. The car sales information management module changed thetraditional paper orders not good sales information management in the situation, the use of this advanced

6、management method to improve the accuracy of sales data, but also can greatly improve the sales information management personnel's working efficiency.</p><p>  This paper introduces the overall framework

7、 for the realization of auto salesinformation management module, the module uses J2EE technology development, at the same time also adopts three layer B/S (Browser/Server)structure, this structure makes the collection of

8、 data structures can bedisplayed in the browser, and the data processing in the server, the user use the module through the browser will be able to function. This module uses the database is Mysql, and the use of JSP tec

9、hnology, the user</p><p>  This module implements the administrator of the sales order and return order management and modify the motor function of inventory. Administrators can add, delete, modify, query op

10、eration to return the order, at the same time for the sales order can also add, delete, modify, query operation. Inventory management is mainly the return order receipts, sales order deliveryoperation, so as to realize t

11、he function of modified car inventory.</p><p>  Key Words:Sales Management Module,J2EE,JSP,Mysql</p><p><b>  目錄</b></p><p><b>  1 概述1</b></p><p&

12、gt;<b>  1.1開(kāi)發(fā)背景1</b></p><p>  1.2設(shè)計(jì)目的及內(nèi)容1</p><p>  1.2.1設(shè)計(jì)目的1</p><p>  1.2.2設(shè)計(jì)內(nèi)容1</p><p>  1.3 技術(shù)概述1</p><p>  1.3.1 B/S模式簡(jiǎn)介1</p>

13、<p>  1.3.2 JSP技術(shù)簡(jiǎn)介2</p><p>  1.3.3 Mysql簡(jiǎn)介2</p><p>  1.3.4 MVC模式簡(jiǎn)介2</p><p>  1.4開(kāi)發(fā)環(huán)境概述3</p><p>  1.5系統(tǒng)開(kāi)發(fā)命名規(guī)則3</p><p>  1.5.1命名規(guī)則3</p>&l

14、t;p>  2 系統(tǒng)可行性研究和需求分析4</p><p>  2.1可行性分析4</p><p>  2.1.1 技術(shù)可行性4</p><p>  2.1.2 經(jīng)濟(jì)可行性4</p><p>  2.1.3 運(yùn)行可行性4</p><p>  2.1.4 法律可行性4</p>&

15、lt;p>  2.2 需求分析4</p><p>  2.2.1 系統(tǒng)需求5</p><p>  2.2.2 性能需求5</p><p>  2.2.3 應(yīng)用需求分析5</p><p>  2.2.4其他需求分析5</p><p>  3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)6</p><p

16、>  3.1系統(tǒng)功能結(jié)構(gòu)6</p><p>  3.2各個(gè)功能分析6</p><p>  3.2.1添加退貨訂單6</p><p>  3.2.2退貨訂單7</p><p>  3.2.3添加銷(xiāo)售訂單7</p><p>  3.2.4汽車(chē)銷(xiāo)售訂單管理7</p><p>  3.

17、2.5查詢庫(kù)存信息8</p><p>  4 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)9</p><p>  4.1數(shù)據(jù)庫(kù)概要結(jié)構(gòu)設(shè)計(jì)9</p><p>  4.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)9</p><p>  5 系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn)11</p><p>  5.1系統(tǒng)登陸界面設(shè)計(jì)11</p><p> 

18、 5.2系統(tǒng)登陸后界面設(shè)計(jì)11</p><p>  5.2.1汽車(chē)退貨訂單管理界面12</p><p>  5.2.2汽車(chē)銷(xiāo)售訂單管理界面12</p><p>  5.2.3汽車(chē)庫(kù)存管理界面13</p><p>  5.2.4汽車(chē)退貨記錄管理界面13</p><p>  5.2.5汽車(chē)銷(xiāo)售記錄管理界面14&

19、lt;/p><p>  6 主要代碼15</p><p>  6.1配置文件15</p><p>  6.2部分功能代碼15</p><p>  6.2.1 action代碼(主要,邏輯結(jié)構(gòu))15</p><p>  6.2.2 Dao代碼(部分)17</p><p><b>

20、;  總結(jié)18</b></p><p><b>  致謝19</b></p><p><b>  參考文獻(xiàn)20</b></p><p><b>  1 概述</b></p><p><b>  1.1開(kāi)發(fā)背景</b></p>

21、<p>  最近幾年,中國(guó)的汽車(chē)行業(yè)發(fā)展迅猛,市場(chǎng)不斷擴(kuò)大,產(chǎn)生的銷(xiāo)售信息量也越來(lái)越龐大,如何管理這些銷(xiāo)售信息成為了許多汽車(chē)銷(xiāo)售企業(yè)面臨的一大難題,傳統(tǒng)的汽車(chē)銷(xiāo)售信息管理是采用紙質(zhì)單據(jù)記錄信息,然后是銷(xiāo)售人員手工管理這些單據(jù),這就增加了銷(xiāo)售人員的工作量和工作壓力,并且工作效率低,數(shù)據(jù)可靠性差,而且進(jìn)行數(shù)據(jù)分析和統(tǒng)計(jì)的難度非常大[1]。這些問(wèn)題的出現(xiàn)在不同程度上制約了汽車(chē)行業(yè)的發(fā)展空間和發(fā)展速度,因此,在科技高速發(fā)展的現(xiàn)代,

22、使用軟件來(lái)進(jìn)行信息管理相當(dāng)必要,采用這種先進(jìn)的管理方式可以大大增加汽車(chē)銷(xiāo)售企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力。</p><p>  目前,中國(guó)的汽車(chē)行業(yè)已經(jīng)進(jìn)入國(guó)際市場(chǎng),而國(guó)際市場(chǎng)的競(jìng)爭(zhēng)更是激烈,我國(guó)的汽車(chē)產(chǎn)業(yè)同發(fā)達(dá)國(guó)家的相比還有很大的差距,最基本的差距是管理技術(shù)上的差距,尤其是汽車(chē)銷(xiāo)售信息的管理與國(guó)外的管理方式差距甚遠(yuǎn),不能在短時(shí)間內(nèi)對(duì)銷(xiāo)售數(shù)據(jù)進(jìn)行詳細(xì)的分析,從而不能及時(shí)得出汽車(chē)市場(chǎng)銷(xiāo)售的規(guī)律,從而錯(cuò)過(guò)銷(xiāo)售時(shí)機(jī),這樣就可能大大降

23、低了汽車(chē)的銷(xiāo)量,從而使企業(yè)銷(xiāo)售額降低,致使企業(yè)發(fā)展緩慢,跟不上國(guó)際市場(chǎng)發(fā)展潮流而逐漸被淘汰。</p><p>  汽車(chē)銷(xiāo)售管理系統(tǒng)的銷(xiāo)售管理模塊,大大提高了企業(yè)管理的效率和準(zhǔn)確性,使企業(yè)能夠準(zhǔn)確把握國(guó)際市場(chǎng)脈搏和發(fā)展動(dòng)向,從而大大提高了企業(yè)的國(guó)際市場(chǎng)競(jìng)爭(zhēng)力。該系統(tǒng)的開(kāi)發(fā)將改善中國(guó)汽車(chē)企業(yè)的發(fā)展現(xiàn)狀,提高中國(guó)汽車(chē)產(chǎn)業(yè)的發(fā)展空間和發(fā)展速度。</p><p>  1.2設(shè)計(jì)目的及內(nèi)容</p

24、><p><b>  1.2.1設(shè)計(jì)目的</b></p><p>  本模塊設(shè)計(jì)的主要目的是實(shí)現(xiàn)管理員能夠?qū)︿N(xiāo)售訂單和退貨訂單進(jìn)行管理,以及能夠查看車(chē)輛庫(kù)存,從而進(jìn)行銷(xiāo)售。</p><p><b>  1.2.2設(shè)計(jì)內(nèi)容</b></p><p>  本模塊完成了管理員對(duì)于系統(tǒng)銷(xiāo)售訂單和退貨訂單的管理以及

25、庫(kù)存管理的功能。管理員可以對(duì)退貨訂單進(jìn)行添加、刪除、修改、查詢、查看的操作,同時(shí)對(duì)于銷(xiāo)售訂單也能進(jìn)行添加、刪除、修改、查詢、查看的操作。庫(kù)存管理功能實(shí)現(xiàn)退貨訂單入庫(kù),銷(xiāo)售訂單出庫(kù)的功能,對(duì)汽車(chē)進(jìn)行庫(kù)存管理。</p><p><b>  1.3 技術(shù)概述</b></p><p>  1.3.1 B/S模式簡(jiǎn)介</p><p>  B/S(瀏覽器

26、/服務(wù)器模式)是隨著Internet結(jié)束的興起,對(duì)C/S結(jié)構(gòu)的一種改進(jìn)[2]。在這個(gè)結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶表現(xiàn)完全在Web服務(wù)器實(shí)現(xiàn),客戶端直需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。</p><p>  1.3.2 JSP技術(shù)簡(jiǎn)介</p><p>  JSP(Java Server Page服務(wù)器網(wǎng)

27、頁(yè))是從1998年開(kāi)始出現(xiàn)的新技術(shù)。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開(kāi)發(fā)技術(shù)[3]。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(yè)(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁(yè)面提供了簡(jiǎn)便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)

28、行。</p><p>  在國(guó)外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)工具,而在國(guó)內(nèi),盡管JSP還不是主流開(kāi)發(fā)技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢(shì),許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來(lái)開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站。 </p><p>  本系統(tǒng)使用通過(guò)使用jsp對(duì)將后臺(tái)處理過(guò)的數(shù)據(jù)進(jìn)行格式化后給用戶顯示,是視圖(view)核心部分。</p><p>  1.3.3 Mysql簡(jiǎn)

29、介</p><p>  MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開(kāi)發(fā),目前屬于Oracle公司。Mysql是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用

30、標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開(kāi)發(fā)環(huán)境。</p><p>  1.3.4 MVC模式簡(jiǎn)介</p><p>  MVC模式是"Model-View-Co

31、ntroller"的縮寫(xiě),中文翻譯為"模式-視圖-控制器"[4]。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會(huì)自動(dòng)更新。類(lèi)似的,只要Controller改變了View,View會(huì)從潛在的Model中獲取數(shù)據(jù)來(lái)刷新自己。</p><p

32、>  MVC設(shè)計(jì)思想:MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層[5]。</p><p>  MVC的優(yōu)點(diǎn):將視圖展示和應(yīng)用邏輯清晰的分離開(kāi)來(lái),降低了模型和視圖之間的耦合性,使得系統(tǒng)設(shè)計(jì)時(shí)具有更高的靈活性。首先,最重要的是應(yīng)該有多個(gè)視圖對(duì)應(yīng)一個(gè)模型的

33、能力。在目前用戶需求的快速變化下,可能有多種方式訪問(wèn)應(yīng)用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網(wǎng)上訂單,或者其他系統(tǒng)的訂單,但對(duì)于訂單的處理都是一樣,也就是說(shuō)訂單的處理是一致的。按MVC設(shè)計(jì)模式,一個(gè)訂單模型以及多個(gè)視圖即可解決問(wèn)題。這樣減少了代碼的復(fù)制,即減少了代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維護(hù)。其次,由于模型返回的數(shù)據(jù)不帶任何顯示格式,因而這些模型也可直接應(yīng)用于接口的使用[6]。</p><p&g

34、t;<b>  1.4開(kāi)發(fā)環(huán)境概述</b></p><p>  本項(xiàng)目開(kāi)發(fā)工具及版本如下:Eclipse,jdk6.0,mysql5.6,Tomcat6.0,struts2,spring3.0,hibernate3.6 final,在window7系統(tǒng)平臺(tái)進(jìn)行項(xiàng)目的開(kāi)發(fā),調(diào)試,與運(yùn)行。</p><p>  本系統(tǒng)用時(shí)下流行的javaweb開(kāi)發(fā)框架SSH(Spring+

35、Struts+Hibernate)進(jìn)行開(kāi)發(fā),數(shù)據(jù)庫(kù)采用輕巧穩(wěn)定的MySql,界面使用jsp實(shí)現(xiàn)。本論文主要涉及軟件,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)技術(shù)等。涵蓋知識(shí)面廣,可有效地提高綜合運(yùn)用所學(xué)知識(shí)分析解決問(wèn)題的能力,增強(qiáng)對(duì)事物的理解與掌握能力,掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于進(jìn)取,探索創(chuàng)新,為今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。</p><p>  1.5系統(tǒng)開(kāi)發(fā)命名規(guī)則</p><p>

36、;<b>  1.5.1命名規(guī)則</b></p><p> ?。?)項(xiàng)目中命名規(guī)則</p><p>  項(xiàng)目中各個(gè)子項(xiàng)均以子項(xiàng)功能名稱的英文組合,類(lèi)名以對(duì)應(yīng)的意思命名,組成的所有單詞的首字母大寫(xiě)[7];類(lèi)中的方法依據(jù)功能而定,方法命名首單詞的首字母小寫(xiě),其他單詞首字母均大寫(xiě);項(xiàng)目中的頁(yè)面命名是項(xiàng)目名為前綴加上相應(yīng)功能名。</p><p> ?。?/p>

37、2)數(shù)據(jù)庫(kù)命名規(guī)則</p><p>  數(shù)據(jù)庫(kù)名稱與項(xiàng)目名稱相同,數(shù)據(jù)庫(kù)中表命名規(guī)則是表名稱英文意思的單詞或多個(gè)單詞的組合,單詞首個(gè)字母大寫(xiě);表中字段名是相應(yīng)字段的英文單詞或多個(gè)單詞的組合,單詞首個(gè)字母大寫(xiě)。</p><p>  2 系統(tǒng)可行性研究和需求分析</p><p><b>  2.1可行性分析</b></p><

38、p>  2.1.1 技術(shù)可行性</p><p>  技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開(kāi)發(fā)工作,軟硬件配置是否滿足開(kāi)發(fā)的需求等。本系統(tǒng)用的是SSH框架開(kāi)發(fā),主打語(yǔ)言是JAVA,由于框架對(duì)一些復(fù)用的代碼做了很好的封裝,并且提供了友好的API,所以上手較快,開(kāi)發(fā)效率也大大提高,采用流行的開(kāi)發(fā)IDE: Eclipse,對(duì)開(kāi)發(fā)調(diào)試都有很好的支持,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開(kāi)發(fā)的需求,因此在技術(shù)上

39、是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開(kāi)發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。</p><p>  2.1.2 經(jīng)濟(jì)可行性</p><p>  開(kāi)發(fā)該系統(tǒng)所需的相關(guān)資料可以通過(guò)已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開(kāi)發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)

40、量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。</p><p>  2.1.3 運(yùn)行可行性</p><p>  運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性[8]。當(dāng)前信息化技術(shù)已經(jīng)相當(dāng)普及,各類(lèi)操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。</p><p>  2.1.4 法律可

41、行性</p><p> ?、?所有技術(shù)資料都為合法。</p><p> ?、?開(kāi)發(fā)過(guò)程中不存在知識(shí)產(chǎn)權(quán)問(wèn)題。</p><p>  ③ 未抄襲任何系統(tǒng),不存在侵犯版權(quán)問(wèn)題。</p><p> ?、?開(kāi)發(fā)過(guò)程中未涉及任何法律責(zé)任。</p><p><b>  2.2 需求分析</b></p&g

42、t;<p>  需求分析是軟件設(shè)計(jì)的一個(gè)重要的環(huán)節(jié)。本階段對(duì)系統(tǒng)管理系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo)。確定用戶的需求。用戶對(duì)系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。</p><p>  2.2.1 系統(tǒng)需求</p><p>  用JSP開(kāi)發(fā)系統(tǒng)管理系統(tǒng)基于B/S模式[9],系統(tǒng)軟件和數(shù)據(jù)集中存放于服務(wù)器中,軟件的安裝與升級(jí)在服務(wù)器上進(jìn)行。所有的工作基于瀏覽器,安裝、使用

43、、維護(hù)、升級(jí)十分簡(jiǎn)單。</p><p>  2.2.2 性能需求</p><p>  為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行。系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。由于本系統(tǒng)的添加功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來(lái)源,其準(zhǔn)確性和及時(shí)性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時(shí)性。</p>

44、<p>  2.2.3 應(yīng)用需求分析</p><p><b> ?。?)硬件要求</b></p><p>  CPU:Inter(R) Core(TM)2 Duo CPU 2.10GHz</p><p><b>  HDD:300G</b></p><p>  RAM:2.00GB&l

45、t;/p><p><b>  (2)軟件要求</b></p><p>  操作系統(tǒng):Windows XP/Windows 7。</p><p>  數(shù)據(jù)庫(kù):Mysql數(shù)據(jù)庫(kù)。</p><p>  瀏覽器:IE9.0。</p><p>  系統(tǒng)的性能要求通常指系統(tǒng)需要的存儲(chǔ)容量以及后援存儲(chǔ),重新啟動(dòng)和安

46、全性,運(yùn)行效率等方面的考慮。 </p><p>  硬件系統(tǒng)環(huán)境:C600、1G MB(RAM)、500MB(HD)。系統(tǒng)運(yùn)行時(shí)對(duì)數(shù)據(jù)的保密性要求不高對(duì)一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對(duì)其它軟件幾乎沒(méi)有依賴性,程序健壯性較好。</p><p>  2.2.4其他需求分析</p><p>  本系統(tǒng)有較好的可維護(hù)性、可靠性、可理解性、效率。易于用戶理解和操作??删S護(hù)性

47、包括了可讀性、可修改性、可測(cè)試性、等含義[10]。可靠性通常包括正確性和健壯性。開(kāi)發(fā)過(guò)程中,在各種矛盾的目標(biāo)之間作權(quán)衡,并在一定的限制的條件下(經(jīng)費(fèi)、時(shí)間、可用的軟、硬件資源等),使上述各方面最大限度的得到滿足。</p><p>  3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  3.1系統(tǒng)功能結(jié)構(gòu)</b></p><p>  系統(tǒng)功能結(jié)構(gòu)

48、圖,如下圖3-1所示,系統(tǒng)功能結(jié)構(gòu)圖。</p><p><b>  3.2各個(gè)功能分析</b></p><p>  3.2.1添加退貨訂單</p><p>  填寫(xiě)退貨信息,并提交,系統(tǒng)會(huì)將退回來(lái)的車(chē)輛進(jìn)行入庫(kù)操作。實(shí)現(xiàn)汽車(chē)的入庫(kù)操作。如下圖3-2 所示。</p><p>  需要管理員填寫(xiě)入庫(kù)單,包括待入庫(kù)產(chǎn)品的各項(xiàng)信

49、息及入庫(kù)單的各項(xiàng)信息。入庫(kù)時(shí),如果沒(méi)有這種產(chǎn)品 ,可以選擇直接在數(shù)據(jù)庫(kù)中添加這項(xiàng)產(chǎn)品;如果存在則在原有數(shù)量的基礎(chǔ)上增加待入庫(kù)產(chǎn)品的數(shù)量。</p><p><b>  3.2.2退貨訂單</b></p><p>  實(shí)現(xiàn)退貨訂單的查詢、刪除、修改操作,如圖3-3 退貨訂單管理。</p><p>  圖 3 - 3退貨訂單管理</p>

50、<p>  3.2.3添加銷(xiāo)售訂單</p><p>  實(shí)現(xiàn)添加銷(xiāo)售訂單的操作。如下圖3-4 所示。</p><p>  管理員填寫(xiě)銷(xiāo)售訂單,包括待出庫(kù)產(chǎn)品的各項(xiàng)信息及出庫(kù)單的各項(xiàng)信息。出庫(kù)時(shí),如果沒(méi)有這種產(chǎn)品,提示“沒(méi)有找到相應(yīng)的車(chē)輛或者倉(cāng)庫(kù)數(shù)量不足,請(qǐng)查明后重試!”;如果沒(méi)有產(chǎn)品不存在或數(shù)量不足的情況則在原有數(shù)量的基礎(chǔ)上減少待出庫(kù)產(chǎn)品的數(shù)量。</p><

51、p><b>  否</b></p><p><b>  是</b></p><p><b>  否</b></p><p><b>  是</b></p><p>  3.2.4汽車(chē)銷(xiāo)售訂單管理</p><p>  實(shí)現(xiàn)銷(xiāo)售訂

52、單的查詢、修改、刪除操作。如下圖3-5 所示。</p><p>  3.2.5查詢庫(kù)存信息</p><p>  庫(kù)存管理模塊主要功能是查看庫(kù)存信息,如下圖3-6 所示。</p><p>  4 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  4.1數(shù)據(jù)庫(kù)概要結(jié)構(gòu)設(shè)計(jì)</p><p>  本系統(tǒng)數(shù)據(jù)庫(kù)采用Mysql數(shù)據(jù)庫(kù),系統(tǒng)

53、數(shù)據(jù)庫(kù)名稱為carslist。數(shù)據(jù)庫(kù)中包含4張表。</p><p>  (1)管理員信息,包括的數(shù)據(jù)項(xiàng)有:管理員ID,賬號(hào)、密碼。</p><p> ?。?)退貨訂單信息,包括的數(shù)據(jù)項(xiàng)有:銷(xiāo)售訂單ID、汽車(chē)名稱、汽車(chē)型號(hào)、汽車(chē)價(jià)格、銷(xiāo)售數(shù)量、汽車(chē)銷(xiāo)售時(shí)間。</p><p> ?。?)銷(xiāo)售訂單信息,包括的數(shù)據(jù)項(xiàng)有:退貨訂單ID、汽車(chē)名稱、汽車(chē)型號(hào)、汽車(chē)價(jià)格、退貨數(shù)量、

54、退貨時(shí)間。</p><p> ?。?)庫(kù)存信息,包括的數(shù)據(jù)項(xiàng)有:庫(kù)存ID、更新日期、汽車(chē)名稱、汽車(chē)型號(hào)、數(shù)量、單價(jià)。</p><p>  4.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  根據(jù)上述數(shù)據(jù)庫(kù)的需求分析和概念結(jié)構(gòu)設(shè)計(jì),設(shè)計(jì)了名稱為carslist的數(shù)據(jù)庫(kù)。</p><p>  數(shù)據(jù)庫(kù)carslist由下面多個(gè)表格組成,各個(gè)表的命名及字段

55、命名都是以相應(yīng)名稱的首字母組合而成,各個(gè)表格的設(shè)計(jì)結(jié)果如下表所示,每個(gè)表格表示在數(shù)據(jù)庫(kù)中相對(duì)應(yīng)的一個(gè)表。</p><p> ?。?)管理員表,如:表4-1 所示。</p><p>  表 4 - 1管理員</p><p>  (2)退貨訂單表,如:表4-2 所示。</p><p>  表 4 - 2退貨訂單</p><p&

56、gt; ?。?)銷(xiāo)售訂單表,如:表4-3 所示。</p><p>  表 4 - 3銷(xiāo)售訂單</p><p> ?。?)庫(kù)存信息表,如:表4-4 所示。</p><p>  表 4 - 4庫(kù)存信息</p><p>  5 系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn)</p><p>  5.1系統(tǒng)登陸界面設(shè)計(jì)</p><

57、p>  登陸界面如下圖5-1所示,登陸界面.輸入管理員賬號(hào),密碼登陸系統(tǒng)</p><p>  圖 5 - 1 登陸界面</p><p>  5.2系統(tǒng)登陸后界面設(shè)計(jì)</p><p>  登陸后界面如下圖5-2所示,登陸后界面,左側(cè)五個(gè)選項(xiàng)代表5個(gè)操作功能。</p><p>  圖 5 - 2 登陸后界面</p><p

58、>  5.2.1汽車(chē)退貨訂單管理界面</p><p>  填寫(xiě)退貨信息點(diǎn)擊提交,系統(tǒng)會(huì)把退貨單儲(chǔ)存在數(shù)據(jù)庫(kù)里,如下圖5-3所示。</p><p>  圖 5 - 3 汽車(chē)退貨訂單界面</p><p>  5.2.2汽車(chē)銷(xiāo)售訂單管理界面</p><p>  填寫(xiě)銷(xiāo)售訂單信息,點(diǎn)擊提交系統(tǒng)會(huì)將銷(xiāo)售訂單儲(chǔ)存在數(shù)據(jù)庫(kù)中,如下圖5-4所示。<

59、;/p><p>  圖 5 - 4 汽車(chē)銷(xiāo)售訂單界面</p><p>  5.2.3汽車(chē)庫(kù)存管理界面</p><p>  查看汽車(chē)庫(kù)存信息如下圖5-5所示。</p><p>  圖 5 - 5 汽車(chē)庫(kù)存管理界面</p><p>  5.2.4汽車(chē)退貨記錄管理界面</p><p>  能夠根據(jù)汽車(chē)的名

60、稱和型號(hào),查看汽車(chē)的退貨情況,也能夠進(jìn)行修改,刪除退貨記錄的操作,如下圖5-6所示。</p><p>  圖 5 - 6 汽車(chē)退貨記錄管理界面</p><p>  5.2.5汽車(chē)銷(xiāo)售記錄管理界面</p><p>  能夠根據(jù)汽車(chē)的名稱和型號(hào),查看汽車(chē)的銷(xiāo)售情況,也能夠進(jìn)行修改,刪除銷(xiāo)售記錄的操作,如下圖5-7所示。</p><p>  圖 5

61、 - 7汽車(chē)銷(xiāo)售記錄管理界面</p><p><b>  6 主要代碼</b></p><p><b>  6.1配置文件</b></p><p>  配置文件web.xml中主要用于配置struts2和spring的監(jiān)聽(tīng),該文件主要配置Struts項(xiàng)目些全局屬性用戶請(qǐng)求和響應(yīng)Action之間對(duì)應(yīng)關(guān)系及配置Action能

62、用參數(shù)及處理結(jié)返回頁(yè)面。另外,該文件配置了Spring的位置。</p><p>  <welcome-file-list></p><p>  <welcome-file>login.html</welcome-file></p><p>  </welcome-file-list></p><p&

63、gt;<b>  <filter></b></p><p>  <filter-name>struts2</filter-name></p><p>  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&

64、lt;/filter-class></p><p><b>  </filter></b></p><p>  <filter-mapping></p><p>  <filter-name>struts2</filter-name></p><p>  <ur

65、l-pattern>/*</url-pattern></p><p>  </filter-mapping></p><p>  <!-- 監(jiān)聽(tīng)器,讓W(xué)EB容器找到我的spring --></p><p>  <listener></p><p>  <listener-class&

66、gt;</p><p>  org.springframework.web.context.ContextLoaderListener</p><p>  </listener-class></p><p>  </listener></p><p>  <!-- 配置spring位置 --></p&

67、gt;<p>  <context-param></p><p>  <param-name>contextConfigLocation</param-name></p><p>  <param-value></p><p>  classpath:applicationContext.xml</

68、p><p>  </param-value></p><p>  </context-param></p><p>  </web-app></p><p><b>  6.2部分功能代碼</b></p><p>  6.2.1 action代碼(主要,邏輯結(jié)構(gòu))&

69、lt;/p><p>  對(duì)數(shù)據(jù)進(jìn)行預(yù)處理和些相關(guān)業(yè)務(wù)邏輯處理,實(shí)現(xiàn)頁(yè)面之間的調(diào)度和跳轉(zhuǎn),把最終處理結(jié)果和要返回的對(duì)象放入session里面。</p><p>  public String findAll(){</p><p>  List list = sdao.findAll();</p><p>  HttpServletRequest r

70、equest =ServletActionContext.getRequest();</p><p>  request.getSession().setAttribute("list",list);</p><p>  return"findAllok";</p><p><b>  }</b><

71、/p><p>  public String delete(){</p><p>  Selllist slist=new Selllist();</p><p>  slist.setSid(sid);</p><p>  sdao.delete(slist);</p><p>  List list = sdao.fi

72、ndAll();</p><p>  HttpServletRequest request =ServletActionContext.getRequest();</p><p>  request.getSession().setAttribute("list",list);</p><p>  return"delete"

73、;</p><p><b>  }</b></p><p>  public String update(){</p><p>  Selllist slist=new Selllist();</p><p>  slist.setSid(sid);</p><p>  slist.setSnam

74、e(sname);</p><p>  slist.setSnumber(snumber);</p><p>  slist.setSprice(sprice);</p><p>  slist.setStype(stype);</p><p>  SimpleDateFormat df = new SimpleDateFormat(&quo

75、t;yyyy-MM-dd HH:mm:ss");//設(shè)置日期格式</p><p>  String date = df.format(new Date());</p><p>  System.out.println(df.format(new Date()));// new Date()為獲取當(dāng)前系統(tǒng)時(shí)間</p><p>  slist.setTime(

76、date);</p><p>  sdao.update(slist);</p><p>  List list = sdao.findAll();</p><p>  HttpServletRequest request =ServletActionContext.getRequest();</p><p>  request.getSes

77、sion().setAttribute("list",list);</p><p>  return"yes1";</p><p><b>  }</b></p><p>  public String select(){</p><p>  Selllist slist=new

78、Selllist();</p><p>  if(sname != null&& !"".equals(sname))</p><p>  slist.setSname(sname);</p><p>  if(stype != null&& !"".equals(stype))</p&g

79、t;<p>  slist.setStype(stype);</p><p>  List list=sdao.findByExample(slist);</p><p>  HttpServletRequest request =ServletActionContext.getRequest();</p><p>  request.getSessi

80、on().setAttribute("list",list);</p><p>  return"yes1";}</p><p>  public String login(){</p><p>  Userinfo user=new Userinfo();</p><p>  user.setUnam

81、e(uname);</p><p>  user.setPassword(password);</p><p>  List list = udao.findByExample(user);</p><p>  HttpServletRequest request =ServletActionContext.getRequest();</p><

82、p>  request.getSession().setAttribute("tag", "aaa");</p><p>  if(list.size()>0){</p><p>  return"yes";</p><p><b>  }</b></p>&

83、lt;p>  return"no";</p><p><b>  }</b></p><p>  6.2.2 Dao代碼(部分)</p><p>  使用了Hibernate,它對(duì)JDBC進(jìn)行了非常輕量級(jí)對(duì)象封裝,使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù),主要用于對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢,刪除,更新操作。</p>

84、<p>  Public void delete(InventoryNum persistentInstance) {</p><p>  log.debug("deleting InventoryNum instance");</p><p><b>  try {</b></p><p>  getHibern

85、ateTemplate().delete(persistentInstance);</p><p>  log.debug("delete successful");</p><p>  } catch (RuntimeException re) {</p><p>  log.error("delete failed", r

86、e);</p><p><b>  throw re;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public Inventory findById(java.lang.Integer id) {</p&g

87、t;<p>  log.debug("getting Inventory instance with id: " + id);</p><p><b>  try {</b></p><p>  Inventory instance = (Inventory) getHibernateTemplate().get(</p>

88、<p>  "com.dao.Inventory", id);</p><p>  return instance;</p><p>  } catch (RuntimeException re) {</p><p>  log.error("get failed", re);</p><p&

89、gt;<b>  throw re;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Public List findByExample(Inventory instance) {</p><p>  log.debu

90、g("finding Inventory instance by example");</p><p><b>  try {</b></p><p>  List results = getHibernateTemplate().findByExample(instance);</p><p>  log.debug(&q

91、uot;find by example successful, result size: "</p><p>  + results.size());</p><p>  return results;</p><p>  } catch (RuntimeException re) {</p><p>  log.error(&qu

92、ot;find by example failed", re);</p><p><b>  throw re;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Public List findAll() {

93、</p><p>  log.debug("finding all Inventory instances");</p><p><b>  try {</b></p><p>  String queryString = "from Inventory";</p><p>  r

94、eturn getHibernateTemplate().find(queryString);</p><p>  } catch (RuntimeException re) {</p><p>  log.error("find all failed", re);</p><p><b>  throw re;</b>&l

95、t;/p><p><b>  }</b></p><p><b>  }</b></p><p>  Public void update(Inventory instance){</p><p>  getHibernateTemplate().update(instance);</p>

96、<p><b>  }</b></p><p><b>  總結(jié)</b></p><p>  在整個(gè)畢業(yè)論文設(shè)計(jì)的過(guò)程中我學(xué)到了做任何事情所要有的態(tài)度和心態(tài),首先我明白了做學(xué)問(wèn)要一絲不茍,對(duì)于出現(xiàn)的任何問(wèn)題和偏差都不要輕視,要通過(guò)正確的途徑去解決,在做事情的過(guò)程中要有耐心和毅力,不要一遇到困難就打退堂鼓,只要堅(jiān)持下去就可以找到思路去解

97、決問(wèn)題的。在工作中要學(xué)會(huì)與人合作的態(tài)度,認(rèn)真聽(tīng)取別人的意見(jiàn),這樣做起事情來(lái)就可以事倍功半。</p><p>  通過(guò)這次畢業(yè)設(shè)計(jì),我體會(huì)到了很多,首先要把大學(xué)這四年所學(xué)的東西全部學(xué)以致用,從開(kāi)發(fā)環(huán)境的搭建,數(shù)據(jù)庫(kù)的設(shè)計(jì),項(xiàng)目業(yè)務(wù)的設(shè)計(jì),以及前段UI的設(shè)計(jì),的確是一個(gè)極大的挑戰(zhàn)。但是在這個(gè)挑戰(zhàn)中我學(xué)習(xí)到了很多,不會(huì)的就到圖書(shū)管翻閱資料、或者去網(wǎng)上搜索,或者請(qǐng)教老師和同學(xué),特別是老師和同學(xué)們,給予了我很大的幫助。在程

98、序的設(shè)計(jì)中遇到了很多問(wèn)題,這些問(wèn)題都是需要毅力和決心去克服和解決的,不能半途而廢,只要積極的想辦法,總能夠找到解決問(wèn)題的途徑。</p><p>  畢業(yè)設(shè)計(jì)給我?guī)?lái)的不僅是知識(shí)的增長(zhǎng),更多的是自身能力和品質(zhì)的提高,它教會(huì)我如何去發(fā)現(xiàn)問(wèn)題,然后去解決問(wèn)題;教會(huì)我不能輕言放棄,要堅(jiān)持到底;這些品質(zhì)不僅對(duì)于我的學(xué)習(xí)有幫助,對(duì)我將來(lái)的工作和生活更是有很大益處。</p><p><b> 

99、 致謝</b></p><p>  論文的順利完成,首先我要感謝我的指導(dǎo)老師李閱歷老師以及周?chē)瑢W(xué)朋友的幫助,感謝他們提出寶貴的意見(jiàn)和建議。另外,要感謝在大學(xué)期間所有傳授我知識(shí)的老師,是你們的悉心教導(dǎo)使我有了良好的專(zhuān)業(yè)課知識(shí),這也是論文得以完成的基礎(chǔ)。</p><p>  感謝四年來(lái)陪伴我的同學(xué)們,在我遇到問(wèn)題時(shí)不厭其煩的給我講解,讓我整體有了進(jìn)步。</p>&l

100、t;p>  再次對(duì)以上所有的老師和同學(xué)表示由衷的感謝!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]Allen Holub.If I were King: A proposal for fixing the Java programming language's threading problems,2000</p>

101、;<p>  [2]肖剛.Java Web服務(wù)器應(yīng)用程序設(shè)計(jì).北京:電子工業(yè)出版社,2001</p><p>  [3]廖若雪.JSP高級(jí)編程.北京:機(jī)械工業(yè)出版社,2001</p><p>  [4]Ted Husted.Struts in Action Building Web Applications with the Leading Java Framework.Ma

102、nning Publications,2005</p><p>  [5]http://www.w3cschool.cc/mysql/mysql-tutorial.html</p><p>  [6]孫葉楓,宋中山.JSP中基于連接池的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù).計(jì)算機(jī)應(yīng)用,2006</p><p>  [7]http://developer.51cto.com/art/201

溫馨提示

  • 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)論