第五章軟件需求規(guī)格說明_第1頁
第五章軟件需求規(guī)格說明_第2頁
第五章軟件需求規(guī)格說明_第3頁
第五章軟件需求規(guī)格說明_第4頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章 軟件需求規(guī)格說明周立新 博士北京大學(xué)軟件與微電子學(xué)院課程提綱軟件需求基本理論和概念 軟件需求工程過程 軟件需求獲取 軟件需求分析 軟件需求規(guī)格說明 軟件需求驗證 軟件需求管理 軟件需求實現(xiàn) 軟件需求工程新進(jìn)展 軟件需求開發(fā)與需求管理工具內(nèi)容提要需求規(guī)格說明技術(shù)、基本方法需求規(guī)格說明模板數(shù)據(jù)字典示例分析 軟件需求規(guī)格說明軟件需求規(guī)格說明,也稱為功能規(guī)格說明、需求協(xié)議以及系統(tǒng)規(guī)格說明。它精確地闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件。軟件需求規(guī)格說明不僅是系統(tǒng)測試和用戶文檔的基礎(chǔ),也是所有子系列項目規(guī)劃、設(shè)計和編碼的基礎(chǔ)。它應(yīng)該盡可能完整地描述系統(tǒng)預(yù)期的外部行為和用戶可

2、視化行為。除了設(shè)計和實現(xiàn)上的限制,軟件需求規(guī)格說明不應(yīng)該包括設(shè)計、構(gòu)造、測試或工程管理的細(xì)節(jié)。編寫軟件需求規(guī)格說明的方法可以用三種方法編寫軟件需求規(guī)格說明:用好的結(jié)構(gòu)化和自然語言編寫文本型文檔。建立圖形化模型,這些模型可以描繪轉(zhuǎn)換過程、系統(tǒng)狀態(tài)和它們之間的變化、數(shù)據(jù)關(guān)系、邏輯流或?qū)ο箢惡退鼈兊年P(guān)系。編寫形式化規(guī)格說明,這可以通過使用數(shù)學(xué)上精確的形式化邏輯語言來定義需求。使用軟件需求規(guī)格說明的目的客戶和營銷部門依賴它來了解他們所能提供的產(chǎn)品。項目經(jīng)理根據(jù)包含在軟件需求規(guī)格說明中描述的產(chǎn)品來制定規(guī)劃并預(yù)測進(jìn)度安排、工作量和資源。軟件開發(fā)小組依賴它來理解他們將要開發(fā)的產(chǎn)品。測試小組使用軟件需求規(guī)格說

3、明中對產(chǎn)品行為的描述制定測試計劃、測試用例和測試過程。軟件維護(hù)和支持人員根據(jù)SRS了解產(chǎn)品的某部分是做什么的。使用軟件需求規(guī)格說明的目的產(chǎn)品發(fā)布組在SRS和用戶界面設(shè)計的基礎(chǔ)上編寫客戶文檔,如用戶手冊和幫助屏幕等。培訓(xùn)人員根據(jù)SRS和用戶文檔編寫培訓(xùn)材料。如果任何所期望的功能或非功能需求未寫入軟件需求規(guī)格說明,那么它將不能作為協(xié)議的一部分并且不能在產(chǎn)品中出現(xiàn)。 所有的參與者必須根據(jù)已通過評審的需求來安排工作以避免不必要的返工和誤解。可讀性的建議對節(jié)、小節(jié)和單個需求的號碼編排必須一致。在右邊部分留下文本注釋區(qū)。允許不加限制地使用空格。正確使用各種可視化強(qiáng)調(diào)標(biāo)志(例如,黑體、下劃線、斜體和其它不同

4、字體)。創(chuàng)建目錄表和索引表有助于讀者尋找所需的信息。對所有圖和表指定號碼和標(biāo)識號,并且可按號碼進(jìn)行查閱。使用字處理程序中交叉引用的功能來查閱文檔中其它項或位置,而不是通過頁碼或節(jié)號。標(biāo)識需求為了滿足軟件需求規(guī)格說明的可跟蹤性和可修改性的質(zhì)量標(biāo)準(zhǔn),必須唯一確定每個軟件需求。這可以使你在變更請求、修改歷史記錄、交叉引用或需求的可跟蹤矩陣中查閱特定的需求。由于要達(dá)到這一目的,用單一的項目列表是不夠的,因此,我們將描述幾個不同的需求標(biāo)識方法,并闡明它們的優(yōu)點與缺點。可以選擇最適合你的方法。標(biāo)識需求l)序列號2)層次化編碼3)層次化文本標(biāo)簽處理不完整性有時,你覺得缺少特定需求的某些信息。在解決這個不確定

