畢業(yè)設(shè)計(jì)---電壓合格率管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  電壓合格率管理系統(tǒng)</b></p><p><b>  摘要</b></p><p>  隨著電力體制改革的深入發(fā)展以及人們對(duì)電能質(zhì)量的逐步重視,電壓質(zhì)量綜合評(píng)估與綜合管理已經(jīng)受到電力部門(mén)的廣泛關(guān)注。</p><p>  本文采用JSP、Servlet等技術(shù)實(shí)現(xiàn)了電壓合格率管理系統(tǒng)。使電力公司

2、生產(chǎn)部由手工處理電壓合格率業(yè)務(wù)管理改為由計(jì)算機(jī)來(lái)處理。</p><p>  該系統(tǒng)有如下特點(diǎn):采用了標(biāo)準(zhǔn)MVC三層架構(gòu)(Model-View-Control)的開(kāi)發(fā)模式,即將應(yīng)用劃分為:模型層、視圖層、控制層,各層之間相對(duì)獨(dú)立,這種體系結(jié)構(gòu)在數(shù)據(jù)安全性、數(shù)據(jù)一致性、數(shù)據(jù)實(shí)時(shí)性、服務(wù)響應(yīng)及時(shí)性等方面具有極大的優(yōu)勢(shì),使得開(kāi)發(fā)的系統(tǒng)能夠跨平臺(tái)運(yùn)行并且擴(kuò)充性可維護(hù)性好,提高了開(kāi)發(fā)效率,綜合了當(dāng)前流行的數(shù)據(jù)庫(kù)技術(shù)、JSP與

3、數(shù)據(jù)庫(kù)互連技術(shù),給出了一個(gè)基于MVC架構(gòu)的網(wǎng)絡(luò)應(yīng)用系統(tǒng)的范例。</p><p>  通過(guò)大量、詳實(shí)的功能測(cè)試、性能測(cè)試、壓力測(cè)試等證明:本系統(tǒng)能很好的完成對(duì)人員權(quán)限的管理,并可作為一個(gè)權(quán)限管理的模版應(yīng)用于多數(shù)管理系統(tǒng);在電壓合格率的管理和統(tǒng)計(jì)上也為電力系統(tǒng)的工作人員提供了便利。</p><p><b>  關(guān)鍵詞</b></p><p>  電

4、壓管理;MVC架構(gòu);JSP;Servlet;</p><p><b>  Abstract</b></p><p>  With the deeply development of deregulation and more importance attached to power quality by people,power quality synthesis e

5、valuation and economic management have been paid more and more attention to by power utility and customers. </p><p>  This system uses JSP and Servlet technology realization Voltage eligibility rate managem

6、ent system . So that the power company from the manual processing of the acceptance rate of voltage business management from the computer to handle. </p><p>  The system is characterized as followings: Stand

7、ard MVC three layers model(Model-mew-Control) design pattern is adopted, plot out the application into model layer, view layer, and control layer, and each layer is comparatively independent. Such structure provides ext

8、reme advantage in data security, data consistency, real time data and timely service response, the developed system may run on different platforms and can be easily expanded and maintained. The design process has employe

9、d JavaBean m</p><p>  Through numerous and detailed functional testing, performance testing, pressure testing prove : The system can be best done on the competence of personnel management, serve as a compete

10、nce management template for the majority of the management system; Voltage passing rate in the management and statistical power system for the staff of the convenience. </p><p><b>  Keywords</b>&

11、lt;/p><p>  Foltage management, MVC framework ;JSP;Servlet;</p><p><b>  目錄</b></p><p><b>  摘要Ⅰ</b></p><p>  AbstractⅡ</p><p><b&g

12、t;  第一章 前言1</b></p><p>  1.1研究背景和意義1</p><p>  1.2現(xiàn)有電壓合格率管理系統(tǒng)現(xiàn)狀1</p><p>  1.3主要研究?jī)?nèi)容2</p><p>  1.4 本章小結(jié)2</p><p>  第二章 應(yīng)用于本系統(tǒng)的關(guān)鍵技術(shù)分析3</p>

13、<p>  2.1開(kāi)發(fā)方法---快速原型法3</p><p>  2.1 MVC的研究4</p><p>  2.2.1 JSP的二層結(jié)構(gòu)模式4</p><p>  2.2.2 MVC的概念5</p><p>  2.2.3 MVC的解決方案6</p><p>  2.2.4 MVC的優(yōu)點(diǎn)和不足

14、7</p><p>  2.3 JSP技術(shù)8</p><p>  2.4 Servlet10</p><p>  2.5 MVC環(huán)境中數(shù)據(jù)庫(kù)的訪問(wèn)10</p><p>  2.5.1 JDBC簡(jiǎn)介11</p><p>  2.5.2 JDBC驅(qū)動(dòng)程序的類(lèi)型11</p><p>  2.

15、5.3 JAVA連接SQL-Server數(shù)據(jù)庫(kù)的方法12</p><p>  2.6系統(tǒng)開(kāi)發(fā)配置13</p><p>  2.6.1 Eclipse工具13</p><p>  2.6.2 TOMCAT13</p><p>  第三章 電壓合格率管理系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)15</p><p>  3.1電壓合格率管理

16、系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)思想15</p><p>  3.1.1系統(tǒng)設(shè)計(jì)原則15</p><p>  3.1.2系統(tǒng)的特點(diǎn)16</p><p>  3.2電壓合格率管理系統(tǒng)的體系結(jié)構(gòu)模型16</p><p>  3.3需求分析17</p><p>  3.3.1順序圖與流程18</p><p&

17、gt;  3.3.2權(quán)限管理模塊20</p><p>  3.3.3 檢測(cè)點(diǎn)管理模塊21</p><p>  3.3.4電壓合格率管理模塊22</p><p>  3.4數(shù)據(jù)庫(kù)的設(shè)計(jì)22</p><p>  3.4.1電壓合格率管理系統(tǒng)的物理模型23</p><p>  第四章主要模塊功能的具體實(shí)現(xiàn)24&l

18、t;/p><p>  4.1通用模塊的設(shè)計(jì)24</p><p>  4.1.1數(shù)據(jù)庫(kù)連接24</p><p>  4.1.2異常處理24</p><p>  4.2登錄模塊25</p><p>  4.3權(quán)限管理模塊26</p><p>  4.4其他管理模塊27</p>

19、<p>  4.5電壓上報(bào)及統(tǒng)計(jì)模塊28</p><p>  4.6網(wǎng)頁(yè)間參數(shù)的傳遞29</p><p>  第五章系統(tǒng)測(cè)試31</p><p>  5.1登錄模塊測(cè)試31</p><p>  5.2權(quán)限模塊測(cè)試31</p><p>  5.3電壓合格率統(tǒng)計(jì)測(cè)試32</p><

20、p>  5.4運(yùn)行測(cè)試33</p><p><b>  結(jié)論35</b></p><p><b>  參考文獻(xiàn)36</b></p><p><b>  致謝38</b></p><p><b>  第一章 前言</b></p>

21、<p>  1.1研究背景和意義</p><p>  隨著電力體制改革的深入發(fā)展以及人們對(duì)電能質(zhì)量的逐步重視,電壓質(zhì)量綜合評(píng)估與綜合管理已經(jīng)受到電力部門(mén)的廣泛關(guān)注。</p><p>  在過(guò)去的很長(zhǎng)一段時(shí)間里,由于客觀條件的不成熟以及管理人員自身素質(zhì)上的欠缺,使計(jì)算機(jī)輔助管理水平發(fā)展很慢,但隨著計(jì)算機(jī)技術(shù)的發(fā)展,人員素質(zhì)的提高,使用計(jì)算機(jī)來(lái)輔助辦公的條件已經(jīng)成熟,這時(shí)候需要有一套

22、適應(yīng)實(shí)際生產(chǎn)情況、符合管理人員使用習(xí)慣的電子信息管理平臺(tái)來(lái)為用戶(hù)的日常管理、維護(hù)等工作提供便利。</p><p>  本文采用JSP、Servlet等技術(shù)實(shí)現(xiàn)了電壓合格率管理系統(tǒng)。使電力公司生產(chǎn)部由手工處理電壓合格率業(yè)務(wù)管理改為由計(jì)算機(jī)來(lái)處理。</p><p>  1.2現(xiàn)有電壓合格率管理系統(tǒng)現(xiàn)狀</p><p>  當(dāng)前,電壓合格率管理系統(tǒng)模式多樣,沒(méi)有統(tǒng)一規(guī)范的

