【終稿】免費(fèi)電大、自考、本科、大專畢業(yè)論文正稿(網(wǎng)絡(luò)社區(qū)服務(wù)管理系統(tǒng)的設(shè)計(jì))
xx 廣播電視大學(xué)開(kāi)放教育??朴?jì)算機(jī)網(wǎng)絡(luò)技術(shù)專業(yè)畢業(yè)設(shè)計(jì)網(wǎng)絡(luò)社區(qū)服務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓 名: xxx 學(xué) 號(hào): 10340xxxxxxxx 專 業(yè): 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù) 班 級(jí): 20xx 秋計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)???指導(dǎo)老師: xxxx 二xx 年十一月八日摘 要社區(qū)服務(wù)與管理系統(tǒng)是利用計(jì)算機(jī)技術(shù)來(lái)管理社區(qū)的居民信息,其主要意義在于避免傳統(tǒng)手寫(xiě)方式產(chǎn)生的數(shù)據(jù)丟失、書(shū)寫(xiě)錯(cuò)誤、勞動(dòng)強(qiáng)度高且時(shí)間和空間上限制的等問(wèn)題。通過(guò)計(jì)算機(jī)聯(lián)網(wǎng)后,可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程訪問(wèn)和共享,從而方便管理并節(jié)約成本。本文介紹了一個(gè)社區(qū)服務(wù)與管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)完整地分析了社區(qū)服務(wù)與管理系統(tǒng)的業(yè)務(wù)需求,并進(jìn)行了詳細(xì)設(shè)計(jì)。在此基礎(chǔ)上實(shí)現(xiàn)了其中的基本功能,包括:居民信息管理、外來(lái)人員信息管理、信息公告、用戶注冊(cè)、用戶論壇等功能。同時(shí),系統(tǒng)對(duì)用戶進(jìn)行了分級(jí)管理,提高了系統(tǒng)的安全性。在技術(shù)上,該系統(tǒng)選擇了三層的網(wǎng)絡(luò)體系結(jié)構(gòu)。客戶端技術(shù)綜合采用HTML、VBScript、JavaScript 等技術(shù)提供用戶界面;應(yīng)用服務(wù)器端使用 IIS,并采用 ASP 動(dòng)態(tài)網(wǎng)頁(yè)編程技術(shù)實(shí)現(xiàn)業(yè)務(wù)邏輯;數(shù)據(jù)庫(kù)服務(wù)器采用 SQL Server 2000 關(guān)系數(shù)據(jù)庫(kù)。應(yīng)用服務(wù)器利用 ADO 技術(shù)與數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行透明的數(shù)據(jù)傳輸。關(guān)鍵字:社區(qū)管理系統(tǒng);數(shù)據(jù)庫(kù);論壇;ASP目 錄論文總頁(yè)數(shù):24 頁(yè)1 引言 11.1 目前背景和國(guó)內(nèi)外現(xiàn)狀 11.2 系統(tǒng)的主要設(shè)計(jì)方法 11.3 系統(tǒng)開(kāi)發(fā)條件 12 社區(qū)管理系統(tǒng)分析 12.1 系統(tǒng)目標(biāo) 12.2 可行性分析 22.2.1 技術(shù)可行性 22.2.2 經(jīng)濟(jì)可行性 32.2.3 營(yíng)運(yùn)可行性分析 32.3 需求分析 53 社區(qū)管理系統(tǒng)總體設(shè)計(jì) 63.1 系統(tǒng)體系結(jié)構(gòu)選擇 63.2 系統(tǒng)功能模塊設(shè)計(jì) 73.3 功能模塊圖和說(shuō)明 84 社區(qū)管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)與邏輯實(shí)現(xiàn) 94.1 數(shù)據(jù)庫(kù)選擇和簡(jiǎn)介 94.2 社區(qū)服務(wù)與管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì) 94.2.1 數(shù)據(jù)庫(kù)的表結(jié)構(gòu)設(shè)計(jì) 94.2.2 數(shù)據(jù)庫(kù)的連接 .114.3 數(shù)據(jù)庫(kù)關(guān)系圖 .125 社區(qū)管理系統(tǒng)的實(shí)現(xiàn) .125.1 社區(qū)管理系統(tǒng)注冊(cè)和帳號(hào)管理模塊 .125.2 查看居住人員和外來(lái)人員信息模塊 .165.3 查看公告信息模塊 .165.4 意見(jiàn)反饋模塊 .185.5 論壇模塊 .186 難點(diǎn)及解決方法 .206.1 用戶登錄判斷 .206.2 查看意見(jiàn)根據(jù)不同級(jí)別用戶的顯示模式 .21結(jié) 論 .21參考文獻(xiàn) .21致 謝 .23聲 明 .241 引言1.1 目前背景和國(guó)內(nèi)外現(xiàn)狀隨著信息技術(shù)的飛速發(fā)展,特別是網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,計(jì)算機(jī)已經(jīng)成為當(dāng)今處理信息的主要工具。數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)應(yīng)用技術(shù)中的一個(gè)重要組成部分,對(duì)于大量的數(shù)據(jù),使用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)管理將比通過(guò)文件來(lái)存儲(chǔ)管理更高效。數(shù)據(jù)庫(kù)技術(shù)在經(jīng)過(guò)幾代變革以后,出現(xiàn)了以關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品為主流的數(shù)據(jù)庫(kù)時(shí)代。人們對(duì)于現(xiàn)實(shí)中的各種事物的管理已經(jīng)越來(lái)越依靠計(jì)算機(jī)進(jìn)行智能化管理,而不是靠手工輸入進(jìn)行統(tǒng)計(jì)管理。其次,當(dāng)代社會(huì),隨著社會(huì)、科技、文化和經(jīng)濟(jì)的發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和通信技術(shù)的大發(fā) 展,人們?cè)陔S時(shí)隨地,都可以知道遠(yuǎn)在千里的信息。但是,現(xiàn)在許多居民小區(qū)的信息并沒(méi)有在網(wǎng)上公布,如果,遠(yuǎn)在千里之外的人要了解這個(gè)居民小區(qū)的情況,則很困難。因此,在這種狀況下,提供一種網(wǎng)絡(luò)社區(qū)服務(wù)與管理系統(tǒng)對(duì)一個(gè)社區(qū)進(jìn)行管理,使任何人在任何時(shí)候任何地點(diǎn),都可以了解到小區(qū)的信息,并且使人們可以在這個(gè)平臺(tái)上進(jìn)行交流是勢(shì)在必行。目前,在發(fā)達(dá)國(guó)家,對(duì)居民小區(qū)基本上是用軟件進(jìn)行統(tǒng)計(jì)管理,而在國(guó)內(nèi),除了在較發(fā)達(dá)的地區(qū)是用了電腦,在大多數(shù)的地方,基本上是用人工對(duì)人員信息進(jìn)行統(tǒng)計(jì)。導(dǎo)致這種狀況的原因除了許多人不懂電腦,硬件設(shè)備不到位的原因外,最主要的原因是國(guó)內(nèi)從事這方面研究的人員太少。因此,在目前這種情況下,率先進(jìn)行研究,是極具商業(yè)價(jià)值的。1.2 系統(tǒng)的主要設(shè)計(jì)方法系統(tǒng)采用的是 B/S 模式開(kāi)發(fā),界面簡(jiǎn)單實(shí)用,沒(méi)有冗余頁(yè)面。此系統(tǒng)既可以在網(wǎng)站上用,也可以在局域網(wǎng)上使用。本系統(tǒng)用的是 ASP+VBScript +SQL 和少量的語(yǔ)句就用 vbscript 來(lái)開(kāi)發(fā),采用的服務(wù)器是 IIS。系統(tǒng)有非常簡(jiǎn)潔的界面,給用戶帶來(lái)了方便。這樣用戶就可以更加方便的人性化的交流。1.3 系統(tǒng)開(kāi)發(fā)條件系統(tǒng)開(kāi)發(fā)費(fèi)用教少,只是需要開(kāi)發(fā)人員一名,而系統(tǒng)完成后,在全國(guó)許多地方都可以用來(lái)作為小區(qū)的管理軟件。投入少,收益大。2 社區(qū)管理系統(tǒng)分析2.1 系統(tǒng)目標(biāo)以先進(jìn)的計(jì)算機(jī)管理手段和網(wǎng)絡(luò)技術(shù)設(shè)計(jì)一個(gè)網(wǎng)絡(luò)社區(qū)服務(wù)與管理系統(tǒng)管理系統(tǒng),為需要了解社區(qū)情況的人員提供信息查詢和交流等網(wǎng)絡(luò)在線服務(wù)。通過(guò)本系統(tǒng)的運(yùn)用能夠達(dá)到人力與費(fèi)用的節(jié)省、處理速度的提高、管理信息服務(wù)的改進(jìn)、人員工作效率的提高 。2.2 可行性分析在明確系統(tǒng)目標(biāo)和環(huán)境的基礎(chǔ)上,需要進(jìn)一步對(duì)系統(tǒng)的可行性進(jìn)行研究。此活動(dòng)的主要目標(biāo)是進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模與功能,對(duì)系統(tǒng)開(kāi)發(fā)背景、必要性和意義進(jìn)行調(diào)查分析并根據(jù)需要和可能提出擬開(kāi)發(fā)系統(tǒng)的初步方案與計(jì)劃??尚行匝芯渴轻槍?duì)系統(tǒng)進(jìn)行全面、概要的分析,主要包括三方面:技術(shù)可行性分析、經(jīng)濟(jì)可行性分析和營(yíng)運(yùn)可行性分析。2.2.1 技術(shù)可行性從用戶應(yīng)用角度來(lái)看,可把應(yīng)用程序系統(tǒng)的組成部分分成數(shù)據(jù)存儲(chǔ)層(DAO) 、業(yè)務(wù)處理層(SERVICE)和界面表示層(WEB)3 個(gè)層次,而應(yīng)用程序結(jié)構(gòu)可歸納為:集中式應(yīng)用程序結(jié)構(gòu)、單用戶應(yīng)用程序結(jié)構(gòu)、多層服務(wù)器應(yīng)用程序結(jié)構(gòu)、瀏覽器服務(wù)器應(yīng)用程序結(jié)構(gòu)、客戶機(jī)服務(wù)器應(yīng)用程序結(jié)構(gòu)等 5種類型。本系統(tǒng)就采用是瀏覽器服務(wù)器應(yīng)用程序結(jié)構(gòu)(即 B/S 結(jié)構(gòu)) 。此時(shí),瀏覽器發(fā)出請(qǐng)求(request) ,服務(wù)器對(duì)瀏覽器的請(qǐng)求做出回應(yīng)(response)。通過(guò)對(duì)服務(wù)功能的分布實(shí)現(xiàn)了分工服務(wù)。這樣使整個(gè)系統(tǒng)具有較好的性能并且使瀏覽器端能夠快速的運(yùn)行和顯示,而服務(wù)器可以并行地處理瀏覽器端發(fā)送的請(qǐng)求降低了瀏覽器的負(fù)荷。由于條件所限,將此系統(tǒng)的所有瀏覽器都置于一臺(tái)計(jì)算機(jī)上,以便開(kāi)發(fā)以及調(diào)試運(yùn)行。系統(tǒng)開(kāi)發(fā)語(yǔ)言是 ASP 使用數(shù)據(jù)庫(kù)是 SQL Server 2000.與 HTML 相比較, ASP 具有以下優(yōu)點(diǎn):1、利用 ASP 可以實(shí)現(xiàn)突破靜態(tài)網(wǎng)頁(yè)的一些功能限制,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)技術(shù); 2 、ASP 文件是包含在 HTML 代碼所組成的文件中的,易于修改和測(cè)試; 3、服務(wù)器上的 ASP 解釋程序會(huì)在服務(wù)器端制定 ASP 程序,并將結(jié)果以HTML 格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽 ASP 所產(chǎn)生的網(wǎng)頁(yè); 4、ASP 提供了一些內(nèi)置對(duì)象,使用這些對(duì)象可以使服務(wù)器端腳本功能更強(qiáng)例如可以從 web 瀏覽器中獲取用戶通過(guò) HTML 表單提交的信息,并在腳本中對(duì)這些信息進(jìn)行處理,然后向 web 瀏覽器發(fā)送信息;5、ASP 可以使用服務(wù)器端 ActiveX 組建來(lái)執(zhí)行各種各樣的任務(wù),例如存取數(shù)據(jù)庫(kù)、發(fā)現(xiàn)那個(gè) Email 或訪問(wèn)文件系統(tǒng)等;6、由于服務(wù)器是將 ASP 程序執(zhí)行的結(jié)果以 HTML 格式傳回客戶端瀏覽器,因此使用者不會(huì)看到 ASP 所編寫(xiě)的原始程序代碼,可放置 ASP 程序代碼被竊由于 asp 的幾大內(nèi)置對(duì)象(response、request、session、application、server)具有向向?yàn)g覽器端傳送數(shù)據(jù)、讀取瀏覽器端數(shù)據(jù) Server 對(duì)象、記錄瀏覽器端變量和操作數(shù)據(jù)庫(kù)等功能,因此,asp 能夠?qū)崿F(xiàn)系統(tǒng)的預(yù)定功能。本系統(tǒng)所使用開(kāi)發(fā)軟件是 Dreaweaver, Dreaweaver 是 Macromedia 公司最新推出的主頁(yè)編輯工具。這是一個(gè)所見(jiàn)即所得主頁(yè)編輯器,并帶有站點(diǎn)管理功能,讓你方便地設(shè)計(jì)和管理多個(gè)站點(diǎn),能夠大大地縮短程序人員的編程時(shí)間。2.2.2 經(jīng)濟(jì)可行性主要是對(duì)主要是對(duì)項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià),一方面是支出的費(fèi)用,其中包括設(shè)備購(gòu)置費(fèi)、軟件開(kāi)發(fā)費(fèi)、管理和維護(hù)費(fèi)、人員工資和培訓(xùn)費(fèi)等。另一方面是取得的收益中不可以用錢(qián)來(lái)衡量的那部分(收益的另一部分難以用錢(qián)來(lái)表示) ?;谝话憔用裆鐓^(qū)現(xiàn)有情況,要建設(shè)網(wǎng)絡(luò)社區(qū)服務(wù)與管理系統(tǒng)需要適當(dāng)添置硬件設(shè)備,如個(gè)人電腦一臺(tái),由于該軟件是個(gè)小型軟件,不用承擔(dān)太高開(kāi)發(fā)費(fèi)用。而社區(qū)的管理人員完全有能力自己使用和維護(hù)該系統(tǒng)。建立一個(gè)社區(qū)管理系統(tǒng)后,能大大減少重復(fù)性的工作過(guò)程,降低工作時(shí)間,提高工作效率。使后勤管理可以把更多時(shí)間投入到更為重要的事情中。因此,與后期各方面的收益相比前期的投入值得的。另外,系統(tǒng)運(yùn)行環(huán)境要求較低,具體如下:(1)Internet 瀏覽(2)內(nèi)存 256 兆(3)數(shù)據(jù)庫(kù):SQL Server 2000(4)裝有 windows xp 系統(tǒng)的電腦一臺(tái)因此,開(kāi)發(fā)本系統(tǒng)在經(jīng)濟(jì)上,效益是遠(yuǎn)大于投入的,2.2.3 營(yíng)運(yùn)可行性分析主要是管理人員對(duì)開(kāi)發(fā)信息系統(tǒng)是否支持,系統(tǒng)應(yīng)該具有操作簡(jiǎn)單、界面友好、易于理解,管理者經(jīng)過(guò)短時(shí)間的培訓(xùn)就可以較為熟練地使用該系統(tǒng)。用戶可以方便使用本系統(tǒng)的功能?;谝陨蠋c(diǎn),本系統(tǒng)的基本能夠操作步驟,可參看系統(tǒng)的流程圖如圖 2-1:成功管理員 普通用戶住戶管理外來(lái)人員信息管理發(fā)布水電費(fèi)通知意見(jiàn)查看與回復(fù)進(jìn)入登記出門(mén)登記刪除搬走住戶更新住戶信息新住戶登記繼續(xù)YesNo結(jié)束圖 2-1 系統(tǒng)流程圖從圖中可以看出,本系統(tǒng)用戶級(jí)別有管理員和普通用戶兩種級(jí)別,用戶按不同的方式登陸后就會(huì)有不同的操作權(quán)限,管理員具有對(duì)各類用戶的更改權(quán)限,普通用戶可以更改自己的數(shù)據(jù)和查詢相關(guān)信息以及提交意見(jiàn)和發(fā)表帖子。登陸身份驗(yàn)證查詢住戶信息查看通知信息發(fā)表意見(jiàn)論壇發(fā)帖失敗查看外來(lái)人員信息2.3 需求分析綜合系統(tǒng)目標(biāo)要實(shí)現(xiàn)的功能,本系統(tǒng)需要針對(duì)不同用戶級(jí)別(普通用戶和管理員)在各個(gè)功能模塊實(shí)現(xiàn)不同功能。1、小區(qū)住戶和外來(lái)人員的信息注冊(cè)更新模塊。如數(shù)據(jù)流圖 2-2:查詢方式人員信息 P1 信息注冊(cè)和處理處理信息存儲(chǔ)表P2 查詢?nèi)藛T信息情況普通用戶管理員圖 2-2 注冊(cè)更新模塊數(shù)據(jù)流圖管理員將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)表中(P1 操作) ,小區(qū)住戶的個(gè)人信息是放在jumin 表中,外來(lái)人員的進(jìn)入進(jìn)出信息放在 wailairenyuan 表中,其中管理員(P1 信息注冊(cè)和處理處理)對(duì)小區(qū)住戶和外來(lái)人員信息的處理權(quán)限包括:查詢、插入、刪除和更新。普通只是能夠查看信息。2、帳號(hào)管理管理模塊。如數(shù)據(jù)流圖 2-3:管理員用戶 IDP1 刪除注冊(cè)用戶注冊(cè)帳號(hào)表普通用戶注冊(cè)信息P2 帳號(hào)修改圖 2-3 帳號(hào)模塊數(shù)據(jù)流圖帳號(hào)管理模塊也分為普通用戶和管理員兩種用戶級(jí)別,普通用戶的資料是放在 yonghu 表中,其中普通用戶進(jìn)入后,能夠看到自己的注冊(cè)內(nèi)容,可以對(duì)內(nèi)容進(jìn)行更新修改, 管理員可以進(jìn)行 p2 操作,具體權(quán)限是可以查看所有用戶的登陸帳號(hào),可以刪除用戶帳號(hào)。3 、公告欄模塊。如數(shù)據(jù)流圖 2-4:查詢公告信息管理員P1 發(fā)布公告表普通用戶P2 查看圖 2-4 公告欄模塊數(shù)據(jù)流圖管理員可以在公告欄模塊發(fā)布通知,(例如失物招領(lǐng)通知 )并且可以對(duì)發(fā)布的信息具有刪除權(quán)限,普通用戶在公告欄模塊可以查看后勤公司的通知(如水電費(fèi)方面的通知。4、意見(jiàn)反饋模塊。如數(shù)據(jù)流圖 2-5圖 2-5 意見(jiàn)反饋模塊數(shù)據(jù)流圖普通用戶可以通過(guò)提意見(jiàn)(p2 操作)將意見(jiàn)放在 yijian 表中,還可以查看自己提交的所有意見(jiàn)(p.3.1 操作),僅看到自己一個(gè)人的意見(jiàn),對(duì)于管理員的回復(fù),可以通過(guò)查看 huifu 表實(shí)現(xiàn)(p.3.2 操作) ;管理員的權(quán)限可以查看所有用戶提交的意見(jiàn),并且可以回復(fù)和刪除意見(jiàn)。5凡是注冊(cè)的用戶,都可以在論壇發(fā)帖和回復(fù)帖子。論壇的具體功能同意見(jiàn)反饋功能模塊相同。只是用戶級(jí)別沒(méi)有管理員。發(fā)帖和回復(fù)跟意見(jiàn)反饋的提意見(jiàn)和回復(fù)類似。3 社區(qū)管理系統(tǒng)總體設(shè)計(jì)3.1 系統(tǒng)體系結(jié)構(gòu)選擇社區(qū)管理系統(tǒng)采用的是 B/S(Browser/Server)體系結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。B/S 體系結(jié)構(gòu)是隨著 Internet 技術(shù)的興起,對(duì) C/S 結(jié)構(gòu)的一種變化或答復(fù)管理員P1.1 查看意見(jiàn)意見(jiàn)表意見(jiàn) idP1.2回復(fù)回復(fù)表普通用戶意見(jiàn)P2 發(fā)表p.3.1 查看意見(jiàn)p.3.2 查看回復(fù)者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò) WWW 瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層 3-tier 結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO) 。以目前的技術(shù)看,局域網(wǎng)建立 B/S 結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet 模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全 。3.2 系統(tǒng)功能模塊設(shè)計(jì)從系統(tǒng)目標(biāo)的內(nèi)容可以看出,系統(tǒng)共有五大功能模塊。用戶級(jí)別分為普通用戶和管理員用戶。1、注冊(cè)和帳戶管理模塊2、居民信息和外來(lái)人員信息查看和統(tǒng)計(jì)模塊3、公告欄模塊4、意見(jiàn)反饋模塊5、論壇交流模塊。注冊(cè)和帳戶管理模塊、居民信息和外來(lái)人員信息查看和統(tǒng)計(jì)模塊幾個(gè)功能模塊的算法都差不多。主要步驟有 2 步:1、在表單頁(yè)面提示用戶輸入數(shù)據(jù);2、 在處理頁(yè)面獲取用戶的輸入數(shù)據(jù),按照用戶的要求對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作意見(jiàn)反饋和公告欄模塊主要在上面的兩步前加了一步身份驗(yàn)證,主要是根據(jù)不同級(jí)別的用戶確定不同的顯示頁(yè)面。例如意見(jiàn)反饋中查看意見(jiàn)頁(yè)面實(shí)現(xiàn)步驟是:先從意見(jiàn)的存儲(chǔ)表中查找出來(lái)顯示,再?gòu)幕貜?fù)意見(jiàn)表中查找出回復(fù)的內(nèi)容把它顯示出來(lái)論壇模塊的只能是普通用戶。步驟同意見(jiàn)反饋差不多。3.3 功能模塊圖和說(shuō)明社區(qū)管理系統(tǒng)用戶登陸普通用戶管理員注冊(cè)和賬戶管理居民和外來(lái)人員公告欄意見(jiàn)反饋交流論壇注冊(cè)和管理帳號(hào)居民和外來(lái)人員公告欄意見(jiàn)反饋圖 3-1 功能模塊圖從功能模塊圖中可以看出系統(tǒng)的中的各部分功能都是在管理員和普通用戶權(quán)限下完成操作管理員和普通用戶的具體操作權(quán)限如下兩點(diǎn):普通用戶:1、注冊(cè)和管理帳號(hào):可以注冊(cè)帳號(hào),并且在帳號(hào)管理里可以查看和更改自己的信息。2、居民和外來(lái)人員:可以查看人員的相關(guān)信息。3、公告欄:可以查看管理員所發(fā)布的信息。4、意見(jiàn)反饋:可以發(fā)表意見(jiàn),并且可以查看自己所有發(fā)表的意見(jiàn)和管理員對(duì)他的回復(fù)。5、交流論壇:可以發(fā)表帖子,查看和回復(fù)別人的帖子。管理員:1、注冊(cè)和管理帳號(hào):可以查看和刪除普通用戶的帳號(hào),管理員自己的帳號(hào)則是在后臺(tái)數(shù)據(jù)庫(kù)里寫(xiě)的,不可以在網(wǎng)頁(yè)里隨意注冊(cè)和更新。2、居民和外來(lái)人員:可以對(duì)居民和外來(lái)人員信息進(jìn)行操作,包括:注冊(cè),插入,更新和刪除。3、公告欄:可以查看和發(fā)布信息。4、意見(jiàn)反饋:可以查看所有用戶發(fā)表的意見(jiàn)并對(duì)其回復(fù)。4 社區(qū)管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)與邏輯實(shí)現(xiàn)4.1 數(shù)據(jù)庫(kù)選擇和簡(jiǎn)介數(shù)據(jù)庫(kù)技術(shù)在計(jì)算機(jī)軟件研究領(lǐng)域中一直是非常重要的主題。隨著 World Wide Web(WWW)和 Internet 技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫(kù)技術(shù)成為最熱門(mén)技術(shù)之一。Microsoft SQL server 2000 是目前使用最為廣泛的數(shù)據(jù)庫(kù),它與 Windows網(wǎng)絡(luò)操作系統(tǒng)的無(wú)縫繼成,智能化的內(nèi)容管理,強(qiáng)大的功能,使它得到大量用戶的喜愛(ài)。DBS 功能:1、 DBMS 提供數(shù)據(jù)定義語(yǔ)言(Data Definition Language,DDL),用戶通過(guò)它可以方便地對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象進(jìn)行定義。2、 DBMS 提供數(shù)據(jù)操縱語(yǔ)言(Data Manipulation Language, DML),用戶可以使用 DML 操縱數(shù)據(jù)實(shí)現(xiàn)對(duì)數(shù)據(jù)的基本操作如查詢、插入、刪除和修改。數(shù)據(jù)庫(kù)在建立、運(yùn)用和維護(hù)時(shí)由數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多用戶對(duì)數(shù)據(jù)的開(kāi)發(fā)使用以及發(fā)生故障后的系統(tǒng)恢復(fù)。數(shù)據(jù)庫(kù)的建立和維護(hù)功能 。它包括數(shù)據(jù)庫(kù)初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)功能,數(shù)據(jù)庫(kù)的重組織、重構(gòu)造功能和性能分析、監(jiān)視功能等等.這些功能常常由一些使用程序完成的。由于 SQL 在安全上,使用簡(jiǎn)潔性上具有很大的優(yōu)勢(shì),所以在數(shù)據(jù)庫(kù)的選擇上,我選擇了 SQL 數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的名稱是 jiang。4.2 社區(qū)服務(wù)與管理系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)4.2.1 數(shù)據(jù)庫(kù)的表結(jié)構(gòu)設(shè)計(jì)社區(qū)服務(wù)與管理系統(tǒng)共有 10 個(gè)表每個(gè)表的基本結(jié)構(gòu)和功能如下。1、yonghu 表:普通用戶的注冊(cè)表用于登記注冊(cè)用戶的注冊(cè)信息。結(jié)構(gòu)如表 4-1:表 4-1:用戶信息表2、guanliyuan 表:用于登記管理員的帳號(hào)信息。結(jié)構(gòu)如表 4-2:字段名 字段類型 長(zhǎng)度 是否允許為空username varchar 10 否pwd varchar 16 否sex varchar 2 是QQ int 10 是email varchar 50 是time datetime 8 是表 4-2:管理員信息表字段名 字段類型 長(zhǎng)度 是否允許為空id varchar 10 否password varchar 16 否3、jumin 表:主要對(duì)社區(qū)居民信息(姓名,身份證號(hào),居住單元,電話號(hào)碼)進(jìn)行統(tǒng)計(jì)。結(jié)構(gòu)如表 4-3:表 4-3:居民信息表字段名 字段類型 長(zhǎng)度 是否允許為空name varchar 10 否id varchar 10 否juzhudanyuan varchar 10 否telephone varchar 15 否Id 就是居住人員的身份證號(hào),因此 id 就是主鍵。4、wailairenyuan 表:統(tǒng)計(jì)外來(lái)人員進(jìn)入進(jìn)出時(shí)間和所帶物品,主鍵是 id。結(jié)構(gòu)如表 4-4:表 4-4:外來(lái)人員信息表字段名 字段類型 長(zhǎng)度 是否允許為空name varchar 10 否Id varchar 10 否dairuwupin varchar 20 否jtime datetime 8 否daichuwupin varchar 29 否ctime datetime 8 否5、xinxi 表:用于公告欄信息發(fā)布,id 是主鍵。結(jié)構(gòu)如表 4-5:表 4-5:公告信息表字段名 字段類型 長(zhǎng)度 是否允許為空Id int 4 否Zhuti varchar 20 是Zuozhe varchar 10 是Neirong varchar 100 否time datetime 8 是6、 yijian 表:記錄用戶提交的意見(jiàn),id 是主鍵。結(jié)構(gòu)如表 4-6:表 4-6:意見(jiàn)表字段名 字段類型 長(zhǎng)度 是否允許為空Id int 4 否Zhuti varchar 20 是Zuozhe varchar 10 是Neirong varchar 100 否time datetime 8 是7、 yijianhuifu 表:記錄管理員對(duì)用戶意見(jiàn)的回復(fù),rid 字段是用來(lái)記錄回復(fù)的哪個(gè)意見(jiàn)的,id 是主鍵,結(jié)構(gòu)如表 4-7:表 4-7:意見(jiàn)反饋表字段名 字段類型 長(zhǎng)度 是否允許為空id int 4 否rid int 4 否rzhuti varchar 29 是rzuozhe varchar 10 是rneirong varchar 100 否time datetime 8 是另外論壇還有三個(gè)表:版塊表, 帖子表和回復(fù)表。board 表:用來(lái)記錄論壇版塊的。結(jié)構(gòu)如表 4-8:表 4-8:版塊表字段名 字段類型 長(zhǎng)度 是否允許為空id int 6 否boardname varchar 10 是banzhu varchar 10 是boardcontent varchar 20 是wenzhang 表:用來(lái)記錄論壇帖子。結(jié)構(gòu)如表 4-9:表 4-9:帖子表字段名 字段類型 長(zhǎng)度 是否允許為空id int 4 否title varchar 20 是content varchar 100 否name varchar 20 是time varchar 8 是boardid int 4 是hits int 4 是ip varchar 20 是rwenzhang 表:記錄用戶對(duì)論壇帖子回復(fù)的文章。主鍵是 id 結(jié)構(gòu)如 4-10:表 4-10:回復(fù)表字段名 字段類型 長(zhǎng)度 是否允許為空id int 4 否rid int 4 否rname varchar 20 是rcontent varchar 100 否rtime datetime 8 是rip varchar 20 是4.2.2 數(shù)據(jù)庫(kù)的連接1、設(shè)置數(shù)據(jù)庫(kù)的身份驗(yàn)證模式,步驟為,打開(kāi) sql 企業(yè)管理器右鍵單擊控制臺(tái)選擇屬性單擊安全性選擇 sql 身份驗(yàn)證;另外還要新建一個(gè)登陸用戶,我這兒直接用的系統(tǒng)帳號(hào) sa。2、設(shè)置數(shù)據(jù)源:打開(kāi)控制面板選擇管理工具打開(kāi)選擇數(shù)據(jù)源選擇系統(tǒng) dsn點(diǎn)擊添加選擇 server sql設(shè)置數(shù)據(jù)源名(我輸入的是 jiang)和設(shè)置服務(wù)器為(local) 在下一步中選擇使用用戶輸入登陸 ID 和密碼的 SQL身份驗(yàn)證在下面輸入登陸 ID 和密碼在下一步中選擇更改默認(rèn)數(shù)據(jù)庫(kù),選擇你要連接的數(shù)據(jù)庫(kù)(我選擇的是 jiang)最后單擊完成。你可以單擊測(cè)試,如果顯示測(cè)試成功,表明你已經(jīng)建好了數(shù)據(jù)源否則,表示你在建數(shù)據(jù)源的過(guò)程中設(shè)置錯(cuò)了值。3、最后一步則是在程序中編寫(xiě)連接代碼,具體代碼如下:4.3 數(shù)據(jù)庫(kù)關(guān)系圖本系統(tǒng)只有一個(gè)關(guān)系圖 DIAGRAM1 主要是防止普通用戶的用戶名的更改,而造成 yijian 表和 wenzhang 表里的作者項(xiàng)與 yonghu 表里的作者名稱不符和。如圖 4-1:圖 4-1 數(shù)據(jù)庫(kù)關(guān)系圖其中用戶表的 usernam 是主鍵,而 yijian 表里的做 zuozhe 和 wenzhang 表里的 name 是外鍵。5 社區(qū)管理系統(tǒng)的實(shí)現(xiàn)5.1 社區(qū)管理系統(tǒng)注冊(cè)和帳號(hào)管理模塊注冊(cè)界面如圖 5-1:圖 5-1 系統(tǒng)注冊(cè)界面在注冊(cè)界面中,QQ 選項(xiàng)必須輸入數(shù)字,其他的由于在數(shù)據(jù)庫(kù)中的字段屬性設(shè)置的字符類型,所以可以任意輸入數(shù)據(jù)。注冊(cè)的基本代碼如下:alert('請(qǐng)?zhí)顚?xiě)完整');history.back(-1);“response.End()elseuser=request.form(“user“)pwd=request.form(“pwd“)sex=request.form(“sex“)QQ=request.form(“QQ“)email=request.form(“email“)dim rsdim sqlset rs=server.createobject(“adodb.recordset“)sql=“select*from yonghu where username='“history.back(-1);“%您已經(jīng)注冊(cè)成功“response.End()%帳號(hào)管理就分為普通用戶和管理員兩個(gè)不同頁(yè)面,實(shí)現(xiàn)方式是根據(jù)不同用戶登陸產(chǎn)生的不同 session 變量來(lái)確定,代碼如下:empty then response.Redirect(“mzhanghao.asp“)elseresponse.Redirect(“uzhanghao.asp“)end if%普通用戶則導(dǎo)向 uzhanghao.asp 管理員則導(dǎo)向 mzhanghao.asp。在普通用戶頁(yè)面中,你可以更改自己的注冊(cè)資料如圖 5-2:圖 5-2 用戶信息更改界面代碼如下:管理員則可以查看和刪除注冊(cè)用戶的資料,如圖 5-3:圖 5-3 管理用戶資料界面管理員通過(guò)單擊“刪除”來(lái)刪除普通用戶的注冊(cè)名,這里主要是通過(guò)超鏈接傳遞一個(gè)參數(shù)(yonghu 表里的 id,數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)生成)到刪除處理程序,通過(guò)查找符合參數(shù)的記錄,最后再刪除這條記錄。5.2 查看居住人員和外來(lái)人員信息模塊查看居住人員和外來(lái)人員信息模塊,我們首先要在依據(jù)你輸入的身份證號(hào)碼來(lái)確定查詢哪個(gè)人如圖 5-4:圖 5-4 查詢?nèi)藛T信息界面例如輸入一個(gè) 11(當(dāng)然實(shí)際不可能有這種格式的身份證號(hào)碼,這里只是為了演示方便)就會(huì)在顯示頁(yè)面看到住戶的姓名、身份證號(hào)碼、居住單元和電話號(hào)碼。如圖 5-5:圖 5-5 人員信息顯示界面而查看外來(lái)人員信息同查看居住人員信息一樣,這里就不再敘述了。而管理員的權(quán)限更高,有查詢、刪除、插入和更新。代碼跟普通用戶的查詢的代碼差不多,只是 SQL 語(yǔ)句的不同而已5.3 查看公告信息模塊查看公告信息的實(shí)現(xiàn)代碼基本上同查看住戶的代碼相同,唯一不同的是加入了分頁(yè)顯示,如圖 5-6:圖 5-6 公告信息顯示界面其中普通用戶只能查看,而管理員則可以刪除和發(fā)布。這里刪除同帳號(hào)管理里的刪除有所不同。帳號(hào)管理里的刪除是通過(guò)表單傳遞一個(gè)身份證號(hào)碼來(lái)確定刪除誰(shuí),這里是通過(guò)超鏈接里傳遞一個(gè)參數(shù)給刪除頁(yè)面,然后刪除。代碼如下:“刪除發(fā)布基本上同注冊(cè)差不多。另外,分頁(yè)顯示顯示的實(shí)現(xiàn)代碼如下:第一頁(yè)1 Then %“上一頁(yè)“下一其主要實(shí)現(xiàn)步驟有 2 步:1、首先超鏈接到本頁(yè),傳回一個(gè)參數(shù) a,第一頁(yè)就傳遞 a=1,下一頁(yè)傳遞a=a-1,上一頁(yè)傳遞 a=a+1;2、 在程序起始部分獲取 a 值,代碼是 a=cint(request.querystring(“a“),然后設(shè)置顯示第幾頁(yè),代碼是 rs.absolutepage=a,意思是將顯示頁(yè)面設(shè)置成第 a 頁(yè),absolutepage 是分頁(yè)顯示的一個(gè)屬性,指當(dāng)前顯示第幾頁(yè)。5.4 意見(jiàn)反饋模塊意見(jiàn)反饋模塊有普通用戶提交意見(jiàn)和管理員回復(fù)意見(jiàn)的功能,普通用戶提交意見(jiàn)實(shí)現(xiàn)代碼同公告欄管理員發(fā)布差不多。管理員回復(fù)意見(jiàn)只是對(duì)每個(gè)意見(jiàn)進(jìn)行回復(fù),程序中將回復(fù)意見(jiàn)表的字段 rid 與意見(jiàn)表 id 字段相同,以便使其相關(guān)聯(lián)。另外,普通用戶同管理員查看意見(jiàn)的實(shí)現(xiàn)代碼的特點(diǎn)是,它不像帳號(hào)管理模塊那樣根據(jù)不同用戶的登陸而導(dǎo)向不同的頁(yè)面,而是管理員和普通用戶是一個(gè)頁(yè)面,只是根據(jù)不同用戶而執(zhí)行,不同的程序段,意見(jiàn)查看代碼如下:session(“name“)是管理員登陸是產(chǎn)生的客戶端變量,程序的意思是管理員和普通用戶到意見(jiàn)查看頁(yè)面查看意見(jiàn)時(shí),定義不同的 sql 查詢語(yǔ)句。這樣,由于 SQL 語(yǔ)句的不同,rs 記錄集中的內(nèi)容便會(huì)不同。在顯示意見(jiàn)時(shí),普通用戶和管理員就看到了不同內(nèi)容的頁(yè)面。5.5 論壇模塊論壇模塊重點(diǎn)主要是 show 頁(yè)面的實(shí)現(xiàn)如圖 5-7:圖 5-7 論壇帖子顯示界面通過(guò)截圖,可以看到 show 的重點(diǎn)將帖子和回復(fù)的帖子顯示在一起,這里實(shí)現(xiàn)的方式,主要是將帖子和回復(fù)的帖子分別存在 wenzhang 和 rwenzhang 表中,其中 wenzhang 表有一個(gè)字段 id 對(duì)應(yīng) rwenzhang 表中的字段 rid。這樣,就可以先顯示 wenzhang 里的帖子,然后再顯示 rwenzhang 里 rid 字段與顯示的帖子的id 字段相同的回復(fù)帖子就可以了。具體代碼如下:第一行就是獲取原帖的 id 號(hào),然后定義 SQL 語(yǔ)句 sql = “select*from rwenzhang where bid=0 and rid=“response.write“javascript:history.go(-1)“elsesession(“user“)=unameresponse.Redirect “index.asp“end if elseset rs=server.createobject(“adodb.recordset“)sql=“select * from guanliyuan where id='“response.write“javascript:history.go(-1)“elsesession(“name“)=uname response.Redirect “index.asp“end ifend if %2.在需要用戶先登陸的頁(yè)面加入以下代碼:意思是如果用戶沒(méi)有以任何一種身份登陸的話,那就不能訪問(wèn)這個(gè)頁(yè)面。6.2 查看意見(jiàn)根據(jù)不同級(jí)別用戶的顯示模式這里主要通過(guò)兩種方法實(shí)現(xiàn):一種是通過(guò)不同的 session 變量導(dǎo)向不同的頁(yè)面,第二種是,在程序中加條件控制。結(jié) 論本文簡(jiǎn)要介紹了一個(gè)具有典型 B/S 體系結(jié)構(gòu)的網(wǎng)絡(luò)社區(qū)服務(wù)與管理系統(tǒng),重點(diǎn)討論了系統(tǒng)開(kāi)發(fā)工具、開(kāi)發(fā)語(yǔ)言等關(guān)鍵技術(shù)以及系統(tǒng)的數(shù)據(jù)庫(kù)建設(shè),系統(tǒng)流程圖和功能模塊圖以及代碼分析。這些過(guò)程的討論和分析,讓大家對(duì)系統(tǒng)的體系結(jié)構(gòu),功能模塊等有了更深的了解。目前此系統(tǒng)基本可以完全實(shí)現(xiàn)初期預(yù)定的功能,但系統(tǒng)仍然有一些不盡人意,而這些問(wèn)題主要集中在系統(tǒng)的安全上,雖然系統(tǒng)已經(jīng)通過(guò)相關(guān)的控制語(yǔ)句對(duì)登陸用戶身份進(jìn)行驗(yàn)證,但是在當(dāng)今網(wǎng)絡(luò)信息安全中,僅僅對(duì)用戶身份驗(yàn)證是不夠的,還需要對(duì)傳送數(shù)據(jù)進(jìn)行加密,防止數(shù)據(jù)傳輸過(guò)程中被篡改等攻擊進(jìn)行防御。因此在今后的工作里,這些功能的實(shí)現(xiàn)還需要更高的技術(shù)支持。在日常維護(hù)過(guò)程中,都需要進(jìn)行嚴(yán)格的檢測(cè),以保證系統(tǒng)的服務(wù)質(zhì)量。參考文獻(xiàn)1 溫明等.ASP 網(wǎng)站建設(shè)實(shí)錄M. 北京:紅旗出版社,2005。2 王珊等.數(shù)據(jù)庫(kù)基礎(chǔ)與應(yīng)用M. 北京:人民郵電出版社,2003。3 金林樵.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用M. 北京:機(jī)械工業(yè)出版社,2002。4 鄧文淵.ASP 與網(wǎng)絡(luò)數(shù)據(jù)庫(kù)技術(shù)M. 北京:中國(guó)鐵道出版社,2004。5 楊得新等.SQL SEVER 數(shù)據(jù)庫(kù)系統(tǒng)M. 北京:機(jī)械工業(yè)出版社,2004。6 郭瑞軍等.ASP 數(shù)據(jù)庫(kù)開(kāi)發(fā)示例精粹M. 北京:電子工業(yè)出版社,2005。7 方睿 ,刁仁宏, 吳四九網(wǎng)絡(luò)數(shù)據(jù)庫(kù)原理及應(yīng)用M. 成都:四川大學(xué)出版社,2005。致 謝本文是在唐老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!在論文完成過(guò)程中,本人還得到了其他老師和許多同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝!