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


相关推荐

  • 遍历map的key和value_有序的map集合

    遍历map的key和value_有序的map集合Golang map实现原理是hash map(核心元素是桶,key通过哈希算法被归入不同的bucket中),key是无序的,很多应用场景可能需要map key有序(例如交易所订单撮合),C++ 的stl map 实现了key有序,实际上是TreeMap是基于树(红黑树)的实现方式,即添加到一个有序列表,在O(log n)的复杂度内通过key值找到value,优点是空间要求低,但在时…

    2022年9月23日
    1
  • pytest parametrize fixture_参数化类型

    pytest parametrize fixture_参数化类型前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年8月6日
    8
  • onmouseout和onmousemove

    onmouseout和onmousemoveonmouseout和onmousemoveonmouseout事件会在鼠标指针移出指定的对象时发生。onmousemove事件会在鼠标指针移动时发生。

    2022年10月19日
    4
  • 计算机主板电源接口8pin,菜鸟老鸟都要知道 电源接口图文全教程[通俗易懂]

    计算机主板电源接口8pin,菜鸟老鸟都要知道 电源接口图文全教程[通俗易懂]【IT168应用】电源的功率一直是玩家们关注的焦点,可对于刚涉足DIY领域的用户来说,自己组装DIY一台电脑拿才是最令人兴奋的事情。组装电脑少不了要接各种各样的线材,那么如何辨别各种类型的接口,每个接口之间的的功能有何区别呢?电源接口种类繁多伴随着硬件技术进步,电源的接口也随之发生改变,原本被成为最保值的配件也沦为淘汰边缘。好在一些高档电源的功率能够满足现在主流配置的应用需求,只是缺少几个专用接…

    2025年6月28日
    2
  • docker端口映射后访问不了_docker暴露多个端口

    docker端口映射后访问不了_docker暴露多个端口docker端口映射突然无效1、查看防火墙状态(systemctlstatusfirewalld),防火墙是关闭的[root@VM-0-15-centos~]#systemctlstatusfirewalld●firewalld.service-firewalld-dynamicfirewalldaemonLoaded:loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendorp

    2022年10月18日
    3
  • Vue.js 数据绑定语法详解

    Vue.js 数据绑定语法详解

    2021年6月16日
    111

发表回复

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

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