門禁管理系統(tǒng)論文_第1頁
門禁管理系統(tǒng)論文_第2頁
門禁管理系統(tǒng)論文_第3頁
門禁管理系統(tǒng)論文_第4頁
門禁管理系統(tǒng)論文_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、北京廣播電視大學(xué)畢業(yè)設(shè)計論文題目: 局域網(wǎng)門禁系統(tǒng) 姓 名: 學(xué) 號: 專業(yè)年級: 分 校: 指導(dǎo)教師: 目 錄目 錄2摘 要3第1章 系統(tǒng)環(huán)境41.1 Delphi 簡介41.2 研究背景51.3 特點及組成原理51.3.1 刷卡機管理子系統(tǒng)61.3.2 數(shù)據(jù)后備系統(tǒng)71.3.3 UPS系統(tǒng)8第2章 總體概要設(shè)計921 系統(tǒng)需求分析922 系統(tǒng)設(shè)計10221 畫出數(shù)據(jù)流圖10222 編寫數(shù)據(jù)項1223數(shù)據(jù)庫設(shè)計13第三章 分子模塊的設(shè)計153.1 C/S基本概念15331 刷卡模塊17332實時監(jiān)控模塊1734 系統(tǒng)功能實現(xiàn)19341 刷卡模塊的設(shè)計和實現(xiàn)19Windows2000/NT19

2、35 UDP協(xié)議的基本知識2036 界面設(shè)計2137 代碼設(shè)計2238 ODBC數(shù)據(jù)源設(shè)計22結(jié)束語24致謝25參 考 文 獻26附 錄27摘 要隨著高科技的蓬勃發(fā)展,智能化管理已經(jīng)走進了人們的社會生活,一座座智能化大廈拔地而起,適應(yīng)信息的時代需要,作為跨世紀使用的建筑,必須在功能上滿足當前和未來發(fā)展的需求,成為文化和經(jīng)濟發(fā)展的基地。門禁系統(tǒng)開發(fā)作為一項先進的高科技技術(shù)防范和管理手段,在一些經(jīng)濟發(fā)達的國家已經(jīng)廣泛應(yīng)用于科研、工業(yè)、博物館、酒店、商場、醫(yī)療監(jiān)護、銀行、監(jiān)獄等,特別是由于系統(tǒng)本身具有隱蔽性,及時性等特點,在許多領(lǐng)域的應(yīng)用越來越廣泛。門禁系統(tǒng)的技術(shù)不斷向前發(fā)展, 用戶需求也在發(fā)生變化

3、, 因此門禁系統(tǒng)的設(shè)計與實施應(yīng)考慮到將來可擴展的實際需要, 亦即: 可靈活增減或更新各個子系統(tǒng), 滿足不同時期的需要, 保持長時間領(lǐng)先地位, 成為智能建筑的典范。系統(tǒng)設(shè)計時,對需要實現(xiàn)的功能進行了合理配置,并且這種配置是可以改變的,設(shè)置甚至在工程完成后,這種配置的改變也是可能的和方便的.系統(tǒng)軟件根據(jù)開發(fā)商符合不同歷史時期市場的需求進行相應(yīng)的升級和完善,并免費為相應(yīng)的應(yīng)用客戶進行免費的軟件升級.同時,可以擴展為考勤系統(tǒng)、會議簽到系統(tǒng)、巡邏管理系統(tǒng),就餐管理系統(tǒng)等一卡通工程。第1章 系統(tǒng)環(huán)境1.1 Delphi 簡介本課題是在Delphi的基礎(chǔ)上開發(fā)研制的,下面對Delphi進行簡單的介紹。Del

4、phi是Borland公司開發(fā)的可視化軟件開發(fā)系統(tǒng)。Delphi系列軟件的工作平臺相當廣泛,可以工作于Windows 95、Windows98、Windows NT、Windows2000以及Windows XP下,編程所用的語言為結(jié)構(gòu)化程度相當高的Object Pascal語言。用過Delphi系列軟件的程序員一定都會覺得Object Pascal 語言具有高度清晰的結(jié)構(gòu),高效率的優(yōu)化系統(tǒng),是一種簡單易學(xué),但又不乏其作為優(yōu)秀編程語言的特點。同時,由于Delphi采用了內(nèi)置高速的優(yōu)化編譯器,使得程序的編譯、鏈接速度快的驚人。在與其相類似的可視化軟件開發(fā)系統(tǒng)Microsoft Visual C+

5、的比較中,我們不可否認Microsoft Visual C+的功能相當強大,但調(diào)試程序時的編譯時間過長,使很多程序員感到棘手;而Delphi在編譯時等待的時間很少。Delphi的編譯器采用了事件編譯和選擇鏈接技術(shù),使生成的可執(zhí)行文件冗余更少,運行起來速度更快。另外,由于Delphi生成的可執(zhí)行文件不需要動態(tài)鏈接庫的支持,可以直接交付使用,這會使得使用Delphi的程序員充分享受Delphi為他們帶來的方便快捷。Delphi系列另一個廣受歡迎的原因是其強大的可擴展數(shù)據(jù)庫功能。Delphi6.0不但在傳統(tǒng)的開發(fā)能力方面持續(xù)進步,讓程序員能夠享有更具生產(chǎn)力的開發(fā)環(huán)境,對于最新的信息技術(shù),也有非常良好

6、的支持,讓程序員能夠快速地使用這些新的技術(shù)。在對Delphi有了一個初步的了解之后,我們將進入對Delphi集成開發(fā)環(huán)境和工程管理的介紹,使大家能夠進一步深入了解Delphi,并在此基礎(chǔ)上介紹編輯器和調(diào)試器的使用方法。IDE是提供設(shè)計、運行和測試應(yīng)用程序所需的所有工具的集成環(huán)境。Delphi的集成開發(fā)環(huán)境(IDE)包括代碼編輯器、調(diào)試器、工具欄、圖像編輯器以及諸多用于應(yīng)用程序開發(fā)的組件(如數(shù)據(jù)庫開發(fā)組件等)。所有這些都以集成方式進行操作,極大地簡化了用戶編程的過程。1.2 研究背景當前,大學(xué)內(nèi)的微機機房正在朝著開放式,大型化方向發(fā)展。一個教學(xué)實驗中心里的幾個機房有著幾百臺微機,已是很普遍的現(xiàn)象

