需求規(guī)格說(shuō)明書模板4種版本_第1頁(yè)
需求規(guī)格說(shuō)明書模板4種版本_第2頁(yè)
需求規(guī)格說(shuō)明書模板4種版本_第3頁(yè)
需求規(guī)格說(shuō)明書模板4種版本_第4頁(yè)
需求規(guī)格說(shuō)明書模板4種版本_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上需求規(guī)格說(shuō)明書(ISO標(biāo)準(zhǔn)版)編者說(shuō)明: 當(dāng)需求調(diào)查、分析工作告一段落時(shí),你就需要將這些需求進(jìn)行規(guī)格化描述,整理成文,即軟件需求規(guī)格說(shuō)明書,也就是SRS。這是在軟件項(xiàng)目過(guò)程中最有價(jià)值的一個(gè)文檔。ISO所提供的標(biāo)準(zhǔn)雖然已經(jīng)時(shí)間久遠(yuǎn),但還是頗具參考價(jià)值的。1引言1.1編寫的目的 說(shuō)明編寫這份需求說(shuō)明書的目的,指出預(yù)期的讀者。1.2背景a.待開發(fā)的系統(tǒng)的名稱;b.本項(xiàng)目的任務(wù)提出者、開發(fā)者、用戶;c.該系統(tǒng)同其他系統(tǒng)或其他機(jī)構(gòu)的基本的相互來(lái)往關(guān)系。1.3定義 列出本文件中用到的專門術(shù)語(yǔ)的定義和外文首字母組詞的原詞組。1.4參考資料 列出用得著的參考資料。2任務(wù)概述2.1目標(biāo)

2、敘述該系統(tǒng)開發(fā)的意圖、應(yīng)用目標(biāo)、作用范圍以及其他應(yīng)向讀者說(shuō)明的有關(guān)該系統(tǒng)開發(fā)的背景材料。解釋被開發(fā)系統(tǒng)與其他有關(guān)系統(tǒng)之間的關(guān)系。2.2用戶的特點(diǎn)列出本系統(tǒng)的最終用戶的特點(diǎn),充分說(shuō)明操作人員、維護(hù)人員的教育水平和技術(shù)專長(zhǎng),以及本系統(tǒng)的預(yù)期使用頻度。2.3假定和約束 列出進(jìn)行本系統(tǒng)開發(fā)工作的假定和約束。3需求規(guī)定 3.1對(duì)功能的規(guī)定用列表的方式,逐項(xiàng)定量和定性地?cái)⑹鰧?duì)系統(tǒng)所提出的功能要求,說(shuō)明輸入什么量、經(jīng)怎么樣的處理、得到什么輸出,說(shuō)明系統(tǒng)的容量,包括系統(tǒng)應(yīng)支持的終端數(shù)和應(yīng)支持的并行操作的用戶數(shù)等指標(biāo)。3.2 對(duì)性能的規(guī)定3.2.1精度 說(shuō)明對(duì)該系統(tǒng)的輸入、輸出數(shù)據(jù)精度的要求,可能包括傳輸過(guò)程中

3、的精度。3.2.2時(shí)間特性要求 說(shuō)明對(duì)于該系統(tǒng)的時(shí)間特性要求。3.2.3靈活性說(shuō)明對(duì)該系統(tǒng)的靈活性的要求,即當(dāng)需求發(fā)生某些變化時(shí),該系統(tǒng)對(duì)這些變化的適應(yīng)能力。3.3輸入輸出要求解釋各輸入輸出數(shù)據(jù)類型,并逐項(xiàng)說(shuō)明其媒體、格式、數(shù)值范圍、精度等。對(duì)系統(tǒng)的數(shù)據(jù)輸出及必須標(biāo)明的控制輸出量進(jìn)行解釋并舉例。3.4數(shù)據(jù)管理能力要求(針對(duì)軟件系統(tǒng))說(shuō)明需要管理的文卷和記錄的個(gè)數(shù)、表和文卷的大小規(guī)模,要按可預(yù)見(jiàn)的增長(zhǎng)對(duì)數(shù)據(jù)及其分量的存儲(chǔ)要求作出估算。3.5故障處理要求列出可能的軟件、硬件故障以及對(duì)各項(xiàng)性能而言所產(chǎn)生的后果和對(duì)故障處理的要求。3.6其他專門要求如用戶單位對(duì)安全保密的要求,對(duì)使用方便的要求,對(duì)可維護(hù)

4、性、可補(bǔ)充性、易讀性、可靠性、運(yùn)行環(huán)境可轉(zhuǎn)換性的特殊要求等。4運(yùn)行環(huán)境規(guī)定4.1設(shè)備 列出運(yùn)行該軟件所需要的硬設(shè)備。說(shuō)明其中的新型設(shè)備及其專門功能,包括:a.處理器型號(hào)及內(nèi)存容量b.外存容量、聯(lián)機(jī)或脫機(jī)、媒體及其存儲(chǔ)格式,設(shè)備的型號(hào)及數(shù)量c.輸入及輸出設(shè)備的型號(hào)和數(shù)量,聯(lián)機(jī)或脫機(jī);d.數(shù)據(jù)通信設(shè)備的型號(hào)和數(shù)量e.功能鍵及其他專用硬件4.2支持軟件列出支持軟件,包括要用到的操作系統(tǒng)、編譯程序、測(cè)試支持軟件等。4.3接口 說(shuō)明該系統(tǒng)同其他系統(tǒng)之間的接口、數(shù)據(jù)通信協(xié)議等。4.4控制 說(shuō)明控制該系統(tǒng)的運(yùn)行的方法和控制信號(hào),并說(shuō)明這些控制信號(hào)的來(lái)源。軟件需求規(guī)格說(shuō)明書(RUP版)編者說(shuō)明: 如果在需求分

5、析時(shí)采用了用例(Use case)技術(shù),那么該需求規(guī)格說(shuō)明書將更加符合你的需要。當(dāng)然,你也可以結(jié)合Volere需求規(guī)格說(shuō)明書對(duì)該模板進(jìn)行必要的修改。1. 文檔概述該部分主要是對(duì)軟件需求規(guī)格說(shuō)明書文檔進(jìn)行基本的描述,包括該文檔的目的、范圍、術(shù)語(yǔ)定義、參考資料以及概要。軟件需求規(guī)格說(shuō)明書用來(lái)系統(tǒng)、完整地記錄系統(tǒng)的軟件需求。該軟件需求說(shuō)明書的基礎(chǔ)是用例分析技術(shù)。因此該文檔中應(yīng)包括用例模型、補(bǔ)充規(guī)約等內(nèi)容。1.1目的在此小節(jié)中,主要對(duì)軟件需求規(guī)格說(shuō)明書的目的做一概要性說(shuō)明,通常軟件需求規(guī)格說(shuō)明書應(yīng)詳細(xì)地說(shuō)明應(yīng)用程序、子系統(tǒng)的外部行為,還要說(shuō)明非功能性需求、設(shè)計(jì)約束,以及其它的相關(guān)因素。1.2范圍系統(tǒng)是

6、有范圍的,而不是無(wú)限擴(kuò)展的,對(duì)于無(wú)限擴(kuò)展的需求是無(wú)法進(jìn)行描述的。因此,在本小節(jié)應(yīng)該對(duì)該說(shuō)明書所涉及的項(xiàng)目范圍進(jìn)行清晰的界定。指定該規(guī)格說(shuō)明書適用的軟件應(yīng)用程序、特性或者其它子系統(tǒng)分組、其相關(guān)的用例模型。當(dāng)然在此也需要列出會(huì)受到該文檔影響的其它文檔。1.3 定義、首字母縮寫詞和縮略語(yǔ)與其它文檔一樣,該文檔也需要將本文檔中所涉及的所有術(shù)語(yǔ)、縮略語(yǔ)進(jìn)行詳細(xì)的定義。還有一種可簡(jiǎn)明的做法,就是維護(hù)在一個(gè)項(xiàng)目詞匯表中,這樣就可以避免在每個(gè)文檔中都重復(fù)很多內(nèi)容。1.4參考資料在這一小節(jié)中,應(yīng)完整地列出該文檔引用的所有文檔。對(duì)于每個(gè)引用的文檔都應(yīng)該給出標(biāo)題、標(biāo)識(shí)號(hào)、日期以及來(lái)源,為閱讀者查找這些文檔提供足夠詳

