5d8d699a33c70.jpg

北京軟件造價評估技術(shù)創(chuàng)新聯(lián)盟 李培圣

 

 

  在2019全球軟件產(chǎn)業(yè)發(fā)展高峰論壇上, 工業(yè)和信息化部部長苗圩發(fā)表演講時指出,軟件是新一代信息技術(shù)的靈魂,引領(lǐng)新一輪科技創(chuàng)新的群體突破,是制造強(qiáng)國和網(wǎng)絡(luò)強(qiáng)國建設(shè)的關(guān)鍵支撐。但我國軟件行業(yè)發(fā)展也面臨著不少的困難和挑戰(zhàn),比如軟件產(chǎn)業(yè)既不大也不強(qiáng),缺乏具有國際競爭力的龍頭企業(yè)。軟件價值失衡的現(xiàn)象在社會上還比較明顯,人才結(jié)構(gòu)性的短缺問題比較突出等等。在會議中,提到未來工信部重點(diǎn)發(fā)展五方面內(nèi)容,其中強(qiáng)調(diào)需要優(yōu)化軟件產(chǎn)業(yè)環(huán)境,推廣軟件價值評估規(guī)范,完善軟件價值評估機(jī)制,引導(dǎo)各地積極開展軟件成本度量標(biāo)準(zhǔn)的試點(diǎn),建立健全軟件工程、軟件評測、軟件質(zhì)量保障等第三方的服務(wù)體系,持續(xù)加大知識產(chǎn)權(quán)的保護(hù)力度。

  在行業(yè)發(fā)展過程中如何公允、透明地度量軟件開發(fā)成本,是一個長期困擾軟件開發(fā)方和應(yīng)用方的問題。傳統(tǒng)方式管理需求依據(jù)是相關(guān)人員的經(jīng)驗(yàn)判定。人工管理項(xiàng)目需求說明書效率低,成本高,沒有數(shù)據(jù)積累很難對項(xiàng)目進(jìn)行全面把握。

  現(xiàn)階段隨著人工智能、機(jī)器學(xué)習(xí)技術(shù)的興起,可以利用自然語言處理、數(shù)據(jù)挖掘、深度學(xué)習(xí)等技術(shù),探索從已識別的功能點(diǎn)計(jì)數(shù)文檔中抽取特征,建立分析框架,形成功能點(diǎn)輔助審核規(guī)則。從功能點(diǎn)計(jì)數(shù)項(xiàng)中識別出系統(tǒng)的主要功能項(xiàng)及其類別,通過建立文本分析能力,降低大量人工審核工作量,提高預(yù)算管理的效率。


人工智能輔助軟件預(yù)算管理應(yīng)用實(shí)踐

 

5d8d6aa79bc4b.jpg

圖 1 管理平臺模型方案


  依據(jù)國家行業(yè)標(biāo)準(zhǔn) GB∕T 36964-2018《 軟件工程 - 軟件開發(fā)成本度量規(guī)范》,結(jié)合相關(guān)基準(zhǔn)數(shù)據(jù),通過軟件項(xiàng)目需求數(shù)據(jù)積累,建功能點(diǎn)輔助識別/審核技術(shù),對軟件需求進(jìn)行綜合管理,幫助企業(yè)更好的實(shí)現(xiàn)量化預(yù)算管理,提高工作效率,系統(tǒng)主要有以下幾個 方面特點(diǎn):
  1.功能點(diǎn)輔助計(jì)數(shù)/審核

 

5d8d6af28ac83.jpg

圖 2 功能點(diǎn)輔助識別


  通過分析現(xiàn)有的需求文檔,利用自然語言處理、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等技術(shù)建立功能點(diǎn)輔助識別/審核模型,降低人工分析需求說明書的工作量和耗費(fèi),提高功能點(diǎn)審核效率,保證輸入數(shù)據(jù)的質(zhì)量 ,為后續(xù)分析做好準(zhǔn)備 。

 

5d8d6b42dd78e.jpg

圖3 功能點(diǎn)輔助審核


  2.多維度需求管理

  建立需求文檔完整性自動分析的能力,通過相關(guān)規(guī)則約束,自動評估需求中描述的功能點(diǎn)是否完整,確保項(xiàng)目需求描述的完整性,提高軟件需求質(zhì)量。對企業(yè)需求進(jìn)行全局管理:當(dāng)系統(tǒng)中功能需求發(fā)生變更時,借助積累的企業(yè)數(shù)據(jù)分析、智能分析項(xiàng)目預(yù)算成本、預(yù)計(jì)項(xiàng)目工期等相關(guān)要素,提高項(xiàng)目量化管理過程 。

 

5d8d6b7760ad4.jpg