7、。使用方式也由原來的以計劃安排集體上機為主,變?yōu)橐詡€人自由上機為主。因此、以往那種主要針對集體上機的以機房和時間段為單位來安排機器使用的管理方式已顯得不適用。為適應(yīng)新的應(yīng)用和發(fā)展,結(jié)合中心自身的特點,四川大學(xué)工程設(shè)計中心和西南交通大學(xué)共同研制出了這套用于微機機房管理的集中式IC卡控制門禁系統(tǒng)。該系統(tǒng)著眼于對大型開放式機房進行集中管理。把原來的分機房分散管理變?yōu)閱我怀鋈肟诘募泄芾?。變原來的人工計時計費為計算機管理的IC卡計費。1.3 特點及組成原理該系統(tǒng)有如下特點:(1)技術(shù)上充分利用機房內(nèi)部局域網(wǎng)系統(tǒng)(LAN)環(huán)境。管轄范圍內(nèi)只設(shè)一個出入口。將所有投入使用的機器置于集中統(tǒng)一管理之下。(2)采

8、用多模塊結(jié)構(gòu)化模式設(shè)計,使用多種軟件混合編程。實現(xiàn)子系統(tǒng)內(nèi)數(shù)據(jù)庫管理和通訊及子系統(tǒng)與子系統(tǒng)之間的通訊。通過相互間的通訊,把幾個子系統(tǒng)的結(jié)合在一起。形成一個完善的門禁管理系統(tǒng)。(3)用戶界面友好、操作簡便、并且具有較好的可維護性。(4)系統(tǒng)除強調(diào)其實用性外,還對其安全性和可靠性作了充分考慮。該系統(tǒng)主要由IC卡刷卡機管理子系統(tǒng)、登錄管理服務(wù)器及用戶端登錄子系統(tǒng)組成。它們之間通過內(nèi)部局域網(wǎng)交換信息以保證機房外刷卡和機房內(nèi)登錄能協(xié)調(diào)工作。除此之外,還有與之相配套的數(shù)據(jù)后備系統(tǒng)提供電源保障的UPS系統(tǒng),在門禁系統(tǒng)管理下,刷卡機管理子系統(tǒng)向機器使用者提供上機刷卡服務(wù)。持卡用戶首先在設(shè)于機房外出入口的刷卡機

9、前刷卡,刷卡機管理管理服務(wù)器在對卡的有效性進行驗證,待驗證無誤后使用者方可能進入機房。進入機房后還要進行登記才能使用機器。登錄管理服務(wù)器及用戶端登錄子系統(tǒng)提供使用者刷卡后進入機房后的登錄服務(wù)。上機要進行登錄是為了避免無卡上機和一人使用多臺機器情況的發(fā)生而設(shè)計的。使用者進入機房后,可以隨意選定機位但必需進行登錄后才能獲得機器的使用權(quán)。為了避免未經(jīng)刷卡就上機,在登錄管理服務(wù)器的管理下,未刷卡的人將不能通過登錄驗證,一個人也不能同時登錄兩臺機器。同樣,一臺已經(jīng)被登錄使用的機器如果未被使用者注銷,它也不能再被其他人登錄。當機器使用完畢后,使用者必須先執(zhí)行登錄管理服務(wù)器所提供的下機注銷功能,釋放該機器的

10、使用權(quán),然后再到刷卡機前刷卡,刷卡機管理子系統(tǒng)根據(jù)使用時間計算并從卡上扣除相應(yīng)機時金額。如此,門禁管理系統(tǒng)就完成了一個上下機的管理過程。從上面上下機的過程可以看出,門禁管理系統(tǒng)的核心部分主要由設(shè)在機房外的IC卡刷卡機管理子系統(tǒng)、登錄管理服務(wù)器和裝在機房內(nèi)每臺機器上的用戶端登錄子系統(tǒng)組成,形成內(nèi)外兩道防線。使其即實現(xiàn)上機必須刷卡,且一人只能使用一臺計算機,又能根據(jù)需要自由選定機位,調(diào)換機位。給管理和使用都帶來了方便。下面分別介紹各子系統(tǒng)的功能及工作原理。1.3.1 刷卡機管理子系統(tǒng)刷卡機管理子系統(tǒng)負責對出入機房進行計時,以及對卡的有效性進行驗證。它還兼有對當前正在上機和當日上機總?cè)藬?shù)進行統(tǒng)計的功

11、能。該子系統(tǒng)由IC卡刷卡機和刷卡機管理服務(wù)器組成。IC卡刷卡機由單片機加上一個通過IC卡機構(gòu)成,使其具有了和刷卡機管理服務(wù)器之間進行通訊的能力和驅(qū)動數(shù)碼管顯示的能力。加上一個多用戶串行通信卡與刷卡機進行通信,一臺刷卡機管理服務(wù)器上的多用戶卡最多可掛接8臺IC卡刷卡機。IC卡使用者刷卡后,刷卡機將IC卡信息送至刷卡機管理服務(wù)器,經(jīng)校驗傳送信息無誤后,刷卡機管理服務(wù)器查找數(shù)據(jù)庫對該卡記錄進行處理,判別是上機還是下機,如果是上機,就必須對該卡的有效性進行驗證。它要檢查該卡是否已經(jīng)超過使用期限、是否是掛失卡、卡上金額是否滿足設(shè)定的要求等。如驗證有誤,管理服務(wù)器送相應(yīng)錯誤代碼至IC卡刷卡機,IC卡刷卡機

