|
優(yōu)秀需求具有的特性-需求陳述的特征 1. 完整性 2. 正確性 3. 可行性 4. 必要性 5. 劃分優(yōu)先級(jí) 6. 無(wú)二義性 7. 可驗(yàn)證性 8.一致性 9.可修改性 10.可跟蹤性
推薦的編寫(xiě)需求文檔的指南 定義標(biāo)準(zhǔn)的文檔結(jié)構(gòu) 說(shuō)明如何使用文檔 包含一個(gè)需求概要 構(gòu)造系統(tǒng)的業(yè)務(wù)案例 定義專(zhuān)業(yè)術(shù)語(yǔ) 安排好文檔的版面使文檔易讀 幫助讀者查找信息 使文檔易于變更 推薦的需求描述指南 定義描述需求的標(biāo)準(zhǔn)模板 使用淺顯、一致、簡(jiǎn)明的語(yǔ)言 適當(dāng)?shù)厥褂脠D解 其他需求描述輔助自然語(yǔ)言 定量說(shuō)明需求 惟一地標(biāo)識(shí)每個(gè)需求 記錄需求源 需求的理由 1.定義標(biāo)準(zhǔn)的文檔結(jié)構(gòu) 為需求確定恰當(dāng)?shù)慕Y(jié)構(gòu)可有助于: – 有利于讀者閱讀 – 最小化需求的總量; – 理解大量信息; – 找出與具體問(wèn)題有關(guān)的需求集合; – 發(fā)現(xiàn)遺漏和重復(fù); – 消除需求之間的矛盾; – 管理迭代(例如延遲提出的需求); – 拒絕差的需求; – 評(píng)估需求; – 在多個(gè)項(xiàng)目中重用需求。 – 開(kāi)發(fā)軟件來(lái)支持符合通用標(biāo)準(zhǔn)的需求文檔產(chǎn)品 定義標(biāo)準(zhǔn)的文檔結(jié)構(gòu) 文檔一般是分層的,對(duì)于多個(gè)層次采用節(jié)和小節(jié)來(lái)組織。文檔層次是分類(lèi)的有用結(jié)構(gòu),確定需求文檔結(jié)構(gòu)的一種方式,是使用通過(guò)標(biāo)題結(jié)構(gòu)能夠?qū)π枨笳Z(yǔ)句編目的節(jié)。采用這種方式,需求語(yǔ)句在文檔中的位置代表其一級(jí)分類(lèi)。(二級(jí)分類(lèi)可以通過(guò)指向其它節(jié)的鏈或通過(guò)屬性給出。 文檔結(jié)構(gòu)-IEEE/ANSI1830-1993 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用戶(hù)類(lèi)和特征 b.4運(yùn)行環(huán)境 b.5設(shè)計(jì)和實(shí)現(xiàn)上的限制 b.6假設(shè)和依賴(lài) c.外部接口需求 c.1用戶(hù)界面 c.2硬件接口 c.3軟件接口 c.4通信接口 d.系統(tǒng)特性 d.1說(shuō)明和優(yōu)先級(jí) d.2激勵(lì)/響應(yīng)序列 d.3功能需求 e.其它非功能需求 e.1性能需求 e.2安全設(shè)施需求 e.3安全性需求 e.4軟件質(zhì)量屬性 e.5業(yè)務(wù)規(guī)則 e.6用戶(hù)文檔 f.其它需求 附錄A:詞匯表 附錄B:分析模型 附錄C:待確定問(wèn)題的列表 文檔結(jié)構(gòu)-組織特殊信息 系統(tǒng)的概述和開(kāi)發(fā)該系統(tǒng)的效益 解釋所使用的技術(shù)術(shù)語(yǔ)的術(shù)語(yǔ)表 系統(tǒng)服務(wù)或功能需求的定義 系統(tǒng)特性或如可靠性、安全性等非功能性需求的定義 系統(tǒng)操作和系統(tǒng)開(kāi)發(fā)過(guò)程的約束 系統(tǒng)的操作環(huán)境和該環(huán)境可能變更的定義 詳細(xì)的系統(tǒng)規(guī)格說(shuō)明,它被表示成表示系統(tǒng)組件之間關(guān)系的系統(tǒng)模型。 2.說(shuō)明如何使用文檔 效益 – 減少閱讀的成本 – 明確知識(shí)要求 實(shí)施 – 明確所針對(duì)不同類(lèi)型的讀者 – 明確理解文檔所需要的專(zhuān)業(yè)知識(shí)和技術(shù)背景 – 指向概述部分的指示器 – 明確第一次閱讀進(jìn)可以路過(guò)的部分 – 描述閱讀各部分的相關(guān)順序 3.包含一個(gè)需求概要 效益-更易于理解的需求文檔 – 幫助理解概要 – 關(guān)注關(guān)鍵需求,有利于建立需求的優(yōu)先級(jí) – 作為文檔中的需求的映射,有助于讀者發(fā)現(xiàn)感興趣的需求 實(shí)施 – 是重要的需求用編號(hào)的列表來(lái)表示 – 基于某種分類(lèi)結(jié)構(gòu),在表格中列出不同需求 – 通過(guò)把每個(gè)主要需求表示成圖上的一個(gè)結(jié)點(diǎn),可以產(chǎn)生需求的圖形化視點(diǎn) 4.構(gòu)造系統(tǒng)的業(yè)務(wù)案例 效益-提供系統(tǒng)需求的一個(gè)理由 – 幫助評(píng)估需求變更 – 幫助理解包含特殊需求的原因 實(shí)施 – 放在需求文檔引言的單獨(dú)章節(jié)中 – 列出業(yè)務(wù)目標(biāo) – 給出目標(biāo)系統(tǒng)有助于這些業(yè)務(wù)理由 5.定義專(zhuān)業(yè)術(shù)語(yǔ) 效益-避免需求文檔的讀者與作者之間的誤解 – 幫助讀者理解需求文檔 – 幫助不同作者使用相同的術(shù)語(yǔ) – 減少混淆 實(shí)施 – 定義一個(gè)標(biāo)準(zhǔn)的術(shù)語(yǔ)表 – 根據(jù)術(shù)語(yǔ)表修改需求文檔 – 例如: 詞匯表 6.安排好文檔版面使文檔易讀 效益--使文檔易讀 – 讀的次數(shù)比寫(xiě)的次數(shù)多,因此…… – 易于評(píng)審時(shí)發(fā)現(xiàn)更好的問(wèn)題 實(shí)施 – 使用寬的頁(yè)邊空白來(lái)使文本 – 節(jié)和小節(jié)的標(biāo)題采用一致的格式 – 少用著重號(hào),一致地使用著重號(hào) – 使用表格、標(biāo)號(hào)列表或數(shù)字列表來(lái)表示相關(guān)信息項(xiàng)的集合。 – 當(dāng)許多信息項(xiàng)必須表示成穩(wěn)定和變化兩部分時(shí),使用表格來(lái)顯示共同點(diǎn)和不同點(diǎn)。 – 使用空白把方程式和文本分開(kāi),并使用不同字體來(lái)表示它們。 – 如果要描述一系列事件或一個(gè)順序的過(guò)程,使用圖表來(lái)顯示過(guò)程的各個(gè)步驟。 – 不用使用復(fù)雜的圖表 7.幫助讀者查找信息 效益-易于用做系統(tǒng)參考 – 索引和目錄容易使需求規(guī)格說(shuō)明作為參考文檔 – 索引幫助讀者評(píng)審文檔 實(shí)施 – 生成索引和目錄 – 出現(xiàn)在索引中的術(shù)語(yǔ)應(yīng)在正文中標(biāo)明 – 可以使用字處理系統(tǒng)中的自動(dòng)化工具來(lái)創(chuàng)建索引 8.使用文檔易于變更 效益-減少需求變更的成本 – 制作和分發(fā)新的需求文檔既昂貴又耗時(shí),易于變更的文檔可以改變這種情況 – 有利于及時(shí)驗(yàn)證文檔 實(shí)施(結(jié)合“安排好文檔的版面使文檔易讀”一起實(shí)施) – 把文檔做成活頁(yè) – 利用字處理系統(tǒng)的修訂模式 – 寫(xiě)文檔時(shí),避免引用文檔中的其他頁(yè)碼 – 確保所有圖表都有標(biāo)簽,始終使用標(biāo)簽引用圖表 – 保持章簡(jiǎn)短以便整章可以被用戶(hù)替換 – 在單獨(dú)的頁(yè)上開(kāi)始新的一章 – 始終根據(jù)章給頁(yè)編號(hào) – 如果有的話(huà),使用使用字處理系統(tǒng)中制作圖、表等的相對(duì)引用的功能。以便能夠自動(dòng)變更引用。 9.定義描述需求的標(biāo)準(zhǔn)模板 效益--需求前后一致,更加易懂 – 標(biāo)準(zhǔn)使得需求易于閱讀 – 標(biāo)準(zhǔn)使得需求易于收集 – 標(biāo)準(zhǔn)使得需求易于書(shū)寫(xiě) 實(shí)施 – 針對(duì)不同業(yè)務(wù)領(lǐng)域和技術(shù)使用不共的需求模板 – 對(duì)模板的使用進(jìn)行詳細(xì)說(shuō)明(注釋?zhuān)?br>– 提供樣本以供參考 10.使用淺顯、一致、簡(jiǎn)明的語(yǔ)言 效益--需求更加易讀易懂 – 使用淺顯的語(yǔ)言書(shū)寫(xiě)的需求易于閱讀和理解 – 使用淺顯的語(yǔ)言書(shū)寫(xiě)的需求有利于讓更多的人理解需求 實(shí)施-書(shū)寫(xiě)規(guī)則 – 用短句 – 一個(gè)句子表達(dá)一項(xiàng)需求 – 不要使用術(shù)語(yǔ)和縮略語(yǔ),除非完全確信文檔的所有讀者都能夠明白。 – 用短段。(一個(gè)段落不應(yīng)該多于七個(gè)句子) – 盡可能使用列表或者表格來(lái)表達(dá)信息序列。 – 術(shù)語(yǔ)一致 – 使用“必須”、“應(yīng)該”、“將”時(shí)注意它們?cè)~義的前后一致。 – 不要使用嵌套的條件從句表達(dá)需求。 – 使用主動(dòng)語(yǔ)氣而不是被動(dòng)語(yǔ)氣 – 不要試圖在自然語(yǔ)言描述中表達(dá)復(fù)雜的關(guān)系(用圖) – 不用使用匿名引用。 – 注意拼寫(xiě)和語(yǔ)法 10.使用淺顯、一致、簡(jiǎn)明的語(yǔ)言 除了語(yǔ)言之外,還有一些需求語(yǔ)句應(yīng)該滿(mǎn)足的特定準(zhǔn)則。這些準(zhǔn)則歸納如下: 原子性:每個(gè)語(yǔ)句都只攜帶單個(gè)可跟蹤元素; 唯一性:每個(gè)語(yǔ)句都可以被惟一地標(biāo)識(shí); 可行性:在成本和進(jìn)度限度內(nèi),在技術(shù)上是可行的; 合法性:在法律上是可行的; 清晰性:每個(gè)語(yǔ)句都可以被清晰地理解; 準(zhǔn)確性:每個(gè)語(yǔ)句都是準(zhǔn)確、精確的; 可檢驗(yàn)性:每個(gè)語(yǔ)句都是可檢驗(yàn)的,并知道如何檢驗(yàn); 抽象性:不強(qiáng)迫針對(duì)下層的特定的設(shè)計(jì)解決方案。
11.適當(dāng)?shù)厥褂脠D解 效益--圖解最適于記錄需求關(guān)系 – 圖解在表示關(guān)系時(shí)比文本有效得多 – 圖解將大段的文本分為更小的、更易于閱讀的片段 – 圖解可能在對(duì)客戶(hù)展示需求時(shí)重用 實(shí)施-時(shí)機(jī) – 當(dāng)某個(gè)對(duì)象由多個(gè)模塊和組件組成,而你希望闡明它們之間的關(guān)系時(shí) – 當(dāng)需要表達(dá)一個(gè)系列的行為,而每個(gè)行為都有一些輸入輸出時(shí)。圖解可以用來(lái)表述行為序列,以及在哪些地方這些行為可以并行發(fā)生。 – 當(dāng)需要說(shuō)明空間組織,如控制板時(shí) – 當(dāng)需要使用一些分解結(jié)構(gòu),如組織結(jié)構(gòu)圖 使用圖解的原則 盡可能簡(jiǎn)單 避免使用意義不清的圖標(biāo) 應(yīng)該用顏色或陰影來(lái)區(qū)分圖解的不同部分或者起強(qiáng)調(diào)作用 不用亂用圖解
12.用其他需求描述輔助自然語(yǔ)言 效益--更加簡(jiǎn)明、無(wú)二義的需求描述 – 特殊符號(hào)的描述不太可能引起誤解 – 對(duì)于對(duì)符號(hào)熟悉的專(zhuān)家更易發(fā)現(xiàn)問(wèn)題 實(shí)施 – 決策樹(shù) – 編程語(yǔ)言或程序設(shè)計(jì)語(yǔ)言 – 代數(shù) – 數(shù)據(jù)流圖 – 時(shí)序圖 – 系統(tǒng)模型 13.定量說(shuō)明需求 效益--無(wú)二義的表達(dá)需求 – 簡(jiǎn)明的交流方式 – 可能作為系統(tǒng)驗(yàn)收測(cè)試的基準(zhǔn) 實(shí)施 – 定義表達(dá)這些屬性的合適的度量 – 為屬性決定一個(gè)合適的值 非功能需求可能使用的度量 14.惟一地標(biāo)識(shí)每個(gè)需求 效益-方便引用、利于管理 – 可以用來(lái)指向相關(guān)的需求和構(gòu)造可跟蹤性表 – 有利于放到數(shù)據(jù)庫(kù)中統(tǒng)一管理 – 有利于需求版本的管理 實(shí)施 – 最常用的方法是根據(jù)需求文檔中包含的章節(jié)分配數(shù)字 字處理系統(tǒng)可以自動(dòng)處理 臨時(shí)的標(biāo)識(shí)符解決需求無(wú)法確認(rèn)的問(wèn)題 15. 記錄需求源 效益-需求可跟蹤性 – 有利于分析和變更需求 – 有助于理解該需求存在的原因 實(shí)施 – 需求收集表中記錄需求源 – 在需求數(shù)據(jù)庫(kù)中也可以記錄 – 不要放在需求規(guī)格說(shuō)明書(shū)中 低成本需求文檔編寫(xiě)規(guī)則 以上15種需求文檔編寫(xiě)指南為低成本引入的方法。 16.需求的理由 效益-提高對(duì)需求的理解 – 使讀者更易于理解和評(píng)估需求變更的影響 – 問(wèn)題專(zhuān)家可以使用該理由檢驗(yàn)需求是否與正在解決的問(wèn)題一致。 實(shí)施 – 需求收集表中記錄需求源 – 在需求數(shù)據(jù)庫(kù)中也可以記錄 – 不要放在需求規(guī)格說(shuō)明書(shū)中 寫(xiě)文檔的總的原則 一開(kāi)始就定義提綱結(jié)構(gòu),最好是層次式的,并隨著工作的深入不斷改進(jìn)。 盡可能快地寫(xiě)下需求,即使這些需求并不完備。 提前確定用于為文本描述分類(lèi)與詳細(xì)描述的屬性是什么。 快速產(chǎn)生一個(gè)初始版本,以便立即得到反饋。 隨著工作的輸入不斷完善需求,去掉重復(fù)部分、難以保證的設(shè)計(jì)和不一致性。 不斷集思廣益并進(jìn)行非正式評(píng)審,快速改進(jìn)版本。 向用戶(hù)請(qǐng)教要比由“專(zhuān)家”分析好得多。
|