




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目第一章§ 1.1§ 1.2§ 1.3§ 1.4§ 1.5第二章§ 1§ 1§ 1§ 1§ 1§ 1第三章§ § § § 第四章4.11.11.2第五章5.15.25.35.45.55.6第六章111錄引言1目的1文檔約定1預期讀者和閱讀建議1產品的范圍1參考文獻1綜合描敘1產品的前景1產品的功能1用戶類和特征2運行環境2設計和實現上的限制2假設和依賴2外部接口需求2用戶界面2硬件接口3軟件接口3通信接口3系統特性3說明和優先級3激勵響應序列3功
2、能需求3其他非功能需求3性能需求3安全設施需求4安全性需求4軟件質量屬性4業務規則4用戶文檔4其他需求4詞匯表4分析模型4待確定問題列表5第1章引言引言提出了對軟件需求規格說明的縱覽,這有助于讀者理解文檔如何編寫并且如何閱讀和解釋。6 目的對產品進行定義,在該文檔中詳盡說明了這個產品的軟件需求,包括修正或發行版本號。如果這個軟件需求規格說明只與整個系統的一部分有關系,那么就只定義文檔中說明的部分或子系統。6 文檔約定描述編寫文檔時所采用的標準或排版約定,包括正文風格、提示區或重要符號。例如,說明了高層需求的優先級是否可以被其所有細化的需求所繼承,或者每個需求陳述是否都有其自身的優先級。6 預期
3、讀者和閱讀建議列舉了軟件需求規格說明所針對的不同讀者,例如開發人員、項目經理、營銷人員、用戶、測試人員或文檔的編寫人員。描述了文檔中剩余部分的內容及其組織結構。提出了最適合于每一類型讀者閱讀文檔的建議。6 產品的范圍提供了對指定的軟件及其目的的簡短描述,包括利益和目標。把軟件與企業目標或業務策略相聯系。可以參考項目視圖和范圍文檔而不是將其內容復制到這里。6 參考文獻列舉了編寫軟件需求規格說明時所參考的資料或其它資源。這可能包括用戶界面風格指導、合同、標準、系統需求規格說明、使用實例文檔,或相關產品的軟件需求規格說明。在這里應該給出詳細的信息,包括標題名稱、作者、版本號、日期、出版單位或資料來源
4、,以方便讀者查閱這些文獻。如:a.本項目的經核準的計劃任務書或合同、上級機關的批文;b.屬于本項目的其他已發表的文件;c.本文件中各處引用的文件、資料、包括所要用到的軟件開發標準。列出這些文件資料的標題、文件編號、發表日期和出版單位,說明能夠得到這些文件資料的來源。第2章綜合描敘這一部分概述了正在定義的產品以及它所運行的環境、使用產品的用戶和已知的限制、假設和依賴。a 產品的前景描述了軟件需求規格說明中所定義的產品的背景和起源。說明了該產品是否是產品系列中的下一成員,是否是成熟產品所改進的下一代產品、是否是現有應用程序的替代品,或者是否是一個新型的、自含型產品。如果軟件需求規格說明定義了大系統
5、的一個組成部分,那么就要說明這部分軟件是怎樣與整個系統相關聯的,并且要定義出兩者之間的接口。a 產品的功能概述了產品所具有的主要功能。其詳細內容將在d中描述,所以在此只需要概略地總結,例如用列表的方法給出。很好地組織產品的功能,使每個讀者都易于理解。用圖形表示主要的需求分組以及它們之間的聯系,例如數據流程圖的頂層圖或類圖,都是有用的。a 用戶類和特征確定你覺得可能使用該產品的不同用戶類并描述它們相關的特征(見第7章)。有一些需求可能只與特定的用戶類相關。將該產品的重要用戶類與那些不太重要的用戶類區分開。a 運行環境描述了軟件的運行環境,包括硬件平臺、操作系統和版本,還有其它的軟件組件或與其共存
6、的應用程序。a 設計和實現上的限制確定影響開發人員自由選擇的問題,并說明這些問題為什么成為一種限制??赡艿南拗瓢ㄈ缦聝热荩篴. 必須使用或者避免的特定技術、工具、編程語言和數據庫。b. 所要求的開發規范或標準(例如,如果由客戶的公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準。c. 企業策略、政府法規或工業標準。d. 硬件限制,例如定時需求或存儲器限制。e. 數據轉換格式標準。§2.6假設和依賴確定影響開發人員自由選擇的問題,并說明這些問題為什么成為一種限制??赡艿南拗瓢ㄈ缦聝热荩篴. 必須使用或者避免的特定技術、工具、編程語言和數據庫。b. 所要求的開發規范或標
7、準(例如,如果由客戶的公司負責軟件維護,就必須定義轉包者所使用的設計符號表示和編碼標準。c. 企業策略、政府法規或工業標準。d. 硬件限制,例如定時需求或存儲器限制。e. 數據轉換格式標準。第3章外部接口需求利用本節來確定可以保證新產品與外部組件正確連接的需求。關聯圖表示了高層抽象的外部接口。需要把對接口數據和控制組件的詳細描述寫入數據字典中。如果產品的不同部分有不同的外部接口,那么應把這些外部接口的詳細需求并入到這一部分的實例中。5.2 用戶界面陳述所需要的用戶界面的軟件組件。描述每個用戶界面的邏輯特征。以下是可能要包括的一些特征:1.1.1 將要采用的圖形用戶界面(GUI)標準或產品系列的
8、風格。2.2.2 屏幕布局或解決方案的限制。3.3.3 將出現在每個屏幕的標準按鈕、功能或導航鏈接(例如一個幫助按鈕)。,快捷鍵。4.4.4 錯誤信息顯示標準。對于用戶界面的細節,例如特定對話框的布局,應該寫入一個獨立的用戶界面規格說明中,而不能寫入軟件需求規格說明中。5.3 硬件接口描述系統中軟件和硬件每一接口的特征。這種描述可能包括支持的硬件類型、軟硬件之間交流的數據和控制信息的性質以及所使用的通信協議。5.4 軟件接口描述該產品與其它外部組件(由名字和版本識別)的連接,包括數據庫、操作系統、工具、庫和集成的商業組件。明確并描述在軟件組件之間交換數據或消息的目的。描述所需要的服務以及內部組
9、件通信的性質。確定將在組件之間共享的數據。如果必須用一種特殊的方法來實現數據共享機制,例如在多任務操作系統中的一個全局數據區,那么就必須把它定義為一種實現上的限制。5.5 通信接口Web瀏覽描述與產品所使用的通信功能相關的需求,包括電子郵件、器、網絡通信標準或協議及電子表格等等。定義了相關的消息格式。規定通信安全或加密問題、數據傳輸速率和同步通信機制。對我有用0丟個板磚0引用舉報管理TOPcsdsq(=1=0=1=0=1=0=1=)等級:#6樓得分:0回復于:2003-04-2902:18:05第4章系統特性功能需求是根據系統特性即產品所提供的主要服務來組織的。你可能更喜歡通過使用實例、運行模
10、式、用戶類、對象類或功能等級來組織這部分內容(IEEE1998)。你還可以使用這些元素的組合??偠灾惚仨氝x擇一種使讀者易于理解預期產品的組織方案。僅用簡短的語句說明特性的名稱,例如“4.1拼寫檢查和拼寫字典管理”。無論你想說明何種特性,闡述每種特性時都將重述從4.14.3這三步系統特性。1. 說明和優先級提出了對該系統特性的簡短說明并指出該特性的優先級是高、中,還是低?;蛘吣氵€可以包括對特定優先級部分的評價,例如利益、損失、費用和風險,具相對優先等級可以從1(低)到9(高)。1. 激勵響應序列列出輸入激勵(用戶動作、來自外部設備的信號或其它觸發器)和定義這一特性行為的系統響應序列。就像在
11、第8章討論的那樣,這些序列將與使用實例相關的對話元素相對應。1. 功能需求詳列出與該特性相關的詳細功能需求。這些是必須提交給用戶的軟件功能,使用戶可以使用所提供的特性執行服務或者使用所指定的使用實例執行任務。描述產品如何響應可預知的出錯條件或者非法輸入或動作。就像本章開頭所描述的那樣,你必須唯一地標識每個需求。第5章其他非功能需求這部分列舉出了所有非功能需求,而不是外部接口需求和限制。b 性能需求闡述了不同的應用領域對產品性能的需求,并解釋它們的原理以幫助開發人員作出合理的設計選擇。確定相互合作的用戶數或者所支持的操作、響應時間以及與實時系統的時間關系。你還可以在這里定義容量需求,例如存儲器和
12、磁盤空間的需求或者存儲在數據庫中表的最大行數。盡可能詳細地確定性能需求。可能需要針對每個功能需求或特性分別陳述其性能需求,而不是把它們都集中在一起陳述。例如,“在運行微軟Window2000的450MHzPentiumII的計算機上,當系統至少有50%的空閑資源時,95%的目錄數據庫查詢必須在兩秒內完成”。b 安全設施需求詳盡陳述與產品使用過程中可能發生的損失、破壞或危害相關的需求。定義必須采取的安全保護或動作,還有那些預防的潛在的危險動作。明確產品必須遵從的安全標準、策略或規則。一個安全設施需求的范例如下:“如果油箱的壓力超過了規定的最大壓力的95%,那么必須在1秒鐘內終止操作”。b 安全性
13、需求詳盡陳述與系統安全性、完整性或與私人問題相關的需求,這些問題將會影響到產品的使用和產品所創建或使用的數據的保護。定義用戶身份確認或授權需求。明確產品必須滿足的安全性或保密性策略。你可能更喜歡通過稱為完整性的質量屬性來闡述這些需求,完整性將在第11章介紹。一個軟件系統的安全需求的范例如下:“每個用戶在第一次登錄后,必須更改他的最初登錄密碼。最初的登錄密碼不能重用?!?#167;5.4軟件質量屬性詳盡陳述與客戶或開發人員至關重要的其它產品質量特性(見第11章)。這些特性必須是確定、定量的并在可能時是可驗證的。至少應指明不同屬性的相對側重點,例如易用程度優于易學程度,或者可移植性優于有效性。2.
14、3.d 業務規則列舉出有關產品的所有操作規則,例如什么人在特定環境下可以進行何種操作。這些本身不是功能需求,但它們可以暗示某些功能需求執行這些規則。一個業務規則的范例如下:“只有持有管理員密碼的用戶才能執行$100.00或更大額的退款操作?!?.4.d 用戶文檔列舉出將與軟件一同發行的用戶文檔部分,例如,用戶手冊、在線幫助和教程。明確所有已知的用戶文檔的交付格式或標準。第6章其他需求定義在軟件需求規格說明的其它部分未出現的需求,例如國際化需求或法律上的需求。你還可以增加有關操作、管理和維護部分來完善產品安裝、配置、啟動和關閉、修復和容錯,以及登錄和監控操作等方面的需求。在模板中加入與你的項目相
15、關的新部分。如果你不需要增加其它需求,就省略這一部分。詞匯表定義所有必要的術語,以便讀者可以正確地解釋軟件需求規格說明,包括詞頭和縮寫。你可能希望為整個公司創建一張跨越多項項目的詞匯表,并且只包括特定于單一項目的軟件需求規格說明中的術語。分析模型這個可選部分包括或涉及到相關的分析模型的位置,例如數據流程圖、類圖、狀態轉換圖或實體-關系圖待確定問題列表編輯一張在軟件需求規格說明中待確定問題的列表,其中每一表項都是編上號的,以便于跟蹤調查。計算機軟件需求說明編制指南引言目的和作用本指南為軟件需求實踐提供了一個規范化的方法。本指南不提倡把軟件需求說明(SoftwareRequirementsSpec
16、ifications,以下簡稱SRS)劃分成等級,避免把它定義成更小的需求子集。本指南適用對象:軟件客戶(Customer,以便精確地描述他們想獲得什么樣的產品。軟件開發者(Suppliers),以便準確地理解客戶需要什么樣的產品。對于任一要實現下列目標的單位和(或)個人:a.要提出開發規范化的SRS提綱;b.定義自己需要的具體的格式和內容;c.產生附加的局部使用條款,如SRS質量檢查清單或者SRS作者手冊等。SRS將完成下列目標:a.在軟件產品完成目標方面為客戶和開發者之間建立共同協議創立一個基礎。對要實現的軟件功能做全面描述,幫助客戶判斷所規定的軟件是否符合他們的要求,或者怎樣修改這種軟件
17、才能適合他們的要求;b.提高開發效率。編制SRS的過程將使客戶在設計開始之前周密地思考全部需求,從而減少事后重新設計、重新編碼和重新測試的返工活動。在SRS中對各種需求仔細地進行復查,還可以在開發早期發現若干遺漏、錯誤的理解和不一致性,以便及時加以糾正;c.為成本計價和編制計劃進度提供基礎。SRS提供的對被開發軟件產品的描述,是計算機軟件產品成本核算的基礎,并且可以為各方的要價和付費提供依據。SRS對軟件的清晰描述,有助于估計所必須的資源,并用作編制進度的依據;d.為確認和驗證提供一個基準。任何組織將更有效地編制他們的確認和驗證計劃。作為開發合同的一部分,SRS還可以提供一個可以度量和遵循的基
18、準(然而,反之則不成立,即任一有關軟件的合同都不能作為SRS。因為這種文件幾乎不包括詳盡的需求說明,并且通常不完全的);e.便于移植。有了SRS就便于移值軟件產品,以適應新的用戶或新的機種。客戶也易于移植其軟件到其他部門,而開發者同樣也易于把軟件移植到新的客戶;f.作為不斷提高的基礎。由于SRS所討論的是軟件產品,而不是開發這個產品的設計。因此SRS是軟件產品繼續提高的基礎。雖然SRS也可能要改變,但是原來的SRS還是軟件產品改進的可靠基礎。1.2范圍本指南適用于編寫軟件需求規格說明,它描述了一個SRS所必須的內容和質量,并且在第6章中提供了SRS大綱。引用標準GB8566計算機軟件開發規范G
19、B8567計算機軟件產品開發文件編制指南GB/T11457軟件工程術語定義GB/T11457所列術語和下列定義適用于本指南。合同(contract)是由客戶和開發者共同簽署的具有法律約束力的文件。其中包括產品的技術、組織、成本和進度計劃要求等內容??蛻簦╟ustomer)指個人或單位,他們為產品開發提供資金,通常(但有時也不必)還提出各種需求。文件中的客戶和開發者也可能是同一個組織的成員。語言(language是具有語法和語義的通信工具,包括一組表達式、慣例和傳遞信息的有關規則。分割(partitioning)把一個整體分成若干部分。開發者(supplier)指為客戶生產某種軟件產品的個人或集
20、團。在本指南中,客戶和開發者可能是同一個組織的成員。用戶(user)指運行系統或者直接與系統發生交互作用的個人或集團。用戶和客戶通常不是同些人。編寫SRS的背景信息SRS的基本要求SRS是對要完成一定功能、性能的軟件產品、程序或一組程序的說明。對SRS的描述有兩項基本要求:a.必須描述一定的功能、性能;b.必須用確定的方法敘述這些功能、性能。SRS的環境必須認識到SRS在整個軟件開發規范(見GB8566)所規定的有關階段都起作用。正因為如此,SRS的起草者必須特別注意不要超出這種作用的范圍。這意味著要滿足下列要求:SRS必須正確地定義所有的軟件需求;除了設計上的特殊限制之外,SRS中一般不描述
21、任何設計、驗證或項目管理細節。SRS的特點無歧義性當且僅當它對每一個需求只有一種解釋時,SRS者是無歧義的。a.要求最終產品的每一個特性用某一術語描述;b.若某一術語在某一特殊的行文中使用時具有多種歧義,那么對該術語的每種含義作出解釋并指出其適用場合。需求通常是用自然語言編寫的,使用自然語言的SRS起草者必須特別注意消除其需求的歧義性。提倡使用形式化需求說明語言。完整性如果一個SRS能滿足下列要求,則該SRS就是完整的:a.包括全部有意義的要求,無論是關系到功能的、性能的、設計約束的,還是關系到屬性或外部接口方面的需求;對所有可能出現的輸入數據的響應予以定義,要對合法和非合法的輸入值的響應做出
22、規定;要符合SRS要求。如果個別章節不適用,則在SRS中要保留章節號;填寫SRS中的全部插圖、表、圖示標記和參照,并且定義全部術語和度量單位。4.3,2.1關于使用“待定”一詞的規定任何一個使用“待定”的SRS都是不完全的。若萬一遇到使用“待定”一詞時,作如下處理:對產生“待定”一詞的條件進行描述,使得問題能被解決;描述必須干什么事,以刪除這個“待定”;包含有“待定”一詞的任何SRS的項目文件應該:標識與此特定文件有關的版本號或敘述其專門的發布號;拒絕任何仍標識為“待定”一詞的SRS章節的許諾??沈炞C性當且僅當SRS中描述的每一個需求都是可以驗證的,該SRS才是可以驗證的;當且僅當在某一性能價
23、格比可取的有限處理過程,人或機器能通過該過程檢查軟件產品能否滿足需求時,才稱這個需求是可以驗證的。一致性當且僅當SRS中各個需求的描述是不矛盾時SRS才是一致的??尚薷男匀绻粋€SRS的結構和風格在需求有必要改變時是易于實現的、完整性的、一致的,那么這個SRS就是可以修改的。可修改性要求SRS具備以下條件:a.具有一個有條不紊的易于使用的內容組織,具有目錄表,索引和明確的交叉引用表;b.沒有冗余。即同一需求不能在SRS中出現多次。(1)冗余本身不是錯誤,但是容易發生錯誤。冗余可增加SRS的可讀性,但是在一個冗余文件被更新時容易出現問題。例如:假設一個明確的需求在兩個地方詳細列出,后來發現這個需
24、求需要改變,若只修改一個地方,于是SRS就變得不一致了。冗余是否必須,SRS一定要包含一個詳細的交叉引用表,以便SRS具備可修改性??勺粉櫺匀绻恳粋€需求的源流是清晰的,在進一步產生和改變文件編制時,可以方便地引證每一個需求,則該SRS就是可追蹤的。建議采用如下兩種類型的追蹤:a.向后追蹤(即向已開發過的前一階段追蹤)。根據先前文件或本文件前面的每一個需求進行追蹤。b.向前追蹤(即是向由SRS派生的所有文件追蹤)。根據SRS中具有唯一的名字和參照號的每一個需求進行追蹤。當SRS中的一個需求表達另一個需求的一種指派或者是派生的,向前、向后的追蹤都要提供。例如:(1)從總的用戶響應時間需求中分配給
25、數據庫操作響應時間;(2)識別帶有一定功能和用戶接口的需求的報告格式;(3)支持法律或行政上需要的某個軟件產品(例如,計算稅收)。在這種情況下,要指出軟件所支持的確切的法律或行政文件。當軟件產品進入運行和維護階段時,SRS的向前可追蹤性顯得特別重要。當編碼和設計文件作修改時,重要的是要查清這些修改所影響的全部需求。運行和維護階段的可使用性SRS必須滿足運行和維護階段的需要,包括軟件最終替換。a.維護常常是由與原來開發無聯系的人來進行的。局部的改變(修正)可以借助于好的代碼注釋來實現。對于較大范圍的改變。設計和需求文件是必不可少的,這里隱含了兩個作用:(1)如4.3.5條指出,SRS必須是可修改
26、的;(2)SRS中必須包括一個記錄,它記錄那些應用于各個成分的所有具體條文。例如:它們的危急性(如故障可能危及完全或導致大量財政方面和社會方面的損失);它們僅與暫時的需要相關(如支持一種可立即恢復原狀的顯示);它們的來源(如某功能是由已存在的軟件產品的全部拷貝復制而成)。b.要求在SRS中清楚地寫明功能的來源和目的,因為對功能的來源和引入該功能的目的不清楚的話,通常不可能很好地完成軟件的維護。SRS的編制者軟件開發的過程是由開發者和客戶雙方同意開發什么樣的軟件協議開始的。這種協議要使用SRS的形式,應該由雙方聯合起草。這是因為:客戶通常對軟件設計和開發過程了解較少,而不能寫出可用的SRS;開發
27、者通常對于客戶的問題和意圖了解較少,從而不可能寫出一個令人滿意的系統需求。SRS的改進軟件產品的開發過程中,在項目的開始階段不可能詳細說明某些細節,在開發過程中可能發現SRS的缺陷、缺點和錯誤之類的問題,所以可能要對SRS進行改進。在SRS的改進中,應注意如下事項:盡管可以預見校正版本的開發以后不可避免,而對需求還必須盡可能完全、清楚地描述。一旦最初識別出項目的變化,應引入一個正式的改變規程來標識、控制、追蹤和報告項目的改變。批準了的需求改變,用如下的方法編入SRS之中:a.提供各種改變后的正確的、完全的審查記錄;b.允許對SRS當前的和被替代部分的審查。SRS的編制工具編制SRS最顯而易見的
28、方法是用自然語言來描述。盡管自然語言是豐富多彩的,但不易精確,用形式化的方法較好。4.6.1形式化說明方法在SRS中是否使用形式化方法要依據下列因素:a.程序規模和復雜性;客戶合同中是否要求使用;SRS是否是一個合同工具或僅僅是一個內部文件;SRS文件是否成為設計文件的根據;e.具有支持這種方法的計算機設備。生產工具軟件產品生產中有多種生產工具。比如,計算機的字處理器就是非常有用的生產輔助工具。一個SRS通常有若干作者??赡芙洑v若干版本,并且要進行多次重新組織內容。故生產工具是必要的。表達工具在SRS中有許多詞匯,特別是許多名詞和動詞,專門涉及到系統的實體和許多活動,所以表達SRS需要若干工具
29、。比如:可以驗證實體或活動,無論在SRS中什么地方都是同一名字。;可以標識一個特殊的實體或動作在規格說明中的描述位置。此外,可以使用若干種形式化方法,以便允許自動處理SRS內容,只要作某些限制就可以做到;用一些表格或圖示法來顯示需求。用詳細分層體系自動檢查SRS的需求,這里每一個分層自身是完全的,但是也可以擴展為下一層,或是上一層的一個組成成分。自動檢查SRS具有在4.3條描述的部分或全部特點。5軟件需求SRS中每一個軟件需求是要求開發軟件產品的某些基本功能和性能的一個陳述。表達軟件需求的方法軟件需求可以用若干種方法來表達:a.通過輸入、輸出說明;使用代表性的例子;用規范化的模型。輸入、輸出說
30、明用輸入輸出序列來描述一個軟件產品所要求的特性是很有效的。途徑根據被描述的軟件的性質,至少有三種不同的途徑:a.有些軟件產品(如報表系統)要求著重說明輸出。一般情況下,致力于輸出的系統主要是在數據文卷上操作。用戶的輸入通常是致力于提供控制信息和啟動數據文卷的處理;有些軟件產品需要著重說明輸入、輸出特性。關注輸入、輸出的系統主要是在當前的輸入上操作,要求生成與輸入相匹配的輸出(類似于數據轉換例行程序或一個數學函數包);還有一些系統(如過程控制系統)要求記憶它們的狀態。可以根據本次輸入和上一次輸入進行應答。也就是說,它的行為如同一個有限狀態機。在此種情況下,既要關注輸入/輸出對,又要關注這些輸入/
31、輸出對的次序。困難多數軟件產品可能接收無限的序列作為輸入,于是,為了通過輸入輸出序列完整地說明產品的特性,就要求SRS包括一個無限長的輸入和所需的輸出充列。然而,用這樣的途徑不可能完整地描述軟件所要求的一切特性。典型例子一種選擇是用典型例子來說明要求的特性。例如,假設一個系統中當接收“0”時用“1”來回答。顯然,要列出全部輸入和輸出序列是不可能的。然而,用典型的序列可以十分清楚地理解系統的特性。下面是一組四種對話的典型的例子,用它描述系統特性。010101010101010101010101這些對話僅提供了要求的輸入和輸出之間的關系,但是不能完全描述系統的特性。模型另一種表達需求的方法是模型的
32、方式,這是表達復雜需求的精確和有效方法。至少可以提出三種可供使用的通用模型:數學型、功能型、計時型。應注意區別各種模型的應用場合,參考5.1.3.5c數學模型數學模型是使用數學關系描述軟件特性的模型。數學模型對某些特殊應用領域是特別有用的。例如,導航、線性規劃、計量經濟、信號處理和氣象分析等。用數學模型能夠對5.1.2中所討論的典型例子描述如下:(01)*。這里,”i號表示括號內的字符串可以重復一次或多次。功能模型功能模型是提供從略語以輸出映象的模型。象有限狀態機或Petri網,這些功能模型可以有助于標識和定義軟件的各種特點,或者可以表示系統所要進行的操作。對前面用數學模型描述的例子。可用圖1
33、所示的有限狀態機形式的功能模型來描述。圖中進入的箭頭表示啟動狀態。雙線的方框表示接收狀態。在各線記號x/y的含義是:x代表接受的輸入,而y是產生的輸出。計時模型計時模型是一種增加了時間限制的模型。這種模型對于表達軟件特性的形式和細節特別有用。尤其是實時系統或考慮人為因素的系統。計時模型可以把下列限制加到圖1的模型中去:激活因素0將在進入S1狀態30S之內出現;響應1將在進入S2狀態2s之內出現。其他模型隊了上面提及的模型外。對一些特殊的應用還有一些特別有用的模型。例如,編譯程序的說明可以使用屬性文法,工資單系統可以使用表格。要注意的是,對SRS使用形式需求語言,通常含有使用特殊模型的意思。警告
34、無論使用哪一類型的模型,都要:在SRS中或在SRS涉及到的一個文件中對它嚴格定義。這個定義應該規定:模型中的參數所要求的范圍;使用時的限定值;c.結果的精確度;d.負載的能力;e.要求的執行時間;f.缺省或失敗時的響應。必須注意,在需求的定義域內要保持一個模型定義。每當一個SRS使用一個模型時:a.它意味著此模型提供一個十分有效和精確的方法說明需求;b.并不意味著軟件產品的實現必須基于這個模型。一個模型用于解釋文件所寫的需求是有效的,但是對于實際軟件的實現可能并不是最適宜的。軟件需求的注釋有關軟件產品的所有需求,并不是同等重要的。某些需求可能是基本的,例如是對于生命攸關的應用。而另一些可能并不
35、那么重要。SRS中每一個需求必須進行注釋,以便區別其重要的程度。有這種方法注釋需求,可以:a.幫助客戶對每一個需求給予更周密的考慮,通??梢栽谛枨笾谐吻咫[藏的假設;b.幫助開發者做出正確的設計決定,并對軟件產品不同部分作出相應的努力。穩定性注釋需求的一種方法是使用穩定性量綱。當一個需求在軟件預期的生存期間內描述不改變的話,可以認為該需求是穩定的,否則可以認為是易變的。必要性等級注釋的另一種方法是把需求分成必須保證級、期望級和任選級。a.必須保證是指軟件必須和這些需求相一致,否則該軟件不可能被接受;b.期望是指這些需求將提高軟件產品的功能,但是如果缺省的話也是可接受的;c.任選是給開發者一個機會
36、,可以提供某些超出SRS規定的目標。注意事項在注釋需求之前,必須徹底理解這種注釋的實質性含義。在表達需求時遇到的共同弊病SRS的基本點是它必須說明由軟件獲得的結果,而不是獲得這些結果的手段。編寫需求的人必須描述的基本問題是:a.功能一一所設計的軟件要做什么;性能一一是指軟件功能在執行過程中的速度、可使用性、響應時間、各種軟件功能的恢復時間、吞吐能力、精度、頻率等等;強加于實現的設計限制一一在效果、實現的語言、數據庫完整性、資源限制、操作環境等等方面所要求的標準;d.屬性一一可移植性、正確性、可維護性及安全性等方面的考慮因素;e.外部接口一一與人、硬件、其他軟件和其他硬件的相互關系。編寫需求的人
37、應當避免把設計或項目需求寫入SRS之中,應當對說明需求設計約束與規劃設計兩者有清晰的區別。在SRS中嵌入了設計在SRS中嵌入設計說明,會過多地約束軟件設計,并且人為地把具有潛在危險的需求放入SRS中。SRS必須描述在干什么數據上、為誰完成什么功能、在什么地方、產生什么結果。SRS應把注意力集中在要完成的服務目標上。通常不指定如下的設計項目:a.把軟件劃分成若干模塊;b.給每一個模塊分配功能;c.描述模塊間的信息流程或者控制流程;選擇數據結構。5.3.1.2把設計完全同SRS隔離開來始終是不現實的。安全和保密方面的周密考慮可能增加一些直接反映設計約束的需求。例如:a.在一些分散的模塊中保持某些功
38、能;允許在程序的某些區域之間進行有限的通訊;計算臨界值的檢查和。5.3.1.3通常應考慮到,若要為軟件選擇高層次的設計,就可能需要大量的資源(可能占整個產品開發成本的10%-20%以上)。有兩種選擇:a.不顧本指南的警告,在SRS中描述了設計。這意味著,或者將一個潛在不適當的設計作為一個需求進行描述(因為,若要得到好的設計,所花費的時間是不夠的),或者在需求階段花費了過多的時間(因為在SRS完成之前整個設計分析都要完成);b.采用本指南中5.1.3條中的建議,用模型設計描述需求,這種模型設計只用于輔助描述需求,而不使之成為實際的設計。5.3.2在SRS中嵌入了一些項目要求SRS應當是描寫一個軟
39、件產品,而不是描述生產軟件產品的過程。項目要求表達客戶和開發者之間對于軟件生產方面合同性事宜的理解(因此不應當包括在SRS中)例如:a.成本;b.交貨進度;報表處理;軟件開發方法;質量保證;確認和驗證的標準;驗收過程。項目需求在另外的文件中描述。在SRS中提供的只是關于軟件產品本身的需求。6SRS大綱本章著重討論SRS的每一個基本部分,可以作為一個SRS的大綱。表1給出該大綱目錄,表2至表5給出大綱中第3章的具體需求內容。各開發者和客戶應當根據所描述的實際情況,按本指南有關規定編寫自己的SRS。目錄前言目的范圍定義、縮寫詞、略語參考資料項目概述產品描述產品功能用戶特點一般約束假設和依據具體需求
40、(參閱本指南6.3.2條中具體需求的組織形式)附錄索引前言(SRS第1章)本章提供整個SRS綜述。目的(SRS的1.1條)在這一條包括下列內容:描述實際SRS的目的;說明SRS所預期的讀者。范圍(SRS的1.2條)a.用一個名字標識被生產的軟件產品。比如:xxx數據庫系統,報表生成程序等等;說明軟件產品將干什么,如果需要的話,還要說明軟件產品不干什么;描述所說明的軟件的應用。應當:(1)盡可能精確地描述所有相關的利閃、目的、以及最終目標。(2)如果有一個較高層次的說明存在,則應該使其和高層次說明中的類似的陳述相一致(例如,系統的需求規格說明)。定義、縮寫詞、略語(SRS的1.3條)本條中必須提
41、供全部需求的術語、縮寫詞及略語的定義,以便對SRS進行適當的解釋。這些信息可以由SRS的附錄提供。也可以參考其他的文件。參考資料(SRS的1.4條)本條應包括:在SRS中各處參照的文件的全部清單,如經核準的計劃任務書,上級機關批文、合同等;列出其他參考資料,如屬本項目的其他已發表的文件和主要文獻等。每一個文件、文獻要有標題,索引號或文件號,發布或發表日期以及出版單位;詳細說明可以得到該參考文件的來源。這個信息可以通過引用附錄或其他文件提供。6.2項目概述(SRS第2章)本章應描述影響產品和其需求的一般因素,本章不說明具體的需求,而僅使需求更易于理解。產品描述(SRS的2.1條)這一條是把一個產品用其他有關的產品或項目來描述。a.如果這個產品是獨立的,而且全部內容自含,應在此說明;b.如果SRS定義的產品是一個較大的系統或項目中的一個組成部分,那
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工黑油采購合同標準文本
- 醫藥廉潔合同標準文本
- 醫療陪護服務合同標準文本
- 代簽用人合同樣本
- 化工液氮采購合同標準文本
- 主播俱樂部合同樣本
- j監制合同樣本
- LNG采購框架合同標準文本
- 企業攝影合作合同標準文本
- 冷門藥材采購合同樣本
- 2024-2025學年小學科學六年級下冊湘科版(2024)教學設計合集
- 建筑施工安全檢查標準JGJ59-2011
- 職業生涯人物訪談報告
- 幼兒園 小班健康《漢堡男孩》
- 2023年江西省贛州市尋烏縣殘聯公務員考試《行政職業能力測驗》歷年真題及詳解
- 2023年上海市虹口區街道社區工作者招聘考試真題及答案
- 《4.1 免疫系統的組成和功能》參考課件1
- 《油氣井增產技術》課件-63 拉鏈式壓裂井場布置
- 2025年廣東省東莞市中考數學模擬考試試卷及答案解析
- 醫療行業移動醫療設備租賃服務方案
- 事業單位工會管理制度
評論
0/150
提交評論