




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機軟件需求說明編制指南1 引言1.1 目的和作用 本指南為軟件需求實踐提供了一個規(guī)范化的方法。本指南不提倡把軟件需求說明(Software Requirements Specifications,以下簡稱 SRS劃分成等級,避免把它定義成更小的需求子集。本指南適用對象:軟件客戶( Customers ),以便精確地描述他們想獲得什么樣的產(chǎn)品。 軟件開發(fā)者( Suppliers ),以便準確地理解客戶需要什么樣的產(chǎn)品。 對于任一要實現(xiàn)下列目標的單位和(或)個人:a. 要提出開發(fā)規(guī)范化的 SRS提綱;b. 定義自己需要的具體的格式和內(nèi)容;c. 產(chǎn)生附加的局部使用條款,如SRS質(zhì)量檢查清單或者
2、SRS作者手冊等。SRS將完成下列目標:a. 在軟件產(chǎn)品完成目標方面為客戶和開發(fā)者之間建立共同協(xié)議創(chuàng)立一個基礎(chǔ)。對要實 現(xiàn)的軟件功能做全面描述, 幫助客戶判斷所規(guī)定的軟件是否符合他們的要求, 或者怎樣修改 這種軟件才能適合他們的要求;b. 提高開發(fā)效率。編制 SRS的過程將使客戶在設(shè)計開始之前周密地思考全部需求,從而減少事后重新設(shè)計、重新編碼和重新測試的返工活動。在SRS中對各種需求仔細地進行復 查,還可以在開發(fā)早期發(fā)現(xiàn)若干遺漏、錯誤的理解和不一致性,以便及時加以糾正;c. 為成本計價和編制計劃進度提供基礎(chǔ)。SRS提供的對被開發(fā)軟件產(chǎn)品的描述,是計算機軟件產(chǎn)品成本核算的基礎(chǔ),并且可以為各方的要
3、價和付費提供依據(jù)。SRS對軟件的清晰描述,有助于估計所必須的資源,并用作編制進度的依據(jù);d. 為確認和驗證提供一個基準。任何組織將更有效地編制他們的確認和驗證計劃。作為開發(fā)合同的一部分,SRS還可以提供一個可以度量和遵循的基準(然而,反之則不成立,即任一有關(guān)軟件的合同都不能作為SRS因為這種文件幾乎不包括詳盡的需求說明,并且通常不完全的);e. 便于移植。有了 SRS就便于移值軟件產(chǎn)品,以適應新的用戶或新的機種??蛻粢惨?于移植其軟件到其他部門,而開發(fā)者同樣也易于把軟件移植到新的客戶;f. 作為不斷提高的基礎(chǔ)。由于 SRS所討論的是軟件產(chǎn)品,而不是開發(fā)這個產(chǎn)品的設(shè)計。 因此SRS是軟件產(chǎn)品繼續(xù)
4、提高的基礎(chǔ)。雖然SRS也可能要改變,但是原來的SRS還是軟件產(chǎn) 品改進的可靠基礎(chǔ)。1.2 范圍本指南適用于編寫軟件需求規(guī)格說明,它描述了一個SRS所必須的內(nèi)容和質(zhì)量,并且在第6章中提供了 SRS大綱。2 引用標準GB 8566 計算機軟件開發(fā)規(guī)范GB 8567 計算機軟件產(chǎn)品開發(fā)文件編制指南GB/T 11457 軟件工程術(shù)語3 定義GB/T 11457 所列術(shù)語和下列定義適用于本指南。合同( contract )是由客戶和開發(fā)者共同簽署的具有法律約束力的文件。 其中包括產(chǎn)品的技術(shù)、 組織、 成 本和進度計劃要求等內(nèi)容??蛻? customer ) 指個人或單位,他們?yōu)楫a(chǎn)品開發(fā)提供資金,通常(但
5、有時也不必)還提出各種需求。文 件中的客戶和開發(fā)者也可能是同一個組織的成員。語言( language ) 是具有語法和語義的通信工具,包括一組表達式、慣例和傳遞信息的有關(guān)規(guī)則。分割( partitioning ) 把一個整體分成若干部分。開發(fā)者( supplier ) 指為客戶生產(chǎn)某種軟件產(chǎn)品的個人或集團。 在本指南中, 客戶和開發(fā)者可能是同一個組 織的成員。用戶( user ) 指運行系統(tǒng)或者直接與系統(tǒng)發(fā)生交互作用的個人或集團。用戶和客戶通常不是同一些 人。4編寫SRS勺背景信息4.1 SRS 的基本要求SRS是對要完成一定功能、性能的軟件產(chǎn)品、程序或一組程序的說明。對SRS的描述有兩項基本
6、要求:a. 必須描述一定的功能、性能;b. 必須用確定的方法敘述這些功能、性能。4.2 SRS 的環(huán)境必須認識到SRS在整個軟件開發(fā)規(guī)范(見 GB8566)所規(guī)定的有關(guān)階段都起作用。正因 為如此,SRS的起草者必須特別注意不要超出這種作用的范圍。這意味著要滿足下列要求:a. SRS 必須正確地定義所有的軟件需求;b. 除了設(shè)計上的特殊限制之外,SRS中一般不描述任何設(shè)計、驗證或項目管理細節(jié)。4.3 SRS 的特點4.3.1 無歧義性當且僅當它對每一個需求只有一種解釋時,SRS者是無歧義的。a. 要求最終產(chǎn)品的每一個特性用某一術(shù)語描述;b. 若某一術(shù)語在某一特殊的行文中使用時具有多種歧義,那么對
7、該術(shù)語的每種含義作 出解釋并指出其適用場合。需求通常是用自然語言編寫的,使用自然語言的SRS起草者必須特別注意消除其需求的歧義性。提倡使用形式化需求說明語言。4.3.2 完整性如果一個SRS能滿足下列要求,則該 SRS就是完整的:a. 包括全部有意義的要求,無論是關(guān)系到功能的、性能的、設(shè)計約束的,還是關(guān)系到 屬性或外部接口方面的需求;b. 對所有可能出現(xiàn)的輸入數(shù)據(jù)的響應予以定義,要對合法和非合法的輸入值的響應做 出規(guī)定;c. 要符合SRS要求。如果個別章節(jié)不適用,則在SRS中要保留章節(jié)號;d. 填寫SRS中的全部插圖、表、圖示標記和參照,并且定義全部術(shù)語和度量單位。4.3.2.1 關(guān)于使用“待
8、定”一詞的規(guī)定任何一個使用“待定”的 SRS都是不完全的。a. 若萬一遇到使用“待定”一詞時,作如下處理:(1) 對產(chǎn)生“待定”一詞的條件進行描述,使得問題能被解決;( 2) 描述必須干什么事,以刪除這個“待定”;b. 包含有“待定”一詞的任何 SRS的項目文件應該:(1) 標識與此特定文件有關(guān)的版本號或敘述其專門的發(fā)布號;(2)拒絕任何仍標識為“待定” 一詞的SRS章節(jié)的許諾。4.3.3 可驗證性當且僅當SRS中描述的每一個需求都是可以驗證的,該SRS才是可以驗證的;當且僅當在某一性能價格比可取的有限處理過程, 人或機器能通過該過程檢查軟件產(chǎn)品能否滿足需求 時,才稱這個需求是可以驗證的。4.
9、3.4 一致性當且僅當SRS中各個需求的描述是不矛盾時 SRS才是一致的。4.3.5 可修改性如果一個SRS的結(jié)構(gòu)和風格在需求有必要改變時是易于實現(xiàn)的、完整性的、一致的,那么這個SRS就是可以修改的??尚薷男砸骃RS具備以下條件:a. 具有一個有條不紊的易于使用的內(nèi)容組織, 具有目錄表, 索引和明確的交叉引用表;b. 沒有冗余。即同一需求不能在 SRS中出現(xiàn)多次。(1) 冗余本身不是錯誤,但是容易發(fā)生錯誤。冗余可增加SRS的可讀性,但是在一個冗余文件被更新時容易出現(xiàn)問題。 例如: 假設(shè)一個明確的需求在兩個地方詳細列出, 后來發(fā) 現(xiàn)這個需求需要改變,若只修改一個地方,于是SRS就變得不一致了。
10、(2) 不管冗余是否必須,SRS 一定要包含一個詳細的交叉引用表,以便SRS具備可修改性。4.3.6 可追蹤性如果每一個需求的源流是清晰的, 在進一步產(chǎn)生和改變文件編制時, 可以方便地引證每 一個需求,則該 SRS就是可追蹤的。建議采用如下兩種類型的追蹤:a. 向后追蹤 (即向已開發(fā)過的前一階段追蹤) 。根據(jù)先前文件或本文件前面的每一個需 求進行追蹤。b. 向前追蹤(即是向由SRS派生的所有文件追蹤)。根據(jù)SRS中具有唯一的名字和參照 號的每一個需求進行追蹤。當SRS中的一個需求表達另一個需求的一種指派或者是派生的,向前、向后的追蹤都要提供。例如:( 1)從總的用戶響應時間需求中分配給數(shù)據(jù)庫操
11、作響應時間;( 2)識別帶有一定功能和用戶接口的需求的報告格式;( 3)支持法律或行政上需要的某個軟件產(chǎn)品(例如,計算稅收) 。在這種情況下,要指 出軟件所支持的確切的法律或行政文件。當軟件產(chǎn)品進入運行和維護階段時,SRS的向前可追蹤性顯得特別重要。當編碼和設(shè)計文件作修改時,重要的是要查清這些修改所影響的全部需求。4.3.7 運行和維護階段的可使用性SRS必須滿足運行和維護階段的需要,包括軟件最終替換。a. 維護常常是由與原來開發(fā)無聯(lián)系的人來進行的。局部的改變(修正)可以借助于好 的代碼注釋來實現(xiàn)。 對于較大范圍的改變。 設(shè)計和需求文件是必不可少的, 這里隱含了兩個 作用:(1)女口 435
12、條指出,SRS必須是可修改的;(2)SRS中必須包括一個記錄,它記錄那些應用于各個成分的所有具體條文。例如:它們的危急性(如故障可能危及完全或?qū)е麓罅控斦矫婧蜕鐣矫娴膿p失);它們僅與暫時的需要相關(guān)(如支持一種可立即恢復原狀的顯示);它們的來源(如某功能是由已存在的軟件產(chǎn)品的全部拷貝復制而成)。b. 要求在SRS中清楚地寫明功能的來源和目的,因為對功能的來源和引入該功能的目 的不清楚的話,通常不可能很好地完成軟件的維護。4.4 SRS 的編制者軟件開發(fā)的過程是由開發(fā)者和客戶雙方同意開發(fā)什么樣的軟件協(xié)議開始的。這種協(xié)議要使用SRS的形式,應該由雙方聯(lián)合起草。這是因為:a. 客戶通常對軟件設(shè)計和
13、開發(fā)過程了解較少,而不能寫出可用的SRS;b. 開發(fā)者通常對于客戶的問題和意圖了解較少,從而不可能寫出一個令人滿意的系統(tǒng) 需求。4.5 SRS 的改進軟件產(chǎn)品的開發(fā)過程中, 在項目的開始階段不可能詳細說明某些細節(jié), 在開發(fā)過程中可 能發(fā)現(xiàn)SRS的缺陷、缺點和錯誤之類的問題,所以可能要對SRS進行改進。在SRS的改進中,應注意如下事項:4.5.1 盡管可以預見校正版本的開發(fā)以后不可避免,而對需求還必須盡可能完全、清 楚 地描述。4.5.2 一旦最初識別出項目的變化,應引入一個正式的改變規(guī)程來標識、控制、追蹤和報告項目的改變。批準了的需求改變,用如下的方法編入SRS之中:a. 提供各種改變后的正確
14、的、完全的審查記錄;b. 允許對SRS當前的和被替代部分的審查。4.6 SRS 的編制工具編制SRS最顯而易見的方法是用自然語言來描述。盡管自然語言是豐富多彩的,但不易精確,用形式化的方法較好。4.6.1 形式化說明方法在SRS中是否使用形式化方法要依據(jù)下列因素:a. 程序規(guī)模和復雜性;b. 客戶合同中是否要求使用;c. SRS 是否是一個合同工具或僅僅是一個內(nèi)部文件;d. SRS 文件是否成為設(shè)計文件的根據(jù);e. 具有支持這種方法的計算機設(shè)備。4.6.2 生產(chǎn)工具軟件產(chǎn)品生產(chǎn)中有多種生產(chǎn)工具。 比如, 計算機的字處理器就是非常有用的生產(chǎn)輔助工具。一個SRS通常有若干作者。 可能經(jīng)歷若干版本,
15、并且要進行多次重新組織內(nèi)容。故生產(chǎn) 工具是必要的。4.6.3 表達工具在SRS中有許多詞匯,特別是許多名詞和動詞, 專門涉及到系統(tǒng)的實體和許多活動,所以表達SRS需要若干工具。比如:a. 可以驗證實體或活動,無論在SRS中什么地方都是同一名字。;b. 可以標識一個特殊的實體或動作在規(guī)格說明中的描述位置。此外,可以使用若干種形式化方法,以便允許自動處理 SRS內(nèi)容,只要作某些限制就可以做到;用一些表格或圖示法來顯示需求。用詳細分層體系自動檢查 SRS的需求,這里每一個分層自身是完全的, 但是也可以擴展 為下一層,或是上一層的一個組成成分。自動檢查SRS具有在4.3條描述的部分或全部特點。5 軟件
16、需求SRS中每一個軟件需求是要求開發(fā)軟件產(chǎn)品的某些基本功能和性能的一個陳述。5.1 表達軟件需求的方法 軟件需求可以用若干種方法來表達:a. 通過輸入、輸出說明;b. 使用代表性的例子;c. 用規(guī)范化的模型。5.1.1 輸入、輸出說明 用輸入輸出序列來描述一個軟件產(chǎn)品所要求的特性是很有效的。5.1.1.1 途徑 根據(jù)被描述的軟件的性質(zhì),至少有三種不同的途徑:a. 有些軟件產(chǎn)品(如報表系統(tǒng))要求著重說明輸出。一般情況下,致力于輸出的系統(tǒng) 主要是在數(shù)據(jù)文卷上操作。用戶的輸入通常是致力于提供控制信息和啟動數(shù)據(jù)文卷的處理;b. 有些軟件產(chǎn)品需要著重說明輸入、輸出特性。關(guān)注輸入、輸出的系統(tǒng)主要是在當前
17、的輸入上操作,要求生成與輸入相匹配的輸出(類似于數(shù)據(jù)轉(zhuǎn)換例行程序或一個數(shù)學函數(shù) 包);c. 還有一些系統(tǒng)(如過程控制系統(tǒng))要求記憶它們的狀態(tài)??梢愿鶕?jù)本次輸入和上一次輸入進行應答。也就是說,它的行為如同一個有限狀態(tài)機。在此種情況下,既要關(guān)注輸入/ 輸出對,又要關(guān)注這些輸入 / 輸出對的次序。5.1.1.2 困難多數(shù)軟件產(chǎn)品可能接收無限的序列作為輸入, 于是,為了通過輸入輸出序列完整地說明 產(chǎn)品的特性,就要求SRS包括一個無限長的輸入和所需的輸出充列。然而,用這樣的途徑不可能完整地描述軟件所要求的一切特性。5.1.2 典型例子 一種選擇是用典型例子來說明要求的特性。 例如, 假設(shè)一個系統(tǒng)中當接收
18、 “0”時用“1 來回答。顯然, 要列出全部輸入和輸出序列是不可能的。 然而,用典型的序列可以十分清楚 地理解系統(tǒng)的特性。下面是一組四種對話的典型的例子,用它描述系統(tǒng)特性。010101010101010101010101 這些對話僅提供了要求的輸入和輸出之間的關(guān)系,但是不能完全描述系統(tǒng)的特性。5.1.3 模型 另一種表達需求的方法是模型的方式,這是表達復雜需求的精確和有效方法。 至少可以提出三種可供使用的通用模型:數(shù)學型、功能型、計時型。 應注意區(qū)別各種模型的應用場合,參考 5.1.3.5 。5.1.3.1 數(shù)學模型 數(shù)學模型是使用數(shù)學關(guān)系描述軟件特性的模型。 數(shù)學模型對某些特殊應用領(lǐng)域是特別
19、有 用的。例如,導航、線性規(guī)劃、計量經(jīng)濟、信號處理和氣象分析等。用數(shù)學模型能夠?qū)?5.1.2 中所討論的典型例子描述如下:(01)*。這里,“ * ”號表示括號內(nèi)的字符串可以重復一次或多次。5.1.3.2 功能模型功能模型是提供從略語以輸出映象的模型。 象有限狀態(tài)機或 Petri 網(wǎng),這些功能模型可 以有助于標識和定義軟件的各種特點,或者可以表示系統(tǒng)所要進行的操作。對前面用數(shù)學模型描述的例子。 可用圖 1 所示的有限狀態(tài)機形式的功能模型來描述。 圖 中進入的箭頭表示啟動狀態(tài)。雙線的方框表示接收狀態(tài)。在各線記號 x/y 的含義是: x 代表 接受的輸入,而 y 是產(chǎn)生的輸出。5.1.3.3 計時
20、模型計時模型是一種增加了時間限制的模型。 這種模型對于表達軟件特性的形式和細節(jié)特別 有用。尤其是實時系統(tǒng)或考慮人為因素的系統(tǒng)。計時模型可以把下列限制加到圖 1 的模型中去:a. 激活因素0將在進入S1狀態(tài)30S之內(nèi)出現(xiàn);b. 響應1將在進入S2狀態(tài)2S之內(nèi)出現(xiàn)。5.1.3.4 其他模型隊了上面提及的模型外。 對一些特殊的應用還有一些特別有用的模型。例如, 編譯程序的說明可以使用屬性文法, 工資單系統(tǒng)可以使用表格。 要注意的是,對SRS使用形式需求語 言,通常含有使用特殊模型的意思。5.1.3.5 警告無論使用哪一類型的模型,都要:在SRS中或在SRS涉及到的一個文件中對它嚴格定義。這個定義應該
21、規(guī)定:a. 模型中的參數(shù)所要求的范圍;b. 使用時的限定值;c. 結(jié)果的精確度;d. 負載的能力;e. 要求的執(zhí)行時間;f. 缺省或失敗時的響應。必須注意,在需求的定義域內(nèi)要保持一個模型定義。每當一個SRS使用一個模型時:a. 它意味著此模型提供一個十分有效和精確的方法說明需求;b. 并不意味著軟件產(chǎn)品的實現(xiàn)必須基于這個模型。一個模型用于解釋文件所寫的需求是有效的, 但是對于實際軟件的實現(xiàn)可能并不是最適 宜的。5.2 軟件需求的注釋有關(guān)軟件產(chǎn)品的所有需求, 并不是同等重要的。 某些需求可能是基本的, 例如是對于生 命攸關(guān)的應用。而另一些可能并不那么重要。SRS中每一個需求必須進行注釋,以便區(qū)別
22、其重要的程度。有這種方法注釋需求,可以:a. 幫助客戶對每一個需求給予更周密的考慮,通常可以在需求中澄清隱藏的假設(shè);b. 幫助開發(fā)者做出正確的設(shè)計決定,并對軟件產(chǎn)品不同部分作出相應的努力。5.2.1 穩(wěn)定性注釋需求的一種方法是使用穩(wěn)定性量綱。 當一個需求在軟件預期的生存期間內(nèi)描述不改 變的話,可以認為該需求是穩(wěn)定的,否則可以認為是易變的。5.2.2 必要性等級注釋的另一種方法是把需求分成必須保證級、期望級和任選級。a. 必須保證是指軟件必須和這些需求相一致,否則該軟件不可能被接受;b. 期望是指這些需求將提高軟件產(chǎn)品的功能,但是如果缺省的話也是可接受的;c. 任選是給開發(fā)者一個機會,可以提供某
23、些超出SRS規(guī)定的目標。5.2.3 注意事項在注釋需求之前,必須徹底理解這種注釋的實質(zhì)性含義。5.3 在表達需求時遇到的共同弊病SRS的基本點是它必須說明由軟件獲得的結(jié)果,而不是獲得這些結(jié)果的手段。編寫需求的人必須描述的基本問題是:a. 功能所設(shè)計的軟件要做什么;b. 性能是指軟件功能在執(zhí)行過程中的速度、可使用性、響應時間、各種軟件功能 的恢復時間、吞吐能力、精度、頻率等等;c. 強加于實現(xiàn)的設(shè)計限制在效果、實現(xiàn)的語言、數(shù)據(jù)庫完整性、資源限制、操作 環(huán)境等等方面所要求的標準;d. 屬性可移植性、正確性、可維護性及安全性等方面的考慮因素;e. 外部接口與人、硬件、其他軟件和其他硬件的相互關(guān)系。編
24、寫需求的人應當避免把設(shè)計或項目需求寫入SRS之中,應當對說明需求設(shè)計約束與規(guī)劃設(shè)計兩者有清晰的區(qū)別。5.3.1 在SRS中嵌入了設(shè)計在SRS中嵌入設(shè)計說明,會過多地約束軟件設(shè)計,并且人為地把具有潛在危險的需求放 入SRS中。5.3.1.1 SRS必須描述在干什么數(shù)據(jù)上、為誰完成什么功能、在什么地方、產(chǎn)生什么結(jié) 果。SRS應把注意力集中在要完成的服務(wù)目標上。通常不指定如下的設(shè)計項目:a. 把軟件劃分成若干模塊;b. 給每一個模塊分配功能;c. 描述模塊間的信息流程或者控制流程;d. 選擇數(shù)據(jù)結(jié)構(gòu)。5.3.1.2 把設(shè)計完全同SRS隔離開來始終是不現(xiàn)實的。安全和保密方面的周密考慮可能 增加一些直接
25、反映設(shè)計約束的需求。例如:a. 在一些分散的模塊中保持某些功能;b. 允許在程序的某些區(qū)域之間進行有限的通訊;c. 計算臨界值的檢查和。5.3.1.3 通常應考慮到, 若要為軟件選擇高層次的設(shè)計, 就可能需要大量的資源 (可能 占整個產(chǎn)品開發(fā)成本的 10%-20%以上)。有兩種選擇:a. 不顧本指南的警告,在 SRS中描述了設(shè)計。這意味著,或者將一個潛在不適當?shù)脑O(shè)計作為一個需求進行描述(因為,若要得到好的設(shè)計,所花費的時間是不夠的),或者在需求階段花費了過多的時間(因為在SRS完成之前整個設(shè)計分析都要完成);b. 采用本指南中 5.1.3 條中的建議,用模型設(shè)計描述需求,這種模型設(shè)計只用于輔助
26、 描述需求,而不使之成為實際的設(shè)計。5.3.2 在SRS中嵌入了一些項目要求SRS應當是描寫一個軟件產(chǎn)品,而不是描述生產(chǎn)軟件產(chǎn)品的過程。 項目要求表達客戶和開發(fā)者之間對于軟件生產(chǎn)方面合同性事宜的理解(因此不應當包括在SRS中)例如:a. 成本;b. 交貨進度;c. 報表處理;d. 軟件開發(fā)方法;e. 質(zhì)量保證;f. 確認和驗證的標準;g. 驗收過程。項目需求在另外的文件中描述。在SRS中提供的只是關(guān)于軟件產(chǎn)品本身的需求。6 SRS大纟岡本章著重討論 SRS的每一個基本部分,可以作為一個SRS的大綱。表1給出該大綱目錄, 表2至表5給出大綱中第3章的具體需求內(nèi)容。各開發(fā)者和客戶應當根據(jù)所描述的實
27、際情況, 按本指南有關(guān)規(guī)定編寫自己的SRS目錄1前言1.1目的1.2范圍1.3定義、縮寫詞、略語1.4參考資料2項目概述2.1產(chǎn)品描述2.2產(chǎn)品功能2.3用戶特點2.4 一般約束2.5假設(shè)和依據(jù)3具體需求(參閱本指南6.3.2條中具體需求的組織形式) 附錄 索引6.1 前言(SRS第 1 章)本章提供整個SRS綜述。6.1.1 目的(SRS的 1.1 條)在這一條包括下列內(nèi)容:a. 描述實際SRS的目的;b. 說明SRS所預期的讀者。6.1.2 范圍(SRS的 1.2 條)a. 用一個名字標識被生產(chǎn)的軟件產(chǎn)品。比如:xxx數(shù)據(jù)庫系統(tǒng),報表生成程序等等;b. 說明軟件產(chǎn)品將干什么,如果需要的話,
28、還要說明軟件產(chǎn)品不干什么;c. 描述所說明的軟件的應用。應當:(1)盡可能精確地描述所有相關(guān)的利閃、目的、以及最終目標。(2)如果有一個較高層次的說明存在,則應該使其和高層次說明中的類似的陳述相一 致(例如,系統(tǒng)的需求規(guī)格說明)。6.1.3 定義、縮寫詞、略語(SRS的1.3條)本條中必須提供全部需求的術(shù)語、縮寫詞及略語的定義,以便對SRS進行適當?shù)慕忉?。這些信息可以由 SRS的附錄提供。也可以參考其他的文件。6.1.4 參考資料(SRS的1.4條)本條應包括:a. 在SRS中各處參照的文件的全部清單,如經(jīng)核準的計劃任務(wù)書,上級機關(guān)批文、合 同等;b. 列出其他參考資料,如屬本項目的其他已發(fā)表
29、的文件和主要文獻等。每一個文件、 文獻要有標題,索引號或文件號,發(fā)布或發(fā)表日期以及出版單位;c. 詳細說明可以得到該參考文件的來源。 這個信息可以通過引用附錄或其他文件提供。6.2項目概述(SRS第 2章) 本章應描述影響產(chǎn)品和其需求的一般因素, 本章不說明具體的需求, 而僅使需求更易于 理解。6.2.1 產(chǎn)品描述(SRS的2.1條) 這一條是把一個產(chǎn)品用其他有關(guān)的產(chǎn)品或項目來描述。a. 如果這個產(chǎn)品是獨立的,而且全部內(nèi)容自含,應在此說明;b. 如果SRS定義的產(chǎn)品是一個較大的系統(tǒng)或項目中的一個組成部分,那么本條應包括 如下內(nèi)容:(1)要概述這個較大的系統(tǒng)或項目的每一個組成部分的功能,并說明其
30、接口;( 2)指出該軟件產(chǎn)品主要的外部接口。在這里,不要求對接口詳細地描述,詳細描述 放在SRS其他章條中;( 3)描述所使用的計算機硬件、外圍設(shè)備。這里僅僅是一個綜述性描述。在本條的描述中, 用一個方框圖來表達一個較大的系統(tǒng)或項目的主要組成部分、相互聯(lián)系和外部接口是非常有幫助的。本條既不用來強迫進行設(shè)計方案的描述, 也不是描述在解決問題時的設(shè)計約束。本條應對在以后具體需求一章中說明的設(shè)計約束提供理由。6.2.2 產(chǎn)品功能(SRS的2.2條)本條是為將要完成的軟件功能提供一個摘要。例如,對于一個記帳程序來說,SRS可以用這部分來描述: 客戶帳目維護、 客戶財務(wù)報表和發(fā)票制作, 而不必把功能所要
31、求的大量的 細節(jié)描寫出來。有時, 如果存在較高層次的規(guī)格說明時, 則功能摘要可直接從中取得, 這個較高層次的 規(guī)格說明為軟件產(chǎn)品分配了特殊的功能,為了清晰起見,請注意:a. 編制功能的一種方法是制作功能表,以便客戶或者第一次讀這個文件的人都可以理 解;b. 用方框圖來表達不同的功能和它們的關(guān)系也是有幫助的。但要牢記,這樣的圖不是 產(chǎn)品設(shè)計時所需求的,而只是一種有效的解釋性的工具。這一條不用作陳述具體需求,只是對后來SRS中具體需求一章中為什么要描述的某些需 求提供理由。6.2.3 用戶特點(SRS的2.3條) 本條要描述影響具體需求的產(chǎn)品的最終用戶的一般特點。許多人在軟件生存周期的操作和維護階
32、段與系統(tǒng)相關(guān)。而這些人中有用戶、 操作員、 維護人員和系統(tǒng)工作人員。這些人的某些特點,象教育水平、經(jīng)驗、技術(shù)、專長等,都是施加 于系統(tǒng)操作環(huán)境的重要約束。如果系統(tǒng)的大多數(shù)用戶是一些臨時用戶,那么就要求系統(tǒng)包含如何完成基本功能的提 示,而不是假設(shè)用戶已經(jīng)從過去的會議或從閱讀用戶指南中了解到這些細節(jié)。這一條的內(nèi)容不能用來陳述具體需求或強加若干特殊的設(shè)計約束,本條應對在SRS的具體需求一章之中的某些具體需求或設(shè)計約束的描述提供理由。624 般約束(SRS的2.4條) 本條對設(shè)計系統(tǒng)陽限制開發(fā)者選擇的其他一些項作一般性描述。 而這些項將限定開發(fā)者在設(shè)計系統(tǒng)時的任選項。這些包括:a. 管理方針;b. 硬
33、件的限制;c. 與其他應用間的接口;d. 并行操作;e. 審查功能;f. 控制功能;g. 所需的高級語言;h. 通信協(xié)議;i. 應用的臨界點;j. 安全和保密方面的考慮。本條不陳述具體需求或具體設(shè)計約束:而對SRS的具體需求一章中為什么要確定某些具體需求和設(shè)計約束提供理由。625 假設(shè)和依據(jù)(SRS的2.5條)本條列出影響SRS中陳述的需求的每一個因素。這些因素不是軟件的設(shè)計約束,但是它們的改變可能影響到 SRS中的需求。例如:假定一個特定的操作系統(tǒng)是在被軟件產(chǎn)品指定的 硬件上使用的,然而,事實上這個操作系統(tǒng)是不可能使用的,于是,SRS就要進行相應的改變。6.3具體需求(SRS的第3章)本章應
34、包括軟件開發(fā)者在建立設(shè)計時需要的全部細節(jié)。這是SRS中篇幅最大和最重要的部分。a. 根據(jù)本指南第 4 章所規(guī)定的準則 (如可驗證性、 無歧義性等) ,對每一個需求細節(jié)作 具體描述;b. 在SRS的前言、項目概述、附錄部分的有關(guān)討論中,要提供對任何一個具體需求交 叉引用的背景;c. 具體需求分類的方法如下:( 1)功能需求;( 2)性能需求;( 3)設(shè)計約束;( 4)屬性;( 5)外部接口需求。本章中要注意的二點是:a. 按符合邏輯的和可讀的方式組織;b. 詳細描述每一個需求,使得該需求應達到目標能夠用指定的方法進行客觀的驗證。6.3.1 具體需求的內(nèi)容6.3.1.1 功能需求 本條描述軟件產(chǎn)品
35、的輸入怎樣變換成輸出。即軟件必須完成的基本動作。 對于每一類功能或者有時對于每一個功能,需要具體描述其輸入、加工和輸出的需求。這通常由四個部頒組成:a. 引言這部分描述的是功能要達到的目標、 所采用的方法和技術(shù), 還應清楚說明功能意圖的由 來和背景。b. 輸入這部分應包括:( 1)詳細描述該功能的所有輸入數(shù)據(jù),如: 輸入源、數(shù)量、度量單位、時間設(shè)定、有效輸入范圍(包括精度和公差) ; (2)操作員控制細節(jié)的需求。其中有名字、操作員活動的描述、控制臺或操作員的位 置。例如:當打印檢查時,要求操作員進行格式調(diào)整;( 3)指明引用接口說明或接口控制文件的參考資料。c. 加工 定義輸入數(shù)據(jù)、中間參數(shù),
36、以獲得預期輸出結(jié)果的全部操作。它包括如下的說明:( 1)輸入數(shù)據(jù)的有效性檢查;(2)操作的順序,包括事件的時間設(shè)定;(3)異常情況的響應,例如,溢出、通信故障、錯誤處理等;( 4)受操作影響的參數(shù);(5)降級運行的要求;(6)用于把系統(tǒng)輸入變換成相應輸出的任何方法(方程式、數(shù)學算法、邏輯操作等)(7)輸出數(shù)據(jù)的有效性檢查。d. 輸出 這部分應包括: (1)詳細描述該功能所有輸出數(shù)據(jù),例如:輸出目的地、數(shù)量、度量單位、時間關(guān)系、 有效輸出的范圍(包括精度和公差) 、非法值的處理、出錯信息;( 2)有關(guān)接口說明或接口控制文件的參考資料。此外,對著重于輸入輸出行為的系統(tǒng)來說,SRS應指定所有有意義的
37、輸入、輸出對及其序列。 當一個系統(tǒng)要求記憶它的狀態(tài)時, 需要這個序列, 使得它可以根據(jù)本次輸入和以前的 狀態(tài)作出響應。也就是說,這種情況猶如有限狀態(tài)機。 6.3.1.3 設(shè)計約束設(shè)計約束受其他標準、硬件限制等方面的影響。6.3.1.3.1 其他標準的約束 本項將指定由現(xiàn)有的標準或規(guī)則派生的要求。例如:a. 報表格式;b. 數(shù)據(jù)命名;c. 財務(wù)處理;d. 審計追蹤,等等。6.3.1.3.2 硬件的限制 本項包括在各種硬件約束下運行的軟件要求,例如,應該包括:a. 硬件配置的特點(接口數(shù),指令系統(tǒng)等) ;b. 內(nèi)存儲器和輔助存儲器的容量。6.3.1.4 屬性在軟件的需求之中有若干個屬性, 下面指出
38、其中的幾個 (注意: 對這些決不應理解為是 一個完整的清單) 。6.3.1.4.1 可用性可以指定一些因素, 如檢查點、 恢復和再啟動等, 以保證整個系統(tǒng)有一個確定的可用性 級別。6.3.1.4.2 安全性這里指的是保護軟件的要素,以防止各種非法的訪問、使用,修改、破壞或者泄密。這 個領(lǐng)域的具體需求必須包括:a. 利用可靠的密碼技術(shù);b. 掌握特定的記錄或歷史數(shù)據(jù)集;c. 給不同的模塊分配不同的功能;d. 限定一個程序中某些區(qū)域的通信;e. 計算臨界值的檢查和。6.3.1.4.3 可維護性這里規(guī)定若干需求以確保軟件是可維護的。例如:a. 軟件模塊所需要的特殊的耦合矩陣;b. 對微型裝置指定特殊
39、的數(shù)據(jù) / 程序分割要求。6.3.1.4.4 可轉(zhuǎn)移 / 轉(zhuǎn)換性 這里規(guī)定把軟件從一種環(huán)境移植到另一種環(huán)境所要求的用戶程序, 用戶接口兼容方面的 約束等等。6.3.1.4.5 警告 指定所需屬性十分重要,它使得人們能用規(guī)定的方法去進行客觀的驗證。6.3.1.5 外部接口要求6.3.1.5.1 用戶接口提供用戶使用軟件產(chǎn)品是地的接口需求。 例如,如果系統(tǒng)的用戶通過顯示終端進行操作, 就必須指定如下要求:a. 對屏幕格式的要求;b. 報表或菜單的頁面打印格式和內(nèi)容;c. 輸入輸出的相對時間;d. 程序功能鍵的或用性。6.3.1.5.2 硬件接口要指出軟件產(chǎn)品和系統(tǒng)硬部件之間每一個接口的邏輯特點。
40、還可能包括如下事宜: 支撐 什么樣的設(shè)備,如何支撐這些設(shè)備,有何約定。6.3.1.5.3 軟件接口在這里應指定需使用的其他軟件產(chǎn)品 (例如, 數(shù)據(jù)管理系統(tǒng), 操作系統(tǒng),或者數(shù)學軟件 包),以及同其他應用系統(tǒng)之間的接口。對每一個所需的軟件產(chǎn)品,要提供如下內(nèi)容:a. 名字;b. 助記符;c. 規(guī)格說明號;d. 版本號;e. 來源。對于每一個接口, 這部分應說明與軟件產(chǎn)品相關(guān)的接口軟件的目的, 并根據(jù)信息的內(nèi)容 和格式定義接口, 這里不必詳細描述任何已有完整文件的接口, 只要引用定義該接口的文件 即可。6.3.1.5.4 通信接口 這里指定各種通信接口,例如,局部網(wǎng)絡(luò)的協(xié)議等等。6.3.1.6 其他
41、需求 根據(jù)軟件和用戶組織的特性等,某些需求放在下面各項中描述。6.3.1.6.1 數(shù)據(jù)庫本項對作為產(chǎn)品的一部分進行開發(fā)的數(shù)據(jù)庫規(guī)定一些需求,它們可能包括:a. 在 6.3.1.1 條中標識的信息類別;b. 使用的頻率;c. 存取能力;d. 數(shù)據(jù)元素和文卷描述符;e. 數(shù)據(jù)元素、記錄和文卷的關(guān)系;f. 靜態(tài)和動態(tài)的組織;g. 數(shù)據(jù)保存要求。注:如果使用一個現(xiàn)有的數(shù)據(jù)庫包,這個包應在“軟件接口”中命名,并在那里詳細說 明其用法。6.3.1.6.2 操作 這里說明用戶要求的常規(guī)的和特殊的操作。a. 在用戶組織之中各種方式的操作。例如,用戶初始化操作;b. 交互作用操作的同期和無人操作的周期;c. 數(shù)
42、據(jù)處理支持功能;d. 后援和恢復操作。注:這里的內(nèi)容有時是用戶接口的一部分。6.3.1.6.3 場合適應性需求 這里包括:a. 對給定場合、任務(wù)或操作方式的任何數(shù)據(jù)或初始化順序的需求進行定義。例如,柵 值,安全界限等等。b. 指出場合或相關(guān)任務(wù)的特點,這里可以被修改以使軟件適合特殊配制的要求。6.3.2 具體要求的組織本條通常是SRS所有部分中最大并且最復雜的部分。a. 可以根據(jù)軟件實現(xiàn)功能的基本類型,將本條分成若干段。例如:考慮一個大的交互 記帳系統(tǒng), 在里層可以分為操作軟件 (它支持近乎實時的事務(wù)處理) 、支撐軟件(聯(lián)機功能、 磁盤備份、裝入磁帶等等)以及診斷軟件(診斷硬件、通信等) ,外
43、一層是應收款帳以及應 付款帳等等;b. 結(jié)構(gòu)細分的目的是提高 SRS的可讀性,而不是進行概要設(shè)計。對于SRS中的第3章的具體需求部分的最好的組織方案取決于所說明的軟件產(chǎn)品的應用 范圍和性質(zhì)。表 2表 5 提供了四種可能的組織方案。a. 大綱 1(表 2)中首先說明全部功能需求,然后說明四種類型的接口要求,最后是其他需求;b. 大綱 2(表 3)中,把對應每個特定功能的四種接口需求和該功能需求放在一起描述, 然后說明其他需求;c. 大綱 3(表 4)中,與功能需求有關(guān)的全部內(nèi)容放在一起首先說明,然后是其他需求 的描述。對每一種外部接口的需求重復上述過程;d. 大綱 4(表 5)中,接口需求和其余的需求作為每一個功能需求的附屬部分來說明。SRS的具體需求的組織形式必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪租賃合同終止協(xié)議
- 食堂勞務(wù)派遣用工合同范例二零二五年
- 俱樂部教練合同樣本
- oem貼牌合同樣本
- 初中開學第一課疫情防控主題班會教案
- 乙供工程合同樣本
- 雨棚鋼結(jié)構(gòu)施工方案
- 2025年冷芯盒樹脂合作協(xié)議書
- 小學生外出活動方案
- 鹽類的水解第一課時教案
- 2025年人體捐獻協(xié)議
- 《急性闌尾炎幻燈》課件
- 員工黃賭毒法制培訓
- 廣東省廣州市番禺區(qū)2023-2024學年八年級上學期期末英語試題(答案)
- 《編制說明-變電站監(jiān)控系統(tǒng)防止電氣誤操作技術(shù)規(guī)范》
- 高中化學基礎(chǔ)知識超級判斷300題
- 郵政儲蓄銀行的2024年度借款合同范本
- 汽車吊起重吊裝方案
- 從0到1開播指導抖音本地生活商家直播培訓
- 產(chǎn)房助產(chǎn)士進修匯報
- 大型綜合樓新建工程技術(shù)方案、施工方案投標文件(投標方案)
評論
0/150
提交評論