教材管理課程設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
已閱讀1頁(yè),還剩16頁(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è)設(shè)計(jì)說(shuō)明書(shū)</b></p><p>  高校教材管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  2012 年 4月 22 日</p><p> 院(系)名稱(chēng)信息工程學(xué)院</p><p> 專(zhuān)業(yè)名稱(chēng)計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 學(xué)生姓名</p><

2、;p> 指導(dǎo)教師</p><p><b>  摘 要</b></p><p>  計(jì)算機(jī)技術(shù)的飛速發(fā)展使得計(jì)算機(jī)技術(shù)的應(yīng)用深入到社會(huì)生活的各個(gè)領(lǐng)域,基于C/S架構(gòu)的桌面應(yīng)用程序被開(kāi)發(fā)并得到有效應(yīng)用,達(dá)到提高工作效率簡(jiǎn)化工作流程的目的。</p><p>  高校教材管理系統(tǒng)是針對(duì)高校教材管理部門(mén)工作而開(kāi)發(fā)的。教材管理工作具有瑣碎、復(fù)雜、涉

3、及面廣、耗時(shí)多等多種特點(diǎn),針對(duì)各系征訂教材難以找到合適的版本,學(xué)生無(wú)法查詢本人教材費(fèi)用使用情況,教材的發(fā)放及使用狀況歷史記錄不全面等實(shí)際問(wèn)題,開(kāi)發(fā)一套適合學(xué)校自身教材管理工作需要的的軟件非常有必要。</p><p>  本系統(tǒng)采用以流行的Java語(yǔ)言為工具,采用Oracle數(shù)據(jù)庫(kù)管理中心,以US結(jié)構(gòu)開(kāi)發(fā)具有遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù)的桌面系統(tǒng)。Java語(yǔ)言作為網(wǎng)絡(luò)設(shè)計(jì)語(yǔ)言,具有安全性高、編寫(xiě)的程序可移植性好等特點(diǎn)。Oracl

4、e數(shù)據(jù)庫(kù)管理系統(tǒng)可以有效的驗(yàn)證用戶的有效性,確保數(shù)據(jù)的安全性,提高數(shù)據(jù)庫(kù)管理系統(tǒng)性能。</p><p>  本系統(tǒng)通過(guò)JDBC技術(shù)以瘦客戶端模式(遠(yuǎn)程)訪問(wèn)oracle數(shù)據(jù)庫(kù)。在通過(guò)oracle用戶驗(yàn)證數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限的前提下,通過(guò)系統(tǒng)權(quán)限設(shè)置模塊,進(jìn)一步科學(xué)地設(shè)置用戶在實(shí)際工作中應(yīng)有的權(quán)限,從而達(dá)到同一程序具有服務(wù)器端和客戶端雙重功能的目的。根據(jù)不同學(xué)校的實(shí)際情況,本系統(tǒng)稍加修改后即可投入使用,有一定的推廣價(jià)值。

5、</p><p>  關(guān)鍵詞: Java,管理, C/S</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p><b>  1 緒 論1</b></p><p><b>  1.1 引

6、言1</b></p><p><b>  2 系統(tǒng)分析1</b></p><p>  2.1 經(jīng)濟(jì)上的可行性3</p><p>  2.2 技術(shù)上的可行性3</p><p>  2.3 需求分析3</p><p><b>  3 系統(tǒng)設(shè)計(jì)5</b>&l

7、t;/p><p>  3.1 系統(tǒng)功能模塊設(shè)計(jì)5</p><p>  3.1.1 信息初始化5</p><p>  3.1.2 用戶管理5</p><p>  3.1.3 教材管理5</p><p>  3.1.4 報(bào)表5</p><p>  3.2 產(chǎn)品的功能6</p>

8、<p><b>  4系統(tǒng)實(shí)現(xiàn)8</b></p><p>  4.1 系統(tǒng)登錄8</p><p>  4.2 主界面設(shè)計(jì)8</p><p>  4.3 部門(mén)信息10</p><p>  4.4 用戶管理11</p><p>  4.5 技術(shù)難點(diǎn)與解決12</p>

9、<p><b>  總結(jié)13</b></p><p><b>  參考文獻(xiàn)14</b></p><p><b>  1 緒 論</b></p><p><b>  1.1 引言</b></p><p>  隨著計(jì)算機(jī)軟件開(kāi)發(fā)技術(shù)和網(wǎng)絡(luò)技術(shù)的

