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

        ?

        面向用戶的柔點柔變范圍定量度量技術

        2014-12-02 01:21:14申利民王俊飛楊永濤
        計算機集成制造系統(tǒng) 2014年10期
        關鍵詞:變性度量部件

        申利民,王俊飛,楊永濤

        (燕山大學 信息科學與工程學院/河北省計算機虛擬技術與系統(tǒng)集成重點實驗室,河北 秦皇島 066004)

        0 引言

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

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

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

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

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

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

        1 軟件柔變性模型

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

        1.1 柔變性模型相關概念

        1.1.1 柔性和柔變性

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

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

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

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

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

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

        1.1.2 變化性和柔變性

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

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

        1.1.3 柔點、柔變點、柔變項、柔變性依賴和約束

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

        柔點具有如下特征:

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

        2)柔點是面向用戶柔性的設計和度量的最基本單元。

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

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

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

        2)受控柔點 該柔點的影響范圍受其他柔點的影響。

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

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

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

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

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

        1)柔變項之間的需要和互斥關系。

        2)柔變項和柔點之間的需要和互斥關系。

        3)柔點之間的需要和互斥關系。

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

        1.1.4 柔點、柔變點和柔變項之間的關系

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

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

        下面用軟件中常有的打印設置功能分析三者之間的關系。

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

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

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

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

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

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

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

        1.2.1 柔變性模型的組織形式

        一個柔變性模型需要描述柔點、柔變點、柔變項、柔變性依賴和柔變性約束。柔變性模型利用擴展的用例模型表示柔點、柔變點和柔變項,通過命題邏輯標識柔變性依賴和柔變性約束關系。柔變性模型由擴展的用例模型和柔變性約束模型兩部分組成,如圖2所示。

        1.2.2 擴展的用例模型

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

        (1)柔點用例 表示該用例是用戶可以進行動態(tài)配置的用例。

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

        (3)柔變項用例 表示該用例是被柔點進行選擇的功能項用例。

        (4)配置關系 表示柔點用例對柔變點用例的配置關系。

        (5)依賴關系 表示柔點用例和柔變項用例之間的選擇關系(如表2)。

        在擴展的用例模型中,用柔點用例、柔變項用例和柔變點用例表示柔變性模型要素柔點、柔變項和柔變點,用配置關系和依賴關系分別表示柔點和柔變點的配置關系以及柔點和柔變項的選擇關系。

        表1 擴展的用例描述

        表2 擴展的柔變性依賴關系UML描述

        1.2.3 柔變性約束關系模型

        軟件的柔變性約束關系描述了模型要素柔點、柔變點和柔變項之間的互相約束關系,軟件的柔變性約束關系模型如圖3所示。

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

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

        (2)柔變性約束

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

        柔變項約束表示FPk中的柔變項Vi和FPm中Vj間的柔變項約束,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為柔點FPk和FPm中的柔變項總數(shù);

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

        柔變項與柔點約束表示在柔點FPk中的柔變項Vi和柔點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分別為柔點FPK和FPm中柔變項的總數(shù)。

        柔點約束表示在柔點FPk和柔點FPm間的柔點約束,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分別為柔點FPK和FPm中的柔變項的總數(shù)。

        在柔變性模型中,其通過形式化表達柔變性約束關系,為柔變性約束模型提供了很好的表示機制。

        1.2.4 建模過程

        (1)柔變性元素識別

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

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

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

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

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

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

        下面以軟件中常用的報表打印設置功能需求為例進行分析。

        打印設置屬于可變需求(CR),因為不同用戶可以有不同的打印設置;打印設置屬于柔點(CT2),因為用戶可以通過打印設置功能動態(tài)選擇將要打印顯示的列,打印設置是一個配置點;打印設置依賴類別屬于可變的(DT1),因為不同用戶通過柔點可以選擇不同的列,沒有必須要強制選擇的列;打印設置擴展性屬于封閉的(UE2),因為可以選擇的列是固定的,一般不能添加、修改或增加列。因此,打印設置功能對應的功能需求矩陣如如表4所示。

        表3 功能需求矩陣

        表4 打印設置的功能需求矩陣

        分析打印設置柔點,柔變項是打印設置可以選擇的列,柔變點是打印頁面預覽功能。柔點、柔變項和柔變點的關系如表5所示。

        表5 打印設置柔點、柔變項和柔變點的關系

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

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

        2 柔點變化傳播影響圖

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

        2.1 柔點變化傳播影響圖

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

        2.2 柔變項約束鄰接矩陣

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

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

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

        式中dij=rdij+edij。

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

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

        輸入:柔點i。

        輸出:柔點i的柔點變化影響傳播圖。

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

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

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

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

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

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

        3 改進的功能點分析法

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

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

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

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

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

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

        3.2 功能點計數(shù)相關規(guī)則

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

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

        表7 EI柔變級別判定矩陣

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

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

        表10 柔變部件柔變度

        續(xù)表10

        3.3 改進的功能點分析法

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

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

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

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

        4 柔變范圍度量模型

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

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

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

        下面將詳細說明上述基本度量和派生度量指標和計算方法。

        4.1 度量模型基本要素

        (1)面向用戶柔點

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

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

        2)柔點操作級別 自適應級柔點、低級用戶柔點、高級用戶柔點和開發(fā)級用戶柔點。

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

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

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

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

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

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

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

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

        4.2 度量模型度量指標

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

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

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

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

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

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

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

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

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

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

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

        定義8 柔點柔變范圍,即柔點柔變量表示為

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

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

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

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

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

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

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

        (3)功能點分析階段

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

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

        3)確定柔點作用對象中的邏輯事務組,即柔點配置的柔變點對應的事務功能點部件。

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

        (4)度量階段

        1)確定軟件度量的柔點。

        2)確定柔點對應的柔點變化傳播影響圖。

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

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

        5 實例驗證及分析

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

        5.1 柔變性建模

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

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

        表13 柔點、柔變項和柔變點關系

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

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

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

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

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

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

        同理,欄目2與欄目2的條目,欄目3與欄目3的條目,…,欄目n與欄目n的條目也存在相應的關系。

        5.2 建立柔點變化傳播影響圖

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

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

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

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

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

        單欄目條目顯示順序設置柔點的柔點變化傳播影響圖只包括自身柔點。

        5.3 功能點分析階段

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

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

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

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

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

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

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

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

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

        5)右側(cè)的文本域欄目下有多條條目信息,條目信息在文本域中的位置表示為其排序號,因此文本域所表示的條目排序順序為一個數(shù)據(jù)元素類型。

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

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

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

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

        表15 單欄目條目顯示順序設置功能點計數(shù)

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

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

        表17 外部輸入部件功能點計數(shù)

        表18 外部查詢部件功能點計數(shù)

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

        表19 柔點作用對象屬性

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

        5.4 度量階段

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

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

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

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

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

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

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

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

        5.5 柔點分析

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

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

        續(xù)表21

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

        從柔點類型以及柔點和柔變點關系分析,柔變范圍位于10~17之間的柔點大部分屬于孤立柔點或受控柔點,一般對應單個柔變點,柔點變化影響范圍較??;柔變范圍位于大于17范圍之間的柔點,大部分屬于控制柔點或柔點對應多個柔變點,柔點變化影響范圍較大。

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

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

        表22 柔點柔變范圍分析

        6 結(jié)束語

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

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

        [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).[申利民,穆運鋒.軟件柔性的概念和度量[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).[梁棟魁,申利民,金 磊.面向用戶的柔點柔變范圍的定量度量[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).[梁東魁,申利民,金 磊.面向用戶的柔點柔變范圍的定量度量[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).[徐 亮,張 莉,樊志強.一種基于UML 的實時工作流建模方法研究[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].計算機學報,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
        模糊度量空間的強嵌入
        迷向表示分為6個不可約直和的旗流形上不變愛因斯坦度量
        征兵“驚艷”
        基于Siemens NX和Sinumerik的銑頭部件再制造
        部件拆分與對外漢字部件教學
        當變性女遇見變性男 一種奇妙的感覺產(chǎn)生了
        水輪機過流部件改造與節(jié)能增效
        地質(zhì)異常的奇異性度量與隱伏源致礦異常識別
        日本一区二区在线免费看| 亚洲一区二区女优av| 少妇高潮流白浆在线观看| 亚洲天堂av一区二区三区不卡| 91精品全国免费观看青青| 野外亲子乱子伦视频丶| 午夜视频在线观看国产19| 国产在线h视频| 99久久综合精品五月天| 久久综合精品人妻一区二区三区| 久久91精品国产91久久麻豆| 成人网站免费大全日韩国产| 公与淑婷厨房猛烈进出| 网红尤物泛滥白浆正在播放| 无遮挡中文毛片免费观看| 亚洲av午夜福利精品一区二区| 日韩精品一区二区三区在线视频| 成人在线视频自拍偷拍| 国产成人精品三级麻豆| 亚洲国产精品无码久久| av网站免费在线浏览| 色偷偷亚洲av男人的天堂| 男女超爽视频免费播放| 任我爽精品视频在线播放| 女同精品一区二区久久| 美国又粗又长久久性黄大片| 成人无码视频在线观看网站| 亚洲一区二区三区无码国产| 99久久精品免费看国产一区二区三区| 日本在线一区二区免费| 亚洲精品一区二区三区播放| vr成人片在线播放网站| 久久精品人妻无码一区二区三区| 国产av激情舒服刺激| 国产主播一区二区三区在线观看| 99国产综合精品-久久久久| 76少妇精品导航| 国产免费av片无码永久免费| 一本色道久久hezyo无码| 国产一区二区三区青青草| 国内人妖一区二区在线播放|