2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩59頁(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>  課程設(shè)計(jì)報(bào)告</b></p><p>  設(shè)計(jì)名稱: 實(shí)驗(yàn)設(shè)備管理系統(tǒng) </p><p>  設(shè)計(jì)題目: 實(shí)驗(yàn)設(shè)備管理系統(tǒng) </p><p>  專業(yè)班級(jí): 軟件工程一班

2、 </p><p>  學(xué)生姓名: </p><p>  學(xué)生成績(jī): </p><p>  指導(dǎo)教師(職稱):

3、 </p><p>  課題工作時(shí)間: 2013年12月20日至2014年1月8日 </p><p>  軟件學(xué)院課程設(shè)計(jì)任務(wù)書(shū)</p><p>  課程設(shè)計(jì):實(shí)驗(yàn)室設(shè)備管理系統(tǒng)</p><p><b>  項(xiàng)目管理:</b></p><p><b&g

4、t;  軟件需求分析</b></p><p><b>  引言</b></p><p><b>  編寫(xiě)目的</b></p><p>  此需求說(shuō)明書(shū)詳細(xì)陳述了“實(shí)驗(yàn)設(shè)備管理系統(tǒng)”的所提供各項(xiàng)功能。其中包括用戶的功能性需求以及非功能性需求,為用戶提供完整且較詳盡的系統(tǒng)功能運(yùn)作藍(lán)圖。同時(shí)為設(shè)計(jì)人員提供一個(gè)完整的、

5、可靠的設(shè)計(jì)約束,以便高質(zhì)量地設(shè)計(jì)、編寫(xiě)代碼,完成系項(xiàng)目預(yù)期目標(biāo)。還給開(kāi)發(fā)人員提供了參考。</p><p>  此需求說(shuō)明書(shū)的預(yù)期讀者為項(xiàng)目經(jīng)理、設(shè)計(jì)人員、開(kāi)發(fā)人員、用戶等。</p><p><b>  背景</b></p><p><b>  說(shuō)明:</b></p><p>  a.待開(kāi)發(fā)的軟件系統(tǒng)

6、的名稱:實(shí)驗(yàn)設(shè)備管理系統(tǒng);</p><p>  b.本項(xiàng)目的任務(wù)提出者:西安文理學(xué)院;</p><p>  c.本項(xiàng)目的開(kāi)發(fā)者:張興華 陳琛 任小艷;</p><p>  d.本項(xiàng)目的用戶:西安文理學(xué)院相關(guān)管理人員;</p><p>  e.該軟件系統(tǒng)同其他系統(tǒng)或其他機(jī)構(gòu)的基本的相互來(lái)往關(guān)系:與西安文理學(xué)院財(cái)務(wù)管理軟件系統(tǒng)有相應(yīng)接口。<

7、/p><p><b>  定義</b></p><p>  LEM:實(shí)驗(yàn)室設(shè)備管理系統(tǒng)(Laboratory Equipment Management);</p><p><b>  任務(wù)概述</b></p><p><b>  目標(biāo)</b></p><p

8、>  隨著高校規(guī)模的擴(kuò)大,實(shí)驗(yàn)室及倉(cāng)庫(kù)的增多,人工管理實(shí)驗(yàn)設(shè)備已變得過(guò)于低效,為了解決這一問(wèn)題,高校實(shí)驗(yàn)室設(shè)備管理系統(tǒng)將實(shí)現(xiàn)設(shè)備管理的自動(dòng)化。</p><p>  實(shí)驗(yàn)室設(shè)備管理系統(tǒng)將貫穿于設(shè)備從購(gòu)進(jìn)到報(bào)廢的整個(gè)流程的管理過(guò)程,幫助管理員高效地管理整個(gè)高校的所有設(shè)備,并給上級(jí)領(lǐng)導(dǎo)提供一個(gè)審核監(jiān)督管理的平臺(tái)。</p><p><b>  用戶的特點(diǎn)</b><

9、/p><p>  此軟件的使用用戶為: 西安文理學(xué)院相關(guān)管理人員。</p><p>  因此,我們通常可以認(rèn)為:用戶具有較高的文化水平和學(xué)習(xí)能力,并且具有一定的計(jì)算機(jī)使用水平和經(jīng)驗(yàn),可以了解整個(gè)LEM系統(tǒng)的工作流程及注意事項(xiàng),與此同時(shí)對(duì)于LEM系統(tǒng)的基本操作,可以無(wú)困難執(zhí)行。在參考用戶手冊(cè)的情況下可以無(wú)需進(jìn)行專業(yè)培訓(xùn),即可順利使用本系統(tǒng)。</p><p><b&g

10、t;  需求規(guī)定</b></p><p><b>  功能性需求規(guī)定</b></p><p><b>  系統(tǒng)整體功能層次圖</b></p><p>  3.1.2 業(yè)務(wù)流程分析</p><p><b>  數(shù)據(jù)流圖:</b></p><p&g

11、t;<b>  流程詳細(xì)說(shuō)明:</b></p><p>  倉(cāng)庫(kù)管理員統(tǒng)計(jì)倉(cāng)庫(kù)中設(shè)備的庫(kù)存量,找出庫(kù)存量不足的設(shè)備,填寫(xiě)購(gòu)買(mǎi)申請(qǐng)表,領(lǐng)導(dǎo)對(duì)此申請(qǐng)表進(jìn)行審核,審核通過(guò)后,產(chǎn)生購(gòu)買(mǎi)報(bào)表交給購(gòu)買(mǎi)員。</p><p>  購(gòu)買(mǎi)員將購(gòu)買(mǎi)的設(shè)備及購(gòu)買(mǎi)信息交給購(gòu)買(mǎi)登記員,由他進(jìn)行購(gòu)買(mǎi)登記。購(gòu)買(mǎi)登記員查詢申請(qǐng)審核表,將設(shè)備分配到各倉(cāng)庫(kù)。</p><p>  倉(cāng)

12、庫(kù)管理員對(duì)購(gòu)買(mǎi)的設(shè)備進(jìn)行入庫(kù)登記,出庫(kù)登記。</p><p>  實(shí)驗(yàn)室管理員負(fù)責(zé)對(duì)報(bào)廢的設(shè)備進(jìn)行報(bào)廢登記并處理,找出要維修的設(shè)備填寫(xiě)維修申請(qǐng)表,領(lǐng)導(dǎo)對(duì)維修申請(qǐng)表進(jìn)行審核,通過(guò)后產(chǎn)生維修報(bào)表交給維修員,維修員將設(shè)備送交某一修理廠家進(jìn)行維修。</p><p>  設(shè)備維修完后,交還原實(shí)驗(yàn)室,由實(shí)驗(yàn)室管理員進(jìn)行維修登記。</p><p><b>  系統(tǒng)用戶列

13、表</b></p><p>  高校LEM面向五類用戶:系統(tǒng)管理員,購(gòu)買(mǎi)登記員,倉(cāng)庫(kù)管理員,實(shí)驗(yàn)室管理員,上級(jí)領(lǐng)導(dǎo),這幾類用戶通過(guò)高校LEM系統(tǒng)進(jìn)行設(shè)備管理上的交流,而該系統(tǒng)為用戶提供不同的功能。</p><p><b>  【1】系統(tǒng)管理員</b></p><p>  1.注冊(cè)本系統(tǒng)用戶;</p><p>

14、  2.注銷本系統(tǒng)用戶;</p><p><b>  3.?dāng)?shù)據(jù)庫(kù)的維護(hù);</b></p><p><b>  4.本人信息維護(hù);</b></p><p><b>  【2】購(gòu)買(mǎi)登記員</b></p><p>  1. 將購(gòu)買(mǎi)員提交的購(gòu)買(mǎi)信息進(jìn)行登記,記錄有關(guān)設(shè)備基本信息,設(shè)備的