10、飛速發(fā)展及其廣泛的推廣應(yīng)用,設(shè)計(jì) 基于C/S和B/S結(jié)構(gòu)的程序,以數(shù)據(jù)庫(kù)管理系統(tǒng)為后臺(tái)數(shù)據(jù)支持,達(dá)到快速、安全處理數(shù)據(jù),提高工作效率目的的軟件開(kāi)發(fā)模式己在社會(huì)中得到極大的推廣與應(yīng)用,并逐步地影響著人們的生活和工作方式。</p><p>  基于互聯(lián)網(wǎng)的程序架構(gòu)主要有客戶機(jī)一服務(wù)器 (Client/Server,C/S)和瀏 覽器一服務(wù)器(Browser/Server,B/S)兩種。US是一種典型的軟件系統(tǒng)體系結(jié)構(gòu)

11、,通過(guò)充分利用客戶端和服務(wù)器雙方的硬件資源優(yōu)勢(shì),對(duì)業(yè)務(wù)進(jìn)行合理分配,從而降低系統(tǒng)的通訊開(kāi)銷(xiāo)。采用該結(jié)構(gòu)的系統(tǒng)一般具有服務(wù)器端程序和客戶端程 序,達(dá)到提供服務(wù)和使用服務(wù)的功能。在桌面應(yīng)用程序中,可以根據(jù)工作中數(shù)據(jù) 庫(kù)的大小選擇不同的數(shù)據(jù)庫(kù)管理系統(tǒng)作為數(shù)據(jù)庫(kù)服務(wù)器,實(shí)現(xiàn)管理數(shù)據(jù)、相應(yīng)客戶端提出的請(qǐng)求功能??蛻舳顺绦蚩梢酝ㄟ^(guò)遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)數(shù)據(jù)的增加、 刪除、修改和查詢,完成相應(yīng)的工作。</p><p>  高校

12、教材管理系統(tǒng)就是以當(dāng)前流行的網(wǎng)絡(luò)設(shè)計(jì)語(yǔ)言— Java作為開(kāi)發(fā)工具, 以Borland公司的Builder為開(kāi)發(fā)平臺(tái),采用Oracl。數(shù)據(jù)庫(kù)管理系統(tǒng)管理數(shù) 據(jù)中心,以C/S兩層結(jié)構(gòu)作為軟件體系結(jié)構(gòu),實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù),完成各種教材管理工作的軟件。</p><p><b>  1.2 研究現(xiàn)狀</b></p><p>  教材管理工作都有一定的共性,但每個(gè)單位的實(shí)際情況又

13、有所不同,而這些不同恰恰是各個(gè)單位教材管理工作中區(qū)別于其它單位的最主要的部分。因此,用統(tǒng)一的教材管理系統(tǒng)管理具有本質(zhì)上有區(qū)別的個(gè)性化工作是不現(xiàn)實(shí)的,這也是目前社會(huì)中還不存在一個(gè)大眾化的教材管理系統(tǒng)的根本原因所在(不是沒(méi)有水平和技術(shù)來(lái)實(shí)現(xiàn),而是無(wú)法統(tǒng)一實(shí)現(xiàn)),所以,目前國(guó)內(nèi)單機(jī)版系統(tǒng)比網(wǎng)絡(luò)版系統(tǒng)使用面廣。國(guó)內(nèi)外把教材管理系統(tǒng)單獨(dú)作為一個(gè)軟件開(kāi)發(fā)這種情況還是不太多。許多軟件開(kāi)發(fā)商把教材管理作為一個(gè)復(fù)雜系統(tǒng)的某一個(gè)模塊來(lái)開(kāi)發(fā),這使得在一個(gè)占用

14、了更多資源的系統(tǒng)內(nèi)運(yùn)行繁瑣的教材管理模塊降低了工作效率,甚至?xí)霈F(xiàn)意想不到的系統(tǒng)錯(cuò)誤。因此開(kāi)發(fā)網(wǎng)絡(luò)版且把教材管理作為一個(gè)軟件來(lái)開(kāi)發(fā)還是目前較適用的一種開(kāi)發(fā)思想。</p><p>  國(guó)內(nèi)部分教材管理系統(tǒng)己經(jīng)從單機(jī)版逐步向網(wǎng)絡(luò)版過(guò)渡,且有增快趨勢(shì)。單 擊版的管理系統(tǒng)目前在市場(chǎng)的占有份額比較大,這是由系統(tǒng)使用方本身的特點(diǎn)和傳統(tǒng)的教材管理方式?jīng)Q定的。隨著工作方式的不斷變化,管理人員素質(zhì)的提高和意識(shí)觀念的變化,網(wǎng)絡(luò)版管理

