例2.“產(chǎn)品應(yīng)瞬間在顯示和隱藏不可打印字符間切換” 計(jì)算機(jī)在瞬間不能做任何事,所以這個(gè)需求不切實(shí)可行。它的不完整性表現(xiàn)在沒有聲明觸發(fā)狀態(tài)切換的條件。軟件要在某些條件下更改自己?或者用戶為了模仿更改要做一些動(dòng)作?而且,在文檔中改變顯示的范圍是多大:選中的文本,整個(gè)的文檔,或其他的?這也是個(gè)模糊的問題。不可打印字符合隱藏字符一樣嗎?或者是一些屬性標(biāo)志或一些控制字符?問題的后果,就是需求的不可證實(shí)。 象這樣編寫需求也許更好一些:“用戶能夠在一個(gè)由特定觸發(fā)條件激活處于編輯的文檔中在顯示和隱藏所有HTML標(biāo)記間切換”,F(xiàn)在就很清楚,不可打印字符是HTML標(biāo)記。由于沒有定義觸發(fā)條件,需求對(duì)設(shè)計(jì)沒有約束力。只有設(shè)計(jì)人員選定了觸發(fā)條件后,你才能編寫測試驗(yàn)證觸發(fā)的正確操作。
例3.“HTML分析器可以產(chǎn)生HTML標(biāo)記錯(cuò)誤報(bào)告,幫助HTML入門者快速解決錯(cuò)誤”。單詞“快速”使其模糊,沒 有加進(jìn)錯(cuò)誤報(bào)告的定義也是其部完整。我不知道,你怎么驗(yàn)證這個(gè)需求。找一個(gè)自稱為HTML的入門者,看看能不能根據(jù)錯(cuò)誤報(bào)告快速解決錯(cuò)誤? 試試這個(gè):“HTML分析器可以產(chǎn)生一個(gè)錯(cuò)誤報(bào)告,錯(cuò)誤報(bào)告包含有在被分析文件中出錯(cuò)的HTML文本和行號(hào)以及錯(cuò)誤的描述。如果沒有錯(cuò)誤,就不會(huì)產(chǎn)生錯(cuò)誤報(bào)告”,F(xiàn)在我們知道了,什么會(huì)被加到出錯(cuò)報(bào)告中,但是出錯(cuò)報(bào)告是個(gè)什么樣子,則留由設(shè)計(jì)人員決定。我們還指定了一個(gè)例外:如果沒有發(fā)現(xiàn)錯(cuò)誤,不產(chǎn)生錯(cuò)誤報(bào)告。
例4.“如果可能,主管號(hào)碼應(yīng)通過聯(lián)機(jī)校驗(yàn),而不是通過主全體主管號(hào)碼列表校驗(yàn)”。真感到絕望,什么是“如果可能”:如果技術(shù)上可行?如果主全體主管號(hào)碼列表可以聯(lián)機(jī)獲得?要避免象“應(yīng)該”的這類不確切的詞?蛻羰切枰@個(gè)功能性還是不需要。我曾看過一些需求說明書,采用諸如:應(yīng),將,應(yīng)該/將要等一些詞描述優(yōu)先級(jí)的細(xì)微差別。但我更喜歡用“應(yīng)”清楚的說明需求的意圖,指明優(yōu)先級(jí)。這是修改后的:系統(tǒng)應(yīng)校驗(yàn)輸入的主管號(hào)碼而不通過聯(lián)機(jī)的主全體主官號(hào)碼列表。如果在列表中沒有發(fā)現(xiàn)主管號(hào)碼,將會(huì)顯示一條錯(cuò)誤信息,也不接受指令。 在理解各個(gè)已完成的糟糕需求上,開發(fā)人員將會(huì)遇到的難題是:開發(fā)人員與客戶將會(huì)在審核需求,未達(dá)成共識(shí)前發(fā)生激烈的爭論。詳細(xì)檢查大的需求文檔不是一件輕松的事情。我清楚有人做過,而且他們花在檢查上的每一分鐘都是值得的。相對(duì)于開發(fā)階段和用戶的抱怨電話,在這個(gè)階段修補(bǔ)缺陷是便宜的,
編寫質(zhì)量需求的方針
編寫優(yōu)秀的需求是沒有公式化的方法的。這需要大量的經(jīng)驗(yàn),要從你在過去的文檔中發(fā)現(xiàn)的問題學(xué)習(xí)。請(qǐng)?jiān)诮M織軟件需求文檔時(shí),嚴(yán)格遵從這些方針。 句子和段落要短。采用主動(dòng)語氣。使用正確的語法,拼寫,標(biāo)點(diǎn)。使用術(shù)語,要保持一致性,并在術(shù)語表或數(shù)據(jù)字典中定義它們
此文章共有5頁 上一頁 1 2 3 4 5 下一頁
文章來源:中國項(xiàng)目管理資源網(wǎng)
軟件開發(fā)項(xiàng)目管理培訓(xùn)課程方案 |