北京軟件造價(jià)評估技術(shù)創(chuàng )新聯(lián)盟 李培圣
在2019全球軟件產(chǎn)業(yè)發(fā)展高峰論壇上, 工業(yè)和信息化部部長(cháng)苗圩發(fā)表演講時(shí)指出,軟件是新一代信息技術(shù)的靈魂,引領(lǐng)新一輪科技創(chuàng )新的群體突破,是制造強國和網(wǎng)絡(luò )強國建設的關(guān)鍵支撐。但我國軟件行業(yè)發(fā)展也面臨著(zhù)不少的困難和挑戰,比如軟件產(chǎn)業(yè)既不大也不強,缺乏具有國際競爭力的龍頭企業(yè)。軟件價(jià)值失衡的現象在社會(huì )上還比較明顯,人才結構性的短缺問(wèn)題比較突出等等。在會(huì )議中,提到未來(lái)工信部重點(diǎn)發(fā)展五方面內容,其中強調需要優(yōu)化軟件產(chǎn)業(yè)環(huán)境,推廣軟件價(jià)值評估規范,完善軟件價(jià)值評估機制,引導各地積極開(kāi)展軟件成本度量標準的試點(diǎn),建立健全軟件工程、軟件評測、軟件質(zhì)量保障等第三方的服務(wù)體系,持續加大知識產(chǎn)權的保護力度。
在行業(yè)發(fā)展過(guò)程中如何公允、透明地度量軟件開(kāi)發(fā)成本,是一個(gè)長(cháng)期困擾軟件開(kāi)發(fā)方和應用方的問(wèn)題。傳統方式管理需求依據是相關(guān)人員的經(jīng)驗判定。人工管理項目需求說(shuō)明書(shū)效率低,成本高,沒(méi)有數據積累很難對項目進(jìn)行全面把握。
現階段隨著(zhù)人工智能、機器學(xué)習技術(shù)的興起,可以利用自然語(yǔ)言處理、數據挖掘、深度學(xué)習等技術(shù),探索從已識別的功能點(diǎn)計數文檔中抽取特征,建立分析框架,形成功能點(diǎn)輔助審核規則。從功能點(diǎn)計數項中識別出系統的主要功能項及其類(lèi)別,通過(guò)建立文本分析能力,降低大量人工審核工作量,提高預算管理的效率。
人工智能輔助軟件預算管理應用實(shí)踐
圖 1 管理平臺模型方案
依據國家行業(yè)標準 GB∕T 36964-2018《 軟件工程 - 軟件開(kāi)發(fā)成本度量規范》,結合相關(guān)基準數據,通過(guò)軟件項目需求數據積累,建功能點(diǎn)輔助識別/審核技術(shù),對軟件需求進(jìn)行綜合管理,幫助企業(yè)更好的實(shí)現量化預算管理,提高工作效率,系統主要有以下幾個(gè) 方面特點(diǎn):
1.功能點(diǎn)輔助計數/審核
圖 2 功能點(diǎn)輔助識別
通過(guò)分析現有的需求文檔,利用自然語(yǔ)言處理、數據挖掘、機器學(xué)習等技術(shù)建立功能點(diǎn)輔助識別/審核模型,降低人工分析需求說(shuō)明書(shū)的工作量和耗費,提高功能點(diǎn)審核效率,保證輸入數據的質(zhì)量 ,為后續分析做好準備 。
圖3 功能點(diǎn)輔助審核
2.多維度需求管理
建立需求文檔完整性自動(dòng)分析的能力,通過(guò)相關(guān)規則約束,自動(dòng)評估需求中描述的功能點(diǎn)是否完整,確保項目需求描述的完整性,提高軟件需求質(zhì)量。對企業(yè)需求進(jìn)行全局管理:當系統中功能需求發(fā)生變更時(shí),借助積累的企業(yè)數據分析、智能分析項目預算成本、預計項目工期等相關(guān)要素,提高項目量化管理過(guò)程 。
圖 4 項目需求管理
3.智能軟件成本評估
結合行業(yè)及企業(yè)數據模型,針對不同項目非功能要求,對軟件項目成本、工期進(jìn)行智能評估,分析項目資源投入情況,軟件總體質(zhì)量等相關(guān)管理要素,幫助管理者從宏觀(guān)層面全面掌握項目情況,對項目風(fēng)險提前進(jìn)行管理 。
圖 5 軟件成本評估
主要技術(shù)方案
人工智能技術(shù)在預算合理性評估及IT資產(chǎn)管理領(lǐng)域的探索實(shí)踐是伴隨著(zhù)機器學(xué)習技術(shù)的進(jìn)步,利用自然語(yǔ)言處理、數據挖掘、深度學(xué)習等技術(shù),探索從數據工程 , 特征工程, 數據挖掘幾個(gè)方面對軟件原始需求進(jìn)行處理,建立功能建立分析框架,形成功能點(diǎn)輔助審核規則,從功能點(diǎn)計數項中識別出系統的主要功能點(diǎn)項及其類(lèi)別。通過(guò)建立文本分析能力,降低大量人工審核工作量,提高需求管理的效率。
圖6 人工智能識別技術(shù)方案
1. 技術(shù)路線(xiàn)圖設計
①數據工程
首先,從已計數的功能點(diǎn)計數文件中識別相關(guān)信息。主要方法是通過(guò)讀取功能點(diǎn)計數項信息,結合預制審核模型,輔助建立數據模型。
此外,利用自然語(yǔ)言處理和數據挖掘技術(shù),識別出各個(gè)模塊描述中所有的名詞、名詞短語(yǔ)、動(dòng)名詞短語(yǔ)。并以此為基礎,建立ILF,EI,EQ三種類(lèi)型的候選集。
②特征工程
數據和特征決定了機器學(xué)習的上限,數據是信息的載體,但是原始的數據包含了大量的噪聲,信息的表達也不夠簡(jiǎn)練。因此,特征工程的目的,是通過(guò)一系列的工程活動(dòng),將這些信息使用更高效的編碼方式(特征)表示。使用特征表示的信息,信息損失較少,原始數據中包含的規律依然保留。此外,新的編碼方式還需要盡量減少原始數據中的不確定因素的影響。特征在很大程度上決定了機器學(xué)習應用的成敗,因為模型的質(zhì)量直接由特征決定。特征可被視為一種易于在任意實(shí)例上度量的測度。按照集合論的觀(guān)點(diǎn),特征本質(zhì)上是一個(gè)從實(shí)例空間到由特征的值所構成的集合(即特征的域)的映射。
因此,在本項目中,盡可能多的提取候選集元素的特征,是項目工作的難點(diǎn)和重心。探索從以下幾個(gè)方面提取數據的特征,包含其出現的位置、與模塊名稱(chēng)的相似度、模塊內詞頻、文檔內詞頻等等。
③數據挖掘工程
本階段是一種透過(guò)數理模式來(lái)分析企業(yè)內儲存的大量資料,以找出不同的關(guān)鍵詞劃分,分析出功能點(diǎn)項的方法,是數據庫知識發(fā)現中的一個(gè)步驟。數據挖掘一般是指從大量的數據中自動(dòng)搜索隱藏于其中的有著(zhù)特殊關(guān)系性的信息的過(guò)程。
在使用數據挖掘的技術(shù)建立了模型后,需要用實(shí)際數據對模型進(jìn)行測試和驗證。本項目擬采用準確率Precision、召回率Recall等推薦系統常用評價(jià)指標,來(lái)驗證各個(gè)預測模型的有效性。準確率和召回率是廣泛用于信息檢索和統計學(xué)分類(lèi)領(lǐng)域的兩個(gè)度量值,用來(lái)評價(jià)結果的質(zhì)量。
2.關(guān)鍵技術(shù)
①數據工程階段關(guān)鍵技術(shù):
●模型語(yǔ)料標注
模型語(yǔ)料標注是中文分詞技術(shù)基礎工作,屬于自然語(yǔ)言處理技術(shù)范疇,對于一句話(huà),通過(guò)自己的知識來(lái)明白哪些是詞,哪些不是詞,在需求文檔中哪些可以識別為功能項,在數據工程階段需要人工進(jìn)行確認,只有達到標注一定數量的樣本后,才能進(jìn)行機器學(xué)習,進(jìn)行模型訓練 。
圖7 數據標注流程
②特征工程階段關(guān)鍵技術(shù):
●自然語(yǔ)言理解技術(shù)
自然語(yǔ)言處理是計算機科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個(gè)重要方向。它研究能實(shí)現人與計算機之間用自然語(yǔ)言進(jìn)行有效通信的各種理論和方法。自然語(yǔ)言處理,實(shí)現人機間自然語(yǔ)言通信,或實(shí)現自然語(yǔ)言理解和自然語(yǔ)言生成比較困難,造成困難的根本原因是自然語(yǔ)言文本和對話(huà)的各個(gè)層次上廣泛存在的各種各樣的歧義性或多義性。
依存句法是將句子分析成一顆依存句法樹(shù),描述出各個(gè)詞語(yǔ)之間的依存關(guān)系。也即指出了詞語(yǔ)之間在句法上的搭配關(guān)系,這種搭配關(guān)系是和語(yǔ)義相關(guān)聯(lián)的。使用句法結構作為語(yǔ)義解釋的第一步;識別短語(yǔ)語(yǔ)塊,為信息檢索系統的索引服務(wù);構建一個(gè)概率句法分析器作為一個(gè)優(yōu)于n元語(yǔ)法的語(yǔ)言模型。這些問(wèn)題的共同目標是構建這樣的一個(gè)系統:對于任意的句子都能夠主產(chǎn)生證明有用的結構,也就是要構建一個(gè)句法分析器。
●數據挖掘算法
數據挖掘算法是根據數據創(chuàng )建數據挖掘模型的一組試探法和計算。 為了創(chuàng )建模型,算法將首先分析您提供的數據,并查找特定類(lèi)型的模式和趨勢。常見(jiàn)的數據算法有:CART決策樹(shù)、SVM支持向量機、EM期望最大化 、K-Means聚類(lèi)算法等。
3.軟件評估模型
通常企業(yè)評估軟件成本都是依據專(zhuān)家經(jīng)驗進(jìn)行評估,通過(guò)持續數據積累,可以借助機器學(xué)習工具建立軟件企業(yè)軟件成本評估模型。通過(guò)考慮綜合的模型來(lái)評價(jià)需求的質(zhì)量,軟件規模大小,非功能影響因素(項目應用領(lǐng)域、質(zhì)量要求、可靠性要求、安全因素)等要素,建立一個(gè)綜合的評價(jià)模型的需求,并持續監控模型的有效性,整體解決方案,可以參考下圖:
圖 8 軟件成本評估模型
我們采用四個(gè)步驟迭代地構建和改進(jìn)企業(yè)綜合的評估模型。
第一,采集企業(yè)度量指標。根據目前企業(yè)采用的質(zhì)量分析工具,例如功能點(diǎn)方法,結合行業(yè)基準數據,進(jìn)行生產(chǎn)率測算,通過(guò)行業(yè)標準對指標進(jìn)行分析,并識別出企業(yè)重點(diǎn)關(guān)注的維度和指標。
第二,定義成本評估模型。根據各個(gè)指標的等級評定結果,設計出各個(gè)指標的參數,并結合企業(yè)的關(guān)注點(diǎn),定義出綜合的質(zhì)量值計算模型,例如:
第三,相關(guān)系數調整:在使用模型考察評估結果的時(shí)候,往往存在某一些項目非功能性因素是項目成功的關(guān)鍵因素,為了更加公平的評價(jià)結果,采用非功能因素作為調整因子。
第四,持續改進(jìn)。結合實(shí)際的項目成本評估結果,對模型進(jìn)行不斷的校驗,在經(jīng)過(guò)不斷的迭代后,最終得到符合企業(yè)需要,并且能滿(mǎn)足企業(yè)評估分析、監控要求,提高項目管理水平,降低項目實(shí)施風(fēng)險 。
隨著(zhù)訓練數據的逐步積累,人工智能技術(shù)在預算合理性評估及IT資產(chǎn)管理的效率會(huì )越來(lái)越高,可以有效幫助相關(guān)管理人員減少工作強度,提高工作效率,在實(shí)際工作中發(fā)揮更為重要的作用。(文/北京軟件造價(jià)評估聯(lián)盟 李培圣 以上內容轉自 金融電子化 微信公眾號。)
電話(huà):010-62667992
郵箱:csbmk@csbmk.com
地址:海淀區上地信息路11號1至4層整棟1幢三層西310室