[優(yōu)秀畢業(yè)設(shè)計(jì)精品] 基于web的工程資料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩60頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題 目 基于WEB的工程資料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  學(xué)生姓名 專業(yè)班級 機(jī)械+軟件04-3</p><p>  所在院系 軟件學(xué)院       </p><p> 

2、 指導(dǎo)教師 職 稱  副教授  </p><p>  完成日期 2009 年 月 日</p><p><b>  摘 要</b></p><p>  論文針對當(dāng)前各企業(yè)工程資料管理存在的主要問題,以及工程單位資料管理的特點(diǎn)的要求構(gòu)造系統(tǒng)模型。本系統(tǒng)采用微軟的Windows XP為開發(fā)平臺(tái),Mys

3、ql 為后臺(tái)數(shù)據(jù)庫,JSP為開發(fā)工具,最終開發(fā)出一個(gè)能夠適應(yīng)當(dāng)前工程單位發(fā)展的工程資料管理系統(tǒng)。并從技術(shù)和設(shè)計(jì)實(shí)現(xiàn)兩個(gè)方面論述了系統(tǒng)的設(shè)計(jì)和開發(fā)過程。在技術(shù)上,深入探討了管理信息系統(tǒng)的工作原理,分析了工程單位工程資料管理中的各個(gè)業(yè)務(wù)流程。在設(shè)計(jì)實(shí)現(xiàn)上,將系統(tǒng)劃分為五個(gè)子系統(tǒng),資料借閱子系統(tǒng),用戶操作子系統(tǒng),數(shù)據(jù)管理子系統(tǒng),報(bào)訂管理子系統(tǒng),系統(tǒng)管理子系統(tǒng)來實(shí)現(xiàn)其功能。該系統(tǒng)體現(xiàn)了當(dāng)前管理信息系統(tǒng)比較先進(jìn)的設(shè)計(jì)水平和實(shí)現(xiàn)技術(shù),對其它工程資料

4、管理系統(tǒng)的設(shè)計(jì)開發(fā)具有借鑒意義。它的設(shè)計(jì)實(shí)現(xiàn)必將提高我國工程單位的工程資料管理水平,產(chǎn)生一定的經(jīng)濟(jì)利益和社會(huì)利益。</p><p>  這篇論文的主要內(nèi)容包括系統(tǒng)概述,系統(tǒng)需求分析,系統(tǒng)總體設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì),系統(tǒng)詳細(xì)設(shè)計(jì)和實(shí)現(xiàn),系統(tǒng)測試六個(gè)方面,詳細(xì)地闡述了工程資料管理的全過程。</p><p>  關(guān)鍵詞:工程資料 Mysql JSP B/S結(jié)構(gòu) Tomcat</p>

5、<p><b>  ABSTRACT</b></p><p>  The thesis is to the main problems existing in management of the engineering of all engineering enterprise at present, rule and systematic model of structure

6、s of the characteristics of engineering manage in engineering enterprise. This system uses Microsoft's Windows XP for the development platform, Mysql as the background database, JSP as development tools. Eventually,

7、design a system which to adapt to the current development of the engineering enterprise. And from technology and design achieve</p><p>  This paper mainly covers the system outlined system requirements analy

8、sis, system design, database design, system design and implementation of system testing, elaborated on the engineering data management as a whole.</p><p>  Key words: Engineering data Mysql JSP B/S struct

9、ure Tomcat</p><p><b>  目 錄</b></p><p>  第一章系統(tǒng)概述1</p><p>  1.1課題來源及意義1</p><p>  1.2國內(nèi)外發(fā)展?fàn)顩r1</p><p>  1.3系統(tǒng)開發(fā)環(huán)境及技術(shù)介紹2</p><p&

10、gt;  第二章 系統(tǒng)需求分析6</p><p><b>  2.1功能需求6</b></p><p>  2.2性能需求分析6</p><p>  2.3可行性分析7</p><p>  2.4輸入輸出需求8</p><p>  2.5數(shù)據(jù)管理需求8</p><

11、p>  2.6故障處理需求8</p><p>  2.7運(yùn)行環(huán)境需求9</p><p>  第三章系統(tǒng)總體設(shè)計(jì)10</p><p>  3.1系統(tǒng)功能版塊劃分10</p><p>  3.2系統(tǒng)流程分析10</p><p>  3.3系統(tǒng)功能模塊圖11</p><p>  第

12、四章 數(shù)據(jù)庫設(shè)計(jì)12</p><p>  4.1Mysql數(shù)據(jù)庫管理系統(tǒng)12</p><p>  4.2數(shù)據(jù)庫的需求分析12</p><p>  4.3數(shù)據(jù)庫設(shè)計(jì)16</p><p>  4.4數(shù)據(jù)庫的連接24</p><p>  第五章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)26</p><p>

13、  5.1工程資料管理系統(tǒng)的登錄頁設(shè)計(jì)26</p><p>  5.2借閱管理設(shè)計(jì)28</p><p>  5.3用戶操作系統(tǒng)30</p><p>  5.4報(bào)訂管理系統(tǒng)設(shè)計(jì)34</p><p>  5.5數(shù)據(jù)管理系統(tǒng)35</p><p>  5.6系統(tǒng)配置管理系統(tǒng)38</p><p&g

14、t;  第六章 系統(tǒng)測試與性能分析40</p><p>  6.1測試方法40</p><p>  6.2測試與調(diào)試40</p><p>  6.3功能模塊的測試41</p><p>  6.4性能分析44</p><p>  6.5測試結(jié)論44</p><p><b> 

15、 結(jié) 論45</b></p><p><b>  謝 辭46</b></p><p><b>  參考文獻(xiàn)47</b></p><p><b>  附 錄48</b></p><p><b>  引 言</b></p>

16、;<p>  工程資料管理是工程單位的一項(xiàng)重要管理工作。每一個(gè)工程從開始策劃到工程結(jié)束,需要相關(guān)技術(shù)和管理人員查閱大量資料,繪制大量圖紙,編輯大量文檔。目前,工程資料管理工作仍處于以手工處理為主的狀態(tài)。管理人員每天要承擔(dān)繁雜的各類資料的借閱、訂購、歸檔等工作。而資料的用戶——工程管理或工程技術(shù)人員很難及時(shí)了解單位所存資料情況,并且借閱不便。</p><p>  針對工程單位資料管理工作存在的問題,我

