文/紀(jì)麗娜
隨著各行各業(yè)的發(fā)展需要,越來(lái)越多的培訓(xùn)項(xiàng)目開(kāi)始引入在線培訓(xùn)模式,與此同時(shí)如何提高培訓(xùn)項(xiàng)目的管理效率是目前在線培訓(xùn)面臨的一項(xiàng)重要挑戰(zhàn)。
BBS的英文全稱是Bulletin Board System,最早是用來(lái)公布股票漲跌價(jià)格等信息的工具。早期的BBS與一般街頭公告板和校園內(nèi)的公告板性質(zhì)相似,只不過(guò)是通過(guò)電腦來(lái)發(fā)送或獲取消息而已。近些年來(lái),隨著個(gè)人計(jì)算機(jī)的普及,BBS的功能得到了較大的擴(kuò)充。由于論壇后臺(tái)強(qiáng)大的管理模式,可以為一些在線管理項(xiàng)目提供更加高效便捷的管理服務(wù),大大提高項(xiàng)目管理效率。
需求分析要求詳細(xì)、準(zhǔn)確地分析清楚系統(tǒng)必須“做什么”,它是關(guān)系到軟件開(kāi)發(fā)成敗的關(guān)鍵階段。在需求分析階段,需要用到各種方法,技術(shù)和工具等。
本系統(tǒng)的基本需求為,可以發(fā)帖和評(píng)論,同時(shí)可以查詢主題以及查詢所有教師及授課信息,同時(shí)可以向授課教師留言展現(xiàn)自己的問(wèn)題,也可以針對(duì)個(gè)別用戶進(jìn)行一對(duì)一的短信收發(fā)和回復(fù)。后臺(tái)對(duì)注冊(cè)的用戶進(jìn)行的管理,包括新用戶添加,對(duì)用戶信息的修改以及刪除過(guò)期用戶(如果一年內(nèi)未曾登錄本論壇則視為過(guò)期用戶),同時(shí)管理員可以具有:提升用戶為管理員、選擇授課教師以及刪除管理員等權(quán)限。除此之外,后臺(tái)管理系統(tǒng)還應(yīng)包括:用戶管理、論壇主題、帖子管理以及帖子回復(fù)管理、個(gè)人收發(fā)短信及短信回復(fù)、統(tǒng)計(jì)注冊(cè)人數(shù)以及關(guān)鍵字查詢等功能。論壇系統(tǒng)的最終目的是為廣大的在線用戶提供一個(gè)可以自由、方便地發(fā)表自己觀點(diǎn)和想法的網(wǎng)上空間,同時(shí)方便課程培訓(xùn)項(xiàng)目的管理,提高培訓(xùn)管理效率。
2.2.1 程序開(kāi)發(fā)平臺(tái)
系統(tǒng)開(kāi)發(fā)平臺(tái):MyEclipse9.0、Photoshop CS5、 Dreamweaver CS4
數(shù)據(jù)庫(kù):MySQL,第三方工具:Navicat For MySQL
系統(tǒng)開(kāi)發(fā)語(yǔ)言:JAVA
運(yùn)行平臺(tái):Window2000,Windows Xp,Windows Server 2003,Linux
2.2.2 運(yùn)行環(huán)境:運(yùn)行環(huán)境:java jdk1.6.0_16
本系統(tǒng)是論壇后臺(tái)系統(tǒng)設(shè)置的論壇管理員具有最高管理權(quán)限,除了可以使用用戶的所有功能之外,還可以進(jìn)行論壇用戶管理、帖子管理、回復(fù)管理、主題管理、查詢、刪除、修改所有用戶信息等權(quán)限。用戶能通過(guò)查詢主題列表查看主題詳細(xì)信息以及其留言,并可以修改自己的注冊(cè)信息,當(dāng)然注冊(cè)信息要通過(guò)管理員審核,不符合平臺(tái)要求的內(nèi)容將會(huì)被刪除,同時(shí)用戶能查詢所有注冊(cè)教師及授課信息,并通過(guò)離線留言提出自己的問(wèn)題。
如圖1所示。
3.2.1 系統(tǒng)功能結(jié)構(gòu)總圖
如圖2所示。
3.2.2 模塊分析圖
如圖3、圖4、圖5、圖6所示。
由上面的設(shè)計(jì)分析,本論壇系統(tǒng)中的一些操作是有先后順序的,例如只有先登錄才能做相應(yīng)的操作。具體系統(tǒng)流程圖如圖7所示。

