Unified Modeling Language—行为图
来源:互联网 发布:数据库 双活 编辑:程序博客网 时间:2024/05/17 03:14
前言
行为图,包括活动图和状态图。它们用来描述系统的动态行为,同时也有很多的共同点,将这两种图放在一起介绍,比较容易联系,寻找不同点。
一、活动图
1.含义
活动图(activity diagram,动态图),是阐明了业务用例实现的工作流程。
主要功能,可以描述一个操作的所用工作或者动作、吸纳是如何执行一组相关动作,以及这些动作的影响、描述用例的执行、处理多线程应用。
2.画图工具中的图符
状态 state
转移 transition
判断 decision
活动 activity
同步条 synchronization bar
起点终点 state
3.基本要素
(1)活动:描述过程中某一原子的活动
(2)泳道:是活动图中的区域划分,每个泳道代表一个责任区,一个泳道可由一个或多个类实现。
(3)分支:对于同一触发事件,可以根据不同的警戒条件转向不同的活动,每个可能的转移是一个分支。
(4)分叉和汇合:表示系统或对象中的并发行为。
分叉表示一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发进行的;
汇合正好相反
。
(5)对象流:在活动图中可以出现对象,对象可以作为活动的输入或输出。对象流表示活动与对象之间的关系。
(6)注释体和注释体连接:
注释体:用于对UML实体进行文字描述。
注释体连接:用于将注释体与要描述的实体相连,说明该注释体是针对该实体所进行的描述。
4.举例
二、状态图
1.含义
状态图(Statechart Diagram),描述系统对象的动态行为,一般描述一个特定对象在其生命周期中的所有可能的状态以及由于各种事件的发生而引起状态的转移条件。
2.图符(与活动图中基本类似)
状态 state
转移 transition
起点 start state
终点 end state
3.基本要素
(1)状态:初态、中间状态、复合状态、终态和并发条
(2)条件和转移:转移、条件、条件判断标志和历史标志
(3)注释:注释体和注释连接
不应对系统中的每个类都画状态图,而只应对某些关键类建立状态图
应将状态图与其他技术组合使用。
4.举例
三、整体概括比较
1.状态图、交互图和活动图
状态图适合描述跨越多个用例的单个对象的行为,不适合描述多个对象之间的协作行为。
交互图适合描述单个用例中多个对象之间的协作行为。
活动图适合描述多个对象跨越多个用例时的总面貌
2.状态图和活动图
相同点:都是对系统的动态行为的建模
区别:
(1)描述对象不同
状态图——描述对象状态和状态之间的转移
活动图——描述从活动到活动的控制流
(2)使用场合不同
状态图——描述对象在其生命周期中的行为状态变化
活动图——描述过程的流程变化
结语
其中还有许多细节之处的东西没有总结出来,等待以后的继续探索!
- Unified Modeling Language—行为图
- Unified Modeling Language—类图与对象图
- UML(unified Modeling Language)
- UML (Unified Modeling Language)
- Unified Modeling Language
- UML(Unified Modeling Language)
- UML(Unified Modeling Language) 总结
- UML(Unified Modeling Language)统一建模语言--类图详解
- uml(unified modeling language)用例图、类图、序列图详解
- UML (Unified Modeling Language )之类图和关系
- The Unified Modeling Language Reference Manual
- The Unified Modeling Language User Guide
- UML(Unified Modeling Language)统一建模语言
- UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图
- Introduction to OMG's Unified Modeling Language™ (UML®)
- 《The Unified Modeling Language User Guide》Second Edition
- UML basics: An introduction to the Unified Modeling Language
- Unified Modeling Language User Guide, The (2nd Edition)
- 听歌识曲--用python实现一个音乐检索器的功能
- 链表玩法
- emmet插件
- git fetch超时
- Mysql 时间函数
- Unified Modeling Language—行为图
- [iOS]根据UIColor获取及改变RGB和Alpha
- 《linux内核完全剖析》笔记01-启动分析
- tkinter
- 优秀REST风格 API的设计原则
- What is MariaDB Galera Cluster?( 什么是 MariaDB Galera 集群)
- 判断视/音频是播放/暂停状态
- Android ViewPager Fragment 简单应用
- R语言将数据导出到csv时出现科学计数表示