UML软件开发模型的组成包括:功能模型,动态模型以及静态模型。其中,功能模型主要指的是用例图,用来描述每个用户的职责以及其可能发出的动作;动态模型包括分析图,顺序图,主要用来描述用户的行为动作之间的先后顺序以及逻辑关系;静态模型包括类图与ER图,主要是描述存在系统中静态资源的存储形式

用例图

用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行,用例图多用于静态建模阶段(主要是业务建模和需求建模)。

主要包含的元素

  • 参与者(Actor):表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。
  • 用例(Use Case):用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。
  • 关系,主要有:关联、泛化、包含、扩展。
    • 关联(Association):表示参与者与用例之间的通信,任何一方都可发送或接受消息。
    • 泛化(Inheritance):就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构**、**行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
    • 包含(Include):包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。
    • 扩展(Extend):扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

活动图

活动图是uml的动态模型的一种图形,一般用来描述相关用例图。准确的活动图定义:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。

主要包含的元素

  • 活动(Activity)——活动状态用于表达状态机中的非原子的运行
  • 动作状态(Actions)—— 动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。
  • 动作状态约束(Action Constraints)——动作状态约束:用来约束动作状态。
  • 动作流(Control Flow)——动作之间的转换称之为动作流活动图的转换
  • 开始节点(Initial Node)——活动开始节点
  • 终止节点(Final Node)——分为活动终止节点(activity final nodes)和流程终止节点(flow final nodes)
    • 活动终止节点表示整个活动的结束
    • 而流程终止节点表示是子流程的结束。
  • 分支与合并(Decision and Merge Nodes)——选择分支
  • 分叉与汇合(Fork and Join Nodes)——分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
  • 泳道(Partition)——泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。

时序图

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

主要包含的元素

  • 对象: 时序图中对象使用矩形表示, 并且 将对象名称下有下划线.对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.
  • 生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线.
  • 消息: 两个对象之间的单路通信. 从发送方指向接收方
    • 调用消息(Synchronous Message):消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。
    • 异步消息(Asynchronous Message):消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
    • 返回消息(Return Message):返回消息表示从过程调用返回
    • 自关联消息: 表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。
  • 激活钝化:激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期

类图

类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。它既用于应用程序的系统分类的一般概念建模,也用于详细建模,将模型转换成编程代码。类图也可用于数据建模。

主要包含元素

  • 类(Class):面向对象(OO) 编程中,类是对现实世界中一组具有相同特征的物体的抽象。
  • 接口(Interface):接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。在UML中,接口使用一个带有名称的小圆圈来进行表示。
  • 类图中关系(relation):
    • 泛化(Generalization):是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。 【箭头指向】:带三角箭头的实线,箭头指向父类
    • 实现(Realization):是一种类与接口的关系,表示类是接口所有特征和行为的实现. 【箭头指向】:带三角箭头的虚线,箭头指向接口
    • 关联(Association) :是一种拥有的关系,它使一个类知道另一个类的属性和方法;关联可以是双向的,也可以是单向的。 双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。 【箭头及指向】:带普通箭头的实心线,指向被拥有者
    • 聚合(Aggregation):是整体与部分的关系,且部分可以离开整体而单独存在。 聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。 【箭头及指向】:带空心菱形的实心线,菱形指向整体
    • 组合(Composition):是整体与部分的关系,但部分不能离开整体而单独存在。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。【箭头及指向】:带实心菱形的实线,菱形指向整体
    • 依赖(Dependency):是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.箭头及指向:带箭头的虚线,指向被使用者

ER图

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”或圆角矩形表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;

