版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《軟件工程課程設(shè)計(jì)》報(bào)告</p><p> 項(xiàng)目題目:設(shè)備管理系統(tǒng) </p><p> 班 級(jí): </p><p> 組 長(zhǎng): </p>
2、<p> 組員姓名: </p><p><b> 說(shuō) 明</b></p><p> 一、設(shè)計(jì)項(xiàng)目:設(shè)備管理系統(tǒng)</p><p><b> 二、小組成員</b></p><p><b> 三、任務(wù)分配情況
3、</b></p><p><b> 目 錄</b></p><p> 1. 項(xiàng)目開(kāi)發(fā)目的和意義2</p><p> 1.1 項(xiàng)目來(lái)源2</p><p> 1.2 項(xiàng)目開(kāi)發(fā)目的和意義2</p><p> 1.3 項(xiàng)目完成情況2</p><p>
4、; 2. 項(xiàng)目開(kāi)發(fā)相關(guān)技術(shù)及方法2</p><p> 2.1 開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具2</p><p> 2.2 相關(guān)技術(shù)及方法2</p><p> 3. 系統(tǒng)需求分析、設(shè)計(jì)及實(shí)現(xiàn)2</p><p> 3.1 系統(tǒng)需求分析2</p><p> 3.2 總體設(shè)計(jì)方法2</p><p
5、> 3.3 詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)2</p><p> 3.3.1系統(tǒng)數(shù)據(jù)流圖2</p><p> 3.3.2系統(tǒng)數(shù)據(jù)實(shí)體圖以及E-R圖2</p><p><b> 實(shí)體圖2</b></p><p><b> E-R圖2</b></p><p> 3.3.
6、3數(shù)據(jù)庫(kù)表結(jié)表2</p><p> 3.3.4系統(tǒng)界面2</p><p> 3.3.5系統(tǒng)測(cè)試2</p><p><b> 4. 實(shí)踐總結(jié)2</b></p><p> 4.1 項(xiàng)目小結(jié)2</p><p> 4.2 實(shí)踐感想2</p><p><b
7、> 參考文獻(xiàn)2</b></p><p><b> 附錄:詳細(xì)設(shè)計(jì)2</b></p><p><b> ?。ㄒ唬┙缑嬖O(shè)計(jì)2</b></p><p><b> ?。ǘ┏绦蛟O(shè)計(jì)2</b></p><p> 1. 項(xiàng)目開(kāi)發(fā)目的和意義</p>
8、<p><b> 1.1 項(xiàng)目來(lái)源</b></p><p> 本項(xiàng)目生產(chǎn)型企業(yè)中存在大量的設(shè)備,如何對(duì)這些設(shè)備進(jìn)行全面管理是企業(yè)管理的重要內(nèi)容。項(xiàng)目擬研發(fā)基于B/S架構(gòu)的設(shè)備管理系統(tǒng),包括設(shè)備申購(gòu)、設(shè)備臺(tái)賬、車(chē)間設(shè)備使用、使用狀況查詢分析四部分組成。其中設(shè)備申購(gòu)是一個(gè)過(guò)程,包括設(shè)備申請(qǐng)采購(gòu)、啟用和封存、報(bào)廢過(guò)程。設(shè)備臺(tái)賬是對(duì)所有的設(shè)備建立的一個(gè)臺(tái)賬,并提供設(shè)備查詢功能。車(chē)間
9、設(shè)備使用主要是記錄設(shè)備使用過(guò)程中的各種情況,包括日常維修、設(shè)備交接班記錄等。使用狀況查詢分析是根據(jù)設(shè)備臺(tái)賬,來(lái)查詢車(chē)間設(shè)備使用的各種情況,進(jìn)行一定的分析。</p><p> 1.2 項(xiàng)目開(kāi)發(fā)目的和意義</p><p> 隨著我國(guó)國(guó)民經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展和具有中國(guó)特色的社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制的迅速完善,各個(gè)行業(yè)都在積極使用現(xiàn)代化的手段,不斷改善服務(wù)質(zhì)量,提高工作效率,這些都在很大程度上給企業(yè)
10、提出越來(lái)越嚴(yán)峻的挑戰(zhàn),對(duì)企業(yè)體系在企業(yè)管理水平以及優(yōu)質(zhì)服務(wù)上都提出更高的要求。建設(shè)一個(gè)科學(xué)高效的信息管理系統(tǒng)是解決這一問(wèn)題的必經(jīng)之路。企業(yè)設(shè)備管理系統(tǒng)是一個(gè)企業(yè)單位不可缺少的部分,它對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以企業(yè)設(shè)備管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理文件信息,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和
11、維護(hù)都帶來(lái)了不少的困難。隨著計(jì)算機(jī)技術(shù)的飛速的發(fā)展,計(jì)算機(jī)在企業(yè)管理中的應(yīng)用越來(lái)越普及,企業(yè)要想生存和發(fā)展,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗之地,沒(méi)有現(xiàn)代化的管理是萬(wàn)萬(wàn)不行的,企業(yè)設(shè)備管理的全面自動(dòng)化、信息化則是其中極其重要的部分。為了加快設(shè)備管理自動(dòng)化的步伐,提高企業(yè)設(shè)備的管理業(yè)務(wù)處理效率,建立企業(yè)設(shè)備管理系統(tǒng)已變得十分必要</p><p> 1.3 項(xiàng)目完成情況</p><p> 本
12、項(xiàng)目可以有效地管理設(shè)備資源、維護(hù)設(shè)備的正常運(yùn)轉(zhuǎn),從而提高工作效率。將管理任務(wù)分成小塊,落實(shí)到個(gè)人并能隨時(shí)查詢?cè)O(shè)備當(dāng)前情況和歷史情況,對(duì)設(shè)備的可靠性分析有直接作用,使管理人員從手工計(jì)算、統(tǒng)計(jì)工作中解脫出來(lái)。</p><p> 2. 項(xiàng)目開(kāi)發(fā)相關(guān)技術(shù)及方法</p><p> 本系統(tǒng)是以java語(yǔ)言作為前臺(tái)開(kāi)發(fā)工具,以SQL Server 2008作為后臺(tái)數(shù)據(jù)庫(kù)實(shí)現(xiàn)信息管理。</p&g
13、t;<p> 2.1 開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具</p><p> a) 操作系統(tǒng): Windows 7, Windows XP</p><p><b> b) 使用軟件:</b></p><p> 數(shù)據(jù)庫(kù): SQL Server 2008</p><p> 建模工具:Rational Rose<
14、/p><p> 文檔編寫(xiě):Microsoft Word 2007.</p><p> c) 開(kāi)發(fā)語(yǔ)言:JAVA</p><p> 2.2 相關(guān)技術(shù)及方法</p><p> struts,spring,hibernate+數(shù)據(jù)庫(kù)技術(shù)+JS,AJAX,CSS</p><p> 3. 系統(tǒng)需求分析、設(shè)計(jì)及實(shí)現(xiàn)</
15、p><p> 隨著科學(xué)技術(shù)的發(fā)展,社會(huì)進(jìn)步,計(jì)算機(jī)技術(shù)迅速的發(fā)展,設(shè)備管理的方法也日新月異,以前全是由人工管理的方法現(xiàn)存在很多的缺點(diǎn):管理效率低,勞動(dòng)強(qiáng)度大,信息處理速度低而且準(zhǔn)確率也不夠令人滿意。為了提高設(shè)備管理效率,減輕勞動(dòng)強(qiáng)度,提高信息處理速度和準(zhǔn)確性,為設(shè)備管理員提供更方便、科學(xué)的服務(wù)項(xiàng)目。我選擇了由計(jì)算機(jī)來(lái)設(shè)計(jì)一個(gè)設(shè)備管理系統(tǒng)的方案。讓計(jì)算機(jī)對(duì)設(shè)備進(jìn)行自動(dòng)管理,設(shè)備管理員可以直接在計(jì)算機(jī)上實(shí)現(xiàn)設(shè)備信息的管
16、理,并能在一定程度上實(shí)現(xiàn)自動(dòng)化。通過(guò)對(duì)一些企業(yè)進(jìn)行的實(shí)際深入調(diào)研,我開(kāi)發(fā)出這套功能比較完整、通用性比較強(qiáng)、成本低廉的《企業(yè)設(shè)備管理系統(tǒng)》。</p><p> 3.1 系統(tǒng)需求分析</p><p> 現(xiàn)在市場(chǎng)上流行的《企業(yè)設(shè)備管理系統(tǒng)》之類(lèi)的軟件通用性、靈活性稍微要差一些,不能完全提供所需的要求。另外,該系統(tǒng)的價(jià)格一般相當(dāng)昂貴,一般的中小型企業(yè)承受不了昂貴的支付能力。所以應(yīng)該根據(jù)企業(yè)的具
17、體情況設(shè)計(jì)適合企業(yè)的軟件系</p><p><b> 3-0數(shù)據(jù)流程圖</b></p><p> 3.2 總體設(shè)計(jì)方法</p><p><b> 總體框圖</b></p><p> 整個(gè)設(shè)備管理系統(tǒng)設(shè)計(jì)方案,說(shuō)明如下:</p><p> 各種圖形以統(tǒng)一的接口安插在整
18、體調(diào)度模塊之上,如圖,</p><p> 3.3 詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)</p><p> 共分六個(gè)模塊,各模塊內(nèi)容如下:</p><p> 設(shè)備的基本信息管理:設(shè)備名稱、規(guī)格/型號(hào)、產(chǎn)地、價(jià)格、原臺(tái)賬數(shù)、購(gòu)入時(shí)間、是否在建、整機(jī)、使用時(shí)間、折價(jià)年限、設(shè)備存放車(chē)間、現(xiàn)臺(tái)賬數(shù)、車(chē)間號(hào)、新開(kāi)發(fā)、性能、憑證號(hào)數(shù)、設(shè)備原號(hào)、備注。</p><p>
19、設(shè)備購(gòu)置申請(qǐng)管理:設(shè)備名稱、型號(hào)規(guī)格、數(shù)量、要求進(jìn)貨時(shí)間、申請(qǐng)理由、申請(qǐng)部門(mén)、申請(qǐng)時(shí)間、主要技術(shù)要求。</p><p> 設(shè)備啟用和封存管理:設(shè)備名稱、設(shè)備編號(hào)、型號(hào)/規(guī)格、封存地點(diǎn)、封存日期、啟封日期、技術(shù)狀況隨機(jī)附件、備注,申請(qǐng)?jiān)O(shè)備封存理由(啟封)原因、使用部門(mén)意見(jiàn)、設(shè)備科意見(jiàn)、制造部意見(jiàn)、副總經(jīng)理批準(zhǔn)、申請(qǐng)單位負(fù)責(zé)人。</p><p> 設(shè)備報(bào)廢管理:設(shè)備名稱、設(shè)備編號(hào)、型號(hào)/規(guī)
20、格、安裝地點(diǎn)、申請(qǐng)?jiān)O(shè)備報(bào)廢原因、備注,報(bào)廢設(shè)備處置方案、使用部門(mén)負(fù)責(zé)人、設(shè)備科、制造部、副總經(jīng)理審批。</p><p> 日常維修管理:日期、機(jī)床編號(hào)、責(zé)任人、檢查人。輸入完成后,自動(dòng)生成上月21日到本月20日的監(jiān)督內(nèi)容子表,并逐條輸入每日監(jiān)督內(nèi)容,分成包潔區(qū)衛(wèi)生(生產(chǎn)區(qū)域衛(wèi)生)類(lèi):地面、墻壁、玻璃、工具箱;設(shè)備類(lèi):機(jī)床外表、導(dǎo)軌絲桿清潔無(wú)拉傷加油、其他;定置擺放類(lèi):工裝刀量具擺放、余料擺放、其他;及其他規(guī)章制
21、度遵守情況、處置措施、檢查人、監(jiān)督人。</p><p> 設(shè)備交接記錄管理:輸入設(shè)備編號(hào),自動(dòng)根據(jù)設(shè)備檢查項(xiàng)目表中得到所有項(xiàng)目及分?jǐn)?shù)生成多條記錄,自動(dòng)記錄日期、設(shè)備編號(hào)、檢查項(xiàng)目及狀況、標(biāo)準(zhǔn)、分?jǐn)?shù),選擇班次(兩班制的,1表示白班,2表示夜班;三班制的,1表示白班1,2表示白班2,3表示夜班),輸入各項(xiàng)目的班組自查結(jié)果,自動(dòng)生成每日評(píng)分,記錄交班人、接班人,如果每日評(píng)分低于合格分?jǐn)?shù)的,需要輸入車(chē)間處理結(jié)果和監(jiān)督抽
22、查結(jié)果。</p><p> 3.3.1 系統(tǒng)數(shù)據(jù)流圖 </p><p> 設(shè)備管理系統(tǒng)數(shù)據(jù)流圖</p><p> 圖3-1 設(shè)備管理系統(tǒng)第0層數(shù)據(jù)流圖</p><p> 圖3-2 設(shè)備管理系統(tǒng)第1層數(shù)據(jù)流圖</p><p> 圖3-3設(shè)備管理系統(tǒng)第2層數(shù)據(jù)流圖</p><p><
23、b> 設(shè)備維修數(shù)據(jù)流圖</b></p><p> 圖3-4設(shè)備維修數(shù)據(jù)流圖</p><p><b> 設(shè)備報(bào)廢數(shù)據(jù)流圖</b></p><p> 圖3-5設(shè)備報(bào)廢數(shù)據(jù)流圖</p><p> 3.3.2系統(tǒng)數(shù)據(jù)實(shí)體圖以及E-R圖</p><p><b> 實(shí)體
24、圖</b></p><p><b> 圖3-6設(shè)備實(shí)體圖</b></p><p> 圖3-7 設(shè)備配件實(shí)體</p><p><b> 系統(tǒng)E-R圖</b></p><p> 圖3-8 系統(tǒng)E-R圖</p><p> 3.3.3數(shù)據(jù)庫(kù)表結(jié)表</p&g
25、t;<p> 表3-1設(shè)備基本信息表</p><p> 表3-2設(shè)備購(gòu)置申請(qǐng)表</p><p> 表3-3設(shè)備啟用和封存表</p><p><b> 表3-4設(shè)備報(bào)廢表</b></p><p> 表3-5設(shè)備維修記錄表</p><p> 表3-6設(shè)備交接記錄表</p
26、><p><b> 3.3.4系統(tǒng)界面</b></p><p> 圖3-9用戶信息管理界面</p><p> 圖3-10設(shè)備基本信息錄入界面</p><p> 圖3-11設(shè)備維修記錄界面</p><p> 圖3-12報(bào)廢管理界面</p><p><b>
27、3.3.5系統(tǒng)測(cè)試</b></p><p><b> 白盒測(cè)試:</b></p><p> 程序代碼:(管理員注冊(cè)模塊)</p><p> String name = this.yonghuming.getText();//用戶名</p><p> String mima = new String(j
28、PasswordField1.getPassword());//密碼</p><p> String qudmima = new String(jPasswordField2.getPassword());//確定密碼</p><p> String selecturl = "select * from guanli where 用戶名 = '"+name+
29、"'";</p><p> regetime=new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss" ,Locale.SIMPLIFIED_CHINESE);</p><p> String strtime = regetime.format(new Date());</p><p>
30、 String regeStr = "insert into guanli values ('"+name+"','"+mima+"','"+strtime+"')";</p><p> if(name.equals("")) {</p><p
31、> JOptionPane.showMessageDialog(this,"用戶名不能為空","對(duì)不起!",JOptionPane.INFORMATION_MESSAGE);</p><p><b> } else {</b></p><p><b> try {</b></p>
32、<p> rs = stmt.executeQuery(selecturl);</p><p> if(rs.next())</p><p> JOptionPane.showMessageDialog(this,"此用戶已注冊(cè)","對(duì)不起!",JOptionPane.INFORMATION_MESSAGE);</p>
33、<p> else if(mima.equals(qudmima)) {</p><p> stmt.executeUpdate(regeStr);</p><p> this.dispose();</p><p> JOptionPane.showMessageDialog(this,"注冊(cè)成功","你好 !&quo
34、t;,JOptionPane.INFORMATION_MESSAGE);</p><p> stmt.close();</p><p> con.close(); </p><p><b> } else {</b></p><p> JOptionPane.showMessageDialog(this,&quo
35、t;兩次密碼不一致","對(duì)不起!",JOptionPane.INFORMATION_MESSAGE);</p><p><b> }</b></p><p> } catch(SQLException se) {</p><p> se.printStackTrace();</p><p&
36、gt;<b> } </b></p><p><b> }</b></p><p><b> 流程圖</b></p><p> 1. 語(yǔ)句覆蓋 1)主要特點(diǎn):語(yǔ)句覆蓋是最起碼的結(jié)構(gòu)覆蓋要求,語(yǔ)句覆蓋要求設(shè)計(jì)足夠多的測(cè)試用例,使得程序中每條語(yǔ)句至少被執(zhí)行一次。</p><p
37、> 2)測(cè)試用例:空 (任意) 路徑1</p><p><b> A a a 路徑2</b></p><p><b> A a b 路徑4</b></p><p> B a a 路徑 3 b用戶已存在</p><p> 3)優(yōu)點(diǎn):可以很直觀地從源代碼得到測(cè)試用例,無(wú)須細(xì)分每條判定表達(dá)
38、式。 4)缺點(diǎn):由于這種測(cè)試方法僅僅針對(duì)程序邏輯中顯式存在的語(yǔ)句,但對(duì)于隱藏的條件和可能到達(dá)的隱式邏輯分支,是無(wú)法測(cè)試的。在本例中去掉了語(yǔ)句1—〉T去掉,那么就少了一條測(cè)試路徑。在if結(jié)構(gòu)中若源代碼沒(méi)有給出else后面的執(zhí)行分支,那么語(yǔ)句覆蓋測(cè)試就不會(huì)考慮這種情況。但是我們不能排除這種以外的分支不會(huì)被執(zhí)行,而往往這種錯(cuò)誤會(huì)經(jīng)常出現(xiàn)。再如,在Do-While結(jié)構(gòu)中,語(yǔ)句覆蓋執(zhí)行其中某一個(gè)條件分支。那么顯然,語(yǔ)句覆蓋對(duì)于多分支的邏輯運(yùn)
39、算是無(wú)法全面反映的,它只在乎運(yùn)行一次,而不考慮其他情況。</p><p> 2、判定覆蓋 1)主要特點(diǎn):判定覆蓋又稱為分支覆蓋,它要求設(shè)計(jì)足夠多的測(cè)試用例,使得程序中每個(gè)判定至少有一次為真值,有一次為假值,即:程序中的每個(gè)分支至少執(zhí)行一次。每個(gè)判斷的取真、取假至少執(zhí)行一次。 2)用例設(shè)計(jì): 空 a a (一次假一次真) 路徑2 3)優(yōu)點(diǎn):判定覆蓋比語(yǔ)句覆蓋要多幾乎一倍的測(cè)試路徑,當(dāng)然也就具有
40、比語(yǔ)句覆蓋更強(qiáng)的測(cè)試能力。同樣判定覆蓋也具有和語(yǔ)句覆蓋一樣的簡(jiǎn)單性,無(wú)須細(xì)分每個(gè)判定就可以得到測(cè)試用例。 4)缺點(diǎn):往往大部分的判定語(yǔ)句是由多個(gè)邏輯條件組合而成(如,判定語(yǔ)句中包含AND、OR、CASE),若僅僅判斷其整個(gè)最終結(jié)果,而忽略每個(gè)條件的取值情況,必然會(huì)遺漏部分測(cè)試路徑。</p><p> 3、條件覆蓋 1)主要特點(diǎn):條件覆蓋要求設(shè)計(jì)足夠多的測(cè)試用例,使得判定中的每個(gè)條件獲得各種可能的結(jié)果
41、,即每個(gè)條件至少有一次為真值,有一次為假值。 2)用例設(shè)計(jì): 空 b b (一次假一次真) 路徑2 3)優(yōu)點(diǎn):顯然條件覆蓋比判定覆蓋,增加了對(duì)符合判定情況的測(cè)試,增加了測(cè)試路徑。 4)缺點(diǎn):要達(dá)到條件覆蓋,需要足夠多的測(cè)試用例,但條件覆蓋并不能保證判定覆蓋。條件覆蓋只能保證每個(gè)條件至少有一次為真,而不考慮所有的判定結(jié)果</p><p> 4、判定/條件覆蓋 1)主要特點(diǎn):設(shè)計(jì)足夠多的
42、測(cè)試用例,使得判定中每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,每個(gè)判定本身所有可能結(jié)果也至少出現(xiàn)一次。 2)用例設(shè)計(jì): </p><p><b> A a a 路徑2</b></p><p> A a b 路徑4 3)優(yōu)點(diǎn):判定/條件覆蓋滿足判定覆蓋準(zhǔn)則和條件覆蓋準(zhǔn)則,彌補(bǔ)了二者的不足。 4)缺點(diǎn):判定/條件覆蓋準(zhǔn)則的缺點(diǎn)是未考慮條件的組合情況。<
43、/p><p> 5、組合覆蓋 1)主要特點(diǎn):要求設(shè)計(jì)足夠多的測(cè)試用例,使得每個(gè)判定中條件結(jié)果的所有可能組合至少出現(xiàn)一次。 2)用例設(shè)計(jì): 空 (任意) 路徑1</p><p><b> A a a 路徑2</b></p><p><b> A a b 路徑4</b></p><p>
44、 B a a 路徑 3 b用戶已存在 3)優(yōu)點(diǎn):多重條件覆蓋準(zhǔn)則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準(zhǔn)則。更改的判定/條件覆蓋要求設(shè)計(jì)足夠多的測(cè)試用例,使得判定中每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,每個(gè)判定本身的所有可能結(jié)果也至少出現(xiàn)一次。并且每個(gè)條件都顯示能單獨(dú)影響判定結(jié)果。 4)缺點(diǎn):線性地增加了測(cè)試用例的數(shù)量。 6、路徑覆蓋 1)主要特點(diǎn):設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有可能的路徑。 2)用例設(shè)
45、計(jì): :空 (任意) 路徑1</p><p><b> A a a 路徑2</b></p><p><b> A a b 路徑4</b></p><p> B a a 路徑 3 b用戶已存在 3)優(yōu)點(diǎn):這種測(cè)試方法可以對(duì)程序進(jìn)行徹底的測(cè)試,比前面五種的覆蓋面都廣。 4)缺點(diǎn):由于路徑覆蓋需要對(duì)所有可能的路
46、徑進(jìn)行測(cè)試(包括循環(huán)、條件組合、分支選擇等),那么需要設(shè)計(jì)大量、復(fù)雜的測(cè)試用例,使得工作量呈指數(shù)級(jí)增長(zhǎng)。而在有些情況下,一些執(zhí)行路徑是不可能被執(zhí)行的,如: 這兩個(gè)語(yǔ)句實(shí)際只包括了2條執(zhí)行路徑,即A為真或假時(shí)候?qū)和D的處理,真或假不可能都存在,而路徑覆蓋測(cè)試則認(rèn)為是包含了真與假的4條執(zhí)行路徑。這樣不僅降低了測(cè)試效率,而且大量的測(cè)試結(jié)果的累積,也為排錯(cuò)帶來(lái)麻煩。 總結(jié) 白盒測(cè)試是一種被廣泛使用的邏輯測(cè)試方法,是由程序內(nèi)部
47、邏輯驅(qū)動(dòng)的一種單元測(cè)試方法。只有對(duì)程序內(nèi)部十分了解才能進(jìn)行適度有效的白盒測(cè)試。但是貫穿在程序內(nèi)部的邏輯存在著不確定性和無(wú)窮性,尤其對(duì)于大規(guī)模復(fù)雜軟件。因此我們不能窮舉所有的邏輯路徑,即使窮舉也未必會(huì)帶來(lái)好運(yùn)(窮舉不能查出程序邏輯規(guī)則錯(cuò)誤,不能查出數(shù)據(jù)相關(guān)錯(cuò)誤,不能查出程序遺漏的路徑)。 那么正確使用白盒測(cè)試,就要先從代碼分析入手,根據(jù)不同的代碼邏輯規(guī)則、語(yǔ)句執(zhí)行情況,選用適合的覆蓋方法。任何</p><p>
48、;<b> 4. 實(shí)踐總結(jié)</b></p><p><b> 4.1 項(xiàng)目小結(jié)</b></p><p><b> 系統(tǒng)優(yōu)缺點(diǎn)</b></p><p><b> 1.優(yōu)點(diǎn)</b></p><p> 1、本系統(tǒng)根據(jù)派企業(yè)設(shè)備的實(shí)際需求和需要進(jìn)行設(shè)計(jì)和
49、開(kāi)發(fā),切合實(shí)際。</p><p> 2、通用性能好,實(shí)用性強(qiáng),易于推廣,可擴(kuò)展性好,此系統(tǒng)可以運(yùn)行在多種操作系統(tǒng)平臺(tái)上(Windows 9x/Windows NT/Windows 2000/Windows XP)。</p><p> 3、功能強(qiáng)大,綜合性強(qiáng)。</p><p> 4、有機(jī)結(jié)合計(jì)算機(jī)自動(dòng)處理與人工處理。 </p><p&g
50、t; 5、用戶界面友好,模塊清晰,操作簡(jiǎn)單,使用方便,一看就懂,一學(xué)就會(huì),設(shè)有幫助功能。</p><p> 6、擴(kuò)充性好,發(fā)展?jié)摿Υ蟆?lt;/p><p> 7、查詢方便接近智能化。</p><p> 8、引入了身份驗(yàn)證模塊保密工作做到了實(shí)處。</p><p><b> 2.缺點(diǎn)</b></p>&l
51、t;p> 本系統(tǒng)基本滿足了設(shè)備管理的需求,但由于各個(gè)企業(yè)性質(zhì)和使用設(shè)備不盡相同,因此具體問(wèn)題還要具體分析,需要在現(xiàn)有的系統(tǒng)上對(duì)某些字段進(jìn)行適當(dāng)?shù)男薷?。此外,本系統(tǒng)提供的報(bào)表有限,下一步可以在此基礎(chǔ)上增加更多的報(bào)表,擴(kuò)充系統(tǒng)的功能。</p><p><b> 4.2 實(shí)踐感想</b></p><p> 這次的課設(shè),是我們大學(xué)以來(lái)作得第一次大一點(diǎn)的程序是做的最
52、認(rèn)真的一次。因?yàn)镴AVA對(duì)我們來(lái)說(shuō),有著非比尋常的意義。</p><p> JAVA是一種簡(jiǎn)單的,面向?qū)ο蟮模植际降?,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動(dòng)態(tài)的語(yǔ)言。它有著平臺(tái)無(wú)關(guān)性、安全性、面向?qū)ο?、分布式、鍵壯性。它雖然與C和C++語(yǔ)言十分相似,但它又去除這兩門(mén)語(yǔ)言中了指針運(yùn)算,釋放內(nèi)存等一系列復(fù)雜的操作,這講減少平常出錯(cuò)的50%。正因?yàn)閾碛辛诉@些優(yōu)勢(shì),JAVA也成為了現(xiàn)在
53、使用最多的程序語(yǔ)言。</p><p> 對(duì)我們來(lái)說(shuō),JAVA有著更特殊的意義。前段時(shí)間的JAVA學(xué)習(xí),讓我們感覺(jué)到它的優(yōu)越性,隨著對(duì)JAVA學(xué)習(xí)和研究的深入,讓我們更加熱愛(ài)這么語(yǔ)言。雖然學(xué)習(xí)JAVA有一段時(shí)間了,但實(shí)際上并沒(méi)有進(jìn)行過(guò)比較正式的程序開(kāi)發(fā),當(dāng)我們自己動(dòng)手時(shí),卻發(fā)現(xiàn)困難重重。首先面對(duì)的是需求分析,雖然只有短短的幾段話,但卻是字字珠璣,理解錯(cuò)一個(gè)字,就會(huì)導(dǎo)致程序極其嚴(yán)重的錯(cuò)誤到了具體編程,我們進(jìn)行了分配
54、,每個(gè)人都在自己的任務(wù)中遇到了各式各樣的困難。到了最后,連接各個(gè)模塊的時(shí)候,因?yàn)槠綍r(shí)溝通的不多,大家都是各干各的,導(dǎo)致模塊連接不上,不得不從頭開(kāi)始分析其中的原因,費(fèi)了一番周折,才把程序最后完成。</p><p> 在這門(mén)課程的學(xué)習(xí)和課設(shè)中,讓我們收獲了許多東西,讓我們了解了有關(guān)java數(shù)據(jù)庫(kù)編程的一些知識(shí),也得到了在團(tuán)隊(duì)開(kāi)發(fā)中的經(jīng)驗(yàn),這些東西將對(duì)我們將來(lái)的職業(yè)生涯產(chǎn)生極大的影響。衷心感謝安老師給我們的教導(dǎo)!&l
55、t;/p><p><b> 參考文獻(xiàn)</b></p><p> [1] 張海藩.軟件工程導(dǎo)論.清華大學(xué)出版社,2003:136-258</p><p> [2] 劉建元,李衛(wèi)青,陳偉光.計(jì)算機(jī)專業(yè)英語(yǔ)——Coputing Essentials.高等教育出版社,2003:123-253</p><p> [3] 苗雪蘭
56、,劉瑞新,梁永霖.數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)指導(dǎo)和習(xí)題解答.機(jī)械工業(yè)出版社,2004:23-68</p><p> [4] 夏邦貴,郭勝.SQL Server 數(shù)據(jù)庫(kù)開(kāi)發(fā)入門(mén)與范例解析,2004:63-256</p><p> [5] 薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論.第三版.高等教育出版社,2000:125-526</p><p> [6] 賽奎春,高春艷,李俊民等.Vis
57、ual Basic工程應(yīng)用與項(xiàng)目實(shí)踐.機(jī)械工業(yè)出版社,2005:98-157</p><p> [7] 龔沛曾,陸慰民,楊志強(qiáng).Visual Basic程序設(shè)計(jì)教程.高等教育出版社,2000:145-245</p><p> [8] 劉舫.Visual Basic編程篇.Visual Basic編程篇.電子工業(yè)出版社,2004:254-321</p><p>
58、 [9] 劉韜,駱娟,何旭洪.Visual Basic 數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航.第二版.人民郵電出版社,2003:152-368</p><p> [10]鄭阿奇.Visual Basic 實(shí)用教程.第二版.電子工業(yè)出版社,2004:152-321</p><p> [11]鄭阿奇.SQL Server實(shí)用教程.電子工業(yè)出版社,2006:201-303</p><p
59、> [12]高守傳.精通SQL結(jié)構(gòu)化查詢語(yǔ)言詳解.北京人民郵電出版社,2005:201-306</p><p> [13]肖慎勇.SQL SerVer數(shù)據(jù)庫(kù)管理與開(kāi)發(fā).清華大學(xué)出版社,2006:147-520</p><p> [14]高守傳.精通SQL——結(jié)構(gòu)化查詢語(yǔ)言詳解.北京人民郵電出版2005:14-263</p><p> [15]薩師煊,王
60、珊.數(shù)據(jù)庫(kù)系統(tǒng)概論.第三版高等教育出版社,2004:321-620</p><p><b> 附錄:詳細(xì)設(shè)計(jì)</b></p><p><b> .(一)界面設(shè)計(jì):</b></p><p><b> 1.登入界面</b></p><p><b> 2.主界面:
61、</b></p><p> 2.購(gòu)置登記界面(其余添加記錄界面相似)</p><p> 3.修改刪除記錄界面(其余修改刪除界面類(lèi)似)</p><p> 4.用戶管理界面(員工管理界面類(lèi)似)</p><p> 5.修改密碼(管理員與員工同一個(gè)窗口)</p><p> 6.注冊(cè)(管理員與員工類(lèi)似)&l
62、t;/p><p><b> ?。ǘ┏绦蛟O(shè)計(jì)</b></p><p> 全部類(lèi):(共20個(gè)類(lèi))</p><p> 1. AccessConnection類(lèi):</p><p><b> 方法:</b></p><p> getcon()負(fù)責(zé)加載jdbc驅(qū)動(dòng),與access數(shù)
63、據(jù)庫(kù)建立連接,</p><p> public Connection getcon() throws SQLException{</p><p> String url = "jdbc:odbc:java";</p><p> return DriverManager.getConnection(url,"","
64、;");</p><p><b> }</b></p><p> 2. AddBaofeiRecord類(lèi): 用于添加報(bào)廢記錄</p><p> AddGoumaiRecord類(lèi): 用于添加購(gòu)買(mǎi)記錄</p><p> AddWeixiuRecord類(lèi): 用于添加維修記錄</p><p&
65、gt; AddZhuanjieRecord類(lèi): 用于添加轉(zhuǎn)借記錄</p><p><b> 此四個(gè)類(lèi)設(shè)計(jì)相同:</b></p><p><b> 主要成員:</b></p><p> private Connection con;</p><p> private Statement st
66、mt;</p><p> private ResultSet rs;</p><p> 有關(guān)設(shè)備的信息局部變量(設(shè)備號(hào),所屬部門(mén),設(shè)備編號(hào),經(jīng)手人員等):</p><p> String id,String name, String pattern, String kind, String leader, String employee String part
67、 ,String indate, String diedate, String reason ,String getway</p><p><b> 對(duì)表操作的語(yǔ)句 </b></p><p> String baofeiurl = null;</p><p> String updateurl = null;等</p>&l
68、t;p><b> = null;</b></p><p> closeall():在窗口關(guān)閉的時(shí)候,斷開(kāi)與數(shù)據(jù)庫(kù)連接</p><p> initComponets():初始化生成窗口</p><p> initCon():通過(guò)AccessConnectio.java類(lèi)建立與數(shù)據(jù)庫(kù)的連接</p><p>
69、jButton1ActionPerformed():確定按鈕對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作</p><p> jButton2ActionPerformed():取消按鈕關(guān)閉窗口,斷開(kāi)數(shù)據(jù)庫(kù)連接</p><p> AddBaofeiRecord類(lèi):確定按鈕的事件處理:</p><p> AddGoumaiFrame類(lèi): </p><p> AddW
70、eixiuFrame類(lèi): </p><p> AddZhuanjieFram類(lèi): </p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { </p><p> // TODO 將在此處添加您的處理代碼:</p><p> Strin
71、g id = this.shebeihao.getText();</p><p> String name = (String)this.shebeming.getSelectedItem();</p><p> String pattern = this.xinnghao.getText();</p><p> String kind = (String)t
72、his.zhonglei.getSelectedItem();</p><p> String leader =this.pizhuanrenyuan.getText();</p><p> String employee =this.jingshourenyuan.getText();</p><p> String part = (String)this.
73、suoshubumen.getSelectedItem();</p><p> String indate = this.gouririqi.getText();</p><p> String diedate = this.baofeiriqi.getText();</p><p> String reason = this.baofeiyuanying.g
74、etText();</p><p> String getway = this.chulifangshi.getText();</p><p> String getcount = "select * from baofei";</p><p> String baofeiurl = null;</p><p>
75、int j = 1;</p><p> if(id.equals("")||name.equals("")||pattern.equals("")||kind.equals("")||leader.equals("")||employee.equals("")||part.equals(&qu
76、ot;")||indate.equals("")||diedate.equals("")||reason.equals("")||getway.equals("")) {</p><p> JOptionPane.showMessageDialog(this,"所有信息都必須填寫(xiě)","警告!!
77、", JOptionPane.INFORMATION_MESSAGE);</p><p><b> } else {</b></p><p><b> try {</b></p><p><b> try {</b></p><p> rs = stmt.ex
78、ecuteQuery(getcount);</p><p> while(rs.next())</p><p><b> j++;</b></p><p> } catch (SQLException ex) {</p><p> ex.printStackTrace();</p><p>
79、;<b> }</b></p><p> baofeiurl = "insert into baofei values ("+j+",'"+id+"','"+name+"','"+pattern+"','"+kind+"
80、39;,'"+leader+"','"+employee+"','"+part+"','"+indate+"','"+diedate+"','"+reason+"','"+getway+"'
81、;)";</p><p> stmt.executeUpdate(baofeiurl);//對(duì)報(bào)廢表格進(jìn)行操所</p><p> String selecturl ="select * from shiyong where 設(shè)備名= '"+name+"'and 所屬部門(mén) = '"+part+"'
82、 ";</p><p> rs = stmt.executeQuery(selecturl);</p><p> if(rs.next()){</p><p> String number1 = rs.getString(3);</p><p> int sum1 = new Integer(number1).intValu
83、e();</p><p> int sum = sum1 -1;</p><p> if(sum<0) {</p><p> JOptionPane.showMessageDialog(this,"您可能輸錯(cuò)了,該部門(mén)在此之前已無(wú)此設(shè)備","警告!!", JOptionPane.INFORMATION_MESSAG
84、E);</p><p><b> } else{</b></p><p> number = new Integer(sum).toString();</p><p> String updateurl = "update shiyong set 數(shù)目 ='"+number+"' where
85、設(shè)備名= '"+name+"'and 所屬部門(mén) = '"+part+"'";</p><p> int i = stmt.executeUpdate(updateurl); //對(duì)庫(kù)存表進(jìn)行更新操作</p><p><b> if(i>0) {</b></p>&
86、lt;p> JOptionPane.showMessageDialog(this,"添加成功","", JOptionPane.INFORMATION_MESSAGE);</p><p> dispose();</p><p> closeall(); </p><p><b> }</b>
87、</p><p><b> }</b></p><p><b> }</b></p><p> } catch(Exception se) {</p><p> //se.printStackTrace();</p><p> JOptionPane.showMes
88、sageDialog(this,"您的輸有誤,請(qǐng)重試","警告!!", JOptionPane.INFORMATION_MESSAGE);</p><p><b> }</b></p><p><b> } </b></p><p><b> }</b>&
89、lt;/p><p><b> //建立數(shù)據(jù)庫(kù)連接</b></p><p> public void initCon() {</p><p><b> try {</b></p><p> con =new AccessConnection().getcon();</p><p
90、> stmt = con.createStatement();</p><p> }catch(SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p>
91、;<p><b> //斷開(kāi)數(shù)據(jù)庫(kù)連接</b></p><p> private void closeall() {</p><p><b> try {</b></p><p> con.close();</p><p> stmt.close();</p>
92、<p> } catch (SQLException ex) {</p><p> ex.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> 3.ChangPasswordFrame類(lèi):修改管理員密碼
93、類(lèi)</p><p><b> 方法:</b></p><p> 其中確定按鈕就進(jìn)行修改密碼的事件處理方法:</p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { </p><p> // TODO 將在此處添
94、加您的處理代碼:</p><p> String jiumima = new String(this.jiumima.getPassword());</p><p> String xinmima = new String(this.xinmima.getPassword());</p><p> String queding = new String(que
95、dingmima.getPassword());</p><p> String updateurl = null;</p><p> String selecturl = null;</p><p> //判斷是那個(gè)用戶類(lèi)型的用戶在修改密碼 LoadFrame.flag是標(biāo)志哪個(gè)用戶類(lèi)型登陸系統(tǒng)</p><p> //true為管理
96、員 false為工作人員</p><p> if(LoadFrame.flag) {</p><p> System.out.println("guanliyuang");</p><p> updateurl = "update guanli set 密碼 = '"+xinmima+"' wh
97、ere 用戶名= '"+name+"'";</p><p> selecturl = "select * from guanli where 用戶名= '"+name+"'";</p><p><b> } else{</b></p><p&g
98、t; System.out.println("yuangong");</p><p> updateurl = "update yuangong set 密碼 = '"+xinmima+"' where 用戶名= '"+name+"'";</p><p> selectur
99、l = "select * from yuangong where 用戶名= '"+name+"'";</p><p><b> }</b></p><p><b> try {</b></p><p> rs = stmt.executeQuery(selec
100、turl);</p><p> if(rs.next()){</p><p> mima = rs.getString(2);</p><p><b> }</b></p><p> }catch(Exception ex) {</p><p> ex.printStackTrace()
101、;</p><p><b> }</b></p><p> if(!mima.equals(jiumima)) {</p><p> JOptionPane.showMessageDialog(this,"舊密碼錯(cuò)誤","對(duì)不起!",JOptionPane.INFORMATION_MESSAGE);
102、</p><p><b> } else{</b></p><p> if(xinmima.equals("")) {</p><p> JOptionPane.showMessageDialog(this,"請(qǐng)輸入新密碼","對(duì)不起!",JOptionPane.INFORMAT
103、ION_MESSAGE);</p><p><b> } else {</b></p><p><b> try {</b></p><p> if(xinmima.equals(queding)) {</p><p> if(stmt == null) {</p><p
104、> System.out.println("stmt weikong");</p><p><b> }</b></p><p> stmt.executeUpdate(updateurl);</p><p> JOptionPane.showMessageDialog(this,"修改密碼成功&qu
105、ot;,"恭喜!",JOptionPane.INFORMATION_MESSAGE);</p><p> this.dispose();</p><p> closeall();</p><p><b> } else {</b></p><p> JOptionPane.showMessag
106、eDialog(this,"兩次密碼不一致","對(duì)不起!",JOptionPane.INFORMATION_MESSAGE);</p><p><b> }</b></p><p> } catch(SQLException se) {</p><p> se.printStackTrace();&
107、lt;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.CheckPanel類(lèi):具有庫(kù)存記錄,購(gòu)買(mǎi)記錄,
108、維修記錄,報(bào)廢記錄,轉(zhuǎn)借記錄表格的面板組件,添加到mainFrame 和 WorkerFrame中可以進(jìn)行查詢</p><p> 構(gòu)造函數(shù):通過(guò)主窗口MainFrame傳參給CheckPanel類(lèi)生成查詢結(jié)果</p><p> public CheckPanel(String querykc,String queryby,String queryzj,String querywx,St
109、ring querybf) {</p><p> this.querykc = querykc;</p><p> this.queryby = queryby;</p><p> this.queryzj = queryzj;</p><p> this.querywx = querywx;</p><p>
110、 this.querybf = querybf;</p><p> initCon();</p><p> initComponents();</p><p><b> }</b></p><p> 生成表格的模型(庫(kù)存)其余相似:</p><p> private DefaultTa
111、bleModel initialTableModel1() {</p><p> Vector title = new Vector();</p><p> Vectorrows = new Vector();</p><p> if (con == null || stmt == null) {</p><p> System.e
112、rr.println("There is no database to execute the query.");</p><p><b> }</b></p><p><b> try {</b></p><p> rs = stmt.executeQuery(querykc);</p&g
113、t;<p> title.add("ID");</p><p> title.add("設(shè)備名");</p><p> title.add("數(shù)量");</p><p> title.add("種類(lèi)");</p><p> title.ad
114、d("所屬部門(mén)");</p><p> rows = new Vector();</p><p> //查詢結(jié)果填入表格</p><p> while (rs.next()) {</p><p> Vector newRow = new Vector();</p><p> for (in
115、t i = 1; i <= 5; i++) {</p><p> newRow.addElement(rs.getObject(i));</p><p><b> }</b></p><p> rows.addElement(newRow);</p><p><b> }</b><
116、;/p><p> } catch (SQLException ex) {</p><p> System.err.println(ex);</p><p><b> }</b></p><p> return new DefaultTableModel(rows,title);//rows為行,title為列名<
117、;/p><p><b> }</b></p><p> 5.InfoPanel類(lèi):查看員工信息,及每次用戶登錄記錄信息的面板組件</p><p> 查詢的信息一樣生成在表格里用表格模型(與CheckPanel類(lèi)相似)</p><p> private DefaultTableModel initialTableMod
118、el1() {</p><p> Vector title = new Vector();</p><p> Vectorrows = new Vector();</p><p> 。。。。。。。。。。。。。。 </p><p> return new DefaultTableModel(rows,title);//rows為行,t
119、itle為列名</p><p><b> }</b></p><p> 6.ManagerRegedit類(lèi):新管理員注冊(cè)類(lèi)</p><p> 主要注冊(cè)按鈕進(jìn)行注冊(cè)事件處理方法:</p><p> private void jButton1ActionPerformed(java.awt.event.ActionE
120、vent evt) { </p><p> // TODO 將在此處添加您的處理代碼:</p><p> String name = this.yonghuming.getText();</p><p> String mima = new String(jPasswordField1.getPassword());</p><p>
121、 String qudmima = new String(jPasswordField2.getPassword());</p><p> String selecturl = "select * from guanli where 用戶名 = '"+name+"'";</p><p> regetime= new SimpleD
122、ateFormat("yyyy-MM-dd-HH:mm:ss" ,Locale.SIMPLIFIED_CHINESE);</p><p> String strtime = regetime.format(new Date());</p><p> String regeStr = "insert into guanli values ('&quo
123、t;+name+"','"+mima+"','"+strtime+"')";</p><p> if(name.equals("")) {</p><p> JOptionPane.showMessageDialog(this,"用戶名不能為空",
124、"對(duì)不起!",JOptionPane.INFORMATION_MESSAGE);</p><p><b> } else {</b></p><p><b> try {</b></p><p> rs = stmt.executeQuery(selecturl);</p><
125、p> if(rs.next())</p><p> JOptionPane.showMessageDialog(this,"此用戶已注冊(cè)","對(duì)不起!",JOptionPane.INFORMATION_MESSAGE);</p><p> else if(mima.equals(qudmima)) {</p><p&g
126、t; stmt.executeUpdate(regeStr);</p><p> this.dispose();</p><p> JOptionPane.showMessageDialog(this,"注冊(cè)成功","你好 !",JOptionPane.INFORMATION_MESSAGE);</p><p> st
127、mt.close();</p><p> con.close(); </p><p><b> } else {</b></p><p> JOptionPane.showMessageDialog(this,"兩次密碼不一致","對(duì)不起!",JOptionPane.INFORMATION_MESS
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)報(bào)告-設(shè)備管理系統(tǒng)
- 仿資源管理器的java課程設(shè)計(jì)
- 進(jìn)程管理器課程設(shè)計(jì)
- 功能較完善的文件管理器java課程設(shè)計(jì)報(bào)告
- 阻止取消激活設(shè)備管理器-hitcon
- 課程設(shè)計(jì)(實(shí)驗(yàn)設(shè)備管理系統(tǒng))
- 課程設(shè)計(jì)--設(shè)備管理系統(tǒng)實(shí)現(xiàn)—管理模塊
- c語(yǔ)言課程設(shè)計(jì)--- 設(shè)備管理系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)(設(shè)備管理)
- 課程設(shè)計(jì)報(bào)告--實(shí)驗(yàn)設(shè)備管理系統(tǒng)設(shè)計(jì)
- 操作系統(tǒng)課程設(shè)計(jì)--windows資源管理器與任務(wù)管理器
- 實(shí)驗(yàn)室設(shè)備管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告---設(shè)備管理系統(tǒng)
- 實(shí)驗(yàn)室設(shè)備管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-設(shè)備管理系統(tǒng)
- 設(shè)備管理系統(tǒng) 數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- java課程設(shè)計(jì)---java計(jì)算器
- DCS設(shè)備管理軟件中設(shè)備驅(qū)動(dòng)管理器模塊的設(shè)計(jì)與實(shí)現(xiàn).pdf
- javaee課程設(shè)計(jì)--實(shí)驗(yàn)室設(shè)備管理系統(tǒng)
- 資產(chǎn)設(shè)備管理系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論