目錄
第一章 緒論 1
1.1研究背景 1
1.2研究現狀 1
1.2.1國外研究現狀 1
1.2.2國內研究現狀 2
1.3研究思路 3
1.4論文結構 4
第二章 系統需求分析 5
2.1業務概述 5
2.1.1管理現狀 5
2.1.2業務流程 5
2.2系統目標 6
2.3系統功能需求 7
2.3.1信息管理需求 7
2.3.2計費管理需求 9
2.3.3統計管理需求 11
2.3.4查詢管理需求 13
2.4系統非功能需求 14
2.4.1性能需求 14
2.4.2其他需求 14
2.5本章小結 15
第三章 系統設計 16
3.1設計技術與流程 16
3.1.1設計技術分析 16
3.1.2系統設計流程 17
3.2系統總體設計 18
3.2.1功能模型設計 18
3.2.2網絡結構設計 20
3.3功能模塊設計 21
3.3.1信息管理功能設計 22
3.3.2計費管理功能設計 24
3.3.3統計管理功能設計 27
3.3.4查詢管理功能設計 29
3.4數據庫設計 31
3.4.1概念結構分析 31
3.4.2數據表結構設計 33
3.5本章小結 36
第四章 系統實現 38
4.1系統開發技術 38
4.1.1C#.NET 技術 38
4.1.2SQL Server 技術 38
4.1.3插件開發技術 39
4.2 系統模塊實現 40
4.2.1信息管理功能實現 40
4.2.2計費管理功能實現 47
4.2.3統計管理功能實現 53
4.2.4查詢管理功能實現 55
4.4本章小結 57
第五章 系統測試 58
5.1測試方法概述 58
5.1.1功能測試方法 58
5.1.2性能測試方法 59
5.2系統測試環境 59
5.3系統測試內容 60
5.4系統測試結果 61
5.4.1功能測試結果 61
5.4.2性能測試結果 62
5.4.3其他測試結果 63
5.5本章小結 63
第六章 總結與展望 64
6.1總結 64
6.2展望 64
致 謝 66
參考文獻 67
第一章 緒論
1.1研究背景
在環保意識深入人心的時代背景下,清潔電能成為電力系統未來的重要發展 趨勢[1]。在 2020年,我國的清潔電能年生產量為 1400多萬億千瓦時,包括風險、 水電與核電等[2]。
目前,在全國的電能生產體系中,清潔電能的占比已經達到 18%左右[3]。清潔 能源的興起,為我國的社會經濟發展帶來了極大的推動作用。尤其在部分電力能 源比較緊缺的地區,通過大力發展清潔電能,可以緩解煤電生產短缺的問題。同 時,清潔電能的快速發展還有效降低了電力系統對環境的污染,例如大氣污染、 水資源污染等[4]。因此,受到了全社會的高度評價。
四川省地域廣袤,境內擁有多種豐富的自然資源。其中風力資源在川西地區 最為豐富,這為風電產業的發展提供了便利的自然環境與條件。按照四川省電力 公司的內部數據,省內的風力發電能力的預估值為每年 4 萬億千瓦時左右,占到 目前全年發電量的 10%左右[5]。
通過大力發展以風電、水電、太陽能電為代表的清潔電能產業,不僅能夠有 效降低省內電網的供電壓力,同時對于四川省的自然環境可持續發展,新興能源 關聯行業的興盛,有著重要的現實意義和價值[6]。
因此近年來四川省電力公司已經建設了大約400 多座風力發電廠,分布在全 省多個地區[9]。目前,年發電量在3000 萬千瓦時的小型風力發電廠占比達到 9成 左右,成為省內電力能源供應的重要組成[8]。
與此同時,針對上述風力發電廠的日常運維管理,成為全省范圍內供電企業 的重要工作內容[10]。在智能電網及電力業務信息化的大背景之下,風力發電的信 息化管理和數字化運維也成為主要趨勢[11]。
在本文研究中,正是在上述宏觀背景和業務發展趨勢下,針對四川省電力公 司的風力發電廠的業務信息化管理,設計和實現一套對應的管理軟件,為工作人 員提供便利、高效、集成的日常運維管理軟件。
1.2研究現狀
1.2.1國外研究現狀
從上世紀90 年代開始,歐美等發達國家的電力部門已經將計算機軟件應用在 風力發電的業務管理中[12]。尤其在北歐的一些國家中,風力發電、太陽能發電、 水力發電等比較普遍,其相關的運維管理軟件和平臺的發展比較成熟[13]。
在這些管理軟件和平臺中,主要是針對風電、水電等生產現場進行遠程監測 與控制,利用各類傳感裝置及電力通信數據網,將現場數據上報到上層軟件[14]。 同時,通過上層軟件向生產現場下發控制指令,以替代傳統的由人員現場巡視、 控制的管理模式[15]。由于水電、風電等新型電力能源的生產主要通過水輪、風輪 及配套的電力能源轉換裝置實現,因此對于這些電力能源生產現場的遠程監控主 要通過上述各類硬件裝置及配套的傳感器實現,例如電壓電流傳感器、溫度傳感 器等。在具體的遠程監控過程中,主要依據從現場獲取到的傳感器數據進行分析 和整合。同時,通過遠程指令發送的方式,對現場的硬件裝置運行情況進行調整、 控制,從而實現對電能生產過程及策略的配置,例如生產量調整、電能上網策略 更改等。
對于具體的業務管理,通常情況下是對其運行信息進行采集,例如發電量、 設備狀態、安全參數信號等,從而構建起一整套完備的現場運行狀態視圖[16]。另 一方面還基于人工控制或自動控制的方式,依據現場運行狀態視圖,對現場發生 的故障、異常等進行處置和應對[17]。
經過多年的發展,目前發達國家的風力發電等清潔電能生產的信息化管理水 平有了大幅提升[18]。其中的主要趨勢是電氣智能化帶來的生產能力的提高,以及 自動化無人值守管理模式的推行[19]。與此同時,基于跨平臺服務和功能融合的大 型綜合性電力管理系統的推行,使得這些清潔電能信息化管理的覆蓋范圍也逐步 擴大。
在具體的開發技術層面,現場的管理機制通常基于智能傳感及監測裝置實現, 上層軟件則基于常見的Java、C/C++或.NET等技術進行開發實現。另外,數據庫 也是上層軟件中的重要組成[20]。例如,美國電力部門針對其西部電力體系中的風 電和太陽能發電基地的業務管理工具,采用了基于C++的軟件技術實現,數據庫 則選擇了 Oracle 大型數據庫[21]。
總體而言,國外的風力發電信息化管理目前已經十分先進,并且逐步走向綜 合化、移動化的階段。例如通過移動設備 APP 的方式進行功能發布等。
1.2.2國內研究現狀
在我國,電力系統的總體信息化水平仍處于發展之中,和發達國家相比仍顯 得相對落后。例如,我國在2010年左右才逐步實現了電力系統業務管理的信息化。 通過推行一系列國網、省網和地網級別的統推業務軟件,極大提升了各地供電企 業業務管理的效率和能力[22]。
在清潔電能領域的業務信息化管理方面,我國的風電事業雖然已經有了比較 廣泛的發展,但是大多數屬于散發式的局部建設[23]。近年來隨著環境保護受到了 政府的高度關注,各地電力企業對于風電、水電等清潔能源的重視也日益提高, 隨之建設了一大批規模相對不大,但是效益較好的新興電能生產基地。尤其在風 能比較充沛的地區,此類建設更為普遍[24]。
然而,在風電、水電等新興電能生產基地數量日益增長的背景下,隨之配套 的業務信息管理軟件卻長期未得到應用的重視[25]。尤其在各類電站的自動化管理 層面,與美國、歐洲、日本、新加坡等經濟發達地區仍有明顯的差距[26]。
近年來,伴隨著國家電力主管部門積極推行三集五大的“大電網”體系建設, 風電作為其中的重要組成,其信息管理的自動化也得到了廣泛關注與重視。在具 體實施層面,當前的主要推行模式是基于省網為基礎,在其電力系統內進行推行 和應用[27]。
截止到2020 年,根據國家電網公司的內部數據顯示,在全國范圍內有超過80% 的省網供電企業都建立了清潔電能生產基地,由此帶來了信息化管理的壓力。當 前大多數地區的供電企業采用了電力系統集成業務軟件進行管理[28]。
但是,由于風電、水電等清潔電能生產的管理和傳統的火電存在較大差異, 例如相關服務接口及監測要求的差異等[29]。因此,當前的信息化管理模式明顯不 適應業務的管理體系[30]。例如,在國內大多數地區的風電、水電、太陽能電的生 產現場的監控管理工作中,仍采用了和傳統的火力發電廠監控管理工作相同的方 式實現,其所用的監控組態軟件和風電、水電、太陽能電的生產及監控管理存在 較多的不匹配情況,包括監控目標的差異、監控信息的差異等,從而導致了遠程 監控管理工作的效率和質量不高。
在此背景下,部分省網供電企業已經實施了和風電、水電等清潔電能生產相 關的信息化管理軟件,例如在甘肅供電公司中上線的太陽能和風能綜合發電信息 管理系統、山東省電力公司研發的風電信息管理系統等。
從整體角度來看,國內的風電管理業務軟件仍需要大力推行,目前仍未能實 現比較廣泛的應用。本文主要基于當前的發展現狀,按照四川省電力公司的統籌 部署,設計和實現一套和風電生產管理相關的業務軟件,具有較高的現實應用價 值和意義。
1.3 研究思路
1.首先對目前的風電建設和信息化管理現狀進行調研分析,提出本系統的目 標及開發需求,從功能和性能層面建立系統的目標體系。
2.其次按照系統的目標體系進行功能方案的設計,對系統的功能詳細框架、 網絡架構、功能模塊及數據庫等進行研究、分析,設計對應的技術方案。
3.分析系統的功能實現思路,利用合理的開發技術和工具,對系統進行功能 實現與開發。
4.模擬系統的運行環境,從多個層面和角度,對系統進行測試驗證。
1.4 論文結構 第一章,緒論。介紹研究背景、現狀,提出論文研究思路和結構。 第二章,系統需求分析。分析考察業務現狀,分析系統目標,考察系統的詳 細開發要求。
第三章,系統設計。基于軟件設計技術和規范,建立系統功能框架,設計對 應的功能詳細模型和結構,以及數據庫等。
第四章,系統實現。根據系統功能設計成果,分析實現思路和方法,利用關 鍵代碼分析的方式,完成系統開發,并展示運行效果。
第五章,系統測試。測試系統的運行情況,從功能和性能角度進行開發成果 檢驗。
第六章,總結與展望。總結工作內容,分析后續優化方向。
第二章 系統需求分析
2.1業務概述
2.1.1管理現狀
風電業務管理的主要內容包括了生產過程管理、電能應用管理、電力安全管 理、運維控制管理等方面。目前,對于省內的風電生產信息化管理,目前四川省 電力公司主要基于如下業務軟件進行管理:
1.風電安全管理軟件
該系統通過電力通信專網,以遠程監測的服務機制,在公司的風電安全生產 管理規范與制度,對各地風力發電廠及生產現場進行運行數據的實時監測、采集、 預警、處置等,從而保障風電生產現場的平穩、安全運行。
2.風電運維監控平臺 同樣基于電力通信專網和遠程監測服務機制,對風電安全生產現場進行遠程
運維管理,包括現場的風輪、扇葉、門閘、轉動輪等基礎硬件的運行狀態監測, 同時還包含風電轉換模塊、輸電變電模塊、線路電氣模塊等方面的運行監測。同 時實現基于遠程控制的運維管理服務,此平臺目前是四川省電力公司進行風電信 息化管理的主要工具。
3.風電調度管理系統 在公司及下屬單位內部,此系統屬于業務層的頂端管理軟件,主要用于對風
電生產現場的綜合性管理,基于風電運維調度的業務管理制度和辦法,從總體角 度對風電生產現場進行調度管理,包括電能供應的中斷和恢復、生產過程的停止 和啟動、電能生產量的調整等。
2.1.2業務流程
基于目前的風電業務管理現狀,風電業務中的安全、調度、運行等關鍵性業 務管理均實現了基于計算機軟件的信息化管理機制,可以滿足業務管理的核心要 求。
但是,在實際業務的實施過程中,風電管理業務中還包含了眾多日常運維業 務,包括檔案信息管理、抄表信息管理、電能計費管理以及電能生產數據維護等 方面。
這些業務管理主要針對的是風電業務中的靜態數據,相對而言其管理過程較
為簡單,因此目前仍主要基于辦公軟件或者 Office、PDF 等辦公文件進行管理,信 息化程度相對較低,同時也沒有配置專用的業務軟件。
上述風電運維管理中的靜態數據維護流程如圖 2-1 所示。
圖 2-1 風電業務基礎數據管理業務流程
如圖 3-1 所示,對于風電日常管理中的靜態數據維護,目前主要目標是以風電 檔案信息為依據,按公司的總體電能生產計劃、供電服務規范及市場需求等,對 風電生產業務體系指定對應的抄表計劃。
隨后,在抄表計劃的基礎上,建立對應的抄表數據服務體系。所有的抄表數 據基于內部整理和融合之后,進行對應的數據結算等處理,最后建立對應的風電 抄表數據臺賬。
2.2系統目標
按 2.1.2 節的風電業務基礎數據管理業務流程分析,其中的抄表數據及檔案數 據等靜態信息的維護,目前仍缺乏配套的管理軟件,由此帶來如下問題和不足:
1.在業務管理過程中沒有配套的專用軟件系統支持。
2.對于風電生產及電能供應的抄表計劃的編制、工作計劃等,需由人工進行 處理,效率和質量都比較低。
3.對于風電抄表數據及其匯總結算的處理,數據及流程比較分散,沒有針對 性的流程集成管理服務體系。
4.在風電電能計費及其結算結果、抄表工作計劃、抄錄信息及其后續的審核 管理等業務信息,目前仍主要基于辦公軟件和辦公文件進行保存,安全性不高, 應用不便。
本文系統主要是針對上述問題而提出,核心目標是實現圖 2-1 所示的業務管理 信息化和自動化,構建對應的業務流程管理服務,同時實現上述靜態數據的集成 存儲和維護。
2.3系統功能需求
基于系統的核心目標,按照業務流程及其涉及到的業務數據分析,可以得到 本系統的核心功能目標包含信息管理、計費管理、統計管理和查詢管理等,針對 公司的風電管理部門員工,提供各類靜態業務數據的維護管理服務。
本節采用功能用例圖(User Case)作為分析工具,對系統功能需求進行結構 化分析。
首先得到系統的總體功能需求用例如圖 2-2 所示。
在圖 2-2 所示的功能總體用例基礎上,本節詳細分析各用例的具體開發要求, 建立系統的功能開發標準,為系統設計和實現、測試提供參考與指導。
2.3.1信息管理需求
主要是指風電管理的基礎數據,包括風力發電廠的檔案信息、電能計費參數 信息、抄表計劃信息、抄表結果信息、電費退補信息等方面。 對于本系統而言,需為用戶提供上述各類基本信息的管理和維護服務,由此 得到信息管理功能的用例結構如圖 2-3 所示。
按圖 2-3,本文將系統的信息管理功能需求劃分為如下幾個方面:
1.檔案維護 指對公司下屬所有的風力發電廠的檔案管理,檔案內容包含風電基本檔案數 據、計劃電量數據、電力線路(接入、接出)及變壓器(入網)數據、電量表計 數據、電量及電費數據等方面。
系統需提供的檔案維護和管理類型包括檔案的添加、刪除、修改及查詢等。 同時,按照風力發電廠的實際位置,建立對應的檔案數據框架和管理視圖,為公 司的風力發電廠建立對應的數據服務體系。
2.計費參數維護 計費參數主要是指風力發電廠關聯的抄表電量及其電能費用結算及其他維護 過程中涉及到的計費參數信息,包括了峰段、谷段的計費參數等。
系統需提供的計費參數維護服務包括計費參數的添加、刪除、修改和查詢等。 在實際維護中,系統需按風力發電站為單位,進行分別維護和管理。
3.制定抄表計劃 風力發電廠需定期進行電力能源計量和抄表,并且需基于抄表計劃進行實施。 在抄表計劃中約定各風力發電廠的月度抄表工作內容,包括其抄表起始和完成時 間、抄表規范等。
系統需提供對抄表計劃的添加和查看服務,對實際業務中的抄表計劃制定管 理提供工具支持,同時按風力發電廠分別進行對應的抄表計劃數據維護和管理。
4.抄表數據錄入 在抄表計劃發布之后,所有風力發電廠的現場抄表數據需記錄、匯總和歸檔 到公司內部,作為電費計量及生產規劃的依據。
在抄表數據中包括了示數、電量(加減值)、實際發電量、核定說明、示數差 值及實際抄見電量等。
系統需提供上述抄表數據的在線錄入支持,并按錄入信息將其進行持久化更 新和保存。
5.退補數據錄入 在實際管理工作中,針對抄表數據的歸檔處理,工作人員通常還需在其中添 加退補數據。
退補數據中主要包含和稅務相關的退費、補費數據,例如無稅、含稅的電費, 及其關聯的電量信息、核算電價標準、所含稅金的占比等。
退補數據是實現風力發電的計費、核算工作的重要基礎。本系統需為用戶提 供上述退補數據的在線錄入服務,并按錄入結果進行在線保存。
2.3.2計費管理需求
對于風電管理業務而言,其中的計費業務主要涵蓋了各風力發電廠的電費結 算管理、費用數據匯總、匯總結果審核處理及最終的計費臺賬的更新等。
因此對于本系統而言,計費管理功能主要針對上述業務流程和內容,提供針 對性的管理服務。通過對其業務內容及流程進行分析,得到計費管理功能的需求 用例如圖 2-4 所示。
按圖 2-4,本文將系統的計費管理功能需求劃分為如下幾個方面:
1.電費結算 風電的電費結算根據實際的抄表數據、退補數據進行結算得到,結算工作按
照月度為單位進行處理,結算結果包含當月、上月及去年同時期的電量和其計費 結果,增長率或減少率等。
因此,系統需提供對上述電費結算過程的管理,為用戶提供抄表數據、退補 數據的在線檢索,以及基于檢索結果的在線結算管理服務,自動計算出所需結算 的電費結果,并將其進行持久記錄。
2.電費預審核 所有的風電電費結算結果需經過預審核之后才可生效,在預審核過程中通過 對結算結果進行正確性檢查,并按檢查結果對結算數據進行修正和生效。
因此,本系統需提供上述預審核處理的功能支持,基于列表形式檢索和展示 已經完成結算的風電電費結算結果。同時,按人工的驗證審核處理結果,對其中 存在的結算錯誤情況進行數據修正,并記錄審核結果。
3.單戶審核 在風電電費預審核之后,通常情況下風電管理人員還需按單個或多個風力發 電廠進行最終的審核處理。
對于本系統而言,單戶審核功能是指對單個風力發電廠的電費審核處理。在 其中系統需提供電費結算書的創建功能,并為用戶提供審核結果及意見的錄入支 持。
同時,按照用戶的審核結果,自動對所選風電的電費數據進行審核狀態更新, 同時記錄具體的審核意見。
4.批量審核 批量審核是指采用類似于單戶審核的方式,一次性對多個風力發電廠的電費 結算和預審核結果進行審核處理。
本系統需提供基于條件檢索的多個風力發電廠電費結算及預審核結果的列表 展示服務。在此基礎上,按用戶的批量審核操作,對查詢結果中包含的所有風電 電費進行審核意見和結果的更新與記錄。
5.單戶打印 對于單戶打印處理,系統需按照用戶選擇的風力發電廠及電費結算數據的期 間,進行結算電費信息的檢索和返回。
在此基礎上為用戶提供檢索結果的在線打印服務,包括打印過程中的內容語 言及打印參數的設置等。
6.批量打印 批量打印功能類似于單戶打印,區別在于系統需按條件篩選和加載多個風力 發電廠的多個期間的電費結算數據。
在此基礎上,為用戶提供和單戶打印相同的功能服務,包括預覽、參數設置 和在線打印等。
2.3.3統計管理需求
統計管理功能是指對公司的風電業務數據進行在線統計處理。按目前公司的 業務管理規范及內容,其中需包含多個維度的統計服務,同時還需實現對統計結 果的查看、導出、打印等,其功能用例如圖 2-5 所示。
如圖 3-5,在統計管理功能中系統需為風電管理人員實現如下統計服務和功
1.電站基本情況統計
主要是指對公司當前所有的風力發電廠進行基本檔案數據的統計,統計的內 容需包含其內部序號(編號)、廠名稱、抄表序列號、地址信息、運維單位、機輪 (組)數量、裝機容量等方面。
系統在統計完成之后,還需基于列表、圖形化的方式進行統計結果展示,在 此基礎上提供統計結果的在線打印、文件導出服務。
2.電站月報管理 主要是指對風力發電廠的月度電費結算信息的在線統計,統計參數包含用戶 所選的年月信息、時間分組類型(峰段、谷段、平段等)。
系統需按統計條件對所選電站的電費計費及結算數據進行檢索和統計,并以 列表或圖形化形式進行可視化展示。
在此基礎上,系統同樣需為用戶提供統計結果在線打印、文件導出服務。
3.電站年報表管理 類似于電站月報管理,系統需按用戶提交的統計時間段信息、分組形式信息 及計費的月度信息等,檢索對應的風力發電廠的電費計費及其結算數據,并對其 進行時間維度的統計。
類似地,系統需將統計結果以列表、圖形化方式進行返回展示,并提供統計 結果的在線打印、文件導出服務。
4.電站年度結算統計 主要是指對所選風力發電廠在指定年度下,各個月度的電費結算結果的統計。 統計維度需包含當年的各個月度、季度的統計。
系統需按所選電站及年費,進行電費結算數據的檢索,隨后按月份、季度進 行費用的統計。統計結果需基于列表、圖形化形式進行返回展示。
同樣系統需為用戶提供統計結果的在線打印、文件導出服務。
5.生產進度表統計 主要是指對風力發電廠的電力能源生產情況的統計,包括電站的裝機容量、 計劃發電量(年度、月度、季度等)、實際發電量(年度、月度、季度等)、實際 上網電量和結算電量等。
系統需按用戶所選擇的時間段、累積統計標簽等,對風力發電廠的生產數據 進行檢索和統計,并提供等時間段區間的結果比較支持。
對于生產進度表的統計結果,同樣需基于列表、圖形化形式進行返回展示, 并提供在線打印、文件導出服務。
6.結算統計表管理 主要是指對風力發電廠的各個計費月度的裝機容量情況、電費結算詳情等進 行統計,其中的電費結算詳情包含了含稅及稅前的電量計費信息及其關聯的結算 審核結果等。
系統需基于用戶所選的時間段及電站信息,對其進行裝機容量和電費結算詳 情的檢索和統計支持,并提供列表和圖形化的查看支持。
統計結果同樣需提供在線打印及文件導出服務。
2.3.4查詢管理需求 查詢管理功能是指系統需按風電管理人員的常用業務數據類型,為其提供的 數據在線檢索功能。按實際的業務調研,在查詢管理功能中需提供如圖 2-6 所示的 內容。
如圖 3-6 所示,系統的查詢管理功能需實現如下服務和目標:
1.檔案查詢 針對風力發電廠的基本檔案數據,為用戶提供在線檢索服務。按用戶提交的 電站信息等參數,查詢其關聯的基本數據、計劃電網數據、表計數據、實際電量 數據、電費及其結算結果數據等。
對于查詢結果,系統需以列表形式進行返回展示,同時提供在線打印、預覽 及文件導出服務。
2.結算單查詢 結算單主要是指電量計費結算結果關聯的單據(票據)數據,其中包括風力 發電廠的基本數據、抄見電量數據及計費結算結果數據等。
系統需按用戶選擇的電站及時間段,檢索上述數據,并將其封裝為列表形式 進行返回展示。同時,提供檢索結果的在線打印、預覽及文件導出服務。
3.抄表數據查詢 抄表數據是指實際的抄表時間、抄表結果等。系統需按用戶選擇的風力發電 廠、時間段等條件,將符合要求的抄表數據進行檢索和列表返回。
同時提供檢索結果的在線打印、預覽及文件導出服務。
4.電量電費走勢圖 系統需按用戶所選的風力發電廠和計費時間段,查詢時間段內每個月的電量、 電費。查詢結果需基于圖形化方式進行返回展示,為用戶提供電量及電費的走勢 情況。
同時,針對查詢結果及其可視化要素,系統需提供詳情預覽、在線打印和文 件導出服務。
2.4系統非功能需求
2.4.1性能需求
1.并發能力 并發能力指標和目前四川省電力公司的風電管理人員的數量相關,目前公司 及各下級單位的風電業務管理人員基本保持在500 人左右。
因此,系統的并發能力可直接將該數值作為指標值,即系統需滿足 500 個用 戶并發訪問和操作的壓力。
2.響應時間 對于本系統的響應時間指標,主要依據目前四川省電力公司內部業務軟件的 統一標準設置,具體要求是響應時間不超出3 秒。
2.4.2其他需求
除了性能需求之外,在非功能需求中還包含了系統的安全性、穩定性等方面, 具體包括如下:
1.容錯能力 主要是指系統能夠對各類操作請求及操作參數進行有效容錯,對于其中存在 的錯誤請求可以正確監測,并返回對應的提示消息,例如參數錯誤、數據庫越權 操作等。
2.用戶權限控制能力 主要是指系統可以正確對進入系統的用戶進行權限分配和控制,按照實際的 操作權限,對其功能訪問行為進行權限審計,確保用戶在其預定的權限范圍內進 行操作。
3.穩定性
系統中在投運之后,至少要保證7X24小時的平穩可靠運行,不得出現運行 異常、無響應、崩潰等現象。
2.5本章小結
本章對系統進行了詳細的需求分析,調研介紹當前的業務管理現狀,對本系 統所需管理的業務流程進行梳理,在此基礎上明確系統的開發目標,并將其劃分 為具體的功能需求用例,同時對系統的性能開發指標進行簡要闡述。
第三章 系統設計
3.1設計技術與流程
業務型軟件系統的設計包括總體設計、功能模塊的詳細設計、數據庫設計等 部分,本節結合系統的開發要求,簡述所采用的設計技術和原理,并分析系統的 設計流程。
3.1.1設計技術分析
1.總體設計技術 總體設計通常針對軟件的功能模型、網絡拓撲結構進行設計。 (1)功能模型設計技術
功能模型是指軟件系統的總體功能框架,通常是按層次化分析的方式,構建 軟件的內部功能層次、各層次的內部功能組件/服務/接口等,通過多個功能層次的 組合,形成軟件的總體功能模型。
考慮到本系統的主要目標是對風電管理業務的運維數據進行管理,因此基于 三層架構的軟件模型設計技術比較合適。
在三層架構軟件模型設計技術中,通常按如下思路進行軟件功能層次規劃: ① 視圖層
或者稱之為UI層(User Interface,用戶接口),對軟件的用戶交互接口進行封 裝,為用戶提供功能操作及結果展示的接口支持。在本系統中對應風電數據的管 理界面。
②邏輯層 對軟件系統的核心邏輯進行封裝,組成系統的關鍵服務體系,由一系列的內
部邏輯組件、服務接口等組成。通常情況下邏輯層還與具體的開發技術、平臺和 工具相關,將其中的通用性服務進行組合。在本系統中對應風電數據的業務管理 邏輯服務和組件、模塊等。
③數據層 在部分場合下稱為模式層,主要針對軟件的數據視圖進行維護,在邏輯層的
功能調度下,為系統提供數據服務支持。在本系統中主要對應風電管理的業務數 據視圖,及數據維護的服務接口、組件等。
( 2 )網絡拓撲結構設計技術 業務管理軟件進入了分布式發展階段,其網絡拓撲結構設計的重點在于網絡 模式的選擇,通常包括C/S的客戶端/服務器模式、B/S的瀏覽器/服務器模式,以 及二者結合的混合式模式。
對于本系統而言,其功能架構為典型的分布式業務軟件,應用范圍為四川省 電力公司內部業務網絡。因此當前常見的 B/S、 C/S 網絡模式均可滿足要求。在具 體設計中根據技術儲備進行靈活選擇即可。
2.功能模塊設計技術 功能模塊的設計是業務型軟件系統設計的核心,通常情況下是對功能層次模
型中的邏輯層進行設計。
當前,軟件開發領域中最常用的設計開發技術是面向對象程序設計技術 (Object Oriental,00),即將軟件的內部功能封裝為一系列的類結構Class、服務 接口 Interface 等。
通過類、接口的內部方法接口,利用00面向對象技術中的繼承、關聯、拓 展等工具和技術,按照業務軟件的功能定位和需求,逐步構建出系統的內部邏輯 框架,所有的功能通過類結構的方法接口調用關系實現。
通過 00 面向對象技術,可以將系統的功能邏輯體系進行進一步地封裝,形 成以接口調用關系為基礎的內部邏輯框架,有利于提高系統的開發便利性,同時 對于功能的升級和維護有重要的意義。
在本系統的功能模塊設計中,主要按系統的功能模塊結構及各模塊的內部邏 輯,對其類結構及方法接口、調用關系等進行分析和設計。
3.數據庫設計技術 數據庫設計技術主要是概念設計、邏輯設計和物理設計,對于業務型軟件而
言,概念設計、邏輯設計工作通常基于數據概念結構和邏輯結構分析,對軟件的 數據模型進行設計,得到其E-R (Entity Relationship,實體關系)圖或者數據字典 邏輯結構等。
在本系統設計中,由于其數據范圍集中在風電業務的靜態業務數據層面,因 此數據庫設計主要針對E-R圖進行設計,同時定義和設計數據表的物理結構。
3.1.2系統設計流程
在上述軟件設計技術分析的基礎上,按照總體設計、模塊設計、數據庫設計 的順序,對系統進行分析,設計其功能和技術方案。所采用的設計技術包括層次 模型設計技術、C/S網絡模式技術、類結構設計技術、E-R圖設計技術等,從而建 立系統的功能和技術方案。
系統的設計流程如圖 3-1 所示。
按圖 3-1,在系統功能設計流程中,主要按如下思路進行開展:
1.總體設計
基于層次化設計技術建立系統功能模型,并通過 C/S 網絡模式,規劃系統的 網絡結構。
2.功能模塊設計
基于總體設計,對系統功能模塊進行劃分,并采用OO面向對象程序技術設 計系統各模塊的功能類結構。
3.數據庫設計
分析系統的數據邏輯結構,繪制對應的 E-R 圖,并按數據邏輯結構設計結果, 定義和分析具體的數據表結構。
通過上述設計流程和步驟,按從總體到局部的自上而下的順序,逐步建立起 系統的功能技術方案,為系統的編碼開發提供支持。
3.2系統總體設計
3.2.1功能模型設計
對于本系統的軟件服務功能模型,采用業務型管理軟件最常用的層次化模型
如圖 3-2,在系統的功能模型中,按照其內部功能的類型進行層次劃分和組件 封裝處理,分為UI層、邏輯層和數據層:
1.UI 層(User Interface,用戶接口)
針對系統的內部功能交互界面,將其封裝為統一的用戶交互視圖服務,以客 戶端中的交互界面為核心,在通信服務支持下,建立與服務器的業務通信機制, 為用戶提供功能操作及操作結果展示的界面支持,包括信息管理、計費管理、統 計管理及查詢管理的交互界面等。
2.邏輯層 本系統的核心功能服務封裝為邏輯層,在其中按信息管理、計費管理、統計
管理和查詢管理的內部功能設置,分別封裝對應的功能服務組件及接口,用于響 應客戶端的功能操作請求。
邏輯層對應了系統服務器端的后臺功能邏輯,因此在邏輯層中還設置了與客 戶端進行通信交互的服務功能組件及接口,用于實現客戶端的操作請求接收、邏
輯處理結果的反饋處理等。
3.數據層 封裝本系統中的和風力發電業務管理相關的數據視圖及檢索服務,核心是系 統的后臺數據庫及其關聯的連接服務、查詢服務及更新服務等。
數據層中的數據類型對應了風電管理業務中的靜態數據,包括基本檔案、抄 表相關數據、電能計費及其結算相關數據等。
3.2.2網絡結構設計 網絡結構設計的任務是確立系統的網絡框架及模式,決定了系統的研發技術 方案及功能發布、部署方式。
出于安全性的考慮,系統選擇了 C/S的客戶端/服務器網絡模式,具體網絡結 構如圖 3-3 所示。
按圖 3-3所示,在系統網絡結構中包含的網段資源主要有服務器所在的公司機 房網絡、客戶端所在的辦公業務網絡,以及連接二者的電力通信專網 3 個網段。 各個網段之間通過路由器設備進行連接。
網絡通信環境為 TCP/IP 協議族的以太網環境。其中的所有網絡節點,包括服 務器節點(數據庫、服務器)、客戶端節點、路由器節點等,全部基于四川省電力 公司提供的硬件設備實現。
同時,為了系統的網絡安全防護,在公司機房網絡的入口處部署防火墻裝置, 具體采用硬件防火墻,實現對客戶端發送的管理請求進行安全過濾,保障進入系 統的網絡請求全部為合法請求。
在服務器端,提供系統功能發布的服務器和數據庫采用雙機并行部署架構, 并基于機房內部網絡進行數據庫的連接和操作處理。
采用如圖 3-2所示的網絡結構,可以充分利用四川省電力公司目前現有的網絡 資源,同時兼顧系統的安全性、應用便利性和未來的功能維護工作的可行性,并 提高系統運行的健壯性。
另外,由于目前的分布式網絡應用對于具體網絡模式的選擇比較靈活,因此 采用 B/S 網絡模式,以 Web 服務的方式進行系統開發,也可滿足要求。
在實際設計中,本系統最終選擇的是C/S網絡模式,通過專用客戶端軟件及 自定義通信服務,在公司內部業務網絡環境中,完成對應的風電信息管理功能及 服務。
3.3 功能模塊設計
在系統的功能模塊設計中,首先基于其功能需求分析,對其用例結構進行模 塊劃分,建立系統的功能模塊結構。
對于本系統而言,作為比較典型的業務管理軟件,其功能用例結構可直接映 射為對應的功能模塊,并對其內部子用例進行子模塊映射。
基于上述原則,可得到系統的功能模塊結構如圖 3-4 所示。
按圖 3-4,系統的功能模塊分為信息管理、計費管理、統計管理、查詢管理, 內部子模塊的劃分和其功能用例結構相互對應。
本節按圖 3-2的模塊結構,對各個模塊的內部邏輯進行設計分析。
在具體設計中,由于系統基于面向對象(Object Oriental)軟件技術,因此其 設計工作主要是對其功能類結構進行設計,分析其功能結構及其內部方法接口, 通過類結構可以將各模塊的內部功能封裝為對應的軟件方法接口,為后續功能的 編碼工作提供支持。
檔案維護 計費參數維護 制定抄表計劃 抄表數據錄入 退補數據錄入 電費結算 電費預審核 單戶審核 批量審核 單戶打印 批量打印 電站基本情況統計 電站月報表 電站年報表 電站年度結算統計 生產進度表統計 結算統計表 檔案查詢 結算單查詢 抄表數據查詢 電量電費走勢圖
圖 3-4 系統功能結構
在類結構設計中,采用如下原則和思路:
1.由于各模塊功能在邏輯上是一個整體,因此類結構的設計分為各模塊內部 功能類及通用功能類,例如數據庫類等。
2.各模塊內部的子功能,按其邏輯功能定位及需求,分別進行對應的類結構 方法接口封裝和定義。
3.基于各模塊的功能定位及內部邏輯,按組件接口及松耦合的原則,建立起 類結構之間的接口調用關系。
通過上述設計原則,可以建立內聚式的功能模型,各模塊的內部功能高度封 裝,利用類結構的接口簡單交互即可實現。
在后續功能維護和升級中,部分功能的變化不會對其他模塊、流程造成影響, 只需要保持接口一致即可。
3.3.1信息管理功能設計
1.設計思路 在信息管理模塊內部,包含風電檔案維護、計費參數、抄表計劃、抄表數據 及退補數據等信息的管理服務。
按內部功能的類型及定位,其中的抄表數據和退補數據均屬于抄表計劃執行 過程中產生的業務數據。
因此,在類結構設計中將上述兩類數據的錄入管理封裝為一個功能類,其余 的子模塊則分別按其內部邏輯進行類結構設計。
同時,在類結構中還需實現基于數據庫接口服務的數據庫類,用于為其他類 結構提供數據庫服務支持。
2.類結構定義 因此,基于上述分析和類結構設計思路、方法,得到信息管理模塊的類結構 如圖 3-5 所示。
圖 3-5 信息管理模塊類結構
按圖 3-5 ,在信息管理功能模塊中,將電站檔案管理功能封裝為管理類 StationArchiveManage,將計費參數管理功能封裝為FeeArgumentManage管理類, 將抄表計劃制定功能封裝為 MeterReadingPlan 類,將抄表數據和退補數據的維護 封裝為 MeterReadingDataManage 管理類。
同時將數據庫的操作服務封裝為 Db 數據庫類。數據庫類是本系統的功能類結 構,封裝和數據庫連接,及數據的查詢、更新、刪除等通用性功能服務接口。在 信息管理模塊中,各個管理類的后臺業務數據管理均基于 Db 數據庫類的接口調用 實現。
3.類結構方法接口定義 信息管理模塊各功能類的內部方法定義說明如表3-1 所示。
表 3-1 信息管理模塊類結構定義思路及方法說明表
類結構名 功能定位 方法接口定義及說明
StationArchiveManage 風電電站
檔案管理 其中定義所有電站列表加載、新增電站、檔案 詳情加載、檔案基本信息管理、計劃電網檔案 管理、線路變壓器檔案管理、表計信息檔案、 電量電費檔案的管理等方法接口
FeeArgumentManage 風電電站
電量計費
參數管理 其中定義風電電站的計費參數加載、基本計費 參數維護、峰谷端計費參數維護、用電端積分 參數維護等方法接口
MeterReadingPlan 風電電站 抄表計劃 管理 其中定義風電電站的列表加載、抄表計劃創建、
抄表計劃查詢、抄表計劃詳情查看等方法接口
MeterReadingDataManage 風電電站 抄表及退 補數據管 理維護 其中定義風電電站抄表過程中的抄表月度設 定、抄表計劃列表加載、抄表數據錄入與修改、 退補數據錄入、抄表數據換表、抄表數據和退 補數據更新等方法接口
在信息管理模塊的功能處理過程中,按照用戶的客戶端操作請求,分別通過 表3-1中的各個管理類進行接口調用,并通過Db類中的數據庫操作接口,對后臺 數據庫中的風電電站檔案數據、計費參數數據、抄表計劃數據、抄表及退補數據 等進行對應的增刪改查等。
3.3.2計費管理功能設計
1.設計思路
在計費管理功能中主要封裝了對風電的電量計費相關的業務管理功能,其中 包含各個風電電站的電費結算和歸總、電費數據預審處理、電費臺賬更新等方面, 可以對風電電站的計費過程及業務數據進行集成維護。
按照其功能需求及內部子模塊結構的劃分,共計包含電費結算、電費預審核、 單戶審核、批量審核、單戶打印、批量打印等子模塊。
在計費管理模塊的類結構設計中,對于單戶打印、批量打印等只和在線打印 功能相關的子模塊封裝為一個打印類;同時對于單戶審核和批量審核處理,由于 其區別僅在于審核的目標數據量,因此可將其封裝為一個審核管理類。
對于電費結算及預審核處理,則按其內部邏輯分布進行對應的功能類結構定 義與封裝。
2.類結構定義 因此基于上述設計思路分析,得到計費管理功能模塊的類結構定義如圖 3-6 所示。
圖 3-6 計費管理模塊類結構
如圖 3-6,在計費管理模塊中按照前述分析進行類結構的定義與設計。具體而 言,通過對電費結算功能封裝為 StationFeeSettle 管理類,將電費數據的預審管理 封裝為 StationFeePreview 管理類, 同時對電費階段的單戶、多戶審核封裝維護 StationFeeAudit審核類,與計費數據在線打印相關功能封裝為StationFeePrint類。 同時,所有的數據庫操作基于Db數據庫類實現。
另外,由于在審核管理和打印管理過程中涉及到計費數據的在線導出,在設 計中將導出文件類型規定為Office Word和EXCEL等辦公文件,因此還定義了 NPOI通用接口,在其中封裝和NPOI組件(免費開源的第三方Office文件處理組 件)相關的 Office 文件管理功能。
對于打印服務,通過封裝 Printer 打印機服務接口,定義對應的 Printer 系統接 口,為 StationFeePrint 打印功能類提供打印機服務接口的調用支持。
3.類結構方法接口定義
計費管理模塊各功能類的內部方法定義說明如表3-2所示。
表 3-2 計費管理模塊類(接口)結構定義思路及方法說明表
類結構名 功能定位 方法接口定義及說明
StationFeeSettle 風電電站的電費結算
管理 其中定義風電電站列表加載、待結算電站設 置、電費結算、結算狀態及結果更新等方法
StationFeePreview 風電電站的電費預審 核管理 其中定義結算列表加載、風電電站選擇、計
費結算結果預審核及狀態更新等方法
StationFeeAudit 通過預審核之后的計 費終審管理 其中定義風電電站加載、待審核電站選擇、 結算報告創建、結算方法設置、意見錄入、 單個審核、批量審核及審核結果更新等方法
StationFeePrint 計費數據的在線打印
管理 其中定義風電電站列表加載、計費結算報告 創建、結算結果加載、加載結果打印預覽和 在線打印等方法
接口 功能說明 方法接口定義及說明
NPOI 提供數據導出中的
Office 文件管理接口 封裝 NPOI 第三方服務包功能接口,定義 Word、EXCEL 文件的創建、流處理及預覽 等方法,在調用過程中進行重寫
Printer 提供計費數據在線打 印服務接口 封裝 Printer 打印機系統服務功能接口,定義 網絡打印機的加載、在線打印、參數設置等 方法,在調用過程中進行重寫
如表 3-2所示,在計費管理模塊的類結構中除了各個業務管理功能類之外,還 涉及NPOI和Printer兩個功能接口,分別實現對NPOI第三方組件和系統的Printer 打印機服務接口的封裝。
在功能處理中分別實現和Word、EXCEL相關的Ofice文件處理,以及在線 打印的相關功能。在具體調用過程中,需按調用的上下文環境對其方法接口進行 重寫后再調用。
3.3.3統計管理功能設計
1.設計思路
在統計管理模塊中主要實現對風電管理業務中的相關數據進行在線統計,按 其功能需求及子模塊劃分,統計的業務數據主要分為電站基本信息、月度和年度 (結算)報表、生產進度表等方面。由于在統計過程中采用的統計方法主要是數 據列表加載、求和、均值等簡單的方式,因此統計邏輯可直接通過Db數據庫類實 現。其余的相關功能類則按對應的統計目標進行分別設置。
2.類結構定義
基于上述分析得到統計管理模塊的類結構如圖 3-7所示。
圖 3-7 統計管理模塊類結構
按圖3-7所示,對統計管理模塊中的 6個子模塊分別進行類結構封裝,得到其 中的電站基本情況統計功能類為StationBasicStatistic,電站計費結算月報和年報統 計管理類分別為MonthAccountTable和YearAccountTable,電站并網年度結算報表 的統計管理類為AnnualAccountReport,生產進度統計類為ProduceScheduleTable, 結算統計類為 AccountStatisticTable。
同時,對于統計管理模塊中的數據導出、在線打印等功能,采用和計費管理 模塊類似的方式,定義NPOI和Printer接口來實現上述功能。
3.類結構方法接口定義 統計管理模塊各功能類的內部方法定義說明如表3-3 所示。
表 3-3 統計管理模塊類結構定義思路及方法說明表
類結構名 功能定位 方法接口定義及說明
StationBasicStatistic 風電電站基本情 況統計 其中定義電站基本情況查詢、查詢結果的容 器化處理等方法,直接以容器封裝結果返回 數據檢索列表作為統計結果
MonthAccountTable 風電電站結算月 報表管理 其中定義月度結算數據檢索、報表創建(基 于 NPOI )、報表預覽、報表導出、報表打印
(基于Printer)等方法
YearAccountTable 風電電站結算年 報表管理 其中定義年度結算數據檢索、報表創建(基
于NPOI)、報表預覽、報表導出、報表打印
(基于Printer)等方法
AnnualAccountReport 風電電站并網年
度結算報表管理 其中定義電站并網年度數據查詢、報表創建
(基于NPOI)、報表預覽、報表導出、報表 打印(基于Printer)等方法
ProduceScheduleTable 風電電站生產進 度統計管理 其中定義風電電站生產進度數據查詢、報表
創建(基于NPOI)、報表語言、報表導出、 報表打印(基于Printer)等方法
AccountStatisticTable 風電電站結算統 計管理 其中定義風電電站的結算進度數據查詢、結
算進度報表創建(基于NPOI)、報表預覽、 報表導出、報表打印(基于Printer)等方法
如表 3-3 所示,在統計管理模塊的類結構中,除了風電電站基本情況統計管理 直接通過 stationBasicStatistic 類,在 Db 數據類的檢索服務支持下,直接以數據檢 索結果作為統計結果之外。
對于其中的結算月度/年度表表、并網年度結算、生產進度及結算總體概況的 統計處理,其對應的管理類中設置類似的方法接口,分別通過NPOI和Printer接 口,將Db數據庫類檢索和統計得到的結果,封裝為基于Word、EXCEL文件類型 的統計報表,同時提供基于Printer接口的在線打印、預覽等服務接口。
3.3.4查詢管理功能設計
1.設計思路
在查詢管理功能模塊中,主要包括了對公司各風電電站的檔案信息、結算單 信息、抄表數據、電量電費數據的在線查詢。
由于系統的所有業務數據均采用數據庫作為中介工具進行維護和保存,因此 上述數據的查詢服務全部通過數據庫檢索的方式得到。
因此,在具體的類結構設計中,基于 Db 類的數據庫檢索服務是核心目標,同 時還包含了基于圖形化的電費電量走勢圖的創建和可視化。
各個子模塊的功能類結構分別按其內部模塊邏輯進行封裝,同時包含Db數據 庫類。
電費電量走勢圖的可視化功能則通過自定義的圖形化功能類進行封裝,在其 中實現對查詢結果數據的圖形化轉換、可視化封裝及更新處理。
另外,對于各個子模塊中定義的查詢結果數據的導出處理,采用和其他模塊 類似的思路,將其封裝為基于NPOI的服務接口,利用其中的Office Word、EXCEL 文件的處理接口,實現待導出數據的文件封裝和在線下載。
對于查詢結果的在線打印,同樣基于Printer的系統打印機服務接口封裝,實 現數據的在線打印等功能接口支持。
2.類結構定義
基于上述類結構和接口封裝設計思路,得到系統的查詢管理模塊的類結構如 圖 3-8 所示。
按圖3-8,在查詢管理模塊的功能類結構中,將風電電站檔案的查詢封裝為 ArchiveQuery類,將結算單查詢功能封裝為AccountBillQuery,將風電電站的抄表 數據查詢功能封裝為MeterReadingQuery類,將風電電站的電費電量走勢圖數據查 詢及圖形化管理功能封裝為 PowerFeeDiagram 類。
同時,在其中還包含了 Db 數據庫操作類,用于提供后臺數據庫的檢索接口支 持。另外還包含 NPOI 接口和 Printer 接口。
對于電費電量走勢圖的圖形化邏輯,采用自定義的DiagramService圖形服務
類進行處理,在該類中基于圖形編程技術進行接口封裝,實現柱狀圖等圖形的封
裝、創建及可視化,為 PowerFeeDiagram 類提供接口支持。
Systeminterface «Printer»
-PrinterListo
-printDataBuffer
-printParameter
+EnumPrinter()
-)+Print() +SetPrinterParameter()
7K
PowerF eeDiagram
-queryParameter: :string[]
?q ucryRct::byte[]
+queryStationPowerFee() +createPowerFeeDiagram() +previewPowerF eeDiagram() +exportPowerF eeDiagram() +printPowerF eeDiagram() +setPowerF eeQueryParameterQ
圖 3-8 查詢管理模塊類結構
3.類結構方法接口定義 查詢管理模塊各功能類的內部方法定義說明如表 3-3所示。
表 3-4 查詢管理模塊類結構定義思路及方法說明表
類結構名 功能定位 方法接口定義及說明
ArchiveQuery 風電電站基本檔案查 詢管理 其中定義風電電站的列表加載、基本數據 檢索、計劃電網檢索、表計數據檢索、電 量電費檢索等方法接口
AccountBillQuery 風電電站結算單數據 查詢管理 其中定義電站結算單數據檢索、創建 Word 形式的結算單、結算單內容預覽、結算單 導出和打印等方法接口
續)表 3-4 查詢管理模塊類結構定義思路及方法說明表
類結構名 功能定位 方法接口定義及說明
MeterReadingQuery 風電電站抄表數據查 詢管理 其中定義風電電站的抄表數據檢索、查詢
條件設置等方法接口
PowerFeeDiagram 風電電站電費電量數
據查詢及走勢圖管理 其中定義電費電量數據檢索、走勢圖創建、 走勢圖預覽、走勢圖數據導出、走勢圖打 印等方法接口
DiagramService 為 PowerFeeDiagram 類提供圖形化服務接 口支持 其中定義圖形化數據容器對象、按類型進 行統計圖創建等方法接口,基于第三方圖 形化包組件實現
需要說明的是,在表 3-4中的 DiagramService 圖形化服務類,其中需要創建基 于柱狀圖、曲線圖的電費電量走勢數據的圖形。
目前的數據統計圖技術主要為第三方圖形包組件技術,利用這些組件技術可 以直接將格式化的數據封裝為數據容器對象,在此基礎上基于所設置的圖形參數, 直接得到圖形結果。
因此,在Diagram Service服務類中也采用相同的技術方案進行接口設計,具 體選擇的圖形包組件技術在系統實現章節中進行分析和介紹。
3.4數據庫設計
按照系統的功能設計流程,數據庫的設計主要分為基于E-R圖的概念結構設 計和數據物理表結構的設計,本節對數據庫設計工作進行分析和介紹,考察具體 的數據E-R圖,及部分關鍵數據表的結構設計。
3.4.1概念結構分析
在本系統的數據概念結構分析中,參照風電電站靜態數據管理的業務內容及 流程,同時按照系統的功能模塊劃分及內部功能子模塊,考察分析其中涉及到的 數據類型及關系。
通過分析,得到系統數據庫中的主要數據類型包括:
1.風電電站相關數據 包括風電電站的基本信息,及其關聯的電量電費、線路變壓器、計劃電量、
表計信息等。
2.抄表計劃相關數據
包括具體的抄表計劃基本信息,以及抄表計劃執行之后的抄表數據結果、退 補數據等。
3.電量電費相關數據 包括電量電費結算結果,及其參照的基礎參數、豐枯參數、峰谷參數等計費 參數數據等。
對上述各類數據進行實體封裝,考察其中存在的邏輯關系,得到系統的數據 E-R 圖如圖 3-9 所示。
圖 3-9 系統數據 E-R 結構圖
按圖 3-9,在系統的數據實體及其關系中,風電電站、抄表計劃和計費參數是 主要的數據實體及關系點。
同時,在實際開發中涉及到的數據實體相對更為復雜,包含了眾多輔助性信 息,例如用戶信息、地理位置信息等。
由于本文主要關注的是系統的核心邏輯服務的設計與開發,因此在圖 3-9 中對 系統的數據E-R圖進行了適當的簡化。
3.4.2數據表結構設計 在系統數據庫的概念結構分析基礎上,本節分析和設計數據庫的表結構,并 展示和說明部分關鍵數據表的結構定義。
其中,在各個數據表字段類型的定義中,其中的 integer 表示整型數, varchar 表示可變長的字符串類型,date表示日期/時間類型,float表示浮點類型。在具體 的數據表導入過程中,按所選數據庫工具的數據類型結構定義,進行對應的轉換 和錄入即可。
1. 風電電站基本信息數據表 風電電站數據表是系統數據庫中的關鍵表,用于存儲公司目前現有的各個風 力發電廠的基本信息,是構建風電電站檔案的重要數據基礎,其表結構如表3-5 所示。
表 3-5 風電電站基本信息表
屬性字段 中文含義 數據類型 字段約束
S CODE 風電電站內部編號 int 主鍵
S STATUS 風電電站的運行狀態 int 關聯外鍵,非空
S SERIAL 內部業務排序號 int 關聯外鍵,非空
S RSERIAL 業務報表內部序號 int 關聯外鍵,非空
S TOFFMODE 風電電站套表扣減模式 int 關聯外鍵,非空
S NAME 風電電站全稱 varchar(20) —
S ADDRESS 建設位置詳細地址 varchar(100) —
S DEPNAME 關聯供電企業名稱 varchar(100) —
S MANAGER 運維管理負責人 varchar(10) 關聯外鍵,非空
S TELPHONE 電站管理聯系電話 varchar(15) —
S CODETYPE 電力生產類型 int 關聯外鍵,非空
S PERFCODE 行業批復及許可證號 varchar(50) 關聯外鍵,非空
S PERFTIME 行業批復及許可時間 date —
S TYPE 電站電力生產性質 int 關聯外鍵,非空
S MECHNUM 內部風力發電機組量 int 單位:套
S MECHVOLUM 額定的發電裝機量 int 單位:kwh
S VOLUMCONT 發電裝機量組成說明 varchar(30) —
續)表 3-5 風電電站基本信息表
屬性字段 中文含義 數據類型 字段約束
S LOADAMOUT 風電電站的額定負荷值 int 單位: kw
S STATCOUNT 風力發電子站數量 int —
S METERDATE 設定的每月抄表日期 int 取值范圍: 1-31
S RECPRICE 公司批復的上網電價 float(6,2) 正的浮點數
S PRICERATE 上網電價的稅率值 float(5,3) 正的浮點數
S RECCODE 電站并網的批復文號 varchar(50) 關聯外鍵,非空
S NETAREA 電站并網的供電網名稱 varchar(20) —
S NETSTAT 電站并網的主變電站名稱 varchar(30) —
S LINENAME 電站并網的主線路名 varchar(20) —
S VLEVEL 電站并網的電壓等級 int 單位: kv
S SWITCHCODE 電站并網的主開關編號 int 關聯外鍵,非空
S USERNUM 供電區域的用電戶數量 int —
S NETDATE 電站并網的日期 date —
S INDEX 對電站的備注說明信息 varchar(200) —
2. 抄表計劃信息表 在抄表計劃信息表中保存各個風電電站的抄表工作規劃信息,由管理人員按 計劃內容進行現場抄表,其抄表數據是電量計費及審核管理的重要基礎信息,其 結構如表 3-6 所示。
表 3-6 抄表計劃信息表
屬性字段 中文含義 數據類型 字段約束
P CODE 抄表計劃內部編號 int 主鍵
P STACODE 抄表計劃關聯的風電電站 int 關聯外鍵,非空
P STATUS 抄表計劃當前的狀態 int 制定中、已實施
P MONTH 抄表計劃關聯的計費月 varchar(10) 格式:年份月份
P NAME 抄表計劃名稱 varchar(30) —
P METERDATE 抄表計劃中規定的抄表日期 date 取值范圍: 1-31
P STATDATE 抄表計劃生效開始日期 date —
P ENDDATE 抄表計劃生效結束日期 date —
3.抄表結果信息表 抄表結果信息表主要用于保存管理人員按照抄表計劃,在各個風電電站內部 抄錄得到的表計數值,按照實際的抄表工作記錄,在本系統中批量導入或人工錄 入,是進行電費計費、結算、審核等后續處理工作的重要基礎數據,其結構如表 3-7 所示。
表 3-7 抄表結果信息表
屬性字段 中文含義 數據類型 字段約束
MD CODE 抄表數據自動編號 int 主鍵
MD STATCODE 關聯的風電電站編號 int 關聯外鍵,非空
MD STATNAME 關聯的風電電站名稱 int —
MD TABCODE 抄錄的電表出廠表號 varchar(20) 關聯外鍵,非空
MD TABID 抄錄的電表編號 int 關聯外鍵,非空
MD DMODE 抄錄上、下網標記 int —
MD POINT 抄錄的計量點名稱 varchar(100) —
MD TABTYPE 抄錄的電表類型 varchar(100) 關聯外鍵,非空
MD METETIME 本次抄表的時段標記 int —
MD READDATE 本次抄讀的發電量值 varchar(15) —
MD RATE 抄表數據的加權倍率值 int 正整數
MD LASTTIME 上次抄表時間 date —
MD LASTVALUE 上次抄表計數值 float(20,8) —
MD TIME 本次抄表時間 date —
MD_VALUE 本次抄表計數值 float(20,8) 需大于 MD_LAST
VALUE 值
MD VALUESCOP 兩次抄表的計數差 int 正整數
MD_PLUSMRO 本次抄表數據經核算之 后的加減電量 int —
MD_PVALUE 本次抄表數據經核算之 后的發電量 int 正整數
MD_READPVALUE 本次抄表前后的抄見電 量實際值 int 正整數
MD_PLUSMRORE 本次抄表數據核算之后 的加減電量原因 varchar(200) —
4.電費退補信息表 電費退補信息表主要保存經過對抄表數據進行核算之后,按照計費稅率及其 他退費、補費規范,進行的電費差值運算后得到的結果,是進行電量計費的最終 依據,其結構如表 3-8 所示。
表 3-8 電費退補信息表
屬性字段 中文含義 數據類型 字段約束
TB CODE 退補信息的數據編號 int 主鍵
TB_STATCODE 關聯的抄表數據的風 電電站編號 int 關聯外鍵,非空
TB_STATNAME 關聯的抄表數據的風 電電站名稱 int —
TB MONTH 本次退補的計費月 varchar(20) 格式:年份月份
TB TYPE 數據的類別標簽 int 退費(1)、補費(2)
TB BUSCONT 退補數據的業務描述 varchar(30) —
TB_PLANCODE 本次處理的抄表數據 關聯的抄表計劃 int 關聯外鍵,非空
TB PRICE 計量電費的電價值 float(10,8) —
TB NONTAX 核算后的無稅電費 float(20,8) 正數
TBTAX 核算后的應繳稅金 float(20,8) 正數
TB TAXFEE 核算后的含稅電費 float(20,8) 正數
TB_FLAG 本次推出處理的計量 標記標簽 int 已計量(1),未計量(0)
TB MANAGER 退補操作的管理人員 varchar(10) 關聯外鍵,非空
TB DEPMAME 退補操作的業務部門 varchar(20) —
TB BUSITIME 退補業務的操作事件 date —
除了上述數據表之外,本系統的數據庫中還需定義用戶表、風電電站的電表
信息表、計量點信息表、抄表類型說明表等數據運維管理的輔助表結構。
限于本文篇幅,本節不對這些非關鍵的數據表結構進行展示和說明。
3.5本章小結
本章對系統進行了詳細設計,介紹了系統的功能設計技術及總體設計思路、 步驟與方法。隨后對系統的總體方案進行設計分析,并劃分系統的內部功能模塊, 采用00面向對象程序設計技術,分析和設計了系統各模塊的功能類結構,介紹 各個類的方法接口設計思路與結果。最后,對系統的數據概念結構進行分析與設 計,繪制E-R圖,并對部分數據表結構進行設計與說明。
第四章 系統實現
4.1系統開發技術 按照系統的功能設計,所需的開發技術包括了軟件編程技術、數據庫技術、 各類插件技術等,本節對系統在研發過程中采用的開發技術、工具、平臺等進行 簡要闡述與說明。
4.1.1C#.NET 技術
按系統的功能設計,主要采用了 00面向對象程序設計與研發技術。目前在 C/S的分布式業務軟件開發中,Java和.NET是最常用的兩大技術平臺。
Java和.NET平臺均實現了基于00面向對象的程序開發技術框架,開發語言 分別為Java語言和C#/托管型C/C++等語言。同時在技術成熟度、開發便利性等 方面,兩大平臺各有特色。
在本系統開發中,主要采用.NET平臺進行,編程語言選擇其中的C#技術。
C#技術提供完全面向對象的開發支持,并基于.NET平臺中的.NET Framework功能 框架組件,可快速實現復雜邏輯的代碼編程、部署和發布。
同時C#技術的語言編碼規范簡單、可讀性強,并提供了動態內存資源的安全 監測和回收機制,開發人員可只關注軟件系統業務邏輯的服務開發,而不需要考 慮各類對象的資源管理及回收處理等。
因此,鑒于上述技術現狀和特點,本系統采用了.NET平臺的C#技術進行功能 編碼與開發。
4.1.2SQL Server 技術 在本系統中,數據庫是重要的基礎組件,主要為系統提供風電信息管理過程 中的業務數據存儲和維護。
目前的數據庫工具主要包含SQLServer、Oracle、MySQL等,這些數據庫均 實現了基于關系型代數理論的新一代數據庫技術框架,并支持標準的SQL編程語 言的接口支持。
對于本系統而言,數據庫主要作為業務信息的后臺存儲,因此當前的主流數 據庫均可滿足要求。同時,在.NET平臺中提供了針對數據庫的ADO.NET統一數 據源開發組件,可將不同類型數據庫的連接服務、SQL指令管理服務及數據源的 維護服務,統一采用公共類結構進行開發實現。
因此,根據目前公司已經采購的數據庫工具,本系統選擇了 SQL Server 數據 庫,版本為 2016 版本。
在SQL Server數據庫中實現了基于客戶端、服務器的分布式數據維護服務, 并提供了數據安全管理、物理存儲優化服務、數據分析組件等其他特色服務接口, 完全可滿足本系統的數據管理要求。
在具體開發中,可以通過ADO.NET組件公共類庫中的Sql系列類結構,對系 統的Db數據庫類進行封裝,將數據庫的連接、SQL指令創建、SQL指令執行、 執行結果維護及數據庫服務資源管理等全部通過標準的方法接口調用進行處理, 并可實現數據庫操作的并行化,提高數據庫的操作效率。
4.1.3插件開發技術
除了軟件開發技術和數據庫技術之外,按照本系統的功能模塊類結構設計, 其中還包含了 NP0I插件及Printer打印機服務、圖形化服務插件等技術,分別為 系統提供Office文件管理、在線打印、統計圖處理等服務支持。
1.NP0I 插件技術
NP0I 插件是一套面向對象的 Microsoft 0ffice 文件開發組件技術,可支持 Java、.NET等常見平臺的開發。
在NPOI插件中采用開源方式封裝了 Word、EXCEL等Office文件的創建、屬 性設置、內容填充、文件保存、格式設置等接口。
通過 NPOI 插件技術,可以將其功能包引入到本系統開發空間,隨后通過接口 聲明的方式,快速實現Word、EXCEL文件的開發。
同時NPOI插件采用開源技術進行發布,其二次開發完全免費,和.NET平臺 中提供的基于COM組件的Office文件開發技術相比,NPOI插件的開發效率更高, 且代碼流程更為簡單。
2.Printer 組件技術
在本系統的在線打印服務開發中采用了 Printer打印機組件,目前的軟件開發 平臺中通常都提供了 Printer組件服務。
在.NET平臺的Printer組件服務中提供了網絡打印機設備的在線枚舉、打印機 資源管理、打印效果預覽、打印參數設置、打印數據緩沖及在線打印等通用服務 接口。
在開發中,通過在代碼中引入Printer組件的功能路徑,隨后調用Printer中的 各個功能接口,即可在局域網環境下,自動進行打印機設備的枚舉、打印資源調 用、在線預覽等處理。
3.統計圖插件技術 對于本系統的電量電費走勢圖的處理,需要將從數據庫中查詢到的原始數據 轉換為柱狀圖、曲線圖等進行展示。
目前,在.NET平臺中提供了 CrystalReport水晶報表組件,可實現上述功能。 但是 CrystalReport 組件的功能接口較為復雜,且運行資源占用量較大,總體運行 效率比較低。
因此本系統在開發中,對于統計數據圖形化的功能開發,采用了第三方統計 圖插件技術實現。
目前的統計圖插件數量眾多,并且大多數都支持.NET平臺,例如FreeChart、 FImage 插件等。
這些圖形化開發插件的基本原理比較類似,且開發效率都比較高。本系統采 用了 FreeChart插件,該插件可以通過和.NET平臺中的數據容器技術進行關聯, 且支持面向對象編程。
在具體開發中通過創建FreeChart圖形對象,并設置其圖形化參數,例如顏色、 字體、線條等,隨后定義.NET平臺的數據容器對象進行目標數據保存,并將其關 聯到FreeChart對象的數據源屬性,即可自動創建對應的統計圖文件。
4.2 系統模塊實現
4.2.1信息管理功能實現
在信息管理模塊中主要包含了風電電站的檔案維護、計費參數維護、抄表計 劃制定、抄表數據錄入、退補數據錄入等功能。
本文以其中的檔案管理、抄表數據及退補數據錄入為例,分析其實現方法、 思路、代碼和效果。
1.檔案管理功能
在檔案管理功能的實現中,主要通過StationArchiveManage類接口處理。首先 按照客戶端提交的風電電站檔案管理參數,利用 Db 數據庫類檢索和加載所有的風 電電站信息,并以列表形式進行加載和返回。
隨后,基于檔案管理的參數及管理類型,在已檢索的風電電站列表基礎上, 對系統現存的風電電站檔案進行更新、刪除處理。
如果需要添加新的風電電站檔案,則基于Db數據庫中的更新操作接口,在系 統數據庫中添加新的風電電站信息,包括其基本數據、計劃電網、線路變壓器、 表計數據、電量電費參數檔案等。
基于上述分析得到檔案管理功能的實現流程如圖4-1 所示。
圖 4-1 檔案管理功能實現流程
按圖 4-1,風電電站的檔案管理功能的實現步驟包括如下:
(1)基于 TCP/IP Socket 套接字接收客戶端的管理請求,并按管理請求創建 Db 數據庫類對象,檢索所有的風電電站檔案。
(2)創建.NET平臺提供的TreeList控件對象,并將查詢見過關聯到TreeList 控件節點上,從而加載所有的風電電站檔案列表,其主要代碼如下:
//TreeList控件對象的節點數據設置
foreach(DataObject do in ds){
//創建新的風電電站檔案節點,并設置內容
TreeListItem tli = new TreeListItem();
tli.Item.Value.Set(do.DataValue);
treeList.Items.Insert(tli);//插入到電站檔案列表控件中
(3)如果用戶需要添加新的風電電站,則通過.NET窗體Form接口為用戶返 回添加操作接口支持,并接收用戶錄入的風電電站檔案數據。隨后,通過Db數據 庫類對象進行檔案添加,主要代碼如下:
//實例化Db類并更新其SQL指令屬性
db.Command.CommandString.StringBuilder(insertSql, Arguments(arg[]));
〃執行SQL指令
if(this.sqlCommand.ExecuteWithNonQuery()){
//將新增電站插入到電站檔案列表控件中 treeList.Items.Insert(this.station.Name);
return this.CommandResult;//返回添加成功標記
}
return -1;//返回添加失敗標記
(4)如果需要對風電電站檔案進行其他操作,例如修改、刪除等,則按客戶 端提交的參數獲取目標電站數據。
(5)隨后,按類似的思路創建對應的數據庫SQL指令,并通過如下代碼進行 SQL指令執行和界面控件的內容更新:
//實例化所選的水電電站數據集對象 station.Initialization.Serialization(buff.Content{[‘name']});〃 序列化處理 〃按照實例化結果封裝對應的數據庫SQL指令 db.Command.CommandString.StringBuilder(updateSql, Arguments(arg[]));
隨后,按照類似的方式對上述SQL指令進行執行,并根據SQL指令執行結果, 將其返回到客戶端中。
(6)在完成了風電電站的其他操作處理之后,如果執行成功,則對TreeList 控件中的檔案節點信息進行對應的更新,其代碼如下:
//封裝待更新的數據集對象
ds.Fill(this.DisposeBuffer(BufferType.Serial, Byte.Convert(buff)));
〃按照更新結果,對比TreeList節點對象的屬性,并進行更新處理
for(int i = 0; i < ds.DataBuffer.Length; i ++)
{
if(treeList.Items.Ite[i].Compare(ds.Value[i]))
{
//數據需要更新
TreeListItem tli = new TreeListItem();
tli.Item.Value.Set(ds.Value[i]);
treeList.Items.Update(tli);// 更新節點
}
}
通過上述處理之后,可實現對風電電站檔案數據的在線維護。檔案管理功能 的運行界面如圖 4-2 所示。
「檔案維護]國網四川省電力公司
圖 4-2 檔案管理功能界面
在圖 4-2 中,系統基于列表形式展示當前公司的所有風電電站,并按用戶的管 理操作選擇,加載所選的電站檔案信息,同時提供檔案數據的修改、刪除操作服 務。另外,還可通過在其中進行新的風電電站檔案的添加操作。
2.抄表數據錄入功能 在抄表數據的錄入功能中,用戶基于實際抄錄的電量數據,將其以逐條錄入 或批量錄入的方式導入到系統,同時關聯對應的抄表計劃,對計劃的實施狀態及 結果進行對應的更新。
在服務器端則通過 Db 數據庫類對象的接口,將其保存到抄表數據信息表中進 行保存。
上述功能基于 MeterReadingDataManage 類對象的接口實現,其功能流程如圖 4-3 所示。
圖 4-3 抄表數據錄入功能實現流程
按圖 4-3,在抄表數據錄入功能的實現過程中,主要包括如下步驟:
(1)基于 TCP/IP Socket 套接字接收客戶端的管理請求,并按管理請求獲取 其關聯的抄表計劃,并通過 Db 數據類對象接口調用,檢索本次抄表數據錄入關聯 的抄表計劃詳細數據。
(2)隨后,按照用戶的抄表數據錄入請求,獲取客戶端提交的抄表數據。其 中抄表數據的獲取方式包含逐條錄入、批量錄入兩種方式,其處理的主要代碼分 別如下:
//抄表數據的逐條錄入
foreach(DataObject do in this.commandBuff){
//按錄入條目進行逐個添加 db.Command.CommandString.StringBuilder(insertSql, Arguments(arg[])); sqlCommand.ExecuteWithNonQuery()
flag++;〃添加標記更新
}
//抄表數據的批量錄入
sqlCmd = db.Command.PatchCommand.StringBuilder(patchInsertSql,
patchList{ [buff.Length]},// 批量添加數量
PatchCommandFormat.INSERTDISPOSE,// 添加模式為更新插入 );
//批量執行添加指令
try{ adoService.PatchInsert(sqlCmd);
}catch(AdoServicePatchException ex){
…//異常捕獲與拋出
}
通過上述分析,抄表數據的錄入功能相對較為簡單,對于批量錄入功能則需 通過ADO.NET組件中的批量SQL指令,以INSERT和DISPOSE模式進行批量插 入,更新數據庫中的抄表數據。逐條錄入功能則直接利用SQL指令的循環執行來 實現。以抄表數據的逐條錄入功能為例,其運行界面如圖4-4 所示。
圖 4-4 抄表數據錄入界面
按圖4-4,系統在抄表數據的逐條錄入過程中,通過加載待錄入的風電電站列 表。隨后,為用戶提供當期抄表數據的錄入接口,并展示關聯的抄表計劃的相關 數據,包括其表計類型、上次抄表時間、抄表結果等。
3.退補數據錄入功能 退補數據錄入功能的實現流程和抄表數據錄入功能基本相同,區別在于需要 對退補數據進行在線核算,同樣基于 MeterReadingDataManage 類結構接口實現, 其功能實現流程如圖4-5 所示。
圖 4-5 退補數據錄入實現流程
按圖 4-5 所示,在退補數據錄入功能的實現流程中,按照和抄表數據錄入功能 類似的流程進行電站信息及抄表計劃數據的檢索和加載。
隨后,根據用戶提交的退補數據和關聯的計量操作參數,進行無稅、含稅電 費金額,及關聯的稅金金額的計算,計算依據為數據庫中保存的風電電站的計費 參數信息。
上述處理的主要代碼如下:
//總電量>征稅電量
if(sumVol > faxVol){
//計算不含稅電費金額
nonFee = (sumVol -faxVol) * volumePrice;
//計算含稅電費金額
faxFee = faxVol * volumePrice;
}else{ //總電量<征稅電量
nonFaxVol= 0;//不含稅電量直接設置為 0
//僅包含含稅電量
faxFee = sumVol* volumePrice;
}
//計算本期的稅金金額
faxCount = faxFee*faxIndex;
通過上述代碼計算得到含稅、不含稅的電費金額,及當期稅金金額之后,按 和抄表數據錄入類似的流程,將其更新到數據庫中,并對關聯的抄表計劃進行狀 態更新。退補數據錄入功能界面如圖4-6 所示。
圖 4-6 退補數據錄入界面
在圖4-6中,用戶通過選擇對應的風電電站,并在其中查看歷史退補數據記錄。 隨后按上述流程進行對應的抄表計劃選擇、退補數據的錄入處理,實現在抄表數 據的基礎上,對電量電費的更新處理。
4.2.2計費管理功能實現 計費管理功能中主要封裝了對風電的電量計費相關的業務管理功能,其中包 含各個風電電站的電費結算和歸總、電費數據預審處理、電費臺賬更新等方面, 可以對風電電站的計費過程及業務數據進行集成維護。
按照其功能需求及內部子模塊結構的劃分,共計包含電費結算、電費預審核、 單戶審核、批量審核、單戶打印、批量打印等子模塊。
以電費結算、單戶審核、單戶打印為例,分析其功能實現的技術思路、方法 和效果。
1.電費結算管理功能 在電費結算管理過程中,系統主要按照用戶在客戶端的抄表數據錄入結果, 基于風電電站的計費參數對電量電費進行運算處理,運算的電費數據作為結算結 果,并返回客戶端進行列表顯示。
電費結算管理功能的實現基于 3.3.2 節中的 StationFeeSettle 電費結算管理類進 行處理,其中的抄表數據檢索等功基于 Db 數據庫類實現,具體的功能實現流程如 圖 4-7 所示。
圖 4-7 電費結算管理實現流程
按圖 4-7,電費結算管理功能的實現流程中主要包括如下步驟:
(1)在用戶提交了電費結算管理操作請求之后,通過 Db 類進行數據庫檢索, 得到可管理的風電電站數據列表,并以 TreeList 控件在客戶端進行列表展示,為其 提供操作的選擇支持。
(2)讀取用戶提交的風電電站和需要進行電費結算的計費月度。
(3)隨后,通過 Db 類檢索關聯的抄表數據和計費參數,包括費率、核定電 價等。
(4)基于檢索得到的抄表數據及計費參數,通過如下代碼進行電量電費的結 算處理:
//設置電費結算的費率和核定電價 feeCount.Arguments.SetValue(feeRateValue, feePrice); //基于抄表數據檢索結果進行對應的電費運算 feeResult = meterReadingResult * feeCount.feePrice;
feeResult *= feeCount.feeRateValue;
(5)將上述變量feeResult中保存的電費結算結果返回到客戶端中進行展示。 電費結算管理功能的界面如圖4-8 所示。
圖 4-8 電費結算管理界面
按圖4-8 所示,用戶在其中通過選擇電站及其結算計費月度,可同時選擇多個 風電電站作為結算對象。隨后,通過點擊計算,系統按上述流程和代碼,自動進 行抄表數據和計費參數的檢索,并計算得到所選月度的電費,比將其以列表形式 返回客戶端進行展示。
2.單戶審核功能
在單戶核算功能中,主要針對已完成電費結算的風電電站進行單個審核處理, 檢查是否存在計費錯誤。最后,系統按審核結果創建基于Word格式的電費結算書 文件,并將其返回到客戶端中進行可視化顯示。
同時,系統在后臺按照審核結果對所選的風電電站的電費審核狀態進行對應 的更新。
在功能實現中主要通過3.2.2節中的StationFeeAudit功能類實現,其中和電費 結算書創建及內容填充相關的功能,采用基于NPOI組件服務的接口對象實現。同 時還包含電費結算書的在線預覽服務等。
單戶審核功能的實現流程如圖 4-9 所示。
圖 4-9 單戶審核實現流程
按圖 4-9,在單戶審核功能的實現過程中主要包括如下步驟:
(1)采用類似的方式將可選的電站信息進行檢索,并以 TreeList 控件進行客 戶端的列表展示。
(2)隨后,按照用戶所選的計費月度及待審核的風電電站,基于 Db 數據庫 類進行抄表數據和計費數據的檢索。
(3)按照上述數據檢索結果在后臺創建電費結算書,其中包含了當期的抄表 數據、電費結算數據及電站的基本信息。
在創建過程中采用如下代碼流程實現:
① 首先通過 using 語句導入和加載 NPOI 組件的功能組件接口及命名空間, 具體的引用路徑為“npoi.word.interface ”。
② 基于所導入的 NPOI 組件服務接口,創建對應的 NPOI 服務對象: //創建針對 Office Word 文檔的 NPOI 服務對象
NpoiService s = new NpoiService(NpoiInterface.OfficeModeType.Doc);
//通過上述對象 s 創建 Word 文檔對象
docFile = s.Document.CreateNewDocument(tempPath);
//獲取該文檔對象的引用,并將待寫入的抄表數據、電費結算數據、電站信息 寫入文檔,寫入格式為預先設置的 dot 默認格式
docFile.Write(dataSet, NpoiService.OfficeFile.Doc.Format(reportDot.Path));
//刷新電費結算書文檔
doc.Refresh();
〃返回結算書文檔內容,并通過Preview()方法提供預覽支持
doc.Preview();
(4)在完成了電費結算書的創建和返回預覽之后,讀取用戶錄入的單戶審核 結果,并對所選風電電站本月度的電費結算結果的審核結果進行更新,利用Db數 據庫類,將其和抄表數據進行關聯保存。
單戶審核管理的操作界面如圖4-10 所示。
圖 4-10 單戶審核界面
按圖4-10 所示,系統按預先設置的電費結算書,將已經完成的風電電站計費 數據及抄表數據等寫入到Word文檔,并返回到客戶端中進行預覽展示。用戶通過 查看電費結算書,按實際情況進行在線審核,提交審核結果及意見,并提交到系 統中進行保存。
3.單戶打印功能 在單戶打印功能中,主要針對已經通過審核的電費結算數據,將其對應的電 費結算書,利用網絡打印機進行在線打印,同時還包含了打印預覽等其他關聯的 服務。
在單戶打印功能的實現過程中,單戶打印功能采用3.2.2節中的StationFeePrint 類對象,以及Printer在線打印機服務組件的接口進行處理,將待打印的電費結算 書數據進行加載,利用枚舉得到的網絡打印機進行在線打印,其功能實現流程如 圖 4-11 所示。
圖 4-11 單戶打印功能流程
按圖 4-11 所示,單戶打印功能實現流程中的主要步驟和單戶審核功能類似, 但是需要在 Word 格式的電費結算書創建完成之后,需通過 Printer 打印機服務組件 進行在線打印處理,其中的主要代碼流程包括如下:
(1)通過如下代碼基于 Printer 組件接口枚舉所有可用的網絡打印機設備
Printer.DeviceEnum(printerList, PrinterDevice.Mode.Default);//全部枚舉
(2)按照枚舉結果及用戶選擇的打印機設備創建設備對象 Printer.CreateDevice(sd, PrinterDevice.PrintArgument.Default);//默認打印格式 其中的 sd 變量為用戶所選的打印機設備索引編號
(3)將創建的電費結算書內容寫入到緩沖
buffer.F ormat(ByteBuffer.F ormat.Serialized);// 寫入模式為字節序列
buffer.Fill(doc.Content);//doc 為基于 NPOI 組件接口創建的電費結算書文件
(4)如果需要進行打印預覽,則通過 Printer 組件的 PrinterPreview 接口創建 預覽窗口和加載預覽內容
PrinterPreview.PreviewForm.Initialization(sd, buffer);
(5)最后通過如下代碼進行在線打印處理:
sd.Print(buffer);
單戶打印功能的界面如圖4-12所示。
圖 4-12 單戶打印功能界面
按圖4-12,在單戶打印功能中,系統采用和單戶審核類似的界面為用戶提供 電費結算書的查看服務,同時通過點擊打印按鈕,即可按上述功能代碼,在Printer 組件接口支持下進行結算書的在線打印處理。
4.2.3統計管理功能實現
在系統的統計管理模塊中主要針對風電電站的基本信息、月度和年度抄表及 電費結算數據、生產進度信息和結算統計信息等進行在線統計。
按其功能類結構及流程的設計,其中的核心功能是基于數據庫類Db進行目標 信息檢索,隨后進行對應的數據累加、均值等統計運算,并將其返回到客戶端中 進行可視化展示。
同時,在統計管理模塊中還包含基于NPOI的Word、EXCEL文檔的創建和導 出,以及統計結果的在線打印服務等。
在功能實現過程中,上述各類統計服務功能的實現思路和方法基本類似,因 此本文通過對其中的風電電站月報表統計功能進行分析,以此為示例對其功能的 實現工作進行分析和說明。
風電電站月度報表統計功能的實現流程如圖4-13 所示。
圖 4-13 電站月度報表統計功能流程
按圖4-13,月度報表統計功能主要包括數據查詢、統計運算、Word文檔創建、
導出等,其中統計結果文件的導出是基于文件流對象實現,其主要代碼包括如下:
〃創建基于FileStream流對象,同時將該流對象引用接入到月度報表文件 fs.Open(mReport, STREAM_READ_WRITE);
//創建本地 Word 對象,基于 fs 的 Read 接口讀取文件數據 fs.Read(FileStreamMode.STREAM)
//更新文件流對象
fs.Refresh();
隨后基于該文件流,以字節傳輸的方式將電站月報表的統計文件數據傳輸到 客戶端中進行保存。
最后,通過如下代碼關閉文件流對象,釋放相關資源:
//關閉文件流對象
fs.Close();
電站月報表統計功能的運行界面如圖4-14 所示。
0吏詢雹理
£碌直詢
Q般單刪
Q松葫據査詢
按照圖4-14所示,在電站月報表統計功能的運行界面中,系統按照小水電運 維人員選擇的計費月及分組方式等,檢索該月度下的小水電站電費結算數據。在 用戶點擊統計按鈕之后,系統在后臺創建對應的Word報表并返回到客戶端中進行 預覽展示。小水電運維人員可以在其中進行報表的詳情預覽、導出、在線打印等 操作。
4.2.4查詢管理功能實現
在查詢管理模塊的功能實現中,按照查詢管理功能模塊的類結構設計,其中 的檔案查詢、結算單查詢、抄表數據查詢功能的實現流程基本相同,通用的代碼 邏輯步驟包括如下流程:
1.獲取查詢條件;
2.根據查詢條件,調用Db類接口,創建對應的SQL指令并執行;
3.如果是結算單查詢,則通過NPOI功能組件的Word文檔功能接口創建結算 單報表;
4.將上述查詢結果或報表返回到客戶端中進行展示;
5.根據客戶端內的操作提供打印、預覽、導出等功能服務。
上述功能流程在統計管理及其他功能模塊的實現工作中已經進行了介紹,因 此本節重點分析電費電量走勢圖功能實現方法。
該功能主要利用 PowerFeeDiagram 電費電量走勢圖管理類和 DiagramService 統計圖服務類接口實現,其中的圖形創建功能是基于 FreeChart 功能組件的接口調 用實現,具體實現流程如圖 4-15 所示。
在圖 4-15 中和 FreeChart 組件對象相關的功能代碼介紹如下: //創建水晶報表對象
FreeChart crObj = new FreeChart(REPORT_TYPE_BAR, reportImage); //設置數據源
crObj.DataSource.SetSource(ds);//ds 中保存了電費電量的查詢結果 crObj.Refresh();〃刷新,得到統計圖
//如果要導出,則轉換為 Image 對象
Image image = crObj.ExportAsBitmap(path, BITMAP_TYPE_IMAGE); 電費電量走勢圖的功能運行界面如圖4-16 所示。
圖 4-16 電費電量走勢圖界面
在圖4-16 中,系統按查詢條件,檢索對應的電量電費數據,并通過圖4-15所 示的代碼流程創建FreeChart對象,對其進行內容填充和參數設置之后,返回到客 戶端中進行圖形化展示。
4.3本章小結 本章按照風力發電信息管理系統的功能方案設計,基于各個模塊的類結構設 計結果,對其功能實現過程、主要代碼和界面進行了分析和研究,同時對系統所 選的開發技術進行了簡要闡述。
第五章 系統測試
5.1測試方法概述
5.1.1功能測試方法
目前,在計算機軟件系統的測試領域中,功能測試方法主要分為基于黑盒模 式和白盒模式的兩種測試方法:
1.黑盒測試方法 其測試原理是指針對待測試的軟件系統,按照其功能開發要求中的具體目標, 由測試人員向軟件系統中提交各項操作請求。
黑盒測試的基本原理包括如下方面:
(1) 根據軟件系統的反饋信息,由測試人員檢查系統的功能響應是否達到預 期的標準。
(2) 檢驗的預期標準是根據軟件系統的功能開發需求,檢查反饋結構是否和 需求中的預期反饋是否一致。
(3) 如果反饋結果和需求分析中提出的功能目標效果一致,則表明該項功能 達到開發要求,測試通過。
(4) 軟件系統的所有功能均達到了測試標準之后,即可認為其測試通過。
2.白盒測試方法 其測試原理是基于待測試軟件系統的源代碼及邏輯分支、流程等,通過人工 代碼分析的方式,設計針對性的測試信息錄入計劃,對每個功能邏輯分支、流程 進行覆蓋測試。
白盒測試法的基本原理包括如下方面:
(1) 根據軟件系統源代碼的分析結果,對所有的功能邏輯流程分支進行針對 性的測試信息錄入。
(2) 基于軟件反饋信息或中間調試信息,檢查各個功能邏輯流程分支是否符 合預期的功能開發目標。
(3) 檢驗的預期標準是基于源代碼邏輯流程分支的分析結果得到。
(4) 如果所有功能邏輯流程分支的測試均達到預期效果,則軟件系統測試通 過。
基于上述分析可以得到黑盒測試法是按實際的操作情景,進行模擬操作和驗 證;白盒測試法則基于源代碼分析的方式進行路徑和流程覆蓋測試,其測試過程 更為復雜,對于測試人員的技術要求更高。 基于本系統的功能特點,其內部邏輯流程和分支相對較為簡單,因此采用黑 盒測試法可滿足要求,并且測試的工作量會大大降低。
5.1.2性能測試方法 對于軟件系統的性能測試,由于業務型軟件系統通常需要面向多個用戶提供 并發服務。例如本系統中要求的用戶并發標準為500 個。
所以,在實際測試中,目前主要是通過各類自動化的測試工具進行并發模擬, 向系統施加并發壓力,隨后監測和讀取系統的性能表現指標,例如響應時間、資 源占用率等。最后,通過人工驗證的方式,檢查軟件系統的性能是否達標。
在本系統的性能測試中,由于其性能標準主要包括并發能力和響應時間,因 此大多數常用的自動化測試工具均可滿足要求。
在具體的測試中,采用了功能相對輕量級的VTest自動化測試軟件,在VTest 工具中可以通過虛擬用戶的方式進行并發壓力環境的模擬,同時可檢測到系統的 響應時間等主要性能指標數據,可滿足本系統的性能測試要求。
5.2系統測試環境 在本系統的測試中,需要將系統按實際應用環境進行軟硬件部署,以確保測 試結果和實際運行之后的系統表現基本一致。
在測試中,主要的環境配置如下:
1.服務器端配置 服務器包含應用服務器和數據庫服務器,前者部署本系統的軟件功能服務,
后者用于安裝SQL Server數據庫,為本系統提供后臺數據管理和維護支持,并且 全部安裝在公司的信息機房內部。
采用公司提供的 HP ES450 服務器主機,其硬件配置屬于中等水平,并安裝了
Windows Server服務器操作系統,版本為2016版本。同時在服務器主機中安裝.NET Framework功能框架,版本號為4.5版,同時在數據庫主機中安裝SQL Server 2016 數據庫。
2.網絡環境配置 采用公司的電力通信專網,包含了服務器部署的信息機房網絡和用戶所在的
內部業務辦公網。
3.客戶端配置
測試客戶端數量為5臺,全部采用公司配置的辦公PC主機,操作系統為
Windows 7版本,同時在其中安裝.NET Framework 4.5功能框架。最后,在所有的 測試客戶端中安裝本系統的客戶端軟件。
5.3系統測試內容
本系統采用了 C/S 的網絡模式,在測試過程中不僅需要對系統的功能和性能 表現進行驗證,同時還需檢查系統是否能夠正確進行服務安裝、卸載,以及系統 的容錯能力、權限控制、運行穩定性、抗病毒能力,客戶端的操作界面顯示效果 是否符合預期等。
通過對系統的測試類型及內容進行整理,得到如表5-1 所示。
表 5-1 系統測試內容說明表
測試項目 測試說明
安裝
卸載
測試 系統功能服 務安裝 對系統的功能服務進行部署安裝,在客戶端、服務器上線后進
行聯調分析,檢查系統是否可正確進入服務發布狀態
系,硑菝統功能服 務卸,硑菝載 在功能服務安裝測試通過之后,停止服務器的后臺服務并進行
系統功能服務的卸載操作,檢查系統是否和正確被卸載
功能
測試 系統功能服 務集,硑菝成 在系統安裝卸載測試通過之后,對系統的功能進行集成運行,
利用黑盒測試法檢查系統的功能表現在集成后是否達到預期
功,硑菝能效,硑菝果 在功能服務集成測試通過后,由用戶進行模擬試運行,檢查在
實際應用環境下系統的功能表現是否仍可滿足預期要求
安全 及穩 定性 測試 容錯能力驗 證 在功能效果驗證過程中,在系統內錄入隨機的訪問參數和操作 參數等,檢查系統是否能夠對包括非法參數、空參數的異常情 況進行檢驗,并返回對應的提示消息
用戶權限驗 證 檢查系統是否能夠對進入用戶的身份進行權限配置,并對其功 能操作行為進行權限審計
穩,硑菝定性驗證 對系統進行上線運行,并在模擬環境下進行操作應用,檢查系
統是否能夠達到7X24小時的平穩運行要求
界面
測試 界,菝硑面風,菝硑格測 試 檢查系統的客戶端功能界面是否符合預期的界面布局和展示 風格
界,菝硑面操,菝硑作測 試 對系統用戶進行調查,驗證界面的操作方式和展示風格是否符 合日常應用習慣
性能
測試 并,硑菝發運,菝硑行及 性能測試 通過VTest工具模擬并發,驗證系統的響應時間是否達到要求
5.4系統測試結果 按照系統的測試方法及測試內容,通過對系統進行各個方面的表現進行驗證, 對其測試結果進行分析。本節對系統的功能、性能和其他方面的測試結果進行總 結說明。
5.4.1功能測試結果
按照軟件工程專業的測試理論,軟件系統的功能測試結果基于功能BUG (缺 陷)情況來說明,即在功能測試中發現的BUG及其修改通過的情況。
在本系統的功能測試工作中,為了便于對功能BUG進行分類管理,將其分為 如下類型:
1.致命BUG:系統無法正常運行,出現功能無響應、崩潰等情況。
2.嚴重BUG:系統功能響應結果存在邏輯錯誤,例如數據庫檢索結果錯誤、 數據運算結果錯誤等。
3.一般BUG:系統的客戶端界面展示效果不符合預期,例如界面顯示的數據 錯位、控件位置錯誤、數據顯示不全等。
4.輕微BUG:此類BUG不影響功能運行,例如各類TIP提示信息不豐富、 界面效果不美觀等。
通過對系統的功能測試結果進行整理,得到表5-2所示。
表 5-2 功能測試結果表
BUG 類型 BUG 數量 修改率 BUG 說明
致命 BUG 1 100% 對 Printer 系統服務接口的調用方法存在錯誤,導 致對網絡打印機的枚舉過程無法正確進行,使得 在提交了在線打印服務之后,雖然可以進行在線 預覽,但是無法進行在線打印,系統的界面出現 無響應的情況
嚴重 BUG 3 100% 數據庫檢索結果存在錯誤,導致寫入電費結算書 的內容存在錯誤數據,此類BUG是由于Db類中 的數據庫檢索功能的部分代碼存在參數配置錯 誤,導致查詢結果雖然正確,但是在容器轉換過 程中部分數據無法正確進行轉換
一般 BUG 21 100% 系統客戶端界面中的部分控件樣式不正確,包括
字體、列表樣式等,但未出現顯示不全的情況
輕微 BUG 10 100% 客戶端提示消息不豐富,部分操作完成之后,未
及時返回提示消息,部分TIP參數未正確彈窗
從表5-2可以得到,系統的功能測試出現了 1個致命BUG和3個嚴重BUG, 其原因主要是部分關鍵代碼存在錯誤,通過對Printer組件的調用接口代碼、數據 庫類Db的代碼進行檢查和修正之后,上述BUG全部得到修正。
同時,對于一般BUG和輕微BUG,通過對客戶端的界面樣式參數進行修改, 并對消息彈窗的代碼進行修改,所有BUG均未復現,客戶端的界面顯示效果達到 了預期。
綜上可得到系統的功能達到預期開發要求,測試通過。
5.4.2性能測試結果 按系統的非功能需求,其中的性能指標包括并發能力和響應時間,前者的指 標值為500 個,后者為3 秒。
在測試中通過VTest工具進行虛擬用戶加載,加載過程采用如下參數:
1.初始并發用戶量:50 個
2.迭代并發用戶量: 50 個
3.迭代過程時間: 20 分鐘
4.迭代次數: 2 次
5.滿負荷運行時間: 5 小時
通過上述性能測試配置,在5臺測試客戶端的PC主機中,通過兩次加載之后, 模擬出 500 個用戶的壓力環境。
隨后,持續運行 5 小時,通過虛擬用戶對系統進行功能操作。完成之后,讀 取VTest工具的性能監測結果,分析其中的最大響應時間值,只要該值未超過3 秒,則系統性能測試達標。
根據5臺測試客戶端主機中的VTest監測到的響應時間數據,得到系統的性能 測試結果如表5-3 所示。
表 5-3 性能測試結果表
測試客戶端編號 最大響應時間(S) 功能操作量(個) 功能響應正確率
#1 2.14 58,372 100%
#2 2.08 57,991 100%
#3 2.16 58,907 100%
#4 2.11 59,116 100%
#5 2.18 58,086 100%
按表5-3所示,在性能測試過程中,通過5臺測試客戶端主機中的VTest模擬 出500個并發用戶的壓力環境。隨后通過VTest的自動化測試服務,共計向系統提 交了 292472 個操作請求,其功能響應結果全部正確。
同時,在運行過程中得到5臺測試客戶端監測到的最大響應時間為2.18s (#5 測試客戶端),未超過性能需求中提出的3 秒指標值,因此可以得到系統可達到預 期的性能運行標準,測試通過。
5.4.3其他測試結果
其他測試結果主要包括安全性及穩定性的測試情況,通過對系統測試過程中 得到的反饋進行人工分析,得到如下測試結果:
1.容錯能力測試結果 在系統中提交各類數據查詢條件、添加參數、修改參數等,并在這些錄入數
據中添加錯誤信息,例如需要填寫數字時,卻填寫了文本字符等。檢查得到系統 可以正確檢驗各類條件及參數的合法性,并返回對應的提示消息。
2.用戶權限控制能力測試結果 通過在系統內部設立測試用戶賬號,并對其進行權限分配,得到測試用戶的
各項功能操作及數據訪問均在預期的權限范圍內,并且在出現越權訪問時,系統 正確返回對應的提示消息。
3.穩定性測試結果
對系統進行持續長時間的運行檢驗,得到系統在7X24小時內,未出現運行 異常、無響應、崩潰等情況。
綜上,可得到系統在容錯能力、用戶權限控制能力及穩定性等方面,也達到 了預期的開發要求,測試通過。
5.5本章小結
本章對系統的測試方法及內容、結果等進行了分析研究,介紹了軟件測試的 常用方法及其原理,并確立了基于黑盒測試法的基本工作方法。同時對系統的測 試環境進行說明,梳理和總結系統的測試內容,從功能、性能和其他表現等方面, 分別檢驗了系統的表現,得到系統達到預期要求,測試通過。
第六章 總結與展望
6.1總結
本文針對四川省電力公司缺乏風電靜態業務數據的管理軟件的情況,設計和 實現了一套風力發電信息系統,在其中實現了信息管理、計費管理、統計管理和 查詢管理等功能,可在當前已經部署的風電安全管理軟件、風電運維監控平臺、 風電調度管理系統基礎上,進一步提高公司的風電業務管理的自動化水平。
本文的研究成果主要包括如下方面:
1.按照目前四川電力公司的風電業務管理現狀及信息化需求,實現了系統的 功能定位分析,并提出了信息管理、計費管理、統計管理和查詢管理等方面的開 發要求。
2.針對系統的功能特點及研發要求,確立了基于面向對象程序設計技術、 C/S 模式及三層架構的軟件設計技術方案,并對系統的總體功能模型、功能模塊類結 構和數據庫進行了設計分析,完成了系統功能和技術方案的構建。
3.通過梳理當前常用的面向對象編程技術和平臺的技術特點,確立了基 于.NET平臺和C#的開發技術體系,并對系統的內部功能進行了開發實現。
4.通過實際的系統測試分析,得到系統在功能、性能和其他方面都達到了預 期的要求。
通過本系統的應用,可以彌補風電安全管理軟件、風電運維監控平臺、風電 調度管理系統等軟件目前無法覆蓋的業務流程和內容,將公司的風力發電信息管 理業務集成到本系統中,解決目前管理工作中存在的效率不高、信息化程度低、 數據存儲分散、管理不便等問題,具有比較高的現實意義。
6.2展望
在系統的實際研發工作中,從需求到測試共計耗費3 個月,目前系統已經在 四川電力公司及各下屬供電企業內部得到了應用,為風力發電信息管理業務提供 了便利、高效、可靠的管理工具支持。
在系統上線應用之后,通過長達 1 年多的運行檢驗,得到系統的功能、性能 及穩定性、安全性等方面都滿足公司的業務管理要求,收到了預期的管理效果。
在實際研發過程中,筆者主要參與了系統的業務調研及需求分析等工作,因 此在論文研究中對于系統的功能設計、開發等技術性較強的工作,主要是基于系
統的研發文檔,以及.NET開發的相關技術資料分析進行的,在未來仍需要加大對 系統源碼的分析和研究,進一步豐富和優化論文的研究內容。
同時,對于系統的功能體系,目前的風電抄表數據仍需現場抄讀,并由人工 進行錄入。在未來可以采用自動化的數據讀取和采集技術,實現風電現場的表計 數據自動讀取和錄入,進一步降低人工操作的工作量。在此情況下,目前系統的 運行效率還相對較低,這是由于在風電信息的管理工作中,本系統承擔的功能任 務會涉及到大量的風電抄表數據,人工抄錄的方式會降低系統的便利性,同時通 過人工錄入,還可能會導致系統的數據存在風險,例如導入一些非法或錯誤的數 據等,所以未來需朝自動化的抄表數據采集和抄讀的方式,實現抄表數據的自動 獲取與錄入。
致謝
在職研究生生涯即將結束,在整個學習和畢業論文創作過程中,我由衷地感 謝我的導師王峣鈞導師的悉心且專業的指導,感謝我的單位國網攀枝花供電公司 的大力支持,感謝同事和家人,使我能夠平衡好學習、家庭和工作,在繁忙的工 作和瑣碎的生活之余要完成一篇論文并非易事,所以我也很感謝自己用于挑戰, 并且堅持下來。這段在職研究生生涯將作為我的一個新的起點,在今后的學習、 生活和工作中繼續揚帆起航、勇往直前。
參考文獻
[1]劉穎,何磊,金海生.風電監測平臺主站建設研究J].電子世界,2020(03):55-56.
[2]劉穎,何磊,金海生.風電監測平臺子站建設研究J].電子測試,2019(01):73-76.
[3]胡玉濤,趙鐳,張方.含有風電的配電網局部電壓偏高分析和治理方法J].電力電容器與 無功補償,2019,40(06):99-103+109.
[4]崔振華,楊帆,林凝.風電國際標準梳理與對比研究J].風電,2019(06):1-5.
[5]徐立尉,丁立大.風電綜合評估現場調研APP的設計及應用[J].風電,2019(06):56-59.
[6]羅巧華,池春生.提高風電自動化抄表率的實踐與探討[J].機電信息,2019(03):67-68.
[7]黃馗,陳曉兵.廣西電網風電調度管理水平提升分析與探討[J].廣西電 力,2018,39(06):31-34.
[8]劉本希,廖勝利,李秀峰.省地縣一體化風電管理系統設計與實施[J].風力發 電,2020,41(03):56-60.
[9]廖勝利,蘇承國.基于Android平臺的風電信息管理系統[J].水力發電,2019,40(05):66-69.
[10]薛美東,趙波.基于分布式控制的獨立型光儲水柴微網調度策略[J].電力系統自動 化,2018,38(04):1-7.
[11]廖勝利,馬慧芳.省地一體化風電管理系統設計與實現[J].水力發電學 報,2020,32(04):240-245.
[12]Ottar Tamm, Toomas Tamm. Verification of a robust method for sizing and siting the small windpower run-of-river plant potential by using GIS[J]. Renewable Energy,2017, 12(11):563-571.
[13]Walter Gil-Gonzalez. Modeling and control of a small wind-power plant for a DC microgrid[J]. Electric Power Systems Research,2020,18(10):2810-2818.
[14]Ronaldo Sousa, Andre Ferreira. Small windpower plants as a threat to the endangered pearl mussel Margaritifera margaritifera[J]. Science ofthe Total Environment,2020,7(19):692-702.
[15]Marcel Medinas de Campos, Hans M. Tritico. Predicted impacts of proposed windelectric facilities on fish migration routes upstream from the Pantanal wetland (Brazil)[J]. River Research and Applications,2019,36(03):5203-5211.
[16]Josef Knott,Melanie Mueller,Joachim Pander,Juergen Geist. Seasonal and diurnal variation of downstream 行sh movement at four small - scale windpower plants[J]. Ecology of Freshwater Fish,2020,29(01):3318-3322.
[17]Bin Bao, Wen Chen, Quan Wang. A piezoelectric wind-energy harvester featuring a special
container structure[J]. Energy,2019,18(09):488-495.
[18]王穎,肖劍.風電機組運行管理的優化研究[J].大眾用電,2018,34(12):22-23.
[19]譚艷君,陳志峰.風電對配網用戶的影響分析及預防措施[J].中國新技術新產 品,2020(22):45-46.
[20]高國明,山長鑫,熊泗軍.國內外小型風力發電站發展研究[J].陜西水利,2018(11):10-13.
[21]王燦斌,王家陳.基于風電富集地區電網的調控難點分析及探討[J].電工技 術,2019(20):68-69.
[22]陸波,顧洪賓,姜昊.淺談風電工程退出機制的環境評估[J].水力發電,2019,45(12):12-16.
[23]劉慧慧.世界多座風電工程進展概況[J].治黃科技信息,2019(05):23-26.
[24]陳思明.最優化潮流計算的多風電地區電網經濟運行方案[J].云南電力技 術,2019,47(05):43-47.
[25]Rade M. Ciric. Review of techno-economic and environmental aspects of building small wind electric plants - A case study in SerbiaJ]. Renewable Energy,2017,14(10):783-791.
[26]Hrvoje Jandre. Small scale archimedes wind power plant test station: Design and experimental investigation[J]. Journal of Cleaner Production,2019,23(01):2551-2558.
[27]蘇海濱,王彥超,于步亞.省網風電管理技術支持系統數據匯集平臺子系統的設計J].自 動化應用,2020(02):34-36.
[28]李秀峰,李剛.大規模風電并網調度信息采集通信方式及應用[J].水電能源科 學,2020,30(11):146-148.
[29]廖勝利,蔡建章,李秀峰.基于RIA技術的中風電管理系統設計與實現[J].電力系統自動 化,2020,35(23):102-106.
[30]劉亞成.風電信息系統技術及其展望[J].中國電力教育,2020(09):245-248.