用例图、活动图、时序图、类图的详细介绍相关推荐

  1. Eclipse 插件用法:Eclipse 利用 Amateras UML 生成 Java 类图、时序图和 UML 类图

    文章目录 前言 一.安装 Eclipse 官方提供的安装框架 GEF 1.1.Eclipse 中第三方插件更新/安装策略 1.2.为什么选择 GEF 框架? 1.3.GEF 框架安装 二.安装 Ama ...

  2. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  3. java uml类图举例,uml类图(uml类图实例作业)

    原发布者:dzq21cn 第4章UML类图[学习目标]·定义类图·为什么要建模类图·类图的主要标记符号·如何建模类图4.1UML基本类图面向对象设计的基础就是使用类.. UML是统一建模语言,一般用来 ...

  4. Java类的继承学生研究生类图_UML part3 类图、对象图

    UML part3 类图.对象图 四种关系 1. 依赖关系 ①定义:依赖描述了两个模型元素之间的关系,如果被依赖的模型元素发生变化就会影响到另一个模型元素 ②举例:动物有生命和水进行繁殖,动物和水,动 ...

  5. 数据库与计算机辅助设计ER图,ER图对象联系图和UML类图

    ER图对象联系图和UML类图 ER图.对象联系图和UML类图 0124086 梁斌 一. 引言 从文件系统到数据库系统,标志着数据管理技术在质上的飞跃.数据库系统的出现使信息系统的研制中心从加工数据的 ...

  6. [工具使用]——时序图与UML类图

    文章目录 时序图 定义 作用 组成元素 1. 角色(Actor) 2. 对象(Object) 3. 生命线(Lifeline) 4. 控制焦点(Focus of Control) 5. 消息(Mess ...

  7. Mac下安装 PlantUML 插件画时序图、UML类图

    1. 安装 PlantUML 插件 安装完 PlantUML 就可以画时序图.流程图了. 但是,不能画 UML 类图,还少了一个图形渲染的工具 Graphviz. 2.在 Mac 上安装 Graphv ...

  8. java类图_java UML类图的使用-UML基础-火龙果软件工程

    类图 是用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据.学习好类图的绘制,是一位合格的软件工程师应有的技能 ...

  9. php类图怎么画,类图怎么画?

    类图怎么画? 步骤: 1.打开visio画图软件,在左边的导航中选择"软件"选项,在右边会有很多图,我们会看到UML图,点击选择进入. 2.我们会进入画图的界面,在上面导航区有个百 ...

  10. uml聊天系统服务器端类图,聊天系统服务器端类图

    聊天系统服务器端类图 内容精选 换一换 Linux操作系统云服务器的安全组出方向已按照元数据获取的前提条件进行配置,但是无法通过169.254.169.254获取元数据.在配置了静态IP的Linux系 ...

最新文章

  1. Apache的详细安装教程和遇到的问题解决方案
  2. pcDuino 软件更新
  3. mysql 输出当前月所有日期与对应的星期
  4. 【MM配置】Pricing 采购定价 1
  5. CentOS6.9中使用yum install时提示:Cannot find a valid baseurl for repo: centos-sclo-rh
  6. (私人收藏)[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例)...
  7. 产品定额的一些陷阱思考
  8. WebWorker和Server-Sent Events和HTML5 WebSocket
  9. 全球各大网站的服务器使用什么操作系统和WEB服务器(转)
  10. TIM ETR 配置
  11. Android 启动过程介绍
  12. 平均差误法中存在哪些误差?如何平衡这些误差?|小白心理-312/347考研答疑
  13. 获取用户输入到input的内容并传给后台拿数据
  14. Selenium 爬虫应用的学习
  15. HTML水平垂直居中的四种方式
  16. web网页中的特殊字体/字符
  17. 个人邮箱申请邮箱会员怎么注册,成为会员后有什么好处?
  18. Golang基于学习总结
  19. C++第一次实验(基础班)项目2
  20. OAF VO初始化分析

热门文章

  1. Mybatis关联查询的两种方式
  2. 基于改进区域生长算法的图像分割方法及实现
  3. LiteFlowNet3:解决对应歧义以获得更准确的光流估计
  4. 用fun函数实现s=(ln(1)+ln(2)+...+ln(m))^1/2,函数返回s
  5. 压缩软件如何删除压缩包密码(zip、rar、7-zip),忘记密码如何删除密码?
  6. 【算法】3 由招聘问题看随机算法
  7. 实用的 Python 自动化办公技巧
  8. 使用canvas画三角形,圆形,半圆,八卦
  9. 源码:批量修改喜马拉雅下载节目的文件名
  10. 【计算机三级信息安全】访问控制模型