15、系統(tǒng)開(kāi)始逐步應(yīng)用到某些單位,最終,通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)教材的管理必將是必然的趨勢(shì)。</p><p>  各軟件開(kāi)發(fā)公司或院校自己開(kāi)發(fā)的教材管理系統(tǒng)不具有普及性,多數(shù)僅僅針對(duì)某一單位而研發(fā),具體推廣時(shí)還需要大量的勞動(dòng)力和資金投入,而且成效還未 可知,因此這些軟件都有一定的局限性。從用戶方來(lái)看,用戶需要那種能形成產(chǎn)品化的軟件而不是針對(duì)本單位的項(xiàng)目開(kāi)發(fā),從而可以以較低的費(fèi)用購(gòu)置且功能強(qiáng)大的軟件管理系統(tǒng)。</p>

16、<p><b>  2 系統(tǒng)分析 </b></p><p>  2.1 經(jīng)濟(jì)上的可行性</p><p>  本文前面研究現(xiàn)狀部分已經(jīng)詳細(xì)介紹了當(dāng)前類(lèi)似教材管理系統(tǒng)的研究與發(fā)展?fàn)顩r,通過(guò)科技查新也證實(shí)了確實(shí)符合本文所說(shuō)情況。從研究現(xiàn)狀角度分析,開(kāi)發(fā)一套能體現(xiàn)教材管理工作中的共性問(wèn)題、解決因個(gè)性詫異而帶來(lái)的工作不便、實(shí)現(xiàn)教材管理工作的自動(dòng)化、提高工作效率的軟件是

17、有必要的。因此,教材管理系統(tǒng)有一定的市場(chǎng)前景。在系統(tǒng)開(kāi)發(fā)過(guò)程中,抽象教材管理工作形成模型,分析其中的共性部分,實(shí)現(xiàn)對(duì)部分系統(tǒng)參數(shù)的獨(dú)立設(shè)置,可以進(jìn)一步擴(kuò)大教材管理系統(tǒng)的應(yīng)用范圍,更加符合使用單位自身的實(shí)際,進(jìn)而起到推廣使用之目的。由此可以充分地肯定,教材管理系統(tǒng)有一定的市場(chǎng)應(yīng)用前景,有值得推廣的價(jià)值。。</p><p>  2.2 技術(shù)上的可行性</p><p>  SUN推出Java語(yǔ)言

18、之后,全世界的目光都被這個(gè)神奇的語(yǔ)言所吸引。Java具有平臺(tái)獨(dú)立、面向?qū)ο笠约岸嗑€程等許多優(yōu)點(diǎn),是目前最為優(yōu)秀的編程語(yǔ)言之一。在經(jīng)歷了初生、成長(zhǎng)和壯大的階段之后,Java現(xiàn)在己經(jīng)成為IT領(lǐng)域中的主流分布式計(jì)算模式,并且逐步成為internet應(yīng)用的主要開(kāi)發(fā)語(yǔ)言,它徹底地改變了應(yīng)用軟件的開(kāi)發(fā)模式,為迅速發(fā)展的信息世界增添了新的活力。Java語(yǔ)言的AWT組件和Swing組件的使用,得到編寫(xiě)圖形用戶界面程序員的最?lèi)?ài)。使用這些組件可以編寫(xiě)出適合

19、用戶功能需求的具有友好界面的系統(tǒng),程序的界面友好性得到了完美的體現(xiàn)。</p><p>  JDBC作為一種成熟的數(shù)據(jù)庫(kù)連接技術(shù)在Java程序開(kāi)發(fā)中得到廣泛的應(yīng)用。JDBC中各API函數(shù)和類(lèi)的使用,使得Java程序通過(guò)數(shù)據(jù)源連接數(shù)據(jù)庫(kù)和獨(dú)立連接數(shù)據(jù)庫(kù)都成為簡(jiǎn)單易做的工作,在正確使用各種方法和類(lèi)后,能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種操作,以達(dá)到用戶對(duì)數(shù)據(jù)的管理和使用要求。由于Java語(yǔ)言具有健壯、安全、易使用、易理解和自動(dòng)下載到網(wǎng)

20、絡(luò)等優(yōu)點(diǎn),因此,它是數(shù)據(jù)庫(kù)應(yīng)用的一個(gè)極好的基礎(chǔ)語(yǔ)言。</p><p><b>  2.3 需求分析</b></p><p>  教材管理系統(tǒng)是結(jié)合實(shí)際工作需要而開(kāi)發(fā),能解決當(dāng)前教材管理工作中的諸多問(wèn)題,因此該項(xiàng)目符合教材管理部門(mén)的工作實(shí)際,有穩(wěn)定而扎實(shí)的合作基礎(chǔ)。從操作方講有項(xiàng)目操作更好完成的基礎(chǔ)和可行性。從前面分析看,技術(shù)上的操作己經(jīng)日臻完善和成熟,技術(shù)實(shí)現(xiàn)的可操作

