您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > UML训练--顺序图
UMLChinaUMLChina训练训练顺序图ThinkThink开发过程--e顺序图现在已有的工件用例文档类图通过画顺序图完成责任分配用例-类图-顺序图三种版型的类在分析阶段边界类:一个用例映射一个边界类,××UI责任:输入、输出、过滤控制类(可选):一个用例映射一个控制类,××UC责任:控制事件流,负责为实体类分配责任实体类:一个用例有多个实体类参与,一个实体类可以参与多个用例责任:业务行为的主要承载体用例文档每个步骤的责任执行者×××××系统×××××系统×××××执行者×××××边界类的责任各种类都可能有责任顺序图解说消息的传入:类对象所具有的操作--责任分析frmSearchPartButtonSearch_Click()ListParts()ButtonSelectPart_Click()ListSinglePart()boundary设计顺序图和类图的映射消息的传出:类对象完成操作所需合作--协作检索零件UI.提交查询条件(){…检索零件UC.检索零件()…(检索零件UI.)显示零件列表()}“订单”类有哪几个操作?“订单”类有几个操作?练习练习请写出:“结账UC”类的“检查”操作内部的代码练习结账UC.检查(){…会员.检查账户状态();库存.检查库存();}顺序图绘制要点(Rose)(1)位置:每个用例下面,对应用例的路径基本路径:一张图简单的扩展点:可以合并到基本路径图,用Text说明条件复杂扩展点:单独一张图,和主图间用Note连接顺序图绘制要点(Rose)(2)简单扩展点:可以合并到基本路径图顺序图绘制要点(Rose)(3)复杂扩展点:单独一张图,在基本路径图间用Note连接Include、Extend用例:也同样用Note连接顺序图绘制要点(Rose)(4)循环可以用注释描述对消息有特别注解时,也可以用注释描述顺序图绘制要点(Rose)(5)初学者常犯错误:消息来回消息应尽量保持自左至右的单向×√顺序图绘制要点(Rose)(6)编号方式:层级式编号,看出层次消息(操作)名表示目的,而不是实现您以前做过的系统有“责任分配”吗?%的OO责任分配vs.功能分解分解成动词分解成名词,动词包在名词中面向过程面向对象总的责任分配原则低耦合,高内聚耦合•描述设计的组成部分之间的相互依赖没有耦合,无法一起行动;耦合太高,无法转弯类间要保持低耦合。目的:复用内聚•描述模块内各元素的紧密结合程度类内各元素要保持高内聚小类,短方法--明确责任反例(1)某些属性只对部分对象有意义反例(2)不同领域的类之间形成错误的关系“订单”中有两类不同的属性责任分配原则原则1.专家(Expert)原则原则2.老板(Boss)原则原则3:可视(Visibility)原则责任分配原则(1)把责任分配给信息专家--有足够信息去完成该责任的类。——专家(Expert)原则拟人化的抽象思维我知道什么?我能做什么?这件事该由谁负责?聚合/组合结构的消息传递当出现以下情况时,发给A的消息先通过B处理和中转B聚合A(Aggregation)B组合A(Composition)责任分配原则(2)——老板(Boss)原则减少耦合和波动效应:整体类起了屏蔽的作用责任分配原则(2)——老板(Boss)原则减少耦合和波动效应责任分配原则(3)两个对象之间有消息传递,则相应类必有关联不要与陌生人说话——可视(Visibility)原则类图(修订4)用例:结账:基本路径系统合计订单总价(订单总价=所有订单项价钱合计+税金+运费)6.系统显示收费明细7.会员确认8.系统通知供应商发货,减少相应库存数量责任分配给谁?会员?账户?应用:专家+老板原则会员.检查账户状态(){…账户.检查状态()…}责任分配给谁?应用专家原则“合计总价”操作分配给哪个类?目的:统计所有订单项的总价钱。所需信息:每一个订单项的价钱及其总和。考虑:谁知道这些?答案:订单责任分配给谁?应用专家原则“计算订单项价钱”操作分配给哪个类?(零件?订单项?订单?)统计某个订单项的价钱需要用到的信息:订单项.购买数量×零件.价格考虑:谁知道以上的所有信息?零件?订单项?答案:订单项零件不知道订单项,订单项知道零件同样符合可视原则谁来计算税金??应用专家原则计算税金需要用到的信息:税金=价钱×相应税率考虑:订单知道所有这些吗?解决方法:添加一个“计费”类,负责计算各种附加费用。计算运费也是如此增加“计费”类动态模型顺序图最常用。以时间为中心,描述对象间的交互,焦点是消息的时间顺序。协作图焦点:收发消息的对象结构组织。利用工具可以由顺序图生成。两者合称“交互图”。状态图对一个类的生命循环建模,对复杂的动态行为有用。活动图活动到活动之间的控制流状态图为对象的生命周期建模大多数面向商业的应用中的类不需要状态图以下情况经常使用状态图交互图中产生或接收大量信息的类界面类实时系统中的类帐户金额...0,…100,…500,…10000,…100000状态入口动作:进入时发生的第一件事出口动作:出去前发生的最后一件事终态:只进不出初态:只出不进状态迁移如果“监护条件”为真,当“事件”发生时,将执行“动作”,并进入状态B可以自己转向自己
本文标题:UML训练--顺序图
链接地址:https://www.777doc.com/doc-7363149 .html