7、細(xì)的信息。1.5 概述在本小節(jié)中,主要是說(shuō)明軟件需求規(guī)格說(shuō)明書各個(gè)部分所包含的主要內(nèi)容,就像一個(gè)文章摘要一樣。同時(shí)也應(yīng)該對(duì)文檔的組織方式進(jìn)行解釋。2. 整體說(shuō)明在本節(jié)中,將對(duì)整個(gè)軟件需求進(jìn)行總體性的描述,以期讓讀者對(duì)整個(gè)軟件系統(tǒng)的需求有一個(gè)框架性的認(rèn)識(shí)。也就是說(shuō),該節(jié)中主要包括影響產(chǎn)品及其需求的一般因素,而不列舉 具體的需求。主要包括產(chǎn)品總體效果、產(chǎn)品功能、用戶特征、約束、假設(shè)與依賴關(guān)系、需求子集等方面的內(nèi)容。2.1用例模型在本小節(jié)中,將列出該軟件需求的用例模型,該模型處于系統(tǒng)級(jí),對(duì)系統(tǒng)的特性進(jìn)行宏觀的描述。在此應(yīng)該列出所有的用例和Actor的名稱列表,并且對(duì)其做出簡(jiǎn)要的說(shuō)明,以及在圖中的各種

8、關(guān)系。2.2 假設(shè)與依賴關(guān)系在軟件系統(tǒng)的開發(fā)過(guò)程中,存在許多假設(shè)和依賴關(guān)系。在本小節(jié)中應(yīng)列舉出所有的重要的技術(shù)可行性假設(shè)、子系統(tǒng)或構(gòu)件可用性假設(shè),以及一些可行性的假設(shè)。3. 具體需求如果說(shuō)第二章節(jié)是框架,那么本節(jié)就是血肉。在本節(jié)中,應(yīng)該詳細(xì)列出所有的軟件需求,其詳細(xì)程序應(yīng)使設(shè)計(jì)人員能夠充分理解并且進(jìn)行設(shè)計(jì)的要求,同時(shí)也應(yīng)該給予測(cè)試人員足夠的信息,以幫助他們來(lái)驗(yàn)證系統(tǒng)是否滿足了這些需求。整個(gè)需求的組織可以采用用例描述進(jìn)行。3.1用例描述如果你使用用例建模技術(shù),那么你已經(jīng)通過(guò)用例定義了系統(tǒng)的大部分功能性需求和一些非功能性需求。因此,在軟件需求規(guī)格說(shuō)明書只需將這些具體的用例描述,整理在一起,全部放在

9、該小節(jié)之中。當(dāng)然也可以將用例描述做為附件,在此列出引用,只是這樣做并不利于閱讀。建議在組織形式上采用以“軟件需求”為線索,在每個(gè)需求中,填入對(duì)應(yīng)的1個(gè)或幾個(gè)用例描述。3.2補(bǔ)充需求由于用例畢竟主要針對(duì)功能性需求,因此還會(huì)有一些其它的補(bǔ)充需求遺漏,因此在本小節(jié)中就是將這些東西補(bǔ)充出來(lái)。這些補(bǔ)充需求大部分集中在非功能需求之上,包括以下幾個(gè)方面的內(nèi)容:1) 易用性:例如指出普通用戶和高級(jí)用戶要高效地執(zhí)行某個(gè)特定操作所需的培訓(xùn)時(shí)間;指出典型任務(wù)的可評(píng)測(cè)任務(wù)次數(shù);或者指出需要滿足的可用性標(biāo)準(zhǔn)(如IBM的CUA標(biāo)準(zhǔn)、Microsoft的GUI標(biāo)準(zhǔn)。2) 可靠性:包括系統(tǒng)可用性(可用時(shí)間百分比、使用小時(shí)數(shù)、

10、維護(hù)訪問(wèn)權(quán)、降紙模式操作等);平均故障間隔時(shí)間(MTBF,通常表示為小時(shí)數(shù),但也可表示為天數(shù)、月數(shù)或年數(shù));平均修復(fù)時(shí)間(MTTR,系統(tǒng)在發(fā)生故障后可以暫停運(yùn)行的時(shí)間);精確度(指出系統(tǒng)輸出要求具備的精密度、分辨率和精確度);最高錯(cuò)誤或缺陷率(通常表示為bugs/KLOC,即每千行代碼的錯(cuò)誤數(shù)目或 bugs/function-point,即每個(gè)功能點(diǎn)的錯(cuò)誤數(shù)目);錯(cuò)誤或缺陷率(按照小錯(cuò)誤、大錯(cuò)誤和嚴(yán)重錯(cuò)誤來(lái)分類:需求中必須對(duì)“嚴(yán)重”錯(cuò)誤進(jìn)行界定,例如:數(shù)據(jù)完全丟失或完全不能使用系統(tǒng)的某部分功能)。3) 性能:包括對(duì)事務(wù)的響應(yīng)時(shí)間(平均、最長(zhǎng));吞吐量(例如每秒處理的事務(wù)數(shù));容量(例如系統(tǒng)可以

11、容納的客戶或事務(wù)數(shù));降級(jí)模式(當(dāng)系統(tǒng)以某種形式降級(jí)時(shí)可接受的運(yùn)行模式);資源利用情況:內(nèi)存、磁盤、通信等。4) 其它:包括用戶界面要求、聯(lián)機(jī)幫助系統(tǒng)要求、法律許可、外購(gòu)構(gòu)件,以及操作系統(tǒng)、開發(fā)工具、數(shù)據(jù)庫(kù)系統(tǒng)等設(shè)計(jì)約束。4.支持信息支持信息用于使軟件需求規(guī)格說(shuō)明書更易于使用。它包括:目錄、索引、附錄等。計(jì)算機(jī)軟件需求說(shuō)明編制指南(國(guó)標(biāo)版)編者說(shuō)明: 軟件需求規(guī)格說(shuō)明是十分重要的文檔,因此為開發(fā)團(tuán)隊(duì)提供一份詳細(xì)的編制指南是十分有意義和必要的。本文檔就是一個(gè)編制指南的例子,你可以根據(jù)該指南,結(jié)合自己的實(shí)際情況進(jìn)行修改。1引言 1.1 目的和作用 本指南為軟件需求實(shí)踐提供了一個(gè)規(guī)范化的方法。本指南

12、不提倡把軟件需求說(shuō)明(Software Requirements Specifications,以下簡(jiǎn)稱SRS)劃分成等級(jí),避免把它定義成更小的需求子集。 本指南適用對(duì)象: 1)軟件客戶(Customers),以便精確地描述他們想獲得什么樣的產(chǎn)品。 2)軟件開發(fā)者(Suppliers),以便準(zhǔn)確地理解客戶需要什么樣的產(chǎn)品。 對(duì)于任一要實(shí)現(xiàn)下列目標(biāo)的單位和(或)個(gè)人: 1)要提出開發(fā)規(guī)范化的SRS提綱; 2)定義自己需要的具體的格式和內(nèi)容; 3)產(chǎn)生附加的局部使用條款,如SRS質(zhì)量檢查清單或者SRS作者手冊(cè)等。 SRS將完成下列目標(biāo): 1) 在軟件產(chǎn)品完成目標(biāo)方面為客戶和開發(fā)者之間建立共同協(xié)議創(chuàng)

13、立一個(gè)基礎(chǔ)。對(duì)要實(shí)現(xiàn)的軟件功能做全面描述,幫助客戶判斷所規(guī)定的軟件是否符合他們的要求,或者怎樣修改這種軟件才能適合他們的要求; 2) 提高開發(fā)效率。編制SRS的過(guò)程將使客戶在設(shè)計(jì)開始之前周密地思考全部需求,從而減少事后重新設(shè)計(jì)、重新編碼和重新測(cè)試的返工活動(dòng)。在SRS中對(duì)各種需求仔細(xì)地進(jìn)行復(fù)查,還可以在開發(fā)早期發(fā)現(xiàn)若干遺漏、錯(cuò)誤的理解和不一致性,以便及時(shí)加以糾正; 3) 為成本計(jì)價(jià)和編制計(jì)劃進(jìn)度提供基礎(chǔ)。SRS提供的對(duì)被開發(fā)軟件產(chǎn)品的描述,是計(jì)算機(jī)軟件產(chǎn)品成本核算的基礎(chǔ),并且可以為各方的要價(jià)和付費(fèi)提供依據(jù)。SRS對(duì)軟件的清晰描述,有助于估計(jì)所必須的資源,并用作編制進(jìn)度的依據(jù); 4) 為確認(rèn)和驗(yàn)證

