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

下載本文檔

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

文檔簡介

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

最新文檔

評論

0/150

提交評論