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