17、開發(fā)了基于WEB的工程資料管理系統(tǒng)。通過此系統(tǒng),可以幫助工程單位更好的管理資料,減少資料的缺損、丟失等現(xiàn)象的發(fā)生;減輕資料管理人員的工作負(fù)擔(dān),提高工作效率;方便用戶查詢借閱資料,提高圖書、圖紙等相關(guān)資料的利用率。</p><p>  工程資料管理系統(tǒng)是根據(jù)系統(tǒng)功能需求,采用B/S架構(gòu),系統(tǒng)功能及對數(shù)據(jù)庫的操作都在服務(wù)器端完成,而用戶在瀏覽器端的操作都送到服務(wù)器端處理。采用B/S(Browser/Server)模式

18、的網(wǎng)絡(luò)系統(tǒng),解決了傳統(tǒng)C/S(Client/Server)模式管理系統(tǒng)維護(hù)困難、工作量大的缺點(diǎn),但數(shù)據(jù)的安全性卻變得格外重要,所以必須很好地解決系統(tǒng)權(quán)限管理和用戶管理的問題。</p><p><b>  系統(tǒng)概述</b></p><p><b>  課題來源及意義</b></p><p>  工程資料管理是工程單位一項(xiàng)重要

19、管理工作。每一個(gè)工程從開始策劃到工程結(jié)束,需要相關(guān)技術(shù)人員和管理人員查閱大量資料,繪制大量圖紙,編制大量文檔。以前的工程資料管理基本以手工處理為主。管理人員每天要承擔(dān)繁雜的各種類型的資料借閱、訂購、歸檔等工作。而資料的用戶——工程管理或工程技術(shù)人員很難及時(shí)了解單位所存的資料情況,并且不便借閱。</p><p>  中國的機(jī)械,建筑,冶金等涉及復(fù)雜工程資料的行業(yè)發(fā)展迅速,傳統(tǒng)的手工管理方式已經(jīng)很難適應(yīng)目前越來越復(fù)雜

20、的工程資料的管理。例如建筑行業(yè),20世紀(jì)末當(dāng)時(shí)計(jì)算機(jī)在我國尚未普及,對于建筑施工這個(gè)于鋼筋、水泥、磚頭、沙石打交道的行業(yè),似乎更與計(jì)算機(jī)遙不可及,當(dāng)時(shí)所有現(xiàn)場的案頭工作都是由一張張表格,一個(gè)個(gè)字寫出來的,一個(gè)工程下來,需要耗費(fèi)大量的人力在填寫資料、表格里。而且工程資料由于是手工填寫,造成資料的不統(tǒng)一性和紙張的易損性,不易于查閱、核驗(yàn)、比對和保存。</p><p>  針對工程單位資料管理中存在的問題,基于WEB的

21、工程資料管理系統(tǒng)的開發(fā)就成了一種必然。通過此系統(tǒng)可以,幫助工程單位更好的管理資料,減少資料的損失、丟失等現(xiàn)象的發(fā)生;減輕資料管理人員的工作負(fù)擔(dān),提高工作效率;方便用戶查閱借閱資料,提高相關(guān)資料的利用效率。</p><p><b>  國內(nèi)外發(fā)展?fàn)顩r</b></p><p>  傳統(tǒng)的工程資料管理辦法經(jīng)常采用的是人工管理辦法,也就是所謂的“圓珠筆+復(fù)寫紙”方式。首先這種

22、管理方法很容易造成管理資料的丟失或者資料不統(tǒng)一。其次由于工程資料載體形式不一,各種工程資料制作模式交叉并存,在很多工程單位中都存在這樣的問題:①一些工程資料分散在各個(gè)設(shè)計(jì)人員的計(jì)算機(jī)中,而各個(gè)設(shè)計(jì)人員保存文件又具有極大的隨意性導(dǎo)致部分工程資料丟失。②采用的設(shè)計(jì)模式和編輯模式同樣具有隨意性,即使歸檔后,管理人員也很難去一一糾正。③因?qū)こ藤Y料認(rèn)識不足,從而導(dǎo)致資料運(yùn)用不科學(xué)、不準(zhǔn)確,造成科研或制造上的失誤。另外由于種種原因,各類工程資料不

23、能保證由專人統(tǒng)一收集,也不能保證把收集到的資料指定專人保管。各工作人員相互之間不清楚是否掌握有某個(gè)工程資料,也不易判斷某一資料的時(shí)效性。保管資料的人可能不要資料,而需要資料的人又找不到資料。</p><p>  隨著全球信息、電子產(chǎn)業(yè)的迅猛發(fā)展,計(jì)算機(jī)已經(jīng)走進(jìn)了各個(gè)行業(yè)。同樣,計(jì)算機(jī)在工程資料管理中也起著不可或缺的作用,計(jì)算機(jī)已經(jīng)不再是一部“簡單的電子打字機(jī)”了。我們現(xiàn)在已經(jīng)進(jìn)入了信息時(shí)代,各種各樣的信息浩如煙海

24、,要有效的利用各種信息為工程管理人員服務(wù),缺少計(jì)算機(jī)是不現(xiàn)實(shí)的。計(jì)算機(jī)作為一種不斷更新的現(xiàn)代化管理工具,它究竟能為工程管理發(fā)揮多大作用、提供多少先進(jìn)手段,可能是無止境的。</p><p>  同樣,隨著計(jì)算機(jī)軟件技術(shù)的高速發(fā)展,當(dāng)前各種工程單位已經(jīng)開始使用各式各樣的工程資料管理軟件對工程資料進(jìn)行收集和整理。這為工程資料的管理帶來的天翻地覆的變化,不僅極大的減輕了資料管理人員的工作強(qiáng)度、減小了失誤率、提高了工作效率

25、,同時(shí)給工程資料的統(tǒng)一管理和備案提供了極大便利??梢哉f是計(jì)算機(jī)讓工程資料的管理告別了“圓珠筆+復(fù)寫紙”時(shí)代。</p><p>  由于我國計(jì)算機(jī)的發(fā)展起步較晚,所以應(yīng)用計(jì)算機(jī)管理工程資料也興起的較晚,但是隨著我國經(jīng)濟(jì)的高速發(fā)展,計(jì)算機(jī)管理工程資料已經(jīng)普遍應(yīng)用于各行各業(yè)。針對不同行業(yè)還出現(xiàn)了不同的工程資料管理軟件,例如建筑行業(yè),就有針對本行業(yè)的專門軟件來管理建筑材料,工程造價(jià)等相關(guān)工程資料;機(jī)械行業(yè),也有針對本行業(yè)

