前面介绍了uml的很多种图,下面挑出几个联系比较紧密的进行对比和联系。用例图和交互图都是表示动态行为,只是前者表示系统外部对象(参与者)与系统这两个大对象之间的互动,而后者则侧重在表示系统内部一群小对象之间的互动。下面针对类图、用例图和交互图进行对比。
类图 | 用例图 | 活动图 |
静态结构 | 动态行为 | 动态行为 |
系统内在结构 | 系统外在行为 | 系统内在行为 |
类 | 参与者、用例 | 对象 |
关联 | 包含、扩展 | 消息 |
事务模式 | 用例描述 | BCE模式(Boundary-Control-Entity Patterns) |
领域概念 | 业务流程 | 概念与流程的关联 |
交互图(或者说序列图)关联了类图与用例图两方面,表示了系统在与参与者互动执行某一个用例期间,系统内部的一群小对象的写作情况。因此,分析师可以使用双叉法,同步进行类图与用例图的分析,然后尽快通过序列图来整合、调整三方面的图,如下:
接下来是对交互图单独进行的详细介绍。交互图描述了系统在逻辑设计中存在的对象及其间关系。交互图用两种:
序列图:按时间顺序排列对象交互操作。强调信息交换时的时间顺序。
协同图:围绕对象及其间的连接关系组织对象的交互操作。强调对象间如何动作。
两者在语义上是等价的、按F5可以相互转化(或者手动转化)。
如上图所示,序列图采用BCE模式(boundary-Control -entity patterns )所以在画序列图的时候注意找出三种类:
边界类:用来隔离系统内外,通常负责接收并响应系统内外消息,参与者与系统对象进行消息传递要通过边界类来实现。
控制类:一个用例会生成一个控制类。用来控制用例执行期间的复杂运算或者业务逻辑。
实体类:系统内部的对象
下面是我画的一张序列图和协作图,有很多不完善,敬请指出交流。(在这里我定义登录界面为界面类、收费系统为控制类、数据库为实体类)
时间: 2024-10-09 22:13:25