14、提供一個(gè)基準(zhǔn)。任何組織將更有效地編制他們的確認(rèn)和驗(yàn)證計(jì)劃。作為開發(fā)合同的一部分,SRS還可以提供一個(gè)可以度量和遵循的基準(zhǔn)(然而,反之則不成立,即任一有關(guān)軟件的合同都不能作為SRS。因?yàn)檫@種文件幾乎不包括詳盡的需求說(shuō)明,并且通常不完全的); 5) 便于移植。有了SRS就便于移值軟件產(chǎn)品,以適應(yīng)新的用戶或新的機(jī)種??蛻粢惨子谝浦财滠浖狡渌块T,而開發(fā)者同樣也易于把軟件移植到新的客戶; 6) 作為不斷提高的基礎(chǔ)。由于SRS所討論的是軟件產(chǎn)品,而不是開發(fā)這個(gè)產(chǎn)品的設(shè)計(jì)。因此SRS是軟件產(chǎn)品繼續(xù)提高的基礎(chǔ)。雖然SRS也可能要改變,但是原來(lái)的SRS還是軟件產(chǎn)品改進(jìn)的可靠基礎(chǔ)。 1.2 范圍 本指南適用于

15、編寫軟件需求規(guī)格說(shuō)明,它描述了一個(gè)SRS所必須的內(nèi)容和質(zhì)量,并且在第6章中提供了SRS大綱。 2引用標(biāo)準(zhǔn) GB 8566 計(jì)算機(jī)軟件開發(fā)規(guī)范 GB 8567 計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南 GB/T 11457 軟件工程術(shù)語(yǔ) 3定義 GB/T 11457所列術(shù)語(yǔ)和下列定義適用于本指南。 合同(contract):是由客戶和開發(fā)者共同簽署的具有法律約束力的文件。其中包括產(chǎn)品的技術(shù)、組織、成本和進(jìn)度計(jì)劃要求等內(nèi)容。 客戶(customer):指?jìng)€(gè)人或單位,他們?yōu)楫a(chǎn)品開發(fā)提供資金,通常(但有時(shí)也不必)還提出各種需求。文件中的客戶和開發(fā)者也可能是同一個(gè)組織的成員。 語(yǔ)言(language):是具有語(yǔ)法

16、和語(yǔ)義的通信工具,包括一組表達(dá)式、慣例和傳遞信息的有關(guān)規(guī)則。 分割(partitioning):把一個(gè)整體分成若干部分。 開發(fā)者(supplier):指為客戶生產(chǎn)某種軟件產(chǎn)品的個(gè)人或集團(tuán)。在本指南中,客戶和開發(fā)者可能是同一個(gè)組織的成員。 用戶(user):指運(yùn)行系統(tǒng)或者直接與系統(tǒng)發(fā)生交互作用的個(gè)人或集團(tuán)。用戶和客戶通常不是同一些人。 4編寫SRS的背景信息 4.1 SRS的基本要求 SRS是對(duì)要完成一定功能、性能的軟件產(chǎn)品、程序或一組程序的說(shuō)明。對(duì)SRS的描述有兩項(xiàng)基本要求: 1)必須描述一定的功能、性能; 2)必須用確定的方法敘述這些功能、性能。 4.2 SRS的環(huán)境 必須認(rèn)識(shí)到SRS在整個(gè)

17、軟件開發(fā)規(guī)范(見(jiàn)GB 8566)所規(guī)定的有關(guān)階段都起作用。正因?yàn)槿绱?,SRS的起草者必須特別注意不要超出這種作用的范圍。這意味著要滿足下列要求: 1) SRS必須正確地定義所有的軟件需求; 2) 除設(shè)計(jì)上的特殊限制之外,SRS中一般不描述任何設(shè)計(jì)、驗(yàn)證或項(xiàng)目管理細(xì)節(jié)。 4.3 SRS的特點(diǎn) 4.3.1 無(wú)歧義性 當(dāng)且僅當(dāng)它對(duì)每一個(gè)需求只有一種解釋時(shí),SRS者是無(wú)歧義的。 1) 要求最終產(chǎn)品的每一個(gè)特性用某一術(shù)語(yǔ)描述; 2) 若某一術(shù)語(yǔ)在某一特殊的行文中使用時(shí)具有多種歧義,那么對(duì)該術(shù)語(yǔ)的每種含義作出解釋并指出其適用場(chǎng)合。 需求通常是用自然語(yǔ)言編寫的,使用自然語(yǔ)言的SRS起草者必須特別注意消除其需

18、求的歧義性。提倡使用形式化需求說(shuō)明語(yǔ)言。 4.3.2 完整性 如果一個(gè)SRS能滿足下列要求,則該SRS就是完整的: 1) 包括全部有意義的要求,無(wú)論是關(guān)系到功能的、性能的、設(shè)計(jì)約束的,還是關(guān)系到屬性或外部接口方面的需求; 2) 對(duì)所有可能出現(xiàn)的輸入數(shù)據(jù)的響應(yīng)予以定義,要對(duì)合法和非合法的輸入值的響應(yīng)做出規(guī)定; 3) 要符合SRS要求。如果個(gè)別章節(jié)不適用,則在SRS中要保留章節(jié)號(hào); 4) 填寫SRS中的全部插圖、表、圖示標(biāo)記和參照,并且定義全部術(shù)語(yǔ)和度量單位。 4.3.2.1 關(guān)于使用“待定”一詞的規(guī)定 任何一個(gè)使用“待定”的SRS都是不完全的。 1) 若萬(wàn)一遇到使用“待定”一詞時(shí),作如下處理:

19、Ø 對(duì)產(chǎn)生“待定”一詞的條件進(jìn)行描述,使得問(wèn)題能被解決;Ø 描述必須干什么事,以刪除這個(gè)“待定”;2) 包含有“待定”一詞的任何SRS的項(xiàng)目文件應(yīng)該: Ø 標(biāo)識(shí)與此特定文件有關(guān)的版本號(hào)或敘述其專門的發(fā)布號(hào); Ø 拒絕任何仍標(biāo)識(shí)為“待定”一詞的SRS章節(jié)的許諾。 4.3.3 可驗(yàn)證性 當(dāng)且僅當(dāng)SRS中描述的每一個(gè)需求都是可以驗(yàn)證的,該SRS才是可以驗(yàn)證的;當(dāng)且僅當(dāng)在某一性能價(jià)格比可取的有限處理過(guò)程,人或機(jī)器能通過(guò)該過(guò)程檢查軟件產(chǎn)品能否滿足需求時(shí),才稱這個(gè)需求是可以驗(yàn)證的。 4.3.4 一致性 當(dāng)且僅當(dāng)SRS中各個(gè)需求的描述是不矛盾時(shí)SRS才是一致的。 4.

20、3.5 可修改性 如果一個(gè)SRS的結(jié)構(gòu)和風(fēng)格在需求有必要改變時(shí)是易于實(shí)現(xiàn)的、完整性的、一致的,那么這個(gè)SRS就是可以修改的??尚薷男砸骃RS具備以下條件: 1) 具有一個(gè)有條不紊的易于使用的內(nèi)容組織,具有目錄表,索引和明確的交叉引用表; 2) 沒(méi)有冗余。即同一需求不能在SRS中出現(xiàn)多次。 Ø 冗余本身不是錯(cuò)誤,但是容易發(fā)生錯(cuò)誤。冗余可增加SRS的可讀性,但是在一個(gè)冗余文件被更新時(shí)容易出現(xiàn)問(wèn)題。例如:假設(shè)一個(gè)明確的需求在兩個(gè)地方詳細(xì)列出,后來(lái)發(fā)現(xiàn)這個(gè)需求需要改變,若只修改一個(gè)地方,于是SRS就變得不一致了。 Ø 不管冗余是否必須,SRS一定要包含一個(gè)詳細(xì)的交叉引用表,以便S