26、的專門管理軟件來管理各種圖紙、文檔等相關(guān)工程資料。雖然我國的工程資料管理系統(tǒng)起步較晚,但管理水平已經(jīng)趕上甚至超越部分發(fā)達(dá)國家。智能化的工程資料管理系統(tǒng)適用、高效、便捷,給工程單位帶來了極大的便利,已經(jīng)被上海、北京等地方政府建筑工程治療管理部門推薦使用,應(yīng)用到質(zhì)量竣工資料管理、安全生產(chǎn)管理、試驗(yàn)檢驗(yàn)管理當(dāng)中;被9個(gè)省市地方政府工程質(zhì)量管理部門指定為地方規(guī)程配套軟件,包括:北京、上海、上海市政、陜西、江西、鄭州、云南、新疆、福建。各式各樣的

27、工程資料管理軟件已經(jīng)成為各個(gè)工程單位適用最多的軟件。</p><p>  在國外計(jì)算機(jī)興起較早,計(jì)算機(jī)也更早的應(yīng)用于各個(gè)領(lǐng)域,應(yīng)用于工程資料的管理興起的較早,發(fā)展的也很完善。歐美眾多國家汽車、電子等行業(yè)高速發(fā)展與規(guī)范、高效的工程資料管理有著必不可分的關(guān)系。在許多著名企業(yè),如通用,東芝等,都有他們自己的一套詳細(xì)規(guī)范的管理辦法,并有完善的管理軟件這也是他們能夠在世界經(jīng)濟(jì)高速發(fā)展的今天依然能夠屹立不倒的重要基石。<

28、;/p><p>  系統(tǒng)開發(fā)環(huán)境及技術(shù)介紹</p><p>  本系統(tǒng)采用Brower/Sever架構(gòu),以WINDOWS作為系統(tǒng)平臺(tái),采用JSP作為主要的程序設(shè)計(jì)語言,Mysql作為后臺(tái)數(shù)據(jù)庫的管理信息系統(tǒng)。Tomcat作為WEB服務(wù)器承載。</p><p><b>  JSP簡介</b></p><p>  JSP是SUN

29、公司推出的一種網(wǎng)絡(luò)編程技術(shù),具備跨平臺(tái)運(yùn)行能力,安全性比較高,運(yùn)行效率也比較快,備受大中型企業(yè)和公司,以及銀行金融機(jī)構(gòu)青睞。</p><p>  JSP(JavaServer Pages)已經(jīng)成為開發(fā)Web動(dòng)態(tài)網(wǎng)站的快速有效工具。它是一種網(wǎng)絡(luò)服務(wù)器端編程環(huán)境。JSP是基于強(qiáng)大的Java語言,充分利用了Java的強(qiáng)大功能,是一種優(yōu)秀的服務(wù)器端技術(shù)。隨著Java技術(shù)的日益成熟和流行,JSP技術(shù)在網(wǎng)絡(luò)編程中也變得越來越

30、重要。同時(shí)具有極強(qiáng)的擴(kuò)展能力、良好的收縮性、以及與平臺(tái)無關(guān)的開發(fā)特性。在根據(jù)Java平臺(tái)構(gòu)建動(dòng)態(tài)網(wǎng)站成為主流的今天,JSP有著其他技術(shù)所不具備的優(yōu)勢。JSP技術(shù)可以讓W(xué)eb開發(fā)人員和設(shè)計(jì)人員非常容易的創(chuàng)建和維護(hù)動(dòng)態(tài)網(wǎng)頁,特別是目前的商業(yè)系統(tǒng)。它作為JayaTM技術(shù)的一部分,能夠快速開發(fā)出基于Web、獨(dú)立于平臺(tái)的應(yīng)用程序。JSP把用戶界面從系統(tǒng)內(nèi)容中分離開來,使得設(shè)計(jì)人員能夠在不改變底層動(dòng)態(tài)內(nèi)容的前提下改變整個(gè)網(wǎng)頁布局。簡單地說,一個(gè)JS

31、P網(wǎng)頁就是在HTML網(wǎng)頁中包含了能夠生成動(dòng)態(tài)內(nèi)容的可執(zhí)行應(yīng)用程序代碼。此應(yīng)用程序可能包含JavaBean,JDBC對象,Enterprise Java Bean(EJB)和Remote Method Invocation(RMI)對象,所有的部分都可以非常容易的從JSP網(wǎng)頁上訪問到。</p><p>  JAVA語言現(xiàn)在已經(jīng)是全球最熱門的語言之一,并且是受歡迎程度最高的語言,而基于JAVA技術(shù)的JSP技術(shù)也伴隨著

32、Internet/Intranet技術(shù)也飛速發(fā)展并茁壯成長。在近十年的發(fā)展成長中,JSP不斷釋放出其特有的技術(shù)風(fēng)格和魅力,成功吸引了無數(shù)追求者,并幫助了許多盯人創(chuàng)造著奇跡并從事業(yè)和經(jīng)濟(jì)效益上獲取到了成功。</p><p>  JSP的優(yōu)勢:①一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。②系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,

33、在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。③強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。④多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)。&l

34、t;/p><p>  JSP的劣勢:①與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。② Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲(chǔ)存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。</p>&l

35、t;p><b>  Mysql簡介</b></p><p>  Mysql是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),Mysql數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理。</p><p>  由于Mysql是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個(gè)性化的需要

36、對其進(jìn)行修改。Mysql因?yàn)槠渌俣?、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,Mysql是管理內(nèi)容最好的選擇。</p><p>  Mysql關(guān)系型數(shù)據(jù)庫于1998年1月發(fā)行第一個(gè)版本。它使用系統(tǒng)核心提供的多線程機(jī)制提供完全的多線程運(yùn)行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等編程語言的編程接口(APIs),支持多種字段類型并且提供了完