23、管理系統(tǒng),而且大部分單位沒(méi)有通過(guò)網(wǎng)絡(luò)進(jìn)行信息共享管理。主要存在以下不足:</p><p>  系統(tǒng)相對(duì)孤立,沒(méi)有形成網(wǎng)絡(luò)共享。</p><p>  目前,大部分單位的管理信息系統(tǒng)停留在管理本單位電壓的基礎(chǔ)之上,與上級(jí)管理部門(mén)之間沒(méi)有形成信息共享。如果要有信息交換,需通過(guò)信函、報(bào)件、傳真、電話等形式告知。</p><p>  系統(tǒng)的體系結(jié)構(gòu)不夠合理。</p>

24、;<p>  現(xiàn)有能夠網(wǎng)絡(luò)共享的管理系統(tǒng),也只是單純基于C/S模式的系統(tǒng),同現(xiàn)流行的B/S模式系統(tǒng)相比,存在一些不足和缺點(diǎn)。如果采用C/S和B/S模式相結(jié)合的方式進(jìn)行,充分發(fā)揮各自?xún)?yōu)點(diǎn),這樣使得系統(tǒng)的體系結(jié)構(gòu)更趨向于合理。</p><p>  系統(tǒng)表現(xiàn)信息的形式過(guò)于單一。</p><p>  現(xiàn)行管理系統(tǒng)多是以信息存儲(chǔ)和查詢(xún)?yōu)橹鞯模畔⒂涗洸辉敿?xì),表現(xiàn)方式較單一。</p

25、><p>  上傳下達(dá)不及時(shí)準(zhǔn)確。</p><p>  現(xiàn)行系統(tǒng),電壓數(shù)據(jù)如有變動(dòng),只能通過(guò)電話或報(bào)函傳達(dá),再根據(jù)匯報(bào)資料在本單位的系統(tǒng)上進(jìn)行數(shù)據(jù)操作,時(shí)間慢且操作易出錯(cuò)。改進(jìn)后的系統(tǒng)實(shí)現(xiàn)了網(wǎng)絡(luò)互通和信息共享,能做到及時(shí)準(zhǔn)確地上傳下達(dá)。針對(duì)當(dāng)前系統(tǒng)的不足,本系統(tǒng)采用SUN公司的J2EE技術(shù),構(gòu)建一種基于B/S模式的三層體系結(jié)構(gòu)來(lái)解決問(wèn)題,改進(jìn)系統(tǒng)。</p><p>  

26、1.3本文主要研究?jī)?nèi)容</p><p>  總公司和各地市電業(yè)局、檢測(cè)點(diǎn)通過(guò)本系統(tǒng)進(jìn)行協(xié)調(diào)、同步、協(xié)作,更好的完成公司的業(yè)務(wù)。其中,檢測(cè)點(diǎn)將合格率上報(bào)地市電業(yè)局,各地市電業(yè)局審核后再將電壓合格率上報(bào)省電業(yè)局。</p><p>  面向?qū)ο蟮脑O(shè)計(jì)語(yǔ)言UML的運(yùn)用。UML可以對(duì)軟件密集型系統(tǒng)的制品進(jìn)行可視化、詳述、構(gòu)造和文檔化。UML是一種可視化的語(yǔ)言,它是一組圖形符號(hào)。它可用于詳細(xì)描述。它又

27、是一種構(gòu)造語(yǔ)言,可以直接生成代碼。用PowerDesigner就可以實(shí)現(xiàn)從UML到JAVA,或者從JAVA到UML的雙向工程。</p><p>  多種編程語(yǔ)言的運(yùn)用:JSP、JAVA、Servlet、html、J2EE、Javascript。</p><p>  關(guān)于三層架構(gòu)、hibernate的O/R mapping映射的研究。</p><p>  Web環(huán)境下

28、管理系統(tǒng)的開(kāi)發(fā)。</p><p><b>  1.4本章小結(jié)</b></p><p>  在做了大量實(shí)驗(yàn)以及研究了所要應(yīng)用的主要技術(shù)的基礎(chǔ)上,實(shí)踐證明,本系統(tǒng)的實(shí)現(xiàn)是完全可行的。</p><p>  第二章 電壓合格率管理系統(tǒng)的關(guān)鍵技術(shù)分析</p><p>  建立電壓合格率管理系統(tǒng)需要快速原型法的開(kāi)發(fā)方法,MVC模式、

29、JSP、Servlet等方面的技術(shù),這一章將對(duì)這些技術(shù)以及實(shí)現(xiàn)它們所應(yīng)用到的開(kāi)發(fā)工具一一說(shuō)明。</p><p>  2.1開(kāi)發(fā)方法---快速原型法</p><p>  從計(jì)算機(jī)產(chǎn)生到現(xiàn)在,人們?cè)陂_(kāi)發(fā)過(guò)程中,提出了許多軟件開(kāi)發(fā)方法,經(jīng)過(guò)多年的軟件工程的實(shí)踐,人們已經(jīng)成功地采用了多種軟件工程方法。一個(gè)好的軟件工程方法應(yīng)該能從頭到尾提供一整套提高效率的途徑,并且能為整個(gè)軟件帶來(lái)好的結(jié)構(gòu),好的可靠

30、性和可維護(hù)性。常用的軟件工程方法有生存周期法和快速原型法。在電壓合格率管理系統(tǒng)中采用快速原型法。</p><p>  快速原型法的基本思想是:在獲取一組基本的需求定義后,利用高級(jí)軟件工具和軟件開(kāi)發(fā)環(huán)境,快速地建立起一個(gè)目標(biāo)系統(tǒng)的最初版本(原型),交用戶(hù)使用、評(píng)價(jià),經(jīng)過(guò)修改補(bǔ)充后,形成改進(jìn)的模型,反復(fù)進(jìn)行以上過(guò)程,直到用戶(hù)滿(mǎn)意為止。然后,在此模型系統(tǒng)的基礎(chǔ)上,不斷修改、擴(kuò)充和完善,得到最終系統(tǒng)。</p>

31、<p>  圖 2-1快速原型法流程圖</p><p>  快速原型法開(kāi)發(fā)技術(shù)的應(yīng)用,克服了生存周期的不足之處,具有縮短開(kāi)發(fā)周期,降低維護(hù)費(fèi)用,適應(yīng)性和可靠性強(qiáng),調(diào)試容易等優(yōu)點(diǎn)。最主要是自始至終調(diào)動(dòng)了用戶(hù)的積極參與,從分析到設(shè)計(jì),再到使用評(píng)價(jià)速成原型,而且交互地、動(dòng)態(tài)地、直觀地解決了開(kāi)發(fā)人員和用戶(hù)之間的通訊障礙,系統(tǒng)不斷反映用戶(hù)的新要求,使用戶(hù)對(duì)系統(tǒng)比較滿(mǎn)意。對(duì)設(shè)計(jì)人員來(lái)說(shuō),由于始終與用戶(hù)不斷交流意

32、見(jiàn),這種連續(xù)的反饋,避免了開(kāi)發(fā)中的失誤,少走彎路,從而縮短了開(kāi)發(fā)周期,降低了成本,提高了軟件質(zhì)量。</p><p>  當(dāng)前的快速的系統(tǒng)建造工具為快速原型法提供了強(qiáng)大的開(kāi)發(fā)功能。加之現(xiàn)在軟件開(kāi)發(fā)技術(shù)與開(kāi)發(fā)工具的迅速發(fā)展,軟件設(shè)計(jì)和實(shí)現(xiàn)工作的自動(dòng)化水平越來(lái)越高,對(duì)系統(tǒng)的局部修改和重建已不再需要很長(zhǎng)的時(shí)間和很大的代價(jià),這又為采用原型法提供了有力的支持,使快速原型法具有強(qiáng)大的生命力。</p><p&

33、gt;  基于快速原型法的方法,先要在較短的時(shí)間內(nèi)做好一個(gè)粗糙的完整平臺(tái)原型,與用戶(hù)(在這里主要是指老師及周?chē)瑢W(xué)以及在電力公司工作過(guò)的朋友)進(jìn)行反復(fù)討論、分析和修改后,最終確定了這個(gè)平臺(tái)的框架;然后在這個(gè)框架的基礎(chǔ)上逐步細(xì)化并詳細(xì)編制各個(gè)功能模塊。實(shí)際工作中,是平臺(tái)測(cè)試與軟件開(kāi)發(fā)同步進(jìn)行,即在開(kāi)發(fā)初期就開(kāi)始設(shè)計(jì)平臺(tái)的測(cè)試方案,并在完成各個(gè)功能模塊的原型設(shè)計(jì)后,立即在不同的瀏覽器下進(jìn)行測(cè)試評(píng)價(jià),最后在各個(gè)功能模塊完成后再進(jìn)行平臺(tái)的系統(tǒng)集