21、性非常大,從而系統(tǒng)的操作是可行的,能最終以滿足客戶需求,達(dá)到最初開(kāi)發(fā)目的的目標(biāo)。</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)功能模塊設(shè)計(jì)</p><p>  高校教材管理系統(tǒng)針對(duì)功能的需要,主要設(shè)計(jì)了信息初始化模塊,用戶管理模塊,教材管理模塊和報(bào)表模塊。下面將詳細(xì)介紹各功能模塊。</p>&

22、lt;p>  3.1.1 信息初始化</p><p><b>  1.部門(mén)信息</b></p><p><b>  2.學(xué)生信息</b></p><p><b>  3.出版社信息</b></p><p><b>  4.開(kāi)課計(jì)劃</b></p

23、><p><b>  5.學(xué)年設(shè)置</b></p><p>  3.1.2 用戶管理</p><p><b>  用戶管理</b></p><p><b>  權(quán)限分配</b></p><p><b>  3.1.3教材管理</b>&l

24、t;/p><p><b>  教材入庫(kù)</b></p><p><b>  教材出庫(kù)</b></p><p><b>  教材征訂</b></p><p><b>  3.1.4 報(bào)表</b></p><p><b>  教材

25、入庫(kù)表</b></p><p><b>  教材出庫(kù)表</b></p><p><b>  費(fèi)用結(jié)算表</b></p><p><b>  3.2 產(chǎn)品的功能</b></p><p>  高校教材管理系統(tǒng)是通過(guò)辦公自動(dòng)化模式解決教材管理各項(xiàng)工作,其功能按模塊劃分主要

26、有系統(tǒng)信息初始化、用戶管理、數(shù)據(jù)管理、查詢、報(bào)表打印、退出系統(tǒng)等。各模塊的功能如下: </p><p><b>  (1)系統(tǒng)登錄 </b></p><p>  本模塊在系統(tǒng)啟動(dòng)后顯示,不依附系統(tǒng)主界面。本模塊實(shí)現(xiàn)驗(yàn)證用口令,確認(rèn)用戶登錄功能。 </p><p><b>  (2)系統(tǒng)初始化 </b></p>

27、<p>  1.部門(mén)信息:添加、刪除、修改學(xué)校部門(mén)信息,主要是部門(mén)名稱(chēng) </p><p>  2.學(xué)生信息:增加、刪除、修改學(xué)生信息,包含姓名、班級(jí)、學(xué)號(hào)、歸屬系部等信息</p><p>  3.出版社信息:增加、刪除、修改出版社名稱(chēng)信息</p><p>  4.開(kāi)課計(jì)劃:公布某學(xué)期開(kāi)課計(jì)劃,主要包含課程名稱(chēng)、開(kāi)設(shè)學(xué)期、開(kāi)課班級(jí)、教材發(fā)放情況等信息<

28、;/p><p>  5.學(xué)年設(shè)置:設(shè)置教材使用學(xué)年學(xué)期,增加、刪除、修改學(xué)年學(xué)期等信息</p><p><b>  (3)用戶管理 </b></p><p>  1.用戶管理:增加、刪除、修改用戶信息,包含用戶名稱(chēng)、用戶口令</p><p>  2.權(quán)限管理:增加、刪除、修改用戶的權(quán)限,包含分配所有權(quán)限、指定單一 權(quán)限、取消

29、所有權(quán)限、取消某一權(quán)限等功能</p><p><b>  (4)教材管理 </b></p><p>  1.教材入庫(kù):增加、刪除、修改教材入庫(kù)信息,實(shí)現(xiàn)教材入庫(kù)</p><p>  2.教材出庫(kù):增加、刪除、修改教材出庫(kù)信息,包含教材名稱(chēng)、使用班級(jí)、數(shù)量、教材編者、書(shū)號(hào)、出版社等信息。教材出庫(kù)分學(xué)生用書(shū)和教師用書(shū)兩種情況出庫(kù)</p>

30、<p>  3.教材征定:本功能供系部教材征定人員使用。主要實(shí)現(xiàn)確定某班級(jí)某學(xué)期對(duì)應(yīng)開(kāi)課計(jì)劃的教材名稱(chēng)、編者、出版社、數(shù)量等信息</p><p><b>  (5)報(bào)表</b></p><p>  1.教材入庫(kù)表:根據(jù)教材入庫(kù)信息,生成報(bào)表并打印,主要包含教材名稱(chēng)、編者、書(shū)號(hào)、入庫(kù)數(shù)量、出版社、供貨商等信息</p><p>  2

