據(jù)加工、算法、精度要求及時間限制、模型校核、優(yōu)化設(shè)計等,從而獲得對用戶需求過程的定義。
此外,事務(wù)元定義也是一種常用的方法。它通過軟件所要完成的每個獨立事務(wù)來推測用戶對某些特殊功能或性能的需求。
3.軟件需求規(guī)格說明
面向不同的需求對象,產(chǎn)生了多種需求規(guī)格說明方法。它們均針對不同的對象發(fā)揮了較好的作用,但目前尚無一種能“包治百病”的方法。現(xiàn)有的需求規(guī)格說明方法可分為三類:形式化方法、非形式化方法、基于知識表示的綜合方法。
形式化方法是一種基于嚴(yán)格數(shù)學(xué)基礎(chǔ)的系統(tǒng)特征描述方法,可分為兩類。一是面向模型的,即通過應(yīng)用一系列數(shù)學(xué)結(jié)構(gòu)構(gòu)造系統(tǒng)模型,來直接定義系統(tǒng)行為;二是面向特征的,即通過給出系統(tǒng)必須滿足的公理集,來描述系統(tǒng)的特征,從而間接地定義系統(tǒng)行為。形式化方法往往與形式化的規(guī)格說明語言緊密地結(jié)合在一起。前者的典型方法有VDM、Z、Petri網(wǎng)和CSP等后者又可分為公理規(guī)格說明和代數(shù)規(guī)格說明。
形式化方法通常有嚴(yán)格定義的分割、抽象、投影機制,其數(shù)學(xué)定義有助于澄清認識。規(guī)格說明的構(gòu)造往往是增量式的,但數(shù)學(xué)定義不是所有軟件開發(fā)人員都能輕易掌握的,它與一般應(yīng)用尚存在相當(dāng)?shù)木嚯x。
非形式化方法常常以某種方法學(xué)或方法框架的形式出現(xiàn),非形式化地描述一系列規(guī)格說明的步驟和原則,并定義相應(yīng)的記號。其典型方法有結(jié)構(gòu)化分析方法和面向?qū)ο蠓治龇椒ǖ?。結(jié)構(gòu)化分析方法源于數(shù)據(jù)處理應(yīng)用,是一種單純的自頂向下的功能分解技術(shù)。面向?qū)ο蠓治龇椒ù蠖嗤ㄟ^對象(類)、狀態(tài)、交互行為來刻劃問題及問題的解,強調(diào)對對象及對象類的定義和求精。
在實踐中,人們逐步認識到形式化和非形式化方法的不足。于是,力圖尋求一種結(jié)合這兩種方法的長處、并能有效克服其缺點的綜合方法?;谥R表示的方法是這種方法的代表。
知識表示技術(shù)為需求規(guī)格說明奠定了形式基礎(chǔ),而非形式的方法框架給出了需求說明的指導(dǎo)原則。它由輔助系統(tǒng)檢測當(dāng)前的需求狀態(tài),提示下一步的工作。其輔助系統(tǒng)一般檢測和提示多種意向的存在,并支持對需求的增量式開發(fā)。因此,其前景依賴于輔助系統(tǒng)的智能化程度和方法框架給出的各項指導(dǎo)原則的有效性。
需求說明語言的選擇至關(guān)重要,它直接影響需求說明的質(zhì)量和可理解性。一般地,需求說明語言應(yīng)能對現(xiàn)實世界中的各種概念、特征、變化等具有完備的表達能力。而且,它應(yīng)是易學(xué)、易用、易讀、易懂的。目前,主要有自然語言、結(jié)構(gòu)化行為描述語言、形式語言、半形式語言四類規(guī)格說明語言。
現(xiàn)在,大多數(shù)需求規(guī)格說明使用自然語言編制,但這相當(dāng)危險,其非形式特征將妨礙軟件開發(fā)人員就擬開發(fā)軟件的各個細節(jié)達成共識。
三、需求分析工程中的可靠性保證
1.影響需求分析可靠性的因素
下述因素是影響軟件需求分析可靠性的主要因素:
- 分析工具、方法的選擇、使用及其有效性。
- 建模語言的選擇與開發(fā)人員、分析對象和需求領(lǐng)域的適配性。
- 需求分析人員與用戶和專家之間的溝通。
- 需求獲取與分析的徹底性、完整性、準(zhǔn)確性,以及分析方法的有效性。
- 需求分析規(guī)格說明定義與描述的完整性、準(zhǔn)確性、一致性、無二義性,以及可讀性、易理解性和可維護性。
- 功能需求包括備選功能的定義和識別。
- 性能需求包括糾錯及功能增加所產(chǎn)生的影響。
- 環(huán)境要求對軟件實現(xiàn)的影響。
- 數(shù)據(jù)的準(zhǔn)確性和邏輯組織。
- 接口要求、定義與描述。
- 需求分析的質(zhì)量保證目標(biāo)與手段。
- 可靠性保證大綱對可靠性目標(biāo)的要求及其本身的完備性與相關(guān)性。
- 過程建模質(zhì)量。
- 原型的有效性與可信性。
- 需求評審的徹底性與需求驗證的合理性和有效性。
- 操作使用要求,