版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、delphi網(wǎng)吧管理系統(tǒng)開(kāi)題報(bào)告論文源代碼答辯ppt外文翻譯第一章 緒 論11 前言隨著高科技的蓬勃發(fā)展,智能化管理已經(jīng)走進(jìn)了人們的社會(huì)生活,一座座智能化大廈拔地而起,適應(yīng)信息的時(shí)代需要,作為跨世紀(jì)使用的建筑,必須在功能上滿足當(dāng)前和未來(lái)發(fā)展的需求,成為文化和經(jīng)濟(jì)發(fā)展的基地。門(mén)禁系統(tǒng)開(kāi)發(fā)作為一項(xiàng)先進(jìn)的高科技技術(shù)防范和管理手段,在一些經(jīng)濟(jì)發(fā)達(dá)的國(guó)家已經(jīng)廣泛應(yīng)用于科研、工業(yè)、博物館、酒店、商場(chǎng)、醫(yī)療監(jiān)護(hù)、銀行、監(jiān)獄等,特別是由于系統(tǒng)本身具有隱蔽性,及時(shí)性等特點(diǎn),在許多領(lǐng)域的應(yīng)用越來(lái)越廣泛。門(mén)禁系統(tǒng)的技術(shù)不斷向前發(fā)展, 用戶需求也在發(fā)生變化, 因此門(mén)禁系統(tǒng)的設(shè)計(jì)與實(shí)施應(yīng)考慮到將來(lái)可擴(kuò)展的實(shí)際需要, 亦
2、即: 可靈活增減或更新各個(gè)子系統(tǒng), 滿足不同時(shí)期的需要, 保持長(zhǎng)時(shí)間領(lǐng)先地位, 成為智能建筑的典范。系統(tǒng)設(shè)計(jì)時(shí),對(duì)需要實(shí)現(xiàn)的功能進(jìn)行了合理配置,并且這種配置是可以改變的,設(shè)置甚至在工程完成后,這種配置的改變也是可能的和方便的.系統(tǒng)軟件根據(jù)開(kāi)發(fā)商符合不同歷史時(shí)期市場(chǎng)的需求進(jìn)行相應(yīng)的升級(jí)和完善,并免費(fèi)為相應(yīng)的應(yīng)用客戶進(jìn)行免費(fèi)的軟件升級(jí).同時(shí),可以擴(kuò)展為考勤系統(tǒng)、會(huì)議簽到系統(tǒng)、巡邏管理系統(tǒng),就餐管理系統(tǒng)等一卡通工程。12 Delphi 簡(jiǎn)介本課題是在Delphi的基礎(chǔ)上開(kāi)發(fā)研制的,下面對(duì)Delphi進(jìn)行簡(jiǎn)單的介紹。Delphi是Borland公司開(kāi)發(fā)的可視化軟件開(kāi)發(fā)系統(tǒng)。Delphi系列軟件的工作平
3、臺(tái)相當(dāng)廣泛,可以工作于icrosoft Visual C+的功能相當(dāng)強(qiáng)大,但調(diào)試程序時(shí)的編譯時(shí)間過(guò)長(zhǎng),使很多程序員感到棘手;而Delphi在編譯時(shí)等待的時(shí)間很少。Delphi的編譯器采用了事件編譯和選擇鏈接技術(shù),使生成的可執(zhí)行文件冗余更少,運(yùn)行起來(lái)速度更快。另外,由于Delphi生成的可執(zhí)行文件不需要?jiǎng)討B(tài)鏈接庫(kù)的支持,可以直接交付使用,這會(huì)使得使用Delphi的程序員充分享受Delphi為他們帶來(lái)的方便快捷。Delphi系列另一個(gè)廣受歡迎的原因是其強(qiáng)大的可擴(kuò)展數(shù)據(jù)庫(kù)功能。Delphi6.0不但在傳統(tǒng)的開(kāi)發(fā)能力方面持續(xù)進(jìn)步,讓程序員能夠享有更具生產(chǎn)力的開(kāi)發(fā)環(huán)境,對(duì)于最新的信息技術(shù),也有非常良好的
4、支持,讓程序員能夠快速地使用這些新的技術(shù)。在對(duì)Delphi有了一個(gè)初步的了解之后,我們將進(jìn)入對(duì)Delphi集成開(kāi)發(fā)環(huán)境和工程管理的介紹,使大家能夠進(jìn)一步深入了解Delphi,并在此基礎(chǔ)上介紹編輯器和調(diào)試器的使用方法。IDE是提供設(shè)計(jì)、運(yùn)行和測(cè)試應(yīng)用程序所需的所有工具的集成環(huán)境。Delphi的集成開(kāi)發(fā)環(huán)境(IDE)包括代碼編輯器、調(diào)試器、工具欄、圖像編輯器以及諸多用于應(yīng)用程序開(kāi)發(fā)的組件(如數(shù)據(jù)庫(kù)開(kāi)發(fā)組件等)。所有這些都以集成方式進(jìn)行操作,極大地簡(jiǎn)化了用戶編程的過(guò)程。13 研究背景當(dāng)前,大學(xué)內(nèi)的微機(jī)機(jī)房正在朝著開(kāi)放式,大型化方向發(fā)展。一個(gè)教學(xué)實(shí)驗(yàn)中心里的幾個(gè)機(jī)房有著幾百臺(tái)微機(jī),已是很普遍的現(xiàn)象。使
5、用方式也由原來(lái)的以計(jì)劃安排集體上機(jī)為主,變?yōu)橐詡€(gè)人自由上機(jī)為主。因此、以往那種主要針對(duì)集體上機(jī)的以機(jī)房和時(shí)間段為單位來(lái)安排機(jī)器使用的管理方式已顯得不適用。為適應(yīng)新的應(yīng)用和發(fā)展,結(jié)合中心自身的特點(diǎn),四川大學(xué)工程設(shè)計(jì)中心和西南交通大學(xué)共同研制出了這套用于微機(jī)機(jī)房管理的集中式IC卡控制門(mén)禁系統(tǒng)。該系統(tǒng)著眼于對(duì)大型開(kāi)放式機(jī)房進(jìn)行集中管理。把原來(lái)的分機(jī)房分散管理變?yōu)閱我怀鋈肟诘募泄芾?。變?cè)瓉?lái)的人工計(jì)時(shí)計(jì)費(fèi)為計(jì)算機(jī)管理的IC卡計(jì)費(fèi)。14 特點(diǎn)及組成原理該系統(tǒng)有如下特點(diǎn):(1)技術(shù)上充分利用機(jī)房?jī)?nèi)部局域系統(tǒng)(LAN)環(huán)境。管轄范圍內(nèi)只設(shè)一個(gè)出入口。將所有投入使用的機(jī)器置于集中統(tǒng)一管理之下。(2)采用多模塊
6、結(jié)構(gòu)化模式設(shè)計(jì),使用多種軟件混合編程。實(shí)現(xiàn)子系統(tǒng)內(nèi)數(shù)據(jù)庫(kù)管理和通訊及子系統(tǒng)與子系統(tǒng)之間的通訊。通過(guò)相互間的通訊,把幾個(gè)子系統(tǒng)的結(jié)合在一起。形成一個(gè)完善的門(mén)禁管理系統(tǒng)。(3)用戶界面友好、操作簡(jiǎn)便、并且具有較好的可維護(hù)性。(4)系統(tǒng)除強(qiáng)調(diào)其實(shí)用性外,還對(duì)其安全性和可靠性作了充分考慮。該系統(tǒng)主要由IC卡刷卡機(jī)管理子系統(tǒng)、登錄管理服務(wù)器及用戶端登錄子系統(tǒng)組成。它們之間通過(guò)內(nèi)部局域交換信息以保證機(jī)房外刷卡和機(jī)房?jī)?nèi)登錄能協(xié)調(diào)工作。除此之外,還有與之相配套的數(shù)據(jù)后備系統(tǒng)提供電源保障的UPS系統(tǒng),在門(mén)禁系統(tǒng)管理下,刷卡機(jī)管理子系統(tǒng)向機(jī)器使用者提供上機(jī)刷卡服務(wù)。持卡用戶首先在設(shè)于機(jī)房外出入口的刷卡機(jī)前刷卡,刷
7、卡機(jī)管理管理服務(wù)器在對(duì)卡的有效性進(jìn)行驗(yàn)證,待驗(yàn)證無(wú)誤后使用者方可能進(jìn)入機(jī)房。進(jìn)入機(jī)房后還要進(jìn)行登記才能使用機(jī)器。登錄管理服務(wù)器及用戶端登錄子系統(tǒng)提供使用者刷卡后進(jìn)入機(jī)房后的登錄服務(wù)。上機(jī)要進(jìn)行登錄是為了避免無(wú)卡上機(jī)和一人使用多臺(tái)機(jī)器情況的發(fā)生而設(shè)計(jì)的。使用者進(jìn)入機(jī)房后,可以隨意選定機(jī)位但必需進(jìn)行登錄后才能獲得機(jī)器的使用權(quán)。為了避免未經(jīng)刷卡就上機(jī),在登錄管理服務(wù)器的管理下,未刷卡的人將不能通過(guò)登錄驗(yàn)證,一個(gè)人也不能同時(shí)登錄兩臺(tái)機(jī)器。同樣,一臺(tái)已經(jīng)被登錄使用的機(jī)器如果未被使用者注銷,它也不能再被其他人登錄。當(dāng)機(jī)器使用完畢后,使用者必須先執(zhí)行登錄管理服務(wù)器所提供的下機(jī)注銷功能,釋放該機(jī)器的使用權(quán),然
8、后再到刷卡機(jī)前刷卡,刷卡機(jī)管理子系統(tǒng)根據(jù)使用時(shí)間計(jì)算并從卡上扣除相應(yīng)機(jī)時(shí)金額。如此,門(mén)禁管理系統(tǒng)就完成了一個(gè)上下機(jī)的管理過(guò)程。從上面上下機(jī)的過(guò)程可以看出,門(mén)禁管理系統(tǒng)的核心部分主要由設(shè)在機(jī)房外的IC卡刷卡機(jī)管理子系統(tǒng)、登錄管理服務(wù)器和裝在機(jī)房?jī)?nèi)每臺(tái)機(jī)器上的用戶端登錄子系統(tǒng)組成,形成內(nèi)外兩道防線。使其即實(shí)現(xiàn)上機(jī)必須刷卡,且一人只能使用一臺(tái)計(jì)算機(jī),又能根據(jù)需要自由選定機(jī)位,調(diào)換機(jī)位。給管理和使用都帶來(lái)了方便。下面分別介紹各子系統(tǒng)的功能及工作原理。141 刷卡機(jī)管理子系統(tǒng)刷卡機(jī)管理子系統(tǒng)負(fù)責(zé)對(duì)出入機(jī)房進(jìn)行計(jì)時(shí),以及對(duì)卡的有效性進(jìn)行驗(yàn)證。它還兼有對(duì)當(dāng)前正在上機(jī)和當(dāng)日上機(jī)總?cè)藬?shù)進(jìn)行統(tǒng)計(jì)的功能。該子系統(tǒng)由
9、IC卡刷卡機(jī)和刷卡機(jī)管理服務(wù)器組成。IC卡刷卡機(jī)由單片機(jī)加上一個(gè)通過(guò)IC卡機(jī)構(gòu)成,使其具有了和刷卡機(jī)管理服務(wù)器之間進(jìn)行通訊的能力和驅(qū)動(dòng)數(shù)碼管顯示的能力。加上一個(gè)多用戶串行通信卡與刷卡機(jī)進(jìn)行通信,一臺(tái)刷卡機(jī)管理服務(wù)器上的多用戶卡最多可掛接8臺(tái)IC卡刷卡機(jī)。IC卡使用者刷卡后,刷卡機(jī)將IC卡信息送至刷卡機(jī)管理服務(wù)器,經(jīng)校驗(yàn)傳送信息無(wú)誤后,刷卡機(jī)管理服務(wù)器查找數(shù)據(jù)庫(kù)對(duì)該卡記錄進(jìn)行處理,判別是上機(jī)還是下機(jī),如果是上機(jī),就必須對(duì)該卡的有效性進(jìn)行驗(yàn)證。它要檢查該卡是否已經(jīng)超過(guò)使用期限、是否是掛失卡、卡上金額是否滿足設(shè)定的要求等。如驗(yàn)證有誤,管理服務(wù)器送相應(yīng)錯(cuò)誤代碼至IC卡刷卡機(jī),IC卡刷卡機(jī)將顯示誤代碼,
10、并發(fā)聲提示。如果是下機(jī),管理服務(wù)器首先要通過(guò)LAN從用戶端登錄服務(wù)器獲取該卡登錄信息,判斷該卡是否按正常下機(jī)步驟已經(jīng)注銷。如已注銷,根據(jù)用機(jī)時(shí)間和設(shè)定的機(jī)時(shí)價(jià)格送至刷卡機(jī)扣出金額并清除庫(kù)中相應(yīng)的上機(jī)信息。否則送“尚未注銷”錯(cuò)誤代碼至IC卡刷卡機(jī)通知該卡用戶返回機(jī)房注銷機(jī)器以釋放該機(jī)器的使用權(quán)。一次刷卡過(guò)程在500ms內(nèi)完成。該系統(tǒng)還可按不同機(jī)房的不同機(jī)型設(shè)置收費(fèi)標(biāo)準(zhǔn)。根據(jù)實(shí)際應(yīng)用的需要,該子系統(tǒng)還設(shè)置了跨日下機(jī),不注銷刷卡下機(jī)等特殊處理功能。登錄管理服務(wù)器及用戶端錄子系統(tǒng)該子系統(tǒng)由一個(gè)含有控制引導(dǎo)過(guò)程的擴(kuò)展ROM卡和事先寫(xiě)在硬盤(pán)特殊位置的登錄軟件構(gòu)成。放在ROM擴(kuò)展卡上的程序用來(lái)獲取對(duì)系統(tǒng)引導(dǎo)
11、過(guò)程的控制權(quán),確保該計(jì)算機(jī)的使用者必須經(jīng)過(guò)上機(jī)登錄并且有效才能取得對(duì)該機(jī)器的使用權(quán)。由于采用了硬件設(shè)計(jì),一般用戶無(wú)法繞過(guò)登錄,因此,設(shè)置登錄功能就有效地避免了未經(jīng)刷卡就使用機(jī)器或一個(gè)使用多臺(tái)機(jī)器現(xiàn)象的發(fā)生。用戶端登錄服務(wù)通訊程序BOLABDC+編寫(xiě),它的作用是用它通過(guò)LAN與登錄服務(wù)器進(jìn)行通訊,以完成對(duì)該機(jī)的上機(jī)登錄和下機(jī)注銷以及更改密碼的工作。使用者刷卡進(jìn)入機(jī)房后,首先將申請(qǐng)?jiān)摍C(jī)使用權(quán)的用戶的卡號(hào),密碼輸入。登錄服務(wù)通訊程序?qū)⑤斎氲目ㄌ?hào),密碼連同本機(jī)地址一道通過(guò)LAN發(fā)送至登錄管理服務(wù)器,登錄管理服務(wù)器收到登錄申請(qǐng)請(qǐng)求后通過(guò)LAN查詢刷卡機(jī)管理服務(wù)器。通過(guò)卡號(hào)查詢檢查該卡用戶是否已經(jīng)刷卡。如
12、果找到該卡的刷卡信息并且核對(duì)密碼無(wú)誤,則返回登錄成功信息到用戶終端機(jī)。用戶終端機(jī)收到返回的登錄成功信息后將控制權(quán)交本機(jī)aster和Graduate三組。他們每人均有一張機(jī)讀卡,對(duì)學(xué)生而言標(biāo)識(shí)其學(xué)號(hào),對(duì)教職員而言則標(biāo)識(shí)其員工代號(hào),在此我們系統(tǒng)稱為ID。每個(gè)ID均由數(shù)字和英文字母組成,長(zhǎng)度不大于16位?,F(xiàn)在要對(duì)該進(jìn)行管理,實(shí)現(xiàn)刷卡上機(jī),自動(dòng)計(jì)費(fèi)。因此,該系統(tǒng)應(yīng)有刷卡和實(shí)時(shí)監(jiān)控兩個(gè)模塊。在刷卡端能夠使用刷卡器讀取用戶卡上的ID并發(fā)送給服務(wù)器,然后顯示用戶信息及刷卡成功或失敗等反饋消息;在實(shí)時(shí)監(jiān)控端,要求設(shè)立管理員,能夠?qū)崟r(shí)顯示已刷卡用戶、進(jìn)行自動(dòng)計(jì)費(fèi)以及輸出查詢統(tǒng)計(jì)報(bào)表。管理員可以維護(hù)上機(jī)用戶的數(shù)據(jù)
13、,實(shí)現(xiàn)增加、刪除用戶及修改用戶信息。下表1-1顯示了系統(tǒng)模塊劃分情況。模塊名所在機(jī)器功能刷卡模塊專門(mén)用于刷卡的PC上刷卡及顯示反饋信息實(shí)時(shí)監(jiān)控模塊域控制器上(服務(wù)器)實(shí)時(shí)顯示、自動(dòng)計(jì)費(fèi)、用戶管理和輸出查詢統(tǒng)計(jì)報(bào)表表1-1 局域門(mén)禁系統(tǒng)模塊劃分情況刷卡模塊主要完成刷卡功能,同時(shí)顯示從服務(wù)器上反饋回來(lái)的信息,包括:用戶ID、用戶姓名、用戶班級(jí)、用戶刷卡登記時(shí)間、用戶刷卡注銷時(shí)間、當(dāng)前的上機(jī)余款、刷卡是否成功。為了防止用戶使用鍵盤(pán)關(guān)閉刷卡模塊,必須實(shí)現(xiàn)只能通過(guò)服務(wù)器端的實(shí)時(shí)監(jiān)控模塊制刷卡模塊退出的功能。實(shí)時(shí)監(jiān)控模塊主要完成實(shí)時(shí)監(jiān)控功能,隨時(shí)監(jiān)聽(tīng)從刷卡端發(fā)來(lái)的刷卡消息,叛斷是刷卡登錄還是刷卡注銷,隨后
14、進(jìn)行相應(yīng)的數(shù)據(jù)處理,再向刷卡端返回反饋消息。用戶管理主要分為用戶帳號(hào)的增加、刪除,用戶信息的修改。每一個(gè)欲上機(jī)的用戶必須首先在實(shí)時(shí)監(jiān)控模塊端進(jìn)行注冊(cè),然后在刷卡端刷卡,方可使用局域內(nèi)的任一臺(tái)機(jī)器。系統(tǒng)對(duì)用戶進(jìn)行了分類,分成老師、研究生、本科生三類,分別有不同的計(jì)費(fèi)標(biāo)準(zhǔn)。統(tǒng)計(jì)查詢功能要求有登錄日志查詢、用戶信息查詢、組信息查詢和用戶上機(jī)情況統(tǒng)計(jì)。登錄日志查詢要求顯示某段日期內(nèi)某個(gè)用戶的登錄記錄;用戶信息查詢要求顯示某用戶的具體信息如金額等;組信息查詢要求顯示某組的計(jì)費(fèi)標(biāo)準(zhǔn)和成員列表;用戶上機(jī)情況統(tǒng)計(jì)要求統(tǒng)計(jì)用戶的總上機(jī)小時(shí)數(shù)以便核查。所有查詢統(tǒng)計(jì)結(jié)果均為只讀信息,不可以進(jìn)行任何修改。在用戶管理和
15、查詢統(tǒng)計(jì)前,均要求使用者輸入管理員帳號(hào)和密碼。由于實(shí)時(shí)臨近模塊端可以對(duì)用戶數(shù)據(jù)庫(kù)進(jìn)行操作,考慮到安全性,必須在啟動(dòng)的時(shí)候?qū)κ褂谜叩纳矸葸M(jìn)行認(rèn)證,由使用者輸入管理員帳號(hào)和密碼,同數(shù)據(jù)庫(kù)中的記錄進(jìn)行核對(duì),核對(duì)正確后方可進(jìn)入系統(tǒng)。這樣確保了只有管理員才可以運(yùn)行實(shí)時(shí)監(jiān)控模塊,也保證了用戶資料不受惡意修改。管理員進(jìn)入實(shí)時(shí)監(jiān)控模塊后,可以維護(hù)自己的密碼,以滿足自己的需要。22 系統(tǒng)設(shè)計(jì)在以上的系統(tǒng)功能分析中,我們確定了系統(tǒng)的模塊劃分和所需要具有的功能。然而用戶需求還不能直接指導(dǎo)我們進(jìn)行開(kāi)發(fā),作為開(kāi)發(fā)人員,我們必須根據(jù)用戶需求進(jìn)行詳細(xì)的系統(tǒng)分析和設(shè)計(jì),形成相應(yīng)的數(shù)據(jù)模型,包括數(shù)據(jù)庫(kù)的表結(jié)構(gòu)、數(shù)據(jù)在各表及各模
16、塊之間的傳遞關(guān)系、絡(luò)通信所使用的自定義協(xié)議等。只有事先確定了這些,我們才能在開(kāi)發(fā)時(shí)做到心中有數(shù),游刃有余。221 畫(huà)出數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flo,簡(jiǎn)稱DFD圖)是用一些規(guī)定的圖標(biāo)和符號(hào)來(lái)描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理的情況。數(shù)據(jù)流圖在表示系統(tǒng)時(shí),采用自上而下逐步細(xì)化的結(jié)構(gòu)化方法表示。頂層一級(jí)的功能在下一級(jí)中加以細(xì)化。根據(jù)系統(tǒng)分析,我們可以畫(huà)出如圖1-5所示的頂層數(shù)據(jù)流圖。圖1-5 頂層數(shù)據(jù)流圖上面的頂層數(shù)據(jù)流圖經(jīng)過(guò)細(xì)化后,得到圖1-6所示的監(jiān)控模塊第二層數(shù)據(jù)流圖與圖1-7所示的刷卡模塊第二層數(shù)據(jù)流圖。 反 退 刷 饋 出 卡 消 命 消 息 令 息 刷卡消息量 驗(yàn)證信息 身份驗(yàn)證 處理結(jié)
17、果 驗(yàn) 身 證 份 調(diào)用信息 調(diào)用信息 調(diào)用信息 信 驗(yàn) 查詢要求 統(tǒng)計(jì)要求 修改要求 息 證 查詢結(jié)果 統(tǒng)計(jì)結(jié)果 修改結(jié)果圖1-6 實(shí)時(shí)監(jiān)控模塊第二層數(shù)據(jù)流 顯示信息 刷卡消息 刷卡反饋消息 刷卡ID 系統(tǒng)退出命令圖1-7 刷卡模塊第二層數(shù)據(jù)流222 編寫(xiě)數(shù)據(jù)項(xiàng)根據(jù)數(shù)據(jù)項(xiàng)的含義,我們將數(shù)據(jù)項(xiàng)的定義分為以下幾個(gè)方面:數(shù)據(jù)項(xiàng)名、類型、長(zhǎng)度、附加說(shuō)明。主要數(shù)據(jù)項(xiàng)定義如表5-14至表5-16所示。數(shù)據(jù)項(xiàng)名類型長(zhǎng)度說(shuō)明用戶ID(id)字符型16英文字符和數(shù)字的組合類型(type)字符型4固定為“刷卡”,為以后功能擴(kuò)充使用登錄時(shí)間(intime)日期型形式:2005-3-4 12:00注銷時(shí)間(outt
18、ime)日期型形式同上IP字符型15以后功能擴(kuò)充使用表1-14 數(shù)據(jù)項(xiàng)定義(登錄日志)數(shù)據(jù)項(xiàng)名類型長(zhǎng)度說(shuō)明組類別(type)字符型16英文字符和數(shù)字的組合(主碼),為T(mén)eacher|Master|Graduate計(jì)費(fèi)標(biāo)準(zhǔn)(criteria)浮點(diǎn)型Single類型表1-15 數(shù)據(jù)項(xiàng)定義(組計(jì)費(fèi)標(biāo)準(zhǔn))數(shù)據(jù)項(xiàng)名類型長(zhǎng)度說(shuō)明用戶ID(id)字符型16用戶卡上的標(biāo)識(shí)碼(主碼)類型(type)字符型16同組類別姓名(name)字符型20密碼(poney)浮點(diǎn)型Single類型附加信息(info)字符型100其他信息表1-16 數(shù)據(jù)項(xiàng)定義(用戶列表)23 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)根據(jù)對(duì)數(shù)據(jù)流圖和數(shù)據(jù)字典的分
19、析,我們可以確定該應(yīng)用中的實(shí)體、屬性和實(shí)體之間的關(guān)系,并畫(huà)出如圖所示的用戶E-R圖。 1 1 n 1 1 n m n m 2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換后的關(guān)系模型如下所示,關(guān)系主碼用下劃線標(biāo)出.登錄日志 Log( id, type, intime, outtime,ip )計(jì)費(fèi)標(biāo)準(zhǔn) Rule( type, criteria )用戶列表 Users( id, type, class, name, poney, info )下面我們將利用SQL語(yǔ)言的CREATE語(yǔ)句建立上述關(guān)系,并定義好完整性約束.CRAETE TABLE Log 登錄日志(id VARCHAR(16),type VARC
20、HAR(16),intime DATETIME,outtime DATETIME,ip VARCHAR(15);CREATE TABLE Rule 計(jì)費(fèi)標(biāo)準(zhǔn)(type VARCHAR(16) CONSTRAINT CONDNO PRIMARY KEY ,criteria FLOAT);CREATE TABLE Users(id VARCHAR(16) CONSTRAINT CONDNO PRIMARY KEY ,type VARCHAR(16),class VARCHAR(16),name VARCHAR(20),poney FLOAT,info VARCHAR(100);具體到建立數(shù)據(jù)庫(kù),需
21、要手工建立一個(gè)數(shù)據(jù)庫(kù)LGSys.mdb.第三章 分子模塊的設(shè)計(jì)31 C/S基本概念什么是C/S?如果你是一位DELPHI開(kāi)發(fā)人員,那你一定要把這個(gè)概念弄清楚。因?yàn)閷?shí)際上,DELPHI本身就是一個(gè)客戶/服務(wù)器開(kāi)發(fā)環(huán)境。典型的客戶/服務(wù)器結(jié)構(gòu)總是包括一個(gè)前端程序,也叫客戶。其作用于是向遠(yuǎn)程服務(wù)器上的程序發(fā)送數(shù)據(jù),并接收來(lái)自服務(wù)器的數(shù)據(jù)并進(jìn)行一定的處理,再根據(jù)情況進(jìn)行反饋。即遠(yuǎn)程服務(wù)器是服務(wù)的提供者,它可以從內(nèi)部訪問(wèn)服務(wù)器上的數(shù)據(jù)庫(kù);而客戶總是向服務(wù)器請(qǐng)求服務(wù),并不能直接訪問(wèn)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)。在這種情況下,服務(wù)器盡可能詳盡地定義業(yè)務(wù)規(guī)則和實(shí)現(xiàn)盡可對(duì)強(qiáng)大的功能,因?yàn)樗歉卤容^緩慢的,而客戶往往比較
22、“瘦小”,因?yàn)樗穷l繁更新和分發(fā)的對(duì)象。一般情況下,客戶/服務(wù)器方案可以解決以下幾個(gè)問(wèn)題:允許將不同客戶進(jìn)行分類,每類客戶只允許處理它負(fù)責(zé)的數(shù)據(jù)。以一種更為有效的方式為決策者提供決策支持。在MIS中加強(qiáng)對(duì)數(shù)據(jù)的集中控制,而在數(shù)據(jù)分析和使用的集中控制上只需要花費(fèi)比較少的精力。在服務(wù)器端可以對(duì)整個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)完整性驗(yàn)證。更靈活的業(yè)務(wù)劃分,客戶端和服務(wù)器端業(yè)務(wù)功能分離,各司其職。服務(wù)器向客戶端傳遞的數(shù)據(jù)是經(jīng)過(guò)篩選的,可以減輕絡(luò)負(fù)擔(dān)??蛻?服務(wù)器模型客戶/服務(wù)器模型通常分兩層模型和三層模型兩類。下面我們分別進(jìn)行介紹。兩層模型兩層模型的應(yīng)用十廣泛,基本上,它是由桌面數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)演變而來(lái)的。在
23、此模型中,數(shù)據(jù)庫(kù)位于服務(wù)器端,客戶應(yīng)用程序位于客戶機(jī)上,業(yè)務(wù)邏輯放在客戶或服務(wù)器上。如圖1-5所示。三層模型如圖1-6所示,客戶僅僅起顯示數(shù)據(jù)的作用,業(yè)務(wù)規(guī)則(處理邏輯)放在服務(wù)器上,而實(shí)際的數(shù)據(jù)庫(kù)則放在另外一臺(tái)機(jī)器上。由于三者處于不同的機(jī)器,開(kāi)發(fā)人員可以更靈活高效地劃分系統(tǒng)功能,優(yōu)化數(shù)據(jù)訪問(wèn)及維護(hù)數(shù)據(jù)的完整性。圖1-5 兩層客戶/服務(wù)器模型 圖1-6 三層客戶/服務(wù)器模客戶/服務(wù)器模型與桌面數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的比較客戶/服務(wù)器器模型與桌面模型應(yīng)用系統(tǒng)的比較:面向集合與面向記錄。對(duì)客戶端而言,它面向的是記錄。對(duì)桌面數(shù)據(jù)庫(kù)而言,它直接面對(duì)數(shù)據(jù)集合;而在C/S模型中,客戶面對(duì)的只是數(shù)據(jù)集合的一個(gè)子集。
24、通過(guò)SQL語(yǔ)句,客戶可以從服務(wù)器端獲取到符合一定要求的一組記錄,而不需要把整個(gè)數(shù)據(jù)表格全部下載到本地再進(jìn)行處理。而一個(gè)桌面數(shù)據(jù)庫(kù)要從絡(luò)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)時(shí),它得到的是整個(gè)數(shù)據(jù)表格。如果數(shù)據(jù)表格很大,那絡(luò)傳輸所需要的時(shí)間是很長(zhǎng)的。相比之下,通過(guò)SQL,只需要通過(guò)絡(luò)傳輸符合記錄的部分記錄集,這就大大減輕了絡(luò)傳輸?shù)呢?fù)擔(dān),也使系統(tǒng)的響應(yīng)速度得到了很大的提高。331 刷卡模塊刷卡模塊主要有2個(gè)子模塊組成,如圖1-7所示。 圖1-7 刷卡模塊系統(tǒng)結(jié)構(gòu)圖下面是各模塊的主要功能:背景框架子模塊該子模塊是刷卡模塊的背景界面,通過(guò)覆蓋整個(gè)桌面起到模擬的效果。同時(shí),它起到禁止用戶關(guān)閉系統(tǒng)的作用。通過(guò)在內(nèi)部設(shè)定一個(gè)開(kāi)關(guān)
25、,使得用戶無(wú)法通過(guò)鍵盤(pán)和鼠標(biāo)關(guān)閉刷卡應(yīng)用程序,而只能通過(guò)接收來(lái)自服務(wù)器的命令才能夠自動(dòng)關(guān)閉。刷卡消息處理子模塊該子模塊是刷卡模塊的邏輯核心部分。在這個(gè)子模塊中,能夠?qū)崿F(xiàn)自動(dòng)讀取用戶刷卡信息、向服務(wù)器傳送刷卡信息和接收并顯示服務(wù)器反饋信息的功能。通過(guò)這個(gè)模塊,用戶可以刷卡,實(shí)時(shí)看到自己刷卡的處理結(jié)果以及自己的姓名、班級(jí)、刷卡登錄時(shí)間、注銷時(shí)間和當(dāng)前余額信息。如果用戶余額不足,該子模塊將顯示拒絕用戶登錄的提示。332實(shí)時(shí)監(jiān)控模塊該模塊主要由四個(gè)子模塊組成,如圖1-8所示圖1-8 實(shí)時(shí)監(jiān)控子模塊系統(tǒng)結(jié)構(gòu)圖下面是各模塊的主要功能:實(shí)時(shí)監(jiān)控子模塊該子模塊是實(shí)時(shí)監(jiān)控模塊的主界面,也是系統(tǒng)的惟一進(jìn)入和退出端
26、。通過(guò)此子模塊,用戶可以調(diào)用查詢統(tǒng)計(jì)子模塊和用戶管理子模塊,同時(shí),此子模塊還自動(dòng)調(diào)用刷卡消息處理子模塊處理來(lái)自刷卡模塊的消息。由于只有管理員才可以訪問(wèn)這四個(gè)子模塊,因此,在進(jìn)入此模塊時(shí)必須進(jìn)行身份驗(yàn)證,確保只有管理員才能運(yùn)行實(shí)時(shí)監(jiān)控應(yīng)用程序。在此模塊中,管理員還可以實(shí)時(shí)看到當(dāng)前刷卡上機(jī)的用戶列表及每個(gè)用戶的詳細(xì)信息。刷卡消息處理子模塊該子模塊是實(shí)時(shí)監(jiān)控模塊實(shí)現(xiàn)門(mén)禁功能和自動(dòng)計(jì)費(fèi)功能的核心部分。這個(gè)子模塊由實(shí)時(shí)監(jiān)控子模塊自動(dòng)調(diào)用,以刷卡消息為處理對(duì)象,自動(dòng)維護(hù)已刷卡用戶列表和域用戶列表,并向數(shù)據(jù)庫(kù)中寫(xiě)入登錄住處和更新用戶金額。由于采用了多線程模型和臨界區(qū)域?qū)ο?,可以處理同時(shí)到達(dá)的多個(gè)刷卡信息。用
27、戶管理子模塊該子模塊是管理員維護(hù)域用戶列表和用戶信息的界面。管理員可以瀏覽并修改三個(gè)用戶組的成員列表,組計(jì)費(fèi)標(biāo)準(zhǔn)和各用戶的詳細(xì)信息。可以為各個(gè)用戶組添加新用戶和刪除無(wú)用的用戶。由于用戶信息同時(shí)存在于域用戶(操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu))和數(shù)據(jù)庫(kù)(系統(tǒng)自帶數(shù)據(jù)表單),如圖1-9所示,因此管理員要修改用戶清單必須使用此子模塊,而不能單獨(dú)使用操作系統(tǒng)自帶的管理工具來(lái)維護(hù)用戶列表。一一對(duì)應(yīng) 同步更新圖1-9 用戶管理子模塊內(nèi)部結(jié)構(gòu)說(shuō)明查詢統(tǒng)計(jì)子模塊該子模塊允許管理員就登錄、用戶信息和組成員列表進(jìn)行查詢。允許對(duì)查詢?cè)O(shè)定關(guān)鍵字進(jìn)行模糊查詢,對(duì)登錄記錄的查詢還允許設(shè)定查詢的時(shí)間段。統(tǒng)計(jì)功能分為用戶上機(jī)清單和用戶上機(jī)總時(shí)
28、兩部分,前者給出用戶每一天的上機(jī)時(shí)間,后者給出用戶總上機(jī)時(shí)間。統(tǒng)計(jì)前,可以設(shè)定統(tǒng)計(jì)的用戶ID進(jìn)行模糊查詢,還可以設(shè)定統(tǒng)計(jì)的時(shí)間段。最后生成的數(shù)據(jù)集體傳遞給報(bào)表及輸出子模塊進(jìn)行顯示和輸出。報(bào)表及輸出子模塊該子模塊顯示查詢統(tǒng)計(jì)模塊生成的數(shù)據(jù)集,并以Microsoft DI結(jié)構(gòu),背景窗口為MDI框架窗口,刷卡窗口為MDI子窗口。系統(tǒng)啟動(dòng)后背景窗口將以全屏顯示,重點(diǎn)突出刷卡窗口。MDI結(jié)構(gòu)即多文檔結(jié)構(gòu),是從DI應(yīng)用程序包含如下窗口:框架窗口:框架窗口雖應(yīng)用程序的主要窗口。此窗口一般含有標(biāo)題欄、菜單條和系統(tǒng)菜單。右上角為最小化、最大化和關(guān)閉按鈕。客戶窗口:MDI程序的窗口管理器,是框架窗口呂間的空白區(qū)域
29、。用來(lái)管理和顯示MDI子窗口。MDI子窗口:顯示在客戶窗口內(nèi)的窗口,不能移出客戶區(qū)。由于Delphi6.0會(huì)自動(dòng)管理MDI窗口元素。因此對(duì)我們來(lái)說(shuō),只需要記住對(duì)框架窗口而言,必須把FormStyle屬性設(shè)置成fsMDIForm;對(duì)子窗口而言,必須把FormStyle屬性設(shè)置成fsMDIChild。如果子窗口是自動(dòng)建立的,那么在程序啟動(dòng)的時(shí)候會(huì)自動(dòng)顯示在客戶窗口內(nèi)。缺省地,每一個(gè)窗口都有是自動(dòng)建立的,這可以在Project菜單的Options內(nèi)的Forms卡內(nèi)觀察。Auto-create forms列表里的窗口Form1v 和Form2都是在程序運(yùn)行的時(shí)候自動(dòng)建立的,如果不是MDI子窗口,則處于
30、隱藏狀態(tài)。如果把某個(gè)Form如Form3放進(jìn)Available forms列表下,那在調(diào)用這個(gè)窗口前必須手工建立它。35 UDP協(xié)議的基本知識(shí)UDP協(xié)議(User Datagram Protocol),即用戶數(shù)據(jù)報(bào)協(xié)議,廣泛使用在計(jì)算機(jī)間傳輸數(shù)據(jù)的絡(luò)應(yīng)用上,如絡(luò)視頻會(huì)議系統(tǒng)、語(yǔ)音傳播等眾多的客戶/服務(wù)器模式。UDP協(xié)議從問(wèn)世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使在今天,UDP協(xié)議仍然在一項(xiàng)非常衫和有效的絡(luò)傳輸層協(xié)議。與我們所熟知的TCP協(xié)議一樣,UDP協(xié)議位于IP(Internet Protocol)協(xié)議的頂層。根據(jù)OSI (Open System Inte
31、rconnect )參考模型,UDP和TCP同屬于傳輸層協(xié)議。UDP協(xié)議的主要作用是將絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報(bào)的形式。一個(gè)典型的數(shù)據(jù)報(bào)是一個(gè)二進(jìn)制數(shù)據(jù)的傳輸單位。每一個(gè)數(shù)據(jù)報(bào)的前8個(gè)字節(jié)用來(lái)包含報(bào)頭號(hào)信息,剩余字節(jié)則用來(lái)包含具體的傳輸數(shù)據(jù)。UDP協(xié)議是一種無(wú)連接協(xié)議。它與TCP操作不同,計(jì)算機(jī)間進(jìn)行通信時(shí)并不需要事先建立一個(gè)連接。而且,一個(gè)UDP的接受方可以同時(shí)作為一個(gè)發(fā)送方,相比TCP協(xié)議,它的應(yīng)用方法也非常簡(jiǎn)單。因此,在我們的系統(tǒng)中,使用UDP協(xié)議作為我們進(jìn)行絡(luò)通信的絡(luò)協(xié)議。36 界面設(shè)計(jì)刷卡消息處理子模塊的界面布局如圖1-17所示。圖1-17 刷卡消息處理子模塊界面布局從圖中我們可以看到刷
32、卡界面的基本布局。對(duì)此窗口,我們需要把FormStyle屬性設(shè)置為fsMDIChild,命名為fmScanForm,Caption為“LGYSY-刷卡窗口”。窗口內(nèi)最上面是刷卡用的Tedit控件,命名為editCardNo。下面是個(gè)人信息界面,分別顯示了用戶姓名、班級(jí)、登錄時(shí)間、注銷時(shí)間和當(dāng)前上機(jī)余額,分別命名為editName,editClass,editInTime,editOutTime,editMoney。由于只起顯示作用,因此這五個(gè)Tedit控件的ReadOnly屬性需要設(shè)置為False。對(duì)于設(shè)置多個(gè)組件的同一屬性,有一個(gè)簡(jiǎn)單的方法,即按住鍵盤(pán)Shift鍵分別點(diǎn)選各個(gè)Tedit組件,
33、然后在Object Inspector里選擇ReadOnly項(xiàng),設(shè)置為T(mén)rue即可。最下面是狀態(tài)欄,左邊的Panel用于顯示刷卡成功/失敗的信息,右邊的Panel顯示當(dāng)前日期。最關(guān)鍵的TNMUDP控件我們命名為nuScanCard,LocalPort屬性設(shè)置為2171,RemotePort屬性設(shè)置為2173,ReportLevel屬性為1。37 代碼設(shè)計(jì)首先,在窗口創(chuàng)建時(shí)需要將個(gè)人信息下的各個(gè)輸入框設(shè)置為只讀。其次,我們?cè)诖诵枰玫経DP的廣播功能,這樣只需要把RemoteIP設(shè)置為廣播地址,發(fā)送的數(shù)據(jù)就可以被局域內(nèi)的所有機(jī)器所接收。這樣,我們就沒(méi)必要單獨(dú)設(shè)置服務(wù)器的IP,否則,當(dāng)服務(wù)器IP改
34、變的時(shí)候,還必須重新設(shè)置nuScanCard.RemoteHost屬性值。對(duì)于廣播的詳細(xì)信息,請(qǐng)參閱其他專業(yè)文獻(xiàn),在這里只需要指出,如果本機(jī)IP為165.111.13.13而子掩碼為255.255.0.0,則廣播地址即為165.111.255.255。因此,在窗口創(chuàng)建時(shí)需要獲取廣播地址并賦給RemoteIP屬性。如果獲取IP失敗,則應(yīng)該退出系統(tǒng)。另外,由于下面的代碼用到了WinSock.pas單元,而這個(gè)單元并沒(méi)有缺省包含在引用列表中,所以必須手工在接口部分的引用列表中添加此單元。38 ODBC數(shù)據(jù)源設(shè)計(jì)所有的模塊及界面做好以后,最后就要進(jìn)行數(shù)據(jù)庫(kù)連接了。打開(kāi)開(kāi)始設(shè)置控制面板管理工具ODBC數(shù)
35、據(jù)源,選擇系統(tǒng)DNS,如下圖所示:選擇添加創(chuàng)建新數(shù)據(jù)源如下圖所示: 點(diǎn)擊完成。填寫(xiě)數(shù)據(jù)源名稱吧管理系統(tǒng),選擇數(shù)據(jù)庫(kù),如下圖所示:點(diǎn)擊確定完成。第四章 總結(jié)與展望通過(guò)本次畢業(yè)設(shè)計(jì),我們基本明確了一個(gè)局域門(mén)禁系統(tǒng)從構(gòu)思到設(shè)計(jì)再到實(shí)現(xiàn)的一般步驟以及需要注意的方面,這也是一個(gè)讓我們自己學(xué)習(xí)知識(shí)和運(yùn)用知識(shí)的大好機(jī)會(huì)。我們最大的遺憾就是由于能力和設(shè)備的限制沒(méi)有能夠把一整套絡(luò)管理系統(tǒng)做出來(lái)。還有部分功能還有待進(jìn)一步加強(qiáng)。嚴(yán)格的來(lái)說(shuō),我們的系統(tǒng)還不是真正意義上的局域門(mén)禁系統(tǒng),而是一個(gè)單機(jī)測(cè)試版。原因就是缺乏很強(qiáng)專業(yè)技術(shù)水平以及沒(méi)有很高的技術(shù)含量。由于在校內(nèi)課程中沒(méi)有涉及到很深Delphi程序,以及我個(gè)人學(xué)習(xí)能力的限制,系統(tǒng)也沒(méi)有能夠?qū)崿F(xiàn)很強(qiáng)的功能。還有就是各組員間聯(lián)系不夠緊密,缺乏團(tuán)隊(duì)合作精神。由于與指導(dǎo)教師缺乏默契的合作和密切的聯(lián)系,為
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省泰州市2025年二手住宅買賣合同2篇
- 2025年度木屋戶外休閑娛樂(lè)設(shè)施安裝合同4篇
- 2025年度打鉆工程環(huán)保驗(yàn)收服務(wù)合同2篇
- 2025年度企業(yè)品牌形象重塑推廣合同4篇
- 2025年度文化遺產(chǎn)測(cè)繪成果保密共享合同4篇
- 個(gè)性化汽車銷售合同電子版模板2024版B版
- 二零二五年度展會(huì)志愿者招募與管理合同2篇
- 2025年度建筑幕墻抗震加固專業(yè)分包合同4篇
- 2025年度車輛拍賣交易合同規(guī)范4篇
- 個(gè)人運(yùn)輸服務(wù)合同范本:2024年度定制版版
- 南通市2025屆高三第一次調(diào)研測(cè)試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國(guó)人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 勞務(wù)派遣招標(biāo)文件范本
- 信息安全意識(shí)培訓(xùn)課件
- Python試題庫(kù)(附參考答案)
- 碳排放管理員 (碳排放核查員) 理論知識(shí)考核要素細(xì)目表三級(jí)
- 2024年河北省中考數(shù)學(xué)試題(含答案解析)
- 小學(xué)二年級(jí)數(shù)學(xué)口算練習(xí)題1000道
- 納布啡在產(chǎn)科及分娩鎮(zhèn)痛的應(yīng)用
- DZ/T 0462.4-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第4部分:銅等12種有色金屬礦產(chǎn)(正式版)
評(píng)論
0/150
提交評(píng)論