• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向用戶的柔點(diǎn)柔變范圍定量度量技術(shù)

      2014-12-02 01:21:14申利民王俊飛楊永濤
      關(guān)鍵詞:變性度量部件

      申利民,王俊飛,楊永濤

      (燕山大學(xué) 信息科學(xué)與工程學(xué)院/河北省計(jì)算機(jī)虛擬技術(shù)與系統(tǒng)集成重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004)

      0 引言

      軟件正在向網(wǎng)絡(luò)化、服務(wù)化、智能化和開放化方向發(fā)展,外部應(yīng)用環(huán)境和用戶需求的多變性,迫使軟件頻繁變更,維護(hù)成本和時(shí)間急劇增加。軟件工程專家積極探索,將柔性軟件系統(tǒng)(Flexible Software System,F(xiàn)SS)引入軟件領(lǐng)域,分離用戶穩(wěn)定需求和變化需求,使用戶能夠高效低耗地動(dòng)態(tài)調(diào)整軟件,以應(yīng)對變化。軟件柔性已經(jīng)作為軟件質(zhì)量的重要屬性,定量的軟件柔性度量對軟件的設(shè)計(jì)、控制、評估和應(yīng)用具有重要的意義。

      目前,國外主要從軟件自身的體系結(jié)構(gòu)、軟件編程規(guī)范和軟件應(yīng)用領(lǐng)域來分析和度量軟件的柔性。2006年,Amnon H.Eden和Tom Mens提出用演化復(fù)雜度來度量軟件的柔性,從編程規(guī)范(面向?qū)ο蠛兔嫦蜻^程)、體系結(jié)構(gòu)(數(shù)據(jù)共享,管道、過濾器,抽象數(shù)據(jù)類型)和設(shè)計(jì)模式來比較軟件的柔性[1];2011年,Wang Song提出一個(gè)面向企業(yè)資源規(guī)劃(Enterprise Resource Planning,ERP)系統(tǒng)的軟件柔性評估模型,該模型細(xì)化了指標(biāo)體系,分為表示靈活性、業(yè)務(wù)靈活性和設(shè)計(jì)靈活性[2]?;谲浖幊桃?guī)范的研究出現(xiàn)在文獻(xiàn)[3],它從面向?qū)ο蠼嵌确治龊投攘寇浖嵝?;基于軟件制造領(lǐng)域柔性的研究出現(xiàn)在文獻(xiàn)[4],它分析了在柔性制造系統(tǒng)中柔性的度量方法。

      在國內(nèi),柔性研究者主要從面向用戶的角度出發(fā)分析和度量柔性,關(guān)注用戶界面給用戶提供的柔性。將軟件內(nèi)在的柔性轉(zhuǎn)換為面向用戶的柔性更能體現(xiàn)柔性的價(jià)值,更能直接地滿足用戶需求的變化,是用戶最關(guān)心的柔性。2004年,申利民和穆運(yùn)峰首次提出了軟件柔性的概念,將柔性分為四個(gè)層次的柔性,并提出了以柔點(diǎn)、柔力和柔距度量軟件的柔性[5]。在文獻(xiàn)[5]的基礎(chǔ)上,申利民完善了軟件柔性度量,提出了以柔點(diǎn)為核心的軟件柔性定量度量模型[6-9]。

      國內(nèi)面向用戶的柔性度量逐步形成了以柔點(diǎn)操控難度和柔點(diǎn)柔變范圍為核心度量屬性的柔性度量體系。梁東魁提出用功能規(guī)模單元作為度量柔點(diǎn)柔變范圍的單位[10],并沒有考慮柔點(diǎn)變化傳播的影響。就目前軟件面向用戶的柔點(diǎn)柔變范圍的度量理論領(lǐng)域來看,存在以下問題:①軟件柔性變化描述不足,缺乏模型支持;②面向用戶的柔點(diǎn)柔性變化產(chǎn)生的配置傳播考慮欠缺,使柔點(diǎn)柔變范圍度量不夠精確;③面向用戶的柔點(diǎn)柔變范圍度量過程粗糙,可操作性差。

      針對上述問題,借鑒軟件產(chǎn)品家族中的變化性建模方法[11-13],分析軟件中的柔性變化資源,參照軟件中變更傳播[14-17]的影響分析,考慮柔點(diǎn)變化產(chǎn)生的配置傳播影響,利用改進(jìn)的功能點(diǎn)分析法度量柔點(diǎn)變化影響的功能點(diǎn)部件。在以上分析的基礎(chǔ)上,結(jié)合面向用戶柔點(diǎn)的特點(diǎn),給出柔變范圍度量模型中的度量要素,包括度量實(shí)體、相關(guān)實(shí)體、度量屬性、度量指標(biāo)和度量方法。下面介紹面向用戶的柔點(diǎn)柔變范圍度量模型。

      首先,介紹柔變范圍度量模型中的三個(gè)主要方法,包括:①構(gòu)建軟件柔變性模型,表示軟件柔性變化;②搭建柔點(diǎn)變化傳播影響圖,分析柔點(diǎn)變化傳播影響;③改進(jìn)功能點(diǎn)分析法,度量柔點(diǎn)變化影響的功能點(diǎn)部件。然后,結(jié)合面向用戶柔點(diǎn)的特點(diǎn),給出面向用戶的柔點(diǎn)柔變范圍度量模型,分析度量模型要素。最后,利用該模型度量軟件實(shí)例,分析柔點(diǎn)柔變范圍。

      1 軟件柔變性模型

      軟件柔變性模型是從面向用戶的角度出發(fā),對軟件柔性變化的表示,柔變性概念模型包括柔點(diǎn)、柔變點(diǎn)、柔變項(xiàng)以及柔變性依賴和約束關(guān)系。

      1.1 柔變性模型相關(guān)概念

      1.1.1 柔性和柔變性

      (1)柔性 指在保持基本軟件特征不變的條件下,在外界的作用、刺激和驅(qū)動(dòng)下,軟件功能、結(jié)構(gòu)和行為能夠容易地、重復(fù)地、可逆地、和諧地進(jìn)行變化而不損壞、不失效的屬性[5]。軟件柔性包括軟件的柔變性和操控性。

      柔變性即柔性變化性,是軟件為了滿足需求變化,通過自身配置機(jī)構(gòu)調(diào)整,使軟件的功能、結(jié)構(gòu)和行為能夠進(jìn)行的可重復(fù)的、可逆的、和諧的而不損壞或失效的改變的性質(zhì),它反映了軟件適應(yīng)需求變化的范圍,其度量指標(biāo)是柔變范圍。

      (2)柔變范圍 指由軟件柔點(diǎn)引發(fā)的軟件功能發(fā)生的最大柔性變化范圍,反映了柔點(diǎn)影響的軟件功能規(guī)模。

      (3)操控性 即用戶可操控性,是軟件可被用戶操控的性質(zhì)。操控性反映了軟件用戶完成軟件規(guī)定操作的難易程度,其度量指標(biāo)是操控難度。

      (4)操控難度 操控難度是在柔點(diǎn)處引發(fā)軟件柔性變化需要的最小用戶操控能力,反映了用戶操作該柔點(diǎn)的難易程度。

      (5)柔變范圍和操控難度關(guān)系 柔變范圍和操控難度是度量軟件柔點(diǎn)柔性大小的兩個(gè)主要因子。軟件柔點(diǎn)柔變范圍越大,操控難度越小,柔點(diǎn)柔性越大;反之,柔點(diǎn)柔變范圍越小,操控難度越大,柔點(diǎn)柔性越小。

      1.1.2 變化性和柔變性

      (1)軟件變化性 指為了適應(yīng)外界環(huán)境和用戶需求的變化,對軟件進(jìn)行調(diào)整,而使軟件發(fā)生變化的性質(zhì)。軟件的變化性主要體現(xiàn)在兩方面:①通過調(diào)整軟件自身的配置機(jī)構(gòu)滿足外界需求,使軟件形態(tài)發(fā)生的變化,軟件自身不需要進(jìn)行再次開發(fā);②通過變更軟件自身結(jié)構(gòu)和代碼滿足外界需求,而使軟件形態(tài)發(fā)生的變化,軟件需要進(jìn)行再次開發(fā)。

      (2)變化性和柔變性的關(guān)系 軟件變化性包括軟件自身配置機(jī)構(gòu)調(diào)整產(chǎn)生的變化性以及變更軟件結(jié)構(gòu)和代碼產(chǎn)生的變化性。柔變性是軟件自身配置機(jī)構(gòu)調(diào)整產(chǎn)生的變化性,是軟件變化性的一部分。

      1.1.3 柔點(diǎn)、柔變點(diǎn)、柔變項(xiàng)、柔變性依賴和約束

      (1)柔點(diǎn) 軟件用戶界面上能引起軟件柔性變化的一個(gè)配置點(diǎn)。如果柔點(diǎn)中的柔變項(xiàng)集合能被增添、刪減或修改,則稱柔點(diǎn)是開放的,否則是封閉的。

      柔點(diǎn)具有如下特征:

      1)用戶利用柔點(diǎn)來傳達(dá)用戶需求的變化,實(shí)現(xiàn)需求的后期綁定。

      2)柔點(diǎn)是面向用戶柔性的設(shè)計(jì)和度量的最基本單元。

      3)在柔點(diǎn)處,用戶與軟件交互作用,用戶將需求經(jīng)過柔點(diǎn)傳遞進(jìn)入系統(tǒng),觸發(fā)軟件柔性機(jī)制,使軟件功能、行為和結(jié)構(gòu)發(fā)生柔性變化。

      按照柔點(diǎn)形變的影響范圍,將柔點(diǎn)的類型劃分為[5]:

      1)孤立柔點(diǎn) 該柔點(diǎn)形態(tài)的變化不影響其他柔點(diǎn)的柔性,其他柔點(diǎn)的形態(tài)變化也不影響該柔點(diǎn)。

      2)受控柔點(diǎn) 該柔點(diǎn)的影響范圍受其他柔點(diǎn)的影響。

      3)控制柔點(diǎn) 該點(diǎn)的形態(tài)變化會(huì)影響其他柔點(diǎn)的柔性,能增加或減少柔點(diǎn),調(diào)整其他柔點(diǎn)的柔性。

      (2)柔變點(diǎn) 軟件中用戶可識(shí)別和可發(fā)生柔性變化的一個(gè)功能。如打印預(yù)覽功能中不同的用戶設(shè)置、打印預(yù)覽顯示不同。

      (3)柔變項(xiàng) 在軟件柔點(diǎn)處,用于表達(dá)用戶變化需求的、用戶可識(shí)別、可選擇的、可改變功能的功能操作項(xiàng)。如打印設(shè)置功能中用戶可以動(dòng)態(tài)選擇的列,每個(gè)可供用戶選擇的列即為柔變項(xiàng)。

      (4)柔變性依賴 柔點(diǎn)和柔變項(xiàng)之間的選擇關(guān)系。選擇關(guān)系表現(xiàn)為強(qiáng)制和可選關(guān)系。強(qiáng)制關(guān)系表現(xiàn)為在某種約束下,用戶在柔點(diǎn)處必須進(jìn)行選擇的柔變項(xiàng);可選關(guān)系表現(xiàn)為用戶在柔點(diǎn)處可以不選、選一個(gè)或選多個(gè)柔變項(xiàng)。

      (5)柔變性約束 柔變性約束關(guān)系的表現(xiàn)有三種形式:

      1)柔變項(xiàng)之間的需要和互斥關(guān)系。

      2)柔變項(xiàng)和柔點(diǎn)之間的需要和互斥關(guān)系。

      3)柔點(diǎn)之間的需要和互斥關(guān)系。

      其中,針對1),柔變項(xiàng)需要關(guān)系指一個(gè)柔變項(xiàng)能否被選擇,取決于另一個(gè)柔變項(xiàng)是否已經(jīng)選擇;柔變項(xiàng)互斥關(guān)系指兩個(gè)柔變項(xiàng)不能同時(shí)被選擇,只能選擇其中一項(xiàng);2)和3)的需要和互斥關(guān)系類似1)。

      1.1.4 柔點(diǎn)、柔變點(diǎn)和柔變項(xiàng)之間的關(guān)系

      在柔變性模型中,柔點(diǎn)、柔變點(diǎn)和柔變項(xiàng)是體現(xiàn)軟件柔變性的重要模型元素。柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)之間的關(guān)系如圖2所示。

      在軟件用戶界面上,用戶在柔點(diǎn)處通過選擇柔變項(xiàng)完成對柔變點(diǎn)的配置,在運(yùn)行過程中,柔變點(diǎn)綁定選擇后的柔變項(xiàng),實(shí)現(xiàn)柔變點(diǎn)的多種方式顯示。柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)三者之間相互聯(lián)系、相互支持,協(xié)作實(shí)現(xiàn)軟件的柔變性。

      下面用軟件中常有的打印設(shè)置功能分析三者之間的關(guān)系。

      對于報(bào)表打印設(shè)置功能,用戶可以通過軟件提供的打印設(shè)置界面動(dòng)態(tài)選擇所需要打印的列,打印設(shè)置功能為柔點(diǎn),可以被動(dòng)態(tài)選擇的列為柔變項(xiàng),通過打印設(shè)置后,打印的形式和預(yù)覽界面會(huì)相應(yīng)地發(fā)生變化,打印預(yù)覽功能為柔變點(diǎn)。用戶通過打印設(shè)置柔點(diǎn)動(dòng)態(tài)選擇柔變項(xiàng)的列,配置相應(yīng)的打印預(yù)覽柔變點(diǎn),在運(yùn)行過程中,打印預(yù)覽柔變點(diǎn)動(dòng)態(tài)綁定已被選擇的柔變項(xiàng),實(shí)現(xiàn)打印預(yù)覽界面的隨需變化。

      1.2 基于擴(kuò)展的統(tǒng)一建模語言柔變性建模

      軟件的柔變性模型從用戶的角度出發(fā),主要對軟件的領(lǐng)域需求進(jìn)行建模和描述。軟件的領(lǐng)域需求建模體現(xiàn)為能使用明確的模型元素描述軟件的穩(wěn)定部分和變化部分。軟件穩(wěn)定部分可以利用統(tǒng)一建模語言(Unified Modeling Language,UML)進(jìn)行建模,而軟件的變化部分則不能得到UML 很好的支持。為了解決柔變性模型中柔點(diǎn)、柔變點(diǎn)、柔變項(xiàng)模型元素與柔變性依賴約束關(guān)系的描述問題,需要擴(kuò)展UML來解決該問題。

      在柔變性建模中引入用例模型,有如下原因:

      (1)圖形化表述的用例模型有利于開發(fā)者描述需求,適合用戶與開發(fā)者有效溝通需求。

      (2)用例模型從用戶的視角描述軟件,更易于用戶了解軟件系統(tǒng)。

      (3)用例模型能更好地描述軟件功能的變化,有效支持對軟件柔變性的描述。

      1.2.1 柔變性模型的組織形式

      一個(gè)柔變性模型需要描述柔點(diǎn)、柔變點(diǎn)、柔變項(xiàng)、柔變性依賴和柔變性約束。柔變性模型利用擴(kuò)展的用例模型表示柔點(diǎn)、柔變點(diǎn)和柔變項(xiàng),通過命題邏輯標(biāo)識(shí)柔變性依賴和柔變性約束關(guān)系。柔變性模型由擴(kuò)展的用例模型和柔變性約束模型兩部分組成,如圖2所示。

      1.2.2 擴(kuò)展的用例模型

      擴(kuò)展的用例模型(如表1)引入以下幾種模型要素支持柔變性:

      (1)柔點(diǎn)用例 表示該用例是用戶可以進(jìn)行動(dòng)態(tài)配置的用例。

      (2)柔變點(diǎn)用例 表示該用例是可以隨需變化的用例。

      (3)柔變項(xiàng)用例 表示該用例是被柔點(diǎn)進(jìn)行選擇的功能項(xiàng)用例。

      (4)配置關(guān)系 表示柔點(diǎn)用例對柔變點(diǎn)用例的配置關(guān)系。

      (5)依賴關(guān)系 表示柔點(diǎn)用例和柔變項(xiàng)用例之間的選擇關(guān)系(如表2)。

      在擴(kuò)展的用例模型中,用柔點(diǎn)用例、柔變項(xiàng)用例和柔變點(diǎn)用例表示柔變性模型要素柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn),用配置關(guān)系和依賴關(guān)系分別表示柔點(diǎn)和柔變點(diǎn)的配置關(guān)系以及柔點(diǎn)和柔變項(xiàng)的選擇關(guān)系。

      表1 擴(kuò)展的用例描述

      表2 擴(kuò)展的柔變性依賴關(guān)系UML描述

      1.2.3 柔變性約束關(guān)系模型

      軟件的柔變性約束關(guān)系描述了模型要素柔點(diǎn)、柔變點(diǎn)和柔變項(xiàng)之間的互相約束關(guān)系,軟件的柔變性約束關(guān)系模型如圖3所示。

      柔變性依賴約束機(jī)制是基于命題邏輯的。一個(gè)柔變項(xiàng)從被識(shí)別出開始,它在生命周期內(nèi)存在2種狀態(tài):被選擇狀態(tài)和未選擇狀態(tài)。將柔點(diǎn)記為FP,將柔變項(xiàng)記為V。

      (1)未變項(xiàng)狀態(tài) 用謂詞作用于柔變項(xiàng)來表達(dá)該柔變項(xiàng)所處的狀態(tài):以T表示謂詞“柔變項(xiàng)被選擇”,則柔變項(xiàng)V被選擇可表示為T(V),T(V)的取值為

      (2)柔變性約束

      對柔變性約束規(guī)則中的柔變項(xiàng)約束、柔變項(xiàng)與柔點(diǎn)約束、柔變點(diǎn)約束也可以用命題邏輯進(jìn)行描述,用R(Vi,F(xiàn)Pk)表示柔點(diǎn)FPk選擇柔變項(xiàng)Vi。

      柔變項(xiàng)約束表示FPk中的柔變項(xiàng)Vi和FPm中Vj間的柔變項(xiàng)約束,R(Vi,F(xiàn)Pk)requireR(Vj,F(xiàn)Pm),R(Vi,F(xiàn)Pk)excludeR(Vj,F(xiàn)Pk)可以分別定義如下:

      R(Vi,F(xiàn)Pk)→R(Vj,F(xiàn)Pm);l<i<n,l<j<n,i≠j,n,m為柔點(diǎn)FPk和FPm中的柔變項(xiàng)總數(shù);

      R(Vi,F(xiàn)Pk)→R(Vj,F(xiàn)Pm);l<i<n,l<j<n,i≠j,n,m為柔點(diǎn)FPk和FPm中柔變項(xiàng)總數(shù)。

      柔變項(xiàng)與柔點(diǎn)約束表示在柔點(diǎn)FPk中的柔變項(xiàng)Vi和柔點(diǎn)FPm的約束,R(Vi,F(xiàn)Pk)requireFPm,R(Vi,F(xiàn)Pk)excludeFPm,可以分別定義如下:

      R(Vi,F(xiàn)Pk)→(Vj(R(Vj,F(xiàn)Pm)),R(Vi,F(xiàn)Pk)∨—?Vj(R(Vj,F(xiàn)Pm));

      Vi∈FPk,Vj∈FPm,1≤i≤nl,l≤j≤n2,k≠m,nl,n2分別為柔點(diǎn)FPK和FPm中柔變項(xiàng)的總數(shù)。

      柔點(diǎn)約束表示在柔點(diǎn)FPk和柔點(diǎn)FPm間的柔點(diǎn)約束,F(xiàn)PkrequireFPm,F(xiàn)PkexcludeFPm可以分別定義如下:

      ?vi(R(Vi,F(xiàn)Pk))→?vj(R(Vj,F(xiàn)Pm));

      ?vi(R(Vi,F(xiàn)Pk))→?vj(R(Vj,F(xiàn)Pm));

      Vi∈FPk,Vj∈FPm,1≤i≤nl,l≤j≤n2,k≠m,nl,n2分別為柔點(diǎn)FPK和FPm中的柔變項(xiàng)的總數(shù)。

      在柔變性模型中,其通過形式化表達(dá)柔變性約束關(guān)系,為柔變性約束模型提供了很好的表示機(jī)制。

      1.2.4 建模過程

      (1)柔變性元素識(shí)別

      軟件需求分析是一個(gè)精化需求和識(shí)別柔變性的過程,其通過收集、分析和評估軟件中涉及的領(lǐng)域知識(shí),客觀抽取并分類領(lǐng)域需求的穩(wěn)定需求和可變需求。依據(jù)柔點(diǎn)識(shí)別規(guī)則,對可變需求中的柔點(diǎn)進(jìn)行識(shí)別和標(biāo)識(shí),建立功能需求矩陣,分析柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)之間的關(guān)系。

      從用戶可認(rèn)知和可識(shí)別的角度出發(fā),面向用戶柔點(diǎn)識(shí)別規(guī)則如下:

      1)應(yīng)用程序邊界內(nèi)部的功能;

      2)用戶可識(shí)別、可配置的功能;

      3)功能可以發(fā)生柔性變化。

      軟件的功能需求矩陣表如表3所示。表中:SR為穩(wěn)定需求;CR 為可變需求;R 為需求;CT 表示可變需求所屬可變類型,CT1代表需求屬于柔變點(diǎn),CT2代表該需求屬柔點(diǎn);X 表示需求不具有當(dāng)前列的類型;DT 為表示依賴類別,DT1表示可變的,DT2表示復(fù)合的,即包含強(qiáng)制的和可變的;UE 表示用例是否可擴(kuò)展,UE1表示開放的,UE2表示封閉的。

      下面以軟件中常用的報(bào)表打印設(shè)置功能需求為例進(jìn)行分析。

      打印設(shè)置屬于可變需求(CR),因?yàn)椴煌脩艨梢杂胁煌拇蛴≡O(shè)置;打印設(shè)置屬于柔點(diǎn)(CT2),因?yàn)橛脩艨梢酝ㄟ^打印設(shè)置功能動(dòng)態(tài)選擇將要打印顯示的列,打印設(shè)置是一個(gè)配置點(diǎn);打印設(shè)置依賴類別屬于可變的(DT1),因?yàn)椴煌脩敉ㄟ^柔點(diǎn)可以選擇不同的列,沒有必須要強(qiáng)制選擇的列;打印設(shè)置擴(kuò)展性屬于封閉的(UE2),因?yàn)榭梢赃x擇的列是固定的,一般不能添加、修改或增加列。因此,打印設(shè)置功能對應(yīng)的功能需求矩陣如如表4所示。

      表3 功能需求矩陣

      表4 打印設(shè)置的功能需求矩陣

      分析打印設(shè)置柔點(diǎn),柔變項(xiàng)是打印設(shè)置可以選擇的列,柔變點(diǎn)是打印頁面預(yù)覽功能。柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)的關(guān)系如表5所示。

      表5 打印設(shè)置柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)的關(guān)系

      (2)確定用例圖 根據(jù)功能需求矩陣,結(jié)合用例圖特點(diǎn),確定擴(kuò)展后的用例圖。

      (3)分析和描述柔變性約束 根據(jù)柔變性約束模型進(jìn)行軟件柔變性約束分析和描述。

      2 柔點(diǎn)變化傳播影響圖

      當(dāng)用戶需求發(fā)生變化時(shí),用戶可以通過柔點(diǎn)操作滿足需求。對于一些小粒度的需求變化,用戶操作柔點(diǎn)后的影響可能局限在自身柔點(diǎn)作用的范圍。而對一些功能較為復(fù)雜的用戶需求變化,用戶操作柔點(diǎn)后的影響可能會(huì)影響相關(guān)的柔點(diǎn)。如果將軟件中的柔點(diǎn)當(dāng)作一個(gè)節(jié)點(diǎn),將它們之間的相互影響看作一個(gè)邊,將軟件抽象為一個(gè)網(wǎng)絡(luò),則軟件柔點(diǎn)變化的“漣漪效應(yīng)”可以看作柔點(diǎn)變化產(chǎn)生的影響在網(wǎng)絡(luò)節(jié)點(diǎn)間的傳播過程。這種軟件柔點(diǎn)變化產(chǎn)生的漣漪效應(yīng)稱作柔點(diǎn)變化傳播影響。

      2.1 柔點(diǎn)變化傳播影響圖

      定義1 軟件的柔點(diǎn)變化傳播影響圖表示為一個(gè)帶權(quán)有向簡單圖Gw=(V,E)。其中:V表示節(jié)點(diǎn)的集合,V中的每個(gè)節(jié)點(diǎn)Vi表示軟件中的一個(gè)柔點(diǎn),V包含起始節(jié)點(diǎn)Vs和受影響節(jié)點(diǎn)Vf兩類節(jié)點(diǎn),Vs表示發(fā)生變化的起始柔點(diǎn),Vf表示受到Vs變化影響的柔點(diǎn);E是邊的集合,E中的每個(gè)元素〈vi,vj〉是一個(gè)有序?qū)?,?dāng)且僅當(dāng)vi變化影響到vj發(fā)生變化,〈vi,vj〉∈E。

      2.2 柔變項(xiàng)約束鄰接矩陣

      定義2 柔變項(xiàng)約束鄰接矩陣CMnxn表示柔變項(xiàng)之間的約束。在該矩陣中,每一個(gè)柔變項(xiàng)代表一個(gè)行和列。如果一個(gè)柔變項(xiàng)Vi和另一個(gè)柔變項(xiàng)Vj存在約束關(guān)系,則CM[i,j]=1,形式化表示為CMn×n=(Dij)n×n,每一個(gè)元素定義為

      如果CM[i,j]元素的值為1,則代表存在一個(gè)約束,即Vi約束Vj;反之,兩個(gè)柔變項(xiàng)之間不存在約束。

      假設(shè)V是軟件中柔變項(xiàng)的集合,包含V1,V2,V3,…,Vn,定義柔變項(xiàng)約束鄰接矩陣為

      式中dij=rdij+edij。

      在上述等式中,“+”代表一個(gè)邏輯操作符,1+1=1,1+0=1,0+1=1,0+0=0。其中:CM=rCm+eCm,eCm為互斥約束矩陣,rCm為需要約束矩陣。

      2.3 柔點(diǎn)變化傳播影響圖構(gòu)造過程

      輸入:柔點(diǎn)i。

      輸出:柔點(diǎn)i的柔點(diǎn)變化影響傳播圖。

      步驟1 根據(jù)柔變性模型構(gòu)造柔變項(xiàng)約束鄰接矩陣。

      步驟2 將柔點(diǎn)i作為起始節(jié)點(diǎn),加到柔點(diǎn)變化影響傳播圖。

      步驟3 在柔變項(xiàng)約束鄰接矩陣中,找到柔點(diǎn)i可以選擇的柔變項(xiàng),首先置空V_Set,然后放入V_Set柔變項(xiàng)集合中。

      步驟4 在柔變項(xiàng)約束鄰接矩陣,首先置空S_Set,然后遍歷V_Set集合中的柔變項(xiàng),找到與集合中柔變項(xiàng)存在依賴約束的柔變項(xiàng)Vr,然后找到Vr從屬于的柔點(diǎn)j。

      如果柔點(diǎn)j不在柔點(diǎn)變化影響傳播圖,則將柔點(diǎn)j作為終節(jié)點(diǎn),放入S_set節(jié)點(diǎn)集合,然后將柔點(diǎn)j加入柔點(diǎn)變化影響傳播圖中;否則不做處理。

      步驟5 循環(huán)遍歷S_set柔點(diǎn)集合,如果非空,則將S_set集合中的節(jié)點(diǎn)當(dāng)作起始節(jié)點(diǎn)的柔點(diǎn)i,轉(zhuǎn)步驟3;否則結(jié)束。

      3 改進(jìn)的功能點(diǎn)分析法

      為了定量測量柔點(diǎn)柔變范圍,引入功能點(diǎn)分析法(Function Point Analysis,F(xiàn)PA),對柔點(diǎn)變化產(chǎn)生的影響進(jìn)行計(jì)算。

      FPA 是一種有效、可靠的軟件規(guī)模度量方法,用以表達(dá)軟件功能尺寸的度量值[18]。FPA 是從用戶角度出發(fā)度量軟件規(guī)模的一種方法,它容易定位和識(shí)別軟件的功能變化,度量方法和技術(shù)無關(guān),易于用戶接受。為了更好地適合軟件面向用戶的柔點(diǎn)柔變范圍的定量度量,對FPA 法做如下改進(jìn):

      (1)補(bǔ)充圖形界面元素計(jì)算規(guī)則。雖然功能點(diǎn)定義了區(qū)別各種功能點(diǎn)部件和元素的識(shí)別和計(jì)算規(guī)則,但對圖形界面元素的計(jì)算規(guī)則并沒有清晰的說明,為了使圖形界面元素計(jì)算明確化,補(bǔ)充了用戶界面元素的計(jì)算規(guī)則。

      (2)改進(jìn)FPA 步驟,易于度量面向用戶的柔點(diǎn)柔變范圍。為了使FPA 法適合面向用戶的柔點(diǎn)柔變范圍度量,在功能點(diǎn)部件識(shí)別的基礎(chǔ)上,結(jié)合柔變性模型元素的特點(diǎn),找出柔點(diǎn)對應(yīng)的數(shù)據(jù)功能點(diǎn)和柔變點(diǎn)對應(yīng)的事務(wù)功能點(diǎn)。

      3.1 用戶界面元素計(jì)算規(guī)則

      用戶界面元素指軟件界面上提供用戶輸入、查詢、顯示數(shù)據(jù)的元素,如輸入框、下拉列表等;用戶界面元素計(jì)算規(guī)則指用戶界面元素到對應(yīng)的數(shù)據(jù)元素個(gè)數(shù)的映射規(guī)則。對于軟件用戶界面元素,結(jié)合用戶界面的元素特點(diǎn)和原功能點(diǎn)數(shù)據(jù)元素計(jì)算規(guī)則,將用戶界面主要元素計(jì)算規(guī)則總結(jié)如表6所示。

      3.2 功能點(diǎn)計(jì)數(shù)相關(guān)規(guī)則

      根據(jù)原功能點(diǎn)復(fù)雜度計(jì)算矩陣以及復(fù)雜度對應(yīng)的功能點(diǎn)計(jì)數(shù)矩陣[19],表7~表10給出了柔變部件復(fù)雜度判定矩陣和柔變部件柔變度的判定矩陣。

      表6 圖形用戶主要界面元素計(jì)算規(guī)則

      表7 EI柔變級別判定矩陣

      表8 EO 和EQ 柔變級別判定矩陣

      表9 ILF和EIF柔變級別判定矩陣

      表10 柔變部件柔變度

      續(xù)表10

      3.3 改進(jìn)的功能點(diǎn)分析法

      (1)確定軟件應(yīng)用程序邊界。確定應(yīng)用程序邊界是指將正在被測量的應(yīng)用程序與用戶域及其他應(yīng)用程序分開。

      (2)確定數(shù)據(jù)部件以及數(shù)據(jù)部件要素。根據(jù)原功能點(diǎn)數(shù)據(jù)文件和用戶界面元素判定規(guī)則[19],確定內(nèi)部邏輯文件、外部接口文件以及相應(yīng)的數(shù)據(jù)元素和數(shù)據(jù)記錄。

      (3)確定事務(wù)部件以及事務(wù)部件要素。根據(jù)原功能點(diǎn)數(shù)據(jù)文件和用戶界面元素判定規(guī)則[19],確定外部輸入部件、外部輸出部件、外部查詢部件以及相應(yīng)的數(shù)據(jù)元素、訪問文件。

      (4)結(jié)合柔變性模型元素的特點(diǎn),找出軟件中柔點(diǎn)對應(yīng)的數(shù)據(jù)功能點(diǎn)和柔變點(diǎn)對應(yīng)的事務(wù)功能點(diǎn)。

      4 柔變范圍度量模型

      柔點(diǎn)柔變范圍是柔點(diǎn)變化后軟件受到的最大功能影響規(guī)模。柔變范圍度量需要定位軟件中的柔點(diǎn),考慮柔點(diǎn)變化影響,度量柔點(diǎn)影響規(guī)模。構(gòu)建軟件柔變性模型,可以確定軟件中的柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn);分析柔點(diǎn)變化傳播影響圖,能夠定位單個(gè)柔點(diǎn)變化影響的關(guān)聯(lián)柔點(diǎn);改進(jìn)功能點(diǎn)分析法,適合度量柔點(diǎn)影響的柔變部件的柔變度。單個(gè)柔點(diǎn)的影響范圍可以看作柔點(diǎn)自身影響的數(shù)據(jù)功能點(diǎn)和其配置的柔變點(diǎn)對應(yīng)的事務(wù)功能點(diǎn)部件的功能點(diǎn)計(jì)數(shù)總和。考慮到柔點(diǎn)變化傳播的影響,一個(gè)柔點(diǎn)的柔變范圍為所有受影響的單個(gè)柔點(diǎn)影響范圍之和。

      基于上述柔點(diǎn)分析,表11給出了柔點(diǎn)柔變范圍度量模型要素。

      表11 面向用戶的柔變范圍度量模型要素

      下面將詳細(xì)說明上述基本度量和派生度量指標(biāo)和計(jì)算方法。

      4.1 度量模型基本要素

      (1)面向用戶柔點(diǎn)

      面向用戶的柔點(diǎn)是柔變性模型中的柔點(diǎn),可以用一個(gè)五元組描述,包括柔點(diǎn)用戶級別、柔點(diǎn)級別、柔點(diǎn)操控難度、關(guān)聯(lián)柔點(diǎn)組和柔點(diǎn)作用對象。其中,柔點(diǎn)用戶級別、柔點(diǎn)級別、柔點(diǎn)操控難度反映了柔點(diǎn)的操控復(fù)雜度,柔點(diǎn)作用對象和關(guān)聯(lián)柔點(diǎn)組反映了柔點(diǎn)變化的影響范圍。

      1)柔點(diǎn)用戶級別 低級用戶、高級用戶和開發(fā)級用戶。

      2)柔點(diǎn)操作級別 自適應(yīng)級柔點(diǎn)、低級用戶柔點(diǎn)、高級用戶柔點(diǎn)和開發(fā)級用戶柔點(diǎn)。

      3)柔點(diǎn)操控難度 指定量描述用戶操控柔點(diǎn)難度的數(shù)值。

      4)關(guān)聯(lián)柔點(diǎn)組 與柔點(diǎn)相關(guān)聯(lián)的所有柔點(diǎn)集合。

      5)柔點(diǎn)作用對象 軟件用戶界面上用戶作用的對象,該對象包括用戶作用的事務(wù)部件和數(shù)據(jù)部件。柔點(diǎn)作用對象包括功能類型、邏輯事務(wù)組和邏輯文件組。其中:功能類型∶∶=數(shù)據(jù)柔點(diǎn)|表示柔點(diǎn)|流程柔點(diǎn)|環(huán)境柔點(diǎn)|外部服務(wù)柔點(diǎn);邏輯事務(wù)組是柔點(diǎn)變化后,受影響的邏輯事務(wù)組;邏輯文件組是柔點(diǎn)變化后,受影響的邏輯文件組。

      (2)面向用戶的柔變范圍、柔變部件、柔變度和柔變級別

      1)面向用戶的柔變范圍 柔點(diǎn)在用戶操控下或觸發(fā)下軟件功能發(fā)生的最大柔性變化范圍,是柔點(diǎn)調(diào)整、作用和影響軟件的范圍,是受該柔點(diǎn)影響的所有柔變部件的功能點(diǎn)計(jì)數(shù)之和,即柔變量。

      2)柔變部件 指受柔點(diǎn)影響的、發(fā)生柔性變化的功能部件,受影響的部件類型為數(shù)據(jù)部件和事務(wù)部件,包括外部輸入部件、外部輸出部件、外部查詢、內(nèi)部邏輯文件和外部接口文件。

      3)柔變度 指柔變部件能夠發(fā)生的最大柔性變化量度,是柔變部件的柔變級別對應(yīng)的功能點(diǎn)計(jì)數(shù)。

      4)柔變級別 指柔變部件能夠發(fā)生最大柔性變化的高中低程度,分級為(低,中,高)=(L,M,H),不同類型的柔變部件的柔變級別對應(yīng)一定柔變元素的個(gè)數(shù)。

      4.2 度量模型度量指標(biāo)

      柔變范圍度量指標(biāo)層次包括基本度量和派生度量,基本度量包括Sei,Seo,Seq,Silf和Seif,派生度量包括Si,具體定義如下:

      定義3 外部輸入柔變部件柔變量表示為

      式中:Sei表示柔點(diǎn)對應(yīng)的所有EI柔變部件的柔變度和,NeiL表示低級EI柔變部件數(shù),WeiL表示低級EI柔變部件柔變度,NeiM表示中級EI柔變部件柔變度,WeiM表示中級EI柔變部件柔變度,NeiH表示高級EI柔變部件柔變度,WeiH表示高級EI柔變部件柔變度。

      定義4 外部輸出柔變部件柔變量表示為

      式中:Seo表示柔點(diǎn)對應(yīng)的所有EO 柔變部件的柔變度和,NeoL表示低級EO 柔變部件數(shù),WeoL表示低級EO 柔變部件柔變度,NeoM表示中級EO柔變部件數(shù),WeoM表示中級EO 柔變部件變?nèi)嶙兌?,NeoH表示高級EO 柔變部件,WeoH表示高級EO 柔變部件柔變度。

      定義5 外部查詢?nèi)嶙儾考嶙兞勘硎緸?/p>

      式中:Seq表示柔點(diǎn)對應(yīng)的所有EQ 柔變部件的柔變度和,NeqL表示低級EQ 柔變部件數(shù),WeqL表示低級EQ 柔變部件柔變度,NeqM表示中級EQ柔變部件數(shù),WeqM表示中級EQ 柔變部件柔變度,NeqH表示高級EQ 柔變部件數(shù),WeqH表示高級EQ 柔變部件柔變度。

      定義6 內(nèi)部邏輯文件柔變部件柔變量表示為

      式中:Silf表示柔點(diǎn)對應(yīng)的所有內(nèi)部邏輯文件柔變部件的柔變度和,NilfL表示低級ILF 柔變部件數(shù),WilfL表示低級ILF 柔變部件柔變度,NilfM表示中級ILF 柔變部件數(shù),WilfM表示中級ILF柔變部件柔變度,NilfH表示高級ILF 柔變部件數(shù),WilfH表示高級ILF柔變部件變化度。

      定義7 外部接口文件柔變部件柔變量表示為

      式中:Seif表示柔點(diǎn)對應(yīng)的所有外部接口文件柔變部件的柔變度和,NeifL表示低級EIF 柔變部件數(shù),WeifL表示低級EIF 柔變部件柔變度,NeifM表示中級EIF 柔變部件數(shù),WeifM表示中級EIF柔變部件柔變度,NeifH表示高級EIF 柔變部件數(shù),WeifH表示高級EIF柔變部件變化度。

      定義8 柔點(diǎn)柔變范圍,即柔點(diǎn)柔變量表示為

      式中:Si表示柔點(diǎn)的柔變范圍,即所有受影響的柔變部件的柔變度之和;Seif,Silf,Sei,Seq和Seo的定義同上。

      4.3 柔變范圍度量模型度量過程

      面向用戶的柔變范圍度量過程如圖4所示。

      (1)軟件柔變性模型建模

      依據(jù)軟件相關(guān)的文檔和軟件用戶界面,按照軟件柔變性模型建模過程構(gòu)建軟件的柔變性模型,識(shí)別出軟件的柔點(diǎn)以及柔變性元素之間的約束關(guān)系。

      (2)軟件柔點(diǎn)變化傳播影響圖搭建

      依據(jù)軟件柔變性約束模型確定軟件的柔變項(xiàng)約束鄰接矩陣,按照柔變項(xiàng)約束鄰接矩陣確定軟件所有柔點(diǎn)對應(yīng)的柔點(diǎn)變化傳播影響圖。

      (3)功能點(diǎn)分析階段

      1)根據(jù)改進(jìn)的功能點(diǎn)分析法,找出軟件柔點(diǎn)以及柔變點(diǎn)對應(yīng)的功能點(diǎn)部件。

      2)確定柔點(diǎn)作用對象中的邏輯文件組,即柔點(diǎn)對應(yīng)的數(shù)據(jù)功能點(diǎn)部件。

      3)確定柔點(diǎn)作用對象中的邏輯事務(wù)組,即柔點(diǎn)配置的柔變點(diǎn)對應(yīng)的事務(wù)功能點(diǎn)部件。

      4)依據(jù)柔變級別和功能點(diǎn)計(jì)數(shù)判定矩陣,確定柔點(diǎn)柔變部件的柔變度。

      (4)度量階段

      1)確定軟件度量的柔點(diǎn)。

      2)確定柔點(diǎn)對應(yīng)的柔點(diǎn)變化傳播影響圖。

      3)依據(jù)式(1)~式(5)確定度量柔點(diǎn)以及受變化影響的柔點(diǎn)對應(yīng)的柔變部件的柔變度。

      4)依據(jù)柔點(diǎn)柔變范圍計(jì)算式(6)計(jì)算柔點(diǎn)柔變范圍,即柔點(diǎn)柔變量。

      5 實(shí)例驗(yàn)證及分析

      以河北省操作系統(tǒng)精品課程網(wǎng)站為例,分析該網(wǎng)站系統(tǒng)中信息發(fā)布子系統(tǒng)的功能,依據(jù)柔點(diǎn)柔變范圍度量過程計(jì)算該子系統(tǒng)中主要柔點(diǎn)柔變范圍。該驗(yàn)證過程適用于MIS軟件和常用工具軟件的柔變范圍度量,它使用模型的主要元素,限于篇幅,部分相關(guān)元素如軟件需求說明書、設(shè)計(jì)說明書、使用說明書等不作具體說明。下面給出主要度量步驟。

      5.1 柔變性建模

      柔變性建模階段,主要對信息發(fā)布子系統(tǒng)進(jìn)行分析,建立其柔變性模型。信息發(fā)布子系統(tǒng)的柔變性模型包括兩部分:①擴(kuò)展的UML 用例模型,主要利用UML模型元素表示信息發(fā)布子系統(tǒng)中的穩(wěn)定功能和變化功能;②柔變性約束關(guān)系模型,主要利用命題邏輯描述柔變項(xiàng)之間的約束關(guān)系。下面給出這兩個(gè)模型的構(gòu)建過程。

      (1)根據(jù)系統(tǒng)的需求說明書和設(shè)計(jì)說明書,分析該子系統(tǒng)提供的功能需求,建立其功能需求矩陣,如表12所示;根據(jù)軟件用戶界面和軟件使用說明書,利用柔點(diǎn)識(shí)別規(guī)則找出軟件中的柔點(diǎn),并確定柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)之間的關(guān)系,如表13所示。

      表13 柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)關(guān)系

      (2)在確定軟件功能需求矩陣和柔點(diǎn)、柔變項(xiàng)和柔變點(diǎn)的關(guān)系后,建立子系統(tǒng)對應(yīng)的擴(kuò)展的UML用例模型。擴(kuò)展的UML 用例模型用擴(kuò)展的UML用例圖描述,該UML 模型元素如表14所示,選擇管理員為參與者,其擴(kuò)展的UML 用例圖如圖5所示。

      表14 子系統(tǒng)UML模型元素

      (3)在確定軟件擴(kuò)展的UML 用例模型后,搭建軟件的柔變性約束模型。子系統(tǒng)的柔變性約束模型主要描述柔變項(xiàng)之間的約束關(guān)系。通過分析軟件的系統(tǒng)需求和關(guān)系,子系統(tǒng)中的柔變項(xiàng)約束關(guān)系用命題邏輯表示如下。

      R(條目1,欄目1條目顯示順序設(shè)置)→R(欄目1,欄目顯示設(shè)置)

      R(條目2,欄目1條目顯示順序設(shè)置)→R(欄目1,欄目顯示設(shè)置)

      R(條目n,欄目1條目顯示順序設(shè)置)→R(欄目1,欄目顯示設(shè)置)

      同理,欄目2與欄目2的條目,欄目3與欄目3的條目,…,欄目n與欄目n的條目也存在相應(yīng)的關(guān)系。

      5.2 建立柔點(diǎn)變化傳播影響圖

      建立子系統(tǒng)的柔變性模型后,為了對柔點(diǎn)變化傳播影響進(jìn)行分析,首先根據(jù)柔變性約束模型,建立其柔變項(xiàng)鄰接矩陣;然后根據(jù)柔點(diǎn)和柔變項(xiàng)的依賴關(guān)系,通過柔點(diǎn)變化傳播影響圖構(gòu)建過程,構(gòu)建每個(gè)柔點(diǎn)的柔點(diǎn)變化傳播影響圖。分析步驟如下:

      (1)建立柔變項(xiàng)鄰接矩陣

      設(shè)CMnxn為柔變項(xiàng)鄰接矩陣,柔變項(xiàng)集合為{欄目1,欄目2,…,欄目n,欄目1的條目1,欄目1的條目2,…,欄目n的條目n},依據(jù)柔變項(xiàng)依賴約束關(guān)系,得到如下矩陣。

      (2)搭建柔點(diǎn)變化傳播影響圖

      根據(jù)柔變項(xiàng)鄰接矩陣,依據(jù)柔點(diǎn)變化傳播影響圖的構(gòu)建過程,得到欄目顯示設(shè)置柔點(diǎn)的柔點(diǎn)變化傳播影響圖,如圖6所示。

      單欄目條目顯示順序設(shè)置柔點(diǎn)的柔點(diǎn)變化傳播影響圖只包括自身柔點(diǎn)。

      5.3 功能點(diǎn)分析階段

      在建立軟件柔變性模型和分析柔點(diǎn)變化傳播影響后,結(jié)合柔變性模型中擴(kuò)展的UML用例模型,分析軟件中的功能點(diǎn)部件,提取柔點(diǎn)對應(yīng)的柔變部件并計(jì)算其功能點(diǎn)計(jì)數(shù)。分析步驟如下:

      (1)信息發(fā)布子系統(tǒng)功能點(diǎn)分析

      用軟件中提供的單欄目條目顯示順序設(shè)置功能點(diǎn)部件為例,介紹在用戶界面(如圖7)上該功能點(diǎn)部件的功能點(diǎn)計(jì)數(shù)分析過程。

      首先,根據(jù)功能點(diǎn)部件的識(shí)別規(guī)則,此功能點(diǎn)部件為輸入部件EI,分析該功能點(diǎn)部件的數(shù)據(jù)元素類型DET。

      通過軟件用戶界面上的顯示,分析如下:

      1)信息類型選擇下拉列表,每次只能選擇一項(xiàng),表示條目信息所屬的欄目,因此欄目名稱作為一個(gè)數(shù)據(jù)元素類型。

      2)“顯示信息”按鈕對排序無影響,不作為一個(gè)數(shù)據(jù)元素類型。

      3)排序格式有兩種,用單選框表示,根據(jù)單選框計(jì)數(shù)描述,每次只能選一個(gè),因此排序方式為一個(gè)數(shù)據(jù)元素類型。

      4)左側(cè)的文本域欄目下有多條條目信息,在文本域中表示,文本域的內(nèi)容類型都表示為條目信息的標(biāo)題,因此信息條目標(biāo)題記為一個(gè)數(shù)據(jù)元素類型。

      5)右側(cè)的文本域欄目下有多條條目信息,條目信息在文本域中的位置表示為其排序號(hào),因此文本域所表示的條目排序順序?yàn)橐粋€(gè)數(shù)據(jù)元素類型。

      6)中間的四個(gè)選擇和移除按鈕只是控制元素的排序,不作為輸入元素,不做計(jì)算。

      7)最下面的“確定排序”按鈕,是用戶提交自己的設(shè)置元素,作為一個(gè)數(shù)據(jù)元素類型。

      根據(jù)外部訪問文件識(shí)別規(guī)則,外部訪問文件包括欄目信息、欄目顯示設(shè)置文件、欄目條目信息和欄目條目排序設(shè)置文件。

      根據(jù)上述分析,得出EI部件的復(fù)雜度和功能點(diǎn)計(jì)數(shù),如表15所示。

      表15 單欄目條目顯示順序設(shè)置功能點(diǎn)計(jì)數(shù)

      根據(jù)上述分析方式,得到對柔點(diǎn)柔變范圍計(jì)算有效的所有功能點(diǎn)部件的部件復(fù)雜度和功能點(diǎn)計(jì)數(shù),如表16~表18所示。

      表16 內(nèi)部邏輯部件功能點(diǎn)計(jì)數(shù)

      表17 外部輸入部件功能點(diǎn)計(jì)數(shù)

      表18 外部查詢部件功能點(diǎn)計(jì)數(shù)

      (2)根據(jù)柔變性模型,得出子系統(tǒng)存在欄目顯示設(shè)置柔點(diǎn)Fxp1 和單欄目條目顯示順序設(shè)置柔點(diǎn)Fxp2兩個(gè)柔點(diǎn)。柔點(diǎn)作用對象的屬性如表19所示。

      表19 柔點(diǎn)作用對象屬性

      (3)求出柔點(diǎn)柔變部件的柔變度,如表20所示。

      5.4 度量階段

      在分析完軟件的柔變性模型、柔點(diǎn)變化傳播影響和柔點(diǎn)對應(yīng)的功能點(diǎn)部件后,依據(jù)度量步驟計(jì)算軟件柔點(diǎn)柔變范圍。分析步驟如下:

      (1)確定度量柔點(diǎn),選擇欄目顯示設(shè)置柔點(diǎn)Fxp1。

      (2)遍歷單欄目條目顯示順序設(shè)置柔點(diǎn)Fxp1的柔點(diǎn)變化傳播影響圖,得到所有受影響的柔點(diǎn),找到Fxp1對應(yīng)的柔變部件,如下所示:

      1)數(shù)據(jù)部件 欄目顯示設(shè)置ILF(L),單欄目條目排序設(shè)置ILF(L)。

      2)事務(wù)部件 欄目列表顯示EQ(M),單欄目條目列表顯示EQ(M)。

      (3)根據(jù)柔點(diǎn)柔變部件的柔變度和柔點(diǎn)柔變范圍計(jì)算公式,得出

      欄目顯示設(shè)置柔點(diǎn)Fxp1的柔變范圍=ILF(L)×2+EQ(M)×2=7×2+4×2=22。

      同理,單欄目條目顯示順序設(shè)置柔點(diǎn)Fxp2 的柔變范圍=ILF(L)×1+EQ(M)×2=7×1+4×2=15。

      5.5 柔點(diǎn)分析

      按照上述信息發(fā)布系統(tǒng)柔點(diǎn)的度量過程,對常用軟件2003 Word,2003PowerPoint,IE 8.0,2003 Excel,Adobe Reader等工具軟件,以及常用教師信息管理系統(tǒng)、庫存管理系統(tǒng)等MIS軟件進(jìn)行軟件柔點(diǎn)柔變范圍度量。由于篇幅所限,下面只給出2003 Word,2003PowerPoint和IE 8.0的柔點(diǎn)柔變范圍表,如表21所示。常用軟件柔點(diǎn)柔變范圍統(tǒng)計(jì),如圖8所示。

      表21 Word,PowerPoint和IE的柔點(diǎn)柔變范圍統(tǒng)計(jì)表

      續(xù)表21

      從圖8的柔點(diǎn)分布范圍可知,大部分柔點(diǎn)柔變范圍分布在10~17之間,少部分柔點(diǎn)柔變范圍分布在大于17的范圍之內(nèi)。

      從柔點(diǎn)類型以及柔點(diǎn)和柔變點(diǎn)關(guān)系分析,柔變范圍位于10~17之間的柔點(diǎn)大部分屬于孤立柔點(diǎn)或受控柔點(diǎn),一般對應(yīng)單個(gè)柔變點(diǎn),柔點(diǎn)變化影響范圍較??;柔變范圍位于大于17范圍之間的柔點(diǎn),大部分屬于控制柔點(diǎn)或柔點(diǎn)對應(yīng)多個(gè)柔變點(diǎn),柔點(diǎn)變化影響范圍較大。

      從用戶操作柔點(diǎn)的角度分析,柔變范圍位于10~17之間的柔點(diǎn),操作容易,用戶具有一般計(jì)算機(jī)操作知識(shí)和一般業(yè)務(wù)知識(shí)即可,適于普通用戶;柔變范圍位于大于17范圍之間的柔點(diǎn),操作困難,用戶需要較強(qiáng)的計(jì)算機(jī)知識(shí)和業(yè)務(wù)知識(shí),適于高級用戶。

      綜上分析可知,柔變范圍位于10~17之間的柔點(diǎn),柔點(diǎn)變化影響范圍較小,適用于普通用戶操作;柔變范圍位于大于17范圍之間的柔點(diǎn),柔點(diǎn)變化影響范圍較大,適于高級用戶操作。對柔點(diǎn)柔變范圍分析的結(jié)果,如表22所示。

      表22 柔點(diǎn)柔變范圍分析

      6 結(jié)束語

      本文為了保證軟件柔點(diǎn)柔變范圍度量的準(zhǔn)確性和可操作性,提出一種軟件柔變性模型,利用擴(kuò)展的UML用例模型和柔變性約束關(guān)系模型表示軟件中柔變性資源,彌補(bǔ)了軟件柔性變化表示不足,奠定了柔點(diǎn)柔變范圍度量分析的基礎(chǔ);分析了軟件柔點(diǎn)變化傳播影響,應(yīng)用柔變項(xiàng)鄰接矩陣和柔點(diǎn)變化傳播影響圖,表示了軟件柔點(diǎn)變化產(chǎn)生的傳播影響,完善了柔變范圍度量的不足,增加了柔變范圍度量的準(zhǔn)確性;改進(jìn)了功能點(diǎn)分析方法,通過用戶界面元素計(jì)數(shù)規(guī)則,確定了軟件界面元素的功能點(diǎn)計(jì)數(shù),修補(bǔ)了功能點(diǎn)法分析界面元素的不足,從而支持柔點(diǎn)柔變范圍的定量度量。

      最后,通過實(shí)例驗(yàn)證了模型的有效性和可行性。本文的柔點(diǎn)柔變范圍度量模型有利于用戶使用和擴(kuò)展軟件功能,方便軟件設(shè)計(jì)和開發(fā)人員改善軟件柔性。但模型還需進(jìn)一步改進(jìn),如面向用戶的界面元素的判別規(guī)則,為了提高精確度,需進(jìn)一步細(xì)化和完善。

      [1]AMNON H,TOM M.Measuring software flexibility [J].IEEE Proceedings Software,2006,153(3):113-125.

      [2]WANG S,LIU X.A study on flexibility of ERP system based on grey evaluation model[C]//Proceedings of the 2nd International Workshop on Database Technology and Application.Washington,D.C.,USA:IEEE,2010:3-6.

      [3]GEORGE K,ELENI C,APOSTOLOS A,et al.Layer assessment of object-oriented software:a metric facilitating white-box reuse[J].Journal of Systems and Software,2013,86(2):349-366.

      [4]ABDULZIZ M,EI T,MUSTUFA H,et all.Analysis of performance measures of flexible manufacturing system[J].Journal of King Saud University -Engineering Sciences,2012,24(2):115-129.

      [5]SHEN Limin,MU Yunfeng.Conception of software flexibility and metrics [J].Computer Integrated Manufacturing Systems,2004,10(10):1314-1320(in Chinese).[申利民,穆運(yùn)鋒.軟件柔性的概念和度量[J].計(jì)算機(jī)集成制造系統(tǒng),2004,10(10):1314-1320.]

      [6]LIANG Dongkui,SHEN Limin,JIN Lei.Quantitative measurement of flexible range of user-oriented flexible point[J].Computer Engineering and Design,2010,31(15):3436-3439(in Chinese).[梁棟魁,申利民,金 磊.面向用戶的柔點(diǎn)柔變范圍的定量度量[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(15):3436-3439.]

      [7]PENG Siwei,SHEN Limin,LIU Hui.How to measure software flexibility [J].ICIC Express Letters,2011,4(5):1089-1093.

      [8]SHEN Limin,PENG Siwei,LIU Hui,et al.A test model of software flexibility based on flexible point[J].ICIC Express Letters,2011,9(5):3001-3005.

      [9]NIU Jingchun,SHEN Limin,ZHENG Qun.A measurement method of software flexibility based on SOCP 2011[J].Communications in Computer and Information Science,2011,216:260-266.

      [10]LIANG Dongkui,SHEN Limin,JIN Lei.Quantitative measurement of flexible range of user-oriented flexible point[J].Computer Engineering and Design,2010,31(15),3436-3439(in Chinese).[梁東魁,申利民,金 磊.面向用戶的柔點(diǎn)柔變范圍的定量度量[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(15),3436-3439.]

      [11]PENG Xin,YU Yijun,ZHAO Wenyun.Analyzing evolution of variability in a software product line:from contexts and requirements to features[J].Information and Software Technology,2011,53(7):707-721.

      [12]BABAR M,CHEN L.Managing variability in software product line[J].IEEE Software,2010,27(3):89-94.

      [13]XU Liang,ZHANG Li,F(xiàn)AN Zhiqiang.UML-based modeling method for real-time workflow[J].Research and Development of Computer,2010,47(7):1184-1191(in Chinese).[徐 亮,張 莉,樊志強(qiáng).一種基于UML 的實(shí)時(shí)工作流建模方法研究[J].計(jì)算機(jī)研究與發(fā)展,2011,47(7):1184-1191.]

      [14]ZHANG Li,QIAN Guanqun,LI Lin.Change propagation simulation software based on stability analysis[J].Chinese Journal of Computers,2010,33(3):440-451(in Chinese).[張莉,錢冠群,李 琳.基于變更傳播仿真的軟件穩(wěn)定性分析[J].計(jì)算機(jī)學(xué)報(bào),2010,33(3):440-451.]

      [15]LI Bixin,ZHANG Qiandong,SUN Xiaobing,et al.Using water wave propagation phenomenon to study software change impact analysis[J].Advances in Engineering Software,2013,58(4):45-53.

      [16]MATTHIAS W,JAN M,MATHIAS W.Propagating changes between aligned process models[J].Journal of Systems and Software,2012,85(8):1885-1898.

      [17]DARKO D,MARTIN N,MIROSLAW S.Measuring the impact of changes to the complexity and coupling properties of automotive software systems[J].Journal of Systems and Software,2013,86(5):1275-1293.

      [18]JI Chunlei,YAN Shuncheng.UML-based full function point measurement method[J].Applied Mechanics and Materials,2012,220-223(11):2879-2885.

      [19]IFPUG.Function point counting practices manual,release 4.2.1[EB/OL].[2013-06-09].http://read.pudn.com/downloads165/ebook/756389/0004_2_1%20Part%201.pdf.

      猜你喜歡
      變性度量部件
      有趣的度量
      晉州市大成變性淀粉有限公司
      中國造紙(2022年9期)2022-11-25 02:24:54
      模糊度量空間的強(qiáng)嵌入
      迷向表示分為6個(gè)不可約直和的旗流形上不變愛因斯坦度量
      征兵“驚艷”
      基于Siemens NX和Sinumerik的銑頭部件再制造
      部件拆分與對外漢字部件教學(xué)
      當(dāng)變性女遇見變性男 一種奇妙的感覺產(chǎn)生了
      水輪機(jī)過流部件改造與節(jié)能增效
      地質(zhì)異常的奇異性度量與隱伏源致礦異常識(shí)別
      黑龙江省| 股票| 从江县| 喀喇沁旗| 天峨县| 鹤岗市| 延川县| 阿城市| 肇源县| 屏南县| 黔西县| 柘城县| 万源市| 酉阳| 昌邑市| 宣城市| 枣阳市| 扶沟县| 萝北县| 宁强县| 刚察县| 吴忠市| 离岛区| 托里县| 日土县| 中江县| 会东县| 临清市| 东阳市| 文化| 雷波县| 方山县| 西吉县| 崇左市| 赣榆县| 海晏县| 长汀县| 堆龙德庆县| 威远县| 土默特右旗| 错那县|