宋佳星 ,張 華 ,萬 毅
(1. 華北電力大學可再生能源學院,北京 102206;2. 水利部水資源管理中心,北京 100053)
UML 在取用水數(shù)據(jù)稽核中的應用
宋佳星1,張 華1,萬 毅2
(1. 華北電力大學可再生能源學院,北京 102206;2. 水利部水資源管理中心,北京 100053)
由于國家水資源監(jiān)控平臺可能存在取用水數(shù)據(jù)不一致和不可靠的問題,為提高數(shù)據(jù)質量,實現(xiàn)取用水數(shù)據(jù)的完整性和一致性,運用 UML 建立取用水數(shù)據(jù)稽核系統(tǒng),挖掘取用水數(shù)據(jù)庫表中隱含的閾值和字段關系,為取用水的異常數(shù)據(jù)提供數(shù)據(jù)稽核的方法;通過靜態(tài)和動態(tài)建模支持稽核系統(tǒng)的數(shù)據(jù)分析,實現(xiàn)逐步提升取用水數(shù)據(jù)的數(shù)據(jù)質量;通過建立用例圖、類圖和活動圖,確定用戶和數(shù)據(jù)庫之間的交互關系,展示取用水數(shù)據(jù)的內容屬性,并實現(xiàn)系統(tǒng)中取用水數(shù)據(jù)的可視化和一致性檢測。
UML;國家水資源監(jiān)控平臺;取用水;數(shù)據(jù)稽核
國家水資源監(jiān)控平臺作為全新的信息化成果,由于數(shù)據(jù)采集源頭的差異,導致數(shù)據(jù)集成效果不佳,可能出現(xiàn)大量的錯漏數(shù)據(jù),使統(tǒng)計分析結果不一致。為探索解決這些問題的方法,采用數(shù)據(jù)稽核模型進行數(shù)據(jù)的檢驗和處理。通過數(shù)據(jù)稽核建??纱蟠筇岣邤?shù)據(jù)的準確性,使高質量的數(shù)據(jù)更全面、更合理、更及時地為水資源管理乃至整個水利行業(yè)提供有效支撐,為抗洪減災、水資源管理、水生態(tài)保護和水土保持等提供重要手段和技術保障。
Unified Modeling Language(UML)又稱統(tǒng)一或標準建模語言,它是一個支持模型化和軟件系統(tǒng)開發(fā)的圖形化語言,為軟件開發(fā)的所有階段提供模型化和可視化支持,表達軟件設計中的靜態(tài)和動態(tài)信息[1]。國家水資源監(jiān)控平臺作為對水資源開發(fā)利用、用水效率和水功能區(qū)限制納污等控制管理的監(jiān)控體系,擁有多個數(shù)據(jù)庫,其中包含基礎、業(yè)務和監(jiān)測等數(shù)據(jù)庫。以 UML 用例圖、類圖和活動圖,以業(yè)務數(shù)據(jù)庫的“年度取水計劃基本信息表”“年度取水計劃農業(yè)取水申請信息表”和“年度取水計劃生活取水申請信息表”為例,建立取用水數(shù)據(jù)稽核系統(tǒng),實現(xiàn)取用水數(shù)據(jù)的可視化,為實現(xiàn)數(shù)據(jù)的完整性和一致性檢驗功能提供方法,提高了數(shù)據(jù)質量和安全,為國家水資源監(jiān)控平臺的高效運行和管理提供技術支撐。
國家水資源監(jiān)控平臺數(shù)據(jù)稽核系統(tǒng)包含取用水類、水質類等子系統(tǒng)。取用水數(shù)據(jù)稽核系統(tǒng)作為稽核系統(tǒng)的子系統(tǒng),為國家水資源監(jiān)控平臺數(shù)據(jù)的奇異性檢測和數(shù)據(jù)質量的優(yōu)化提供了重要方法。系統(tǒng)需要對錄入的取用水數(shù)據(jù)進行分析,找出錯誤和異常數(shù)據(jù),實現(xiàn)對錯誤和異常數(shù)據(jù)的反饋,從而提高數(shù)據(jù)的質量和正確性。
在用 UML 進行需求分析時,建立數(shù)據(jù)稽核系統(tǒng)的用例圖,描述系統(tǒng)對取用水數(shù)據(jù)內容、規(guī)格、閾值、字段關系的功能,實現(xiàn)對取用水的數(shù)據(jù)輸入、查詢、校核和可視化的系統(tǒng)行為[2],確定國家水資源監(jiān)控平臺的使用人員和數(shù)據(jù)稽核系統(tǒng)的交互作用。
利用 UML 的表示方法將系統(tǒng)描述成一系列的參與者和用例[3],從而為取用水數(shù)據(jù)系統(tǒng)分析階段的分析模型建立奠定基礎,如圖 1 所示。
圖 1 數(shù)據(jù)稽核系統(tǒng)用例圖
1)參與者。在國家水資源監(jiān)控平臺數(shù)據(jù)稽核系統(tǒng)中,參與者包括水資源管理的使用人員、應用系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等。
2)用例。用例是描述所開發(fā)數(shù)據(jù)稽核系統(tǒng)的功能需求。包括取用水數(shù)據(jù)的錄入、查詢、閾值,以及表內和表間字段關系、表間字段關系數(shù)據(jù)的一致性檢查和可視化。
取用水數(shù)據(jù)稽核系統(tǒng)的需求提出階段產生了系統(tǒng)規(guī)格和功能的說明,在分析階段需要對取用水數(shù)據(jù)庫表進行構建,形成一個準確、完整、一致、可檢驗的系統(tǒng)。以業(yè)務數(shù)據(jù)庫的“年度取水計劃基本信息表”“年度取水計劃農業(yè)取水申請信息表”和“年度取水計劃生活取水申請信息表”為例,在已有數(shù)據(jù)內容和庫表的關聯(lián)關系基礎上,運用類圖描述庫表的閾值、屬性和字段間隱含的關系。
對象類靜態(tài)結構模型描述了系統(tǒng)的靜態(tài)結構,包括構成系統(tǒng)的類和對象、屬性、操作及這些對象類之間的關系。類圖的基本結構為類圖名、屬性區(qū)、操作區(qū) 3 個部分,如圖 2 所示[4]。通過類圖反映水利數(shù)據(jù)稽核系統(tǒng)數(shù)據(jù)庫表中的信息及其相互關系?,F(xiàn)以“年度取水計劃基本信息表”為例,如圖 3所示。
圖 2 類圖基本結構
“年度取水計劃基本信息表”作為一個基類,實現(xiàn)了其與“年度取水計劃生活取水申請信息表”和“年度取水計劃農業(yè)取水申請信息表”之間的聯(lián)系[5]。其中“年度取水計劃農業(yè)取水申請信息表”和“年度取水計劃生活取水申請信息表”為“年度取水計劃基本信息表”的子表。在 UML 類圖中 “年度取水計劃基本信息表”和“年度取水計劃農業(yè)取水申請信息表”與“年度取水計劃生活取水申請信息表”之間的關聯(lián)關系通過用帶菱形的實線表示,其中頭部指向整體。
在“年度取水計劃基本信息表”中,屬性區(qū)描述了表內的基本信息和數(shù)據(jù)類型。其中主要包括“申請年取水量”“其中批復地下水取水量”“其中地下水取水量”和“批復年取水量”等,并對數(shù)值型字段的數(shù)據(jù)格式做了定義,為提高數(shù)據(jù)質量提供了基本規(guī)則。
“年度取水計劃基本信息表”中,操作區(qū)分別描述了表內數(shù)據(jù)的閾值、表內字段關系和表間字段關系。具體如下:
1)對表內數(shù)值型字段的閾值做了規(guī)定,并用“-”代表字段是表的私有屬性。例如:“-申請年取水量”閾值范圍為 0~1 140 000 萬m3,表示“申請年取水量”作為表內字段,其最小值為 0 m3,最大值為 1 140 000 萬m3,通過對“申請年取水量”“其中批復地下水取水量”“其中地下水取水量”和“批復年取水量”閾值進行設定,可以初步篩選出錯誤數(shù)據(jù)。
2)描述表內字段關系,即表內數(shù)值型字段之間所隱含的關系,并用“-”代表字段關系是表內私有屬性。例如:“-申請年取水量 ≥ 年批復取水量”。表內字段關系繼續(xù)細化數(shù)據(jù)的基本規(guī)則。通過表內字段關系,可以篩選出沖突數(shù)據(jù)。
3)確定表間字段關系,即表間數(shù)值型字段之間所隱含的關系,并用“+”代表字段關系是表間共有屬性。“批復年取水量”不僅和“其中批復地下水取水量”之間存在表內字段關系,而且和“年度取水計劃生活取水申請信息表”之間的字段存在表間字段關系。其表間字段關系表示為:“+ 批復年取水量 ≥ 年取水量”。通過表間字段關系的建立,旨在進行表間字段數(shù)據(jù)的一致性檢驗,以進一步提高數(shù)據(jù)的質量。
圖 3 年度取水計劃基本信息表類圖示意圖
結合國家水資源監(jiān)控平臺中庫表數(shù)據(jù)的錄入和輸出類型,分別對操作區(qū)數(shù)據(jù)閾值和字段關系的返回值進行定義。例如:“年度取水計劃生活取水申請信息表”中“設計灌溉面積”為雙精度數(shù)據(jù);“年度取水計劃基本信息表”中的表內和表間字段關系為布爾型數(shù)據(jù)。
“年度取水計劃基本信息表”中表間字段關系的字段索引,通過端口的索引字段查詢字段所在表。同時也可以直接展示“年度取水計劃基本信息表”中存在表間字段關系的字段。
對象動態(tài)結構模型描述了系統(tǒng)的動態(tài)行為,它們指明了系統(tǒng)如何響應外部的事件,涉及系統(tǒng)中對象的執(zhí)行順序和狀態(tài)變化,側重于系統(tǒng)控制邏輯的描述[6]。以數(shù)據(jù)稽核系統(tǒng)中“年度取水計劃基本信息表”為例,建立 UML 活動圖,如圖 4 所示。
以“年度取水計劃基本信息表”中“批復年取水量”字段為例,“批復年取水量”數(shù)據(jù)在輸入后首先進行數(shù)據(jù)格式驗證;在數(shù)據(jù)滿足要求的情況下才能進行字段閾值驗證,當“批復年取水量”字段閾值在[0,1 140 000] 之間時,說明數(shù)據(jù)正常,否則數(shù)據(jù)報錯。
圖 4 取用水數(shù)據(jù)稽核系統(tǒng)活動圖
字段閾值驗證完成之后需要進行表內字段關系驗證,即驗證字段“批復年取水量”是否滿足“批復年取水量 ≥ 其中批復地下水取水量”;在驗證表間字段關系“批復年取水量 ≥ 年取水量”時需要對字段分別進行索引,找到“年取水量”所在表:“年度取水計劃生活取水申請信息表”?!澳耆∷俊弊侄谓?jīng)過驗證數(shù)據(jù)格式、閾值、表間字段關系后,可以保證跨表字段“年取水量”的數(shù)據(jù)正確性。通過表間數(shù)據(jù)關系的一致性檢驗,最后將較高質量的數(shù)據(jù)歸入數(shù)據(jù)庫。
由于基礎、業(yè)務和監(jiān)測等數(shù)據(jù)庫中表內容的差異,部分表不存在表內和表間字段關系,故經(jīng)過字段閾值驗證完成后可以直接歸入數(shù)據(jù)庫。
本文以國家水資源監(jiān)控平臺“年度取水計劃基本信息表”為例,運用 UML 進行數(shù)據(jù)稽核系統(tǒng)的建模??傻贸鲆韵陆Y論:
1)運用 UML 對國家水資源監(jiān)控平臺的系統(tǒng)需求和數(shù)據(jù)稽核工作進行需求分析,可以明確系統(tǒng)數(shù)據(jù)的需求。實現(xiàn)參與者與數(shù)據(jù)庫之間進行數(shù)據(jù)錄入、查詢和可視化的交互功能及通過數(shù)據(jù)閾值、表內字段關系、表間字段關系、表間字段關系的數(shù)據(jù)一致性檢驗完成高質量數(shù)據(jù)入庫。
2)UML 的類圖表達形式,可以全面的表達各個數(shù)據(jù)庫表的數(shù)據(jù)內容,其中包括隱含在字段之間的關系和閾值。通過建立表字段的閾值和字段間的運算與邏輯關系,實現(xiàn)對數(shù)據(jù)精度和質量的控制,確保數(shù)據(jù)的完整性和一致性,提高數(shù)據(jù)的安全性和可靠性。
3)UML 的動態(tài)建模描述了取用水數(shù)據(jù)稽核系統(tǒng)如何逐步提高數(shù)據(jù)質量和精度的過程,通過對數(shù)據(jù)格式、數(shù)據(jù)閾值、表內字段關系和表間字段關系驗證。最終,將具有高精度和準確度的數(shù)據(jù)歸入到數(shù)據(jù)庫,為國家水資源監(jiān)控平臺的高效運行和管理提供技術支撐。
[1] 翟亞紅,楊艷霞. UML 建模技術的研究與應用[J]. 科技創(chuàng)業(yè),2010 (4): 156-158.
[2] 楊揚. 基于 UML 的水利數(shù)據(jù)服務平臺建模研究[D]. 南京:河海大學計算機及信息工程學院,2003: 30-46.
[3] 趙艷平. 基于 UML 的水利數(shù)據(jù)服務平臺建模[J]. 安徽水利水電職業(yè)技術學院學報,2006,6 (4): 61-64.
[4] THOMAS R, GENEST D, LOISEAU S. A useful logical semantics of UML for querying and checking UML class diagram[EB/OL].[2017-04-10].https://www.researchgate.net/publication/221539758.
[5] 王建軍,王先甲,鄭振浩. 基于 UML 的水電勘測設計院的設計過程管理系統(tǒng)[J]. 人民長江,2006,37 (11): 112-114.
[6] EFIIZONJ L, INFDRMATIKA T, WAN W K, et al. Formalization of UML class diagram using description logics[R]. Informalion Techndogy, 2010,3: 1168-1173.
Application of UML in water fetching data audits
SONG Jiaxing1, ZHANG Hua1, WAN Yi2
(1. School of Renewable Energy, North China Electric Power University, Beijing 102206, China;2. Water Resource Management Center, Ministry of Water Resources, Beijing 100053, China)
National water resources monitoring platform has inconsistent and unreliable water fetching data. In
order to solve the problem, UML is used to improve the quality of data and came true integrity and consistency of water fetching data have come true. It helps to establish the water data fetching audit system, excavate the hidden threshold and fi eld relationships in the water database table. UML provides a method for data audit of the abnormal water fetching data, supports the analysis of audit system through static modeling and dynamic modeling of the data and improves data quality of water data gradually. By the establishment of using case diagram, class diagram and activity diagram, the interaction between the user and the database can be determined. It also shows the water content attribute data which realizes the visualization of water data in the system and consistency test.
UML; national water resources monitoring platform; water fetching; data audit
TP312;TV213
A
1674-9405(2017)06-0033-04
10.19364/j.1674-9405.2017.06.006
2017-05-19
國家自然科學基金項目(50579083);國家重點研發(fā)計劃(2016YFC0401704)
宋佳星(1991-),男,河北承德人,碩士研究生,研究方向為水資源系統(tǒng)分析、水工水力學。