21、RS具備可修改性。 4.3.6 可追蹤性 如果每一個(gè)需求的源流是清晰的,在進(jìn)一步產(chǎn)生和改變文件編制時(shí),可以方便地引證每一個(gè)需求,則該SRS就是可追蹤的。建議采用如下兩種類型的追蹤: 1) 向后追蹤(即向已開發(fā)過(guò)的前一階段追蹤)。根據(jù)先前文件或本文件前面的每一個(gè)需求進(jìn)行追蹤。 2) 向前追蹤(即是向由SRS派生的所有文件追蹤)。根據(jù)SRS中具有唯一的名字和參照號(hào)的每一個(gè)需求進(jìn)行追蹤。 當(dāng)SRS中的一個(gè)需求表達(dá)另一個(gè)需求的一種指派或者是派生的,向前、向后的追蹤都要提供。例如: 1) 從總的用戶響應(yīng)時(shí)間需求中分配給數(shù)據(jù)庫(kù)操作響應(yīng)時(shí)間; 2) 識(shí)別帶有一定功能和用戶接口的需求的報(bào)告格式; 3) 支持法

22、律或行政上需要的某個(gè)軟件產(chǎn)品(例如,計(jì)算稅收)。在這種情況下,要指出軟件所支持的確切的法律或行政文件。 當(dāng)軟件產(chǎn)品進(jìn)入運(yùn)行和維護(hù)階段時(shí),SRS的向前可追蹤性顯得特別重要。當(dāng)編碼和設(shè)計(jì)文件作修改時(shí),重要的是要查清這些修改所影響的全部需求。 4.3.7 運(yùn)行和維護(hù)階段的可使用性 SRS必須滿足運(yùn)行和維護(hù)階段的需要,包括軟件最終替換。 1) 維護(hù)常常是由與原來(lái)開發(fā)無(wú)聯(lián)系的人來(lái)進(jìn)行的。局部的改變(修正)可以借助于好的代碼注釋來(lái)實(shí)現(xiàn)。對(duì)于較大范圍的改變。設(shè)計(jì)和需求文件是必不可少的,這里隱含了兩個(gè)作用: Ø 如4.3.5 條指出,SRS必須是可修改的; Ø SRS中必須包括一個(gè)記錄,它

23、記錄那些應(yīng)用于各個(gè)成分的所有具體條文。例如:它們的危急性(如故障可能危及完全或?qū)е麓罅控?cái)政方面和社會(huì)方面的損失);它們僅與暫時(shí)的需要相關(guān)(如支持一種可立即恢復(fù)原狀的顯示);它們的來(lái)源(如某功能是由已存在的軟件產(chǎn)品的全部拷貝復(fù)制而成)。 2) 要求在SRS中清楚地寫明功能的來(lái)源和目的,因?yàn)閷?duì)功能的來(lái)源和引入該功能的目的不清楚的話,通常不可能很好地完成軟件的維護(hù)。 4.4 SRS的編制者 軟件開發(fā)的過(guò)程是由開發(fā)者和客戶雙方同意開發(fā)什么樣的軟件協(xié)議開始的。這種協(xié)議要使用SRS的形式,應(yīng)該由雙方聯(lián)合起草。這是因?yàn)椋?1) 客戶通常對(duì)軟件設(shè)計(jì)和開發(fā)過(guò)程了解較少,而不能寫出可用的SRS; 2) 開發(fā)者通常

24、對(duì)于客戶的問(wèn)題和意圖了解較少,從而不可能寫出一個(gè)令人滿意的系統(tǒng)需求。 4.5 SRS的改進(jìn) 軟件產(chǎn)品的開發(fā)過(guò)程中,在項(xiàng)目的開始階段不可能詳細(xì)說(shuō)明某些細(xì)節(jié),在開發(fā)過(guò)程中可能發(fā)現(xiàn)SRS的缺陷、缺點(diǎn)和錯(cuò)誤之類的問(wèn)題,所以可能要對(duì)SRS進(jìn)行改進(jìn)。 在SRS的改進(jìn)中,應(yīng)注意如下事項(xiàng): 1) 盡管可以預(yù)見(jiàn)校正版本的開發(fā)以后不可避免,而對(duì)需求還必須盡可能完全、清楚地描述。 2) 一旦最初識(shí)別出項(xiàng)目的變化,應(yīng)引入一個(gè)正式的改變規(guī)程來(lái)標(biāo)識(shí)、控制、追蹤和報(bào)告項(xiàng)目的改變。批準(zhǔn)了的需求改變,用如下的方法編入SRS之中: Ø 提供各種改變后的正確的、完全的審查記錄; Ø 允許對(duì)SRS當(dāng)前的和被替代部

25、分的審查。 4.6 SRS的編制工具 編制SRS最顯而易見(jiàn)的方法是用自然語(yǔ)言來(lái)描述。盡管自然語(yǔ)言是豐富多彩的,但不易精確,用形式化的方法較好。 4.6.1 形式化說(shuō)明方法 在SRS中是否使用形式化方法要依據(jù)下列因素: 1) 程序規(guī)模和復(fù)雜性; 2) 客戶合同中是否要求使用; 3) SRS是否是一個(gè)合同工具或僅僅是一個(gè)內(nèi)部文件; 4) SRS文件是否成為設(shè)計(jì)文件的根據(jù); 5) 具有支持這種方法的計(jì)算機(jī)設(shè)備。 4.6.2 生產(chǎn)工具 軟件產(chǎn)品生產(chǎn)中有多種生產(chǎn)工具。比如,計(jì)算機(jī)的字處理器就是非常有用的生產(chǎn)輔助工具。一個(gè)SRS通常有若干作者??赡芙?jīng)歷若干版本,并且要進(jìn)行多次重新組織內(nèi)容。故生產(chǎn)工具是必要

26、的。 4.6.3 表達(dá)工具 在SRS中有許多詞匯,特別是許多名詞和動(dòng)詞,專門涉及到系統(tǒng)的實(shí)體和許多活動(dòng),所以表達(dá)SRS需要若干工具。比如: 1) 可以驗(yàn)證實(shí)體或活動(dòng),無(wú)論在SRS中什么地方都是同一名字。2) 可以標(biāo)識(shí)一個(gè)特殊的實(shí)體或動(dòng)作在規(guī)格說(shuō)明中的描述位置。 此外,可以使用若干種形式化方法,以便允許自動(dòng)處理SRS內(nèi)容,只要作某些限制就可以做到:用一些表格或圖示法來(lái)顯示需求。 用詳細(xì)分層體系自動(dòng)檢查SRS的需求,這里每一個(gè)分層自身是完全的,但是也可以擴(kuò)展為下一層,或是上一層的一個(gè)組成成分。 自動(dòng)檢查SRS具有在4.3條描述的部分或全部特點(diǎn)。5 軟件需求 SRS中每一個(gè)軟件需求是要求開發(fā)軟件產(chǎn)品

27、的某些基本功能和性能的一個(gè)陳述。 5.1 表達(dá)軟件需求的方法 軟件需求可以用若干種方法來(lái)表達(dá): 1)通過(guò)輸入、輸出說(shuō)明; 2)使用代表性的例子; 3)用規(guī)范化的模型。 5.1.1 輸入、輸出說(shuō)明 用輸入輸出序列來(lái)描述一個(gè)軟件產(chǎn)品所要求的特性是很有效的。 5.1.1.1 途徑 根據(jù)被描述的軟件的性質(zhì),至少有三種不同的途徑: 1) 有些軟件產(chǎn)品(如報(bào)表系統(tǒng))要求著重說(shuō)明輸出。一般情況下,致力于輸出的系統(tǒng)主要是在數(shù)據(jù)文卷上操作。用戶的輸入通常是致力于提供控制信息和啟動(dòng)數(shù)據(jù)文卷的處理; 2) 有些軟件產(chǎn)品需要著重說(shuō)明輸入、輸出特性。關(guān)注輸入、輸出的系統(tǒng)主要是在當(dāng)前的輸入上操作,要求生成與輸入相匹配的輸