37、整的操作符支持查詢中的SELECT和WHERE操作。</p><p>  Mysql開發(fā)組計(jì)劃于2001年中期公布Mysql4.0版本。在這個(gè)版本中將有以下新的特性被提供:新的表定義文件格式、高性能的數(shù)據(jù)復(fù)制功能、更加強(qiáng)大的全文搜索功能。在此之后,Mysql開發(fā)著希望提供安全的數(shù)據(jù)復(fù)制機(jī)制、在BeOS操作系統(tǒng)上的Mysql實(shí)現(xiàn)以及對延時(shí)關(guān)鍵字的定期刷新選項(xiàng)。隨著時(shí)間的推進(jìn),Mysql將對ANSI 92/ANSI

38、99標(biāo)準(zhǔn)完全兼容。</p><p>  與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,Mysql自有它的不足之處,如規(guī)模小、功能有限(Mysql Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個(gè)人讀者和中小型企業(yè)來說,Mysql提供的功能已經(jīng)綽綽有余,而且由于Mysql是開放源碼軟件,因此可以大大降低總體擁有成本。</p><

39、;p>  目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+Mysql+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,Mysql作為數(shù)據(jù)庫,PHP作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是遵循GPL的開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。 </p><p>  時(shí)至今日 Mysql 和 php 的結(jié)合絕對是完美.很

40、多大型的網(wǎng)站也用到Mysql數(shù)據(jù)庫.Mysql的發(fā)展前景是非常光明的!</p><p><b>  Tomcat簡介</b></p><p>  Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun 的參與和支持,最

41、新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。</p><p>  Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)

42、應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat 是一個(gè)小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行to

43、mcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 這里的訣竅是,當(dāng)配置正確時(shí),Apache 為HTML頁面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。<

44、/p><p>  第二章 系統(tǒng)需求分析</p><p><b>  2.1功能需求</b></p><p>  用戶在打開系統(tǒng)登陸頁,通過輸入用戶名和密碼之后就會(huì)扮演某種角色從而具有了一定的權(quán)限,根據(jù)他的身份與權(quán)限,就可以在對應(yīng)的界面完成相應(yīng)的功能。角色分為三種:一般用戶,系統(tǒng)管理員,系統(tǒng)操作員。</p><p><

45、b>  1. 一般用戶:</b></p><p>  (1)用戶操作系統(tǒng):讀者建議添加,用戶有什么意見或建議可以通過此操作向資料借出方提出。當(dāng)前借閱書籍,用戶可以查看已經(jīng)借閱的資源列表。</p><p>  (2)系統(tǒng)管理系統(tǒng):系統(tǒng)配置管理,用戶可以通過此操作維護(hù)自己的密碼信息。 </p><p><b>  2.系統(tǒng)操作員:</b

46、></p><p>  (1)資料借閱系統(tǒng):借閱管理,幫助操作員管理借閱信息,提高效率。通過此借閱管理功能,可以向外部出借和預(yù)借圖書、圖紙,并將信息保存入庫。借閱查詢,查詢出借和預(yù)借的圖書、圖紙信息,并可執(zhí)行圖書、圖紙的歸還和出借操作。</p><p>  (2)用戶操作系統(tǒng):讀者建議查詢,讀者自己登錄向借出方提出的一些改進(jìn)意見,操作員可以在這里查看到。讀者信息添加,在系統(tǒng)內(nèi)添加客戶

47、信息,其中客戶編號為必填。讀者信息維護(hù),包括讀者信息的瀏覽、編輯和刪除??梢詭椭僮鲉T動(dòng)態(tài)管理讀者信息。</p><p>  (3)系統(tǒng)管理子系統(tǒng):系統(tǒng)配置管理,用戶可通過此途徑維護(hù)自己的密碼信息。</p><p>  (4)報(bào)訂管理系統(tǒng):訂單管理,對工程涉及到得訂單進(jìn)行管理。進(jìn)貨單管理,對工程涉及到的進(jìn)貨單進(jìn)行管理。</p><p><b>  3.系統(tǒng)

48、管理員:</b></p><p>  (1)數(shù)據(jù)管理系統(tǒng):圖書、圖紙管理,圖書、圖紙信息的添加,瀏覽,編輯和刪除。</p><p>  用戶管理,對系統(tǒng)操作員信息的添加和維護(hù)。圖書類別管理,用于管理圖書類別,有利于提高工作效率。</p><p>  (2)系統(tǒng)管理系統(tǒng):系統(tǒng)配置管理,點(diǎn)擊進(jìn)入頁面可以對自己的密碼信息進(jìn)行維護(hù)。</p><

49、;p>  系統(tǒng)幫助說明以及系統(tǒng)使用說明。</p><p><b>  2.2性能需求分析</b></p><p><b>  1.準(zhǔn)確性和及時(shí)性</b></p><p>  在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,不但要保證本次數(shù)據(jù)處理結(jié)果的準(zhǔn)確性,還要考慮本次數(shù)據(jù)處理結(jié)果對整個(gè)系統(tǒng)的影響,從而保證整個(gè)系統(tǒng)的正確性。系統(tǒng)在日常處理中

50、的響應(yīng)速度要達(dá)到實(shí)時(shí)要求,以及實(shí)時(shí)反饋信息。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,還要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)處理能力和響應(yīng)時(shí)間能夠滿足用戶對信息處理的要求。</p><p><b>  2.系統(tǒng)的可擴(kuò)充性</b></p><p>  系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。這些要求系統(tǒng)提供足夠手段進(jìn)行功能的調(diào)整和擴(kuò)充。要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來

51、完成,即系統(tǒng)應(yīng)是一個(gè)開放的系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊、配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級和更新?lián)Q代??梢哉f,具有良好的擴(kuò)展性的軟件才是優(yōu)秀的軟件。</p><p>  3.系統(tǒng)的易用性和易維護(hù)性</p><p>  為了系統(tǒng)使用的高效率,用戶可以很快的使用工程資料管理系統(tǒng)而不必專門的學(xué)習(xí)該軟件的使用。因此系統(tǒng)應(yīng)該能夠提供良好的用戶接口,易用的人

52、機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該設(shè)計(jì)成盡量友好的界面。系統(tǒng)中涉及到的重要的信息數(shù)據(jù)要妥善的保存,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。</p><p><b>  2.3可行性分析</b></p><p>  隨著社會(huì)的高速發(fā)展,傳統(tǒng)的手工管理方法已經(jīng)很難適應(yīng)高速發(fā)展的經(jīng)濟(jì),在所有工程單位中都面對著工

