[摘]UML学习一:标准建模语言UML的内容

[摘]UML学习一:标准建模语言UML的内容

统一建模语言(UML:Unified Modeling Language)
作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分

(1) UML语义 描述基于UML的精确元模型定义。
(2) UML表示法 定义UML符号的表示法,
    为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。
    这些图形符号和文字所表达的是应用级的模型,
    在语义上它是UML元模型的实例。

标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:
第一类是用例图,
      从用户角度描述系统功能,并指出各功能的操作者。
第二类是静态图(Static diagram),
      包括类图、对象图和包图。
      其中类图描述系统中类的静态结构。
          不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,
          也包括类的内部结构(类的属性和操作)。
          类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
      对象图是类图的实例,几乎使用与类图完全相同的标识。
          他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。
          一个对象图是类图的一个实例。
          由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
      包由包或类组成,表示包与包之间的关系。
          包图用于描述系统的分层结构
第三类是行为图(Behavior diagram),
      描述系统的动态模型和组成对象间的交互关系。
          其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。
              通常,状态图是对类图的补充。
              在实用上并不需要为所有的类画状态图,
              仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。
          而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,
              有利于识别并行活动。
第四类是交互图(Interactive diagram),
      描述对象间的交互关系。
          其中顺序图显示对象之间的动态合作关系,
              它强调对象之间消息发送的顺序,同时显示对象之间的交互;
          合作图描述对象间的协作关系,
              合作图跟顺序图相似,显示对象间的动态合作关系。
              除显示信息交换外,合作图还显示对象以及它们之间的关系。
          如果强调时间和顺序,则使用顺序图;
          如果强调上下级关系,则选择合作图。
          这两种图合称为交互图。
第五类是实现图( Implementation diagram )。
          其中构件图描述代码部件的物理结构及各部件之间的依赖关系。
              一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。
              它包含逻辑类或实现类的有关信息。
          部件图有助于分析和理解部件之间的相互影响程度。
          配置图定义系统中软硬件的物理体系结构。
              它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,
              也可显示连接的类型及部件之间的依赖性。
              在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。

从应用的角度看,当采用面向对象技术设计系统时,
首先是描述需求;
其次根据需求建立系统的静态模型,以构造系统的结构;
第三步是描述系统的行为。
其中在第一步与第二步中所建立的模型都是静态的,
包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,
是标准建模语言UML的静态建模机制。
其中第三步中所建立的模型或者可以执行,
或者表示执行时的时序状态或交互关系。
它包括状态图、活动图、顺序图和合作图等四个图形,
是标准建模语言UML的动态建模机制。
因此,
标准建模语言UML的主要内容也可以归纳为
静态建模机制和动态建模机制两大类。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111103.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visdom简易教程

    visdom简易教程如果想用pytorch来做神经网络学习和训练,那么不管想不想,你都得学visdom这个可视化工具,因为别人全部用这个玩意在进行可视化显示,如果不会用有时甚至别人的代码都跑不起来。这里这么说似乎显得有点怨念,这是真的,因为本人一开始并不想要去搞它。但后来学着学着发现这真是个神器,难怪那么多人一上来直接要求先装上这个。要用这个先要安装,对于python模块而言,安装都是蛮简单的:pipinsta…

    2022年6月26日
    23
  • excel右键不出菜单_哈希校验码下载

    excel右键不出菜单_哈希校验码下载推荐阅读:这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题给跪了!这套万人期待的SQL成神之路PDF,终于开源了最近遇到这么一件事:我在官网下载软件安装包,准备安装的时候被提示说是有病毒,不让安装。当时我就纳闷了,这官网下载的文件怎么会有病毒呢?于是我找到官网标注的文件Hash…

    2025年9月11日
    5
  • 我竟然不再抗拒 Java 的类加载机制了

    我竟然不再抗拒 Java 的类加载机制了很长一段时间里,我对Java的类加载机制都非常的抗拒,因为我觉得太难理解了。但为了成为一名优秀的Java工程师,我决定硬着头皮研究一下。01、字节码在聊Java类加载机制之前,需要先了解一下Java字节码,因为它和类加载机制息息相关。计算机只认识0和1,所以任何语言编写的程序都需要编译成机器码才能被计算机理解,然后执行,Java也不例外。Java在诞生的时候喊出了…

    2022年5月10日
    34
  • leetcode_1049. Last Stone Weight II_[DP]

    leetcode_1049. Last Stone Weight II_[DP]

    2021年7月7日
    94
  • 单链表//elemtype为结构体形式输入[通俗易懂]

    单链表//elemtype为结构体形式输入[通俗易懂]#include<iostream>usingnamespacestd;typedefstruct{ stringname; intyear;}elemtype;typedefstructlnode{ elemtypedata; lnode*next;}*linklist;elemtypehaha[10];intcreatlist_r(l…

    2022年5月19日
    53
  • Quickstart for Python/WSGI applications「建议收藏」

    Quickstart for Python/WSGI applications

    2022年2月21日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号