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

上传人:本田雅阁 文档编号:2886645 上传时间:2019-06-01 格式:PPT 页数:33 大小:586.02KB
返回 下载 相关 举报
5用例模型:用操作契约增加细节.ppt_第1页
第1页 / 共33页
5用例模型:用操作契约增加细节.ppt_第2页
第2页 / 共33页
5用例模型:用操作契约增加细节.ppt_第3页
第3页 / 共33页
5用例模型:用操作契约增加细节.ppt_第4页
第4页 / 共33页
5用例模型:用操作契约增加细节.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《5用例模型:用操作契约增加细节.ppt》由会员分享,可在线阅读,更多相关《5用例模型:用操作契约增加细节.ppt(33页珍藏版)》请在三一文库上搜索。

1、用例模型:用操作契约增加细节,目标: 系统行为分析 为系统操作创建契约,提纲,1. 系统行为系统顺序图 2. 系统行为契约,系统行为契约,契约是一个文档,描述系统操作对系统状态的影响,属于系统行为建模的一部分。契约强调发生了什么而不是怎么发生。 流程: 用例描述系统顺序图系统操作契约,如何建立契约,针对每一个用例,识别出系统操作; 针对每一个系统操作,书写契约。,系统行为系统操作契约,每一个系统操作都有一个契约,用于描述这个系统操作的行为,System makeNewSale() addLineItem(itemID,quantity) endSale makePayment(amount),

2、契约段,操作: 职责: 交叉引用: 注释: 异常: 前置条件: 后置条件:,契约段(续),操作:操作和参数的名称 职责:对此操作所履行的职责的非形式化描述 交叉引用:会发生此操作的用例 注释:设计注释、算法注释等 异常:发生的例外情况,契约段(续),前置条件:在操作执行前对系统状态所做的假设 后置条件:操作执行完成后,领域模型对象和系统的状态,系统行为契约,契约文本描述中强调操作的职责和后置条件 后置条件:描述了领域模型内对象状态的变化。领域模型状态变化包括创建实例,形成或消除关联以及改变属性 表示的是结果,而不是执行的活动,定义:后置条件,实用的契约后置条件分为以下三类: 1、实例的创建和删

3、除。 2、属性的修改。 3、关联的形成和断开。,领域模型,定义:后置条件(续),断开举例:删除销售商品条目的操作:“选定的SaleLineItem与Sale之间的关联断开了”,契约举例 enterItem (输入商品),名称: enterItem(itemID:ItemID,quantity:integer) 职责:输入一个商品项信息,并把它记录到 销售项中去 注释:要使用快速数据库存储机制 异常:如果itemID无效,系统要显示出错信息,契约举例 enterItem(续),前置条件: 1)系统预先知道各项商品的itemID 2)正在进行销售,契约举例 enterItem(续),后置条件: 创

4、建了SaleLineItem实例sli(创建实例) sli与当前Sale实例间形成关联(形成关联),契约举例 enterItem(续),后置条件(续): sli与ProductSpecification实例发生关联,这个关联建立在两者的itemID匹配的基础上(形成关联) sli的quantity属性被设置(属性修改),定义:后置条件,后置条件的表达要符合概念模型的语境,通过后置条件能发现概念模型遗漏的概念、属性或关联,从而进行补充。,为什么需要后置条件,使用后置条件的优点:是一个很好的用于问题调查的工具,在不需要清楚系统操作如何进行的情况下描述了系统操作的执行所引起的系统状态变化,使能集中精

5、力分析系统发生了什么而不是怎么发生的。如:,编写后置条件,编写后置条件的注意点: 1)陈述要采用过去时态的声明语气和被动语态。来强调系统状态所发生的变化。如:“创建了一个销售” 比“创建一个销售”要好。 2)不用忘记在新创建的对象和已经存在的对象间建立关联。如:enterItem操作中,光生成一个saleLineItem还不够,还需要和sale实例建立连接。,编写后置条件,后置条件应该详细到什么程度? 在分析阶段为系统操作建立完整和精确的后置条件几乎不可能,但是契约确实是分析系统行为的一项强有力工具。 后置条件中的某些内容可能会在设计阶段得到细化和准确化。,领域模型,契约举例 makeNewS

6、ale,s被关联到Register(形成关联) s的属性被初始化(修改属性),创建了Sale的实例s(创建实例),Ledger,契约举例 enterItem,名称: enterItem(itemID:ItemID,quantity:integer) 职责: 输入一个商品项信息,并把它记录到销售项中去 注释: 要使用快速数据库存储机制 异常: 如果itemID无效,系统要显示出错信息 前置条件:1)系统预先知道各项商品的itemID 2)正在进行的销售 后置条件:见下页,契约举例 enterItem(后置条件),一个SaleLineItem实例sli被创建(创建实例) sli与s实例间形成关联(

7、形成关联) sli与ProductSpecification实例发生关联,这个关联建立在两者的itemID匹配的基础上(形成关联) sli的quantity属性被设置(属性修改),系统记录单件商品,并显示该商品的描述、价格和累加值。,契约举例 endSale,契约引起的领域模型的变化,在契约endSale中,描述了其后置条件为一次商品销售的商品条目输入完成(即这次销售结束),而表示这个信息的方法是在sale当中使用isComplete属性,此属性是布尔数据类型。,Sale isComplete:Boolean datetime,契约举例 makePayment,将已经完成的销售项添加到商店的历史记录中去,分析阶段总结,针对本开发周期中的用例,创建: 1、概念模型:将问题空间分解为可以理解的小的单元(概念);帮助澄清、统一问题域中的术语和词汇; 2、系统顺序图:系统事件和操作是什么; 3、契约:系统操作对系统状态的影响(发生了什么而不是怎么发生),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1