15、購(gòu)買(mǎi)信息如價(jià)格,數(shù)量等;</p><p>  2.查詢領(lǐng)導(dǎo)的購(gòu)買(mǎi)申請(qǐng)審核信息;</p><p>  3.根據(jù)審核信息將購(gòu)買(mǎi)的設(shè)備分配到相應(yīng)的倉(cāng)庫(kù),將有關(guān)詳單提交倉(cāng)庫(kù)管理員,</p><p><b>  4.本人信息維護(hù)。</b></p><p><b>  【3】倉(cāng)庫(kù)管理員</b></p>

16、;<p>  根據(jù)購(gòu)買(mǎi)登記員提交的詳單進(jìn)行入庫(kù)登記;</p><p>  根據(jù)實(shí)驗(yàn)室管理員提交的詳單進(jìn)行出庫(kù)登記;</p><p>  查詢統(tǒng)計(jì)本倉(cāng)庫(kù)中的所有設(shè)備的庫(kù)存量,統(tǒng)計(jì)出庫(kù)存量不足的設(shè)備;</p><p>  根據(jù)統(tǒng)計(jì)信息進(jìn)行購(gòu)買(mǎi)申請(qǐng)。</p><p><b>  本人信息維護(hù);</b></p

17、><p><b>  【4】實(shí)驗(yàn)室管理員</b></p><p>  管理本實(shí)驗(yàn)室中各設(shè)備,找出需要維修的設(shè)備,進(jìn)行維修申請(qǐng);</p><p>  對(duì)于不能維修的設(shè)備,要進(jìn)行報(bào)廢記錄;</p><p>  查詢統(tǒng)計(jì)本實(shí)驗(yàn)室設(shè)備擁有量,統(tǒng)計(jì)出數(shù)量不足的設(shè)備,產(chǎn)生詳單提交倉(cāng)庫(kù)管理員;</p><p>  

18、對(duì)于已維修完成的設(shè)備,根據(jù)維修員提交維修單進(jìn)行維修記錄;</p><p><b>  本人信息維護(hù)。</b></p><p><b>  【5】上級(jí)領(lǐng)導(dǎo)</b></p><p>  查看購(gòu)買(mǎi)申請(qǐng)表,對(duì)申請(qǐng)進(jìn)行審核,審核后產(chǎn)生購(gòu)買(mǎi)訂單交于購(gòu)買(mǎi)員;</p><p>  查看維修申請(qǐng)表,對(duì)申請(qǐng)進(jìn)行審核,審

