网站大量收购独家精品文档,联系QQ:2885784924

第11章-操作契约.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章-操作契约

第11章 操作契约 Operation Contracts 为什么使用操作契约 用例和系统特性是用来描述系统行为的主要方式,并且足以满足需求。 但,有时需要对系统行为进行更为详细和精确的描述 操作契约有助于定义系统行为 操作契约对系统操作的效用提供了更详细的分析 图11-1所示的UP制品的相互影响强调了操作契约 定义:契约有哪些部分 操作契约使用前置和后置条件的形式,描述领域模型里对象的详细变化,并作为系统操作的结果 操作契约的每个部分的描述如P135所示 操作契约的例子如P134所示 其中关键元素是后置条件 什么是系统操作 可以为系统操作定义操作契约 系统操作是作为黑盒构件的系统在其公共接口中提供的操作。 系统操作可以在绘制SSD草图时确定,如图11-2所示,精确地讲,SSD展示了系统事件。 涉及所有用例的系统操作的完整集合将系统视为一个构件或类,定义了公共的系统接口。 定义:后置条件 后置条件描述了领域模型内对象状态的变化。领域模型状态变化包括(例P137): 创建或删除实例 形成或消除关联 改变属性 类比:后置条件的本质:舞台和幕布 1. 系统及其对象出现在剧场的舞台上 2. 在操作前,对舞台拍照 3. 落下幕布,应用系统操作 4. 打开幕布,拍摄第二张照片 5. 比较两张照片,把舞台状态的变化表述为后置条件 准则:后置条件应该完善到何种程度 契约可能是无用的。 假设契约有用,则为所有系统操作生成完整详细的后置条件集合是不可能的,或是没有必要的 但,进行轻量的分析是现实和有效的。 准则:是否应该更新领域模型 通常在创建契约的过程中会发现,需要在领域模型中记录新的概念类、属性或关联。 在思考操作契约过程中有新发现时,要对领域模型进行改进。 准则:契约在何时有效 有时,用例可以为设计提供大部分或全部所需细节,在这种情况下,契约就没有什么作用 但有时,细粒度的细节记录在用例中会使用例过于详细,在这种情况下可以使用契约 如果开发者在没有操作契约的情况下,能够准确地理解所需要完成的工作,则可以不编写操作契约。 本书为了教学目的,展示了比实际需要更多的契约。在实践中,其中所记录的大部分细节都可以轻松地从用例文本中推导出来。 编写契约 以说明性、被动式的过去时态编写后置条件 (较好)创建了SalesLineItem (较差)创建SalesLineItem 记住,要在已有或新创建的对象之间建立关联。 将SalesLineItem与Sale关联 最常见的错误 最常见的问题是遗漏了关联。特别是当创建了新实例时,通常需要与若干对象建立关联 示例 P139-140 过程:UP的操作契约 初始阶段不会引入契约,因为过于详细 大部操作契约将在细化阶段进行编写 只对最复杂和微妙的系统操作编写契约 * 定义系统操作 为系统操作创建契约. 学习目标 图11-1 UP制作相互影响的示例 图11-2 SSD,系统操作处理输入的系统事件

您可能关注的文档

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档