【正文】
按先后次序進(jìn)行編排,使一些不完全的軟件需求得以完善(參見(jiàn) 條和 ); f. 特殊的裝配指令用于編碼和媒體,以滿足安全、輸出、初始裝入或其他要求。以便使 SRS易于使用。 a. 大綱 1(表 2)中首先說(shuō)明全部功能需求,然后說(shuō)明四種類型的接口要求,最后是其他需求; b. 大綱 2(表 3)中,把對(duì)應(yīng)每個(gè)特定功能的四種接口需求和該功能需求放在一起描述,然后說(shuō)明其他需求; c. 大綱 3(表 4)中,與功能需求有關(guān)的全部?jī)?nèi)容放在一起首先說(shuō)明,然后是其他需求的描述。 a. 可以根據(jù)軟件實(shí)現(xiàn)功能的基本類型,將 本條分成若干段。 場(chǎng)合適應(yīng)性需求 這里包括: a. 對(duì)給定場(chǎng)合、任務(wù)或操作方式的任何數(shù)據(jù)或初始化順序的需求進(jìn)行定義。 操作 這里說(shuō)明用戶要求的常規(guī)的和特殊的操作。 通信接口 這里指定各種通信接口,例如,局部網(wǎng)絡(luò)的協(xié)議等等。還可能包括如下事宜:支撐什么樣的設(shè)備,如何支撐這些設(shè)備,有何約定。 警告 指定所需屬性十分重要,它使得人們能用規(guī)定的方法去進(jìn)行客觀的驗(yàn)證。這個(gè)領(lǐng)域的具體需求必須包括: a. 利用可靠的密碼技術(shù); b. 掌握特定的記錄或歷史數(shù)據(jù)集; c. 給不同的模塊分配不同的功能; d. 限定一個(gè)程序中某些區(qū)域的通信; e. 計(jì)算臨界值的檢查和。 硬件的限制 本項(xiàng)包括在各種硬件約束下運(yùn)行的軟件要求,例如,應(yīng)該包括: a. 硬件配置的特點(diǎn)(接口數(shù),指令系統(tǒng)等); b. 內(nèi)存 儲(chǔ)器和輔助存儲(chǔ)器的容量。也就是說(shuō),這種情況猶如有限狀態(tài)機(jī)。它包括如下的說(shuō)明: ( 1)輸入數(shù)據(jù)的有效性檢查; ( 2)操作的順序,包括事件的時(shí)間設(shè)定; ( 3)異常情況的響應(yīng),例如,溢出 、通信故障、錯(cuò)誤處理等; ( 4)受操作影響的參數(shù); ( 5)降級(jí)運(yùn)行的要求; ( 6)用于把系統(tǒng)輸入變換成相應(yīng)輸出的任何方法(方程式、數(shù)學(xué)算法、邏輯操作等); ( 7)輸出數(shù)據(jù)的有效性檢查。 b. 輸入 這部分應(yīng)包括: ( 1)詳細(xì)描述該功能的所有輸入數(shù)據(jù),如: 輸入源、數(shù)量、度量單位、時(shí)間設(shè)定、有效輸入范圍(包括精度和公差); ( 2)操作員控制細(xì)節(jié)的需求。 具體需求的內(nèi)容 功能需求 本條描述軟件產(chǎn)品的輸入怎樣變換成輸出。 具體需求( SRS的第 3章) 本章應(yīng)包括軟件開發(fā)者在建立設(shè)計(jì)時(shí)需要的全部細(xì)節(jié)。 本條不陳述具體需求或具體設(shè)計(jì)約束:而對(duì) SRS 的具體需求一章中為 什么要確定某些具體需求和設(shè)計(jì)約束提供理由。 這一條的內(nèi)容不能用來(lái)陳述具體需求或強(qiáng)加若干特殊的設(shè)計(jì)約束,本條應(yīng)對(duì)在 SRS的具體需求一章之中的某些具體需求或設(shè)計(jì)約束的描述提供理由。 許多人在軟件生存周期的操作和維護(hù)階段與系統(tǒng)相關(guān)。 有時(shí),如果存在較高層次的規(guī)格說(shuō)明時(shí),則功能摘要可直接從中取得,這個(gè)較高層次的規(guī)格說(shuō)明為軟件產(chǎn)品分配了特殊的功能,為了清晰起見(jiàn),請(qǐng)注意: a. 編制功能的一種方法是制作功能表,以便客戶或者第一次 讀這個(gè)文件的人都可以理解; b. 用方框圖來(lái)表達(dá)不同的功能和它們的關(guān)系也是有幫助的。 本條既不用來(lái)強(qiáng)迫進(jìn)行設(shè)計(jì)方案 的描述,也不是描述在解決問(wèn)題時(shí)的設(shè)計(jì)約束。 a. 如果這個(gè)產(chǎn)品是獨(dú)立的 ,而且全部?jī)?nèi)容自含,應(yīng)在此說(shuō)明; b. 如果 SRS 定義的產(chǎn)品是一個(gè)較大的系統(tǒng)或項(xiàng)目中的一個(gè)組成部分,那么本條應(yīng)包括如下內(nèi)容: ( 1)要概述這個(gè)較大的系統(tǒng)或項(xiàng)目的每一個(gè)組成部分的功能,并說(shuō)明其接口; ( 2)指出該軟件產(chǎn)品主要的外部接口。每一個(gè)文件、文獻(xiàn)要有標(biāo)題,索引號(hào)或文件號(hào),發(fā)布或發(fā)表日期以及出版單位; c. 詳細(xì)說(shuō)明可以得到該參考文件的來(lái)源。 定義、縮寫詞、略語(yǔ)( SRS的 ) 本條中必須提供全部需求的術(shù)語(yǔ)、縮寫詞及略語(yǔ)的定義,以便對(duì) SRS進(jìn)行適當(dāng)?shù)慕忉尅? 范圍( SRS的 ) a. 用一個(gè)名字標(biāo)識(shí)被生產(chǎn)的軟件產(chǎn)品。表 1給出該大綱目錄,表 2至表 5給出大綱中第 3章的具體需求內(nèi)容。 項(xiàng)目要求表達(dá)客戶和開發(fā)者之間對(duì)于軟件生產(chǎn)方面合同性事宜的理解(因此不應(yīng)當(dāng)包括在 SRS中)例如: a. 成本; b. 交貨進(jìn)度; c. 報(bào)表處理; d. 軟件開發(fā)方法; e. 質(zhì)量保證; f. 確認(rèn)和驗(yàn)證 的標(biāo)準(zhǔn); g. 驗(yàn)收過(guò)程。 通常應(yīng)考慮到,若要為軟件選擇高層次的設(shè)計(jì),就可能需要大量的資源(可能占整個(gè)產(chǎn)品開發(fā)成本的 10%20%以上)。通常不指定如下的設(shè)計(jì)項(xiàng)目: a. 把軟件劃分成若干模塊; b. 給每一個(gè)模塊分配功能; c. 描述模塊間的信息流程或者控制流程; d. 選擇數(shù)據(jù)結(jié)構(gòu)。 編寫需求的人應(yīng)當(dāng)避免把設(shè)計(jì)或項(xiàng)目需求寫入 SRS之中,應(yīng)當(dāng)對(duì)說(shuō) 明需求設(shè)計(jì)約束與規(guī)劃設(shè)計(jì)兩者有清晰的區(qū)別。 a. 必須保證是指軟件必須和這些需求相一致,否則該軟件不可能被接受; b. 期望是指這些需求將提高軟件產(chǎn)品的功能,但是如果缺省的話也是可接受的; c. 任選是給開發(fā)者一個(gè)機(jī)會(huì),可以提供某些超出 SRS規(guī)定的目標(biāo)。 有這種方法注釋需求,可以: a. 幫助客戶對(duì)每一個(gè)需求給予更周密的考慮,通常可以在需求中澄清隱藏的假設(shè); b. 幫助開發(fā)者做出正確的設(shè)計(jì)決定,并對(duì)軟件產(chǎn)品不同部分作出相應(yīng)的努力。 軟件需求的注釋 有關(guān)軟件產(chǎn)品的所有需求,并不是同等重要的。這個(gè)定義應(yīng)該規(guī)定: a. 模型中的參數(shù)所要求的范圍; b. 使用時(shí)的限定值; c. 結(jié)果的精確度; d. 負(fù)載的能力; e. 要求的執(zhí)行時(shí)間; f. 缺省或失敗時(shí)的響應(yīng)。對(duì)一些特殊的應(yīng)用還有一些特別有用的模型。這種模型 對(duì)于表達(dá)軟件特性的形式和細(xì)節(jié)特別有用。圖中進(jìn)入的箭頭表示啟動(dòng)狀態(tài)。 功能模型 功能模型是提供從略語(yǔ)以輸出映象的模型。數(shù)學(xué)模型對(duì)某些特殊應(yīng)用領(lǐng)域是特別有用的。 模型 另一種表達(dá)需求的方法是模型的方式,這是表達(dá)復(fù)雜需求的精確和有效方法。顯然,要列出全部輸入和輸出序列是不可能的。 困難 多數(shù)軟件 產(chǎn)品可能接收無(wú)限的序列作為輸入,于是,為了通過(guò)輸入輸出序列完整地說(shuō)明產(chǎn)品的特性,就要求 SRS包括一個(gè)無(wú)限長(zhǎng)的輸入和所需的輸出充列。關(guān)注輸入、輸出的系統(tǒng)主要是在當(dāng)前的輸入上操作,要求生成與輸入相匹配的輸出(類似于數(shù)據(jù)轉(zhuǎn)換例行程序或一個(gè)數(shù)學(xué)函數(shù)包); c. 還有一些系統(tǒng)(如過(guò)程控制系統(tǒng))要求記憶它們的狀態(tài)。 輸入、輸出說(shuō)明 用輸入輸出序列來(lái)描述一個(gè)軟件產(chǎn)品所要求的特性是很有效的。 用詳細(xì)分層體系自動(dòng)檢查 SRS的需求,這里每一個(gè)分層自身是完全的,但是也可以擴(kuò)展為下一層,或是上一層的一個(gè)組成成分。 表達(dá)工具 在 SRS中有許多詞匯,特別是許多名詞和動(dòng)詞,專門涉及到系統(tǒng)的實(shí)體和許多活動(dòng),所以表達(dá) SRS需要若干工具。比如,計(jì)算機(jī)的字處理器就是非常有用的生產(chǎn)輔助工具。 SRS 的編制工具 編制 SRS最顯而易見(jiàn)的方法是用自然語(yǔ)言來(lái)描述。 SRS 的改進(jìn) 軟件產(chǎn)品的開發(fā)過(guò)程中,在項(xiàng)目的開始階段不可能詳細(xì)說(shuō)明某些細(xì)節(jié),在開發(fā)過(guò)程中可能發(fā)現(xiàn) SRS的缺陷、缺點(diǎn)和