第七步:你的需求是否通俗易懂?
相比于我們原來的描述:“根據彎曲傳感器的輸出不同頻率來控制LED閃爍”,我們上面的那些需求描述顯得難以閱讀和理解。
我發現,讓需求文檔變得通俗易懂,最簡單辦法莫過于,把過于細節的東西抽取出來,然后以條目的形式單獨定義。
版本1
1. 彎曲傳感器應當保證至少在100毫秒內讀取一次數據(放到注釋單獨列出)
2. 切換LED的狀態,使其與彎曲傳感器的讀數保持一致
3. 當彎曲傳感器的讀數為1伏特時,LED狀態切換的次數應當保持在平均一秒十次;當傳感器的讀數為0伏特時,LED的切換次數應保持在一秒1次。
定義:
• 彎曲傳感器:輸入電壓位于ADC的X端。安全電壓范圍為0到1伏特(放到注釋單獨列出)
• LED狀態:數字狀態由Y端輸出
這樣就好多了(盡管還不完美)。這些需求通俗易懂,不涉及到系統內部實現,且易于測試。對于系統行為的限定也僅僅限于需要做什么,點到為止。(例如,對彎曲傳感器的采樣頻率,在實現上也可以更高,只要不產生非預期行為,一切都可以)。
編寫需求就仿佛是在大腦中構建軟件的過程。因此要重于執行操作。