19、核后產(chǎn)生維修訂單交于維修員;</p><p><b>  個(gè)人信息維護(hù)。</b></p><p><b>  軟件系統(tǒng)數(shù)據(jù)字典</b></p><p><b>  3.21數(shù)據(jù)流條目</b></p><p><b>  登陸信息</b></p>

20、<p><b>  輸入:設(shè)備管理員</b></p><p><b>  輸出:身份驗(yàn)證1</b></p><p>  描述:登陸信息=用戶名+密碼+登陸權(quán)限</p><p><b>  查詢信息</b></p><p>  輸入:合法人員對(duì)設(shè)備的查詢操作<

21、/p><p><b>  輸出:設(shè)備信息表</b></p><p>  描述:查詢信息=設(shè)備名/型號(hào)/類別/購(gòu)置日期</p><p><b>  維修信息</b></p><p>  輸入:所需維修設(shè)備的信息</p><p>  輸出:確定維修設(shè)備的記錄</p>&

22、lt;p>  描述:維修信息=設(shè)備名+修理日期+修理廠家+修理費(fèi)+負(fù)責(zé)人</p><p><b>  新設(shè)備</b></p><p>  輸入:購(gòu)買(mǎi)設(shè)備的信息</p><p>  輸出:確定購(gòu)買(mǎi)的新設(shè)備的記錄</p><p>  描述:新設(shè)備=類別+設(shè)備名+型號(hào)+規(guī)格+單價(jià)+數(shù)量等</p><p

23、><b>  報(bào)廢設(shè)備</b></p><p>  輸入:所需報(bào)廢的設(shè)備的信息</p><p>  輸出:報(bào)廢的設(shè)備記錄</p><p>  描述:報(bào)廢設(shè)備=類別+設(shè)備名+型號(hào)等</p><p><b>  審核信息</b></p><p><b>  輸入:

24、審核3</b></p><p><b>  輸出:上級(jí)領(lǐng)導(dǎo)</b></p><p>  描述:審核信息=報(bào)廢設(shè)備信息/新設(shè)備購(gòu)買(mǎi)記錄</p><p><b>  3.22加工條目</b></p><p>  身份驗(yàn)證1,統(tǒng)計(jì)查詢2.1,維修2.2,購(gòu)買(mǎi)2.3,報(bào)廢2.4,生產(chǎn)報(bào)表3.1,

25、審核3.2</p><p><b>  3.23文件條目</b></p><p><b>  登陸表</b></p><p><b>  輸入:身份驗(yàn)證1</b></p><p><b>  輸出:身份驗(yàn)證1</b></p><p>

26、;  數(shù)據(jù)結(jié)構(gòu):用戶名+密碼+登陸權(quán)限</p><p><b>  設(shè)備基本信息表</b></p><p>  輸入:統(tǒng)計(jì)查詢2.1</p><p>  數(shù)據(jù)結(jié)構(gòu):類別+設(shè)備名+型號(hào)+規(guī)格等</p><p><b>  維修記錄表</b></p><p>  輸入:統(tǒng)計(jì)查詢2

27、.1,維修2.2</p><p>  輸出:統(tǒng)計(jì)查詢2.1</p><p>  數(shù)據(jù)結(jié)構(gòu):設(shè)備名+修理日期+修理廠家+修理費(fèi)+責(zé)任人等</p><p><b>  新設(shè)備表</b></p><p>  輸入:統(tǒng)計(jì)查詢2.1,購(gòu)買(mǎi)2.2</p><p>  輸出:統(tǒng)計(jì)查詢2.1</p>

28、<p>  數(shù)據(jù)結(jié)構(gòu):類別+設(shè)備名+型號(hào)+規(guī)格+單價(jià)+數(shù)量+生產(chǎn)廠家+購(gòu)買(mǎi)人等</p><p><b>  報(bào)廢記錄表</b></p><p>  輸入:報(bào)廢2.4,統(tǒng)計(jì)查詢2.1,生產(chǎn)報(bào)表3.1</p><p>  輸出:統(tǒng)計(jì)查詢2.1,生產(chǎn)報(bào)表3.1</p><p>  數(shù)據(jù)結(jié)構(gòu):類別+設(shè)備名+型號(hào)等&l

29、t;/p><p><b>  申請(qǐng)表</b></p><p>  輸入:統(tǒng)計(jì)查詢2.1,生產(chǎn)報(bào)表3.1</p><p>  輸出:統(tǒng)計(jì)查詢2.1,生產(chǎn)報(bào)表3.1,購(gòu)買(mǎi)2.3</p><p>  數(shù)據(jù)結(jié)構(gòu):設(shè)備名+型號(hào)+規(guī)格+數(shù)量+負(fù)責(zé)人</p><p><b>  非功能新需求規(guī)定</

30、b></p><p><b>  精度</b></p><p><b>  軟件的輸入精度:</b></p><p>  a.輸入的數(shù)字信息,精度保留到小數(shù)點(diǎn)后兩位。</p><p>  b.輸入的公司或單位名稱,必須是全稱,不可以是簡(jiǎn)稱或者是簡(jiǎn)寫(xiě)。</p><p> 

