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

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

ID:40681770

大小:586.10 KB

页数:33页

时间:2019-08-06

用例模型:用操作契约增加细节_第1页
用例模型:用操作契约增加细节_第2页
用例模型:用操作契约增加细节_第3页
用例模型:用操作契约增加细节_第4页
用例模型:用操作契约增加细节_第5页
资源描述:

《用例模型:用操作契约增加细节》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

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

4、条件:1)系统预先知道各项商品的itemID2)正在进行销售契约举例-enterItem(续)…后置条件:创建了SaleLineItem实例sli(创建实例)sli与当前Sale实例间形成关联(形成关联)契约举例-enterItem(续)…后置条件(续):sli与ProductSpecification实例发生关联,这个关联建立在两者的itemID匹配的基础上(形成关联)sli的quantity属性被设置(属性修改)定义:后置条件后置条件的表达要符合概念模型的语境,通过后置条件能发现概念模型遗漏的概念、属性或关联,从而进行补

5、充。为什么需要后置条件使用后置条件的优点:是一个很好的用于问题调查的工具,在不需要清楚系统操作如何进行的情况下描述了系统操作的执行所引起的系统状态变化,使能集中精力分析系统发生了什么而不是怎么发生的。如:编写后置条件编写后置条件的注意点:1)陈述要采用过去时态的声明语气和被动语态。来强调系统状态所发生的变化。如:“创建了一个销售”比“创建一个销售”要好。2)不用忘记在新创建的对象和已经存在的对象间建立关联。如:enterItem操作中,光生成一个saleLineItem还不够,还需要和sale实例建立连接。编写后置条件后置条

6、件应该详细到什么程度?在分析阶段为系统操作建立完整和精确的后置条件几乎不可能,但是契约确实是分析系统行为的一项强有力工具。后置条件中的某些内容可能会在设计阶段得到细化和准确化。领域模型契约举例-makeNewSale契约名称:makeNewSale()职责:开始一次新的销售前置条件:无后置条件:s被关联到Register(形成关联)s的属性被初始化(修改属性)创建了Sale的实例s(创建实例)Ledger契约举例-enterItem名称:enterItem(itemID:ItemID,quantity:integer)职责:

7、输入一个商品项信息,并把它记录到销售项中去注释:要使用快速数据库存储机制异常:如果itemID无效,系统要显示出错信息前置条件:1)系统预先知道各项商品的itemID2)正在进行的销售后置条件:见下页契约举例-enterItem(后置条件)…一个SaleLineItem实例sli被创建(创建实例)sli与s实例间形成关联(形成关联)sli与ProductSpecification实例发生关联,这个关联建立在两者的itemID匹配的基础上(形成关联)sli的quantity属性被设置(属性修改)系统记录单件商品,并显示该商品的

8、描述、价格和累加值。契约举例-endSale契约名称:endSale()职责:指示系统销售项录入完毕,并显示销售项总金额异常:如果没有销售交易在线,显示出错信息前置条件:有一个销售正在进行后置条件:s.isComplete属性的值设置为true(属性修改))契约引起的领域模型的变化在契约e

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。