圖 4 項(xiàng)目需求管理


  3.智能軟件成本評估

  結(jié)合行業(yè)及企業(yè)數(shù)據(jù)模型,針對不同項(xiàng)目非功能要求,對軟件項(xiàng)目成本、工期進(jìn)行智能評估,分析項(xiàng)目資源投入情況,軟件總體質(zhì)量等相關(guān)管理要素,幫助管理者從宏觀層面全面掌握項(xiàng)目情況,對項(xiàng)目風(fēng)險提前進(jìn)行管理 。

 

5d8d6bc49d8f1.jpg

圖 5 軟件成本評估



主要技術(shù)方案

  人工智能技術(shù)在預(yù)算合理性評估及IT資產(chǎn)管理領(lǐng)域的探索實(shí)踐是伴隨著機(jī)器學(xué)習(xí)技術(shù)的進(jìn)步,利用自然語言處理、數(shù)據(jù)挖掘、深度學(xué)習(xí)等技術(shù),探索從數(shù)據(jù)工程 , 特征工程, 數(shù)據(jù)挖掘幾個方面對軟件原始需求進(jìn)行處理,建立功能建立分析框架,形成功能點(diǎn)輔助審核規(guī)則,從功能點(diǎn)計(jì)數(shù)項(xiàng)中識別出系統(tǒng)的主要功能點(diǎn)項(xiàng)及其類別。通過建立文本分析能力,降低大量人工審核工作量,提高需求管理的效率。

 

5d8d6bff53096.jpg

圖6 人工智能識別技術(shù)方案


  1. 技術(shù)路線圖設(shè)計(jì)


  ①數(shù)據(jù)工程
  首先,從已計(jì)數(shù)的功能點(diǎn)計(jì)數(shù)文件中識別相關(guān)信息。主要方法是通過讀取功能點(diǎn)計(jì)數(shù)項(xiàng)信息,結(jié)合預(yù)制審核模型,輔助建立數(shù)據(jù)模型。

  此外,利用自然語言處理和數(shù)據(jù)挖掘技術(shù),識別出各個模塊描述中所有的名詞、名詞短語、動名詞短語。并以此為基礎(chǔ),建立ILF,EI,EQ三種類型的候選集。

  ②特征工程

  數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,數(shù)據(jù)是信息的載體,但是原始的數(shù)據(jù)包含了大量的噪聲,信息的表達(dá)也不夠簡練。因此,特征工程的目的,是通過一系列的工程活動,將這些信息使用更高效的編碼方式(特征)表示。使用特征表示的信息,信息損失較少,原始數(shù)據(jù)中包含的規(guī)律依然保留。此外,新的編碼方式還需要盡量減少原始數(shù)據(jù)中的不確定因素的影響。特征在很大程度上決定了機(jī)器學(xué)習(xí)應(yīng)用的成敗,因?yàn)槟P偷馁|(zhì)量直接由特征決定。特征可被視為一種易于在任意實(shí)例上度量的測度。按照集合論的觀點(diǎn),特征本質(zhì)上是一個從實(shí)例空間到由特征的值所構(gòu)成的集合(即特征的域)的映射。

  因此,在本項(xiàng)目中,盡可能多的提取候選集元素的特征,是項(xiàng)目工作的難點(diǎn)和重心。探索從以下幾個方面提取數(shù)據(jù)的特征,包含其出現(xiàn)的位置、與模塊名稱的相似度、模塊內(nèi)詞頻、文檔內(nèi)詞頻等等。

  ③數(shù)據(jù)挖掘工程

  本階段是一種透過數(shù)理模式來分析企業(yè)內(nèi)儲存的大量資料,以找出不同的關(guān)鍵詞劃分,分析出功能點(diǎn)項(xiàng)的方法,是數(shù)據(jù)庫知識發(fā)現(xiàn)中的一個步驟。數(shù)據(jù)挖掘一般是指從大量的數(shù)據(jù)中自動搜索隱藏于其中的有著特殊關(guān)系性的信息的過程。

  在使用數(shù)據(jù)挖掘的技術(shù)建立了模型后,需要用實(shí)際數(shù)據(jù)對模型進(jìn)行測試和驗(yàn)證。本項(xiàng)目擬采用準(zhǔn)確率Precision、召回率Recall等推薦系統(tǒng)常用評價指標(biāo),來驗(yàn)證各個預(yù)測模型的有效性。準(zhǔn)確率和召回率是廣泛用于信息檢索和統(tǒng)計(jì)學(xué)分類領(lǐng)域的兩個度量值,用來評價結(jié)果的質(zhì)量。

  2.關(guān)鍵技術(shù)

  ①數(shù)據(jù)工程階段關(guān)鍵技術(shù):

  ●模型語料標(biāo)注

  模型語料標(biāo)注是中文分詞技術(shù)基礎(chǔ)工作,屬于自然語言處理技術(shù)范疇,對于一句話,通過自己的知識來明白哪些是詞,哪些不是詞,在需求文檔中哪些可以識別為功能項(xiàng),在數(shù)據(jù)工程階段需要人工進(jìn)行確認(rèn),只有達(dá)到標(biāo)注一定數(shù)量的樣本后,才能進(jìn)行機(jī)器學(xué)習(xí),進(jìn)行模型訓(xùn)練 。

 