31、 e.輸入的可選信息時(shí),以下拉框內(nèi)容為備選選擇,不可以自行輸入。</p><p><b>  時(shí)間特性需求</b></p><p>  對(duì)于該軟件的時(shí)間特性要求為:</p><p>  a.響應(yīng)時(shí)間:小于7秒鐘;</p><p>  b.更新處理時(shí)間:小于6秒鐘;</p><p><b>

32、;  靈活性</b></p><p>  該軟件的靈活性的要求(即當(dāng)需求發(fā)生某些變化時(shí),該軟件對(duì)這些變化的適應(yīng)能力):</p><p>  a.運(yùn)行環(huán)境的變化:可以實(shí)現(xiàn)跨平臺(tái)操作;</p><p>  b.同其他軟件的接口的變化:設(shè)計(jì)多元化接口,以實(shí)現(xiàn)與其他軟件接口之間的通信;</p><p>  c.精度和有效時(shí)限的變化:統(tǒng)一修

33、改數(shù)據(jù)精度、以及有效時(shí)限的數(shù)據(jù)庫(kù)內(nèi)容;</p><p><b>  可靠性</b></p><p>  本系統(tǒng)的可靠性是指:系統(tǒng)在規(guī)定的條件下、在規(guī)定的時(shí)間內(nèi)完成規(guī)定的功能的能力。</p><p>  影響可靠性的操作流程有:</p><p>  新增用戶時(shí)可能出現(xiàn)信息無(wú)法提交的情況。</p><p&

34、gt;  設(shè)備購(gòu)買(mǎi)登記階段,可能出現(xiàn)設(shè)備信息無(wú)法寫(xiě)入,購(gòu)買(mǎi)信息登記錯(cuò)誤。</p><p>  由于本系統(tǒng)是LEM系統(tǒng),故對(duì)于可靠性的要求較高。具體要求:</p><p>  全部錄入信息以各紙質(zhì)詳單,如購(gòu)買(mǎi)詳單,維修詳單等為準(zhǔn);</p><p>  數(shù)據(jù)的正確性需經(jīng)過(guò)多方核查。</p><p>  自動(dòng)對(duì)于各種信息數(shù)據(jù)進(jìn)行備份。</p&

35、gt;<p>  報(bào)表生成與紙質(zhì)、電子報(bào)表相一致。</p><p><b>  輸入輸出要求</b></p><p><b>  輸入:</b></p><p>  輸入數(shù)據(jù)數(shù)字信息符合輸入精度要求</p><p>  輸入可選信息完全使用下拉框完成</p><p&

36、gt;<b>  輸出:</b></p><p>  輸出數(shù)據(jù)符合輸出精度要求</p><p>  輸出數(shù)據(jù)格式字體大小統(tǒng)一</p><p><b>  3.4故障處理要求</b></p><p>  當(dāng)服務(wù)器死機(jī)時(shí),要求服務(wù)器必須在2小時(shí)內(nèi)恢復(fù),數(shù)據(jù)必須在3小時(shí)內(nèi)恢復(fù)。</p>&l

37、t;p><b>  運(yùn)行環(huán)境規(guī)定</b></p><p><b>  設(shè)備</b></p><p>  運(yùn)行該軟件所需要的硬設(shè)備,包括:</p><p>  處理器型號(hào):Intel Core2;</p><p>  內(nèi)存容量:1.00G;</p><p><b&g

38、t;  硬盤(pán):120G</b></p><p><b>  支持軟件</b></p><p>  操作系統(tǒng):windows2000操作系統(tǒng)以及以上版本;</p><p>  數(shù)據(jù)庫(kù):Sql Server 2008 R2版數(shù)據(jù)庫(kù)</p><p>  MyEclipse開(kāi)發(fā)工具</p><p&

39、gt;<b>  5文化和政策需求</b></p><p>  不得引起用戶文化上的沖突,不能出現(xiàn)敏感和不應(yīng)出現(xiàn)的字眼和圖片。符合國(guó)家基本法律法規(guī)以及最新的國(guó)家營(yíng)銷以及市場(chǎng)戰(zhàn)略上的相關(guān)政策,不得與我國(guó)社會(huì)主義政策相違背。</p><p><b>  三:軟件設(shè)計(jì)</b></p><p>  1實(shí)驗(yàn)室設(shè)備管理系統(tǒng)模塊結(jié)構(gòu)圖&

40、lt;/p><p><b>  2界面設(shè)計(jì)</b></p><p><b>  登錄界面</b></p><p> ?。?)任意注冊(cè)管理人員登錄后界面</p><p>  3實(shí)驗(yàn)室設(shè)備管理系統(tǒng)數(shù)據(jù)設(shè)計(jì)</p><p>  4管理系統(tǒng)其中的3個(gè)模塊的詳細(xì)設(shè)計(jì)</p>

41、<p><b>  上級(jí)領(lǐng)導(dǎo)操作模塊</b></p><p> ?、谠O(shè)備管理員操作模塊</p><p><b>  統(tǒng)功能操作模塊</b></p><p><b>  5數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b>  模型圖</b></p&