12、將顯示誤代碼,并發(fā)聲提示。如果是下機,管理服務(wù)器首先要通過LAN從用戶端登錄服務(wù)器獲取該卡登錄信息,判斷該卡是否按正常下機步驟已經(jīng)注銷。如已注銷,根據(jù)用機時間和設(shè)定的機時價格送至刷卡機扣出金額并清除庫中相應(yīng)的上機信息。否則送“尚未注銷”錯誤代碼至IC卡刷卡機通知該卡用戶返回機房注銷機器以釋放該機器的使用權(quán)。一次刷卡過程在500ms內(nèi)完成。該系統(tǒng)還可按不同機房的不同機型設(shè)置收費標準。根據(jù)實際應(yīng)用的需要,該子系統(tǒng)還設(shè)置了跨日下機,不注銷刷卡下機等特殊處理功能。登錄管理服務(wù)器及用戶端錄子系統(tǒng)該子系統(tǒng)由一個含有控制引導(dǎo)過程的擴展ROM卡和事先寫在硬盤特殊位置的登錄軟件構(gòu)成。放在ROM擴展卡上的程序用來

13、獲取對系統(tǒng)引導(dǎo)過程的控制權(quán),確保該計算機的使用者必須經(jīng)過上機登錄并且有效才能取得對該機器的使用權(quán)。由于采用了硬件設(shè)計,一般用戶無法繞過登錄,因此,設(shè)置登錄功能就有效地避免了未經(jīng)刷卡就使用機器或一個使用多臺機器現(xiàn)象的發(fā)生。用戶端登錄服務(wù)通訊程序BOLABDC+編寫,它的作用是用它通過LAN與登錄服務(wù)器進行通訊,以完成對該機的上機登錄和下機注銷以及更改密碼的工作。使用者刷卡進入機房后,首先將申請該機使用權(quán)的用戶的卡號,密碼輸入。登錄服務(wù)通訊程序?qū)⑤斎氲目ㄌ?密碼連同本機地址一道通過LAN發(fā)送至登錄管理服務(wù)器,登錄管理服務(wù)器收到登錄申請請求后通過LAN查詢刷卡機管理服務(wù)器。通過卡號查詢檢查該卡用戶是

14、否已經(jīng)刷卡。如果找到該卡的刷卡信息并且核對密碼無誤,則返回登錄成功信息到用戶終端機。用戶終端機收到返回的登錄成功信息后將控制權(quán)交本機WIN98引導(dǎo)系統(tǒng)。進入正常使用狀態(tài)。否則,如果在刷卡機管理服務(wù)器未查到該用戶的刷卡信息或核對密碼有誤,則返回一登錄失敗以及相應(yīng)的錯誤信息到用戶終端機。用戶終端機收到返回錯誤信息后將在計算機屏幕上顯示“無此卡號”或“密碼錯誤”的信息,讓使用者確定是否刷卡,或是輸入了錯誤的卡號或密碼而作出相應(yīng)處理,直至登錄正確。同樣,使用者在機器使用完后要使用戶端登錄服務(wù)提供的注銷功能進行注銷,才能釋放該機的使用權(quán),才能正常通過刷卡機管理子系統(tǒng)刷卡下機。在登錄管理服務(wù)器端運行的登錄

15、軟件,不僅負責對用戶登錄和注銷的及時處理,還對登錄后的使用情況進行管理和監(jiān)控。它記錄并保存用戶上機的起始時間和使用者機位變更情況。以備需要時查詢。它還負責對集體上機這類不需登錄的情況進行處理。登錄管理服務(wù)器端可以把某些機位設(shè)置為不檢測卡號和登錄。因此集體上機的用戶在指定機位上無須登錄即可使用計算機。1.3.2 數(shù)據(jù)后備系統(tǒng)在整個門禁系統(tǒng)運行過程中,數(shù)據(jù)的可靠性和安全性是非常重要的,數(shù)據(jù)一但丟失或遭到破壞將會造成巨大損失。因此,從系統(tǒng)及數(shù)據(jù)的安全考慮。專門為各子系統(tǒng)軟件設(shè)計了一個自動備份模塊。該自動備份模塊確保各子系統(tǒng)不僅要將自己的數(shù)據(jù)保存一段時間,在每天關(guān)機前退出相應(yīng)的管理程序時,各子系統(tǒng)還會

16、啟動自己的自動備份模塊,自動將當日的所有數(shù)據(jù)通過LAN傳送到一個專門的數(shù)據(jù)后備服務(wù)器予以保存。這樣,即使發(fā)生意外,最多只能影響到當日數(shù)據(jù)。從而把損失降到最少。1.3.3 UPS系統(tǒng)為保證因意外事故導(dǎo)致突然停電后,所有的登錄及刷卡信息不被丟失和使用者能刷卡下機。門禁系統(tǒng)專門配備了50KW/UPS不間斷電源,在電網(wǎng)停電時能為各子系統(tǒng)提供不少于30分鐘的供電。保證正在上機的使用者都能在這段時間內(nèi)能利用刷卡機子系統(tǒng)提供的“不注銷下機”功能正常刷卡下機。管理人員也能在所有使用者刷卡退出后按正常步驟關(guān)閉各子系統(tǒng)并在退出過程中自動備份當日的相關(guān)數(shù)據(jù)。第2章 總體概要設(shè)計21 系統(tǒng)需求分析在此實例中,我們要開

17、發(fā)一個實現(xiàn)局域網(wǎng)門禁系統(tǒng)功能的客戶/服務(wù)器(C/S)數(shù)據(jù)庫應(yīng)用系統(tǒng),下面是用戶對系統(tǒng)需求功能的陳述。系統(tǒng)應(yīng)用在一個各臺PC均安裝WINDOWS NT/2000操作系統(tǒng)的局域網(wǎng)內(nèi),且此網(wǎng)由一臺域控制器(服務(wù)器)和多臺域成員PC組成。此局域網(wǎng)的用戶為某學(xué)校的學(xué)生與教職員,分成Teacher、Master和Graduate三組。他們每人均有一張機讀卡,對學(xué)生而言標識其學(xué)號,對教職員而言則標識其員工代號,在此我們系統(tǒng)稱為ID。每個ID均由數(shù)字和英文字母組成,長度不大于16位?,F(xiàn)在要對該網(wǎng)進行管理,實現(xiàn)刷卡上機,自動計費。因此,該系統(tǒng)應(yīng)有刷卡和實時監(jiān)控兩個模塊。在刷卡端能夠使用刷卡器讀取用戶卡上的ID并

