• 
    

    
    

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

      ?

      Feature IDE理論與技術(shù)研究

      2018-10-21 13:35胡月瑩
      科技信息·中旬刊 2018年9期
      關(guān)鍵詞:綜述

      胡月瑩

      摘要:Feature IDE 在 Eclipse軟件中的插件,可以用于軟件產(chǎn)品線中面向特征的軟件開(kāi)發(fā)(FOSD)。FOSD 是軟件整體系統(tǒng)結(jié)構(gòu)、個(gè)性定制和合成的一種方法。Feature IDE 支持FOSD的所有軟件開(kāi)發(fā)階段,并將其分為四個(gè)階段,分別為領(lǐng)域分析、需求分析、領(lǐng)域?qū)崿F(xiàn)和軟件生成。在特征模型領(lǐng)域中對(duì)Feature IDE理論與技術(shù)進(jìn)行綜述,按照綜述的方法重點(diǎn)的探討了Feature IDE前兩個(gè)開(kāi)發(fā)階段的技術(shù)。

      關(guān)鍵詞:綜述;軟件產(chǎn)品線;特征模型;Feature IDE

      引言

      軟件產(chǎn)品線是可以高效率的完成高質(zhì)量的軟件產(chǎn)品的生產(chǎn),和工業(yè)領(lǐng)域中流水線生產(chǎn)方法類似,生產(chǎn)出來(lái)的軟件產(chǎn)品功能多樣,符合特定領(lǐng)域的軟件需要[1]。FOSD是軟件產(chǎn)品線的主流技術(shù),是在特定領(lǐng)域中軟件產(chǎn)品公共性特征基礎(chǔ)上結(jié)合可變特征生產(chǎn)軟件產(chǎn)品。Feature IDE是一種比較成熟FOSD的技術(shù),很有實(shí)用價(jià)值。本文總結(jié)Feature IDE理論與技術(shù)的四個(gè)開(kāi)發(fā)階段的理論基礎(chǔ)和主流技術(shù)。

      1 Feature IDE

      特征是指明顯的、用戶可見(jiàn)的軟件系統(tǒng)的具有獨(dú)立功能的特性。FOSD的基本思想是將軟件系統(tǒng)分解為許多個(gè)特征,從而根據(jù)特征的選擇進(jìn)行配置,從而生成具體的軟件系統(tǒng)。Feature IDE技術(shù)從設(shè)計(jì)生成軟件具體包括四個(gè)階段:

      (1)領(lǐng)域分析,用來(lái)獲取獲取軟件體系領(lǐng)域的需求特征,并對(duì)這些特征進(jìn)行分類,分為可變特征和公共特征,最終以特征模型的方式展現(xiàn)出來(lái)。

      (2)需求分析,選取特征模型的特征組合方案,從而完成軟件特征的組裝和配置。

      (3)領(lǐng)域?qū)崿F(xiàn),將特征用代碼進(jìn)行映射和表示。

      (4)軟件生成,描述特征如何映射到實(shí)現(xiàn)工件,生成定制的軟件系統(tǒng)。

      德國(guó)馬格德堡大學(xué)計(jì)算機(jī)學(xué)院Thomas Thum 等人開(kāi)發(fā)了基于Eclipse 的Feature IDE開(kāi)源框架,它包含了整個(gè)軟件開(kāi)發(fā)周期,還可以子啊集成開(kāi)發(fā)環(huán)境(IDE)中建立軟件產(chǎn)品線(SPLs),可以建立特征模型,還可以為軟件生成提供開(kāi)發(fā)平臺(tái)和可復(fù)用構(gòu)件。在2005年Thomas Thum等人首次提出了一個(gè)Feature IDE的原型版本[2]作為AHEAD工具套件的前端的編程語(yǔ)言[3],隨后提出了FOSD可復(fù)用的實(shí)現(xiàn)工具Feature House和Feature C++和FOSD 集成框架Feature IDE。到目前為止,F(xiàn)eature IDE 集成了 Aspect J、Delta J[4]、Antenna和 Munge等技術(shù)。隨后為了解決 Feature IDE 實(shí)現(xiàn)和測(cè)試的問(wèn)題,Thomas 等人開(kāi)發(fā)了相關(guān) Eclipse插件。Feature IDE 架構(gòu)整合了 Feature IDE C++(支持 C++)、Feature House(支持 C、 C#、java 1.5、JML、Haskell、XML 和 Java CC 等)、面向方面程序設(shè)計(jì)(Aspect J)和面向 Delta編程,所以該架構(gòu)支持現(xiàn)有的FOSD編程語(yǔ)言。Feature IDE 支持 FOSD 的所有階段:領(lǐng)域分析、需求分析、領(lǐng)域?qū)崿F(xiàn)和軟件生成。下面對(duì)領(lǐng)域分析和需求分析階段進(jìn)行重點(diǎn)描述。

      2 領(lǐng)域分析

      在領(lǐng)域分析中繪制的特征模型中,存在很多的無(wú)效特征,會(huì)導(dǎo)致最終省的軟件沒(méi)辦法使用。所以在制作模型過(guò)程中要選定有效特征,制成有效的特征組合。特征模型(FM)不僅描述了有效特征,還體現(xiàn)了特征之間密切關(guān)系特征模型是一種層次結(jié)構(gòu),特征可以有子特征。特征和其子特征集的關(guān)系包括為 And-group(與關(guān)系)、Or-group(或關(guān)系)和 Alternative-group(二選一關(guān)系)。子特征根據(jù)他是否具有公共性又分為強(qiáng)制特征(Mandatory)和可選特征(Optional)。強(qiáng)制特征是具有公共性,所有軟件產(chǎn)品線的軟件都需要具備的特征,所以具有強(qiáng)制性。可選特征具有獨(dú)特性,是某個(gè)或者某部分軟件產(chǎn)品所包含的特征;除此之外特征中有些特征只是特征分解中一個(gè)中間件,不會(huì)映射具體的工件,稱為抽象特征(Abstract),而最終軟件產(chǎn)品中具有的特征稱為具體特征(Concrete)。

      Feature IDE 創(chuàng)建特征模型有兩種方式,圖形式和文本式。Feature IDE 可以在Eclipse中導(dǎo)入特征建模工具,包括 GUIDSL、Feature Modeling Plug-In [37]、S.P.L.O.T., 和 SPLConqueror。特征模型可以存儲(chǔ)為多種圖形格式,也可以以 PDF格式進(jìn)行打印。

      3 需求分析

      特征模型中特征之間的除了層次關(guān)系,還有約束關(guān)系,F(xiàn)eature IDE使用Cross-tree 約束去定義這種約束關(guān)系。Cross-tree 約束命題公式,由是一組特征的組成,在特征圖下方。

      特征模型包括一下四點(diǎn):

      (1)當(dāng)一個(gè)特征最終成為某一軟件產(chǎn)品的特征,那么它的父特征也必然出現(xiàn)在這個(gè)軟件產(chǎn)品中。

      (2)當(dāng)一個(gè)特征最終成為某一軟件產(chǎn)品的特征,則其 And-group 中的所有的強(qiáng)制類型的子特征必然出現(xiàn)在這個(gè)軟件產(chǎn)品中。

      (3)在 Or-group 中,其多個(gè)子特征中,最后至少有一個(gè)特征屬于最終的軟件產(chǎn)品。

      (4)在 Alternative-group 中,有且只有一個(gè)特征屬于最終的軟件產(chǎn)品。

      Feature IDE 提供了約束編輯器。該編輯器有內(nèi)容幫助功能,可以方便的處理語(yǔ)法語(yǔ)義的有效性檢查。圖 2 展示了約束的有效性檢查。可以檢查可以檢測(cè)括號(hào)不匹配、假可選特性、不可滿足的約束和冗余約束。

      上式表示特征F依賴于特征A,B或者C以及它們的任意組合。

      上式表示特征F依賴于特征對(duì)(A,X),(B,Y),(B,Z)或C以及它們的任意組合。排斥

      也有相同的表達(dá)。綜上所述,可以得出非語(yǔ)法約束可以是任意命題約束。語(yǔ)法為特征模

      型提供了一個(gè)圖形中性的表示,例如圖3(b)的語(yǔ)法可以表達(dá)圖3(a)的特征模型。

      獲取特征集合,繪制特征模型之后,需要選擇合適的特征組合,即特征子集,稱為配置。其中默認(rèn)配置是特征模型中包含的所有特征的集合。而且要保證配置得到的特征集合有效,可以生成有效的軟件產(chǎn)品。

      參考文獻(xiàn):

      [1] 郭健美.基于共性與可變性分析的適應(yīng)性軟件復(fù)用與配置技術(shù)研究[D].上海交通大學(xué),2011.

      [2] 趙鄂,楊博文,楊貫中.一種適用于軟件產(chǎn)品線的特征模型[J].計(jì)算機(jī)系統(tǒng)應(yīng)用. 2013(10)

      [3] Zhang W,Mei H,Zhao H.Feature-driven requirement dependency analysis and high-lev

      [4]Batory D.A tutorial on feature oriented programming and the ahead tool suite [M],Berlin Heidelberg:Springer,2006:3-35.

      猜你喜歡
      綜述
      銀行網(wǎng)絡(luò)間風(fēng)險(xiǎn)傳染研究綜述
      SAPHO綜合征1例報(bào)道并文獻(xiàn)綜述
      我國(guó)工業(yè)遺產(chǎn)檔案研究綜述
      基于遷移學(xué)習(xí)模型的小樣本學(xué)習(xí)綜述
      關(guān)于港口物流服務(wù)質(zhì)量的文獻(xiàn)綜述
      知識(shí)追蹤綜述
      共指消解技術(shù)綜述
      面向自動(dòng)問(wèn)答的機(jī)器閱讀理解綜述
      我國(guó)中學(xué)校本課程建設(shè)實(shí)踐發(fā)展路徑研究綜述
      我國(guó)中學(xué)校本課程建設(shè)實(shí)踐發(fā)展路徑研究綜述
      苍山县| 鲁山县| 讷河市| 砚山县| 敦化市| 汾阳市| 贡嘎县| 珲春市| 无锡市| 崇阳县| 高陵县| 南投县| 神木县| 鹤岗市| 政和县| 郧西县| 内江市| 渭源县| 阜平县| 海门市| 香港 | 通海县| 阿拉善右旗| 东安县| 绵阳市| 彭山县| 揭阳市| 北海市| 名山县| 桃源县| 靖江市| 兴隆县| 通州区| 乃东县| 缙云县| 肇源县| 日喀则市| 青川县| 宣城市| 赤城县| 屏山县|