28、出(類似于數(shù)據(jù)轉(zhuǎn)換例行程序或一個(gè)數(shù)學(xué)函數(shù)包); 3) 還有一些系統(tǒng)(如過(guò)程控制系統(tǒng))要求記憶它們的狀態(tài)??梢愿鶕?jù)本次輸入和上一次輸入進(jìn)行應(yīng)答。也就是說(shuō),它的行為如同一個(gè)有限狀態(tài)機(jī)。在此種情況下,既要關(guān)注輸入/輸出對(duì),又要關(guān)注這些輸入/輸出對(duì)的次序。 5.1.1.2 困難 多數(shù)軟件產(chǎn)品可能接收無(wú)限的序列作為輸入,于是,為了通過(guò)輸入輸出序列完整地說(shuō)明產(chǎn)品的特性,就要求SRS包括一個(gè)無(wú)限長(zhǎng)的輸入和所需的輸出充列。然而,用這樣的途徑不可能完整地描述軟件所要求的一切特性。 5.1.2 典型例子 一種選擇是用典型例子來(lái)說(shuō)明要求的特性。例如,假設(shè)一個(gè)系統(tǒng)中當(dāng)接收“0”時(shí)用“1”來(lái)回答。顯然,要列出全部輸入和

29、輸出序列是不可能的。然而,用典型的序列可以十分清楚地理解系統(tǒng)的特性。下面是一組四種對(duì)話的典型的例子,用它描述系統(tǒng)特性。 0101 1 01 這些對(duì)話僅提供了要求的輸入和輸出之間的關(guān)系,但是不能完全描述系統(tǒng)的特性。 5.1.3 模型 另一種表達(dá)需求的方法是模型的方式,這是表達(dá)復(fù)雜需求的精確和有效方法。 至少可以提出三種可供使用的通用模型:數(shù)學(xué)型、功能型、計(jì)時(shí)型。應(yīng)注意區(qū)別各種模型的應(yīng)用場(chǎng)合,參考5.1.3.5。 5.1.3.1 數(shù)學(xué)模型 數(shù)學(xué)模型是使用數(shù)學(xué)關(guān)系描述軟件特性的模型。數(shù)學(xué)模型對(duì)某些特殊應(yīng)用領(lǐng)域是特別有用的。例如,導(dǎo)航、線性規(guī)劃、計(jì)量經(jīng)濟(jì)、信號(hào)處理和氣象分析等。 用數(shù)學(xué)模型能夠?qū)?.1

30、.2中所討論的典型例子描述如下: (01)*。 這里,“*”號(hào)表示括號(hào)內(nèi)的字符串可以重復(fù)一次或多次。 5.1.3.2 功能模型 功能模型是提供從略語(yǔ)以輸出映象的模型。象有限狀態(tài)機(jī)或Petri網(wǎng),這些功能模型可以有助于標(biāo)識(shí)和定義軟件的各種特點(diǎn),或者可以表示系統(tǒng)所要進(jìn)行的操作。 對(duì)前面用數(shù)學(xué)模型描述的例子??捎脠D1所示的有限狀態(tài)機(jī)形式的功能模型來(lái)描述。圖中進(jìn)入的箭頭表示啟動(dòng)狀態(tài)。雙線的方框表示接收狀態(tài)。在各線記號(hào)x/y的含義是:x代表接受的輸入,而y是產(chǎn)生的輸出。 5.1.3.3 計(jì)時(shí)模型 計(jì)時(shí)模型是一種增加了時(shí)間限制的模型。這種模型對(duì)于表達(dá)軟件特性的形式和細(xì)節(jié)特別有用。尤其是實(shí)時(shí)系統(tǒng)或考慮人為因

31、素的系統(tǒng)。 計(jì)時(shí)模型可以把下列限制加到圖1的模型中去: 1)激活因素0將在進(jìn)入S1狀態(tài)30S之內(nèi)出現(xiàn); 2)響應(yīng)1將在進(jìn)入S2狀態(tài)2S之內(nèi)出現(xiàn)。 5.1.3.4 其他模型 除了上面提及的模型外。對(duì)一些特殊的應(yīng)用還有一些特別有用的模型。例如,編譯程序的說(shuō)明可以使用屬性文法,工資單系統(tǒng)可以使用表格。要注意的是,對(duì)SRS使用形式需求語(yǔ)言,通常含有使用特殊模型的意思。 5.1.3.5 警告 無(wú)論使用哪一類型的模型,都要在SRS中或在SRS涉及到的一個(gè)文件中對(duì)它嚴(yán)格定義。這個(gè)定義應(yīng)該規(guī)定: 1)模型中的參數(shù)所要求的范圍; 2)使用時(shí)的限定值; 3)結(jié)果的精確度; 4)負(fù)載的能力; 5)要求的執(zhí)行時(shí)間;

32、6)缺省或失敗時(shí)的響應(yīng)。 必須注意,在需求的定義域內(nèi)要保持一個(gè)模型定義。每當(dāng)一個(gè)SRS使用一個(gè)模型時(shí): 1)它意味著此模型提供一個(gè)十分有效和精確的方法說(shuō)明需求; 2)并不意味著軟件產(chǎn)品的實(shí)現(xiàn)必須基于這個(gè)模型。 一個(gè)模型用于解釋文件所寫的需求是有效的,但是對(duì)于實(shí)際軟件的實(shí)現(xiàn)可能并不是最適宜的。 5.2 軟件需求的注釋 有關(guān)軟件產(chǎn)品的所有需求,并不是同等重要的。某些需求可能是基本的,例如是對(duì)于生命攸關(guān)的應(yīng)用。而另一些可能并不那么重要。 SRS中每一個(gè)需求必須進(jìn)行注釋,以便區(qū)別其重要的程度。 有這種方法注釋需求,可以: 1) 幫助客戶對(duì)每個(gè)需求給予更周密的考慮,通??梢栽谛枨笾谐吻咫[藏的假設(shè); 2)

33、 幫助開發(fā)者做出正確的設(shè)計(jì)決定,并對(duì)軟件產(chǎn)品不同部分作出相應(yīng)的努力。 5.2.1 穩(wěn)定性 注釋需求的一種方法是使用穩(wěn)定性量綱。當(dāng)一個(gè)需求在軟件預(yù)期的生存期間內(nèi)描述不改變的話,可以認(rèn)為該需求是穩(wěn)定的,否則可以認(rèn)為是易變的。 5.2.2 必要性等級(jí) 注釋的另一種方法是把需求分成必須保證級(jí)、期望級(jí)和任選級(jí)。 5) 必須保證是指軟件必須和這些需求相一致,否則該軟件不可能被接受; 6) 期望是指這些需求將提高軟件產(chǎn)品的功能,但如果缺省的話也是可接受; 7) 任選是給開發(fā)者一個(gè)機(jī)會(huì),可以提供某些超出SRS規(guī)定的目標(biāo)。 5.2.3 注意事項(xiàng) 在注釋需求之前,必須徹底理解這種注釋的實(shí)質(zhì)性含義。 5.3 在表達(dá)

34、需求時(shí)遇到的共同弊病 SRS的基本點(diǎn)是它必須說(shuō)明由軟件獲得的結(jié)果,而不是獲得這些結(jié)果的手段。編寫需求的人必須描述的基本問(wèn)題是: 1) 功能所設(shè)計(jì)的軟件要做什么;2) 性能是指軟件功能在執(zhí)行過(guò)程中的速度、可使用性、響應(yīng)時(shí)間、各種軟件功能的恢復(fù)時(shí)間、吞吐能力、精度、頻率等等; 3) 強(qiáng)加于實(shí)現(xiàn)的設(shè)計(jì)限制在效果、實(shí)現(xiàn)的語(yǔ)言、數(shù)據(jù)庫(kù)完整性、資源限制、操作環(huán)境等等方面所要求的標(biāo)準(zhǔn); 4) 屬性可移植性、正確性、可維護(hù)性及安全性等方面的考慮因素; 5) 外部接口與人、硬件、其他軟件和其他硬件的相互關(guān)系。 編寫需求的人應(yīng)當(dāng)避免把設(shè)計(jì)或項(xiàng)目需求寫入SRS之中,應(yīng)當(dāng)對(duì)說(shuō)明需求設(shè)計(jì)約束與規(guī)劃設(shè)計(jì)兩者有清晰的區(qū)別。

