王鵬躍



摘要:在信息化、無紙化就業(yè)見習管理背景下,結合用戶需求設計并實現了基于ASP.NET技術的就業(yè)見習管理信息系統(tǒng),提供了一種B/S模式下的三層架構系統(tǒng)解決方案。
關鍵詞:信息化;無紙化;三層結構;ASP.NET技術;B/S模式
DOIDOI:10.11907/rjdk.161522
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2016)009007504
基金項目基金項目:
作者簡介作者簡介:王鵬躍(1990-),男,陜西西安人,西安工程大學計算機科學學院碩士研究生,研究方向為信息系統(tǒng)設計與軟件開發(fā)。
0引言
就業(yè)見習是指政府有關部門對離校后未就業(yè)畢業(yè)生到企事業(yè)單位實踐訓練的就業(yè)扶持措施,這項措施為高校畢業(yè)生由校園走向社會帶來了良好的過渡效果。就業(yè)見習信息管理隨著時間的累積產生了數量龐大的繁雜數據,因其格式不一等原因,很大程度上降低了就業(yè)見習管理效率。設計并實現一個就業(yè)見習管理信息系統(tǒng),通過信息的規(guī)范管理、快速查詢等來實現就業(yè)見習管理的信息化、自動化和無紙化。
1相關技術介紹
1.1ASP.NET及其三層架構
ASP.NET是微軟推出的網絡編程開發(fā)框架,它是.NET框架中的重要成員。ASP.NET 采用結構化的網頁,為了將邏輯代碼和表現代碼分開而引入了Code Behind技術,通過使用這項技術,可以使邏輯代碼和表現代碼互不影響。因此,利用ASP.NET可以方便快速地開發(fā)功能強大的網絡應用程序[1]。
ASP.NET的三層架構,層與層互相獨立,不管哪一層發(fā)生變化,只需更改該層中的代碼即可,提高了代碼的可讀性和功能的擴展性,有利于項目開發(fā)后的變更、維護和升級,在各種項目中應用廣泛。三層架構自底向上分別是數據訪問層(DAL)、業(yè)務邏輯層(BLL)、表示層(PL)。
數據訪問層(DAL):對數據進行增加、刪除、修改、査閱、存儲等操作。
業(yè)務邏輯層(BLL):在數據訪問層和表示層之間起重要的銜接作用,提供所有與數據庫有關的操作。
表示層(PL):位于最外層展現界面。用于用戶輸入數據、顯示輸出結果等操作。
在三層構架中,數據訪問層通過業(yè)務邏輯層來連接及操作,表示層給中間的業(yè)務邏輯層傳遞參數,并接受業(yè)務邏輯層參數[2]。
1.2ADO.NET
無論是簡單文件或相關數據庫亦或是其它存儲類型都需要查詢和更新數據。服務框架中的ActiveX Data Object+(ADO.NET)類庫提供數據的簡單訪問功能,也就是使用相對容易的類來描述關系數據庫中的表、列、行。ADO.NET是一組用于和數據源進行交互的面向對象類庫。數據源可以是數據庫、文本文件、文件或者其它新的數據源。不同的數據源使用與之相應的協(xié)議,如ODBC協(xié)議、OLE DB協(xié)議。這些數據源都可以通過ADO.NET類庫進行數據交互[2]。
1.3瀏覽器/服務器(Browser/Server,簡稱B/S)模式
B/S模式是一種以Web技術為基礎的系統(tǒng)平臺模式,它把傳統(tǒng)C/S模式中的服務器分解為一個數據庫服務器與一個或多個應用服務器(Web 服務器),從而構成一個三層結構的客戶服務器體系,如圖1所示。在這種模式下,用戶端只需一個通用瀏覽器,如Chrome或Explore,便代替了各種應用軟件,瀏覽器和Web服務器之間通過TCP/IP通訊協(xié)議進行連接。瀏覽器發(fā)出數據請求,由Web服務器向后臺取出數據并計算,并將計算結果返回給瀏覽器[1]。
2系統(tǒng)需求及用例分析
就業(yè)見習系統(tǒng)用戶有3類,分別是畢業(yè)生用戶、企事業(yè)單位用戶、政府就業(yè)見習管理人員用戶。
(1)畢業(yè)生用戶需求及用例分析。
畢業(yè)生在就業(yè)見習系統(tǒng)中注冊基本信息后,可以登錄系統(tǒng)進而查看見習崗位信息以及企事業(yè)單位發(fā)送來的見習邀請。
畢業(yè)生用戶用例分析如圖2所示。
(2)企事業(yè)單位用戶需求及用例分析。
企事業(yè)單位用戶(以下稱為見習基地用戶)在就業(yè)見習系統(tǒng)中注冊基本信息并通過審核后,可以發(fā)布見習崗位(見習崗位同樣需要審核)以便申報畢業(yè)生見習,通過審核后便可前往見習基地進行就業(yè)見習。見習基地需為見習生申報保險和補貼。另外,見習基地用戶還可以邀請未申報的畢業(yè)生前來見習。見習基地用戶用例分析如圖3所示。
(3)政府就業(yè)見習管理人員用戶需求及用例分析。
政府就業(yè)見習管理人員用戶(以下稱就業(yè)見習管理用戶)登錄系統(tǒng)后,對見習基地用戶注冊的基本信息、發(fā)布的崗位信息、申報的畢業(yè)人員信息以及保險和補貼信息進行審核。同時,還需對畢業(yè)生信息、見習基地信息和崗位信息進行管理,對見習畢業(yè)生、見習基地、保險、補貼等信息進行統(tǒng)計分析。就業(yè)見習管理用戶用例分析如圖4所示。
3系統(tǒng)設計
3.1系統(tǒng)架構設計
就業(yè)見習管理信息系統(tǒng)采用B/S模式,省去了畢業(yè)生用戶和見習基地用戶重復搭建客戶端環(huán)境的麻煩,并在Web服務器端采用了ASP.NET的三層架構,在提高代碼重用率的基礎上更好地適應了高內聚低耦合的設計原則。系統(tǒng)整體架構如圖5所示。
為了提高服務器端三層架構之間的數據交互效率,本文根據面向對象的設計方法使用了業(yè)務實體類和通用類庫來封裝三層之間的數據交流,從而提高數據的隱秘性并方便系統(tǒng)開發(fā),其結構如圖6所示。
3.2系統(tǒng)功能設計
根據系統(tǒng)需求分析及系統(tǒng)架構設計,就業(yè)見習系統(tǒng)總體功能模塊設計如圖7所示。
3.2.1申報模塊
申報模塊包括發(fā)布崗位功能、申報畢業(yè)生見習功能、申報保險功能、申請補貼功能,其功能流程如圖8所示。
3.2.2審核模塊
審核模塊包括見習基地審核功能、畢業(yè)生見習申報審核功能、保險申報審核功能以及補貼申請審核功能,每個功能都可以見習基地名稱作為條件進行數據篩選,從而方便就業(yè)見習管理用戶進行信息查詢并審核。
3.2.3管理信息模塊
管理信息模塊包括學生信息、見習基地信息、崗位信息、保險信息以及補貼信息的查看編輯功能,每個功能載入時都會進行用戶類型判斷,從而限制用戶所能查看或編輯的信息范圍。例如畢業(yè)生用戶只能查看自己的信息,就業(yè)見習管理用戶則可查看所有注冊了的學生信息。
3.2.4統(tǒng)計分析模塊
統(tǒng)計分析模塊在為就業(yè)見習管理用戶統(tǒng)計歷史數據的同時也為相關決策提供數據支持。該模塊主要包括見習畢業(yè)生統(tǒng)計功能、見習基地統(tǒng)計功能、保險信息統(tǒng)計功能、補貼信息統(tǒng)計功能。其中因保險信息與補貼信息的統(tǒng)計分析數據會涉及到金錢,所以相關數據格式均保留到小數點后兩位。
3.3系統(tǒng)數據庫設計
根據以上需求分析及系統(tǒng)功能設計,通過UML建立數據庫模型,主要類的類圖如圖9所示。
由于每個類的屬性字段過多,這里僅列出重要的屬性字段。有了類圖便可以設計相應的數據庫表,包括用戶信息表、畢業(yè)生信息表、見習基地信息表、見習崗位信息表、保險信息表、補貼信息表。
4系統(tǒng)實現
4.1實現環(huán)境
操作系統(tǒng):Windows 10專業(yè)版,開發(fā)工具:Microsoft Visual Studio 2013,Web服務器:IIS Express,數據庫:SQL Server 2008R2。
4.2見習基地用戶發(fā)布崗位功能實現
4.2.1表現層實現
就業(yè)見習系統(tǒng)中崗位發(fā)布功能的人機交互界面由aspx文件結合css 層疊樣式表實現,使用JavaScript進行前臺數據驗證。
4.2.2業(yè)務邏輯層實現
見習基地用戶一旦確認申請發(fā)布崗位,系統(tǒng)后臺便會將用戶所輸入的信息封裝進崗位信息業(yè)務實體類的一個實例對象中,再以參數的形式傳遞到系統(tǒng)業(yè)務邏輯層進行相關業(yè)務操作,例如在插入數據前檢查崗位名稱是否重復等。在業(yè)務邏輯執(zhí)行完畢后再調用數據訪問層進行數據插入操作,相關代碼如下:
int AddBiaoShi = 0;
//創(chuàng)建崗位信息業(yè)務實體類實例
XABYS.Model.JianXi_JiDiFaBuGangWei FaBuGangWeimod =
new Model.JianXi_JiDiFaBuGangWei();
//檢查數據庫表中是否已經存在擁有該崗位名稱的崗位信息
DataTable dt = FaBuGangWeibll.GetList("_DanWeiMingCheng = " + (string)RequestSession.GetSessionUser().Name + " AND _GangWeiMingCheng = " + this.MingCheng.Value + " AND _GangWeiShiJian = " + Convert.ToInt32(DateTime.Now.ToString("yyyy"))).Tables[0];
//判斷是否符合添加條件
if (dt == null || dt.Rows.Count == 0)
{//符合條件
//將就業(yè)見習用戶所填寫的崗位信息封裝進崗位信息業(yè)務實體類的實例中
FaBuGangWeimod._JiDiID = JiDibll.SelectJiDiID(
(string)RequestSession.GetSessionUser().Name);
FaBuGangWeimod._DanWeiMingCheng = (string)RequestSession.GetSessionUser().Name;
FaBuGangWeimod._DanWeiQuXian = JiDibll.SelectJiDiDanWeiQuXian(
(string)RequestSession.GetSessionUser().Name);
FaBuGangWeimod._GangWeiMingCheng = this.MingCheng.Value;
FaBuGangWeimod._ZhuanYeXuQiu = this.ZhuanYe.Value;
FaBuGangWeimod._ZhaoShouRenShu = this.RenShu.Value;
FaBuGangWeimod._SuoShuHangYe = JiDimod._SuoShuHangYe;
FaBuGangWeimod._DanWeiXingZhi = JiDimod._DanWeiXingZhi;
FaBuGangWeimod._GangWeiMiaoShu = this.MiaoShu.Value;
FaBuGangWeimod._BeiZhu = this.BeiZhu.Value;
FaBuGangWeimod._GangWeiShiJian = Convert.ToInt32(
DateTime.Now.ToString("yyyy"));
FaBuGangWeimod._GangWeiZhuangTai = "未審核".Trim();
//在業(yè)務邏輯層調用添加崗位信息的方法以崗位信息實體類實例作為參數
//從中最終調用數據訪問層的添加崗位信息方法插入數據
AddBiaoShi = FaBuGangWeibll.Add(FaBuGangWeimod);
//插入成功AddBiaoShi > 0 ;插入失敗AddBiaoShi = 0
return AddBiaoShi;}
else {
//不符合條件
//不符合條件,則AddBiaoShi < 0
AddBiaoShi = -1;
return AddBiaoShi;}
public int Add(XABYS.Model.JianXi_JiDiGangWei model){
//調用數據訪問層的添加崗位信息的方法
return dal.Add(model);}
4.2.3數據訪問層實現
數據訪問層在被業(yè)務邏輯層調用后,首先會將崗位信息實例對象拆分成單個數據并對應數據庫表中相應的字段,完成SQL語句的拼接,接著使用DbHelperSQL等通用類庫中早已封裝好的ADO.NET類的實例進行數據庫訪問及數據插入操作,完成數據庫服務器崗位信息的存儲,相關代碼如下:
public int Add(XABYS.Model.JianXi_JiDiGangWei model){
//SQL語句的拼接
StringBuilder strSql = new StringBuilder();
trSql.Append("insert into Tb_JianXiGangWei("); strSql.Append("_JiDiID,_DanWeiMingCheng,_DanWeiQuXian,_GangWeiMingCheng,_Zh aoShouRenShu,_ZhuanYeXuQiu,_ShiFouQuanZhi,_YouWuYeBan,_JianXiDiDian,_BeiZhu, _GangWeiShiJian,_YiJianXiRenShu,_GangWeiZhuangTai,_ShenHeRen,_SHenHeShiJian) ");
……
SqlParameter[] parameters = {
new SqlParameter("@_JiDiID",SqlDbType.Int,4),
……
new SqlParameter("@_SHenHeShiJian",SqlDbType.NVarChar,100)};
parameters[0].Value = model._JiDiID;
……
//以ADO.NET的方式訪問數據庫
object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
//返回數據插入的結果
if (obj == null)
{return 0;}
else
{return Convert.ToInt32(obj);}}
5結語
本就業(yè)見習系統(tǒng)已經在某市人才中心應用,使用效果表明:系統(tǒng)減少了就業(yè)見習管理工作人員的工作量,對畢業(yè)生、就業(yè)見習基地等信息的管理質量顯著提高。系統(tǒng)統(tǒng)計分析功能可為人才中心各部門的業(yè)務決策提供一定的數據支持。基于ASP.NET就業(yè)見習管理信息系統(tǒng)在信息化、自動化、無紙化方面取得了良好效果。
參考文獻參考文獻:
[1]唐偉.基于.NET的管理信息系統(tǒng)設計及開發(fā)技術研究[D].南京:東南大學,2005.
[2]梁國平.基于ASP.NET成人教育教務管理系統(tǒng)的設計與實現[D].上海:復旦大學,2013.
[3]陸瑋.高校畢業(yè)生就業(yè)信息管理系統(tǒng)的分析與設計[D].昆明:云南大學,2013.
[4]李娟娟.基于B_S的庫存管理信息系統(tǒng)的研究和開發(fā)[D].西安:西北工業(yè)大學,2005.
[5]黃剛,趙校.B_S和C_S模式在MIS中的比較[J].鐵路計算機應用,2004,13(4):5051.
責任編輯(責任編輯:杜能鋼)