明盒預期函數設計

發表于:2008-01-28來源:作者:點擊數: 標簽:函數設計
為恢復已有的程序函數而解讀和抽象控制結構與過程設計是互逆的。這些函數被稱為預期函數(intended function)。明盒設計不斷細化預期函數。這些預期函數也定義了控制結構細化過程中所要求的數據。在明盒細化過程中初始的預期函數就是一個狀態盒規范。明盒細化
為恢復已有的程序函數而解讀和抽象控制結構與過程設計是互逆的。這些函數被稱為預期函數(intended function)。明盒設計不斷細化預期函數。這些預期函數也定義了控制結構細化過程中所要求的數據。在明盒細化過程中初始的預期函數就是一個狀態盒規范。明盒細化過程中的預期函數可根據表1所描述的設計語言文法而嵌入到它們的設計文本中。在表1中,方括號([ ])用來限定預期函數。在具體實現的語言中也可以使用注釋符。整個控制結構的預期函數用[f]表示,放在入口處??刂平Y構里的預期函數接在關鍵字的后面。例如,在ifthenelse結構中,[g ]和 [h ]分別放在then 和else 的后面,以記錄操作g和h 的效果。

  表1 控制結構中的預期函數

  

  圖1則表示了對整型的變量的左操作的預期函數的細化過程。它本身嵌須一個更大的系統中(在圖中未表示出來)。在第一步函數被分解為有兩個執行部分的sequence結構。它們用兩個需要進一步細化的預期函數表示(變量B是設計的局部變量。在初始預期函數的表示中并未出現)。注意在sequence中初始的預期函數被傳遞下來,以記錄對數據的影響。第二步細化這兩個新的預期函數,就變成了圖右邊的兩ifthenelse控制結構。同樣這兩個新的預期函數也要往后傳遞以記錄對數據的影響。

  圖1同時也表現了與已得到程序函為目的而解讀控制結構有關的兩步抽象。抽象后的程序函數和最初的預期函數應一樣。盡管這個簡單的例子從控制結構上就可以理解,但是在相對較大的設計院里,預期函數在驗證和維護上對保證設計意圖則發揮了至關重要的作用。對僅僅5-10行的語句可以一目了然,但對50或100行就不那么容易了。很明顯在預期函數對保證控制結構細化的正確性是很重要的。后面詳述。

  

  另一個重要的地方就是明盒細化過程 并不是因循守舊的。只有在知道了如何將設計的上層結構后,才可能創建良好的上層結構。設計是一個反復的和創造性的過程。加深了理解,才會出現更好的主意。對下層的洞察會導致對上層的重新審視。設計的最后一步應該是自上向下地驪證和檢驗它的預期函數定義和細化步驟。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97