31、.教材出庫(kù)表:根據(jù)教材出庫(kù)信息,生成報(bào)表并打印,主要包含教材名稱(chēng)、編者、書(shū)號(hào)、出庫(kù)數(shù)量、出版社、使用班級(jí)或系部等信息</p><p>  3.費(fèi)用結(jié)算表:實(shí)現(xiàn)班級(jí)、學(xué)生、供貨商、系部某學(xué)期教材使用費(fèi)用的結(jié)算,形成報(bào)表并打印。</p><p><b>  (6)退出系統(tǒng)</b></p><p>  任何登錄用戶都擁有退出系統(tǒng)的權(quán)限,實(shí)現(xiàn)退出系統(tǒng)功

32、能。</p><p><b>  4系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  4.1 系統(tǒng)登錄</b></p><p>  本模塊實(shí)現(xiàn)驗(yàn)證用戶身份并登錄系統(tǒng)的功能。本模塊的主要程序設(shè)計(jì)思想是:啟動(dòng)教材管理系統(tǒng)后,顯示系統(tǒng)登錄界面,此時(shí),用戶輸入名稱(chēng)和口令,單擊 “登錄”按鈕,系統(tǒng)驗(yàn)證用戶身份通過(guò)后,將顯示系統(tǒng)主界面。繼

33、承JDialog類(lèi),構(gòu)造登錄界面。繼承conDB類(lèi),構(gòu)造數(shù)據(jù)庫(kù)操作對(duì)象,驗(yàn)證用戶身份。本模塊的核心代碼如下。 </p><p>  本模塊的核心代碼如下。 </p><p>  voidjbtnok_actionPerformed(ActionEvente)(//jbtnok為登錄按鈕name </p><p>  userid=jtfname.getTextO.t

34、rim();//獲取用戶id </p><p>  sql="select*fromidpwdwhereid--'“+jtfname.getText()+” andpwd=’“+jtfpwd.getText()+“’”; //從表中查找滿足條件的記錄 </p><p><b>  try{ </b></p><p>  rs=

35、con.getrs(con.con,sql);//得到記錄集 </p><p>  if(rs.next()){//如果記錄集不空</p><p>  this.dispose(); </p><p>  mainFramemf=newmainFrameO;</p><p>  mf.show(true);//顯示系統(tǒng)主界面 </p&g

36、t;<p><b>  }</b></p><p>  con.dbclose(con.con,rs); </p><p>  }catch(Exceptionee){}</p><p><b>  }</b></p><p><b>  4.2 主界面設(shè)計(jì)</b>

37、;</p><p>  本模塊為系統(tǒng)功能提供平臺(tái)支持,用戶經(jīng)身份驗(yàn)證后登錄系統(tǒng),在主界面上完成各種教材管理工作。</p><p>  本模塊的程序設(shè)計(jì)思想是:繼承Jframe類(lèi),構(gòu)造系統(tǒng)主界面。在主界面上添加JmenuBar組件,以菜單形式體現(xiàn)系統(tǒng)的功能結(jié)構(gòu)。在本界面上添加一個(gè) JScrollPane面板,其內(nèi)填充JTable組件,該表格響應(yīng)報(bào)表菜單和主界面下方按鈕事件,用以顯示各種報(bào)表內(nèi)

38、容,系統(tǒng)默認(rèn)顯示教材入庫(kù)情況。</p><p>  設(shè)置菜單代碼為:this.setjMenuBar(jMnubar);jMnubar為菜單工具條名稱(chēng)。在菜單條中添加菜單項(xiàng)調(diào)用函數(shù)add0方法實(shí)現(xiàn)。</p><p>  相應(yīng)菜單項(xiàng)被選擇事件,顯示相應(yīng)模塊界面,只需構(gòu)造該模塊類(lèi)一個(gè)對(duì)象即可。顯示教材入庫(kù)信息的核心代碼如下。Stringsql=“select*frombookin";

39、//選擇bookin表中所有記錄</p><p>  try( ResultSetrst=con.getrs(con.con,sql);//得到所有記錄 </p><p>  while(rst.next())//構(gòu)造表格行記錄 </p><p>  rowdata[rowcount][0]=rst.getString("bkname"); ro

40、wdata[rowcount][1]=rst.getString("bkeditor") rowdata[rowcount][2]=rst.getString("pubname");</p><p>  rowdata[rowcount][3]=rst.getString("bkisbn"); </p><p>  rowdata

41、[rowcount][4]=rst.getString("bkprice"): </p><p>  rowdata[rowcount][5]=rst.getString("bknumber") </p><p>  rowdata[rowcount][6]=rst.getString("suncomp"); </p>

42、<p>  rowcount十+;//行計(jì)數(shù)器自增,確定行數(shù) </p><p><b>  } </b></p><p>  rst.close(); </p><p>  }catch(Exceptionpe)(pe.toString0;} </p><p>  jtablistbook=newJTabl

