趙 亮, 劉建國(guó), 陳志奎
(大連理工大學(xué)軟件學(xué)院,遼寧 大連 116620)
軟件工程和網(wǎng)絡(luò)工程專業(yè)人才的培養(yǎng)更側(cè)重于提高學(xué)生的實(shí)踐應(yīng)用能力,所以,高質(zhì)量的實(shí)踐教學(xué)體系建設(shè)極為重要,而實(shí)踐教學(xué)依賴于專業(yè)實(shí)驗(yàn)室的建設(shè)和發(fā)展[1-3]。越來(lái)越多的學(xué)生使實(shí)驗(yàn)室的規(guī)模不斷增大,學(xué)生及學(xué)習(xí)資料的管理日漸困難。為提高學(xué)生管理的水平,優(yōu)化資源,盡可能降低管理成本成為實(shí)驗(yàn)室建設(shè)和管理的新課題[4-6]。
現(xiàn)有的實(shí)驗(yàn)室管理主要依賴于擬定的規(guī)章制度,信息化建設(shè)程度不高。因此,以實(shí)驗(yàn)室信息化管理為目標(biāo),提出實(shí)驗(yàn)室學(xué)生在線管理的新思路,并以此為主體構(gòu)建了基于JavaWeb的實(shí)驗(yàn)室管理系統(tǒng)。系統(tǒng)分為四大模塊:游客管理模塊、成員管理模塊、教師管理模塊和管理員管理模塊,包含課程資源、用戶、角色和菜單管理等主要功能,為建設(shè)信息化專業(yè)實(shí)驗(yàn)室管理提供一種可行方案。
學(xué)生實(shí)驗(yàn)室管理系統(tǒng)的目標(biāo)是為方便學(xué)校各實(shí)驗(yàn)室管理學(xué)生信息并為學(xué)生間提供一個(gè)信息共享的平臺(tái)。同時(shí)為滿足各實(shí)驗(yàn)室老師的需求,還要滿足學(xué)習(xí)資源的提供,包括學(xué)生上傳的各類資源及老師提供的公開(kāi)課視頻、PPT等資源。針對(duì)當(dāng)前各學(xué)校實(shí)驗(yàn)室人數(shù)多,且每年新生參觀量大,并且每周的組會(huì)視頻都難以保存,因此借用這個(gè)系統(tǒng)可以很好地幫助低年級(jí)尤其是新學(xué)生更好地適應(yīng)大學(xué)的實(shí)驗(yàn)室學(xué)習(xí)。此外,系統(tǒng)的報(bào)名方式也替代了傳統(tǒng)的紙質(zhì)填寫(xiě)報(bào)名方法,不僅節(jié)約了資源,還能夠更有效率且便于管理。
(1)用戶管理。實(shí)驗(yàn)室網(wǎng)站系統(tǒng)的管理用戶分為四大類,分別是游客、用戶、老師、管理員。前臺(tái)主要功能包括注冊(cè)登錄模塊、個(gè)人中心的修改密碼模塊,設(shè)備管理模塊,另外還有資源發(fā)布、資源瀏覽以及資源審核和敏感詞庫(kù)、報(bào)名郵件模塊。后臺(tái)包括管理員登錄模塊、管理員設(shè)置模塊、修改與刪除成員模塊以及用戶管理模塊、角色管理模塊、菜單管理模塊以及用戶學(xué)習(xí)情況分析圖。四個(gè)不同級(jí)別的用戶按照實(shí)際情況的需求來(lái)進(jìn)行權(quán)限管理,按照學(xué)校實(shí)驗(yàn)室的一般學(xué)習(xí)以及管理流程,整理了以下的用戶需求,如表1所示。
表1 用戶需求表
(2)資源管理。資源管理模塊主要負(fù)責(zé)學(xué)生對(duì)實(shí)驗(yàn)室網(wǎng)站中包含課程的學(xué)習(xí),老師對(duì)課程中各章節(jié)的視頻、PPT的編輯以及發(fā)布,還包括對(duì)設(shè)備的管理、項(xiàng)目組的管理和用戶學(xué)習(xí)情況圖表的分析。另外,為了規(guī)范學(xué)習(xí)資源的正確性以及規(guī)范性,系統(tǒng)采用兩層過(guò)濾方法,包括系統(tǒng)的自動(dòng)識(shí)別和管理員的人為識(shí)別,由于可能存在部分不法用戶借用系統(tǒng)傳播不法資源或者不良信息,因此需要對(duì)資源部分進(jìn)行細(xì)心的審核處理。
參與者(actor):游客,成員,老師,管理員;用例(use case):注冊(cè),登錄,修改密碼,報(bào)名郵件,資源發(fā)布,資源瀏覽,資源審核,用戶管理,角色管理,菜單管理。參與者之間的關(guān)系:游客需要注冊(cè)發(fā)送郵件之后才能成為成員,成員和老師以及管理員之間的身份關(guān)系是可以由一個(gè)人同時(shí)兼任的,也就是說(shuō),一個(gè)用戶既可以是成員,也可以是教師,也可以是管理員,這一個(gè)用戶具有多個(gè)角色,可以享受多重權(quán)限。
(1)游客用例分析。普通的游客在沒(méi)有賬號(hào)的前提下,需要首先進(jìn)行注冊(cè)才能進(jìn)入該系統(tǒng),在沒(méi)有注冊(cè)的情況下無(wú)法進(jìn)入系統(tǒng),在進(jìn)入系統(tǒng)之后需要對(duì)游客的身份進(jìn)行再定義,也就是說(shuō)這個(gè)游客注冊(cè)賬號(hào)成功后需要向管理員發(fā)送報(bào)名郵件來(lái)說(shuō)明自己需要被定義為哪一種角色,在管理員的郵箱收到指定郵件后,再對(duì)這個(gè)游客的角色進(jìn)行更改。如果游客不發(fā)送任何郵件的話,則用戶只不過(guò)可以登入系統(tǒng),但是同樣沒(méi)有瀏覽資源的權(quán)限。
游客在注冊(cè)完成登錄賬號(hào)時(shí),需要進(jìn)行賬號(hào)和雙重密碼的填寫(xiě),以及驗(yàn)證碼的校驗(yàn),如果登錄信息正確無(wú)誤,則提示校驗(yàn)成功,進(jìn)入個(gè)人主頁(yè)面,如果登錄信息錯(cuò)誤,造成校驗(yàn)失敗,則提示登錄失敗,返回登錄頁(yè)面重新登錄,如圖1所示。
(2)用戶、教師、管理員用例分析。在四個(gè)等級(jí)用戶不存在泛化關(guān)系的情況下,各個(gè)參與者的參與用例情況分別是:游客進(jìn)行注冊(cè),發(fā)送報(bào)名郵件,修改密碼;成員可以進(jìn)行資源瀏覽,修改密碼;教師可以進(jìn)行資源發(fā)布,資源瀏覽以及修改密碼;管理員可以進(jìn)行用戶管理,角色管理和菜單管理以及資源發(fā)布,資源瀏覽,資源審核和敏感詞庫(kù)的設(shè)定。
但這里涉及泛化關(guān)系,也就是當(dāng)多個(gè)用例共同擁有一種類似的結(jié)構(gòu)和行為時(shí),可以將他們的共性抽象成為父用例,其他的用例作為泛化關(guān)系的子用例。在用例的泛化關(guān)系中,子用例是父用例的一種特殊形式,它繼承了父用例的所有結(jié)構(gòu)、行為、關(guān)系。其中三角箭頭指向父用例。由于泛化關(guān)系的存在,意味著一個(gè)用戶如果是教師和成員也可以擔(dān)任管理員角色,因此他們就可以參與管理員的用例。這樣的話,我們就可以把管理員同時(shí)指向教師和成員,因?yàn)楣芾韱T擁有教師和用戶的所有用例,也就是管理員繼承了他們的所有結(jié)構(gòu)行為。
系統(tǒng)設(shè)計(jì)遵循如下的原則:
(1)數(shù)據(jù)庫(kù)的完整性原則。在關(guān)系數(shù)據(jù)庫(kù)的上下文中,如果所有引用的屬性值都存在,則數(shù)據(jù)庫(kù)具有引用完整性。換句話說(shuō),如果一個(gè)屬性的值引用了另一個(gè)屬性的值,則引用的值必須存在。對(duì)于實(shí)驗(yàn)室管理系統(tǒng)來(lái)說(shuō),系統(tǒng)設(shè)計(jì)業(yè)務(wù)完整性原則對(duì)于業(yè)務(wù)進(jìn)行中的特殊情況能夠做出及時(shí)、正確的響應(yīng),保證業(yè)務(wù)數(shù)據(jù)的完整性[7-8]。
(2)易操作性原則。對(duì)于一個(gè)系統(tǒng)來(lái)說(shuō),需要讓用戶有很好的操作體驗(yàn)。主要包括以下兩個(gè)方面,①可用性??捎眯耘c系統(tǒng)故障以及其后果有關(guān),當(dāng)系統(tǒng)不再提供其規(guī)范中所說(shuō)的服務(wù)時(shí),就出現(xiàn)了系統(tǒng)故障;②易用性。易用性關(guān)注的是用戶完成某個(gè)期望任務(wù)的難易程度。它包括:有效性、錯(cuò)誤避免以及錯(cuò)誤處理、用戶自信和滿意程度等。其實(shí)就是說(shuō)用戶使用某項(xiàng)功能是否覺(jué)得簡(jiǎn)單易用。實(shí)驗(yàn)室管理系統(tǒng)應(yīng)該盡可能地使用戶有很好的操作體驗(yàn)。
(3)可擴(kuò)充性原則。系統(tǒng)在設(shè)計(jì)的過(guò)程中應(yīng)該事先考慮到時(shí)間推移過(guò)程中可能出現(xiàn)的技術(shù)革新,或是需求的迭代更新。這樣,在后期維護(hù)或更新平臺(tái)時(shí)就可以節(jié)約時(shí)間精力。對(duì)于信息發(fā)布系統(tǒng),首先要學(xué)會(huì)對(duì)系統(tǒng)的分層,通常將系統(tǒng)分為3層,即業(yè)務(wù)層、服務(wù)層和數(shù)據(jù)層,這也是常說(shuō)的MVC思想[9-11]。這樣的分層有利于在故障發(fā)生時(shí),準(zhǔn)確定位故障,并及時(shí)解決故障,而且最好將每次發(fā)生的故障信息保存到日志文件,這樣更有利于故障復(fù)原和分析。而當(dāng)網(wǎng)站的規(guī)模比較大,有較多的用戶同時(shí)訪問(wèn)時(shí),可以交給集群服務(wù)器,然后進(jìn)行負(fù)載均衡,將流量和數(shù)據(jù)分?jǐn)偟郊旱亩嗯_(tái)服務(wù)器上,提高整體的處理能力,提高可用性。
(4)成熟性原則。在進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),應(yīng)當(dāng)把具有同一個(gè)主題的數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)據(jù)表中,“一表一用”。另外,基于JavaWeb的實(shí)驗(yàn)室管理系統(tǒng)需要使用先進(jìn)安全并且成熟的開(kāi)發(fā)框架和系統(tǒng),以免出現(xiàn)一些系統(tǒng)內(nèi)部問(wèn)題,因此使用當(dāng)前流行的SMM框架,數(shù)據(jù)庫(kù)使用mysql[12-14]。
前臺(tái)主要功能包括注冊(cè)登錄模塊、個(gè)人中心的修改密碼模塊,另外還有資源發(fā)布、資源瀏覽以及資源審核和敏感詞庫(kù)、報(bào)名郵件模塊。這些都基于用戶的四個(gè)級(jí)別,其權(quán)限分別如下:①管理員。允許后臺(tái)所有操作,包括用戶管理,此外,管理員實(shí)時(shí)掌握信息發(fā)布情況,對(duì)不滿足要求的素材進(jìn)行審核、刪除、修改、更新、撤銷發(fā)布等操作。提供敏感詞過(guò)濾功能,在加載內(nèi)容時(shí)自動(dòng)過(guò)濾敏感詞,敏感詞庫(kù)可以進(jìn)行增刪改。②老師。允許網(wǎng)站有關(guān)內(nèi)容的編輯、更新、修改以及內(nèi)部欄目瀏覽、資源上傳、下載。③成員。內(nèi)部欄目瀏覽以及資源下載,系統(tǒng)可以實(shí)現(xiàn)不同格式的視頻以及PPT、PDF文檔的在線播放。④游客。只允許瀏覽相關(guān)基礎(chǔ)板塊,可以發(fā)送報(bào)名郵件,前后臺(tái)功能結(jié)構(gòu)設(shè)計(jì)如圖2、3所示。
本系統(tǒng)在開(kāi)發(fā)過(guò)程中使用的是MySQL數(shù)據(jù)庫(kù),其實(shí)體-關(guān)系模型如圖4所示。系統(tǒng)中主要存在attat、info、info_attat、sense_word、sys_menu、sys_role、sys_user、sys_user_role、facility、project_team、activity等11個(gè)實(shí)體。
其中第1個(gè)實(shí)體代表的是課程資源的附件信息,第2個(gè)實(shí)體是每一個(gè)課程資源的標(biāo)題以及內(nèi)容信息,第3個(gè)實(shí)體則代表了第1和第2個(gè)實(shí)體的關(guān)聯(lián)關(guān)系,第4個(gè)實(shí)體代表了敏感詞庫(kù),第5個(gè)實(shí)體代表了每個(gè)角色所對(duì)應(yīng)的菜單界面模塊,第6個(gè)實(shí)體代表了系統(tǒng)的角色信息,第7個(gè)實(shí)體代表了使用該系統(tǒng)的用戶信息,而八實(shí)體則是代表了用戶和角色的關(guān)聯(lián)關(guān)系,最后3個(gè)分別代表了設(shè)備、項(xiàng)目組和活動(dòng)通知的信息。
需要特別注意的是,在info_attat以及sense_word和sys_menu的表中,都用到了外鍵,在info表中,用戶的user_id作為外鍵的方式來(lái)做到每個(gè)發(fā)布用戶與資源的一對(duì)多關(guān)系,同樣,不僅在info_attat以及sense_word和sys_menu的表中用到了,在sense_word表中,也是一樣的處理方式。在sys_menu表中,將role_id作為外鍵來(lái)做到不同級(jí)別用戶分別對(duì)應(yīng)多個(gè)菜單項(xiàng)。
系統(tǒng)中的資源模塊主要存在attat、info、info_attat、sense_word、sys_menu、sys_role、sys_user、sys_user_role、facility、project_team等11個(gè)實(shí)體。
本系統(tǒng)是基于SSM框架[15]的實(shí)驗(yàn)室管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),開(kāi)發(fā)環(huán)境見(jiàn)表2。
表2 開(kāi)發(fā)環(huán)境
基于Javaweb的實(shí)驗(yàn)室管理系統(tǒng)所實(shí)現(xiàn)的功能可以分為游客管理,用戶管理,教師管理,管理員管理四大塊,在此對(duì)每個(gè)模塊進(jìn)行詳細(xì)的介紹。
(1)游客管理。游客沒(méi)有觀看權(quán)限,只可以先報(bào)名才能有權(quán)限,所以展示界面如圖5所示。
游客在注冊(cè)之后,系統(tǒng)會(huì)對(duì)其密碼進(jìn)行加密處理,所保存的均為經(jīng)過(guò)哈希函數(shù)迭代加密100 000次后的數(shù)據(jù)。
(2)成員管理。成員可以觀看瀏覽系統(tǒng)自動(dòng)判定通過(guò)以及管理員審核通過(guò)的課程資源,如圖6所示。
成員可以查看列表不同的課程資源,但是需要注意,必須屬于這個(gè)資源所隸屬的項(xiàng)目組,才有資格去查看這個(gè)資源,否則是不會(huì)顯示,因?yàn)樵跀?shù)據(jù)庫(kù)的設(shè)計(jì)中,資源是和項(xiàng)目組有關(guān)聯(lián),這里點(diǎn)擊課程資源,進(jìn)入之后,標(biāo)題和內(nèi)容可以直接顯示在屏幕上,并且可以在線觀看或者下載PPT和視頻。
(3)教師管理。教師可以對(duì)不同項(xiàng)目組的資源進(jìn)行發(fā)布操作,管理員和教師均可以進(jìn)行資源發(fā)布,標(biāo)題和內(nèi)容部分都是以文字的形式呈現(xiàn),如果有PPT或者視頻和圖片等其他文件,需要在附件進(jìn)行上傳,只有對(duì)應(yīng)項(xiàng)目組用戶才可以瀏覽到相關(guān)的資源內(nèi)容。另外,發(fā)布完成后,不直接顯示在系統(tǒng)中,而會(huì)經(jīng)過(guò)短暫的審核時(shí)間,經(jīng)過(guò)系統(tǒng)敏感詞庫(kù)審核通過(guò)后,須管理員進(jìn)行再一輪審核,才能顯示。教師還可以對(duì)設(shè)備是否購(gòu)買以及價(jià)格、數(shù)量屬性進(jìn)行編輯操作,不僅實(shí)現(xiàn)了對(duì)人的管理,對(duì)設(shè)備也有所涉及。需要注意,設(shè)備都隸屬于不同的項(xiàng)目組,每個(gè)組所需要的設(shè)備也不同。這里需對(duì)應(yīng)實(shí)驗(yàn)室的實(shí)際情況把實(shí)驗(yàn)室的用戶進(jìn)行分組,每個(gè)小組分別負(fù)責(zé)不同的項(xiàng)目開(kāi)發(fā),而不同的項(xiàng)目組由于研究?jī)?nèi)容不同,因此對(duì)應(yīng)的課程資源也由不同的老師來(lái)負(fù)責(zé)。圖7展示了項(xiàng)目分組情況。
(4)管理員管理。登錄管理員賬號(hào)后,可以發(fā)現(xiàn)有待審核的資源列表,由于在敏感詞庫(kù)中把“三”和“問(wèn)”設(shè)置為了敏感詞,因此這部分的內(nèi)容都被系統(tǒng)自動(dòng)處理之后轉(zhuǎn)換為了*號(hào),另外在狀態(tài)欄也顯示了這個(gè)課程資源的狀態(tài)是待審核(見(jiàn)圖8),即需要再次經(jīng)過(guò)管理員的審核才能在系統(tǒng)中顯示。
這里,管理員需要對(duì)待審核的課程資源進(jìn)行審核,點(diǎn)擊審核,可以查看資源的詳細(xì)信息,包括題目、內(nèi)容和附件,點(diǎn)擊同意或者不同意進(jìn)行資源最終判定。
管理員除了能夠進(jìn)行資源審核,還可以進(jìn)行用戶管理(見(jiàn)圖9)。針對(duì)性地對(duì)不同用戶進(jìn)行搜索,包括登錄名、郵箱,另外如果某些用戶不合法或者通過(guò)發(fā)送報(bào)名郵件想要更改角色等級(jí),均可以通過(guò)這個(gè)界面進(jìn)行更改,不合法的用戶可以直接進(jìn)行刪除或者對(duì)用戶進(jìn)行狀態(tài)關(guān)閉一段時(shí)間,類似于游戲里的封號(hào)一段時(shí)間的處理方法,如果用戶滿足合法狀態(tài)后,可以將用戶狀態(tài)再打開(kāi),編輯按鈕可以把用戶的角色進(jìn)行再定義,如從成員到教師的升級(jí),重置操作可以重置用戶的密碼,以免某些用戶忘記自己的密碼之后,無(wú)法登錄系統(tǒng)。除此之外,管理員還可以進(jìn)行角色管理、對(duì)用戶學(xué)習(xí)情況進(jìn)行分析及發(fā)布相關(guān)通知等。
針對(duì)當(dāng)前高校實(shí)驗(yàn)室的信息缺乏情況,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)實(shí)驗(yàn)室管理系統(tǒng),包括課程資源管理,用戶管理,角色管理和菜單管理等功能。此系統(tǒng)有利于提高在校實(shí)驗(yàn)室成員的學(xué)習(xí)效率,可以共享學(xué)習(xí)資源,并且實(shí)用性強(qiáng),易操作,且可拓展性強(qiáng),可以讓用戶花費(fèi)更少的時(shí)間掌握系統(tǒng)的使用方法。有利于實(shí)驗(yàn)室對(duì)內(nèi)部成員的管理,也有利于實(shí)驗(yàn)室內(nèi)部成員開(kāi)展學(xué)習(xí)研究。