1 / 11

第 11 章 操作契约

第 11 章 操作契约. 黄战 计算机科学系 暨南大学. 目标. 定义系统操作。 为系统操作创建契约。. 简介. 在 UP 中,用例和系统特性是用来描述系统行为的主要方式,并且足以满足要求。 有时需要对系统行为进行更为详细和精确的描述。 操作契约使用前置和后置条件的形式,描述领域模型里对象的详细变化,并作为系统操作的结果。 操作契约可以视为 UP 用例模型的一部分,因为它对用例指出的系统操作的效用提供了更详细的分析。. UP 制品的影响. UP 制品的相互影响强调了操作契约。

sheryl
Download Presentation

第 11 章 操作契约

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第11章 操作契约 黄战 计算机科学系 暨南大学

  2. 目标 • 定义系统操作。 • 为系统操作创建契约。

  3. 简介 • 在UP中,用例和系统特性是用来描述系统行为的主要方式,并且足以满足要求。 • 有时需要对系统行为进行更为详细和精确的描述。 • 操作契约使用前置和后置条件的形式,描述领域模型里对象的详细变化,并作为系统操作的结果。 • 操作契约可以视为UP用例模型的一部分,因为它对用例指出的系统操作的效用提供了更详细的分析。

  4. UP制品的影响 • UP制品的相互影响强调了操作契约。 • 该契约的主要输入是SSD中确定的系统操作(例如enterItem)、领域模型和领域专家的见解。 • 该契约也可以作为对象设计的输入,因为它们描述的变化很可能是软件对象或数据库所需要的。

  5. 契约 • 下面对契约中的每个部分进行了描述: • 操作:操作的名称和参数。 • 交叉引用:会发生此操作的用例。 • 前置条件:执行操作之前,对系统或领域模型对象状态的重要假设。这些假设比较重要,应该告诉读者。 • 后置条件:最重要部分。完成操作后,领域模型对象的状态。后续章节将详细论述这个问题。

  6. 契约--示例 • 操作: enterItem(itemID: itemID,quantity: integer) • 交叉引用: 用例:处理销售 • 前置条件: 正在进行的销售 • 后置条件: ※创建了SalesLineItem的示例sli(创建实例)。 ※sli于当前Sale关联(形成关联)。 ※sli.quantity赋值为quantity(修改属性)。 ※基于itemID的匹配,将sli关联到ProductDescription (形成关联)。

  7. 系统操作 • 可以为系统操作定义操作契约-- • 系统操作是作为黑盒构件的系统在其公共接口中提供的操作。系统操作可以在绘制SSD草图时确定。 • SSD展示了系统事件,即涉及系统的事件或IO消息。输入的系统事件意味着系统具有用来处理该事件的系统操作,正如OO消息(一种事件或信号)要由OO方法(一种操作)来处理那样。 • 涉及所以用例的系统操作的完整集合将系统视为一个构件或类,定义了公共的系统接口。 • 在UML中,作为整体的系统可以表示成名称为某个类的一个对象。

  8. 后置条件 • 后置条件(postcondition)描述了领域模型内对象状态的变化。领域模型状态变化包括创建实例、形成或消除关联以及改变属性。 • 后置条件不是在操作过程中执行的活动,相反,它们是对领域模型对象的观察结果,当操作完成后,这些结果为真。

  9. 后置条件 • 后置条件可以分为以下三种类型: • 创建或删除实例。 • 属性值的变化。 • 形成或消除关联(精确地讲,是UML链接)。

  10. 如何创建和编写契约 • 大部分契约将在细化阶段进行编写,这时已经编写了大部分的用例。 • P138

  11. 如何创建和编写契约 创建契约时可以应用以下指导: 1)从SSD中确定系统操作 2)如果系统操作复杂,其结果可能不明显,或者在 用例中不清楚,则可以为其构造契约。 3)使用以下几种类别来描述后置条件: 创建和删除实例。 修改属性。 形成和清除关联。 最常见的问题是遗漏了关联的形成。特别是当创建了新实例时,通常需要建立与若干对象的关联。

More Related