黃小強 吳小慶 韓珊

【摘要】? ? 大數據技術在近年不斷快速發展,由于其不同于一般業務系統軟件的個性化特點,在數據采集、處理、分發、分析以及呈現等關鍵步驟上和傳統業務系統有較大差異。因此在對大數據項目進行成本度量時,需在通用的成本度量方法上,定制設計針對性的補充規則,從而指導大數據項目的成本度量實踐。
【關鍵詞】? ? 大數據? ? 軟件? ? 成本? ? 功能點? ? ?度量
一、大數據項目成本度量
2018年國家發布了國家標準《軟件工程 軟件開發成本度量規范》。但由于大數據項目的開發與傳統流程型項目的開發有較大區別,因此在使用國家標準進行軟件成本度量的過程中,遇到較多的問題。廣東電網針對大數據歷史項目數據的造價特點進行分析,在國家標準的基礎上對度量方法進行研究,致力于研究出適合大數據項目的度量方法。
二、數據項目成本度量規則
本文對收集到的真實發生的大數據歷史項目數據進行分析研究,開發費用基于軟件開發成本度量規范中推薦的NESMA功能點方法,設計出更清晰、更易操作的大數據項目成本度量規則,實施費用則基于實踐經驗,總結分析后得出。設計出具體的度量規則如下。
2.1數據預處理
大數據項目其中一個特點是數據源的多樣性,可以包含各種類型各種版本的數據庫、文本文件、網頁、日志,甚至包含圖片、視頻信息,也可能包括傳感器、軟硬件接口等信息來源。為確保后續工作能夠有一個高質量的數據集,在數據采集時往往會進行必要的預處理。針對數據預處理的相關成本度量規則如下:
開發費:由于預處理工作本身涉及格式轉換、協議解析、圖形識別等計算過程,因此這些功能應該識別為外部輸出EO;每一個預處理場景識別一個外部輸出,而不可依據抓取數據的字段進行識別;從結構化數據中獲取數據,如從數據庫、確定格式的excel、列表文件中獲取數據,不認可預處理功能項;針對一個數據源的同一數據對象,如存在多處需要進行預處理的信息,僅識別一次外部輸出;針對文本、網頁數據預處理調整因子取值1.2;針對圖形、音頻、視頻預處理調整因子取值1.3。
實施費:預處理的相關數據文件每增加一個,增加0.5人天工作量;預處理的數據數量級在1000萬條以下時,按每百萬行數據0.1人天實施工作量計算;預處理的數據數量級在1000-5000萬條數據是,按百萬行數據0.05人天實施工作量計算;預處理的數據數量級在5000萬條以上時,按百萬行數據0.025人天實施工作量計算;如預處理與數據采集同時進行,不單獨計算處理預處理的工作量,在數據采集時進行計算。
2.2數據采集
數據采集時如屬于使用非實時方式進行采集,往往使用ETL工具或程序腳本定期采集數據。而流式采集主要用在實時處理的業務場景,數據采集后就像一個水壩一般將上游源源不斷的數據攔截住,然后根據業務場景作對應處理,之后再寫入到對應的數據存儲中。針對數據采集的相關成本度量規則如下:
開發費:采集數據應識別為外部輸入EI;針對不同的數據對象來確定外部輸入;從不同的數據源頭,采集到相同的數據對象,如果數據源頭的數據格式相同,則不重復識別外部輸入;若不相同,則識別為不同的外部輸入;使用工具,通過配置方式進行數據采集時,調整因子取0.5;使用程序腳本進行數據采集時,調整因子取0.8。
實施費:采集的數據文件每增加一個,增加0.5人天工作量;采集的數據數量級在1000萬條以下時,按每百萬行數據0.1人天實施工作量計算;采集的數據數量級在1000-5000萬條數據是,按百萬行數據0.05人天實施工作量計算;采集的數據數量級在5000萬條以上時,按百萬行數據0.025人天實施工作量計算;如預處理與數據采集同時進行,不單獨計算處理預處理工作量,在數據采集時進行計算;流式采集數據實時處理完成,不計算額外采集所產生工作量。
2.3數據處理
常見的數據處理包括對數據存儲的常規管理,以及數據清洗、數據歸集、數據轉換、數據規約等過程。 針對數據處理的相關成本度量規則如下:
開發費:用于記錄數據對象的文件信息,如元數據、數據源頭等文件應識別為內部邏輯文件ILF;針對數據對象記錄文件的新增、刪除、修改等改變記錄信息的功能應識別為外部輸入EI;針對數據對象記錄的查詢應識別為外部輸出EO;針對數據對象或元數據的詳情查看應識別為外部查詢EQ;數據的清洗過程,包括缺省值、錯誤值檢測、去重、不一致檢查等,應識別為外部輸入EI;數據歸集的各類方法,包括同名異義、異名同義、單位不統一、容易屬性識別等,應識別為外部輸入EI;對同一數據對象的多種方法處理,不應識別多個外部輸入EI。
實施費:需要處理的數據文件每增加一個,增加0.5人天工作量;處理的數據數量級在1000萬條以下時,按每百萬行數據0.1人天實施工作量計算;處理的數據數量級在1000-5000萬條數據是,按百萬行數據0.05人天實施工作量計算;處理的數據數量級在5000萬條以上時,按百萬行數據0.025人天實施工作量計算;實施費用,不可因為分成多次處理,重復多次計費。
2.4數據分發
數據分發主要指數據通過網絡傳遞到不同節點的過程。針對數據分發的相關成本度量規則如下:
開發費:為完成數據分發目的,專門創建的對外發送文件可以識別為內部邏輯文件ILF;為完成數據分發目的,專門開發的程序接口可以識別為EO;通過ETL工具完成數據的分發,識別為EO,調整因子取0.5;如果是用開放數據權限,讓獲取方直接使用數據對象,則在當前應用的角度無需對功能點進行計數,而是應在主動獲取的應用角度計數相關開發功能。
實施費:分發的數據目的地每增加一處,增加0.5人天工作量;分發的數據數量級在1000萬條以下時,按每百萬行數據0.1人天實施工作量計算;分發的數據數量級在1000-5000萬條數據是,按百萬行數據0.05人天實施工作量計算;分發的數據數量級在5000萬條以上時,按百萬行數據0.025人天實施工作量計算。
2.5數據分析挖掘
數據分析挖掘是大數據應用體系中的關鍵支撐環節,是指從大數據中發現潛在未知的信息和模型的分析計算過程。針對數據分析挖掘的相關成本度量規則如下:
開發費:分析建立的模型記錄信息,識別為內部邏輯文件ILF;各類數據分析挖掘算法,包括決策樹分類、K均值聚類、支持向量機分類等算法,使用到每一種算法可以識別為一個外部輸出EO;多個數據對象進行同一個算法分析,不可重復填報算法分析EO。
實施費:數據分析屬于計算機進行的工作,程序調試好后,無需人工參與,不額外計算實施費。
2.6數據呈現
數據呈現類工作,以獲取并處理好的大數據為基礎,通過智能報表、專題報告、BI展示、平臺接口等方式展示應用數據。針對數據呈現的相關成本度量規則如下:
開發費:各類智能報表、專題報告、BI展示、平臺接口等均應該識別為外部輸出EO;針對多個數據對象進行同類的數據呈現,不可重復填報外部輸出EO。
實施費:針對呈現的頂層功能如何使用展開的操作培訓,可根據系統大小及培訓網點數量,按每次培訓0.5`2人天計算實施工作量。
三、驗證結果
基于以上規則的設計,選取本單位3個已發生的大數據歷史項目進行驗證。按照原規則(國家標準《軟件工程 軟件開發成本度量規范》)以及按照新規則(本文新設計的度量規則)評估出的工作量統計,與歷史項目的實際工作量進行比對分析(表1),單位均為人日。
可以看出,按原規則進行評估,其偏差率在-35%~-20%左右。按照本文設計的規則進行評估,更接近實際工作量的數值,偏差率優化為-5%~5%。依據驗證結果可得,本文設計的方法與原規則相比,優化了現有大數據項目成本度量的評估結果,更好地實現大數據項目的項目管理,提升管理的準確性。
四、結語
本文以《軟件工程 軟件開發成本度量規范》為基礎,結合大數據項目特點,設計了大數據項目各主要過程的開發費用、實施費用度量規則,提升了大數據項目成本度量的準確性和有效性,使大數據項目成本度量結果更加符合實際需求。
參? 考? 文? 獻
[1]王元卓, 靳小龍, 程學旗. 網絡大數據:現狀與展望[J]. 計算機學報, 2013(06):3-16.
[2]程學旗,靳小龍,王元卓等. 大數據系統和分析技術綜述[J]. 軟件學報,2014,25(9):1889-1908.
[3]GB/T 36964-2018.軟件過程 軟件開發成本度量規范[S].北京:中國標準出版社.2018.
[4]中國電子技術標準化研究院.2020年中國軟件行業基準數據[R].北京,2020.
[5]李華北. 軟件成本度量及造價分析[M]. 電子工業出版社,2018.
[6]張旸旸.軟件成本度量國家標準實施指南:理論.方法與實踐[M].電子工業出版社,2020.
黃小強(1988.06),男,漢族,廣東廣州,碩士,廣東電網有限責任公司,數字化部主管,高級工程師,研究方向:數字化項目造價管理。
吳小慶(1977.06),男,漢族,廣東廣州,碩士,廣州賽寶認證中心服務有限公司,軟件質量部主任,高級工程師,研究方向:信息化領域成本造價評估、軟件研發成本度量標準等。
韓珊(1991.05),女,漢族,廣東廣州,碩士,廣州賽寶認證中心服務有限公司,軟件質量部技術經理,研究方向:信息化領域成本造價評估。