方木云,彭慧子
[摘 要] 目前,國內中小型企業多半仍采用手工方式進行合同管理,很難適應現代項目合同的大量化、復雜化的管理要求。基于容器模型的軟件體系架構,開發適合企業的合同管理系統,可以進行合同管理、反追溯。同時本文從軟件復用的角度,考慮以一個通用界面和相應的代碼來供一組相似模塊通用,從而大大減少軟件開發的工作量,有效地控制了軟件的規模大小。實踐表明,基于容器模型的合同管理系統可將員工從繁瑣的手工合同管理中解放出來,發揮軟件系統的整體優勢,在減少了員工工作量的同時,也增強了企業的競爭力。
[關鍵詞] 容器模型;反追溯;合同管理;軟件復用;通用界面
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2014 . 02. 030
[中圖分類號] TP311.1 [文獻標識碼] A [文章編號] 1673 - 0194(2014)02- 0050- 04
1 前 言
企業經常需要簽訂各種大大小小的合同,隨著簽訂的合同數量的增多,合同的管理必然成為一種負擔。目前,我國的合同管理大多采用傳統的結合電子表格的手工管理方式,由于這種管理方式效率低、電子表格容量小、關聯性差,不便于查詢、更新和維護,而存在著嚴重的局限性。尤其是隨著項目復雜程度和合同數量的增加,合同管理的難度也在不斷增加,單憑手工管理合同變得尤為困難,合同的管理已然成為一種負擔。在信息化程度越來越高的當今社會,這種手工管理方式已遠遠不能滿足現代化管理的需要。現針對中小型企業合同管理的現狀,通過采用基于容器模型的架構,開發一個功能實用、操作方便、簡單明了、而且具有反追溯的合同管理系統。同時在合同管理系統的開發過程中,我們發現各類合同臺賬所需匯總的信息字段一致,在對合同的錄入、管理、查詢、匯總等功能上都大同小異,而“異”的部分則僅僅表現在它們各自的合同內容不同,所需對應的合同模板不同,因而為了避免無謂重復的工作,考慮以一個通用界面和相應的代碼供這些不同類型的合同模塊通用,我們只需控制調用其相應的合同模板即可。我們從實用的角度出發,本系統所使用的開發工具是Microsoft公司的Visual Basic6.0,數據庫管理軟件采用的是Microsoft SQL Server 2005。本系統是針對以前合同管理系統所存在的問題,根據中小型企業實際使用情況進行開發,著重對合同數據進行管理,方便用戶對合同進行查詢、修改、添加和刪除以及對合同的實時了解,主要考慮實用性設計的一個適合中小型企業使用的合同管理系統。
2 軟件的模塊結構
本文研究的合同管理工作主要涉及到兩個方面:一是合同錄入,二是合同臺賬。對于合同錄入,要求準確地錄入合同的信息;對于合同臺賬,要求得出同一類型的合同臺賬和所有類型的合同臺賬。對于同類型的合同臺賬,我們采用了一個通用界面來供這些合同模塊調用,如何正確定位出這些合同的類型生成相應的合同臺賬是合同管理軟件需要重點考慮的問題。對于所有類型的合同臺賬,一個公司可能有幾十種合同模板,關鍵在于如何快速、準確、透明地統計出這些合同信息形成一個總的合同臺賬。
采用一種容器模型是解決這些難題的一個很好的方法。容器模型圖如圖1所示。
為了實現通用界面的調用,首先要建立一個菜單節點表,記錄菜單的節點名稱,在打開系統時生成樹形節點以供點選調用,在點選時讀出相應的節點名稱和主界面名稱即上述的通用界面名稱。相應的樹形目錄如圖2所示。
然后根據讀出的節點名稱,我們可判斷出相應的合同類型進而從數據庫中讀出該類型的所有的合同信息,調用通用界面顯示該類型的合同臺賬信息。
以涂裝承攬合同為例,如圖3所示。
在圖3中,我們點擊增加按鈕,即可調用出該類型合同相應的合同模板,進行合同的錄入。如果想查看其中某個合同的詳細信息來源,我們可以選中這個合同然后點擊查看按鈕,或者將鼠標放在其所在行處雙擊,具有反追溯性。
以合同號是NTZZ-HS-HT1307004FD為例,如圖4所示。
在總的合同臺賬模塊中,具有權限的人員可以查看所有合同的簡要信息,而且具有反追溯性。總的合同臺賬中包括所有類型的合同信息,如圖5所示。
在圖5中將鼠標放在某個合同所在行處雙擊,就可以查看到該合同的詳細信息,同樣具有反追溯性。
使用基于容器模型的架構,形成了所有類型的合同臺賬和同一類型的合同臺賬,同時還具有反追溯性。
當合同臺賬完成以后,單擊“打印”按鈕就可以將表格中數據導入到Excel中,形成合理的格式進行打印,既快捷又準確,效果非常好。
3 基于容器模型架構的建模
合同管理系統必須完成兩個任務:①數據信息的準確性;②數據信息的透明性,即合同臺賬的每一條合同信息來源必須清楚。即系統不僅要提供準確的數據信息給用戶,還需要說明為什么數據是這樣的,也就是具有反追溯性。采用基于容器模型的架構方法,能夠很好解決這些問題。
3.1 “容器模型”實現合同臺賬的思想
(1)合同臺賬分為同類型的合同臺賬和所有類型的合同臺賬。
(2)對應在數據庫中建有總表1和總表2,用于存放上述兩類合同臺賬中各自所需的信息。點擊“保存”按鈕時,各類合同在增加界面錄入的數據會同時存入到上述兩個總表中。存入兩個總表的信息不需相同,只存儲各自需要的那些信息即可,總表相當于一個容器。
(3)在點擊“保存”按鈕時,各類型的合同在增加界面錄入的數據要分別保存到總表1和總表2中。
(4)對于同類型的合同臺賬數據,在合同增加界面保存數據時,總表1中除了存放同類型合同臺賬需要用到的合同信息以外,還設有一個字段IsKind,用于存放與這個合同類型相對應的合同類型值。在點選菜單節點下的某個合同節點時,根據點選的菜單節點名稱所對應的IsKind字段值,查找總表1中IsKind字段值與之相同的所有記錄,即所有此類型的合同信息,形成一個該類型的合同臺賬顯示給用戶。將同類型的合同臺賬信息來源固定于一張總表,統計時只需從這個容器總表中提取滿足條件的數據信息進行統計。數據存入總表的容器模型架構,避免了為各類型的合同都建立一個相應的數據庫表,與此同時,能夠快速、準確、透明地統計出這些數據。
(5)總的合同臺賬數據,當點擊菜單節點中“合同臺賬”時,從總表2中讀出所有類型的合同信息,形成一個總的合同臺賬。
3.2 “容器模型”實現反追溯性
在同一類型合同臺賬和總的合同臺賬中都有這個功能:雙擊某個合同查看該合同的詳細信息,實現數據的反追溯性。
(1)在同類型合同臺賬中,由于各類型合同共用了一個通用界面,反追溯性的實現首先是記錄下點選的菜單節點名稱即某類合同名稱,加載相應類型的合同模板界面,然后根據雙擊所在行對應的合同號進行匹配,滿足匹配的合同信息即為反追溯需要的明細信息,讀取該合同信息填充到相應的合同模板界面顯示給用戶。
(2)在總的合同臺賬中,反追溯性的實現與同類型合同臺賬有一點不同,而是根據雙擊所在行對應的合同類型值即總表2中的IsKind字段值,加載相應類型的合同模板界面,然后再根據所在行的合同號進行匹配,滿足匹配的合同信息即為反追溯需要的明細信息,讀取該合同信息填充到相應的合同模板界面顯示給用戶。
3.3 基于“容器模型”實現的通用界面
(1)設計一個通用界面供不同模塊調用,該界面主要有增加、修改、查看、刪除等功能,囊括了合同模塊中涉及到的通用操作。
(2)建立一個菜單節點表,記錄菜單的節點名稱,在打開系統時生成樹形節點以供點選調用,在點選時讀出相應的節點名稱和主界面名稱即這個通用界面名稱。
(3)在通用界面的代碼中,我們根據上述得到的節點名稱,可判斷得出這個合同的類別,即能得到總表1中的IsKind字段值,這樣在點選一種類型的合同菜單節點時,從總表1中查找所有滿足該合同類型值的合同信息,形成一個合同臺賬。
(4)在點擊這個通用界面上的增加/修改/查看/按鈕時,會根據上述的節點名稱即合同類型名稱調用相應類型的合同模板界面以錄入/修改/查看該類型的合同。
3.4 容器模型的優點
采用不存入容器總表的方法,①不能共用通用界面,有多少個合同模板就得有多少個相應類型的合同臺賬界面,同時每種類型的臺賬都得對應一張相應的數據庫表,給軟件開發過程中增加了大量無謂的重復工作,同時由于多個相似的表的存在,數據庫中表的設計也沒得到最大的優化;②反追溯性差,查看明細信息要連接多張數據庫表,SQL語句嵌套復雜,不易實現;③對于剛參與到項目中的人員而言,會不知如何通過多張表進行匯總,這將使得軟件開發比較緩慢。
采用基于容器模型架構,就不存在這些問題,開發更方便快捷,思路更清晰。①統計效率高:臺賬的數據都來源于一張總表,僅使用一條SQL語句就能完成。能共用通用界面,軟件復用的粒度增加,僅建立兩張總表就可以完成所有工作,數據庫表設計得到了優化。②反追溯性好:兩個總表中都專門設有一個字段用于存放該合同的類型,通過這個字段的值,很輕松地讀出錄入的詳細信息,顯示給用戶。③而且對于剛參與到項目中的人員來說,很快就可以理解容器模型的思想,使軟件開發更快速。
3.5 容器模型存在的問題
基于容器模型的軟件體系架構,開發軟件有很多優點,但也發現了不足之處:①數據存入兩個表,冗余性比較大。②與使用存儲過程的方法相比,速度可能要慢一點,尤其對于較為復雜的邏輯,網絡流量之間的消耗會大一些。
3.6 解決方法
針對容器模型存在的問題,我們也有相應的解決辦法:①兩個總表中不存入特別詳細的數據信息,只存儲匯總時需要用到的一些數據,再存入具有索引功能的存放合同類型的IsKind字段,便于統計和反追溯。②不使用復雜的邏輯,使用簡單便捷的SQL語句進行匯總以及反追溯。而且我們也在考慮更多、更好的方法,使基于容器模型的軟件體系架構更加完善。
4 軟件實施后的效果
(1)合同臺賬來源定位明確、具有反追溯性。在合同臺賬模塊中,用戶可以雙擊數據查看合同的明細,既快捷又準確;當發現錄入的合同的信息不對時,點擊修改按鈕找到錄入人員出錯位置進行修改,效果非常好。
(2)仿真現實合同文檔,為了延續工作人員以往填寫的習慣,界面的設置與實際合同文檔是百分之百的仿真,讓用戶在使用軟件的時候,感覺就如同以往在紙質上面填寫。
(3)合同臺賬能夠送入到Excel中,形成合理的臺賬形式,以備份的方式存儲起來。
5 結束語
合同管理系統的目標就是改變人們以往的工作習慣,將傳統的紙張辦公轉變為辦公自動化處理合同文本,本系統操作方便、簡單,對信息的匯總及時、準確,且具有反追溯性,使得計算機技術在合同管理系統中得到了充分的發揮,有效地提高了企業的內部管理質量和水平。
主要參考文獻
[1]杜仕忠,方木云,李澤,等.上海振華重工南通分公司ERP[J].中國管理信息化,2010(5).
[2]陳志祥.我國企業ERP系統實施問題探討[J].中國軟科學,2001 (12):58-61.
[3]林銳.軟件工程思想[M].西安:西安電子科技大學出版社,2001.
[4]朱如龍,劉焰.SQL-Server 數據庫應用系統開發技術[M].北京:機械工業出版社,2004.
[5] 羅鴻. ERP原理·設計·實施[M].北京:電子工業出版社,2003.