34、成和測(cè)試運(yùn)行。</p><p>  2.2 MVC模式研究</p><p>  B/S作為如今最為流行的體系結(jié)構(gòu)模式,也是受到了廣大開(kāi)發(fā)人員以及客戶(hù)的認(rèn)同,其開(kāi)發(fā)模式也在不斷的發(fā)展著,在這里主要就Java B/S的開(kāi)發(fā)模式做一番探討。</p><p>  2.2.1 JSP的二層結(jié)構(gòu)模式</p><p>  JSP的二層結(jié)構(gòu)模式如圖2-2所示

35、,即Model l模式。用戶(hù)通過(guò)應(yīng)用程序向客戶(hù)機(jī)提出數(shù)據(jù)請(qǐng)求,客戶(hù)機(jī)通過(guò)網(wǎng)絡(luò)將用戶(hù)的數(shù)據(jù)請(qǐng)求提交給服務(wù)器,服務(wù)器的數(shù)據(jù)庫(kù)管理系統(tǒng)執(zhí)行數(shù)據(jù)處理任務(wù),然后把經(jīng)過(guò)處理后的用戶(hù)需要的那部分?jǐn)?shù)據(jù)傳輸?shù)娇蛻?hù)機(jī)上,由客戶(hù)機(jī)完成對(duì)其所需數(shù)據(jù)的加工。具有以下的優(yōu)點(diǎn):專(zhuān)用性和交互性強(qiáng),能處理大量的實(shí)時(shí)數(shù)據(jù)流;因采用安全性好的局域網(wǎng)絡(luò)協(xié)議如NetBEUI協(xié)議,存取數(shù)據(jù)安全;網(wǎng)絡(luò)通訊量低,處理速度快。但這種結(jié)構(gòu)顯示邏輯和業(yè)務(wù)處理邏輯部分均被放在客戶(hù)端,使客戶(hù)端

36、承受著雙重任務(wù),負(fù)擔(dān)很重,成為胖客戶(hù)機(jī),而服務(wù)器端的任務(wù)較輕,成為瘦服務(wù)器。隨著應(yīng)用系統(tǒng)的大型化,客戶(hù)端數(shù)量的增加和區(qū)域范圍的延伸,這種結(jié)構(gòu)體現(xiàn)出一些不足:客戶(hù)端負(fù)擔(dān)重、移植困難,新技術(shù)不能輕易應(yīng)用、系統(tǒng)維護(hù)復(fù)雜升級(jí)麻煩,當(dāng)客戶(hù)端連接的用戶(hù)太多時(shí)將導(dǎo)致系統(tǒng)整體運(yùn)行效率的大幅降低甚至全面崩潰,當(dāng)與Internet連接時(shí)系統(tǒng)的安全性難以保障。因此,這種結(jié)構(gòu)一般用于小規(guī)模的、用戶(hù)較少(≤100),數(shù)據(jù)庫(kù)單一且有安全性和快速性保障的局域網(wǎng)環(huán)境。

37、</p><p>  圖2-2 Model l模式</p><p>  Model 1模式是一個(gè)以JSP文件為中心的模式。在這種模式中,JSP頁(yè)面不僅負(fù)責(zé)表現(xiàn)邏輯,也控制邏輯,而業(yè)務(wù)邏輯則由JavaBeans來(lái)實(shí)現(xiàn)。即這種方式為邏輯藕合在頁(yè)面。這種處理方式對(duì)一些規(guī)模很小的項(xiàng)目,如一個(gè)簡(jiǎn)單的留言簿,沒(méi)什么太大的壞處,但是,開(kāi)發(fā)大型項(xiàng)目時(shí),程序流向由一些互相能夠感知的頁(yè)面決定,當(dāng)頁(yè)面很多時(shí),要

38、清楚地把握其流向是很復(fù)雜的事情,當(dāng)修改一頁(yè)時(shí)可能會(huì)影響相關(guān)的很多頁(yè)面,使得程序的修改與維護(hù)變得異常困難;還有一個(gè)問(wèn)題就是程序邏輯開(kāi)發(fā)與頁(yè)面設(shè)計(jì)糾纏在一起,既不便于分工合作也不利于代碼的重用,這樣程序的健壯性和可伸縮性都不夠好。</p><p>  2.2.2 MVC的概念</p><p>  MVC(model-view-controller),是目前J2EE中比較流行的一種模式。MVC

39、是一種目前廣泛流行的軟件設(shè)計(jì)模式,早在70年代,IBM就推出了Sanfronscisico項(xiàng)目計(jì)劃,其實(shí)就是MVC設(shè)計(jì)模式的研究。近來(lái),隨著J2EE的成熟,它正在成為在J2EE平臺(tái)上推薦的一種設(shè)計(jì)模型。隨著網(wǎng)絡(luò)應(yīng)用的快速增加,MVC模式對(duì)于Web應(yīng)用的開(kāi)發(fā)無(wú)疑是一種非常先進(jìn)的設(shè)計(jì)思想,無(wú)論你選擇哪種語(yǔ)言,無(wú)論應(yīng)用多復(fù)雜,它都能為理解分析應(yīng)用模型時(shí)提供最基本的分析方法,為構(gòu)造產(chǎn)品提供清晰的設(shè)計(jì)框架,為軟件工程提供規(guī)范的依據(jù)。</p&

40、gt;<p>  圖2-3 Model 2模式</p><p>  MVC即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model , View, Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層---模型層、視圖層、控制層。即如圖2-3所示的Model 2模式。</p><p>  用戶(hù)通過(guò)提交請(qǐng)求與控制器(Controller)組件(通常表現(xiàn)為Servlet)交互。接

41、著controller組件實(shí)例化數(shù)據(jù)模型(Model)組件(通常表現(xiàn)為JavaBeans或者類(lèi)似技術(shù)),并且根據(jù)應(yīng)用的邏輯操縱它們。Model被創(chuàng)建后, Controller就要確定為用戶(hù)顯示的視圖(View )(常常表現(xiàn)為JSP ),同時(shí)View與Model交互操作,獲得并為用戶(hù)顯示相關(guān)數(shù)據(jù)。在下一個(gè)請(qǐng)求被提交到Controller重復(fù)上述操作之前,View可以修改Model的狀態(tài)。 </p><

42、;p>  Model 2模式引入了“控制器”這個(gè)概念。控制器一般由Servlet來(lái)?yè)?dān)任,客戶(hù)端的請(qǐng)求不再直接送給一個(gè)處理業(yè)務(wù)邏輯的JSP頁(yè)面,而是送給這個(gè)控制器,再由控制器根據(jù)具體的請(qǐng)求調(diào)用不同的業(yè)務(wù)邏輯,并將處理結(jié)果返回到合適的頁(yè)面。因此,這個(gè)Servlet控制器為應(yīng)用程序提供了一個(gè)進(jìn)行前一后端處理的中樞:一方面為輸入數(shù)據(jù)的驗(yàn)證、身份認(rèn)證、日志及實(shí)現(xiàn)國(guó)際化編程提供了一個(gè)合適切入點(diǎn),另一方面也提供了將業(yè)務(wù)邏輯從JSP文件剝離的可能

43、。業(yè)務(wù)邏輯從JSP頁(yè)面分離出來(lái)后,JSP文件就蛻變成一個(gè)單純完成顯示任務(wù)的東西,這就是常說(shuō)的View。而獨(dú)立出來(lái)的業(yè)務(wù)邏輯變成人們常說(shuō)的Model,再加上控制器Controller本身,就構(gòu)成了MVC模式。實(shí)踐證明,MVC模式為大型程序的開(kāi)發(fā)及維護(hù)提供了巨大的便利。</p><p>  2.2.3 MVC的解決方案</p><p><b>  MVC的處理流程:</b>

44、;</p><p>  Controller接受請(qǐng)求,根據(jù)請(qǐng)求的類(lèi)型將請(qǐng)求委托給適當(dāng)?shù)腗odel處理。</p><p>  Model執(zhí)行復(fù)雜的業(yè)務(wù)邏輯處理,將結(jié)果封裝在JavaBean中。</p><p>  Controller將請(qǐng)求重定向到適當(dāng)?shù)腣iew。</p><p>  View,從JavaBean中取得數(shù)據(jù),以適當(dāng)格式顯示在頁(yè)面

45、上。</p><p>  MVC設(shè)計(jì)模式很清楚地劃定了程序員與設(shè)計(jì)者的角色界限,從商業(yè)邏輯上拆解了數(shù)據(jù)。這種模式讓設(shè)計(jì)者只設(shè)計(jì)應(yīng)用程序的顯示部分,而程序員則只開(kāi)發(fā)驅(qū)動(dòng)應(yīng)用程序功能所需的組件。</p><p>  MVC模式中,控制器主要起導(dǎo)航的作用,它根據(jù)用戶(hù)的輸入調(diào)用相應(yīng)的模型和視圖去完成用戶(hù)的請(qǐng)求??刂破鞅旧聿惠敵鋈魏螙|西,它接受用戶(hù)請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理,以及由哪個(gè)視圖來(lái)顯

