5) 盡可能不使用“待定”這樣的詞。所有含有待定內(nèi)容的需求都不是完整的文件,如果出現(xiàn)待定的部分,必須進(jìn)行待定部分內(nèi)容說明,落實(shí)負(fù)責(zé)人員、落實(shí)實(shí)施日期。
2)功能描述的無岔意性和可追蹤性
需求功能描述的無岔意性、可追蹤性和規(guī)范化:
(1) 功能描述必須清晰地描述出怎樣輸入到怎樣輸出,并且輸入、輸出描述應(yīng)對應(yīng)有數(shù)據(jù)流描述、控制流描述圖,這些描述必須與其它地方描述一致;
(2) 可以用語言、方程式、決策表、矩陣或圖等對功能的描述。如果選用語言描述必須使用結(jié)構(gòu)化的語言,描述前必須說明該步驟(或子功能)的執(zhí)行是順序,選擇,重復(fù),還是并發(fā),然后說明步驟邏輯。整個(gè)描述必須單入單出。
(3) 描述時(shí),每一個(gè)功能名稱和參照編號必須唯一,且不要將多個(gè)功能混在一起進(jìn)行描述,這樣便于功能的追蹤和修改。
?。?) 功能描述應(yīng)注意需求說明和程序設(shè)計(jì)的區(qū)別。需求設(shè)計(jì)僅僅是軟件的功能設(shè)計(jì),它給出軟件運(yùn)行的的外部功能描述,以及為了實(shí)現(xiàn)這一外部功能必須做哪些事情(采用和種數(shù)據(jù)結(jié)構(gòu),定義多個(gè)模塊,接口間的接口等)是設(shè)計(jì)階段的事情,功能描述不應(yīng)涉及到那些細(xì)節(jié)問題,以避免給軟件設(shè)計(jì)帶來不必要的約束。
2.2 軟件與硬件或其他外部系統(tǒng)接口
軟件與硬件或其它外部系統(tǒng)接口包括下述內(nèi)容:
?。?) 人機(jī)接口:說明輸入、輸出的內(nèi)容、屏幕安排、格式等要求;
?。?) 硬件接口:說明端口號,指令集,輸入輸出信號的內(nèi)容與數(shù)據(jù)類型,初始化信號源,傳輸通道號和信號處理方式。
?。?) 軟件接口:說明軟件的名稱、助記符、規(guī)格說明、版本號和來源;
?。?) 通訊接口:指定通訊接口和通訊協(xié)議等描述。
2.3 軟件的非功能性需求
軟件非功能性需求是指軟件性能指標(biāo),容限等功能以外的需求。一般指下述內(nèi)容:
?。?) 時(shí)間需求:輸入、輸出頻率,輸入、輸出響應(yīng)時(shí)間,各種功能恢復(fù)時(shí)間等;
?。?) 處理容限、精度、采樣參數(shù)的分辨率,誤差處理等;
?。?) 可靠性的MTBF要求,可維護(hù)性、安全性要求等。(對可能的不正常的輸入給以正常響應(yīng)是可靠性的重要內(nèi)容,這屬于功能性需求。)
2.4 軟件反向需求
軟件的反向需求描述軟件在那些情況下不能做什么。這一條是隨軟件實(shí)際要求而定。有兩類情形需要采用反向需求的形式。第一種情況:某些用戶需求適宜采用反向形式說明,如數(shù)據(jù)安全性要求屬于這類形式。第二種情況:對一些可靠性和安全性要求較高的軟件,有些必須描述軟件不能做些什么。如控制點(diǎn)火時(shí)序,我們必須交代清楚在那些情況下不能點(diǎn)火,否則會造成故障。
2.5 軟件設(shè)計(jì)和實(shí)現(xiàn)上的限制
軟件設(shè)計(jì)和實(shí)現(xiàn)上的限制主要指對軟件設(shè)計(jì)者的限制。如軟件運(yùn)行環(huán)境的限制(選擇計(jì)算機(jī)類型,使用配置,操作系統(tǒng)的限制等)、設(shè)計(jì)工具的限制(使用語言、執(zhí)行的標(biāo)準(zhǔn))和保密要求等。
2.6 閱讀支持信息
這部分內(nèi)容是為了更好的幫助我們理解用戶需求,也是為了使需求便于修改和追蹤。其本身并不是對需求的描述,但它影響到需求分析的可讀性,也屬于需求分析的一個(gè)重要部分。一般目錄、需求背景信息、內(nèi)容索引、交叉引用表、注釋等均屬于這個(gè)部分的內(nèi)容。
三、 軟件需求分析人員組織
軟件需求分析其根本性問題是理解用戶功能需求,由此軟件需求分析實(shí)際上是與客戶間交流過程完成的目標(biāo)。要求我們組織適當(dāng)?shù)膮⑴c人員進(jìn)行交流活動。
需求分析是一個(gè)綜合團(tuán)隊(duì)的工作,是在需求分析理論的指導(dǎo)下,對用戶需要進(jìn)行漸進(jìn)方式逐步深化;通過不斷變化方式形成具體約束;努力實(shí)現(xiàn)需求功能目標(biāo)形成特色效果的商業(yè)化產(chǎn)品。需求分析是一個(gè)商業(yè)行為