5、性之前,可能必須與客戶商議。檢查與另一個系統(tǒng)的接口或者定義另一個需求。使用“待確定”(to be determined,TBD)符號作為標(biāo)準(zhǔn)指示器來強(qiáng)調(diào)軟件需求規(guī)格說明中這些需求的缺陷(gap)。通過這種方法,你可以在軟件需求規(guī)格說明中查找所要澄清需求的部分。記錄誰將解決哪個問題、怎樣解決及什么時候解決。把每個TBD編號并創(chuàng)建一個TBD列表,這有助于方便地跟蹤每個項目。用戶界面和軟件需求規(guī)格說明把用戶界面的設(shè)計編入軟件需求規(guī)格說明既有好處也有壞處。消極方面,屏幕映像和用戶界面機(jī)制是解決方案(設(shè)計)的描述,而不是需求。如果你在完成了用戶界面的設(shè)計之后才能確定軟件需求規(guī)格說明,那么需求開發(fā)的過程將

6、會花費很長的時間。 積極方面,探索潛在的用戶界面有助于你精化需求并使用戶-系統(tǒng)的交互對用戶和開發(fā)人員更具有實在性。用戶界面的演示也有助于項目計劃的制定和預(yù)測。軟件需求規(guī)格說明模板a. 引言 a.1 目的 a.2 文檔約定 a.3 預(yù)期的讀者和閱讀建議 a.4 產(chǎn)品的范圍 a.5 參考文獻(xiàn)b. 綜合描述 b.1 產(chǎn)品的前景 b.2 產(chǎn)品的功能 b.3 用戶類和特征 b.4 運行環(huán)境 b.5 設(shè)計和實現(xiàn)上的限制 b.6 假設(shè)和依賴C. 外部接口需求 C.1 用戶界面 C.2 硬件接口 C.3 軟件接口 C.4 通信接口d. 系統(tǒng)特性 d.1 說明和優(yōu)先級 d.2 激勵響應(yīng)序列 d.3 功能需求e.

7、 其它非功能需求 e.1 性能需求 e.2 安全設(shè)施需求 e.3 安全性需求 e.4 軟件質(zhì)量屬性 e.5 業(yè)務(wù)規(guī)則 e.6 用戶文檔f. 其它需求 附錄A:詞匯表 附錄B:分析模型 附錄C:待確定問題的列表 需求規(guī)格說明模板-引言 a. 引言 引言提出了對軟件需求規(guī)格說明的縱覽,這有助于讀者理解文檔如何編寫并且如何閱讀和解釋。a. 1 目的 對產(chǎn)品進(jìn)行定義,在該文檔中詳盡說明了這個產(chǎn)品的軟件需求,包括修正或發(fā)行版本號。如果這個軟件需求規(guī)格說明只與整個系統(tǒng)的一部分有關(guān)系,那么只定義文檔中說明的部分或子系統(tǒng)。a. 2 文檔約定 描述編寫文檔時所采用的標(biāo)準(zhǔn)或排版約定,包括正文風(fēng)格、提示區(qū)或重要符號

8、。列如,說明了高層需求的優(yōu)先級是否可以被其所有細(xì)化的需求繼承,或者每個需求陳述是否都有其自身的優(yōu)先級。 需求規(guī)格說明模板-引言 a. 3 預(yù)期的讀者和閱讀建議 列舉了軟件需求規(guī)格說明所針對的不同讀者,列如開發(fā)人員、項目經(jīng)理、營銷人員、用戶、測試人員或文檔的編寫人員。描述了文檔中剩余部分的內(nèi)容及其組織結(jié)構(gòu)。提出了最適合于每一類型讀者閱讀文檔的建議。a. 4 產(chǎn)品的范圍 提供了對指定的軟件及其目的的簡短描述,包括利益和目標(biāo)。把軟件與企業(yè)目標(biāo)或業(yè)務(wù)策略相聯(lián)系??梢詤⒖柬椖恳晥D和范圍文檔而不是將其內(nèi)容復(fù)制到這里。a. 5 參考文獻(xiàn) 列舉了編寫軟件需求規(guī)格說明時所參考的資料或其它資源。這可能包括用戶界面