18、發(fā)送給服務(wù)器,然后顯示用戶信息及刷卡成功或失敗等反饋消息;在實時監(jiān)控端,要求設(shè)立管理員,能夠?qū)崟r顯示已刷卡用戶、進行自動計費以及輸出查詢統(tǒng)計報表。管理員可以維護上機用戶的數(shù)據(jù),實現(xiàn)增加、刪除用戶及修改用戶信息。下表2-1顯示了系統(tǒng)模塊劃分情況。表2-1 局域網(wǎng)門禁系統(tǒng)模塊劃分情況模塊名所在機器功能刷卡模塊專門用于刷卡的PC上刷卡及顯示反饋信息實時監(jiān)控模塊域控制器上(服務(wù)器)實時顯示、自動計費、用戶管理和輸出查詢統(tǒng)計報表刷卡模塊主要完成刷卡功能,同時顯示從服務(wù)器上反饋回來的信息,包括:用戶ID、用戶姓名、用戶班級、用戶刷卡登記時間、用戶刷卡注銷時間、當前的上機余款、刷卡是否成功。為了防止用戶使用

19、鍵盤關(guān)閉刷卡模塊,必須實現(xiàn)只能通過服務(wù)器端的實時監(jiān)控模塊制刷卡模塊退出的功能。實時監(jiān)控模塊主要完成實時監(jiān)控功能,隨時監(jiān)聽從刷卡端發(fā)來的刷卡消息,叛斷是刷卡登錄還是刷卡注銷,隨后進行相應(yīng)的數(shù)據(jù)處理,再向刷卡端返回反饋消息。用戶管理主要分為用戶帳號的增加、刪除,用戶信息的修改。每一個欲上機的用戶必須首先在實時監(jiān)控模塊端進行注冊,然后在刷卡端刷卡,方可使用局域網(wǎng)內(nèi)的任一臺機器。系統(tǒng)對用戶進行了分類,分成老師、研究生、本科生三類,分別有不同的計費標準。統(tǒng)計查詢功能要求有登錄日志查詢、用戶信息查詢、組信息查詢和用戶上機情況統(tǒng)計。登錄日志查詢要求顯示某段日期內(nèi)某個用戶的登錄記錄;用戶信息查詢要求顯示某用戶

20、的具體信息如金額等;組信息查詢要求顯示某組的計費標準和成員列表;用戶上機情況統(tǒng)計要求統(tǒng)計用戶的總上機小時數(shù)以便核查。所有查詢統(tǒng)計結(jié)果均為只讀信息,不可以進行任何修改。在用戶管理和查詢統(tǒng)計前,均要求使用者輸入管理員帳號和密碼。由于實時臨近模塊端可以對用戶數(shù)據(jù)庫進行操作,考慮到安全性,必須在啟動的時候?qū)κ褂谜叩纳矸葸M行認證,由使用者輸入管理員帳號和密碼,同數(shù)據(jù)庫中的記錄進行核對,核對正確后方可進入系統(tǒng)。這樣確保了只有管理員才可以運行實時監(jiān)控模塊,也保證了用戶資料不受惡意修改。管理員進入實時監(jiān)控模塊后,可以維護自己的密碼,以滿足自己的需要。22 系統(tǒng)設(shè)計在以上的系統(tǒng)功能分析中,我們確定了系統(tǒng)的模塊劃

21、分和所需要具有的功能。然而用戶需求還不能直接指導(dǎo)我們進行開發(fā),作為開發(fā)人員,我們必須根據(jù)用戶需求進行詳細的系統(tǒng)分析和設(shè)計,形成相應(yīng)的數(shù)據(jù)模型,包括數(shù)據(jù)庫的表結(jié)構(gòu)、數(shù)據(jù)在各表及各模塊之間的傳遞關(guān)系、網(wǎng)絡(luò)通信所使用的自定義協(xié)議等。只有事先確定了這些,我們才能在開發(fā)時做到心中有數(shù),游刃有余。2.2.1 畫出數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flow Diagram,簡稱DFD圖)是用一些規(guī)定的圖標和符號來描述數(shù)據(jù)在系統(tǒng)中的流動和處理的情況。數(shù)據(jù)流圖在表示系統(tǒng)時,采用自上而下逐步細化的結(jié)構(gòu)化方法表示。頂層一級的功能在下一級中加以細化。根據(jù)系統(tǒng)分析,我們可以畫出如圖2-1所示的頂層數(shù)據(jù)流圖。局域網(wǎng)門禁系統(tǒng)刷卡

22、消息 刷卡反饋消息 系統(tǒng)退出命令刷卡模塊實時監(jiān)控模塊圖2-1頂層數(shù)據(jù)流圖上面的頂層數(shù)據(jù)流圖經(jīng)過細化后,得到圖2-2所示的監(jiān)控模塊第二層數(shù)據(jù)流圖與圖2-3所示的刷卡模塊第二層數(shù)據(jù)流圖。刷卡消息處理實時監(jiān)控P1管理員查詢統(tǒng)計用戶維護登錄日志D1組計費標準 D2用戶列表D3 P4P2P3 反 退 刷 饋 出 卡 消 命 消 息 令 息 刷卡消息量 驗證信息 身份驗證 處理結(jié)果 驗 身 證 份 調(diào)用信息 調(diào)用信息 調(diào)用信息 信 驗 查詢要求 統(tǒng)計要求 修改要求 息 證 查詢結(jié)果 統(tǒng)計結(jié)果 修改結(jié)果圖2-2 實時監(jiān)控模塊第二層數(shù)據(jù)流 刷卡器刷卡信息處理 P5 顯示信息 刷卡消息 刷卡反饋消息 刷卡ID