35、 5.3.1 在SRS中嵌入了設(shè)計(jì) 在SRS中嵌入設(shè)計(jì)說(shuō)明,會(huì)過(guò)多地約束軟件設(shè)計(jì),并且人為地把具有潛在危險(xiǎn)的需求放入SRS中。 1) SRS必須描述在干什么數(shù)據(jù)上、為誰(shuí)完成什么功能、在什么地方、產(chǎn)生什么結(jié)果。SRS應(yīng)把注意力集中在要完成的服務(wù)目標(biāo)上。通常不指定如下的設(shè)計(jì)項(xiàng)目: Ø 把軟件劃分成若干模塊; Ø 給每一個(gè)模塊分配功能; Ø 描述模塊間的信息流程或者控制流程; Ø 選擇數(shù)據(jù)結(jié)構(gòu)。 2) 把設(shè)計(jì)完全同SRS隔離開來(lái)始終是不現(xiàn)實(shí)的。安全和保密方面的周密考慮可能增加一些直接反映設(shè)計(jì)約束的需求。例如: Ø 在一些分散的模塊中保持某些功能; &

36、#216; 允許在程序的某些區(qū)域之間進(jìn)行有限的通訊; Ø 計(jì)算臨界值的檢查和。 3) 通常應(yīng)考慮到,若要為軟件選擇高層次的設(shè)計(jì),就可能需要大量的資源(可能占整個(gè)產(chǎn)品開發(fā)成本的10%-20%以上)。有兩種選擇: Ø 不顧本指南的警告,在SRS中描述了設(shè)計(jì)。這意味著,或者將一個(gè)潛在不適當(dāng)?shù)脑O(shè)計(jì)作為一個(gè)需求進(jìn)行描述(因?yàn)?,若要得到好的設(shè)計(jì),所花費(fèi)的時(shí)間是不夠的),或者在需求階段花費(fèi)了過(guò)多的時(shí)間(因?yàn)樵赟RS完成之前整個(gè)設(shè)計(jì)分析都要完成); Ø 采用本指南中5.1.3條中的建議,用模型設(shè)計(jì)描述需求,這種模型設(shè)計(jì)只用于輔助描述需求,而不使之成為實(shí)際的設(shè)計(jì)。 5.3.2 在S

37、RS中嵌入了一些項(xiàng)目要求 SRS應(yīng)當(dāng)是描寫一個(gè)軟件產(chǎn)品,而不是描述生產(chǎn)軟件產(chǎn)品的過(guò)程。 項(xiàng)目要求表達(dá)客戶和開發(fā)者之間對(duì)于軟件生產(chǎn)方面合同性事宜的理解(因此不應(yīng)當(dāng)包括在SRS中)例如: 1) 成本; 2) 交貨進(jìn)度; 3) 報(bào)表處理; 4) 軟件開發(fā)方法; 5) 質(zhì)量保證; 6) 確認(rèn)和驗(yàn)證的標(biāo)準(zhǔn); 7) 驗(yàn)收過(guò)程。 項(xiàng)目需求在另外文件中描述。在SRS中提供的只是關(guān)于軟件產(chǎn)品本身的需求。6 SRS大綱本章著重討論SRS的每一個(gè)基本部分,可以作為一個(gè)SRS的大綱。表1給出該大綱目錄,表2至表5給出大綱中第3章的具體需求內(nèi)容。各開發(fā)者和客戶應(yīng)當(dāng)根據(jù)所描述的實(shí)際情況,按本指南有關(guān)規(guī)定編寫自己的SRS。

38、 1 前言 1.1 目的 1.2 范圍 1.3 定義、縮寫詞、略語(yǔ) 1.4 參考資料 2 項(xiàng)目概述 2.1 產(chǎn)品描述 2.2 產(chǎn)品功能 2.3 用戶特點(diǎn) 2.4 一般約束 2.5 假設(shè)和依據(jù) 3 具體需求 (參閱本指南6.3.2 條中具體需求的組織形式) 附錄 索引 6.1 前言(SRS第1章) 本章提供整個(gè)SRS綜述。 6.1.1 目的(SRS的1.1條) 在這一條包括下列內(nèi)容: 1)描述實(shí)際SRS的目的; 2)說(shuō)明SRS所預(yù)期的讀者。 6.1.2 范圍(SRS的1.2條) 1) 通常應(yīng)考慮到,若要為軟件選擇高層次的設(shè)計(jì),就可能需要大量的資源(可能占整個(gè)產(chǎn)品開發(fā)成本的10%-20%以上)。有

39、兩種選擇: 2) 用一個(gè)名字標(biāo)識(shí)被生產(chǎn)的軟件產(chǎn)品。比如:×××數(shù)據(jù)庫(kù)系統(tǒng),報(bào)表生成程序等等; 3) 說(shuō)明軟件產(chǎn)品將干什么,如果需要的話,還要說(shuō)明軟件產(chǎn)品不干什么; 4) 描述所說(shuō)明的軟件的應(yīng)用。應(yīng)當(dāng): Ø 盡可能精確地描述所有相關(guān)的利閃、目的、以及最終目標(biāo)。 Ø 如果有一個(gè)較高層次的說(shuō)明存在,則應(yīng)該使其和高層次說(shuō)明中的類似的陳述相一致(例如,系統(tǒng)的需求規(guī)格說(shuō)明)。 6.1.3 定義、縮寫詞、略語(yǔ)(SRS的1.3條) 本條中必須提供全部需求的術(shù)語(yǔ)、縮寫詞及略語(yǔ)的定義,以便對(duì)SRS進(jìn)行適當(dāng)?shù)慕忉?。這些信息可以由SRS的附錄提供。也可以參考其他的文件

40、。 6.1.4 參考資料(SRS的1.4條) 本條應(yīng)包括: 1) 在SRS中各處參照的文件的全部清單,如經(jīng)核準(zhǔn)的計(jì)劃任務(wù)書,上級(jí)機(jī)關(guān)批文、合同等; 2) 列出其他參考資料,如屬本項(xiàng)目的其他已發(fā)表的文件和主要文獻(xiàn)等。每一個(gè)文件、文獻(xiàn)要有標(biāo)題,索引號(hào)或文件號(hào),發(fā)布或發(fā)表日期以及出版單位; 3) 詳細(xì)說(shuō)明可以得到該參考文件的來(lái)源。這個(gè)信息可以通過(guò)引用附錄或其他文件提供。 6.2 項(xiàng)目概述(SRS第2章) 本章應(yīng)描述影響產(chǎn)品和其需求的一般因素,本章不說(shuō)明具體的需求,而僅使需求更易于理解。6.2.1 產(chǎn)品描述(SRS的2.1條) 這一條是把一個(gè)產(chǎn)品用其他有關(guān)的產(chǎn)品或項(xiàng)目來(lái)描述。 1) 如果這個(gè)產(chǎn)品是獨(dú)立

41、的,而且全部?jī)?nèi)容自含,應(yīng)在此說(shuō)明; 2) 如果SRS定義的產(chǎn)品是一個(gè)較大的系統(tǒng)或項(xiàng)目中的一個(gè)組成部分,那么本條應(yīng)包括如下內(nèi)容: Ø 要概述這個(gè)較大的系統(tǒng)或項(xiàng)目的每個(gè)組成部分的功能,并說(shuō)明其接口; Ø 指出該軟件產(chǎn)品主要的外部接口。在這里,不要求對(duì)接口詳細(xì)地描述,詳細(xì)描述放在SRS其他章條中; Ø 描述所使用的計(jì)算機(jī)硬件、外圍設(shè)備。這里僅僅是一個(gè)綜述性描述。 在本條的描述中,用一個(gè)方框圖來(lái)表達(dá)一個(gè)較大的系統(tǒng)或項(xiàng)目的主要組成部分、相互聯(lián)系和外部接口是非常有幫助的。 本條既不用來(lái)強(qiáng)迫進(jìn)行設(shè)計(jì)方案的描述,也不是描述在解決問(wèn)題時(shí)的設(shè)計(jì)約束。本條應(yīng)對(duì)在以后具體需求一章中說(shuō)明的