53、程資料越來越多,越來越復(fù)雜的情況。使用更為現(xiàn)代化的計(jì)算機(jī)軟件來管理工程資料已成為一種必然。開發(fā)針對不同行業(yè)的工程資料管理系統(tǒng)更是大勢所趨。這樣不僅能使工程單位更好管理自己的工程資料,使工程資料的管理更加合理化、更加有效,而且能減輕由于工程資料管理不善帶來的問題。開發(fā)工程資料管理系統(tǒng),符合工程單位工程資料管理的特點(diǎn),提高使用效率。工程資料管理系統(tǒng)采用的標(biāo)準(zhǔn)化管理按標(biāo)準(zhǔn)統(tǒng)一登記各類圖書、工程用圖紙、訂單報(bào)表,集中管理各種相關(guān)工程資料。。&l

54、t;/p><p>  技術(shù)可行性:目前市場上的一般計(jì)算機(jī)軟硬件都能滿足系統(tǒng)開發(fā)要求。開發(fā)環(huán)JSP數(shù)據(jù)庫采用Mysql。</p><p> ?。?)JSP是SUN公司推出的全新一代的動(dòng)態(tài)網(wǎng)頁實(shí)現(xiàn)系統(tǒng),用于一臺(tái)WEB服務(wù)器建立強(qiáng)大的應(yīng)用程序。 </p><p>  1)JSP允許用戶選擇并使用功能完善的編程語言,也允許使用潛力巨大的.NET Framework。&

55、lt;/p><p>  2)JSP是編譯性的編程框架,可以利用早期綁定,實(shí)施編譯來提高效率。</p><p>  3)JSP把界面設(shè)計(jì)和程序設(shè)計(jì)以不同的文件分離開,復(fù)用性和維護(hù)性得到了提高。 </p><p>  它結(jié)合SQL Server 2000完全能夠勝任開發(fā)任務(wù)。</p><p> ?。?)維護(hù)工作方便,有一定經(jīng)驗(yàn)的操作人員可以在短時(shí)間內(nèi)

56、掌握維護(hù)工作。</p><p>  經(jīng)濟(jì)可行性:電腦處理大量數(shù)據(jù)的時(shí)候優(yōu)勢非常明顯,比人工方式快的多,也更加準(zhǔn)確,省時(shí)省力。</p><p>  操作可行性:系統(tǒng)的使用極其簡便,容易讓人接受。</p><p>  經(jīng)分析本次設(shè)計(jì)采用JSP開發(fā)工具,JSP對報(bào)表的上傳和下載以及對表內(nèi)數(shù)據(jù)與數(shù)據(jù)庫的邏輯和運(yùn)算處理提供了強(qiáng)大的功能。而且用JSP構(gòu)建WEB應(yīng)用程序有著超越性

57、的特點(diǎn)與優(yōu)勢:性能強(qiáng)、執(zhí)行效率高、跨平臺(tái)操作、易于管理等。數(shù)據(jù)庫采用Mysql 開發(fā),SQL語言是非過程化的、統(tǒng)一的、所有關(guān)系數(shù)據(jù)庫的公共語言,它結(jié)構(gòu)簡潔,功能強(qiáng)大,近年來被廣泛的采用。所以本次設(shè)計(jì)項(xiàng)目是可行的。</p><p><b>  2.4輸入輸出需求</b></p><p>  要求用戶輸入輸出界面盡可能簡單明了,風(fēng)格統(tǒng)一;對用戶輸入盡可能提供缺省值,并以選

58、擇的方式進(jìn)行;用戶輸入給出格式參考或明確指示;要求對用戶輸入有容錯(cuò)能力;要求對大量用戶信息輸出規(guī)劃整齊,盡量采用圖表形式。</p><p><b>  2.5數(shù)據(jù)管理需求</b></p><p>  1.?dāng)?shù)據(jù)錄入的準(zhǔn)確性和實(shí)時(shí)性</p><p>  數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失

59、去意義。數(shù)據(jù)的輸入來源一是手工輸入二是由其它系統(tǒng)產(chǎn)生。手工輸入要通過系統(tǒng)界面上的安排使系統(tǒng)具有容錯(cuò)性。而由其它系統(tǒng)生成的數(shù)據(jù)也要有必要的檢查手段,以保證輸入數(shù)據(jù)的準(zhǔn)確性。在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)。</p><p>  2.?dāng)?shù)據(jù)的一致性和完整性</p><p>  由于系統(tǒng)的數(shù)據(jù)是共享的,在不同的模塊或子系統(tǒng)中,報(bào)表、文件、數(shù)據(jù)庫是共

60、享數(shù)據(jù),所以如何保證這些數(shù)據(jù)的一致性,是系統(tǒng)必須解決的問題。要解決這一問題,要有一定的人員維護(hù)數(shù)據(jù)的一致性,在數(shù)據(jù)錄入處控制數(shù)據(jù)的去向,并且要求對數(shù)據(jù)庫的數(shù)據(jù)完整性進(jìn)行嚴(yán)格的約束。各模塊之間對數(shù)據(jù)庫的需求各有不同,但一定要協(xié)調(diào)好不同需求之間的關(guān)系。對于各模塊都會(huì)用到的表一定要一致,不能有沖突。</p><p><b>  2.6故障處理需求</b></p><p> 

61、 由于軟硬件及系統(tǒng)設(shè)計(jì)等各種因素,系統(tǒng)在使用過程難免會(huì)發(fā)生各種故障。系統(tǒng)應(yīng)提供一定的對各種故障的檢測能力,并提供相應(yīng)的處理手段。對于硬件故障和系統(tǒng)軟件故障,應(yīng)由系統(tǒng)報(bào)告及處理;對于操作錯(cuò)誤,要求有信息提示及正確方式。</p><p><b>  2.7運(yùn)行環(huán)境需求</b></p><p><b>  服務(wù)器端:</b></p>&l

62、t;p>  CPU:P(R) 1.86GHz </p><p><b>  內(nèi)存:1GB</b></p><p><b>  硬盤空間:120G</b></p><p>  操作系統(tǒng):Windows XP Professional</p><p>  數(shù)據(jù)庫管理系統(tǒng): Mysql</p&

