第11章-操作契约 第11章操作契约OperationContracts 学习目标 定义系统操作为系统操作创建契约.2 为什么使用操作契约 用例和系统特性是用来描述系统行为的主要方式,并且足以满足需求.但,有时需要对系统行为进行更为详细和精确的描述操作契约有助于定义系统行为操作契约对系统操作的效用提供了更详细的分析图11-1所示的UP...
1)、操作契约也是用例模型的一部分。2)、SSD+用例文本+领域模型---》操作契约 2、定义 1)、契约有哪些部分? 操作:操作的名称和参数(就是SSD中的系统操作) 交叉引用:发送此操作的用例 前置条件:执行操作前,对系统或领域模型对象状态的重要假设。比如:终态的订单不能修改。 后置条件:最重要的部分。完成操作后,...
1、makeNewSale的契约 操作: makeNewSale()职责: 收银员开始一次新的交易 交叉引用:用例—处理销售 前置条件:无 后置条件:●创建了Sale的实例s。●s被关联到Register。●s的属性被初始化。2、enterItem的契约 名称: enterItem(itemID:ItemID,quantity:integer) 职责: 输入(记录)一个商品项的信息,并将它...
是所有项目在建模时都要书写操作契约。因为操作契约是用来定义系统行为,根据领域模型中的对象状态变化详细描绘系统的行为;用例是描述系统行为的模型,但是如果用例没有描述清楚,则在操作契约中补充。一般一个用例有多个操作,一个操作需要一个操作契约,比如:SSD中有几个向右的箭头,就需要几个操作契约。...
操作契约使用前置和后置条件,描述领域模型里对象的详细变化,作为系统操作的结果。 操作契约可以作为有用的OOA相关的制品。 操作契约可以视为UP用例模型的一部分,它是对用例之处的系统操作的效用提供更详细的分析。 契约的主要输入是SSD中确定的系统操作、领域模型和领域专家的见解。
第11章操作契约 11.1示例 契约CO2:ENTERITEM 操作:enterItem(itemID:ItemID,quantity:integer)交叉引用:用例:处理销售前提:正在进行的销售后置条件:创建了SalesLineItem的实例sli(创建实例)将sli关联到当前Sale(形成关联)将sli.quantity数值为Quantity(修改属性)基于itemID的匹配...
第11 章 操作契约 11.1 示例 契约CO2:ENTERITEM 操作: enterItem(itemID: ItemID, quantity: integer) 交叉引用: 用例: 处理销售 前提: 正在进行的销售 后置条件: 创建了SalesLineItem的实例sli(创建实例) 将sli关联到当前Sale(形成关联) 将sli.quantity数值为Quantity(修改属性) 基于itemID的匹配, 将sli关联到...
操作契约 合同CO1:makeNewSale 操作:makeNewSale() 交叉引用:用例:销售处理 前提条件:无 后置条件:-创建了Sale实例 s (实例创建)。 -s与Register相关联(形成关联)。 -s的属性被初始化(修改属性)。 合同CO2:enterltem 操作:enterltem(itemlD:ItemID,quantity:integer) 交叉引用:用例:销售处理 前提条件:正在进行...
一般一个用例有多个操作,一个操作需要一个操作契约,比如: SSD中有几个向右的箭头,就需要几个操作契约。 不需要每个操作都写契约,只需要把可能状态会改变或不清晰的操作写清即可; Operation Contract模板 Operation: Name Cross Reference:此操作所属用例的名字 Precondition:在执行此操作前领域模型的对象的状态 Postco...
1、在编写契约过程中,发现之前的领域模型不对,此时是否需要修改? 需要修改。包括:概念类、属性、关联。这就是不断迭代和进化 2、用例中复杂场景里的状态变化细节,描述过多导致用例臃肿,让人看不下去,因此,这部分最好在操作契约中提现。 3、来源: 4、使用过去式 ...