23、系統(tǒng)退出命令圖2-3 刷卡模塊第二層數(shù)據(jù)流2.2.2 編寫數(shù)據(jù)項根據(jù)數(shù)據(jù)項的含義,我們將數(shù)據(jù)項的定義分為以下幾個方面:數(shù)據(jù)項名、類型、長度、附加說明。主要數(shù)據(jù)項定義如表2-2至表2-3所示。表2-2 數(shù)據(jù)項定義(登錄日志)數(shù)據(jù)項名類型長度說明用戶ID(id)字符型16英文字符和數(shù)字的組合類型(type)字符型4固定為“刷卡”,為以后功能擴充使用登錄時間(intime)日期型形式:2005-3-4 12:00注銷時間(outtime)日期型形式同上IP字符型15以后功能擴充使用表2-3 數(shù)據(jù)項定義(組計費標準)數(shù)據(jù)項名類型長度說明組類別(type)字符型16英文字符和數(shù)字的組合(主碼),為Tea

24、cher|Master|Graduate計費標準(criteria)浮點型Single類型表2-4 數(shù)據(jù)項定義(用戶列表)數(shù)據(jù)項名類型長度說明用戶ID(id)字符型16用戶卡上的標識碼(主碼)類型(type)字符型16同組類別姓名(name)字符型20密碼(pwd)字符型20英文字符和數(shù)字的組合金額(money)浮點型Single類型附加信息(info)字符型100其他信息23數(shù)據(jù)庫設(shè)計1 數(shù)據(jù)庫概念設(shè)計根據(jù)對數(shù)據(jù)流圖和數(shù)據(jù)字典的分析,我們可以確定該應(yīng)用中的實體、屬性和實體之間的關(guān)系,并畫出如圖所示的用戶E-R圖。 組 1屬于 1 n對應(yīng)ID對應(yīng)金額用戶 1 1 n m對應(yīng) n計費標準 m圖2

25、-4 數(shù)據(jù)流程圖2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計轉(zhuǎn)換后的關(guān)系模型如下所示,關(guān)系主碼用下劃線標出.登錄日志 Log( id, type, intime, outtime,ip )計費標準 Rule( type, criteria )用戶列表 Users( id, type, class, name, pwd, money, info )下面我們將利用SQL語言的CREATE語句建立上述關(guān)系,并定義好完整性約束.CRAETE TABLE Log 登錄日志(id VARCHAR(16),type VARCHAR(16),intime DATETIME,outtime DATETIME,ip VARCHAR(15

26、);CREATE TABLE Rule 計費標準(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),pwd VARCHAR(20),money FLOAT,info VARCHAR(100);具體到建立數(shù)據(jù)庫,需要手工建立一個數(shù)據(jù)庫LGSys.mdb.第3章 分子模塊的設(shè)計3.1 C/S

27、基本概念什么是C/S?如果你是一位DELPHI開發(fā)人員,那你一定要把這個概念弄清楚。因為實際上,DELPHI本身就是一個客戶/服務(wù)器開發(fā)環(huán)境。典型的客戶/服務(wù)器結(jié)構(gòu)總是包括一個前端程序,也叫客戶。其作用于是向遠程服務(wù)器上的程序發(fā)送數(shù)據(jù),并接收來自服務(wù)器的數(shù)據(jù)并進行一定的處理,再根據(jù)情況進行反饋。即遠程服務(wù)器是服務(wù)的提供者,它可以從內(nèi)部訪問服務(wù)器上的數(shù)據(jù)庫;而客戶總是向服務(wù)器請求服務(wù),并不能直接訪問數(shù)據(jù)庫內(nèi)的數(shù)據(jù)。在這種情況下,服務(wù)器盡可能詳盡地定義業(yè)務(wù)規(guī)則和實現(xiàn)盡可對強大的功能,因為它往往是更新比較緩慢的,而客戶往往比較“瘦小”,因為它往往是頻繁更新和分發(fā)的對象。一般情況下,客戶/服務(wù)器方案可

28、以解決以下幾個問題:l 允許將不同客戶進行分類,每類客戶只允許處理它負責的數(shù)據(jù)。l 以一種更為有效的方式為決策者提供決策支持。l 在MIS中加強對數(shù)據(jù)的集中控制,而在數(shù)據(jù)分析和使用的集中控制上只需要花費比較少的精力。l 在服務(wù)器端可以對整個業(yè)務(wù)數(shù)據(jù)庫進行數(shù)據(jù)完整性驗證。l 更靈活的業(yè)務(wù)劃分,客戶端和服務(wù)器端業(yè)務(wù)功能分離,各司其職。l 服務(wù)器向客戶端傳遞的數(shù)據(jù)是經(jīng)過篩選的,可以減輕網(wǎng)絡(luò)負擔。1 客戶/服務(wù)器模型客戶/服務(wù)器模型通常分兩層模型和三層模型兩類。下面我們分別進行介紹。l 兩層模型兩層模型的應(yīng)用十廣泛,基本上,它是由桌面數(shù)據(jù)庫應(yīng)用系統(tǒng)演變而來的。在此模型中,數(shù)據(jù)庫位于服務(wù)器端,客戶應(yīng)用程

29、序位于客戶機上,業(yè)務(wù)邏輯放在客戶或服務(wù)器上。如圖3-1所示。l 三層模型如圖3-2所示,客戶僅僅起顯示數(shù)據(jù)的作用,業(yè)務(wù)規(guī)則(處理邏輯)放在服務(wù)器上,而實際的數(shù)據(jù)庫則放在另外一臺機器上。由于三者處于不同的機器,開發(fā)人員可以更靈活高效地劃分系統(tǒng)功能,優(yōu)化數(shù)據(jù)訪問及維護數(shù)據(jù)的完整性??蛻?數(shù)據(jù)業(yè)務(wù)規(guī)則客戶2客戶1圖3-1 兩層客戶/服務(wù)器模型 數(shù)據(jù)庫業(yè)務(wù)規(guī)則客戶1客戶2客戶3 圖3-2 三層客戶/服務(wù)器模2 客戶/服務(wù)器模型與桌面數(shù)據(jù)庫應(yīng)用系統(tǒng)的比較客戶/服務(wù)器器模型與桌面模型應(yīng)用系統(tǒng)的比較:面向集合與面向記錄。對客戶端而言,它面向的是記錄。對桌面數(shù)據(jù)庫而言,它直接面對數(shù)據(jù)集合;而在C/S模型中,客

30、戶面對的只是數(shù)據(jù)集合的一個子集。通過SQL語句,客戶可以從服務(wù)器端獲取到符合一定要求的一組記錄,而不需要把整個數(shù)據(jù)表格全部下載到本地再進行處理。而一個桌面數(shù)據(jù)庫要從網(wǎng)絡(luò)數(shù)據(jù)庫中獲取數(shù)據(jù)時,它得到的是整個數(shù)據(jù)表格。如果數(shù)據(jù)表格很大,那網(wǎng)絡(luò)傳輸所需要的時間是很長的。相比之下,通過SQL,只需要通過網(wǎng)絡(luò)傳輸符合記錄的部分記錄集,這就大大減輕了網(wǎng)絡(luò)傳輸?shù)呢摀?,也使系統(tǒng)的響應(yīng)速度得到了很大的提高。3.3.1 刷卡模塊刷卡模塊主要有2個子模塊組成,如圖3-3所示。背景框架子模塊刷卡消息處理模塊 圖3-3 刷卡模塊系統(tǒng)結(jié)構(gòu)圖下面是各模塊的主要功能:l 背景框架子模塊該子模塊是刷卡模塊的背景界面,通過覆蓋整個