42、設(shè)計(jì)約束提供理由。 6.2.2 產(chǎn)品功能(SRS的2.2條) 本條是為將要完成的軟件功能提供一個(gè)摘要。例如,對(duì)于一個(gè)記帳程序來(lái)說(shuō),SRS可以用這部分來(lái)描述:客戶帳目維護(hù)、客戶財(cái)務(wù)報(bào)表和發(fā)票制作,而不必把功能所要求的大量的細(xì)節(jié)描寫出來(lái)。 有時(shí),如果存在較高層次的規(guī)格說(shuō)明時(shí),則功能摘要可直接從中取得,這個(gè)較高層次的規(guī)格說(shuō)明為軟件產(chǎn)品分配了特殊的功能,為了清晰起見(jiàn),請(qǐng)注意: 1) 編制功能的一種方法是制作功能表,以便客戶或者第一次讀這個(gè)文件的人都可以理解;2) 用方框圖來(lái)表達(dá)不同的功能和它們的關(guān)系也是有幫助的。但要牢記,這樣的圖不是產(chǎn)品設(shè)計(jì)時(shí)所需求的,而只是一種有效的解釋性的工具。 這一條不用作陳述

43、具體需求,只是對(duì)后來(lái)SRS中具體需求一章中為什么要描述的某些需求提供理由。 6.2.3 用戶特點(diǎn)(SRS的2.3條) 本條要描述影響具體需求的產(chǎn)品的最終用戶的一般特點(diǎn)。 許多人在軟件生存周期的操作和維護(hù)階段與系統(tǒng)相關(guān)。而這些人中有用戶、操作員、維護(hù)人員和系統(tǒng)工作人員。這些人的某些特點(diǎn),象教育水平、經(jīng)驗(yàn)、技術(shù)、專長(zhǎng)等,都是施加于系統(tǒng)操作環(huán)境的重要約束。 如果系統(tǒng)的大多數(shù)用戶是一些臨時(shí)用戶,那么就要求系統(tǒng)包含如何完成基本功能的提示,而不是假設(shè)用戶已經(jīng)從過(guò)去的會(huì)議或從閱讀用戶指南中了解到這些細(xì)節(jié)。 這一條的內(nèi)容不能用來(lái)陳述具體需求或強(qiáng)加若干特殊的設(shè)計(jì)約束,本條應(yīng)對(duì)在SRS的具體需求一章之中的某些具體

44、需求或設(shè)計(jì)約束的描述提供理由。 6.2.4 一般約束(SRS的2.4條) 本條對(duì)設(shè)計(jì)系統(tǒng)陽(yáng)限制開發(fā)者選擇的其他一些項(xiàng)作一般性描述。而這些項(xiàng)將限定開發(fā)者在設(shè)計(jì)系統(tǒng)時(shí)的任選項(xiàng)。這些包括: 1) 管理方針;2) 硬件的限制; 3) 與其他應(yīng)用間的接口; 4) 并行操作; 5) 審查功能; 6) 控制功能; 7) 所需的高級(jí)語(yǔ)言; 8) 通信協(xié)議; 9) 應(yīng)用的臨界點(diǎn); 10)安全和保密方面的考慮。 本條不陳述具體需求或具體設(shè)計(jì)約束:而對(duì)SRS的具體需求一章中為什么要確定某些具體需求和設(shè)計(jì)約束提供理由。 6.2.5 假設(shè)和依據(jù)(SRS的2.5條) 本條列出影響SRS中陳述的需求的每一個(gè)因素。這些因素不

45、是軟件的設(shè)計(jì)約束,但是它們的改變可能影響到SRS中的需求。例如:假定一個(gè)特定的操作系統(tǒng)是在被軟件產(chǎn)品指定的硬件上使用的,然而,事實(shí)上這個(gè)操作系統(tǒng)是不可能使用的,于是,SRS就要進(jìn)行相應(yīng)的改變。 6.3 具體需求(SRS的第3章) 本章應(yīng)包括軟件開發(fā)者在建立設(shè)計(jì)時(shí)需要的全部細(xì)節(jié)。這是SRS中篇幅最大和最重要的部分。 1) 根據(jù)本指南第4章所規(guī)定的準(zhǔn)則(如可驗(yàn)證性、無(wú)歧義性等),對(duì)每一個(gè)需求細(xì)節(jié)作具體描述; 2) 在SRS的前言、項(xiàng)目概述、附錄部分的有關(guān)討論中,要提供對(duì)任何一個(gè)具體需求交叉引用的背景; 3) 具體需求分類的方法如下: Ø 功能需求; Ø 性能需求; Ø

46、 設(shè)計(jì)約束; Ø 屬性; Ø 外部接口需求。 本章中要注意的二點(diǎn)是: 1) 符合邏輯的和可讀的方式組織; 2) 詳細(xì)描述每個(gè)需求,使該需求應(yīng)達(dá)到目標(biāo)能夠用指定的方法進(jìn)行客觀的驗(yàn)證。 6.3.1 具體需求的內(nèi)容 6.3.1.1 功能需求 本條描述軟件產(chǎn)品的輸入怎樣變換成輸出。即軟件必須完成的基本動(dòng)作。 對(duì)于每一類功能或者有時(shí)對(duì)于每一個(gè)功能,需要具體描述其輸入、加工和輸出的需求。這通常由四個(gè)部頒組成: 1) 引言這部分描述的是功能要達(dá)到的目標(biāo)、所采用的方法和技術(shù),還應(yīng)清楚說(shuō)明功能意圖的由來(lái)和背景。 2) 輸入 這部分應(yīng)包括: Ø 詳細(xì)描述該功能的所有輸入數(shù)據(jù),如:輸入

47、源、數(shù)量、度量單位、時(shí)間設(shè)定、有效輸入范圍(包括精度和公差); Ø 操作員控制細(xì)節(jié)的需求。其中有名字、操作員活動(dòng)的描述、控制臺(tái)或操作員的位置。例如:當(dāng)打印檢查時(shí),要求操作員進(jìn)行格式調(diào)整; Ø 指明引用接口說(shuō)明或接口控制文件的參考資料。 3) 加工 定義輸入數(shù)據(jù)、中間參數(shù),以獲得預(yù)期輸出結(jié)果的全部操作。它包括如下的說(shuō)明: Ø 輸入數(shù)據(jù)的有效性檢查; Ø 操作的順序,包括事件的時(shí)間設(shè)定; Ø 異常情況的響應(yīng),例如,溢出、通信故障、錯(cuò)誤處理等; Ø 受操作影響的參數(shù); Ø 降級(jí)運(yùn)行的要求; Ø 用于把系統(tǒng)輸入變換成相應(yīng)輸

48、出的任何方法(方程式、數(shù)學(xué)算法、邏輯操作等); Ø 輸出數(shù)據(jù)的有效性檢查。 4) 輸出 這部分應(yīng)包括: Ø 詳細(xì)描述該功能所有輸出數(shù)據(jù),例如:輸出目的地、數(shù)量、度量單位、時(shí)間關(guān)系、有效輸出的范圍(包括精度和公差)、非法值的處理、出錯(cuò)信息; Ø 有關(guān)接口說(shuō)明或接口控制文件的參考資料。 此外,對(duì)著重于輸入輸出行為的系統(tǒng)來(lái)說(shuō),SRS應(yīng)指定所有有意義的輸入、輸出對(duì)及其序列。當(dāng)一個(gè)系統(tǒng)要求記憶它的狀態(tài)時(shí),需要這個(gè)序列,使得它可以根據(jù)本次輸入和以前的狀態(tài)作出響應(yīng)。也就是說(shuō),這種情況猶如有限狀態(tài)機(jī)。6.3.1.2 設(shè)計(jì)約束 設(shè)計(jì)約束受其他標(biāo)準(zhǔn)、硬件限制等方面的影響。 1) 其他

