瞿詩高



摘 要: 高等院校的科研業務能力在很大程度上決定了該院校的綜合管理能力,因此高校在科研管理工作中結合全新的計算機網絡系統是十分關鍵的。在ASP.NET基礎上創設了一類全新的科研管理系統,在對系統的實際需求進行深入探究之后,擬采用瀏覽器/服務器(B/S)結構對其進行構建,對系統開發來講, .NET技術是必不可少的,并且在進行實踐開發的過程中,將ASP.NET作為開發語言,SQL Server作為數據庫系統。除此之外,系統的構型為三層結構,包括數據訪問層、業務邏輯層和Web層,每個層次實現特定的功能。
關鍵詞: 科研管理; 三層架構; .NET技術; ASP.NET
中圖分類號: TN710?34 文獻標識碼: A 文章編號: 1004?373X(2017)01?0006?04
Abstract: A university′s scientific research professional ability determines its comprehensive management ability to a great extent, so the new computer network system combined in the university′s scientific research management is very important. A new scientific research management system is created based on ASP.NET. After deeply studying the actual demand of the system, the browser/server (B/S) structure is used to construct the system. The .NET technology is essential for the system development. The ASP.NET is taken as the development language, and SQL Server is taken as the database system in the process of development practice. The structure of the system has three layers, including the data access layer, business logic layer and Web layer, and each layer can realize a specific function.
Keywords: scientific research management; three?tier architecture; .NET technology; ASP.NET
1 相關知識
1.1 .NET介紹
.NET簡單來講是專門為Microsoft設計的一套開發模型,針對它而言,軟件和平臺以及設備之間并不存在實質聯系,并且數據可以在Internet上訪問。從本質上講是一個能夠形成和運行下一代Microsoft Windows和Web程序的平臺, .NET平臺的目標是簡單網絡開發。 .NET平臺下的核心技術包括.NET框架、.NET企業服務器、生成構件的服務器、Visual Studio.NET。
.NET框架為各個應用和XML網絡服務體系提供了良好的運行環境。.NET框架的聯合特性意味所有的應用程序都可以使用通用的工具和代碼集進行開發,并且相互間可以容易地集成,.NET框架結構如圖1所示。
1.2 ASP.NET概述
在.NET結構中設計程序的方式和設計Windows程序存在諸多的相似之處。ASP.NET的基礎組件是網絡窗體。網絡窗體是使用者在點開瀏覽器程序之后能夠進行查看的頁面。ASP.NET網絡應用程序中涵蓋了若干個網絡窗體,而且網絡窗體從本質上講是一個非靜態能夠對服務器資源進行調用的網頁。創建ASP.NET網絡應用程序的各部分包括網絡窗體,.aspx頁面網絡窗體和.aspx頁面提供網絡應用程序的UI。后臺代碼頁和窗體之間互相銜接,同時涵蓋了窗體當中的服務器代碼、配置文件、Global.asax文件、XML網絡服務器鏈接、 數據庫連接、緩存。
1.3 AJAX技術
AJAX(Asynchronous Javascript And XML)是一種使用Javascript進行異步通信((Asynchronous)以交換XML數據的技術。AJAX在瀏覽器和服務器之間引入AJAX引擎,這種引擎通過JavaScript進行設計,一般情況下隱含在某個特定的框架(Framework)內,其功能是協調接口和服務器彼此之間的互動,除此之外,該引擎對這種互動通過異步的方式展開處理,因此在服務器接收到某個請求指令之后,瀏覽器的操作依然不會受到限制,并且在網頁進行升級時,服務器會返回必須進行完善和更新的網頁部分,從而大幅度降低用戶的等待時長,如圖2所示。
2 系統功能需求
2.1 系統功能模塊需求
本系統涵蓋了高校科研所有的項目,比如對課題進行管理,對相應的檔案進行管理,對一些項目的科技成果進行管理,項目經費的管理,系統用戶的管理,用戶的權限分配管理等功能。按照項目的實際需求,系統應涵蓋如圖3所示的四個子系統。
針對用戶管理模塊而言,根據高校的實際需求,安排的角色包括:科研工作者,負責單位相關工作的秘書,負責各部門的秘書,高等院校的領導。
項目管理子系統是十分重要的一個組成部分,它涵蓋的功能十分豐富,其中涉及到項目瀏覽、成員查看等。除此之外,通過該系統能夠對科研項目通過報表的形式進行統計和相應的分析,其涵蓋的功能模塊如圖4所示。
經費管理子系統在系統中具有不可或缺的作用,它包括的功能紛繁復雜,其中比較典型的包括調配情況查詢、統計結果查詢等。
針對論著管理子系統模塊而言,用戶能夠錄入關于書籍的諸多信息,例如書籍的編寫者、具體的收錄數量等;科研秘書有權利審查相關科研工作者所錄入的數據。
2.2 數據庫設計要求
此系統結合了SQL Server 2005,SQL Server 2005是一類應用面十分廣泛的數據庫,該數據庫由一組數量龐大的資源庫組成,它涵蓋的功能十分全面,并且操作十分便捷,在實際應用中能夠發揮十分突出的作用。
數據庫設計簡單來講是構建數據庫及設計相關系統的一類技術,它是對某個既定的要求,創設最為科學合理的數據庫體系,并開發相關的應用程序,使其可以高效準確地存儲目標資源,達到各類用戶的實際需求。
在進行實際操作的過程中,要充分考慮數據庫應該體現的各個特性,在展開實踐操作時要把握以下原則:數據一定要體現高度的獨立性;在進行共享數據的過程中保持較高的準確性;最大化的縮減數據冗余;確保數據的可靠性和實用價值;結構清晰,布局合理。
3 基于.NET技術系統具體實現
3.1 總體實現方法
在設計系統的過程中,其結構可以系統性的劃分為三層,數據訪問層提供一個訪問端口,業務邏輯層處于其他兩層中間,其具體功能是輔助數據的交換。它是系統架構中的核心部分,它的側重點是工作準則的制定、流程的安排等與業務息息相關的系統設計。Web層的功能是從數據庫中采集數據資源或者輸送相關數據信息。
在實現方法上,分別建立不同的“命名空間(Namespace)”來體現這三層。通過在Microsoft VisualStudio 2010中建立解決方案,并在該解決方案中分別建立三個項目來完成,如圖5所示。
針對圖5,命名空間名為DataAccess的類庫用于實現數據訪問,其功能是用于銜接數據庫和處理各種對數據庫的訪問。
BusinessLogic類庫用于實現業務邏輯層,其功能是接收Web層向數據訪問層發出的請求,并將最終的訪問結果傳遞給Web層。
項目名稱為WebProject的ASP.NET Web站點用于實現Web層,其功能是向用戶顯示頁面,接收用戶提交的操作請求,并向業務邏輯層傳遞數據訪問請求,最后將業務邏輯層傳來的數據庫訪問結果顯示給用戶。
在這種實現策略中,通過業務邏輯層進行聯系,在實現方法上,通過在BusinessLogic中添加特定的引用實現目標層的聯系,除此之外,在WebProject中添加對于類庫BusinessLogic的引用實現目標層的聯系。
3.2 系統數據庫的實現
在進行數據庫設計的過程中,必然會將目標類圖進行定向轉變使其符合實際需求,在充分考慮各方面因素后,依據對功能模塊的客觀要求,以此創設科學合理的數據庫,針對各個模塊設計了相對應的數據表,見圖6。
(1) 項目管理模塊
在該模塊中涵蓋的內容有關于項目的有關信息、資費、建設的實際情況等。并且對各個內容都分別設計了與之對應的數據表,以此符合系統設計的客觀需求。
(2) 經費管理模塊。在該模塊中涵蓋的內容包括有關項目的經費信息、經費收支情況等。并且各個模塊都有與之相對應的數據表,例如費用支出表SR_Jjfzc、經費提成情況表SR_Jjftcsr等。
(3) 書籍管理模塊。在該模塊中涵蓋的內容有論著出版商、收錄情況等。其中每個內容都有與之相對應的數據表,例如收錄數量表SR_lzslqk、資助表SR_lzzzqk等。
(4) 用戶管理模塊。在該模塊中,主要包括人事基本表,用來存儲系統用戶名、密碼以及其他一些個人相關信息。
3.3 數據訪問層的實現
高校科研管理系統在工程項目里面創設了一個特殊的命名空間,其名稱為DataAccess(如圖7所示),它的主要作用是表示數據庫訪問層。而對于數據訪問層來講,設定的訪問策略其根本目的在于提升整體的性能。主要采用以下兩種策略:
(1) 數據訪問層在進行訪問操作時通過存儲過程的形式完成相應的處理。通過這種形式能夠確保應用程序具有比較理想的執行速率,并且能夠在一定程度上對數據進行簡化,除此之外,它還能夠使系統在設計階段具有更多的操作空間,在數據庫有某方面的改變時,又可以改變存儲過程語句而進行相應的處理,就沒有必要對程序代碼進行一定的修改。這個數據訪問策略最大化地凸顯了SQL Server數據庫系統,可以大幅度提升整體性能的特性。
(2) 使數據庫資源存留最少時間。數據庫訪問層要最大化地推遲調配數據庫中涵蓋的數據信息,并盡快對這部分數據信息進行釋放。并使用using或try ... catch...finally語句塊對存儲過程實現有效調用,這種模式封裝了對不便進行管理的資源的調控,能夠最大化地釋放數據資源。本系統在設計的過程中把全部訪問都封裝在DataAccess里面,而DataAccess間中類提供接口從而讓系統中的業務邏輯層能夠展開后續的操作。
3.4 業務邏輯層實現
業務邏輯層的主要作用是為Web層展示一個用于用戶查看和處理數據的界面。業務外觀層把界面和各類業務功能的實現互相分離,它涵蓋了多種業務規則的有效應用,成功地將內容和表現進行分割。在業務邏輯層可以完成系統所具有的諸多功能。高校科研管理信息系統在進行設計的過程中通過在項目處理方法中創設BusinessLogic對業務邏輯層進行有效的表示。整個系統中分屬于業務邏輯層主要包括三個系統,分別為項目管理子系統、經費管理子系統、書籍管理子系統,然后再構建三個互相區別的命名空間來有效地實現各個子系統的功能,如圖8所示。
業務邏輯層獲取用戶在Web發出的操作指令之后,將存儲過程名輸送到該層級中,之后數據訪問層就會開展對數據庫的相關操作,業務邏輯層從本質上講并不與數據庫形成某個層面的聯系。數據訪問層在實現了相應的操作之后,把最終結果返回到業務邏輯層,業務邏輯層再把這個結果傳送到Web層,由Web決定最終結果的顯示方式。
3.5 Web層的實現
Web層的作用是創設合理的網頁界面,從而讓用戶能夠成功登錄,并且它還提供一個用于信息錄入的操作界面,設定信息的查詢要求并展示相應的查看結果,把收到的數據資料輸送到業務邏輯層當中。在進行功能實現時,結合ASP.NET的Web Form以及相應的用戶控件完成相應的要求,因為系統中通過Visual Studio .NET設置專門的站點,所以運用Code?behind的方法,把所有的代碼封裝在特定的文件里面。利用XML Web Service具有的服務功能,從而實現頁面的功能設計。把封裝完成的XML Web Service加入到特定的程序,并在Code?Behind中把它實例化,具體情況如圖9所示。
Web層在項目處理方案中創設一個特定的ASP.NET Web程序完成系統的功能。本系統從理論上講有四類用戶,所以可在Web項目中設置四個專門的Web虛擬目錄來滿足各類用戶的操作需求。
3.6 ASP.NET用戶控件的使用
ASP.NET Web用戶控件從本質上講是一類復合控件,其基本原理和ASP.NET網頁具有諸多相似之處,能夠向用戶控件增添特定的Web控件以及標記,同時設定控件的基本屬性以及方式,這個控件選用的擴展名為.ascx。Web用戶控件可以實現對頁功能的重用。
在進行首次請求時,頁框架在短時間內把用戶控件調整為System.Web.ULUserControl派生的類,同時把這些類編譯至既定的程序集里面,用戶控件不進行預編譯就能夠對頁面的具體樣式展開設定,所以在進行系統設計時十分方便。除此之外,科研管理信息系統在功能的實現中有效地利用了ASP.NET Web用戶控件,并且這些控件存留在Web層里面的UserControls目錄。
4 結 語
本文對高校科研管理信息系統的整體結構展開了詳盡的探究,對基礎數據庫功能進行了深入分析,并且在系統功能實現的過程中結合ASP.NET進行程序設計,將SQL Server設定為數據庫系統。實現策略上采用分層的結構,各個層次完成明確的任務。這種開發方法使得各個層次之間的類是相互獨立的,類只提供給外界操作的接口和方法。當類的內部形成某方面的改變時,如果外接口保持不變就不會對系統其余部分造成負面影響。由于采用了高級語言調用存儲過程訪問數據庫的方法,當數據庫中的數據和結構發生變化時僅僅對存儲過程進行修改,而沒有必要對高級語言展開修改,從而在很大程度上確保應用程序和數據保持良好的獨立性,大幅度優化了程序設計的整體效率。
參考文獻
[1] 張振蓮.基于.NET的科研管理系統的設計與實現[D].西安:西北大學,2005.
[2] 沈中林.基于B/S模式的高校科研管理信息系統的設計[J].中國民航學院學報,2004,22(5):61?64.
[3] 朱健,盧秉亮,劉君英,等.AJAX技術在Web開發中的應用[J].沈陽航空工業學院學報,2007,24(2):29?31.
[4] ESPOSITO D. ASP.NET 2.0高級編程[M].施平安,譯.北京:清華大學出版社,2009.
[5] 鄭阿奇.ASP.NET程序設計教程[M].北京:機械工業出版社,2010.
[6] 馬虹,崔忠偉,吉東.基于ASP.NET的實時用工呼叫平臺設計與實現[J].物聯網技術,2015,5(5):80?81.