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

《5用例模型:用操作契约增加细节.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用例模型:用操作契约增加细节 目标: 系统行为分析 为系统操作创建契约 提纲 1. 系统行为-系统顺序图 2. 系统行为-契约 系统行为-契约 契约是一个文档,描述系统操作对系统状态的影响,属于系统行为建模的一部分。契约强调发生了什么而不是怎么发生。 流程: 用例描述-》系统顺序图-》系统操作-》契约 如何建立契约 系统行为—系统操作-契约 契约段 操作: 职责: 交叉引用: 注释: 异常: 前置条件: 后置条件: 契约段(续) 操作:操作和参数的名称 职责:对此操作所履行的职责的非形式化描述 交叉引用:会发生此操作的用例 注释:设计注释、算法注释等 异常:发生的例外情况 契约段(续) 前置条件:在操作执行前对系统状态所做的假设 后置条件:操作执行完成后,领域模型对象和系统的状态 系统行为-契约 契约文本描述中强调操作的职责和后置条件 后置条件:描述了领域模型内对象状态的变化。领域模型状态变化包括创建实例,形成或消除关联以及改变属性 ——表示的是结果,而不是执行的活动 定义:后置条件 实用的契约后置条件分为以下三类: 1、实例的创建和删除。 2、属性的修改。 3、关联的形成和断开。 定义:后置条件(续) 契约举例- enterItem (输入商品) 名称: enterItem(itemID:ItemID,quantity:integer) 职责:输入一个商品项信息,并把它记录到 销售项中去 注释:要使用快速数据库存储机制 异常:如果itemID无效,系统要显示出错信息 契约举例- enterItem(续) 前置条件: 1)系统预先知道各项商品的itemID 2)正在进行销售 契约举例- enterItem(续)… 后置条件: 创建了SaleLineItem实例sli(创建实例) sli与当前Sale实例间形成关联(形成关联) 契约举例- enterItem(续)… 后置条件(续): sli与ProductSpecification实例发生关联,这个关联建立在两者的itemID匹配的基础上(形成关联) sli的quantity属性被设置(属性修改) 定义:后置条件 为什么需要后置条件 使用后置条件的优点:是一个很好的用于问题调查的工具,在不需要清楚系统操作如何进行的情况下描述了系统操作的执行所引起的系统状态变化,使能集中精力分析系统发生了什么而不是怎么发生的。如: 编写后置条件 编写后置条件的注意点: 1)陈述要采用过去时态的声明语气和被动语态。来强调系统状态所发生的变化。如:“创建了一个销售” 比“创建一个销售”要好。 2)不用忘记在新创建的对象和已经存在的对象间建立关联。如:enterItem操作中,光生成一个saleLineItem还不够,还需要和sale实例建立连接。 编写后置条件 后置条件应该详细到什么程度? 在分析阶段为系统操作建立完整和精确的后置条件几乎不可能,但是契约确实是分析系统行为的一项强有力工具。 后置条件中的某些内容可能会在设计阶段得到细化和准确化。 契约举例- makeNewSale 契约举例- enterItem 名称: enterItem(itemID:ItemID,quantity:integer) 职责: 输入一个商品项信息,并把它记录到销售项中去 注释: 要使用快速数据库存储机制 异常: 如果itemID无效,系统要显示出错信息 前置条件:1)系统预先知道各项商品的itemID 2)正在进行的销售 后置条件:见下页 契约举例- enterItem(后置条件)… 一个SaleLineItem实例sli被创建(创建实例) sli与s实例间形成关联(形成关联) sli与ProductSpecification实例发生关联,这个关联建立在两者的itemID匹配的基础上(形成关联) sli的quantity属性被设置(属性修改) 契约举例- endSale 契约引起的领域模型的变化 在契约endSale中,描述了其后置条件为一次商品销售的商品条目输入完成(即这次销售结束),而表示这个信息的方法是在sale当中使用isComplete属性,此属性是布尔数据类型。 契约举例- makePayment 分析阶段总结 针对本开发周期中的用例,创建: 1、概念模型:将问题空间分解为可以理解的小的单元(概念);帮助澄清、统一问题域中的术语和词汇; 2、系统顺序图:系统事件和操作是什么; 3、契约:系统操作对系统状态的影响(发生了什么而不是怎么发生) 契约 名称: 职责: 前置条件: 后置条件: 一个Payment实例p被创建(实例创建) p.amountTendered的值被设置成amount的值(属性修改) p被关

文档评论(0)

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

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

1亿VIP精品文档

相关文档