如何編寫高質(zhì)量需求
Karl E m.taixiivf.comL標(biāo)記。由于沒有定義觸發(fā)條件,需求對(duì)設(shè)計(jì)沒有約束力。只有設(shè)計(jì)人員選定了觸發(fā)條件后,你才能編寫測(cè)試驗(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)告”。現(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)通過(guò)聯(lián)機(jī)校驗(yàn),而不是通過(guò)主全體主管號(hào)碼列表校驗(yàn)”。
真到絕望,什么是“如果可能”:如果技術(shù)上可行?如果主全體主管號(hào)碼列表可以聯(lián)機(jī)獲得?要避免象“應(yīng)該”的這類不確切的詞?蛻羰切枰@個(gè)功能性還是不需要。我曾看過(guò)一些需求說(shuō)明書,采用諸如:應(yīng),將,應(yīng)該/將要等一些詞描述優(yōu)先級(jí)的細(xì)微差別。但我更喜歡用“應(yīng)”清楚的說(shuō)明需求的意圖,指明優(yōu)先級(jí)。這是修改后的:系統(tǒng)應(yīng)校驗(yàn)輸入的主管號(hào)碼而不通過(guò)聯(lián)機(jī)的主全體主官號(hào)碼列表。如果在列表中沒有發(fā)現(xiàn)主管號(hào)碼,將會(huì)顯示一條錯(cuò)誤信息,也不接受指令。
在理解各個(gè)已完成的糟糕需求上,開發(fā)人員將會(huì)遇到的難題是:開發(fā)人員與客戶將會(huì)在審核需求,未達(dá)成共識(shí)前發(fā)生激烈的爭(zhēng)論。詳細(xì)檢查大的需求文檔不是一件輕松的事情。我清楚有人做過(guò),而且他們花在檢查上的每一分鐘都是值得的。相對(duì)于開發(fā)階段和用戶的抱怨電話,在這個(gè)階段修補(bǔ)缺陷是便宜的,
編寫質(zhì)量需求的方針
編寫優(yōu)秀的需求是沒有公式化的方法的。這需要大量的經(jīng)驗(yàn),要從你在過(guò)去的文檔中發(fā)現(xiàn)的問題學(xué)習(xí)。請(qǐng)?jiān)诮M織軟件需求文檔時(shí),嚴(yán)格遵從這些方針。
? 句子和段落要短。采用主動(dòng)語(yǔ)氣。使用正確的語(yǔ)法,拼寫,標(biāo)點(diǎn)。使用術(shù)語(yǔ),要保
持一致性,并在術(shù)語(yǔ)表或數(shù)據(jù)字典中定義它們
? 要看需求是否被有效的定義,可以以開發(fā)人員的觀點(diǎn)看看。在內(nèi)心將“當(dāng)你們做完
了找我”這句加到文檔尾部,看看能不能是你緊張起來(lái)。換句話說(shuō),你是否需要SRS的編寫者的額外解釋幫助開發(fā)人員很好的理解需求,以便于設(shè)計(jì)和實(shí)現(xiàn)?如
果是的話,在繼續(xù)工作前,需求還需要細(xì)化。
? 需求編寫者還要努力正確地把握細(xì)化程度。要避免包含多個(gè)需求的長(zhǎng)的敘述段落。
有幫助的提示是編寫?yīng)毩⒌目蓽y(cè)試的需求。如果你認(rèn)為一小部分測(cè)試可以驗(yàn)證一個(gè)需求的正確,那么它已經(jīng)正確的細(xì)化了。如果你預(yù)想到多種不同類的測(cè)試,幾個(gè)需求可能已擠到了一起,需要拆分開。
? 密切關(guān)注多個(gè)需求合成了單個(gè)需求。一個(gè)需求中的連接詞“和”/“或”建議幾個(gè)
需求合并。不要在一個(gè)需求中使用“和”/“或”。
? 通篇文檔細(xì)節(jié)上要保持一致。我曾看見過(guò)多個(gè)需求說(shuō)明書前后不一致。如:“對(duì)于
紅色合法的顏色代碼應(yīng)是R”及“對(duì)于綠色合法的顏色代碼應(yīng)是G”就有可以以分散的需求分離開,而“產(chǎn)品應(yīng)能對(duì)來(lái)自語(yǔ)音編輯指示做出反應(yīng)”應(yīng)作為一個(gè)子系統(tǒng),不應(yīng)作為單個(gè)的功能性需求。
? 避免在SRS中過(guò)多的申述需求。在多處包含相同的需求可以使文檔更易于閱讀,
但也會(huì)給文檔的維護(hù)增加困難。文檔的多份文本要在同一時(shí)間內(nèi)全部更新,避免不一致性。
如果你遵從了這些方針,你能夠盡早地經(jīng)常正式或非正式的審查需求,這些需求對(duì)于產(chǎn)品的構(gòu)造,系統(tǒng)測(cè)試以及最后的客戶滿意,都會(huì)成為好的奠基石。并且要記住,沒有高質(zhì)量的需求,軟件就象一個(gè)巧克力的盒子,你不會(huì)知道你將要得到什么。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。