9、風(fēng)格指導(dǎo)、合同、標(biāo)準(zhǔn)、系統(tǒng)需求規(guī)格說明、使用實例文檔,或相關(guān)產(chǎn)品的軟件需求規(guī)格說明。在這里應(yīng)該給出詳細(xì)的信息,包括標(biāo)題名稱、作者、版本號、日期、出版單位或資料來源,以方便讀者查閱這些文獻(xiàn)。 需求規(guī)格說明模板-綜合描述 這一部分概述了正在定義的產(chǎn)品以及它所運行的環(huán)境、使用產(chǎn)品的用戶和已知的限制、假設(shè)和依賴。b.1 產(chǎn)品的前景 描述了軟件需求規(guī)格說明中所定義的產(chǎn)品的背景和起源。 b.2 產(chǎn)品的功能 概述了產(chǎn)品所具有的主要功能。其詳細(xì)內(nèi)容將在d中描述,所以在此只需要概略地總結(jié),例如用列表的方法給出。 需求規(guī)格說明模板-綜合描述 b.3 用戶類和特征 確定你覺得可能使用該產(chǎn)品的不同用戶類并描述它們相關(guān)

10、的特征。 b.4 運行環(huán)境 描述了軟件的運行環(huán)境,包括硬件平臺、操作系統(tǒng)和版本,還有其它的軟件組件或與其共存的應(yīng)用程序。 b.5 設(shè)計和實現(xiàn)上的限制 確定影響開發(fā)人員自由選擇的問題,并說明這些問題為什么成為一種限制。 b.6 假設(shè)和依賴 列舉出在對軟件需求規(guī)格說明中影響需求陳述的假設(shè)因素(與已知因素相對立)。 需求規(guī)格說明模板-外部接口需求 需要把對接口數(shù)據(jù)和控制組件的詳細(xì)描述寫入數(shù)據(jù)字典中。如果產(chǎn)品的不同部分有不同的外部接口,那么應(yīng)把這些外部接口的詳細(xì)需求并入到這一部分的實例中。c.1 用戶界面 陳述所需要的用戶界面的軟件組件。描述每個用戶界面的邏輯特征。 c.2 硬件接口 描述系統(tǒng)中軟件和

11、硬件每一接口的特征。 c.3 軟件接口 描述該產(chǎn)品與其他外部組件(由名字和版本識別)的連接,包括數(shù)據(jù)庫、操作系統(tǒng)、工具和集成的商業(yè)組件 等。c.4 通信接口 描述與產(chǎn)品所使用的通信功能相關(guān)的,包括電子郵件、Web瀏覽器、網(wǎng)絡(luò)通信標(biāo)準(zhǔn)或協(xié)議及電子表格等等。需求規(guī)格說明模板-系統(tǒng)特性 d.1 說明和優(yōu)先級 提出了對該系統(tǒng)特性的簡短說明并指出該特性的優(yōu)先級是高、中,還是低。或者你還可以包括對特定優(yōu)先級部分的評價,例如利益、損失、費用和風(fēng)險,其相對優(yōu)先等級可以從1(低)到9(高)。d.2 激勵/響應(yīng)序列 列出輸入激勵(用戶動作、來自外部設(shè)備的信號或其它觸發(fā)器)和定義這一特性行為的系統(tǒng)響應(yīng)序列。 d.3

12、 功能需求 列出與該特性相關(guān)的詳細(xì)功能。 需求規(guī)格說明模板-其它非功能需求 這部分列舉出了所有非功能需求,而不是外部接口需求和限制。 e.1 性能需求 闡述了不同的應(yīng)用領(lǐng)域?qū)Ξa(chǎn)品性能的需求,并解釋它們的原理以幫助開發(fā)人員作出合理的設(shè)計選擇。 e.2 安全設(shè)施需求 詳盡陳述與產(chǎn)品使用過程中可能發(fā)生的損失、破壞或危害相關(guān)的需求。 e.3 安全性需求 詳盡陳述與系統(tǒng)安全性、完整性或與私人問題相關(guān)的需求,這些問題將會影響到產(chǎn)品的使用和產(chǎn)品所創(chuàng)建或使用的數(shù)據(jù)的保護(hù)。 需求規(guī)格說明模板-其它非功能需求e.4 軟件質(zhì)量標(biāo)準(zhǔn)屬性 詳盡陳述與客戶或開發(fā)人員至關(guān)重要的其產(chǎn)品質(zhì)量特性。 e.5 業(yè)務(wù)規(guī)則 列舉出有關(guān)

