張鵬
【摘要】協同工作是現代組織行為的基本形態,協同軟件作為IT架構平臺,能幫助高校內各部門步調一致的執行各項管理活動。根據科研及教學管理的具體流程,基于B/S模式設計,使用Struts框架并部署于Tomcat服務器設計并實現了Web協同科教管理系統。系統采用群件技術管理工作流,允許系統用戶在線協作,將工作流管理模式由先工作再記錄改進為邊工作邊記錄,提高了管理效率。
【關鍵詞】Web協同系統;科教管理;工作流
1.Web協同介紹
協同工作是現代組織行為的基本形態,單位對信息化進程的規劃、切入點選擇和價值追求越來越客觀和務實,協同軟件的特性符合這些客觀需求。協同軟件即協同管理系統(Collaborative Management System,CMS),已成為最基礎的IT架構平臺,各種應用軟件越來越多的在平臺上開發,從而成為高校應用的樞紐。協同泛指組織中多人共同完成同一或多個事務的行為方式和過程。協同軟件是指能幫助高校各個職能部門各個員工,圍繞統一的目標,步調一致的執行各項管理活動、完成各項管理任務,最終實現高校目標的管理軟件系統。協同軟件的特征和功能包括:基于統一的管理集成平臺,涵蓋高校管理的主要職能,至少包括目標計劃任務管理、工作流程管理、人力資源管理、財務管理、客戶管理、知識管理。應該可擴展,支持項目管理、客戶關系管理、設備資產管理等;系統整體是以實現高校的目標為目標;擁有立體的網絡化的溝通和互動系統;目標管理是系統的大腦,所有業務應用,比如人員考核、任務執行,項目管理,銷售活動,成本管理,客戶服務等均應圍繞目標展開;工作流系統必須和業務系統融合在一起。工作流程是系統的神經,貫穿于業務系統的每一個末梢。工作流程驅動不同崗位、不同個體、不同部門、不同業務之間的協同,實現業務運行的自動化。
目前市場上的協同管理軟件主要分為:(1)傳統協同管理軟件,在傳統OA軟件基礎上發展起來,關注人員的協同,如視頻會議、在線聊天等。其作用只是提高人員的溝通效率,但是對高校的作業流程沒有改變。(2)應用協同管理軟件。融入了流程的概念,同時包含人力資源、客戶管理、財務管理等等各個方面。優點是自成體系,模塊間集成度高,而缺點則是開放度不夠,不能充分利用高校已有軟件的優勢。(3)平臺化協同管理軟件。主要集中在工作流和應用集成,利用平臺本身的優勢,充分發揮現有專業軟件的力量,利用現代化的移動辦公設備擴展高校協同的空間。
高校各種應用系統之間缺乏有效的關聯,并且傳統軟件大多專注于對單個或局部資源的管理,而缺乏有效的平臺對高校的各種資源進行充分整合。而協同應用的重點在于提供一個統一的管理平臺,其先進的IT應用系統成為單位所需的基礎應用軟件。
2.系統分析
(1)工作流管理
工作流(Workflow)管理針對日常工作中具有獨立程序的活動而提出,其目的是通過將工作分解為定義良好的任務、角色、按照一定的規則和過程來執行這些任務并對它們進行監控,達到提高辦事效率、降低工作成本、提高高校競爭力的目的。工作流管理是一類能夠完全或者部分由計算機自動執行的業務過程,在此過程中,文檔、信息或任務按照預定的規則傳遞,高校管理人員與應用軟件之間相互協調,以實現高校業務流程所要達到的整體目標。工作流管理系統是一個軟件系統,它完成工作流的定義和管理,并按照預先定義好的工作邏輯完成工作流實例的執行。協同系統是一項綜合性科學技術,它涉及到系統科學,行為科學,信息科學等,是一門交叉性的綜合學科。關鍵技術主要包括計算機網絡技術,數據庫與數據庫管理技術,工作流技術,工作流技術是協同系統的核心技術。
(2)科教系統的工作流分析
針對科研工作流及教學工作流這兩個主要的工作流進行設計,確定學生、教師和管理員3種角色的協同配合,實現基本意義上的協同系統。教學工作流如圖1所示,科研工作流如圖2所示。
圖1 教學模塊中的工作流
圖2 科研工作流
圖3 Web協同科教管理系統功能模塊圖
(3)科教系統的功能分析
科教管理系統按模塊劃分為:教學模塊實現課程管理及日常作業管理;科研模塊實現科研項目申報管理;管理模塊實現用戶管理及課程管理;論壇模塊實現不同用戶論壇交流;通信模塊實現系統內用戶信息傳遞及工作流群件技術。系統的用戶分為學生、教師及管理員。學生可以選定課程、查看作業、提交作業、查看評分、論壇功能及站內通信。教師能夠開設課程、發布作業、批改提交作業、錄入學生成績、申報科研項目、申報項目查看、復審項目(需管理員指定才有此功能)、論壇功能及站內通信。管理員則擁有用戶管理、發布課程、發布科研項目、項目初審、項目終審、論壇管理及站內通信等功能。系統功能模塊圖如圖3所示。
3.系統設計
(1)工作流管理模式
協同系統的核心技術就是工作流技術,幾乎所有的業務流程都是工作流,每一項工作以流程的形式,由發起者發起流程,經過本部門及其他部門的處理,最終到達流程的終點。工作流的目標就是要協調組成工作流的四元素,即人員、資源、事件、狀態,推動工作流的發生、發展、完成,實現全過程監控。工作流管理有3種實現模式,基于郵件、基于共享數據庫和基于郵件和共享數據庫結合模式(即群件模式)。基于郵件的工作流管理應用是通過郵件將數據表單從一個人郵箱傳送到另一個人郵箱,形式簡單卻無法實行監控,不能隨時掌握工作流的動態。基于共享數據庫的工作流管理應用可以克服基于郵件方式的缺點,但缺乏信息通訊機制,無法主動通知有關人員進行下一步的工作。基于郵件和共享數據庫結合模式(即群件模式)的工作流管理應用結合了上述二者的優點,通過數據庫管理工作流信息、通過電子郵件推動工作流程,即所謂的“跟蹤—通知”模型。通過系統設計,Web協同科教管理系統采用群件模式來管理工作流,采用系統內部站內信來代替郵件。
(2)技術實現方案
Web協同科教管理系統采用B/S(Browser/Server,瀏覽器/服務器端)模式、Java Web的Struts框架設計開發,數據庫采用Microsoft SQL Server 2008,使用JDBC數據庫連接技術,采用Apache Tomcat作為Web服務器,實現基于工作流管理的Web協同系統。Struts采用MVC(Model-View-Controller,模型—視圖—控制器)設計模式,核心是一個彈性的控制層。Struts有一組相互協作的類(組件)、Serlvet以及JSP tag lib組成。Struts繼承了MVC的各項特性,并根據J2EE的特點,做了相應的變化與擴展。
4.系統實現
(1)表現層的實現
系統采用B/S模式,網頁擔負了用戶與系統交互的責任,用戶接口由網頁實現,對應MVC設計模式中View(視圖)。系統前臺網頁主要采用JSP+HTML編寫,結合使用Struts標簽庫中的
(2)業務邏輯層的實現
系統所有的用戶請求都由業務邏輯層響vv應、判斷、并返回用戶所需結果,它也是連接表現層和持久層的橋梁。位于中間的業務邏輯層對應著MVC模式的Controllor(控制器)。在Struts中,所有的表單數據由繼承Struts中org.apache.struts.action.ActionForm類的ActionForm進行接收,并轉向系統中負責各個邏輯判斷轉發的Action,最后由Action指定返回的頁面,并傳遞用戶所需數據。com.bysj.actionform包中是系統所有接收表達提交的Actionform類,com.bysj.struts.action包中是所有負責對用戶請求進行判斷的Action類,com.bysj.struts包是有關國際化文件,系統編碼控制器及session監聽器代碼。登錄模塊由LoginActionForm負責對用戶填寫的登錄表單進行數據收集,并提交給LoginAction對持久層用戶數據表進行驗證,若匹配則登錄成功,否則失敗。退出登錄由LogoutAction實現,調用HttpSession中的invalidate()方法注銷session所有信息。教學模塊中所有表單數據均提交到CourseActionForm進行收集。教學模塊的業務邏輯由兩個Action實現,分別是CourseAction類及HomeWorkAction類負責業務邏輯的執行,并返回用戶結果。CourseAction實現管理員發布課程,教師開設課程,學生選擇課程這一業務流程,以及教師錄入課程成績,學生查看課程成績業務流程。HomeWorkAction實現教師發布作業,學生查看并提交作業,教師批改作業,學生查看作業成績這一業務流程。CourseAction、HomeWorkAction及后述各模塊Action均繼承Struts中DispatchAction類,可以實現對多個用戶請求響應,執行業務邏輯,并進行轉發。科研模塊中所有表單數據均提交給ProjectActionForm進行收集,ProjectAction進行所有用戶相關請求的處理。ProjectAction實現管理員發布科研項目,教師查看并申報科研項目,管理員初審項目并指派復審老師,復審老師進行復審并給出復審意見及評分,通過的申報由管理員進行終審,教師查看最終申報結果這一工作流程。管理模塊主要實現管理員對系統中用戶及課程發布進行管理。主要有學生教師用戶記錄查詢,增加,修改,刪除,并開設課程。管理模塊中所有業務邏輯均由ManagerAction類實現。論壇模塊是實現學生之間,學生與老師之間交流的模塊,實現管理員針對課程發布討論區,用戶選擇相應討論區發布主題,并可回復關注主題。論壇模塊主題,回復等表單內容提交后由FourmActionForm進行收集,業務邏輯功能由FourmAction完成。通信模塊實現了系統內在線用戶互相通信,也支持離線發送。并且該模塊實現了工作流管理的郵件通知,工作流程中每發出一項活動系統均會自動發信至相關人員。通信模塊頁面表單數據提交至MessageActionForm進行收集,業務邏輯功能由MessageAction完成,實現用戶發信,收信,系統發信等功能。
(3)持久層的實現
持久層把數據保存到可掉電式存儲設備中供將來使用,數據持久化是將內存中的數據保存到磁盤上加以固化,過程大多通過各種關系數據庫來完成。持久層對應MVC模式里的Model(模型),系統采用SQL Server 2008作為系統持久層。采用JDBC(Java Data Base Connectivity,Java數據庫連接)創建關系數據庫的統一訪問接口,它由一組用Java語言編寫的類和接口組成。持久層的實現是將數據庫連接封裝DataBaseConnection類中來定義數據庫驅動信息,數據庫連接地址、登錄名及密碼,并設計factory工廠類定義static GetInstence()方法,無需實例化即可返回對于數據源操作接口。系統數據源操作采用DAO設計模式,對每個數據表的操作創建了一個接口,接口中定義了系統中將會用到的所有事務方法。當需要和數據源進行交互的時候則使用這個接口,并且編寫一個單獨的類來實現這個接口在邏輯上對應這個特定的數據存儲。
(4)觸發器的實現
觸發器(trigger)是個特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由某個事件來觸發。觸發器經常用于加強數據的完整性約束和業務規則等。觸發器主要用于強制服從復雜的業務規則或要求,也可用于強制引用完整性,以便在多個表中添加、更新或刪除行時,保留在這些表之間所定義的關系。系統中實現一些觸發器用于實現數據庫操作功能,以作業表觸發器為例進行實現說明。作業表觸發器用于實現作業表插入作業后,每個選課學生的作業提交表中插入相應記錄。實現代碼為:
create trigger hw_trig2 on scourse after insert as
begin
declare @stuid char(10) ? ?declare @courseid char(5) ? ?declare @hwid smallint
declare cur1 cursor for select stuid,courseid from inserted
open cur1 ? ?fetch next from cur1 into @stuid,@courseid
while @@fetch_status = 0
begin
declare cur2 cursor for select hwid from homework where courseid=@courseid
open cur2 ? ?fetch next from cur2 into @hwid
while @@fetch_status = 0
begin
insert into do_homework (hwid,courseid,stuid) values (@hwid,@courseid,@stuid)
fetch next from cur2 into @hwid
end
close cur2 ? ?deallocate cur2
fetch next from cur1 into @stuid,@courseid
end
close cur1 ? ?deallocate cur1
end;
5.結論
Web協同科教管理系統實現了協同軟件的基本特征和功能要求,其設計由業務邏輯程、表現層和數據庫層等3個層次構成,3個層次之間相互獨立,利于以后的代碼維護和功能擴展等工作。系統基于群件模式的工作流進行業務管理,實現了日常教學管理中的課程管理、作業管理及教師科研項目管理。系統在實現傳統教學、科研管理系統的基本功能基礎上,改進工作機制,實現了協同工作,加入論壇功能方便用戶在線交流,站內通信功能使用戶可以隨時發送信息,系統可以及時發送系統信件通知工作流涉及用戶。系統具有一定的實用性,可以服務于高校各個學院的科研和教學管理工作。
參考文獻
[1]鄒潤榕.新型科研機構的協同創新機制研究[J].廣東科技,2013(16):4-5.
[2]路鳳英,張靜.知識管理與信息服務流程協同研究[J].經濟研究導刊,2013(7):223-224.
[3]成全,羅棟,張悅.基于Web2.0的網絡協同科研平臺構成及實例研究[J].河北大學學報(哲學社會科學版),2013,Vol.38 (05):126-129.
[4]陳繼紅,鄭愛兵.高校科研系統協同特征及其演化機制研究[J].科技進步與對策,2012年(12):1-3.
[5]王德壽,諸咸斌,高友波.協同聯動模塊管理流程運轉——安徽電大開放教育學院教學管理模式改革的研究與實踐[J].安徽廣播電視大學學報,2007(4):34-36.
[6]趙淑蘭,李廣仁.基于協同辦公系統的二級教學管理模式研究[J].中國教育信息化,2012(9):25-26.
注:天津市科技發展戰略研究計劃項目資助(項目編號:13ZLZLZF07100)。