42、gt;<p><b>  E-R圖</b></p><p><b>  物理實(shí)現(xiàn)</b></p><p><b>  實(shí)體表</b></p><p>  用戶表(UserInfo)</p><p>  倉(cāng)庫(kù)管理員表(StoreManagerInfo)</p&

43、gt;<p>  【3】實(shí)驗(yàn)室管理員表(StoreManagerInfo)</p><p>  【4】倉(cāng)庫(kù)表(StoreInfo)</p><p>  【5】實(shí)驗(yàn)室表(LabInfo)</p><p>  【5】設(shè)備表(EquipInfo)</p><p>  【6】固定資產(chǎn)表(PropertyInfo)</p>

44、<p><b>  (2) 關(guān)系表</b></p><p>  入庫(kù)登記表(InInfo)</p><p>  【2】出庫(kù)登記表(OutInfo)</p><p><b>  (3) 記錄表</b></p><p>  【1】購(gòu)買(mǎi)申請(qǐng)表(BuyApplyInfo)</p>&

45、lt;p>  【2】維修申請(qǐng)表(MaintainInfo)</p><p>  【3】購(gòu)買(mǎi)登記表(BuyInfo)</p><p>  【4】維修記錄表(MaintainInfo)</p><p>  【5】報(bào)廢記錄表(DiscardInfo)</p><p>  【6】 購(gòu)買(mǎi)審核表(BuyCheckInfo)</p>&

46、lt;p>  【7】維修審核表(MaintainCheckInfo)</p><p><b>  四、編碼與單元測(cè)試</b></p><p><b>  1、用戶登錄界面:</b></p><p>  package com.niit.gui_event;</p><p>  import c

