在計算機編程和計算機科學領域,操作契約是一種指定或記錄特定函數如何改變程序中不同元素的方法。與抽象編程接口(API)或接口控制文檔不同,操作契約用于在開發和建模階段提供幫助創建一個計算機應用程序或系統。在最基本...
在計算機編程和計算機科學領域,操作契約是一種指定或記錄特定函數如何改變程序中不同元素的方法。與抽象編程接口(API)或接口控制文檔不同,操作契約用于在開發和建模階段提供幫助創建一個計算機應用程序或系統。在最基本的層次上,合同定義了操作的四個特征,特別是操作的名稱、在設計的其他方面對操作的任何引用、在執行操作之前對輸入或狀態的任何要求,以及在操作之后的系統或變量的狀態操作已經執行。合同中沒有明確規定操作在內部如何運行,而是只討論程序的使用對程序狀態的影響一般來說,操作契約并不是為程序模型中的每個操作構建的,而是為特別復雜或難以跟蹤的操作保留的。幾種計算機建模語言,如統一建模語言(UML)支持操作契約,并有助于可視化一旦執行了操作,程序的狀態就會改變。創建操作契約所需的前兩個定義是操作的名稱,可以是任何內容,以及任何交叉引用交叉引用是程序模型的其他操作或區域的列表,這些操作或區域使用正在定義的操作或該操作將在其處理過程中使用的操作。這有助于了解整體設計如何相互作用,并且在查看模型的某個區域的更改將如何影響其他區域時尤其有用操作契約下一步定義運行操作所需的先決條件。這可能涉及到需要用適當的值加載某些變量,或者它可以要求程序的某些部分處于特定的狀態,如果在執行操作時不滿足前提條件,則操作將不會發生或可能完全失敗。契約作為一種抽象工具使用,因此前提條件通常相當一般,并且比特定變量。操作契約的最后部分定義任何后置條件。后置條件是程序模型中因執行操作而更改的項的列表。這可以指定更改對數據結構或對程序狀態的修改,如將控制權轉移到單獨的模塊中。通過使用定義良好的操作契約,可以在實際執行開始之前有效地對程序進行建模和修改
-
發表于 2020-07-31 02:53
- 閱讀 ( 695 )
- 分類:電腦網絡