陳 穎
(天津市冶金科技信息研究所,天津300050)
天津冶金集團OA系統(tǒng)二次開發(fā)
陳 穎
(天津市冶金科技信息研究所,天津300050)
針對天津冶金集團OA系統(tǒng)產(chǎn)品功能、業(yè)務(wù)流程無法滿足企業(yè)發(fā)展需要的問題,在充分立用現(xiàn)有資源的基礎(chǔ)上,使用.NET技術(shù)對OA系統(tǒng)進行二性開發(fā),使該系統(tǒng)實現(xiàn)了最佳應(yīng)用效果,提高了集團工作效率,節(jié)約了開發(fā)成本。
OA辦公系統(tǒng);.NET技術(shù);二次開發(fā);實現(xiàn)
天津冶金集團(控股)有限公司辦公自動化系統(tǒng)(以下簡稱OA系統(tǒng))是天津冶金集團于2001年基于NT4.0操作平臺自主研發(fā)的一套B/S架構(gòu)的OA辦公軟件。在使用初期,OA系統(tǒng)在節(jié)約成本、提升集團各部室辦公效率方面發(fā)揮了很大作用。但由于當時開發(fā)技術(shù)和開發(fā)環(huán)境的局限性,以及十余年期間集團辦公流程變動等諸多原因,OA系統(tǒng)已不能全面滿足冶金集團自動化辦公的需求。
經(jīng)過深入調(diào)查了解,發(fā)現(xiàn)OA系統(tǒng)在運行中存在如下幾方面的問題:
2.1 日期查詢控件無法正常運行,系統(tǒng)反饋的查詢記錄雜亂無序
行政辦登記發(fā)文、行政辦發(fā)文登記記錄、行政辦下發(fā)發(fā)文、黨辦發(fā)文登記、黨辦發(fā)文登記記錄、發(fā)文管理、行文中發(fā)文、待轉(zhuǎn)發(fā)文、簽發(fā)發(fā)文、發(fā)文檔案、收文登記、收文登記記錄、收文管理、行文中收文、待轉(zhuǎn)收文、完結(jié)收文、收文檔案等操作界面中,查詢?nèi)掌诳丶鶡o法正常運行,需人工手動輸入日期后,才能實現(xiàn)相關(guān)查詢、提交表單功能,同時,系統(tǒng)反饋的查詢記錄雜亂無序。
2.2 發(fā)文打印功能與行政辦下發(fā)公文功能冗余重復
分配公司行政文書、公司秘書角色的OA帳戶中,發(fā)文打印功能與行政辦下發(fā)公文功能冗余重復。
2.3 帳戶時常無法正常登錄
系統(tǒng)用戶的帳戶時常無法正常登錄。
2.4 無法進行檔案信息化管理
OA系統(tǒng)自2001年上線以來,數(shù)據(jù)庫中已存儲大量公文數(shù)據(jù),但歸檔工作信息化無法實現(xiàn),檔案公文網(wǎng)上不能查詢、借閱,檔案管理人員無法進行檔案信息化管理。
在可行性研究和需求分析工作完成后,對OA系統(tǒng)展開二次開發(fā)工作。
3.1 二次開發(fā)原則
針對上述存在問題,本次對OA系統(tǒng)的二次開發(fā)是基于充分利用OA系統(tǒng)現(xiàn)有資源,不改變其原有體系結(jié)構(gòu),合理設(shè)置系統(tǒng)功能的原則,對系統(tǒng)進行適用性改造和功能性擴充。
3.2 適用性改造
針對2.1節(jié)問題,修復系統(tǒng)源文件中的錯誤代碼。開發(fā)日期控件,對行政辦登記發(fā)文、行政辦發(fā)文登記記錄、行政辦下發(fā)發(fā)文、黨辦發(fā)文登記、黨辦發(fā)文登記記錄、發(fā)文管理、行文中發(fā)文、待轉(zhuǎn)發(fā)文、簽發(fā)發(fā)文、發(fā)文檔案、收文登記、收文登記記錄、收文管理、行文中收文、待轉(zhuǎn)收文、完結(jié)收文、收文檔案等操作界面對應(yīng)的源文件中原有日期控件代碼部分進行替換。
修改sql查詢語句,實現(xiàn)查詢結(jié)果按數(shù)據(jù)表中某字段值排序,以發(fā)文登記記錄查詢語句為例:
從發(fā)文記錄數(shù)據(jù)表fajl數(shù)據(jù)表中,通過約束條件進行查詢后,查詢結(jié)果以xdate字段值做降序排列。如未達到約束條件,查詢結(jié)果以xvhao字段做升序排列。具體反映在軟件運行過程中,用戶通過設(shè)置選擇范圍,單擊查詢按鈕后,系統(tǒng)反饋的查詢記錄信息以發(fā)文起草時間降序排列,最新發(fā)文在列表頂部顯示。如數(shù)據(jù)庫中無符合條件的查詢結(jié)果,則所有發(fā)文記錄按發(fā)文序號升序排列顯示,如圖1所示。
圖1 發(fā)文登記記錄查詢結(jié)果
針對2.2節(jié)問題,修改webmanager數(shù)據(jù)庫中相關(guān)的i_role數(shù)據(jù)表,刪除打印管理角色中發(fā)文打印權(quán)限記錄對應(yīng)的role_power項數(shù)值。
針對2.3節(jié)問題,通過分析數(shù)據(jù)庫日志得知,數(shù)據(jù)庫中存儲用戶帳戶數(shù)據(jù)信息的ren數(shù)據(jù)表中數(shù)據(jù)記錄不定期被不明程序隨機刪除。
SQL server數(shù)據(jù)庫提供保證數(shù)據(jù)完整性的方法——觸發(fā)器(trigger),作為與表事件相關(guān)的特殊的存儲過程,其執(zhí)行僅由事件來觸發(fā),如對一個表進行insert、delete、update操作時就可激活觸發(fā)器執(zhí)行。利用觸發(fā)器上述工作原理,我們編寫相關(guān)代碼如下,當不明程序企圖對ren數(shù)據(jù)表進行delete操作時,激活該觸發(fā)器執(zhí)行,從而達到禁止刪除該數(shù)據(jù)表中數(shù)據(jù)記錄這一行為發(fā)生。
代碼如下:
CREATE TRIGGER [TRIGGER forbid] ON dbo. ren
FOR delete
as
IF @@ROWCOUNT > 0
BEGIN
ROLLBACK TRANSACTION
RAISERROR ('不能刪除該表的數(shù)據(jù)!',16,10);
RETURN
END
return
3.3 功能性擴充
針對2.4節(jié)的問題設(shè)計開發(fā)檔案管理子系統(tǒng)。
3.3.1 檔案管理子系統(tǒng)架構(gòu)(見圖2)
子系統(tǒng)架構(gòu)設(shè)計中,采用.NET Framework框架結(jié)構(gòu),并依據(jù)B/S分層模式將系統(tǒng)分為4層,自上到下分別為:
3.3.1.1 表述層
通過web頁面,提供良好的人機交互界面。
3.3.1.2 業(yè)務(wù)邏輯層
實現(xiàn)檔案管理、檔案查詢、檔案借閱、信息統(tǒng)計、系統(tǒng)維護等業(yè)務(wù)邏輯。
3.3.1.3 O/R映射層
通過ADO.net控件完成業(yè)務(wù)邏輯層與數(shù)據(jù)庫層之間映射關(guān)系。
3.3.1.4 數(shù)據(jù)庫層
負責存放和管理應(yīng)用的持久性業(yè)務(wù)數(shù)據(jù)[1]。
圖2 檔案管理子系統(tǒng)架構(gòu)
3.3.2 檔案管理子系統(tǒng)工作流程(見圖3)
3.3.3 檔案管理子系統(tǒng)功能架構(gòu)(見圖4)
3.3.3.1 檔案管理模塊
針對集團各部室所有行文,按年限進行分類歸檔。需要歸檔案室的公文,經(jīng)過文件分類、文件移交打包,文件接收等操作,完成歸檔工作。對不需要歸檔案室的公文,各部門自行歸檔。
3.3.3.2 檔案查詢模塊
通過部門、年限、題名、關(guān)鍵詞、文號(總收文號、原編字號、轉(zhuǎn)發(fā)號、發(fā)文號)等約束條件,為OA用戶提供檔案信息和檔案記錄情況查詢。
3.3.3.3 檔案借閱模塊
完成OA用戶檔案網(wǎng)上借閱和歸還功能,同時提供給檔案管理員檔案流出方向、歸還情況等信息分析。針對逾期不還的檔案,具有強制收回借閱者該檔案借閱權(quán)限的功能。檔案借閱流程見圖5。
3.3.3.4 信息統(tǒng)計模塊
具有檔案借閱信息統(tǒng)計和檔案分類信息統(tǒng)計兩項功能。
3.3.3.5 系統(tǒng)維護模塊
備份檔案數(shù)據(jù)和操作日志;為OA用戶分配檔案借閱權(quán)限。
3.3.4 與OA接口
實現(xiàn)OA系統(tǒng)中數(shù)據(jù)自動歸檔到檔案管理系統(tǒng),實現(xiàn)文檔一體化管理。即OA中的所有行文通過接口自動轉(zhuǎn)入到檔案管理系統(tǒng),從而減少了檔案人員重復再次錄入的過程,很大程度降低了檔案收錄的工作量。
圖3 檔案管理子系統(tǒng)工作流程
圖4 檔案管理子系統(tǒng)功能架構(gòu)
圖5 檔案借閱流程圖
4.1 單元測試
單元測試(unit testing)是指對軟件中的最小可測試單元進行檢查和驗證[2]。對于單元測試中單元的含義,一般來說,要根據(jù)實際情況去判定其具體含義,在本文里我們定義OA系統(tǒng)的每個功能模塊為最小可測試單元。
在編寫單元測試代碼時要考慮到所測試方法的代碼覆蓋率必須達到100%、所測試的代碼內(nèi)部的狀態(tài)、被測試代碼所使用的外部設(shè)備的狀態(tài)等3個方面。
使用Microsoft Visual Studio 2005中測試專用組件來完成OA系統(tǒng)的單元測試工作。該組件能夠提供給單元測試、壓力測試、代碼覆蓋率等測試相關(guān)的功能,無需再借用第三方的測試工具來進行這些測試。
4.2 集成測試
集成測試,即組裝測試或聯(lián)合測試,是單元測試的邏輯擴展。在已經(jīng)完成的單元測試的基礎(chǔ)上,將所有模塊按照系統(tǒng)結(jié)構(gòu)圖組裝成為子系統(tǒng)或系統(tǒng)后,進行集成測試,保證各部分工作是否達到或?qū)崿F(xiàn)相應(yīng)技術(shù)指標及要求。這就有效防止某些模塊雖能獨立工作,但連接起來并不一定能正常工作的情況的發(fā)生。集成測試是以《軟件概要設(shè)計規(guī)格說明》作為主要標準。
4.3 試運行
在冶金集團機房依托現(xiàn)有網(wǎng)絡(luò)環(huán)境設(shè)備,在空閑的聯(lián)想服務(wù)器上完成軟件設(shè)置工作,搭建OA系統(tǒng)運行的模擬環(huán)境,如表1所示。運行二次開發(fā)后的OA系統(tǒng)程序,按需求說明的條款,集團用戶逐一驗證和落實系統(tǒng)的功能模塊和性能要求。在試運行6個月無誤后,系統(tǒng)正式上線。
表1 系統(tǒng)運行環(huán)境
OA系統(tǒng)二次開發(fā)正式上線運行后,以2012年為例,冶金集團累計發(fā)布公文1 008件,其中發(fā)文401件,收文607件。對人勞部、財務(wù)部、審計部等20余部室公文進行歸檔處理,總計歸入檔案室492件,其中永久194件,長期63件,短期235件。
對比市場同類產(chǎn)品,僅購買網(wǎng)絡(luò)版檔案管理軟件一項就需花費人民幣85萬元,加之無需重新錄入多年來的電子檔案,大大降低了人力成本。二次開發(fā)OA系統(tǒng),市場上同類軟件公司針對客戶此種個性化需求,會提高相應(yīng)的開發(fā)成本。同時,如外包給市場上軟件公司還存在集團公司文件商業(yè)機密保密問題。
綜上所述,天津冶金集團OA系統(tǒng)二次開發(fā)工作的實施,在提高集團工作效率、節(jié)約成本方面效果顯著。
[1] 顧宗林.IPv6網(wǎng)絡(luò)數(shù)據(jù)流監(jiān)測技術(shù)的分析與測試[D].北京:北京交通大學,2008.
Secondary Development and Implementation of Office Automation System in Tianjin Metallurgy Group
CHEN Ying
(Tianjin City Metallurgy Science and Technology Information Institute, Tianjin 300050, China)
The product function and business process of Office Automation System in Tianjin Metallurgy Group could not meet the requirement of enterprise development. On basis of making full use of existing resources, Office Automation System is developed for the second time with .NET technology to achieve best application effect. The working efficiency in the group is improved and development cost saved.
Office Automation System; .NET technology; secondary development; realization
10.3969/j.issn.1006-110X.2014.05.012
2014-05-10
2014-06-07
陳穎(1981—),女,天津人,工程師,主要從事網(wǎng)絡(luò)信息化方面的研究工作。