網(wǎng)吧管理系統(tǒng)的設計與實現(xiàn).doc_第1頁
網(wǎng)吧管理系統(tǒng)的設計與實現(xiàn).doc_第2頁
網(wǎng)吧管理系統(tǒng)的設計與實現(xiàn).doc_第3頁
網(wǎng)吧管理系統(tǒng)的設計與實現(xiàn).doc_第4頁
網(wǎng)吧管理系統(tǒng)的設計與實現(xiàn).doc_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

華中科技大學文華學院畢業(yè)設計(論文) 畢業(yè)設計論文任務書姓名 班號 院系 同組姓名 無 指導教導 一、 課題名稱網(wǎng)吧管理系統(tǒng)的設計與實現(xiàn)二、 課題內(nèi)容 運用計算機進行網(wǎng)吧的自動計費與管理,是計算機成為當今社會輔助管 理手段發(fā)展的必然趨勢。在查閱了大量參考文獻的基礎上,運用 IC 卡自動識 別技術、數(shù)據(jù)庫技術和網(wǎng)絡的遠程通信與控制技術等,開發(fā)了計算機網(wǎng)吧自 動計費與管理系統(tǒng),將瑣碎的手工實際業(yè)務轉(zhuǎn)化到計算機操作上,極大地提 高了網(wǎng)吧工作人員的工作效率,有效地提高了網(wǎng)吧現(xiàn)代化管理的水平。三、 課題任務要求1 觀點正確,論證充分。2 結(jié)構(gòu)合理,邏輯嚴密。3 滿足一定的閱讀量。四、 同組設計者 無五、主要參考文獻 1 張海藩.軟件工程導論.北京:清華大學出版社,2008年 2 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版).北京:高等教育出版社,2008年3 龔赤兵等.visual studio 2008 中的LINQ 開發(fā)技術.北京:機械工業(yè)出版社,2008年4 Julia Case Bradley,Anuta C.Millspaugh .Visual Basic 2008 程序設計(第七版).北京:清華大學出版社,2008年5 章立民等.Visual Basic 2003 2005 開發(fā)秘訣與范例大全.北京:電子工業(yè)出版社,2005年6 胡百敬 姚巧玫. SQL Server 2005數(shù)據(jù)庫開發(fā)詳解.北京:電子工業(yè)出版社,2006年7 童愛紅 劉凱 劉雪梅.VB.NET程序設計實用教程.北京:清華大學出版社,2008年指導教師簽字 教研室主任簽字 年 月 日目錄摘要1前言1第一章 系統(tǒng)概述11.1 系統(tǒng)開發(fā)的背景和意義11.2 系統(tǒng)開發(fā)技術11.2.1 VB.NET概述11.2.2 SQL Server數(shù)據(jù)庫2第二章 可行性分析32.1 可行性概述32.2 可行性研究3第三章 系統(tǒng)需求分析43.1 傳統(tǒng)網(wǎng)吧管理43.2 系統(tǒng)優(yōu)點43.3 系統(tǒng)功能需求43.3.1 系統(tǒng)邏輯模型53.3.2 服務端53.3.3 客戶端63.4 系統(tǒng)的設計原則63.5 系統(tǒng)設計的思想63.5.1 系統(tǒng)設計結(jié)構(gòu)63.5.2 系統(tǒng)實現(xiàn)技術7第四章 系統(tǒng)的總體設計84.1 系統(tǒng)功能設計84.2 系統(tǒng)功能模塊簡介94.2.1 客戶端功能模塊94.2.2 服務端功能模塊94.2.3 數(shù)據(jù)庫設計10第五章 詳細設計135.1 關鍵模塊設計135.1.1 登陸模塊135.1.2 客戶端模塊135.1.3 服務端模塊145.2 系統(tǒng)界面設計155.2.1 登錄界面155.2.2 客戶端界面165.2.3 服務端界面17第六章 編碼實現(xiàn)196.1 系統(tǒng)功能實現(xiàn)196.2 登陸模塊編碼196.3 客戶端模塊編碼206.4 服務端模塊編碼23第七章 系統(tǒng)測試277.1 系統(tǒng)測試目標277.2 系統(tǒng)測試方案277.3 具體測試287.3.1 登錄模塊測試287.3.2 客戶端測試287.3.3 服務端測試30結(jié)束語31參考文獻32致謝33摘要運用計算機進行網(wǎng)吧的自動計費與管理,是計算機成為當今社會輔助管 理手段發(fā)展的必然趨勢。在查閱了大量參考文獻的基礎上,運用 IC 卡自動識 別技術、數(shù)據(jù)庫技術和網(wǎng)絡的遠程通信與控制技術等,開發(fā)了計算機網(wǎng)吧自 動計費與管理系統(tǒng),將瑣碎的手工實際業(yè)務轉(zhuǎn)化到計算機操作上,極大地提 高了網(wǎng)吧工作人員的工作效率,有效地提高了網(wǎng)吧現(xiàn)代化管理的水平。本系 統(tǒng)在參閱其他成功的網(wǎng)吧管理系統(tǒng)的基礎上,通過對實際業(yè)務的分析,確定 了系統(tǒng)的設計思想和運行流程,主要在以下幾個方面開展了研究工作:在對 自動識別和 IC 卡技術進行分析的基礎上,提出了使用IC 卡作為用戶上機識 別的標志的思想,并給出了具體的實現(xiàn)方式。研究了數(shù)據(jù)庫技術及其發(fā)展情 況,根據(jù) SQL Server 2000 數(shù)據(jù)庫的特點,選用了適合本系統(tǒng)的開發(fā)軟件。 關鍵詞:網(wǎng)吧管理,自動計費,SQL,Server 前言隨著高科技的蓬勃發(fā)展,智能化管理已經(jīng)走進了人們的社會生活,一座座智能化大廈拔地而起,適應信息的時代需要,作為跨世紀使用的建筑,必須在功能上滿足當前和未來發(fā)展的需求,成為文化和經(jīng)濟發(fā)展的基地 網(wǎng)吧管理系統(tǒng)開發(fā)作為一項先進的高科技技術防范和管理手段,在一些經(jīng)濟發(fā)達的國家已經(jīng)廣泛應用于科研工業(yè)博物館酒店商場醫(yī)療監(jiān)護銀行監(jiān)獄等,特別是由于系統(tǒng)本身具有隱蔽性,及時性等特點,在許多領域的應用越來越廣泛341 系統(tǒng)概述1.1 系統(tǒng)開發(fā)的背景和意義隨著計算機技術的日月更新,越來越多的人們注重加強對計算機知識的學習,為了滿足學校學生或者社會學員的需求,許多網(wǎng)吧都紛紛對外開放,實行計時收費。但隨著上機人數(shù)的增多,網(wǎng)吧的管理成了一個非常困難的問題。首先,人工計時收費是非常繁瑣的一項工作,耗費人力物力,而且極容易出錯;最后的統(tǒng)計工作更是一項費時費力的苦差事,甚至不能統(tǒng)計。其次,上機過程中,每個網(wǎng)吧都需要值班人員值班,耗費了管理人員的很多時間。隨著計算機各種外圍設備技術的發(fā)展,以上工作通過計算機就可以很方便地實現(xiàn)。為了適應當前網(wǎng)吧管理無人化的需求,本人試圖利用自己大學所學專業(yè)知識并結(jié)合教學管理中的實際情況和其它類似計費軟件的優(yōu)點,開發(fā)了一套網(wǎng)吧收費系統(tǒng)軟件。本系統(tǒng)可以解決網(wǎng)吧管理中存在的幾個實際問題:1 減少值班人員、維護人員,降低管理人員費用,甚至可以做到網(wǎng)吧無需人員值守管理。2 增加網(wǎng)吧的開放時間,提高設備的利用率。3 解決目前網(wǎng)吧管理中的人情免費上機、脫逃費問題。1.2 系統(tǒng)開發(fā)技術1.2.1 VB.NET概述VB.net是微軟最新平臺技術,是.net framework SDK的一種語言。編譯以后生成的可執(zhí)行文件被稱為Assembly,即程序集。它的運行是建立在CLR(Common Language Runtime)MSIL(Microsoft Intermediate Language)虛擬器上的。其實,它的機制和Java差不多。 VB.net的語言特點有下:1 代碼托管。被托管的代碼享受.net framework提供的安全保障和垃圾回收機制,但是這也同時表明,程序被框在Framework里面了。API變得不太方便。2 強大的面向?qū)ο筇匦浴,F(xiàn)在VB7已經(jīng)是一個完全的面向?qū)ο蟪绦?。它已?jīng)支持類的各種特性:繼承,函數(shù)的覆蓋,重載,虛擬,隱藏。3 功能強大,程序界面更標準。4 程序代碼結(jié)構(gòu)化更強,開發(fā)環(huán)境舒適體貼。1.2.2 SQL Server數(shù)據(jù)庫美國Microsoft公司推出的一種關系型數(shù)據(jù)庫系統(tǒng)。SQLServer是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了與WindowsNT的有機結(jié)合,提供了基于事務的企業(yè)級信息管理系統(tǒng)方案。其主要特點如下: 1 高性能設計,可充分利用WindowsNT的優(yōu)勢。2 系統(tǒng)管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統(tǒng)管理和配置。3 強壯的事務處理功能,采用各種方法保證數(shù)據(jù)的完整性。4 支持對稱多處理器結(jié)構(gòu)、存儲過程、ODBC,并具有自主的SQL語言。 SQLServer以其內(nèi)置的數(shù)據(jù)復制功能、強大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個出眾的數(shù)據(jù)庫平臺2可行性分析2.1 可行性概述可行性分析也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術、經(jīng)濟、社會的房買你進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。2.2 可行性研究數(shù)據(jù)庫是指自描述的完整記錄的集合。數(shù)據(jù)庫技術在20世紀60年代中期產(chǎn)生,它的出現(xiàn)使信息系統(tǒng)的研制從加工數(shù)據(jù)的程序為中心轉(zhuǎn)變?yōu)楣蚕頂?shù)據(jù)庫為中心來進行。數(shù)據(jù)庫開始時在大公司或機構(gòu)中進行大規(guī)模數(shù)據(jù)處理后來隨著計算機的逐漸普及,數(shù)據(jù)庫才應用到計算機上。數(shù)據(jù)庫發(fā)展到今天,已經(jīng)是相當成熟的階段,它對大量處理能力的不斷提高,發(fā)展和完善。本系統(tǒng)的開發(fā)利用VS2008作為開發(fā)工具。VS2008是一個具有完善開發(fā)工具的平臺。VS2008提供的工具適合各種水平層次無論是初學者還是有經(jīng)驗的團隊,并適合各種不同的開發(fā)需求。降低了開發(fā)的復雜度,其提供給開發(fā)者更加簡便動態(tài)的.Net Framework基礎解決方案,其中包括了windows應用程序開發(fā)、office嵌入開發(fā)、Web應用開發(fā)、移動應用程序開發(fā)。改進了團隊交流方式,VS2008為團隊開發(fā)提供通道和完整的開發(fā)周期工具,從而增加了團隊內(nèi)部的交流與協(xié)作的效率。通過學習,熟悉和掌握VB.NET的使用方法,使用VS2008作為開發(fā)工具將使整個系統(tǒng)的模塊化設計變得更加簡便。系統(tǒng)采用SQL SERVER 2005作為開發(fā)數(shù)據(jù)庫。SQL SERVER 2005是一種客戶機/服務器結(jié)構(gòu)的關系數(shù)據(jù)庫管理系統(tǒng)。SQL SERVER 2005提供了許多易于使用的圖形化工具和向?qū)В渲凶畛S玫氖欠展芾砥?、企業(yè)管理器和查詢分析器。它們?yōu)閯?chuàng)建和管理數(shù)據(jù)庫帶來了很大的方便。3 系統(tǒng)需求分析3.1 傳統(tǒng)網(wǎng)吧管理網(wǎng)吧是隨人們生活中對計算機越來越需要而建立的,這類網(wǎng)吧大多存在于學校,公司,圖書館等大型公共場所,在網(wǎng)吧建立之初,沒有網(wǎng)吧計費系統(tǒng)的情況下,網(wǎng)吧的管理完全人工化。逃費,人情上機,計費錯誤等情況不可避免地出現(xiàn)。也可以說是網(wǎng)吧現(xiàn)象中的一部分,這類情況給管理人員帶來很大的麻煩,逃費和計費錯誤會給網(wǎng)吧管人員在財力帶來損失或誤會,人情上機會給管理人員帶來生活中尷尬的煩惱。這類情況一再發(fā)生,就會在管理人員精神上帶來越來越大的壓力。上機用戶有時也會因管理人員的失誤帶來不必要的麻煩。漸漸大家對網(wǎng)吧就會有一種厭惡感和恐懼感。同時,在人工長期使用,會形成大量的數(shù)據(jù),這些數(shù)也會使得數(shù)據(jù)管理上的混亂。3.2 系統(tǒng)優(yōu)點人工管理網(wǎng)吧實在存在很大的問題,而且浪費太多的人力,物力。計算機一點一丁的入侵人類的生活,計算機管理代替人工管理是不可避免的,像網(wǎng)吧管理這類不要求在管理上創(chuàng)新,機械般管理更加完美的前提下,我選擇設計開發(fā)網(wǎng)吧計費系統(tǒng),希望能改善網(wǎng)吧管理上的混亂情況,也避免了管理人員的工作麻煩。使用網(wǎng)吧計費系統(tǒng)優(yōu)于人工管理在于:1 管理人員的工作量。2 計費準確無誤。3 避免人情上機的尷尬。4 工作迅速快捷。3.3 系統(tǒng)功能需求網(wǎng)吧計費系統(tǒng)的主要功能有:1 服務端(包括管理員管理,用戶信息管理)2 客戶端(用戶使用計算機的所有情況)3 系統(tǒng)數(shù)據(jù)的初始化,查詢,修改,刪除。3.3.1 系統(tǒng)邏輯模型為了實現(xiàn)管理信息系統(tǒng)的計算機化,僅僅用文字來描述信息的流動和存儲還遠遠不夠,還要進一步調(diào)查分析舍去物質(zhì)流,抽象出信息流,繪制出數(shù)據(jù)流程圖,并對各種數(shù)據(jù)的屬性和各項處理功能進行詳細分析。系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)主要是以數(shù)據(jù)流程圖、E-R圖和系統(tǒng)功能模塊圖為主要描述工具來勾畫系統(tǒng)的概貌。對系統(tǒng)的功能進行分析,綜合本系統(tǒng)設計的服務器端與客戶端,總結(jié)整個系統(tǒng)功能模塊。圖3.1頂層數(shù)據(jù)流圖用戶信息用戶信息登陸用戶管理員上機更新用戶消費信息下機用戶信息3.3.2 服務端1 管理員管理主要包括:操作用戶管理、操作員登錄、修改密碼、設置上機費用。這其中大部分是標準數(shù)據(jù)的維護,包括新增、修改、刪除等;2 用戶信息管理主要包括:用戶充值、查詢用戶費用、刪除用戶信息、添加用戶信息、修改用戶信息。這里區(qū)分不同的用戶類型,按照不同用戶類型設置上機費用等;3 上機記錄主要負責接收客戶端程序發(fā)送來的上、下機信息,進行上、下機的處理,在處理上機登錄時要進行用戶的合法性檢測。檢測通過后產(chǎn)生一條用戶上機記錄,記錄下計算機代碼、賬號、登錄開始時間等信息。處理下機信息時,要記錄下此用戶下機的詳細時間。計費時要將當前使用費用記錄在上機記錄中,并在用戶的檔案記錄的余額字段中扣減。3.3.3 客戶端首先要求將客戶端的桌面、任務管理器、系統(tǒng)狀態(tài)欄等系統(tǒng)功能鎖定,桌面上只有客戶登錄程序界面,要求用戶輸入用戶代碼和密碼進行登錄。登錄信息要求數(shù)據(jù)庫中的信息來判斷其合法性,并反饋一個信息給客戶端,如果一切合法的話,再將桌面、任務管理器等功能解鎖,讓用戶正常使用??蛻舳顺绦蛞笳M?吭谙到y(tǒng)托盤中,用戶下機時要求點擊此圖標進行下機,客戶端將下機信息發(fā)送到數(shù)據(jù)庫,系統(tǒng)關機。3.4 系統(tǒng)的設計原則根據(jù)系統(tǒng)的需求分析,計費系統(tǒng)屬于網(wǎng)絡,計算機使用費用,作息管理及數(shù)據(jù)庫于一體的綜合性系統(tǒng),因而,網(wǎng)吧計費系統(tǒng)在總體設計時應遵循以下原則上:1 系統(tǒng)的功能設計完善性,滿足多方的使用需求。2 系統(tǒng)應具有良好的穩(wěn)定性,實用性,安全性。設計理念應是客戶容易使用。3 數(shù)據(jù)庫結(jié)構(gòu)設計合理,各類屬性符合要求。3.5 系統(tǒng)設計的思想3.5.1 系統(tǒng)設計結(jié)構(gòu)基于網(wǎng)吧計費系統(tǒng)的綜合性,而且為了滿足多方使用的需求,本系統(tǒng)以c/s的框架結(jié)構(gòu)為基本結(jié)構(gòu)模式:(如圖3.2所示)客戶端服務端數(shù)據(jù)庫服務器圖3.2 系統(tǒng)結(jié)構(gòu)圖3.5.2 系統(tǒng)實現(xiàn)技術系統(tǒng)實現(xiàn)所需開發(fā)環(huán)境VisualBasic.NET,它是下一代的VisualBasic。而并不是簡單的在VisualBasic6.0上在添加一些新特性而已,微軟重新設計了產(chǎn)品以便使開發(fā)者能夠更加容易的開發(fā)分布式應用,例如基于WEB的程序以及多層系統(tǒng)。VisualBasic.NET中有兩種窗體包,Windows窗體以及Web窗體;一個新版的ADO用于接受離線數(shù)據(jù)源;新的語言,移走了原來的關鍵字,提高Type數(shù)據(jù)的安全性以及提供低級別結(jié)構(gòu)以滿足高級別開發(fā)者的需求。這些新的特性為VisualBasic開發(fā)者提供了新的開發(fā)窗口:通過Web窗體以及ADO.NET,你可以快速開發(fā)可擴展的Web站點;通過繼承,該語言實現(xiàn)了真正的支持面向?qū)ο缶幊蹋╫bject-orientedprogramming);Windows窗體本身支持可視繼承;現(xiàn)在展開程序就像拷貝可執(zhí)行文件和控件到另一個目錄那樣簡單。Visual Basic.NET現(xiàn)在完全集成在其它的Microsoft Visual Studio.NET語言中,不僅可以通過不同的語言開發(fā)組件,而且通過交叉語言繼承,可以從用一種語言編寫的類中派生用另一種語言編寫的類。4 系統(tǒng)的總體設計4.1 系統(tǒng)功能設計本系統(tǒng)包含兩個子系統(tǒng),其中網(wǎng)吧的客戶用的是客戶端子系統(tǒng),而網(wǎng)管所使用的則是服務端子系統(tǒng)。每個子系統(tǒng)包換了若干子功能模塊,每個子功能模塊完成相應的處理操作功能。網(wǎng)吧計費系統(tǒng)管理員表管理消費記錄管理客戶端管理端用戶信息管理用戶登錄用戶計費管理員登陸圖 4.1 系統(tǒng)總功能框圖客戶端負責用戶信息驗證和記錄用戶的上機信息。管理端是直接操作數(shù)據(jù)庫信息,實現(xiàn)對整個系統(tǒng)的管理。4.2 系統(tǒng)功能模塊簡介4.2.1 客戶端功能模塊1 客戶登陸輸入用戶名與密碼登錄系統(tǒng)通過對比用戶名與密碼確定用戶是否合法2 計費模塊獲取登陸時間并保存到數(shù)據(jù)庫獲取下機時間并保存到數(shù)據(jù)庫計算花費并保存到數(shù)據(jù)庫計算余額并保存到數(shù)據(jù)庫4.2.2 服務端功能模塊1 管理員的登陸輸入用戶名與密碼登陸系統(tǒng)通過對比用戶名與密碼確定用戶是否合法2 用戶信息管理添加用戶修改用戶刪除用戶3 管理員信息管理添加管理員修改管理員刪除管理員4 消費記錄管理查看消費記錄4.2.3 數(shù)據(jù)庫設計該系統(tǒng)數(shù)據(jù)庫使用的是SQLserver ,美國Microsoft公司推出的一種關系型數(shù)據(jù)庫系統(tǒng)。SQLServer是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了與WindowsNT的有機結(jié)合,提供了基于事務的企業(yè)級信息管理系統(tǒng)方案。1 概念結(jié)構(gòu)設計概念結(jié)構(gòu)設計的任務是在需求分析階段產(chǎn)生的需求說明書的基礎上,按照特定的方法把它們抽象為一個不依賴于任何具體機器的數(shù)據(jù)模型,即概念模型。概念模型使設計者的注意力能夠從復雜的實現(xiàn)細節(jié)中解脫出來,而只集中在最重要的信息的組織結(jié)構(gòu)和處理模式上。概念模型具有以下的特點:(1) 概念模型是對現(xiàn)實世界的抽象和概括,它真實、充分地反映了現(xiàn)實世界中事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。(2) 由于概念模型簡潔、明晰、獨立于計算機,很容易理解,因此可以用概念模型和不熟悉計算機的用戶交換意見,使用戶能積極參與數(shù)據(jù)庫的設計工作,保證設計工作順利進行。(3) 概念模型易于更新,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充。(4) 概念模型很容易向關系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的有力工具是E-R圖。E-R模型是一個面向問題的概念模型,即用簡單的圖形方式(E-R圖)描述現(xiàn)實世界中的數(shù)據(jù)。這種描述不涉及數(shù)據(jù)在數(shù)據(jù)庫中表示和存取方法,非常接近人的思維方式。后來又提出了擴展實體聯(lián)系模型(Extend Entity-Relationship Model),簡稱為“EER模型”。EER模型目前已經(jīng)成為一種使用廣泛的概念模型,為面向?qū)ο蟮臄?shù)據(jù)庫設計提供了有效的工具。圖4.2 詳細E-R圖余額年齡用戶賬號密碼注冊日期上機費用管理員密碼性別年齡賬號年齡計算機計算機名使用管理管理11n11n2 邏輯結(jié)構(gòu)設計概念結(jié)構(gòu)設計所得的E-R模型是對用戶需求的一種抽象的表達形式,它獨立于任何一種具體的數(shù)據(jù)模型,因而也不能為任何一個具體的DBMS所支持。為了能夠建立起最終的物理系統(tǒng),還需要將概念結(jié)構(gòu)進一步轉(zhuǎn)化為某一DBMS所支持的數(shù)據(jù)模型,然后根據(jù)邏輯設計的準則、數(shù)據(jù)的語義約束、規(guī)范化理論等對數(shù)據(jù)模型進行適當?shù)恼{(diào)整和優(yōu)化,形成合理的全局邏輯結(jié)構(gòu),并設計出用戶子模式。數(shù)據(jù)庫邏輯結(jié)構(gòu)的設計分為兩個步驟:首先將概念設計所得的E-R圖轉(zhuǎn)換為關系模型;然后對關系模型進行優(yōu)化。在網(wǎng)吧計費系統(tǒng)當中包括了以上幾個ER模型向關系模型的轉(zhuǎn)換:用戶表(帳號,密碼,年齡,余額,上機費用,注冊日期)管理員表(帳號,密碼,姓名,年齡,性別)消費表(登陸帳號,登陸時間,下機時間,計算機名,花費)3 物理結(jié)構(gòu)設計 在表當中,關鍵字(即編號)都采用自動編號的數(shù)據(jù)類型;日期都采用日期型的數(shù)據(jù)類型;凡是關于數(shù)據(jù)量的都采用數(shù)據(jù)型的數(shù)據(jù)類型;其他數(shù)據(jù)均采用文本型的數(shù)據(jù)類型。當表之間有關系時通過添加外鍵來處理。當表與其他表有關系時,便給該表建立一張視圖,通過外鍵將兩張表聯(lián)系起來,通過數(shù)據(jù)篩選,把自己想要的信息提取出來,形成一張新的表。其數(shù)據(jù)庫中表的設計具體如下:表4-1 用戶表列名數(shù)據(jù)類型允許空字段說明帳號Char(10)否主鍵密碼Char(10)否登錄密碼余額Money是用戶余額上機費用Money否每分鐘費用注冊日期Datetime是注冊日期表4-2 管理員表列名數(shù)據(jù)類型允許空字段說明帳號Char(10)否主鍵密碼Char(10)是登陸密碼姓名Varchar(50)是管理員姓名年齡Varchar(50)是管理員年齡性別Char(10)是管理員性別表4-3 消費表列名數(shù)據(jù)類型允許空字段說明登陸帳號Char(10)否主鍵登陸時間Datetime是登陸時間下機時間Datetime 是下機時間計算機名Varchar(50)是計算機名花費money是花費5 詳細設計5.1 關鍵模塊設計此次設計的網(wǎng)吧計費系統(tǒng)主要包括三大模塊:系統(tǒng)登錄模塊、客戶端系統(tǒng)模塊、服務端系統(tǒng)模塊。系統(tǒng)登錄模塊由登錄界面組成;用戶的本次登陸信息顯示及操作功能模塊組成本系統(tǒng)的客戶端系統(tǒng);用戶信息管理、管理員信息管理、消費信息記錄組成本系統(tǒng)的服務端系統(tǒng)??蛻舳讼到y(tǒng)主要是為普通用戶使用而設計的;而服務端系統(tǒng)是維護系統(tǒng)的數(shù)據(jù)、客戶端的數(shù)據(jù)內(nèi)容的顯示以及用戶信息的管理等,是為后臺管理員使用設計的。5.1.1 登陸模塊本系統(tǒng)在客戶端有一個用戶的登陸界面,在服務端有一個管理員的登陸界面,客戶端的登陸是用戶開始使用此計算機并開始計費,而服務器端的登陸界面是為了獲得管理整個系統(tǒng)的權(quán)利。實現(xiàn)功能:驗證帳號和密碼的正確性。實現(xiàn)方法:添加數(shù)據(jù)庫連接,建立LINQ to SQL 類,使用LINQ語言調(diào)用數(shù)據(jù)庫信息,完成帳號和密碼的驗證,進入系統(tǒng)。實現(xiàn)方案:建立一個窗口,在窗口中添加兩個文本框,用來存放帳號和密碼,添加一個確定按鈕,用來觸發(fā)登陸事件。添加LINQ to SQL類,建立數(shù)據(jù)對象,通過LINQ語言查詢數(shù)據(jù)庫中是否存在登陸的帳號和密碼并匹配。如果存在則進入系統(tǒng),顯示主窗口,關閉登陸窗口(如圖5.1)。5.1.2 客戶端模塊實現(xiàn)功能:記錄用戶的登陸信息,計算用戶產(chǎn)生的費用,并發(fā)送給數(shù)據(jù)庫。實現(xiàn)方法:建立一個顯示窗口以顯示此次登陸的有效信息,獲取登陸時間和下機時間,計算此次花費和帳戶余額,并將這些信息返回數(shù)據(jù)庫。具體方案:建立一個窗口,分別添加Label控件顯示登陸時間,已上機時間,本次花費。建立LINQ to SQL 類,添加數(shù)據(jù)庫服務器,調(diào)用系統(tǒng)時間函數(shù)獲取登陸時間和下機時間,調(diào)用數(shù)據(jù)庫中的用戶上機費用等信息,進行計算此次所花的費用。添加Timer控件持續(xù)更新當前時間,計算并顯示已上機時間(如圖5.2)。開始輸入帳戶、密碼 N是否存在Y進入主界面圖 5.1 系統(tǒng)登陸流程圖獲取登陸時間獲取當前時間計算費用修改數(shù)據(jù)庫客戶端圖5.2 客戶端窗口設計5.1.3 服務端模塊實現(xiàn)功能:添加修改刪除用戶信息,添加修改刪除管理員信息,查看用戶的消費記錄。實現(xiàn)方法:建立各個功能窗口,通過主窗口調(diào)用各子功能窗口,在子功能窗口中通過中的DataGridView控件直接操作數(shù)據(jù)庫中的信息。具體方案:建立四個窗口,一個作為主窗口,另外三個作為子窗口,建立LINQ to SQL 類,添加數(shù)據(jù)庫服務器,在三個子窗口分別添加DataGridView控件,配置DataGridView控件顯示不同的數(shù)據(jù)表的內(nèi)容,并相應實現(xiàn)添加刪除的功能(如圖5.3)。用戶信息窗口管理員信息窗口消費記錄窗口修改數(shù)據(jù)庫添加修改刪除查看添加修改刪除服務端主窗口圖 5.3 服務端窗口設計5.2 系統(tǒng)界面設計網(wǎng)吧計費系統(tǒng)主要涉及到三個用戶界面:這些界面基本包括了系統(tǒng)功能規(guī)定的所有功能。以下是關于這幾個用戶界面當中一些主要的功能界面的簡單介紹。5.2.1 登錄界面用戶登錄界面主要是作為系統(tǒng)入口進入系統(tǒng)使用的,使用人員啟動系統(tǒng)之后便會出現(xiàn)登錄界面,用戶登錄進入到系統(tǒng)的主界面(如圖5.4)。5.2.2 客戶端界面客戶端界面主要是用來顯示用戶有關信息的。根據(jù)網(wǎng)吧用戶的習慣設置了一個隱藏按鈕,可以放在系統(tǒng)托盤圖標中,當雙擊次圖標時,顯示客戶端的主界面(如圖5.5和圖5.6)。圖 5.4 用戶登陸窗口圖5.5 客戶端系統(tǒng)托盤圖標圖5.6 客戶端界面5.2.3 服務端界面服務端界面主要是管理員操作系統(tǒng)信息使用的,系統(tǒng)使用人員登錄之后便出現(xiàn)功能界面。在此界面下,用戶可以操作規(guī)定權(quán)限下的功能操作。主界面(如圖5.7)調(diào)用以下功能模塊1 用戶信息管理功能調(diào)用用戶信息管理窗口,可以進行添加,修改,刪除用戶信息操作。(如圖5.8 )2 管理員信息管理功能調(diào)用管理員信息管理窗口,可以進行添加,修改,刪除管理員信息操作。(如圖5.9 )3 消費記錄管理功能察看用戶的消費記錄。(如圖5.10 )圖 5.7 主界面圖 5.8 用戶信息管理界面圖5.9 管理員信息管理界面圖 5.10 消費記錄管理界面6 編碼實現(xiàn)6.1 系統(tǒng)功能實現(xiàn)網(wǎng)吧計費管理功能主要有兩個方面:客戶端和服務端。在服務端,管理員能夠增加,刪除及更新用戶信息;客戶端在普通用戶登陸后,會自動計時計費。系統(tǒng)功能實現(xiàn)主要通過客戶端對登陸用戶信息進行收集和更新。6.2 登陸模塊編碼圖 6.1 登陸窗口Dim db As New 網(wǎng)吧計費管理DataContext Try Dim username = (From admin In db.Table_2 _ Where admin.帳號 = UsernameTextBox.Text _ Select admin.帳號).Single() Dim userpassword = (From admin In db.Table_2 _ Where admin.密碼 = PasswordTextBox.Text _ Select admin.密碼).Single() UsernameTextBox.Text = PasswordTextBox.Text = Form1.Show() Me.Close() Catch ex As Exception MessageBox.Show(用戶名或密碼錯誤, 請重新輸入!) UsernameTextBox.Text = PasswordTextBox.Text = End Try6.3 客戶端模塊編碼圖 6.2 客戶端窗口Dim db As New 網(wǎng)吧計費管理DataContextDim mydatetime As DateTime Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Hide() LoginForm1.ShowDialog() Try Dim username = From admin In db.Table_3 _ Where admin.登陸賬號 = Label7.Text _ Select admin mydatetime = DateTime.Now Label4.Text = mydatetime.ToString For Each Table_3 In username Table_3.登陸時間 = mydatetime Table_3.計算機名 = System.Net.Dns.GetHostName Next db.SubmitChanges() Catch ex As Exception Dim newTable_3 As New Table_3 With _ .登陸賬號 = Label7.Text, _ .登陸時間 = Label4.Text, _ .計算機名 = System.Net.Dns.GetHostName db.Table_3.InsertOnSubmit(newTable_3) db.SubmitChanges() End Try End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If (Label7.Text = ) Then Else Dim nowdatetime As DateTime = DateTime.Now Dim ds As TimeSpan ds = nowdatetime.Subtract(mydatetime) Label5.Text = ds.ToString Dim huafei = From user In db.Table_3 _ Where user.登陸賬號 = Label7.Text _ Select user Dim cost = (From user In db.Table_1 _ Where user.帳號 = Label7.Text _ Select user.上機費用).Single Dim hua = (ds.Minutes + ds.Hours * 60) * cost For Each Table_3 In huafei Table_3.花費 = hua Next db.SubmitChanges() Label6.Text = hua End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim closetime As DateTime = DateTime.Now Dim ds As TimeSpan ds = closetime.Subtract(mydatetime) Dim yu = (From user In db.Table_1 _ Where user.帳號 = Label7.Text _ Select user) Dim cost = (From user In db.Table_1 _ Where user.帳號 = Label7.Text _ Select user.上機費用).Single For Each Table_1 In yu Table_1.余額 = Table_1.余額 - (ds.Minutes + ds.Hours * 60) * cost Next db.SubmitChanges() Me.Close() End Sub Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize If Me.WindowState = FormWindowState.Minimized Then Me.Hide() End If End Sub Private Sub 顯示詳細信息ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 顯示詳細信息ToolStripMenuItem.Click Me.Visible = True Me.WindowState = FormWindowState.Normal End Sub Private Sub 下機ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 下機ToolStripMenuItem.Click Dim closetime As DateTime = DateTime.Now Dim ds As TimeSpan ds = closetime.Subtract(mydatetime) Dim yu = (From user In db.Table_1 _ Where user.帳號 = Label7.Text _ Select user) Dim cost = (From user In db.Table_1 _ Where user.帳號 = Label7.Text _ Select user.上機費用).Single For Each Table_1 In yu Table_1.余額 = Table_1.余額 - (ds.Minutes + ds.Hours * 60) * cost Next db.SubmitChanges() Me.Close() End Sub Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick Me.ShowInTaskbar = True Me.Show() Me.WindowState = FormWindowState.Normal End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Hide() End Sub6.4 服務端模塊編碼圖 6.3 服務端主窗口Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Hide() LoginForm1.ShowDialog() End Sub Private Sub 用戶管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 用戶管理ToolStripMenuItem.Click Form2.MdiParent = Me Form2.Show() Form2.WindowState = FormWindowState.Maximized Form3.Hide() Form4.Hide() End Sub Private Sub 管理員管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 管理員管理ToolStripMenuItem.Click Form3.MdiParent = Me Form3.Show() Form3.WindowState = FormWindowState.Maximized Form2.Hide() Form4.Hide() End Sub Private Sub 消費記錄ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 消費記錄ToolStripMenuItem.Click Form4.MdiParent = Me Form4.Show() Form4.WindowState = FormWindowState.Maximized Form2.Hide() Form3.Hide()End Sub圖 6.4 服務端用戶信息子窗口Private Sub Table_1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Validate() Me.Table_1BindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.網(wǎng)吧計費管理DataSet) End Sub Private Sub Table_1BindingNavigatorSaveItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Validate() Me.Table_1BindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.網(wǎng)吧計費管理DataSet) End Sub Private Sub Table_1BindingNavigatorSaveItem_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Validate() Me.Table_1BindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.網(wǎng)吧計費管理DataSet) End Sub Private Sub Table_1BindingNavigatorSaveItem_Click_3(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.Validate() Me.Table_1BindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.網(wǎng)吧計費管理DataSet) End Sub Private Sub Table_1BindingNavi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論