46、示模型處理之后返回的數(shù)據(jù)。</p><p>  MVC的處理過(guò)程是這樣的:對(duì)于每一個(gè)用戶(hù)輸入的請(qǐng)求,首先被控制器接收,并決定由哪個(gè)模型來(lái)進(jìn)行處理,然后模型通過(guò)業(yè)務(wù)處理邏輯處理用戶(hù)的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過(guò)顯示頁(yè)面呈現(xiàn)給用戶(hù)。</p><p>  MVC模式是一種非常理想化的設(shè)計(jì)模式,現(xiàn)在可以采用現(xiàn)成的技術(shù)架構(gòu),這個(gè)現(xiàn)成的技術(shù)架構(gòu)就是開(kāi)源Apache

47、 Struts框架,它提供了實(shí)現(xiàn)MVC設(shè)計(jì)模式最好的實(shí)現(xiàn)工具。</p><p>  2.2.4 MVC的優(yōu)點(diǎn)及不足</p><p><b>  1. MVC的優(yōu)點(diǎn)</b></p><p>  大部分用過(guò)程語(yǔ)言比如ASP, PHP開(kāi)發(fā)出來(lái)的Web應(yīng)用,初始的開(kāi)發(fā)模板就是混合層的數(shù)據(jù)編程。例如,直接向數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求并用HTML顯示,開(kāi)發(fā)速度往往比

48、較快,但由于數(shù)據(jù)頁(yè)面的分離不是很直接,因而很難體現(xiàn)出業(yè)務(wù)模型的樣子或者模型的重用性。產(chǎn)品設(shè)計(jì)彈性力度很小,很難滿(mǎn)足用戶(hù)的變化性需求。MVC要求對(duì)應(yīng)用分層,雖然要花費(fèi)額外的工作,但產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應(yīng)用通過(guò)模型可以得到更好地體現(xiàn)。</p><p>  首先,最重要的是應(yīng)該有多個(gè)視圖對(duì)應(yīng)一個(gè)模型的能力。在目前用戶(hù)需求的快速變化下,可能有多種方式訪問(wèn)應(yīng)用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網(wǎng)上訂單,或者其

49、他系統(tǒng)的訂單,但對(duì)于訂單的處理都是一樣,也就是說(shuō)訂單的處理是一致的。按MVC設(shè)計(jì)模式,一個(gè)訂單模型以及多個(gè)視圖即可解決問(wèn)題。這樣減少了代碼的復(fù)制,即減少了代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維護(hù)。</p><p>  其次,由于模型返回的數(shù)據(jù)不帶任何顯示格式,因而這些模型也可直接應(yīng)用于接口的使用。</p><p>  再次,由于一個(gè)應(yīng)用被分離為三層,因此有時(shí)改變其中的一層就能滿(mǎn)足應(yīng)用的改

50、變。一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需改動(dòng)MVC的模型層。控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起完成不同的請(qǐng)求,因此,控制層可以說(shuō)是包含了用戶(hù)請(qǐng)求權(quán)限的概念。</p><p>  最后,它還有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過(guò)工程化、工具化產(chǎn)生管理程序代碼。</p><p><b>  2. MV

51、C的不足</b></p><p>  MVC的不足體現(xiàn)在以下幾個(gè)方面:</p><p>  1)增加了系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)雜性。對(duì)于簡(jiǎn)單的界面,嚴(yán)格遵循MVC,使模型、視圖與控制器分離,會(huì)增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過(guò)多的更新操作,降低運(yùn)行效率。</p><p>  2)視圖與控制器間的過(guò)于緊密的連接。視圖與控制器是相互分離,但確實(shí)聯(lián)系緊密的部件,視圖沒(méi)有

52、控制器的存在,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨(dú)立重用。</p><p>  3)視圖對(duì)模型數(shù)據(jù)的低效率訪問(wèn)。依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)。對(duì)未變化數(shù)據(jù)的不必要的頻繁訪問(wèn),也將損害操作性能。</p><p>  4)目前,一般高級(jí)的界面工具或構(gòu)造器不支持MVC模式。改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價(jià)是很高的,從而造成使用M

53、VC的困難。</p><p><b>  2.3 JSP技術(shù)</b></p><p>  JSP (Java Server Pages)是目前十分流行的一種技術(shù),主要用于開(kāi)發(fā)服務(wù)端的腳本程序和動(dòng)態(tài)生成網(wǎng)站。它與目前同樣流行的ASP技術(shù)、ASP.NET技術(shù)是同樣性質(zhì)的、同一層次的,它們?cè)诰W(wǎng)站的建設(shè)中所起的作用是一樣的,但是JSP技術(shù)與這兩種技術(shù)相比,有著十分突出的優(yōu)越性

54、,因?yàn)镴SP技術(shù)有J2EE平臺(tái)支持,發(fā)展前途不可限量。眾所周知,J2EE平臺(tái)提供了相關(guān)的技術(shù)支持和強(qiáng)大的類(lèi)庫(kù)支持。J2EE平臺(tái)包含十幾種技術(shù),JSP技術(shù)正是其中的一種核心技術(shù)。</p><p>  JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。相對(duì)于傳統(tǒng)的網(wǎng)頁(yè)制作技術(shù)而言,它有著明顯的優(yōu)點(diǎn):JSP不象CGI, ISAPI和NSAPI一樣難于編寫(xiě)和維護(hù);同時(shí)不象PHP一

55、樣只能適用于中小流量的網(wǎng)站,而且具有良好的擴(kuò)充性;也不象ASP一樣受到跨平臺(tái)的限制(只能運(yùn)行于Microsoft公司開(kāi)發(fā)的ⅡS和PWS上)。 JSP體現(xiàn)了當(dāng)今最先進(jìn)的網(wǎng)站開(kāi)發(fā)思想。</p><p>  2.3.1 JSP技術(shù)的優(yōu)勢(shì)</p><p>  由于本系統(tǒng)主要是使用JSP技術(shù)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)互連,因此這里對(duì)JSP技術(shù)做詳細(xì)的介紹。</p><p>  JSP與其他

56、開(kāi)發(fā)語(yǔ)言比較的優(yōu)勢(shì)體現(xiàn)在:</p><p>  1.和傳統(tǒng)的CGI相比較,JSP有很大的優(yōu)勢(shì)。首先,在速度上,傳統(tǒng)的CGI程序需要使用系統(tǒng)的標(biāo)準(zhǔn)輸入輸出設(shè)備來(lái)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的生成,而JSP是直接和服務(wù)器相關(guān)聯(lián)的。而且CGI對(duì)于每一個(gè)訪問(wèn)都需要增加一個(gè)進(jìn)程,而進(jìn)程的建立和銷(xiāo)毀對(duì)WEB服務(wù)器來(lái)說(shuō)是個(gè)不小的負(fù)擔(dān)。其次,JSP是專(zhuān)門(mén)為WEB開(kāi)發(fā)而設(shè)計(jì)的,包含了一整套的規(guī)范和工具,其目的是為了建立WEB的應(yīng)用程序,所以JSP

57、技術(shù)可以很方便地將一大堆JSP頁(yè)面組合成為一個(gè)WEB應(yīng)用程序,而CGI則沒(méi)有這個(gè)優(yōu)勢(shì)。</p><p>  2.與ISAPI和NSAPI相比較,JSP的開(kāi)發(fā)速度要快得多,開(kāi)發(fā)難度也要小得多。JSP在編譯為Java Servlet以后,利用目前最新的JIT ( Just In Time,即時(shí)編譯器)的Java解釋器,其執(zhí)行速度以ISAPI和NSAPI快很多。而且,ISAPT和NSAPI這種與WEB服務(wù)器結(jié)合過(guò)于緊密

58、的技術(shù)在使用時(shí)一旦出現(xiàn)錯(cuò)誤,很容易使WEB服務(wù)器崩潰,而JSP就沒(méi)有這個(gè)缺點(diǎn)。</p><p>  3.JSP的真正對(duì)手是ASP和ASPNET。 ASP目前僅僅被Microsoft ⅡS (Internet Information Server)和PWS ( Personal Web Server)支持。由于ⅡS和PWS只有Windows版本,故ASP目前只能在Windows平臺(tái)下使用。盡管有第三方的插件號(hào)稱(chēng)可以

