版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
〔學(xué)生版初稿〕第一章1234網(wǎng)吧計(jì)費(fèi)治理系統(tǒng)背景介紹業(yè)務(wù)背景技術(shù)背景需求分析功能需求分析業(yè)務(wù)對(duì)象分析驗(yàn)收測(cè)試要求系統(tǒng)設(shè)計(jì)總體設(shè)計(jì)具體設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)小結(jié)展望第一章1234網(wǎng)吧計(jì)費(fèi)治理系統(tǒng)背景介紹業(yè)務(wù)背景1234口效勞臺(tái),出示上機(jī)卡,假設(shè)是客戶則先發(fā)卡;治理員先查詢是否有空機(jī)器,假設(shè)有則依據(jù)上機(jī)卡號(hào)查到該卡對(duì)應(yīng)的記錄〔賬簿,假設(shè)有余額〔>5元,則安排一個(gè)空閑的機(jī)器號(hào)給客戶,客戶依據(jù)機(jī)器號(hào)對(duì)號(hào)入座,治理員登記客戶卡號(hào)、上機(jī)機(jī)器號(hào)、上機(jī)時(shí)間??蛻粝聶C(jī)要到門口的效勞臺(tái),懇求下機(jī),治理員依據(jù)當(dāng)前時(shí)間、上機(jī)時(shí)間及費(fèi)率計(jì)算出本次上機(jī)費(fèi)用,并記錄,同時(shí)將費(fèi)用從卡余額中扣除,假設(shè)手工記帳,治理超時(shí)超費(fèi)使用不能準(zhǔn)時(shí)覺察。因此需要開上下機(jī)、計(jì)費(fèi)、上機(jī)卡、機(jī)器狀況,供給簡(jiǎn)潔統(tǒng)計(jì)功能,超時(shí)超費(fèi)提示功能等。技術(shù)背景本系統(tǒng)要求使用java〔如MySQL〕保存數(shù)據(jù),集成開發(fā)環(huán)境可使用支持可視化GUI界面設(shè)計(jì)的主流工具(如eclipse)。開發(fā)者應(yīng)有javaJDBC據(jù)庫、使用一種集成開發(fā)工具的根本學(xué)問和技能。系統(tǒng)承受兩層C/S體系構(gòu)造,CGUIS析設(shè)計(jì)方法。需求分析功能需求分析系統(tǒng)需求分析的主要任務(wù)是從用戶角度考察系統(tǒng)應(yīng)具有哪些功〔刷身份證、刪身份證、充值、查詢、機(jī)器治理〔添加機(jī)器、刪除機(jī)器、查詢狀〔〔添加用戶、刪除用戶、修改口令,參數(shù)設(shè)置〔時(shí)段費(fèi)率,使用幫助。主要使用流程是:治理員登錄,依據(jù)客戶懇求上機(jī),依據(jù)客戶懇求下機(jī)。主要功能的用例〔usecase〕描述如下:—.上機(jī)治理員輸入空閑機(jī)器號(hào),上網(wǎng)人輸入口令、卡號(hào),懇求上機(jī)。系統(tǒng)驗(yàn)證卡號(hào),檢查卡中余額,卡狀態(tài)系統(tǒng)獵取當(dāng)前系統(tǒng)時(shí)間作為上機(jī)開頭時(shí)間系統(tǒng)修改該機(jī)器的使用標(biāo)志為“在用系統(tǒng)記錄上機(jī)信息〔卡號(hào)、機(jī)器號(hào)、上機(jī)時(shí)間〕系統(tǒng)提示上機(jī)成功假設(shè)1中無空閑機(jī)器又懇求上機(jī)的,系統(tǒng)提示“沒用空閑機(jī)器中卡驗(yàn)證未通過,提示“無此卡號(hào)二.下機(jī)治理員選擇被使用的機(jī)器號(hào),懇求下機(jī)系統(tǒng)獵取系統(tǒng)當(dāng)前時(shí)間作為下機(jī)時(shí)間;系統(tǒng)計(jì)算費(fèi)用;系統(tǒng)顯示應(yīng)繳費(fèi)用系統(tǒng)記錄下機(jī)時(shí)間和此次費(fèi)用;系統(tǒng)從卡中扣費(fèi),修改卡狀態(tài)為“空閑系統(tǒng)修改該機(jī)器的狀態(tài)為“空閑系統(tǒng)顯示本次上機(jī)記錄信息,提示下機(jī)成功三.登錄治理員輸入用戶名和密碼,懇求進(jìn)入系統(tǒng)系統(tǒng)驗(yàn)證用戶名和密碼系統(tǒng)顯示主界面假設(shè)一次驗(yàn)證不通過,則提示再輸入一次,仍不通過則系統(tǒng)退出。四.卡維護(hù)卡有三種狀態(tài):停用、空閑、在用。發(fā)卡:治理員輸入卡號(hào)〔保證卡號(hào)唯一〕治理員輸入卡初始金額上網(wǎng)人輸入用戶名、口令治理員懇求添加卡系統(tǒng)保存卡號(hào)、金額、用戶名和密碼,狀態(tài)為“空閑”系統(tǒng)提示添卡成功,顯示卡號(hào)及金額,以便核對(duì)。治理員將系統(tǒng)生成的有卡號(hào)、用戶名的紙卡給上網(wǎng)人。充值:治理員輸入卡號(hào)系統(tǒng)顯示該卡信息〔卡號(hào)、用戶名、余額、狀態(tài)〕治理員核對(duì)后,輸入充值金額系統(tǒng)計(jì)算并保存該卡總金額系統(tǒng)顯示充值后的卡信息〔卡號(hào)、用戶名、余額、狀態(tài)。查詢卡信息:治理員輸入卡號(hào)或懇求觀看全部卡信息系統(tǒng)查詢卡信息〔卡號(hào)、用戶名、余額〕并顯示刪除卡:治理員輸入卡號(hào)系統(tǒng)查詢卡余額及狀態(tài)假設(shè)余額已結(jié)清且狀態(tài)為“空閑系統(tǒng)提示刪除成功假設(shè)有余額或“在用”則不能刪除機(jī)器有三種狀態(tài):停用、空閑、在用。添加機(jī)器:治理員輸入機(jī)器號(hào),懇求添加系統(tǒng)驗(yàn)證機(jī)器號(hào)是否重復(fù)系統(tǒng)添加機(jī)器記錄信息〔機(jī)器號(hào)、狀態(tài)為“空閑〕系統(tǒng)提示添加成功刪除機(jī)器:治理員輸入機(jī)器號(hào),懇求刪除系統(tǒng)刪除相應(yīng)機(jī)器信息系統(tǒng)提示刪除成功查詢機(jī)器狀態(tài):治理員輸入機(jī)器號(hào)或懇求觀看全部機(jī)器信息系統(tǒng)查詢并顯示機(jī)器信息〔機(jī)器號(hào)和狀態(tài)〕并顯示六.治理員口令治理添加用戶治理員輸入用戶名、密碼和確認(rèn)密碼,懇求添加系統(tǒng)驗(yàn)證用戶是否是用戶,兩次輸入的密碼是否一樣系統(tǒng)添加用戶、密碼信息系統(tǒng)提示添加成功刪除用戶治理員輸入用戶名、密碼系統(tǒng)驗(yàn)證用戶名、密碼是否正確系統(tǒng)刪除用戶名、密碼記錄系統(tǒng)提示刪除成功修改密碼治理員輸入用戶名、密碼,懇求修改密碼系統(tǒng)驗(yàn)證用戶名、密碼是否正確治理員輸入密碼、及確認(rèn)密碼系統(tǒng)保存密碼系統(tǒng)提示修改成功七.統(tǒng)計(jì)治理治理員輸入起始時(shí)間〔年、月、日月、年匯總系統(tǒng)查詢上網(wǎng)記錄,計(jì)算、統(tǒng)計(jì)出時(shí)間段的總費(fèi)用、人次、總上機(jī)時(shí)間等信息。系統(tǒng)顯示上述信息八.參數(shù)治理時(shí)段費(fèi)率設(shè)置:系統(tǒng)顯示當(dāng)前設(shè)置治理員設(shè)置時(shí)間段〔時(shí)、分〕及對(duì)應(yīng)的費(fèi)率,懇求保存系統(tǒng)保存設(shè)置系統(tǒng)提示保存成功超時(shí)報(bào)警定時(shí)器間隔設(shè)置九.超時(shí)超費(fèi)報(bào)警30時(shí)間及費(fèi)用,計(jì)算其卡中余額是否低于最低費(fèi)用。系統(tǒng)提示已超費(fèi)卡號(hào)、機(jī)器號(hào),及超的費(fèi)用本系統(tǒng)除了功能性需求,還有易用性、牢靠性、安全性等要求,可以在實(shí)現(xiàn)上述功能性需求的根底上,進(jìn)一步實(shí)現(xiàn)完善非功能性要求。業(yè)務(wù)對(duì)象分析依據(jù)上面的主要用例描述,可以分析出系統(tǒng)的主要業(yè)務(wù)對(duì)象,它是設(shè)計(jì)階段核心類圖的根底〔不愿定一一對(duì)應(yīng),這些對(duì)象必需實(shí)際存在,其行為和屬性應(yīng)與問題領(lǐng)域相關(guān):上網(wǎng)卡:主要維護(hù)上網(wǎng)卡的相關(guān)信息??ㄌ?hào)、密碼、余額、卡用戶名、卡狀態(tài)〔在用、空閑、停用〕〔在用、停用、空閑、備注費(fèi)用記錄:記錄每次上機(jī)的信息。記錄編號(hào)、卡號(hào)、機(jī)器號(hào)、開頭上機(jī)時(shí)間,下機(jī)時(shí)間、費(fèi)用費(fèi)率記錄:起始時(shí)間、終止時(shí)間,費(fèi)率1—4驗(yàn)收測(cè)試要求用戶要求開發(fā)產(chǎn)品,產(chǎn)品開發(fā)完成后,需要交付用戶驗(yàn)收,驗(yàn)路是依據(jù)用戶使用的過程測(cè)試系統(tǒng),越頻繁使用的功能越要多測(cè)試。本系統(tǒng)功能性需求驗(yàn)收測(cè)試的根本要求如下:前置條件:除口令表有初始用戶名和密碼外,各庫表為空。程序安裝配置正確,能正常啟動(dòng)運(yùn)行。一.初始化數(shù)據(jù)啟動(dòng)程序,進(jìn)入“卡維護(hù)3張卡,其中有張卡余額為0;再進(jìn)1,添加機(jī)器。二.功能測(cè)試明操作上機(jī),連續(xù)上機(jī)3連續(xù)下機(jī)兩次。觀看輸出信息界面,看內(nèi)容是否正確〔金額、卡號(hào),時(shí)間,費(fèi)用。已下機(jī)器是否已被同步從上機(jī)下拉表中去除。再進(jìn)入結(jié)果;輸入卡金額缺乏的卡號(hào),觀看結(jié)果;不輸入任何值,直接按確認(rèn)的結(jié)果。統(tǒng)計(jì)測(cè)試,進(jìn)入“統(tǒng)計(jì)”功能,按日,月,年查詢統(tǒng)計(jì),與庫中實(shí)22張卡,應(yīng)不能刪除在線卡,并能標(biāo)識(shí)出卡余額,以便清帳;進(jìn)入“信35測(cè)試“費(fèi)率維護(hù)率,上下機(jī),觀看費(fèi)用計(jì)算結(jié)果。測(cè)試超時(shí)報(bào)警功能:發(fā)一張卡,初始額剛到達(dá)最低標(biāo)準(zhǔn),以此卡上機(jī),為縮短超時(shí)等待時(shí)間,可設(shè)置定時(shí)器間隔為12鐘,看系統(tǒng)是否能正確報(bào)警。測(cè)試幫助功能。依據(jù)幫助說明使用系統(tǒng),驗(yàn)證幫助說明的正確性。系統(tǒng)設(shè)計(jì)總體設(shè)計(jì)系統(tǒng)體系構(gòu)造圖形界面SWING客戶端效勞端業(yè)務(wù)規(guī)律SQL數(shù)據(jù)庫ACCESS數(shù)據(jù)訪問〔JDBC〕一般要確定系統(tǒng)的體系構(gòu)造,主要模塊,系統(tǒng)運(yùn)行環(huán)境〔如操作系統(tǒng)、數(shù)據(jù)庫,開發(fā)平臺(tái)及語言。本系統(tǒng)主要運(yùn)行在windows圖形界面SWING客戶端效勞端業(yè)務(wù)規(guī)律SQL數(shù)據(jù)庫ACCESS數(shù)據(jù)訪問〔JDBC〕1系統(tǒng)體系構(gòu)造3〔javaSWING〕負(fù)責(zé)與用戶交互,業(yè)務(wù)規(guī)律層則依據(jù)用戶的懇求執(zhí)行各種功能(如上、下機(jī)等),JDBC/SQL數(shù)據(jù)庫使用ACCESS,可依據(jù)狀況使用其他數(shù)據(jù)庫〔如SQLServer〕,上。二.系統(tǒng)功能模塊及主要類系統(tǒng)的主要功能模塊如圖 2 所示:主模塊主模塊登錄上機(jī)下機(jī)幫助卡維護(hù)統(tǒng)計(jì)機(jī)器維護(hù)參數(shù)維護(hù)口令維護(hù)發(fā)卡充值查詢刪除卡添加機(jī)器刪除機(jī)器查詢添加用戶更改口令刪除用戶可據(jù)此設(shè)計(jì)菜單,劃分模塊。系 統(tǒng) 主 要 類 圖 如 下 :圖3總類圖的畫法根本遵循視圖層、業(yè)務(wù)規(guī)律層、數(shù)據(jù)模型及數(shù)據(jù)庫要的業(yè)務(wù)規(guī)律把握類是BusinessManager,用戶的上下機(jī)懇求,通過BusinessManagerxDAOxDAODBConnection獲取連接,再通過JDBC/SQL訪問數(shù)據(jù)庫。Card\Computer\Record\ManagersetX\getX法中傳遞。三.閱歷共享1客戶端根本承受三層構(gòu)造〔視圖View、把握Controller、模型Mode,層與層間耦合性較小,提高了整體的可擴(kuò)展性、可重用及抗變動(dòng)力氣。缺點(diǎn)是要求預(yù)先設(shè)計(jì)好,對(duì)設(shè)計(jì)水平要求高,不過一旦形成模式,養(yǎng)成習(xí)慣,能“照葫蘆畫瓢2使用xDAOxDAO〔如業(yè)務(wù)規(guī)律層。接口中的參數(shù)主要是“值對(duì)象”,這樣即使Card\Computer\Record\Manager類中的屬性發(fā)生轉(zhuǎn)變,由于“值對(duì)而又只用到其中很少的屬性,則對(duì)性能和內(nèi)存鋪張較大。與此對(duì)應(yīng),〔上下機(jī)、JDBC、符合一般過程性思維〔常用于初始的或原型系統(tǒng)的開發(fā)中,缺點(diǎn)是代碼一旦需要修改,則改動(dòng)較多、且簡(jiǎn)潔出錯(cuò),代碼重用性差。3DBConnection代碼可重復(fù)使用,假設(shè)連接參數(shù)〔如連到不同的數(shù)據(jù)庫〕改動(dòng),只DBConnection〔固然更好的做法是將這序xDAO具體設(shè)計(jì)〔時(shí),也介紹了相應(yīng)的解決方法及設(shè)計(jì)閱歷。數(shù)據(jù)庫設(shè)計(jì)哪些對(duì)象需要長(zhǎng)期保存,然后將對(duì)象屬性及對(duì)象間關(guān)系轉(zhuǎn)化成關(guān)系Card、Computer、Record、Manger中,將ConfigCard、Computer、Record圖長(zhǎng)期對(duì)象屬性及關(guān)系圖RecordCardComputer,對(duì)于未用Record中設(shè)置CARDID,COMPUTERIDCard和Computer。共設(shè)計(jì)出四張表:名稱編碼數(shù)據(jù)類型名稱編碼數(shù)據(jù)類型卡號(hào)ID〔〕VARCHAR卡狀態(tài)STATUS〔〕INTEGER余額BALANCE〔〕DOUBLE〔20〕用戶名USERNAME〔非VARCHAR空〕〔20〕密碼PASSWORD空〕〔非VARCHAR〔15〕COMPUTER名稱編碼數(shù)據(jù)類型機(jī)器號(hào)ID〔〕狀態(tài)STATUS〔〕INTEGER備注NOTESVARCHAR〔200〕RECORD名稱編碼數(shù)據(jù)類型記錄號(hào)ID〔〕VARCHAR〔20〕卡號(hào)CARDID〔〕VARCHAR〔20〕機(jī)器號(hào)COMPUTERID〔VARCHAR〔10〕空〕上機(jī)時(shí)間BEGINTIME〔非空〕DATE下機(jī)時(shí)間ENDTIMEDATE上機(jī)費(fèi)用FEEDOUBLEManager名稱編碼數(shù)據(jù)類型用戶名USERNAME空〕〔非VARCHAR〔20〕口令PASSWORD空〕〔非VARCHAR〔20〕E-R方面的問題。首先根本的是確定有哪幾張表,表間關(guān)系,然后是表中的字段,比較麻煩的是確定字段的約束〔主鍵、非空等,字段數(shù)據(jù)類型,范式的調(diào)整等,由于此時(shí)會(huì)考慮到存儲(chǔ)空間、性能、易編程、數(shù)據(jù)質(zhì)量等方面的因素。如定義“用戶名”字段要有多大,就需要在存儲(chǔ)空間節(jié)約和適應(yīng)性間權(quán)衡,定義的較小,遇到長(zhǎng)名字的狀況,程序不能適應(yīng);定義的以空間換取適應(yīng)性。再比方確定哪些字段為“非空字段有值,這會(huì)增加驗(yàn)證“非空”字段程序的代碼量,對(duì)用戶的約束也加強(qiáng),有些值要求用戶必需輸入,如口令就不能為空。但假設(shè)允許字定,影響數(shù)據(jù)質(zhì)量。一個(gè)根本的方向是“約束”多,則編程的代碼量Record機(jī)時(shí)間”和“上機(jī)費(fèi)用”沒有定義為“非空兩項(xiàng)不能確定,只能填寫局部上機(jī)記錄信息。xDAO大的改動(dòng)。一界面設(shè)計(jì)windowGUI〔如字體、顏色〕44參考界面1初始化顯示界面獵取空閑機(jī)器將空閑機(jī)器號(hào)參與下拉列表2上機(jī)處理過程:驗(yàn)證機(jī)器號(hào)、卡號(hào)、密碼是否為空依據(jù)卡號(hào)、密碼獵取卡對(duì)象假設(shè)卡對(duì)象為空則說明卡號(hào)或密碼錯(cuò),給出提示“卡號(hào)或密推斷卡狀態(tài),假設(shè)卡正在使用則給出提示“不能一卡多用”計(jì)算卡中余額,假設(shè)低于設(shè)定值,則提示“余額缺乏”修改卡狀態(tài)為在用,修改機(jī)器狀態(tài)為在用,獵取上機(jī)時(shí)間,將上機(jī)時(shí)間、機(jī)器號(hào)、卡號(hào)保存到記錄對(duì)象,再通過RecordDAO提示上網(wǎng)成功三閱歷共享6證數(shù)據(jù)的全都性。了降低簡(jiǎn)潔性,可規(guī)定時(shí)段只能為三段,時(shí)間準(zhǔn)確到分,費(fèi)用準(zhǔn)確到角。記錄ID如何保證唯一且自動(dòng)增長(zhǎng)。根本有兩種:一是編程把握,插入記錄前獵取當(dāng)前最大記錄號(hào) ,通過selectmax(id)fromrecord,加1后,將ID及其它信息寫入,假設(shè)有多用戶訪問該表,則上述過程要放在一個(gè)“事務(wù)”中。二是利用關(guān)系數(shù)據(jù)庫供給的“自增字段”特性,將ID設(shè)置成“自增字段,由數(shù)據(jù)庫負(fù)責(zé)每添加一條記錄就將ID加1。一界面設(shè)計(jì)下機(jī)模塊主要依據(jù)用戶懇求〔報(bào)出卡號(hào)/機(jī)器號(hào),治理員依據(jù)卡號(hào)/5機(jī)的全部記錄信息,選中其中一條執(zhí)行下機(jī)操作。5下機(jī)模塊界面二下機(jī)流程治理員輸入機(jī)器號(hào)或卡號(hào),懇求下機(jī)誤的狀況系統(tǒng)依據(jù)記錄對(duì)象獵取該記錄對(duì)應(yīng)的卡對(duì)象系統(tǒng)計(jì)算費(fèi)用,并比較卡對(duì)象余額,假設(shè)不夠則提示“余額缺乏并顯示余額系統(tǒng)從卡中扣費(fèi),修改卡狀態(tài)為“空閑〔下機(jī)時(shí)間、費(fèi)用。下機(jī)成功4一界面設(shè)計(jì)發(fā)卡需要輸入卡號(hào)用戶名密碼金額參考界面如以以下圖所示。界面設(shè)計(jì)布局應(yīng)簡(jiǎn)潔全都,從用戶友好性動(dòng)身,供給了輸入提示,增加了“確認(rèn)密碼,以提示用戶記住密碼,輸入的密碼號(hào)顯示以提高安全性雖然有了提示但在代碼中仍需對(duì)輸入進(jìn)展驗(yàn)證如金額不能為負(fù)值,以避開誤輸及惡意輸入。固然從口令強(qiáng)度考慮,要求密碼只輸入數(shù)字和字母又是不妥的相反可提示用戶輸入特別字符及輸入的最小字符數(shù)。所以此界面雖簡(jiǎn)潔,但已涉及到界面的視覺風(fēng)格、用戶 友 好 性 、 安 全 性 考 慮 。圖發(fā)卡界面二發(fā)卡流程系統(tǒng)從界面獵取全部信息,依次推斷是否為空0推斷密碼和確認(rèn)密碼是否全都,推斷密碼和用戶名是否在最小及最大長(zhǎng)度之間推斷卡號(hào)是否有效〔唯一〕生成CardCardDaoCard提示卡添加成功,并顯示卡號(hào)和金額三閱歷共享的長(zhǎng)度,驗(yàn)證是否為空、數(shù)字?jǐn)?shù)據(jù)是否在范圍內(nèi)等,有些輸入控件供給了限定輸入長(zhǎng)度等功能,應(yīng)當(dāng)充分利用以削減編碼量。一般驗(yàn)證可遵循如下策略:輸入前提示如何輸入,輸入后驗(yàn)證,驗(yàn)證不通過則再提示〔如通過對(duì)話框。輸入驗(yàn)證的時(shí)機(jī):可以在輸入一項(xiàng)后馬上驗(yàn)證該項(xiàng)輸入是否合法,也可以全部輸完后再逐項(xiàng)驗(yàn)證,某項(xiàng)假設(shè)驗(yàn)證不通過,除給出提示,從用戶友好性角度,還可以將焦點(diǎn)定位到出錯(cuò)項(xiàng)〔缺點(diǎn)是代碼簡(jiǎn)潔性增加。驗(yàn)證通過后的數(shù)據(jù)在程序內(nèi)部傳遞時(shí),一般無需重復(fù)驗(yàn)證。卡號(hào)的獵取。最根本的方式由治理員手工編號(hào)并保證卡號(hào)的唯一性,但卡一旦多了,這會(huì)成為治理員的負(fù)擔(dān),因此,可以由系統(tǒng)自動(dòng)編號(hào),如規(guī)定卡號(hào)從1ID,1也可以獵取當(dāng)前時(shí)間轉(zhuǎn)化成字符串作為ID,一般時(shí)間不會(huì)重復(fù),可保證IDID一界面設(shè)計(jì)刪除卡參考界面如以以下圖所示:圖刪除卡界面二刪除卡流程治理員輸入卡號(hào)系統(tǒng)依據(jù)卡號(hào),懇求CardDAO假設(shè)返回的卡對(duì)象存在,則執(zhí)行下一步,否則提示“卡號(hào)錯(cuò)誤要求重輸。系統(tǒng)從Card查詢余額,假設(shè)有則對(duì)話框提示“請(qǐng)結(jié)清余額”假設(shè)余額已結(jié)清且狀態(tài)為“空閑系統(tǒng)提示刪除成功三閱歷共享1如何刪除卡:一種是真刪,卡記錄信息從數(shù)據(jù)庫中永久刪除,承受deletefromwhere語句,此時(shí)還要留意,由于RecordCardRecordRecord中記錄是統(tǒng)計(jì)費(fèi)用的根本依據(jù),刪除后會(huì)使統(tǒng)計(jì)數(shù)據(jù)失真。update更改其狀態(tài)即可,這樣做好處是:一是可以完整保存已發(fā)卡信息,二是易于重恢復(fù)已刪卡。害處是:假設(shè)有大量卡〔數(shù)以十萬計(jì)〕長(zhǎng)期不用,會(huì)占用數(shù)據(jù)庫空間,影響訪問卡表的性能。2一般數(shù)據(jù)庫中數(shù)據(jù)刪除后難以恢復(fù),同時(shí)難以避開由于意外導(dǎo)致備份〔手動(dòng)或定期自動(dòng)備份〕功能也是必要的。系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)主要運(yùn)用集成開發(fā)環(huán)境、Java、數(shù)據(jù)庫工具依據(jù)設(shè)計(jì)制做出實(shí)際的界面,編寫代碼,生成數(shù)據(jù)庫表,進(jìn)展測(cè)試,這也是初級(jí)程序員所要完成的主要任務(wù),在此列出局部典型代碼,僅供參考。數(shù)據(jù)庫訪問對(duì)數(shù)據(jù)庫的根本操作是:增、刪、改、查,數(shù)據(jù)庫連接的建立、關(guān)閉,其中的難點(diǎn)是訪問數(shù)據(jù)庫的特別處理和參數(shù)化SQL,現(xiàn)舉例如下:獵取連接的代碼:privatestaticfinalStringDRIVER_CLASS=“sun.jdbc.odbc.JdbcOdbcDriver“;//定義驅(qū)動(dòng)類private static final String DATASOURCE “jdbc:odbc:NetBarDataSource“;//定義ODBCpublicstaticConnectiongetConnction{ConnectiondbConnection=null;try{Class.forName(DRIVER_CLASS);dbConnection =DriverManager.getConnection(DATASOURCE);}catch(Exceptione){e.printStackTrace;}returndbConnection;}該代碼針對(duì)JdbcOdbcDriver驅(qū)動(dòng),ODBC源名為NetBarDataSource,未支持口令驗(yàn)證。查詢代碼:/**judgecardisvalidornot.@paramcardCard@returnboolean*/publicbooleanisValid(Cardcard){booleanisValid=false;ConnectiondbConnection=null;PreparedStatementpStatement=null;ResultSetres=null;try{dbConnection=ConnectionManager.getConnction;//構(gòu)建查詢SQLStringstrSql=“select*fromcardwhereid=”“+card.getId+“”andpassword=”“+card.getPassword+“”“;if(dbConnection!=null){System.out.println(dbConnection!=null);}//查詢操作pStatement=dbConnection.prepareStatement(strSql);respStatement.executeQuery;//執(zhí)行SQL結(jié)果if(res.next){ //假設(shè)resisValid=true;}}catch(SQLExceptionsqlE){sqlE.printStackTrace;}finally{ConnectionManager.closeResultSet(res);//關(guān)閉結(jié)果集ConnectionManager.closeStatement(pStatement);ConnectionManager.closeConnection(dbConnection);//閉連接}returnisValid;}更代碼下面是更機(jī)器狀態(tài)的代碼,其中SQL“id數(shù),具體值設(shè)置在pStatement.setString(1,computer.getId)/**recordthecomputerhaveused.@paramcomputerComputer*/publicvoidupdateOnUse(Computercomputer){ConnectiondbConnection=null;PreparedStatementpStatement=null;try{StringstrSql=“updatecomputersetStatus=1whereid=(?);“;pStatement=dbConnection.prepareStatement(strSql);pStatement.setString(1,computer.getId);//設(shè)置機(jī)器號(hào)idpStatement.executeUpdate;}catch(SQLExceptionsqlE){sqlE.printStackTrace;}finally{ConnectionManager.closeStatement(pStatement);ConnectionManager.closeConnection(dbConnection);}}下機(jī)模塊在BusinessManagerdoCheckOut〔〕方法是實(shí)現(xiàn)下機(jī)過程的關(guān)鍵。/**docheckoutbusiness.@paramrecRecord,已有機(jī)器號(hào)值@returnComsumeDisplayInfo*/publicstaticComsumeDisplayInfodoCheckOut(Recordrec){RecordDAOdao=newRecordDAO;//獵取包含了下機(jī)記錄及對(duì)應(yīng)卡信息的ComsumeDisplayInfoComsumeDisplayInfo result dao.getStopCompouterRelationInfo(rec);Recordrecord=result.getRecord;Cardcard=result.getCard;//計(jì)算本次上機(jī)的費(fèi)用int fee = calFee(record.getBeginTime,record.getEndTime);record.setFee(fee);//計(jì)算余額intbalance=card.getBalance-fee;card.setId(record.getCardId);card.setBalance(balance);//將數(shù)據(jù)寫入數(shù)據(jù)庫RecordDAOdao2=newRecordDAO;dao2.doCheckOutDB(record,card);CARDComsumeDisplayInfo,供界面顯示下機(jī)結(jié)果result.setRecord(record);result.setCard(card);returnresult;}上機(jī)模塊處理懇求上機(jī)的局部代碼如下,主要有界面數(shù)據(jù)〔機(jī)器號(hào)、密碼、卡用戶號(hào)〕驗(yàn)證代碼;卡有效性、余額可用性驗(yàn)證。/**dealbusinessaboutclickconfirmbutton.@parameActionEvent*/voidconfirmButton_actionPerformed(ActionEvente){StringcardId=““;Stringpasswordtemp=““;StringcomputerId=““;//獵取機(jī)器號(hào),并去掉空格cardId=cardIdTextField.getText.trim;//獵取密碼for(inti=0;i<passwordFiled.getPassword.length;i++){passwordtemp+=passwordFiled.getPassword[i];}//獵取機(jī)器號(hào)computerId =computerIdCombox.getSelectedItem.toString;//推斷機(jī)器號(hào)是否為空,未填或只有空格if(computerId==null||computerId.trim.length==0){JOptionPane.showMessageDialog(this,“請(qǐng)選擇機(jī)器號(hào)!“,“警告“,JOptionPane.WARNING_MES
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 濕法煉鋅工藝流程題目及答案
- 有關(guān)中藥學(xué)的題目及答案
- 養(yǎng)老院老人生活?yuàn)蕵坊顒?dòng)組織人員職業(yè)發(fā)展規(guī)劃制度
- 養(yǎng)老院工作人員保密制度
- 養(yǎng)老院財(cái)務(wù)審批制度
- 辦公室內(nèi)部溝通與協(xié)作制度
- 鈦卷帶開平線處罰制度
- 酒店財(cái)務(wù)報(bào)銷制度
- 奧數(shù)3年級(jí)題目及答案
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國門窗行業(yè)發(fā)展前景預(yù)測(cè)及投資方向研究報(bào)告
- 九年級(jí)下冊(cè)語文必背古詩文(字帖描紅)
- 北京市行業(yè)用水定額匯編(2024年版)
- 婚內(nèi)財(cái)產(chǎn)協(xié)議書標(biāo)準(zhǔn)版
- 基于大數(shù)據(jù)的金融風(fēng)險(xiǎn)評(píng)估模型構(gòu)建
- 供應(yīng)鏈與生產(chǎn)制造L1-L4級(jí)高階流程規(guī)劃框架 相關(guān)兩份資料
- 光伏電站施工管理要點(diǎn)培訓(xùn)
- GB/T 43691.1-2024燃料電池模塊第1部分:安全
- 國際貿(mào)易合同履行中的運(yùn)輸保險(xiǎn)索賠程序與操作指南
- 龍澤滴灌帶生產(chǎn)項(xiàng)目可行性研究報(bào)告
- 運(yùn)動(dòng)系統(tǒng)疾病
- 2017全國高考真題完型填空匯編含答案
評(píng)論
0/150
提交評(píng)論