31、桌面起到模擬的效果。同時,它起到禁止用戶關(guān)閉系統(tǒng)的作用。通過在內(nèi)部設(shè)定一個開關(guān),使得用戶無法通過鍵盤和鼠標關(guān)閉刷卡應(yīng)用程序,而只能通過接收來自服務(wù)器的命令才能夠自動關(guān)閉。l 刷卡消息處理子模塊該子模塊是刷卡模塊的邏輯核心部分。在這個子模塊中,能夠?qū)崿F(xiàn)自動讀取用戶刷卡信息、向服務(wù)器傳送刷卡信息和接收并顯示服務(wù)器反饋信息的功能。通過這個模塊,用戶可以刷卡,實時看到自己刷卡的處理結(jié)果以及自己的姓名、班級、刷卡登錄時間、注銷時間和當前余額信息。如果用戶余額不足,該子模塊將顯示拒絕用戶登錄的提示。3.3.2實時監(jiān)控模塊該模塊主要由四個子模塊組成,如圖3-4所示實時監(jiān)控子模塊查詢統(tǒng)計子模塊用戶管理子模塊刷

32、卡消息處理子模塊圖3-4 實時監(jiān)控子模塊系統(tǒng)結(jié)構(gòu)圖下面是各模塊的主要功能:l 實時監(jiān)控子模塊該子模塊是實時監(jiān)控模塊的主界面,也是系統(tǒng)的惟一進入和退出端。通過此子模塊,用戶可以調(diào)用查詢統(tǒng)計子模塊和用戶管理子模塊,同時,此子模塊還自動調(diào)用刷卡消息處理子模塊處理來自刷卡模塊的消息。由于只有管理員才可以訪問這四個子模塊,因此,在進入此模塊時必須進行身份驗證,確保只有管理員才能運行實時監(jiān)控應(yīng)用程序。在此模塊中,管理員還可以實時看到當前刷卡上機的用戶列表及每個用戶的詳細信息。l 刷卡消息處理子模塊該子模塊是實時監(jiān)控模塊實現(xiàn)門禁功能和自動計費功能的核心部分。這個子模塊由實時監(jiān)控子模塊自動調(diào)用,以刷卡消息為處

33、理對象,自動維護已刷卡用戶列表和域用戶列表,并向數(shù)據(jù)庫中寫入登錄住處和更新用戶金額。由于采用了多線程模型和臨界區(qū)域?qū)ο?,可以處理同時到達的多個刷卡信息。l 用戶管理子模塊該子模塊是管理員維護域用戶列表和用戶信息的界面。管理員可以瀏覽并修改三個用戶組的成員列表,組計費標準和各用戶的詳細信息??梢詾楦鱾€用戶組添加新用戶和刪除無用的用戶。由于用戶信息同時存在于域用戶(操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu))和數(shù)據(jù)庫(系統(tǒng)自帶數(shù)據(jù)表單),如圖3-5所示,因此管理員要修改用戶清單必須使用此子模塊,而不能單獨使用操作系統(tǒng)自帶的管理工具來維護用戶列表。用戶管理子模塊數(shù)據(jù)庫各用戶組計費標準Rule表單用戶列表Users表單Wind

34、ows2000/NT域全局組域用戶列表一一對應(yīng) 同步更新圖3-5 用戶管理子模塊內(nèi)部結(jié)構(gòu)說明l 查詢統(tǒng)計子模塊該子模塊允許管理員就登錄、用戶信息和組成員列表進行查詢。允許對查詢設(shè)定關(guān)鍵字進行模糊查詢,對登錄記錄的查詢還允許設(shè)定查詢的時間段。統(tǒng)計功能分為用戶上機清單和用戶上機總時兩部分,前者給出用戶每一天的上機時間,后者給出用戶總上機時間。統(tǒng)計前,可以設(shè)定統(tǒng)計的用戶ID進行模糊查詢,還可以設(shè)定統(tǒng)計的時間段。最后生成的數(shù)據(jù)集體傳遞給報表及輸出子模塊進行顯示和輸出。l 報表及輸出子模塊該子模塊顯示查詢統(tǒng)計模塊生成的數(shù)據(jù)集,并以Microsoft Word XP 的形式自動輸出到固定的目錄下,供用戶瀏

