freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java課程設(shè)計--網(wǎng)吧計費管理系統(tǒng)設(shè)計-在線瀏覽

2025-03-25 14:57本頁面
  

【正文】 為了提高性能擴(kuò)展成“連接池”,同時對使用它的 xDAO 類沒有影響。 詳細(xì)設(shè)計 詳細(xì)設(shè)計主要 是關(guān) 注模塊一級的設(shè)計,一般有界面,核心 算法及 處理流程,數(shù)據(jù)庫表 (表、屬性及表間關(guān)系) 的設(shè)計 。 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計主要是根據(jù)分析和概要設(shè)計中發(fā)現(xiàn)的對象和類,確定哪些對象需要持久保存,然后將對象屬性及對象間關(guān)系轉(zhuǎn)化成關(guān)系表。其中 Card、 Computer、 Record的關(guān)系如下圖所示: 圖 持久對象 屬性及 關(guān)系圖 一條 Record 記錄必有對應(yīng)的一個 Card 及一臺 Computer,對于未用機器及卡,則沒有對應(yīng)的記錄。 共設(shè)計出四張表: 表 名稱 編碼 數(shù)據(jù)類型 卡號 ID(主鍵) VARCHAR( 20) 用戶名 USERNAME(非空) VARCHAR( 20) 密碼 PASSWORD(非空) VARCHAR( 15) 卡狀 態(tài) STATUS(非空) INTEGER 余額 BALANCE(非空) DOUBLE 表 名稱 編碼 數(shù)據(jù)類型 機器號 ID(主鍵) VARCHAR( 10) 狀態(tài) STATUS(非空) INTEGER 備注 NOTES VARCHAR( 200) 表 名稱 編碼 數(shù)據(jù)類型 記錄號 ID(主鍵) VARCHAR( 20) 卡號 CARDID(非空) VARCHAR( 20) 機器號 COMPUTERID(非空) VARCHAR( 10) 上機 時間 BEGINTIME(非空) DATE 下機時間 ENDTIME DATE 上機費用 FEE DOUBLE 4. Manager 表 名稱 編碼 數(shù)據(jù)類型 用戶名 USERNAME(非空) VARCHAR( 20) 口令 PASSWORD(非空) VARCHAR( 20) 經(jīng)驗共享: 數(shù)據(jù)庫設(shè)計一般相對獨立,采用的主要方法是將對象模型轉(zhuǎn)化為數(shù)據(jù)庫關(guān)系模型, 也可以采用傳統(tǒng)的設(shè)計出 ER圖,再定關(guān)系表的方法。首先基本的是確定有哪 幾張表,表間關(guān)系,然后是表中的字段,比較麻煩的是確定字段的約束(主鍵、非空等),字段數(shù)據(jù)類型 ,范式的調(diào)整等 ,因為此時會考慮到存儲空間、性能、易編程 、數(shù)據(jù)質(zhì)量 等 方面的因素 。 再比如確定哪些字段為“非空”,從編程角度看必須保證“非空”字段有值,這 會增加驗證 “非空”字段 程序的代碼量,對用戶的約束也加強,有些值要求用戶必 須輸入,如口令就不能為空。 一個基本的方向是“約束”多,則編程的代碼量會變大, 性能會下降, 但數(shù)據(jù)的質(zhì)量會得到 提高 。 一般數(shù)據(jù)庫表結(jié)構(gòu)的變動對于程序的影響較大,在程序設(shè)計上可通過 xDAO類 盡量消減變動的影響,在實現(xiàn)階段應(yīng)避免對數(shù)據(jù)庫結(jié)構(gòu) 大 的改動。 設(shè)計應(yīng)簡潔實用,避免在細(xì)節(jié)上(如字體、顏色)耗費時間。 ( 7)提示上網(wǎng)成功 三 經(jīng)驗共享 1 上機處理中的第 6步 要在一個完整的“事務(wù)”中完成,對卡、記錄、機器數(shù)據(jù)的更改 添加 要保證要么全部更改成功,要么都不更改,以保證數(shù)據(jù)的一致性。 3 記錄 ID 如何保證唯一且自動增長。二是利用關(guān)系數(shù)據(jù)庫提供的“自增字段”特性,將 ID設(shè)置成“自增字段”,由數(shù)據(jù)庫負(fù)責(zé)每添加一條記錄就 將 ID 加 1。當(dāng)然還有其它的設(shè)計方式,如顯示當(dāng)前上機的所有記錄信息,選中 其中一條執(zhí)行下機操作。 6 系統(tǒng)顯示 本次上網(wǎng) 完整 的記錄( Record) 信息及卡余額,并 提示下機成功 注: 下機處理 4 中 修改三表的操作應(yīng)作為一個“事 務(wù) ”完成。界面設(shè)計布局應(yīng)簡潔一致,從用戶友好性出發(fā),提供了輸入提示,增加了“確認(rèn)密碼”,以提醒用戶記住密碼 ,輸入的密碼用 *號顯示以提 高安全性 。 當(dāng)然從口令強度考慮,要求密碼只輸入數(shù)字和字母又是不妥的, 相反可提示用戶輸入特殊字符及輸入的最小字符數(shù)。 圖 發(fā)卡界面 二 發(fā)卡 流程 1 系統(tǒng)從界面獲取所有信息,依次判斷是否為空 2 判斷金額是否大于 0 3 判斷密碼和確認(rèn)密碼是否一致, 4 判斷密碼 和用戶名 是 否 在最小及最大長度之間 5 判斷卡號是否有效(唯一) 6 生成 Card 對象,請求 CardDao 向 Card 表中添加一條新記錄。 驗證輸入數(shù)據(jù)的難點之一 在于在驗證的代碼量和限制大多數(shù)常見錯誤間取得平衡,過多地驗證代碼無疑會增加編碼量和難度,但沒有驗證或很少驗證又使程序可靠性太差而難以實用。 一般驗證可遵循 如下策略 :輸入前提示 如何輸入 ,輸入后驗證,驗證不通過則 再 提示(如通過對話框)。 驗證通過后的數(shù)據(jù)在程序內(nèi)部傳遞時,一般無需重復(fù)驗證。最基本的方式由管 理員手工編號并保證卡號的唯一性,但卡一旦多了,這會成為管理員的負(fù)擔(dān),因此, 可以由系統(tǒng)自動編號,如規(guī)定卡號從 1依次遞增編號,這樣卡號就無需輸入。也可以獲取 當(dāng)前時間轉(zhuǎn)化成字符串作為 ID,一般時間不會重復(fù),可保證 ID 唯一,優(yōu)點是生成 ID 無需訪問數(shù)據(jù)庫,還可以代表發(fā)卡時間。 4 系統(tǒng) 從 Card 查詢卡狀態(tài) 5 若 為“在用”,則提示“不能刪除在用卡” 6 查詢余額,若有則對話框提示“請結(jié)清余額” 7 若余額 已結(jié)清且狀態(tài)為“空閑”,則將該卡信息刪除 8系統(tǒng)提示刪除成功 三 經(jīng)驗共享 1 如何刪除卡:一種是真刪,卡記錄信息從數(shù)據(jù)庫中永久刪除, 采用 delete from where 語句,此時還要注意,由于 Record 中有指向 Card 表的外鍵, 刪除涉及到“級連刪除”這一概念,即在 Record 中包含該卡號的記錄是否要一 起刪除。還有一種是假刪,即標(biāo)注卡狀態(tài)信息為“ 停用” ,只需用update 語句更改其狀態(tài)即可,這樣做好處是:一是可以完整保留已發(fā)卡信息,二是易于重新恢復(fù)已刪卡。 2 一般數(shù)據(jù)庫中數(shù)據(jù)刪除后難以恢復(fù) ,同時難以避免因為意外導(dǎo)致的數(shù)據(jù)損壞 ,因此重要數(shù)據(jù)的保存?zhèn)浞荼夭豢缮伲鞠到y(tǒng)沒有要求 做 數(shù)據(jù)備份功能, 因為數(shù)據(jù)庫管理工具一般會提供相應(yīng)功能,只是要求 用戶會使用數(shù)據(jù)庫管理工具,所以從方便用戶使用考慮,程序本身提供備份(手動或定期自動 備份 )功能也是必要的。 數(shù)據(jù)庫訪問 對數(shù)據(jù)庫的基本操作是:增、刪、改、查,數(shù)據(jù)庫連接的建立 、關(guān)閉 ,其中的難點是訪問數(shù)據(jù)庫的異常處理和參數(shù)化 SQL,現(xiàn)舉 例如下: 1 獲取連接 的 代碼: private static final String DRIVER_CLASS = 。 //定義 ODBC 數(shù)據(jù)源 public static Connection getConnction() { Connection dbConnection = null。 dbConnection = (DATASOURCE)。 } return dbConnection。 2 查詢代碼: 下面是根據(jù)用戶名和口令驗證卡是否有效的代碼 ,需要注意的是查詢參數(shù)值需要加單引號‘’ : /** * judge card is valid or not. * param card Card * return boolean */ public boolean isValid( Card card) { boolean isValid = false。 PreparedStatement pStatement = null。 try { dbConnection = ()。 + () + 39。 + () + 39。 } //查詢操作 pStatement = (strSql)。//執(zhí)行 SQL 語句 ,并返回結(jié)果 if (()) { //若 res有記錄說明卡存在 isValid = true。 } finally { (res)。 (dbConnection)。 } 3 更新代碼 下面是更新機器狀態(tài)的代碼 ,其中 SQL 語句中,“ id =(?)”是動態(tài)參數(shù),具體值設(shè)置在 (1, ()) /** * record the puter have used. * param puter Computer */ public void updateOnUse( Computer puter) { Connection dbConnection = null。 try { String strSql = update puter set Status =1 where id =(?) 。 pStatement = (strSql)。 //設(shè)置機器號 id 參數(shù) ()。 } finally { (pStatement)。 } } 下機模塊 在 BusinessManager 類中有一 doCheckOut()方法是實現(xiàn)下機過程的關(guān)鍵。 //獲取包含了下機記錄及對應(yīng)卡信息 的 ComsumeDisplayInfo ComsumeDisplayInfo result = (rec)。 Card card = ()。 (fee)。 (())。 //將數(shù)據(jù)寫入數(shù)據(jù)庫 RecordDAO dao2 = new RecordDAO()。 //返回含有 上機 記錄 、 CARD 記錄的 ComsumeDisplayInfo,供界面顯示 下機結(jié)果 (record)。 return result。 /** * deal business about click confirm button. * param e ActionEvent */ void confirmButton_actionPerformed(ActionEvent e) { String cardId=。 String puterId =。 //獲取密碼 for(int i=0。i++){ passwordtemp += ()[i]。 //判斷機器號是否為空,未填或只有空格 if(puterId==null || ().length()==0){ (this,請選擇機器號 !,警 告 , ,null )。 } /判斷卡號是否為空,未填或只有空格 if(cardId==null || ()==0){ (this,請輸入卡號 !,警告 , ,null )。 } if(passwordtemp==null || ()==0){ (this,請輸入密碼 !,警告 , ,null )。 } //生成卡對象, 并設(shè)置卡用戶名、口令、上機時間 Card card = new Card()。 (passwordtemp)。 (cardId)。 (dispalyNowTime)。 (puterId)。 }else{ (this,卡余額不足,請充值 !,警告, ,null )。 } }else{ (this,卡號或者密碼不對 !,警告 , ,null )。 return。做到這兩點并不容易,內(nèi)容正確要求寫幫助的人對系統(tǒng)的功能非常熟悉,簡明易懂則充分體現(xiàn) 出作者的文字功底。 友情提示: 客戶會根據(jù)幫助說明來使用系統(tǒng),系統(tǒng)功能正確 , 但因為幫助說明錯誤導(dǎo)致的 問題甚至官司比比皆是,所以在通過基本的驗收測試后,老師會按照你寫的幫助來使用系統(tǒng),進(jìn)而測試幫助文檔的正確性。 展望 本系統(tǒng)是一個簡單的網(wǎng)吧計費管理系統(tǒng), 無論在功能上還是使用方式上, 與現(xiàn)實中的網(wǎng)吧管理系統(tǒng)相比仍有 較大差距,但本系統(tǒng)可進(jìn)一步擴(kuò)展成實用的系統(tǒng),并且大部分代碼 (業(yè)務(wù)邏輯、數(shù)據(jù)庫及存取部分) 可以重用。 最后 以一句話結(jié)束本項目:“ 路漫漫其修遠(yuǎn)兮,吾將上下而求索 ”。 了解 Java 的多線程機制,掌握 Java 多線程技術(shù)的應(yīng)用 。 了解 Socket 編程的協(xié)議約定 ,掌握簡單應(yīng)用協(xié)議的開發(fā)
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1