在计算机编程和计算机科学领域,操作契约是一种指定或记录特定函数如何更改程序中不同元素的方法。与抽象编程接口(API)或接口控制文档不同,操作契约用于在创建计算机应用程序或系统的开发和建模阶段提供帮助。在最基本的层面上,合约定义了操作的四个特征,特别是操作的名称、设计其他区域中对操作的任何引用、执行操作之前输入或状态的任何要求以及操作的状态。执行操作后的系统或变量。合约没有定义任何有关操作内部功能的具体信息,而仅处理程序的状态如何受其使用影响。
通常,操作合约并不是为程序模型中的每个操作构建的。反而,它们保留用于特别复杂或难以跟踪的操作。多种计算机建模语言,例如统一建模语言 (UML),支持操作契约,并有方法帮助可视化操作执行后程序状态如何变化。
创建操作契约所需的前两个定义是操作的名称(可以是任何内容)以及任何交叉引用。交叉引用是使用正在定义的操作或该操作将在其处理中使用的其他操作或程序模型区域的列表。这有助于了解整体设计如何交互,并且对于了解模型某一区域的更改将如何影响其他区域特别有用。
运营合同接下来定义运行该操作所需的先决条件。这可能涉及要求某些变量加载适当的值,或者可能要求程序的某些部分处于特定状态。如果执行操作时不满足先决条件,则操作将不会发生或可能完全失败。契约被用作抽象工具,因此前置条件通常相当笼统,并且更多地涉及程序的状态而不是特定变量。
操作契约的最后部分定义了任何后置条件。后置条件是程序模型中由于操作的执行而发生更改的项目列表。这可以指定对数据结构的更改或对程序状态的修改,例如将控制转移到单独的模块。通过使用明确定义的运营合同,可以在实际实施开始之前有效地对程序进行建模和修改。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!