49、標(biāo)準(zhǔn)的約束:本項(xiàng)將指定由現(xiàn)有的標(biāo)準(zhǔn)或規(guī)則派生的要求。例如:報(bào)表格式、數(shù)據(jù)命名、財(cái)務(wù)處理、審計(jì)追蹤等等。 2) 硬件的限制:本項(xiàng)包括在各種硬件約束下運(yùn)行的軟件要求,例如,應(yīng)該包括:硬件配置的特點(diǎn)(接口數(shù),指令系統(tǒng)等)、內(nèi)存儲(chǔ)器和輔助存儲(chǔ)器的容量。 6.3.1.3 屬性 在軟件的需求之中有若干個(gè)屬性,下面指出其中的幾個(gè)(注意:對(duì)這些決不應(yīng)理解為是一個(gè)完整的清單)。 1) 可用性:可以指定一些因素,如檢查點(diǎn)、恢復(fù)和再啟動(dòng)等,以保證整個(gè)系統(tǒng)有一個(gè)確定的可用性級(jí)別。 2) 安全性:這里指的是保護(hù)軟件的要素,以防止各種非法的訪問(wèn)、使用,修改、破壞或者泄密。這個(gè)領(lǐng)域的具體需求必須包括: Ø 利用可

50、靠的密碼技術(shù); Ø 掌握特定的記錄或歷史數(shù)據(jù)集; Ø 給不同的模塊分配不同的功能; Ø 限定一個(gè)程序中某些區(qū)域的通信; Ø 計(jì)算臨界值的檢查和。 3) 可維護(hù)性:這里規(guī)定若干需求以確保軟件是可維護(hù)的。例如: Ø 軟件模塊所需要的特殊的耦合矩陣; Ø 對(duì)微型裝置指定特殊的數(shù)據(jù)/程序分割要求。 4) 可轉(zhuǎn)移/轉(zhuǎn)換性:這里規(guī)定把軟件從一種環(huán)境移植到另一種環(huán)境所要求的用戶程序,用戶接口兼容方面的約束等等。 5) 警告:指定所需屬性十分重要,它使得人們能用規(guī)定的方法去進(jìn)行客觀的驗(yàn)證。 6.3.1.4 外部接口要求 1) 用戶接口:提供用戶使用軟

51、件產(chǎn)品是地的接口需求。例如,如果系統(tǒng)的用戶通過(guò)顯示終端進(jìn)行操作,就必須指定如下要求: Ø 對(duì)屏幕格式的要求; Ø 報(bào)表或菜單的頁(yè)面打印格式和內(nèi)容; Ø 輸入輸出的相對(duì)時(shí)間; Ø 程序功能鍵的或用性。 2) 硬件接口:要指出軟件產(chǎn)品和系統(tǒng)硬部件之間每一個(gè)接口的邏輯特點(diǎn)。還可能包括如下事宜:支撐什么樣的設(shè)備,如何支撐這些設(shè)備,有何約定。 3) 軟件接口:在這里應(yīng)指定需使用的其他軟件產(chǎn)品(例如,數(shù)據(jù)管理系統(tǒng),操作系統(tǒng),或者數(shù)學(xué)軟件包),以及同其他應(yīng)用系統(tǒng)之間的接口。 對(duì)每一個(gè)所需的軟件產(chǎn)品,要提供名字、助記符、規(guī)格說(shuō)明號(hào)、版本號(hào)、來(lái)源等內(nèi)容。 對(duì)于每一個(gè)接口,

52、這部分應(yīng)說(shuō)明與軟件產(chǎn)品相關(guān)的接口軟件的目的,并根據(jù)信息的內(nèi)容和格式定義接口,這里不必詳細(xì)描述任何已有完整文件的接口,只要引用定義該接口的文件即可。 4) 通信接口:這里指定各種通信接口,例如,局部網(wǎng)絡(luò)的協(xié)議等等。 6.3.1.5 其他需求 根據(jù)軟件和用戶組織的特性等,某些需求放在下面各項(xiàng)中描述。 1) 數(shù)據(jù)庫(kù):本項(xiàng)對(duì)作為產(chǎn)品的一部分進(jìn)行開發(fā)的數(shù)據(jù)庫(kù)規(guī)定一些需求,它們可能包括:Ø 在6.3.1.1條中標(biāo)識(shí)的信息類別;Ø 用的頻率; Ø 存取能力; Ø 數(shù)據(jù)元素和文卷描述符; Ø 數(shù)據(jù)元素、記錄和文卷的關(guān)系; Ø 靜態(tài)和動(dòng)態(tài)的組織; &#

53、216; 數(shù)據(jù)保存要求。 注:如果使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)包,這個(gè)包應(yīng)在“軟件接口”中命名,并在那里詳細(xì)說(shuō)明其用法。2) 操作:這里說(shuō)明用戶要求的常規(guī)的和特殊的操作。 Ø 在用戶組織之中各種方式的操作。例如,用戶初始化操作; Ø 交互作用操作的同期和無(wú)人操作的周期; Ø 數(shù)據(jù)處理支持功能; Ø 后援和恢復(fù)操作。 注:這里的內(nèi)容有時(shí)是用戶接口的一部分。 3) 場(chǎng)合適應(yīng)性需求:這里包括: Ø 對(duì)給定場(chǎng)合、任務(wù)或操作方式的任何數(shù)據(jù)或初始化順序的需求進(jìn)行定義。例如,柵值,安全界限等等。 Ø 指出場(chǎng)合或相關(guān)任務(wù)的特點(diǎn),這里可以被修改以使軟件適合特殊

54、配制的要求。 6.3.2 具體要求的組織 本條通常是SRS所有部分中最大并且最復(fù)雜的部分。 1) 可以根據(jù)軟件實(shí)現(xiàn)功能的基本類型,將本條分成若干段。例如:考慮一個(gè)大的交互記帳系統(tǒng),在里層可以分為操作軟件(它支持近乎實(shí)時(shí)的事務(wù)處理)、支撐軟件(聯(lián)機(jī)功能、磁盤備份、裝入磁帶等等)以及診斷軟件(診斷硬件、通信等),外一層是應(yīng)收款帳以及應(yīng)付款帳等等; 2) 結(jié)構(gòu)細(xì)分的目的是提高SRS的可讀性,而不是進(jìn)行概要設(shè)計(jì)。 對(duì)于SRS中的第3章的具體需求部分的最好的組織方案取決于所說(shuō)明的軟件產(chǎn)品的應(yīng)用范圍和性質(zhì)。 文中最后部分提供了四種可能的組織方案。 1) 大綱1中首先說(shuō)明全部功能需求,然后說(shuō)明四種類型的接口

55、要求,最后是其他需求; 2) 大綱2中,把對(duì)應(yīng)每個(gè)特定功能的四種接口需求和該功能需求放在一起描述,然后說(shuō)明其他需求; 3) 大綱3中,與功能需求有關(guān)的全部?jī)?nèi)容放在一起首先說(shuō)明,然后是其他需求的描述。對(duì)每一種外部接口的需求重復(fù)上述過(guò)程; 4) 大綱4中,接口需求和其余的需求作為每一個(gè)功能需求的附屬部分來(lái)說(shuō)明。 SRS的具體需求的組織形式必須選擇可讀性最好的方法來(lái)描述。 6.4 支持信息 支持信息是指目錄表,附錄和索引。以便使SRS易于使用。 1)目錄表和索引很重要,而且應(yīng)按照可以接受的好的文件規(guī)則來(lái)編寫。 2)對(duì)一個(gè)實(shí)際的需求規(guī)格說(shuō)明來(lái)說(shuō),若有必要應(yīng)該編寫附錄。附錄中可能包括: Ø 輸

56、入輸出格式樣本,成本分析研究的描述或用戶調(diào)查結(jié)果; Ø 有助于理解SRS的背景信息; Ø 軟件所解決問(wèn)題的描述; Ø 用戶歷史、背景、經(jīng)歷和操作特點(diǎn); Ø 交叉訪問(wèn)表。按先后次序進(jìn)行編排,使一些不完全的軟件需求得以完善(參見(jiàn)4.3.2條和4.3.3條); Ø 特殊的裝配指令用于編碼和媒體,以滿足安全、輸出、初始裝入或其他要求。 3)6.4.3 當(dāng)包括附錄時(shí),SRS必須明確地說(shuō)明附錄是不是需求要考慮的部分。 SRS大綱13 具體需求 3.1 功能需求 3.1.1 功能需求1 3.1.1.1 引言 3.1.1.2 輸入 3.1.1.3 加工 3.1.1.4 輸出 3.1.2 功能需求2 3.1.n 功能需求n 3.2 外部

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論