59、使ASP在UNIX下使用,但對(duì)基于COM組件技術(shù)的ASP來(lái)說(shuō),在沒(méi)有COM支持的UNIX平臺(tái)下只能是一個(gè)“玩具”。</p><p>  JSP僅僅是一個(gè)規(guī)范。因?yàn)镴SP一般要用Java來(lái)實(shí)現(xiàn),作為跨平臺(tái)的語(yǔ)言, Java可以在許多平臺(tái)下使用,所以JAP也就顯而易見(jiàn)是是跨平臺(tái)的了。實(shí)際上,目前JSP的確可以在多種WEB服務(wù)器和操作系統(tǒng)下使用,如Apache Web Server和Micorsoft ⅡS等。<

60、/p><p>  盡管Microsoft最新推出的ASP.NET技術(shù)和ASP技術(shù)相比有了許多激動(dòng)人心的改進(jìn),但是從企業(yè)級(jí)應(yīng)用的角度看,JSP技術(shù)仍然有相當(dāng)?shù)膬?yōu)勢(shì)。有理由認(rèn)為,在將來(lái)的WEB開(kāi)發(fā)中,中小型站點(diǎn)將出現(xiàn)JSP和ASP NET兩種主力技術(shù),但是對(duì)于大型的電子商務(wù)站點(diǎn),JSP及J2EE技術(shù)將成為首選。</p><p>  2.4 Servlet </p><p>

61、  Servlet是被容器管理的一個(gè)Web組件。它能夠生成動(dòng)態(tài)的內(nèi)容,是短小的跨平臺(tái)的Java類(lèi),被編譯成中性的字節(jié)碼,可在Web服務(wù)器動(dòng)態(tài)地加載并運(yùn)行。Servlet通過(guò)由Servlet容器實(shí)現(xiàn)的“請(qǐng)求--響應(yīng)”規(guī)范來(lái)實(shí)現(xiàn)與Web客戶(hù)交互??梢允褂肑ava語(yǔ)言編寫(xiě)交互的服務(wù)器端應(yīng)用程序變得容易。Servlet就是一個(gè)基于Java技術(shù)運(yùn)行在服務(wù)器端的程序。開(kāi)發(fā)人員能夠編寫(xiě)出這樣的Servlet,以接收來(lái)自Web瀏覽器的Http請(qǐng)求,動(dòng)態(tài)

62、地生成響應(yīng),然后發(fā)送包含HTML或XML文檔的響應(yīng)到瀏覽器。</p><p>  Servlet是對(duì)支持Java的服務(wù)器的一般擴(kuò)充。它最常見(jiàn)的用途是擴(kuò)展Web服務(wù)器,提供非常安全的、可移植的、易于使用的CGI替代品。它是一種動(dòng)態(tài)加載的模塊,為來(lái)自Web服務(wù)器的請(qǐng)求提供服務(wù)。它完全運(yùn)行在Java虛擬機(jī)上。由于它在服務(wù)器端運(yùn)行,因此它不依賴(lài)于瀏覽器的兼容性。</p><p>  Servlet

63、容器負(fù)責(zé)處理客戶(hù)請(qǐng)求、把請(qǐng)求傳送給Servlet并把結(jié)果返回給客戶(hù)。不同程序的容器實(shí)際實(shí)現(xiàn)可能有所變化,但容器與Servlet之間的接口是由ServletAPI定義好的,這個(gè)接口定義了Servlet容器在Servlet上要調(diào)用的方法及傳遞給Servlet的對(duì)象類(lèi)。</p><p>  2.5 MVC環(huán)境中數(shù)據(jù)庫(kù)的訪問(wèn)</p><p>  在進(jìn)行網(wǎng)絡(luò)程序開(kāi)發(fā)過(guò)程中,幾乎離不開(kāi)數(shù)據(jù)庫(kù),譬如要從

64、數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),要把用戶(hù)填寫(xiě)的表單數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,有時(shí)還要通過(guò)WEB形式過(guò)程操縱和管理數(shù)據(jù)庫(kù)中的信息。數(shù)據(jù)庫(kù)技術(shù)大大擴(kuò)展了網(wǎng)絡(luò)程序的應(yīng)用。數(shù)據(jù)庫(kù)技術(shù)和網(wǎng)站的結(jié)合是當(dāng)今WEB技術(shù)的一個(gè)熱點(diǎn)。電壓合格率管理系統(tǒng)中當(dāng)然也離不開(kāi)數(shù)據(jù)庫(kù)的支持。并且由于有媒體數(shù)據(jù),這就必須選用一種合適的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)來(lái)對(duì)這些數(shù)據(jù)進(jìn)行操作。在本系統(tǒng)中,本文采用了JDBC技術(shù)。</p><p>  2.5.1 JDBC簡(jiǎn)介</p&g

65、t;<p>  JDBC ( Java Database Connectivity)的準(zhǔn)確定義應(yīng)該是分別面向應(yīng)用程序開(kāi)發(fā)人員和數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序開(kāi)發(fā)人員的兩組API,以及將前者向后者轉(zhuǎn)化的內(nèi)在封閉邏輯。其中,面向應(yīng)用程序開(kāi)發(fā)人員的接口為JBDC API,也就是SUN公司免費(fèi)提供的各個(gè)版本的JDK在包java.sql.*中定義的一系列類(lèi),接口,異常,以及這些類(lèi)和接口中定義的屬性和方法。面向數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序開(kāi)發(fā)人員的接口為JDBC

66、Driver API,這些API是提供給各個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)的生產(chǎn)廠家的。SUN公司定義了這兩組接口,并且實(shí)現(xiàn)了它們的轉(zhuǎn)化。JSP的開(kāi)發(fā)人員通過(guò)一定的規(guī)則調(diào)用Java.sql.*中的API.就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)的訪問(wèn),開(kāi)發(fā)出功能強(qiáng)大的動(dòng)態(tài)網(wǎng)站。</p><p>  JDBC由一組Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成,使用內(nèi)嵌式的SQL,主要實(shí)現(xiàn)三方面的功能:建立與數(shù)據(jù)庫(kù)的連接,執(zhí)行SQL聲明以及處理SQL執(zhí)行結(jié)果。

67、JDBC支持基本的SQL功能,使用它可方便地與不同的關(guān)系型數(shù)據(jù)庫(kù)建立連接,進(jìn)行相關(guān)操作,并無(wú)需再為不同的DBMS分別編寫(xiě)程序。</p><p>  2.5.2 JDBC驅(qū)動(dòng)程序的類(lèi)型</p><p>  目前比較常見(jiàn)的JDBC的Driver可分為以下四種類(lèi)型:</p><p>  JDBC-ODBC Bridge和ODBC Driver</p><

68、;p>  這種驅(qū)動(dòng)器器通過(guò)ODBC驅(qū)動(dòng)器提供數(shù)據(jù)庫(kù)連接。使用這種驅(qū)動(dòng)器,要求每臺(tái)</p><p>  客戶(hù)機(jī)都裝入ODBC的驅(qū)動(dòng)器。</p><p>  Native-API 和partly-Java Driver</p><p>  這種驅(qū)動(dòng)器將JDBC指令轉(zhuǎn)化成所連接使用的DBMS的操作形式。各客戶(hù)機(jī)使用的數(shù)據(jù)庫(kù)可能是Oracle,可能是Sybase,也可

69、能是Access,都需要在客戶(hù)機(jī)上裝有相應(yīng)DBMS的驅(qū)動(dòng)程序。</p><p>  JDBC-Net All-Java Driver</p><p>  這種驅(qū)動(dòng)器將JDBC指令轉(zhuǎn)化成獨(dú)立于DBMS的網(wǎng)絡(luò)協(xié)議形式,再由服務(wù)器轉(zhuǎn)化為特定DBMS的協(xié)議形式。有關(guān)DBMS的協(xié)議由各數(shù)據(jù)庫(kù)廠商決定。這種驅(qū)動(dòng)器可以聯(lián)接到不同的數(shù)據(jù)庫(kù)上,最為靈活。目前一些廠商已經(jīng)開(kāi)始添加JDBC的這種驅(qū)動(dòng)器到他們己有

70、的數(shù)據(jù)庫(kù)中介產(chǎn)品中。要注意的是,為了支持廣域網(wǎng)存取,需要增加有關(guān)安全性的措施,如防火墻等等。</p><p>  Native-protocol All-Java Driver</p><p>  這種驅(qū)動(dòng)器將JDBC指令轉(zhuǎn)化成網(wǎng)絡(luò)協(xié)議后不再轉(zhuǎn)換,由DBMS直接使用。相當(dāng)于客戶(hù)機(jī)直接與服務(wù)器聯(lián)系,對(duì)局域網(wǎng)適用。</p><p>  在這四種驅(qū)動(dòng)器中,后兩類(lèi)“純Jav