5d8d6c929bee5.jpg

圖7 數(shù)據(jù)標(biāo)注流程

   ②特征工程階段關(guān)鍵技術(shù):

  ●自然語言理解技術(shù)

  自然語言處理是計(jì)算機(jī)科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究能實(shí)現(xiàn)人與計(jì)算機(jī)之間用自然語言進(jìn)行有效通信的各種理論和方法。自然語言處理,實(shí)現(xiàn)人機(jī)間自然語言通信,或?qū)崿F(xiàn)自然語言理解和自然語言生成比較困難,造成困難的根本原因是自然語言文本和對話的各個層次上廣泛存在的各種各樣的歧義性或多義性。

  依存句法是將句子分析成一顆依存句法樹,描述出各個詞語之間的依存關(guān)系。也即指出了詞語之間在句法上的搭配關(guān)系,這種搭配關(guān)系是和語義相關(guān)聯(lián)的。使用句法結(jié)構(gòu)作為語義解釋的第一步;識別短語語塊,為信息檢索系統(tǒng)的索引服務(wù);構(gòu)建一個概率句法分析器作為一個優(yōu)于n元語法的語言模型。這些問題的共同目標(biāo)是構(gòu)建這樣的一個系統(tǒng):對于任意的句子都能夠主產(chǎn)生證明有用的結(jié)構(gòu),也就是要構(gòu)建一個句法分析器。 

  ●數(shù)據(jù)挖掘算法

  數(shù)據(jù)挖掘算法是根據(jù)數(shù)據(jù)創(chuàng)建數(shù)據(jù)挖掘模型的一組試探法和計(jì)算。 為了創(chuàng)建模型,算法將首先分析您提供的數(shù)據(jù),并查找特定類型的模式和趨勢。常見的數(shù)據(jù)算法有:CART決策樹、SVM支持向量機(jī)、EM期望最大化 、K-Means聚類算法等。

  3.軟件評估模型

  通常企業(yè)評估軟件成本都是依據(jù)專家經(jīng)驗(yàn)進(jìn)行評估,通過持續(xù)數(shù)據(jù)積累,可以借助機(jī)器學(xué)習(xí)工具建立軟件企業(yè)軟件成本評估模型。通過考慮綜合的模型來評價需求的質(zhì)量,軟件規(guī)模大小,非功能影響因素(項(xiàng)目應(yīng)用領(lǐng)域、質(zhì)量要求、可靠性要求、安全因素)等要素,建立一個綜合的評價模型的需求,并持續(xù)監(jiān)控模型的有效性,整體解決方案,可以參考下圖:

 

5d8d6cf015873.jpg

圖 8 軟件成本評估模型


  我們采用四個步驟迭代地構(gòu)建和改進(jìn)企業(yè)綜合的評估模型。

  第一,采集企業(yè)度量指標(biāo)。根據(jù)目前企業(yè)采用的質(zhì)量分析工具,例如功能點(diǎn)方法,結(jié)合行業(yè)基準(zhǔn)數(shù)據(jù),進(jìn)行生產(chǎn)率測算,通過行業(yè)標(biāo)準(zhǔn)對指標(biāo)進(jìn)行分析,并識別出企業(yè)重點(diǎn)關(guān)注的維度和指標(biāo)。

  第二,定義成本評估模型。根據(jù)各個指標(biāo)的等級評定結(jié)果,設(shè)計(jì)出各個指標(biāo)的參數(shù),并結(jié)合企業(yè)的關(guān)注點(diǎn),定義出綜合的質(zhì)量值計(jì)算模型,例如:

 

5d8d6d1b8664e.jpg


  第三,相關(guān)系數(shù)調(diào)整:在使用模型考察評估結(jié)果的時候,往往存在某一些項(xiàng)目非功能性因素是項(xiàng)目成功的關(guān)鍵因素,為了更加公平的評價結(jié)果,采用非功能因素作為調(diào)整因子。

  第四,持續(xù)改進(jìn)。結(jié)合實(shí)際的項(xiàng)目成本評估結(jié)果,對模型進(jìn)行不斷的校驗(yàn),在經(jīng)過不斷的迭代后,最終得到符合企業(yè)需要,并且能滿足企業(yè)評估分析、監(jiān)控要求,提高項(xiàng)目管理水平,降低項(xiàng)目實(shí)施風(fēng)險 。

  隨著訓(xùn)練數(shù)據(jù)的逐步積累,人工智能技術(shù)在預(yù)算合理性評估及IT資產(chǎn)管理的效率會越來越高,可以有效幫助相關(guān)管理人員減少工作強(qiáng)度,提高工作效率,在實(shí)際工作中發(fā)揮更為重要的作用。(文/北京軟件造價評估聯(lián)盟 李培圣 以上內(nèi)容轉(zhuǎn)自 金融電子化 微信公眾號。)