高洪濤
摘 要:.NET軟件環境融合3層架構和復用技術,成為開發分布式軟件應用系統的主流。文章通過對.NET軟件3層框架思想的探析,以某員工信息管理系統設計為例,來介紹和實現各模塊功能的方法。
關鍵詞:.NET;分布式軟件;體系結構;設計應用
從現代軟件復用技術、構件化編程思想的廣泛應用,對于現代管理信息系統的設計,更多的是通過軟件框架與業務流程,融入分布式軟件體系結構來滿足對復雜、龐大數據的快速、高效處理。在軟件系統設計中,各個對象之間的相互協作來實現對業務流程的交互應用,為了提升軟件設計的復用力度,從提升軟件的可靠性上,有研究者提出在領域框架下,將每一行代碼轉移至大力度體系結構中,形成與應用框架相對立的構件,來提升編程的便捷性、靈活性水平,也增強了應用軟件的代碼復用使用性。所以,本文結合.NET軟件基礎框架,介紹一種基于分布式應用程序設計模型的企業員工信息管理系統,來驗汪這種設計模式的科學性。
1 .NET框架及三層架構設計思想
.NET是微軟推出的軟件設計產品,其能夠滿足微軟平臺的組件技術、數據庫技術。整個體系結構以互聯網為基礎,融入分布式設計思想。通常而言,對于.NET體系架構主要包括公共語言運行庫、統一類庫等內容。同時,.NET框架完全支持可擴展的標記語言( Extensible Markup Language,XML),能夠滿足Web服務應用。當然,對于任何一個軟件開發設計項目,從提升軟件質量上都需要相應的支持平臺。.NET支持面向對象技術,更適宜開發結構靈活、功能強大的信息管理系統。比如在企業管理架構中,企業組織之間往往以分層思想來實現管理應用,而企業分層又將企業員工組織起來,圍繞企業目標來協同合作。同樣,在.NET軟件平臺設計中,也需要利用分層結構來組織軟件框架的部署。不過,不同的分層結構,與其所對應的設計任務具有對應性,以求有效合理地組織相關構件,來實現高效協同管理。我們從.NET 3層架構設計基礎上來看,自下而上分為數據訪問層(Data Access Layer, DAL)、業務邏輯層(Business LogicLayer,BLL)和表示層。在進行軟件系統開發時,也會根據設計需要來設置相應的通用輔助類及方法。如事務管理類、數據庫訪問類等,以實現軟件系統各模塊數據訪問時的相互復用需要。另外,在關于企業的信息管理系統軟件中,其操作對象主要為數據庫中的表、視圖等內容,這些內容在設計時可以根據需要將其抽象為共用實體類模塊。
2 .NET3層框架的設計與實現
從.NET分布式應用軟件設計框架模型來看,其3層結構的協作來實現對用戶請求的反饋。數據訪問層直接訪問底層數據庫,并對相關數據進行存儲;業務邏輯層是整個分布式軟件設計的核心,以滿足不同數據業務間的調度與管理。如可以實現對不同業務組件的打包,并按照業務類型進行連接數據庫與網絡,業務邏輯層與數據庫之間通過API來實現通信。
2.1數據訪問層的設計
.NET 3層架構的數據訪問層,主要是面向數據庫來完成業務邏輯層提交的各項操作任務。如對數據庫進行插入數據、刪減數據、更新數據等操作。通常,在管理信息系統軟件設計中,用戶通過操作界面來完成對不同業務流程的操作,而這些業務流程本身,都需要轉換到數據訪問層,以實現對數據庫相關數據表單的修改和操作。所以,我們通過對軟件框架數據訪問對象進行抽象處理,來實現數據庫的查詢、插入、修改、刪除等操作。同樣,在對不同數據表或視圖進行操作時,其需要通過軟件設計指令來完成。如在結構化查詢語言( Structured Query Language,SQL)關系數據庫系統中,為了減少程序代碼編寫的繁復性,以微軟的靜態類SqHelper來進行設計。我們可以將數據訪問功能封裝在SqHelper靜態類中,利用程序指令來調用SqHelper靜態方法來完成數據庫的交互操作。如ExecuteNonQuery方法主要用于執行不返回任何行或值的指令;對于ExecuteReader方法用于返回SqIDataReader對象,其對象包含某一指令返回的結果集;ExecuteDataset方法主要用于返回DataSet對象;ExecuteScalar方法主要返回一個值,其值為指令返回的第一行的第一列。同時,所有SqHepler靜態類指令,在執行時都可以添加相應的參數,且需要通過SqICommand指令來完成。針對數據訪問層的查詢運算,可以根據實體類常見查詢字符串strSQL,然后調用ExecuteReader方法來進行數據查詢,將查詢結果返回。同樣,插入運算也是調用ExecuteScalar方法,來進行插入運算參數配置,并對插入的ID號返回。
2.2業務邏輯層的設計
在.NET 3層框架中,業務邏輯層主要負責不同的數據業務流程,其內容主要與管理信息系統相關聯,并從軟件的上下層交互邏輯處理中完成具體業務目標。由于該層數據交互與具體業務邏輯有關,所以,在進行軟件設計時,可以利用通用業務接口來訪問數據訪問層。當然,對于特殊的業務流程訪問時,也可以直接對BLL層中相關類進行繼承,然后重載相關操作。業務層軟件設計時,可以根據操作表、視圖等內容,來生成不同的表的業務層通用操作代碼。如Publicclass Purchase ApplicationBLL {Pubic static<參數>業務功能()…..Public static<參數>業務功能(n))。
2.3表示層的設計
表示層主要包括界面層和實體類。對于界面層,主要是完成人機交互,向用戶提供業務操作的相關界面和結果的展示。根據用戶所操作的不同控件,其在界面層的顯示往往通過GET或SET方法來實現。因此,利用界面層設計,可以對相關的數據庫操作對象進行選擇,也可以對各數據字段進行屬性設置。如利用操作界面來完成增加、刪除、修改、審核等功能。當然,在界面層設計上,可以根據業務操作菜單的變化,對應具體的業務流程,來實現與業務層進行有效對接。對于實體類,主要是數據庫中抽象后的對象類。這些實體類,也是軟件設計時操作的對象實例。所以,在設計上,要根據數據庫的表、視圖等所映射的對象類,利用GET或SET方法來完成對象屬性的設置,就可以將數據庫與具體的信息管理業務建立連接。
3應用實例開發
通過對.NET 3層框架軟件各層功能及設計要求的分析,我們可以結合某具體管理信息系統軟件設計項目,來通過配置數據庫,以實現對某企業人力資源系統的動態管理。
3.1分布式人力資源管理軟件設計的可行性
從現代企業發展來看,人力資源管理占據重要地位,而隨著企業戰略的推進,處于不同地域下的人力效率管理一直是難點。我們借助于NET分布式軟件設計特點,將之與企業人力資源管理相融合,來實現對多地域企業員工的網絡化管理。在分布式軟件設計模型中,數據庫統一用來存儲、維護員工信息,管理人員可以通過網絡來訪問遠程數據庫,還可以結合不同業務來管理和更新數據庫,實現各地域人力的協作管理。當然,借助于分布式人力資源管理項目,還可以對員工進行動態管理,員工也可以登錄系統,對自己的業務進行操作和存儲。
3.2分布式人力系統管理軟件設計框架結構
結合某企業人力資源管理需要,從提升人力管理動態化、跨區域管理水平上,引入分布式軟件設計體系。基于Visual Studio .NET來開發,選用SQL Server數據庫,采用BlS3層主體結構,各功能子模塊共用統一的數據庫,以滿足不同地域條件下各人力資源管理的協同,提升軟件管理效率。其基本結構為:表示層包括人力資源系統用戶交互界面;邏輯應用層包括通用數據查詢模塊、通信報表模塊,以及員工數據檔案管理模塊;數據訪問層包括用戶界面與數據實體類,利用XML來實現對數據庫的直接訪問。
3.3各主要模塊及實現方法
在軟件項目設計應用中,首先是系統登錄模塊的設計。登錄模塊參照一般流程,由用戶輸入賬戶信息、密碼等,來調用用戶信息表格進行查詢,當輸入正確時,進入人力系統操作主界面;當輸入用戶不存在時,返回錯誤信息,并轉向重新輸入。在員工信息錄入與修改模塊,該模塊主要完成員工基本信息的錄入管理。由于考慮到對傳統員工檔案信息格式及內容的兼容性,我們可以利用軟件設計來優化傳統檔案數據向分布式軟件數據庫的導入方式。當然,為了確保檔案信息的正確性、準確性,我們在數據庫轉換設計上,還要增加信息糾錯與數據保障功能。在本模塊,主要記錄了員工的基本信息,如姓名、性別、年齡、參加工作時間、職務信息等。管理人員也可以根據查詢模塊來對相關組合條件進行綜合查詢,以便于對員工的有效管理。對于分布式軟件設計,在滿足查詢條件時,需要考慮多種查詢方式的兼容性。如滿足任意條件查詢、擬定條件查詢等。在任意查詢時,可以根據檢索字段信息,展開任意組合條件的查詢。如根據年齡、性別進行查詢,根據工作年限、職稱情況進行查詢;在擬定查詢方案時,可以將某次查詢方式進行設置,并保存到菜單內,便于后續直接查詢,提升企業人力管理有效性。對于分布式軟件設計中的報表生成模塊,應該是實現人力資源管理軟件設計的重要內容。報表是記錄管理業務的重要方式,其輸出形式可以與Microsoft Excell表格進行對接,將之生成電子表格方式來便于打印、輸出;也可以將報表導出成報表模板,以滿足其他輸出需要。
[參考文獻]
[1]周德賢.現代分布式軟件工程架構分析與探討[J]信息技術與信息化,2014 (11):108-109
[2]朱煥亮,張佩民.企業數據架構規劃和治理淺析[J]中國信息化,2016 (7):76-81