71、a"(All-Java)的驅(qū)動(dòng)器效率更高,也更具有通用性。但目前第一、第二類(lèi)驅(qū)動(dòng)器比較容易獲得,使用也較普遍。</p><p>  2.5.3 JAVA連接SQL-Server數(shù)據(jù)庫(kù)的方法</p><p><b>  1)建立數(shù)據(jù)源</b></p><p>  建立數(shù)據(jù)源是指建立JDBC--ODBC數(shù)據(jù)源。</p>&l

72、t;p>  例如:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  其中,Class是包java.sql中的一個(gè)類(lèi),該方法通過(guò)調(diào)用它的靜態(tài)法方法forName就可以建立JDBC-ODBC橋接器。</p><p>  由于建立數(shù)據(jù)源時(shí)可能發(fā)生異常,因此必須捕獲這個(gè)異常。所以在工程上建立數(shù)據(jù)源的方法是:&

73、lt;/p><p>  try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")};</p><p>  catch(ClassNotFoundException e){}</p><p><b>  2)建立數(shù)據(jù)連接</b></p><p>  與數(shù)據(jù)庫(kù)建立連接

74、的標(biāo)準(zhǔn)方法是調(diào)用方法,首先使用包java.sql中的Connection類(lèi)聲明一個(gè)對(duì)象,再用類(lèi)Drivermanger調(diào)用它的靜態(tài)方法getConnection創(chuàng)建這個(gè)連接對(duì)象:</p><p>  Drivermanger.getConnection(String url,String user,String password);</p><p>  Drivermanger類(lèi)用于處理驅(qū)

75、動(dòng)程序的調(diào)入并且對(duì)新的數(shù)據(jù)庫(kù)連接提供支持。在實(shí)際應(yīng)用中應(yīng)捕獲SQLException異常。</p><p>  try{Drivermanger.getConnection(String url,String user,String password)}</p><p>  catch (SQLException e){ }</p><p>  3)向數(shù)據(jù)庫(kù)發(fā)送SO

76、L語(yǔ)句</p><p>  執(zhí)行SQL語(yǔ)句,JDBC提供了Statement類(lèi)來(lái)發(fā)送SQL語(yǔ)句,Statement類(lèi)的對(duì)象由createStatement方法創(chuàng)建;</p><p>  try{Statement sql=con.createStatement(); }</p><p>  catch(SQLEception e){ }</p>&l

77、t;p>  4)處理數(shù)據(jù)庫(kù)返回的結(jié)果</p><p>  SQL語(yǔ)句發(fā)送后,將SQL查詢(xún)的結(jié)果通常存放在一個(gè)ResultSet類(lèi)的對(duì)象中返回:</p><p>  ResultSet rs=sql.executQuery(SQL語(yǔ)句);</p><p>  ResultSet可以看作是一個(gè)表,這個(gè)表包含由SQL返回的列名和相應(yīng)的值,ResultSet對(duì)象中維持

78、了一個(gè)指向當(dāng)前行的指針,通過(guò)一系列的getXXX方法,可以檢索當(dāng)前行的各個(gè)列,從而顯示出來(lái)。</p><p><b>  2.6系統(tǒng)開(kāi)發(fā)配置</b></p><p>  開(kāi)發(fā)Java應(yīng)用程序,目前應(yīng)用最廣泛的Jbuilder和Eclipse這兩個(gè)開(kāi)發(fā)工具,由于Eclisps小巧而功能強(qiáng)大,且對(duì)計(jì)算機(jī)的配置要求不高,因此本系統(tǒng)采用Eclipse作為開(kāi)發(fā)工具。EJB的應(yīng)用

79、服務(wù)器目前比較廣泛使用的是Tomcat和WebLogic,由于Tomcat是一開(kāi)源工具,下載后可以直接使用;而WebLogic雖然是一個(gè)十分優(yōu)秀的EJB應(yīng)用服務(wù)器,但它的售價(jià)太高,因此本系統(tǒng)采用Jboss作為應(yīng)用服務(wù)器。在數(shù)據(jù)庫(kù)上,系統(tǒng)采用SQL-Server數(shù)據(jù)庫(kù)服務(wù)器。因此本系統(tǒng)的開(kāi)發(fā)配置是:Eclipse+Tomcat+SQL-Server.</p><p>  2.6.1 Eclipse工具</p

80、><p>  Eclipse是一個(gè)非常優(yōu)秀的集成開(kāi)發(fā)環(huán)境,它是一個(gè)用于構(gòu)建集成Web和應(yīng)用程序開(kāi)發(fā)工具的平臺(tái)。Eclipse本身并不提供大量功能給最終用戶(hù),而是通過(guò)插件來(lái)快速開(kāi)發(fā)集成功能部件。</p><p>  Eclipse軟件旨在簡(jiǎn)化用于多操作系統(tǒng)軟件工具的開(kāi)發(fā)過(guò)程,它被設(shè)計(jì)成可以在多個(gè)操作系統(tǒng)上運(yùn)行,基于Linux和Windows都可以。同時(shí)Eclipse還提供了與每個(gè)底層操作系統(tǒng)的強(qiáng)

81、大集成。</p><p>  Eclipse的核心是動(dòng)態(tài)發(fā)現(xiàn)插件的體系結(jié)構(gòu)。平臺(tái)負(fù)責(zé)處理基本環(huán)境的后臺(tái)工作,并提供標(biāo)準(zhǔn)的用戶(hù)導(dǎo)航模型,使得每個(gè)插件可以專(zhuān)注于執(zhí)行少量的任務(wù)。通過(guò)集成大量的插件,Eclipse的功能可以不斷擴(kuò)展,以支持各種不同的應(yīng)用程序的開(kāi)發(fā)。Eclipse可以用于管理多種開(kāi)發(fā)任務(wù),其中包括測(cè)試、性能調(diào)整及程序調(diào)試。</p><p>  2.6.2 TOMCAT</p

82、><p>  Tomcat是當(dāng)今最為流行的Web服務(wù)器,它被Sun公司官方推薦為Servlet和JSP的容器。Tomcat Servlet引擎是一種開(kāi)放源代碼的軟件包,是一個(gè)帶有JSP環(huán)境的Servlet容器。</p><p>  Tomcat的優(yōu)點(diǎn) :</p><p>  容易架設(shè)。下載Tomcat,設(shè)定一些配置,就完成了。不需要花費(fèi)時(shí)間將Web服務(wù)器的連接器整合至其

83、它的Web服務(wù)器中。 </p><p><b>  免費(fèi)產(chǎn)品。</b></p><p>  有較佳的安全防護(hù)。相對(duì)于其它以C、C++所編寫(xiě)的Web服務(wù)器,Tomcat比較能忍受遠(yuǎn)程緩沖區(qū)溢位的攻擊。因?yàn)門(mén)omcat的Java虛擬機(jī)是位于網(wǎng)絡(luò)及操作系統(tǒng)之間,它可以防止幾乎所有類(lèi)型的緩沖區(qū)溢位攻擊。</p><p>  Tomcat的缺點(diǎn) :<

84、;/p><p>  Tomcat的支持軟件比較少。 </p><p>  Tomcat的Web服務(wù)器功能少。相對(duì)于其他 Web服務(wù)器,擴(kuò)展性差。</p><p>  缺乏廠家支持,沒(méi)有大型網(wǎng)站應(yīng)用的成功案例 </p><p>  第三章 電壓合格率管理系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)</p><p>  3.1電壓合格率管理系統(tǒng)總體結(jié)構(gòu)的設(shè)

85、計(jì)思想</p><p>  3.1.1系統(tǒng)設(shè)計(jì)原則</p><p>  以提高管理效率為宗旨。</p><p>  以系統(tǒng)穩(wěn)定安全運(yùn)行為手段。系統(tǒng)程序設(shè)計(jì)、庫(kù)結(jié)構(gòu)的設(shè)計(jì)必須與硬軟件支撐環(huán)境協(xié)調(diào)一致,保證系統(tǒng)運(yùn)行過(guò)程中的穩(wěn)定性。系統(tǒng)的安全性是電壓合格率管理系統(tǒng)的一個(gè)非常重要的組成部分。系統(tǒng)中的大部分內(nèi)容,如電壓、檢測(cè)點(diǎn)等的上報(bào)與刪除修改等操作,需要有安全設(shè)置,通過(guò)身份

86、檢驗(yàn)和權(quán)限設(shè)置,無(wú)關(guān)人員禁止進(jìn)入。</p><p>  以方便用戶(hù)為導(dǎo)向。功能完善的電壓合格率管理系統(tǒng)是一個(gè)方便電力管理人員進(jìn)行電壓上報(bào),統(tǒng)計(jì);檢測(cè)點(diǎn)的審批,建立;對(duì)以往電壓合格率的查詢(xún)以及人員的增加、修改、刪除、查詢(xún)的系統(tǒng),它集界面設(shè)計(jì)、數(shù)據(jù)庫(kù)管理和信息管理于一體,所以在功能設(shè)計(jì)時(shí),應(yīng)全面考慮,要符合軟件開(kāi)發(fā)理論。</p><p>  3.1.2系統(tǒng)的特點(diǎn)</p><