63、gt;<p>  辦公軟件:OFFICE 2003</p><p><b>  客戶端:</b></p><p>  操作系統(tǒng):Windows XP Professional</p><p>  瀏覽器:IE5.0以上</p><p><b>  系統(tǒng)總體設(shè)計(jì)</b></p>

64、;<p>  3.1系統(tǒng)功能版塊劃分</p><p>  系統(tǒng)功能按角色分為三大部分:一般用戶、系統(tǒng)操作員和系統(tǒng)管理員。</p><p>  1.一般用戶:一般用戶只能瀏覽自己當(dāng)前借閱,和修改自己的用戶密碼。</p><p>  2.系統(tǒng)操作員:可以管理借閱,查詢借閱;添加讀者信息、維護(hù)讀者信息、查看讀者建議;添加訂單信息,將訂貨單轉(zhuǎn)為進(jìn)貨單實(shí)現(xiàn)入庫。

65、</p><p>  3.系統(tǒng)管理員:可以添加圖書圖紙資料的信息,維護(hù)圖書圖紙資料的信息。添加系統(tǒng)操作員信息為系統(tǒng)添加操作員。查看系統(tǒng)幫助說明以及使用說明。</p><p><b>  3.2系統(tǒng)流程分析</b></p><p><b>  圖3-1系統(tǒng)流程圖</b></p><p>  由系統(tǒng)流程

66、圖可以看出,一般用戶進(jìn)入本系統(tǒng)后,經(jīng)過登錄可以進(jìn)行借閱資料的查詢,添加意見和建議,修改自己的密碼信息。系統(tǒng)操作員登錄后可以管理借閱,查詢借閱,添加、維護(hù)讀者的信息,添加和維護(hù)訂貨單信息,查詢進(jìn)貨單信息,維護(hù)自己的密碼信息。系統(tǒng)管理員登錄后可以添加,修改資料的信息,添加系統(tǒng)操作員信息。</p><p>  3.3系統(tǒng)功能模塊圖</p><p>  下面是系統(tǒng)總體功能樹,列出了各個(gè)模塊的主要功

67、能。</p><p>  圖3-2 系統(tǒng)總體功能樹</p><p>  第四章 數(shù)據(jù)庫設(shè)計(jì)</p><p>  4.1Mysql數(shù)據(jù)庫管理系統(tǒng)</p><p>  Mysql是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典Mysql AB公司。在2008年1月16號被Sun公司收購。目前Mysql被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。

68、由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了Myaql作為網(wǎng)站數(shù)據(jù)庫。</p><p>  MySQL 具有以下特性:</p><p>  1.使用C和C++編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性。</p><p>  2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS

69、、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。</p><p>  3.為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。。</p><p>  4.支持多線程,充分利用CPU資源。</p><p>  5.優(yōu)化的SQ

70、L查詢算法,有效地提高查詢速度。</p><p>  6..既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。</p><p>  7. 提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。</p><p&

71、gt;  8. 提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。</p><p>  4.2數(shù)據(jù)庫的需求分析</p><p>  數(shù)據(jù)字典是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序元數(shù)據(jù)的目錄。數(shù)據(jù)字典的重要用途是作為分析階段的工具。在數(shù)據(jù)字典中建立嚴(yán)密一致的定義有助于改進(jìn)分析人員和用戶之間的通信,避免許多誤解的發(fā)生。數(shù)據(jù)字典也有助于改進(jìn)不同的開發(fā)人員或不同的開發(fā)小組之間的通信</p&g

72、t;<p>  數(shù)據(jù)庫需要?jiǎng)?chuàng)建以下數(shù)據(jù)表:</p><p>  1.登錄用戶信息表(login_user):存放系統(tǒng)管理員,系統(tǒng)操作員的注冊信息。</p><p>  2.資源信息表(resource_manager):存放資料的具體信息。</p><p>  3.讀者信息表(reader_manager):存放資料借閱者的相關(guān)信息。</p>

73、;<p>  4.資料借閱信息表(loan_manager):存放借閱的相關(guān)信息。</p><p>  5.讀者建議信息表(reader_advice):存放資料借閱者建議的相關(guān)信息。</p><p>  6.訂單管理信息表(order_manager):存放訂單管理的相關(guān)信息。</p><p>  7.訂單信息表(order_list):存放有關(guān)訂單

74、的相關(guān)信息。</p><p>  8.資料分類管理信息表(book_type_manager):存放資料分類的相關(guān)信息。</p><p>  登錄用戶信息表如表4-1所示:</p><p>  表4-1登錄用戶信息數(shù)據(jù)字典</p><p>  資源信息表如表4-2所示:</p><p>  表4-2資源信息數(shù)據(jù)字典&l

75、t;/p><p>  讀者信息表如表4-3所示:</p><p>  表4-3讀者信息數(shù)據(jù)字典</p><p>  資料借閱信息表如表4-4所示:</p><p>  表4-4資料借閱信息數(shù)據(jù)字典</p><p>  讀者建議信息表如表4-5所示:</p><p>  表4-5讀者建議信息數(shù)據(jù)字典&

76、lt;/p><p>  訂單管理信息表如表4-6所示:</p><p>  表4-6訂單管理信息數(shù)據(jù)字典</p><p>  訂單信息表如表4-7所示:</p><p>  表4-7訂單信息表數(shù)據(jù)字典</p><p>  資料分類信息表如表4-8所示:</p><p>  表4-8資源分類信息數(shù)據(jù)字

77、典</p><p><b>  4.3數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b>  4.3.1外部設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫使用Mysql,數(shù)據(jù)庫名稱為“bookmanager”,所對應(yīng)的開發(fā)的系統(tǒng)的全稱為“工程資料管理系統(tǒng)”。</p><p>  4.3.2實(shí)體關(guān)系E-R圖設(shè)計(jì)&l

78、t;/p><p>  在本系統(tǒng)的實(shí)體包括一般用戶、系統(tǒng)管理員、系統(tǒng)操作員、圖書/圖紙資源、借閱、訂單、訂單項(xiàng)7個(gè)實(shí)體。</p><p>  在E-R圖的設(shè)計(jì)過程中,我們抽象出這7個(gè)實(shí)體,系統(tǒng)管理員,系統(tǒng)操作員都包括用戶名、用戶密碼、用戶ID和注冊日期的信息。讀者信息包括讀者編號、讀者姓名、讀者性別、讀者出生日期、讀者辦卡日期、讀者卡號、讀者等級、讀者住址、讀者電話、讀者電子郵箱、讀者身份證號等

