用例模型:用操作契约增加细节.ppt_第1页
用例模型:用操作契约增加细节.ppt_第2页
用例模型:用操作契约增加细节.ppt_第3页
用例模型:用操作契约增加细节.ppt_第4页
用例模型:用操作契约增加细节.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用例模型:用操作契约增加细节,目标: 系统行为分析 为系统操作创建契约,提纲,1. 系统行为系统顺序图 2. 系统行为契约,系统行为契约,契约是一个文档,描述系统操作对系统状态的影响,属于系统行为建模的一部分。契约强调发生了什么而不是怎么发生。 流程: 用例描述系统顺序图系统操作契约,如何建立契约,针对每一个用例,识别出系统操作; 针对每一个系统操作,书写契约。,系统行为系统操作契约,每一个系统操作都有一个契约,用于描述这个系统操作的行为,System makeNewSale() addLineItem(itemID,quantity) endSale makePayment(amount),契约段,操作: 职责: 交叉引用: 注释: 异常: 前置条件: 后置条件:,契约段(续),操作:操作和参数的名称 职责:对此操作所履行的职责的非形式化描述 交叉引用:会发生此操作的用例 注释:设计注释、算法注释等 异常:发生的例外情况,契约段(续),前置条件:在操作执行前对系统状态所做的假设 后置条件:操作执行完成后,领域模型对象和系统的状态,系统行为契约,契约文本描述中强调操作的职责和后置条件 后置条件:描述了领域模型内对象状态的变化。领域模型状态变化包括创建实例,形成或消除关联以及改变属性 表示的是结果,而不是执行的活动,定义:后置条件,实用的契约后置条件分为以下三类: 1、实例的创建和删除。 2、属性的修改。 3、关联的形成和断开。,领域模型,定义:后置条件(续),断开举例:删除销售商品条目的操作:“选定的SaleLineItem与Sale之间的关联断开了”,契约举例 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,s被关联到Register(形成关联) s的属性被初始化(修改属性),创建了Sale的实例s(创建实例),Ledger,契约举例 enterItem,名称: enterItem(itemID:ItemID,quantity:integer) 职责: 输入一个商品项信息,并把它记录到销售项中去 注释: 要使用快速数据库存储机制 异常: 如果itemID无效,系统要显示出错信息 前置条件:1)系统预先知道各项商品的itemID 2)正在进行的销售 后置条件:见下页,契约举例 enterItem(后置条件),一个SaleLineItem实例sli被创建(创建实例) sli与s实例间形成关联(形成关联) sli与ProductSpecification实例发生关联,这个关联建立在两者的itemID匹配的基础上(形成关联) sli的quantity属性被设置(属性修改),系统记录单件商品,并显示该商品的描述、价格和累加值。,契约举例 endSale,契约引起的领域模型的变化,在契约endSale中,描述了其后置条件为一次商品销售的商品条目输入完成(即这次销售结束),而表示这个信息的方法是在sale当中使用isComplete属性,此属性是布尔数据类型。,Sale isComplete:Boolean datetime,契约举例 makePayment,将已经完成的销售项添加到商店的历史记录中去,分析阶段总结,针对本开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论