35、覽、修改和打印。3.4 系統(tǒng)功能實現(xiàn)通過上面對本局域網(wǎng)門禁系統(tǒng)的功能的簡單介紹,我們把此系統(tǒng)分割成兩個單獨的模塊,刷卡模塊和實時監(jiān)控模塊,兩者之間通過網(wǎng)絡(luò)進行通信。下面將介紹系統(tǒng)的詳細設(shè)計和具體的實現(xiàn)細節(jié)。3.4.1 刷卡模塊的設(shè)計和實現(xiàn)本模塊采用MDI結(jié)構(gòu),背景窗口為MDI框架窗口,刷卡窗口為MDI子窗口。系統(tǒng)啟動后背景窗口將以全屏顯示,重點突出刷卡窗口。MDI結(jié)構(gòu)即多文檔結(jié)構(gòu),是從Windows2.0下的Microsoft Excel電子表格程序開始引入的,與它相對應(yīng)的是SDI(單文檔結(jié)構(gòu))。一個MDI應(yīng)用程序包含如下窗口:l 框架窗口:框架窗口雖應(yīng)用程序的主要窗口。此窗口一般含有標題欄、

36、菜單條和系統(tǒng)菜單。右上角為最小化、最大化和關(guān)閉按鈕。l 客戶窗口:MDI程序的窗口管理器,是框架窗口呂間的空白區(qū)域。用來管理和顯示MDI子窗口。l MDI子窗口:顯示在客戶窗口內(nèi)的窗口,不能移出客戶區(qū)。由于Delphi6.0會自動管理MDI窗口元素。因此對我們來說,只需要記住對框架窗口而言,必須把FormStyle屬性設(shè)置成fsMDIForm;對子窗口而言,必須把FormStyle屬性設(shè)置成fsMDIChild。如果子窗口是自動建立的,那么在程序啟動的時候會自動顯示在客戶窗口內(nèi)。缺省地,每一個窗口都有是自動建立的,這可以在Project菜單的Options內(nèi)的Forms卡內(nèi)觀察。Auto-cr

37、eate forms列表里的窗口Form1v 和Form2都是在程序運行的時候自動建立的,如果不是MDI子窗口,則處于隱藏狀態(tài)。如果把某個Form如Form3放進Available forms列表下,那在調(diào)用這個窗口前必須手工建立它。3.5 UDP協(xié)議的基本知識UDP協(xié)議(User Datagram Protocol),即用戶數(shù)據(jù)報協(xié)議,廣泛使用在計算機間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用上,如網(wǎng)絡(luò)視頻會議系統(tǒng)、語音傳播等眾多的客戶/服務(wù)器模式。UDP協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使在今天,UDP協(xié)議仍然在一項非常衫和有效的網(wǎng)絡(luò)傳輸層協(xié)議。與我們所熟知的TC

38、P協(xié)議一樣,UDP協(xié)議位于IP(Internet Protocol)協(xié)議的頂層。根據(jù)OSI (Open System Interconnect )參考模型,UDP和TCP同屬于傳輸層協(xié)議。UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報的形式。一個典型的數(shù)據(jù)報是一個二進制數(shù)據(jù)的傳輸單位。每一個數(shù)據(jù)報的前8個字節(jié)用來包含報頭號信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)。UDP協(xié)議是一種無連接協(xié)議。它與TCP操作不同,計算機間進行通信時并不需要事先建立一個連接。而且,一個UDP的接受方可以同時作為一個發(fā)送方,相比TCP協(xié)議,它的應(yīng)用方法也非常簡單。因此,在我們的系統(tǒng)中,使用UDP協(xié)議作為我們進行網(wǎng)絡(luò)通

39、信的網(wǎng)絡(luò)協(xié)議。3.6界面設(shè)計刷卡消息處理子模塊的界面布局如圖3-6所示。圖3-6 刷卡消息處理子模塊界面布局從圖中我們可以看到刷卡界面的基本布局。對此窗口,我們需要把FormStyle屬性設(shè)置為fsMDIChild,命名為fmScanForm,Caption為“LGYSY-刷卡窗口”。窗口內(nèi)最上面是刷卡用的Tedit控件,命名為editCardNo。下面是個人信息界面,分別顯示了用戶姓名、班級、登錄時間、注銷時間和當前上機余額,分別命名為editName,editClass,editInTime,editOutTime,editMoney。由于只起顯示作用,因此這五個Tedit控件的ReadO

40、nly屬性需要設(shè)置為False。對于設(shè)置多個組件的同一屬性,有一個簡單的方法,即按住鍵盤Shift鍵分別點選各個Tedit組件,然后在Object Inspector里選擇ReadOnly項,設(shè)置為True即可。最下面是狀態(tài)欄,左邊的Panel用于顯示刷卡成功/失敗的信息,右邊的Panel顯示當前日期。最關(guān)鍵的TNMUDP控件我們命名為nuScanCard,LocalPort屬性設(shè)置為2171,RemotePort屬性設(shè)置為2173,ReportLevel屬性為1。3.7 代碼設(shè)計首先,在窗口創(chuàng)建時需要將個人信息下的各個輸入框設(shè)置為只讀。其次,我們在此需要用到UDP的廣播功能,這樣只需要把Re

41、moteIP設(shè)置為廣播地址,發(fā)送的數(shù)據(jù)就可以被局域網(wǎng)內(nèi)的所有機器所接收。這樣,我們就沒必要單獨設(shè)置服務(wù)器的IP,否則,當服務(wù)器IP改變的時候,還必須重新設(shè)置nuScanCard.RemoteHost屬性值。對于廣播的詳細信息,請參閱其他專業(yè)文獻,在這里只需要指出,如果本機IP為165.111.13.13而子網(wǎng)掩碼為255.255.0.0,則廣播地址即為165.111.255.255。因此,在窗口創(chuàng)建時需要獲取廣播地址并賦給RemoteIP屬性。如果獲取IP失敗,則應(yīng)該退出系統(tǒng)。另外,由于下面的代碼用到了WinSock.pas單元,而這個單元并沒有缺省包含在引用列表中,所以必須手工在接口部分的引

