蔣銀虎,旦敏,李春云
(1.昆明幼兒師范高等??茖W(xué)校,云南昆明 650000;2.昆明市教育科學(xué)研究院,云南昆明 650000)
高校固定資產(chǎn)是保障學(xué)校的教學(xué)、科研、管理等各項(xiàng)活動(dòng)順利開展的物質(zhì)基礎(chǔ)條件[1]。部分高校中,資產(chǎn)的管理仍采用人工手寫記錄入庫(kù),教師對(duì)設(shè)備的使用申請(qǐng)、使用者的轉(zhuǎn)移、歸還仍采用傳統(tǒng)的紙質(zhì)書寫借用申請(qǐng)、借條、使用轉(zhuǎn)讓情況說明等,這樣做以后,不僅效率低、程序多且復(fù)雜,時(shí)常造成了資產(chǎn)管理的混亂,給教師、學(xué)院、部門、資產(chǎn)管理部門帶來了困擾。設(shè)計(jì)與實(shí)現(xiàn)一個(gè)高校的資產(chǎn)管理系統(tǒng),有利于改變傳統(tǒng)的資產(chǎn)管理方式,解決高校在資產(chǎn)管理過程中的問題,實(shí)現(xiàn)資產(chǎn)管理的系統(tǒng)化、信息化,提高了管理水平和工作效率[2]。
以昆明幼兒師范高等??茖W(xué)校的資產(chǎn)管理過程為實(shí)例,使用統(tǒng)一建模語言(UML)對(duì)系統(tǒng)進(jìn)行需求分析與系統(tǒng)設(shè)計(jì),使用ASP.NET 實(shí)現(xiàn)系統(tǒng)開發(fā)、使用SQL Server實(shí)現(xiàn)數(shù)據(jù)庫(kù)構(gòu)建,運(yùn)行于Web上。
在學(xué)校的資產(chǎn)管理過程中,先把資產(chǎn)入庫(kù),入庫(kù)后,根據(jù)部門或?qū)W院的需求將資產(chǎn)進(jìn)行分配,再由實(shí)際使用人向部門或?qū)W院提出使用申請(qǐng),部門或?qū)W院根據(jù)實(shí)際情況來審核實(shí)際使用人的申請(qǐng)。如果使用者出現(xiàn)了崗位調(diào)動(dòng)或其他情況,再將設(shè)備歸還至部門或?qū)W院。
根據(jù)學(xué)校實(shí)際的資產(chǎn)管理過程,設(shè)計(jì)系統(tǒng)用例圖如圖1所示。
圖1 系統(tǒng)用例圖
圖2 系統(tǒng)總體類圖
圖3 系統(tǒng)活動(dòng)圖
資產(chǎn)管理系統(tǒng)中共有3 位參與者:資產(chǎn)處管理人員、學(xué)院部門資產(chǎn)管理人員、資產(chǎn)使用人,這3位參與者是教師用戶參與者的子類,繼承父類的屬性和方法。資產(chǎn)管理人員能夠進(jìn)行資產(chǎn)入庫(kù)并把資產(chǎn)分配至部門或?qū)W院。資產(chǎn)使用人可對(duì)資產(chǎn)提出使用申請(qǐng);學(xué)院部門資產(chǎn)管理人員能夠接收資產(chǎn)處分配的資產(chǎn)并對(duì)資產(chǎn)使用人的申請(qǐng)進(jìn)行審核。
類圖是面向?qū)ο蠓治雠c設(shè)計(jì)方法的重要表現(xiàn)形式,用于描述系統(tǒng)的靜態(tài)模型,每個(gè)類由三個(gè)部分組成:類名、屬性、方法。
資產(chǎn)管理系統(tǒng)由7個(gè)類構(gòu)成,分別是教師用戶類、學(xué)院部門類、學(xué)院部門資產(chǎn)管理人員類、資產(chǎn)處管理人員類、資產(chǎn)使用人員類、資產(chǎn)信息類和資產(chǎn)使用記錄類。部門學(xué)院資產(chǎn)管理人員類、資產(chǎn)處管理人員類、資產(chǎn)使用人員類與教師用戶類之間是繼承關(guān)系;教師用戶類與部門學(xué)院類之間是聚合關(guān)系;部門學(xué)院資產(chǎn)管理人員類、資產(chǎn)處管理人員與資產(chǎn)信息類之間是依賴關(guān)系;資產(chǎn)使用人員類、資產(chǎn)處管理人員類與資產(chǎn)使用記錄類也是依賴關(guān)系;資產(chǎn)使用記錄類與資產(chǎn)信息類是關(guān)聯(lián)關(guān)系。
UML狀態(tài)圖是UML中對(duì)系統(tǒng)的動(dòng)態(tài)進(jìn)行建模的表示方法[3],能夠描述一個(gè)特定對(duì)象的所有可能的狀態(tài)和觸發(fā)狀態(tài)轉(zhuǎn)移的條件[4]。系統(tǒng)中,資產(chǎn)的狀態(tài)是在變化的,主要有4種狀態(tài):“未分配”“分配至部門學(xué)院”“申請(qǐng)中”“使用中”,具體的狀態(tài)變化如下所示:
資產(chǎn)處進(jìn)行資產(chǎn)入庫(kù)操作,入庫(kù)后如果未將資產(chǎn)分配至部門或者學(xué)院則資產(chǎn)的狀態(tài)為“未分配”;把入庫(kù)的資產(chǎn)分配至部門或者學(xué)院,部門或者學(xué)院對(duì)資產(chǎn)進(jìn)行接收審核,如果不屬于部門或者學(xué)院的資產(chǎn)則不接收,由資產(chǎn)處重新進(jìn)行分配;如果屬于部門或者學(xué)院的資產(chǎn)則完成接收,資產(chǎn)狀態(tài)調(diào)整為“分配至學(xué)院”。如果資產(chǎn)狀態(tài)為“分配至學(xué)院”,可由部門或者學(xué)院的教職工對(duì)接收的資產(chǎn)進(jìn)行使用申請(qǐng),申請(qǐng)完成后,資產(chǎn)的狀態(tài)調(diào)整為“申請(qǐng)中”,在該狀態(tài)下,部門或者學(xué)院的其他教職工就不能對(duì)該資產(chǎn)進(jìn)行重復(fù)的使用申請(qǐng)。部門或者學(xué)院對(duì)使用申請(qǐng)進(jìn)行審批,同意使用申請(qǐng)則形成資產(chǎn)使用記錄,把資產(chǎn)的狀態(tài)調(diào)整為“使用中”,不同意使用申請(qǐng)則調(diào)整資產(chǎn)的狀態(tài)為“分配至部門學(xué)院”,可供其他教職工申請(qǐng)使用。
數(shù)據(jù)庫(kù)技術(shù)是一種通過計(jì)算機(jī)技術(shù)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)、管理和處理的技術(shù)[5],通過數(shù)據(jù)庫(kù)技術(shù)能夠?qū)?shù)據(jù)進(jìn)行快速的插入、更新、刪除和檢索。
E-R 圖是設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)的主要表現(xiàn)形式。使用方框來表示實(shí)體,菱形來表示實(shí)體的關(guān)系。E-R圖如圖4所示。圖4是系統(tǒng)的主要E-R圖,描述了數(shù)據(jù)實(shí)體之間的關(guān)系。每個(gè)部門或?qū)W院都有多位教師,因此教師與學(xué)院部門之間是1對(duì)多的關(guān)系。每個(gè)部門或?qū)W院都有多種資產(chǎn),因此,部門或?qū)W院與資產(chǎn)之間是1對(duì)多的關(guān)系。每種資產(chǎn)都可能被多個(gè)教師使用,也就會(huì)產(chǎn)生多條資產(chǎn)使用記錄,因此,資產(chǎn)信息與教師、資產(chǎn)使用信息之間都是1對(duì)多的關(guān)系。每個(gè)資產(chǎn)使用者都會(huì)產(chǎn)生多條資產(chǎn)使用記錄,因此,它們之間存在1對(duì)多的關(guān)系。
圖4 系統(tǒng)E-R圖
表1 學(xué)院部門信息表
表2 教師信息表
表3 資產(chǎn)信息表
表4 資產(chǎn)使用記錄信息表
系統(tǒng)使用ASP.NET(C#) 語言進(jìn)行開發(fā),運(yùn)行在Web上。
資產(chǎn)入庫(kù)時(shí),向數(shù)據(jù)庫(kù)PropertyInfo表中插入一條資產(chǎn)信息,同時(shí)可將該項(xiàng)資產(chǎn)直接分配至部門學(xué)院,并調(diào)整資產(chǎn)的狀態(tài)為“分配至部門學(xué)院”(用數(shù)字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="已完成資產(chǎn)入庫(kù),并且將資分配至部門學(xué)院。"; }
else MessRes.Text="資產(chǎn)入庫(kù)失敗,請(qǐng)檢查數(shù)據(jù)后再試";
資產(chǎn)分配至部門學(xué)院后,當(dāng)資產(chǎn)狀態(tài)為“分配至部門學(xué)院”(用數(shù)字1表示),則該項(xiàng)資產(chǎn)可由部門或?qū)W院教職工申請(qǐng)使用,向數(shù)據(jù)庫(kù)使用記錄表(RecordInfo)中插入一條使用記錄,同時(shí)將資產(chǎn)狀態(tài)調(diào)整為“被申請(qǐng)中”(用數(shù)字2表示),處于該狀態(tài)的資產(chǎn)將不能被其他教職工申請(qǐng)。
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);//資產(chǎn)使用人向部門學(xué)院申請(qǐng)資產(chǎn),產(chǎn)生使用記錄。
if(i >0) { string propertyInfoStatus=string.Format("update PropertyInfo set Status={0} where PropertyID='{1}'",2,propertyID); //將資產(chǎn)信息的狀態(tài)由“分配至部門學(xué)院”調(diào)整為“申請(qǐng)中”。
if (SQLDB.ExecuteSQL(connectionString, property-InfoStatus)>0)
{ MessRes.Text = "已向部門學(xué)院申請(qǐng)了該項(xiàng)資產(chǎn),等待審核。"; }
else MessRes.Text = "申請(qǐng)失敗,請(qǐng)檢查數(shù)據(jù)后再試"; }
部門學(xué)院的教職工對(duì)資產(chǎn)進(jìn)行使用申請(qǐng)后,申請(qǐng)者所屬部門學(xué)院的資產(chǎn)管理人員進(jìn)行審核,如果審核通過,則將資產(chǎn)狀態(tài)設(shè)置為“已借出”(用數(shù)字3表示),否則將資產(chǎn)狀態(tài)設(shè)置為“已分配至部門學(xué)院”(用數(shù)字1表示),可供其他教職工重新申請(qǐng)使用。
string applyForApprovalInfo = string.Format("update RecordInfo set applyForApproval={0} where RecordID={1}",applyForApproval,recordID);
int i=SQLDB.ExecuteSQL(connectionString,apply-ForApprovalInfo);//部門學(xué)院資產(chǎn)管理人員對(duì)使用人的申請(qǐng)進(jìn)行審核,如果同意applyForApproval則為1,不同意則為0。
if(i >0){
if (applyForApproval==1) { propertyStatus = 3; }//
當(dāng)部門學(xué)院資產(chǎn)管理員同意資產(chǎn)使用申請(qǐng)時(shí),將資產(chǎn)狀態(tài)設(shè)置為“已借出”
else {propertyStatus=1;}//當(dāng)部門學(xué)院資產(chǎn)管理員不同意資產(chǎn)使用申請(qǐng)時(shí),將資產(chǎn)狀態(tài)設(shè)置為“已分配至部門學(xué)院”
string upPropertyStatus = string.Format("update PropertyInfo set [Status]={0} where PropertyID='{1}'",propertyStatus, propertyID); //將資產(chǎn)信息的狀態(tài)調(diào)整為“已借出”或是“已分配至部門學(xué)院”。
if (SQLDB.ExecuteSQL(connectionString, upPropertyStatus)>0)
{ MessRes.Text = "已審核該項(xiàng)申請(qǐng)并更新資產(chǎn)狀態(tài)。"; }
else MessRes.Text="更新資產(chǎn)狀態(tài)失敗,請(qǐng)稍后再試"; }
else MessRes.Text="審核失敗,請(qǐng)稍后再試";
文章以昆明幼兒師范高等??茖W(xué)校為例,分析、設(shè)計(jì)與實(shí)現(xiàn)了高校資產(chǎn)管理系統(tǒng),在需求分析階段使用用例圖描述系統(tǒng)的功能模型;在系統(tǒng)的設(shè)計(jì)階段使用類圖描述了系統(tǒng)存在的主要類和它們之間存在的關(guān)系;使用狀態(tài)圖描述資產(chǎn)管理的主要業(yè)務(wù)流程和資產(chǎn)狀態(tài)的遷移和變化;最后,使用SQL Server實(shí)現(xiàn)了數(shù)據(jù)庫(kù),使用ASP.NET完成了系統(tǒng)的開發(fā)并運(yùn)行于Web上。通過對(duì)高校資產(chǎn)管理系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn),能夠幫助學(xué)校改變傳統(tǒng)的管理方法,提高資產(chǎn)管理的準(zhǔn)確性和規(guī)范性,進(jìn)一步推進(jìn)學(xué)校的信息化發(fā)展。