[摘]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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 值得收藏:一份非常完整的 MySQL 规范(一)[通俗易懂]

    值得收藏:一份非常完整的 MySQL 规范(一)

    2022年2月13日
    43
  • assertthat和assertequals的区别_assertEquals

    assertthat和assertequals的区别_assertEqualsASSERT_VALID()与ASSERT()异同ASSERT()是MFC库中的断言,用法是ASSERT(布尔表达式).ASSERT宏用于确保参数内的表达式正确,如果表达式为false,则会显示一个消息对话框,其中有源文件的名字和当前行号,用户可以

    2022年9月6日
    2
  • linux查看mysql用户权限_教您如何查看MySQL用户权限

    linux查看mysql用户权限_教您如何查看MySQL用户权限教您如何查看MySQL用户权限如果需要查看MySQL用户权限,应该如何实现呢?下面就为您介绍查看MySQL用户权限的方法,并对授予MySQL用户权限的语句进行介绍,供您参考。查看MySQL用户权限:showgrantsfor你的用户比如:showgrantsforroot@’localhost’;Grant用法GRANTUSAGEON*.*TO’discuz’@’local…

    2022年6月18日
    150
  • 执行top命令(linux命令详解之df命令)

    首先介绍top中一些字段的含义:VIRT:virtualmemoryusage虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:residentmemoryusage常驻内存1、进程当前使用的内存大小,但不包括swapout2、包含其他进程的共享3、如果申请100…

    2022年4月11日
    121
  • Matlab画图颜色「建议收藏」

    Matlab画图颜色「建议收藏」matlab绘图配色

    2022年5月6日
    284
  • tcp和udp的面试题_adp转化为amp

    tcp和udp的面试题_adp转化为amp相同点UDP协议和TCP协议都是传输层协议。TCP(TransmissionControlProtocol,传输控制协议)提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP(UserDataProtocol,用户数据报协议…

    2022年9月17日
    0

发表回复

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

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