1、 结构模型元素

结构模型元素是UML模型里的名词(noun),是模型的静态组成部分,代表软件系统的概念的, 或物理的存在。

(1)类(class)

类是描述具有相同属性、方法、关系和语义的对象的集合。

一个类实现一个或多个接口。

在UML中类被画为一个矩型,通常包括它的名字、属性和方法。

(2)接口(interface)

接口是指类或组件提供特定服务的一组操作的集合。 因此,一个接口描述了类或组件的对外的可见的动作。

一个接口可以实现类或组件的全部动作,也可以只实现一部分。

接口在UML中被画成一个圆和它的名字。

(3)协作(collaboration)

协作定义了交互的操作,是一些角色和其它元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。 因此,协作具有结构化、动作化、维的特性。

一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。

协作在UML中用一个虚线画的椭圆和它的名字来表示

(4)用例(use case)

use case是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。

在模型中use case通常用来组织动作事物。

Use case是通过协作来实现的。

在UML中,use case画为一个实线椭圆,通常还有它的名字

(5)活动类(active class)

活动类是这种类,它的对象有一个或多个进程或线程。

活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。

在UML中活动类的画法和类相同,只是边框用粗线条。

(6)组件(component)

组件是物理上或可替换的系统部分,它实现了一个接口集合。

在一个系统中,你可能会遇到不同种类的组件,例如COM+或JAVA BEANS。

组件在UML中用如下的图表示:

(7)结点(node)

结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。

一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。

结点通常用如下的图形表示:

2、行为模型元素

行为模型元素(behavioral things) 是UML模型的动态组成部分,它是模型的动词,代表软件系统在空间和时间上的行为

\(行为模型元素 = 交互+ 状态机\)

行为模型元素包括两类:

  • 交互(interaction)
  • 状态机(state machine)

3、 分组模型元素

分组事物是UML模型中组织的部分,可以把它们看成是个盒子,模型可以在其中被分解。

总共只有一种分组事物,称为包(package)。

包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都有可能放在一个包中。与组件(存在于运行时)不同的是,包纯粹是一种概念上的东西,只存在于开发阶段。

在UML中用如下图表示包:

4、注解模型元素

注释事物是UML模型的解释部分。

UML中用如上图表示:在长方形中写标注的内容。标注的内容可以是形式的文本, 或非形式的文本也可以是图形。

UML 基本模型元素的更多相关文章

  1. 全面认识UML类图元素

    本节和大家一起学习一下UML类图元素,类图能出色地表示继承与合成关系.为了将UML类图作为一种高效的沟通工具使用,开发者必须理解如何将类图上出现的元素转换到Java中.请看本节详细介绍. 全面认识UM ...

  2. UML动态模型图简单介绍

    UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...

  3. 深入css布局篇(1) — 盒模型 & 元素分类

    深入css布局(1)-- 盒模型 & 元素分类     " 在css知识体系中,除了css选择器,样式属性等基础知识外,css布局相关的知识才是css比较核心和重要的点.今天我们来深 ...

  4. CSS盒子模型元素实际宽度的计算

    一旦为页面设置了恰当的 DTD,大多数浏览器都会按照上面的图示来呈现内容.然而 IE 5 和 6 的呈现却是不正确的.根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 ...

  5. jquery盒模型元素尺寸设置

    jQuery有多个处理元素尺寸的方法 width():设置或返回元素的宽度(不包括padding.border.和margin) height():设置或返回元素的高度(不包括padding.bord ...

  6. 认识UML类图元素

    在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合.合成.接口:空心圆+直线(唐老鸭类实现了‘讲人话’):依赖:虚线+箭头(动物和空气的关系): ...

  7. UML动态模型(顺序图、协作图、状态图)

    顺序图:用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条信息 对应了一个类操作或状态机中引起转换的事件.顺序图展示对象之间的交互,这些交互是指在场景或用例的时间六中发生的,顺序图属于动态 ...

  8. UML的定义和组成详细介绍

    目录 1.UML 1.1概述 1.2 UML是一种建模语言 1.3 UML语言包含三方面 2.UML支持软件体系结构建模 2.1 逻辑视图 2.2 实现(开发)视图 2.3 部署视图 2.4 过程视图 ...

  9. 【UML】统一建模语言

    如果是准备学习设计模式的同学,可以只了解类图相关的知识 而如果是在准备软件设计师考试的同学,或许会对你有点帮助 正在施工...... 参考博客:https://blog.csdn.net/unique ...

随机推荐

  1. RAC中常见的高级用法-组合

    组合: concat组合:           按一定顺序执行皇上与皇太子关系 concat底层实现:     1.当拼接信号被订阅,就会调用拼接信号的didSubscribe     2.didSu ...

  2. 用Myclipse开发Spring(转)

    原文链接地址是:http://www.cnitblog.com/gavinkin555/articles/35973.html 1 新建一个项目 File----->New ----->P ...

  3. Function overloading and const keyword

    Predict the output of following C++ program. 1 #include<iostream> 2 using namespace std; 3 4 c ...

  4. Jenkins分布式与并行

    目录 一.简介 二.agent 通过JNLP协议增加agent 通过Swarm插件增加agent agent部分详解 三.agent放入Docker 使用Docker 配置Docker私有仓库 四.并 ...

  5. c++和c中const的区别

    const在c与c++的区别与使用 大学期间对c和c++的了解太少了,现在工作了导致自己来恶补,简单的const关键字里面的学问还是挺大的,越是基础的知识越是容易忘却,所以今天开始记录着自己每一天的学 ...

  6. malloc实现

    任何一个用过或学过C的人对malloc都不会陌生.大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放 掉.但是,许多程序员对malloc背后的事情并不熟悉,许多人甚 ...

  7. [Java Web 王者归来]读书笔记1

    第一章 Java web 开发概述 1 WEB服务器运行时一直在TCP 80(默认端口)监听, 若使用其他端口在url中需要显示标注端口号(例如:8080) 2 WEB服务器:微软的IIS.Apach ...

  8. python简单爬虫的实现

    python强大之处在于各种功能完善的模块.合理的运用可以省略很多细节的纠缠,提高开发效率. 用python实现一个功能较为完整的爬虫,不过区区几十行代码,但想想如果用底层C实现该是何等的复杂,光一个 ...

  9. who 命令的实现

    who 命令显示 当前已经登录的用户 查看连接帮助: man who  who(1) 表示who的小结编号. NAME 包含命令的名字以及对这个命令的简短说明 SYNOPSYS 给出命令的用法说明,命 ...

  10. WebRTC + WebSocket 实现视频通话

    前言 WebRTC WebRTC(Web Real-Time Communication).Real-Time Communication,实时通讯. WebRTC能让web应用和站点之间选择性地分享 ...