43、e(rowdata,col): </p><p>  //構(gòu)造表格,rowdata和。of為己定義的object對(duì)象和string對(duì)象 </p><p>  tf = true;//標(biāo)識(shí)表格內(nèi)存在記錄內(nèi)容</p><p>  相應(yīng) “顯示開(kāi)課計(jì)劃”按鈕的代碼與以上代碼在思想上沒(méi)有太大差別,可以修改后顯示開(kāi)課計(jì)劃。</p><p><b&

44、gt;  4.3 部門(mén)信息</b></p><p>  本模塊主要實(shí)現(xiàn)初始化部門(mén)信息功能,本模塊主要實(shí)現(xiàn)思想是:系統(tǒng)初始化時(shí)將實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接,當(dāng)用戶輸入部門(mén)名稱(chēng)時(shí),單擊 “增加按鈕”,conDB類(lèi)對(duì)象將使用insert語(yǔ)句實(shí)現(xiàn)對(duì)部門(mén)信息表的插入記錄功能。系統(tǒng)初始化時(shí),將自動(dòng)初始化部門(mén)列表,保持與部門(mén)信息表的同步,同時(shí)便于用戶選擇部門(mén),當(dāng)用戶選擇某一部門(mén)時(shí),該部門(mén)名稱(chēng)同時(shí)被填充到部門(mén)文本框中,用戶單

45、擊 “刪除”按鈕即可刪除某一部門(mén),重新輸入部門(mén)信息,單擊 “修改”按鈕實(shí)現(xiàn)修改部門(mén)信息功能。 </p><p>  部門(mén)列表的初始化代碼如下,本模塊中以函數(shù)形式體現(xiàn),便于操作。</p><p>  publicvoidinit_combox(){//初始化部門(mén)列表 </p><p><b>  try{ </b></p><

46、p>  Stringsql二“select*fromdepartment"; </p><p>  rs=con.getrs(con.con,sql);//得到記錄集 </p><p>  while(rs.next()){ </p><p>  jcmbdeplist. </p><p>  addItem(rs.getSt

47、ring("DEPNAME"));//添加條目 </p><p>  rs.close();//關(guān)閉記錄集 </p><p>  }catch(Exceptionee){} </p><p><b>  } </b></p><p>  增加部門(mén)信息代碼如下。 </p><p>

48、;  voidjbtnadd_actionPerformed(ActionEvente){ </p><p>  if(jtfdepname.getText0.length()!=0)//部門(mén)信息非空 </p><p><b>  { </b></p><p>  String sql = "insert into departmen

49、t values(,+‘ </p><p>  jtfdepname.getText()+”)“: </p><p>  con.moddb(con.con,sql)://執(zhí)行sql語(yǔ)句實(shí)現(xiàn)增加信息功能 </p><p>  jcmbdeplist.addItem(jtfdepname.getText());表 </p><p><b&

50、gt;  } </b></p><p><b>  } </b></p><p>  當(dāng)實(shí)現(xiàn)刪除、修改部門(mén)信息時(shí),分別使用delete,updateSQL語(yǔ)句,調(diào)用conDB類(lèi)成員方法mondb(Connectioncon,Stringsql),把以上刪除、修改 sql語(yǔ)句分別作為mondb的參數(shù)即可實(shí)現(xiàn)部門(mén)信息的刪除、修改工作,代碼實(shí)現(xiàn)同部門(mén)增加方法。當(dāng)

51、單擊 “退出”按鈕時(shí),退出本模塊,此時(shí)關(guān)閉記錄集,調(diào)用onDB類(lèi)成員方法dbclose();</p><p><b>  4.4 用戶管理</b></p><p>  本模塊實(shí)現(xiàn)增加、刪除用戶的管理功能,本模塊的程序設(shè)計(jì)思想是:繼承JDialog類(lèi),構(gòu)造模塊界面,按界面設(shè)計(jì)添加各種組件。當(dāng)初始化界面后,模塊程序連接數(shù)據(jù)庫(kù),初始化用戶列表,便于用戶查看當(dāng)前系統(tǒng)所有用戶和

52、便于刪除某一用戶。在不斷增加用戶的情況下,用戶可以單擊用戶列表右邊的刷新按鈕,使得列表內(nèi)容保持與數(shù)據(jù)庫(kù)表記錄的同步。初始化用戶列表的代碼如下。</p><p>  sql="select*fromidpwd"; </p><p>  ResultSetrs=con.getrs(con.con,sql);//得到所有用戶 </p><p>  wh

