軟件工程課程設(shè)計(jì)報(bào)告范例.doc
《軟件工程課程設(shè)計(jì)報(bào)告范例.doc》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《軟件工程課程設(shè)計(jì)報(bào)告范例.doc(33頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、西安科技大學(xué)軟件工程課程設(shè)計(jì)報(bào)告題目: 圖書(shū)館管理系統(tǒng) 班級(jí): 軟件工程* 學(xué)號(hào): * 姓名: * 2013年1月目 錄1 緒論12 可行性研究報(bào)告13 需求規(guī)格說(shuō)明書(shū)44 總體設(shè)計(jì)說(shuō)明書(shū)75 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)86 詳細(xì)設(shè)計(jì)說(shuō)明書(shū)97 系統(tǒng)實(shí)現(xiàn)118測(cè)試分析報(bào)告23參考文獻(xiàn)1.緒論1.1 選題目的及意義隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,人們對(duì)用計(jì)算機(jī)代替手工管理信息的需求越來(lái)越強(qiáng)烈,越來(lái)越多的計(jì)算機(jī)軟件如雨后春筍般的應(yīng)用于人們生產(chǎn)生活的各個(gè)領(lǐng)域,為人們提供各種各樣的便利。本圖書(shū)館管理系統(tǒng)應(yīng)用軟件可以有效地解決高等院校、中小學(xué)圖書(shū)館由于藏書(shū)量增大而帶來(lái)的管理問(wèn)題,圖書(shū)館管理員可以更好地管理學(xué)校圖書(shū)館藏書(shū)
2、信息,學(xué)生可以更方便地享受借書(shū)還書(shū)的服務(wù),為更有效地學(xué)習(xí)知識(shí)提供有利的保證。對(duì)于我來(lái)說(shuō),選擇這個(gè)題目作為課程設(shè)計(jì)的題目有以下兩個(gè)原因:一是因?yàn)樽詮纳洗髮W(xué)以來(lái),每當(dāng)在圖書(shū)館借書(shū)的時(shí)候,我都會(huì)留心觀察一下圖書(shū)館管理員的那臺(tái)計(jì)算機(jī)上顯示的內(nèi)容,久而久之,就對(duì)本系統(tǒng)的基本流程越來(lái)越了解,做好一個(gè)軟件的前提是必須對(duì)這個(gè)軟件的功能和原理非常熟悉,相比別的題目,我對(duì)這個(gè)題目更加了解;二是本學(xué)期通過(guò)學(xué)習(xí)Java程序設(shè)計(jì)和Oracle數(shù)據(jù)庫(kù)課程,我覺(jué)得這個(gè)題目雖然沒(méi)有那么難(涉及算法的內(nèi)容很少),但也不是輕而易舉就能完成的,所以我想挑戰(zhàn)一下自己,看看自己的實(shí)現(xiàn)能力到底怎么樣,因此決定用面向?qū)ο蠓椒▽W(xué)的思想,前臺(tái)
3、用Java程序設(shè)計(jì)語(yǔ)言編寫(xiě)界面,訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù),完成本系統(tǒng)。1.2 系統(tǒng)概述本系統(tǒng)通過(guò)JDBC-ODBC橋?qū)崿F(xiàn)前后臺(tái)數(shù)據(jù)的聯(lián)系,基本上實(shí)現(xiàn)了一個(gè)圖書(shū)館管理系統(tǒng)所具備的基本功能,本系統(tǒng)把使用者分為三類(lèi):超級(jí)管理員、普通管理員、讀者,對(duì)三種用戶(hù)分別設(shè)計(jì)了各自的主界面,以便更好的實(shí)現(xiàn)信息的隱藏性,超級(jí)管理員可以進(jìn)行這個(gè)系統(tǒng)所有操作;管理員只能執(zhí)行超級(jí)管理員的基本功能,查看自己的信息;讀者只能查看自己的信息,對(duì)自己當(dāng)前借書(shū)進(jìn)行掛失和續(xù)借兩種操作,查詢(xún)圖書(shū)館的藏書(shū)。2.可行性研究報(bào)告2.1 編寫(xiě)目的本報(bào)告編寫(xiě)目的在于研究圖書(shū)館管理系統(tǒng)應(yīng)用軟件是否可行,指出本軟件開(kāi)發(fā)所使用的方法和手段,并
4、對(duì)該軟件前景進(jìn)行分析。本報(bào)告的預(yù)期讀者是:高等院校、中小學(xué)圖書(shū)館管理人員、程序設(shè)計(jì)人員、以及對(duì)圖書(shū)館管理系統(tǒng)感興趣的愛(ài)好者。2.2 相關(guān)背景 工程名稱(chēng):圖書(shū)館管理應(yīng)用軟件 工程產(chǎn)品名稱(chēng):高校圖書(shū)館管理系統(tǒng)應(yīng)用軟件 工程的組織者:西安科技大學(xué)計(jì)算機(jī)學(xué)院軟件工程系 產(chǎn)品用戶(hù):高校圖書(shū)館、中小學(xué)圖書(shū)館; 產(chǎn)品的生產(chǎn)者:西安科技大學(xué)計(jì)算機(jī)學(xué)院軟件工程062班袁震; 產(chǎn)品設(shè)計(jì)者:西安科技大學(xué)計(jì)算機(jī)學(xué)院軟件工程062班袁震;2.3 可行性研究的前提本圖書(shū)管理系統(tǒng)在功能上要求完成以下基本功能:a).讀者、管理員登陸;b).借書(shū);c).還書(shū);d).續(xù)借;e).圖書(shū)掛失;f).歷史記錄查詢(xún);g).新書(shū)入庫(kù);h)
5、.讀者登記及修改個(gè)人信息; 本系統(tǒng)在性能上力爭(zhēng)達(dá)到響應(yīng)時(shí)間短,具有一定的容錯(cuò)能力,力爭(zhēng)減少由用戶(hù)直接輸入數(shù)據(jù),絕大多數(shù)據(jù)的輸入都用可以選擇的形式讓用戶(hù)進(jìn)行選擇。本系統(tǒng)預(yù)計(jì)有如下輸出:a).登陸成功顯示:成功則進(jìn)入主界面;失敗則重新輸入;都要給出相應(yīng)的提示;b).借書(shū)成功顯示:顯示借書(shū)是否成功,如成功,記錄插入數(shù)據(jù)庫(kù),失敗說(shuō)明錯(cuò)誤原因,返回借書(shū)界面;c).還書(shū)成功顯示:顯示還書(shū)是否成功,如成功,修改數(shù)據(jù)庫(kù)多項(xiàng)記錄,失敗說(shuō)明錯(cuò)誤原因,返回主界面;d).續(xù)借成功顯示:顯示續(xù)借是否成功,如成功,修改數(shù)據(jù)庫(kù)記錄,失敗則說(shuō)明錯(cuò)誤原因,返回主界面;e).圖書(shū)掛失成功顯示:成功則提示用戶(hù)需要賠償?shù)膬r(jià)錢(qián),并禁止
6、該用戶(hù)再借書(shū),直到交了罰款為止;f).歷史記錄查詢(xún):管理員可以查詢(xún)所有記錄,用戶(hù)只能查詢(xún)自己的借還書(shū)記錄;顯示這些記錄;g).新書(shū)入庫(kù)成功顯示:顯示新書(shū)入庫(kù)是否成功,成功則向數(shù)庫(kù)插入數(shù)據(jù),失敗給出錯(cuò)誤提示,返回主界面;h).讀者登記成功顯示:顯示讀者是否成功注冊(cè),成功則向數(shù)據(jù)庫(kù)插入數(shù)據(jù),失敗給出提示,返回主界面;i).修改個(gè)人信息成功顯示:顯示個(gè)人信息是否成功修改,成功則修改數(shù)據(jù)庫(kù)中的數(shù)據(jù),失敗則給出錯(cuò)誤提示,返回主界面;本系統(tǒng)預(yù)計(jì)有如下數(shù)據(jù)輸入:a).登陸系統(tǒng)時(shí)需要輸入用戶(hù)名和密碼,選擇用戶(hù)類(lèi)型;用戶(hù)名、密碼、和用戶(hù)類(lèi)型均為字符型;b).借書(shū)時(shí)需要選擇用戶(hù)編號(hào)和書(shū)的編號(hào),均為字符型;c).還
7、書(shū)時(shí)需要選擇用戶(hù)名和書(shū)的名字,均為字符型;d).續(xù)借時(shí),需要選擇書(shū)的編號(hào),為字符型;e).掛失時(shí),需要選擇書(shū)的編號(hào),為字符型;f).新書(shū)入庫(kù)時(shí),需要輸入書(shū)的編號(hào)、名字、類(lèi)別、價(jià)格、當(dāng)前剩余藏書(shū)量、入庫(kù)日期;其中入庫(kù)時(shí)期為系統(tǒng)當(dāng)前時(shí)間,價(jià)格為雙精度浮點(diǎn)型,當(dāng)前剩余藏書(shū)量為整型,其余均為字符型;g).讀者登記時(shí),需要輸入讀者的編號(hào)、名字、密碼、當(dāng)前最大可借書(shū)量,當(dāng)前狀態(tài)(0或1),0為未激活,1為激活;其中當(dāng)前最大可借書(shū)量為整型,其余為字符型;h).修改個(gè)人密碼時(shí),需要提供一次原密碼和兩次新密碼;均為字符型;本系統(tǒng)基本系統(tǒng)模型如圖2-1所示:圖1-1圖書(shū)管理系統(tǒng)基本系統(tǒng)模型通過(guò)圖1-1.,我們可以
8、發(fā)現(xiàn)該系統(tǒng)的數(shù)據(jù)源是讀者和圖書(shū)館管理員;讀者處理的事務(wù)只有修改個(gè)人密碼、續(xù)借、圖書(shū)掛失,其余事務(wù)均由圖書(shū)館管理員來(lái)處理;數(shù)據(jù)終點(diǎn)是讀者,意味著所有處理最后都要由讀者確認(rèn),這種確認(rèn)可以是某種操作,也可以是管理員的一句提示。本系統(tǒng)的完成期限為16天(即2008年12月22日到2009年1月7日)。2.4 目標(biāo)本圖書(shū)管理系統(tǒng)的主要開(kāi)發(fā)目標(biāo)為:a).實(shí)現(xiàn)圖書(shū)管理的便捷程度;b).在完成數(shù)據(jù)庫(kù)連接的基礎(chǔ)上,適當(dāng)提高查詢(xún)速度和訪(fǎng)問(wèn)效率;c).在完成基本功能的基礎(chǔ)上,減少代碼量,提高工作效率;2.5 進(jìn)行可行性研究的方法本系統(tǒng)可行性研究是通過(guò)走訪(fǎng)大學(xué)圖書(shū)館的方式進(jìn)行的,通過(guò)走訪(fǎng)西安科技大學(xué)圖書(shū)館和陜西航天職
9、工大學(xué)圖書(shū)館,對(duì)兩?,F(xiàn)有圖書(shū)管理系統(tǒng)進(jìn)行調(diào)查、了解,分析得出本系統(tǒng)應(yīng)實(shí)現(xiàn)的基本功能,本系統(tǒng)根據(jù)兩校圖書(shū)館管理系統(tǒng)進(jìn)行相應(yīng)的模仿的基礎(chǔ)上,添加了一些自己的功能。2.6 評(píng)價(jià)尺度本系統(tǒng)在評(píng)價(jià)時(shí)應(yīng)從以下幾個(gè)方面進(jìn)行分析:開(kāi)發(fā)時(shí)間要盡量短;各個(gè)功能實(shí)現(xiàn)代碼要盡量少;訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的效率要盡量高;用戶(hù)使用過(guò)程中容錯(cuò)能力要很強(qiáng);2.7 對(duì)現(xiàn)有系統(tǒng)的分析通過(guò)對(duì)西安科技大學(xué)圖書(shū)館管理系統(tǒng)的分析,由于該系統(tǒng)是專(zhuān)業(yè)軟件公司所為,基本上沒(méi)有什么太大的問(wèn)題,就是有時(shí)候會(huì)出現(xiàn)響應(yīng)時(shí)間過(guò)長(zhǎng)的問(wèn)題,原因可能是訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)效率過(guò)低,所以本系統(tǒng)著重提高訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)效率的問(wèn)題,在功能上盡量模仿上述系統(tǒng)。因此有必要對(duì)現(xiàn)有系統(tǒng)進(jìn)行修改?,F(xiàn)有
10、系統(tǒng)的主要工作為處理借還書(shū),新書(shū)入庫(kù),讀者登記,讀者信息修改,讀者掛失等業(yè)務(wù)。現(xiàn)有系統(tǒng)最大局限性就是響應(yīng)時(shí)間過(guò)慢,數(shù)據(jù)存儲(chǔ)能力不足,由于使用時(shí)間很長(zhǎng),源代碼無(wú)法找到,所以需要對(duì)該系統(tǒng)進(jìn)行重新設(shè)計(jì),以適應(yīng)社會(huì)的需要。2.8 所建議使用的系統(tǒng)本圖書(shū)管理系統(tǒng)采用面向?qū)ο蟮姆治龇椒ㄟM(jìn)行分析,然后用面向?qū)ο蟮脑O(shè)計(jì)方法進(jìn)行設(shè)計(jì),最后用面向?qū)ο笳Z(yǔ)言Java進(jìn)行實(shí)現(xiàn),后臺(tái)數(shù)據(jù)庫(kù)使用Oracle,連接方式為JDBC-ODBC。Java中GUI程序設(shè)計(jì)本身就是界面程序設(shè)計(jì),用它設(shè)計(jì)出來(lái)的界面不但美觀,而且使用方便,使用者只需點(diǎn)幾次鼠標(biāo),就能根據(jù)提示進(jìn)行正確的操作,實(shí)現(xiàn)了圖書(shū)管理的便捷程度;由于Java代碼重用性非
11、常好,加上本系統(tǒng)部分代碼我可以用別的程序代碼稍微做一些修改就可以實(shí)現(xiàn)功能,因此可以實(shí)現(xiàn)降低代碼量的目的;Oracle數(shù)據(jù)庫(kù)是目前市場(chǎng)上通用數(shù)據(jù)庫(kù)之一,查詢(xún)速度本身就非常多,再加上我會(huì)在代碼中盡量避免多表連接查詢(xún)和處理語(yǔ)句的使用,所以可以真正起到提高查詢(xún)效率的目的。本系統(tǒng)局限性可能來(lái)自以下幾個(gè)方面:a).界面不美觀;b).部分功能無(wú)法實(shí)現(xiàn);c).訪(fǎng)問(wèn)效率很低;d).容錯(cuò)性不夠;對(duì)于a),我覺(jué)得我們應(yīng)該注意力放在功能及代碼的效率上,而不是去追求一個(gè)優(yōu)秀的界面,對(duì)于界面,只要能看得過(guò)去就行;對(duì)于b),我盡量避免這個(gè)的發(fā)生,因?yàn)樗且粋€(gè)程序員水平的標(biāo)尺,盡可能的用自己最大努力做出盡可能多的功能是我的目
12、標(biāo);對(duì)于c),盡量減少多表連接操作的次數(shù),應(yīng)該就可以盡可能的提高訪(fǎng)問(wèn)效率了。對(duì)于d),這個(gè)是需要大量測(cè)試才能發(fā)現(xiàn)的,由于時(shí)間關(guān)系,不可能把所有的情況考慮完全,只能盡可能多地去考慮周全點(diǎn),盡可能的把所有問(wèn)題都考慮到。2.9 技術(shù)條件方面的可行性按照目前的技術(shù)水平,本系統(tǒng)的功能目標(biāo)是可以達(dá)到的,該系統(tǒng)的功能是可以實(shí)現(xiàn)的,在規(guī)定的期限內(nèi),本系統(tǒng)可以開(kāi)發(fā)完成。2.10 法律方面的可行性由于這個(gè)系統(tǒng)只供學(xué)習(xí)研究使用,不涉及任何商業(yè)行為,因此,該系統(tǒng)從法律方面是可行的。2.11 使用方面的可行性本圖書(shū)管理系統(tǒng)是為學(xué)校圖書(shū)館開(kāi)發(fā)的,從學(xué)校圖書(shū)館日常流程的角度來(lái)看,是可以使用該軟件系統(tǒng)的;經(jīng)過(guò)我們的調(diào)查,我們
13、發(fā)現(xiàn)學(xué)校圖書(shū)館管理人員是有一定的計(jì)算機(jī)操作水平的,經(jīng)過(guò)短期的培訓(xùn),是可以熟練掌握本系統(tǒng)的使用細(xì)則的。2.12 結(jié)論由上面的內(nèi)容我們可以得到如下研究結(jié)論:本圖書(shū)館管理系統(tǒng)可以立即開(kāi)始進(jìn)行。3.需求規(guī)格說(shuō)明書(shū)對(duì)軟件需求完全理解對(duì)于軟件開(kāi)發(fā)工作的成功是至關(guān)重要的,需求說(shuō)明的任務(wù)是發(fā)現(xiàn)、規(guī)范的過(guò)程,有益于提高軟件開(kāi)發(fā)過(guò)程中的能見(jiàn)度,便于對(duì)軟件開(kāi)發(fā)過(guò)程中的控制與管理,便于采用工程方法開(kāi)發(fā)軟件,提高軟件的質(zhì)量,便于開(kāi)發(fā)人員、維護(hù)人員、管理人員之間的交流、協(xié)作,并作為工作成果的原始依據(jù),并且在向潛在用戶(hù)傳遞軟件功能、性能需求,使其能夠判斷該軟件是否與自己的需求相關(guān)。3.1 編寫(xiě)目的為開(kāi)發(fā)人員,維護(hù)人員,客戶(hù)
14、之間提供共同的協(xié)議而創(chuàng)立基礎(chǔ),對(duì)圖書(shū)館管理系統(tǒng)軟件功能的實(shí)現(xiàn)做一全面的描述;本說(shuō)明書(shū)預(yù)期讀者為客戶(hù)、業(yè)務(wù)或需求分析人員、測(cè)試人員、文檔編寫(xiě)者、項(xiàng)目管理人員;3.2 任務(wù)概述本圖書(shū)管理系統(tǒng)僅供學(xué)習(xí)、研究之用,應(yīng)用目標(biāo)是讓使用該軟件的用戶(hù)感覺(jué)輕松、愉快的完成本系統(tǒng)的各個(gè)功能模塊,給以客觀公正的評(píng)價(jià)。本軟件的靈感來(lái)源于本人長(zhǎng)期使用本校的圖書(shū)館管理系統(tǒng),對(duì)其結(jié)構(gòu)和功能有了一定的了解,所以就產(chǎn)生了自己模仿一個(gè)的想法。由于本軟件是模仿其他類(lèi)似軟件開(kāi)發(fā)的,所以只能供學(xué)習(xí)、研究之用。|本軟件終端用戶(hù)應(yīng)該是圖書(shū)館管理人員,各個(gè)年齡層次的讀者。對(duì)于圖書(shū)館管理人員來(lái)說(shuō),應(yīng)該對(duì)這個(gè)軟件的流程很熟悉,所以本軟件在設(shè)計(jì)時(shí)
15、盡量追求可操作性和簡(jiǎn)潔大方的人機(jī)界面的設(shè)計(jì),力求盡量減少用戶(hù)直接輸入性東西,大量使用可選框。對(duì)于讀者,本軟件將為其設(shè)計(jì)更加方便的界面,盡量不使用直接輸入性信息,追求操作的最簡(jiǎn)單化。由于本軟件只供學(xué)習(xí)和研究之用,所以不存在預(yù)期使用周期。3.3 需求規(guī)定通過(guò)對(duì)學(xué)校圖書(shū)館管理系統(tǒng)的使用和跟有關(guān)人員的訪(fǎng)談,我初步認(rèn)為該系統(tǒng)應(yīng)該有以下功能約定:1).每個(gè)讀者最多在借數(shù)目為5;2).每種書(shū)只剩一本時(shí),禁止外借;3).讀者編號(hào)是10位數(shù)字,初始密碼和編號(hào)相同,提示讀者修改密碼;4).管理員編號(hào)是5位數(shù)字,初始密碼和編號(hào)相同,提示管理員修改密碼;5).當(dāng)讀者掛失圖書(shū)且未繳納罰款時(shí),禁止該讀者借閱續(xù)借和掛失其他
16、圖書(shū),直到罰款交齊為止;6).盡可能多的用可選項(xiàng)代替文本框,減少人為輸入錯(cuò)誤發(fā)生的概率;7).當(dāng)可選項(xiàng)為編號(hào)時(shí),為了方便查閱詳細(xì)信息,設(shè)置按鈕顯示其詳細(xì)信息;8).讀者界面應(yīng)該顯示讀者當(dāng)前在借圖書(shū)的詳細(xì)信息;9).為了方便讀者查詢(xún),應(yīng)該提供多種查詢(xún)圖書(shū)的方式;10).圖書(shū)掛失后,讀者應(yīng)該繳納三倍書(shū)價(jià)的罰款作為賠償;11).修改密碼時(shí),應(yīng)提供原密碼作為驗(yàn)證,兩次輸入新密碼;12).用戶(hù)登陸時(shí),需根據(jù)用戶(hù)身份,進(jìn)入各自的主界面;通過(guò)對(duì)以上功能約定的分析,我將這個(gè)系統(tǒng)分為以下11個(gè)模塊,它們分別是登陸模塊、添加管理員、讀者、書(shū)籍信息模塊、借書(shū)模塊、還書(shū)模塊、續(xù)借模塊、圖書(shū)掛失模塊、掛失處理模塊、修改
17、個(gè)人密碼模塊、刪除操作記錄、讀者信息模塊,查詢(xún)圖書(shū)模塊等等。下面用IPO表分別寫(xiě)出對(duì)上述模塊的功能要求進(jìn)行定性和定量的敘述:1、登陸模塊:模塊名稱(chēng)登陸模塊輸入數(shù)據(jù)用戶(hù)編號(hào),密碼,級(jí)別處理過(guò)程調(diào)用數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行驗(yàn)證輸出數(shù)據(jù)無(wú) 表3-1 登陸模塊IPO表2、添加管理員與讀者模塊模塊名稱(chēng)添加管理員和讀者模塊輸入數(shù)據(jù)新管理員編號(hào)和姓名處理過(guò)程編號(hào)唯一性驗(yàn)證,向數(shù)據(jù)庫(kù)添加數(shù)據(jù)輸出數(shù)據(jù)無(wú) 表3-2 添加管理員和讀者模塊IPO表3、添加書(shū)籍信息模塊模塊名稱(chēng)添加書(shū)籍信息模塊輸入數(shù)據(jù)書(shū)條形碼號(hào),書(shū)名,作者,分類(lèi),價(jià)格,數(shù)目處理過(guò)程編號(hào)唯一性驗(yàn)證,向數(shù)據(jù)庫(kù)添加數(shù)據(jù)輸出數(shù)據(jù)無(wú) 表3-3 添加書(shū)籍信息模塊IPO表4、
18、借書(shū)模塊模塊名稱(chēng)借書(shū)模塊輸入數(shù)據(jù)讀者編號(hào)、書(shū)條形碼號(hào)處理過(guò)程驗(yàn)證編號(hào),向數(shù)據(jù)庫(kù)添加數(shù)據(jù)輸出數(shù)據(jù)無(wú) 表3-4 借書(shū)模塊IPO表5、還書(shū)模塊模塊名稱(chēng)借書(shū)模塊輸入數(shù)據(jù)讀者編號(hào)、書(shū)條形碼號(hào)處理過(guò)程驗(yàn)證編號(hào),修改數(shù)據(jù)庫(kù)數(shù)據(jù)輸出數(shù)據(jù)無(wú) 表3-5 還書(shū)模塊IPO表6、續(xù)借模塊模塊名稱(chēng)續(xù)借模塊輸入數(shù)據(jù)讀者編號(hào)、書(shū)條形碼號(hào)處理過(guò)程驗(yàn)證編號(hào),修改數(shù)據(jù)庫(kù)數(shù)據(jù)輸出數(shù)據(jù)無(wú) 表3-6 續(xù)借模塊IPO表7、圖書(shū)掛失模塊模塊名稱(chēng)圖書(shū)掛失模塊輸入數(shù)據(jù)讀者編號(hào)、書(shū)條形碼號(hào)處理過(guò)程驗(yàn)證編號(hào),修改數(shù)據(jù)庫(kù)數(shù)據(jù)輸出數(shù)據(jù)書(shū)名、應(yīng)繳納的罰款數(shù)額 表3-7 圖書(shū)掛失模塊IPO表8、圖書(shū)掛失處理模塊模塊名稱(chēng)圖書(shū)掛失處理模塊輸入數(shù)據(jù)讀者編號(hào)處理過(guò)
19、程查詢(xún)掛失信息輸出數(shù)據(jù)書(shū)名,罰款數(shù)額 表3-8 圖書(shū)掛失處理模塊IPO表9、修改個(gè)人密碼模塊模塊名稱(chēng)修改個(gè)人密碼模塊輸入數(shù)據(jù)讀者編號(hào),舊密碼,新密碼處理過(guò)程驗(yàn)證舊密碼正確性,修改數(shù)據(jù)庫(kù)數(shù)據(jù)輸出數(shù)據(jù)無(wú) 表3-9 修改個(gè)人密碼模塊IPO表10、刪除操作記錄模塊模塊名稱(chēng)刪除操作記錄模塊輸入數(shù)據(jù)無(wú)處理過(guò)程刪除數(shù)據(jù)庫(kù)中操作記錄表的信息輸出數(shù)據(jù)無(wú) 表3-10 刪除操作記錄模塊IPO表11、刪除讀者信息模塊模塊名稱(chēng)刪除讀者信息模塊輸入數(shù)據(jù)讀者編號(hào)處理過(guò)程驗(yàn)證能否刪除,刪除數(shù)據(jù)庫(kù)數(shù)據(jù)輸出數(shù)據(jù)無(wú) 表3-11 刪除讀者信息模塊IPO表12、查詢(xún)圖書(shū)信息模塊模塊名稱(chēng)查詢(xún)圖書(shū)信息模塊輸入數(shù)據(jù)圖書(shū)編號(hào)或分類(lèi)信息或書(shū)名關(guān)
20、鍵字處理過(guò)程查詢(xún)圖書(shū)表輸出數(shù)據(jù)相關(guān)圖書(shū)信息 表3-12 刪除讀者信息模塊IPO表3.4 性能需求該軟件對(duì)輸入數(shù)據(jù)、輸出數(shù)據(jù)精度的要求如下表所示:數(shù)據(jù)類(lèi)型方向格式字符型輸入輸出avcAaaa浮點(diǎn)型輸入輸出123.65日期型輸出YYYY-MM-DD時(shí)間型輸出HH24:MM:SS表3-13 數(shù)據(jù)精度要求表本圖書(shū)管理系統(tǒng)要求響應(yīng)時(shí)間低于1秒,更新處理時(shí)間、數(shù)據(jù)的轉(zhuǎn)換和傳送時(shí)間短,用戶(hù)等待時(shí)間盡可能為0.本系統(tǒng)主要任務(wù)是訪(fǎng)問(wèn)后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù),并做出相應(yīng)的處理,所以對(duì)數(shù)據(jù)庫(kù)的容量要求很高,因此建議設(shè)置變長(zhǎng)的表空間,這樣就可以避免出現(xiàn)分配的空間不夠而給用戶(hù)管理帶來(lái)麻煩的情況。初始化表空間容量為5M,每次增長(zhǎng)
21、的空間為5M。本系統(tǒng)運(yùn)行過(guò)程中可能出現(xiàn)的問(wèn)題是數(shù)據(jù)庫(kù)故障,處理方法是建議用戶(hù)每天對(duì)數(shù)據(jù)庫(kù)中的做一次備份,這樣如果數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題,可以立即還原數(shù)據(jù),而不造成大的損失3.5 事件跟蹤圖由于這個(gè)系統(tǒng)模塊很多,如果畫(huà)出每個(gè)模塊的事件跟蹤圖,會(huì)占用很大的篇幅,何況很多模塊的事件跟蹤圖大同小異,所以我決定畫(huà)出正常情況下讀者掛失圖書(shū)模塊、管理員新增圖書(shū)信息模塊、超級(jí)管理員查看操作記錄模塊的事件跟蹤圖。讀者掛失圖書(shū)模塊的事件跟蹤圖如圖3-1所示:圖3-1 讀者掛失模塊的事件跟蹤圖管理員新增圖書(shū)信息模塊的事件跟蹤圖如圖3-2所示:圖3-2管理員新增圖書(shū)信息模塊事件跟蹤圖超級(jí)管理員查看操作記錄模塊的事件跟蹤圖如圖
22、3-3所示:圖3-3超級(jí)管理管理員新增圖書(shū)信息模塊事件跟蹤圖4.總體設(shè)計(jì)說(shuō)明書(shū)4.1 編寫(xiě)目的總體設(shè)計(jì)的目的就是回答“概括地說(shuō),系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”這個(gè)問(wèn)題。也就是說(shuō)這個(gè)說(shuō)明書(shū)的編寫(xiě)目的也就是告訴程序員和軟件設(shè)計(jì)人員本圖書(shū)館管理系統(tǒng)系統(tǒng)的系統(tǒng)結(jié)構(gòu)和軟件結(jié)構(gòu)。本報(bào)告的預(yù)期讀者是:編寫(xiě)該軟件的程序員、其他軟件設(shè)計(jì)人員、系統(tǒng)分析員。4.2 圖書(shū)管理系統(tǒng)的系統(tǒng)層次結(jié)構(gòu)圖圖4-1 是該圖書(shū)管理系統(tǒng)的系統(tǒng)層次結(jié)構(gòu)圖。4.3 圖書(shū)管理系統(tǒng)的軟件結(jié)構(gòu)圖圖4-2 是圖書(shū)管理系統(tǒng)的軟件結(jié)構(gòu)圖5.數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)5.1 概念結(jié)構(gòu)設(shè)計(jì)本課程設(shè)計(jì)連接數(shù)據(jù)庫(kù)是Oracle9i,用的方式是JDBC橋,因此數(shù)據(jù)庫(kù)設(shè)計(jì)尤為重要
23、;本系統(tǒng)E-R圖如圖3-4 圖書(shū)管理系統(tǒng)的系統(tǒng)層次結(jié)構(gòu)圖圖3-5 圖書(shū)管理系統(tǒng)的軟件結(jié)構(gòu)圖下:圖5-1讀者表和書(shū)表的E-R圖圖5-2 管理員表和操作記錄表的E-R圖5.2邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)上述E-R模型,我們可以得到該系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)該包括五個(gè)表,分別是:讀者信息表、書(shū)籍信息表、借閱信息表、管理員表、操作記錄表;下面是這五個(gè)表的詳細(xì)屬性信息(下劃線(xiàn)的是該表的主鍵):讀者信息表:讀者編號(hào)、姓名、密碼、當(dāng)前可借書(shū)冊(cè)數(shù)、當(dāng)前狀態(tài)書(shū)籍信息表:書(shū)編號(hào)、書(shū)名、出版社、類(lèi)別、單價(jià)、現(xiàn)有藏書(shū)量借閱信息表:借閱編號(hào)、讀者編號(hào)、書(shū)編號(hào)、借書(shū)時(shí)間、預(yù)計(jì)還書(shū)時(shí)間、標(biāo)識(shí)位、還書(shū)時(shí)間管理員表:管理員編號(hào)、姓名、密碼、級(jí)別操作
24、記錄表:操作時(shí)間、發(fā)生事件5.3 物理結(jié)構(gòu)設(shè)計(jì)一般數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)包括兩個(gè)方面:為關(guān)系模式選擇存取方法和設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫(kù)文件的物理存儲(chǔ)結(jié)構(gòu)。本系統(tǒng)沒(méi)有建立任何索引。6.詳細(xì)設(shè)計(jì)說(shuō)明書(shū)6.1 編寫(xiě)目的詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。本說(shuō)明書(shū)是為了給程序員提供出一個(gè)程序的“藍(lán)圖”,指導(dǎo)他們更好地完成編碼任務(wù)。本說(shuō)明書(shū)目標(biāo)讀者是:軟件設(shè)計(jì)師、所有參與這個(gè)項(xiàng)目的編碼人員和測(cè)試人員。6.2 界面設(shè)計(jì)從需求規(guī)格說(shuō)明書(shū)中,我們已經(jīng)知道本系統(tǒng)將使
25、用者分為三類(lèi):超級(jí)管理員、一般管理員和讀者。而且他們的權(quán)限各不相同,故需要為他們各自設(shè)計(jì)主界面,本節(jié)將用三個(gè)參考模型詳細(xì)說(shuō)明三個(gè)主界面應(yīng)如何設(shè)計(jì)。圖6-1是超級(jí)管理員主界面設(shè)計(jì)參考模型。圖6-2是一般管理員主界面設(shè)計(jì)參考模型。圖6-3是讀者主界面設(shè)計(jì)參考模型。圖6-1 超級(jí)管理員主界面設(shè)計(jì)模型圖6-2 一般管理員主界面設(shè)計(jì)模型圖6-3 讀者主界面設(shè)計(jì)模型6.3 一點(diǎn)說(shuō)明由于本系統(tǒng)模塊過(guò)多,如果把所有模塊的詳細(xì)設(shè)計(jì)過(guò)程全部寫(xiě)出,實(shí)驗(yàn)報(bào)告的篇幅將會(huì)很長(zhǎng),所以我只寫(xiě)出“添加書(shū)的信息”模塊詳細(xì)設(shè)計(jì)過(guò)程,其余模塊類(lèi)似。6.4 “添加書(shū)的信息”模塊界面設(shè)計(jì)從需求規(guī)格說(shuō)明書(shū)和數(shù)據(jù)庫(kù)設(shè)計(jì)中,我們可以看出,書(shū)表
26、的屬性有:編號(hào)、書(shū)名、類(lèi)別、當(dāng)前在館冊(cè)數(shù)、價(jià)格和出版社;而為了節(jié)省字段,我把書(shū)名定義為書(shū)名和作者;當(dāng)前在館冊(cè)數(shù)初始狀態(tài)下就是藏書(shū)量,一般的圖書(shū)館一種書(shū)籍的藏書(shū)量不會(huì)超過(guò)5本,所以該項(xiàng)可設(shè)計(jì)為可選項(xiàng);由于管理員的工作是很忙的,不可能不出現(xiàn)錯(cuò)誤,尤其長(zhǎng)時(shí)間做同一工作,所以出版社那一欄中我建議初始化為“出版社”,按鈕設(shè)置方面,“提交”和“取消”是不可缺少的,但考慮到管理員的工作需要,我又設(shè)置了一個(gè)“重置”的按鈕,單擊這個(gè)按鈕后,所有輸入欄都將會(huì)回到剛打開(kāi)窗口時(shí)的狀態(tài);因此,其界面設(shè)計(jì)參考模型如圖6-4所示。圖6-4 “添加書(shū)的信息”模塊界面設(shè)計(jì)參考模型6.5 “添加書(shū)的信息”模塊參考方法設(shè)計(jì)表6-1
27、和表6-2是“添加圖書(shū)信息”模塊參考方法設(shè)計(jì)方法名稱(chēng)checkID方法返回類(lèi)型boolean方法形參名稱(chēng)String id前置條件單擊“提交”SQL語(yǔ)句select * from book where b_no=id處理結(jié)果如果沒(méi)有這個(gè)號(hào)碼,返回false,反之返回true表6-1 “添加圖書(shū)信息”模塊參考方法1方法名稱(chēng)insertBook方法返回類(lèi)型boolean方法形參名稱(chēng)Book b前置條件所有驗(yàn)證都已完畢,且沒(méi)有異常SQL語(yǔ)句insert into book values(id ,name,puname,leibie,price,lsnum )處理結(jié)果如果插入成功,返回true,失敗,
28、返回false表6-2 “添加圖書(shū)信息”模塊參考方法27.系統(tǒng)實(shí)現(xiàn)7.1 開(kāi)發(fā)環(huán)境33中央處理器:Core(TM)2 CPU T5600;內(nèi)存:512MB;主頻:1.83GHz;開(kāi)發(fā)平臺(tái):JBuider2006;數(shù)據(jù)庫(kù):Oracle 9i; 運(yùn)行平臺(tái):Windows XP7.2 關(guān)鍵技術(shù)本圖書(shū)管理系統(tǒng)所使用的關(guān)鍵技術(shù)有:JDBC-ODBC橋,JavaGUI程序設(shè)計(jì)基本技術(shù),數(shù)據(jù)庫(kù)增刪改查技術(shù),面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)(類(lèi)的繼承和派生技術(shù))。7.3 運(yùn)行結(jié)果7.3.1訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)模塊該系統(tǒng)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)使用的是JDBC-ODBC橋的方式,為了節(jié)省工作量,需要編寫(xiě)一個(gè)類(lèi)專(zhuān)門(mén)用戶(hù)訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù),這個(gè)類(lèi)
29、的代碼如下:package librarysystem.tools;import java.sql.ResultSet;import java.sql.*;public class DBClass implements DBinterface public DBClass() Connection conn=null; Statement stmt=null; ResultSet rs=null; protected static final String DRIVER=oracle.jdbc.driver.OracleDriver; protected static final String
30、 URL=jdbc:oracle:thin:localhost:1521:ora9i; public boolean createConnect() try Class.forName(DRIVER); conn=DriverManager.getConnection(URL,lmsm,1234); return true; catch(Exception e) e.printStackTrace(); return false; public int getExecuteUpdate(String sql) try stmt=conn.createStatement(); int n=stm
31、t.executeUpdate(sql); return n; catch(Exception e) e.printStackTrace(); return -1; public ResultSet getExecuteQuery(String sql) try stmt = conn.createStatement(); rs = stmt.executeQuery(sql); return rs; catch(Exception e) e.printStackTrace(); return null; public void closeConnect1() try if(rs!=null)
32、 rs.close(); catch(Exception e) e.printStackTrace(); public void closeConnect2() try if(stmt!=null) stmt.close(); catch(Exception e) e.printStackTrace(); public void closeConnect3() try if(conn!=null) conn.close(); catch(Exception e) e.printStackTrace(); 有了這個(gè)類(lèi),再訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí),只需創(chuàng)建該類(lèi)的對(duì)象,調(diào)用方法就可以了,不必在每次訪(fǎng)問(wèn)數(shù)據(jù)時(shí)都要
33、設(shè)置很多參數(shù)變量。7.3.2 登陸模塊由于這個(gè)系統(tǒng)是用JBuider2006開(kāi)發(fā)的,界面設(shè)計(jì)代碼不用自己寫(xiě),只需要將所需的控件拖到合適的位置就大功告成了,所以我省去那些系統(tǒng)生成的代碼,如果代碼是自己寫(xiě)的,就把代碼寫(xiě)在實(shí)驗(yàn)報(bào)告中吧!圖7-1是登陸模塊的界面。在這個(gè)系統(tǒng)實(shí)現(xiàn)中,主要代碼是消息響應(yīng)方法,對(duì)于每個(gè)模塊我都把它消息響應(yīng)代碼寫(xiě)在實(shí)驗(yàn)報(bào)告中,重復(fù)的就不再寫(xiě)了。public void actionPerformed(ActionEvent e) /讀取界面輸入數(shù)據(jù). if (e.getActionCommand().equals(登陸) /驗(yàn)證信息,詳見(jiàn)源代碼/ /驗(yàn)證成功 if (flag)
34、 /判斷用戶(hù)類(lèi)型 if (jibie.equals(管理員) /控制信息詳見(jiàn)源代碼/. lc = new LoginControl();/驗(yàn)證用戶(hù)名和密碼與數(shù)據(jù)庫(kù)中是否一致 if (lc.checkManager(manager) /控制信息.詳見(jiàn)源代碼 if (grade = 1) /顯示超級(jí)管理員登陸成功 this.showInformation(超級(jí)管理員登陸成功); /操作記錄表中添加記錄 record = 超級(jí)管理員 + manager.getName() + 登陸成功!;/控制信息/詳見(jiàn)源代碼/進(jìn)入超級(jí)管理員界面 this.setVisible(false); new SuperM
35、anagerWindow(); else / this.showInformation(管理員登陸成功); record = 一般管理員 + manager.getName() + 登陸成功!;/提示改密碼 if (manager.getId().equals(manager.getPwd() this.showInformation(為了您信息安全,請(qǐng)盡快修改密碼!); /進(jìn)入管理員界面 new ManagerWindow(); else /顯示登陸失敗信息 this.showError(用戶(hù)名或密碼錯(cuò)誤,請(qǐng)查驗(yàn)!); record = 某管理員登陸失??!; else /讀者登陸驗(yàn)證代碼省略
36、 /向操作記錄表中添加信息 rc = new RecordControl(); rc.InsertRecord(record); else /響應(yīng)退出按鈕 this.setVisible(false); 7.3.3 添加管理員、讀者、書(shū)籍信息模塊這三個(gè)模塊在設(shè)計(jì)思路上大同小異,故放在一起分析,以添加書(shū)籍模塊為例,設(shè)計(jì)界面如圖7-2所示,其余兩個(gè)詳見(jiàn)系統(tǒng)測(cè)試部分,下面是消息響應(yīng)方法的思路及關(guān)鍵代碼;圖7-1登陸界面圖7-2 添加圖書(shū)信息public void actionPerformed(ActionEvent e) /得到文本框中輸入的內(nèi)容 if (e.getActionCommand().
37、equals(提交) /控制驗(yàn)證詳見(jiàn)源代碼 /進(jìn)行主鍵唯一性驗(yàn)證 if(ibc.checkID(id) flag=false; this.showError(條形碼已經(jīng)被使用,請(qǐng)更換!); if(flag)/設(shè)置Book對(duì)象中的內(nèi)容./插入數(shù)據(jù)庫(kù) if(ibc.InsertBook(book) /向操作記錄表中添加信息 else this.showError(價(jià)格出現(xiàn)問(wèn)題,請(qǐng)核實(shí)!); else if(e.getActionCommand().equals(重置) /將五個(gè)文本框恢復(fù)到初始狀態(tài)下 else/響應(yīng)取消按鈕 this.dispose(); 7.3.4 借書(shū)模塊借書(shū)模塊的設(shè)計(jì)充分體現(xiàn)
38、了減少鍵盤(pán)輸入的思想,用戶(hù)只需選擇就可以完成操作,但如果書(shū)很多,或讀者很多時(shí),選擇速度會(huì)很慢,現(xiàn)在大部分都用模式識(shí)別技術(shù),直接去掃描條形碼,所以這個(gè)設(shè)計(jì)有點(diǎn)落伍。圖7-3是借書(shū)模塊界面的圖。圖7-3 添加借閱記錄(借書(shū)模塊)界面消息響應(yīng)方法思路如下: public void actionPerformed(ActionEvent e) if (e.getActionCommand().equals(顯示讀者信息) String id = (String) cbx1.getSelectedItem(); Reader r = imco.showReader(id); ShowReaderView
39、 srv = new ShowReaderView(r); else if (e.getActionCommand().equals(關(guān)于該書(shū)) /顯示書(shū)的信息,和讀者信息一致,省去 else if (e.getActionCommand().equals(提交) /得到文本框的內(nèi)容/取得該編號(hào)的所有信息 Reader r=imco.showReader(r_id); Book b=imco.showBook(b_id);/如果讀者不能借書(shū) if(r.getBooknum()=0) flag=false; this.showError(讀者已不能再借書(shū),已經(jīng)借滿(mǎn)了!); /如果讀者掛失圖書(shū)未繳
40、納罰款 if(r.getIsUse()=0) flag=false; this.showError(該讀者未交掛失書(shū)罰款,已不能再借書(shū)了!); /如果書(shū)只剩一本 if(b.getLsnum()=1) flag=false; this.showError(該書(shū)不能借出,只有一本了!); if(flag)/插入信息 if (imco.InsertMessage(r_id, b_id) /控制代碼/插入操作記錄表對(duì)應(yīng)信息 else this.showError(借書(shū)操作失??!請(qǐng)查驗(yàn)!);7.3.5還書(shū)模塊還書(shū)模塊我設(shè)計(jì)了兩個(gè)界面,第一個(gè)界面得到還書(shū)人的編號(hào),然后用它去數(shù)據(jù)庫(kù)查詢(xún)?cè)撟x者未還的書(shū),把未還
41、的書(shū)的編號(hào)顯示在第二個(gè)界面的可選框中,然后選擇就可以完成操作了。圖7-4是第一個(gè)界面,圖7-5是第二個(gè)界面。圖7-4還書(shū)界面A圖7-5還書(shū)界面B還書(shū)界面A的消息響應(yīng)框架:public void actionPerformed(ActionEvent e) String id=(String)cmb.getSelectedItem(); if(e.getActionCommand().equals(讀者詳細(xì)信息) Reader r=imco.showReader(id); new ShowReaderView(r); else /響應(yīng)下一步按鈕 this.setVisible(false); R
42、eturnBookA_r_id=id;/進(jìn)入界面B new ReturnViewB(); 還書(shū)界面B的消息響應(yīng)方法框架: public void actionPerformed(ActionEvent e) /得到輸入信息 if (e.getActionCommand().equals(查看書(shū)的信息) /顯示書(shū)的詳細(xì)信息 else if(e.getActionCommand().equals(取消) this.setVisible(false); else /得到讀者和書(shū)在表中的所有信息/修改借閱信息表的數(shù)據(jù) if(rbco.upDateMessage(b_id,r_id)/修改讀者信息表和書(shū)
43、籍信息表的信息 imco.updateReaderBook(r,b);/插入操作記錄/給出相關(guān)提示 else /錯(cuò)誤信息提示n 7.3.6 續(xù)借和掛失模塊經(jīng)分析,這兩個(gè)模塊初始條件是一樣的,因此用同一個(gè)界面設(shè)計(jì),處理過(guò)程方面都是去修改借閱信息表中的標(biāo)識(shí)位的具體數(shù)值,0代表借書(shū)沒(méi)有續(xù)借;1代表借書(shū)已經(jīng)續(xù)借;2代表書(shū)已經(jīng)還了;3代表掛失沒(méi)有交罰款;4代表掛失已繳納罰款。如果該書(shū)續(xù)借過(guò)了,給出提示;圖7-6是這兩個(gè)模塊的界面。圖7-6 續(xù)借掛失界面續(xù)借掛失界面的消息響應(yīng)方法框架是: public void actionPerformed(ActionEvent e) /得到Book Reader 的
44、對(duì)象/得到選擇框內(nèi)容 if (e.getSource() = btn2) /響應(yīng)續(xù)借按鈕 /驗(yàn)證代碼. if (flag) /修改借閱信息表的信息 if (rco.updateConMessage(b_id) /插入操作記錄表的信息 else if (e.getSource() = btn1) /查看書(shū)的信息 else if (e.getSource() = btn3) ./響應(yīng)掛失的按鈕 if (rco.updateLose(b_id) /向操作記錄表中插入信息,并提示讀者盡快繳納罰款 else /響應(yīng)取消按鈕,回到讀者主界面 7.3.7處理掛失信息模塊該模塊是管理員在讀者前來(lái)繳納罰款時(shí)使用
45、的,如果沒(méi)有掛失信息,給出管理員提示;有掛失信息,給出掛失的讀者的編號(hào),管理員選擇合適的編號(hào)后進(jìn)入第二個(gè)界面,顯示掛失的書(shū)名和應(yīng)該繳納的罰款數(shù),讀者繳納罰款后,管理員將單擊繳納罰款按鈕,完成處理掛失的操作;第一個(gè)界面初始化是我自己寫(xiě)的,現(xiàn)將代碼寫(xiě)入實(shí)驗(yàn)報(bào)告: private void jbInit() throws Exception panel.setLayout(borderLayout1); this.getContentPane().add(panel, java.awt.BorderLayout.CENTER);/分別初始化有無(wú)掛失信息的處理界面 if (this.getNum()
46、= 0) lbl.setText(目前沒(méi)有讀者掛失圖書(shū)!); panel.add(lbl, BorderLayout.NORTH); btn = new JButton(返回); panel.add(btn, BorderLayout.SOUTH); this.setSize(100, 200); this.setLocation(100, 100); this.setVisible(true); else String text = 有 + this.getNum() + 位讀者掛失圖書(shū); lbl.setText(text); cmb = new JComboBox(this.getNo()
47、; btn = new JButton(處理); panel.add(lbl, BorderLayout.NORTH); panel.add(cmb, BorderLayout.CENTER); panel.add(btn, BorderLayout.SOUTH); this.setSize(200, 200); this.setLocation(100, 100); this.setVisible(true); btn.addActionListener(this); JPanel panel = new JPanel(); JLabel lbl = new JLabel();JComboB
48、ox cmb = null; JButton btn = null;BorderLayout borderLayout1 = new BorderLayout();圖7-7處理掛失記錄1 圖7-8處理掛失記錄2圖7-8中如果單擊處理按鈕會(huì)出現(xiàn)以下界面:圖7-9顯示繳納罰款界面顯示繳納罰款界面中繳納罰款的消息響應(yīng)代碼如下: /將該用戶(hù)的狀態(tài)改為可用,然后向操作記錄表中添加信息if (lbico.updateReaderUse() RecordControl rc = new RecordControl(); InsertMessageControl imco = new InsertMessag
49、eControl(); Reader r = imco.showReader(lbico.getR_id(); String message = r.getName() + 已交納罰款 + tfd2.getText() + 操作員: + LoginView.name; rc.InsertRecord(message); else this.showError(出現(xiàn)問(wèn)題,請(qǐng)查驗(yàn)!); 7.3.8 修改個(gè)人密碼模塊該模塊首先需要輸入一次舊密碼,然后需要輸入兩次新密碼,如果修改成功,向操作信息表中添加記錄。圖7-10是該模塊的界面;圖7-10修改個(gè)人密碼提交按鈕的消息處理代碼: /取三個(gè)密碼框中輸入
50、的數(shù)據(jù),分別存入pwd1,pwd2,pwd3中/驗(yàn)證是否為空 if (pwd1.length() = 0) | (pwd2.length() = 0) | (pwd3.length() = 0) flag = false; this.showError(密碼長(zhǎng)度不能為空!請(qǐng)查驗(yàn)!); /驗(yàn)證首字母是否為空格 if (pwd1.length() != 0) & (pwd1.charAt(0) = ) | (pwd2.length() != 0) & (pwd2.charAt(0) = ) | (pwd3.length() != 0) & (pwd3.charAt(0) = ) flag = false; this.
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外研版(一起)英語(yǔ)一年級(jí)上冊(cè)Module-5課件
- 外研版(一起)五上Module-10《Unit-1-You-should-tidy-your課件
- 認(rèn)識(shí)線(xiàn)段課件
- 患者病情評(píng)估培訓(xùn)完整
- 早產(chǎn)兒的護(hù)理教學(xué)
- 我們吃的食物安全嗎
- 鹽酸硫酸—浙教版九級(jí)科學(xué)上冊(cè)課件1
- 人工智能遺傳算法
- 硬質(zhì)景觀的細(xì)部處理龍湖
- 人教版小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)8的乘法口訣
- 郵輪旅游世界郵輪產(chǎn)業(yè)經(jīng)濟(jì)的發(fā)展
- 如何繪制出高品質(zhì)的學(xué)科思維導(dǎo)圖
- 美國(guó)癲癇學(xué)會(huì)驚厥性癲癇持續(xù)狀態(tài)治療指南解讀
- 城市公共空間設(shè)計(jì)理論及方法課件
- (課件)正弦定理公開(kāi)課