87、p>  接口標(biāo)準(zhǔn)化。實(shí)現(xiàn)系統(tǒng)內(nèi)部接口的標(biāo)準(zhǔn)化、規(guī)范化,并且能夠?qū)崿F(xiàn)各系統(tǒng)間接口的標(biāo)準(zhǔn)化、規(guī)范化。</p><p>  先進(jìn)性與實(shí)用性。采用先進(jìn)的基于計(jì)算機(jī)網(wǎng)絡(luò)的軟件、硬件產(chǎn)品,從而保證系統(tǒng)在技術(shù)上領(lǐng)先。系統(tǒng)建設(shè)方案應(yīng)從運(yùn)行環(huán)境、操作系統(tǒng)平臺(tái)等方面考慮,同時(shí)要結(jié)合實(shí)際操作和運(yùn)行維護(hù)的角度出發(fā)。</p><p>  可靠性與安全性。系統(tǒng)運(yùn)行安全是決定軟件質(zhì)量的重要因素,在開(kāi)放的網(wǎng)絡(luò)中為了

88、保證系統(tǒng)的安全性,必須采取一定的安全措施。</p><p>  開(kāi)放、可擴(kuò)展性。采用開(kāi)放的系統(tǒng)體系設(shè)計(jì)結(jié)構(gòu),兼容不同軟件、硬件平臺(tái)系統(tǒng)。應(yīng)用軟件采用各種編程接口和圖形接口,可充分利用現(xiàn)有設(shè)備資源。軟件、硬件平臺(tái)應(yīng)具有良好的可擴(kuò)充、擴(kuò)展能力,能夠按照系統(tǒng)的分步實(shí)施進(jìn)程方便地進(jìn)行系統(tǒng)的升級(jí)和更新,以適應(yīng)需求的不斷完善和發(fā)展。</p><p>  模塊化和兼容性。整個(gè)系統(tǒng)組織應(yīng)采用模塊化的設(shè)計(jì)原

89、則,不同軟件、硬件平臺(tái)之間應(yīng)具有良好的兼容特性。</p><p>  規(guī)范性和統(tǒng)一性。整個(gè)系統(tǒng)的各種軟件、硬件均應(yīng)符合相關(guān)的國(guó)際、國(guó)內(nèi)標(biāo)準(zhǔn),各級(jí)互聯(lián)網(wǎng)服務(wù)平臺(tái)應(yīng)保持統(tǒng)一業(yè)務(wù)、統(tǒng)一功能、統(tǒng)一標(biāo)準(zhǔn)、統(tǒng)一界面。</p><p>  3.2電壓合格率管理系統(tǒng)的體系結(jié)構(gòu)模型</p><p>  電壓合格率管理系統(tǒng)的體系結(jié)構(gòu)模型如圖3-1所示</p><p&

90、gt;  圖3-1體系結(jié)構(gòu)模型</p><p><b>  1.模型(M) </b></p><p>  數(shù)據(jù)鏈接:數(shù)據(jù)鏈接參數(shù)、鏈接失敗處理。</p><p>  數(shù)據(jù)操作:生成固定格式的數(shù)據(jù)集、運(yùn)行單行SQL、解析固定格式的數(shù)據(jù)集更新數(shù)據(jù)庫(kù)。</p><p>  文件操作:將文件內(nèi)部格式封成數(shù)據(jù)集,并附帶讀取寫(xiě)入文件

91、操作。</p><p><b>  2.視圖(V)</b></p><p>  數(shù)據(jù)顯示:根據(jù)要求授權(quán)給控制器[C]向模型[M]請(qǐng)求數(shù)據(jù)集,然后根據(jù)數(shù)據(jù)集顯示出界面。</p><p>  操作結(jié)果顯示:根據(jù)控制返回的數(shù)據(jù)決定顯示的頁(yè)面。</p><p><b>  3.控制(C)</b></p

92、><p>  數(shù)據(jù)/文件操作:接收操作資料,校驗(yàn)數(shù)據(jù)是否符合條件,引用模型的生成數(shù)據(jù)集類(lèi)生成指定數(shù)據(jù)集,然后交給相應(yīng)的模型操作方法操作,并獲取操作結(jié)果以預(yù)定好的格式轉(zhuǎn)交給視圖處理。</p><p>  關(guān)于異常部分的處理采用將系統(tǒng)的異常類(lèi)轉(zhuǎn)化成自定義的異常的方法,便于對(duì)異常的管理,在系統(tǒng)開(kāi)發(fā)的過(guò)程中,大大的簡(jiǎn)化了調(diào)試的工作。</p><p>  視圖[V]模型[C]鏈接

93、器:接收視圖[V]要求數(shù)據(jù)集的請(qǐng)求,將請(qǐng)求轉(zhuǎn)換成 模型[M]合適的SQL語(yǔ)句,然后交給模型[M]生成數(shù)據(jù)集。然后返回給視圖[V]。</p><p>  遵循MVC模型進(jìn)行編程不但是為了讓程序設(shè)計(jì)更靈活,最重要一點(diǎn)是可以很快將項(xiàng)目拆開(kāi)成一小塊一小塊,然后又將這些小塊再折成更小的塊,一直拆到單個(gè)類(lèi)的某個(gè)方法某個(gè)屬性,等完成這些小塊代碼后,系統(tǒng)也就完成了。</p><p><b&

94、gt;  3.3需求分析</b></p><p>  在上一節(jié)提出的體系結(jié)構(gòu)模型的基礎(chǔ)上對(duì)電壓合格率管理系統(tǒng)的模塊做出了如下劃分:</p><p>  用戶(hù)管理模塊:對(duì)用戶(hù)管理的添加修改刪除查詢(xún)操作。</p><p>  角色管理模塊:給用戶(hù)賦予角色以及角色的修改察看及刪除。</p><p>  功能點(diǎn)管理模塊:為角色賦予相應(yīng)的功

95、能點(diǎn)以及刪除修改查詢(xún)角色所具有的功能。</p><p>  檢測(cè)點(diǎn)管理模塊:檢測(cè)點(diǎn)的建立,審批和廢除。</p><p>  電壓合格率管理模塊:電壓合格率的上報(bào)和統(tǒng)計(jì)。</p><p>  3.3.1順序圖與流程</p><p>  圖3-2電壓合格率上報(bào)模塊順序圖</p><p>  使用本系統(tǒng)的用戶(hù)分為省級(jí)管理員,

96、市級(jí)管理員以及檢測(cè)點(diǎn)管理員。</p><p>  主要成功場(chǎng)景(基本流程):</p><p>  檢測(cè)點(diǎn)管理員錄入本月電壓值。</p><p>  市級(jí)管理員對(duì)檢測(cè)點(diǎn)管理員錄入的電壓值進(jìn)行審核。</p><p>  市級(jí)管理員將各檢測(cè)點(diǎn)上報(bào)電壓進(jìn)行統(tǒng)計(jì)。</p><p>  市級(jí)管理員將統(tǒng)計(jì)結(jié)果上報(bào)到省電業(yè)局。<

97、/p><p>  省級(jí)管理員對(duì)所上報(bào)電壓進(jìn)行審核。</p><p>  省級(jí)管理員對(duì)檢測(cè)點(diǎn)以及各市所上報(bào)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。</p><p>  省級(jí)管理員將統(tǒng)計(jì)出來(lái)的數(shù)據(jù)上報(bào)到國(guó)家電力總公司。</p><p><b>  擴(kuò)展(替代流程):</b></p><p>  檢測(cè)點(diǎn)管理員重啟系統(tǒng),登錄,請(qǐng)求恢復(fù)

98、上次狀態(tài)。</p><p>  在步驟1到步驟2中,市級(jí)管理員審核后,認(rèn)為檢測(cè)點(diǎn)管理員所錄入的電壓值不合格。需要進(jìn)行以下步驟的操作:</p><p>  市級(jí)管理員通知檢測(cè)點(diǎn)管理員對(duì)不合格部分進(jìn)行修改。</p><p>  檢測(cè)點(diǎn)管理員在市級(jí)管理員進(jìn)行統(tǒng)計(jì)之前對(duì)不合格數(shù)據(jù)進(jìn)行修改。</p><p>  在步驟1到步驟5中,省級(jí)管理員審核后,認(rèn)

