李瑋琦
【摘 要】本文通過系統(tǒng)介紹、需求分析、系統(tǒng)設(shè)計(jì)、技術(shù)要點(diǎn)、總結(jié)五個(gè)方面介紹了基于Java Web的校友錄系統(tǒng)。后臺數(shù)據(jù)庫服務(wù)器選用的是Oracle數(shù)據(jù)庫,系統(tǒng)利用先進(jìn)的JDBC技術(shù)與數(shù)據(jù)庫連接,結(jié)合SQL語句處理實(shí)現(xiàn)功能操作,使Web與數(shù)據(jù)庫緊密聯(lián)系起來。
【關(guān)鍵詞】校友錄;B/S;Java Web
Internet現(xiàn)如今已成為人們生活、工作、學(xué)習(xí)越來越離不開的平臺。Web技術(shù)也日益成為一個(gè)操作平臺,給用戶提供強(qiáng)大的服務(wù)功能。因此,基于B/S體系架構(gòu)創(chuàng)建一個(gè)校友錄系統(tǒng),既能緊跟行業(yè)發(fā)展,實(shí)現(xiàn)信息網(wǎng)絡(luò)化;又可以滿足人們生活、學(xué)習(xí)的需要。本文從系統(tǒng)介紹、需求分析、系統(tǒng)設(shè)計(jì)、技術(shù)要點(diǎn)、總結(jié)五個(gè)方面介紹基于Java Web的校友錄系統(tǒng)。
1.系統(tǒng)介紹
本系統(tǒng)可供包括在校、離校、以及游客登錄使用。登錄者可以查詢信息或者發(fā)布信息,也可以通過此網(wǎng)站與朋友聯(lián)系,并且還能夠創(chuàng)建虛擬班級等功能。系統(tǒng)中班級管理為必不可少的模塊項(xiàng),主要是為了安全有效地存儲和管理登錄該系統(tǒng)的用戶的信息,賦予管理員特定的權(quán)限,可以對用戶進(jìn)行分類,添加,刪除,修改等。本文中數(shù)據(jù)庫服務(wù)器端采用了Oracle作為后臺數(shù)據(jù)庫,以先進(jìn)的JDBC技術(shù)與數(shù)據(jù)庫連接,結(jié)合SQL語句處理對用戶分類,添加,刪除,修改等操作,使Web與數(shù)據(jù)庫緊密聯(lián)系起來。
2.需求分析
校友錄的主要模塊就是創(chuàng)建虛擬班級,虛擬班級為用戶提供一個(gè)互動的空間。班級作為一個(gè)整體包含了許多的個(gè)體,用戶作為班級的個(gè)體可以在班級范圍內(nèi)有自己的行為,例如校友信息的瀏覽等。班級管理員充當(dāng)維護(hù)者的角色,具有班級管理的權(quán)限功能,同時(shí)他還可以將班級成員組織在一起。針對以上用戶將使用到的功能和特點(diǎn),將此系統(tǒng)模塊劃分為班級注冊、用戶信息注冊、管理員權(quán)限操作(包括:班級成員的刪除、班級的刪除、更改班級名稱、添加班級管理員、班級留言等),數(shù)據(jù)庫設(shè)計(jì)等幾個(gè)子模塊。本系統(tǒng)大部分功能的使用者無疑是班級管理員,那么所有的功能設(shè)計(jì)都應(yīng)該以管理員的權(quán)限為核心。而管理員權(quán)限的功能設(shè)計(jì)一定會引用到大量的數(shù)據(jù)庫操作,因而選擇數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫用戶和表,建立與數(shù)據(jù)庫的連接,使用SQL語言操作數(shù)據(jù)庫就是系統(tǒng)后臺設(shè)計(jì)圍繞的主體。能否將系統(tǒng)的前后臺合理有效的關(guān)聯(lián)是整體系統(tǒng)模塊成功的關(guān)鍵。
本系統(tǒng)的整體E-R圖如下圖所示:
3.系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如下圖所示:
3.2 功能模塊
此系統(tǒng)模塊要的功能是創(chuàng)建班級和班級管理員操作權(quán)限的實(shí)現(xiàn),圍繞著這個(gè)目標(biāo)把系統(tǒng)劃分為登錄子模塊、創(chuàng)建班級子模塊、管理員權(quán)限子模塊和數(shù)據(jù)庫模塊。首頁可以作為其它功能項(xiàng)的一個(gè)向?qū)?,起連接的作用,而管理員權(quán)限子模塊又被細(xì)分為刪除功能子模塊、查詢功能子模塊、管理員班級留言功能塊。
登錄子模塊和創(chuàng)建班級子模塊在系統(tǒng)中的實(shí)現(xiàn)其功能對所有用戶可見,而刪除、查詢、管理員班級留言功能只針對身份被標(biāo)識為管理員的用戶開放。
系統(tǒng)功能模塊圖如下圖所示:
3.3 設(shè)計(jì)模式
3.3.1 用戶身份驗(yàn)證設(shè)計(jì)
用戶進(jìn)入該系統(tǒng),首先需要進(jìn)行身份驗(yàn)證。如果通過了身份驗(yàn)證,則為合法用戶,同時(shí)其帳號和權(quán)限等資料將會保存在Session對象中。Session對象儲存的信息是局部的,隨用戶的不同而不同。當(dāng)用戶訪問系統(tǒng)的各個(gè)子系統(tǒng)時(shí),系統(tǒng)自動從Session對象中獲取用戶的資料,而無須將用戶的資料作為請求方法、參數(shù)名、參數(shù)值追加到URL中。這樣可以避免用戶惡意修改URL中的值來非法訪問。
3.3.2 創(chuàng)建班級功能的設(shè)計(jì)
注冊通過后的用戶才可以創(chuàng)建新班級。用戶創(chuàng)建新班級時(shí)必須輸入合法的班級名稱和基本信息,班級名稱被設(shè)定為數(shù)據(jù)庫中班級表的主鍵,系統(tǒng)將判斷新班級的名稱是否與數(shù)據(jù)庫中現(xiàn)有的記錄重復(fù),如果重復(fù)就違反了主鍵唯一的原則,數(shù)據(jù)將不能夠被正確的輸入數(shù)據(jù)庫,所以要返回給用戶一個(gè)信息。否則,班級創(chuàng)建成功,創(chuàng)建者還需要補(bǔ)充用戶信息。
3.3.3 查詢功能設(shè)計(jì)
提供給用戶查詢功能,方便使用者查找親友或同學(xué)所屬哪個(gè)班級,還可以統(tǒng)計(jì)出目前班級擁有多少成員。此項(xiàng)功能是根據(jù)使用者輸入的關(guān)鍵字遍歷數(shù)據(jù)庫,查找有無匹配的記錄。如果記錄存在則將記錄輸出到用戶瀏覽端,否則返回一條信息給用戶。
3.3.4 刪除功能設(shè)計(jì)
作為班級管理員應(yīng)該有管理班級的能力。刪除功能的設(shè)計(jì)正是為班級管理員設(shè)置的管理功能之一。其中包括兩部分,一是刪除班級成員,二是刪除整個(gè)班級。這個(gè)功能的實(shí)現(xiàn)需要使用SQL語言判斷管理員所在的班級,遍歷數(shù)據(jù)庫中有無使用者欲刪除的記錄。如果記錄存在,將記錄刪除。否則,返回信息到用戶瀏覽端。例如把姓名為“李四”的人刪除或刪除班級“計(jì)算機(jī)一班”。
3.4 數(shù)據(jù)庫描述
3.4.1 數(shù)據(jù)庫設(shè)計(jì)思想
數(shù)據(jù)庫設(shè)計(jì)是以上功能實(shí)現(xiàn)的基礎(chǔ)。數(shù)據(jù)庫設(shè)計(jì)的好壞直接影響功能的實(shí)現(xiàn)以及系統(tǒng)的運(yùn)行效率。制作數(shù)據(jù)庫表首先要確定實(shí)體的屬性和實(shí)體間的關(guān)系。數(shù)據(jù)庫要存儲所有的班級信息和用戶信息,這些信息是班級的屬性和用戶的屬性。一個(gè)班級可以有若干的成員,也可以有一個(gè)以上的管理員。一個(gè)管理員只屬于一個(gè)班級。
角色設(shè)計(jì)初步將系統(tǒng)中的用戶角色分成以下三類:
一般用戶:查詢資料
班級管理員:查詢;數(shù)據(jù)的錄入、修改和刪除
系統(tǒng)管理員:查詢;數(shù)據(jù)的錄入、修改和刪除;用戶帳號、權(quán)限的維護(hù)
3.4.2 系統(tǒng)表結(jié)構(gòu)
本系統(tǒng)模塊建立班級表和用戶表兩個(gè)數(shù)據(jù)庫基本表。
班級表(CLASS_TABLE):存放用戶創(chuàng)建班級時(shí)輸入的基本信息。設(shè)班級名稱為主鍵。
用戶表(USER_TABLE):存放所有用戶的注冊信息。其中用字段標(biāo)識管理員的屬性。
4.技術(shù)要點(diǎn)
各功能模塊中需要頻繁的進(jìn)行數(shù)據(jù)庫操作,如果每遇到要使用數(shù)據(jù)庫便建立一次鏈接將在一定程度上增大系統(tǒng)開銷,加大程序員的工作量,這里有效利用了JavaBean文件,使服務(wù)器事先建立數(shù)據(jù)庫鏈接對象,所有的數(shù)據(jù)操作都使用該鏈接,從而提高了服務(wù)器效率。
5.總結(jié)
本系統(tǒng)是以JavaBean和JSP技術(shù)相結(jié)合制作的,系統(tǒng)中功能模塊基本達(dá)到設(shè)計(jì)的要求,然而系統(tǒng)功能的完善必須在實(shí)踐中不斷的摸索,以便進(jìn)一步改進(jìn),達(dá)到良好的使用效果。
參考文獻(xiàn):
[1]王民川.基于WEB校友錄的設(shè)計(jì)實(shí)現(xiàn)[J].才智,2011(5).
[2]王敏.基于MVC模式的校友錄系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2011(2).