53、ile(rs.next())</p><p>  cmblist.addltem(rs.getString("id"));//添加用戶到列表中當(dāng)要刷新用戶列表時(shí),只要?jiǎng)h除當(dāng)前所有內(nèi)容,重新調(diào)用列表初始化方法即可,代碼如下。 </p><p>  jcmblist.removeAllItems();//清空所有的用戶</p><p>  initc

54、ombox();//其代碼為以上列出的用戶列表初始化代碼 </p><p>  在增加用戶時(shí)要判斷是否該用戶己經(jīng)存在,所以要有兩遍查詢數(shù)據(jù)庫(kù)記錄的過(guò)程,代碼如下。 </p><p>  voidjbtnuserinactionPerformed(ActionEvente){</p><p><b>  try{</b></p>&

55、lt;p>  JOptionPanejop=newJOptionPane();</p><p>  sql="select*fromidpwdwhereid=’”</p><p>  +jtfid.getText().trim()+"'“;</p><p>  rs=con.getrs(con.con,sql);//用于驗(yàn)證用戶是否

56、存在 </p><p>  if(rs.next()) </p><p>  jop.showConfirmDialog(nul1,”該用戶已經(jīng)存在”);</p><p>  else{//增加用戶并賦予用戶退出系統(tǒng)的權(quán)限 </p><p>  sql="insertintoidpwdvalues(’“+jtfid.getText(

57、)+”,’” +jtfpwd.getText0+“’,’6001')“:</p><p>  con.moddb(con.con,sql); </p><p><b>  } </b></p><p>  }catch(Exceptionee){} </p><p>  jtfid.setText("&

58、quot;);//清空各種文本框,便于下次輸入 </p><p>  tfpwd.setText(““);</p><p>  4.5 技術(shù)難點(diǎn)與解決 </p><p>  在系統(tǒng)開(kāi)發(fā)實(shí)現(xiàn)過(guò)程中,遇到了一定的技術(shù)實(shí)現(xiàn)問(wèn)題,現(xiàn)把問(wèn)題及其解決方 </p><p><b>  法描述如下。 </b></p>&l

59、t;p>  (1)用戶權(quán)限分配模塊中遇到的問(wèn)題及其解決方法權(quán)限分配模塊中原來(lái)程序設(shè)計(jì)思想:用兩個(gè)JTree控件分別用于顯示系統(tǒng)權(quán) </p><p>  限樹(shù)和用戶權(quán)限樹(shù)。當(dāng)為用戶分配權(quán)限時(shí),單擊系統(tǒng)權(quán)限樹(shù)某葉結(jié)點(diǎn),然后分配后的權(quán)限即可在用戶權(quán)限樹(shù)中增加相應(yīng)的葉結(jié)點(diǎn),而且結(jié)點(diǎn)之間從屬關(guān)系不改 變。但要?jiǎng)h除用戶某一權(quán)限時(shí),只要單擊樹(shù)中的葉結(jié)點(diǎn)且樹(shù)刷新即可。用戶權(quán)限樹(shù)同系統(tǒng)權(quán)限樹(shù)在默認(rèn)狀態(tài)下都要通過(guò)數(shù)據(jù)庫(kù)表中的權(quán)

60、限值動(dòng)態(tài)生成。</p><p>  在實(shí)際開(kāi)發(fā)過(guò)程中,用戶權(quán)限樹(shù)的建立、為用戶分配權(quán)限后樹(shù)的刷新問(wèn)題沒(méi) 有解決,成為代碼實(shí)現(xiàn)中的一個(gè)難點(diǎn)。鑒于此,改用JTable控件代替JTre???件來(lái)表現(xiàn)用戶的權(quán)限,技術(shù)問(wèn)題隨之解決。</p><p>  (2)主界面中同一表格顯示多種內(nèi)容的問(wèn)題在主界面中,設(shè)想用同一表格顯示教材入庫(kù)信息、教材出庫(kù)信息、教材使用查詢、各種費(fèi)用查詢、各種報(bào)表等內(nèi)容,但正確

61、顯示表頭成為一個(gè)小技術(shù)難點(diǎn)。當(dāng)改顯其他內(nèi)容時(shí),列標(biāo)題維持原有的內(nèi)容,限于編程水平,該問(wèn)題尚未得到解決。</p><p>  (3)報(bào)表打印問(wèn)題由于本系統(tǒng)沒(méi)有完全實(shí)現(xiàn),代碼開(kāi)發(fā)階段尚未結(jié)束,所以報(bào)表打印問(wèn)題雖有考慮,但還未真正嘗試解決。此為從未接觸的新問(wèn)題,應(yīng)是難點(diǎn)之一,可以考慮用目前免費(fèi)的可以提供二次開(kāi)發(fā)的報(bào)表打印程序來(lái)實(shí)現(xiàn)。</p><p><b>  5 總結(jié)</b&g

