一文读懂UML | 您所在的位置:网站首页 › 顺序图可以表达并发行为吗 › 一文读懂UML |
前言 本文编写目的:主要是想帮助大家快速理解UML,在工作或学习中快速读懂并理解UML相关需求,本文约2千字左右并插入了大量例图,通读大约需要20-30分钟左右,本文可以收藏便于下次查阅。 本文主要参考了《火球——UML大战需求分析》一书,如有需要深入学习UML的朋友可以结合原书进行学习。 个人感触:想快速掌握一门知识,虽然从互联网上可以搜索到很多相关内容,但都是碎片化 的,有些甚至还会出错误导自己的思路,从而浪费时间。总结:求知还是要买一本书或一份资料系统的学习才高效并节约成本的方式。 首先一句话说明UML是什么统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。 然后再来看下UML的分类UML有很多种,但大体分为两类:结构型的UML 和 行为型的UML ![]() 类图是业务结构建模的重要工具,可以表达类、接口以及类之间的静态结构和关系。 1.2 类之间的关系l 类之间的关联关系 ![]() l 类之间的包含关系 ![]() l 类之间的继承关系 ![]() l 类之间的依赖关系 ![]() ![]() 1.4 类之间的“三角”关系 ![]() 2 对象图 2.1 什么是对象图?类(class)的实例(instance)就是对象。 2.2 类和对象的对比![]() ![]() 活动图本质上也是一种流程图,可以描述系统的工作流程和并发行为。 3.2 活动图的基本语法![]() ![]() 1) 在判断菱形旁边写下判断的句子。 ![]() 2) 不需要写判断的内容,直接通过监护来表示这个判断(如3.3)。 3) 在判断菱形之前增加一个活动,表明判断的动作,而判断菱形不需要写判断的句子。 3.5 活动图多层分支的表达方式![]() ![]() 1) 并行的图形符号 ![]() 2) 并行活动图示例 ![]() 有时候活动图很大,一张纸画不下,那么就需要另外一张纸继续画下去。 左边的符号箭头指向A,表示活动图到这里要转到另外一张图,右边的符号由A开始指出一个箭头表示继续活动图 连接件的图形符号: ![]() 很多资料中叫“状态图”其实标准语法是“状态机图”。用于描述一个对象的所有状态和状态之间的转换。 4.2 “活动图”和“状态机图”圆角框的区别![]() 1) 请假流程活动图 ![]() 2) 请假活动状态机图 ![]() ![]() 顺序图也是一种动态建模方法(跟流程图、活动图一样)。优点在于更善于表达多个角色展开交互时的流程。 5.2 顺序图基本语法![]() ![]() ![]() 1) 用顺序图表达购买地铁票 ![]() 2) 用活动图表达购买地铁票 ![]() 1) Loop(循环):如果满足“循环条件”就重复执行框中内容。 2) Alt(条件分支):如果满足“条件1”就执行上部分内容,如果满足“条件2”就执行下部分内容。如果有多个条件依次类推。 3) opt(可选分支):如果满足“条件”就执行框中内容,否则就跳过去。 ![]() ![]() “通信图”是“顺序图”的另外一种表示方式。 6.2 通信图案例![]() 时序图也叫时间图,用于表示某东西的状态随时间变化而变化。 7.2 时序图样例![]() 用例图是用户与系统交互的最简表示形式,可以展现用户和与他相关的用例之间的关系。 8.2 用例图的基本语法![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 如果用例图不能详细地说明需求,每个用例图就需要填写一个用例表 ![]() 包图是将UML图进行“打包”的一种图,能帮助我们有效组织好各种UML图和表达的思路,同时包图也是进行软件架构设计的有力工具。 9.2 包图的基本表达方式![]() ![]() ![]() ![]() 部署图主要是在物理的层次上做整体的系统规划,跟拓扑图相比,部署图可以细化设计。 10.2 部署图与拓扑图的区别1) 拓扑图 ![]() 2) 部署图 ![]() “构件图”也叫“组件图”,是物理上独立的东西,他可以单独维护、升级、替换。 11.2 构件图的基本用法![]() ![]() 为希望能帮到大家,同时也欢迎大家提问、补充…… 本文参考书籍(支持正版书籍!) |
CopyRight 2018-2019 实验室设备网 版权所有 |