蔣銀虎,旦敏,李春云
(1.昆明幼兒師范高等專科學校,云南昆明 650000;2.昆明市教育科學研究院,云南昆明 650000)
高校固定資產是保障學校的教學、科研、管理等各項活動順利開展的物質基礎條件[1]。部分高校中,資產的管理仍采用人工手寫記錄入庫,教師對設備的使用申請、使用者的轉移、歸還仍采用傳統的紙質書寫借用申請、借條、使用轉讓情況說明等,這樣做以后,不僅效率低、程序多且復雜,時常造成了資產管理的混亂,給教師、學院、部門、資產管理部門帶來了困擾。設計與實現一個高校的資產管理系統,有利于改變傳統的資產管理方式,解決高校在資產管理過程中的問題,實現資產管理的系統化、信息化,提高了管理水平和工作效率[2]。
以昆明幼兒師范高等專科學校的資產管理過程為實例,使用統一建模語言(UML)對系統進行需求分析與系統設計,使用ASP.NET 實現系統開發、使用SQL Server實現數據庫構建,運行于Web上。
在學校的資產管理過程中,先把資產入庫,入庫后,根據部門或學院的需求將資產進行分配,再由實際使用人向部門或學院提出使用申請,部門或學院根據實際情況來審核實際使用人的申請。如果使用者出現了崗位調動或其他情況,再將設備歸還至部門或學院。
根據學校實際的資產管理過程,設計系統用例圖如圖1所示。

圖1 系統用例圖

圖2 系統總體類圖

圖3 系統活動圖
資產管理系統中共有3 位參與者:資產處管理人員、學院部門資產管理人員、資產使用人,這3位參與者是教師用戶參與者的子類,繼承父類的屬性和方法。資產管理人員能夠進行資產入庫并把資產分配至部門或學院。資產使用人可對資產提出使用申請;學院部門資產管理人員能夠接收資產處分配的資產并對資產使用人的申請進行審核。
類圖是面向對象分析與設計方法的重要表現形式,用于描述系統的靜態模型,每個類由三個部分組成:類名、屬性、方法。
資產管理系統由7個類構成,分別是教師用戶類、學院部門類、學院部門資產管理人員類、資產處管理人員類、資產使用人員類、資產信息類和資產使用記錄類。部門學院資產管理人員類、資產處管理人員類、資產使用人員類與教師用戶類之間是繼承關系;教師用戶類與部門學院類之間是聚合關系;部門學院資產管理人員類、資產處管理人員與資產信息類之間是依賴關系;資產使用人員類、資產處管理人員類與資產使用記錄類也是依賴關系;資產使用記錄類與資產信息類是關聯關系。
UML狀態圖是UML中對系統的動態進行建模的表示方法[3],能夠描述一個特定對象的所有可能的狀態和觸發狀態轉移的條件[4]。系統中,資產的狀態是在變化的,主要有4種狀態:“未分配”“分配至部門學院”“申請中”“使用中”,具體的狀態變化如下所示:
資產處進行資產入庫操作,入庫后如果未將資產分配至部門或者學院則資產的狀態為“未分配”;把入庫的資產分配至部門或者學院,部門或者學院對資產進行接收審核,如果不屬于部門或者學院的資產則不接收,由資產處重新進行分配;如果屬于部門或者學院的資產則完成接收,資產狀態調整為“分配至學院”。如果資產狀態為“分配至學院”,可由部門或者學院的教職工對接收的資產進行使用申請,申請完成后,資產的狀態調整為“申請中”,在該狀態下,部門或者學院的其他教職工就不能對該資產進行重復的使用申請。部門或者學院對使用申請進行審批,同意使用申請則形成資產使用記錄,把資產的狀態調整為“使用中”,不同意使用申請則調整資產的狀態為“分配至部門學院”,可供其他教職工申請使用。
數據庫技術是一種通過計算機技術實現數據存儲、管理和處理的技術[5],通過數據庫技術能夠對數據進行快速的插入、更新、刪除和檢索。
E-R 圖是設計關系型數據庫的主要表現形式。使用方框來表示實體,菱形來表示實體的關系。E-R圖如圖4所示。圖4是系統的主要E-R圖,描述了數據實體之間的關系。每個部門或學院都有多位教師,因此教師與學院部門之間是1對多的關系。每個部門或學院都有多種資產,因此,部門或學院與資產之間是1對多的關系。每種資產都可能被多個教師使用,也就會產生多條資產使用記錄,因此,資產信息與教師、資產使用信息之間都是1對多的關系。每個資產使用者都會產生多條資產使用記錄,因此,它們之間存在1對多的關系。