79、相關(guān)信息。資源信息包括資源編號、資源名稱、資源作者信息、資源類別、資源總量、資源出版信息、資源單價(jià)等資源相關(guān)信息。借閱包括流水號、操作日期、應(yīng)還日期、資源編號、借出數(shù)量、操作用戶、讀者編號等相關(guān)信息。建議包括建議ID、建議時(shí)間,建議讀者編號、建議內(nèi)容等相關(guān)信息。訂單包括訂單編號、訂單日期、廠商、訂單總金額等相關(guān)信息。訂單項(xiàng)包括商品編號、商品名稱、商品數(shù)量、商品單價(jià)、商品總額等相關(guān)信息。</p><p>  圖4-

80、1系統(tǒng)管理員管理E-R圖</p><p>  圖4-2系統(tǒng)操作員管理訂單和用戶的E-R圖</p><p>  圖4-3讀者添加意見E-R圖</p><p>  圖4- 4系統(tǒng)操作員查閱建議E-R圖</p><p>  圖4-5系統(tǒng)操作員管理借閱E-R圖</p><p>  圖4-6 讀者借閱E-R圖</p>

81、<p>  4.3.3數(shù)據(jù)庫設(shè)計(jì)</p><p>  系統(tǒng)設(shè)計(jì)階段的數(shù)據(jù)庫設(shè)計(jì)是以系統(tǒng)分析階段的成果和數(shù)據(jù)流程圖為依據(jù)的設(shè)計(jì)。數(shù)據(jù)庫在一個(gè)管理信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。設(shè)計(jì)數(shù)據(jù)庫時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計(jì)一般包

82、括:數(shù)據(jù)庫邏輯設(shè)計(jì)和數(shù)據(jù)庫物理設(shè)計(jì)。</p><p>  邏輯設(shè)計(jì)的任務(wù)就是把概念設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。邏輯設(shè)計(jì)時(shí)一般要分三步進(jìn)行:</p><p>  第一步:將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;</p><p>  第二步:將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;&

83、lt;/p><p>  第三步:對數(shù)據(jù)模型進(jìn)行優(yōu)化。</p><p>  為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計(jì)。數(shù)據(jù)庫的物理設(shè)計(jì)通常分為兩步:</p><p>  第一步:確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲(chǔ)結(jié)構(gòu);</p><p>  第二步:對物理結(jié)構(gòu)進(jìn)行評價(jià),評價(jià)的重點(diǎn)是時(shí)間

84、和空間效率。</p><p>  設(shè)計(jì)優(yōu)化的物理數(shù)據(jù)庫結(jié)構(gòu),具有可靠性、有效性、可修改性和可移植性等特點(diǎn)。使得在數(shù)據(jù)庫上運(yùn)行的各種事物響應(yīng)時(shí)間小、存儲(chǔ)空間利用率高、事物吞吐率大。</p><p>  為該系統(tǒng)設(shè)計(jì)的邏輯數(shù)據(jù)模型與物理結(jié)構(gòu)的對應(yīng)數(shù)據(jù)表如下所示:</p><p>  登錄用戶信息表(包括用戶ID,用戶姓名,用戶密碼,是否是管理員,注冊日期,其中用戶ID是

85、主鍵)</p><p>  圖4-8 登錄用戶信息表設(shè)計(jì)</p><p>  資源信息表(包括資源編號,資源名稱,作者信息,資源類別,資源類型,出版日期,館內(nèi)剩余數(shù)量,可借出數(shù)量,資源單價(jià),其中資源編號是主鍵。)</p><p>  圖4-9 資源信息表設(shè)計(jì)</p><p> ?。?)讀者信息表(讀者ID,讀者姓名,讀者性別,讀者出生日期,

86、讀者辦卡日期,讀者卡號,讀者押金余額,讀者等級,讀者身份證號,讀者住址,讀者電話,讀者電子郵箱,其中讀者ID是主鍵。)</p><p>  圖4-10 讀者信息表設(shè)計(jì)</p><p> ?。?)資料借閱信息表(包括流水號,操作日期,應(yīng)還日期,資源編號,借出數(shù)量,合計(jì)金額,操作用戶,讀者編號,其中流水號為主鍵)</p><p>  圖4-11 借閱信息表設(shè)計(jì)<

87、;/p><p> ?。?)讀者建議信息表(建議ID,建議,讀者編號,建議日期,備注信息,其中建議ID是主鍵。)</p><p>  圖4-12 讀者建議信息表設(shè)計(jì)</p><p>  (6)訂單管理信息表(訂單編號,訂單日期,廠商,訂單總金額,訂單轉(zhuǎn)換標(biāo)識,其中訂單編號是主鍵。)</p><p>  圖4-13 訂單管理信息表設(shè)計(jì)</p&

88、gt;<p> ?。?)訂單信息表(包括流水號,訂單編號,商品編號,商品名稱,商品單價(jià),商品數(shù)量,商品總額,其中用戶流水號是主鍵。)</p><p>  圖4-14 訂單信息表設(shè)計(jì)</p><p> ?。?)資料分類信息表(包括分類ID,分類名稱,分類層次,附屬于分類ID,其中分類I D為主鍵)</p><p><b>  圖4- 7<

89、;/b></p><p><b>  4.4數(shù)據(jù)庫的連接</b></p><p>  數(shù)據(jù)庫連接對動(dòng)態(tài)網(wǎng)站來說是最為重要的部分,Java中連接數(shù)據(jù)庫的技術(shù)是JDBC(Java Database Connectivity)。很多數(shù)據(jù)庫系統(tǒng)帶有JDBC驅(qū)動(dòng)程序,Java程序就通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫相連,執(zhí)行查詢,提取數(shù)據(jù)等操作。SUN公司開發(fā)了JDBC-ODB

90、C橋,通過JDBC-ODBC橋,Java程序可以訪問帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫。</p><p>  Java數(shù)據(jù)庫連接是一種用于執(zhí)行SQL語句的Java API(應(yīng)用程序設(shè)計(jì)接口),它由一組Java編程語言編寫的類和接口組成。JDBC為數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,使他們能夠用純JDBC API來編寫數(shù)據(jù)庫應(yīng)用程序。數(shù)據(jù)庫開發(fā)人員使用JDBC API編寫一個(gè)程序后,就可以很方便的將SQL語句傳送給任何

