一、UML的结构

UML有3种基本的构造块,分别是事物(元素)、关系和图。事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。

二、UML的事物

UML中的事物也称为建模元素,包括结构事物、动作事物、分组事物和注释事物。这些事物是UML模型中最基本的面向对象的构造块。

1.结构事物:结构事物在模型中属于最静态的部分,代表概念上等或物理上的元素。

总共有7种结构事物:

  • 首先是类,类是描述具有相同属性、方法、关系和语义的对象的集合。
  • 第2种是接口(interface),接口是指类或组件提供特定服务的一组操作的集合。
  • 第3种是协作,协作定义了交互的操作,是一些角色和其他元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。
  • 第4种是用例,用例是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。
  • 第5种是活动类,活动类是这种类,它的对象有一个或多个进程或线程。
  • 第6种是构件,构件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,可能会遇到不同种类的构件,如DCOM或EJB。
  • 第7种是节点,节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。

2.行为事物:是UML中的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为。

包括:交互、状态机、活动

3.分组事物:UML模型的组织部分。包括:包

4.注释事务:用来描述、说明和标注模型的任何元素。包括:注释。

UML结构体系简介的更多相关文章

  1. Kettle 4.2源码分析第二讲--Kettle插件结构体系简介

    1.  插件体系结构 1.1. 插件技术原理 1.1.1.    插件概念说明 插件是一种遵循统一的预定义接口规范编写出来的程序,应用程序在运行时通过接口规范对插件进行调用,以扩展应用程序的功能.在英 ...

  2. x64 结构体系下的内存寻址

    欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4735027.html 在阅读NewBluePill源码的时候,看内存的那一块简直头疼,全是x6 ...

  3. Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装

    原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...

  4. 18、面向对象基本原则及UML类图简介

    18.1.面向对象基本原则 18.1.1.面向抽象原则 抽象类特点: a.抽象类中可以有abstract方法,也可以有非abstract方法. b.抽象类不能用new运算符创建对象. c.如果一个非抽 ...

  5. Jmeter结构体系及运行原理

    Jmeter结构体系 把Jmeter的结构体系拆分为三维空间,如图: X1~X5:是负载模拟的一个过程,使用这些组件来完成负载的模拟: X1:选择协议,模拟用户请求,检查服务器响应是否正确,然后收集结 ...

  6. NHibernate从入门到精通系列(2)——NHibernate环境与结构体系

    内容摘要 NHibernate的开发环境 NHibernate的结构体系 NHibernate的配置 一.NHibernate的开发环境 NHibernate的英文官方网站为:http://nhfor ...

  7. Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比

    1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获 ...

  8. NHibernate从入门到精通系列——NHibernate环境与结构体系

    内容摘要 NHibernate的开发环境 NHibernate的结构体系 NHibernate的配置 一.NHibernate的开发环境 NHibernate的英文官方网站为:http://nhfor ...

  9. WebAssembly学习(四):AssemblyScript - 结构体系与内置函数

    一.结构体系 1.编译 编译器的结构相对保守. 提供源文件,其文本被标记化并解析为抽象语法树. 这里执行语法级检查. 一旦解析了所有引用的源文件,就构造一个程序并从AST初始化. 在这里进行合理性检查 ...

随机推荐

  1. IntelliJ IDEA导入Maven之后强制刷新项目解决无法识别为Maven项目的问题

    先点击左下角按钮以显示Maven Project 再点击右侧Maven Project 点击刷新按钮,当然也可以点击加号选择pom.xml文件. 最后是等待项目的更新.

  2. 会话对应的线程id

    http://blog.csdn.net/sqlserverdiscovery/article/details/7968117

  3. python 字典dict和列表list的读取速度问题, range合并

    python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...

  4. php漏洞挖掘与代码审计方法

    在甲方公司做代码审计一般还是以白盒为主,漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露等. 1.xss + sql注入 其中占大头的自然是XSS与SQ ...

  5. 深入理解Hadoop集群和网络【转】

    http://os.51cto.com/art/201211/364374.htm 本文将着重于讨论Hadoop集群的体系结构和方法,及它如何与网络和服务器基础设施的关系.最开始我们先学习一下Hado ...

  6. http://www.binghe.org/2010/03/use-httpsurlconnection-in-java/

    http://www.binghe.org/2010/03/use-httpsurlconnection-in-java/

  7. [Pycharm] Interpreter setting in Pycharm

    From: http://blog.csdn.net/u013088062/article/details/50135135 From: http://blog.csdn.net/u013088062 ...

  8. go get 下载的包放在哪里呢?

    有些问题,我以前都是似懂非懂,没有去弄个究竟!!!!! 这个习惯非常不好,搞得有些东西看似懂了,又不能百分之百说自己懂了,可能下次就弄不出来了,这样是不可取的. 不能有这种做事的风格. ------- ...

  9. [Spring boot] Application properties and configurations

    We can use different application properties application.properties: server.port=9090 application-pro ...

  10. java.lang.NoClassDefFoundError: com.doodlemobile.gamecenter.Platform

    这时候能够尝试一下下面方法: 右击"项目名"--->"Build path"----->"configure build path&quo ...