韋松磊
【摘 要】扶貧開發涉及范圍廣、時間跨度長,但對于我國經濟發展有著極大幫助,本文開發一款基于GIS的扶貧信息管理系統,這將會為政府部門提高扶貧工作管理的效率,并且聯網的系統也可以大大加強對國家調配扶貧資金的監管力度,降低官員貪污腐敗的概率。
【關鍵詞】扶貧項目;信息管理;GIS
1 系統總體架構設計
系統的主體框架有三層:分別是Web層、BLL層、Model層。Web層的設計使用了ASP.NET MVC,采用Model抽象與數據庫訪問結合的方法。系統的數據庫訪問使用了EF框架,由于系統中對于數據庫的訪問層都用到Model傳遞,為了確保數據有效性,需要對其相關屬性驗證。最后給Web層的View創建強類型視圖使用。
(1)Web層:包括View和Controller兩個部分。View是用于用戶交互的aspx頁面,將使用Model生成帶有輸入驗證的強類型視圖。Controller(控制器)用于和BLL層傳遞信息。
(2)BLL層:業務層。該層通過調用Model的實體框架的數據庫方法進行對于數據的增、刪、改、查的相關操作。
(3)Model層:包括Metadata和Entity Framework兩層,其中Metadata是用于View層驗證而存在的,Entity Framework是數據庫訪問層解決方案(采用O/R映射)。
(4)通用類庫:系統通用類庫。例如分頁控件,權限的驗證類等。
2 平臺軟硬件架構設計
基于GIS的扶貧項目管理系統是面向貧困地區各級單位的信息管理系統。系統需要基本滿足扶貧開發工作需求,由扶貧辦的用戶首先在系統在錄入相關投資計劃信息;各鄉鎮用戶登錄系統查看到計劃后,在系統中填寫項目申請信息表向扶貧單位提出項目申請;扶貧單位用戶再查看各地申請的項目,并確定是否批準。若某一項目獲得批準,系統將將該項目列入“在建項目列表”,并可以對項目的進度信息進行跟蹤管理,其中包括項目的招標、合同、建設單位、建設內容、覆蓋區域、臺帳等信息進行管理。期間用戶可以將項目信息以報表的形式導出或打印,也可以結合地圖查看貧困村和項目信息。
(1)系統服務器端硬件配置
寬帶局域網、1M以上寬帶互聯網;
網絡、數據庫、應用服務器:CPU P4 3.0G以上,內存1G以上,硬盤80G以上,10M/100M網卡。
(2)系統服務器端軟件配置
數據庫服務器:Windows Server 2008操作系統、SQL Server 2008。
應用服務器:Windows Server 2008操作系統、.NET Framework 4.0、ASP.NET MVC 2.0、IIS 6.0或更高版本。
(3)客戶端系統配置
IBM PC及其兼容機:CPU P4 2.0G以上,內存256M以上,硬盤40G以上,10M/100M網卡,Windows 2000/2003/NT/XP/Vista/7/8中文操作系統;
瀏覽器: Internet Explorer 8/Chrome/Opera
辦公軟件:MS Office 2000或以上中文版本
3 平臺功能設計
系統主要分為系統模塊和業務模塊兩大類別,分別是對系統進行相關設置以及對扶貧項目信息的處理,共分為六大塊功能。
(1)系統設置模塊:主要負責與系統運行相關的參數的管理,包括用戶管理、角色管理、模塊管理、操作類型、系統參數、操作日志、數據管理。即對該系統信息進行增刪查改的功能模塊。
(2)基本信息模塊:主要用于管理扶貧項目相關的基礎信息,含13個子項目(行政區域、建設性質、投資來源、優先等級、項目狀態、年度設定、招投標管理、合同狀態、項目類別、貧困村基本情況指標、村類別、定點幫扶、建設單位信息),實現對扶貧項目基本信息的處理,錄入、增刪查改等功能。
(3)歷年項目信息模塊:用于記錄歷年的已竣工的項目信息,供用戶查詢。包含歷年項目和自定義項目記錄兩個功能。
(4)扶貧項目模塊:包含項目分類投資、數據批量錄入、申請項目信息、審批項目信息、在建項目信息共五個模塊,實現對于扶貧項目的進程管理。
(5)報表模塊:系統目前可對計劃表、進度表、竣工表和項目記錄表進行查看、打印。用戶可以根據“年度”、“區域”和“項目類型”對項目進行篩選,當沒有任何限定條件時,系統將對所有項目的相關數據進行統計,并生成報表。
(6)地圖模塊:本模塊使用GIS實現提供項目位置信息的顯示,并實現了扶貧項目信息與其地點的相關聯動。
4 平臺實現的關鍵技術
《基于GIS的扶貧項目管理系統》采用了B/S結構設計,在Microsoft公司.NET Framework4.0平臺上使用C#語言進行本系統的開發,采用了ASP.NET MVC2.0框架和Entity Framework(實體框架),數據庫使用Microsoft SQL Server 2008設計。程序開發IDE采用Microsoft Visual Studio 2010。
4.1 系統總體解決方案
系統可以抽象為3層架構,共6個子項目:
(1)Web:系統的表示層,用戶交互在這一層完成。在Web層要完成系統View視圖,控制器,系統樣式,系統通用控件,系統路由,Web系統配置等的設計。
(2)BLL:系統的業務邏輯層,主要完成系統系統業務邏輯的設計。
(3)Model:Model項目下主要有4類文件:App.Config,以Metadata.cs結尾的類文件、DBModel.edmx以及ExtendedDBEntities.cs。
(4)App.Config:系統自動生成,用于存儲實體框架數據庫以及連接字符串。
(5)DBModel.edmx:.edmx 文件是一個 XML 文件,它用于定義概念模型、存儲模型和這些模型之間的映射。
(6)Metadata.cs:MVC中的數據傳遞是由Model中的數據類型來決定的,所以系統的驗證就在MVC的Model層。
4.2 數據庫信息處理
主要實現對于錄入本系統的數據處理,包括查看、增添、刪除、修改。
(1)Controller
Cotroller是控制器類,主要的方法有Index、Edit、Delete、Details
Index:通過查詢頁面,調用BLL中的Get方法獲得一個對象集,再進行反饋。
Edit:數據編輯功能。調用BLL中的Save方法保存在數據庫中進行添加和修改。添加時, Controller獲取頁面的輸入信息,調用BLL的Save方法保存對象。修改數據時,通過Id獲取數據信息,調用BLL中的Save方法保存修改的對象。
Delete:通過頁面傳遞過來的Id調用DeleteObject方法刪除相應的信息。
Details:通過Id調用的Get方法返回一個對象。
(2)BLL
BLL是邏輯類,通過調用數據庫訪問層的類方法處理系統業務邏輯的類。
Get:一個多次重載的函數方法,功能是獲取數據庫相應表中的所有數據,Get(id)是通過數據的Id獲取對應數據。
Save:接收Controller類傳過來的數據對象,再調用實體框架進行更新和保存操作。
DeleteObject:通過Id獲取數據對象,再調用實體框架進行刪除操作。
(3)Model
Model是實體框架根據已有的數據庫和數據表生成相應的對象。其屬性因數據庫的形式不同而不同。通過對實體框架中的Model元數據進行擴展,形成MVC中的頁面驗證機制。
(4)UserAuthorize
主要用于系統調用Controller類的時候對Controller類中的Action進行權限驗證,如果有訪問權限,則執行Action的方法并記錄日志,沒有權限返回提示。
4.3 基于GIS的地圖設計
Map Suite MVC Edition提供了兩種方法,添加的代碼定義Shape File Feature Layer。一個是控制器Controllor的操作中,另一種在視圖頁面中。這里,將使用后者。即使用一個Shapefile文件,它包含了整個世界的數據。有一個現成的Shapefile文件可供我們使用,為地圖定義和添加Shapefile層。代碼放在視圖頁面“Index.cshtml”中。
為地圖創建瀏覽方法后,可以通過拖拽平移地圖,雙擊放大地圖,按住Shift鍵同時用鼠標左鍵繪制一個矩形框來放大矩形框中的內容,或者使用鼠標滾輪進行放大和縮小地圖的功能。
在Map Suite MVC Edition中TextStyle主要用來在地圖中標記項目。每已個Shapefile都有一個對應相關的.dbf文件,并使用TextStyle來實現標記功能。Shapefile包含了地圖中所有位置的名字信息,可以利用這個區域來標注地圖上的城市。
【參考文獻】
[1]黃保翕.陳酉玫,李楊改編.ASP.NET MVC 2開發實戰[M].北京:電子工業出版社,2011.
[2][美]Jeffrey Palermo, Ben Scheirman, Jimmy Boggard,著.姚軍,譯.ASP.NET MVC實戰[M].北京:人民郵電出版社,2010.
[3][美]James W. Cooper.張志華,劉云鵬,等,譯.C#設計模式[M].北京:電子工業出版社,2003.
[4][美]Mark Michaelis,周靖譯.C#本質論[M].2版.人民郵電出版社.
[5]David Flanagan.李強,等,譯.JavaScript權威指南[M].北京:機械工業出版社,2007.
[6]Andrew B. King.楊敏,李明,等,譯.Web站點優化[M].北京:機械工業出版社,2009.
[7]胡超,閆玉寶,等,編著.SQL Server 2008從入門到精通[M].北京:化學工業出版社,2011.
[8][美]Shari Lawrence Pfleeger, [加] Joanne M. Atlee.楊衛東,譯.軟件工程:theory and practice[M]. 北京:人民郵電出版社,2010.
[9]蔣金楠.How ASP.NET MVC Works. http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html[OL].
[責任編輯:楊玉潔]