圖1:系統(tǒng)后臺(tái)功能模塊圖

圖2:系統(tǒng)總體結(jié)構(gòu)

圖3:系統(tǒng)管理模塊

圖4:用戶管理模塊

圖5:主題模塊

圖6:課程管理模塊

圖7:系統(tǒng)流程圖
(1)用戶表:用于存放用戶的一些信息。
(2)發(fā)表主題表:用于記錄所有用戶發(fā)表的主題。
(3)回復(fù)表:用于記錄所有用戶回復(fù)的內(nèi)容。
(4)短信表:用于記錄系統(tǒng)對(duì)用戶和用戶發(fā)送短信的信息。
(5)在線課程表:用于記錄在線的輔導(dǎo)課程以及課程信息。
(6)短信回復(fù)表:用于記錄用戶之間的留言以及標(biāo)識(shí)。
4.1.1 系統(tǒng)實(shí)體E-R圖
根據(jù)以上的分析,確定本系統(tǒng)中的實(shí)體有:
(1)用戶實(shí)體:存放用戶信息;
(2)主題實(shí)體:主題實(shí)體和用戶存放多對(duì)多的聯(lián)系;
(3)回復(fù)實(shí)體:回復(fù)實(shí)體和用戶存在多對(duì)多的聯(lián)系;
所示系統(tǒng)實(shí)體E-R圖如圖8所示。
根據(jù)以上的設(shè)計(jì),數(shù)據(jù)的字段詳細(xì)設(shè)計(jì)如下:
(1)用戶表(user):用于保存用戶的注冊(cè)信息,userId是主鍵,userName為用戶名,pass為密碼。見(jiàn)表1。
(2)主題表(topic):用于存放用戶發(fā)表的主題的表,topicId是主鍵,userName是發(fā)表主題的用戶名,也是用于關(guān)聯(lián)的和用戶表。見(jiàn)表2。
(3)回復(fù)表(words):用于存放用戶對(duì)主題回復(fù)的表,wordsId是主鍵,tipicId是主題ID,userName是回復(fù)人的用戶名,也是用于關(guān)聯(lián)的和用戶表。見(jiàn)表3。
(4)課程輔導(dǎo)表(course):用于存放用戶對(duì)主題回復(fù)的表,courseId是主鍵。見(jiàn)表4。
(5)個(gè)人留言表(sms):用于存放用戶對(duì)主題回復(fù)的表,smsId是主鍵,sender是發(fā)送人,accepter為接收人。見(jiàn)表5。

表1:用戶表(user)

表2:主題表(topic)

表3:回復(fù)表(words)

表4:課程表(course)
(6)留言回復(fù)(reply):用于存放個(gè)人留言回復(fù),repluId是主鍵,smsId為邦定的留言ID,當(dāng)smsId被用來(lái)查找留言信息并向數(shù)據(jù)庫(kù)寫入留言回復(fù)時(shí),設(shè)置sms表里面的標(biāo)識(shí)smsDiv為1,初始為0。見(jiàn)表6。

表5:回復(fù)表(sms)

表6:留言回復(fù)表(reply)

表7:用戶管理模塊測(cè)試

