目录

状态图Statechart Diagram

活动图 Activity Diagram

序列图 (时序图)Sequence Diagram

协同图(协作图)Collaboration Diagtam


UML九图中,行为图包含了其中4种图如下。行为图用来描述系统的动态模型和对那个之间的交互关系

状态图Statechart Diagram

【概念】通过建立类对象的生存周期模型来描述 对象随时间变化的动态行为。系统分析员对某对象建模时,最自然的方法并不是着眼于从活动到活动的控制流,而是从状态到状态的控制流。

换言之:用来描述类的对象所有可能的状态以及时间发生时状态的专业条件。

【描述例子】你的手机开机后(黑点)在不用的时候处在空闲的状态(idle),当你给A打电话的时候处在拨号状态(dialing)。当A接通后,处在通话状态(working),如果没有接通后继续处在空闲状态(idle)。 另外一种,如果别人给你打电话,你的手机处在响铃状态(ringing),如果接听了就在通话状态,如果没有接通就继续又处在空闲状态。

【机房收费系统例子】

机房软件登录前初始状态,输入信息后,验证状态 如果验证通过那么进入工作状态,如果没有通过则返回到初始状态;工作状态时如果一直有人员操作上下机等则一直工作状态;点击下机又回到初始状态。

活动图 Activity Diagram

【概念】用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动。

另一种说法:活动图是某件事情正在进行的状态,既可以实现生活中正在进行的某一项工作也可以是软件系统找那个某个类对象的一个操作。

【描述例子】一个建房子的过程:开始后 1.选择地址2.设计3、计划详细4、竞价5、分支判断(如果竞价不能被接受,那么继续判断;如果竞价接受了接下来是一个并发的活动)6、并行活动(do site work ,do trade work )之后完成并行结束7、完成建造 最后活动终止。

【机房收费系统例子】

操作人员登录后,给新用户进行注册的过程;初态;查找,确定此人没有注册过(判断:注册过则返回提示已经注册,没有注册过则进行注册);注册;并发分叉(信息录入、充值);充值这里有一个判断,是否低于最小上机额度(低于返回继续充值,如果高于则继续执行);并发回合;注册完成;终态

序列图 (时序图)Sequence Diagram

【概念】描述对象之间的交互顺序,着重体现对象间信息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。

【描述例子】客户在汽车租赁系统中取车的时序图:这里有5个对象Customer(客户)、CommonWorker(工作人员)、RequestOrder(预定请求)WorkRecord(工作记录)Car(车)客户先提出取车请求并出示清单、工作人员检查客户的,确定后让客户付款、工作人员填写工作记录,同时登记车的状态、最后客户取走车。

【机房收费系统例子】

如上相似:临时用户需要下机退款,有如上5个对象:临时用户、下机请求、操作人员、工作记录、ID

用户要下机,要先说出身份证号,操作人员核实,核实通过后,操作员多退少补,然后更新工作记录、更新卡的状态

协同图(协作图)Collaboration Diagtam

【概念】描述对象之间的合作关系,侧重于说明哪些对象之间有消息传递。这里的额顺序图和协同图是可以相互转换的。

【描述例子】和上面的例子一样,客户在汽车租赁系统中取车的协同图

【机房收费系统的例子】内容同上,把时序图转换成协同图

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)相关推荐

  1. UML 建模步骤 用例图 类图 对象图 包图 顺序图/时序图 状态图 活动图 协作图

    统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明.可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言. UML是面向对象设计的建 ...

  2. OOSE-5-用例图/顺序图/状态图/活动图

    文章目录 1 用例图 1.1 参与者 1.2 用例 1.3 用例描述 1.4 一个示例 2 顺序图 2.1 基本概念 2.2 组成部分 2.2.1 对象 2.2.2 生命线 2.2.3 激活 2.2. ...

  3. oracle的uml图,详解Oracle中XMI开发UML图表技术

    描述 XML是面向机器的数据格式,虽然手工编写困难,但处理效率高.当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用 ...

  4. 【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)以及利用CCSprite与CCLayerColor制作简单遮盖层!...

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigam ...

  5. 【Visual C++】游戏开发笔记二十三 游戏基础物理建模 五 粒子系统模拟 二

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  6. PCL-1.8.1从源码搭建开发环境二(FLANN库的编译)

    原文首发于微信公众号「3D视觉工坊」,PCL-1.8.1从源码搭建开发环境二(FLANN库的编译) 首先,快速近似最近邻搜索库FLANN-Fast Library for Approximate Ne ...

  7. 100个vc小项目开发:二、一步一点设计音乐播放器 [I]

    100个vc小项目开发:二.一步一点设计音乐播放器 [源码解读] 文章作者: July 软件来源:开源 ================== 1.有不正之处,恳请指正. 2.本文贴出的是关键实现代码部 ...

  8. oracle中的柱状图,详解Oracle中XMI开发UML图表技术

    XML是面向机器的数据格式,虽然手工编写困难,但处理效率高.当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用来结构 ...

  9. DBMS-数据库设计与E-R模型:E-R模型、约束、E-R图、E-R扩展特性、E-R图转换为关系模式、UML建模...

    设计过程概览 1. 设计阶段 ·最初阶段:刻画未来数据库用户的数据需求,产品为用户需求规格说明: ·概念设计阶段(conceptual-design phase):(关注描述抽象数据及其联系,通常使用 ...

最新文章

  1. Qt——模态、非模态
  2. python 向量余弦相似度
  3. scala中的构造方法和伴生对象
  4. 由于没有远程桌面授权服务器可以提供许可证,远程回话被中断
  5. 隐马尔科夫模型(Hidden Markov Models) 系列之三
  6. 数据结构概念及连续存储数组的算法演示
  7. jQuery的empty、remove、detach区别
  8. 2022牛客寒假算法基础集训营1 签到题7题
  9. nginx 四种策略
  10. pythonwin1064位_在Windows 10 64位中安装Matplotlib
  11. IT管理系统:让酒店更便宜
  12. 利用Xposed秒抢微信红包
  13. 如何分组取最新的数据
  14. iOS 实用方法创建单利+宏定义创建单利
  15. 可视化设计,类Excel的快速开发平台
  16. 数字式高精度可调电流源电路设计
  17. MATLAB deconvwnr(维纳滤波)应用
  18. UUID太长怎么办?快来试试NanoId(Java版本)
  19. Java POI导出Excel
  20. VB.net学习笔记(六)VB.net的对象

热门文章

  1. 计算机老师的寄 语,计算机专业老师毕业赠言
  2. Get Offer —— 能力素质考核训练
  3. 新增磁盘,磁盘扩容之-pv扩容
  4. Leetcode 860. 柠檬水找零(贪心) 记录反思
  5. 链接生成-链接生成器-免费批量在线链接生成器
  6. 传送带(三分套三分)
  7. ERR_SPDY_PROTOCOL_ERROR错误解决
  8. oracle操作题——试卷题
  9. 使用ShareSDK进行第三方(登录,分享)
  10. vue+echarts画甘特图