1974年,J.D.Warnier提出的軟體開發方法與Jackson方法類似。
差別有三點:一是它們使用的圖形工具不同,分別使用Warnier圖和Jackson圖;第二個差別是使用的偽碼不同;最後也是最主要的差別是在構造程式框架時,Warnier方法僅考慮輸入數據結構,而Jackson方法不僅考慮輸入數據結構,而且還考慮輸出數據結構。
Warnier圖是表示數據層次結構的一種圖形工具,它用樹形結構來描繪數據結構。它還能指出某一類數據或某一數據元素重複出現的次數,並能指明某一特定數據在某一類數據中是否是有條件的出現。在進行軟體設計時,從Warnier圖入手,能夠很容易轉換成軟體的設計描述。以報紙的自動編輯系統為例。通常報紙的版面採用以下格式。
頭版部分 社論部分 副刊部分
頭條新聞 社論 體育新聞
國內新聞 專欄 商業新聞
當地新聞 讀者來信 廣告
諷刺漫畫
上面給出的報紙概觀就是一個數據的層次結構。上面給出了用Warnier圖表示的報紙的數據層次結構。在這個Warnier圖中,用花括弧“{”表示層次關係,在同一括弧下,自上到下是順序排列的數據項。在有些數據項名字後面附加了圓括弧,給出該數據項重複的次數。
例如,社論(1,1)表示社論占一欄;專欄(1,3)表示專欄占1到3欄;諷刺漫畫(O,1)表示諷刺漫畫可有可無,若有就占一欄。另外,Warnier圖可以通過細化組合數據項進一步分解信息域。