張潔
摘要:目前學校業務發展迅速,之前的信息系統的功能已經不能滿足新的業務需要了,必須進行二次開發。但是由于通過原信息系統開發方進行二次開發成本較高,并且會影響現有系統的正常使用,所以很有必要利用現有信息系統的數據資源進行二次開發的探索實踐。
關鍵詞:校園信息系統;WEB應用;二次開發
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2019)06-0066-02
1 校園信息系統現狀調查
到目前為止,每個學校都有校園信息化系統。大多數的學校都是建立了自己學校的網站系統和學生管理、課程管理等其他信息化管理系統。這些系統,對于學生而言,能實現簡單的資料查閱、課程查詢、成績查詢等日常學習中所需的功能。對于老師而言,這些系統能實現基本的課程安排、成績錄入、學生信息錄入等管理功能。但是,現在的信息系統并不完善,存在很多的問題。
1.1 系統建設時沒有進行統籌合理的規劃
校園信息化系統的建設普遍存在缺乏統籌規劃的問題。學校各個部門或者院系在建設系統的時候,總是只考慮自身當時需要實現的功能,忽略了和其他信息系統之間的數據傳輸和數據共享。沒有統籌規劃,往往學校的部分功能存在重復建設的問題。并且容易形成信息孤島,使數據無法流通。對學校的日常工作沒有促進反而造成了一些不方便,數據傳輸方式還停留在復制粘貼、文件保存和發送等原始的傳輸方式上。
1.2 系統功能不能與時俱進
一個信息系統建設時,僅僅考慮到當時急需解決的功能需求,沒有考慮到后期的功能擴展,沒有預留接口。升級改造困難。
1.3 數據標準不統一
數據體系建設不健全,沒有統一的中心數據庫,數據不完整、不標準,數據質量不高,數據共享使用水平低;學校因管理體制和觀念等限制,大部分數據都靜靜地躺在各自的庫中,辦事過程中申報材料經常需要反復多次提交、重復審核、重復證明,從邏輯上講沒必要、但程序上又必須有,這不同程度增加了辦事難度,也影響了信息化服務體驗。
學校各個部門或者院系根據自己的需要建設的信息系統都自帶獨立的數據庫,各自獨立保存自己系統的數據。實際上,學校的很多數據會在多個系統里使用。比如,學生的基本信息會在招生系統、學工系統、學籍系統等多個系統中使用。每個系統都自己管理一份學生基本信息數據。由于系統建設的廠商各有不同,所以每個系統的數據標準和格式都不一致。一旦有一個系統里的學生基本信息數據發生變更,就會造成該數據的不一致。
2 針對現有信息系統功能完善與改進的途徑
由于學校的業務發展需要,原有信息系統功能已經不能滿足業務要求,迫切需要新的信息化手段支撐學校各個環節的工作開展。針對現有信息系統的不同狀態,對現有信息系統功能完善和改進的途徑是完全不同的。對于那些老舊的,功能單一,結構松散,安全風險較高,需要改造的功能模塊較多的信息系統通常通過打補丁的方法已經無法解決了,就需要主要使用部門籌措資金,購買新的信息系統,進行更新換代。對于那些基礎功能還可以使用,又需要增加新的功能模塊,學校可以聯系原軟件廠商獲取系統完整的源代碼,并根據學校的特定的業務需求進行自行升級改造。對于那些軟件廠商不提供系統源代碼需要進行二次開發的信息系統, 學校只能利用現有系統的數據資源進行自行開發。
3 WEB應用二次開發的技術手段
目前,信息系統架構分為B/S和C/S兩種架構。由于網絡的普及和出于數據交換的便捷性考慮,現在的信息系統通常采用的是B/S架構。最常用的WEB應用開發語言有ASP.net,PHP,JAVA。ASP.net是基于windows平臺的。PHP是一種跨平臺的服務器端的嵌入式腳本語言。JAVA是一種面向對象的編程語言,它具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
4 針對OA系統二次開發的實踐
4.1 什么是OA辦公系統二次開發?
OA辦公系統二次開發是根據用戶的個性化需求上進行定制化開發的,一般由OA系統開發廠商在已運行產品的基礎上進行二次開發,這樣要求OA產品有較強的擴展性和兼容性,OA系統二次開發團隊需深度了解OA產品,有一定的技術力量和項目經驗,從這方面講代理商或者OA系統的用戶自己進行二次開發存在一定的困難。
如果不是自身的產品,在沒有OA源碼、不了解現有設計、技術架構的差異等情況下是很難進行開發的,一般只能將原有OA系統廢棄,分析原有系統的數據結構,并盡可能地將數據移植到新的OA系統中,如果數據積累的時間長、量比較大這個成本是非常大的。
二次開發最大的優勢是能夠很好地解決用戶個性化的需求,讓OA系統更加貼近用戶的實際需要。
傳統的OA產品一般會控制其源代碼的開放,這樣一來,如果學校要對已有的OA系統進行二次開發,只能繼續由現有OA辦公系統的開發者提供服務。更為嚴重的是如果在現有OA基礎上做二次開發,則廠商產品升級(升級的目的一般包括添加模塊、增加新功能、功能升級、錯誤的修復、增強安全性、改善性能等)后一般是不包含用戶二次開發的功能,選擇升級則需要重新將二次開發的功能整合到廠商升級的版本中。一般的廠商選擇二次開發服務的技術人員水平不是很高,設計能力有限,很多都是直接在OA系統的源碼中進行修改,這種做法帶來了兩方面的不良后果,一是在產品中引入新的錯誤需要經過一段時間的運行后穩定下來,二是如果使用廠商新升級的版本則需重新整合、代價高。
4.2 針對OA系統二次開發的實踐
1)針對OA系統二次開發的原則
在現有OA系統軟件開發方不提供源代碼和免費的后續服務的情況下,要在不影響現有OA系統運行,不更改現有技術架構的情況下,實現學校的個性化需求。
2)針對OA系統二次開發目標
目前學校的OA系統能處理各種公文的流轉,批復等功能,可是隨著時間的推移,每天都會有大量的文件等著學校領導批復。由于學校的各種事務繁忙,時間一長,就會出現文件積壓。而現有OA系統沒有提供提醒功能。導致工作推進速度緩慢,效率大大降低。因此,學校提出開發文件批復提醒和統計功能。
3)針對OA系統二次開發架構
在當前信息化技術高速發展的時期,學校的業務需求也在不斷變化,因此二次開發的架構要立足學校信息系統的長遠發展。通過對比現階段各種技術手段的優缺點,最終采用了跨平臺的J2EE架構,MVC設計模式、JAVA語言來實現針對OA系統的二次開發。
4)系統設計
通過對需求的分析,系統的基本功能應該包括:
① 針對文件涉及的每個用戶,根據文件批復狀態分項列出各種狀態下的文件數量。
②文件處理涉及的每個用戶自行登錄后看到和自己相關的待處理文件列表和詳細信息。
5)系統實現
現有OA系統中文件處理流程涉及的數據表有:文件傳閱主表、文件傳閱細表。通過對以上兩個表的表結構進行分析,確定了表之間關聯的外鍵。文件的處理狀態分為正在處理、撤回、完結三種狀態。閱文狀態分為未開封、未確認、已確認。通過這樣的分析,可以實現各種學校個性化定制需求。例如要實現針對個人的已開封超過三天未確認的文件數量的統計。代碼如下:
select count(*) from 文件傳閱_細表 A where A.確認姓名='name' and A.狀態='已開封' and A.確認狀態='未確認' and A.發送時間 between 'begintime' and 'endtime' and A.主表 in (select B.ID from 文件傳閱_主表 B where B.狀態!='撤回' ) and datediff(day,讀取時間,GETDATE())>3";
參考文獻:
[1] 什么是OA系統軟件二次開發?[EB/OL].http://www.fanpusoft.com/bangong/qy/108965.html.
【通聯編輯:朱寶貴】