軟件需求分析對軟件可靠性的影響至關重要。在需求分析中,除了在思想上予以高度重視外,還應使用合適的技術,選用有效的方法和工具,并加強管理。用戶、軟件分析與設計人員及其他軟件設計方面的專家和行業(yè)專家應通力協(xié)作,以控制所有可能影響軟件功能、性能與可靠性的因素。并可請教在類似軟件項目中已成功地進行了需求分析的人員,重用其成功的分析經(jīng)驗、方法和需求規(guī)格說明。
2.需求規(guī)格說明的質(zhì)量保證體系
軟件需求說明通過一系列相關屬性來描述,但它們往往相互重疊或矛盾,目標和性質(zhì)相互混雜,難以給出相關的質(zhì)量評判標準、確立相應的可靠性目標。因此,建立軟件需求的可靠性框架和質(zhì)量保證體系不僅是必要的,而且是重要的。
軟件需求說明的可靠性保證框架的構成包括:問題模型、問題論域、模型理解、建模語言四個方面,以及聯(lián)系這四個方面的語義質(zhì)量、語用質(zhì)量和語法質(zhì)量三個關系。其中,建模語言與應用領域的適配性、建模語言與開發(fā)小組的適配性、開發(fā)小組與應用領域的適配性、需求模型對用戶需求的實際意義,以及語義質(zhì)量、模型構造對建模語言的語法質(zhì)量等是影響軟件需求分析可靠性的主要因素。
語法質(zhì)量的目標是語法的正確性,即所有語句在句法上完整,
不準使用需求說明語言中不曾定義的符號,保證所有語句均滿足語法規(guī)則。實踐表明,錯誤的預防、檢測和更正是語法質(zhì)量保證的三種基本手段。檢測錯誤是通過模型的構造發(fā)現(xiàn)錯誤;預防錯誤是拒絕在模型中加入錯誤的語句;更正錯誤是用正確的語句替換錯誤的語句。前兩者可以通過需求說明語言的形式預防來完成,后者則較難自動化。
語義質(zhì)量是需求模型有效性和完備性的保證。有效性要求模型中的所有語句都正確且與用戶需求相關;完備性要求模型包含領域中關于問題的所有相關語句。需求模型與領域越相似,其語義質(zhì)量越高。但對實際問題,不可能達到徹底的有效性和完備性,因而較為實際的目標是在約定的可信度下的有效性和完備性。多數(shù)提高模型質(zhì)量的方法都依賴于人們對模型具體內(nèi)容的理解,即語用手段。一致性檢測往往可自動完成,而不必真正理解給出的模型。
語用質(zhì)量影響人們對表達同一意義的多種表達方式的選擇,其目標是可理解性。它不僅要使需求模型能被理解,而且要確保開發(fā)人員理解該模型。與語義質(zhì)量目標一樣,在可理解性中也需要引入可信度。任何有助于理解需求模型的手段都可以納入達到語用目標的有益途徑 。
例如,各種逐項閱讀、以求理解的模型檢查,以圖表代替文字的模型可視化,利用動畫表現(xiàn)系統(tǒng)動態(tài)特征的模型動畫顯示,根據(jù)統(tǒng)計數(shù)據(jù)預測模型所刻劃軟件行為特征的系統(tǒng)模型,基于解釋的模型查閱手段,基于過濾(甚至包括語言翻譯)的閱讀范圍控制等。
3.軟件需求分析中的可靠性分析、設計與管理
在軟件需求分析過程中,可靠性任務包含四方面內(nèi)容:一是對可靠性需求的獲取、分析二是確定擬開發(fā)軟件的可靠性目標;三是軟件需求分析過程中的可靠性設計;四是為實現(xiàn)可靠性目標而采取的可靠性管理。在需求分析活動中,將這四方面的可靠性任務以用戶和軟件開發(fā)人員共同熟悉的軟件可靠性度量加以反映。
用戶需求中有時已經(jīng)包含了用戶對可靠性的要求,這樣,需求分析人員只需將其可靠性要求和其它要求一起進行細化,并以規(guī)定的要求和形式形成能綜合反映可靠性要求的規(guī)格說明即可。不過,大部分用戶對可靠性提不出明確的要求、甚至沒有要求,這就需要根據(jù)用戶對擬開發(fā)軟件的功能、性能等要求,來確定用戶對可靠性的要求和可靠性目標,并將其隨軟件功能的分解而分解。
在軟件需求分析過程中,我們可以很方便地列舉出影響軟件需求分析