99、為檢測(cè)點(diǎn)管理員所錄入的電壓值不合格。需要進(jìn)行以下步驟的操作:</p><p>  省級(jí)管理員通知檢測(cè)點(diǎn)管理員對(duì)不合格部分進(jìn)行修改。</p><p>  檢測(cè)點(diǎn)管理員在對(duì)不合格數(shù)據(jù)進(jìn)行修改,重新錄入。</p><p>  市電業(yè)局管理員對(duì)數(shù)據(jù)進(jìn)行重新統(tǒng)計(jì)。</p><p>  市電業(yè)局管理員對(duì)數(shù)據(jù)重新上報(bào)。</p><p&g

100、t;  在步驟3到步驟5中,省級(jí)管理員審核后,認(rèn)為市電業(yè)局統(tǒng)計(jì)數(shù)據(jù)不合格。需要進(jìn)行以下步驟的操作:</p><p>  省級(jí)管理員通知市電業(yè)局管理員對(duì)數(shù)據(jù)重新進(jìn)行統(tǒng)計(jì)。</p><p>  市級(jí)管理員將重新統(tǒng)計(jì)后的數(shù)據(jù)上報(bào)。</p><p>  3.3.2權(quán)限管理模塊</p><p>  圖3-3權(quán)限管理模塊用例圖</p>&l

101、t;p><b>  功能描述:</b></p><p>  用戶(hù)成功登陸后,根據(jù)相對(duì)應(yīng)的角色具有不同的權(quán)限,如下所示:</p><p>  1)人員的錄入:各地市電業(yè)局管理員錄入本單位需要使用本系統(tǒng)的人員,錄入信息包括人員名稱(chēng),代碼,職務(wù),權(quán)限,密碼等信息。</p><p>  2)人員的刪除:各地市電業(yè)局管理員可以刪除本單位需要使用本系

102、統(tǒng)的人員。</p><p>  3)人員的修改:管理員可以修改所有人的基本信息,而普通用戶(hù)只可以修改自己的密碼。</p><p>  4)人員的查詢(xún):各地市電業(yè)局用戶(hù)根據(jù)自己不同的角色與權(quán)限可以查詢(xún)到相應(yīng)的信息。</p><p><b>  組織機(jī)構(gòu)管理:</b></p><p>  1)使用本系統(tǒng)的包括省,市,檢測(cè)點(diǎn)四

103、級(jí)單位。</p><p>  2)省級(jí)管理員可以完成對(duì)省,市,檢測(cè)點(diǎn)所有人員的所有信息的增刪改查,省級(jí)其他用戶(hù)根據(jù)其所具有的角色則分別具有不同的權(quán)限。</p><p>  3)市級(jí)管理員可以完成對(duì)市級(jí)所有人員的所有信息的增刪改查,市級(jí)其他用戶(hù)根據(jù)所具有的角色則分別具有不同的權(quán)限。</p><p>  4)檢測(cè)點(diǎn)沒(méi)有對(duì)人員信息的管理功能。</p><

104、;p>  3.3.3 檢測(cè)點(diǎn)管理模塊</p><p>  圖3-4檢測(cè)點(diǎn)管理模塊用例圖</p><p>  檢測(cè)點(diǎn)的錄入:省公司生產(chǎn)部管理員批準(zhǔn)增加檢測(cè)點(diǎn),并做出批示。</p><p>  檢測(cè)點(diǎn)信息的修改:檢測(cè)點(diǎn)信息進(jìn)行修改,修改后進(jìn)入審批流程。等待省公司生產(chǎn)部審批。省公司生產(chǎn)部管理員批準(zhǔn)修改檢測(cè)點(diǎn),并做出批示。</p><p>  

105、電壓檢測(cè)點(diǎn)的刪除:對(duì)檢測(cè)點(diǎn)信息進(jìn)行刪除,修改后進(jìn)入審批流程。等待省公司生產(chǎn)部審批。省公司生產(chǎn)部管理員批準(zhǔn)刪除檢測(cè)點(diǎn),并做出批示,該監(jiān)測(cè)點(diǎn)制成無(wú)效,不參加統(tǒng)計(jì),在歷史數(shù)據(jù)中可以找到。</p><p>  電壓檢測(cè)點(diǎn)的數(shù)據(jù)的查詢(xún):每個(gè)地市局可以查詢(xún)所有檢測(cè)點(diǎn),省公司生產(chǎn)部可以查詢(xún)所有地市的檢測(cè)點(diǎn)。</p><p>  各檢測(cè)點(diǎn)數(shù)據(jù)的錄入。</p><p>  3.3.4

106、電壓合格率管理模塊</p><p>  各檢測(cè)點(diǎn)將本檢測(cè)點(diǎn)合格率數(shù)據(jù)上報(bào)市電業(yè)局,在上級(jí)電業(yè)局未對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)之前可以進(jìn)行修改,一旦統(tǒng)計(jì)之后,則不可以進(jìn)行修改。</p><p>  市級(jí)對(duì)檢測(cè)點(diǎn)上報(bào)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),并上報(bào)省電業(yè)局。省級(jí)對(duì)市級(jí)上報(bào)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì),并上報(bào)國(guó)家電力總公司。</p><p><b>  3.4數(shù)據(jù)庫(kù)的設(shè)計(jì)</b><

107、/p><p>  在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,建立關(guān)系數(shù)據(jù)模型時(shí),考慮要為網(wǎng)絡(luò)系統(tǒng)增加靈活性和適應(yīng)性,利用Sybase公司推出的數(shù)據(jù)庫(kù)設(shè)計(jì)和生成工具PowerDesigner來(lái)生成SQL-Server數(shù)據(jù)庫(kù)。建模過(guò)程如下圖所示:</p><p>  圖3-5 Power Designer建模過(guò)程</p><p>  3.4.1電壓合格率管理系統(tǒng)的物理模型</p>

108、<p>  圖3-6電壓合格率管理系統(tǒng)的物理模型</p><p>  通過(guò)此物理模型生成SQL腳本語(yǔ)言,將數(shù)據(jù)庫(kù)移植到SQL-Server數(shù)據(jù)庫(kù)服務(wù)器中。在服務(wù)器中生成以上10個(gè)表。</p><p>  在人員表中,人員代碼既為主鍵又為外鍵,利用人員代碼和人員角色表聯(lián)系。部門(mén)代碼也為外鍵,利用部門(mén)代碼和部門(mén)表聯(lián)系。部門(mén)代碼與部門(mén)的對(duì)應(yīng)關(guān)系是一對(duì)一的。</p>&l

109、t;p>  角色表主要是說(shuō)明人員具有的角色,主鍵為角色代碼,角色表通過(guò)人員角色表與人員表聯(lián)系,人員與角色的對(duì)應(yīng)關(guān)系是多對(duì)多的。</p><p>  功能表是具體到各項(xiàng)的功能,如人員的添加功能,電壓的上報(bào)功能,電壓的統(tǒng)計(jì)功能等。角色和功能通過(guò)角色功能組表建立對(duì)應(yīng)關(guān)系,角色和功能的對(duì)應(yīng)是多對(duì)多的。</p><p>  如上所述,通過(guò)人員與角色的對(duì)應(yīng),角色與功能點(diǎn)的對(duì)應(yīng),完成了對(duì)人員權(quán)限的

110、管理。</p><p>  檢測(cè)點(diǎn)管理表主要是建立或廢除檢測(cè)點(diǎn)使用,包含檢測(cè)點(diǎn)的類(lèi)型、建立時(shí)間、審批狀態(tài)、審批人等。</p><p>  電壓合格率上報(bào)表用于檢測(cè)點(diǎn)對(duì)電壓合格率得上報(bào)以及地市電業(yè)局的電壓上報(bào)。主要屬性有檢測(cè)點(diǎn)編號(hào)、類(lèi)型,上報(bào)時(shí)間,上報(bào)人等等。</p><p>  第四章 電壓合格率管理系統(tǒng)實(shí)現(xiàn)</p><p>  4.1通用模

111、塊的設(shè)計(jì)</p><p>  4.1.1數(shù)據(jù)庫(kù)連接</p><p>  由于本系統(tǒng)所涉及的表有十個(gè)左右,針對(duì)每個(gè)表都寫(xiě)一遍數(shù)據(jù)庫(kù)的連接就會(huì)很冗余,無(wú)形中加大了工作量。所以本文采用繼承的方式,即將數(shù)據(jù)庫(kù)的連接做成一個(gè)父類(lèi),以后每個(gè)表的數(shù)據(jù)庫(kù)連接都繼承父類(lèi),對(duì)于不一樣的方法利用多態(tài)進(jìn)行覆蓋。</p><p>  在本程序中數(shù)據(jù)庫(kù)連接的父類(lèi)為DataBuMen類(lèi),此類(lèi)中有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論