42、用列表中添加此單元。3.8 ODBC數(shù)據(jù)源設(shè)計所有的模塊及界面做好以后,最后就要進行數(shù)據(jù)庫連接了。打開開始設(shè)置控制面板管理工具ODBC數(shù)據(jù)源,選擇系統(tǒng)DNS,如下圖所示:圖3-7 ODBC數(shù)據(jù)源(1)選擇添加創(chuàng)建新數(shù)據(jù)源如下圖所示:圖3-8 ODBC數(shù)據(jù)源(2)點擊完成。填寫數(shù)據(jù)源名稱網(wǎng)吧管理系統(tǒng),選擇數(shù)據(jù)庫,如下圖所示:圖3-9 ODBC數(shù)據(jù)源(3)點擊確定完成。結(jié)束語通過本次畢業(yè)設(shè)計,我們基本明確了一個局域網(wǎng)門禁系統(tǒng)從構(gòu)思到設(shè)計再到實現(xiàn)的一般步驟以及需要注意的方面,這也是一個讓我們自己學(xué)習(xí)知識和運用知識的大好機會。我們最大的遺憾就是由于能力和設(shè)備的限制沒有能夠把一整套網(wǎng)絡(luò)管理系統(tǒng)做出來。還

43、有部分功能還有待進一步加強。嚴格的來說,我們的系統(tǒng)還不是真正意義上的局域網(wǎng)門禁系統(tǒng),而是一個單機測試版。原因就是缺乏很強專業(yè)技術(shù)水平以及沒有很高的技術(shù)含量。由于在校內(nèi)課程中沒有涉及到很深Delphi程序,以及我個人學(xué)習(xí)能力的限制,系統(tǒng)也沒有能夠?qū)崿F(xiàn)很強的功能。還有就是各組員間聯(lián)系不夠緊密,缺乏團隊合作精神。由于與指導(dǎo)教師缺乏默契的合作和密切的聯(lián)系,為后期的時間緊迫埋下了隱患。而作為組長,我負有不可推卸的責任。但是在各位領(lǐng)導(dǎo)和老師對我們的關(guān)心和指導(dǎo)之下,我們克服了困難,經(jīng)過調(diào)試,系統(tǒng)已基本達到我們初步制定的目標,完成簡單登錄、查詢、管理等功能,并能順利通過單機環(huán)境測試。我相信,在不久的將來,局域

44、網(wǎng)門禁系統(tǒng)將提供更為簡單,同時也是更為精細和完善的實現(xiàn)手段。到那時,使用局域網(wǎng)門禁系統(tǒng)管理網(wǎng)絡(luò),將更加簡單!致謝在這幾個月的畢業(yè)設(shè)計過程中,學(xué)校領(lǐng)導(dǎo)和老師對我們表達了深切的關(guān)心和嚴格的督促;尤其是在課題設(shè)計的初始階段,王秀山老師對我進行了悉心的教導(dǎo)并提出了許多寶貴的意見;在系統(tǒng)開發(fā)過程中,指導(dǎo)教師在百忙之中抽出時間為我們的設(shè)計提供參考書目和專業(yè)指導(dǎo);在課題研究過程中,其他老師也為我們提供了許多的寶貴意見和幫助;班主任老師更是一遍一遍不厭其煩地督促我們完成設(shè)計工作。在此,我對這段時間幫助過我的所有老師致以最由衷的感謝,謝謝各位老師的幫助,沒有你們,我的畢業(yè)設(shè)計不會如此順利的完成。參 考 文 獻1

45、、江毅等.DELPHI6.0數(shù)據(jù)庫實例編程.北京:中國水利水電出版社,20022、苗雪蘭,劉瑞新,王懷峰.數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程.北京:機械工業(yè)出版社,20013、袁培根,楊東艷,肖仁琴,何明儒.開放式機房門禁系統(tǒng)研制與實踐.北京:實驗室研究與探索第20卷第5期,20014、賈成宇,李樹秋,王世剛.智能門禁系統(tǒng)門控部分硬件設(shè)計.吉林:長春郵電學(xué)院學(xué)報第18卷第3期,20005、賈成宇,李樹秋,王世剛.智能門禁系統(tǒng)門控部分軟件設(shè)計.吉林:長春郵電學(xué)院學(xué)報第19卷第1期,2001附 錄unit main;interfaceuses Windows, Messages, SysUtils, Var

46、iants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, Menus, Mask, DBCtrls, Buttons;type TForm1 = class(TForm) Panel1: TPanel; Panel2: TPanel; Edit1: TEdit; Label1: TLabel; DBGrid1: TDBGrid; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N4: TMenuItem; N6: TMen

47、uItem; N5: TMenuItem; PC1: TMenuItem; DBEsdjg: TDBEdit; DBEshangji: TDBEdit; DBExiaji: TDBEdit; DBEsj: TDBEdit; DBExj: TDBEdit; Label2: TLabel; Timer1: TTimer; Splitter1: TSplitter; Label3: TLabel; Label4: TLabel; Panel3: TPanel; DBGrid2: TDBGrid; Panel4: TPanel; N7: TMenuItem; DBEmrjg: TDBEdit; DBE

48、yhm: TDBEdit; N8: TMenuItem; N9: TMenuItem; DBEqx: TDBEdit; DBText1: TDBText; N3: TMenuItem; Label5: TLabel; function sswu(yuanshi:string):real; function jgjs(shangji:string;xiaji:string;MM:string):string; procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure N5Click(Sender: TObject); p

49、rocedure Timer1Timer(Sender: TObject); procedure PC1Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure N3Click(Sender: TObject); private Private declarations public Pub

50、lic declarations end;var Form1: TForm1;implementationuses D_M, sd_gl, dd_gl, mr_jg, deng_lu, dl_gl, shan_chu;$R *.dfmfunction Tform1.sswu(yuanshi:string):real;var dd:string;beginif pos('.',yuanshi)<>0 thenbegin dd:=copy(yuanshi,pos('.',yuanshi)+1,3); if (strtofloat(dd)>=0)and(strtofloat(dd)<=25) then result:=strtofloat(copy(yuanshi,1,pos('.',yuanshi)-1) else if (strtofloat(dd)>25)and(strtofloat(dd)<=75) then result:=strtofloat(copy(yuanshi,1,pos('.',yuanshi)-1)+0.5 else if (strtofloat(dd)>75)and(strtofloat(dd)<=99) then resul

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論