表8:后臺(tái)管理模塊測(cè)試
數(shù)據(jù)庫(kù)表優(yōu)先考慮滿足功能要求,對(duì)于表的邏輯結(jié)構(gòu)設(shè)計(jì)主要遵循的原則是:一個(gè)表只包含一個(gè)主要實(shí)體,如果主要實(shí)體中包含從屬實(shí)體數(shù)據(jù),并且多個(gè)主要實(shí)體共享一個(gè)從屬實(shí)體,則把從屬實(shí)體單獨(dú)設(shè)計(jì)為表,與主要實(shí)體關(guān)聯(lián),這樣增加一個(gè)從屬實(shí)體增加單獨(dú)的表就行,不會(huì)影響以前的功能。
在數(shù)據(jù)庫(kù)里面經(jīng)常用到標(biāo)記位字段,取值只有0/1(true/false),有時(shí)候一個(gè)表里有很多這樣的字段,通常把所有標(biāo)記為字段合并為一個(gè)數(shù)字字段,數(shù)字中的每一位就表示一個(gè)標(biāo)記位,可以大大增加數(shù)據(jù)庫(kù)的可擴(kuò)展性。
MySQL管理員有責(zé)任保證數(shù)據(jù)庫(kù)內(nèi)容的安全性,使得這些數(shù)據(jù)記錄只能被那些正確授權(quán)的用戶訪問(wèn),這涉及到數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部安全性和外部安全性。
內(nèi)部安全性關(guān)心的是文件系統(tǒng)級(jí)的問(wèn)題,即,防止MySQL數(shù)據(jù)目錄(DATADIR)被在服務(wù)器主機(jī)有賬號(hào)的人(合法或竊取的)進(jìn)行攻擊。如果數(shù)據(jù)目錄內(nèi)容的權(quán)限過(guò)分授予,使得每個(gè)人均能簡(jiǎn)單地替代對(duì)應(yīng)于那些數(shù)據(jù)庫(kù)表的文件,那么確保控制客戶通過(guò)網(wǎng)絡(luò)訪問(wèn)的授權(quán)表設(shè)置正確,對(duì)此毫無(wú)意義。
外部安全性關(guān)心的是從外部通過(guò)網(wǎng)絡(luò)連接服務(wù)器的客戶的問(wèn)題,即,保護(hù)MySQL服務(wù)器免受來(lái)自通過(guò)網(wǎng)絡(luò)對(duì)服務(wù)器的連接的攻擊。必須設(shè)置MySQL授權(quán)表(grant table),使得他們不允許訪問(wèn)服務(wù)器管理的數(shù)據(jù)庫(kù)內(nèi)容,除非提供有效的用戶名和口令。
MySQL服務(wù)器通過(guò)在MySQL數(shù)據(jù)庫(kù)中的授權(quán)表提供了一個(gè)靈活的權(quán)限系統(tǒng)。可以通過(guò)設(shè)置表的內(nèi)容來(lái)允許或拒絕客戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),這提供了你防止未授權(quán)的網(wǎng)絡(luò)訪問(wèn)對(duì)你數(shù)據(jù)庫(kù)攻擊的安全手段。
為保證系統(tǒng)能夠正常高效的運(yùn)行,通過(guò)功能測(cè)試的方式對(duì)本系統(tǒng)進(jìn)行系統(tǒng)測(cè)試,以便及時(shí)發(fā)現(xiàn)系統(tǒng)漏洞和問(wèn)題,并隨時(shí)采取相應(yīng)的解決措施修補(bǔ)系統(tǒng)漏洞。主要從用戶管理和后臺(tái)管理兩個(gè)模塊進(jìn)行測(cè)試。
見(jiàn)表7。
見(jiàn)表8。
本文從論壇后臺(tái)系統(tǒng)的功能和體系結(jié)構(gòu)兩大部分對(duì)該系統(tǒng)進(jìn)行設(shè)計(jì)。使用MyEclipse作為開(kāi)發(fā)工具,MySQL作為論壇的后臺(tái)數(shù)據(jù)庫(kù)。由于是基于B/S系統(tǒng)論壇系統(tǒng),網(wǎng)頁(yè)在其中就承擔(dān)著大量的工作,包括從服務(wù)器端向后臺(tái)寫入和修改數(shù)據(jù),以及服務(wù)端響應(yīng)客戶端的請(qǐng)求,向客戶端頁(yè)面返回?cái)?shù)據(jù),這些工作由很多個(gè)JSP頁(yè)面之間的跳轉(zhuǎn)傳送數(shù)據(jù)來(lái)完成。設(shè)計(jì)采用了現(xiàn)代軟件開(kāi)發(fā)過(guò)程的模塊化思想,先將系統(tǒng)功能進(jìn)行分解,大致可分為前臺(tái)和后臺(tái)兩部分。在開(kāi)發(fā)過(guò)程中可以逐步,逐個(gè)模塊的實(shí)現(xiàn),提高了開(kāi)發(fā)效率。此論壇后臺(tái)系統(tǒng)極大的提高了管理員的管理效率,為日后的在線培訓(xùn)項(xiàng)目管理帶來(lái)了極大的方便。