【文章內(nèi)容簡介】
大功能周而復(fù)始的循環(huán)進(jìn)行,就構(gòu)成論壇。每個參與論壇的人,主要目的就是發(fā)帖,查看已經(jīng)發(fā)表的帖子,針對自己感興趣的帖子進(jìn)行回帖,參與討論。除了基本功能之外,論壇的其他功能都是擴展功能。管理員的基本功能和擴展功能:l 注冊登陸。原先的論壇在發(fā)帖回帖時,需要填寫自己的筆名。這樣,經(jīng)常發(fā)帖的人總是要重復(fù)填寫筆名,比較麻煩。因此,論壇擴展了用戶注冊登陸功能,參與論壇的注冊自己的筆名以及個人信息,擁有論壇中的身份,發(fā)言時就不需要重復(fù)填寫個人信息了。l 分板塊瀏覽帖子。隨著論壇帖子數(shù)量的增多,討論相同話題的帖子聚集在一起,引出了論壇新的擴展功能,即分板塊瀏覽帖子,屬于同一板塊的帖子討論同樣的話題。這樣,就使得對某一話題感興趣的用戶不會被其他帖子干擾,也有利于相同興趣的用戶相互間討論,不易跑題。l 編輯帖子。發(fā)帖回帖的用戶,如果需要修改更新自己發(fā)表的帖子內(nèi)容,就引出了編輯帖子內(nèi)容這個擴展功能,提供給用戶更新自己發(fā)言的選擇。對于論壇管理員,可以編輯任何帖子的內(nèi)容,也算是提供給管理員進(jìn)行管理的選擇。l 刪除帖子。如果用戶發(fā)表了不符合論壇規(guī)則的帖子,則需要管理員刪除這些帖子,這就引出了刪除帖子的擴展功能。l 轉(zhuǎn)移帖子。論壇劃分了板塊,如果帖子內(nèi)容不屬于所在板塊的關(guān)注話題,那么管理員可以選擇將此帖移動到所屬話題的板塊中去,這就引出了移動帖子的擴展功能。這個功能是隨著板塊功能的出現(xiàn)而出現(xiàn)的,板塊將帖子進(jìn)行了分組,從而提出了隨板塊移動帖子的要求。l 管理板塊。論壇板需要先創(chuàng)建,才能被使用,管理員還可以刪除修改板塊的相關(guān)信息,因此管理板塊是管理員使用的擴展功能。l 設(shè)置參數(shù)。論壇一般有一些初始化信息,比如論壇名稱,每頁顯示帖子數(shù)量等參數(shù)信息,管理員也可以在后臺界面自行設(shè)置,這頁屬于擴展功能。l 管理用戶。管理員可以對論壇的注冊用戶進(jìn)行管理,直接添加用戶,賦予相關(guān)權(quán)限,也可以修改已注冊用戶權(quán)限,對違規(guī)用戶可以刪除,這個擴展功能便于管理員對論壇用戶的管理。論壇的擴展功能如圖36所示。圖36 擴展功能圖 列出了所有基本的和擴展功能之后,在設(shè)計時需要考慮以后擴充的余地,即在給論壇添加新的功能的時候,原有的功能正??捎茫皇苡绊??;蛘哓S富擴展某個功能時,能夠方便銜接。這就要求在設(shè)計程序時,每個功能保留開放的接口,通過接口可以對功能進(jìn)行擴充,也可以與新功能進(jìn)行掛接。在UML中,使用類圖和組件圖來描述系統(tǒng)的軟件結(jié)構(gòu):使用順序圖,通信圖,狀態(tài)機圖和活動圖來定義系統(tǒng)中軟件的行為:在系統(tǒng)的軟件和硬件的交接處,部署圖用來描述運行軟件的處理器和設(shè)備的拓?fù)洹2渴饒D用來模擬系統(tǒng)的靜態(tài)部署圖,面靜態(tài)部署圖視主要描述了物理系統(tǒng)組成部份的分布和安裝。部署圖在極大程度上描述了運行系統(tǒng)的硬件拓?fù)?,它為系統(tǒng)中物理節(jié)點,節(jié)點之間關(guān)系的靜態(tài)方面建立了可視化的模型,并規(guī)定了構(gòu)造的細(xì)節(jié)。部署圖對于嵌入式,客戶/服務(wù)器,分布式系統(tǒng)的可視化建模很重要。其實現(xiàn)的原理及思路如圖37所示。 圖37功能的可擴充接口實現(xiàn)4功能模塊與數(shù)據(jù)庫設(shè)計 在確定了論壇系統(tǒng)的設(shè)計思路之后,還需要歸納成系統(tǒng)的相關(guān)模塊,每個模塊實際上就是功能的合理組合。 由于已經(jīng)將功能做了前臺與后臺的分類,因此模塊也應(yīng)該分為兩大類:前臺模塊和后臺模塊。用戶在前臺的注冊、登陸,以及修改個人的注冊信息組合成注冊信息組合成注冊登陸模塊。用戶瀏覽板塊、瀏覽主題帖列表、查看帖子組合成瀏覽模塊。用戶發(fā)帖、回帖、編輯自己發(fā)布的帖子組合成發(fā)帖回帖模塊。管理員編輯帖子、刪除帖子、轉(zhuǎn)移帖子、置頂帖子和精華帖子組合成管理帖子模塊。以上4個模塊是前臺模塊。后臺模塊都是與管理員相關(guān)的,設(shè)置論壇參數(shù)單獨為論壇設(shè)置模塊;創(chuàng)建、修改和刪除板塊為管理板塊模塊;添加、刪除和設(shè)置權(quán)限為管理用戶模塊。BBS的模塊體系圖41所示。圖41 BBS的模塊體系圖從用戶角度分析問題,首先區(qū)分系統(tǒng)中有幾種用戶,目前的論壇系統(tǒng),為了使其清楚易懂,簡化了用戶體系,論壇中只有兩種用戶:注冊用戶和管理員。一般論壇中的版主權(quán)限,劃分為管理員,這也是為了使讀者容易分清論壇的使用者和管理者。對于注冊用戶,在論壇中的行為可歸納如下:l 注冊個人身份,登陸論壇,登陸成功后可以修改自己的注冊信息。這些行為只與用戶自身相關(guān),功能獨立,設(shè)計成注冊登陸模塊。l 瀏覽板塊列表,選擇某板塊,瀏覽其下的主題帖列表,查看帖子內(nèi)容,搜索需要的帖子。這些行為是用戶讀取論壇的板塊及其帖子的相關(guān)信息,設(shè)計成瀏覽模塊??梢园l(fā)表新帖子,也可以回復(fù)已有的帖子,同時可以編輯自己寫的帖子內(nèi)容。這些行為是用戶參與論壇討論,發(fā)表自己見解的行為,設(shè)計為發(fā)帖回帖模塊。管理員需要負(fù)責(zé)整個論壇的正常運轉(zhuǎn),因此他需要更多的管理功能,可以歸納為如下行為:l 具備注冊用戶的所有功能。因為管理員也是論壇用戶,可以參與論壇中的討論。l 管理帖子。管理員對論壇的帖子有監(jiān)督的權(quán)利,好的帖子要獎勵,搗亂的帖子要刪除,標(biāo)識精華帖,置頂帖子,轉(zhuǎn)移發(fā)錯板塊的帖子,這些行為都是針對帖子的操作,設(shè)計成管理帖子模塊。l 管理板塊。論壇中的板塊,需要管理員進(jìn)行創(chuàng)建、管理板塊信息,這些針對板塊的操作,設(shè)計成管理板塊模塊。l 管理用戶。用戶注冊成功后,需要管理員賦予權(quán)限,才能使用論壇的相關(guān)功能。同時,管理員可以自主添加、刪除用戶,這些針對用戶信息的操作,設(shè)計成管理用戶模塊。 每個模塊的功能都真實反映需求,通過對需求的認(rèn)真分析,可以設(shè)計出符合要求的單獨模塊。但是,對于一個論壇系統(tǒng)來說,要很好地把握系統(tǒng)地構(gòu)架,把零散地功能模塊用一條主線串連起來,構(gòu)建完整的系統(tǒng)。 對論壇系統(tǒng)來說,聯(lián)系各個模塊的主線是使用者的權(quán)限,用戶能夠使用論壇的哪些功能是由用戶的權(quán)限決定的。論壇的每個功能都與相應(yīng)的權(quán)限對應(yīng)。例如,注冊用戶具有瀏覽帖子、發(fā)帖、回帖的權(quán)限,那么他就能使用論壇中的瀏覽、發(fā)帖、回帖功能。同一類用戶使用的功能模塊,是以使用者為中心連接起來的。另外,操作同類事務(wù)的功能模塊,也是有相互關(guān)系的。 因此,瀏覽模塊與發(fā)帖回帖模塊、管理帖子模塊關(guān)聯(lián),是由論壇的系統(tǒng)流程決定的,如圖42所示。圖42 帖子相關(guān)模塊關(guān)系圖管理板塊模塊與瀏覽模塊關(guān)聯(lián),是由帖子與板塊的父子關(guān)系決定的。帖子依附于板塊,先有板塊,后有帖子,帖子必須發(fā)表在某個板塊中,如圖43所示。圖43 管理板塊模塊于瀏覽模塊關(guān)系圖管理用戶模塊與注冊登陸模塊關(guān)聯(lián),是由同一類對象——用戶決定的。注冊后獲得論壇的身份,成為用戶,所有的用戶需要接受管理員的管理,用戶登陸證明自己在論壇中的身份,如圖44所示。圖44 管理用戶模塊與注冊登陸模塊關(guān)系圖弄清楚模塊間的相互關(guān)系,就可以設(shè)計出論壇系統(tǒng)的整體架構(gòu)了,如圖45所示。圖45 系統(tǒng)整體架構(gòu)圖 系統(tǒng)因入口的不同而分為前臺系統(tǒng)與后臺系統(tǒng)。前臺系統(tǒng)包括注冊登陸模塊、瀏覽模塊、發(fā)帖回帖模塊、管理帖子模塊;后臺包括管理用戶模塊、管理板塊模塊。之所以要把屬于管理員權(quán)限的管理帖子模塊歸屬于前臺,是因為,對于一個論壇系統(tǒng),帖子是最主要的,為了方便管理,管理員需要一邊瀏覽查看一邊進(jìn)行管理,管理時需要了解帖子的詳細(xì)內(nèi)容,以及相關(guān)回帖信息,因此將帖子的管理界面融合在前臺的瀏覽界面中。至于其他的模塊則比較清楚,是根據(jù)用戶的權(quán)限劃分的。(1)SQL數(shù)據(jù)庫數(shù)據(jù)庫(Database)是一系列信息資源的集合。在一個數(shù)據(jù)庫中,與一個項目有關(guān)的所有信息都可以叫做一條記錄(Record)。每一條記錄都是由一系列的字段(Field)組成的。一系列記錄的集合就構(gòu)成了數(shù)據(jù)表格(Table)。對于一個簡單的“平面文件”的數(shù)據(jù)庫來說,它僅包含了一個數(shù)據(jù)表格,而對一個“關(guān)系型”數(shù)據(jù)庫來說,它卻包含兩個或兩個以上的數(shù)據(jù)表格,表格的各字段之間存在這一種或多種關(guān)系(有時可以把這種關(guān)系叫做“鏈接”)。簡單的平面文件數(shù)據(jù)庫的用途非常有限,而關(guān)系型數(shù)據(jù)庫卻能夠包含數(shù)據(jù)以百萬計甚至以億計的記錄,并可以利用復(fù)雜的標(biāo)準(zhǔn)對這些記錄進(jìn)行操作,例如排序和統(tǒng)計。把它們叫做“關(guān)系型”數(shù)據(jù)庫,是因為需要在這些數(shù)據(jù)表格的字段之間建立特定的鏈接關(guān)系。關(guān)系型數(shù)據(jù)庫的優(yōu)點在于:通過將一個表格中的字段與另一個表格中的字段聯(lián)系起來,兩個表格之間的信息可以相互調(diào)用,可以避免信息的重復(fù)記錄,也可以避免管理上的混亂。因此關(guān)系型數(shù)據(jù)庫可以減小數(shù)據(jù)庫的體積,這對于大型的數(shù)據(jù)庫來說具有非常重要的意義。SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),它最初是由Microsoft Sybase 和AshtonTate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的一個版本。該版本繼承了SQL Server 版本的優(yōu)點同時又比它增加了許多更先進(jìn)的功能,具有使用方便,可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺使用。 SQL Server 2000 的特性Microsoftamp。reg。 SQL Server? 2000 的特性包括:① Internet 集成SQL Server 2000 數(shù)據(jù)庫引擎提供完整的XML 支持。它還具有構(gòu)成最大的Web 站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和安全功能。SQL Server 2000 程序設(shè)計模型與 Windows DNA 構(gòu)架集成,用以開發(fā) Web 應(yīng)用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服務(wù)等功能,在Web 應(yīng)用程序中包含了用戶友好的查詢和強大的搜索功能。 ?、?可伸縮性和可用性同一個數(shù)據(jù)庫引擎可以在不同的平臺上使用,從運行 Microsoft Windowsamp。reg。 98 的便攜式電腦,到運行 Microsoft Windows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2000 企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級到最大 Web 站點所需的性能級別。 ③ 企業(yè)級數(shù)據(jù)庫功能SQL Server 2000 關(guān)系數(shù)據(jù)庫引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護(hù)數(shù)據(jù)完整性,同時將管理上千個并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。SQL Server 2000 分布式查詢使您得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好象這些數(shù)據(jù)是 SQL Server 2000 數(shù)據(jù)庫的一部分,同時分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣使您得以維護(hù)多個數(shù)據(jù)復(fù)本,同時確保單獨的數(shù)據(jù)復(fù)本保持同步??蓪⒁唤M數(shù)據(jù)復(fù)制到多個移動的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務(wù)器