62、t;</p><p>  本文以Java語(yǔ)言為載體,以O(shè)racle為數(shù)據(jù)庫(kù)管理系統(tǒng),采用C/S結(jié)構(gòu),依據(jù)高校教材管理系統(tǒng)需求分析、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),進(jìn)行了系統(tǒng)的開(kāi)發(fā)與部分功能的實(shí)現(xiàn).《高校教材管理系統(tǒng)》共有六大模塊,其中登錄系統(tǒng)為其他模塊功能實(shí)現(xiàn)的前提,只有通過(guò)身份驗(yàn)證的用戶方有權(quán)限使用其他模塊.本系統(tǒng)主要有系統(tǒng)登錄、系統(tǒng)初始化、教材管理、查詢、用戶管理、退出系統(tǒng)等模塊組成.各模塊的實(shí)現(xiàn)都需數(shù)據(jù)庫(kù)的支持.模塊和

63、數(shù)據(jù)庫(kù)表之間實(shí)現(xiàn)信息的輸入和輸出流動(dòng)。 本系統(tǒng)僅實(shí)現(xiàn)了系統(tǒng)初始化、教材入庫(kù)、用戶管理、權(quán)限分配等具體模塊,查詢、報(bào)表、教材出庫(kù)、教材征定等模塊尚未實(shí)現(xiàn),有待于進(jìn)一步的開(kāi)發(fā)與完善。本系統(tǒng)采用Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)后臺(tái)數(shù)據(jù)支持。在系統(tǒng)使用中,以system用戶和SYSDBA身份實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接,所建一切數(shù)據(jù)表均屬于SYSTEM方案和默認(rèn)的表空間(SYSTEM),全局?jǐn)?shù)據(jù)庫(kù)和服務(wù)名為BOOKMNG。數(shù)據(jù)庫(kù)系統(tǒng)安裝后,曾設(shè)想新建用戶空間和

64、表空間,但操作尚有不熟練和錯(cuò)誤之處而未實(shí)現(xiàn),所以采取了默認(rèn)屬性配置,實(shí)現(xiàn)了數(shù)據(jù)表的建立和存儲(chǔ)。</p><p>  為了確保每個(gè)模塊在使用時(shí)能正確地連接數(shù)據(jù)庫(kù)并操作數(shù)據(jù)表中的數(shù)據(jù),系統(tǒng)建立數(shù)據(jù)庫(kù)連接與操作類(lèi)conDB,以類(lèi)對(duì)象形式實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接與操作。</p><p>  在系統(tǒng)代碼實(shí)現(xiàn)階段,力求實(shí)現(xiàn)用戶的功能需求和設(shè)計(jì)人性化軟件,為用戶提供優(yōu)質(zhì)服務(wù)。限于技術(shù)水平,已開(kāi)發(fā)的模塊尚有不如人意

65、之處,如權(quán)限設(shè)置模塊中用戶權(quán)限表的刷新問(wèn)題。限于開(kāi)發(fā)時(shí)間,有些模塊尚未開(kāi)發(fā),如教材管理模塊中教材出庫(kù)、教材征定和查詢、報(bào)表模塊。</p><p>  回顧系統(tǒng)的開(kāi)發(fā)與論文撰寫(xiě)過(guò)程,有幾多收獲,也有諸多不盡人意之處,更需進(jìn)一步的努力和開(kāi)拓,尚能成為一名優(yōu)秀的軟件工程碩士。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]

66、史濟(jì)民,湯觀全編著.java及其應(yīng)用系統(tǒng)開(kāi)發(fā).北京:清華大學(xué)出版社.2005</p><p>  [4] 伍俊良.java課程設(shè)計(jì)于系統(tǒng)開(kāi)發(fā)案列[M].北京:清華大學(xué)出版社.2004</p><p>  [5] 閃四清.數(shù)據(jù)庫(kù)系統(tǒng)原理與應(yīng)用[M]. 北京:清華大學(xué)出版社.1999 </p><p>  [6] 薛華成. 管理信息系統(tǒng)[M]

67、. 北京:清華大學(xué)出版社.1999 </p><p>  [7] 高怡新.Java程序設(shè)計(jì)[M].北京:人民郵電出版社.2006.9</p><p>  [8] 毛一心,毛一之.Eclipse應(yīng)用及實(shí)例集錦(第二版)[M].北京:人民郵電出版社.2004.2.6</p><p>  [9] 張治文,何磊等編著. Eclipse 開(kāi)發(fā)實(shí)例.. 北京:清華大學(xué)出版社.1

溫馨提示

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