軟件體系結構質(zhì)量評價方法概述

 摘 要:軟件體系結構是軟件開發(fā)過程初期的產(chǎn)品,對軟件體系結構進行分析與評價是控制軟件質(zhì)量的關鍵之一。目前主流的軟件體系結構質(zhì)量評價方法基本上都是基于場景的技術,并且已經(jīng)在很多領域得到了應用。本文闡明了軟件體系結構分析的重要性,介紹了幾種主要的軟件體系結構分析方法,并分析了當前在該領域所遇到的一些困難或問題,方法的選擇對于結果和軟件質(zhì)量有著重要的意義。 

  關鍵詞:軟件體系結構;場景;質(zhì)量屬性 

  中圖分類號:TP311 

  軟件質(zhì)量是指在軟件開發(fā)過程中形成的軟件滿足明確規(guī)定的需求的程度,也是衡量軟件好壞的一個重要指標。隨著軟件規(guī)模和復雜性的不斷增大,如何控制和保證軟件的質(zhì)量已成為一個亟需解決的問題。為了提高軟件的質(zhì)量,需要在整個軟件開發(fā)周期中進行有計劃的活動,包括對軟件的評價。研究表明,越早對質(zhì)量進行評價越有利于對軟件質(zhì)量的控制以及降低開發(fā)成本。對軟件體系結構進行深入的研究,是保證軟件質(zhì)量的重要措施之一。隨著軟件體系結構的發(fā)展,對軟件體系結構系統(tǒng)進行深入研究將會成為提高軟件生產(chǎn)率和解決軟件維護問題的新的最有效的途徑。 

  1 概述 

  1.1 軟件體系結構。軟件體系結構是國際上軟件工程研究的一個新興領域,它的研究目前還處于初始階段,對什么是軟件體系結構還沒有一個標準的、為大家所普遍接受的定義。一般認為,一個軟件系統(tǒng)的體系結構定義了組成系統(tǒng)的計算構件和構件之間的相互作用關系,在體系結構層次的構件如:客戶、服務器、數(shù)據(jù)庫、過濾器等;構件之間的交互可以是非常簡單的。 

  1.2 質(zhì)量屬性。[1]軟件質(zhì)量是指軟件滿足明確規(guī)定或隱含定義的需求的程度。通常從六個方面進行衡量。分別是功能性、可靠性、易使用性、效率、可維護性和可移植性。 

  1.3 軟件體系結構評估的重要性。軟件質(zhì)量是在整個軟件生命周期中形成的,與周期中的各個階段都息息相關,而軟件體系結構作為軟件質(zhì)量的功能性指標的一個重要要素,同時也是生命周期中的關鍵一步,它發(fā)揮著重要作用。因此,對軟件體系結構的分析也顯得尤為重要。我們可以通過對軟件體系結構的分析評估,及早的發(fā)現(xiàn)軟件的問題,盡可能早的修改軟件,并預測未來系統(tǒng)的質(zhì)量屬性。預測修改十分有效,可以從總體降低軟件的開發(fā)成本,提高軟件的質(zhì)量。 

  2 主要的軟件體系結構評估方法 

  目前的軟件體系結構評估方法大多采用基于場景的技術。場景是從風險承擔者的角度對于與系統(tǒng)的交互的簡短描述,其中風險承擔著包括系統(tǒng)體系結構設計中所涉及到的架構設計師、開發(fā)人員、維護人員等。這種評估方法通過研究軟件體系結構對場景的支持程度來判斷軟件質(zhì)量,評估結果較準確。 

  2.1 SAAM。基于場景的體系結構分析方法SAAM是最早形成文檔并得到廣泛運用的一種非功能質(zhì)量屬性的體系結構分析方法,是最早形成文檔并得到廣泛使用的軟件體系結構分析方法[2],可用來分析軟件質(zhì)量,如軟件體系結構的可修改性、可移植性、可擴充性等。是一種較為成熟的方法,運用廣泛,并成為許多其他的軟件體系結構評價方法的基礎。 

  SAAM方法采用基于場景的功能性和變化分析的評估技術,適用于體系結構設計的最終版本,主要是對可修改性的考察,需要所有風險承擔者參與。 

  2.2 SAAMCS;趶碗s場景的體系結構分析方法SAAMCS是對SAAM的擴展,主要針對場景的復雜度,主要目標是對系統(tǒng)進行風險評估。 

  SAAMCS適用于有充分細節(jié)描述的體系結構的最終版本,需要主要風險承擔者參與。 

  2.3 SAAMER。針對演化和復用體系結構分析方法SAAMER也是對SAAM的擴展的一種方法。 

  SAAMER通過對視圖(靜態(tài)視圖、映射視圖、動態(tài)視圖和資源視圖)、信息模型和場景來分析系統(tǒng)的演化和復用屬性,需要設計者、管理者和最終用戶參與。 

  2.4 ATAM。體系結構權衡分析方法ATAM是在SAAM的基礎上發(fā)展起來的,目標在于對系統(tǒng)敏感點和權衡點分析,主要針對性能、實用性、安全性和可修改性。使用ATAM不僅能夠明確軟件體系結構對于特定軟件質(zhì)量目標的滿足度,還能提供軟件目標之間的交互方式。 

  ATAM方法采用問卷和度量結合使用的評估技術,適用于體系結構設計的重復改進或最終版本,需要所有風險承擔者參與。 

  2.5 SBAR。基于場景的體系結構在工程SBAR目的是按照需求的質(zhì)量屬性評估體系結構。 

  SBAR關注多個軟件質(zhì)量屬性的均衡性,用于評估所設計的軟件體系結構是否具有達到所要求的軟件質(zhì)量的潛力,采用多種技術相結合的評估技術,針對多個屬性(可修改性、性能、實用性、安全性)的考察,僅僅需要設計者參與,不需其他的風險承擔者。 

  2.6 ALPSM。體系結構層次的軟件可維護性預測ALPSM是在體系結構層次上考查場景的影響來分析軟件體系的可維護性[3]。 

  ALPSM方法適用于體系結構設計過程中,采用場景評估技術,僅僅需要體系結構設計人員、分析者、評估者參與,不需其他的風險承擔者。 

  2.7 ALMA。體系結構層次的可維護性分析ALMA目標是變化沖突分析和預測維護工作,采用依賴于分析目標的獨立的體系結構描述符號使用來評估系統(tǒng),主要針對可維護性。 

  ALMA方法中風險承擔者由具體的活動決定。 

  3 存在問題及未來發(fā)展趨勢 

  體系結構是決定軟件質(zhì)量好壞的重要因素之一,隨著研究的深入,在軟件體系結構質(zhì)量評價方面取得了一定的成功,但是仍然存在一些問題。 

  3.1 存在的問題。目前,在軟件體系結構質(zhì)量分析和評價方法中,主要存在這樣的一些問題:首先,基于場景的分析評估技術,對于體系結構的描述沒有統(tǒng)一的標準、框架和定義,不同的描述方法給體系之間的選擇、比較增加了困難;其次,基于場景的分析評估技術,只能用于特定領域,運用范圍較其他評估技術稍窄;第三,基于場景的分析評估技術,要求評估者對被評估體系結構比較熟悉;最后,基于場景的分析評估技術有很多不確定性,造成了該技術的評估結果較為主觀。 

  3.2 未來的發(fā)展趨勢。通過對以上幾種基于場景的分析評估技術進行比較和分析,未來的基于場景的分析評估技術的發(fā)展趨勢有以下幾點:對于體系結構的描述建立統(tǒng)一的標準和定義,降低體系結構之間比較、選擇的難度。結合兩種或兩種以上的不同的體系結構評估方法,吸取其中的缺點避免不足,從而獲得更好的評估效果。針對基于場景的分析評估技術中的不確定性,使用已有的度量技術或定義新的度量標準,更精確地評估體系結構。對適用性的高要求。作為體系結構質(zhì)量特征的一個方面,適應性與軟件的可擴展性、可修改性、動態(tài)特性有密切關系。目前對適應性體系結構分析與評價的研究還很不完善,但是它有很大的研究價值,是未來評估方法的發(fā)展趨勢。 

  4 結束語 

  本文就幾種主要的軟件體系結構質(zhì)量評價方法進行了討論,這些方法基本上是基于場景的評價方法,并提出了一些目前軟件體系結構分析和評價技術中遇到的難點和困難,對未來的發(fā)展趨勢進行了展望。 

  參考文獻: 

  [1]陸惠恩,張成姝.實用軟件工程[M].北京:清華大學出版社,2009. 

  [2]萬建成,盧雷.軟件體系結構的原理、組成與應用[M].北京:科學出版社,2002. 

  [3]胡紅雷,毋國慶.軟件體系結構評估方法的研究[J].計算機應用研究,2004.