47、om.niit.logical.*;</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  public class Login extends JFrame {</p>

48、<p><b>  /**</b></p><p><b>  * </b></p><p><b>  */</b></p><p>  private static final long serialVersionUID = 1L;</p><p><b&g

49、t;  // 控件聲明</b></p><p>  private JLabel lPosition, lName, lPasswd, lTitle;</p><p>  private JComboBox cbPosition, cbName;</p><p>  private JPasswordField pfPasswd;</p>

50、<p>  private JButton bConfirm, bCancel;</p><p>  private Container con;</p><p>  private JPanel[] pCon;</p><p>  private User info;</p><p>  public Login() {</

51、p><p>  super("用戶登錄");</p><p><b>  // 控件初始化</b></p><p>  con = getContentPane();</p><p>  lPosition = new JLabel("身 份:");</p><p&

52、gt;  lName = new JLabel("用戶名:");</p><p>  lPasswd = new JLabel("密 碼:");</p><p>  lTitle = new JLabel("實(shí)驗(yàn)室設(shè)備管理系統(tǒng)");</p><p>  lTitle.setForeground(Color.

53、RED);</p><p>  pfPasswd = new JPasswordField();</p><p>  bConfirm = new JButton("確定");</p><p>  bCancel = new JButton("取消");</p><p>  String[] aPosi

54、tion = new String[] { "系統(tǒng)管理員", "倉(cāng)庫(kù)管理員", "實(shí)驗(yàn)室管理員",</p><p>  "購(gòu)買(mǎi)登記員", "上級(jí)領(lǐng)導(dǎo)" };</p><p>  cbPosition = new JComboBox(aPosition);</p><p&g

55、t;  int index = cbPosition.getSelectedIndex();</p><p>  if (index == 0) {</p><p>  info = new Administration();</p><p>  } else if (index == 1) {</p><p>  info = new St

56、oreManager();</p><p>  } else if (index == 2) {</p><p>  info = new LabManager();</p><p>  } else if (index == 3) {</p><p>  info = new BuyManager();</p><p&g

57、t;<b>  } else {</b></p><p>  info = new OverLeader();</p><p><b>  }</b></p><p><b>  // 數(shù)組初始化</b></p><p>  pCon = new JPanel[5];</

58、p><p>  String[] cName = info.getIdByPosition(info);</p><p>  cbName = new JComboBox(cName);</p><p>  for (int i = 0; i < pCon.length; i++)</p><p>  pCon[i] = new JPane

59、l();</p><p><b>  }</b></p><p>  public void launch() {</p><p><b>  // 控件添加</b></p><p>  con.setLayout(new GridLayout(5, 1));</p><p>

60、;  pCon[0].add(lPosition);</p><p>  pCon[0].add(cbPosition);</p><p>  pCon[1].add(lName);</p><p>  pCon[1].add(cbName);</p><p>  pCon[2].add(lPasswd);</p><p&

61、gt;  pCon[2].add(pfPasswd);</p><p>  pCon[3].add(bConfirm);</p><p>  pCon[3].add(bCancel);</p><p>  pCon[4].add(lTitle);</p><p>  add(pCon[4]);</p><p>  fo

62、r (int i = 0; i < pCon.length - 1; i++)</p><p>  con.add(pCon[i]);</p><p><b>  // 控件設(shè)置</b></p><p>  pfPasswd.setEchoChar('*');</p><p>  pfPasswd.

63、setColumns(10);</p><p>  setBounds(400, 100, 400, 400);</p><p>  setVisible(true);</p><p>  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p><b>  // 添加監(jiān)聽(tīng)器&l

64、t;/b></p><p>  cbPosition.addActionListener(new ListenAction());</p><p>  bConfirm.addActionListener(new ListenAction());</p><p>  bCancel.addActionListener(new ListenAction());&

65、lt;/p><p>  pfPasswd.addKeyListener(new ListenKey());</p><p><b>  }</b></p><p>  // 定義按鈕,下拉框處理器</p><p>  class ListenAction implements ActionListener {</p&g

66、t;<p>  public void actionPerformed(ActionEvent e) {</p><p>  if (e.getSource() == bConfirm) {//點(diǎn)擊確定按鈕</p><p>  info.setuId(cbName.getSelectedItem().toString());</p><p>  inf

67、o.setuPasswd(new String(pfPasswd.getPassword()));</p><p>  info.setuPosition(cbPosition.getSelectedItem().toString());</p><p>  if (info.login(info)) {</p><p>  new Main(info).launc

68、h();</p><p>  setVisible(false);</p><p>  pfPasswd.setText(null);</p><p><b>  } else {</b></p><p>  JOptionPane.showMessageDialog(new Login(), "用戶名,密碼或

69、身份錯(cuò)誤");</p><p>  pfPasswd.setText(null);</p><p><b>  }</b></p><p>  } else if (e.getSource() == cbPosition) {//身份下拉框改變時(shí)</p><p>  int index = cbPosition

70、.getSelectedIndex();</p><p>  if (index == 0) {</p><p>  info = new Administration();</p><p>  } else if (index == 1) {</p><p>  info = new StoreManager();</p>&

71、lt;p>  } else if (index == 2) {</p><p>  info = new LabManager();</p><p>  } else if (index == 3) {</p><p>  info = new BuyManager();</p><p><b>  } else {</

72、b></p><p>  info = new OverLeader();</p><p><b>  }</b></p><p>  String[] cName = info.getIdByPosition(info);</p><p><b>  //刷新用戶名列表</b></p&

73、gt;<p>  cbName.removeAllItems();</p><p>  for (int i = 0; i < cName.length; i++)</p><p>  cbName.addItem(cName[i]);</p><p><b>  } else {</b></p><p&

74、gt;  System.exit(0);</p><p><b>  }</b></p><p>  pfPasswd.setText(null);</p><p><b>  }</b></p><p><b>  }</b></p><p><

75、b>  //定義鍵盤(pán)處理器</b></p><p>  class ListenKey extends KeyAdapter {</p><p>  @SuppressWarnings("static-access")</p><p>  public void keyPressed(KeyEvent e) {</p>

76、;<p>  if (e.getKeyText(e.getKeyCode()).compareToIgnoreCase("ENTER") == 0) {</p><p>  bConfirm.doClick();</p><p><b>  }</b></p><p><b>  }</b>

77、;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  2、主界面:</b></p><p>  package com.niit.gu

78、i_event;</p><p>  import javax.swing.*;</p><p>  import com.niit.logical.*;</p><p>  import java.awt.event.*;</p><p>  public class Main extends JFrame {</p><

79、;p><b>  /**</b></p><p><b>  * </b></p><p><b>  */</b></p><p>  private static final long serialVersionUID = 1L;</p><p>  private

80、JTabbedPane tp;</p><p>  private JPanel p[];</p><p>  private User info;</p><p>  public Main() {</p><p>  super("實(shí)驗(yàn)室設(shè)備管理系統(tǒng)");</p><p>  tp = new

81、JTabbedPane();</p><p>  p = new JPanel[8];</p><p><b>  }</b></p><p>  public Main(User info){</p><p><b>  this();</b></p><p>  this

82、.info=info;</p><p>  p[0] = new UserManage();</p><p>  p[1] = new EquipIn();</p><p>  p[2] = new EquipOut();</p><p>  p[3] = new Register(info);</p><p>  p

83、[4] = new Apply(info);</p><p>  p[5] = new Checks(info);</p><p>  p[6]= new Search();</p><p>  p[7]=new PasswdModyfy(info);</p><p><b>  }</b></p><

84、;p>  public void launch() {</p><p>  tp.addTab("用戶管理", p[0]);</p><p>  tp.addTab("設(shè)備入庫(kù)", p[1]);</p><p>  tp.addTab("設(shè)備出庫(kù)", p[2]);</p><p&g

85、t;  tp.addTab("設(shè)備登記", p[3]);</p><p>  tp.addTab("設(shè)備申請(qǐng)", p[4]);</p><p>  tp.addTab("審核申請(qǐng)", p[5]);</p><p>  tp.addTab("統(tǒng)計(jì)查詢", p[6]);</p>

86、<p>  tp.addTab("個(gè)人信息維護(hù)", p[7]);</p><p>  if(info instanceof Administration){</p><p>  tp.setEnabledAt(1, false);</p><p>  tp.setEnabledAt(2, false);</p><

87、p>  tp.setEnabledAt(3, false);</p><p>  tp.setEnabledAt(4, false);</p><p>  tp.setEnabledAt(5, false);</p><p>  tp.setEnabledAt(6, false);</p><p>  }else if(info ins

88、tanceof StoreManager){</p><p>  tp.setEnabledAt(0, false);</p><p>  tp.setEnabledAt(3, false);</p><p>  tp.setEnabledAt(5, false);</p><p>  tp.setSelectedIndex(1);</

89、p><p>  }else if(info instanceof LabManager){</p><p>  tp.setEnabledAt(0, false);</p><p>  tp.setEnabledAt(1, false);</p><p>  tp.setEnabledAt(2, false);</p><p&

90、gt;  tp.setEnabledAt(5, false);</p><p>  tp.setSelectedIndex(3);</p><p>  }else if(info instanceof BuyManager){</p><p>  tp.setEnabledAt(0, false);</p><p>  tp.setEnabl

91、edAt(1, false);</p><p>  tp.setEnabledAt(2, false);</p><p>  tp.setEnabledAt(4, false);</p><p>  tp.setEnabledAt(5, false);</p><p>  tp.setSelectedIndex(3);</p>

92、<p>  }else if(info instanceof OverLeader){</p><p>  tp.setEnabledAt(0, false);</p><p>  tp.setEnabledAt(1, false);</p><p>  tp.setEnabledAt(2, false);</p><p>  tp

93、.setEnabledAt(3, false);</p><p>  tp.setEnabledAt(4, false);</p><p>  tp.setSelectedIndex(5);</p><p><b>  }</b></p><p>  getContentPane().add(tp);</p>

94、<p>  setSize(1280, 780);</p><p>  setVisible(true);</p><p>  addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){</p><p>  

95、System.exit(0);</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

96、 3、設(shè)備申請(qǐng):</b></p><p>  package com.niit.gui_event;</p><p>  import javax.swing.*;</p><p>  import com.niit.logical.*;</p><p>  import java.awt.*;</p><p&

97、gt;  import java.awt.event.*;</p><p>  import com.niit.data.*;</p><p>  import java.sql.*;</p><p>  public class MaintainApply extends JPanel {</p><p><b>  /**<

98、;/b></p><p><b>  * </b></p><p><b>  */</b></p><p>  private static final long serialVersionUID = 1L;</p><p>  private JLabel lpId;</p>

99、<p>  private JTextField tf;</p><p>  private JButton bApply, bAgain, bDelete;</p><p>  private JPanel pUp, pDown;</p><p>  private JTable t;</p><p>  private JSc

100、rollPane jsp;</p><p>  private User user;</p><p>  private LabManager lm;</p><p>  private MaintainApplyData maInfo;</p><p>  public MaintainApply(User user) {</p>

101、;<p>  super(new BorderLayout());</p><p>  this.user = user;</p><p>  lpId = new JLabel("固定資產(chǎn)編號(hào)");</p><p>  tf = new JTextField();</p><p>  tf.setColum

102、ns(15);</p><p>  bApply = new JButton("申請(qǐng)");</p><p>  bAgain = new JButton("重置");</p><p>  bDelete = new JButton("取消申請(qǐng)");</p><p>  pUp = n

103、ew JPanel();</p><p>  pDown = new JPanel();</p><p>  lm = new LabManager();</p><p>  maInfo = new MaintainApplyData();</p><p>  String[] head = new String[] { "序列號(hào)

104、", "固定資產(chǎn)編號(hào)", "申請(qǐng)人", "申請(qǐng)時(shí)間" };</p><p>  Object[][] data = lm.getMaintainApplyAll();</p><p>  t = new JTable(data, head);</p><p>  t.setRowHeight(25

105、);</p><p>  jsp = new JScrollPane(t);</p><p>  pUp.add(lpId);</p><p>  pUp.add(tf);</p><p>  pUp.add(bApply);</p><p>  pUp.add(bAgain);</p><p>

106、;  pDown.add(bDelete);</p><p>  add(pUp, BorderLayout.NORTH);</p><p>  add(jsp, BorderLayout.CENTER);</p><p>  add(pDown, BorderLayout.SOUTH);</p><p><b>  // 添加監(jiān)聽(tīng)

107、器</b></p><p>  bApply.addActionListener(new ListenButton());</p><p>  bAgain.addActionListener(new ListenButton());</p><p>  bDelete.addActionListener(new ListenButton());<

108、/p><p><b>  }</b></p><p><b>  // 處理器</b></p><p>  class ListenButton implements ActionListener {</p><p>  public void actionPerformed(ActionEvent e

109、) {</p><p>  if (e.getSource() == bApply) {// 申請(qǐng)按鈕</p><p>  maInfo.setpId(new Integer(tf.getText()));</p><p>  maInfo.setuId(user.getuId());</p><p>  maInfo.setDate(new

110、 Date(System.currentTimeMillis()));</p><p>  lm.add(maInfo);</p><p>  bAgain.doClick();</p><p>  } else if (e.getSource() == bAgain) {// 重置按鈕</p><p>  tf.setText(null);

111、</p><p>  } else if (e.getSource() == bDelete) {// 刪除按鈕</p><p>  int selectedIndex = -1;</p><p>  for (int i = 0; i < t.getRowCount(); i++) {</p><p>  if (t.isRowSel

112、ected(i) == true)</p><p>  selectedIndex = i;</p><p><b>  }</b></p><p>  if (selectedIndex == -1) {</p><p>  JOptionPane.showMessageDialog(null, "請(qǐng)先選擇某

113、一項(xiàng)!");</p><p><b>  return;</b></p><p><b>  } else {</b></p><p>  int option = JOptionPane.showConfirmDialog(null, "是否確定刪除?",</p><p&

114、gt;  "提示", JOptionPane.YES_NO_CANCEL_OPTION);</p><p>  if (option == JOptionPane.YES_OPTION) {</p><p>  maInfo.setId(new Integer(t.getValueAt(selectedIndex, 0)</p><p>  .t

115、oString()));</p><p>  lm.delete(maInfo);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // 刷新數(shù)

116、據(jù)表</b></p><p>  remove(jsp);</p><p>  String[] head = new String[] { "序列號(hào)", "固定資產(chǎn)編號(hào)", "申請(qǐng)人", "申請(qǐng)時(shí)間" };</p><p>  Object[][] data = lm.ge

117、tMaintainApplyAll();</p><p>  t = new JTable(data, head);</p><p>  t.setRowHeight(25);</p><p>  t.validate();</p><p>  jsp = new JScrollPane(t);</p><p>  a

118、dd(jsp, BorderLayout.CENTER);</p><p>  validate();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

119、t;  4、設(shè)備入庫(kù):</b></p><p>  package com.niit.gui_event;</p><p>  import java.awt.BorderLayout;</p><p>  import java.awt.Cursor;</p><p>  import javax.swing.*;</p&

120、gt;<p>  import java.awt.*;</p><p>  import com.niit.logical.*;</p><p>  import java.awt.event.*;</p><p>  import java.sql.Date;</p><p>  import com.niit.data.*;

121、</p><p>  public class EquipIn extends JPanel {</p><p><b>  /**</b></p><p><b>  * </b></p><p><b>  */</b></p><p>  priv

122、ate static final long serialVersionUID = 1L;</p><p>  private JLabel leId, lsId, liNum, lPara;</p><p>  private JTextField tfiNum;</p><p>  private JComboBox cbeId, cbsId;</p>

123、<p>  private JButton bIn, bAgain, bDelete;</p><p>  private JPanel pUp, pDown;</p><p>  private JScrollPane jsp;</p><p>  private JTable t;</p><p>  private Sto

124、reManager sma;</p><p>  private InData inInfo;</p><p>  public EquipIn() {</p><p>  super(new BorderLayout());// 設(shè)置布局管理器</p><p><b>  // 控件初始化</b></p>

125、<p>  leId = new JLabel("設(shè)備編號(hào)");</p><p>  lsId = new JLabel("倉(cāng)庫(kù)編號(hào)");</p><p>  liNum = new JLabel("入庫(kù)數(shù)量");</p><p>  lPara = new JLabel("參數(shù)設(shè)置&

126、quot;);</p><p>  lPara.setForeground(Color.RED);</p><p>  tfiNum = new JTextField();</p><p>  tfiNum.setColumns(10);</p><p>  bIn = new JButton("入庫(kù)");</p&g

127、t;<p>  bAgain = new JButton("重置");</p><p>  bDelete = new JButton("刪除");</p><p>  pUp = new JPanel();</p><p>  pDown = new JPanel();</p><p>

128、  sma = new StoreManager();</p><p>  inInfo = new InData();</p><p>  String[] eId = sma.geteId();</p><p>  String[] sId = sma.getsIdAll();</p><p>  cbeId = new JComboBo

129、x(eId);</p><p>  cbsId = new JComboBox(sId);</p><p>  String[] head = new String[] { "設(shè)備編號(hào)", "倉(cāng)庫(kù)編號(hào)", "入庫(kù)時(shí)間", "入庫(kù)數(shù)量" };</p><p>  Object[][] da

130、ta = sma.getInAll();</p><p>  t = new JTable(data, head);</p><p>  t.setRowHeight(25);</p><p>  jsp = new JScrollPane(t);</p><p><b>  // 添加控件</b></p>

131、<p>  pUp.add(leId);</p><p>  pUp.add(cbeId);</p><p>  pUp.add(lsId);</p><p>  pUp.add(cbsId);</p><p>  pUp.add(liNum);</p><p>  pUp.add(tfiNum);<

132、/p><p>  pUp.add(bIn);</p><p>  pUp.add(bAgain);</p><p>  pUp.add(lPara);</p><p>  pDown.add(bDelete);</p><p>  add(pUp, BorderLayout.NORTH);</p><p

133、>  add(jsp, BorderLayout.CENTER);</p><p>  add(pDown, BorderLayout.SOUTH);</p><p><b>  // 添加監(jiān)聽(tīng)器</b></p><p>  bIn.addActionListener(new ListenButton());</p><

134、;p>  bAgain.addActionListener(new ListenButton());</p><p>  bDelete.addActionListener(new ListenButton());</p><p>  lPara.addMouseListener(new ListenMouse());</p><p><b>  }

135、</b></p><p>  // 定義按鈕處理器</p><p>  class ListenButton implements ActionListener {</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if (e.getSource()

溫馨提示

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