13、產(chǎn)品的所有操作規(guī)則,例如什么人在特定環(huán)境下可以進(jìn)行何種操作。 e.6 用戶文檔 列舉出將與軟件一同發(fā)行的用戶文檔部分,例如,用戶手冊、在線幫助和教程。明確所有已知的用戶文檔的交付格式和標(biāo)準(zhǔn)。 需求規(guī)格說明模板-其它需求 定義在軟件需求規(guī)格說明的其它部分未出現(xiàn)的需求,例如國際化需求或法律上的需求。你還可以增加有關(guān)操作、管理和維護(hù)部分來完善產(chǎn)品安裝、配置、啟動和關(guān)閉、修復(fù)和容錯,以及登錄和監(jiān)控操作等方面的需求。在模板中加入與你的項目相關(guān)的新部分。如果你不需要增加其它需求,就省略這一部分。 需求規(guī)格說明模板-附錄 附錄A: 詞匯表 定義所有必要的術(shù)語,以便讀者可以正確地解釋軟件需求說明,包括詞頭和縮

14、寫。你可能希望為整個公司創(chuàng)建一張跨越多項項目的詞匯表,并且只包括特定于單一項目的軟件需求規(guī)格說明中的術(shù)語。附錄B:分析模型 這個可選部分包括或涉及到相關(guān)的分析模型的位置,例如數(shù)據(jù)流程圖、類圖、狀態(tài)轉(zhuǎn)換圖或?qū)嶓w-關(guān)系圖。 附錄C: 待確定問題的列表 編輯一張在軟件需求規(guī)格說明中待確定問題的列表,其中每一表項都是編上號的,以便于跟蹤調(diào)查。 數(shù)據(jù)字典(1/3)數(shù)據(jù)字典是為了描述在結(jié)構(gòu)化分析過程中定義的對象的內(nèi)容,而使用的一種半形式化的工具。下面是對這個重要的建模工具的定義: 數(shù)據(jù)字典是所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的有組織的列表,并且包含了對這些數(shù)據(jù)元素的精確、嚴(yán)格的定義,從而使得用戶和系統(tǒng)分析員雙方對輸

15、入、輸出、存儲的成分甚至中間計算結(jié)果有共同的理解。簡而言之,數(shù)據(jù)字典是描述數(shù)據(jù)的信息的集合,是對系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。 數(shù)據(jù)字典(2/3) 目前,數(shù)據(jù)字典幾乎總是作為 “結(jié)構(gòu)化分析與設(shè)計工具”(CASE工具)的一部分實現(xiàn)的。盡管不同工具中數(shù)據(jù)字典的形式不同,但是絕大多數(shù)數(shù)據(jù)字典都包含下列信息:名字?jǐn)?shù)據(jù)、控制項、數(shù)據(jù)存儲或外部實體的主要 名稱。別名第一項中對象的其他名字。使用地點與方式使用數(shù)據(jù)或控制項的處理的列表,以及使用這些對象的方式(例如作為處理的輸入,從處理輸出,作為數(shù)據(jù)存儲,作為外部實體) 。內(nèi)容描述描述數(shù)據(jù)或控制項內(nèi)容的符號。補(bǔ)充信息關(guān)于數(shù)據(jù)類型、預(yù)置值、限制等的其他信

16、息。數(shù)據(jù)字典(3/3)由數(shù)據(jù)元素組成數(shù)據(jù)的方式只有下述三種基本類型:順序 即以確定次序連接兩個或多個分量。選擇 即從兩個或多個可能的元素中選取一個。重復(fù) 即把指定的分量重復(fù)零次或多次。 因此,可以使用上述三種關(guān)系算符定義數(shù)據(jù)字典中的任何條目。 需求示例的改進(jìn)前后“產(chǎn)品必須在固定的時間間隔內(nèi)提供狀態(tài)消息,并且每次時間間隔不得小于60秒”a. 在后臺任務(wù)進(jìn)程啟動之后,消息必須每隔 60 (10)秒更新一次,并且保持連續(xù)的可見性。b. 如果正在正常處理后臺任務(wù)進(jìn)程,那么后臺任務(wù)管理器(BTM)必須顯示后臺任務(wù)進(jìn)程已完成的百分比。c. 當(dāng)完成后臺任務(wù)時,后臺任務(wù)管理器(BTM)必須顯示一個“已完成”的消息。d. 如果后臺任務(wù)中止執(zhí)行,那么后臺任務(wù)管理器(BTM)必須顯示一個出錯消息。需求示例的改進(jìn)前后“產(chǎn)品必須在顯示和隱藏非打印字符之間進(jìn)行瞬間切換”“用戶在編輯文檔時,通過激活特定的觸發(fā)機(jī)制,可以在顯示和隱藏所有HTML標(biāo)記之間進(jìn)行切換”“如果可能的話,應(yīng)當(dāng)根據(jù)主貨物編號列表在線確認(rèn)所輸入的貨物編號。

溫馨提示

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

評論

0/150

提交評論