亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用例功能點(diǎn)軟件成本自動計(jì)算實(shí)踐及創(chuàng)新

        2023-08-02 02:43:40徐建軍陳衛(wèi)華
        自動化儀表 2023年7期
        關(guān)鍵詞:成本功能方法

        徐建軍,陳衛(wèi)華,王 浩,候 斌

        (中廣核工程有限公司核電安全監(jiān)控技術(shù)與裝備國家重點(diǎn)實(shí)驗(yàn)室,廣東 深圳 518172)

        0 引言

        “十四五”以來,我國企業(yè)數(shù)字化轉(zhuǎn)型被提升到重要的戰(zhàn)略位置,數(shù)字經(jīng)濟(jì)和數(shù)字產(chǎn)業(yè)發(fā)展速度正在加快。新形勢下,我國軟件業(yè)界不斷通過提升管理水平主動轉(zhuǎn)型,圍繞著軟件度量構(gòu)建的進(jìn)度、成本、質(zhì)量、效率等指標(biāo),持續(xù)改進(jìn)軟件開發(fā)過程、提升軟件產(chǎn)品的交付效率和交付質(zhì)量。在軟件業(yè)務(wù)規(guī)??焖侔l(fā)展的同時(shí),我國軟件行業(yè)的管理水平依然相對落后,綜合競爭能力與軟件產(chǎn)業(yè)強(qiáng)國相比仍相對較低。據(jù)近年發(fā)布的中國軟件行業(yè)研究報(bào)告,我國軟件行業(yè)還存在項(xiàng)目成本高、產(chǎn)品交付周期難以控制等問題。尤其是作為項(xiàng)目成本評估的軟件工程規(guī)模度量、費(fèi)用估算標(biāo)準(zhǔn)化問題,一直沒有得到科學(xué)有效的解決。其主要原因是缺乏標(biāo)準(zhǔn)化、智能化的軟件管理手段以及過度依賴人工經(jīng)驗(yàn)。

        軟件項(xiàng)目的規(guī)模度量和過程控制一直都比較困難。軟件具有不可見性、抽象性和知識密集型的特點(diǎn)。與硬件相比,軟件沒有明顯的生產(chǎn)制造階段,屬于非實(shí)物性的腦力勞動。隨著企業(yè)對軟件需求的不斷發(fā)展,業(yè)界曾運(yùn)用預(yù)算倒推法、工作分解法、源代碼行法以及文檔頁碼數(shù)等評價(jià)方法,開展軟件規(guī)模度量和成本估算[1]。但以上方法大都嚴(yán)重依賴評估人員的工作經(jīng)驗(yàn)和能力,且存在軟件開發(fā)語言、開發(fā)工具、應(yīng)用環(huán)境等方面的差異??陀^來看,過度依靠人工方式度量軟件規(guī)模,不可避免地會給成本估算帶來不確定性和效率低下的問題。鑒于此,基于專業(yè)和普適的模型和規(guī)范,找到1種科學(xué)、合理的軟件規(guī)模度量和成本自動估算方法尤顯必要和緊迫。

        國內(nèi)外對軟件項(xiàng)目的開發(fā)質(zhì)量和進(jìn)度控制已有較深入的研究。美國卡內(nèi)基梅隆大學(xué)軟件工程研究所在20世紀(jì)80年代就提出了能力成熟度模型集成(capability maturity model integration,CMMI),通過軟件度量幫助軟件企業(yè)和軟件項(xiàng)目提高項(xiàng)目管理水平和改進(jìn)軟件質(zhì)量[2]。2018年,CMMI研究院正式發(fā)布CMMI 2.0中文版,為軟件項(xiàng)目敏捷過程提供直接方法指導(dǎo)。周伯生等對CMMI進(jìn)行了初次研究,并提出了軟件度量模型構(gòu)建方法和質(zhì)量模型構(gòu)建方法[3]。楊勛姮等嘗試?yán)密浖詣踊夹g(shù)開展軟件過程和質(zhì)量控制的研究[4],設(shè)計(jì)了輔助實(shí)施質(zhì)量保證的自動化軟件管理工具。冀建偉對相關(guān)法規(guī)標(biāo)準(zhǔn),以及軟件全過程質(zhì)量控制的方法開展研究[5]。

        本文在長期實(shí)踐的基礎(chǔ)上,提出了基于軟件系統(tǒng)用例與功能點(diǎn)相結(jié)合的軟件成本自動計(jì)算方法。該方法通過功能點(diǎn)數(shù)的自動計(jì)算,利用人工智能、機(jī)器學(xué)習(xí)、自然語言處理等方法,自動從需求文檔、技術(shù)規(guī)范等文本抽取、識別功能點(diǎn)數(shù)以提高功能點(diǎn)計(jì)數(shù)的準(zhǔn)確性、提升軟件規(guī)模和費(fèi)用估算的智能化水平和效率。該方法具有一定的創(chuàng)新性和較高的應(yīng)用價(jià)值。

        1 軟件規(guī)模常用估算方法

        業(yè)界傳統(tǒng)的軟件規(guī)模度量方法有專家決策法、類比估算法、源代碼行法、功能點(diǎn)估算法等[6]。這些估算法都有各自的適用范圍和優(yōu)缺點(diǎn)。專家決策法是在專家個(gè)人和集體判斷的基礎(chǔ)上形成的1種相對主觀的估算方法。該方法的特點(diǎn)是簡單、直觀,可直接依靠專家團(tuán)隊(duì)的集體經(jīng)驗(yàn),得出軟件開發(fā)成本價(jià)格。類比估算法是從軟件項(xiàng)目或產(chǎn)品歷史庫中找到與當(dāng)前待評估軟件項(xiàng)目的應(yīng)用領(lǐng)域、運(yùn)行環(huán)境、復(fù)雜度、規(guī)模盡可能一致的同類項(xiàng)目,通過1套行之有效的評價(jià)與分析機(jī)制,得出估算成本。類比估算法雖然簡單、直觀,但其前提是必須要建有相對完整、可靠的軟件項(xiàng)目數(shù)據(jù)庫;其不足是對缺乏歷史參考數(shù)據(jù)的嶄新項(xiàng)目的估算有難度。源代碼行法是對軟件項(xiàng)目各功能模塊的源代碼長度進(jìn)行累計(jì)。源代碼行法雖然簡單、直觀,但代碼行必須從技術(shù)開發(fā)的角度估算,因此非專業(yè)技術(shù)人員很難理解和估算[7]。

        功能點(diǎn)估算法是近年來業(yè)界比較流行的1種軟件規(guī)模度量方法。該方法通過識別軟件需求的內(nèi)外部邏輯文件及其功能來評估軟件的規(guī)模。相比專家決策法和類比估算法,功能點(diǎn)估算法在估算方法上更具客觀的標(biāo)準(zhǔn)依據(jù),可有效避免對評估人員技術(shù)背景的影響[8]。然而,該方法還需通過人工方式計(jì)算實(shí)現(xiàn)。隨著軟件規(guī)模的增大和項(xiàng)目數(shù)量的增多,傳統(tǒng)人工估算法的統(tǒng)計(jì)效率亟待提高,不能與軟件工程智能化發(fā)展趨勢相適應(yīng)。用例與功能點(diǎn)相結(jié)合的軟件規(guī)模度量法,正是在借鑒如上常用估算法優(yōu)劣勢的基礎(chǔ)上,基于實(shí)踐提出的1種自動估算方法。

        2 用例功能點(diǎn)結(jié)合估算模型

        2.1 用例的數(shù)學(xué)定義

        用例是軟件系統(tǒng)參與者與系統(tǒng)之間一系列交互行為序列的集合。以用例為核心的需求模型如圖1所示。

        圖1 以用例為核心的需求模型

        所有用例的集合就組成軟件系統(tǒng)需求全集。用例代表了用戶的需求,其數(shù)學(xué)定義為UC=(ACTOR,CON,AHE,{PRO},EXT,RES,REG,REQ)。其中:UC代表圖例;ACTOR代表軟件系統(tǒng)中完成一系列任務(wù)的各類角色;CON代表基本事件過程的觸發(fā)條件;AHE代表基本事件過程的前提條件;{PRO}代表基本事件集合;EXT代表異常;RES代表后果;REG代表業(yè)務(wù)規(guī)則;REQ代表技術(shù)需求。

        基于用例來定義系統(tǒng)軟件需求,實(shí)際上就是以用例需求為核心,通過描述實(shí)現(xiàn)該用例的業(yè)務(wù)邊界、業(yè)務(wù)規(guī)則、功能要求、性能要求、界面規(guī)范及接口交換等諸多功能,完成各類角色的具體任務(wù)和目標(biāo)[9]。

        2.2 功能點(diǎn)的五個(gè)功能單元

        對用例進(jìn)行功能點(diǎn)計(jì)算,需依據(jù)事先確定好的標(biāo)準(zhǔn),計(jì)算出系統(tǒng)用例中每類功能單元所包含的功能點(diǎn)數(shù)量。依照國際功能點(diǎn)用戶組織(International Function Points User’s Group,IFPUG)標(biāo)準(zhǔn),目前功能點(diǎn)計(jì)算涉及5個(gè)功能單元。其中:2個(gè)為數(shù)據(jù)功能單元,分別為內(nèi)部邏輯文件(internal logical file,ILF)和外部接口文件(external interface file,EIF);3個(gè)為事務(wù)功能單元,分別為外部輸入(external input,EI)、外部輸出(external output,EO)和外部查詢(external query,EQ)[9]。

        2.3 功能點(diǎn)估算步驟

        傳統(tǒng)的用例功能點(diǎn)估算由人工完成。為提高計(jì)算效率,本文估算方法可由計(jì)算機(jī)對每個(gè)用例模板文檔進(jìn)行遍歷自動計(jì)算。功能點(diǎn)計(jì)算步驟如下。①確定用例功能點(diǎn)估算范圍與邊界。②計(jì)算功能單元ILF、EIF、EI、EO和EQ出現(xiàn)的次數(shù)。③逐一計(jì)算出每個(gè)功能單元每次出現(xiàn)的復(fù)雜度值。④由復(fù)雜度值確定每個(gè)功能單元出現(xiàn)的權(quán)重。⑤計(jì)算得到未校正的功能點(diǎn)數(shù)Ufp。根據(jù)以上步驟,可得未校正的功能點(diǎn)數(shù)Ufp計(jì)算式為:

        Ufp=NEIWEI+NEOWEO+NEQWEQ+NILFWILF+

        NEIFWEIF

        (1)

        式中:Ufp為未校正的功能點(diǎn)數(shù);NEI、NEO、NEQ、NILF、NEIF分別為EI、EO、EQ、ILF和EIF出現(xiàn)的次數(shù);WEI、WEO、WEQ、WILF、WEIF分別為EI、EO、EQ、ILF和EIF的復(fù)雜度加權(quán)因子。

        經(jīng)整理,式(1)可簡化為:

        (2)

        式中:Ni,j為第i個(gè)功能單元在復(fù)雜度j時(shí)的出現(xiàn)次數(shù);Wi,j為第i個(gè)功能單元在復(fù)雜度j時(shí)的加權(quán)因子。

        2.4 確定相關(guān)調(diào)整系數(shù)

        根據(jù)IFPUG公布的相關(guān)標(biāo)準(zhǔn),軟件系統(tǒng)的復(fù)雜程度可根據(jù)系統(tǒng)特征的性能復(fù)雜度、界面復(fù)雜度、代碼復(fù)用要求、系統(tǒng)應(yīng)用類型、開發(fā)語言類型等14項(xiàng)影響因子逐個(gè)分析賦值,再按IFPUG公布的調(diào)整系數(shù)求和式(3),計(jì)算得出調(diào)整系數(shù)Vaf。

        (3)

        式中:Vaf為求和后的調(diào)整系數(shù);N為確定的實(shí)際系統(tǒng)性能特征個(gè)數(shù),取值為1~14;Ni為第i個(gè)影響因子的復(fù)雜程度。

        軟件系統(tǒng)的影響因子影響程度,可按每個(gè)影響因子的復(fù)雜程度賦值0~5。其中:0為無影響或未出現(xiàn);1為偶發(fā)影響;2為輕度影響;3為一般影響;4為重影響;5為極重影響。需要強(qiáng)調(diào)的是,在利用14項(xiàng)影響因子加權(quán)調(diào)整功能點(diǎn)計(jì)算時(shí),可根據(jù)具體軟件系統(tǒng)的特殊情況,適應(yīng)性地增加新的影響因子。權(quán)值的賦值范圍調(diào)整可以根據(jù)不同的軟件系統(tǒng)用線性插值法獲取[10]。下面以其中軟件應(yīng)用類型、開發(fā)語言類型2個(gè)影響因子為例進(jìn)行說明。本文通過參考中國軟件行業(yè)基準(zhǔn)數(shù)據(jù)分析報(bào)告(CSBMK-202010),綜合應(yīng)用類型、開發(fā)語言類型特點(diǎn)和實(shí)踐經(jīng)驗(yàn),獲得相應(yīng)類型的參考調(diào)整系數(shù)權(quán)值。表1為應(yīng)用類型及應(yīng)用范圍調(diào)整系數(shù)參考表。

        表1 應(yīng)用類型及應(yīng)用范圍調(diào)整系數(shù)參考表

        表2為開發(fā)語言類型及其調(diào)整因子參數(shù)表。

        表2 開發(fā)語言類型及其調(diào)整因子參數(shù)表

        2.5 計(jì)算軟件規(guī)模和費(fèi)用

        本文在計(jì)算出Ufp的基礎(chǔ)上,再與求得的Vaf相乘,計(jì)算得到調(diào)整后功能點(diǎn)數(shù)FP,也就是軟件的規(guī)模。

        FP=Ufp×Vaf

        (4)

        在計(jì)算出功能點(diǎn)數(shù)的基礎(chǔ)上,根據(jù)功能點(diǎn)耗時(shí)率計(jì)算出工作量。

        Ae=Fp×PDR

        (5)

        式中:Ae為工作量;PDR為功能點(diǎn)耗時(shí)率,人時(shí)/功能點(diǎn)。

        本文在計(jì)算出工作量的基礎(chǔ)上,根據(jù)人月成本,計(jì)算出軟件開發(fā)費(fèi)用P。

        (6)

        式中:F為人月成本,元;176為按每月22 d、每天8 h計(jì)算得出的工作小時(shí)數(shù),h。

        3 功能點(diǎn)自動計(jì)算實(shí)例

        3.1 用例文檔舉例

        設(shè)計(jì)文檔起草發(fā)文模塊用例如表3所示。

        本文以核電設(shè)計(jì)文檔管理系統(tǒng)的1個(gè)用例規(guī)模度量為例,利用語義分析和文本挖掘技術(shù),自動識別并抽取系統(tǒng)需求文檔用例表中功能點(diǎn)數(shù),計(jì)算出軟件規(guī)模和價(jià)格。1個(gè)完整的軟件系統(tǒng)需求可以由諸多用例集合組成。而每個(gè)用例都可以用1個(gè)用例模板表來完整描述。只要通過軟件系統(tǒng)逐個(gè)對用例表中的功能點(diǎn)數(shù)進(jìn)行標(biāo)注和統(tǒng)計(jì),就可以通過遍歷把整個(gè)軟件系統(tǒng)功能點(diǎn)數(shù)計(jì)算出來,再通過轉(zhuǎn)化實(shí)現(xiàn)軟件系統(tǒng)規(guī)模和價(jià)格測算的自動化和智能化。

        3.2 功能點(diǎn)自動計(jì)算算法結(jié)果比較

        軟件功能點(diǎn)計(jì)算智能化主要是利用語義分析及文本挖掘技術(shù)抽取用戶需求文本中的用例表,構(gòu)建文本與功能點(diǎn)映射關(guān)系并自動計(jì)算功能點(diǎn)數(shù),度量出軟件規(guī)模,從而計(jì)算費(fèi)用[11]。功能點(diǎn)標(biāo)注和計(jì)算應(yīng)有文本自動識別讀取功能,且在用例表相應(yīng)位置予以標(biāo)注,并根據(jù)計(jì)算式自動計(jì)算功能點(diǎn)數(shù)。功能點(diǎn)自動估算算法如下。

        偽代碼算法:[利用用例模板表計(jì)算功能點(diǎn)]

        處理步驟A0:導(dǎo)入一張結(jié)構(gòu)化用例表;

        do{將用例添加到系統(tǒng)用例集;

        do{標(biāo)注用例表中每個(gè)類;

        If(若該類為ILF)

        {則添加到ILF集,并標(biāo)注;}

        else{則添加到EIF集,并標(biāo)注;}

        do{對事件的行為進(jìn)行識別:

        (1)若為EI,則添加到EI集,并標(biāo)注;

        (2)若為EO,則添加到EO集,并標(biāo)注;

        (3)若為EQ,則添加到EQ集,并標(biāo)注;

        } while (最后一個(gè)行為);

        do{確定ILF集中的每個(gè)類:

        (1)計(jì)算為該類的一個(gè)DET;

        (2)計(jì)算為該類的一個(gè)RET;

        (3)確定復(fù)雜度值和影響因子;

        } while (最后一個(gè)ILF類);

        do{確定EIF集中的每個(gè)類:

        (1)計(jì)算為該類的一個(gè)DET;

        (2)計(jì)算為該類的一個(gè)RET;

        (3)確定復(fù)雜度值和影響因子;

        } while (最后一個(gè)EIF類);

        do{計(jì)算事務(wù)的復(fù)雜度:

        累計(jì)EI、EO、EQ和RET、DET總復(fù)雜度值和影響因子;

        } while (最后一個(gè)行為);

        } while (最后一個(gè)類);

        } while (遍歷最后一張用例表);

        處理步驟A1:求和功能點(diǎn)數(shù),計(jì)算出工作量和費(fèi)用。

        根據(jù)以上算法,可自動計(jì)算出設(shè)計(jì)文檔起草發(fā)文模塊用例校正后的功能點(diǎn)數(shù),遍歷全部設(shè)計(jì)文檔管理系統(tǒng)用例集,累加計(jì)算出整個(gè)用例集的功能點(diǎn)數(shù)。

        根據(jù)式(4),通過功能點(diǎn)數(shù)求出軟件系統(tǒng)的工作量Ae,再根據(jù)式(5)計(jì)算出軟件成本。功能點(diǎn)耗時(shí)率(PDR)和人月成本(F)2個(gè)常量值,可參考軟件行業(yè)普遍采用的平均水平,按功能點(diǎn)耗時(shí)率7.12人時(shí)/功能點(diǎn)、人月成本2.85萬元/人月進(jìn)行計(jì)算。以上算法全部過程均可通過軟件代碼算法實(shí)現(xiàn)。計(jì)算結(jié)果如下。

        Ae=Fp×PDR=512×7.12=3 645人時(shí)

        為檢驗(yàn)用例功能點(diǎn)自動計(jì)算方法的準(zhǔn)確性,本文將計(jì)算結(jié)果與軟件系統(tǒng)實(shí)際工時(shí)進(jìn)行比較。系統(tǒng)記錄實(shí)際工時(shí)數(shù)如表4所示。

        項(xiàng)目軟件系統(tǒng)按用例功能點(diǎn)法自動計(jì)算所得工時(shí)合計(jì)為3 645人時(shí),折算成軟件成本為59.02萬元,準(zhǔn)確率為80.02%。項(xiàng)目事后實(shí)際記錄工時(shí)4 544人時(shí)、實(shí)際綜合成本75萬元,準(zhǔn)確率為78.69%。

        通過對比可知:從軟件規(guī)模看,通過功能點(diǎn)自動計(jì)算得到的工作量,與實(shí)際記錄的工作量數(shù)據(jù)相比準(zhǔn)確度較高,準(zhǔn)確率達(dá)80%左右,偏差為20%左右,遠(yuǎn)小于接受范圍偏差(30%);從軟件成本造價(jià)看,通過功能點(diǎn)自動計(jì)算的工時(shí)成本為59.02萬元,占項(xiàng)目實(shí)際造價(jià)成本75萬元的78.69%,均在可接受范圍內(nèi)。根據(jù)實(shí)際經(jīng)驗(yàn),功能點(diǎn)估算的準(zhǔn)確性主要依靠系統(tǒng)需求的準(zhǔn)確性及完整性,因此本文估算方法的計(jì)算結(jié)果準(zhǔn)確性依賴于用例表描述的準(zhǔn)確性和完整性。所以在實(shí)際軟件度量計(jì)算中,可根據(jù)偏差不斷調(diào)試影響因子權(quán)值,通過迭代持續(xù)縮小估算偏差,并為以后的項(xiàng)目估算提供歷史經(jīng)驗(yàn)數(shù)據(jù)。

        4 結(jié)論

        用例功能點(diǎn)軟件成本自動計(jì)算方法具有較高的應(yīng)用價(jià)值。該方法以國家標(biāo)準(zhǔn)為依據(jù),從用戶需求出發(fā),對用例的功能點(diǎn)進(jìn)行識別和計(jì)算。該方法明確且可量化,結(jié)果確定性強(qiáng)。從普適性方面來看,該方法適用于各種不同應(yīng)用類型的軟件項(xiàng)目,可選擇與之相對應(yīng)的調(diào)整系數(shù)和加權(quán)因子,具有應(yīng)用范圍的普遍性。從可迭代方面來看,該方法可根據(jù)軟件實(shí)際評估中遇到的問題,不斷調(diào)整和優(yōu)化方法和指標(biāo)系數(shù)。隨著技術(shù)和業(yè)務(wù)的高速發(fā)展,用例功能點(diǎn)估算法應(yīng)用場景會越來越多,包括大數(shù)據(jù)技術(shù)結(jié)合的功能點(diǎn)度量、云平臺上的軟件功能點(diǎn)度量等。這將進(jìn)一步提升軟件過程控制的效率和智能化水平。

        猜你喜歡
        成本功能方法
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        2021年最新酒駕成本清單
        河南電力(2021年5期)2021-05-29 02:10:00
        溫子仁,你還是適合拍小成本
        電影(2018年12期)2018-12-23 02:18:48
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        可能是方法不對
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        捕魚
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        辨證施護(hù)在輕度認(rèn)知功能損害中的應(yīng)用
        麻豆视频av在线观看| 男女调情视频在线观看| 丝袜美腿av在线观看| 亚洲成在人线视av| 999国产精品999久久久久久| 国产在线一区二区三区av| 天天躁日日躁狠狠躁av中文 | 国产xxxxx在线观看| 欧美国产一区二区三区激情无套| 国产成人无码A区在线观| 日韩熟女一区二区三区| av网页免费在线观看| 少妇高潮无套内谢麻豆传 | 疯狂添女人下部视频免费| 久久精品国产一区二区电影| 亚洲女同同性少妇熟女| 国产精品大片一区二区三区四区| 国模吧无码一区二区三区| 国产做无码视频在线观看浪潮| 人妻丰满熟妇AV无码片| 五月停停开心中文字幕| 日本一区二区三区丰满熟女| 激情综合五月婷婷久久| 未满十八勿入av网免费| 精品欧洲av无码一区二区三区| 亚洲AV成人无码久久精品四虎| 人妻av午夜综合福利视频| 日韩精品视频高清在线| 人妻 色综合网站| 色妞色综合久久夜夜| 国产精品亚洲专区无码不卡| 91麻豆精品久久久影院| 国产在线视频91九色| 欧美性猛交xxxx富婆| 国产精品毛片久久久久久l| 亚洲一区二区岛国高清| 青青草精品视频在线播放| 国产精品对白刺激久久久| 人妻av一区二区三区av免费| 人妻在线有码中文字幕| 午夜精品久久久久久久99老熟妇 |