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


相关推荐

  • Centos7监控服务异常发送邮件通知

    Centos7监控服务异常发送邮件通知

    2022年2月19日
    85
  • js添加元素方法

    js添加元素方法1.insertBefore添加元素到指定位置<ulid=”ul”><li>1</li><li>2</li><li>3</li></ul><ulid=”sel”></ul><script>varbtn=docume…

    2022年6月22日
    23
  • C# bindingnavigatro删除事件修改&&遍历指定容器的控件

    C# bindingnavigatro删除事件修改&&遍历指定容器的控件bindingnavigatro自带的事件,不能修改,如果想在删除前加入提醒,需要做以下改变:1、在bindingnavigatro图标上点右键,选 编辑项2、删除系统默认带的Dele

    2022年6月30日
    18
  • 视频识别的基础概念[通俗易懂]

    视频识别的基础概念[通俗易懂]视频识别一、视频识别几大问题2、常见的解决方案iDTTwo-StreamTSNC3DTDDRNNRPAN一、视频识别几大问题未修剪视频分类(UntrimmedVideoClassification):通过对输入的长视频进行全局分析,然后软分类到多个类别修剪视频识别(TrimmedActionRecognition):给出一段只包含一个动作的修剪视频,要求给视频分类时序行为提名(TemporalActionProposal):从长视频中找出可能含有动作的视频段时序行为定位(Tempor

    2022年4月29日
    70
  • django的render函数_Django Unchained

    django的render函数_Django Unchainedreverse函数reverse函数的作用是用来进行URL反转的,接下来我们介绍reverse函数的几种用法之前我们都是通过url来访问视图函数。有时候我们知道这个视图函数,但是想反转回他的url

    2022年8月7日
    1
  • python安装dlib库_pycharm安装dlib失败

    python安装dlib库_pycharm安装dlib失败dlib库可以实现人脸的检测,所以有些小伙伴在学习人脸识别和检测的时候有可能会用到此库。本人python版本为3.7,在dlib的下载官网上只找到python3.6的版本,当然还有很多文章上写的是安装cmake进行编译再安装boost然后再使用pipinstalldlib安装即可,但是本人试了很多还是不行。3.7版本的dlib资源文件在csdn的其它文章中就有,淘宝0.5元即可下载,下载完成后将文件放置python文件下的Scripts文件夹中即可,结果如图。然后启动cmd,使用pipinstall

    2022年8月27日
    2

发表回复

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

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