《系统顺序图和操作契约.ppt》由会员分享,可在线阅读,更多相关《系统顺序图和操作契约.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象分析与设计绘制顺序图绘制顺序图叶文来叶文来1In theory,there is no difference between theory and practice.But,in practice,there is.Jan L.A.van de Snepscheut23系统顺序图系统顺序图(System Sequence Diagrams)描述与系统相关的输入和输出事件,以快速获得描述与系统相关的输入和输出事件,以快速获得系统边界责任。系统边界责任。针对用例的一个特定场景针对用例的一个特定场景 系统被视为黑盒系统被视为黑盒SSD展示了直接与系统交互的外部参与者、系统及展示了直接与系统交
2、互的外部参与者、系统及外部事件使用系统的过程外部事件使用系统的过程UML没有系统顺序图,只有顺序图。没有系统顺序图,只有顺序图。(这是过渡制品)(这是过渡制品)4系统顺序图 P128系统顺序图目的:系统顺序图目的:确定系统事件确定系统事件描述与系统相关的输入和输出事件,以快速获得系统边界描述与系统相关的输入和输出事件,以快速获得系统边界责任。责任。为用例场景创建系统顺序图为用例场景创建系统顺序图进而分析系统需要实现的系统操作进而分析系统需要实现的系统操作,为编写操作规约打基础为编写操作规约打基础56系统顺序图系统顺序图对于用例的一个特定场景,外部参与者产生的与系统的对于用例的一个特定场景,外部
3、参与者产生的与系统的交互的事件。交互的事件。系统视为黑盒,描述系统做什么,无需解释如何做。系统视为黑盒,描述系统做什么,无需解释如何做。系统顺序图的好处系统顺序图的好处明确外部对系统操作的事件(系统事件)明确外部对系统操作的事件(系统事件)从高层次分析系统行为,容易入手从高层次分析系统行为,容易入手对主成功场景,频繁发生或复杂的场景绘制对主成功场景,频繁发生或复杂的场景绘制SSD7系统顺序图的目的主要捕捉系统事件系统顺序图的目的主要捕捉系统事件系统需要处理和响应的事件类型有:系统需要处理和响应的事件类型有:参与者的外部事件参与者的外部事件时间事件时间事件错误或异常错误或异常针对用例中一个场景考
4、察系统顺序图针对用例中一个场景考察系统顺序图使用使用操作契约操作契约详细描述系统事件详细描述系统事件8处理销售示例 P1299系统事件的命名事件意图的抽象以动词开始,明确事件是命令或请求如:增加、输入、结束、产生系统顺序图中出现有数据元素应放入词汇表中,在词汇表中详细描述为复杂的场景建立系统顺序图不用为所有场景创建SSD10Monopoly模拟游戏场景11操作契约目的目的定义系统操作定义系统操作为系统操作创建契约为系统操作创建契约使用前置和后置条件使用前置和后置条件的形式,描述领域模的形式,描述领域模型里对象的详细变化型里对象的详细变化围绕领域模型围绕领域模型(过渡制品)(过渡制品)12操作契
5、约的编写操作契约操作契约更为详细和精确的描述领域内对象的变化更为详细和精确的描述领域内对象的变化针对一个针对一个系统操作系统操作,分析领域模型内的对象变化(实为,分析领域模型内的对象变化(实为对待这一对待这一系统操作系统操作的内部实现过程)的内部实现过程)13操作操作:enterItme(itemID,quantity)交叉引用交叉引用:处理销售处理销售前置条件前置条件:正在进行的销售正在进行的销售后置条件后置条件:创建创建saleLineItem的实例的实例slisli与当前与当前sale关联关联sli.quantitiy赋值为赋值为quantity基于基于itemId的匹配的匹配,将将sl
6、i关联到关联到ProductDesc操作契约操作契约 P135关键元素是关键元素是后置条件后置条件SSD中展示系统操作中展示系统操作14操作操作:操作名称和参数:操作名称和参数交叉引用交叉引用:发生此操作的用例:发生此操作的用例前置条件前置条件:执行操作之前,领域模型的状态:执行操作之前,领域模型的状态后置条件后置条件:完成后,领域模型的状态:完成后,领域模型的状态处理销售的系统顺序图15后置条件不是操作过程中执行的活动是对领域模型对象的观察结果,希望操作完成后达到的效果着重关注后置条件着重关注后置条件创建或删除实例创建或删除实例属性值的变化属性值的变化形成或消除关联形成或消除关联后置条件检测
7、操作的正确与否并不描述如何实现,强调产生结果16示例:enterItem后置条件创建或删除实例创建或删除实例输入商品ID和数量后,创建SalesLineItem实例属性修改属性修改由商品数量,设置由商品数量,设置SalesLineItem的数量属性的数量属性形成或消除关联形成或消除关联新的新的SalesLineItem与与Sale关联,并与关联,并与ProductDescription关关联联17准则在考虑操作契约时,发现新的概念类、属性或关联,需要对领域模型进行改进在需要时编写契约对SSD中复杂的系统操作构造契约也可以使用OCL表示18操作契约实例 P13919操作操作:makeNewSale()交叉引用交叉引用:前置条件前置条件:后置条件后置条件:创建了:创建了Sale实例,关联到实例,关联到Register,初始化,初始化Sale实例实例操作操作:enterItem(itemID,quantity)交叉引用交叉引用:前置条件前置条件:后置条件后置条件:根据:根据itemID获取获取ProductDescription,由此创建了,由此创建了SaleLineItem实例,关联到实例,关联到SalePOS部分领域模型20
限制150内