圖4 系統E-R圖

表1 學院部門信息表

表2 教師信息表

表3 資產信息表

表4 資產使用記錄信息表
系統使用ASP.NET(C#) 語言進行開發,運行在Web上。
資產入庫時,向數據庫PropertyInfo表中插入一條資產信息,同時可將該項資產直接分配至部門學院,并調整資產的狀態為“分配至部門學院”(用數字1表示)。
string PropertyInfoAdd = string.Format("insert into[PropertyInfo]values('{0}','{1}','{2}','{3}',{4},'{5}',{6})",propertyID,propertyName,collegeID,useTo,price,notes,1);
int i = SQLDB.ExecuteSQL(connectionString, PropertyInfoAdd);
if(i>0){MessRes.Text="已完成資產入庫,并且將資分配至部門學院。"; }
else MessRes.Text="資產入庫失敗,請檢查數據后再試";
資產分配至部門學院后,當資產狀態為“分配至部門學院”(用數字1表示),則該項資產可由部門或學院教職工申請使用,向數據庫使用記錄表(RecordInfo)中插入一條使用記錄,同時將資產狀態調整為“被申請中”(用數字2表示),處于該狀態的資產將不能被其他教職工申請。
string recordInfoAdd = string.Format("insert into RecordInfo](TeacherID,PropertyID,BorrowedReason,BorrowedTime) values({0}, {1}, '{2}', GETDATE())", teacherID,propertyID,borrowedReason);
int i = SQLDB.ExecuteSQL(connectionString, recordInfoAdd);//資產使用人向部門學院申請資產,產生使用記錄。
if(i >0) { string propertyInfoStatus=string.Format("update PropertyInfo set Status={0} where PropertyID='{1}'",2,propertyID); //將資產信息的狀態由“分配至部門學院”調整為“申請中”。
if (SQLDB.ExecuteSQL(connectionString, property-InfoStatus)>0)
{ MessRes.Text = "已向部門學院申請了該項資產,等待審核。"; }
else MessRes.Text = "申請失敗,請檢查數據后再試"; }
部門學院的教職工對資產進行使用申請后,申請者所屬部門學院的資產管理人員進行審核,如果審核通過,則將資產狀態設置為“已借出”(用數字3表示),否則將資產狀態設置為“已分配至部門學院”(用數字1表示),可供其他教職工重新申請使用。
string applyForApprovalInfo = string.Format("update RecordInfo set applyForApproval={0} where RecordID={1}",applyForApproval,recordID);
int i=SQLDB.ExecuteSQL(connectionString,apply-ForApprovalInfo);//部門學院資產管理人員對使用人的申請進行審核,如果同意applyForApproval則為1,不同意則為0。
if(i >0){
if (applyForApproval==1) { propertyStatus = 3; }//
當部門學院資產管理員同意資產使用申請時,將資產狀態設置為“已借出”
else {propertyStatus=1;}//當部門學院資產管理員不同意資產使用申請時,將資產狀態設置為“已分配至部門學院”
string upPropertyStatus = string.Format("update PropertyInfo set [Status]={0} where PropertyID='{1}'",propertyStatus, propertyID); //將資產信息的狀態調整為“已借出”或是“已分配至部門學院”。
if (SQLDB.ExecuteSQL(connectionString, upPropertyStatus)>0)
{ MessRes.Text = "已審核該項申請并更新資產狀態。"; }
else MessRes.Text="更新資產狀態失敗,請稍后再試"; }
else MessRes.Text="審核失敗,請稍后再試";
文章以昆明幼兒師范高等專科學校為例,分析、設計與實現了高校資產管理系統,在需求分析階段使用用例圖描述系統的功能模型;在系統的設計階段使用類圖描述了系統存在的主要類和它們之間存在的關系;使用狀態圖描述資產管理的主要業務流程和資產狀態的遷移和變化;最后,使用SQL Server實現了數據庫,使用ASP.NET完成了系統的開發并運行于Web上。通過對高校資產管理系統的分析、設計與實現,能夠幫助學校改變傳統的管理方法,提高資產管理的準確性和規范性,進一步推進學校的信息化發展。