馬 維
(云南開放大學(xué) 云南省干部在線學(xué)習(xí)學(xué)院,昆明 650223)
基于角色權(quán)限的企業(yè)級在線報名系統(tǒng)設(shè)計與實現(xiàn)
馬 維
(云南開放大學(xué) 云南省干部在線學(xué)習(xí)學(xué)院,昆明 650223)
本文主要講述了基于ASP技術(shù)開發(fā)的以權(quán)限為核心的企業(yè)級網(wǎng)上報名系統(tǒng)的設(shè)計和實現(xiàn),該系統(tǒng)采用了3個層次,模塊化并且可擴展的系統(tǒng)架構(gòu)。另外,整個系統(tǒng)以細粒度的角色和權(quán)限控制提供安全性和高可靠性。本文對系統(tǒng)的需求,設(shè)計和各個功能模塊的實現(xiàn)作了詳細的介紹,并且詳細描述了各個模塊和系統(tǒng)管理角色之間的映射關(guān)系。此外,系統(tǒng)中采用了數(shù)據(jù)庫訪問對象(DAO)技術(shù)對數(shù)據(jù)庫模塊進行封裝,以簡化整個系統(tǒng)的數(shù)據(jù)庫訪問操作。該系統(tǒng)的整體設(shè)計和實現(xiàn)有效提高了報名的工作效率,減少了各級角色管理員的工作量,降低了出錯率,具有較高的推廣價值。
角色權(quán)限;企業(yè)級;在線報名系統(tǒng);設(shè)計
依據(jù)云南省委組織部每年對干部要進行專題研修培訓(xùn)的要求,云南省干部在線學(xué)習(xí)學(xué)院作為培訓(xùn)報名工作的承辦方,依照組織部的報名要求,要保證全省參訓(xùn)干部報名個人信息及參訓(xùn)信息能夠準(zhǔn)確無誤地傳送到培訓(xùn)機構(gòu),還要在培訓(xùn)機構(gòu)培訓(xùn)結(jié)束后錄入的成績,方便以后參訓(xùn)單位隨時查看和留檔。普通的紙質(zhì)報名是無法完成解決這些功能要求的,必須設(shè)計一個針對參訓(xùn)單位和培訓(xùn)機構(gòu)統(tǒng)一管理的智能系統(tǒng),這個系統(tǒng)能夠銜接和統(tǒng)一管理整個報名流程的每一個關(guān)鍵步驟,第一時間同步發(fā)布、接收報名情況,最終保證培訓(xùn)機構(gòu)能夠順利開班培訓(xùn)。
干部專題研修工作在線報名系統(tǒng)的基本目標(biāo)是提供高效、穩(wěn)定、可擴展的在線報名及培訓(xùn)服務(wù),并且能夠?qū)ν话l(fā)型用戶訪問(例如,報名截止前可能產(chǎn)生的用戶訪問峰值)進行響應(yīng)和處理。
1.1系統(tǒng)角色
整個系統(tǒng)的角色包括:培訓(xùn)用戶、參培單位管理員、培訓(xùn)機構(gòu)管理員及系統(tǒng)超級管理員。對應(yīng)的系統(tǒng)需要提供的基本功能包括以下幾個方面。
1.1.1對于培訓(xùn)用戶
①需要能夠注冊和認(rèn)證身份;②查看培訓(xùn)機構(gòu)及培訓(xùn)課程相關(guān)文檔;③申請專題研修菜單報名。
1.1.2對于參培單位管理員
①查看本單位人員報名信息、處理學(xué)員報名請求,并對本單位報名學(xué)員進行審核;②導(dǎo)出本單位報名表;③培訓(xùn)結(jié)束后,查看學(xué)員對應(yīng)的課程學(xué)習(xí)成績;④導(dǎo)出本單位學(xué)員成績總表。
1.1.3對于培訓(xùn)機構(gòu)管理員
①發(fā)布專題研修課程、培訓(xùn)事項相關(guān)文檔;②培訓(xùn)結(jié)束后錄入學(xué)員成績;③導(dǎo)出參學(xué)人員成績詳細表。
1.1.4對于超級管理員
①需要能夠添加和管理各類用戶角色(包括超級管理員、參培單位管理員和培訓(xùn)機構(gòu)管理員)及相關(guān)權(quán)限;②需要能夠管理查看和修改系統(tǒng)報名流程進度關(guān)鍵節(jié)點及資源的狀態(tài);③用戶數(shù)據(jù)管理及批量導(dǎo)出數(shù)據(jù)表格。
為了實現(xiàn)上述基本系統(tǒng)需求,需要一個以權(quán)限管理為核心,高度模塊化并且易于維護的系統(tǒng)架構(gòu)。
1.2報名系統(tǒng)流程
培訓(xùn)機構(gòu)管理員把培訓(xùn)資料上傳到平臺,學(xué)員登錄報名網(wǎng)址,依據(jù)自己的興趣和自我修養(yǎng)發(fā)展查看選擇專題菜單。在線學(xué)習(xí)用戶已有賬號,可以直接填寫用戶名和密碼,報名系統(tǒng)會自動識別并彈出個人信息。如果非在線用戶填寫相關(guān)個人信息進行報名。報名成功后,參培單位管理員對本單位的學(xué)員進行報名審核,審核通過的人員詳細報名信息會在培訓(xùn)機構(gòu)端顯現(xiàn)。培訓(xùn)機構(gòu)依據(jù)最終報名審核通過人數(shù)安排教室地點,策劃開班。學(xué)習(xí)結(jié)束后,培訓(xùn)機構(gòu)管理員登錄后臺管理,錄入成績,導(dǎo)出成績,分發(fā)到參培單位組織人事處。同時,參培單位管理員也能查詢本單位學(xué)員的成績,見圖1。
圖1 報名系統(tǒng)流程圖
如圖2所示,考慮到系統(tǒng)的安全性、模塊化性、擴展性及可維護性,整個報名系統(tǒng)架構(gòu)解決方案被劃分成3個層:界面交互/可視化層、邏輯業(yè)務(wù)層和數(shù)據(jù)庫層。
圖2 企業(yè)級在線報名系統(tǒng)架構(gòu)圖
2.1可視化層
負責(zé)提供交互接口及界面,提供方便清晰的用戶交互及數(shù)據(jù)可視化功能。
2.2邏輯業(yè)務(wù)層
實現(xiàn)系統(tǒng)功能的各個模塊及模塊間的交互功能;根據(jù)功能劃分的業(yè)務(wù)邏輯層又包含10個基本模塊:權(quán)限管理、系統(tǒng)應(yīng)用管理、用戶管理、文檔管理、菜單管理、報名管理、成績管理、培訓(xùn)機構(gòu)管理、報表管理和監(jiān)控及日志模塊。業(yè)務(wù)邏輯層是整個系統(tǒng)的核心,筆者將在下文詳細介紹各個模塊的功能和設(shè)計。
2.3數(shù)據(jù)庫層
提供整個系統(tǒng)的數(shù)據(jù)持久化并對上層系統(tǒng)模塊提供簡單可靠的數(shù)據(jù)訪問及管理接口。
整個系統(tǒng)中,前端界面展現(xiàn)層及頁面交互采用ASP.NET框架進行實現(xiàn);核心業(yè)務(wù)層采用C#進行模塊實現(xiàn);數(shù)據(jù)層采用SQL Server 2008進行數(shù)據(jù)庫實現(xiàn)并封裝成數(shù)據(jù)訪問對象(DAO)接口。筆者將著重介紹系統(tǒng)核心層:業(yè)務(wù)邏輯層的各個系統(tǒng)模塊的功能設(shè)計及實現(xiàn)。
3.1權(quán)限管理
系統(tǒng)的權(quán)限管理模塊包含了用戶權(quán)限管理和模塊權(quán)限管理的基本功能。
3.1.1用戶權(quán)限管理
通過權(quán)限管理模塊的接口,超級管理員能夠創(chuàng)建和修改用戶、參培單位管理員及培訓(xùn)機構(gòu)管理員等3種不同的用戶角色,并賦予相對應(yīng)的數(shù)據(jù)和模塊訪問權(quán)限。例如:一個普通用戶具有訪問文檔模塊下相對應(yīng)的培訓(xùn)課程相關(guān)的所有文檔的“可讀”權(quán)限;參訓(xùn)單位還擁有用戶管理模塊下自己用戶信息的“讀/寫”權(quán)限;培訓(xùn)機構(gòu)角色具有該培訓(xùn)機構(gòu)所屬所有文檔的“讀/寫”權(quán)限。
3.1.2模塊權(quán)限管理
由于后臺管理系統(tǒng)可能涉及很多私有和高敏感度的個人及機構(gòu)信息,為了系統(tǒng)安全考慮,在系統(tǒng)中添加了模塊訪問權(quán)限管理,模塊與模塊之間同樣具備類似于用戶的讀/寫權(quán)限映射關(guān)系。例如:用戶模塊只對文檔和報表管理具有“讀”權(quán)限;培訓(xùn)機構(gòu)模塊具有對文檔和報表模塊的“讀/寫”權(quán)限;監(jiān)控及日志模塊具有對所有模塊“讀”權(quán)限;權(quán)限管理和應(yīng)用管理模塊對于所有模塊具有“讀/寫”權(quán)限。
權(quán)限管理模塊提供的權(quán)限隔離和劃分可以有效地減少和避免非正常用戶對系統(tǒng)核心模塊的錯誤和惡意訪問,從而大幅提高了系統(tǒng)的安全性和可靠性。
3.2系統(tǒng)應(yīng)用管理
系統(tǒng)應(yīng)用管理模塊負責(zé)創(chuàng)建和修改各個模塊的運行狀態(tài)。系統(tǒng)的核心業(yè)務(wù)層中,除權(quán)限管理模塊以外的所有模塊都由系統(tǒng)應(yīng)用管理模塊創(chuàng)建并管理。在系統(tǒng)應(yīng)用管理中,開發(fā)人員可以創(chuàng)建新的模塊并激活/關(guān)閉其運行狀態(tài)。默認(rèn)情況下所有的模塊都是被激活的。系統(tǒng)模塊的激活和關(guān)閉主要用于系統(tǒng)的部署、擴展、更新、調(diào)試,以及特殊突發(fā)情況的應(yīng)對(如安全攻擊)。權(quán)限管理模塊是唯一獨立于系統(tǒng)應(yīng)用管理的模塊,因為系統(tǒng)應(yīng)用管理模塊依賴于權(quán)限管理模塊來判斷一個用戶或者操作是否具有相對應(yīng)的權(quán)限。默認(rèn)情況下只有系統(tǒng)的超級管理員擁有使用系統(tǒng)應(yīng)用管理模塊的權(quán)限。
3.3用戶管理
用戶管理模塊負責(zé)修改和驗證平臺普通用戶信息。普通用戶報名成功后,參培單位管理員通過管理后臺可以對相關(guān)的本單位用戶信息進行驗證以判斷用戶信息的可靠性以及是否符合特定的培訓(xùn)資格。超級管理員可以在用戶管理界面中的用戶列表中查看和管理(添加、修改、驗證及廢棄)所有的用戶記錄。培訓(xùn)機構(gòu)管理員只能進行查看請求了該機構(gòu)培訓(xùn)資源的用戶數(shù)據(jù),并且只能進行驗證操作。
3.4文檔管理
文檔管理模塊基本上是一個小型的發(fā)布訂閱模塊,培訓(xùn)機構(gòu)可以自由創(chuàng)建和發(fā)布培訓(xùn)文檔或者培訓(xùn)課程資源。這些文檔和資源一旦審核通過便會自動被推送到前端界面可視化模塊,普通用戶可以在網(wǎng)頁上自由瀏覽各個培訓(xùn)機構(gòu)發(fā)布的文檔及課程資源。文檔或者課程資源在發(fā)布后培訓(xùn)機構(gòu)可以在有效期內(nèi)(報名開始前)自由修改文檔或者課程資源的信息,這些修改在驗證成功后會自動被推送和更新到前端界面方便用戶及時掌握最新的信息。
3.5菜單管理
菜單管理模塊承載了整個報名過程關(guān)鍵時間點的邏輯管理,并且只有超級管理員才能對報名關(guān)鍵事件點進行管理。具體表現(xiàn)在以下3個關(guān)鍵時間點。
(1)報名開始之前,培訓(xùn)機構(gòu)登錄后臺上傳菜單培訓(xùn)信息,上傳完成后可以修改。等報名正式開始,超級管理關(guān)閉“菜單按鈕”。培訓(xùn)機構(gòu)就不能再進行上傳和修改菜單。這樣保證報名過程菜單的完整統(tǒng)一性。
(2)報名時間結(jié)束,按照報名培訓(xùn)計劃里留出一段時間給參培單位管理員審核本單位的學(xué)員報名情況。審核時間結(jié)束,超級管理員在后臺關(guān)閉“審核按鈕”,這時培訓(xùn)機構(gòu)才能看到詳細的學(xué)員報名信息。“審核按鈕”打開的狀態(tài)默認(rèn)培訓(xùn)機構(gòu)只能看到報名人數(shù)和審核通過人數(shù)。
(3)培訓(xùn)時間結(jié)束后,培訓(xùn)機構(gòu)登錄后臺對學(xué)員進行成績錄入。成績錄入必須等到培訓(xùn)時間結(jié)束,否則無法完成錄入工作。錄入完畢后,超級管理員關(guān)閉“成績按鈕”,培訓(xùn)機構(gòu)才能導(dǎo)出成績詳細表分發(fā)至各參培單位。與此同時,參培單位管理員可以登錄后臺查看學(xué)員的成績?!俺煽儼粹o”打開狀態(tài)默認(rèn)參培單位看不到成績。
3.6報名管理
報名管理模塊主要用于參培單位管理員對本單位報名成功的學(xué)員進行培訓(xùn)資格審核。與此同時,超級管理員可以在此模塊幫助已報名成功學(xué)員調(diào)整菜單。由于每個培訓(xùn)菜單開班時間不一樣,有時學(xué)員因為突發(fā)客觀情況無法按照報名的菜單培訓(xùn)時間學(xué)習(xí),只要還在規(guī)定的審核時間段內(nèi),學(xué)員就能重新另選一個適合自己的時間安排菜單,以不耽誤每年一次的培訓(xùn)。
3.7成績管理
成績管理模塊主要用于培訓(xùn)時間結(jié)束,培訓(xùn)機構(gòu)為參學(xué)人員錄入成績、核實成績、導(dǎo)出成績詳細表。成績詳細表的模板已在后臺系統(tǒng)中創(chuàng)建,嚴(yán)格按照培訓(xùn)機構(gòu)畢業(yè)證書格式要求,具有嚴(yán)謹(jǐn)統(tǒng)一性。培訓(xùn)機構(gòu)只需導(dǎo)出詳細表,加蓋培訓(xùn)機構(gòu)公章,就可以分發(fā)到各參培單位。與此同時,參培單位也可以在此模塊查看了解本單位人員的成績匯總表。
3.8培訓(xùn)機構(gòu)管理
系統(tǒng)應(yīng)用管理模塊負責(zé)創(chuàng)建、修改和驗證相關(guān)的培訓(xùn)機構(gòu)記錄ID,只有超級管理員可以在用戶權(quán)限管理模塊創(chuàng)建培訓(xùn)機構(gòu)角色。當(dāng)培訓(xùn)機構(gòu)ID和角色創(chuàng)建成功后,培訓(xùn)機構(gòu)管理員可以登錄后臺發(fā)布和管理自己培訓(xùn)機構(gòu)下的文檔資源及課程供用戶訪問和報名。
3.9報表管理
報表管理模塊主要提供了批量的數(shù)據(jù)訪問、查詢和數(shù)據(jù)報表生成功能。通過對數(shù)據(jù)庫進行批量查詢生成對應(yīng)的報表數(shù)據(jù)。各角色管理員可以查詢和導(dǎo)出報表任務(wù)產(chǎn)生的數(shù)據(jù),并進行分析和進一步處理,比如:基于菜單查詢的報名匯總表、基于參培單位查詢的報名匯總表、基于培訓(xùn)機構(gòu)查詢的報名匯總表等,成績匯總表也同理可以依據(jù)不同的查詢條件生成相對應(yīng)的報表。
報表管理模塊在當(dāng)前數(shù)據(jù)為中心的大趨勢下,可以作為數(shù)據(jù)分析和管理的核心模塊進行進一步擴展和開發(fā)。
3.10監(jiān)控及日志模塊
監(jiān)控及日志模塊負責(zé)監(jiān)控和記錄所有業(yè)務(wù)核心模塊中的系統(tǒng)(模塊開/關(guān)、更新、創(chuàng)建等)、用戶操作(創(chuàng)建、訪問、修改任意數(shù)據(jù)記錄)以及產(chǎn)生的影響(成功或者失敗)。所有的監(jiān)控數(shù)據(jù)以日志記錄的方式呈現(xiàn)并支持輸出打印。
日志記錄主要包括兩部分:①監(jiān)控模塊產(chǎn)生的核心監(jiān)控日志;②各個模塊內(nèi)部的系統(tǒng)完整日志。核心監(jiān)控日志和模塊內(nèi)部日志分別采用不同的日志路徑進行存儲,方便錯誤的排查和維護。
4.1數(shù)據(jù)庫表的設(shè)計
基于系統(tǒng)需求和系統(tǒng)模塊設(shè)計,數(shù)據(jù)庫層主要包括7種數(shù)據(jù)對象,分別為:用戶、培訓(xùn)機構(gòu)、模塊/資源、文檔、課程、成績和權(quán)限映射。對應(yīng)的系統(tǒng)數(shù)據(jù)庫包含6張核心表。其中用戶表及權(quán)限表的主要設(shè)計,見表1、表2。
用戶表(見表1)主要保存了用戶的類型、狀態(tài)、所屬單位以及其他個人相關(guān)信息,由于個人信息字段較多,未在表1中一一列舉。
權(quán)限映射表(見表2)提供了整個系統(tǒng)用戶/模塊對各類資源(用戶、模塊、文檔以及數(shù)據(jù))的權(quán)限映射關(guān)系。管理員通過權(quán)限管理結(jié)構(gòu)對該表進行增、刪、改、查操作來實現(xiàn)靈活全面的權(quán)限配置。
4.2數(shù)據(jù)庫接口設(shè)計
整個系統(tǒng)的數(shù)據(jù)層采用了SQL Server 2008進行實現(xiàn)。為了方便上層業(yè)務(wù)模塊對數(shù)據(jù)層的訪問和管理,所有的數(shù)據(jù)表操作都被封裝成為“數(shù)據(jù)訪問對象”(DAO)接口的方式被業(yè)務(wù)層的模塊調(diào)用。通過利用DAO的接口設(shè)計,每個數(shù)據(jù)庫表中的數(shù)據(jù)被具體化為標(biāo)準(zhǔn)的C#集合對象來進行操作,并且提供方便快捷的增、刪、改、查方法作為接口。部分常用表格更提供一系列的高級查詢接口以支持復(fù)雜的查詢操作。整個數(shù)據(jù)庫層的DAO設(shè)計和實現(xiàn)很大程度減少了業(yè)務(wù)層模塊訪問訪問數(shù)據(jù)庫的操作的復(fù)雜度,從而有效提高了開發(fā)效率。
表2 權(quán)限映射表
干部專題研修報名系統(tǒng)已投入運行了5年,針對每年學(xué)員報名的各種突發(fā)情況都能夠快速、高效、安全地順利解決,取得了良好的應(yīng)用效果,達到了系統(tǒng)設(shè)計的目的。學(xué)員報名—審核—成績管理這個流程所需要付出的工作量對于各級管理員都是一個復(fù)雜而且耗費精力的事情。該報名系統(tǒng)設(shè)計和實現(xiàn)有效地轉(zhuǎn)變了傳統(tǒng)的報名模式,提供了可靠的權(quán)限管理和安全性,減少信息在登記過程中的出錯率,提升了工作效率。系統(tǒng)的另一核心是智能銜接報名流程邏輯時間關(guān)鍵點,對于每個時間關(guān)鍵點都瞬時完成,第一時間對各級角色傳遞正確信息,已達到信息發(fā)布傳遞瞬時性、完整性和安全性,這是傳統(tǒng)報名無法比擬的。并且,企業(yè)級在線報名系統(tǒng)設(shè)計有效提高了報名管理服務(wù)質(zhì)量和服務(wù)水平,實現(xiàn)了報名工作的制度化、程序化、規(guī)范化及信息化。該系統(tǒng)功能還在不斷的完善中,將在以后報名系統(tǒng)更新和升級中提供更好、更優(yōu)的服務(wù)。
主要參考文獻
[1]陳祥章,韓永印,劉耿龍.計算機等級考試網(wǎng)上報名系統(tǒng)的設(shè)計與實現(xiàn)[J].實驗技術(shù)與管理,2010(9).
10.3969/j.issn.1673 - 0194.2016.16.028
TP393.08
A
1673-0194(2016)16-0045-03
2016-07-02