91、一個(gè)數(shù)據(jù)庫。用JDBC寫的程序能夠自動(dòng)得將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)。Java和JDBC的結(jié)合可以讓數(shù)據(jù)庫開發(fā)人員在開發(fā)數(shù)據(jù)庫應(yīng)用時(shí)真正實(shí)現(xiàn)“只寫一次,隨處運(yùn)行”。</p><p>  要在JSP頁面中訪問數(shù)據(jù)庫,首先要實(shí)現(xiàn)JSP程序與數(shù)據(jù)庫的連接。JDBC中通過提供DriverManager類和Connection對象實(shí)現(xiàn)數(shù)據(jù)庫的連接。同時(shí),連接數(shù)據(jù)庫通常有兩種形式:</p><p

92、>  一是通過JDBC-ODBC橋連接</p><p>  二是通過數(shù)據(jù)庫系統(tǒng)專用的JDBC驅(qū)動(dòng)程序?qū)崿F(xiàn)連接。</p><p>  在該系統(tǒng)中采用第二種形式來連接MySQL數(shù)據(jù)庫,具體實(shí)現(xiàn)步驟是:</p><p>  1、下載MySQL(4.1.11版本)、JDBC驅(qū)動(dòng)(mysql-connector-java-3.1.8)以及MySQL界面插件:mysql-

93、front。</p><p>  2、安裝以上軟件(JDBC驅(qū)動(dòng)只是一個(gè)壓縮包,并不需要安裝,只要將其解壓)。</p><p>  3、配置環(huán)境變量以及為JSP連接數(shù)據(jù)庫配置驅(qū)動(dòng)。</p><p>  數(shù)據(jù)庫連接代碼如下:</p><p>  db_type=mysql</p><p>  db_driver=com.

94、mysql.jdbc.Driver</p><p>  db_url=jdbc:mysql://localhost:3306/bookmanager?user=root&password=root&characterEncoding=UTF-8</p><p>  per_page_num=10</p><p>  import java.sql.C

95、onnection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.SQLException;</p><p>  import cn.com.bookmanager.common.Tools;</p><p>  import cn.com.bookma

96、nager.exception.BookManagerException;</p><p>  public class BaseDAO {</p><p>  private static BaseDAO baseDAO = null;</p><p>  public static BaseDAO getInstance() {</p><p

97、>  if (baseDAO == null) {</p><p>  baseDAO = new BaseDAO();</p><p><b>  }</b></p><p>  return baseDAO;</p><p><b>  }</b></p><p>

98、  public Connection getConnection() {</p><p><b>  try {</b></p><p>  Class.forName(Tools.getEnvironment("db_driver"));</p><p>  return DriverManager.getConnect

99、ion(Tools.getEnvironment("db_url"));</p><p>  } catch (ClassNotFoundException e) {</p><p>  throw new BookManagerException("應(yīng)用程序找不到指定的驅(qū)動(dòng)");</p><p>  } catch (SQL

100、Exception e) {</p><p>  throw new BookManagerException("應(yīng)用程序打開數(shù)據(jù)庫連接錯(cuò)誤");</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void clos

101、eConnection(Connection conn) {</p><p>  if (conn != null) {</p><p><b>  try {</b></p><p>  if (!conn.isClosed()) {</p><p>  conn.close();</p><p&g

102、t;<b>  }</b></p><p>  } catch (SQLException e) {</p><p>  throw new BookManagerException("關(guān)閉數(shù)據(jù)庫連接異常");</p><p><b>  }</b></p><p><b&

103、gt;  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  第五章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  5.1工程資料管理系統(tǒng)的登錄頁設(shè)計(jì)</p><p>  工程資料管理管理系統(tǒng)的登錄頁如圖5-

104、1所示。</p><p>  圖5-1系統(tǒng)登錄頁面</p><p>  本管理系統(tǒng)有三種角色權(quán)限,分別為一般用戶,系統(tǒng)管理員和系統(tǒng)操作員。當(dāng)輸入不同的用戶名和密碼時(shí),會(huì)根據(jù)權(quán)限限制進(jìn)入不同的頁面,執(zhí)行不同的操作。三種不同的權(quán)限對應(yīng)三種類型,根據(jù)下面的代碼來判斷:</p><p>  if ("0".equals(role) || "1&

105、quot;.equals(role)) {//系統(tǒng)操作員或管理員登錄</p><p>  if (dao.hasPrimaryKey("login_user", user_id)) {</p><p>  Map<String, Object> result = dao.queryByKey("login_user", user_id);

106、</p><p>  String adminFlag = String.valueOf(result.get("admin_flag"));</p><p>  if (!role.equals(adminFlag) || "0".equals(result.get("open_flag"))) {</p><

107、;p>  request.getRequestDispatcher("/login_error.jsp").forward(request, response);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  String rpas

108、sword = (String)result.get("user_password");</p><p>  if (rpassword.equals(password)) {</p><p>  request.getSession().setAttribute(Constants.USER_NAME_INFO, user_id);</p><p&

109、gt;  request.getSession().setAttribute(Constants.USER_ROLE, role);</p><p>  request.getSession().setAttribute(Constants.USER_PASSWORD, password);</p><p>  request.getRequestDispatcher("/hea

110、d.jsp").forward(request, response);</p><p><b>  return;</b></p><p><b>  } else {</b></p><p>  request.getRequestDispatcher("/login_error.jsp")

111、.forward(request, response);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  } else {//讀者登錄</p><p>

112、;  if (dao.hasPrimaryKey("reader_manager", user_id)) {</p><p>  Map<String, Object> result = dao.queryByKey("reader_manager", user_id);</p><p>  String rpassword = (Str

113、ing)result.get("reader_password");</p><p>  if (rpassword == null) {</p><p>  rpassword = "";</p><p><b>  }</b></p><p>  if (rpassword.e

114、quals(password)) {</p><p>  request.getSession().setAttribute(Constants.USER_NAME_INFO, user_id);</p><p>  request.getSession().setAttribute(Constants.USER_ROLE, role);</p><p>  req

溫馨提示

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

最新文檔

評論

0/150

提交評論