陳南 毛玉萃
摘要:闡述了在線網(wǎng)絡(luò)報(bào)名系統(tǒng)的必要性和可行性;介紹了采用MVC模型按照面向?qū)ο蟮拈_發(fā)方法進(jìn)行開發(fā)的各階段;最后對(duì)該軟件進(jìn)行評(píng)價(jià)。
關(guān)鍵詞:報(bào)名系統(tǒng);軟件開發(fā); MVC模型;java web
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)17-0027-04
1 背景
校園內(nèi)各個(gè)活動(dòng)越來(lái)越多,為了提高報(bào)名工作的效率。在報(bào)名期間,想?yún)①惖耐瑢W(xué)可以通過報(bào)名地址查看活動(dòng)詳情,瀏覽和修改自己的報(bào)名信息,完善個(gè)人信息,以及查看已報(bào)名參賽人員的信息;管理員也可以通過網(wǎng)絡(luò)進(jìn)行后臺(tái)管理查看報(bào)名情況以及參賽人員的信息。采用網(wǎng)絡(luò)報(bào)名會(huì)使流程顯得格外簡(jiǎn)潔、方便,也可以減少人工出現(xiàn)的誤差,減輕工作人員的負(fù)擔(dān)。還能減少報(bào)名時(shí)候冗長(zhǎng)的等待,大大提高效率。
采用信息管理系統(tǒng)已經(jīng)成為管理科學(xué)化和現(xiàn)代化的重要標(biāo)志。該文介紹的“校園網(wǎng)絡(luò)報(bào)名系統(tǒng)”是按照面向?qū)ο蟮拈_發(fā)方法進(jìn)行開發(fā)的[1-2]。
1.1 網(wǎng)絡(luò)在線報(bào)名的必要性
傳統(tǒng)報(bào)名流程受空間、傳播渠道等的限制,報(bào)名工作人員相關(guān)繁雜,統(tǒng)計(jì)工作難,傳統(tǒng)的報(bào)名方式中,其信息宣傳范圍小,報(bào)名者需要到指定地點(diǎn)報(bào)名,過程煩瑣,工作效率低。工作人員在報(bào)名信息管理中容易出現(xiàn)錯(cuò)漏、誤填等情況。通通過網(wǎng)絡(luò)技術(shù)不僅可以對(duì) 報(bào)名信息進(jìn)行快速有效的推廣,而且還具有信息儲(chǔ)存量大,報(bào)名簡(jiǎn)便、成本低等優(yōu)點(diǎn),提供給我們的處理信息及時(shí)準(zhǔn)確,因 此我們可以利用計(jì)算機(jī)網(wǎng)絡(luò),實(shí)現(xiàn)動(dòng)態(tài)的報(bào)名信息管理,簡(jiǎn)化 報(bào)名流程,方便工作人員管理報(bào)名數(shù)據(jù)。[3]
1.2 國(guó)內(nèi)外相關(guān)研究情況
在線網(wǎng)絡(luò)報(bào)名系統(tǒng)已不再是什么新的話題。網(wǎng)絡(luò)上的各種在線報(bào)名已經(jīng)顯示了當(dāng)前各個(gè)行業(yè)對(duì)信息奇數(shù)的運(yùn)用與重視,擁有計(jì)算機(jī)奇數(shù)的人已不在少數(shù),改革開放以后,中國(guó)信息化產(chǎn)業(yè)開始嶄露頭角。當(dāng)然在線報(bào)名系統(tǒng)就是其中運(yùn)用,各種各樣的報(bào)名無(wú)一例外的都是使用了在線報(bào)名方式。因此特地開發(fā)一款應(yīng)用于校內(nèi)網(wǎng)絡(luò)報(bào)名系統(tǒng)。
1.3 網(wǎng)絡(luò)在線報(bào)名開發(fā)意義
該系統(tǒng)開發(fā)的正題任務(wù)是實(shí)現(xiàn)全自動(dòng)在線網(wǎng)絡(luò)報(bào)名系統(tǒng),依賴于機(jī)器自動(dòng)維護(hù)工作,減少了傳統(tǒng)報(bào)名方式工作人員的紕漏以及錯(cuò)誤,如今服務(wù)器已經(jīng)比較完善、穩(wěn)定性也較高,所以依賴于網(wǎng)絡(luò)替代人工勞動(dòng)還是很靠譜的。
使用網(wǎng)上報(bào)名系統(tǒng)對(duì)采集信息進(jìn)行管理,具有手工管理無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等優(yōu)點(diǎn)。同時(shí)利用此報(bào)名系統(tǒng),減輕勞動(dòng)強(qiáng)度、減少人員負(fù)擔(dān)、提高精度;亦可清楚的了解參與者的報(bào)名情況,為后期安排提供了方便。
2 網(wǎng)絡(luò)報(bào)名系統(tǒng)的分析
校內(nèi)網(wǎng)絡(luò)報(bào)名系統(tǒng)其主要用戶包括校內(nèi)舉辦的各種活動(dòng)的社團(tuán)工作室甚至學(xué)校舉行的活動(dòng),要完成展示活動(dòng)相關(guān)介紹,報(bào)名,查看當(dāng)前參與人員,以及活動(dòng)后的結(jié)果/成績(jī);
為了到達(dá)上述目標(biāo),系統(tǒng)要實(shí)現(xiàn)的主要功能如圖1所示。
前臺(tái)主要功能有:
1)活動(dòng)通知:可以查看活動(dòng)的必要信息;
2)活動(dòng)報(bào)名;
3)參賽人員名單;
4)活動(dòng)結(jié)果/成績(jī)的展示。
后臺(tái)管理主要功能有:
1)報(bào)名系統(tǒng);
2)參賽人員管理;
3)比賽結(jié)果成果錄入;
4)短信提醒活動(dòng)通知。
3 基于面向?qū)ο蟮木W(wǎng)絡(luò)報(bào)名系統(tǒng)的設(shè)計(jì)[3]
3.1 架構(gòu)設(shè)計(jì)
采用基于WEB技術(shù)的MVC模型進(jìn)行架構(gòu),將系統(tǒng)分為Controller層、Model層、View層、,將使用暴行系統(tǒng)的所有用戶可見的部分放入View層,View層負(fù)責(zé)軟件的邏輯以及功能模型,在View層和Model層之間加入Controller層負(fù)責(zé)溝通Model層和View層,以及處理頁(yè)面?zhèn)鱽?lái)的數(shù)據(jù),之后把數(shù)據(jù)交給Model層進(jìn)行封裝,再把Model層的處理結(jié)果返回給View層。實(shí)現(xiàn)報(bào)名系統(tǒng),基于互聯(lián)網(wǎng)能夠有效降低人工勞動(dòng), 還能實(shí)現(xiàn)本地集中管理,系統(tǒng)管理和維護(hù)成本最小,只需利用瀏覽器,通過網(wǎng)頁(yè)錄入數(shù)據(jù),即可報(bào)名成功,或者查看相關(guān)資訊,操作明了。 總體框架如圖2所示。
利用ajax技術(shù)保證了操作響應(yīng)的及時(shí)性,ajax可以實(shí)現(xiàn)頁(yè)面的局部刷新,提高用戶體驗(yàn)感覺,避免了較長(zhǎng)時(shí)間的等待,以及使用ajax的異步處理請(qǐng)求,例如在用戶輸入完學(xué)號(hào)后,判斷該ID是否符合本校學(xué)號(hào)的命名規(guī)則,以及異步請(qǐng)求數(shù)據(jù)庫(kù)判斷該學(xué)號(hào)是否存在,大大減少了用戶因操作不當(dāng)而耽誤的時(shí)間。
網(wǎng)絡(luò)報(bào)名系統(tǒng)主要由servlet和ajax負(fù)責(zé)數(shù)據(jù)的交互,前端通過servlet或ajax將請(qǐng)求發(fā)給Controller層,如果進(jìn)行的是報(bào)名或者查詢參賽人員名單時(shí),通過jdbc進(jìn)行數(shù)據(jù)庫(kù)插入或者查詢,將結(jié)果返回給Controller層,Controller層將查詢結(jié)果同樣以servlet將結(jié)果發(fā)送給View層進(jìn)行顯示或者返回JSON字符串由ajax進(jìn)行解析達(dá)到局部刷新的功能.如果該操作不需要查詢數(shù)據(jù)庫(kù)的話,servlet處理完請(qǐng)求之后,直接返回到View層進(jìn)行顯示。
3.2 面向?qū)ο蠼?/p>
3.2.1 用例建模
經(jīng)過分析,可以將系統(tǒng)用戶分為兩類參賽者和管理者。
管理者的權(quán)限主要分為個(gè)人管理、參賽人員管理,活動(dòng)通知,短信提示參賽功能,以及錄入賽后/活動(dòng)的成績(jī)或者成果展示這五大類。
學(xué)生用戶的權(quán)限主要分為個(gè)人管理、報(bào)名、查看當(dāng)前參賽人員,查看賽后/活動(dòng)的成績(jī)或者成果展示這四大類。
3.2.2 靜態(tài)建模
根據(jù)對(duì)系統(tǒng)功能以及用例模型的分析成果展示我們將比賽結(jié)果以成績(jī)?yōu)槔偨Y(jié)出系統(tǒng)的數(shù)據(jù)庫(kù)主要由user表、score表構(gòu)成。
user表主要負(fù)責(zé)存儲(chǔ)參賽/管理員的個(gè)人信息,主要包括學(xué)生的學(xué)號(hào)作為主鍵,學(xué)生的姓名、專業(yè)班級(jí)、密碼、聯(lián)系方式、以及管理權(quán)限“0”代表參賽人員,“1”管理員,由管理權(quán)限區(qū)分user將可以進(jìn)行的某些操作,以及可以訪問的權(quán)限。
score表主要負(fù)責(zé)存儲(chǔ)參賽人員的成績(jī),主要包括學(xué)生的id號(hào)作為主鍵以及user表的外鍵、總成績(jī)、以及各項(xiàng)分成績(jī)。
3.2.3 動(dòng)態(tài)建模
動(dòng)態(tài)建模包括時(shí)序圖,協(xié)作圖,狀態(tài)圖,活動(dòng)圖。這里以活動(dòng)圖和時(shí)序圖為例進(jìn)行描述。
1)活動(dòng)圖的建立
根據(jù)系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì),系統(tǒng)主要由個(gè)人管理、比賽管理這兩個(gè)個(gè)功能模塊組成,這里主要說明一下比賽管理中的報(bào)名功能。
參與者在注冊(cè)完,登陸成功后,填寫報(bào)名信息錄入聯(lián)系方式及其他部分信息提交到ApplyServlet,在ApplyServlet進(jìn)行封裝數(shù)據(jù),參與者的學(xué)號(hào)由登陸時(shí)User信息放入Session中取出得到。將封裝好的數(shù)據(jù)傳至ApplyService中進(jìn)行數(shù)據(jù)的校驗(yàn),如若數(shù)據(jù)不和法,將錯(cuò)誤信息返回值A(chǔ)pplySerlvet,并由ApplyServlet返回錯(cuò)誤信息至personal_apply.jsp,請(qǐng)求重新輸入。如果合法繼續(xù)將數(shù)據(jù)傳送至UserDao進(jìn)行數(shù)據(jù)的更新操作達(dá)到報(bào)名成果的結(jié)果,成功則將跳轉(zhuǎn)至參賽人員名單列表,并提示參賽時(shí)間。整個(gè)報(bào)名流程就是這樣子的。
2)時(shí)序圖
或?qū)①惾藛T的時(shí)序圖如圖4所示。
3.2.4其他功能設(shè)計(jì)
使用
注冊(cè)時(shí)驗(yàn)證學(xué)號(hào)是否正確以及顯示參賽人員列表等操作使用ajax異步請(qǐng)求
切換界面使用ajax實(shí)現(xiàn)局部刷新的功能
利用Session防止表單重復(fù)提交(token)
4 基于面向?qū)ο蟮木W(wǎng)絡(luò)報(bào)名系統(tǒng)的實(shí)現(xiàn)[4]
4.1 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)
在線網(wǎng)絡(luò)報(bào)名系統(tǒng)其數(shù)據(jù)庫(kù)是基于MySQL數(shù)據(jù)庫(kù)進(jìn)行搭建的。數(shù)據(jù)庫(kù)中的表主要由user表、score表組成。
如靜態(tài)建模所說, user表主要負(fù)責(zé)存儲(chǔ)參賽/管理員的個(gè)人信息。score表主要負(fù)責(zé)存儲(chǔ)參賽人員的成績(jī)。
user表得具體結(jié)構(gòu)如表2所示。score表得具體結(jié)構(gòu)如表3所示。
系統(tǒng)整體E-R圖如圖5,用戶與成績(jī)的關(guān)系是一對(duì)一的。以及可以在此基礎(chǔ)上根據(jù)活動(dòng)需求進(jìn)行擴(kuò)展。
4.2 系統(tǒng)運(yùn)行結(jié)果展示
系統(tǒng)首頁(yè)如圖6所示。通過js判斷是否在報(bào)名時(shí)間范圍內(nèi),如果符合返回顯示“報(bào)名”,單擊后出現(xiàn)如圖7的系統(tǒng)報(bào)名界面。如果不符合則顯示“報(bào)名截止!”點(diǎn)擊無(wú)反應(yīng)。
5 結(jié)束語(yǔ)
計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)應(yīng)用的普及,改變了很多方式,逐漸地由科技取代人工勞力。網(wǎng)上報(bào)名系統(tǒng)的應(yīng)用有利于提高生活質(zhì)量,讓枯燥繁雜單一的工作都交由機(jī)器幫我們?nèi)プ?,解放了我們的雙手,這正是我們想要的結(jié)果。即減少了管理者手工忙碌的時(shí)間,也大大提高了參賽者的積極性,足不出戶達(dá)成報(bào)名的效果。亦可預(yù)留與數(shù)字化校園相關(guān)應(yīng)用系統(tǒng)的開發(fā)接口,以擴(kuò)大報(bào)名系統(tǒng)的應(yīng)用范圍。總之,在互聯(lián)網(wǎng)和高效信息化不斷發(fā)展的今天,各種形式的報(bào)名系統(tǒng)必將得到更加廣泛地應(yīng)用。
參考文獻(xiàn):
[1] 張海藩, 牟永敏. 軟件工程導(dǎo)論[M].6版. 北京: 清華大學(xué)出版社, 1996, 7(1).
[2] 毛玉萃, 邱少明, 楊文艷, 等. 軟件項(xiàng)目實(shí)踐案例教程[M]. 北京: 清華大學(xué)出版社, 2014(9).
[3] 羅安東. 網(wǎng)絡(luò)在線報(bào)名系統(tǒng)的實(shí)現(xiàn)與意義[J]. 信息通信, 2015(6): 152.
[4] 劉勇軍. Java Web核心編程技術(shù)[M]. 北京:電子工業(yè)出版社, 2014(9).