針對功能的需求:
1.是否定義了系統(tǒng)的全部輸入捂蕴,包括來源,精度闪幽,取值范圍啥辨,出現(xiàn)頻率等?
2.是否定義了系統(tǒng)全部的輸出盯腌,包括目的地溉知,精度,取值范圍腕够,出現(xiàn)頻率级乍,格式等?
3.是否詳細(xì)定義了所有輸出格式(web頁面帚湘,報(bào)表玫荣,等等)?
4.是否詳細(xì)定義了所有硬件以及軟件的外部接口?
5.是否詳細(xì)定義了全部外部通信接口大诸,包括握手協(xié)議崇决,糾錯協(xié)議材诽,通信協(xié)議等?
6.是否列出了用戶想要做的全部事情恒傻?
7.是否詳細(xì)定義了每個(gè)任務(wù)所用的數(shù)據(jù),以及每個(gè)任務(wù)得到的數(shù)據(jù)建邓?
針對非功能的需求:
1.是否為全部必要操作盈厘,從用戶的角度詳細(xì)描述了期望響應(yīng)時(shí)間?
2.是否描述了與其他與計(jì)時(shí)有關(guān)的考慮官边,例如處理時(shí)間沸手,數(shù)據(jù)傳輸率,系統(tǒng)吞吐量?
3.是否詳細(xì)定義了安全級別注簿?
4.是否詳細(xì)定義了可靠性契吉,包括軟件失靈的后果,發(fā)生故障時(shí)需要保護(hù)的至關(guān)重要的信息诡渴,錯誤檢測與恢復(fù)策略等捐晶?
5.是否詳細(xì)定義了機(jī)器內(nèi)存和剩余磁盤空間的最小值?
6.是否詳細(xì)定義了系統(tǒng)的可維護(hù)性妄辩,包括特定功能的變更惑灵,操作環(huán)境的變更,與其他軟件接口的變更能力眼耀?
7.是否包含對成功的定義英支?對失敗的定義呢?
需求的質(zhì)量:
1.需求是用戶語言書寫的嗎哮伟?用戶也這么認(rèn)為干花?
2.每條需求都不與其它需求沖突嗎?
3.是否定義了相互競爭的特性之間的權(quán)衡(例如:健壯性與正確性之間的權(quán)衡)楞黄?
4.是否避免在需求中規(guī)定設(shè)計(jì)(方案)池凄?
5.需求是否在詳細(xì)程度上保持相當(dāng)一致的水平?有些需求應(yīng)該更詳細(xì)的描述嗎谅辣?有些需求應(yīng)該更粗略的描述嗎修赞?
6.需求是否足夠清晰,即使轉(zhuǎn)交給一個(gè)獨(dú)立的小組去構(gòu)建桑阶,他們也能理解嗎柏副?開發(fā)者也這么想嗎?
7.每個(gè)條款都與待解決的問題及其解決方案相關(guān)嗎蚣录?能從每個(gè)條款上溯到他在問題域中對應(yīng)的根源嗎割择?
8.是否每條需求都是可測試的?是否可進(jìn)行獨(dú)立測試萎河,以檢驗(yàn)滿不滿足各項(xiàng)需求荔泳?
9.是都詳細(xì)描述了所有可能的對需求的改動蕉饼,包括各項(xiàng)目改的的可能性?
需求的完備性:
對于開始開發(fā)前無法獲得的信息玛歌,是否詳細(xì)描述了信息不完玩的區(qū)域昧港?
需求的完備程度是否能達(dá)到這種程度,如果產(chǎn)品滿足所有需求支子,那么它就是可接受的创肥?
你對所有的需求都感到很舒服嗎?你是否去掉了那些不可能實(shí)現(xiàn)的需求--那些只是為了安撫客戶和老板的東西值朋?