UML流程 [笔记]

时序图语法和实现

UML类图

类和类、类和接口、接口和接口之间存在一定关系,UML类图中一般会有连线指明它们之间的关系。
关系共有六种类型,分别是实现关系、泛化关系、关联关系、依赖关系、聚合关系、组合关系。

  • 实现关系是指接口及其实现类之间的关系。在UML类图中,实现关系用空心三角和虚线组成的箭头来表示,从实现类指向接口。
  • 泛化关系(Generalization)是指对象与对象之间的继承关系,泛化关系用空心三角和实线组成的箭头表示,从子类指向父类。
  • 关联关系(Association)是指对象和对象之间的连接,它使一个对象知道另一个对象的属性和方法。双向关联关系用带双箭头的实线或者无箭头的实线双线表示。单向关联用一个带箭头的实线表示,箭头指向被关联的对象。
  • 依赖(Dependency)关系是一种弱关联关系。依赖关系用一个带虚线的箭头表示,由使用方指向被使用方,表示使用方对象持有被使用方对象的引用。
  • 聚合(Aggregation)是关联关系的一种特例,它体现的是整体与部分的拥有关系,聚合关系用空心菱形加实线箭头表示,空心菱形在整体一方,箭头指向部分一方。
  • 组合(Composition)也是关联关系的一种特例,它同样体现整体与部分间的包含关系,但此时整体与部分是不可分的,部分也不能给其它整体共享,作为整体的对象负责部分的对象的生命周期。这种关系比聚合更强,也称为强聚合,组合关系用实心菱形加实线箭头表示,实心菱形在整体一方,箭头指向部分一方。

UML 用例图

用例图主要有三个部分组成:用例(Use Case)、参与者(Actor),以及它们互相间的关系(Relationship);形式上就是用椭圆、小人,以及箭头的连线组合。

  • Systems,一个用例图一般只会有一个 System,之后我们会把所有该系统相关的是功能(“用例”)放置在系统内部,系统的相关方(“参与者”)放置在系统的左右两侧。
  • Actors,参与者,即系统相关方,可以是人、组织、外部设备,或是其他系统。通常来说,一个用例图中会有两三个参与者,我们会把主要参与者放在系统左侧,次要参与者(主要参与者的回应方)放在右侧。
  • Use Case,在系统内添加具体的用例,也就是该系统所提供的功能或是业务块。
  • Relationships,把参与者与用例串联起来,就是我们所说的关系(Relationships),用例图中,关系还可以继续细分:
    • association,“关联”是最朴素、最通用的一种关系形式——UML 图中用实线表示。
    • include & extend,“包含”和“扩展”在表现上就是虚线+箭头的形式,然后在虚线上方注释具体的关系形式,必然发生的用例和后续可能发生的用例。
    • Generalization,另外一种常见的关系叫做“泛化”,也可以称作“继承”。继承在 UML 中的表现方式是实线+空心箭头,“泛化”并不局限于用例之间,也可以是参与者继承参与者的形式。
  • Extension points & Note,所有 UML 视图事实上都可以加注释,专业术语叫延伸(Extension points)和批注(Note);这两种注释性质形同,都是起说明作用。
    • 延伸:通常是用例椭圆下半区加注的说明,相对来说内容较少。
    • 批注:是一个类似文本的图案,用虚线连接特定元素,可以附带较多文字信息。

UML 时序图

时序图和活动图是各个设计阶段,从产品经理、架构师,到底层开发人员都会使用到的视图。
时序图(Sequence Diagram)是 UML 中最常见的交互图,通过描述对象间发送消息的时间顺序显示多个对象之间的动态协作状态。元素包括角色(Actors)、对象(Object)、生命线(Lifetime)、消息(Message)、激活(Focus of Control)等等。

  • Actor(角色)& Object(对象),时序图的第一步是列出交互中出现的所有角色和对象。
    • 角色:通常指“人”,也可以是组织、机器、系统等等“抽象的人”,和用例图一样,用小人图表示。
    • 对象:就是与上述“人”对应的“物”了,包括所有产品、服务、设备等等抽象的物体。
  • Lifeline(生命线),给每个角色和对象加上一条生命线。所谓的生命线就是从角色(或对象)引出向下延伸的虚线,表示时序图存在的时间轴。
  • Message(消息),消息自然是有来有往的,发送出去的消息叫 Request(请求),反馈的消息成为 Response(响应)。请求用实心箭头示意,并在箭头上方加注说明,响应用虚线箭头表示,也会加上简单的返回内容。
  • Combined Fragment(组合片段),组合片段用来解决交互执行中的条件反馈。最常用的就是 Alt 片段——抉择片段,通俗来说就是 if-else 的条件判断组合。
  • Focus of Control(控制焦点),控制焦点又称激活,是覆盖在生命线上一段细长的矩形,表示在这个时间段内,对象或角色正处于活动状态。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351

推荐阅读更多精彩内容

  • UML 结构建模图 关键词:部署图, 组件图, 包图, 类图, 复合结构图, 对象图, 活动图, 状态机图, 用例...
    静默虚空阅读 2,634评论 0 0
  • 1.1UML简介:UML全称统一建模语言,它是为面向对象软件提供统一的、标准的、可视化的建模语言。 UML提出了一...
    无语很无语阅读 1,353评论 0 0
  • 本文原创:haorongrong 前言 最近在梳理项目,用到了UML, 对于这个工具可能有的人听过,或者有的人用过...
    jad_design阅读 812评论 0 2
  • UML(United Modeling Language, 统⼀建模语⾔): 是⼀种基于⾯向对象的可视化建模语⾔....
    大佬的上半生阅读 657评论 0 1
  • UML详解,详细介绍: UML概念: 1. UML-Unified Model Language 统一建模语言,又...
    X兄阅读 4,851评论 0 1