邢飛燕++施佺++胡祖輝++李奎

摘 要:為了提高高校研究生會的工作效率,實現校園信息化管理,提出了基于MVC架構模式的研究生管理系統的開發,并完成了系統的設計與實現。該系統采用Visual Studio 2010為開發工具,Microsoft SQL Server 2008為數據庫服務器。實踐證明,該系統界面清晰、操作簡便,具有良好的安全性、可擴展性和易維護性。
關鍵詞:MVC 研究生會 校園信息化
中圖分類號:TP273 文獻標識碼:A 文章編號:1672-3791(2015)06(c)-0034-02
信息技術的飛速發展加快了高校信息化的進程。校園信息化是指在傳統校園的基礎上運用計算機技術和網絡硬件設施,構建一個數字空間以拓展校園的時間和空間跨度,實現校園的數字信息化。
該校研究生會目前有主席團、辦公室、人力資源部、外聯部和宣傳部等8個部門,各個學院也有自己獨立的研究生會,共同受轄于校研究生會。每年研究生會招新、部門例會等活動,這些信息往往都是出于人工管理階段,很多材料信息都不能有效及時的存檔,導致研究生會換屆階段,很多工作無法順利展開,大大降低了研究生會的工作效率。因此,發展校研究生會信息化管理勢在必行。作為校園信息化進程中一個關鍵的組成部分,高校研究生會管理系統的主要作用包括發布研究生會最新動態和通知公告等,是研究生和學校之間的橋梁,也是提高高校競爭力的必然條件。
1 MVC設計模式
目前最通用的軟件體系架構包括層次模式、多層分布模式和MVC模式等[1]。該系統采用的是MVC架構模式。該模式最早是由施樂(Xerox)Palo Alto研究中心(PARC,Palo Alto Research Center)于20世紀70年代提出的[2],它是Model(模型)—View(視圖)—Controller(控制器)的簡稱,是把一個應用的輸入、處理和輸出流程按照Model、View、Controller的方式進行分離,形成模型層、視圖層和控制層三個層次。通過區分各個層,允許組成每個層的各個組件間松散地耦合,因此采用這種模式可以減少代碼的重復性,使得程序開發更加靈活。
模型Model是業務流程/狀態的處理以及業務規則的制定。它獨立于其他功能模塊,對其他功能模塊來說相當于一個黑箱操作。模型的作用主要包括:向控制器Controller提供對程序功能的訪問;抽象應用程序的功能,封裝程序數據的結構及其操作;接受視圖View的數據查詢請求;在數據變化時通知對此數據感興趣的視圖。
視圖View代表用戶和系統的交互界面,主要是用來展現用戶所需的數據。一般可以采用HTML界面、Applet和XML等技術。視圖的作用主要包括:將Model中的數據展現給用戶并獲得用戶輸入;將用戶輸入傳遞給Controller;當Model數據更新后,同時更新顯示數據。
控制器Controller是Model與View之間的聯系紐帶,相當于一個中轉站。Controller的主要作用包括:將用戶輸入轉換為應用程序的動作,并傳遞給Model執行;根據用戶輸入和Model執行動作的輸出,選擇適當的View展現給用戶。采用MVC設計模式,能夠讓HTML設計師與開發者完全獨立地做好自己的工作,減少了相互干擾的可能性。三個層次之間分工協作,哪一層需要發生變化,只需修改相應層的代碼,不會影響其余的代碼,使得代碼易于重用,維護更加簡單。雖然采用MVC設計模式增加了軟件的復雜程度,但可以大幅度減少后期的調試,降低修改難度。
2 系統的設計與實現
2.1 系統設計
高校研究生會管理系統采用的是ASP.NET MVC3.0框架,該框架是由微軟公司出品的Web開發平臺[3]。數據庫為SQL Server 2008,開發語言為Visual C#語言,開發的IDE為Visual Studio 2010。
按照ASP.NET MVC的體系架構和具體需求,該系統可以分為瀏覽器層、Web服務器層、業務邏輯層和數據層。對于系統管理員,瀏覽器層為其提供登陸頁面,并根據管理員輸入信息及使用權限進行驗證,之后再轉入相應的瀏覽界面。對于普通用戶,瀏覽器層可直接提供前臺界面的信息,該層使用Razor視圖來實現。Razor視圖模板提供了一個最快捷,最簡便的編碼方式[4]。Web服務器層主要包括控制器和部分視圖模型,它接受來自客戶端的請求,為不同身份的用戶分發不同的瀏覽信息。業務邏輯層組合了與數據庫的數據鏈路層(DAL)和面向具體業務模塊的業務邏輯層(BLL),它是將MVC中的模塊Model獨立出來實現的。在接受了Web服務器請求之后,實現系統的業務邏輯處理功能。數據層負責存儲和管理數據。
該系統主要針對三類用戶:校級管理員、院級管理員和普通用戶,這三種用戶分別具有不同的權限。校級管理員和院級管理員通過登錄來獲取不同的權限,其中院級管理員負責上傳公告新聞等信息,校級管理員除此之外還具有發布這些信息的權利。普通用戶無需登錄就可瀏覽這些信息 。下面以新聞資訊模塊為例,詳細說明系統使用MVC架構模式的實現設計方法。
(1)控制層(Controller)的設計。
新聞資訊模塊的控制層是由NewsController類來實現的。NewsController類具有列表(Index())、添加(Create())、刪除(Delete())、修改(Edit())、明細(Details())和瀏覽(Browse())等方法。其中Index()是在后臺返回新聞列表。Browse()是在前臺顯示新聞列表。Details()是給用戶返回新聞主要內容,Create()、刪除(Delete()和Edit()主要實現新聞的創建、刪除和修改功能。
(2)模型層(Model)的設計。
模型類代表了應用程序的數據,這些數據通常具有一個數據驗證邏輯,使得這些數據必須符合業務邏輯。新聞資訊模塊的模型層的關鍵代碼如下:
public class NewsM
{
public int NewsMID { get; set; }
public int GenreNewsID { get; set; }
[Required(ErrorMessage = "標題不能為空")]
[StringLength(30,ErrorMessage = "標題長度不能超過30個字符")]
public string Title { get; set; } //新聞標題
……//類似代碼,不一一羅列
public virtual GenreNews GenreNews { get; set; }
}
其中NewsMID是主鍵,GenreNewsID是外鍵,使新聞資訊表關聯新聞類別表。[Required]驗證指明該屬性的數據必須不為空。[StringLength]指定了該屬性運行輸入的最大字符串長度。每一個驗證特性都支持“ErrorMessage”屬性,使開發人員可以指明驗證失敗時需顯示的錯誤信息。
(3)視圖層(View)的實現設計。
視圖層只負責數據的呈現。在Razor視圖中,所有以@開頭或者@{/*代碼體*/}部分的代碼都會被ASP.NET引擎處理。下面以添加新聞頁面為例,關鍵代碼如下:
@model GraduateUnion.Models.News.NewsM
@{
Layout = null;
}
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
}
@Html.ActionLink("返回列表", "Index", new { page=1})
以上代碼使用了HTML幫助器的方法來簡化HTML標簽的書寫方法。Html.EditorFor幫助器用于顯示一個提供給用戶輸入信息的HTML的元素。Html.ValidationMessageFor 幫助器用于顯示一個針對屬性的校驗信息。在該視圖模板的頂部設置了@model GraduateUnion.Models.News.NewsM的聲明,該聲明表示將視圖模板中的“模型”強類型轉化成一個NewsM類。
2.2 系統實現
該文描述的高校研究生會管理系統采用asp.net MVC3.0框架設計,在MVC架構中,三個層次相互協作,業務邏輯由模型層實現,控制層調配業務數據到需要展示的視圖層進行顯示。在網頁地址欄中輸入研究生會的網址后進入研究生會管理系統首頁,頁面顯示新聞、研會動態和通知公告等信息。頁面下方有“管理員登陸”按鍵,點擊進入后臺登陸頁面,輸入用戶名和密碼后,可進入相應系統工作區,操作相應各個功能模塊。限定20min沒有對系統進行任何操作,則自動返回到初始登陸界面,從而保護用戶操作信息。系統運行結果如圖1所示。
3 結語
該文基于MVC模式,設計和開發了適用于高校使用的研究生會管理系統。系統采用了ASP.NET MVC3.0框架,從Model、View、Controller三個層次設計系統開發流程,實現了視圖顯示和邏輯功能真正的分離,增強了系統的可移植性、可擴展性和可變動性。該系統滿足了用戶的需求,實現了高校校園信息化管理,大大提高了研究生會的工作效率。
參考文獻
[1] 龔薇華,王晨光,俞歡軍.基于MVC模式和.NET的公司內部管理信息系統設計[J].計算機工程與設計,2007,28(9):2142-2144.
[2] 孫奧.MVC模式在.NET框架中的應用與實現[J].科技廣場,2006(1):69-71.
[3] 王程.基于ASP.NET MVC3的清潔生產管理系統平臺設計與實現[J].管理技術,2013(12):212-213.
[4] 謝艷芬.基于ASP_NETMVC的后勤管理系統的設計與實現[D].南昌:南昌航空大學,2014.